طبقه‌بندی ارقام دست‌نویس

تغییرات پروژه از ابتدا تا تاریخ 1394/01/29
   **  --------------------------------------بسم الله الرحمن الرحیم--------------------------------------**

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


# مقدمه
حوزه ی تبدیل مکانیکی یا الکترونیکی نوشته های دست نویس و یا چاپ شده و تبدیل آن به کاراکترهای ورودی برای کامپیوتر(Optical character recognition) به دلیل راحتی استفاده و افزایش سرعتی که به عملیات ورود اطلاعات به سیستم می دهد سالهاست که مورد توجه محققان علم ریاضی و کامپیوتر بوده است. تلاش های اولیه برای این کار با هدف توسعه تلگراف و ساخت ماشین های خوانش برای نابینایان انجام گردیده. اولین تلاشی که در این مورد انجام گرفته مربوط به سال ۱۹۱۴ است, امانویل گولدبرگ ماشینی طراحی کرد که کاراکترها را می خواند و آن ها را به کدهای استاندارد مورس تبدیل می کرد.[1]
برای ocr کاربرد های فراوانی می توان یافت از جمله:
- وارد کردن اطلاعات اسناد اداری از جمله چک ها و فرم های پر شده
- شناسایی اتوماتیک شماره پلاک برای سیستم کنترل ترافیک
- شناسایی کاراکترهای نوشته شده بر روی صفحات لمسی
- کنترل سیستم به وسیله رسم اشکال
- شکستن کپچا
- طراحی تکنولوژی های یاری دهنده نابینایان و افراد با ضعف بینایی

امروزه با توسعه کامپیوتر های قابل حمل و همه گیر شدن این وسایل کاربردهای بسیار خلاقانه دیگری هم در این حوزه به وجود آمده است یکی ازاین  موارد ترجمه هم زمان تابلوهای با زبان بیگانه با استفاده از واقعیت افزوده و ocr است.
با وجود پیشرفت های فراوانی که در این حوزه انجام گردیده و وجود نرم افزارهای قدرتمندی مانند Readiris ساخت شرکت I.R.I.S. که این کار را برای کاراکترها و اعداد لاتین به خوبی انجام می دهند اما متاسفانه در مورد کاراکترها و اعداد فارسی/عربی کیفیت کار آنها بسیار پایین است.
نکته بسیار مهمی که در طبقه بندی ارقام دست نویس باید به آن بسیار توجه شود اختلاف فراوان در شیوه نگارش اعداد است. همچنین افراد با توجه به سطح سواد و مناطق جغرافیایی اعداد را به صورت های متفاوتی می نویسند.
علاوه بر تفاوت های شیوه نگارش اعداد صفر ُ چهار و شش هر کدام به دو صورت متفاوت در بین فارسی نویسان رواج دارند به این ترتیب باید اعداد را در** ۱۳** دسته متفاوت طبقه بندی کرد و پس از بررسی عدد وارد شده آن را به شبیه ترین دسته از بین این ۱۳ دسته نسبت داد.


| نام پایگاه داده     | dpi                                             | نمونه های آموزشی                    |نمونه های آزمونی                       | مجموعه نمونه ها                      |  |:----------|:------------------:|:------------------:|:------------------:|:------------------:|  
 | هدی                  | 200                                           | 6000 از هرکلاس                     |2000 از هرکلاس                      |۱۰۲۳۵۲                                      |  
 | CENPARMI ا| 166                                          | 4000                                        |2000                                          |60000                                      |    
 | CEDAR          ا| 300                                          | 18468                                      |2711                                          |21179                                      |   
 | MNIST          ا|Normalized intoا 20*20   | 7291                                         |2007                                          |9298                                         |
   
     جدول۱ - مشخصات تعدادی از پایگاه داده های موجود 

اکثر روش های طبقه بندی اعداد وابسته به وجود یک پایگاه داده شامل انواع مختلف و فراوان اعداد دست نوشته نرمال سازی شده است. در این مورد برای اعداد دست نویس فارسی کارهایی انجام شده است 


# کارهای مرتبط
 پایگاه های داده مجموعه ارقام دست نویس فارسی:

1. مجموعه ارقام دستنویس هدی
 مشتمل بر **۱۰۲۳۵۳ نمونه دستنوشته** سیاه سفید است. این مجموعه طی انجام یک پروژه‏ی کارشناسی ارشد درباره بازشناسی فرمهای دستنویس تهیه شده است.  داده های این مجموعه از حدود ۱۲۰۰۰ فرم ثبت نام آزمون سراسری کارشناسی  ارشد سال ۱۳۸۴ و آزمون کاردانی پیوسته‏ی دانشگاه جامع علمی کاربردی سال  ۱۳۸۳ گرفته شده است.
 مشخصات این مجموعه داده عبارتست از:
 **درجه تفکیک نمونه‏‌ها:** ۲۰۰ نقطه بر اینچ **تعداد کل نمونه‏‌ها:** ۱۰۲۳۵۲ نمونه **تعداد نمونه‏‌های آموزش:** ۶۰۰۰ نمونه از هر کلاس **تعداد نمونه‏‌های آزمایش:** ۲۰۰۰ نمونه از هر کلاس **سایر نمونه‏‌ها:** ۲۲۳۵۲ نمونه
 قابل ذکر است 
![مجموعه داده ای هدی](http://dadegan.ir/sites/default/files/uploads/dadegan/hoda_sample.jpg)
تصویر ۱: نمونه ای از انواع داده های موجود در مجموعه داده ای هدی

سایر پایگاه های داده ارقام دست نویس:

1. مجموعه داده ای اعداد دست نویس لاتین **Semeion**
در فازهای بعدی تکمیل خواهد شد


2.پایگاه داده ارقام دست نویس ** MNIST**


3.مجموعه داده ای ارقام دست نویس # [sklearn](http://scikit-learn.org/stable/modules/classes.html#module-sklearn.datasets)


 الگوریتم های طبقه بندی:
 
1. روش شبکه های عصبی(ٔNeural Networks)


2.روش SVM


3.روش  نیمه نظارتی شبکه های عصبی +PL+DAE 


4. روش MTC


روش های بهینه سازی و افزایش سرعت عملکرد:

# آزمایش‌ها

 

# مراجع
[1]  صفحه مربوط به  Optical character recognition در ویکی پدیا: (http://en.wikipedia.org/wiki/Optical_character_recognition)

[2] H. Khosravi and E. Kabir, "Introducing a very large dataset of  handwritten Farsi digits and a study on their varieties," Pattern  Recognition Letters, vol. 28, pp. 1133-1141, 2007


# پیوندهای مفید

+ [صفحه رسمی مجموعه دادگان هدی ](http://farsiocr.ir/%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87-%D8%AF%D8%A7%D8%AF%D9%87/%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87-%D8%A7%D8%B1%D9%82%D8%A7%D9%85-%D8%AF%D8%B3%D8%AA%D9%86%D9%88%DB%8C%D8%B3-%D9%87%D8%AF%DB%8C/)
+ [مقاله در مورد مجموعه دادگان فارسی هدی](http://farsiocr.ir/Archive/dataset_PRL.pdf)
+ [Kaggle Competition](https://www.kaggle.com/c/digit-recognizer)
+ [Semeion Handwritten Digit Data Set](http://archive.ics.uci.edu/ml/datasets/Semeion+Handwritten+Digit)
+ [MNIST Handwritten Digits](http://yann.lecun.com/exdb/mnist/)