تشخیص صفت در تصویر (تحقیقاتی)

تغییرات پروژه از تاریخ 1396/08/29 تا تاریخ 1396/10/07
در این پروژه می‌خواهیم سامانه‌ای را آموزش دهیم که بتواند صفت‌های مربوط به اشیاء در یک تصویر را به صورت هوشمند تشخیص دهد. برای مثال در شکل زیر تصاویر چهره‌های عینکی و غیر عینکی تشخیص داده شده است:
![صفت عینک](https://boute.s3.amazonaws.com/124-glass.png)

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

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

**طرح مسأله:**
در واقع این مقاله تلاشی است برای ارائه راهکار های موجود در زمینه ی تشخیص و کلاسه بندی ویژگی های موجود در تصاویر، که لازمه ی آن  معرفی روش های موجود برای استخراج ویژگی های بینایی اشیاء و بررسی راه حل های یادگیری ماشین برای درک این ویژگی ها که نیاز اصلی یک سامانه تشخیص اشیاء می باشد. به طور خلاصه می توان گفت: لازمه بهره برداری از سامانه های تشخیص اشیاء برای کاربرد های مختلف، اتخاذ روش های صحیح استخراج ویژگی و یادگیری ماشین با توجه به کاربردهای خاص می باشد. به عنوان توضیح بیشتر با استفاده از بینایی ماشین میتوان به شناسایی اشیاء و افراد پرداخت و رفتار آنها را تجزیه و تحلیل کرد. به طور مثال در یک سیستم نظارت تصویری، بینایی ماشین می تواند با شناسایی فعالیت ها به توصیف صحنه بپردازد و در صورت لزوم هشدارهای مختلفی را اعلام کند.
این رویداد و فعالیت می تواند متفاوت باشد. به طور مثال می تواند هدف، شناسایی و درک فعالیت خودرو ها در یک بزرگراه در قالب یک سیستم هوشمند حمل نقل 
باشد که در صورت وقوع حادثه تصادف در بزرگراه اعلان خطر می کند. در سطحی بالاتر از نظارت تصویر می توان به شناسایی حالات و فعالیت انسان اشاره کرد که یکی دیگر از موضوعات مورد بحث در حوزه بینایی و یادگیری ماشین است. میتوان یک دوربین امنیتی در یک محیط عمومی همچون فرودگاه را تصور کرد که می تواند تحرکات مشکوک و هرج و مرج را تشخیص دهد. این کار توسط آموزش های قبلی که به سیستم داده شده است امکان پذیر می باشد. با پژوهش های صورت گرفته این موضوع مطرح است که در صورتی که هدف سیستم بینایی ماشین مشخص و مرزهای آن محدود شده باشد نتایج قابل قبولی برای سیستم کسب خواهد
شد.[ 1]
این عبارت بیان می کند که تعریف مسأله و پرداختن صحیح به جنبه ها و محدود کردن ویژگی ها، ما را در به ثمر رساندن سیستمی بهینه در حوزه تشخیص و بینایی ماشین رهنمون می سازد. یک سیستم بینایی که برای تشخیص اجناس یک فروشگاه زنجیره ای در نظر گرفته شده است، تنها باید اجناس موجود در فروشگاه را که پیش از این به آن آموزش داده شده است، درست تشخیص دهد و از آن سیستم انتظار نمی رود که مرغوبیت هر یک از اجناس را نیز به صورت درصد نشان دهد و یا تازه بودن یا نبودن میوه ها را به ما اعلام کند. در طرفی دیگر از همان فروشگاه امکان دارد یک دوربین نظارت تصویری موجود باشد که حرکات و رفتار مشریان را زیر نظر داشته باشد و رفت و آمد آنها به مکان های غیر مجاز نظیر انبار را به اطلاع حراست فروشگاه برساند. از این سیستم نیز تنها انتظار وظیفه محول شده می رود و نه تشخیص جنسیت افراد یا سن آنها. در این صورت است که هر سیستم به صورت کارآمدی وظایف خود را انجام می دهند. 

# کارهای مرتبط
**حل مسئله:**
**+ انواع ویژگی های موجود در تصویر:**
اکثر روش های مورد استفاده برای تشخیص اشیاء را می توان بر اساس نوع ویژگی ها به دو بخش تقسیم بندی کرد. این دو بخش عبارتند از: ویژگی های بر اساس لبه ها و ویژگی های بر اساس تکه ها. 
البته در برخی از پژوهش ها، به صورت ترکیبی از این ویژگی ها برای تشخیص اشیاء استفاده شده است[2].  استفاده ترکیبی از هر دو ویژگی در آینده بسیار شایع خواهد شد زیرا می توان با مقایسه قرار دادن آنها در موقعیت های مختلف بهترین تصمیم را اتخاذ کرد، که البته بار محاسباتی زیادی را طلب می کند. یک روش خوب روشی است که از هر دو نوع ویژگی به طور موثر استفاده کند و قابل پیاده سازی و استخراج در یک سیستم بلادرنگ باشد. از این رو مدیریت منابع امری مهم در به کارگیری سامانه های تشخیص اشیاء می باشد.

**1) ویژگی ها بر اساس لبه:**
در این روش از ویژگی های لبه استفاده می شود به این صورت که نقشه و طرح لبه های تصویر بدست می آید و ویژگی های اشیاء بر اساس لبه ی آنها مشخص می گردد. مثال هایی که از این روش استفاده کرده اند [2,3] می باشند. استفاده از لبه ها به عنوان ویژگی مزیت هایی نسبت به استفاده از دیگر ویژگی ها دارد.
همانطور که در [4] به آن اشاره شده است، لبه ها ویژگی های استواری هستند و نسبت به شرایط روشنایی و تغییرات رنگ اشیاء و بافت خارجی اشیاء مقاوم هستند و تغییرات آنها بر روی لبه تاثیری نمی گذارد. همچنین لبه ها ، مرز اشیاء را به خوبی مشخص می کنند و به این صورت بهره وری اطلاعات را در محیط های شلوغ و پر از اشیاء افزایش می دهد. در این روش دو راه برای استفاده از لبه ها وجود دارد. استفاده از کل لبه ها و به اصطلاح شکل و فرم هر شیء که در [5,6] از این حالت استفاده شده است. در حالت دیگر می توان تنها بخش هایی از شکل و کانتور ها را استفاده کرد که در موارد [2,3] استفاده شده است. نمایش این بخش ها در تصاویر نشان داده شده است. شکل 1 بیانگر تصویر اصلی از محیط است که توسط سامانه بینایی ماشین دریافت می شود. در شکل ، از تمام شکل ها و لبه های تصویر استفاده شده است و در شکل 3 تنها از بخشی از لبه ها برای شناسایی شی استفاده شده است. در تمام این تصاویر پس زمینه پیش از شروع به کار حذف میگردد. ایده اصلی استفاده از کل شکل این است که در این حالت می توان ناهنجاری های شکل را همزمان با کل تصویر مشاهده کرد[4] . بحث اصلی در استفاده از این حالت، نوع مشخص کردن و بدست آوردن کامل کانتورهای تصویر می باشد به ویژه برای تصاویری که قصد استفاده از آنها به عنوان داده های آموزشی را داریم. در تصاویری که از دنیای واقعی بدست می آید به طور معمول جلوگیری از وجود کانتورهای ناقص و شکل های دفرمه شده اجتناب ناپذیر است. به دلیل اینکه در اکثر تصاویر مشکلات انسداد و نویز وجود دارد که مانع دسترسی به کل شکل اشیاء می شود. تحقیقات زیادی بر روی این بخش صورت گرفته و سعی شده است تا انسداد و نویز ها را در حالات مختلف کاهش داد[5,6] .
![شکل 1](https://boute.s3.amazonaws.com/260-photo_2017-11-17_18-51-15.jpg)

در [5] سعی شده است که با مشخص کردن یک مجموعه از نقاط راهنما را بر روی لبه های تصویر ایجاد می کند و با متصل کردن این نقاط به هم سعی می کند تا شکل کامل جسم را ایجاد کند. در [7] از روش های قطعه بندی استفاده شده است تا بتواند محوطه های بسته (اشکال بسته) را در شکل بیابد. در [8] از نوعی لبه یابی پیچیده استفاده کرده است تا بتواند لبه های بهتری نسبت به روش های مرسوم لبه یابی بدست آورد. پس از مشخص شدن تمام لبه ها، از طریق فضاهای خالی بین لبه ها، به یکدیگر متصل می شوند و یک شبکه از لبه های بسته را به وجود می آورند. در [9] تصویر را به مثلث های مساوی تقسیم کرده تا بتواند توسط این مثلث ها تمام کانتورهای شکل را در برگیرد. البته با مشکلاتی از جمله مشخص کردن و جدا کردن تصویر پس زمینه رو به روست که ممکن است با کانتورها یکی شود. مدل حالت مخفی شی توسط [10] استفاده شده است تا بتواند کانتور هایی مفصل دار ایجاد کند برای مشخص کرد اشکالی انعطاف پذیر و چندریختی که تشخیص آنها دشوار تر از دیگر اشیاء می باشد. این موضوع قابل توجه است که تمام این روش ها نیاز به محاسبات و پردازش اضافی دارند و بستگی به نوع اجسام و شکل آنها دارند و بر اساس تجربه به وجود آمده اند.
![شکل 2](https://boute.s3.amazonaws.com/260-photo_2017-11-17_18-58-52.jpg)

در این روش دو راه برای استفاده از لبه ها وجود دارد:
 استفاده از کل لبه ها و به اصطلاح شکل و فرم هر شیء که در [5,6] از این حالت استفاده شده است. 
 در حالت دیگر می توان تنها بخش هایی از شکل و کانتور ها را استفاده کرد که در موارد [2,3] استفاده شده است. نمایش این بخش ها در تصاویر نشان داده شده است. شکل **1** بیانگر تصویر اصلی از محیط است که توسط سامانه بینایی ماشین دریافت می شود. در شکل ، از تمام شکل ها و لبه های تصویر استفاده شده است و در شکل **3** تنها از بخشی از لبه ها برای شناسایی شی استفاده شده است. 
![شکل 1](https://boute.s3.amazonaws.com/260-photo_2017-11-17_18-51-15.jpg)
![شکل 2](https://boute.s3.amazonaws.com/260-photo_2017-11-17_18-58-52.jpg)
![شکل 3](https://boute.s3.amazonaws.com/260-photo_2017-11-17_19-02-42.jpg)
مشکل دیگر در تصاویر تست و ارزیابی می باشد. زمانی که در تصاویر کانتورها کامل نمی باشند و مطابقت آنها با کانتورهای کاملی که مدل شده اند به طور معمول کم می باشد[7]. در عین حال بعضی روش ها مثل روش های مبتنی بر هسته [5] و یا مبتنی بر هیستوگرام [11] می تواند این مشکل را رفع کند. اما همچنان انسداد اشیاء مشکلی جدی محسوب می شود و نمی شود هیچ تضمینی برای رفع این مشکل ارائه داد.  همچنین بعضی ویژگی ها توانایی ترکیب کردن و دخالت دادن نوع حالت (وضع) و زاویه دید را ندارند، و یا شناسایی تصاویری مفصل دار مانند تصویر یک اسب یا تصاویری چندریختی و انعطاف پذیر مانند تصویر ماشین ها مشکل است. به دلیل اینکه این نوع از ویژگی ها با کل شکل کانتورها سروکار دارند، ممکن است تاثیر آنها فقط در بخشهایی از کانتورهای تصویر باشد و تمام شکل کانتور باید آموزش داده شود و بر اساس آن شناسایی صورت گیرد.
![شکل 3](https://boute.s3.amazonaws.com/260-photo_2017-11-17_19-02-42.jpg)

**مرحله TRAIN :**
زمانی که ویژگی ها به خوبی برای مشخص کردن هر شی تعریف شده باشند و به سیستم آموزش داده شده باشند، استفاده از بخش های کانتور میتواند روشی قوی برای از بین بردن مشکلات انسداد تصویر باشد. این روش به محاسبات کمتر و حافظه کمتری نیازمند است برخلاف دیگر روش های کامل کردن کانتورها . 
همچنین نیاز به نگهداری اطلاعات کمتری برای ویژگی ها دارد. این انتظار می رود که در هنگام تست نیز حساسیت کمتری به انسداد وجود داشته باشد. به علاوه مشکلاتی همچون تغییرات زاویه دید، اشکال مفصل دار، تصاویر انعطاف پذیر و چند ریختی را میتوان با آموزش صحیح بخش های کانتور رفع کرد. بدون نیاز به اینکه کل کانتور را آموزش دهیم. عملکرد این روش که بر اساس ویژگی های قسمت های کانتورها عمل میکند به طور مستقیم وابسته به روش های یادگیری است. زمانی که از این ویژگی ها استفاده می شود، انتخاب ویژگی های الگو مناسب اهمیت پیدا می کند تا بتواند به خوبی دسته بندی اشیاء را مشخص کند. روش های یادگیری مانند روش ارتقا برای این دسته از ویژگی ها بسیار مناسب می باشند.[12] 
انتخاب بخش های مختلف کانتور برای شخصیت بخشیدن به اشیاء یک موضوع مهم و اساسی است و میتواند بر روی عملکرد تشخیص و شناسایی اشیاء اهمیت داشته باشد. در حالیکه تمام بخش های کانتور در یک تصویر نمی تواند در این روش انتخاب شود، باید مطمئن بود که مهم ترین بخش های لبه ها که شکل واقعی جسم را نشان می دهند و تفاوت ها را با دیگر اشیاء مشخص می کنند، انتخاب شوند. به منظور پیدا کردن قسمت هایی که می توانند جزو ویژگی ها باشند در [2] از تعداد زیادی نقطه شروع استفاده شده است تا بتوان بر اساس آنها بهترین کاندیداها را برای قسمت های کانتور پیدا کرد و در نهایت تنها دو قسمتی که بهترین نمایش شکل را انجام می دهند را انتخاب می کند. در [4] از حدود 100 واحد مستطیل شکل که اندازه آنها به صورت تصادفی انتخاب می شود استفاده کرده است که این واحد ها به عنوان مرزهای تصمیم شکل استفاده میشود تا کاندیدا ها را از این واحد ها بیرون بکشد. در روشی که در [2] استفاده شده است می توان گفت که اگر بیشتر از دو قسمت از لبه در ویژگی های یک دسته از اشیاء استفاده شود بار محاسباتی بالایی خواهد داشت ولی روش [4] قابل اطمینان تر است و می توان قسمت های متفاوتی و کوچکی از تصویر را استخراج کرد و بار محاسباتی را کاهش داد. البته این روش نیز محدود به تعداد واحد های مستطیل شکلی است که در نظر گرفته میشود. یک روش موثر دیگر برای بدست آوردن قسمت های کانتور و همچنین تخمین صحیح کانتور استفاده از نقاط کلیدی کانتور است. برخالف روش های بالا در [13] از بعضی اشکال هندسی مانند بیضی و چهارگوش نا منتظم پشتیبانی کرده است تا بتواند قسمت هایی از ویژگی ها را بدست آورد که ویژگی هایی قابل اعتماد تر باشند. استفاده از ساختار هندسی، رابطه بین خط ها و قوس ها، مطالعه ساختارهایی مانند تقارن و تشابه برای پیدا کردن اجسام در [14] توضیح داده شده است. اگر چه استفاده از ساختار هندسی اشکال برای تخمین ساختار اشیاء ایده مناسبی به نظر می آید، اما دو مشکل اساسی در تقابل با این روش ها وجود دارد. ایراد اول این است که بعضی از اشکال از ساختار هندسی تعریف شده ای (به طور مثال بیضی گون و یا چهارگون) پیروی نمی کنند مانند اسب ها و استفاده از ساختار های هندسی نزدیک نمی تواند نتیجه قدرتمندی از دسته بندی اشیاء را برای ما حاصل کند. با این وجود در [13 [ به ارائه ساختارهای هندسی مناسب برای حیوانات پرداخته شده است و طوری آنها را در نظر گرفته است که برای تشخیص کلاس های حیوانات،کاربردی و عمومی به نظر می رسند.کلاس های تعریف شده در این تحقیق ماشین ها، دوچرخه ها و حیوانات چهار پا می باشند که تمام حیوانات را جزو یک کلاس در نظر گرفته است. همانطور که مشاهده می شود کلاس ها از نظر ظاهری تفاوت بسیاری با یکدیگر دارند. به طور مشابه در [ 14 [ بر روی نمادهای تجاری تحقیق انجام شده است که هر یک از این نمادها دارای رنگ پس زمینه سفید بوده اند و پس زمینه عاری از هر گونه ناهنجاری و نویز بوده است زیرا نویز میتواند تاثیر بسزایی در عملکرد روش داشته باشد. 
ایراد دوم استفاده از ساختار هندسی اشکال برای تخمین ساختار اشیاء این است که بعضی اوقات، انسداد و یا انعطاف پذیری شی میتواند باعث شود تا ساختار کامل هندسی روی ندهد. با این وجود اگر ساختار ویژگی هایی که آموزش داده شده اند با انسداد مواجه شوند، شانس شناخت صحیح شی بسیار کم است. در صورتی که به استفاده از ساختار هندسی اشکال به عنوان یک روش تحسین شده نگاه می شود، بهتر است که بعضی از اطلاعات را تنها به عنوان ویژگی ها برای تشخیص اشیا استفاده نکرد، بلکه میتوان از قطعات ویژگی های مناسب استفاده کرد تا از انتخاب تصادفی قطعات تصویر نیز اجتناب کرد و تا نتیجه بهتری در شناسایی اشیاء بدست آورد.

2) ویژگی ها بر اساس تکه ها:
یکی دیگر از انواع ویژگی ها که استفاده از آنها شایع است انتخاب ویژگی ها بر اساس تکه ها (وصله های تصویر) می باشد .در این روش ظاهر تصویر به عنوان نشانه هایی برای شناخت بهتر استفاده می شود. این روش برخلاف نوع ویژگی های بر اساس لبه، قدیمی تر می باشد . برای نمونه در[15] به دنبال بیشینه و کمینه شدت تغیرات رنگ جستجو انجام شده و آنها را گوشه های تصویر می نامد و تکه ها را در این گوشه ها انتخاب می کند. این فعالیت در [16]بهبود داده شده است و یک انتخابگر جدیدی در نظر گرفته شده است که کمتر به نویز، لبه ها و طبیعت وجودی اشیاء حساس میباشد. در این نوع ویژگی ها دو حالت متفاوت وجود دارد. 
الف) تکه هایی با اشکال چهار ضلعی که شامل مرزهای اساسی ویژگی های اجسام هستند که توسط آنها هر شی تعریف می شوند. به طور معمول به این نوع از ویژگی ها که شخصیت شی را مشخص می کند، ویژگی های محلی میگویند. 
ب) تکه هایی نامنتظم که هر تکه می تواند شکلی متفاوت داشته باشد که بر اساس شدت رنگ و یا تغییرات بافت شی تعریف شود و هر شی بر اساس مرزهای تصمیم گیری که از این تکه ها بدست می آید شناسایی می شود. به این نوع ویژگی ها، ویژگی های بر اساس ناحیه می گویند.
![شکل 4](https://boute.s3.amazonaws.com/260-photo_2017-11-17_19-56-27.jpg)

در شکل 4 نحوه انتخاب ویژگی ها بر اساس تکه ها نمایش داده شده است. در این تصویر ویژگی های بر اساس ناحیه را نشان می دهد که برای مشخص کردن ناحیه از شدت رنگ استفاده کرده است و از ویژگی های محلی استفاده شده است. همانطور که مشخص است، ویژگی های محلی می توانند انواع مختلفی داشته باشند. ساده ترین نوع این ویژگی ها استفاده از ناحیه های چهارضلعی و مربع گونه می باشد که یک اندازه هستند و الگوی اشیاء را مشخص می کنند که از این مورد در [17[ استفاده شده است این ویژگی ها نمی توانند با مقیاس های متفاوت به طور موثری مفید عمل کنند. تغییرات در اندازه اشیاء و ظاهر مختلف اشیاء میتواند از مصادیق تغییرات مقیاس باشد. به همین دلیل انتخاب تکه هایی که اندازه یکسان دارند نمی توانند مناسب باشند. در شکل 4 انتخاب این نوع از ویژگی ها مشخص شده است. اگر اندازه تکه کوچک باشد ممکن است به طور کامل نتواند ویژگی های محلی مهم را پوشش دهد. و در حالت دیگر اگر اندازه تکه ها بزرگ باشد ممکن است چندین ویژگی محلی را در یک قاب تکه قرار دهد و تمایز آنها از یکدیگر امکان پذیر نیست. با این وجود راه مشخصی برای ارائه راهکار تعیین اندازه بهینه تکه ها وجود ندارد و بر اساس تصاویر مختلف و کلاس های متفاوت، این امر تفاوت میکند. یک نقطه ضعف دیگر این است که تعداد تکه های کوچک زیادی باید به عنوان ویژگی ها آموزش داده شوند و همچنین تمام آنها ذخیره شوند تا بتوان به خوبی شکل اشیاء را ترسیم کرد. هر دو موضوع مطرح شده بار محاسباتی بالایی دارند و نیازمند حجم عظیمی از حافظه می باشند.
![شکل 5](https://boute.s3.amazonaws.com/260-photo_2017-11-17_20-00-17.jpg)

یک طرح بهتر این است که تکه های بزرگ یا کوچکی را تعریف کرد که به اندازه ویژگی های محلی باشد و قابل استفاده در تصاویر مختلف باشد در این صورت یادگیری آسانتر و سریعتر بوده و حافظه کمتری نیز نیاز است که در [18[ از این روش استفاده شده است. 
شکل 6 نمونه ای از انتخاب این نوع ویژگی های محلی با اندازه های متفاوت را نشان میدهد. یک روش پیشرو نیز در [19[ استفاده شده است که از تکه های با اندازه های مناسب و متغیر استفاده میشود ضمن اینکه هر تکه دارای جهت نیز میباشد و از آنها برای تعریف اشیا استفاده میشود. در این تحقیق از تبدیل ویژگی6 همراه با مقیاس یکسان استفاده شده است. در این تحقیق ابتدا نقاط کلیدی بر اساس تابع گوسی مشخص میشوند که این نقاط کلیدی میتوانند بر اساس مقیاس و چرخش یکسان باشند. سپس، بهترین نقاط کلیدی و ثابت ترین آنها مشخص میشوند و مقیاس آنها یعنی اندازه چهارضلعی ویژگی تعیین میشود. در نهایت، تغییرات رنگ محلی تصویر در نقاط کلیدی محاسبه میشود و از آنها به عنوان جهت های تکه ها استفاده میشود. نمونه ای از انتخاب این نوع ویژگی ها در شکل 6 نشان داده شده است.
![شکل 6](https://boute.s3.amazonaws.com/260-photo_2017-11-17_20-04-22.jpg)

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

+ روش های یادگیری ماشین:
برای بدست آمدن مدل های تولیدی که برای تشخیص و شناسایی اشیاء استفاده می شود از روش های گوناگونی استفاده می شود. یکی از روش های یادگیری استفاده از شبکه ها و طبقه بندی کننده های بیزی می باشد [12[. یا می توان از روش احتمال بیشینه و یا روش تخمین بیشینه استفاده کرد[21[. مدل های مشخص کننده اغلب از روش هایی مانند برازش منطقی، ماشین بردار پشتیبان [21,22] و نزدیکترین همسایگی استفاده می شود. از روش نزدیک ترین همسایگی میتوان برای حل مسائل چند کلاسه در تشخیص اشیاء استفاده کرد. همچنین روش های تشدید کننده نیز از روشهایی هستند که میتوان برای یادگیری مدل های تمایز استفاده کرد . می توان روش های یادگیری را نیز با یکدیگر ترکیب کرد. به طور معمول روش های بیزی و یا احتمال بیشینه با یک روش تشدید کننده یا یادگیری افزایشی به کار گرفته میشوند تا روشی قدرتمند و یادگیری مطمئن را به وجود آورند. تعداد مدل های معمول تمایز دهنده با تست و تولید در یک حلقه بازخورد افزایش می یابند. فرآیند یادگیری می تواند آفلاین و یا آنلاین باشد که این موضوع به نوع خواسته و کاربرد تشخیص و شناخت اشیاء دارد. امکان آموزش و یادگیری آنلاین هم اکنون وجود دارد با توجه به پیشرفت مناسبی که در زمینه پردازش ابری حاصل شده است می توان تصاویر آموزشی را بر روی ماشین میزبان ابری بارگذاری کرد و با پردازش های عملیات یادگیری روی میزبان، بازخوردها را دریافت کرد.

**2) ویژگی ها بر اساس تکه ها:**
یکی دیگر از انواع ویژگی ها که استفاده از آنها شایع است انتخاب ویژگی ها بر اساس تکه ها (وصله های تصویر) می باشد .در این روش ظاهر تصویر به عنوان نشانه هایی برای شناخت بهتر استفاده می شود. این روش برخلاف نوع ویژگی های بر اساس لبه، قدیمی تر می باشد . برای نمونه در[15] به دنبال بیشینه و کمینه شدت تغیرات رنگ جستجو انجام شده و آنها را گوشه های تصویر می نامد و تکه ها را در این گوشه ها انتخاب می کند. این فعالیت در [16]بهبود داده شده است و یک انتخابگر جدیدی در نظر گرفته شده است که کمتر به نویز، لبه ها و طبیعت وجودی اشیاء حساس میباشد. در این نوع ویژگی ها دو حالت متفاوت وجود دارد. 
الف) تکه هایی با اشکال چهار ضلعی که شامل مرزهای اساسی ویژگی های اجسام هستند که توسط آنها هر شی تعریف می شوند. به طور معمول به این نوع از ویژگی ها که شخصیت شی را مشخص می کند، ویژگی های محلی میگویند. 
ب) تکه هایی نامنتظم که هر تکه می تواند شکلی متفاوت داشته باشد که بر اساس شدت رنگ و یا تغییرات بافت شی تعریف شود و هر شی بر اساس مرزهای تصمیم گیری که از این تکه ها بدست می آید شناسایی می شود. به این نوع ویژگی ها، ویژگی های بر اساس ناحیه می گویند.
![شکل 4](https://boute.s3.amazonaws.com/260-photo_2017-11-17_19-56-27.jpg)
![شکل 5](https://boute.s3.amazonaws.com/260-photo_2017-11-17_20-00-17.jpg)
در شکل **4** نحوه انتخاب ویژگی ها بر اساس تکه ها نمایش داده شده است. در این تصویر ویژگی های بر اساس ناحیه را نشان می دهد که برای مشخص کردن ناحیه از شدت رنگ استفاده کرده است و از ویژگی های محلی استفاده شده است. همانطور که مشخص است، ویژگی های محلی می توانند انواع مختلفی داشته باشند. ساده ترین نوع این ویژگی ها استفاده از ناحیه های چهارضلعی و مربع گونه می باشد که یک اندازه هستند و الگوی اشیاء را مشخص می کنند که از این مورد در [17] استفاده شده است 
یک طرح بهتر این است که تکه های بزرگ یا کوچکی را تعریف کرد که به اندازه ویژگی های محلی باشد و قابل استفاده در تصاویر مختلف باشد در این صورت یادگیری آسانتر و سریعتر بوده و حافظه کمتری نیز نیاز است که در [18] از این روش استفاده شده است. 
شکل **6** نمونه ای از انتخاب این نوع ویژگی های محلی با اندازه های متفاوت را نشان میدهد. یک روش پیشرو نیز در [19]استفاده شده است که از تکه های با اندازه های مناسب و متغیر استفاده میشود ضمن اینکه هر تکه دارای جهت نیز میباشد و از آنها برای تعریف اشیا استفاده میشود. در این تحقیق از تبدیل ویژگی6 همراه با مقیاس یکسان استفاده شده است. در این تحقیق ابتدا نقاط کلیدی بر اساس تابع گوسی مشخص میشوند که این نقاط کلیدی میتوانند بر اساس مقیاس و چرخش یکسان باشند. سپس، بهترین نقاط کلیدی و ثابت ترین آنها مشخص میشوند و مقیاس آنها یعنی اندازه چهارضلعی ویژگی تعیین میشود. در نهایت، تغییرات رنگ محلی تصویر در نقاط کلیدی محاسبه میشود و از آنها به عنوان جهت های تکه ها استفاده میشود. نمونه ای از انتخاب این نوع ویژگی ها در شکل 6 نشان داده شده است.
![شکل 6](https://boute.s3.amazonaws.com/260-photo_2017-11-17_20-04-22.jpg)

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


# کارهای مرتبط
+ دیگر پروژه ها:
+ پروژه ی تشخیص احساس از چهره با استخراج ویژگی های صورت در نرم افزار متلب
روشی که در این پروژه مورد استفاده قرار گرفته است، ویژگی ترکیبی را استخراج و تشخیص چهره را با بهره گیری از تکنیک های آشکارساز چهره ویولا و جونز (Viola-Jones)، تجزیه و تحلیل تشخیص خطی (LDA)، استخراج ویژگی های صورت از تصاویر با استفاده از تجزیه و تحلیل مولفه های اصلی (PCA) ، ﻫﯿﺴﺘﻮﮔﺮام ﮔﺮادﯾﺎن ﺷﯿﺐ ﮔﺮا (HOG) استخراج ویژگی و[ماشین بردار پشتیبان (SVM)](https://matlabkar.com/support-vector-machine-svm/) برای آموزش یک پیش بینی چند کلاسه برای طبقه بندی هفت حالت از چهره انسانی می باشد.
![تصاویری از این پروژه](https://boute.s3.amazonaws.com/260-emotion-detection-facial-feature-recognition-matlab_738_2.jpg)
![تصاویری از این پروژه](https://boute.s3.amazonaws.com/260-emotion-detection-facial-feature-recognition-matlab_738_1.jpg)

+  پروژه ی Amazon Rekognition
 این سیستم یکی از بخش های پروژه ی یادگیری عمیق آمازون است که به تازگی توسط این شرکت برای توسعه دهندگان معرفی شده است. این سیستم تقریبا مثل سایر سیستم های مشابه تشخیص عکس کار می کند، به این صورت که چهره انسان ها را تشخیص می دهد، احساسات آن را مشخص می کند و اشیاء را با توجه به شکل آنها نامگذاری می کند. در حقیقت این سیستم به قدری هوشمند شده که نه تنها حضور یک سگ در تصویر را تشخیص می دهد، بلکه می تواند نوع و نژاد سگ را نیز به طور دقیق مشخص کند.
 ![تصویری از این پروژه](https://boute.s3.amazonaws.com/260-1891a793-dab9-424e-b522-cfcdd585e6c7.png)

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

# آزمایش ها
در یادگیری عمیق,،  ما روش های مختلفی داریم یکی از آن روش ها استفاده از شبکه های عصبی کانولوشنی است. لایه های کانولوشنی یا اصطلاحا convolutional layers در پیدا کردن ویژگی های موجود در تصاویر بسیار خوب عمل می کنند و اگر تعدادی از این لایه ها را پشت سر هم قرار بدهیم بطور حیرت آوری یه سلسله مراتب از ویژگی های غیر خطی رو یاد می گیرند. یعنی در لایه های ابتدایی مثلا گوشه ها و خط ها و لبه ها یادگرفته می شوند و سپس به ترتیب ویژگی های سطح بالاتر یادگرفته میشوند. مثلا اگر تصویر ورودی ما تصویر یک صورت باشد ویژگی هایی مثل بینی, چشم ها, گونه ها و صورت در لایه های بعدی (بالاتر) یاد گرفته میشوند. در آخر هم لایه های نهایی از این ویژگی های تولید شده برای دسته بندی و یا رگرسیون استفاده میکنند.
![سلسله مراتب ویژگی ها](https://boute.s3.amazonaws.com/260-photo_2017-11-17_21-02-16.jpg)
![سلسله مراتب](https://boute.s3.amazonaws.com/260-photo_2017-11-17_21-05-23.jpg)
همانطور که در تصویر بالا میبنید ویژگی های سلسله مراتبی یادگرفته شده از یک الگوریتم یادگیری عمیق به خوبی مشخص است. هر کدام از این ویژگی ها رو میتوان به عنوان یک فیلتر در نظر گرفت که تصویر ورودی را برای آن ویژگی (مثلا بینی) فیلتر میکند. اگر یک ویژگی پیدا بشود, واحد یا واحدهای مسئول
(منظور واحدهای پردازشی ست (مثل نورون ها در شبکه عصبی) فعال سازی های بزرگی را تولید میکنند که مراحل دسته بندی بعدی میتوانند این فعالسازی ها رو دریافت کنند و بعد از آن به عنوان یک نشانه خوب از حضور یک کلاس استفاده کنند. در یادگیری ویژگی سلسله مراتبی ما ویژگی های  غیرخطی چندین لایه رو استخراج میکنیم و بعد آنها را به یک کلاسیفایر (دسته بندی کننده) پاس میدهیم که تمامی این ویژگی ها رو با هم ترکیب میکند تا بتواند پیش بینی ای رو انجام بدهد. هرچقدر این سلسله مراتب لایه ها بیشتر (عمیقتر) باشد در نتیجه ویژگی های غیرخطی بیشتری هم بدست می آید، برای همین خاطر است که ما علاقه داریم از تعداد لایه های بیشتری در یادگیری عمیق استفاده کنیم. از طرف دیگر این ویژگی های پیچیده را ما نمی توانیم بصورت مستقیم از تصویر ورودی بدست بیاوریم. 
میشود از لحاظ ریاضی نشان داد که بهترین ویژگی هایی که میشود از یک تصویر با استفاده از یک لایه (بدون سلسله مراتب) بدست آورد فقط لبه ها و توده ها edge) ها و blob ها) هستند. دلیل این موضوع نیز این است که این ها نهایت اطلاعاتی است که ما میتوانیم از یک تبدیل غیرخطی از تصویر ورودی بدست بیاوریم. برای بدست آوردن و یا تولید ویژگی هایی که شامل اطلاعات بیشتری هستند ما نمیتوانیم بصورت مستقیم روی تصویر ورودی کار کنیم و لازمه اینکار این است که ویژگی های اولیه خودمان را (مثل لبه ها و توده ها) دوباره تبدیل کنیم تا ویژگی های پیچیده تری که شامل اطلاعات بیشتری برای تمایز بین کلاس ها مورد نیاز است بدست بیاید.

# مراجع
[1] Dilip K Prasad,"Survey of The Problem of Object
Detection In Real Images", International Journal of Image Processing
(IJIP), Volume (6) , Issue (6) , 2012

[2] A. Opelt, A. Pinz, and A. Zisserman, "Learning an
alphabet of shape and appearance for multi-class object detection,"
International Journal of Computer Vision, vol. 80, pp. 16-44,2008. 

[3] Z. Si, H. Gong, Y. N. Wu, and S. C. Zhu, "Learning
mixed templates for object recognition,"in Proceedings of the IEEE
Conference on Computer Vision and Pattern Recognition,2009, pp. 272-279 

[4] J. Shotton, A. Blake, and R. Cipolla, "Multiscale
categorical object recognition using contour fragments," IEEE Transactions
on Pattern Analysis and Machine Intelligence, vol. 30, pp. 1270-1281, 2008. 

[5] O. C. Hamsici and A. M. Martinez, "Rotation invariant
kernels and their application to shape analysis," IEEE Transactions on
Pattern Analysis and Machine Intelligence, vol. 31, pp.1985-1999, 2009. 

[6] N. Alajlan, M. S. Kamel, and G. H. Freeman,"Geometry-based image retrieval in binary image databases," IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol.30, pp.
1003-1013, 2008. 

[7] K. Schindler and D. Suter, "Object detection by global
contour shape," Pattern Recognition,vol. 41, pp. 3736-3748, 2008. 

[8] V. Ferrari, L. Fevrier, F. Jurie, and C. Schmid,"Groups of adjacent contour segments for object detection," IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol. 30,pp. 36-51,
2008.

[9] X. Ren, C. C. Fowlkes, and J. Malik, "Learning
probabilistic models for contour completion in natural images,"
International Journal of Computer Vision, vol. 77, pp. 47-63, 2008. 

[10] Y. Freund, "Boosting a Weak Learning Algorithm by
Majority," Information and Computation, vol. 121, pp. 256-285, 1995. 

[11] L. Szumilas and H. Wildenauer, "Spatial configuration
of local shape features for discriminative object detection," in Lecture
Notes in Computer Science vol. 5875, ed, 2009,pp. 22-33.

[12] Y. Amit, D. Geman, and X. Fan, "A coarse-to-fine
strategy for multiclass shape detection," IEEE Transactions on Pattern
Analysis and Machine Intelligence, vol. 26, pp. 1606-1621,2004. 

[13] A. Y. S. Chia, S. Rahardja, D. Rajan, and M. K. H. Leung,"Structural descriptors forcategory level object detection," IEEE
Transactions on Multimedia, vol. 11, pp. 1407-1421,2009. 

[14] Y. Chi and M. K. H. Leung, "Part-based object
retrieval in cluttered environment," IEEE Transactions on Pattern Analysis
and Machine Intelligence, vol. 29, pp. 890-895, May2007.

[15] H. P. Moravec, "Rover visual obstacle avoidance," in Proceedings of the International Joint
Conference on Artificial Intelligence, Vancouver, CANADA, 1981, pp. 785-790

[16] C. Harris and M. Stephens, "A combined corner and edge detector," presented at the AlveyVision
Conference, 1988.

[17] M. Varma and A. Zisserman, "A statistical approach to material classification using image patch
exemplars," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.31, pp. 2032-2047, 2009.

[18] P. M. Roth, S. Sternig, H. Grabner, and H. Bischof, "Classifier grids for robust adaptive object
detection," in Proceedings of the IEEE Computer Vision and Pattern Recognition,Miami, FL, 2009, pp.
2727-2734.
[19] D. G. Lowe, "Distinctive image features from scale-invariant keypoints," International Journal of
Computer Vision, vol. 60, pp. 91-110, 2004.

[20] Y. Chen, L. Zhu, A. Yuille, and H. J. Zhang, "Unsupervised learning of probabilistic object models
(POMs) for object classification, segmentation, and recognition using knowledge propagation," IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol. 31, pp.1747-1774, 2009.

[21] V. Ferrari, L. Fevrier, F. Jurie, and C. Schmid, "Groups of adjacent contour segments for object
detection," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 30,pp. 36-51, 2008.

[22] V. Ferrari, T. Tuytelaars, and L. Van Gool, "Object detection by contour segment networks," in
Lecture Notes in Computer Science vol. 3953, ed, 2006, pp. 14-28.



[23]https://fa.wikipedia.org/wiki/%D8%A2%D8%B4%DA%A9%D8%A7%D8%B1%D8%B3%D8%A7%D8%B2%DB%8C_%D9%84%D8%A8%D9%87

[24] http://idochp2.irandoc.ac.ir/FulltextManager/fulltext15/th/183/183969.pdf

[25] http://szeliski.org/Book/drafts/SzeliskiBook_20100903_draft.pdf

[26] http://idochp2.irandoc.ac.ir/FulltextManager/fulltext15/th/199/199857.pdf

# پیوندهای مفید
+ [مجموعه داده](http://vision.cs.uiuc.edu/attributes/)
+ [مجموعه داده صفت در چهره‌ها](http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html)