CUDA Programming Applications

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

CUDA Programming Applications

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

فهم و اجرای الگوریتم Faster R-CNN

اغلب مدل‌های پیشگام تشخیص شی کنونی برپایه مدل‌های Faster R-CNN ساخته‌شده‌اند. Faster R-CNN یک مدل تشخیص شی است که اشیا را در تصویر شناسایی و درو آن‌ها کادر می‌کشد درعین حال که کلاس آن تصویر را بیان می‌کند، این عمل تشخیص در دو مرحله انجام می‌شود.

مرحله اول: پیشنهاد ناحیه احتمالی که شاید شی در آن مکان از تصویر قرار گرفته‌باشد، که این قسمت با شبکه پیشنهادی ناحیه یا RPN(Region Proposal Network) انجام می‌شود.

مرحله دوم: استفاده از ناحیه پیشنهاد شده به منظور تخمین کلاس شی و تنظیم دقیق کادر جهت انطباق بهتر شی


  

مرحله 1: شبکه پیشنهادی ناحیه  Region Proposal Network (RPN)

شبکه بستر:

·       تصویر از شبکه کانولوشنی مانند ResNet یا VGG16 عبور می‌کند.

·       ویژگی‌های مهم تصویر استخراج شده و feature map ساخته می‌شود.

انکرها:

انکرها کادرها با ابعاد مختلف هستند که روی نقاط feature map جا می‌گیرند.

هر کادر انکر یک محل شی ممکن است.

در هر نقطه روی feature map کادرهای انکر با ابعاد مختلف و یک حاشیه تولید می‌شوند.

طبقه‌بندی کادرها

RPN تخمین می‌زند که آیا کادر پس‌زمینه است (بدون شی) یا دارای شی

انکرهای مثبت: کادرهایی هستند که برروی شی انطباق دارند.

انکرهای منفی: کادرهایی هستند که یا انطباقی ندارند یا انطباق کوچکی را درخور می‌شوند.

Bounding Box Refinement

RPN همچنین کادرهای انکر را اصلاح می‌کند تا با پیش‌بینی تنظیمات آن‌ها را با اشیای واقعی بهتر تراز کند.

تابع هزینه: 

1-      هزینه طبقه‌بندی: به تصمیم‌گیری در مورد اینکه تصویر پس زمینه است یا خیر کمک می‌کند

2-      هزینه رگرسیون(پیوسته): به تنظیم بهتر کادرها جهت همپوشانی دقیق اشیا کمک می‌کند.

مرحله دوم

پیشنهادات ناحیه:

بعد از RPN پیشنهادات ناحیه دریافت می‌شود.(تنظیم کادرها تا پوشش دقیق اشیا)

ROI Pooling:

نواحی پیشنهادی ابعاد مختلفی دارند، اما شبکه عصبی به ورودی با سایز ثابت نیاز دارد. این تکنیک تمامی نواحی پیشنهادی را با تقسیم آن‌ها به نواحی کوچکتر و با بکارگیری روش pooling و تبدیل انها به شکل واحد تغییر سایز می‌دهد.

طبقه‌بندی شی:

هر ناحیه پیشنهادی از طریق یک شبکه کوچک عبور کرده تا طبقه شی را تخمین زند.(مانند سگ، گربه و یا هر شی که درون آن است.)

تابع کراس انتروپی: جهت طبقه‌بندی اشیا درون طبقات استفاده می‌شود.

تنظیم کادر

نواحی پیشنهادی دوباره جهت انطباق بهتر با اشیا تنظیم می‌شوند و از تابع هزینه رگرسیون برای تنظیم بهتر نواحی پیشنهادی استفاده می‌کند.

یادگیری چندوظیفه‌ای:

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

زمان تست و تخمین:

نواحی پیشنهادی با امتیاز بالا: در طول تست مدل تعداد زیادی از نواحی پیشنهادی را تولید می‌کند، اما فقط نواحی با امتیازات بالای طبقه‌بندی از مرحله دوم عبور می‌کنند

تخمین نهایی:

مرحله دوم دسته‌های نهایی و کادرها را پیشنهاد می‌دهد.

Non-Max Suppression

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

آموزش:

دو روش در آموزش

آموزش به صورت مرحله ای: ابتدا شبکه پیشنهادی منطقه (RPN) و سپس طبقه بندی کننده و رگرسیون را آموزش می‌دهد.

اموزش همزمان: هر دو مرحله با هم آموزش می‌بینند.(سریع‌تر و کارآمدتر)

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


نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد