سورس کد برنامه کشف و ردیابی چهره و تشخیص چهره در اندروید

در این پروژه ابتدا برنامه ای جهت ردیابی تصویر (face detection) می نویسیم، سپس تصویر را استخراج کرده و به کلاسیفایر (دسته بند) fisherface می دهیم تا آن را یاد گرفته و learn شود(face recognition)، سپس تصاویر استخراج شده را به آن می دهیم تا برنامه کلاس آن را تشخیص دهد.

تشخیص چهره چیست؟

تکنولوژی تشخیص چهره یک روش کامپیوتری است که به واسطه آن اشخاص منحصرا با ویژگی های مربوط به صورتشان شناسایی می شوند. دامنه این سیستم ها از دوربین های کوچکی که می توانند پاسخ های مختلف احساسی شما را شناسایی کنند تا تشخیص هویت افراد مختلف بر اساس چهره شان می باشد.

به بیان دیگر سيستم شناسايي چهره يك سيستم بيومتريك است كه با استفاده از روشهاي هوشمند اتوماتيك، هويت يك انسان را بر اساس ويژگيهاي فيزيولوژيكي تشخيص و يا تاييد مي نمايد. در حالت عمومي يك سيستم بيومتريك از ويژگيهاي فيزيولوژي مانند اثر انگشت، عنبیه چشم، چهره، اثر كف دست و يا ويژگيهاي رفتاري مانند صدا و دست خط به منظور شناسايي استفاده مي نمايد. بازشناسی هویت افراد با استفاده از تصاویر چهره در مقایسه با سایر مولفه های بیومتریکی دارای مزیت عدم نیاز به همکاری فرد است که آنرا در کاربردهای امنیتی و همچنین تعاملات انسان و کامپیوتر متمایز می کند.

 

تکنولوژی تشخیص چهره، چگونه کار می کند؟

یک دوربین با کیفیت بالا، تصاویری را از چهره یک شخص می گیرد و نشانه های خاص چهره وی را بررسی می کند، بعنوان مثال، فاصله بین چشمها، عرض بینی، شکل گونه ها و … . سپس سیستم تشخیص، این اطلاعات را با اطلاعات موجود در دیتابیسش مقایسه می کند. هر چقدر اطلاعات بیشتری در دیتابیس سیستم موجود باشد، قادر به تشخیص چهره های بیشتری هم خواهد بود.

 

تکنولوژی تشخیص چهره در کجاها کاربرد دارد؟


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

از تکنولوژی ردیابی چهره و تشخیص چهره، برای شناسایی مجرمان، و تروریست ها استفاده می شود. اگر چه، تکنولوژی تشخیص چهره هنوز به صورت صد در صد قابل اعتماد اعلام نشده است، اما با اینحال کاربردهای زیادی دارد و در همان حدش هم بسیار مفید بوده است.

در حال حاضر، تکنولوژی تشخیص چهره، در سایت فیس بوک خیلی موفق بوده است، و از آن برای تگ کردن کاربران در تصاویر، استفاده می شود. از آنجا که دیتابیس فیس بوک دارای میلیاردها تصویر می باشد و روزانه نیز تصاویر خیلی زیادی به این دیتابیس اضافه می گردد، دیتابیس آن مدام در حال رشد می باشد.

از آنجا که کاربران فیس بوک در شناسایی موضوع تصاویر به فیس بوک کمک می کنند، فیس بوک می تواند بر اساس این اطلاعات مدام الگوریتم هایش را تقویت کند. بر اساس همین دیتابیس عظیم موجود از چهره های تشخیص داده شده، که در اختیار فیس بوک می باشد، هنگامیکه الگوریتم های تشخیص چهره فیس بوک وارد کار می شوند در حدود ۹۷٫۳۵ درصد در تشخیص چهره ها موفق عمل می کنند.

 

مشکلات تکنولوژی تشخیص چهره چیست؟

علیرغم توانایی تشخیص چهره، این تکنولوژی هنوز برای استفاده عمومی و در مقیاس عظیم آماده نیست. بزرگترین مشکل چیزهایی هستند که باعث گمراه کردن این تکنولوژی می شوند، بعنوان مثال، روشنایی کم، عینک های آفتابی، یا ماسک ها. حتی پوشیدنی ها و عینک هایی نیز طراحی شده اند که تنها هدف آنها ایجاد اختلال در سیستم های تشخیص چهره می باشند، مانند عینکی که در تصویر زیر می بینید.

در این پروژه یک برنامه تحت اندروید (android) نوشته ایم که با استفاده از دوربین دستگاه، چهره را ردیابی می کند (face detection)، بعد از ردیابی، تصویر ردیابی شده به الگوریتم fisherface داده می شود تا آن را شناسایی کند.

 

سورس پروژه های موجود در درس دانلود در زمینه یادگیری ماشین و هوش مصنوعی را می توانید از اینجا مشاهده کنید.

 

ویژگی های این محصول عبارتند از:

  • استفاده از کد های c++ native در اندروید (jni)
  • استفاده از دوربین در اندروید با استفاده از کتابخانه opencv
  • استفاده از دسته بند fisherface در opencv
  • ارتباط با بخش جاوا با بخش ++c
  • کار با تصاویر در opencv

 

در صورت تمایل به خرید سورس کد همراه فیلم آموزشی می توانید از اینجا اقدام نمایید.

در اینجا می توانید برنامه تشخیص چهره با opencv را مشاهده نمایید.

مراحل خرید فایل دانلودی
اگر محصول را می پسندید لطفا آنرا به اشتراک بگذارید.

دیدگاهی بنویسید

0