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

بازشناسی چهره انسان با رزبری پای 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) برای افزایش سرعت،ابتدا باید کند ترین روند این سیستم، یعنی تشخیص چهره از غیر چهره رو با یک سیستم سریع تر جایگزین کرد.(در حال جستجو برای این مورد هستم)
 
جهت هر چه مستحکم تر شدن مقام ولایت فقیه و تعجیل درظهور بابای خوبمون مهدی(عج) صلوات

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

1) تعداد حروف غیر فارسی از حروف فارسی بیشتر باشه دیدگاه به صورت خودکار حذف میشه.

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

3) برای گزاشتن کدهاتون از این سایت استفاده کنید : debian

  1. مهمان

    Soli

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

    1397/07/25
    08:40
    • نویسنده این مطلب

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

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

      1397/07/25
      10:32
  2. مهمان

    فرزین

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

    1397/01/22
    05:14
    • نویسنده این مطلب

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

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

      1397/01/23
      01:48
  3. مهمان

    ارسلان

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

    1396/12/20
    10:39
    • نویسنده این مطلب

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

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

      1396/12/20
      03:29
  4. مهمان

    علی

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

    1396/02/06
    12:56
    • نویسنده این مطلب

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

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

      1396/02/06
      05:39
  5. مهمان

    احسان

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

    1395/12/08
    06:23
  6. مهمان

    میلاد

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

    1395/11/19
    07:13
    • نویسنده این مطلب

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

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

      1395/11/19
      06:58
      • مهمان

        میلاد

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

        1395/11/20
        09:00
        • نویسنده این مطلب

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

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

          1395/11/20
          10:25
  7. مهمان

    feri

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

    1395/10/22
    06:47
  8. مهمان

    علی

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

    1395/09/09
    03:45