به نام خدا

اسیرا 1 یکی از انواع آزمون‌های شناخت انسان از رایانه (کپچا2) است که از کاربر می خواهد از مجموعه ی 12 عکس سگ و گربه فقط تصاویر گربه‌ها را انتخاب کند. انجام این تست برای انسان بسیار ساده است. به‌طوری که 99/6% از انسان‌ها در کمتر 30 ثانیه به آن پاسخ می‌دهند. ولی شواهد نشان می دهند که تشخیص گربه و سگ به صورت خودکار از یکدیگر کار دشواری است. [1]

شکل 1-یک نمونه تست اسیرا

در این تست اگر اشاره‌گر موس روی هریک از تصاویر نگه داشته شود تصویر حیوان به صورت بزرگ تر نمایش داده شده و جمله‌ی"Adopt me" در زیر آن تصویر ظاهر می شود که در صورت کلیک بر آن کاربر را به صفحه‌ی آن حیوان در سایت 3Petfinder.comارجاع می‌دهد. لازم به ذکر است که این تست برای مجموعه‌ی داده‌4ای خود از آرشیو این سایت استفاده می‌کند.[2]

مقدمه

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

-در دسته‌‌ی اول این اطلاعات صرفا اعداد و حروف تصادفی هستند.
-در دسته دوم این اطلاعات تصاویر هستند.

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

شکل 2-چند نمونه از کپچا‌های دسته‌ی دوم

اسیرا در دسته دوم از انواع کپچا‌‌‌ها قرار می‌‌گیرد و پایگاه داده ای خود را از سایت Petfinder.com تامین می کند. [3] Petfinder دارای پایگاه داده‌ای شامل بیش از 3 میلیون تصویر از سگ و گربه است که روزانه 10000 تصویر را به پروژه‌ی اسیرا اختصاص می‌دهد. همچنین لازم به ذکر است که اسیرا توسط شرکت مایکروسافت 10 ابداع شده است.[4] انگیزه‌ی انجام این پروژه شناخت تصاویر سگ و گربه از یکدیگر به کمک الگوریتم های هوش مصنوعی به منظور عبور از اسیرا می باشد.

شرح مسئله

در این مسئله وظیفه ی ما یافتن الگوریتمی با بالاترین میزان دقت در تشخیص تصاویر سگ و گربه برای دسته بندی آن‌هاست. ورودی این مسئله مجموعه داده‌ای جهت آموزش11 از تصاویر سگ و گربه و خروجی آن میزان دقت در طبقه بندی تصاویر در مجموعه داده‌ای مورد آزمایش 12 است.[5] مجموعه داده ای که توسط سایت Kaggle.com در اختیار ما قرار داده شده است قسمتی از پایگاه داده اسیرا است که توسط مایکروسافت ارائه شده است. مجموعه داده‌ای جهت آموزش آن شامل 25000 تصویر که 12500 تصویر آن سگ و 12500 تصویر دیگر آن گربه است. و همچنین مجموعه داده‌ای مورد آزمایش آن نیز شامل 12500 تصویر است. سایز متوسط تصاویر ارائه شده در حدود 500*350 است.

شکل 3- کار یادگیری

با توجه به آنچه که در شکل 3 مشاهده می کنید در کار یادگیری، ورودی، مجموعه داده مخصوص آموزش است و خروجی که به کمک یکی از الگوریتم هایی که در
قسمت بعدی ذکر می شود به دست می‌آید، مدل طبقه بندی شده است و در قسمت عملکرد کار (شکل 4) از این مدل طبقه بندی شده استفاده کرده و مجموعه داده مخصوص آزمایش را مورد بررسی قرار می دهد.

شکل 4-عملکرد کار

در ادامه به توضیح روش هایی که می توان برای حل این مسئله از آن‌ها بهره برد می‌پردازیم:

تبدیل ویژگی مقیاس نابسته13

"تبدیل مستقل از مقیاس ویژگی" یک الگوریتم در بینایی ماشین است؛ که برای استخراج ویژگی‌های مشخص از تصاویر، استفاده در الگوریتم‌ کارهایی چون تطبیق نماهای مختلف یک جسم یا صحنه و شناسایی اجسام به کار می‌رود. در این الگوریتم ابتدا تصویر اصلی به طور پیش‌رونده با فیلترهای گاوسی با سیگما در بازه ۱ تا ۲ محو می‌شود که حاصلش یک سری تصاویر محو شده گاوسی است (به این کار فیلتر کردن آبشاری می گویند) سپس، این تصویرها از همسایگان بلافصل خود(از دید سیگما) کم می‌شوند تا یک سری جدید از تصاویر پدید آیند.[6]
گام‌های اصلی در محاسبه ویژگی‌های تصویر عبارت‌اند از:
1.آشکارسازی اکسترمم‌های فضای مقیاس هر پیکسل در تصاویر با هشت همسایه‌اش و نه پیکسل(پیکسل متناظر و هشت همسایه‌اش) از هر یک از تصاویر دیگر سری مقایسه می‌شود.
2.محلی‌سازی کلیدنقطه‌ها - کلیدنقطه‌ها از اکسترمم‌های فضای مقیاس گزیده می‌شوند.
3.گرایش گماری - برای هر کلیدنقطه در یک پنجره ۱۶x۱۶، نمودار فراوانی گرایش گرادیان‌ها به کمک درونیابی دوسویه محاسبه می‌شوند.
4.توصیفگر کلیدنقطه - نمایش در یک بردار ۱۲۸ عنصری.

