۱. مقدمه

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

در ادامه به معرفی اجمالی چند روش تشخیص صفت میپردازیم:
1. روش مبتنی بر Poselet برای دسته بندی صفات:
فرض کنید میخواهیم صفاتی همانند جنسیت، مدل مو و انواع لباس افراد را تشخیص بدهیم که تنوع بسیار زیادی در زاویه دید و حالت(ژست)2 دارند. دسته بندی کننده‌های قوی صفات، تحت چنین شرایطی بایستی مستقل ازحالت باشند اما حدس زدن حالت،خودش یک مسئله ی چالش انگیز است. ما از یک روش مبتنی بر جزء، بر اساس poselet استفاده میکنیم. بخش‌های ما به طور ضمنی، نمود 3(حالت و زاویه دید) راتجزیه می کنند. ما دسته بندی کننده‌ها را برای هر یک از این نمودها آموزش می دهیم و آن‌ها را در یک مدل افتراقی4با یکدیگر ترکیب می‌کنیم؛ زیرا تغییرات زیادی که بوسیله تغییر حالت در ظاهر ایجاد می شوند ما را از آموزش یک یابنده5عمومی باز می‌دارد.
ما مسائل کلاسیک را با تشخیص و تقسیم بندی توسط یک یابنده‌ی مبتنی بر جزء، حل میکنیم. این یابنده روی یک جزءاصلی کار می‌کنند و poselet نام دارد. Poselet برای پاسخ دادن به یک قسمت از شیء – با حالت و زاویه ی داده شده- آموزش داده می‌شود.
2. مدل نهفته6 ی تشخیصی:
هدف نهایی این روش ساخت سیستم‌های تشخیصی است که به طور مشترک کلاس‌های شیء و صفات را در یک چارچوب7 یادمی‌گیرند. این مدل در چارچوب SVM نهفته آموزش دیده است. در طول آموزش،صفات را بعنوان متغیرهای نهفته در نظر می‌گیریم و تلاش می‌کنیم که برچسب کلاس یک عکس را استنتاج کنیم.
3.روش نمایش های اسپارس و آموزش از راه دور:
دراین روش "پیش‌بینی صفت" و "نگاشت صفت به کلاس" را جدا می کنیم؛ سپس بوسیله‌ی معرفی شیوه‌های جایگزین در پیش‌بینی صفت و نگاشت صفت به کلاس، دو الحاق8بر روی الگوی طبقه‌بندی مبتنی بر صفت ارائه می‌دهیم.
برای پیش‌بینی صفت، از طرح طبقه‌بندی کننده‌ی نمایش‌های اسپارس استفاده میکنیم که مزیت‌های مهمی در مقایسه با شیوه‌های مبتنی بر SVM ارائه می‌دهد. این مزیت‌ها عبارتند از :افزایش دقت و حذف مرحله‌ی آموزش.
برای نگاشت صفت به کلاس، از یک الگوریتم آموزش از راه دور استفاده میکنیم؛ این الگوریتم به جای آنکه اهمیت یکسانی برای صفات در نظر بگیرد به طور خودکار اهمیت هرصفت را استنباط میکند.

4. یادگیری صفات تصویر با استفاده از IBP:
تقریبا در اکثر الگوریتم‌های یادگیری صفت و چارچوب‌های تشخیص شیء مبتنی بر صفت، صفات باید از قبل تعریف شده‌باشند. در این روش، ما تلاش میکنیم که صفات را به یک روش کاملا بی‌ناظر9 از مجموعه عکس‌های داده‌شده یادبگیریم. ما از یک متد آماری Baysian که غیرپارامتری و Data-Deriven است استفاده میکنیم که Infinite Sparse FactorAnalysis نامیده می‌شود و یک روش تبدیل خطی است که نمایش مورد نظر داده‌های چند متغیره یکی است که وابستگی آماری اجزای نمایش را به حداقل می رساند. در یک پیاده سازی اسپارس ما این انتخاب را آزاد میگذاریم که آیا یک کامپوننت برای یک data point فعال باشد؟بعلاوه، برای داشتن یک تعداد نامحدود از اجزاءکامپوننت‌ها، یک تقدم برای یک ماتریکس دودویی از صفات پنهان که از یک تقدم غیرپارامتری به نام (IBP) Indian Buffet Process استفاده می کند قرار می دهیم .IBP یک توزیع روی کلاس‌های هم‌ارزی ماتریس دودویی با تعداد محدودی از سطر و تعداد نامحدود از ستون است و می‌تواند برای مدل سازی خصوصیات پنهان غیرپارامتری استفاده شود که در آن ردیف‌ها متناظر باdata pointها و ستون‌ها متناظر با خصوصیات پنهان هستند.

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

