نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
آزادی حجاز از دست نااهلان
Avatar

بازشناسی چهره انسان با رزبری پای face recognition_قسمت سوم

به نام خدا : در قسمت اول، به تشخیص چهره از غیر آن پرداختیم؛ در قسمت دوم، تعدادی چهره را ذخیره کردیم و با آن یک شبکه عصبی ساختیم و آن را ذخیره کردیم؛ در این قسمت، از شبکه ساخته شده استفاده می کنیم تا چهره های موجود رو شناسایی کنیم.
بازشناسی چهره انسان با رزبری پای face recognition_قسمت سوم

بازشناسی چهره انسان با رزبری پای face recognition_قسمت سوم


با دو دستور زیر، یک پوشه جدید می سازیم و وارد آن می شویم :

فایل nn.xml که در قسمت قبلی ساختیم رو به این پوشه کپی کنید؛ سپس یک فایل با پسوند cpp می سازیم :

کد زیر رو بنویسید و ذخیره کنید :

نتیجه شبیه زیر خواهد شد :
پردازش تصویر با رزبری پای
روند کار هم به این صورت است که ابتدا چهره ها رو در تصویر پیدا می کنه سپس اون ها رو به اندازه 70*70 تبدیل می کنه. بعدش پیکسل های چهره یافت شده رو در یک سطر می چینه. (یه ماتریس 4900*1 ) سپس اون ماتریس رو به ورودی شبکه nn  میده و خروجی متناظرش رو در ماتریس out می ریزه؛ بعدش چک می کنه که چهره شناخته شده، آیا در کلاس های مورد نظر ما هستند یا نه؛ اگر چهره منطبق با چهره های معرفی شده به شبکه باشد: دور چهره، یک مستطیل سبز رنگ می کشه و اسمش رو بالاش می نویسه و اگر چهره نا آشنا باشه، دورش یه مستطیل قرمز رنگ می کشه و بالاش می نویسه نا آشنا.
برای درک سرعت کار این کد ویدئو زیر رو مشاهده بفرمایید :
http://www.aparat.com/v/LjMWF
 

حکمتی از نهج البلاغه (حکمت 150) - ضّد ارزش ها و هشدارها
از کسانی مباش که بدون عمل صالح، به آخرت امیدوار است، و توبه را با آرزوهاي دراز به تأخیر می اندازد. در دنیا چونان زاهدان سخن می گوید، اما در رفتار همانند دنیا پرستان است. اگر نعمت ها به او برسد سیر نمی شود و در محرومیّت  قناعت ندارد از آنچه به او رسید شکرگزار نیست و از آنچه مانده زیاده طلب است. دیگران را پرهیز می دهـد امـا خـود پروا نـدارد. به فرمـانبرداري امر می کنـد امـا خود فرمـان نمی برد. نیکوکـاران را دوست دارد، اما رفتارشان را ندارد. گناهکاران را دشمن دارد اماخود یکی ازگناهکاران است. با گناهان فراوان مرگ را دوست نمی دارد، اما در آنچه که مرگ را ناخوشایند ساخت پافشاری دارد. اگر بیمارشود پشیمان می شود، و اگر تندرست باشد سرگرم خوش گذرانی هاست. درسـلامت مغرور و درگرفتـاري نـا امیـداسـت؛ اگر مصـیبتی بـه او رسـد بـه زاري خـدا را می خوانـد. اگر به گشایش دست یافت مغرورانه ازخدا روي بر می گرداند. نفس به نیروي گمان ناروا، بر اوچیرگی دارد، و او با قدرت یقین بر نفس چیره نمی گردد.
براي دیگران کـه گنـاهی کمـتر از او دارنـد نگران، و بیش از آنچه که عمـل کرده امیـدوار است. اگر بی نیـازگردد مست و مغرور شود و اگر تهی دست گردد، مأیوس و سـست شود چون کـارکنـد در آن کوتاهی ورزد، و چون چیزي خواهد، زیاده روی نماید. چون در برابر شـهوت قرارگیرد گنـاه را برگزیـده، توبه را به تـأخیر انـداز، و چون رنجی به او رسـد از راه ملت اسلام دوري گزیند. عبرت آموزي را طرح می کنـد اما خود عبرت نمی گیرد؛ در پند دادن مبالغه می کند اما خود پند پذیر نمی باشد.
سخن بسـیار می گویـد، اما کردارخوب او انـدك است! براي دنیاي زودگـذر تلاش و رقابت دارد اما براي آخرت جاویـدان آسان می گذرد. سود را زیان، و زیان را سود می پنـدارد. از مرگ هراسـناك است اما فرصت را از دست می دهد.
گناه دیگري را بزرگ می شـمارد، اما گناهان بزرگ خود را کوچـک می پنـدارد، طـاعت دیگران را کوچـک و طـاعت خود را بزرگ می داند. مردم راسـرزنش می کند،اما خود را نکوهش نکرده، با خود ریاکارانه برخورد می کند. خوشگذرانی با سرمایه داران را بیشتر از یاد خدا با مستمندان دوست دارد. به نفع خود بر زیان دیگران حکم می کند، اما هرگز به نفع دیگران بر زیان خودحکم نخواهـدکرد، دیگران را هـدایت ،اما خود را گمراه می کنـد. دیگران از او اطـاعت می کننـد، و او مخالفت می ورزد، حق خـود را به تمـام می گیرد، اما حق دیگران را به کمـال نمی دهـد، از غیر خـدا می ترسـد، اما از پروردگـار خود نمی ترسـد.
 
