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

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

# مقدمه
پیدایش علوم وفنون جدید . جوامع بشری را با شکل های مختلفی از اطلاعات روبرو نموده است . سطح توسعه ی یک جامعه را می توان با مقدار اطلاعات ودانش تولیدشده در ان آرزیابی کرد . تولید فراینده اطلاعات به شکل های مختلف صورت می گیرد وبا درجات متفاوتی از پیچدگی همراه است .
در نتیجه نیاز به دستگاه های پردازش اطلاعات به صورت روزافزون افزایش می یابد . یکی از مسائل مهم در طراحی دستگاه های مدرن اطلاعات باشناسی خودکار الگوها است .

بازشناسی ارقام وحروف دستنویس فارسی. موضوعی است که سالهاست روی آن کار میشود چه در حوزه تحقیقات دانشگاهی وچه در حوزه های تجاری وکاربردی.مقالات وپایان نامه های در این زمینه ارئه شده است والبته کارهای صنعتی زیادی هم صورت گرفته است 
از مهمترین کاربردهای شناسایی ارقام وحروف دستنویس :

·        وارد کردن اطلاعات اسناد اداری از جمله چک ها و فرم های پر شده
·        شناسایی اتوماتیک شماره پلاک برای سیستم کنترل ترافیک
·        شناسایی کاراکترهای نوشته شده بر روی صفحات لمسی
·       کنترل سیستم به وسیله رسم اشکال
·        شکستن کپچا
·        طراحی تکنولوژی های یاری دهنده نابینایان و افراد با ضعف بینایی

با وجود پیشرفت های فراوانی که در این حوزه انجام گردیده و وجود نرم افزارهای قدرتمندی مانند Readiris ساخت شرکت I.R.I.S. که این کار را برای کاراکترها و
اعداد لاتین به خوبی انجام می دهند اما متاسفانه در مورد کاراکترها و اعداد فارسی/عربی کیفیت کار آنها بسیار پایین است.
از مشکلاتی که به آن مواجه هستیم  اختلاف  فراوان در شیوه نگارش اعداد است. و شباهت زیادی که ارقام به هم دارند همچنین افراد با توجه به سطح سواد و مناطق جغرافیایی اعداد را به صورت های متفاوتی می نویسند 
وهمچنین نوشتن  صفر تو خالی وتو پر می باشد که در طبقه بندی مشکلاتی را بروز میدهد .و همچنین چهار و شش هر کدام به دو صورت متفاوت در بین فارسی نویسان رواج دارند به این ترتیب باید اعداد را در ۱۳ دسته متفاوت طبقه بندی کرد و پس از بررسی عدد وارد شده آن را به شبیه ترین دسته از بین این ۱۳ دسته نسبت داد.
![شکل 1 نمایش اعداد فارسی](https://dl.dropboxusercontent.com/u/106369898/Pr-Pro_L/I1.jpg)

برای متغیریهای مورد بررسی از پایگاه داده هدی استفاده میشود که اولین مجموعه ی بزرگ  دست نویس فارسی مشتمل بر 102353 نمونه دست نوشته سیاه سفید است . این مجموعه طی انجام یک پروژه کارشناسی ارشد در باره بازشناسی برگه های دست نویس تهیه شئده است . داده های این مجموعه از حدود 12000 فرم ثبت نام آزمون سراسری کاشناسی ارشد سال 1384 و آزمون کاردانی پیوسته ی دانشگاه جامع علمی کاربردی سال 1383 استخراج شده است که مورد استفاده در آزمایش ها است .[1] 
![شکل 2 مجموعه داده ای هدی](http://dadegan.ir/sites/default/files/uploads/dadegan/hoda_sample.jpg)

# کارهای مرتبط
برای سیستم تشخیص کارکترهای دست نویس  از سه  قسمت تشکیل میشود
1- پیش پردازش 
2- استخراج ویژگی 
3-طبقه بندی 
![شکل 3 سیستم تشخیص ارقام دست نویس](https://boute.s3.amazonaws.com/194-u.png)

در این مقاله[4] برای پیش پردازش کاهش نویز و نرمال سازی تصاویر به اندازه  n *  n  انجام می گردد . وبرای استخراج ویژگی  
از  ویژگی گرادیان استفاده می گردد  که  اولا مقدار وزاویه گرادیان برای هر نقطه از تصویر محاسبه مشود وبه چند زاویه استاندارد تبدیل میشوند (شکل  5 a   ). و اگر زاویه گرادیان بین دو زاویه استاندارد واقع شود نقطه مربوطه درمقدار مختلف در دو زاویه متفاوت بدس خواهد آمد (شکل 5 b ).
سپس  8 تصویر مجزا از روی گرادیان حاصل خواهد شد که هر کدام مربوط به یکی از راستاهای استاندارد .
 ![شکل 5  نحوه استاندارد سازی زاویه گرادیان ](https://boute.s3.amazonaws.com/194-uu.png)
 وبرای استخراج ویژگی های نهایی از تصاویر قبل نمونه برداری میشود  با استفاده از توابع گاسی  که تعداد k *k ماسک گاسی با فواصل یکسان به اندازه n/k در راستای افقی و عمودی روی تصویر قرار  داده و مقدار مربوط به هر ماسک محاسبه می گردد . که با توجه به اینکه کلا 8 تصویر از روی گرادیان ساخته می شود  ودر هر تصویر نمونه برداری با تعداد k*k ماسک گاسی  صورت  می گیرد کلا 8*k*k ویژگی از روی گرادیان حاصل می شود .
 در شکل 6  مثالی از نحوه به دست آوردن ویژگی گرادیان 4 جهته نشان داده می شود .
 ![شکل 6  نحوه به دست آوردن ویژگی گرادیان 4 جهته  a- تصویر اولیه  b- تصویر نرمال شده  c-تا f- بترتیب تصویر گرادیان در هر یک از راستاهی افقی .قطر اصلی عمودی و قطر فرعی  g- بلاکهای مربوط به نمونه برداری از تصویر c](https://boute.s3.amazonaws.com/194-Untitle.png)
  وبرای طبقه بندی دوکرنل RBF و کرنل چند جمله ای برای دسته بندی کننده  SVM بصورت جداگانه مورد آزمایش قرار گرفتند  .همچنین   با استفاده از 4974 نمونه آموزشی و 3939 نمونه آزمایشی که مورد بررسی قرار گرفته بهترین میزان تشخیص حاصل 99.49 در صد بوده است .








# آزمایش‌ها

# کارهای آینده

# مراجع

[1] 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
[2] Claude Chouinard, Rejean Plamondon “Thinning and Segmenting Handwritten Characters by Line Following”, Ecole Polytechnique de Montreal, Machine Vision and Applications, 1992

**پیوندهای مفید**
+ [صفحه رسمی مجموعه دادگان هدی ](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/)