تشخیص صفت در تصویر

مقدمه

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

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

4. یادگیری صفات تصویر با استفاده از IBP:
تقریبا در اکثر الگوریتم‌های یادگیری صفت و چارچوب‌های تشخیص شیء مبتنی بر صفت، صفات باید از قبل تعریف شده‌باشند. در [8] تلاش بر این است که صفات به یک روش کاملا بی‌ناظر9 از مجموعه عکس‌های داده‌شده آموزش داده شود. از یک متد آماری بیزین10 که غیرپارامتری و داده گرا11 است استفاده می‌کنیم که Infinite Sparse FactorAnalysis نامیده می‌شود و یک روش تبدیل خطی است که وابستگی آماری اجزای نمایش را به حداقل می رساند. برای داشتن یک تعداد نامحدود از اجزاء، یک تقدم برای یک ماتریکس دودویی از صفات پنهان قرار می‌دهیم . در اینجا از یک تقدم غیرپارامتری به نام (IBP) Indian Buffet Process استفاده می‌شود.

کارهای مرتبط

به‌طور کلی تحقیقات روی صفات به دو دسته تقسیم می شوند؛ دسته‌ی اول، از صفات به‌عنوان لایه نمایش میانی با هدف توصیف خواص اشیاء یا تشخیص کلاس آن‌ها و همچنین انتقال یادگیری بین کلاس‌ها استفاده می‌کنند.
Lampert و همکارانش در [9] نشان دادند که صفات برای تشخیص اشیاء جدید که تابحال دیده نشده اند مفید هستند، به شکل مشابهی، Farhadi و همکارانش در[1]اشیاء را با صفاتشان توصیف می‌کنند و نشان می‌دهند که روش‌های مبتنی بر صفت12 به‌خوبی در دسته‌های اشیاء تعمیم می‌یابند. آن‌ها یک طرح تشخیص دسته‌ی شیء ارائه داده‌اند که رده‌بند13های صفت با استفاده از ویژگی14های منتخب آموزش داده شده بودند (برای هر صفت، یک رده‌بند) و دسته‌ی شیء توسط اعمال رده‌بندهای تک صفته روی تصاویر، تشخیص داده می‌شوند.
Wang و Mori در [3] یک مدل نهفته آموزش دیده به صورت افتراقی)discriminative) برای اتصال مدل‌سازی کلاس‌های شیء و صفات دیداری آن‌ها ارائه کردند. در این روش، صفات یک شیء به عنوان متغیر‌های نهفته تلقی می‌شود و ارتباطات(همبستگی‌های) میان صفات را بدست می‌آورند.
Farhadi و همکارانش در[12] یک روش برای بومی کردن صفات مبتنی بر جزء 15 ارائه می‌کنند؛ مثل سر، یا یک چرخ. آن‌ها آشکار‌سازهایی را برای بخش‌ها و دسته‌های فرعی16 آموزش دادند و خروجی رده‌بندها را برای رأی دادن به یک شیء استفاده کردند؛ برای مثال، یابنده‌های "پا"، "سر" و "سگ" تمایل دارند که به شیء "چهارپا" رأی بدهند. در کار آن‌ها صفات استفاده شده برای رأی گیری باید معنایی باشند و به خوبی به دیگر تصاویر از دسته های مشابه تعمیم داده شوند.
Ferrari و همکارانش در[15]کار تشخیص و بومی‌کردن صفات سطح پایین17 در یک چارچوب مولد18 (تولیدی) را انجام دادند. آن‌ها توانستند رنگ و بافت اشیاء را تشخیص بدهند.کشف خودکار ویژگی‌ها از متن و تصاویر مربوط هم در[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] برای تشخیص چهره، استفاده از صفات صورت را پیشنهاد می‌دهند. آن‌ها رده‌بند را برای دو نوع از صفات آموزش داده‌اند، یکی مربوط به ظاهر بصری، مثل "سفید" یا "چاق" و دیگری مربوط به شباهت چهره‌ها یا نواحی چهره. این صفات بعدا برای تشخیص چهره استفاده می‌شوند. Kumar و همکارانش همچنین در [23] جستجوی بصری را ارائه داده‌‌اند.
Gallagher و Chen در[24] استنتاج جنسیت و سن از ویژگی‌های بصری ترکیب شده با نام‌ها را بررسی کرده‌اند. همچنین Sigal و همکارانش در[25] استخراج صفات جنسیت، سن و وزن از داده های سه بعدی را بررسی کرده‌اند.

