بخشی از مقاله
چکیده
فهم دقیق زاویه دید یک نفر می تواند کمک بسزایی برای افراد معلول در استفاده از کامپیوتر نماید. این افراد می توانند منظور خود را با استفاده از نگاه کردن به بخشی از صفحه نمایش کامپیوتر منتقل نمایند. در این تحقیق در ابتدا توسط الگوریتم وایولاجونز چهره افراد از پس زمینه جدا شده و سپس مکان قرار گیری چشم ها مشخص می شوند.در مرحله بعد توسط فیلتر جهت دار Kirschلبه های تصویر شامل چشم و اطراف آن در 7 جهت مختلف بدست می آید و سپس این تصویر تبدیل به یک تصویر سیاه و سفید میگردد. در این مرحله با استفاده از فیلتر های شکل شناسی ،مختصات مرکز مردمک های چشم بدست می آید.
سپس با استفاده از بهینه سازی جغرافیای زیستی ، تمام دایره های اطراف این مردمک با شعاع های مختلف به منظور پیدا کردن مرز عنبیه بررسی می شوند و دایره هایی که بیشترین شباهت را به مرز داشته باشند جدا شده و شعاع و مختصات آن ها بدست می آید.در گام آخر توسط طبقه بندی کننده SVM1 ، این ویژگی های بدست آمده طبقه بندی می شوند.در انتها نیز دقت تشخیص زاویه دید به % 90 رسیدهاست.
کلمات کلیدی:جغرافیای زیستی ، ماشین بردار پشتیبان، ردیابی چشم
-1 مقدمه
ردیابی حرکات چشم2 به فرایندی گفته میشود که طی آن بتوان نقطه دید ناظر را پیدا کرد، یا اینکه بتوان حرکات چشم شخص نسبت به سر او را اندازهگیری نمود. وسیلهای را که بتوان با آن به این امرنایل آمد، ردیاب حرکات چشم گویند. تکنیکهای مختلفی از اواخر قرن نوزدهم میلادی تاکنون برای ردیابی حرکات چشم استفاده شده است.[1] استفاده از ردیابی چشم بعنوان واسطه جایگزین، روش های کنترلی یا ارتباطی برای دامنه گسترده ای از افراد به شدت از کار افتاده با حداقل توانایی حرکت ارادی ، سودمند هستند. حرکات چشم کمتر تحت تاثیر ناتوانی های حرکتی قرار می گیرد زیرا حرکات چشم مستقیما توسط مغز کنترل می شوند.
ردیابی چشم می تواند دستور کنترلی برای استفاده ی افراد معلول حرکتی از فناوری های کمکی نظیر ویلچر را فراهم نماید. هدف از انجام این تحقیق تعامل انسان و کامپیوتر به کمک سیستم تشخیص زاویه نگاه و کمک به جامعه معلولین حرکتی است که از طریق حرکات چشم توانایی انجام کارهای روزانه ی خود را بدست آورند. بیشتر روش های ارائه شده در مقالات با دقت بالا از ابزارهای جانبی مانند کلاه یا عینک بهره گرفته اند که به علت قرار گرفتن دوربین تعبیه شده در کلاه وعینک در میدان دید افراد ، نارضایتی آن ها را فراهم کرده است لذا ما سعی داریم روشی کاربردی و آسان را ارائه دهیم که افراد معلول برای استفاده دیگر نیازی به عینک ،کلاه یا سایر وسایل جانبی دیگر نداشته باشند. میتوان سیستمهای کنونی ردیاب چشم را از لحاظ نحوه ارتباط با کاربر به دو دسته کلی تقسیم کرد [2]:
الف - سیستمهایی که روی سر نصب میشوند - HMT - 3
ب - سیستمهایی که ارتباط فیزیکی با کاربر ندارند. - REGT - 4
دسته اول به اصطلاح تهاجمی بوده و با وجود دقت بیشتر نسبت به دسته دوم، برای استفادههای طولانیمدت مناسب نمیباشند و بیشتر جنبه آزمایشگاهی دارند.رضا جعفری و همکارش یک روش را برای تخمین زاویه دید ارائه می کنندکه بر تشخیص مکان و جهت سر شخص از عمق داده های بدست آمده به وسیله دو دوربین جاسازی شده که در کینکت وجود دارند استوار است. یکی از دوربینها درطیف رنگی و دیگری در مادون قرمز عمل می کنند. برای انجام این کار، مکان سر و جهت آن در یک فضای سه بعدی از کینکت محاسبه میشود. پس از آن معیارهای بدست آمده برای تابع نگاشت زاویه دید مورد استفاده قرار میگیرند.
از آنجا که تابع نگاشت زاویه دید نمی تواند پیشاپیش فرض شود تغییرات رگرسیون لجستیک بیزین به عنوان یک مدل برای تخمین آن استفاده شده است.[3] غزالی وهمکاران یک واسط هیبرید پوشیدنی ارائه کردند که در آن حرکات چشم و تمرکز ذهنی به صورت مستقیم بر کنترل فضای سه بعدی یک کواد کوپتر تاثیر میگذارد. ترکیب دو ورودی تعداد دستورات کنترلی به منظور قادر ساختن ربات پرنده به پرواز در 8 مسیر مختلف در طول محیط فیزیکی را اضافه کرده است.[4] توسط کریستین رادلاک و همکاران، یک الگوریتم چند سطحی برای تشخیص زاویه دید تصاویر ایستاتیک در سه مرحله بقرار ذیل ارایه شده است -1 مکان یابی مردمک چشم با استفاده از یک تشخیص دهنده پلک ترکیب شده با آشکار ساز ماشین بردار پشتیبان -2 مکان یابی محدوده چشم با استفاده از یک تابع طرح ترکیبی -3 کلاسبندی چهت دید با استفاده از ماشین بردار پشتیبان و random forests آزمایشات انجام شده در این تحقیق نشان مید هد که محدود کردن باکس مکان یابی به محقق اجازه میدهد تا به نتایج بسیار دقیقی در مورد محل چشم وکلاس بندی زاویه چشم - زاویه دید چشم - دست یابد .[5]
دیپالی وهمکاران جهت پیاده سازی تشخیص زاویه دید از الگوریتم daugman استفاده کرده اند که از اپراتور دیفرانسیل انتگرال5 جهت جداسازی محدوده عنبیه از بخش صلبیه چشم برای پیداکردن مرکز بمنظور برآورد مکانی که شخص نگاه میکند استفاده می کند . همچنین در این روش زمان لازم جهت محاسبه IDO بوسیله بهبود اپراتور در پیکسلهای مینیمال در تصویر مینیمایز شده است . آن ها معتقدند که روش ارایه شده میتواند در ردیابی نمودن چشم جهت مدیریت دستگاه های ورودی کامپیوتر مثل صفحه کلید و ماوس مفید واقع شود.[6]
-2 الگوریتم بهینه سازی جغرافیای زیستی
جغرافیای زیستی در مورد مهاجرت گونه ها از یک جزیزه به جزیزه دیگر و ایجاد و انقراض گونه های جدید بحث می کند. BBO6 یک الگوریتم بهینه سازی بر اساس جمعیت است ، که در آن تولید مثل و نسل کودکان مورد بحث قرار نمی گیرد.[7] اصولا در جغرافیای زیستی رقابت بر سر بقا و منابع صورت می گیرد، جانوران و حیوانات تلاش می کنند به صورت انحصاری به منابع دسترسی پیدا کنند. اما از آنجایی که در مناطق خلوت منابع به صورت زیادی وجود دارد جانوران برای مهاجرت به این مناطق تلاش می کنند. دو فاکتور تعیین کننده در این الگوریتم مقدار شاخص شایستگی زیستگاه که HSI7 نامیده می شود و متغییر های شاخص شایستگی که SIV 8 نام دارد.
لذا جزایری که مکان مناسبی برای گونه های جغرافیایی جهت اسکان هستند دارای شاخص صلاحیت HSI بالا هستند و فاکنورهای تعیین کننده HSI از قبیل بارندگی ، تنوع گیاهی ، دما شاخص شایستگی زیستگاه هستند.جزایز با HSI بالا دارای گونه های زیادی هستند ، در حالت کلی جزایر با HSI بالا دارای نرخ مهاجرت به داخل پایین و جزایر با HSI پایین دارای نرخ مهاجرت به داخل بالایی هستند.دلایل این دو مورد می تواند این باشد که در مورد اول جزیره قبلا توسط گونه های دیگر پرشده است و نمی تواند پذیرای گونه های جدیدی باشد و مورد دوم به علت جمعیت خلوت این جزیره می باشد. اما در مسایل بهینه سازی اگر هدف بیشینه سازی باشد، سکونت گاهی که HSI بیشتری دارد برای سکونت بهتر است و بالعکس اگر هدف کمینه سازی باشد ، سکونت گاهی که HSI کمتری دارد سکونت گاه بهتری خواهد بود.
-1-2 مهاجرت
تغییر مکان از یک زیستگاه به زیستگاه دیگر است . در الگوریتم BBO یک جمعیت به عنوان یک راه حل در نظر گرفته می شود. از مهاجرت برای ایجاد تغییر در راه حل استفاده می شود. مهاجرت در BBO یک فرآیند تطبیقی است که برای تغییر در زیستگاه های موجود استفاده می شود. ما از نرخ مهاجرت هر راه حل برای تعیین احتمال تبادل اطلاعات مابین زیستگاه ها استفاده می کنیم که با احتمال Pmod محاسبه می شود. می توان با استفاده از نخبه گرایی باعث جلوگیری از حذف راه حل های بهتر شد.
-2-2 جهش
عملگر جهش بیشتر در پردازش تکاملی انجام می گیرد. شاید همیشه تمام جواب هایی که توسط الگوریتم BBO بدست آمده باشد بهینه نباشد ، ممکن است ما را از هدف اصلی که رسیدن به جواب بهینه است دور کند بدین منظور در این الگوریتم بعد از عمل مهاجرت باید عملگر جهش روی راه حل ها اتفاق بیافتد که از این جهش برای ایجاد تغییر در راه حل ها استفاده خواهیم کرد.هدف کلی جهش ایجاد تنوع در راه حل ها یا افزایش زیستگاه ها در میان جمعیت می باشد. فرض کنیم بتوانیم از میان راه حل های موجود راه حلی ایجاد کنیم که فقط با دخالت عملگر جهش بوجود آمده باشد. جهش در کل برای برای ارتقای کیفیت راه حل ها کمک می کند.
HSI یک زیستگاه می تواند در رویدادهای تصادفی تغییر یابد. همچنین می توانند باعث شوند که تعداد گونه ها با مقدار متعادل خود متفاوت باشند - مواد غیر طبیعی که از بوم های همسایه با آب به منطقه آورده شده ، بیماری،بلایای طبیعی و غیره - . این امر را به عنوان جهش SIV در BBO مدل می کنیم.حال فرمول زیر را ارایه می کنیم:[7],[8] که در آن m - s - نرخ جهش برای زیستگاه با گونه s ، mmaxبیشترین نرخ جهش ، pmax بیشترین مقدار نرخ مهاجرت ، psاحتمال اینکه زیستگاه دقیقا دارای s گونه باشد. در کل می توان گفت که زیستگاه ها با عملکردهای بسیار خوب و بد نیز گرایش به جهش و ایجاد تغییر دارند ولی باید در نظر گرفت که باید از بعضی راه حل های نخبه محافظت شود.
-3-2 روند الگوریتم BBO
-1مقداردهی اولیه پارامترها، نگاشت راه حل مساله به SIV ها و زیستگاه ها ، تعیین بیشترین تعداد گونه ها ، بیشترین نرخ مهاجرت E و I ، بیشترین مقدار نرخ جهش، پارامترنخبه گرایی.
-2تولید اولیه مجموعه تصادفی از زیستگاه ها .هر زیستگاه مربوط به یک راه حل بالقوه برای این مشکل ارایه شده است.
-3با استفاده از HSI ، تعداد گونه ها S ، نرخ مهاجرت به داخل ، نرخ مهاجرت به خارج مربوط به هر زیستگاه را بدست می آوریم.
-4از نرخ مهاجرت به داخل و خارج برای اصلاح هر زیستگاه غیر نخبه استفاده می کنیم ، سپس برای هر زیستگاه عملگر مهاجرت و HSI را محاسبه میکنیم.
-5برای هر زیستگاه ، احتمال تعداد گونه های ساکن را تغییر میدهیم . سپس عملگر جهش را در هر زیستگاه غیر نخبه جهش می دهیم ، عملگر جهش و سپس مقدار HSI را برای هر زیستگاه دوباره محاسبه می کنیم.
-6برای تکرار به مرحله 3 برمی گردیم.اگر به شرایط پایان رسید الگوریتم به پایان می رسد.
-3 پیاده سازی الگوریتم پیشنهادی
این قسمت در حالت کلی از 4 مرحله اصلی تشکیل شده است و هدف استخراج و طبقهبندی جهت چشم در تصویر میباشد. در مرحله اول پیش پردازش تصاویر را خواهیم داشت که شامل بهبود کنتراست و حذف نویز احتمالی است. در مرحله دوم توسط الگوریتم شناسایی چهره وایولا جونز، چشم های چپ و راست شناسایی و جدا می شوند.در مرحله سوم توسط فیلتر موفولوژی مختصات مرکز مردمک هر دو چشم بدست می آید.در مرحله چهارم توسط الگوریتم بهینه سازی جغرافیای زیستی دایره عنبیه تشخیص داده میشود و بردار ویژگی ها تشکیل می شود. در مرحله آخر توسط طبقه بندی کننده ماشین بردار پشتیبان هر عکس به کلاس مربوطه اختصاص می یابد.
در گام اول بعد از دریافت تصویر ورودی از دوربین، توسط فیلتر گاوسین نویز های موجود در تصویر را حدف کرده و سپس با افزایش کنتراست، تصویر را واضح تر می نماییم.در این مرحله توسط الگوریتم وایولا جونز تصویر چهره و چشم ها را از محیط پیرامون جدا میکنیم. این کار در شکل - 2 - نشان داده شده است. از آنجایی که تصویر استخراج شده رنگی می باشد در مرحله بعد این تصویر رنگی به یک تصویر خاکستری تبدیل می شود.
از آنجایی که الگوریتم های لبه یابی مانند sobel و canny در اینجا به خوبی قادر به شناسایی لبه های چشم و اطراف آن نمی باشند در این تحقیق با استفاده از فیلتر لبه یابی Kirsch لبه های تصویر را در 7 جهت بدست می آوریم و با جمع کردن این لبه ها یک تصویر کلی از لبه های بدست آمده در اختیار داریم. در این مرحله با آستانه گیری از این تصویر، یک تصویر سیاه و سفید بدست می آید که فقط نشان دهنده لبه های تصویر است و با مقدار این لبه ها را نشان نمی دهد.