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