آزمایش‌ها

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

soft mask

همچنین، از روش [27] برای تشخیص Poseletها در یک تصویر و تقسیم بندی آن‌ها به دو خوشه22 استفاده شده است. این دو خوشه عبارتند از: فرضیه‌های تشخیص فرد 23 و پیش بینی مرزهای بدن هر شخص.
حالا باید تصمیم بگیریم که کدام خوشه از Poseletها به شخص در مرکز عکس برمی‌گردد و کدام‌یک به شخص در پس زمینه. مجموعه دادگان ما حاوی نمونه های بسیاری از اشخاص است که بسیار به هم نزدیک هستند، بنابراین قرار دادن مستطیل محدوده‌ی مربوط به شخص اصلی در نزدیک‌‌ترین محل به مرکز عکس همیشه درست نیست. درعوض، ما می‌توانیم بهترین انتساب را از طریق اولویت دادن به Poseletهایی با امتیاز 24 بالاتر- که نتیجه‌ی آن به احتمال کمتری مثبت اشتباه25 است- پیدا کنیم. نحوه‌ی امتیاز‌دهی به Poseletها در قسمت آزمون26 شرح داده می‌شود.
الگوریتم آزمون ما بصورت کلی به این ترتیب است(شکل2):
مرحله اول: Poseletها را روی عکس‌های مورد‌آزمایش بکار می‌بریم و با توجه به شخص مورد نظر، تعیین می‌کنیم که کدام یک مثبت واقعی 27هستند و بدین ترتیب امتیاز‌ها محاسبه می‌شوند.
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] و همینطور تصاویر بالا قابل مشاهده می‌باشد این است که اغلب، مرد‌هایی که به اشتباه "زن" دسته‌بندی شده‌اند موهای بلندی دارند و زن‌هایی که "مرد" دسته‌بندی شده‌اند موهایشان مخفی شده‌است.

توضیح تصویر

این شکل منحنی‌های precision-recall رده‌بند‌های صفت روی Test set را نشان می‌دهد. نتیجه کامل و بدون محدودیت این روش (ستون شماره 9 جدول 1) با منحنی سبز‌رنگ نمایش داده ‌شده است. کارایی ما بدون رده‌بند‌های context (ستون 7) به رنگ قرمز نشان داده شده است (رده‌‌بند‌‌های context پیشتر توضیح داده شدند.)؛ SPM 28 با استفاده از بهترین دید برای هر صفت (ماکزیمم ستون‌های 3 تا 6) به رنگ آبی نشان داده شده و فراوانی برچسب29 (ستون 2) با خط چین مشکی نشان داده شده است.
بهترین دید برای هر صفت به معنی انتخاب تکه‌‌ای از تصویر با زاویه‌ی مناسب است که با آن بهتر می‌توان صفت را تشخیص داد.
برای نشان دادن تاثیر این روش، تاثیر غیرفعال کردن هر تکه از مدل را بررسی می‌کنیم. ستون‌های 7 تا 9 جدول شماره 1 تاثیر غیرفعال سازی ویژگی‌‌هایskin و رده‌بند Context را نشان می‌دهد. همان‌طور که انتظار می‌رود ویژگی‌های Skin برای نوع لباس (5 سطر آخر جدول) ضروری هستند و بدونskin، متوسطAP 30آن‌ها از 63.18 به 55.10 کاهش می‌یابد. صفات دیگر مثل جنسیت و مدل مو کاملا بی‌تاثیر از skin است. رده‌بند context در بهبود کارایی 7 تا از صفت‌ها کمک می‌کند و کارایی 2تا را کاهش می‌دهد و در نهایت، متوسط AP کلی را از 61.5 به 65.2 افزایش می‌دهد.
مدل اصلی از canny-modulated Histogram همراه با Spatial Pyramid Matching Kernel استفاده می‌کند. نتیجه‌ی آموزش این روش بصورت بدون محدودیت روی اشخاص در ستون 6 جدول 1 نشان داده شده است.

