معماری

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

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

بسیاری از حالات رفتاری افراد را می توان با الگوهای پلک زدن آن ها نشان داد. در این شماره و شماره بعدی روشی بر مبنای پردازش تصویر برای آشکار ساختن باز و بسته شدن چشم انسان و فاصله‌های زمانی بین پلک زدن ارائه می شود. در این تحقیق از دسته بندی کننده Haar Cascadeو الگوریتم‌های Cam shiftبرای شناسایی چهره و دریافت اطلاعات مربوط به محور صورت استفاده شده است. علاوه بر این از یک دسته بندی کننده Adaptive Haar Cascade Classifier ‌در یک توالی از دسته بندی کننده های boostedبراساس مشخصه‌های Haar-likeاستفاده شده و از رابطه بین چشم‌ها و محور صورت برای تعیین محل چشم ها استفاده شده است. یک الگوریتم و روش اندازه گیری جدید نیز برای آشکارسازی پلک زدن با عنوان مقدار دهی حالت پلک (the eyelids state detecting ) ESD)) ‌ارائه شده است. مقدار ESDرا می توان برای بررسی حالت باز و بسته پلک ها به کار برد. این الگوریتم میزان دقتی برابر با ۶/۹۹% برای شناسایی پلک زدن دارد.گراف های فاصله زمانی بین پلک زدن ها، از طریق مقایسه دو حالت مختلف چشم رسم شده اند.گراف ها نشان می دهند پلک زدن های معمولی افراد به طور متناوب بازه های زمانی کوتاه و بلندی دارند.

فیزیولوژی چشم
پـلــک زدن، یـک عـمـل سـریـع بـه هـم خـورن چشمان است. عمل پلک زدن از این جهت برای چشم ضروری است که باعث پخش شدن اشک در چشم و عبور آن از روی قرنیه و از بین بردن عـفــونــت هــای احتمـالـی مـی‌شـود. بـه صـورت مــتـــوســط عـمــل پـلــک زدن حــدود۳۰۰ تــا ۴۰۰ میلی‌ثانیه به طول می انجامد. این سرعت تحت عواملی چون وارد شدن یک شی ریز خارجی، ضــربـات وارد شـده بـه چـشـم، مـصـرف دارو و عفونت تغییر می‌کند. هر فرد تقریبا در هر ۲ تا ۱۰ ثانیه یک بار پلک می‌زند. نرخ و میزان پلک زدن توسط blinking center تعیین شده اما همچنان این میزان تحت عواملی دیگر تغییر پیدا می‌کند.چشمک زدن وقتی است که فرد تصمیم می‌گیرد که تنها یک چشم خود را باز و بسته کند و از آن برای نوعی علامات اجتماعی استفاده کند . به هر حال، این موضوع فقط مختص انسان نیست و بعضی حیوانات (به عنوان مثال، لاک پشت و هَمستر) نیز هنگام پلک زدن از چشم های خود به صورت مستقل استفاده می‌کنند، بدین معنی که هنگامی که یک چشم باز است چشم دیگر را بسته و برای بار دوم بالعکس عمل می‌کنند.
پلک زدن با پخش کردن اشک و نرم کردن و به نوعی روغن کاری کردن چشمه‌های ایجاد اشک در چشم باعث مرطوب نگه داشتن چشم می‌شود. پلک های چشم با روی هم آمدن باعث نوعی ساکشن در چشم شده که از مجاری اشک به کل کره چشم به جلوگیری از خشک شدن چشم کمک می‌کنند.
پلک زدن همچنین چشم را ازگرفتن عفونت حفظ می‌کنند. مژه‌ها موهایی هستند که به بالا و پایین پلک ها متصل هستند و یک خط محافظتی در مقابل گرد و غبار و نظیر آن‌ها ایجاد می‌کنند. مژه‌ها بیشتر عفونت ها را قبل از اینکه عفونتی به چشم برسد گرفته و از رسیدن آن ها به کره چشم جلوگیری می‌کنند. بنابراین با پلک زدن، چشم ها از مژه‌ها به عنـوان سـلاح دفـاعـی بـرای جلـوگیری از ورود بسیاری عفونت ها به چشم استفاده می‌کند. هزاران ماهیچه در چشم برای کنترل عملکرد پلک زدن وجود دارد. مهمترین و اصلی‌ترین ماهیچه‌ها که در پلک بالایی کنترل باز و بسته شدن چشم را به عهده دارند orbicularis oculiو levator palpebrae superioris muscleنــامـیــده مــی‌شــونـد. مـاهیچـه oculiorbicularis ‌چــشـــم را مـــی‌بــنــدد و بــه مـحــض اسـتــراحــت و انـقـبــاض مــاهـیـچــه palpebraelevator چـشـم بـاز مـی‌شـود. مـاهـیچه superior palpebralدر پلک بالایی و ماهیچه inferior palpebralدر پلک پایینی مسئولیت بزرگ کردن چشم را به عهده دارند. این ماهیچه‌ها نه تنها نقشی حیاتی در پلک زدن چشم دارند بلکه در عواملی مثل چشمک زدن یا با چشم نیمه باز بودن یا چپ کردن چشم دخیل هستند.

