تشخیص لب در لب خوانی بازی های رایانه ای

  • پیش مقدمه :
    این پروژه شامل پردازش های اولیه ی پردازش معنایی لب خوانی می باشد که در نهایت خودکار سازی لب خوانی به صورت پلاگینی به موتور بازی سازی یونیتی اضافه خواهد شد .

    تصویر

مقدمه :

لب خوانی روشی است برای فهم و تفسیر گفتار بدون شنیدن آن ، روشی که مردم ناشنوا یا کم شنوا برای درک سخنان دیگران به منظور برقراری ارتباط استفاده می کنند. پیشرفت های اخیر در زمینه ی کامپیوتر ، شناسایی الگو ها و پردازش سیگنال ها ، علاقه مندی به خودکار سازی لب خوانی را افزایش داده است. خودکارسازی قابلیت انسان در لب خوانی نیاز مند پردازشی تحت عنوان تشخیص گفتار از طریق تصویر 1 می باشد.
تشخیص گفتار از طریق تصویر توجه بسیار زیادی را در این دهه به خود معطوف کرده است زیرا کاربرد بسیار زیادی در برنامه های 2 HCI ، تشخیص سمعی و بصری گفتار 3 ، تشخیص سخنران ، تشخیص زبان علائم (زبان مخصوص ناشنوایان ) و برنامه های نظارت بر تصاویر دارد.

تشخیص گفتار از طریق تصویر :

هدف اصلی آن شناسایی کلمات سخنگو با پردازش سیگنال های بصری است . این فرآیند شامل پردازش تصویر ، هوش مصنوعی ، تشخیص اشیا ، تشخیص الگو ها و مدل سازی آماری می باشد . این پردازش میتواند از طریق دو روش صورت گیرد، 1) visemic و 2) holistic
برای انجام فرآیند VSR باید تعدادی پیش پردازش جهت شناسایی دقیق محل لب و دهان انجام شود.

تصویر وی اس آر

پردازش تصویر برای شناسایی دهان :

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

تصویر کانتور لب

بخش بندی تصویر 4

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

تصویر وی اس آر

الگوریتم های پیشنهادی برای تولید کانتور لب :

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

مدل سازی شکل لب :

تصویر

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

تصویر

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

تصویر

