توضیحات مربوط به صفت در پروژه‌ی دیگری آمده است. در رتبه‌بندی صفت به جای نگاه صفر و یکی به صفت به آن به صورت یک متغییر نسبی1 نگاه می‌کنیم. برای مثال اگر خندان بودن را یک صفت بدانیم، یک فرد می‌تواند از دیگری خندان‌تر باشد. برای ساده‌تر شدن موضوع به شکل زیر توجه کنید:

relative attributes

این نگاه به صفات کاربردهای بسیار زیاد صنعتی دارد. برای مثال می‌توان به شلوغ بودن یا نبودن خیابان در مسئله کنترل ترافیک و موارد مشابه اشاره کرد. همچنین از نظر تئوری مسئله بسیار قوی است.

برای انجام این پروژه شما ابتداً باید با روش‌های تشخیص صفت آشنا شوید، سپس به مقاله‌ی Relative Attributes مراجعه کرده و آن را پیاده سازی نمایید.

  • این پروژه توسط یک بنگاه تجاری تعریف شده است.

۱. مقدمه

ابتدا لازم است در مورد چرایی استفاده از صفات برای عمل تشخیص، توضیحاتی داده شود و روش‌های جدید استفاده از صفات معرفی شود. پس از آن به رتبه‌بندی صفات می‌پردازیم.

در چند سال اخیر، روش جدیدی در حوزه‌ی بینایی ماشین مطرح شده است. این روش پیشنهاد می‌دهد در عملیات تشخیص2 به جای نامگذاری 3 از توصیف4 استفاده نماییم.
استفاده از روش جدید، مزیت‌های زیر را دارد:

  • گزارش دادن جنبه‌های غیر معمول یک شیء آشنا. منظور این است که در یک تصویر نه تنها یک سگ را شناسایی کند، خال‌دار بودن آن را نیز شناسایی کند.

  • ذکر صفات اشیاء نا‌آشنا. برای مثال اگر قبلاً کالسکه جزء اشیایی که می‌شناسد نباشد، در صورت مشاهده‌ی آن بتواند بگوید این شی ۴ چرخ دارد.

  • شناسایی شیء جدید بدون نمونه‌‌های بصری از پیش مشاهده شده یا نمونه‌های قبلی کم.

    relative attributes 2

    کاری که صورت می‌گیرد این است که به جای شناسایی نوع موجودیت، روی شناسایی صفات تمرکز می‌کنیم که قابلیت توصیف، مقایسه و دسته‌بندی راحت‌تر اشیا –به خصوص شی‌ء جدید- را می‌دهد.

صفاتی که قابل شناسایی هستند به دو دسته تقسیم می‌شوند:

  • صفات معنایی5
    قسمت‌ها. مثلاً دماغ دارد.
    شکل. مثلاً استوانه‌ای شکل است.
    جنس. مثلاً خزدار است.

  • صفات نسبیت6

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

در روش جدید شناسایی صفات این مشکل حل شده است. ابتدا ویژگی‌هایی که قادر به پیش‌بینی صفات در یک کلاس هستند را انتخاب می‌کنیم و فقط از آن‌ها برای تمرین دادن کلاس‌بند7 صفات استفاده می‌کنیم.
برای مثال برای یادگیری شناساگر خال، ویژگی‌هایی را انتخاب می‌کنیم که می‌توانند بین سگ‌های خالدار و بدون خال تمایز قائل شوند، گربه‌های بی‌خال و با‌خال، اسب‌های بی‌خال و با‌خال و ... . پس فقط از این ویژگی‌ها برای تمرین دادن شناساگر خال بین همه‌ی اشیا استفاده می‌کنیم.