پیشنهادات برای بهبود برنامه :
1) اگر چهره های شما شناسایی نشد، و یا با خطای زیادی همراه بود :
الف) شرایط نوری داده های آموزشی(همون 30 تا عکس که برای ساخت شبکه عصبی تهیه کردیم) و داده های تست (چهره ای که قراره شناسایی بشه) یکی باشن. مثلا یک چراغ مطالعه روبروی چهره قرار بدید.
ب) اگر قراره تو شرایط نوری مختلفی کار کنید،عکس های آموزشی رو در شرایط نوری متعدد تهیه کنید.
پ) تعداد داده های آموزشی رو بیشتر کنید مثلا به جای 30 عکس،از 60 عکس مختلف برای آموزش شبکه استفاده کنید.
ت) برای دقیق شدن کار،می توانید شبکه را برای چهره های بیشتری آموزش دهید و تعداد حالت های نا شناس رو بیشتر کنید (برای این کار، باید تعداد چهره های دیتابیس رو بیشتر کنید و تعداد نرون های خروجی را به تبع اون افزایش بدید.) برای دانلود تعدادی عکس چهره، به آدرس زیر مراجعه فرمایید : The Database of Faces
ث) تعداد نرون های لایه های میانی هم می توانند دقت کار را بالا ببرند ولی نباید باعث پیچیدگی بی مورد شبکه شوند (پیچیدگی، سرعت رو کم می کنه باید تعادلی بین پیچیدگی و سرعت بر قرار کرد)
2) یکی از کارهایی که برای دقیق تر شدن می توان انجام داد،،افزایش تعداد epoch ها است ولی باید توجه داشت که شبکه برای داده های آموزش شخصی سازی نشود.(over train)
3) یکی دیگر از راه های موجود برای دقیق تر شدن کار، افزایش نوع ویژگی هاست؛ ما از ساده ترین ویژگی یک تصویر(مقادیر پیکسل ها) استفاده کردیم؛ می توانیم از ترکیب چند ویژگی با هم، امنیت را بالاتر ببریم.(مثل فاصله اجزای صورت از یکدیگر، هیستوگرام گرادیان، هیستوگرام جهت لبه ها،تبدیل فوریه و …)
4) برای افزایش سرعت،ابتدا باید کند ترین روند این سیستم، یعنی تشخیص چهره از غیر چهره رو با یک سیستم سریع تر جایگزین کرد.(در حال جستجو برای این مورد هستم)
 
جهت هر چه مستحکم تر شدن مقام ولایت فقیه و تعجیل درظهور بابای خوبمون مهدی(عج) صلوات

گروه پرسش و پاسخ الکترونیکی در سروش
تعداد مطالب : 29 تا
Avatar دانش آموخته (فارغ التحصیل سابق) کارشناسی الکترونیک هستم. سه سال اول دانشگاه رو به نحو احسن هدر دادم رفت!! تا پایان ترم هفتم داشتم فکر می کردم که چی کار کنم و چی کار نکنم؟ ترم هشتم اساتید خوبی داشتم و تصمیم گرفتم،یه تکونی به خودم بدم. الان هم در حال یاد گیری علایقم هستم...
ارسال دیدگاه
16

1) نظرات غیر فارسی به صورت خودکار حذف میشوند ( حداقل 5 حرف فارسی وارد کنید ).

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

3) برای گزاشتن کدهاتون از این سایت استفاده کنید ( طبیعتا لینک کدتون رو باید برای من بفرستید! ) : debian