هدف اصلی این تحقیق ارائه روشی جدید و کارآمد برای شناسایی و دنبال کردن چشم انسان در توالی تصاویر ویدیویی از فرد و همچنین ارائه یـک الگـوریتـم جـدیـد برای تحلیل حالت های پلک یا همان مقادیر ESDاست. پس از آن حالات تحلیل شده برای رسم گراف فواصل زمانی بین پلـک زدن ها استفاده شده که این گراف ها در تحلیل های مختلف مربوط به حالت های چشم قـابل استفاده خواهند بود. به طور مثال آزمون مـیــزان خـسـتـگــی بــرای رانـنــده هــا ، تـشخیـص رانندگی در حالت خواب آلودگی، بیماری های چشمی و همچنین دروغ سنجی.
تـشـخـیــص حــالــت پـلـک زدن بـا اسـتـفـاده از تـصــاویــر ویــدیــویــی در مـقـایسـه بـا روش هـای موجود برای شناسایی حالت پلک که با استفاده از تجهیزاتی انجام می شود که روی سر نصب می‌شوند ، مانند آنچه در[۱] استفاده شده و یک سری دنبال کننده های تجاری چشم که ممکن است میزان دقت پایین تری داشته باشد. اما در عوض استفاده از این شیوه بسیار آسان تر بوده، حالت غیر تهاجمی داشته و بسیار ارزان‌تر است. در این مقاله ، دنبال کردن چشم به صورت زمان حـقـیـقـی انجام شده، بدون اینکه نیاز به اضافه کردن سخت افزار جانبی به سیستم باشد (مثل مـنبع نور IR)و همچنین قابلیت استفاده تحت شـرایـط مـخـتـلف داخل فضای بسته نیز وجود داشته است (فضای کاری.)