شکل 5- توصیفگر SIFT

bag of words(BoW) :

در بینایی کامپیوتر مدل BoW در صورتی که در آن با ویژگی‌های تصاویر مانند کلمات برخورد گردد می‌تواند برای دسته‌بندی تصاویر مورد استفاده قرار گیرد. در این مدل یک لغت‌نامه به وسیله طبقه بندی 14ویژگی‌های باز شده‌ی15 مجموعه داده‌های آموزشی تشکیل می دهد. و همچنین هر خوشه16 یک کلمه از این فرهنگ لغت تصویری محسوب می شود. و تصاویر با بردار های فراوانی که در آن هر بعد نشان دهنده نسبت ویژگی های متعلق به یک خوشه است.[5]

شکل 6- bag of the words

یادگیری عمیق 17 :

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

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

[1] Philippe Golle, Machine Learning Attacks Against the Asirra CAPTCHA
[2] Jeremy Elson, John R. Douceur, Jon Howell, Jared Saul, Asirra: A CAPTCHA that Exploits Interest-Aligned Manual Image Categorization, in Proceedings of 14th ACM Conference on Computer and Communications Security (CCS), Association for Computing Machinery, Inc., Oct. 2007
[3] Jared Saul. Petfinder. http://www.petfinder.com.
[4] Dogs vs. Cats competition from Kaggle
[5] Bang Liu, Yan Liu, Kai Zhou, Image Classification for Dogs and Cats
[6] David G. Lowe, Distinctive Image Features from Scale-Invariant Keypoints
[7] Yoshua Bengio,Deep Learning of Representations: Looking Forward

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


  1. Asirra (Animal Species Image Recognition for Restricting Access)

  2. CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)

  3. بزرگترین سایت برای یافتن خانه برای حیوانات بی‌خانمان

  4. dataset

  5. agent

  6. database

  7. classified

  8. machine vision

  9. text recognition

  10. microsoft

  11. training dataset

  12. test dataset

  13. SIFT

  14. clustering

  15. extracted

  16. cluster

  17. deep learning

تایید شده

با سلام و خسته نباشید. نکاتی را ذکر می‌کنم. امیدوارم این مطالب باعث بهتر شدن کار شما گردد.
۱- متن خوب و روان است. تقریبا ببشتر قسمت‌های آن قابل فهم است. مقدمه مناسب است. بخش کارهای مرتبط ذکر نشده اما در مقدمه اشاره‌ای به آن داشته‌اید. باید بخش مجزایی به نام کارهای مرتبط داشته و در آن بخشی از مهم‌ترین کارهای قبلی را نام برده و توضیحی مختصر از آن ارائه کنید. اکثر پاورقی‌ها مناسب هستند. می‌توانید بخشی از آنها را حذف کنید. برای مثال همه میدانند مقصود از مایکروسافت همان Microsoft است.
۲- برای شکل‌ها مرجع ذکر کنید. شکل‌ها واضح هستند. توضیحات شما می‌توانست برای هر شکل بیشتر باشد. به این طریق خواننده بیشتر مجذوب نوشته شما می‌شود.
۳- SIFT را SIFT بنویسید. در پاورقی معادل فارسی و انگلیسی آن را ذکر کنید. توضیحات مرتبط با SIFT اضافی هستند. با دادن ارجاع خواننده در صورت تمایل می‌تواند به آن رجوع کند. در کل توضیحی کلی مانند آنچه در خط اول بخش SIFT نوشتید، کافی است.
۴- برای clustering معادل خوشه‌بندی و برای extracted معادل مستخرج یا استخراج شده استفاده می‌شود.
۵- به نظرم بخش کارهای مرتبط را اضافه کنید. قالب مراجع را به صورت استاندارد درآورده و شکل و ظاهر کارتان را بهبود دهید. توانایی شما در بازنمایی مطالب ذهنی مناسب است. با مطالعه متن می‌توان به این موضوع پی‌برد. پیشنهاد می‌کنم وقت بیشتری برای نگارش متن گذاشته و به محتوای کارتان بیفزایید.
در کل به نظرم خیلی سریع به سمت پیاده‌سازی و آزمایش رفته، نتایج را مشاهده و با کارهای دیگران مقایسه کنید. سعی کنید کمتر وارد جزئیات شده و با ارائه کلیات موضوع کارتان را پیش ببرید.