4) پسورد فایل های سایت : www.dmf313.ir

  1. Avatar

    مهمان

    یزدان

    با سلام و تشکر.شما برای این پروژه از کدوم مدل رزبری پای استفاده کردید؟ منم متعجب شدم که سرعت رفرش پایین ولیcpuرو۲۶٪!!!؟!.بنظرم اگه سیپیوش اور کلاک بشه سرعت عکس بهتر بشه.ممنون

  2. Avatar

    مهمان

    Soli

    سلام
    هزینه بردای رزبری بالاست،میشه مروژه تشخیص تصویر با دوربین و با برد آردوینوهم انجام داد؟
    واینکه مشخصات اردوینو باید جی باشه؟

    • Avatar

      نویسنده این مطلب

      محمدرضا اسلامی

      سلام.کار نشد نداره ولی دو تا مشکل هست:
      1. سرعت برد های آردینو چقدره؟(کلاک رزبری پای 3 برا بره با 4*1.2 گیگاهرتز)
      آیا آردینو با این کلاک هست؟
      2.آیا کتابخونه های آماده آردینو برای تشخیص چهره وجود داره؟
      احتمالا کتابخونه درست و حسابی پیدا نکنید.

  3. Avatar

    مهمان

    فرزین

    سلام دوست عزیز من همینو با پایتون انجام دادم همراه با محیط گرافیکی ، پروژه دانشگاهیمه ولی متاسفانه خطای بالایی داره و همچنین سرعتش افتضاح بود به خواطر همین رزولیشنو کم کردم ولی کلا تشخیص هارو اشتباه می کرد، اگه با c انجام بدم سرعتش بهتره ؟ و پردازش صحیحتره؟ ممنون میشم راهنماییم کنی خیلی احتیاج دارم

    • Avatar

      نویسنده این مطلب

      محمدرضا اسلامی

      سلام
      کتابخونه opencv هم به زبان c++ نوشته شده.
      و از نظر سرعت فرقی نداره.
      ولی اگر حلقه تو در تو زیاد دارید،اگر از c یا c++ استفاده کنید،سرعت بیشتره.
      *****
      در کل،پردازش تصویر با رزبری پای،سرعتش کمه.بهتره با کامپیوتر تست کنید ببینید چجوریه.اونوقت با یه نسبت ساده،میشه سرعت اجرا،روی رزبری رو به دست آورد.

  4. Avatar

    مهمان

    ارسلان

    سلام ببخشید میشه یه برنامه هم برای تشخیص حروف انگلیسی بزارید ؟

    • Avatar

      نویسنده این مطلب

      محمدرضا اسلامی

      سلام.
      کتابخونه آماده اش تو اینترنت هست.
      سرچ کنید
      Ocr
      English ocr

  5. Avatar

    مهمان

    علی

    سلام و عرض ادب..
    واسه افزایش تعداد افراد باید چیکار کرد؟
    کدوم قسمت برنامه رو باید تغییر داد؟؟
    ممنون..

    • Avatar

      نویسنده این مطلب

      محمدرضا اسلامی

      سلام
      از اون قسمتی که عکس تهیه می کردیم،باید تغییر بدید تا آخر!!!
      باید مطلب رو کامل بخونید و خط به خط دنبال کنید تا متوجه بشید. boast

  6. Avatar

    مهمان

    احسان

    سلام خدا قوت ادامه بدهید لطفا..

  7. Avatar

    مهمان

    میلاد

    سلام و خسته نباشید
    خیلی عالی و کامل بود
    یک سوال داشتم :
    من رزبری ۳ دارم وبرای تقویت امواج وای فای از یک دانگل استفاده ولی باز هم پروژه های پردازش تصیورم رو که اجرا میکنم خیلی لگ داره و فرم هایی که میده در حدود ۱ فرم در ۲ ثانیس چی کار کنم که لگش بر طرف بشه . ممنونم

    • Avatar

      نویسنده این مطلب

      محمدرضا اسلامی

      سلام
      برنامه های پردازش تصویرتون در چه حدیه؟
      اگر سنگین باشه،مشکل از ارتباط نیست بلکه از محدودیت قدرت پردازش رزبری هست.مثلا موقع کار،اگر پردازنه رزبری ۱۰۰درصده،یعنی داره همه زورشو میزنه و محدودیت در پردازش دارید

      • Avatar

        مهمان

        میلاد

        به ۵۰ در صد هم نمیرسه وحتی مسایل ساده تر، صفحه ای رو که در ابتدا بالا میارم ، تصویر به حالت پیکسل به پیکسل از بالا تا پایین چیده میشه تا نمایش داده بشه .از هیت سینک استفاده کردم برای جلوگیری از حرارت بالا

        • Avatar

          نویسنده این مطلب

          محمدرضا اسلامی

          سلام مجدد.وقتی با کابل شبکه هم وصل میشید،بازم مشکل دارید؟و سوال دیگه اینکه:وقتی هیچ پنجره ای باز نیست،و سی پیو رزبری ۰ هست،باز هم تصویر دیر رفرش میشه؟

  8. Avatar

    مهمان

    feri

    واقعا کارت عالیه داداش معلومه که خیلی زحمت کشیدی،دارم یه رسبری۳ سفارش میدم تا استارت کارو بزنم ،و اینکه بازم دمت گرم

  9. Avatar

    مهمان

    علی

    سلام
    ممنون عالیه