CUDA Programming Applications

کاربردهای برنامه نویسی کودا

CUDA Programming Applications

کاربردهای برنامه نویسی کودا

SIFT

 SIFT

الگوریتم SIFT خلاصه عبارت Scale Invariant Feature Transform است که برای بیان ویژگی های محلی در تصویر کاربرد دارد که در سال 1999 توسط David Lowe پیشنهاد و در سال 2002 توسعه داده شد. بطور کلی ویژگی هایی که از تصویر استخراج می شود به دو دسته محلی و سراسری تقسیم می شود. ویژگیهای Global شامل ویژگیهای کلی هستند که با هم مقایسه می شوند که اگرتفاوتی مشاهده شد ، به سراغ ویژگی های Local که همان ویژگیهای جزئی هستند رفته می شود و باهم مقایسه می شوند که برای استخراج این ویژگیها بایستی یک سری نقاط کلیدی تعیین شود که برای هر نقطه یک شناسنامه و یا یک توصیف براساس پیکسلهای همجوار تشکیل می شود تا این نقاط از سایر نقاط دیگر مجزا شود که به آن اثر انگشت هم گفته می شود و منحصر بفرد است خاصیت این کار این است که اگر تصویراز زوایای مختلف و یا از ZOOM های مختلف گرفته شود آن نقطه تغییری نمی کند ولی بایستی این نکته را نیز مد نظر داشت که الگوریتم SIFT تطابق نقاط را شامل نمی شود و این عمل با یک الگوریتم دیگر انجام می شود




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






در دو عکس فوق به بررسی ویژگیهای شکل پرداخته می شود و نقاطی که تطابق بیشتری دارند بعنوان شی مورد نظر مشخص می شود


یکی از راههای استخراج ویژگی تفاضل گرادیان در مراتب مختلف است که در شکل زیر اورده شده است




و اما چالشها:

1-الگوریتم استخراج ویژگی قوی بایستی نسبت به چرخش یا Rotation مقاوم باشد 2- الگوریتم استخراج ویژگی قوی بایستی نسبت به تغییرات روشنایی مقاوم باشد 3- الگوریتم استخراج ویژگی قوی بایستی نسبت به تغییر مقیاس مقاوم باشد 4- مقاومت در برابر زاویه عکسبرداری نیز یکی دیگر از ویژگی های این الگوریتم است 5- الگوریتم تشخیص ویژگی باید نسبت به نویز هم مقاوم باشد

 

چون الگوریتم SIFT در برابر تمامی این چالشها مقاوم است از آن به عنوان یک الگوریتم قوی در استخراج ویژگی یاد می شود ، البته باید متذکر این مسئله نیز شد که این الگوریتم در برابر تغییرات روشنایی هنوز بصورت کامل مقاوم نیست.

 

کاربردها:

1-      تطبیق یک مجموعه تصویر (مانند تصاویر پانوراما)

2-      شناسایی اشیا (جستجوی یک شی در میان تصویری از اشیا مختلف و یافتن مکان آن شی)

3-      ساخت مدل سه بعدی از روی مجموع تصویر (جمع نمودن تصاویر از زوایای مختلف با استفاده از SIFT)

4-      ردیابی اشیاء در ویدئو(فریم به فریم)






دیتاست UFI

این وب سایت یک پایگاه داده جدید از تصاویر دنیای حقیقی  شامل تصاویری که توسط عکاسان حرفه ای که http://www.ctk.eu اعلام کرده  را معرفی می نماید ، بعلاوه به عنوان پایگاه داده UFI نیز گزارش شده است که بطور عمده معیار روشهای شناسایی چهره صورت است بهر حال با استفاده از این وب سایت برای انجام کارهای متعددی در این زمینه امکان پذیر است

http://ufi.kiv.zcu.cz

توصیفگر HOG

روند کار Histogram Oriented Gradient بدین صورت‌ است که ابتدا در جهت محور xها وyها از تصویر مشتق گرفته می‌شود (که همان تفاضل دو پیکسل مجاور می باشد) و دو ماتریس از تصویر بدست می آید (شکل1)



همانطور که در شکل1 مشاهده می شود بافتهایی از تصویر در جهات محور x و y بدست می‌آید،سپس برای تمامی عکسهای پوشه این کار انجام می‌شود، بعد از آن ماتریس اندازه از رابطه


 بدست می‌آید(شکل2)




و همچنین ماتریس زوایای موجود در تصویر با فرمول angle=arctan(gy/gx) قابل محاسبه می باشد (شکل 3)



برای کم کردن حجم هیستوگرام زوایا، باقیمانده زوایای بیشتر از 180 درجه را بر 180 محاسبه و جایگزین زاویه اصلی می‌شود، بدین ترتیب برای تمامی تصاویر این کار انجام می شود، سپس با استفاده از رابطه فاصله اقلیدسی فاصله بین هیستوگرام‌های تصاویر محاسبه شده و آن فاصله ای که تا هیستوگرام زاویه تصویر اصلی صفر شد تصویر منطبق می‌باشد.(شکل 4)


معرفی دیتاست

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


https://github.com/openimages/dataset


http://www.imageprocessingplace.com/root_files_V3/image_databases.htm