بخشی از مقاله
چکیده - این مقاله الگوریتمی براي تشخیص حالت دست انسان، با هدف تسریع و افزایش دقت تشخیص، ارائه میکند. در این الگوریتم ابتدا مراحل مربوط به پیشپردازش تصاویر، که منجر به استخراج پیکسلهایی از مرز دست میشود، اعمال شده و سپس فاصلهي این پیکسلها تا مرکز تصویر، با استفاده از فاصلهي اقلیدسی، محاسبه میشود. در انتها، تطبیق هیستوگرام فواصل با معیار نزدیکترین همسایگی به عنوان طبقه بندي کننده صورت میگیرد. نتایج آزمایشها بر روي پایگاه دادههایی متشکل از 8 حالت مختلف دست، بر اساس سرعت و دقت بررسی، شده است.
-1 مقدمه
کامپیوترها داراي نقشی کلیدي در جامعه امروز هستند و کاملا با زندگی روزمرهي ما عجین شدهاند. نوشتن متون، دریافت و ارسال نامههاي الکترونیکی، ذخیره و بازیابی اطلاعات نمونههایی از کاربردهاي آنها هستند. در بسیاري از این قبیل موارد، تعامل بین انسان و کامپیوتر - HCI - - - Human Computer Interaction ضروري است. درحال حاضر، این تعامل عموما از طریق ابزارهایی اختصاصی نظیر ماوس، صفحه کلید و بوردهاي گرافیکی انجام میشود. اما اینگونه تعاملات، طبیعی و محسوس نیستند و بدیهی است که سادهترین راهحل براي ارتباط باکامپیوتر، استفاده از همان روشهاي ارتباطی بین انسانها میتواند باشد.
صحبت کردن، حالات چهره، زبان اشاره و حرکات دست و بدن. مثلا با استفاده از دست خود به اشیاء اشاره میکنیم و یا آنکه فرمان توقف صادر میکنیم و یا موافقت خود را با موضوعی اعلام مینماییم. حال، در نظر بگیرید که بخواهیم از دستهاي خود براي ارتباط با کامپیوتر استفاده کنیم. یک راهحل براي تحقق این منظور، متصل کردن ابزارهاي خاصی - نظیر حسگرهاي مغناطیسی، صوتی و یا ردیابهاي اینرسی - به دست میباشد.
راهحل دیگر، استفاده از دستکشهاي خاصی نظیر CyberGlove میباشد .[1] این روشها علیرغم دستیابی به دقت بالا، چندان طبیعی و راحت نیستند. حال آنکه با روشهاي مبتنی بر بینایی ماشین، میتوان از ارتباطی طبیعیتر برخوردار بود و بدون مزاحمتی براي کاربر، وضعیت دست و حرکات آن را تشخیص داد. تا کنون مطالعات گسترده اي در زمینهي تشخیص حالات و اشارات دست صورت گرفته است، با این حال این مسئله هنوز با چالشهاي بسیاري روبرو است.
-2 مرور روش هاي پیشین
به طور کلی، یک سیستم تشخیص حالت دست شامل سه مرحلهي مجزا است: دریافت تصویر ورودي/پیش پردازش، استخراج ویژگی و طبقه بندي. در ادامه به مرور روشهاي پیشین، در این سه مرحلهي پردازشی میپردازیم.
-1-2 پیش پردازش
در هر سیستم HCI پیش پردازش، پایه و اساس قبل از اجراي هر الگوریتمی است. پیش پردازش در زمینههاي شلوغ، یکنواخت، ایستا و یا پویا نیاز است. در زمینههاي یکنواخت که تنها دست در تصویر موجود است، رفع نویز، آستانهگیري، شکلشناسی یا مراحلی مانند حذف مچ و ساعد از جمله کارهایی است که در مرحلهي پیش پردازش با توجه به نیاز هاي مسئلهي تعریف شده انجام می گیرد. به طور کلی مراحل آمادهسازي تصویر براي استخراج ویژگی هاي مورد نظر در هر مسئلهاي از تشخیص دست را میتوان در فرایند پیش پردازش قرار داد.
در بسیاري از روشهاي تشخیص دست، مراحلی مانند نرمالیزهکردن تصاویر، قرار دادن تصاویر روي یک محور اصلی براي حذف وابستگی الگوریتم به چرخش و دیگر مراحل پیش پردازشی روي پایگاه دادهها را نیز میتوان از مراحل گام پیش پردازش قلمداد کرد. در زمینههاي شلوغ، شناسایی دست در میان دیگر اشیاء خود مستلزم مراحل متعددي است که بیشترین تکنیک مورد استفاده در این گونه مسائل تشخیص رنگ پوست میباشد. در ادامه به بررسی دو روش پیش پردازشی، محلیسازي دست و حذف مچ و ساعد، در مسائل ایستا میپردازیم.
یافتن موقعیت دست در تصویر میتواند با چندین روش یا ترکیب چند روش انجام شود. بخشبندي رنگ یکی از محبوبترین روشهاي محلیسازي دست در تصویر است. به دلیل خصوصیت رنگ دست انسان، اغلب میتواند به تنهایی براي جداسازي دست ها در تصویر استفاده شود. رنگ پوست داراي یک مشخصهي توزیع است [2] و از این خاصیت میتوان براي بخشبندي تمام مناطق با رنگ پوست در تصویر استفاده کرد. بخشبندي رنگ، در ابتدائیترین سطح آن، عملیاتی در سطح پیکسل است که به هیچ اطلاعاتی به غیر از حالت پیکسل جاري نیازي ندارد.
این خصوصیت باعث میشود تا بخشبندي رنگ پوست سریع و نامتغییر نسبت به چرخش و اندازه باشد. هر سیستمیکه بخشبندي رنگ پوست را به کار میگیرد باید دو جنبه از این الگوریتم را حل و فصل کنند. اول، یک فضاي رنگی باید انتخاب شود. سپس، باید روي روشی که پیکسلهاي پوست را تعیین می کند، تصمیمگیري شود. مدلسازي و تشخیص پوست مورد توجه محققان زیادي قرار گرفته است. مطالعهي عمیقی در مدلسازي رنگ پوست که به طور خاص با بینایی رایانهاي در ارتباط است را میتوان در [3] یافت. براي بررسی سریع در برخی روشهاي تشخیص در سطح پیکسل [4] را میتوان مطالعه کرد. از جمله فضاهاي رنگی میتوان به فضاي RGB، HSV، HSL، HSI، YUV، ... و از جمله روشهاي تصمیمگیري روي پیکسلهاي رنگ پوست میتوان به آستانهگیري ساده، توزیع گوسین، روشهاي وفقی... اشاره کرد، که براي مطالعهي خصوصیات و دلایل استفادهي هر یک از اینها میتوان به [5] مراجعه کرد.
در بینایی ماشین و پردازش تصویر، روش آتسو [6] Otsu
به منظور آستانهگیري خودکار با هیستوگرام از تصویر مبتنی بر شکل، یا براي تبدیل تصویر سطح خاکستري به تصویر دودویی استفاده میشود. در این الگوریتم فرض میشود که تصویر مورد نظر براي آستانهگیري شامل دو کلاس از پیکسل - به طور مثال، زمینهي جلویی و پسزمینه - است، سپس آستانهي بهینهاي که این دو کلاس را از هم جدا میکند محاسبه میشود به گونهاي که دامنهي ترکیب آنها - واریانس درون کلاسی - حداقل باشد.
اغلب اوقات، تصاویر دست شامل بخشهایی از مچ و ساعد کاربر است. براي جلوگیري از تخمین غیر دقیق شکل دست به علت وجود اطلاعات مچ و ساعد، حذف مچ و ساعد از دست مهم است. در بسیاري از سیستمها، با پوشیدن لباس آستین بلند از این مرحله اجتناب میکنند. با این حال، پیادهسازي روشی براي جداسازي دست از بازو، نیاز به محدودیتهاي اضافی را از بین میبرد. روشهاي پیشین تشخیص دست از بازو، مبتنی بر پهناي مچ و بخشبندي با کانتور بودهاند. در یک روش مبتنی بر کانتور، مشاهده میشود که یک چرخش شدید در کانتور در محل مچ از سمت انگشت شست صورت میگیرد .[7]
هنگامیکه بخش ساعد نیز در تصویر باشد، به بخش کف دست متصل است و آنها به عنوان یک شئ در نظر گرفته میشوند. از آنجایی که شکل ساعد، دقت تشخیص را تا حد زیادي تحت تاثیر قرار میدهد، نیاز است تا بخش ساعد را حذف کنیم. بازو در [8] با پیدا کردن محل مچ که به عنوان دو خط موازي در مرز شئ که به سمت بخش کف دست گسترده میشوند، شناسایی میشود. بعد از تشخیص مچ، حذف تا انتهاي دو خط موازي، جایی که کانتور به منطقهي پهنتر دست میرسد، ادامه مییابد.
در نهایت، کف دست تنها قسمت باقی مانده در تصویر میباشد. یکی دیگر از روشهاي پیدا کردن محل مچ مبتنی بر پهنا، مشاهدهي یک تغییر ناگهانی در پهناي بازو در محل مچ و در نتیجه پیدا کردن موقعیت مچ است. در [5]، فرایند تشخیص مچ، با پیدا کردن موقعیتهایی در امتداد منطقهي دست، در هنگام جستجوي منطقهي دست از نوك دست تا انتهاي ساعد، که در آن جا تغییر در تقعر از سمت پائین به سمت بالا است، صورت میگیرد.
-2-2 استخراج ویژگی
در مرحلهي استخراج ویژگی، ویژگیهاي لازم، از فریمهاي گرفته شده از دوربین - ها - ، استخراج میشوند. این مرحله میتواند به سه زیر مجموعه تقسیم شود: ویژگیهاي سطح بالا که مبتنی بر مدلهاي سه بعدي هستند، ویژگیهاي مبتنی بر تصویر که خود تصویر به عنوان یک ویژگی در نظر گرفته میشود، و ویژگیهاي سطح پائین که از تصویر اندازهگیري میشوند. ویژگیهاي سطح بالا را میتوان استنباطی از زوایاي اتصال و ژست کف دست دانست.
براي این دسته از ویژگیها، عموما ساختار آناتومی دست بهعنوان یک مرجع به کار گرفته میشود. این ویژگی ها بوسیله روشهاي مبتنی بر مدل استخراج میشوند. یک روش معمول مبتنی بر مدل، ایجاد یک مدل سه بعدي از دست و تصویر کردن لبههاي آن به فضاي دو بعدي با استفاده از بعضی پارامترهاي جنبشی است. روشهاي مبتنی بر تصویر، روشهایی مبتنی بر ظاهر نیز نامیده میشوند. تصویر دست در این روشها، با مجموعهاي از تصاویر شدت دو بعدي مدل میشود. ویژگیهاي سطح پایین بر اساس این تفکر پایهگذاري شده اند که بازسازي کامل دست براي تشخیص اشارات دست ضروري نیست. بنابراین، تنها بعضی نشانهها مانند مرکز منطقهي دست، محورهاي اصلی که مرز بیضوي منطقه دست را تعریف میکنند، جریان نوري از منطقه دست در منظره و... میتوانند به عنوان ویژگی استخراج شوند.[9]
-3-2 طبقهبنديکردن اشارات
روشهاي طبقهبندي اشارات دست میتوانند به دو گروه اصلی تقسیم شوند: روشهاي مبتنی بر قاعده که بر اساس توانایی انسان در یافتن قوانینی براي طبقهبندي اشارات، بنا شدهاند، و روشهاي مبتنی بر یادگیري ماشینی که از مجموعهاي از مثالها براي ایجاد مدلهاي اشارات استفاده میکند. در روشهاي مبتنی بر قاعده، ویژگیهاي ورودي با قوانینی که بهطور دستی در نظر گرفته شدهاند، مقایسه میشوند. اگر هریک از ویژگیها یا دستههاي ویژگی، با یک قاعده مطابقت داشته باشد، اشارهي مرتبط با آن به عنوان خروجی داده میشود .[10] در روشهاي مبتنی بر یادگیري، نگاشتها میان دستههاي ویژگی با بعد بالا و اشارات، با استفاده از الگوریتمهاي یادگیري ماشین انجام میشود .[9]
-3 پایگاه دادهها
مجموعهي دادهها شامل 8 حالت دست، 5 تصویر آموزشی و 40 تصویر آزمایشی است. تصاویر در سطح خاکستري با درجه تفکیکپذیري90*90 و پسزمینهي تاریک است.