CUDA Programming Applications

راهنمایی

از بازدید کنندگان محترم خواهشمند است اگر کسی در مورد چگونگی پردازش تصویر در زبان ++C بدون استفاده از کتابخانه opencv آشنایی دارد در قسمت نظرات پیام دهد.

باتشکر

Histogram of Oriented Gradients

روند کار در این الگوریتم بدین صورت‌ است که ابتدا در جهت محور 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


مفهوم Face Detection و Face Recognition

Face Detection

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





Face Recognition

ویژگی است که در آن عکس فرد مورد نظر را به سیستم می دهیم و با استفاده از الگوریتمی خاص سیستم ، عکس فرد مورد نظر را در فیلم و یا مجموعه ای از تصاویر شناسایی می کند،بطور کلی Face Recognition  را بدین صورت تعریف می نماییم:توانایی شناسایی تصویر توسط ماشین در بین مجموعه ای از عکسهای ذخیره شده و یا گونه ای از الگوی شناسایی تصویر چهره شخص که در پایگاه داده ذخیره شده است برای هنگامی که سعی در ورود به سیستم دارد  


                                                                                                    



پس نتیجه کلی که از این بحث می گیریم این است که برای انجام هرچه بهتر عمل بینایی ماشین در تشخیص چهره ابتدا باید Face Detection را اعمال نماییم تا کیفیت ظاهری تصویر و نورپردازی آن خوب باشد سپس الگوریتم Face Reconition

 

مفهوم LBP

در تئوری الگوی دودویی محلی ابتدا همسایه هشت گانه هر پیکسل از تصویر را مشخص نموده و سپس تفاضل هر یک از آن همسایه ها را تا پیکسل را بدست می آوریم اگر عدد مثبت بود بجای آن یک وگرنه صفر می گذاریم و سپس عدد باینری بدست آمده (نحوه ابتدا و انتهای عدد در شکل 1 آمده  است)را به دهدهی تبدیل نموده و در برداری ذخیره می کنیم. 

عدد باینری بدست آمده 10001111 است که معادل 143 می باشد سپس برای هریک از عکسهای موجود در پوشه این کار را انجام می دهیم و نتایج را در بردارهای مختلف ذخیره می کنیم تصویر LBP در شکل 2 آمده است

در مرحله بعد هیستوگرام1 هر بردار را در برداری که از صفر تا 255 است ذخیره می نماییم.


1)       هیستوگرام:نمودار فراوانی هر رنگ در تصویر



در مرحله بعد فاصله هر یک از این بردارهای هیستوگرام را تا بردار هیستوگرام شکل مورد نظر را محاسبه می نماییم.


فرمول فاصله:
کوچکترین فاصله به معنای شباهت بیشتر با عکس مورد نظر است،که نتیجه کار در شکل 3 قابل مشاهده است.

همانطور که مشاهده می نمایید فاصله برای im1 برابر با 465شد و برای im2 برابر با 317 شد که به معنای تشابه im2 با عکس مورد نظر است.
1 2 3 4 >>