تشخیص حالت چهره:
از جمله مسائل جذاب در بینایی ماشین تحلیل تصاویر حاوی انسان است. یکی از مسائل مورد توجه در این زمینه تشخیص حالت چهره در یک تصویر است. این کار برد میتواند در موارد مختلفی نظیر تعامل انسان و کامپیوتر، تحلیل احساس، ویدئویی تعاملی، نمای گذاری و بازیابی از پایگاه داده که تصاویر و ویدیو ها، فهم پذیر و پویانمایی مصنوعی چهره استفاده شود. چهره انسان حاوی اطلاعات معناداری از وضعیت احساسی و روحی شخص است که میتوان از آنها برای ارتباط غیرکلامی با کامپیوتر استفاده کرد. برای این منظور شش حالت کلی (به همراه حالت خنثی) برای چهره در نظر گرفته میشود و هدف، انتصاب تصویر چهره ورودی به یکی از این شش حالت است. شش حالت در نظر گرفته شده برای چهره عبارتند از: شادی، ناراحتی، تعجب، ترس، خشم و نفرت. چهره یکی از شایع ترین کانال های غیر کلامی است که انسان حالات هیجانی درونی اش را به وسیله چهره انتقال می دهد. تشخیص حالت چهره در زمینه های مختلف مانند روانشناسی رشد، علوم رفتاری و واسط انسان و کامپیوتر کاربرد بالایی دارد. راه حل کلی که برای این مسئله مطرح می شود از سه مرحله کلی تشکیل شده که عبارتند ازمشخص کردن ناحیه ای در تصویر ورودی که در آن چهره وجود دارد و آماده سازی آن جهت استخراج ویژگی ها، استخراج ویژگی های مناسب از آن ناحیه جهت دسته بندی و در نهایت استفاده از دسته بند مناسب جهت دسته بندی حالت چهره. جهت تشخیص حالت میبایست ابتدا با انجام یک سری پیش پردازش ها ناحیه مورد پردازش را روی صورت مشخص نمود یعنی مربعی که در آن دقیقا صورت قرار داشته باشد و باقی قسمت های تصویر حذف شوند . در مرحله بعد میبایست یک سری ویژگی از تصویر صورت استخراج شود . سپس هر حالت چهره به وسیله ی یک دسته بند دسته بندی شود . داده ها که شامل تصویر ها از حالات مختلف میباشد را به دو قسمت آموزش و آزمایش تقسیم مینماییم و با قسمت آموزش دسته بندی ها را یاد گرفته با قسمت آزمایش تست برنامه را انجام میدهیم .
وقتی از احساسات پایه حرف میزنیم منظورمان هفت احساس زیر است:
- ناراحت بودن (Sad)
- ترسیدن (Fearful)
- احساس انزجار و بیزاری (Disgust)
- عصبانی بودن و خشم (Anger)
- خوشحال بودن (Joy)
- تعجب (Surprise)
- تحقیر (Contempt)
کاربردهای سیستم های تشخیص حالات چهره
- طراحی انیمیشن و فیلم های کارتونی
- تقلید ربات از انسان
- سیستم های توصیه گر
- رانندگی خودکار
- سیستم های پرسش و پاسخ خودکار
- ….
تاریخچه تحقیق روی حالت های چهره
در مورد ارتباط بین احساسات و عبارات فکر کنید. چارلز داروین اولین کسی بود که در سال (1872) ادعا کرد که بین احساسات و حالت های صورت ارتباط وجود دارد. او بر این عقیده بود که یک احساس خاص دارای یک حرکت و حالت خاص است که این حرکت احساس یاد شده را منعکس میکند و این یک چیز کلی و همگانی است. در زمان او مطالعه خاصی در این زمینه صورت نگرفت؛ با این حال تحقیق در مورد این موضوع ادامه یافت و در دهه 1960 سیلوان تامکینز اولین مطالعه را انجام داد تا نشان دهد که حالت های صورت، در واقع وضعیت های احساسی خاصی را پوشش میدهد. تشخیص حالت چهره در موارد مختلفی از جمله برای ساخت ربات هایی با درک احساسات کاربرد دارد. مسئله تشخیص حالت چهره به صورت گسترده ای مورد بررسی قرار گرفته و روش های زیادی برای آن پیشنهاد شده است. نخستین کسی که به شکل ساختاریافته و مدوّن درباره حالات صورت انسان مطالعه کرد، چارلز داروین بود. او بر این باور بود که انسانها و بسیاری از پستانداران، هنگام تجربه هیجانات و احساسات مختلف، حالت چهره تقریباً مشابهی از خود نشان میدهند. همان چیزی که باعث میشود ما احساسی مانند خشم را به سادگی در چهرهی حیواناتی مانند میمون، گربه و شیر تشخیص دهیم. بهتازگی پتنت بسیار جالب متعلق به فیسبوک انتشار یافته است که یک فناوری انتخاب ماسک، مبتنی بر احساسات فرد را معرفی مینماید. این پتنت که در سال ۲۰۱۶ میلادی ثبت شده است، سیستمی برای شناسایی احساسات کاربر از روی چهره و انتخاب یک ماسک، از بین مجموعهای از ماسکهای مختلف بر مبنای احساسات فرد محسوب میشود که از طریق افزودن انیمیشن به چهره کاربر، انجام میگیرد.
علائم شادی در حالت های صورت
حالات صورتی که خوشحالی را منعکس میکند، شامل یک لبخند است. در این حالت، گوشههای دهان بالا و عقب میروند. در اطراف گوشهها خطوط لبخند به وضوح دیده میشوند. علاوه بر این، گونهها نیز بالا میروند و در اطراف بینی و چشم نیز خطوط چیندار دیده میشود. در چهرهای که خوشحال است، پلک پایینی بر اثر انقباض عضله دور چشمی جمع می شود، و زیر آن چین ایجاد میشود. توجه داشته باشید چهرهای که در حال لبخند زدن است و انقباض عضلانی ندارد. یا به عبارت سادهتر چین ندارد، یک لبخند ساختگی است. در حالت صورت یک شخص خوشحال و شاد علاوه بر لبخند، در صورت تعداد چین ایجاد میشود.
غم و اندوه در حالت های صورت
در چهره یک شخص ناراحت، لازم است حالت ابرو و لبها را بررسی کنیم. انتهای داخلی ابرو، اندکی بالاتر و انتهای خارجی آن کمی رو به پایین است. گوشه لبها در این حالت رو به پایین است. در حالت شدیدتر لب تحتانی، اندکی بیرون زدهتر و جلوتر از لب فوقانی است. همچنین فک نیز تا حدی بالا میآید. مطالعات نشان میدهد که به سختی میتوان بصورت مصنوعی چنین حالتی را ایجاد کرد. پس به کمک این حالت صورت، میتوانید به راحتی پی به غم و اندوه نهفته در صورت شخص ببرید.
تحقیر در حالات چهره و صورت
چهرهای که در حال تحقیر کردن است و یا نفرت را منعکس میکند، شامل یک گوشه دهان بالا آمده است. به این صورت که یکی از گوشههای دهان اندکی بالا میآید. در واقع چیزی شبیه یک لبخند نصف و نیمه است که به نشانه تحقیر ایجاد میشود.
شناسایی انزجار در حالت های چهره
در این حالت دهان باز میشود دندانهای بالایی در معرض دید قرار میگیرند. لب فوقانی بالا رفته و حالت قوسدار پیدا میکند. با توجه به اینکه بینی کمی بالا میرود، پهن تر از حالت معمول است. در اطراف بینی، دو چنین نسبتا عمیق ایجاد میشود. چشمها نسبت به خط افق کشیدهتر میشوند و پلک تحتانی بالاتر میرود. انتهای داخلی ابروها پایین تر از انتهای خارجی آنها است.
تعجب و سورپرایز شدن در حالت های چهره
روی پیشانی تعدادی خطوط و چین بصورت عرضی ایجاد میشود. ابروها به بالا میروند و حالت قوسی به خود میگیرند. فضای بین ابروها و چشمها مستطیلی شکل میشود(فضای نسبتا زیادی ایجاد میشود) پلکها کاملا از هم باز میشوند. در این حالت صورت، لبها از هم باز میشوند و همچنین فک پایین میرود.
نشان دادن ترس در حالات صورت
در چهرهای که ترس را نشان میدهد، ابروها بصورت عرضی و تخت هستنتد و هیچ قوس خاصی ندارند. در وسط پیشانی یعنی درست بین ابروها، چین و چروک مشاهده میشود. به غیر از این قسمت در وسعت پیشانی چین و چروکی شکل نمیگیرد. پلک فوقانی بالا میرود و پلک تحتانی منقبض شده اندکی رو به پایین متمایل میشود. دهان ممکن است کمی باز شود و سوراخهای بینی جمع میشوند.
تشخیص حالت چهره با یادگیری عمیق ؟
یادگیری عمیق از طریق شبکههای عصبی مصنوعی که شباهت زیادی به کارکرد مغز دارند، انجام میگیرد و تحلیل اطلاعات در این روش شباهات زیادی به روش مغز انسانها دارد. سیستمهای یادگیری عمیق نیازی به دستورات و راهنمایی برنامه نویسهای انسان ندارند. در اینجا میتوانید با نمونههای بینظیری از بهکارگیری یادگیری عمیق آشنا شوید. برای درک محتوای تصویر و یک الگوی زبان از حوزه پردازش زبان طبیعی ، هر دو روش از دید رایانه ای لازم است تا تشخیص حالت تصویر به کلمات به ترتیب درست تبدیل شود. اخیراً ، روشهای یادگیری عمیق در نمونه هایی از این مشکل به نتایج پیشرفته ای رسیده است. روشهای یادگیری عمیق نتایج پیشرفته ترین مشکلات مربوط به تولید عنوان را نشان داده اند. آنچه که در مورد این روشها چشمگیر ترین است، این است که یک مدل می تواند به جای اینکه نیاز به تهیه داده های پیشرفته یا خط لوله ای از مدل های خاص طراحی شده باشد ، برای پیش بینی یک عنوان ، با توجه به عکس تعریف شود. در این آموزش چگونگی ایجاد یک مدل یادگیری عمیق برای تشخیص حالت چهره در تصاویر را از ابتدا خواهید دید. درست قبل از توسعه اخیر شبکه های عصبی عمیق ، این مشکل حتی توسط پیشرفته ترین محققان Computer Vision قابل تصور نبود. اما با ظهور Deep Learning در صورت داشتن مجموعه داده های مورد نیاز ، می توان این مشکل را به راحتی حل کرد. لذا شبکه های عمیق با استخراج مناسب ویژگی های چهره و آموزش آنها روی این ویژگی ها می توانند بهترین نتیجه را برای تشخیص حالت چهره ایجاد کنند.
هدف این دوره آموزشی:
هدف از این دوره آموزشی، تتشخیص حالت چهره (احساسات) با هوش مصنوعی است. در این دوره ابتدا یک مرور کامل روی پایتون انجام می شود. سپس تئوری لازم برای تشخیص و شناسایی حالن چهره بحث و بررسی می شود. در نهایت، دو تا سیستم تشخیص و شناسایی چهره برای طراحی و پیاده سازی می شود. در این سیستم همه چهره ها در تصویر با سرعت و دقت بالا تشخیص و بعد حالات چهره شناسایی می شوند. سیستم تشخیص و شناسایی حالت چهره، بر اساس تکنولوژی هوش مصنوعی و الگوریتمهای یادگیری عمیق قادر به شناسایی حالت درست چهره افراد با دقت بالا میباشد. در بازشناخت تصویر یک چهره، تصویر ورودی با توجه به اطلاعات موجود در بانک اطلاعات، مورد شناسایی قرار میگیرد. این بانک شامل مشخصاتی از حالت چهره افراد شناسایی شده است. در این پروژه تشخیص حالت چهره با کمترین خطا و با در دست داشتن تعداد نه چندان زیادی از تصاویر با سرعت بالا تشخیص و شناسایی حالت چهره مورد نظر را انجام میدهد. برای تشخیص و برش چهره ها از الگوریتم های عمیق در محیط keras استفاده می شود و برای شناسایی حالت چهره ها از شبکه های کانولوشنی عمیق استفاده می شود. در ابتدا تئوری کار کامل بررسی می شود و سپس سیستم در پایتون پیاده سازی می شود و با کدنویسی مناسب همه مراحل تشخیص و شناسایی حالت چهره توضیح داده می شود. مجموعه های داده ای معرفی می شوند و عملیات آموزش و تست شبکه انجام می شود. خروجی های حاصل از تشخیص و شناسایی حالت چهره در تصویر روی هر یک از شبکه ها نشان داده می شود. پروژه قابلیت آموزش روی داده های دلخواه را دارد و می توانید عملیات تشخیص و شناسایی حالت چهره مورد نظر خود را با آن انجام دهید. بدون شک یکی از بهترین پروژه های عمیق برای تشخیص و شناسایی حالت چهره می باشد که با زبان فارسی، ساده و روان توضیح داده شده است. امیدواریم که این آموزش از “بیگ لرن” هم مثل سایر آموزش ها مورد تایید و رضایت شما مخاطبان گرامی قرار گیرد.
بخش اول: مرور کامل روی پایتون
بخش دوم: مرور یادگیری ماشین و یادگیری عمیق
بخش سوم: تشخیص حالت چهره با روش های آماری
بخش چهارم: تشخیص حالت چهره و پیاده سازی عمیق
بخش پنجم: تشخیص و شناسایی حالات چهره و پیاده سازی
نظرات
5 دیدگاه برای تشخیص حالت چهره (احساسات) با یادگیری عمیق
برای فرستادن دیدگاه، باید وارد شده باشید.
محمدرضا
واقعا بهترین دوره بود. خیلی کدنویسی استاد عالی بود. ساده و قابل فهم تدریس و کدنویسی می کنن. ممنونم
یاسین
تسلط مدرس بر موضوع قابل تحسین است. خیلی کامل بود
رضوان
من دوره را خریدم و راضی بودم. سیستمی که آقای دکتر پیاده سازی کردن براحتی برای هر دیتاستی می تونه شخصی سازی بشه. متشکرم
ناهید
من دوره را دیدم. خیلی ساده و قابل فهم بود. ممنون از استاد محترم دوره
e.aghaei2000@gmail.com
با سلام خدمت استاد عزیز ، استاد بنده واحد حضوروغیاب یک شرکت هستم . با کدام یک از این آموزش بعد از یادگیری می تونم تردد پرسنل با تشخیص چهره راه اندازی کنم . باتشکر
biglearn
سلام. این دوره تشخیص حالت چهره را روی دیتاست خاصی انجام می دهد و می توانید دیتاست دیگری را جایگزین کنید و با تنظیمات مشخصی روی دیتاست خودتون عملیات تشخیص حالت چهره را انجام دهید.
e.aghaei2000@gmail.com
منظورم با دوربین های مدار بسته از طریق چهره تردد رو شناسایی و رکورد هر کارمند را تو ساعت مشخص ورود و خروج را ثبت کنه . با تشکر