در این فرمول منظور از R نوع ناحیه ای است که پیکسل با مختصات m , n ادر آن قرار دارد و نوع ناحیه دو حالت دارد یا ناحیه ای که شامل لب است یا ناحیه غیر لب ، تابع (prob1(m,n احتمال اینکه این پیکسل در ناحیه ی غیر لب باشد را مشخص می کند و (prob2(m,n احتمال اینکه پیکسل در ناحیه ی لب باشد .مرز بهینه ی B با مینیمم سازی (C(Bبدست می آید.
رابطه ی زیر را پس از لگاریتم گیری و ساده سازی فرمول بالا بدست می آوریم:

تصویر

اما از آنجا که تا کنون فضا فضای گسسته بود (پیکسل را مختصاتی فرض کردیم ) بنابراین مرز B بدست آمده نیر گسسته هستند اما در واقع مرزها پیوسته هستند، پس برای پیوسته کردن فضای مربوطه ابتدا m, n به x , y پیوسته بسط داده می شود.
تکه تابع در این فضای پیوسته اینگونه بدست می آید :

تصویر

و بعد از آن معادله ی بالا را بسط می دهیم :

تصویر

در نتیجه ما یک مرز بهینه و پیوسته تولید کردیم ، حال نیاز داریم پارامترهای تابع هزینه را استخراج کنیم ، این استخراج با مینیمم سازی تابع هزینه بدست می آید:

تصویر

در این فرمول P)=xc+wcose teta) و x1 و x2 نقاط گوشه سمت راست و چپ لب ،و y1 و y2 دو نقطه ی مرز عمودی خط x هستند.

حال چگونه سطح هزینه ی پیوسته (g(x,y را بدست آوریم ؟
اگر چهار نقطه zjk , zj+1k,zj+1k+1, zjk+1 داشته باشیم سطح درون یابی دو سویه شده به این شکل بدست می آید :

تصویر

پس برای ایجاد (g (x,y نیاز به نقاط zm,n داریم با تعدادی محاسبات جبری می توان نشان داد که(f(m,n و zm,n بوسیله ی معادله ی کانولوشن زیر با هم ارتباط دارند :

تصویر

که ماسک کانولوشن با کمک ماتریس زیر مشخص می شود:

تصویر

در حوزه ی فرکانس معادله ی بالا به این شکل در می آید:

تصویر

که با گرفتن معکوس تبدیل فوریه m , n را بدست می آوریم :

تصویر

در معادلات بالا گفتیم تابع هزینه و ارزیابی (E(P نیاز به تابع احتمال نگاشت( (probi(m,n ) دارد . این تابع را با استفاده از خوشه بندی فازی بدست می آوریم . در خوشه بندی فازی سعی میشود برای هر پیکسل با کمک توزیع بردار های ویژگی آن پیکسل در فضای ویژگی و اثر متقابل پیکسل همسایگی آن ، یک احتمال مناسب پیدا کند.
شدت رنگ و روشنایی به عنوان ورودی به الگوریتم خوشه بندی داده می شود.(ابتدا عکس را از فضای رنگی RGB به CIEBLAB تبدیل می کنیم چون این فضا دیاگرام رنگ یکنواختی دارد تفاوت دو رنگ به خوبی آشکار می شود)

تصویر

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

الگوریتم بخش بندی Watershed :

الگوریتم watershed بر مبنای بخش بندی ناحیه ای در تصویر عمل میکند .
تماس و همپوشانی اشیای درون یک تصویر، یکی از معضلات اصلی در بخش بندی تصاویر می باشد به طوری که بسیاری از روشهای متداول بخش بندی قادر به حل آن نیستند. الگوریتم watershed با ارائه ی یک روش قوی برای بخش بندی تصاویر ، قادر به جدا سازی اجزای بهم چسبیده و همپوشانی کننده می باشد .

این الگوریتم بر اساس تغییر مقیاس سطح خاکستری پیکسلها عمل کرده و با استفاده از گرفتن گرادیان از تصویر قابل اجرا می باشد.
ابتدا دو تبدیل top hot و bottom hat را به عکس اعمال کرده ، سپس عکس اصلی را از این عکس تغییر یافته کم می کنیم (شاید سوال ایجاد شود منظور از تفریق دو عکس چیست ؟ باید بگویم طبق بررسی هایی که انجام دادم این الگوریتم در محیط متلب زده شده و در آنجا دید به عکس ها کاملا ماتریسی است )
حاصل تفریق عکسی است که دارای نویز کمتری می باشد پس از اعمال این تغییرات لازم است از عکس مکمل بگیریم (تبدیل همه ی یک های ماتریس به صفر و تبدیل صفر های ماتریس به یک ) زیرا چنین عملی باعث آشکار شدن لبه های عکس می شود.
بعد از اعمال فیلتر های لازم بر روی عکس لازم است اشیا اضافی عکس پاک شوند ، یا در بعضی قسمت ها اشیا پر شوند.
فرایند محاسباتی watershed یک فرایند برچسب زنی پیاپی است . زمانی که این الگوریتم به طور مستقیم استفاده گردد، به علت برخی عوامل مثل نویز در تصویر، به دست آمدن نتایج مطلوب از بخش بندی غالباً مشکل است . در این الگوریتم، تعداد نواحی تشخیص داده شده از تعداد اشیای موجود در تصویر بسیار بیشتر است. این مسئله باعث به وجود آمدن پدیده ی over segmentation می شود که منجر به خراب شدن تصویر بخش بندی شده می شود . بنابراین بایستی نواحی مشابه بعد از بخش بندی تصویر ترکیب شوند.

تصویر

تصویر

بعد از آماده شدن عکس ،لازم است برای پیدا کردن لب محاسباتی را انجام دهیم .

پیدا کردن اطراف لب :

تصویر

در این روش از دوطرف راست و چپ تصویر به سمت مرکز حرکت کرده و هر بار به صورت ستونی تحلیل میکنیم که آیا نقطه ی سفیدی در این ستون وجود دارد یا خیر ؟ اولین نقطه ی سفیدی که پیدا از دو طرف پیدا خواهیم کرد راست ترین و چپ ترین نقاط لب هستند که با داشتن این نقاط عرض لب را محاسبه میکنیم :

تصویر عرض لب

حال اگر بخواهیم قسمت سمت چپ بالای لب را بدست بیاوریم یک سری فرضیات خواهیم داشت :
ابتدا به اندازه ی 0.2 از گوشه ی سمت چپ لب که در بالا محاسبه شده است ،به سمت راست رفته و x نقطه ی شروع ما بدست می آید.
برای بدست آوردن y نقطه ، لازم است معادله ی خطی تشکیل دهیم که این خط گذرنده از دو نقطه ی گوشه ی لب می باشد (نقطه ی سمت چپ ترین و نقطه ی سمت راست ترین ) مقداری که ازین معادله بدست می آید در واقع مقدار y نقطه ای است که ما میخواهیم از آن شروع به پیمایش کرده تا عرض نقطه ی سمت چپ بالای لب را پیدا کنیم ، در ذیل معادله ی خط مر بوطه را مشاهده می کنید:

تصویر

از این نقطه ی بدست آمده شروع کرده و به سمت بالا میرویم تا جایی که به مرز لب برسیم ، این مقدار پیمایش رو به بالا را مقدار [TPLS[y فرض میکنیم ، سپس با حرکات مداوم 0.05 در جهت x به سمت گوشه ی راست لب میرویم و نقطه ی مرزی متناسب با آن را بدست می آوریم ، که با کمک این نقطه و نقطه ی قبلی تغییر زاویه را محاسبه کرده ، اگر این تغییر زاویه مثبت بود عملیات را تکرار می کنیم ، امّا اگر تغییرات منفی بود یعنی نقطه ی قبلی سمت چپ بالای لب میباشد .

تصویر

حال میخواهیم نقطه ی سمت چپ پایین لب را بدست بیاوریم:
از نقطه ی سمت چپ لب به اندازه ی 0.2 به سمت راست می رویم ، سپس همانند مراحل قبل ، معادله ی خط گذارنده از دو گوشه ی لب را نوشته و عرض نقطه را بدست می آوریم ، از این نقطه پایین می رویم تا جایی که به مرز لب برسیم ، ازنقطه ی جدید (روی مرز لب ) شروع به پیمایش می کنیم و به اندازه ی 0.05 سمت راست رفته و نقطه ی مرزی متناسب با این x را بدست آورده ، تغییر زاویه را محاسبه کرده ، اگر در هرمرحله تغییر زاویه مثبت بود ادامه میدهیم در غیر این صورت به نقطه ای مربوطه رسیده ایم.

تصویر4

تصویر

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

تصویر وی اس آر

لازم به ذکر است الگوریتم watershed الگوریتم انتخابی در این پروژه می باشد.

دنباله ای از تصاویر :

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

تصویر وی اس آر

آزمایشات :

  • در ابتدا لازم است یاد آور شوم یکی از مشکلات این پروژه نبود دیتا ست مناسب بود ، در این قسمت وقت زیادی گذاشته شد تا دیتا ست مناسبی در زمینه ی لب خوانی پیدا شوند 5 امّا متاسفانه یافت نشد و بنده از دیتا ست 6 FEI Face که برای پروژه تشخیص چهره آماده شده بود استفاده کردم .
    این دیتا ست شامل 2400 عکس 640x480 پیکسلی میباشد ، که 43 عدد از این تعداد برای آزمایش تشخیص لب انتخاب گردید .
    البته این 43 عدد عکس با در نظر گرفتن شرایط مسئله و راه حل آن انتخاب شده است و نمیتوان گفت تصادفی است ، نکته ی دیگر این است که
    برای تست و آزمایش لازم بود نور عکس ها کاملا تنظیم شوند تا بتوان خروجی مناسب داشت و با کمک نرم افزار Photoshop بالاخره ! دیتا ست آماده شد .

تصویر قبل از فوتو شاپ

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

تصویر بعد ا از فوتو شاپ

آزمایش مرحله اول پیاده سازی :

در فاز قبلی فایل picture.analyzing پیاده سازی شده بود، این فایل فیلتر های لازم بر روی عکس را ایجاد میکند تا برای مرحله ی بعد توضیحات ذیل مربوط به آزمایش این کد در فاز قبل می باشد.

در عکس زیر مراحل اعمال فیلترها را مشاهده می کنید :

تصویر

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

تصویر
تصویر

برای رفع این مشکل با کمک کد راه حلی پیدا نکردم .

حال نتایج آزمایش را تا این مرحله بررسی میکنیم :

نوع عکس تعداد کل عکس ها تعداد عکس های غلط تعداد عکس های نیمه غلط درصد دقت در این مرحله
عکس های اولیه بدون اعمال هیچ تغییری 43 43 0 %0
عکس ها پس از ایجاد تغییر در نور آنها 43 14 15 %32
عکس ها پس از ایجاد تغییر درنور آنها و از بین بردن چروک ها 43 7 6 %75
عکس ها پس از ایجاددقت بیشتر در تغییر نور آنها و از بین بردن چروک ها 43 6 4 %76

آزمایش مرحله دوم پیاده سازی :

در این قسمت فایل lip_contour هم پیاده سازی شد، در این کد یک مستطیل که شامل لب است از عکس ورودی جدا شده و با استفاده از الگوریتم انتخابی
شش نقطه ی کانتور لب مشخص می گردد. در این کد 6 نقطه ی اصلی با شش دایره ی آبی رنگ بر روی عکس مشخص می شوند.

تصویر

  1. تصویر انتخابی از دیتا ست

تصویر

  1. تصویر خروجی از مرحله ی اول پیاده سازی (خروجی کد picture_analyzing)

تصویر

  1. تصویر خروجی از مرحله ی دوم پیاده سازی(خروجی کد lip_contour)

بررسی نتایج این مرحله :

ابتدا ده نمونه خروجی را نشان میدهیم :

شماره عکس تعداد نقطه ی درست از شش نقطه ی کانتور درصد دقت در این عکس در این مرحله عکس خروجی
1 6 100%
تصویر
2 5 83%
تصویر
3 5 83%
تصویر
4 5 83%
تصویر
5 5 83%
تصویر
6 5 83%
تصویر
7 6 100%
تصویر
8 5 83%
تصویر
9 6 100%
تصویر
10 6 100%
تصویر
تعداد عکس های آزمایش شده تعداد کل نقاطی که باید تشخیص داده شود تعدادنقاط اشتباه درصد دقت الگوریتم
43 258 18 69%
  • در یکی از قسمت های الگوریتم گفته شد که معادله ی خطی که شامل دو نقطه ی سمت راست و سمت چپ لب می باشد ، نوشته می شود از X نقطه ی سمت چپ 0.2 به سمت راست می آییم و سپس X جدید را در معادله ی خط گذاشته و Y را بدست می آوریم ازین نقطه ی یافت شده شروع به پیمایش می کنیم .
    در یک سری از عکس های آزمایش شده دیده شد که خط مذکور نقطه ای خارج از محدوده ی لب می دهد ، که برای بهبود نتیجه تابعی نوشته شد تحت عنوان نزدیک ترین نقطه به محدوده ی لب را پیدا می کند.

در شکل نقطه ی A نقطه ی سمت چپ لب و نقطه ی B نقطه ی سمت راست لب ، و خط قرمز خط گذرنده از این دو نقطه است . در این عکس نقطه ی C نقطه ی شروع پیمایش بر روی ناحیه لب است که همانطور که می بینید خارج از ناحیه لب قرار گرفته است.

تصویر

خطا های آزمایش :

1) وجود سایه در تصاویر باعث مشکل در عمل پردازش خواهند شد ، وقتی فردی میخندد یا بعضی از حروف را میگوید، معمولا بر چهره ی وی سایه میفتد . این مشکل در فروم های متلب 7مطرح شد تا شاید نیازی به بازسازی عکس ها با Photoshop نباشد ، امّا راه حل ارائه شده بسیار و قت گیر است ، پیاده سازی راه حل های shadow / highlights نیازمند مطالعه ی بیشتری است . در آزمایشات بالا هدف آزمایش دقت شناسایی کانتور بود و نه برطرف کردن سایه ها ، لذا سایه ها با ابزار Photoshop بر طرف شد تا مانعی برای ادامه ی کار نباشد .

تصویر

تصویر

2) وجود چین و چروک نیز سبب بروز مشکل میشود ، که با جستجو های انجام شده نتیجه حاصل شد که با کمک FrangiFilter میتوان خطوط چهره را شناسایی نمود و آن ها را محو کرد ، البته همیشه جواب گو نخواهد بود.

تصویر

تصویر

3) مستطیلی که دهان را از صورت جدا میکند خود باید با دقت بالا و به درستی انتخاب شود ، این انتخاب درست مستلزم پاسخ گویی به سه سوال زیر است

  1. چگونه پس زمینه را یک دست سفید کنیم ؟ 2. چگونه صورت را تشخیص دهیم ؟ 3. چگونه محدوده ی دهان را در صورت تشخیص دهیم ؟
    فرض بنده برای حل این مشکل این است که ، این اطلاعات باید در ورودی تنظیم شود ، یعنی وقتی شخصی مقابل دوربین قرار میگیرد خود را باید طوری جابجا کند که صورتش در ناحیه A و دهانش در ناحیه ی B بیفتد آنگاه تمام اجزای دیگری که در تصویر مشاهده می شود و در این دو محدوده نیست در ناحیه ی c که ناحیه ای سفید است افتاده است .
    امّا این فرضیات چیزی جز آسان تر شدن راه پیاده سازی نیست و باید طور دیگری مسئله بررسی شود.

4) یکی از مشکلات رایج در این زمینه حساس بودن الگوریتم های تشخیص ، نسبت به noise در تصاویر می باشد که تصاویر شامل ریش یا سبیل یا حتی زینت آلات باعث بروز خطا خواهند شد.

تصویر وی اس آر

کار های مرتبط با موضوع لب خوانی :

پردازش و تشخیص گفتار 8 :

برای عمل تشخیص گفتار ، سیگنال های صوتی توسط سنسور های ورودی دریافت شده و سپس با انجام پردازش هایی به منظور استخراج ویژگی های صوتی شخص صحبت کننده تشخیص تحقق می یابد . در این روش صرفا از اطلاعات صوتی استفاده میشود .( [ کنترل رخدادهای درون بازی با پردازش و تشخیص گفتار ] (http://www.boute.ir/ai/game_event_control_with_speech_recognition) )
امّا در دهه ی کنونی برای بالا بردن دقت این تشخیص از تصاویر و حالات دهان هم استفاده می کنند که با عنوان پردازش و تشخیص گفتار به صورت صوتی وبصری [ ^8 ] بیان می شوند .
در یکی از روش های بررسی شده ،با فرض وجود دوربینی در نزدیکی گوشی تلفن، عکسهایی از نیم رخ شخص گرفته شده و حالت دهان فرد پردازش میشود
در این پردازش از اطلاعاتی چون شکل هندسی لب ، کانتور لب ، حرکت و سرعت آن ، استفاده می شود.

تصویر تشخیص گفتار

تصویر پردازش

رمز گشایی تصویری :

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

تصویر وی اس آر

تشخیص لب در عکس هایی با رزولوشن پایین :

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

تصویر نویز دار

لینک کد مربوطه :

کار های آینده :

1) بررسی الگوریتم های Shadow /Highlights برای از بین بردن سایه ها در تصاویر
2)بررسی الگوریتم های موجود جهت رفع چین و چروک های صورت
3) بررسی اینکه فریم های کلیدی برای انتخاب کانتور لب جهت پردازش معنایی را چگونه انتخاب کنیم ؟
4) تهیه ی یک دیتا ست مناسب جهت یادگیری

مراجع و منابع :

+

  • Petajan, E. (1984). Automatic lipreading to enhance speech recognition, Ph.D. Dissertation,
    University of Illinois at Urbana-Champaign, USA.

  • Chan, T. Michael, 2002. Automatic Lip Model Extraction for Constrained Contour-Based Tracking. Rockwell Science Center.

  • Gurban, M. & Thiran, J. (2005). Audio-Visual Speech Recognition With A Hybrid Svm-Hmm
    System, Proceedings of the 13th European Signal Processing Conference (EUSIPCO).

  • Lihin, M., R. Delmas, P.Y. Codon, F. Luthon and V. Fristot, 2000. Automatic Lip Tracking.

  • Hassanat,Ahmad.(2005).Visual Password using Automatic LipReading

  • Iwano et al. - 2007 - Audio-Visual Speech Recognition Using Lip Information Extracted from Side-Face Images

  • Werda, Mahdi, Hamadou - 2007 - Lip Localization and Viseme Classification for Visual Speech Recognition

  • Chiang et al. - 2003 - A novel method for detecting lips, eyes and faces in real time

  • Shirgahi et al. - 2008 - A New Approach for Detection by Movement of Lips Base on Image Processing and Fuzzy Decision

  • Hassanat - 2009 - Visual Speech Recognition

  • Kadlec et al. - Unknown - Lips detection in low resolution images

  • Sajjad.Asma, 2013, Virtual Makeover Software

  • بخش بندی تصاویر پزشکی با استفاده از مدل های شکل پذیر. 1386.بهار ، داوودی

  • http://en.wikipedia.org/wiki/File:Result_of_a_segmentation_by_minimum_spanning_forest.png

  • http://en.wikipedia.org/wiki/Top-hat_transform

  • http://www.lipreading.org/vowel-eyedrills

.


  1. Visual Speech Recognition

  2. Human Computer Interaction

  3. AVSR یا Audio Visual Speech Recognition

  4. segmentation

  5. خیلی از دیتا ست ها رایگان نبودند و یا باید استفاده از آن ها تایید می شدند (مانند Color FERET Database)

  6. http://fei.edu.br/~cet/facedatabase.html

  7. http://www.mathworks.com/matlabcentral/answers/136594-how-to-remove-shadows-from-face-image-in-matlab#answer_141798

  8. Speech Recognition

  9. برای مثال تبدیل RGB به Gray style

محمد غضنفری

به طور کلی کار شما در این فاز خوب بود. چند مورد جزئی که را ذکر می کنم:

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

در بعضی از قسمت های متن تان قسمتی از یک مقاله یا سایت را عینا استفاده کرده اید که در این موارد باید در قسمت مراجع آن را ذکر می کردید. مثلا عبارت "بخشبندی، یکی از شاخه های اصلی در علم پردازش تصویر است که مهمترین کارکرد آن، تصحیح مرزهای مخدوش بین بخشهای مختلف تصویر است" را احتمالا از پایان نامه خانم داوودی در دانشکده برق دانشگاه شریف با عنوان "بخش بندي تصاوير پزشكي با استفاده از مدل هاي شكل پذير" برداشته اید. انجام این کار در صورتی در همان متن ارجاع به پایان نامه می دادید اشکالی نداشت.

در قسمت کارهای مرتبط هم به صورت خیلی خلاصه و سطحی تحقیق کرده اید.

در نهایت ضمن عرض خسته نباشید امیدوارم با رعایت این نکات در فازهای آتی مستندات بهتری را از شما ببینیم.

رد شده

این پروژه با موضوع جالب توجه که دارد به خووبی در این فاز معرفی شده است و برای انجام فرایند vsr مشکلات زیادی وجود دارد که به خوبی مشکلات ان جهت جهت شناسایی دقیق محل لب و دهان ذکر شده است که ازنظر من این فرد بر موضوع پروژه خود تسلط کامل دارد
مفهوم الگوریتم watershed segmentation به وسیله عکسایی که استفاده شده است به خوبی مشخص شده
و در قسمت کارهای مرتبط بهتر بود توضیح بیشتری داده شود.

رد شده
رد شده

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

پیشنهاد : بهتر است بعضی از کلمات تخصصی و یا کلماتی که ممکن است خواننده با آنها آشنا نباشد را توضیح مختصری بدهید.( مثلا با کلیک کردن روی آن صفحه ویکی آن کلمه باز شود)

لینک کد موجود نبود، لطفا در فازهای بعدی لینک کد گذاشته شود.

موفق باشید

محمد غضنفری

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

تایید شده

توضیحاتتان کم و تا حدی نامفهوم بود طوری که مساله به طور کامل برای خواننده تبیین نمی شد.

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

تایید شده

بسم الله

سلام و خسته نباشید

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

با سلام و خسته نباشید .
با توجه به این که خانم حکیمی از بچه های گیم هستن و فرصت کافی برای انجام قسمت ازمایش ها نداشتن من بدون در نظر گرفتن ازمایش و با توجه به لینک پایین به ایشون نمره دادم.
http://www.boute.ir/ai/lip_reading_lip_recognition
از نظر من ایشون به صورت کامل پروژه درک کرده و تعریف خوبی از پروژه خود بیان کرده. از نظر من الگوریتم هایی که پیشنهاد داده به صورت کامل و دقیق توضیح داده و این نماینگر این است که ایشون مقالات زیادی را مطالعه کردن چون با شناختی که از پروژه ایشون دارم در زمینه تشخیص لب در لب خوانی پروژه های کمی کار شده.

محمد غضنفری

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

تایید شده

بهتر بود منابع بيشتري را در هر مرحله ذكر ميكرديد.در مورد مورد 9 بهتر بود بيشتر توضيح ميداديد يا روش كاملتري بيان ميكرديد.توضيحات به همراه تصاويري كه بيان كرديد در تفهيم مطلب بسيار مفيد هستند.با اينكه مطلب بسيار جامع است براي بردازش تصوير اما براي آزمايشات و تشخيص كارايي ميتوان از كتابخانه ي opencv زبان python استفاده نمود.مقاله ي مربوط به اين موضوع كه ميتواند مفيد باشد:
Research on lip detection based on Opencv
Yang Pingxian ; Dept. of Autom. & Electron.-Inf., Sichuan Univ. of Sci. & Eng., Zigong, China ; Guo Rong ; Guo Peng ; Fang Zhaoju

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

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

تایید شده

با عرض سلام و خسته نباشید خدمت شما دوست عزیز.
بهتر می بود که در مورد نحوه ی اجرای برنامه ی تان توضیحاتی می دادید که در اجرای آن به مشکل نخوریم.

تایید شده

با سلام
پروژتون خیلی موضوع جالبی داره ولی یه سری نکات رو اگر رعایت می کردید خیلی بهتر می شد:
بهتر بود که فرمول ها را با latex می نوشتید
بعضی از عکس ها کمی تار بودند
بعد از اینکه هر کدام از حالات لب رو تشخیص دادیم چگونه میتونیم کلمه ای که فرد بیان میکنه رو
تشخیص بدیم؟آیا الگوی خاصی داره؟
در عکس خروجی کد lip_counter چیزی نیست
موفق باشید.

تایید شده

مطالب بسیار خوب توضیح داده شده فقط یک مقدار جا به جایی در بیان مطالب وجود دارد برای مثال اگر کار های مرتبط را قبل از آزمایش ها می آوردید بهتر بود. همچنین مطالب گفته شده بعد از مقدمه می توانست در بخش کارهای مرتبط گفته شود.
بخش آزمایش ها خیلی خوب بود و نتایج آزمایش با جدول ها به خوبی نشان داده شده است.
با وجود comment در کد پیاده سازی شده (که بسیار خوب است و خواندن کد را برای خواننده راحت تر می کند) اگر برای کد یک فایل readme یا document قرار می دادید خیلی خوب بود.

تایید شده

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