مدیر و متخصص سئو، طراح سایت، دیجیتال مارکتینگ، مهارت در برنامه نویسی ASP.NET، وردپرس، #c , پایتون , دانشجوی دکترای هوش مصنوعی و رباتیکز و علاقه مند به نویسندگی و تولید محتوا
تشخیص چهره به روش تحلیل مولفه های اساسی(PCA)- فصل اول
تشخیص چهره به روش تحلیل مولفه های اساسی (PCA)- فصل اول
الگوریتم های مورد استفاده برای تشخیص چهره بسیار زیاد هستند و می توان الگوریتم هایی چون LDA، PCA SVM ، CNN و ... را نام برد. در این مقاله قصد داریم در مورد تشخیص چهره به روش مولفه های اصلی pca بگوییم.
هدف اصلی الگوریتم تحلیل مولفه اساسی (PCA) کاهش ابعاد فضای ویژگی اصلی با تصویر آن به زیرفضای کوچکتری است که در آن بردارهای ویژه، محورها را تشکیل میدهند. PCA مخفف Principal Component Analysis می باشد. دستگاه های حضور و غیاب هم یکی از دستگاه هایی هستند که برای تشخیص چهره افراد از انواع این روش ها و الگوریتم های قید شده استفاده می کنند.
مراحل بدست آوردن PCA:
1- میانگین داده ها را بدست می آوریم.
2- تک تک داده ها را از میانگین کم می کنیم.
3- واریانس را بر اساس میانگین به دست می آوریم.
4- ماتریس کوواریانس و بردار ویژگی ها را بدست می آوریم.( جهت تغییرات بیشتر را مشخص می شود.)
5- کاهش دادن ابعاد: بدین صورت که آن برداری که اطلاعات کمتر و تغییرات کمتری دارد را می توان حذف کرد.
6- بهترین بردار ویژگی متناظر با بزرگترین مقدار ویژگی که معروف به PC هستند، می باشد. که رابطه آن در زیر نوشته شده است. از طرفی بردارهای ویژگی بر هم عمود هستند (اورتوگونال)
V*∑ = ƛ*v
نکته : در واقع PCA يک تبديل خطي است که ابزار قدرتمندي براي تجزيه و تحليل داده هايي است که داراي تغييرات خطي مي باشند؛ ولي براي تغييرات غيرخطي چهره ناشي از تغييرات حالت، روشنايي و ژست در تصوير چهره، مطلوب نمي باشد. البته برای رفع این نقض از فیلتر گابور می توان استفاده کرد.
به طور کلی کاربرد عمده PCA عبارتند از :
- کاهش تعداد متغیرها
- یافتن ارتباط بین متغیرها و دسته بندی آنها.
چگونه با کمک PCA می توان چهره اشخاص را شناسایی کرد؟
همانطور که در توضیحات مراحل بدست آوردن PCA آمده است، این روش می تواند باعث کاهش ابعاد شود و برای تغییرات غیرخطی مانند تشخیص چهره روش مطلوبی نیست اما با این وجود اگر بخواهیم از pca در تشخیص چهره استفاده کنیم میتوان به صورت زیر عمل کرد:
هر تصویر را می توان به صورت یک بردار ستونی و یا سطری در نظر گرفت. اگر یک تصویر با ابعاد N*N داشته باشیم آن را تبدیل به یک بردار ستونی یا سطری N^2 می کنیم.
سپس میانگین تصویر را بدست می آوریم . برای همه تصاویر موجود در دیتاست نیز این کار را انجام می دهیم. در واقع هدف از PCA یافتن بردارهایی است که به بهترین نحو، کار شناسایی زیرفضای چهره را انجام دهد. به این بردارها ، بردارهای فضای چهره می گویند . از آنجایی که این بردارها بردار ویژه ماتریس همبستگی مربوط به تصاویر چهره می باشند و همچنین به دلیل شباهت به چهره انسان، آنها را eigene face می نامند.
پس از مشخص شدن بردارها تمامی تصاویر به این زیر فضا منتقل میشوند تا وزنهایی که بیانگر تصویر در آن زیرفضا هستند بدست آیند. با مقایسه شباهت وزن های موجود با وزن تصویر جدیدی که به این زیر فضا منتقل شده میتوان تصویر ورودی را شناسایی کرد.
برای اینکه بهتر منظور را برسانیم یک مثال می زنیم. تصور کنید که ما دارای مجموعه ای از تصاویر هستیم که این تصاویر ورودی را قصد داریم در سیستم آموزش خود قرار دهیم.( کلا دو نوع سیستم وجود دارد سیستم آموزش و سیستم تست . سیستم آموزش دارای افرادی است که ما می خواهیم سیستم آنها را بشناسد بنابراین تصاویر مورد نظر را در این قسمت قرار می دهیم و سیستم تست و آزمایش ، سیستمی است که ما قصد داریم اگر تصویری از یکی از افرادی که قبلا در بخش آموزش قرار دارد را بدهیم ، آن را به درستی به یاد بیاورد.) بنابراین اگر مجموعه عکس های ورودی را در داخل ماتریسی قرار دهیم می توانیم میانگین چهره ها را بدست آوریم و طبق روابط گفته شده عمل خواهیم کرد و مراحل را طی می کنیم.
در بخش دوم این مقاله به جزئیات بیشتری خواهیم پرداخت.
مطلبی دیگر از این انتشارات
پیاده سازی ربات عامل جارو برقی در هوش مصنوعی با زبان های Javascript و Python
مطلبی دیگر از این انتشارات
مِهداده (کلان داده) چیست؟ (۳)
مطلبی دیگر از این انتشارات
بایاس و واریانس