فیلم آموزشی و پروژه محور تشخیص ارقام دستنویس فارسی با استفاده از opencv همراه سورس

در این فیلم آموزشی با نحوه برنامه نویسی با کتابخانه opencv و استفاده از انواع دسته بندهای معروف در یادگیری ماشین (برای تشخیص ارقام دستنویس فارسی) آشنا خواهید شد.

 

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

یادگیری ماشین (machine learning):

روش‌های یادگیری ماشین (Machine Learning)، سیستم‌های مختلف را قادر می‌کنند که یاد بگیرند، بررسی کنند و به ما پیشنهادهای کاربردی ارائه دهند. این سیستم‌ها به مرور زمان که با داده‌ها، شبکه‌ها و افراد تعامل دارند، باهوش‌تر می‌شوند. با استفاده از رویکردهای یادگیری ماشین و هوش مصنوعی، این سیستم‌ها قادر هستند ما را در حل مسائل مهم، کاربردی و روزمره یاری دهند. غالبا این کار با استفاده از داده‌هایی انجام می‌شود که به دلیل حجم زیاد و یا ماهیت نامفهوم، برای ما انسان‌ها چندان قابل استفاده نیست.

الگوریتم‌های یادگیری ماشین:

لگوریتم‌های یادگیری ماشین به سه دسته زیر تقسیم بندی می‌شود:

  • یادگیری نظارتی
  • یادگیری غیر نظارتی
  • یادگیری تقویتی

opencv چیست؟

opencv یا همان Open Computer Vision Library مجموعه ای از کتابخانه‌های برنامه‌نویسی پردازش تصویر و یادگیری ماشین است. این مجموعه بیشتر بر پردازش تصویر بی درنگ تمرکز دارد. در ابتدا توسط شرکت اینتل ساخته و پشتیبانی می‌شد و هم‌اکنون توسط Willow Garage و Itseez پشتیبانی می‌گردد.این کتابخانه پلت فرم های مختلف از جمله ویندوز ،لینوکس ،اندروید،IOS , مکینتاش را پشتیبانی می کند و حاوی بیش از ۲۵۰۰ الگوریتم بهینه شده می باشد. الگوریتم های این کتابخانه از SSE,AVX,TBB,IPP,CUDA,OpenCL جهت بهینه سازی و موازی سازی استفاده می کنند و همچنین دارای بخش یادگیری ماشین جهت خوشه بندی و کلاسیفی کردن داده می باشد نیز می باشد.

 

تعریف و مراحل انجام پروژه

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

این پروژه از چهار مرحله تشکیل شده است، در مرحله اول ابتدا تصاویر باید پیش پردازش شوند، یعنی نویز آنها حذف شده و بزرگترین کانتور انخاب شود، در محله دوم ویژگی های مهم تصویر را استخراج می کنیم و مجمعه آموزشی (training set) را بوجود می آوریم.

در محله سوم مجموعه آموزشی را به دسته بند ها (classifier) می دهیم تا آموزش ببینند، در واقع نام این مرحله را می توان مرحله آموزش (training) نامید. در مرحله آخر نیز تصاویر جدید را به دسته بندها می دهیم، این تصاویر در مرحله آموزش به دسته بندها داده نشده اند.

در این پروژه از الگوریتم های یادگیری ماشین مانند neural network، bayesian network, decision tree, knn و svm  استفاده کرده ایم، پیاده سازی با زبان برنامه نویسی ++C و با استفاده از opencv انجام شده است.

 

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

 

ویژگی های این محصول (تشخیص ارقام دستنویس فارسی) عبارتند از:

  • آموزش با زبان ساده، قابل فهم و پروژه محور
  • آموزش راه اندازی opencv در visual studio 2017
  • برنامه نویسی در محیط c++ mfc
  • آموزش کار با تصاویر با استفاده از Mat
  • آموزش پیش پردازش (preprocessing) تصاویر
  • آموزش استفاده از شبکه عصبی در opencv
  • استفاده از knn
  • آموزش استفاده از svm (support vector machine) در opencv
  • آموزش استفاده از درخت تصمیم (decision tree) در opencv
  • آموزش استفاده از شبکه بیزین (bayesian network) در opencv
  • آموزش استفاده از knn(k nearest neighbor) در opencv

 

این پروژه در متلب نیز پیاده سازی شده است و از اینجا می توانید آن را خریداری نمایید.

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

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

0