بخشی از مقاله

چکیده

روش جدیدی را در این مقاله با بکار گیری الگوریتمهای هوش مصنوعی جهت بازشناسی ارقام دستنوشته فارسی ارائه نمودهایم. تشخیص کاراکترها شامل سه مرحله پیشپردازش، استخراج ویژگی و دستهبندی است. در مرحله پیشپردازش مراحلی جهت بهبود کیفیت تصاویر و کاهش نویز انجام شد. در مرحله استخراج ویژگی، خصوصیاتی که سبب تفکیک کلاس نمونههای مختلف از یکدیگر میشدند را تعیین کردیم. مرحله دستهبندی را با شبکه عصبی جهت جداسازی نمونههای مختلف از یکدیگر، انجام دادیم. ارزیابی نتایج بر روی پایگاه داده ارقام هدی انجام شد و بهترین نرخ بازشناسی ارقام دستنوشته فارسی، 95/37 درصد به دست آمد.

کلمات کلیدی تشخیص ارقام دستنویس فارسی، یادگیری ماشین، شبکه عصبی، استخراج ویژگی، دستهبندی.

مقدمه

در مورد تشخیص حروف و ارقام دستنویس انگلیسی مطالعات بیش از 50 سال است که شروعشده، این در حالی است که تحقیقات روی زبانهای فارسی و عربی حدود 20 سال دیرتر آغاز گردیده است. نگاهی به زندگی امروز بشر نشان از سرعت روزافزون زندگی بهسوی هوشمند شدن دارد، به جهت اینکه کامپیوترها یا ماشینها توانایی انجام اموری را داشته باشند که انسانها قادر به انجام آناند.

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

موجودی ساخته دست بشر که تواناییهای او را داشته باشد بهعنوان توصیفی برای هوش مصنوعی به کار میرود. اولین بار ریاضیدانانی نظیر بول هوش مصنوعی را مطرح کرده بودند، این در حالی بود که هنوز علوم الکترونیک به وجود نیامده بودند. با اختراع کامپیوتر در سال 1943، هوش مصنوعی دانشمندان را به چالشی بزرگ فراخواند. در ابتدا چنین به نظر میرسید که این فناوری درنهایت قادر به شبیهسازی رفتارهای هوشمندانه خواهد بود. اصطلاح هوش مصنوعی برای اولین بار توسط جان مکارتی مطرح گردید که از او بهعنوان پدر »ماشینهای هوشمند« یاد میشود. یادگیری ماشین بهعنوان یکی از شاخههای هوش مصنوعی، ماشینها را به سمت هوشمند شدن رهنمون میسازد .

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

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

اما تشخیص دستنوشتهها و تبدیل به اسناد قابلویرایش با مشکلات فراوانی روبرو است. دستیابی به سیستمهای بازشناسی نوشته های بدون قید و شبیهسازی ماشینی نگارش انسانی و متون چاپی، هنوز راه درازی در پیش دارد. تشخیص دستنوشته که زیرشاخهای از پردازش تصویر محسوب میشود به علت دستخطهای مختلف افراد به نسبت کار مشکلتری است . تشخیص الگوهای نوشتاری شامل ارقام، حروف دستنویس و سایر نمادهای متداول در اسناد مکتوب به زبانهای مختلف میباشند. بنابراین، در «OCR» دستنویسی شده، هنوز جای بحث و تحقیق باقی است.

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

سامانه تشخیص کاراکترها.

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

سایر بخشهای این مقاله بدینصورت است: در بخش 2 این مقاله، با شبکه عصبی آشنا خواهیم شد. در بخش 3، برخی از تحقیقات انجامشده توسط دیگر محققان موردمطالعه قرارگرفته است. در بخش 4، به ارائه چارچوب پیشنهادی خود در زمینه تشخیص ارقام دستنوشته فارسی پرداختهایم. در بخش 5، نتایج شبیهسازی روش پیشنهادی آورده شده، و نهاتاًی در بخش 6، به جمعبندی، نتیجهگیری پرداختهایم.

شبکه عصبی مصنوعی

از معروفترین شبکههای عصبی مصنوعی، میتوان به 2MLP اشاره نمود که یک تخمین زننده غیر پارامتریک است و میتواند بهمنظور دستهبندی استفاده شود. پرسپترونها در پیادهسازی شبکههای عصبی جداساز خطی کاربرد دارند. پرسپترون چندلایه یکی از ساختارهای شبکههای عصبی مصنوعی است که میتواند برای دستهبندی و یا رگرسیون استفاده شود. دانشمندان و عصبشناسان معتقدند که به کمک مغز میتوانیم سیستم-های کامپیوتری بهتری بسازیم. مغز یک دستگاه پردازش اطلاعات است که منجر به توانایی باورنکردنی بهمنظور ساخت برخی از محصولات مهندسی میشود. یکی از معروفترین تکنیکهای آموزش MLP، تکنیک پس انتشار3 میباشد که از مشتقگیری استفاده مینماید.

شبکه عصبی مصنوعی تنها مبحثی است که یادگیری ماشین را از هوش مصنوعی جدا میسازد. شبکه عصبی، از تعدادی زیادی نرون4 تشکیل میشود، بهطوریکه تمام این نرونها، قابلیت یادگیری داشته و به دیگر نرونها متصل میباشند و میتوانند در جهت تقویت یکدیگر مؤثر باشند. از به هم پیوستن نرونها، شبکه عصبی مصنوعی چندلایه به وجود میآید که قابلیت یادگیری دارد. ازجمله شبکههای عصبی موجود میتوان به MLP و 5RBF اشاره کرد.

هر نرون تعدادی ورودی از سایر نرونها یا سیگنالهای خارجی دارد که با پردازش آن با استفاده از یک تابع انتقال سیگنال، خروجی خود را تولید و به نرونهای دیگر یا خروجی سیستم ارسال میکند. تأثیر هر یک از اتصالات ورودی به نرون با سایر اتصالات متفاوت است. در هر لایه معمولاً نرونها دارای یک تابع فعالسازی میباشند. بسیاری از شبکهها از تعدادی لایه که در هر لایه تعدادی نرون وجود دارد، تشکیلشدهاند. شبکههای عصبی که شامل بیش از یکلایه از نرونها باشند، شبکه عصبی چندلایهای نامیده میشوند.

پیشینه تحقیق

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

ویژگیهای مکانهای مشخصه،معمولاً در راستای عمودی، افقی، و یا زوایای 45 و 135 درجه تعریف میشوند. بردار ویژگی مکانهای مشخصه برای هر تصویر با نسبت دادن یک عدد به هر نقطه از زمینه تصویر به دست میآید. در این تحقیق، از هر تصویر رقم دستنویس، یک بردار ویژگی مکان مشخصه با 81 مؤلفه استخراجشده و بهمنظور دستهبندی، از 3 شبکه عصبی پرسپترون با تعداد نورونهای یکسان در لایه میانی و وزنهای اولیه متفاوت، استفادهشده که نتایج خوبی را به همراه داشته است. مجموعه داده استفادهشده بهمنظور ارزیابی سیستم پیشنهادی، شامل 8000 نمونه بوده که از 6000 نمونه بهمنظور آموزش سیستم، و 2000 نمونه بهمنظور آزمایش سیستم استفادهشده است.

با استفاده از روش اختلاط خبرهها در بهترین آزمایش، دقت ارقام دستنویس فارسی، 94/85 درصد گزارششده است. صمیمی بهبهان و بهادری، روشی مبتنی بر شبکههای عصبی بهمنظور تشخیص ارقام دستنویس فارسی ارائه دادند و از پایگاه داده ارقام هدی بهمنظور ارزیابی نتایج خود، استفاده نمودند. این پایگاه داده مشتمل بر 80000 رقم دستنوشته فارسی است که 60000 نمونه آن، بهمنظور آموزش و 20000 نمونه بهمنظور آزمایش سیستم استفاده میشود.

روش پیشنهادی آنها شامل سه مرحله پیشپردازش، استخراج ویژگی و دسته-بندی میباشد. آنها در بخش پیشپردازش، به همسانسازی اندازه ارقام و قاببندی هر رقم جهت تبدیل به تعداد پیکسلهای کمتر پرداختند، بهگونهای که تمام ارقام در سایز 90 سطر و 70 ستون همسان شدند. همچنین باوجوداینکه هر قاب 10*10 در نظر گرفتهشده است، لذا یک تصویر 90*70 به 9*7 تبدیلشده است. در بخش استخراج ویژگی، 32 ویژگی با در نظر گرفتن فرورفتگیهای هر رقم در 4 جهت چپ، راست، بالا، و پایین بهدستآمده است.

این تحقیق، در بخش دستهبندی از شبکه عصبی انتشار رو به عقب استفاده نموده است. ارزیابی نتایج با 4500 نمونه تصادفی از ارقام دستنوشته پایگاه داده هدی انجامگرفته، به صورتی که 3000 نمونه بهمنظور آموزش سیستم و 1500 نمونه بهمنظور آزمایش سیستم در نظر گرفتهشده و دقت تشخیص ارقام دستنویس فارسی 91/53 درصد گزارش شده است.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید