در این پروژه شما باید هر تصویر را با توجه به محتوای1 آن دستهبندی2 نمایید. برای مثال آیا شیئی3 از یک دسته4 خاص (مثل صفحه کلید) در تصویر وجود دارد یا خیر. یا اینکه تصویر متعلق به صحنه5 فرودگاه است یا خیابان. به مثال اول دستهبندی شیء و به مثال دوم دستهبندی صحنه گفته میشود.
در حالت کلی این سامانهها بر پایهی چارچوب یادگیری ماشین کار میکنند. بدین معنی که با داشتن تعدادی نمونهی مثبت و تعدادی نمونه منفی، برای یک تصویر جدید بتواند دستهبندی را انجام دهد.
مقدمه
همان طور که توضیح داده شد، یکی از انواع دسته بندی تصاویر، دسته بندی شیء است. در دسته بندی شیء، مسئله «بازشناسی شیء» کاربرد دارد، لذا در ادامه این مسئله معرفی می گردد.
در بازشناسی شیء، ابتدا باید با استفاده از تصاویری که به سامانه داده شده به یادگیری دسته های اشیا پرداخت، سپس باید در تصاویر جدید تشخیص داد که نمونه ای از گروه های یادگرفته شده در تصویر وجود دارد یا نه.
بازشناسی شی در تصویر به دو دسته عمومی6 و اختصاصی7 تقسیم می شود. در بازشناسی به صورت عمومی، هدف ما شناخت تصاویر مربوط به یک دسته از اشیا می باشد، مانند تشخیص ساختمان، ماشین و یا دوچرخه در تصویرهای مختلف ولی در حالی که در بازشناسی به صورت اختصاصی، شناسایی یک شی خاص مورد نظر است. برای مثال بازشناسی تصویر چهره کارل گاوس و یا برج ایفل. موضوعی که در هر دو دسته مشترک است، وجود تفاوت بین نمونه های مختلف از تصاویر یک شی و یا یک دسته است. [1]
در حال حاضر برای بازشناسی اشیا خاص، بیشتر تطابق8 و صحیح یابی هندسی9 تصاویر بررسی می شود. ولی برای بازشناسی اشیا به صورت عمومی از مدل آماری10 مربوط به شکل که با یادگیری از مثال ها به دست آمده، استفاده می شود. برای یادگیری در بازشناسی به صورت عمومی، تصاویری مربوط به یک دسته مشخص جمع آوری می شود و از آن ها مدلی برای پیش بینی11 وجود یا مشخص کردن محل12 شی در تصاویر جدید ایجاد می شود.[1]
بازشناسی اشیا خاص نسبت به بازشناسی اشیا به صورت عمومی ، کامل تر بوده و جنبه تجاری نیز پیدا کرده است، ولی فعلا مسئله بازشناسی عمومی تا حد زیادی حل نشده است.[9]
با توجه به سطح دقتی که نیاز داریم، یک سیستم بازشناسی اشیا می تواند وظایف متفاوتی داشته باشد، برای مثال در تصویر زیر سطوح متفاوتی از دقت در بازشناسی مشخص شده است:
چالش ها[1]
نمونه های یک شی در تصاویر مختلف، بسته به شرایط می توانند بسیار متفاوت از هم باشند، که باعث دشوار شدن فرآیند بازشناسی و دسته بندی می شود. عوامل تاثیرگذار در این زمینه عبارتند از:
وضعیت روشنایی13
وضعیت شی14
زاویه دید دوربین
انسداد 15
شلوغی16 پس زمینه تصویر و ... .
در تصویر زیر به این عوامل اشاره شده است:
به جز موارد اشاره شده در فوق که مربوط به تحمل پذیری خطا17 بودند، چالش جدی دیگر در این زمینه مربوط به پیچیدگی محاسباتی18 و مقیاس پذیری19 است. یعنی باید از الگوریتم هایی کارا و بهینه برای بدست آوردن ویژگی های مختلف تصاویر استفاده کنیم تا بتوان از آن ها در جستجوی پایگاه های داده بزرگ از تصاویر، استفاده کرد.
کارهای مرتبط
در مرجع [2] روشی برای استخراج ویژگی های نامتغیر و متمایز کننده از تصاویر ارائه شده است که می توان با اطمینان بالایی از آن برای تطابق نماهای مختلفی از یک شی استفاده کرد. این ویژگی ها نسبت به مقیاس و نیز دوران تصویر نامتغیر هستند. این مقاله همچنین دیدگاهی برای استفاده از این ویژگی ها در بازشناسی اشیا ارائه می دهد.
در بازشناسی اشیا به صورت عمومی یکی از ساده ترین الگوریتم ها برای مشخص کردن یک دسته خاص از اشیا روش سبد کلمات20 می باشد که تصاویر و اشیا را به صورت مجموعه ای غیر ترتیبی از توصیف کننده های ویژگی ها در نظر می گیرد. (بخش هایی از کتاب های [1] و [9])
در کاربردهای مختلف، دسته بندی تصاویر معمولا به صورت یک مسئله با چند برچسب در نظر گرفته می شود که هر تصویر می تواند به چند دسته تعلق داشته باشد. در مرجع [16] هر تصویر به چندین بلوک تقسیم می شود و بلوک ها برچسب می خورند. سپس از مجموعه بلوک های برچسب گذاری شده، برای توصیف یک تصویر استفاده می شود. همچنین به جای اینکه مستقیما به یک بلوک از تصویر برچسبی را نسبت دهیم، از دسته بند21 آدابوست22 چند کلاسه23 برای یادگیری احتمال تعلق این بلوک به یک برچسب خاص استفاده می شود.
در مرحله بعدی، یک مدل مبتنی بر MRF 24 برای جمع کردن اطلاعات هر بلوک برای دسته بندی معرفی می شود.
در تصویر زیر روند ارائه شده در این مقاله برای دسته بندی مشاهده می شود:
این روش از خروجی های نرمال شده دسته بند آدابوست برای ساخت یک مدل MRF استفاده می کند. برای یک برچسب که به یک بلوک نسبت داده شده، هدف ما بیشینه کردن احتمال25 است که به این صورت تعریف می شود:( P(X_i | l که متناسب با تابع توزیع گیبس است: (( P(X_i | l) α exp(-U(X_i | l
در فرمول فوق l نماد برچسب است و ( U(X_i | l تابع انرژی نامیده می شود، که از مجموع پتانسیل های مربوط به هر بلوک جداگانه و همچنین پتانسیل دو بلوک مجاور که یک برچسب دریافت کرده اند. [16]
مرجع [17] نیز برای دسته بندی تصاویر از MRF استفاده کرده است. برای سادگی محاسبات از فرض توزیع مستقل یکسان26 برای پیکسل ها استفاده می کنیم که این فرض باعث بروز اشتباهاتی در نتایج می شود. برای بهبود نتایج بدست آمده و همچنین اختصاص زمان کمتر برای محاسبات، در این پروژه از مدل گرافیکی بدون جهت27 (تکنیک MRF) استفاده شده است.
ممکن است به علت محدودیت های دوربین و یا عوامل دیگر نویزی در یک قسمت کوچک از یک تصویر وجود داشته باشد که باعث دسته بندی اشتباه آن قسمت شود، برای اینکه این مشکل حل شود و یا به اصطلاح نتایج دسته بندی هموار28 شود، باید اطلاعات همسایگی در نظر گرفته شود. بدین منظور می توان از چارچوب بیز29 استفاده کرد. از این کار دو هدف را دنبال می شود: اول اینکه رویه دسته بندی باید اطلاعات محتوایی(متنی)30 را در نظر بگیرد و هدف دوم این است که محاسبات قابل مهارشدن باشند31. از دیدگاه نظریه بیز اطلاعات محتوایی ، نوعی دانش پیشین است32 و داده ها نیز برای بدست آوردن احتمال استفاده می شوند . حال ایده استفاده از چارچوب MRF این است که احتمال به صورت محلی محاسبه شود ولی اطلاعات پیشین با استفاده از تکنیک MRF به صورت احتمال توام33 مربوط به پیکره بندی34 کل تصویر مدل شود. و در نهایت از قانون بیز برای بدست آوردن اطلاعات پسین35 مربوط به تصویر که احتمال تعلق آن به یک دسته خاص می باشد، استفاده می شود.[17]
برای اینکه محاسبات مربوط به اطلاعات پیشین قابل مهار باشد باید از فرض مارکوف36 استفاده شود. یعنی برچسب هر پیکسل مستقل از برچسب پیکسل هایی است که به طور مستقیم همسایه آن هستند.[17]
سیستم همسایگی مرتبه اول به این صورت است:
در مرجع [18] در ابتدا یک مکانیزم با استفاده از رویدادهای کلمه تصویری37 تشخیص اشیا را انجام داده و یک قسمت بندی38 به صورت تقریبی ایجاد می شود، سپس با استفاده از یک مولفه MRF مرزبندی دقیق و واضح در تصویر ایجاد می شود.
آزمایشها
داده های مورد استفاده در این پروژه مربوط به گروه تحقیقات مایکروسافت است . صفحه مربوطه و پروژه هایی که از این مجموعه دادگان استفاده کرده اند از اینجا قابل دسترس می باشد.
مجموعه دادگان از اینجا قابل دریافت است.
این مجموعه دادگان شامل 591 عکس با سایز 213*320 پیکسل است که در 21 دسته قرار دارند. همچنین در همه عکس ها، پیکسل ها برچسب گذاری شده اند لذا می توان از آن برای یادگیری با ناظر استفاده کرد.
به ازای هر تصویر در این مجموعه، تصویری متناظر وجود دارد که در آن، تصویر اصلی قسمت بندی شده و همه پیکسل ها نیز برچسب گذاری شده اند. مانند تصویر زیر:
همچنین هر دسته رنگ خاصی دارد، که رنگ ها به صورت زیر مشخص شده اند:
نکته مهم دیگر این است که برای یادگیری دسته های اسب و کوه به تعداد کافی تصویر در این مجموعه دادگان وجود ندارد.و از آن ها استفاده نمی شود.
آزمایش اول
در اینآزمایش با استفاده از زبان سی پلاس پلاس و کتابخانه اپن سی وی ، مدل CRF که از مدل های گرافیکی بدون جهت می باشد، پیاده سازی شده است.
پروژه شامل دو قسمت یادگیری و تست است.
در بخش یادگیری ابتدا تابع توزیع مربوط به هر کدام از دسته های تصاویر که در مجموعه دادگان وجود دارند را محاسبه کنیم. فرض ما این است که هر کدام از کلاس ها دارای تابع توزیع نرمال هستند:
همچنین ویژگی مورد نظر ما که از تصاویر استخراج و از آن برای دسته بندی استفاده می کنیم، معیار RGB برای هر پیکسل می باشد. یعنی میزان شدت رنگ های قرمز، سبز و آبی در هر پیکسل از تصویر. در نتیجه بردار ویژگی دارای سه مولفه خواهد بود.
محاسبه تابع توزیع برای هر کدام از کلاس ها به این صورت است که ابتدا یکی ازبرچسب ها( دسته ها)ی موجود برای تصاویر را انتخاب می کنیم، سپس در تصاویر موجود در مجموعه دادگان، دنبال پیکسل هایی می گردیم که برچسب آن ها با دسته انتخاب شده یکسان باشد، هر وقت به چنین پیکسل هایی رسیدیم بردار ویژگی آن که شامل مقادیر قرمز، سبز و آبی آن پیکسل است را در یک آرایه از بردارهای ویژگی ذخیره می کنیم.
در مرحله بعدی برای بدست آوردن تابع توزیع، با توجه به اینکه فضای ویژگی ها سه بعدی است، باید همبستگی بین ویژگی ها نیز در نظر گرفته شود لذا برای داده های جمع آوری شده در مرحله قبل، بردار میانگین و ماتریس کوواریانس بدست بیاوریم. و از آن برای محاسبه تابع توزیع نرمال چند متغیره استفاده می کنیم.
مطابق فرمول زیر:
لازم به ذکر است فایل calculation.cpp برای محاسبه موارد اشاره شده در فوق است!
در مرحله بعدی باید تصویر را قسمت بندی کنیم ، در اینجا از الگوریتم Mean-Shift برای قسمت بندی تصاویر استفاده شده است.نتایج قسمت بندی با استفاده از این الگوریتم در تصاویر زیر قابل مشاهده است:
تصویر اصلی:
قسمت بندی تصویر با استفاده از الگوریتم Mean-Shift:
سپس برای هر کدام از قسمت های ایجاد شده بردار میانگین ویژگی بدست می آوریم. در نهایت با استفاده از بردار های میانگین تابع پتانسیل بدست می آوریم که با استفاده از آن تابع احتمال محاسبه خواهد شد.
مدل گرافیکی در نظر گرفته شده در این پروژه مشابه تصویر زیر است: (تصویر مربوط به درس PGM خانم Koller است)
همانطوری که در گراف رسم شده در تصویر فوق مشاهده می شود، فرض بر این است که بین گره های سطح دو که در واقع برچسب های هر قسمت از تصویر هستند یال ارتباطی وجود ندارد، یعنی برچسب هر قسمت مستقل از سایر قسمت ها است.
برای محاسبه تابع احتمال تعلق تصویر به هر دسته، ابتدا باید تابع پتانسیل مربوط به گره ها در گراف فوق را محاسبه کرد.
تابع پتانسیل به صورت زیر محاسبه می شود:
که در اینجا مقدار پارامتر V_20 یک مقدار ثابت است.
سپس برای محاسبه احتمال از فرمول زیر استفاده می شود:
مرحله تست: نصف تصاویر موجود در مجموعه دادگان برای یادگیری و نصف دیگر برای تست استفاده می شود.
در این مرحله برای اینکه برچسب کل یک تصویر مشخص شود ، اول تصویر مشابه قسمت قبل قسمت بندی می شود، سپس بردار میانگین مقادیر ویژگی ها برای هر کدام از قسمت ها محاسبه می شود. حال اگر این بردار را به صورت ورودی به تابع توزیع احتمالی بدهیم که برای هر کدام از دسته ها، در مرحله یادگیری بدست آوردیم، خروجی میزان احتمال تعلق آن قسمت از تصویر به دسته مورد نظر است و در نهایت هر کدام از برچسب ها که احتمال های بدست آمده برای آن بیشتر باشد، به قسمت جدا شده از تصویر نسبت داده می شود.
پس ازاین مرحله با استفاده از تابع احتمالی که از توابع پتانسیل در مرحله یادگیری بدست آمده بود میزان احتمال هر کدام از برچسب ها محاسبه می شود و بیشترین مقدار احتمال بدست آمده، برچسب تصویر را مشخص می کند.
کد پروژه از طریق این آدرس قابل دسترس است.
آزمایش دوم
در این آزمایش از یک مدل CRF در سطح پیکسل استفاده شده است یعنی به هر کدام از پیکسل های موجود در تصویر برچسب یکی از کلاس ها زده می شود.
همچنین در این آزمایش برای افزایش دقت از ویژگی های بیشتری برای یادگیری استفاده شده است که عبارت اند از: ویژگی RGB که در آزمایش قبلی فقط از این ویژگی استفاده شده بود، HOG وLBP و مقدار متوسط روی سطر ها و ستون های تصویر.
نکته دیگر این است که در این مدل تنها پتانسیل یگانی 39 مربوط به هر پیکسل در نظر گرفته می شود که پتانسیل هر پیکسل میزان نزدیکی تعلق یک پیکسل به یک کلاس از اشیا را مشخص می کند.
بخشی از مجموعه دادگان به صورت تصادفی برای یاد گیری و بخشی دیگر برای تست انتخاب شده اند.
فرآیند یادگیری پیکسل ها در دو مرحله انجام می شود. در مرحله اول به صورت یک در مقابل همه40 برای هر کدام از کلاس ها یک boosted decision tree classifier آموزش داده می شود تا هر کلاسیفایر بتواند کلاس مربوط به خود را با توجه به ویژگی پیکسل ها پیش بینی کند.
در مرحله دوم یادگیری خروجی مرحله اول به یک کلاسیفایر لاجستیک رگرسیون چند کلاسه 41 داده می شود.
جهت ارزیابی مدل یادگرفته شده روی داده های تست، از الگوریتم Alpha expansion برای استنتاج استفاده می کنیم.این روش یکی از روش های تقریبی است که برای انجام استنتاج روی میدان تصادفی شرطی (CRF) به کار می رود.
همچنین برای پیاده سازی از کتابخانه داروین که در زمینه یادگیری و بینایی ماشین می باشد، استفاده شده است.
نتایج ارزیابی به صورت زیر است:
همانطور که در تصویر فوق مشاهده می شود:
دقت کلی که از رابطه:
بدست می آید برابر است با: 78.39 %متوسط بازخوانی 42 که از رابطه:
بدست می آید برابر است با: 66.63%همچنین متوسط مقدار امتیاز جاکارد 43 تقریباً برابر 0.53 است.
امتیاز جاکارد، معیاری برای مقایسه شباهت و یا تفاوت مجموعه نمونه هاست. که این مقدار برای دو مجموعه از رابطه زیر محاسبه می شود:
در شکل های زیر چند نمونه از عملکرد برنامه روی داده های تست را مشاهده می کنید: ( در هر قسمت، تصویر اصلی سمت چپ، خروجی برنامه که در واقع برچسب مربوط به هر پیکسل است در وسط، و در سمت راست نیز تصویر اصلی و خروجی برنامه برای مقایسه بهتر روی هم قرار داده شده اند.)
آزمایش سوم
در آزمایش سوم تلاش بر این بود که نتایج آزمایش دوم بهبود یابد، بدین منظور در مرحله یادگیری علاوه بر پتانسیل یگانی، پتانسیل دو به دو 44 پیکسل ها نیز در نظر گرفته می شود که بین یک پیکسل و 8 پیکسل مجاور آن است.
مراحل یادگیری و ارزیابی مشابه آزمایش قبلی هستند، بهبود نتایج به صورت زیر است:
دقت کلی : 82.77 %
متوسط بازخوانی : 70.59 %
متوسط امتیاز جاکارد:تقریباً 0.6
همچنین ماتریس درهم ریختگی45 به صورت زیر است:
شکل های زیر نشان دهنده عملکرد برنامه روی تصاویری است که در آزمایش قبلی به عنوان نمونه قرار داده شده بود، افزایش دقت در برچسب ها قابل مشاهده است:
کد پروژه
کد آزمایش 2 و3 و کد مربوط به محاسبه دقت، به همراه توضیحات و نحوه اجرا برای گرفتن نتایج، از طریق این آدرس قابل دسترس است.
کارهای آینده
برای بدست آوردن نتایج بهتر می توان یک مرحله پیش پردازش هم به پروژه اضافه کرد که شامل حذف نویز46 و نرمال سازی رنگ ها47 باشد.
می توان ایده استفاده از سوپرپیکسل را در آزمایش دوم و یا سوم نیز پیاده سازی کرد.
مراجع
Kristen Grauman and Bastian Leibe,Visual Object Recognition, Synthesis Lectures on Artificial Intelligence and Machine
Learning, April 2011, Vol. 5, No. 2, Pages 1-181. لینکDavid G. Lowe, "Distinctive image features from scale-invariant keypoints," International Journal of Computer Vision, 60, 2 (2004), pp. 91-110 لینک
Fischler, Martin A., and Robert C. Bolles. "Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography." Communications of the ACM 24.6 (1981): 381-395.
Philbin, James, et al. "Object retrieval with large vocabularies and fast spatial matching." Computer Vision and Pattern Recognition, 2007. CVPR'07. IEEE Conference on. IEEE, 2007. لینک
Arandjelovic, Relja, and Andrew Zisserman. "Smooth object retrieval using a bag of boundaries." Computer Vision (ICCV), 2011 IEEE International Conference on. IEEE, 2011. لینک
D. Nistér and H. Stewénius." Scalable recognition with a vocabulary tree". In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), volume 2, pages 2161-2168, June 2006 لینک
Arandjelovic, Relja, and Andrew Zisserman. "All about VLAD." Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on. IEEE, 2013. لینک
Erik B.Sudderth .”Graphical Models for Visual Object Recognition and Tracking.” Dept. EECS. MIT, May 2006.
R.Szeliski, Computer Vision: Algorithms and Applications, Springer, September 2010.
D.Koller and N.Friedman," Probabilistic Graphical Models: Principles and Techniques", MIT Press, 2010.
David G.Lowe, “Object Recognition from Local Scale-Invariant Features.” International Conference on Computer Vision(ICCV), September 1999.
David G.Lowe, “Distictive Image Features from Scale-Invariant Keypoints.” International Journal of Computer Vision, pages 91-110, 2004.
E.Nowak, F.Jurie, B.Triggs, “Sampling strategies for bag-of-features image classification.” Proceedings of the European Conference on Computer Vision.
Philbin, J., Chum, O., Isard, M., Sivic, J. & Zisserman, A. (2007)," Object retrieval with large vocabularies and fast spatial matching", in ‘Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition’.
Bay, H., Ess, A., Tuytelaars, T. & Van Gool, L. (2008), "SURF: Speeded-Up Robust Features", Computer Vision and Image Understanding 110(3), 346–359.
W.Zeng, X.Chen, H.Cheng, J.Hua,"Multi-Space Learning for Image Classification Using AdaBoost and Markov Random Fields", Solving Complex Machine Learning Problems with Ensemble Methods(COPEM), September 2013.
Xiaojin Shi, "Markov Random Field Modeling for Image Classification", Dept. CE. UCSC, 2004.
Diane Larlus, Fr?ed?eric Jurie, "Combining Appearance Models and Markov Random Fields for Category Level Object Segmentation", CVPR 2008 - IEEE Conference on Computer Vision & Pattern Recognition, Jun 2008, Anchorage, United States. IEEE Computer Society, pp.1-7
پیوندهای مفید
Content
Classification
Object
Class
Scene
Generic
Specific
Matching
Geometric Verification
Statistical Model
Prediction
Localization
Illumination Condition
Object Pose
Occlusion
Clutter
Robustness
Computational Complexity
Scalability
Bag of Words
Classifier
AdaBoost
Multi-Class
Markov Random Fields
Likelihood
Identical Independent Distribution
Undirected Graphical Model
Smooth
Bayesian Framework
Contextual Information
Tractable
Prior Knowledge
Joint Probability
Configuration
Posterior
Markov Assumption
Visual Word
Segmentation
Unary
One-versus-all
Multi-class Logistic Regression Classifier
Recall
Jaccard score
Pairwise
Confusion Matrix
Denoising
Color Normalization