تجربیات نشان می‌دهد که روش جدید مبتنی بر صفت فایده‌های زیادی دارد. اول اینکه می‌توانیم به صورت موثر اشیا را کلاس‌بندی کنیم. این مزیت زمانی قدرت خود را نشان می‌دهد که نمونه‌های تمرین کمی در اختیار باشند. احتمالاً دلیل آن این است که صفات می‌توانند بین کلاس‌های مختلف به اشتراک گذاشته شوند.
بنابراین کاری که این روش می‌کند این است که از اشتراک ویژگی‌ها بین کلاس‌های مختلف استفاده می‌کند.
برای مثال اگر بخواهیم کلاس‌بند «چرخ» را آموزش دهیم، ویژگی‌هایی را انتخاب می‌کنیم که در شناسایی ماشین‌های چرخدار و بدون چرخ خوب عمل می‌کنند. به این ترتیب به کلاس‌بند کمک می‌کنیم که در مورد ویژگی «فلزی بودن» که در هر دو کلاس موجود است، گیج نشود.
مزیت دیگر روش جدید این است که می‌تونه حتی بدون استفاده از هیچ گونه مثال تصویری و فقط با استفاده از توصیف متنی اقدام به یادگیری کند.

حال سراغ رتبه‌بندی صفات می رویم.
پیش از این فقط به شناسایی صفات در تصویر اکتفا می‌کردیم. حال کاری که می‌کنیم این است که میزان صفات موجود در تصاویر مختلف را مقایسه می‌کنیم. برای مثال تشخیص می‌دهیم که پوست بدن خرس از پوست بدن زرافه خزدار تر است. بنابراین رابطه‌ای بین اشیاء جدید(از قبل دیده نشده) و اشیا از پیش دیده شده‌ی موجود در DataSet با استفاده از صفات برقرار می‌کنیم.

همچنین ویژگی دیگر این روش این است که توصیف متنی با جزئیات بیشتری را ارائه می‌دهد.
در اصل، مشکلی که در شناسایی صفات در تصویر وجود دارد این است که ما فقط در مورد وجود یا عدم وجود یک صفت نظر می‌دهیم. شاید این روش فقط در مورد صفات مبتنی بر عضویت8 مثل «پا دارد» و صفات دودویی9 مثل «خال دارد یا ندارد» کاربرد داشته باشد ولی در واقعیت ما با طیف گسترده‌ای از صفات روبرو هستیم. برای مثال در مورد خندان بودن یا نبودن یک فرد در تصویر، افراد مختلف نظرات متفاوتی می‌دهند ولی اگر میزان خندان بودن را در مقایسه با یک تصویر دیگر در نظر بگیریم جواب‌ها یکسان‌تر و آسان‌تر خواهد بود.

همچنین این روش، پتانسیل بهبود «یادگیری فعل‌ و انفعالی10» را دارد. برای مثال در جستجوی تصویری، رویه‌ی بهتری را پیشنهاد می‌دهد. مثلاً به جستجو‌های «کفش‌های مشابه ولی درخشان‌تر را برایم پیدا کن» و «عکس‌هایی از شیکاگو که در روز‌های آفتابی‌تر گرفته شده‌اند را برایم پیدا کن».

۲. کارهای مرتبط