توضیح تصویر

این جدول متوسط دقت (AP) تکه های مربوط به روش بحث شده را توضیح می‌دهد.Freq، فراوانی برچسب مورد نظر است.
مدل‌های SPM جداگانه‌ای روی سر(Head)، پایین تنه(Lower)، بالاتنه(Upper) و کل قسمت‌ها(BBox) آموزش داده شده‌اند:
توضیح تصویر

این روش با غیرفعال کردن ویژگی‌هایSkin (No skin )، رده بند‌هایcontext (No ctxt) و در حالت کامل (Full) آزموده شده است.

بهینه سازی

در چند سال گذشته از SVMهایی که از کرنل SPMاستفاده می‌کنند،در رده‌بندی عکس‌ها استفاده شده است. با این وجود، این SVMهای غیرخطی، پیچیدگی O(n2~n3) در آموزش و O(n) در تست دارند، که n سایز آموزش است. برای ما مهم است الگوریتم‌هایی داشته باشیم که بیشتر از هزاران نمونه آموزشی را دسته‌بندی کنند؛ ما هم در روش خود از این SVM ها استفاده کردیم؛ پس باید روشی را به‌کار ببریم که مقداری این پیچیدگی را کاهش بدهد. روشی که ارائه می‌شود پیچیدگی SVMها را به O(n) در آموزش و یک مقدار ثابت در تست کاهش می‌دهد.
در تعدادی آزمایشات انجام شده، نشان داده شده است که SVM خطی پیشنهاد شده که مبتنی برSparce coding روی SIFT descriptor هاست از نظر دقت رده‌بندی بهتر از کرنل SPM خطی روی هیستوگرام‌ها و یا حتی بهتر از کرنل‌های SPM غیرخطی است[28].
در اینجا یک الحاق از روش SPM ارائه می‌شود که یک نمایش تصویر Spatial Pyramid را محاسبه می‌کند. این ارائه تصویر مبتنی بر SC(Sparse Code)ها از ویژگی‌های SIFT است، در صورتی‌که در SPM مرسوم این ارائه مبتنی بر k-means VQ(Vector Quantization) است. بر خلاف SPM اصلی که spatial pooling را با محاسبه هیستوگرام‌ها اجرا می‌کند، روش ما که ScSPM نامیده می‌شود، از max spatial pooling استفاده می‌کند که برای ترجمه‌های فضایی محلی [local spatial translation^] قوی‌تر و قابل قبول‌تر است[29].
این نمایش تصویر جدید، خواص برجسته تری از الگو‌های بصری را بر‌می‌دارد و آن‌ها را با رده‌بند‌های خطی تبدیل می‌کند. مقایسه شماتیک بین SPM اصلی با ScSPM در شکل4 نشان داده شده است. تابع spatial pooling در SPM غیر خطی averaging است، اما این تابع در ScSPM تابع max pooling است.

توضیح تصویر

اکنون لازم است که با نحوه کد کردن SIFT از VQ به Sc آشنا شویم:
فرض کنید که X یک مجموعه از توصیف‌گر‌های ظاهر31 SIFT در فضای ویژگی D بعدی است، به‌عنوان مثال:

توضیح تصویر

روش VQ(vector quantization) الگوریتم خوشه‌‌بندی32 K-means را برای حل مسئله زیر به کار می‌برد:
توضیح تصویر

در این معادله:
توضیح تصویر

که v1 تا k ،vk تا مرکز خوشه است که باید پیدا شود و code book نامیده می‌شوند. || || هم نشان دهنده‌ی L2-norm بردارهاست. این مسئله‌ی بهینه‌سازی می‌تواند به یک مسئله‌ی matrix factorization با شاخص‌های عضویت خوشه‌ی U
توضیح تصویر

به شکل دیگری فرموله شود:
توضیح تصویر

که Card(um) = 1 یک محدودیت کاردینالیتی است، به این معنی که تنها یک عنصر از um غیر صفر است و um≥0 به این معنیست که تمام عناصر um غیر منفی هستند. | um|، فرم L1-norm برای um است؛ به معنی جمع ارزش مطلق هر عنصر در um. پس از بهینه سازی، ایندکس عنصر غیر صفر در um نشان می‌دهد که بردار Xm متعلق به کدام خوشه است. در فاز آموزش VQ، معادله بهینه سازی بالا با توجه به هر دوی U و V حل می‌شود. در فاز کد، V آموزش داده شده برای هریک مجموعه جدید از X بکار برده می‌شود و این معادله‌ی بهینه سازی فقط با توجه به U حل می‌شود.
ممکن است شرط Card(um) = 1 بسیار محدود کننده باشد. ما می‌توانیم این محدودیت را با قرار دادن یک جایگزین L1-norm روی um، که um را مجبور می‌کند تعداد کمی عناصر غیر صفر داشته باشد، کم کنیم. به این ترتیب، فرمول VQ به مسئله دیگری تبدیل میگردد که تحت عنوان Sparse coding (Sc) شناخته می‌شود:
توضیح تصویر

محدودیت L2-norm روی Vk برای امتناع از راه حل‌های بی‌اهمیت اعمال می‌شود.
مشابه VQ، SC یک فاز آموزش و یک فاز کد دارد. ابتدا یک مجموعه توصیف‌گر33 X از یک مجموعه تصادفی از تکه‌های عکس برای حل رابطه (1) استفاده می‌شود؛ البته با توجه به U و V، که V بعنوان codebook دوباره آموزش داده می‌شود. در فاز کد، برای هر تصویر که به عنوان یک مجموعه توصیف‌گرX نمایش داده شده، کد‌های SC با معادله بهینه سازی (1) و فقط با توجه به U بدست می‌آید.
به دلیل برخی خواص جالب SC، ما برای بدست آوردن بازنمایی34‌های تصویر، SC را انتخاب می‌کنیم. برخی از این خصوصیات عبارتند از:

  • بعلت محدودیت کمتر کد SC نسبت به کدSC ، VQ می‌تواند به یک خطای بازسازی کمتری برسد.

  • اسپارس (خلوت) بودن باعث می‌شود که بازنمایی، خاص باشد و خواص برجسته‌ی تصاویر را انتخاب کند.

پیاده کردن این بهینه سازی:

قسمت Sparse Coding:
مسئله بهینه‌سازی رابطه (1) را در نظر بگیرید؛ راه حل معمولی برای چنین مسئله‌ای حل کردن آن با بهینه‌سازی متناوب روی V یا U است(در حالیکه دیگری را ثابت نگه داشته‌ایم). با ثابت نگه‌ داشتن V، بهینه سازی می‌تواند با بهینه کردن هریک از ضرایب Um‌ بصورت جداگانه باشد:

توضیح تصویر

این یک مسئله رگرسیون خطی با L1-norm روی ضرایب است که تحت عنوان Lasso شناخته می‌شود.
با ثابت نگه داشتن U، مسئله به مسئله‌ی کوچکترین مربع با محدودیت‌های درجه دوم کاهش می‌یابد:
توضیح تصویر

در آزمایش‌ها از تعدادی توصیف‌گر SIFT که از تکه‌های تصادفی برای آموزش codebook استخراج شده‌اند استفاده می‌شود. این کار با تکرار مراحل معادلات (10) و (11) انجام می‌گیرد.
قسمت Multi Class Linear SVM:
ما یک پیاده‌سازی ساده از SVM های خطی تولید می‌کنیم که در آزمایش‌ها استفاده شده‌اند. با توجه به داده‌های آموزش زیر:

توضیح تصویر

هدف یک SVM خطی، یادگیری L تابع خطی زیر است:
توضیح تصویر

بطوری‌که برای یک داده تست Z، برچسب آن توسط رابطه زیر پیش بینی می‌شود:
توضیح تصویر

برای آموزش L عدد SVM خطی دودویی، یک استراتژی "یکی در مقابل همه" را استفاده می‌کنیم که هر کدام، مسئله‌ی بهینه سازی بدون قید و دنباله دار زیر را حل می‌کنند:
توضیح تصویر

که اگر yi=c آنگاه:
توضیح تصویر

وگرنه:
توضیح تصویر

کد1
Github

کارهای آینده

مراجع