به‌طور کلی تحقیقات روی صفات به دو دسته تقسیم می شوند؛ دسته‌ی اول، از صفات به‌عنوان لایه نمایش میانی با هدف توصیف خواص اشیاء یا تشخیص کلاس آن‌ها و همچنین انتقال یادگیری بین کلاس‌ها استفاده می‌کنند.
Lampert و همکارانش در [9] نشان دادند که صفات برای تشخیص اشیاء جدید که تابحال دیده نشده اند مفید هستند، به شکل مشابهی، Farhadi و همکارانش در[1]اشیاء را با صفاتشان توصیف می کنند و نشان می دهند که روش‌های مبتنی بر صفت10 به‌خوبی در دسته‌های اشیاء تعمیم می‌یابند. آن‌ها یک طرح تشخیص دسته‌ی شیء ارائه داده‌اند که رده‌بند11های صفت با استفاده از ویژگی12های منتخب آموزش داده شده بودند (برای هر صفت، یک رده‌بند) و دسته‌ی شیء توسط اعمال رده‌بندهای تک صفته روی تصاویر، تشخیص داده می‌شوند.
Wang و Mori در [3]یک مدل نهفته آموزش دیده به صورت افتراقی برای اتصال مدلینگ کلاس‌های شیء و صفات دیداری آن‌ها ارائه کردند. در این روش، صفات یک شیء به عنوان متغیر‌های نهفته تلقی می‌شود و ارتباطات(همبستگی‌های) میان صفات را بدست می‌آورند.
Farhadi و همکارانش در[12] یک روش برای بومی کردن صفات مبتنی بر جزء 13 ارائه می‌کنند؛ مثل سر، یا یک چرخ. آن‌ها آشکار‌سازهایی را برای بخش ها و دسته‌های فرعی14 آموزش دادند و خروجی رده‌بندها را برای رأی دادن به یک شیء استفاده کردند؛ برای مثال، یابنده‌های "پا"، "سر" و "سگ" تمایل دارند که به شیء "چهارپا" رأی بدهند. در کار آن‌ها صفات استفاده شده برای رأی گیری باید معنایی باشند و به خوبی به دیگر تصاویر از دسته های مشابه تعمیم داده شوند.
Ferrari و همکارانش در[15]کار تشخیص و بومی‌کردن صفات سطح پایین15 در یک چارچوب مولد16 (تولیدی) را انجام دادند. آن‌ها توانستند رنگ و بافت اشیاء را تشخیص بدهند.کشف خودکار ویژگی‌ها از متن و تصاویر مربوط هم در[16,17,18] انجام شده‌است.
Duan و همکارانش در [7] نشان داده‌اند که صفات، تشخیص کلاس شیء ریزدانه را بهبود می‌بخشند؛ مانند گونه‌های پرنده‌ها. Sun و همکارانش در[6] بررسی می‌کنند که چگونه صفات برای شناسایی اشیاء خاص از میان مجموعه‌ای از اشیاء استفاده می‌شوند.این تنظیمات، بیشتر مربوط به رباتیک است که در آن، مردم می‌خواهند از زبان برای دستور به یک ربات استفاده کنند؛ برای مثال، اینکه:"این شیء" را بردار.
Tsagkatakis و Savakis در[4] برای پیش‌‌بینی صفات به جای استفاده از روش SVM از SRC(Sparse Representation Classifier) استفاده می‌کنند.آن‌ها، روش SRC را برای پیش‌بینی صفت و بررسی مزایای آن برای تعمیمacross-category به کار می‌برند.
Wang و Forsyth در [19]از صفات برای یافتن یک شیء استفاده کرده اند.
دسته‌ی دوم روی صفات مردم تمرکز می‌کنند.روش های تشخیص جنسیت که از شبکه‌های عصبی استفاده می‌کنند به اوایل 1990 برمی‌گردند[20,21].Vequero و همکارانش در [22] توانستند تصویر مردم را در محیط‌های بسته جستجو کنند.
Joo و همکارانش در [10]یک روش مبتنی بر جزء برای شناسایی انسان با یک عکس تک از بدن شخص ارائه می‌دهند.آن‌ها یادگیری یک بانک تصویر غنی از قسمت های بدن با نظارت کمتر را پیشنهاد می دهند. آن‌ها این کار را توسط تجزیه‌ی شبکه تصویر به پنجره‌هایی که همپوشانی دارند (در چند مقیاس و با تکرار پالایش قالب‌های ظاهر محلی) انجام می‌دهند.
Kumar و همکارانش در [14] برای تشخیص چهره، استفاده از صفات صورت را پیشنهاد می دهند. آن‌هارده‌بند را برای دو نوع از صفات آموزش داده‌اند، یکی مربوط به ظاهر بصری، مثل "سفید" یا "چاق" و دیگری مربوط است به شباهت چهره‌ها یا نواحی چهره. این صفات بعدا برای تشخیص چهره استفاده می‌شوند.
[23]L. Bourdev, S. Maji, T. Brox, and J. Malik, "Detecting people using mutually consistent poselet activations.", In ECCV, 2010.
Kumar و همکارانش همچنین در [24] جستجوی بصری را ارائه داده اند.
Gallagher و Chen در[24] استنتاج جنسیت و سن از ویژگی‌های بصری ترکیب شده با نام‌ها را بررسی کرده‌اند. همچنین Sigal و همکارانش در[25] استخراج صفات جنسیت، سن و وزن از داده های سه بعدی را بررسی کرده‌اند.

۳. آزمایش‌ها

روش انتخاب شده برای آزمایش و پیاده سازی، روش مبتنی بر Poselet است[2]. در این پیاده سازی از یک مجموعه دادگان 17جدید استفاده شده که شامل 8035 عکس می باشد؛ که این عکس ها از مجموعه دادگانH3D و PASCAL 2010 جمع آوری شده است، که در بخش پیوندهای مفید قرار داده شده‌اند.
قسمت آموزش18این روش به اینصورت می‌باشد:
در این بخش برای آموزش 1200 عدد Poselet از روش Burdev و همکارانش در [23] استفاده شده است.به جای اینکه از تمام Poselet هایی که ابعاد یکسانی دارند استفاده شود، از 4 نسبت ابعاد استفاده شده است:9664، 6464، 6496 و 64128. و از هرکدام 300 عدد Poselet آموزش داده شده است.در طول آموزش، برای احتمال هر جزء از بدن (از قبیل مو، صورت، لباس‌های بالاتنه، لباس‌های پایین تنه و غیره) یک soft mask می‌سازیم(شکل 1 سمت چپ)؛ که این کار با استفاده از حاشیه نویسی‌19(توضیحات) اجزای بدن در مجموعه دادگان H3D انجام می‌شود.

soft mask

همچنین، از روش [23] برای تشخیص Poseletها در یک تصویر و تقسیم بندی آن‌ها به دو خوشه20 استفاده شده است. این دو خوشه عبارتند از: فرضیه‌های تشخیص فرد 21 و پیش بینی مرزهای بدن هر شخص.
حالا باید تصمیم بگیریم که کدام خوشه از Poseletها به شخص در مرکز عکس برمی‌گردد و کدام‌یک به شخص در پس زمینه. مجموعه دادگان ما حاوی نمونه های بسیاری از اشخاص است که بسیار به هم نزدیک هستند، بنابراین قرار دادن مستطیل محدوده‌ی مربوط به شخص اصلی در نزدیک ترین محل به مرکز عکس همیشه درست نیست. درعوض، ما می‌توانیم بهترین انتساب را از طریق اولویت دادن به Poseletهایی با امتیاز 22 بالاتر- که نتیجه‌ی آن به احتمال کمتری مثبت اشتباه23 است- پیدا کنیم. نحوه‌ی امتیاز‌دهی به Poseletها در قسمت آزمون24 شرح داده می‌شود.
الگوریتم آزمون ما بصورت کلی به این ترتیب است(شکل2):
مرحله اول: Poseletها را روی عکس‌های مورد‌آزمایش بکار می‌بریم و با توجه به شخص مورد نظر، تعیین می‌کنیم که کدام یک مثبت واقعی 25هستند و بدین ترتیب امتیاز‌ها محاسبه می‌شوند.
qi که در سطح آخر مشاهده می‌کنید احتمال Poselet نوع iام است که در واقع همان امتیاز می‌باشد.
Test Algorithm

مرحله دوم: در این مرحله، برای هر Poselet نوع i یک بردار ویژگی φi استخراج می‌کنیم.
مرحله سوم: برای هر Poselet نوع i و هر صفت j، یک رده‌بند rij تعیین می‌کنیم؛ که این رده‌بند، Poselet-level attribute classifier نامیده می‌شود.در این‌جا از یک SVM خطی و یک logistic g استفاده شده است:
معادله1

که wij بردار وزن و bias term،bij متعلق به SVM است.کار این رده بند‌ها این است که وجود یک صفت در بخش داده شده‌ی مربوط به یک شخص را تحت یک زاویه دید تعیین کنند؛مثل رده بند has-hat برای یک چهره از روبرو در(شکل 3).
has hat classifier

مرحله4: در این مرحله، خروجی‌های رده‌بند Poselet-level را با احتمالات تشخیص Poselet که همان qi است دسته‌بندی می‌کنیم و مرکز را صفر قرار می‌دهیم.حالا از این به‌عنوان ورودی برای رده‌بند سطح دوم (برای هر صفت j) استفاده می‌شود.رده‌بندهای سطح دوم ، Person-level attribute classifier نامیده می‌شوند.در اینجا، هدف این است که علائم و شواهد کل قسمت‌های بدن را با هم ترکیب کنیم.در این‌جا هم یک رده‌بند خطی با یک logistic g داریم:
معادلات 2 و 3

مرحله5: در انتها، ما برای هر صفت، یک رده بند سطح سوم را تعیین می‌کنیم، که آن راContext-level attribute classifier می‌نامند که بردار ویژگی‌های آن، امتیاز تمام رده‌بند‌های Person-level برای تمام صفت هاست:sj. این رده‌بند ارتباط‌های بین صفت‌ها را استخراج می‌کند؛ مثلا جنسیت در برابر وجود یک دامن. در اینجا از یک SVM با کرنل درجه دوم استفاده شده است. امتیاز این رده‌بند باSj مشخص شده است که خروجی الگوریتم است.
نتایج آزمایش:
در این قسمت نمونه هایی از بالاترین و پایین ترین امتیازها آورده شده است و همچنین درست یا غلط بودن دسته‌بندی‌ها با توجه به امتیازات مشخص گردیده است (مثلا در صفت Long-Hair بالاترین امتیاز برای دسته long hair و پایین ترین امتیاز متعلق به دسته short hair می‌باشد.):
glasses

hat

jeans

long hair

male

نتیجه‌ای که در[2] و همینطور تصاویر بالا قابل مشاهده می‌باشد این است که اغلب، مرد‌هایی که به اشتباه "زن" دسته‌بندی شده‌اند موهای بلندی دارند و زن‌هایی که "مرد" دسته‌بندی شده‌اند موهایشان مخفی شده‌است.

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

۵. مراجع

[1] A. Farhadi, I. Endres, D. Hoiem, and D.A. Forsyth, “Describing Objects by their Attributes”, CVPR 2009
[2] L.Bourdev, S.Maji, J.Malik," Describing People: Poselet-Based Approach to Attribute Classification", ICCV 2011.
[3] W.Yang, and G.Mori. "A discriminative latent model of object classes and attributes." Computer Vision–ECCV 2010. Springer Berlin Heidelberg, 2010. 155-168.
[4]G.Tsagkatakis, and A.Savakis. "Sparse representations and distance learning for attribute based category recognition." Trends and Topics in Computer Vision. Springer Berlin Heidelberg, 2012. 29-42.
[5] N.Zhang,R.Farrell,F.Iandola,T.Darrell, "Deformable part descriptors for fine-grained recognition and attribute prediction." Computer Vision (ICCV), 2013 IEEE International Conference on. IEEE, 2013.
[6]Y.Sun, "Attribute Based Object Identification",Liefeng Bo and Dieter Fox,Robotics and Automation (ICRA), 2013 IEEE International Conference on .
[7]K.Duan,D.Parikh,D.Crandall,and K.Grauman,"Discovering Localized Attributes for Fine-grained Recognition", In CVPR, 2012.
[8]S.Changpinyo,E.B. Sudderth,"Learning Image Attributes using the Indian Buffet Process."BS. thesis,2012
[9]C.H. Lampert, H.Nickisch,and S.Harmeling,"Learning To Detect Unseen Object Classes by Between-Class Attribute Transfer.",In CVPR, pages 951–958, 2009.
[10]J.Joo,S.Wang,and S. Zhu,"Human Attribute Recognition by Rich Appearance Dictionary", International Conference on Computer Vision (ICCV), 2013.
[11]K.Duan,L.Marchesotti,and D.J. Crandall,"Attribute-based Vehicle Recognition using Viewpoint-aware
Multiple Instance SVMs.",IEEE Winter Conference on Applications of Computer Vision. 2014.
[12]A.Farhadi,I.Endres,and D.Hoiem,"Attribute-Centric Recognition for Cross-category Generalization.",CVPR 2010.
[13]L.Bourdev,"Poselets and Their Applications in High-Level Computer Vision".",UC Berkeley Electronic Theses and Dissertations,2011.
[14]N.Kumar,A.C. Berg,P.N. Belhumeur,and S.K. Nayar,"Attribute and Simile Classifiers for Face Verification", ICCV 2009.
[15]V. Ferrari, M. Marin-Jimenez, and A. Zisserman," Progressive search space reduction for human pose estimation.", In CVPR, 2008.
[16]V. Ferrari and A. Zisserman ,"Learning visual attributes." In NIPS,2007.
[17]T. L. Berg, A. C. Berg, and J. Shih,"Automatic attribute discovery and characterization from noisy web data.", In ECCV, 2010.
[18]J. Wang, K. Markert, and M. Everingham," Learning models for object recognition from natural language descriptions.",In BMVC09.
[19]G.Wang , D.Forsyth," Joint learning of visual attributes, object classes and visual saliency".In: ICCV ,2009.
[20]G. W. Cottrell and J. Metcalfe. Empath," face, emotion, and gender recognition using holons. ",In NIPS, 1990.
[21]B. A. Golomb, D. T. Lawrence, and T. J. Sejnowski. Sexnet,"A neural network identifies sex from human faces.", In NIPS, 1990.
[22]D.A.Vaquero , R.S.Feris, D.Tran, L.Brown, A.Hampapur,M.Turk,"Attribute-Based People Search in Surveillance Environments", In: IEEE WACV,2009.
[23]N. Kumar, P. N. Belhumeur, and S. K. Nayar," FaceTracer: A Search Engine for Large Collections of Images with Faces.",In ECCV08.
[24]A. Gallagher and T. Chen," Estimating age, gender and identity using first name priors.", In CVPR, 2008.
[25]L. Sigal, D. J. Fleet, N. F. Troje, and M. Livne." Human attributes from 3d pose tracking." In ECCV, 2010.
[26]C.Lampert,"Semantic Attributes for Object Categorization.",IST Austria (Institute of Science and Technology Austria),Klosterneuburg, Austria,82pages.
[27]http://www.eecs.berkeley.edu/~lbourdev/poselets

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


  1. Category

  2. Pose

  3. Aspect

  4. Discriminative

  5. Detector

  6. Latent

  7. framework

  8. Extension

  9. Unsupervised

  10. attribute-based

  11. feature

  12. Classifier

  13. part-based

  14. subordinate categories

  15. low-level

  16. generative

  17. Data Set

  18. Training

  19. annotation

  20. Cluster

  21. Person Detection Hypothesis

  22. Score

  23. False Positive

  24. Test

  25. True Positive

یاسر سوری

با سلام

گزارش شما ایرادات زیادی دارد که لازم است برای فاز بعد حتما آن‌ها را تصحیح نمایید. یکی از ایرادات عجیب آن ارجاع دادن غلط است. شما در متن خود گفته‌اید «در این بخش برای آموزش 1200 عدد Poselet از روش Burdev و همکارانش در [23] استفاده شده است» در حالی که مقاله شماره ۲۳ مربوط به افراد دیگری است. ضمنا خوانایی گزارشتان پایین است. بهتر از متن خود را با دقت بیشتر و خوانا‌تر بنویسید.
کدی که قرار داده‌اید مربوط به مقاله شماره ۲ است. آیا در آن تغییراتی داده‌اید؟ چرا دقت دسته‌بندی را گزارش نکرده‌اید.

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