در ابتدا لازم است این نکته را خاطر نشان کنم که ابتدا حضور یا عدم حضور یک صفت در یک تصویر مطرح بود. سپس پیشنهاد شد که به جای تشخیص حضور یا عدم حضور یک صفت، به تشخیص میزان حضور صفت بپردازیم. همان‌طور که مشخص است رتبه‌بندی صفات به عنوان شاخه‌‌‌ای از شناسایی صفات مطرح است. سعی می‌کنیم در بخش‌کار‌‌های مرتبط، کار‌هایی که در هر دو زمینه‌ی تشخیص و رتبه‌بندی صفات مطرح شده است را بررسی نماییم. دلیل این کار نیز همپوشانی‌ای است که این دو موضوع دارند.

  • کلاس بندی صفات و تشابهات برای تطبیق دادن چهره
    برای تطابق چهره‌ای که به ورودی داده می‌شود، از سه روش استفاده می‌کند.
    ۱) از یک کلاس‌بند دودویی برای تشخیص حضور یا عدم حضور جنبه‌هایی از تصویر که قابل توصیف هستند، می‌پردازد. برای مثال در مورد جنسیت، نژاد، سن و ... نظر می‌دهد.
    ۲) نیازی به برچسب‌زنی صفات روی تصاویر ندارد. این روش فقط تشابه چهره یا نقطه‌‌ی خاصی از چهره را برای نمونه‌هایی که به آن داده می‌شود یاد می گیرد.

    توضیح تصویر

    ۳) در روش سوم از ترکیبی از دو روش قبلی استفاده می‌کند که بر اساس آزمایش‌های انجام گرفته نتیجه‌ی آن بهتر از دو روش قبلی است.
    همان‌طور که مشخص است ایده‌‌های مطرح شده در اینجا، بیشتر روی حضور یا عدم حضور یک صفت نظر می‌دهند ولی روش رتبه‌بندی‌صفات دقیق‌تر عمل می‌کند و خروجی آن نیز اطلاعات بیشتری را در اختیار ما می‌گذارد.[15,2]

  • جستجوی ساطوری11 : جستجوی تصاویر بر اساس صفات نسبی با کمک بازخورد12
    این روش را با یک مثال توضیح می‌دهم. فرض کنید که می‌خواهید در مجموعه‌ای از هزاران عکس به دنبال کفش‌ خاصی که سیاه رنگ است بگردید. این کفش سیاه‌رنگ شامل ویژگی‌هایی هست که در ذهن شما است و شما فقط ویژگی سیاه بودن را به جستجو‌گر می‌دهید. سیستم بعد از جستجو مجموعه‌ای از کفش‌های سیاه را به خروجی می‌دهد. حال فرض کنید که کفشی که در ذهن شماست براق است. در سیستم‌های قدیمی حال شما باید یکی یکی عکس‌های موجود در خروجی را بررسی کنید و در مورد براق بودن یا نبودن آن‌ها نظر بدهید که همان سیستم دودویی تشخیص حضور یا عدم حضور صفت است. ولی روش ساطور پیشنهاد می‌دهد به جای این کار، سیستم مثلا یکی از عکس‌ها را در نظر بگیرید و تمام عکس‌هایی که میزان براق بودن آن‌‌ها از عکس مورد نظر کمتر است را از نتیجه‌ی جستجو حذف کند. به همین ترتیب برای ویژگی‌های دیگری که در ذهنمان است نیز این کار را ادامه می‌دهیم تا در نهایت به کفشی که مدنظرمان است برسیم. البته توجه به این نکته در این روش الزامی است که باید ترتیب جزئی صفت براق بودن ساخته شود و سپس در مرحله‌ی جستجو از این ترتیب جزئی استفاده شود. مزیت مهم این روش که در اسم آن نیز نهفته است این است که به مرور ویژگی‌های نامربوط را از فضای مسئله حذف می‌کند.[4]

    توضیح تصویر

  • مقایسه مجموعه‌ای از تصاویر13 به جای مقایسه‌ی دو تصویر14 به عنوان راهکاری برای یادگیری فعال صفات نسبی
    اگر عنوان این روش برایتان گنگ است، نگران نباشید. با توضیحات مختصری پی به نحوه‌ی عملکرد این روش خواهید برد. این روش پیشنهاد می‌کند به جای اینکه در مورد درجه‌ی حضور یک صفت در یک تصویر در مقایسه با تصویر دیگری نظر بدهیم، مجموعه‌ای از تصاویر را انتخاب کنیم و یک ترتیب جزیی از میزان حضور صفت در این مجموعه بسازیم.

    توضیح تصویر

    یکی از مزیت‌های اصلی این روش کاهش بسیار زیاد هزینه است. برای مثال اگر بخواهیم ۵ عکس را با هم مقایسه کنیم، باید ۲۴ مقایسه صورت گیرد ولی در این روش شاید بتوان با تنها ۴ یا ۵ مقایسه ترتیب جزیی را ایجاد کرد. به این صورت عمل می‌شود که در «تابع رتبه‌بند صفات رابطه‌ای» به جای مقایسه‌ی نسبیت‌ یک صفت در دو تصویر، یک ترتیب جزئی15 از چند تصویر با استفاده از یک صفت مشخص کنیم. این روش عملاً اطلاعات بیشتری را در اختیار ما قرار می‌دهد.[8]
    relative attributes 4

  • یادگیری بی‌ناظر صفات تصویری نسبی یا رابطه‌ای
    روش بعدی «یادگیری بی‌ناظر صفات تصویری نسبی یا رابطه‌ای» است. در یک DataSet بزرگ امکان برچسب‌زنی روی همه‌ی صفات وجود ندارد، بنابراین مجموعه‌ای از تصاویر را به سیستم می دهیم و خود سیستم باید صفات را تشخیص داده و در مورد نسبت هر صفت در یک تصویر با تصویر دیگر اظهار نظر کند.[11]

  • تعیین میزان حضور یک صفت در تصویر بدون مقایسه با تصاویر دیگر
    یکی از کار‌های مرتبط صورت گرفته روشی است که در آن درجه‌ی حضور یک صفت را در تصویر نشان می دهد. این روش یک روش باناظر است که برای هر صفت یک تابع رتبه‌بند16 را پیشنهاد می‌دهد و یک یادگیرنده‌ی zero-shot بهبود یافته را پیشنهاد می‌دهد.[12]

در نمودار‌های زیر چند روش با هم مقایسه شده‌اند.

relative attributes 3

۳. آزمایش‌ها

۴. کارهای آینده

۵. مراجع

[1] Parikh, Devi, and Kristen Grauman. "Relative attributes." Computer Vision (ICCV), 2011 IEEE International Conference on. IEEE, 2011. لینک
[2] A. Farhadi, I. Endres, D. Hoiem, and D.A. Forsyth, “Describing Objects by their Attributes”, CVPR 2009 لینک
[3] Jeff Donahue,Kristen Grauman, “Annotator Rationales for Visual Recognition”, In Proceedings of the International Conference on Computer Vision (ICCV), 2011.
[4] Adriana Kovashka, Devi Parikh, Kristen Grauman, “WhittleSearch: Image Search with Relative Attribute Feedback”, In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2012.
[5] Aron Yu, Kristen Grauman, “Fine-Grained Visual Comparisons with Local Learning”, In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2014.
[6] Lucy Liang, Kristen Grauman, “Active Learning for Image Ranking
Over Relative Visual Attributes”.
[7] Adriana Kovashka, Sudheendra Vijayanarasimhan, Kristen Grauman, “Actively Selecting Annotations Among Objects and Attributes”. In Proceedings of the International Conference on Computer Vision (ICCV), 2011.
[8] Lucy Liang, Kristen Grauman, “Beyond Comparing Image Pairs: Setwise Active Learning for Relative Attributes”. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2014.
[9] Sung Ju Hwang, Kristen Grauman, “Accounting for the Relative Importance of
Objects in Image Retrieval”. In bmvc2010.
[10] Devi Parikh, Kristen Grauman, “Interactively Building a Discriminative Vocabulary of Nameable Attributes”. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2011.
[11] Shugao Ma, Stan Sclaroff, Nazli Ikizler-Cinbis, “Unsupervised Learning of Discriminative
Relative Visual Attributes”.
[12] Dinesh Jayaraman, Kristen Grauman, “Zero-Shot Recognition with Unreliable Attributes”. In Proceedings of Advances in Neural Processing Systems (NIPS), 2014.
[13] Devi Parikh, Kristen Grauman, “Interactive Discovery of Task-Specific Nameable Attributes”. In FGVC_CVPR201.
[14] Devi Parikh,Kristen Grauman, “Implied Feedback: Learning Nuances of User Behavior in Image Search”, In Proceedings of the IEEE International Conference on Computer Vision (ICCV), 2013.
[15] N. Kumar, A. C. Berg, P. N. Belhumeur and S. K. Nayar. Attribute and Simile
Classifiers for Face Verification. ICCV, 2009.

۶. پیوندهای مفید


  1. Relative

  2. Recognition

  3. Naming

  4. Describing

  5. Semantic

  6. Descriminative

  7. Classifier

  8. Part-based

  9. Binary

  10. Interactive

  11. Whittle

  12. Feedback

  13. setwise

  14. pairwise

  15. Partial ordering

  16. Ranking Function

تایید شده

با سلام و خسته نباشید
توضیحات واضح و با ساختار خوبی نوشته شده، اینکه در کار های مرتبط از مثال استفاده کردین به فهم بهتر کمک می کنه و استفاده از مقاله های جدید هم از نکات مثبت کار شماست. فقط بهتر بود که از همه مقاله هایی که در مراجع نام بردین استفاده می کردین

تایید شده

