میتوانم شکست را بپذیرم اما تلاش نکردن را هرگز!


تشخیص حروف چاپی(ICR) و شبکه‌های عصبی و پردازش تصویر

چکیده

بعد از آوردن مقدمه در فصل اول که شامل تاریخچه و اصطلاحات پایه ای ocr می باشد، در فصل دوم دستورات مقدماتی و تکنیک های پردازش تصویر که از ملزومات این پروژه است را آوردیم، سپس در فصل بعدی به بررسی انواع روش های تشخیص متن پرداخته و با ارائه روشهایی جهت استخراج ویژگی برای دسته بندی حروف این فصل را به پایان رساندیم. در فصل چهارم به بررسی اولین روش پیاده سازی شده در این پروژه پرداختیم که به آن روش template matching اطلاق می شود. و دلیل استفاده از این روش ساده گی پیاده سازی و قابل فهم بودن آن می باشد تا با دید گرفتن از هدف اصلی پروژه بتوانیم روش های دیگر را پیاده سازی کنیم. همان طور که خواهید دید ما برای افزایش سرعت اجرای برنامه در این روش، مختصری از تکنیک های آماری و ساختاری نیز استفاده نموده ایم. در فصل پنجم به آشنایی با مبانی یکی از مهمترین بخش های هوش مصنوعی، یعنی شبکه های عصبی خواهیم پرداخت که یکی از بهترین روش های موجود در پیاده سازی پروژه ما خواهد بود. شبکه عصبی روش خام تلاش انسانها جهت شبیه سازی الکترونیکی مغز است. که البته تا حدودی توانسته اند به این مقصود برسند، تا همین حد که یکی از بهترین روشها در پیاده سازی پروژه ما محسوب می شود. به دلیل اهمیت شبکه عصبی برای پروژه، ما آشنایی با مبانی آن را در فصلی جداگانه آوردیم، و در این فصل بعد از آوردن مقدمه و تاریخچه ای از شبکه های عصبی، دلایل و مزیت های شبکه های عصبی تشریح شده، سپس اجزای یک شبکه و معماری آن مورد بررسی قرار گرفته. در ادامه به بحت یادگیری شبکه های عصبی خواهیم پرداخت و با بیان کاربردهای وسیع شبکه های عصبی در زمینه های مختلف این فصل را به پایان می رسانیم. در فصل ششم به مبانی پیاده سازی شبکه های عصبی با متلب می پردازیم و انواع توابعی که برای ایجاد شبکه در متلب وجود دارد را آورده و از این بین به پیاده سازی شبکه خود با سه عدد از این توابع رضایت می دهیم. در همین فصل به نحوه ی آموزش شبکه و تست آن نیز خواهیم پرداخت. و در فصل هفتم به پیاده سازی شبکه برای تشخیص حروف با سه شبکه های عصبی MLP، RBE و PNN می پردازیم. ناگفته نماند که دلیل استفاده از شبکه های عصبی در این پروژه انعطاف زیاد آنها نصبت به روش های دیگر و قابلیت انطباق شبکه با داده های جدید می باشد. در ضمن لازم به ذکر است که هیچ یک از روش های گفته شده به تنهایی جوابگوی نیاز ما نخواهد بود و تلفیق هر یک از روشها با شبکه عصبی نتیجه مطلوبی خواهد داشت که این یکی از مزیت های شبکه عصبی می باشد و در نهایت در فصل آخر با آزمایشات مختلف عملکرد هر یک از شبکه های فوق را مورد بررسی قرار می دهیم و با ایجاد جدول درستی و جدول سردرگمی هر یک از شبکه ها را مورد ارزیابی قرار می دهیم و در نهایت با ایجاد جدول مقایسه، به مقایسه این سه شبکه پرداخته شده است. لازم به ذکر است که به دلیل کمبود زمان، تمرکز اصلی پروژه بر روی دسته بندی روش های موجود و پیاده سازی روش های مذبور قرار گرفت.

واژگان کلیدی

  • کاربرد پروژه در درس های پردازش تصویر ، شبکه‌های عصبی است
  • در شبکه‌های عصبی با 3 شبکه PNN - RBE - MLP پیاده سازی شده است
  • و در پردازش تصویر هم با روش template matching که تصویری که بیشترین شباهت را به تصویر ورودی داشت به عنوان برنده انتخاب می‌شود
  • روش کار: تست بر روی حروف الفبا فارسی


