تشخیص اشیا با شبکه عصبی و ماشین بردار پشتیبان در opencv

در این پروژه با استفاده از الگوریتم های شبکه عصبی و ماشین بردار پشتیبان (svm) تصویر اشیاء را تشخیص می دهیم.

برای تشخیص اشیا با شبکه عصبی از دیتاستی شامل ۳۰۰۰ نمونه استفاده کرده ایم، ۲۵۰۰ نمونه را برای آموزش و ۵۰۰ نمونه را نیز برای تست بکار برده ایم. در این پروژه ۵ کلاس وجود دارند که عبارتند از:

۱- کلاس اول مربوط به تصاویر هواپیما است

۲- کلاس دوم مربوط به تصاویر خودرو است

۳- کلاس سوم مربوط به تصاویر صورت انسان است

۴- کلاس چهارم مربوط به تصاویر برگ درخت است

۵- کلاس پنجم مربوط به تصاویر موتور سیکلت است

در پروژه تشخیص اشیا با شبکه عصبی از دو دسته بند شبکه عصبی و ماشین بردار پشتیبان برای تشخیص استفاده کرده ایم. شبکه عصبی را با سه لایه شامل لایه ورودی با ۳۲۰ نرون، لایه پنهان با ۶۵۰ نرون و لایه خروجی با ۵ نرون آموزش داده ایم، svm را نیز با تایع هسته غیر خطی RBF آموزش داده ایم. برای هر تصویر ۳۲۰ ویژگی استخراج می شود و بعد از ایجاد مجموعه آموزشی، آن را به دسته بند های شبکه عصبی و ماشین بردار پشتیبان می دهیم تا آموزش داده شوند. بعد از دانلود پروژه می توانید تعداد لایه ها و نرون ها در شبکه عصبی و تابع هسته در svm را به دلخواه تغییر دهید.

توابع مورد استفاده در تشخیص اشیا با شبکه عصبی

پروژه تشخیص اشیا با شبکه عصبی و ماشین بردار پشتیبان در متلب از چندین تابع برای آموزش و تست استفاده می کند:

  1. ExtractFeatures: این تابع یک تصویر را به عنوان ورودی دریافت کرده و پس از استخراج ویژگی های آن، ماتریس یک بعدی ویژگی را تشکیل داده و به عنوان خروجی تحویل می دهد.
  2. CreateTrainingSet: ساخت مجموعه های آموزشی و تست را در این تابع انجام می دهیم.
  3. SvmTrain: آموزش ماشین بردار پشتیبان و ذخیره آن در این تابع انجام می شود.
  4. SvmTest: تست و اندازیه گیری دقت ماشین بردار پشتیبان در این تابع انجام می گردد.
  5. MlpTrain: ساخت شبکه عصبی و تنظیم تعداد لایه ها و نرون های هر لایه و همچنین آموزش شبکه عصبی در این تابع انجام می شود.
  6. MlpTest: تست شبکه عصبی و اندازه گیری دقت آن در این تابع انجام می شود.

 

ویژگی های پروژه شخیص اشیا با شبکه عصبی عبارتند از:

  • برنامه نویسی با زبان c++ در محیط visual studio 2017
  • استفاده از کتابخانه opencv
  • تشخیص با استفاده از شبکه عصبی (neural network)
  • تشخیص با استفاده از ماشین بردار پشتیبان (support vector machine)
  • تنظیمات opencv به صورت پیش فرض در برنامه انجام شده است
  • توضیح کامل برنامه در سورس کد به صورت کامنت جهت درک بهتر

سورس پروژه های موجود در درس دانلود در زمینه یادگیری ماشین و هوش مصنوعی را می توانید از اینجا مشاهده کنید.

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

دیدگاهی بنویسید

0