کارهای قبلی
تـحـقـیـقـات زیـادی در ارتباط با این موضوع انـجـام شـده است. به طور مثال برای شناسایی چهره ،زنجیره ای از فیلترهای تک مشخصه ای ، از دسته بندی کننده Haarبرای شناسایی تصویر sub regionاسـتـفــاده شـده انـد کـه بـا اسـتـفـاده از مـحـــاسـبـــات ســریــع تـکـنـیــک integral-image، می‌تواند در زمان حقیقی نیز کار کند. الگوریتم Cam shift یا شیفت میانگین تطبیقی پیوسته از ترکیبی از رنگ ها که به عنوان Hueاز مدل رنگ Hsvمشخص می شوند و skin probabilityبرای شناسایی چهره استفاده کرده است. الگوریتم قادر خواهد بود به جز از زاویه روبرو حالت های مختلف چهره را از زوایای مختلف نیز شناسایی کند.
برای شناسایی چشم، توالی مشخصی از دسته بندی کننده ها بر اساس مشخصه های Haar با استفاده از دو دسته داده آموزشی متشکل از نمونه های مثبت و منفی ایجاد شده اسـت. یـک الگـوریتم یادگیری Adaptive boost، برای ساختن یک دسته بندی کننده ضعیف مورد استفاده قرار گرفته است.
C-BDAیک تحلیل معین تنظیم شده با استفاده از کوواریانس بردارهای مرکب است. در یک آشکار ساز متوالی هیبرید که برای شناسایی چشم به کار می رود ، ویژگی های Haar-likeدر مراحل ابتدایی تر مورد استفاده قرار گرفته و ویژگی های ترکیبی به دست آمده از C-BDAدر مراحل بعد به کار برده خواهند شد.
برای آشکار سازی حالت چشم، از الگوهای باز و بسته شدن چشم برای تعیین حـالـت پلـک بـر اسـاس انـدازه گیـری هـای همبستگـی استفـاده مـی شـود. این روش مخصوصا در مورد افرادی که دچار معلولیت های شدید هستند بسیار کارآمد است. روند عادی و ماشین حالت قطعی محدود با سه حالت: پایدار،در حال باز شدن و در حال بسته شدن برای محاسبه مشخصه های حالت های چشم استفاده می شود. یک آشـکــارســازی حــالـت چشـم زمـان حقیقـی، بـر اسـاس مشخصـه یـابـی هـای SIFTبـا پیاده‌سازی بر اساس GPUمعرفی شده است. یک آزمایش جالب کامپیوتری نیز از حالت چشم برای بیمارانی که دچار ضایعه خشکی چشم بودند انجام شده است. آزمایش از طریق به دست آوردن تصویر بازتاب قرنیه اجرا شده. طی آزمایش در حالی که هر کدام از بیماران بدون حرکت در حالتی ثابت می نشستند ، سر آن ها در یک فضای تاریک بدون حرکت نگاه داشته می شد. این آزمایش چندین نتیجه داشت: این که الـگـوهـای چـشـمی عادی مستقل از زمان بوده و الگوهایی بی قاعده هستند. نتیجه آزمایش آن ها چنین بود که الگوهای شاخصی برای حالت چشم در طول مکالمه و استفاده از VDTممکن است وجود داشته باشند. بسیاری از بیماران بازه های زمانی متغیری از زمان های کوتاه و بلند بین دو حالت را بروز دادند. سایر بیماران در ابتدای کار برای ۲ تا ۴ دقیقه بازه های زمانی کوتاه تری برای حالت های پلک زدن داشته که پس از آن یک الگوی معمولی از بازه های زمانی بلندتر را بروز دادند.

الگوریتم ها
تحلیل حالت چشم بر اساس اجزای چهره فرد عملا از ۳ تحلیل تشکیل شده است:
۱)شناسایی چهره،۲) شناسایی چشم و آشکارسازی حالت پلک زدن.

شناسایی چهره
از دستـه بنـدی کننـده Haar cascade classifierو الگـوریتـم هـای Cam shift بـرای شناسایی چهره و دنبال کردن آن استفاده شده است. الگوریتم Cam shift برای دنبال کردن چهره نسبت به Haar cascade classifier زمانی که با چندین فریم تصویر کار می شود کارامدتر بوده و قادر است حالت های مختلف چهره را نه تنها از روبرو که از زوایای مـخـتلف شناسایی و دنبال کند. با جابجا شدن چهره، اندازه و زاویه مکان آن تنظیم می‌شود و مقیاس و جهت گیری که با پیکسل های احتمالی چهره در مکان جدید بهترین انطباق را دارند انتخاب می شود. به عنوان نتیجه این الگوریتم قادر است هر صورت را با یک بیضی مدل کند، این امر بعدا برای تخمین یک محور مربوط به چشمه مورد استفاده قرار می گیرد. شکل ۱ نمونه نتایج شناسایی چهره و دنبال کردن آن را نشان می دهد.
سپس مساحت کوچکترین مستطیلی را که می تواند بیضی شناخته شده را پوشش دهد محاسبه می شود. این سطح مستطیلی پس از این برای شناسایی چشم مورد استفاده قـرار خـواهد گرفت. شکل ۲ رابطه بین بیضی و سطح مستطیلی متناظر آن را نشان می‌دهد. فرض کنید مرکز بیضی در نقطه (Cx,Cy) واقع است. معادله های خطی مربوط به لبه های بالا، پایین، چپ و راست به ترتیب در روابط (۱)، (۲)، (۳) و (۴) نشان داده شده است.

