CUDA Programming Applications

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

CUDA Programming Applications

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

Moments and Moment Invariants in Pattern Recognition

این کتاب اشاره ای بر مباحث پیش پردازش تصویر جهت امر بینایی ماشین داشته و سپس به بررسی الگوریتمهایی در زمینه بینایی ماشین پرداخته است، و در 9 فصل توسط آقایان Jan Flusser و Tomáš Suk و خانم Barbara Zitová اعضای گروه کامپیوتر دانشگاه www.avcr.cz  جمهوری چک در سال 2009 به چاپ رسید.




   

دستورات cudaThreadSynchronize و cudaDeviceSynchronize

تفاوت بین دستورات cudaThreadSynchronize وcudaDeviceSynchronize در چیست؟
بنظر می رسد بسیاری از برنامه های کاربردی از تابع cudaThreadSynchronize بسیار استفاده نموده انداما اسناد اخیر شرکت NVIDIA در این رابطه بیان نموده است که تابع cudaThreadSynchronize بعلت منعکس نکردن رفتار واقعی خود منسوخ شده است و بعلت تشابه زیاد کارآیی آن با کارآیی تابع cudaDeviceSynchronize از این تابع بجای آن استفاده می شودو وظیفه اصلی آن همگام سازی تردهای داخل GPU بوده و ربطی به CPU ندارد مکان قرار گیری این دستور ،بعد از فراخوانی آخرین کرنل می باشد. مانند شکل زیر


با استفاده از این دستور به استفاده بهینه تری از حافظه و همچنین کاهش مصرف زمان پردازش دست می یابیم،نتیجه 6 آزمونی که برای جمع دوبردار با 8192 عنصر اجرا شد با استفاده از این دستور و همچنین بدون استفاده از آن در جدول زیر آمده است.


شماره آزمونبا استفاده از دستورcudaDeviceSynchronizeبدون استفاده از دستور cudaDeviceSynchronize
1
2479028microsecond
2486615microsecond
2
2503691microsecond
2573641microsecond
3
2576774microsecond
2570786microsecond
4
2470012microsecond
2629837microsecond
5
2571920microsecond
2710080microsecond
6
2495909microsecond
2618598microsecond


پایگاه داده AT&T

یک پایگاه داده نسبتا خوب که مربوط به دانشگاه کمبریج شامل چندین تصویر چهره گرفته شده مابین سالهای 1992 تا 1994 می باشد که برای هر تصویر چهره فولدری شامل 10 تصویر در حالات مختلف از آن چهره وجود دارد.

http://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html

تاریخچه ایده Histogram Oriented Gradient(HOG)

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

HOG توسط Robert K. McConnell  در سال 1986 میلادی معرفی و در سال 1994 توسط Mitsubishi Electric Research Laboratories مورد استفاده قرار گرفت. بهرحال استفاده از این روش درسال 2005 گسترده تر شد، محققان موسسه IRINA کار تکمیلی خود را در این زمینه در کنفرانس بینایی ماشین و الگوی تشخیص CVPR نشان دادند ، در این کار آنها بر روی تصویر عابر پیاده در تصاویر ثابت تمرکز کردند اگرچه آنها از آن به بعد کارشان را بر روی تصاویر ویدیویی متحرک و همچنین برای حیوانات و وسایل نقلیه در تصاویر ثابت نیز بسط دادند.

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

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