خسته نباشید عرض می‌کنم خدمت شما
مطالبی که نوشته بودید دید نسبتا خوبی راجع به پروژه به من داد. مقدمه به خوبی بیان شده بود. عکس‌های خوبی قرار داده بودید(به جز عکس آخر) که به فهم متن کمک می‌کرد. از مزیت های متن شما خلاصه بودن ، سادگی و درعین حال جامعیت آن بود. البته نقدهای زیر نیز به پروژه شما از نظر من وارد است.
۱- فکر می‌کنم بیشتر باید وارد جزئیات کارهای مرتبط می‌شدید. بیشتر چیزهایی که نوشته بودید کاربردها را بیان می‌کرد. ای کاش الگوریتم‌ها را بیشتر توضیح داده بودید تا در مرحله‌ی بعد راحت‌تر پیاده‌سازی را شروع می‌کردید.
۱- در چند جا از کلمه‌ی DataSet استفاده کرده بودید که بهتر بود از معادل فارسی آن استفاده می‌کردید و انگلیسی آن را در پاورقی می‌نوشتید.
۲- تصویری که در انتهای کارهای مرتبط قرار دادید بسیار کوچک است و من مفهوم آن‌را متوجه نشدم.(منظور از یادگیرنده‌ی zero-shot چیست؟)

تایید شده

بسمه تعالی
شما در این مرحله باید دید خود را نسبت به انواع روش های پیاده سازی مساله بیان می کردید که به خوبی به این موضوع دست یافتید.
منابع مرتبط و معتبری را یافتید و به خوبی مطالب را ارجاع دادید.
دید خود را نسبت به مقالات مطالعه شده بیان کردید که در شیوه نگارش شما تاثیر مثبتی داشته است.
اما در مطالعه مطالب شما موارد زیر را مشاهده کردم که میبایست به آن توجه کنید:
1- تصاویری که قرار دادید به فهم بهتر مساله کمک میکند به جز تصویر آخر که چیزی از آن دستگیرم نشد و مشخص نیست کدام روش ها را مورد قیاس قرار داده و یا اینکه آیا مربوط به zero-shot است؟!
بهتر بود یا این تصویر را در اینجا قرار نمیدادید و یا توضیحات کامل تری در مورد آن ارائه میدادید و فقط به جمله مقایسه روش های مختلف اکتفا نمی کردید .
2- بهتر بود نحوه کارکرد روش zero-shot و اینکه چه اتفاقی در این روش می افتد را به صورت خلاصه توضیح می دادید.
3- در نوشتار خود چند بار از کلمه Data set استفاده نمودید . بهتر بود برای یک دست شدن مطلب ، به جای این کلمه ، از معادل فارسی آن استفاده می کردید .
4- شما تقریباً 5 روش ، شامل روش های باناظر و بدون ناظر را به طور مختصر معرفی کردید اما بهتر بود برای فهم بهتر ، توضیحات بیشتری راجع به روش های حل مساله برای مخاطبین میدادید و همچنین کار خود را در فاز بعدی آسانتر میکردید.

یاسر سوری

با سلام

کاری که شما انجام داده‌اید قابل قبول و تقدیر است. در نظر داشته باشید که کار شما می‌تواند مورد توجه بنگاه تجاری قرار بگیرد و آن‌ها به پیاده سازی خوب علاقه دارند. پس برای فازهای بعد سعی کنید بر روی پیاده سازی خوب کار کنید و همچنین نتایجتان را به خوبی گزارش کنید و ارائه دهید.

و اما چند نکته:

  • به نظرم وقتش رسیده که بخش قبل از مقدمه را (منظور تعریف پروژه است) حذف کنید.

  • «در ابتدا لازم است این نکته را خاطر نشان کنم که ابتدا حضور یا عدم حضور یک صفت در یک تصویر مطرح بود. سپس پیشنهاد شد که به جای تشخیص حضور یا عدم حضور یک صفت، به تشخیص میزان حضور صفت بپردازیم. همان‌طور که مشخص است رتبه‌بندی صفات به عنوان شاخه‌‌‌ای از شناسایی صفات مطرح است.» اگر منابع را ذکر می‌کردید بهتر بود.

  • برخی از تصاویر که قرار داده‌اید قابل مشاهده نیستند. (بارگذاری نمی‌شوند)

  • همانطور که دیگران نیز ذکر کرده‌اند نمودار آخر شما اصلا گویا نیست که بهتر است تصحیح یا حذف شود.

با تشکر موفق باشید

تایید شده

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

موفق باشید