بـایـد بـه ایـن نـکـتـه توجه شود که با توجه به مـخـتـصـات تـصـویر، مقدار xاز چپ به راست افزایش یافته و مقدار yاز بالا به پایین افزایش می‌یابد.

شناسایی چشم
از Adaptive Boostبرای آموزش یک توالی از طـبـقــه بـنــدی کـنـنــده هــای boosted بـر مـبـنـای مشخصـه هـای Haar like استفـاده مـی شود.دو دستـه داده بـرای آمـوزش، نمـونـه های مثبت و نمونه های منفی، برای این روند مورد نیاز هستند و بانک اطلاعاتی مربوط به چهره مورد استفاده قرار گرفته و همه داده های نمونه با استفاده از نشانه گذار تهیه شده اند. روشی ساده برای جدا کردن بخش های مورد نظر تصویر با استفاده از موس و از تصاویر مربوط به یک چشم و یک ابرو بـه عنـوان نمـونـه های مثبت استفاده شده، زیرا جزئیات قابل شناسایی بیشتری نسبت به حالت بررسی چشم به تنهایی در دسترس قرار می دهد. ۳۳۲۷ تصویر نمونه مثبت و ۶۴۷۸ نمونه منفی برای آموزش تولید شد. شکل ۳ نتایج شناسایی چشم را نشان می دهد.
اما بنابر آزمایشات به این نکته پی برده شد که توالی دسته بندی کننده های boostedبر مبنای مشخصـه هـای Haar-likeنسبتـا دقـت پـایینی را نتیجه می دهد. بنابراین Adaptive Haar Cascade Classifierبـا استفـاده از رابطه بین چشم افراد و محور چهره آن ها بسط داده شد. بنابر این اصل کـه محـور چشـم هـا ،کـه بـا اتصال مراکز چشم راست و چپ به یکدیکر به دست می آیند، بر محور اصلی بیضی چهره عمود است و هر دو چشم می بایست متقارن باشند به جای استفاده از تنهـا دو المـان شنـاسـایـی شـده کـه بیشتـرین رخ شناسایی را دارند از تمامی المان های شناسایی شده طبقه بندی کننده Haar Cascade ‌استفاده شد، همانطور که در شکل ۴ نیز نشان داده شده اســت‌. تعـدادی تسـت هـای هنـدسـی نیـز بـرای بـررسـی ایـنـکـه کـدام جـفـت احـتـمـالا چـشم ها هستند انجام داده شده است.
تست هندسی شامل دو شرط است:۱) اگر زاویه بین محور اصلی صورت و محور احتمالی چشم حدود ۱۰۹۰ باشد ۲) اگر اندازه دو مستطیلی که احتمالا چشم ها را مشخص می کنند یکسان بوده یا تفاوت بین اندازه مستطیل های آن ها حدود ۲۰% باشد. دو سطح مستطیلی زمانی به عنوان چشم شناخته می شوند که هر دو شرط بالا را برآورده کنند. اما در صورتی که بیش از یک جفت مستطیل هر دو شرط را دارا باشند آن جفت در بالاترین مکان انتخاب می شود.
همانطور که در شکل ۵ نشان داده شده، چهره ممکن است با یک بیضی افقی تخمین زده شود بنابراین باید علاوه بر بررسی های قبلی، تعیین شود کدام محور (کدام یک از محورهای اصلی و فرعی چهره) باید با محور احتمالی چشم ها مقایسه شوند.
شکل ۶ بیضی افقی چهره ای را نشان می‌دهد که به پایین نگاه می کند. محور اصلی با محور xزاویه ‌ساخته و محور فرعی با محور xزاویهa ‌می سازد. حال در صورتیکه‌‌باشد از محور فرعی صورت به جای محور اصلی برای مقایسه با محور چشم استفاده می شود.

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

پاسخ دهید