آموزش برنامه نویسی فناوری

تشخیص چهره چیست و چگونه عمل می کند-قسمت دوم

امیرحسین عراقی
نوشته شده توسط امیرحسین عراقی

بخش دوم معرفی تشخیص چهره مدرن همراه با آموزش

ادامه  بخش توضیح در مورد چگونگی عملکرد تشخیص چهره

اگر چنين روندى را بر روى تك تك نقاط تصوير انجام دهيد،به جايى مى رسيد كه به جاى تك تك نقاط تصوير ، فلش خواهيم داشت.اين فلش ها شيب ناميده شده و روند از روشنايى به تاريكى را در كل تصوير نمايش ميدهند.

اين ممكن است مثل يك چيز تصادفى به نظر بيايد اما واقعا دليل خوبى براى جايگزينى نقاط تصوير با فلش ها وجود دارد . اگر به طور مستقيم ، نقاط را مورد بررسى قرار دهيم ؛ تصوير كاملا تاريك و تصوير كاملا روشن از يك فرد مشخص، به طور كاملا متفاوتى، داراى ارزش هاى نقاط تصوير خواهند شد.

این کار را تکرار می کنیم

اما تنها با در نظر گرفتن جهتى كه در آن روشنايى تغيير ميكند ، هم تصوير كاملا تيره و هم تصوير كاملا روشن ، نمايش دقيقا يكسانى خواهند داشت كه اين ، مسئله را براى حل آسان تر ميكند.
اما حفظ و ذخيره تمامى شيب ها براى هر نقطه از تصوير ، جزئيات بسيار زيادى به ما مى دهد؛ كه اصطلاحا ما را ميان انبوهى از درختان جنگل گم ميكند. بهتر است تنها روند اصلى روشنايى / تاريكى را به عنوان يك سطح بالاتر ببينيم به طورى كه بتوان الگوى اصلى تصوير را ديد . براى انجام اين كار ما تصوير را به تكه هاى ١٦*١٦ پيكسل ميشكنيم و در هر مربع تعداد شيب ها و در واقع فلش هاى به سمت بالا ، پايين ، چپ و راست را شمارش ميكنيم.
سپس مربع هاى درون تصوير را با مسير فلش هايى كه از همه بزرگتر بودند ، جايگزين ميكنيم. نتيجه نهايى ، حاصل تبديل تصوير به يك نمايش بسيار ابتدايى و ساده شده از ساختار چهره است.

یک شاخص HOG

عکس اصلی تبدیل به یک شاخص HOG شده است که بدون نور ویژگی های کلی عکس را پیدا کرده

براى يافتن چهره ها در نمودار شيب هاى جهتدار(HOG) ، تمام كارى كه بايد بكنيم اين است كه بخش هايى از تصويرمان كه به الگوى HOG شبيه ترين است ، و از ميان دسته اى از چهره ها يافت شده را پيدا كنيم.

با استفاده از اين روش، مي توانيم به سادگى ، چهره ها را در هر عكسى پيدا كنيم.

 

پیدا کردن چهره

اگر ميخواهيد با استفاده از نرم افزار هاى پايتون يا dlib خودتان اين قضيه را امتحان كنيد، اينجا كد هايى است كه به شما نشان ميدهد چطور نمايش حالت HOG را از تصوير اصلى ، توليد كنيد.

مرحله ٢ ؛ عكس بردارى و تاباندن تصوير صورت ها

ما چهره ها را از تصويرمان جدا كرديم اما حالا با چالشى بايد برخورد كنيم و آن اين است كه چهره هايى كه در جهت هاى مختلفى هستند ، براى كامپوتر متفاوت به نظر ميرسند.

 

حالت مختلف چهره ها در زاویه های مختلف
براى غلبه بر اين مشكل ، سعى ميكنيم هر تصوير را پيچانده و جابه جا نماييم بطوريكه چشم ها و لب ها در يك موقعيت نمونه در تصوير خواهند بود؛ بنابراين ، در مقايسه چهره ها در مرحله ى بعد ، كارمان بسيار ساده تر خواهد شد.
براى انجام اين كار قرار است ، از الگوريتم هايى به نام ” تخمين ويژگى هاى چهره ” استفاده كنيم. راه هاى متعددى براى انجام اين كار است ، اما قرار است ما از روش ابداعى توسط وحيد كاظمى و جوزفين ساليوان كه در ٢.١٤ ارائه شد استفاده كنيم.
ايده اصلى آن است كه ما از ٦٨ نقطه خاص كه در هر چهره اى وجود دارد استفاده ميكنيم. بالاى گونه ، بيرون لبه هاى چشم، كناره داخلى هر ابرو و … سپس در غالب يك الگوريتم ، به ماشين آموزنده ميگوييم كه چطور اين ٦٨ نقطه را در هر صورت و چهره اى تشخيص دهد.

 

68 نقطه علامت گذاری

68 نقطه ای که ما در هر صورتی نشانه گذاری می کنیم این تصویر توسط Brndon Amos تهیه شده است

ادامه این آموزش را در پست های بعدی خواهیم داشت

ادامه این مطلب...

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

امیرحسین عراقی

امیرحسین عراقی

درج دیدگاه