بعد از آوردن مقدمه در فصل اول که شامل تاریخچه و اصطلاحات پایه ای ocr می باشد، در فصل دوم دستورات مقدماتی و تکنیک های پردازش تصویر که از ملزومات این پروژه است را آوردیم، سپس در فصل بعدی به بررسی انواع روش های تشخیص متن پرداخته و با ارائه روشهایی جهت استخراج ویژگی برای دسته بندی حروف این فصل را به پایان رساندیم. در فصل چهارم به بررسی اولین روش پیاده سازی شده در این پروژه پرداختیم که به آن روش template matching اطلاق می شود. و دلیل استفاده از این روش ساده گی پیاده سازی و قابل فهم بودن آن می باشد تا با دید گرفتن از هدف اصلی پروژه بتوانیم روش های دیگر را پیاده سازی کنیم. همان طور که خواهید دید ما برای افزایش سرعت اجرای برنامه در این روش، مختصری از تکنیک های آماری و ساختاری نیز استفاده نموده ایم. در فصل پنجم به آشنایی با مبانی یکی از مهمترین بخش های هوش مصنوعی، یعنی شبکه های عصبی خواهیم پرداخت که یکی از بهترین روش های موجود در پیاده سازی پروژه ما خواهد بود. شبکه عصبی روش خام تلاش انسانها جهت شبیه سازی الکترونیکی مغز است. که البته تا حدودی توانسته اند به این مقصود برسند، تا همین حد که یکی از بهترین روشها در پیاده سازی پروژه ما محسوب می شود. به دلیل اهمیت شبکه عصبی برای پروژه، ما آشنایی با مبانی آن را در فصلی جداگانه آوردیم، و در این فصل بعد از آوردن مقدمه و تاریخچه ای از شبکه های عصبی، دلایل و مزیت های شبکه های عصبی تشریح شده، سپس اجزای یک شبکه و معماری آن مورد بررسی قرار گرفته. در ادامه به بحت یادگیری شبکه های عصبی خواهیم پرداخت و با بیان کاربردهای وسیع شبکه های عصبی در زمینه های مختلف این فصل را به پایان می رسانیم. در فصل ششم به مبانی پیاده سازی شبکه های عصبی با متلب می پردازیم و انواع توابعی که برای ایجاد شبکه در متلب وجود دارد را آورده و از این بین به پیاده سازی شبکه خود با سه عدد از این توابع رضایت می دهیم. در همین فصل به نحوه ی آموزش شبکه و تست آن نیز خواهیم پرداخت. و در فصل هفتم به پیاده سازی شبکه برای تشخیص حروف با سه شبکه های عصبی MLP، RBE و PNN می پردازیم. ناگفته نماند که دلیل استفاده از شبکه های عصبی در این پروژه انعطاف زیاد آنها نصبت به روش های دیگر و قابلیت انطباق شبکه با داده های جدید می باشد. در ضمن لازم به ذکر است که هیچ یک از روش های گفته شده به تنهایی جوابگوی نیاز ما نخواهد بود و تلفیق هر یک از روشها با شبکه عصبی نتیجه مطلوبی خواهد داشت که این یکی از مزیت های شبکه عصبی می باشد و در نهایت در فصل آخر با آزمایشات مختلف عملکرد هر یک از شبکه های فوق را مورد بررسی قرار می دهیم و با ایجاد جدول درستی و جدول سردرگمی هر یک از شبکه ها را مورد ارزیابی قرار می دهیم و در نهایت با ایجاد جدول مقایسه، به مقایسه این سه شبکه پرداخته شده است. لازم به ذکر است که به دلیل کمبود زمان، تمرکز اصلی پروژه بر روی دسته بندی روش های موجود و پیاده سازی روش های مذبور قرار گرفت.


دارای 2 فایل پاورپینت جهت ارایه کلاسی در درس شبکه‌های عصبی و پردازش تصویر
  • پیاده سازی شده در محیط متلب
  • دارای گزارش کار
  • فایل پاورپوینت جهت ارائه کلاسی

نرم افزارهای مورد نیاز جهت اجرای این نسخه : Matlab R2014b

توضیح مختصر

فناوری تشخیص یا ادراک نوری حروف که از آن به عنوان OCR نام می‏برند، یکی از انواع نرم‏افزارهای کامپیوتری است که برای ترجمه‏ی تصاویر حاوی دست‏نوشته‏ها یا تایپ‏نوشته‏های غالباً ثبت‏شده توسط اسکنر به متن و حروف قابل درک و فهم برای کامپیوتر استفاده می‏شود. این فناوری از تشخیص قالب و الگو ، هوش مصنوعی و چشم ماشینی استفاده می‏کند تا متن هایی که به صورت پرینت‏شده یا دست‏نوشته بر روی کاغذهای معمولی در اختیار داریم را به متن های قابل ویرایش توسط نرم‏افزارهای ادیتور متن با کامپیوتر بدل نمایند. معمولاً از OCR در زمانهایی استفاده می‏شود که فرصت زیادی برای تایپ کردن متون وجود ندارد و شما می‏خواهید به سرعت متنی را که به شکل دست‏نوشته با قلم یا خودکارهای معمولی روی کاغذ نوشته‏اید، اسکن کنید تا بتوانید آن را به شکلهای مختلف، ویرایش متنی نمایید. یکی دیگر از کاربردهای فناوری تشخیص بصری حروف در زمانی است که شما می‏خواهید متن مقالات، کتابها یا نوشته‏های از قبل پرینت‏شده‏یی را اسکن و مجدداً ویرایش و ارسال کنید که حجم زیادی دارند و ذخیره‏سازی آنها در قالب فایلهای تصویری مثل JPEG یا GIF امکانپذیر نیست. با این تفاسیر می‏توانیم خلاصه اینگونه جمع‏بندی کنیم که OCR برای تبدیل کردن تصاویر محو و مبهم به متن های قابل درک و ویرایش مورد استفاده قرار می‏گیرد و اشکال گرافیکی را به کدهای ASCII و Unicode تبدیل می‏کند به شکلی که فونت، سایز، استیل، صفحه‏آرایی و تمام مختصات پاراگرافی آنها قابل ویرایش باشد.

مشاهده قسمتی از مقاله