[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] L. Bourdev, S. Maji, T. Brox, and J. Malik, "Detecting people using mutually consistent poselet activations.", In ECCV, 2010.
[28] J.Yang,K.Yu, Y.Gong, T.Huang, "Linear Spatial Pyramid Matching Using Sparse Coding for Image Classification" , IEEE Conference on Computer Vision and Pattern Recognition, 2009.
[29] T. Serre, L. Wolf, and T. Poggio, "Object recognition with features inspired by visual cortex.", In CVPR, 2005.
[30]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. Baysian

  11. Data-Deriven

  12. attribute-based

  13. feature

  14. Classifier

  15. part-based

  16. subordinate categories

  17. low-level

  18. generative

  19. Data Set

  20. Training

  21. annotation

  22. Cluster

  23. Person Detection Hypothesis

  24. Score

  25. False Positive

  26. Test

  27. True Positive

  28. Spatial Pyramid Matching

  29. lable

  30. Average Precision

  31. appearance descriptors

  32. clustering

  33. descriptor

  34. representation

ارزیابی آشنایی با مساله 1393/08/17
یاسر سوری

با سلام و تشکر از گزارشی که تهیه کرده‌اید. چند نکته به ذهن می‌رسد:

  • ایرادات نگارشی در متن شما وجود دارد، شایسته‌است که مقداری وقت صرف رفع آن‌ها نمایید. برای مثلا پس از نقطه و کاما باید فاصله قرار دهید. یا اینکه علامت جمع «ها» (برای مثال در مکان‌ها) باید به کلمه‌ی قبلی چسبیده باشد (با نیم‌فاصله جدا شده باشد نه با فاصله)

  • در هنگام ترجمه کردن سعی کنید که نگاه مجددی به جملات بکنید که پیوستگی مناسبی داشته باشند. برای مثال این جمله «صفاتی همانند جنسیت،مدل مو و انواع لباس افراد، با تنوع بسیار زیاد در زاویه دید و حالت(ژست) را تشخیص بدهیم» در ابتدای پاراگراف آمده است!

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

  • در بخش کارهای مرتبط، شماره‌ی ۳، این جمله کاملاً ترجمه شده است و خوب نیست: «در این روش،ما DPD(Deformable Part Descriptors) را ارائه میدهیم که یک چاچوب قوی و کارآمد برای توصیف حالت نرمال شده برپایه بخش های DPM دارد.» و همنیطور جملات بعدی. کاش کل این بخش را حذف می‌کردید چون خیلی پیوستگی متن شما را بر هم زده است.

  • در بخش کارهای مرتبط چرا ارجاع نداده‌اید؟

در کل کار شما مناسب است ولی خیلی «ترجمه‌ای» شده است. همچنین ایرادات نگارشی زیادی هم دارد. بهتر است شما مقالات را بخوانید و فقط به ترجمه کردن و نوشتن متون زیاد اکتفا نکنید و برداشت خود را مطرح کنید. اگر هم گنگ بود یا سؤالی داشتید می‌توانید از حل تمرین‌ها بپرسید. سعی کنید برای دفعات بعد ایرادات را برطرف نمایید.

ارزیابی مطالعه کارهای مرتبط 1393/09/15
تایید شده

مقدمه به خوبی نگارش شده بود.به نظر می آید که بخش "در ادامه به معرفی اجمالی چند روش تشخیص صفت میپردازیم" نیز جزو مقده باشد و نه کارهای مرتبط. بخش کارهای مرتبط به نظر می رسد از ترجمه کارهای مرتبط مقاله ها استفاده شده است و متوسط است.در کل تلاش کافی تا این مرحله پروژه انجام شده است.
با تشکر از شما

رد شده

با سلام
به نظر بنده ارائه روشها که در بخش کارهای مرتبط آورده شده است را بهتر بود در فاز قبلی در بخش مقدمه ذکر می کردند.
تقسیم کردن کارهای مرتبط به دو بخش و استفاده از روشهای متنوع و بیان خلاصه وار این روشها به میزانی که خواننده با روش آشنا شود از نقاط قوت این پروژه محسوب می شود.
با تشکر

تایید شده

به نظر من پژوهش شما کامل هست و می توان برای آن نمره کامل در نظر گرفت. فقط چند نکته کوچک به نظرم رسید که برای بهبود کارتان پیشنهاد می کنم:
بخش یادگیری صفات تصویر با استفاده از IBP برای من مبهم بود و چیز خاصی از آن متوجه نشدم.
بعضی جاها معادل مناسب به کار نرفته است. مثلا به جای classifier می توانید از معادل رده بند استفاده کنید. البته بعضی جاها معادل خیلی خوب به کار رفته مثلا افتراقی برای discriminative یا یابنده برای detector معادل های خیلی خوبی هستند.
معمولا مراجع با ترتیب و تقدم استفاده آن ها در متن ذکر می شوند. این موضوع در نوشته شما رعایت نشده است.
این موارد نکات ریزی هستند که فقط برای بهتر شدن کار بیان کردم. امیدوارم کمکی کرده باشم

یاسر سوری

چند نکته:

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

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

  • به نظر من این نتیجه گیری از مرجع یک برنمی‌آید. «درکل، نشان داده‌شده که روش صفت محور برای تشخیص شیء بهتر از نامگذاری سنتی عمل می‌کند و قابلیت‌های بسیاری ارائه میدهد[1].» به عبارت دیگر این حرف از نظر علمی دقیق نیست.

چند نکته‌ی مهم‌تر:

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

  • به این جمله توجه کنید: «صورت افتراقی برای اتصال مدلینگ کلاس‌های شیء» بهتر است که افتراقی را در پاورقی بنویسید ترجمه‌ی چه کلمه‌ایست. همچنین بهتر است از «مدلینگ» استفاده نکنید. پیشنهاد می‌کنم از «مدل‌سازی» به جای آن استفاده کنید.

  • «Kumar و همکارانش همچنین در [23] جستجوی بصری را ارائه داده اند.» این گونه نوشته‌ها که در متن شما موجود است، انسان را به شک می‌اندازد که آیا شما مقالات را به اندازه کافی عمیق مطالعه کرده‌اید یا خیر. این عبارت توضیحات کافی را ندارد و دقیق نیست. در بخش کارهای مرتبط خیلی ترجمه‌ای نوشته‌اید.

  • در دسته‌بندی که انجام داده‌اید در واقع دسته‌ی دوم زیر مجموعه‌ی دسته‌ی اول است.

  • بهتر بود این قسمت دسته‌بندی را با قسمتی که در فاز قبل نوشته‌ بودید به نحوی ترکیب می‌کردید تا اینگونه گسسته نباشد. در حال حاضر متنتان پیوستگی لازم را ندارد که ایراد بزرگی است.

موفق باشید.

ارزیابی گزارش نتایج آزمایش 1393/10/13
یاسر سوری

با سلام

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

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

تایید شده

توضیحات خوبی در مورد مسئله داده شده بود ولی در در قسمت کارهای آینده ایده ای مطرح نشده.
در قسمت بهینه سازی روش هایی را توضیح داده اید ولی نتایج را برای مقایسه با قسمت قبل قرار نداده اید.

تایید شده

براي نوشتن اين پروژه خسته نباشيد عرض مي كنم خيلي دقيق روند كار توضيح داده شده و بخش های مقدمه وکارهای مرتبط به خوبی مسئله را شرح داده است. استفاده از مقالات به روز و جدید ارزش پروژه شما را بیشتر نشان می دهد. فقط چند نکته ای که به ذهنم میرسد: 1. بهتر بود فرمول ها را به جای عکس گرفتن تایپ میکردید. 2. بخش کارهای آینده انجام نشده است .
در کل کار قابل قبولی ارائه کردید.
با آرزوی موفقیت شما

تایید شده

با سلام
پروژه در قسمت مقدمه خوب نوشته شده..در قسمت کارهای کرتبط بهتر بود که چند تا از روش ها به صورت کامل توضیح داده می شد. بهتر بود در قسمت آزمایش پیاده سازی این پروژه انجام می شد(بیشتر توضیح یک روش ارائه شد در قسمت آزمایش)
بهتر بود کدها توضیح داده می شد و خروجی مشاهده می شد.
در قسمت مربوط به کارهای آینده هم مطمئنا پیشنهادهایی وجود دارد که بهتر بود حداقل یک پیشنهاد ارائه می شد.

تایید شده

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