طراحی و پیاده سازی OCR دست نویس فارسی با استفاده از عناصر ابتدایی تشکیل دهنده حروف
طراحی و پیاده سازی OCR دست نویس فارسی با استفاده از عناصر ابتدایی تشکیل دهنده حروف
در این پروژه از یک روش جدید برای تشخیص حروف و کلمات دستنویس فارسی استفاده شده است.
این کار با استفاده از هشت عنصر ابتدایی انجام میشود که در ساختار تمام حروف و کلمات زبان فارسی وجود دارند.
در این پروژه بعد از پیش پردازش، زیرکلمه نازک شده و وارد مرحله استخراج عناصر ابتدایی میشود.
در این مرحله با استفاده از استروک های و تبدیل هاف اصلاح شده، عناصر ابتدایی زیرکلمه را استخراج میکنیم.
با تشکیل بردار شناسایی استروک و سپس مقایسه آن با بردار شناسایی حروف، شناسایی انجام میشود.
در این روش بر خلاف روشهای متداول تشخیص زیرکلمه دستنویس، به آموزش نیازی نیست و دو مرحله بازشناسی و جداسازی حروف، همزمان انجام میشود.
برای تست حروف جدا و اعداد از پایگاه داده IFHCDB استفاده شده و برای زیر کلمات دو و سه حرفی، یک پایگاه داده ساخته شده است.
الگوریتم پیشنهادی بر روی این پایگاه دادهها تست شده و دقت آن برای تشخیص اعداد 8/98% است.
همچنین دقت آن بر روی حروف جدا فارسی که حدوداً 50% از زیرکلمات را در متون فارسی تشکیل میدهند، 7/88%، برای زیرکلمات دو حرفی که حدوداً 32% از متون را تشکیل میدهند، 4/81% و برای زیرکلمات سه حرفی که حدوداً 12% از متون را تشکیل میدهند، 6/73% میباشد.
کليد واژه: عناصر ابتدایی، بازشناسی دستنویس، handwriting recognition، نویسه خوان نوری، OCR.
فصل 1- مقدمه
سيستم تشخيص کارکتر از ديدگاه كلي، يك سيستم بازشناسی الگو مي باشد كه براي طيف وسيعي از كاربردها، طراحي و پياده سازي مي شود. از اين رو، قبل از ارائه هر مطلب تخصصي در اين زمينه، ابتدا، تعريفي از يك سيستم تشخیص کارکتر ارائه خواهيم كرد.
در اين فصل، پس از معرفي سيستمهاي تشخیص کارکتر و كليات بحث بازشناسی الگو، به بازشناسی نوشتار و سپس به ویژگیهای خط فارسی میپردازیم.
1-1- OCR
واژه OCR مخفف عبارت Optical Character Recognition، به معنی تبدیل متن دستنویس یا تایپی درون یک تصویر به یک متن قابل فهم برای ماشین است.
تصویر حاوی متن معمولاً با پویش[1] نوری و یا تصویربرداری دیجیتال به دست میآید.
هدف بازشناسی حروف (OCR)، تبدیل تصویر دیجیتال به دست آمده به یک متن در فرمت Text است[2].
نتیجه این تبدیل، به وجود آمدن امکان جستجوی کامپیوتری و ویرایش (حذف و اضافه نمودن) متن، تغییر ظاهر متن (تغییر اندازه و نوع قلم[2] و غیره) و کاهش فضای ذخیرهسازی است.
دانلود نرم افزار متلب MATHWORKS MATLAB R2018B
برای بازشناسی حروف، بسیاری از علوم به کار میروند.
به عنوان مثال، برای کاهش نویز از فیلترها و عملگرهای مختلف علم پردازش سیگنال دیجیتال[3]، برای آستانهگذاری[4] و افزایش کیفیت تصویر ورودی از علم پردازش تصویر[5]، برای جداسازی[6] حروف از علم بینایی[7] ماشین و برای شناسایی حروف از علوم یادگیری ماشین[8]، منطق فازی[9]، آمار و غیره استفاده میشود.
امروزه سیستمهای بازشناسی حروف بسیار مورد توجه هستند.
الگوریتمهای دقیق و سریعی برای بازشناسی حروف لاتین چینی ارائه و پیادهسازی شده است[3].
ریشه تلاش برای بازشناسی حروف و اعداد تایپی و دستنویس، به دهه 1350 خورشیدی (1970) باز میگردد، ولی این تلاشها هنوز به نتیجه کاملا مطلوب نرسیده است و برای بهبود آن تلاش میشود.
در مورد حروف فارسی و عربی، به علت پیچیدگی خط در این دو زبان، هنوز روشهای مناسبی ارائه نشده است.
از دهه 1350 خورشیدی بر روی بازشناسی حروف فارسی و از دهه 1360 خورشیدی بر روی بازشناسی حروف عربی (که به جز «گ»، «پ»، «چ» و «ژ» با حروف فارسی همسان هستند) کار شده است، ولی با تولید سیستمهای تجاری بازشناسی حروف، نتایج به دست آمده تاکنون برای اغلب کاربردها مناسب نیست.
عمل بازشناخت نوشتهها، در واقع شبیه سازی فرایند خواندن توسط انسان است.
همانطور که گفته شد، در سالهای اخیر، تحقیقات زیادی در این زمینه انجام شده است و نتیجه آن ارائه الگوریتمهای زیادی است که برای بازشناخت نوشته های الفباهای زبانهای مختلف بوده است.
با دقت به این الگوریتمها میتوان مشاهده کرد که شکلگیری روند شناسایی، منطبق بر ویژگیهای خاص الفبای موردنظر بوده است[4].
در همین راستا و به واسطه وجود موارد خاصی که رعایت آنها در نگارش به خط فارسی ضروری است، هیچ یک از روشهای موجود در بازشناخت نوشتهها، به طور مستقیم برای الفبای فارسی قابل استفاده نیستند[5] .
سیستمهای بازشناخت حروف شامل بخشهای کلی مختلفی هستند.
این مراحل در اغلب الگوریتمهای تشخیص حروف به صورت زیر است:
- پویش تصویر متن با درجه تفکیک[10] مناسب
- پیش پردازش مناسب تصویر
- جداسازی خطوط کارکترهای مجزا
- استخراج ویژگیها
- تشخیص کارکتر
در مرحله پویش، سعی در به حداقل رساندن مشکلات معمول، مانند حاشیههای زائد، نقاط سیاه شدگی و شیارها است.
با این حال، در اغلب موارد این مشکلات وجود دارند و برای حل این مشکلات، باید روی تصویر دیجیتال پویش شده و پیش پردازش مناسب انجام گیرد تا تصویر آمادۀ مرحلۀ بعدی شود.
در مرحله پیش پردازش، از روشهای مختلف باینری کردن تصویر[11]، تصحیح کج بودن تصویر و کاهش نویز استفاده میگردد.
در مرحله بعدی، جداسازی خطوط متن و سپس جداسازی کارکترها انجام میشود.
در این مرحله، از روشهای مختلفی برای شکستن تصویر اصلی به کارکترهای مجزا استفاده میشود.
پس از جداسازی حروف، ویژگیهای هر یک از حروف استخراج میشوند.
این مرحله یکی از حساسترین مراحل در تشخیص حروف فارسی است و تفاوت اصلی اغلب روشهای ارائه شده برای تشخیص حروف در این بخش است.
پس از استخراج ویژگیهای حروف، تشخیص آنها با استفاده از ویژگیهای به دست آمده از مرحله قبل انجام میشود.
روشهای این مرحله را میتوان به دو دسته عمده تقسیم کرد: روشهای بدون نیاز به تمرین و روشهای با تمرین[12].
در روشهای با تمرین از روشهای یادگیری ماشین و شبکههای عصبی برای یافتن نوع حرف استفاده میشود و به مرور زمان نتایج این روشها میتواند بهبود یابد.
در نتیجه، پیش از بهرهبرداری از سیستم بازشناسی حروف، باید یک دوره تمرین را برای این روشها در نظر گرفت در حالی که در روش دیگر نیاز با این کار نیست.
1-2- بازشناسی الگو
ﺷﻨﺎﺳﺎﻳﻲ ﺍﻟﮕﻮ، ﺷﺎﺧﻪﺍﻱ ﺍﺯ ﻫﻮﺵ ﻣﺼﻨﻮﻋﻲ[13] ﺍﺳﺖ ﻛﻪ ﺑﺎ ﻃﺒﻘﻪﺑﻨﺪﻱ[14] ﻭ ﺗﻮﺻﻴﻒ ﻣﺸﺎﻫﺪﺍﺕ ﺳﺮﻭﻛﺎﺭ ﺩﺍﺭﺩ.
ﺷﻨﺎﺳﺎﻳﻲ ﺍﻟﮕﻮ ﺑﻪ ﻣﺎ ﻛﻤﻚ ﻣﻲﻛﻨﺪ ﺩﺍﺩﻩﻫﺎ (ﺍﻟﮕﻮﻫﺎ) ﺭﺍ ﺑﺎ ﺗﻜﻴﻪ ﺑﺮ ﺩﺍﻧﺶ ﻗﺒﻠﻲ ﻳﺎ ﺍﻃﻼﻋﺎﺕ ﺁﻣﺎﺭﻱ ﺍﺳﺘﺨﺮﺍﺝ ﺷﺪﻩ ﺍﺯ ﺍﻟﮕﻮﻫﺎ، ﻃﺒﻘﻪﺑﻨﺪﻱ ﻧﻤﺎﻳﻴﻢ.
ﺍﻟﮕﻮﻫﺎﻳﻲ ﻛﻪ ﻣﻲﺑﺎﻳﺴﺖ ﻃﺒﻘﻪﺑﻨﺪﻱ ﺷﻮﻧﺪ، ﻣﻌﻤﻮﻻ ﮔﺮﻭﻫﻲ ﺍﺯ ﺳﻨﺠﺶﻫﺎ ﻳﺎ ﻣﺸﺎﻫﺪﺍﺕ ﻫﺴﺘﻨﺪ ﻛﻪ ﻣﺠﻤﻮﻋﻪ ﻧﻘﺎﻃﻲ ﺭﺍ ﺩﺭ ﻳﻚ ﻓﻀﺎﻱ ﭼﻨﺪ ﺑﻌﺪﻱ ﻣﻨﺎﺳﺐ ﺗﻌﺮﻳﻒ ﻣﻲﻧﻤﺎﻳﻨﺪ.
ﻳﻚ ﺳﻴﺴﺘﻢ ﺷﻨﺎﺳﺎﻳﻲ ﺍﻟﮕﻮﻱ ﻛﺎﻣﻞ ﻣﺘﺸﻜﻞ ﺍﺳﺖ ﺍﺯ ﻳﻚ ﺣﺴﮕﺮ[15] ﻛﻪ ﻣﺸﺎﻫﺪﺍﺗﻲ ﺭﺍ ﻛﻪ ﻣﻲﺑﺎﻳﺴﺖ ﺗﻮﺻﻴﻒ ﻳﺎ ﻃﺒﻘﻪﺑﻨﺪﻱ ﺷﻮﻧﺪ ﺟﻤﻊﺁﻭﺭﻱ ﻣﻲﻧﻤﺎﻳﺪ، ﻳﻚ ﺳﺎﺯﻭﻛﺎﺭ ﺑﺮﺍﻱ ﺍﺳﺘﺨﺮﺍﺝ ﻭﻳﮋﮔﻲﻫﺎ[16] ﻛﻪ ﺍﻃﻼﻋﺎﺕ ﻋﺪﺩﻱ ﻳﺎ ﻧﻤﺎﺩﻳﻦ ﺭﺍ ﺍﺯ ﻣﺸﺎﻫﺪﺍﺕ، ﻣﺤﺎﺳﺒﻪ ﻣﻲﻛﻨﺪ (ﺍﻳﻦ ﺍﻃﻼﻋﺎﺕ ﻋﺪﺩﻱ ﺭﺍ ﺑﺎ ﻳﻚ ﺑﺮﺩﺍﺭ ﺑﻨﺎﻡ ﺑﺮﺩﺍﺭ ﻭﻳﮋﮔﻲﻫﺎ ﻧﻤﺎﻳﺶ ﻣﻲﺩﻫﻨﺪ) ﻭ ﻳﻚ ﻧﻈﺎﻡ ﻃﺒﻘﻪﺑﻨﺪﻱ ﻳﺎ ﺗﻮﺻﻴﻒ ﻛﻪ ﻭﻇﻴﻔﺔ ﺍﺻﻠﻲ ﻃﺒﻘﻪﺑﻨﺪﻱ ﻳﺎ ﺗﻮﺻﻴﻒ ﺍﻟﮕﻮﻫﺎ ﺭﺍ ﺑﺎ ﺗﻜﻴﻪ ﺑﺮ ﻭﻳﮋﮔﻲﻫﺎﻱ ﺍﺳﺘﺨﺮﺍﺝ ﺷﺪﻩ ﻋﻬﺪﻩﺩﺍﺭ ﺍﺳﺖ.
ﺷﻜﻞ 1-١ ﻧﻤﻮﺩﺍﺭ ﺑﻠﻮﻛﻲ ﻳﻚ ﺳﻴﺴﺘﻢ ﺷﻨﺎﺳﺎﻳﻲ ﺍﻟﮕﻮ ﺭﺍ ﻧﺸﺎﻥ ﻣﻲﺩﻫﺪ.
ﻫﻤﺎﻧﻄﻮﺭﻱ ﻛﻪ ﺍﺯ ﭘﻴﻜﺎﻥﻫﺎﻱ ﺑﺮﮔﺸﺘﻲ ﻣﺸﺨﺺ ﺍﺳﺖ، ﺍﻳﻦ ﺑﻠﻮﻙﻫﺎ ﻟﺰﻭﻣﺎً ﻣﺴﺘﻘﻞ ﻧﻴﺴﺘﻨﺪ ﻭ ﺑﺴﺘﻪ ﺑﻪ ﻧﺘﺎﻳﺞ ﺣﺎﺻﻠﻪ ﮔﺎﻫﻲ ﻻﺯﻡ ﺍﺳﺖ ﻛﻪ ﺑﻠﻮﻙﻫﺎﻱ ﺍﻭﻟﻴﻪ ﻣﺠﺪﺩﹰﺍً ﻃﺮﺍﺣﻲ ﮔﺮﺩﻧﺪ ﺗﺎ بازده ﻛﻠﻲ ﺳﻴﺴﺘﻢ ﺑﻬﺒﻮﺩ ﻳﺎﺑﺪ.
شکل 1‑1 بلوک دیاگرام یک سیستم شناسایی الگو
ﺍﻣﺮﻭﺯﻩ ﺣﺠﻢ ﺯﻳﺎﺩﻱ ﺍﺯ ﺍﺳﻨﺎﺩ ﻛﺎﻏﺬﻱ ﻣﻮﺟﻮﺩ، ﺗﻮﺳﻂ ﺍﺳﻜﻨﺮﻫﺎ ﻳﺎ ﺩﻭﺭﺑﻴﻦﻫﺎ ﺑﻪ ﺍﺳﻨﺎﺩ ﺗﺼﻮﻳﺮﻱ ﺩﻳﺠﻴﺘﺎﻟﻲ ﺗﺒﺪﻳﻞ ﻣﻲﺷﻮﻧﺪ. ﺫﺧﻴﺮﻩﺳﺎﺯﻱ، ﺑﺎﺯﻳﺎﺑﻲ ﻭ ﻣﺪﻳﺮﻳﺖ ﻛﺎﺭﺁﻣﺪ ﺍﻳﻦ ﺁﺭﺷﻴﻮﻫﺎﻱ ﺗﺼﻮﻳﺮﻱ، ﺩﺭ ﺑﺴﻴﺎﺭﻱ ﺍﺯ ﺑﺮﻧﺎﻣﻪﻫﺎ ﻧﻈﻴﺮ ﺍﺗﻮﻣﺎﺳﻴﻮﻥ ﺍﺩﺍﺭﻱ ﻭ ﻛﺘﺎﺑﺨﺎﻧﻪﻫﺎﻱ ﺩﻳﺠﻴﺘﺎﻟﻲ ﺍﻫﻤﻴﺖ ﻓﺮﺍﻭﺍﻧﻲ ﺩﺍﺭﻧﺪ. ﺩﺭ ﻧﺘﻴﺠﻪ ﺩﺳﺘﻴﺎﺑﻲ ﺑﻪ ﺍﻟﮕﻮﺭﻳﺘﻢﻫﺎﻱ ﻣﺆﺛﺮ ﺑﻪ ﻣﻨﻈﻮﺭ ﺁﻧﺎﻟﻴﺰ ﺗﺼﻮﻳﺮﻱ ﺍﺳﻨﺎﺩ، ﻳﻚ ﻧﻴﺎﺯ ﺍﺳﺎﺳﻲ ﺑﻪ ﺣﺴﺎﺏ ﻣﻲﺁﻳﺪ.
ﻣﺒﺤﺚ «ﺁﻧﺎﻟﻴﺰ ﺗﺼﻮﻳﺮ ﺍﺳﻨﺎﺩ» [17]DIA ﺍﺯ ﺟﻤﻠﻪ ﺷﺎﺧﻪﻫﺎﻱ ﻓﻌﺎﻝ ﺩﺭ ﺷﻨﺎﺳﺎﻳﻲ ﺍﻟﮕﻮ ﻭ ﭘﺮﺩﺍﺯﺵ ﺗﺼﺎﻭﻳﺮ ﻣﻲﺑﺎﺷﺪ ﻭ ﻣﺸﺘﻤﻞ ﺑﺮ ﻛﻠﻴﺔ ﻣﺮﺍﺣﻞ ﭘﺮﺩﺍﺯﺷﻲ ﺍﺳﺖ ﻛﻪ ﻣﺤﺘﻮﻳﺎﺕ ﻳﻚ ﺳﻨﺪ ﺍﺳﻜﻦ ﻳﺎ ﻓﻜﺲ ﺷﺪﻩ ﺭﺍ ﺑﻪ ﻳﻚ ﻓﺮﻡ ﺍﻟﻜﺘﺮﻭﻧﻴﻜﻲ ﻣﻨﺎﺳﺐ، ﺗﺒﺪﻳﻞ ﻣﻲﻧﻤﺎﻳﺪ. ﺗﻜﻨﻴﻚﻫﺎﻱ DIA ﺍﺟﺰﺍﻱ ﻣﺨﺘﻠﻒ «ﺳﺎﺧﺘﺎﺭﻱ» ﺳﻨﺪ، ﻳﻌﻨﻲ ﻗﺴﻤﺖﻫﺎﻱ ﻣﺘﻨﻲ (ﭘﺎﺭﺍﮔﺮﺍﻑﻫﺎ، ﻛﻠﻤﺎﺕ، ﺣﺮﻭﻑ و…)، ﻗﺴﻤﺖﻫﺎﻱ ﮔﺮﺍﻓﻴﻜﻲ (ﺧﻄﻮﻁ، ﻧﻤﺎﺩﻫﺎ، ﻧﻤﻮﺩﺍﺭﻫﺎ و…) ﻭ ﻗﺴﻤﺖﻫﺎﻱ ﺗﺼﻮﻳﺮﻱ (ﺗﺼﺎﻭﻳﺮ ﻣﻮﺟﻮﺩ ﺩﺭ ﻣﺘﻦ) ﺭﺍ ﺍﺯ ﻳﻜﺪﻳﮕﺮ ﺗﻔﻜﻴﻚ ﻣﻲﻛﻨﻨﺪ ﻭ ﭘﺮﺩﺍﺯﺵ ﻣﻨﺎﺳﺐ ﺭﺍ ﺑﺮ ﺭﻭﻱ ﻫﺮ ﺩﺳﺘﻪ ﺍﺯ ﺍﺟﺰﺍ، ﺍﻋﻤﺎﻝ ﻣﻲﻧﻤﺎﻳﻨﺪ ﻭ ﻧﻴﺰ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺍﺭﺗﺒﺎﻁ «ﻣﻨﻄﻘﻲ» ﺑﻴﻦ ﺍﺟﺰﺍﻱ ﻣﺨﺘﻠﻒ، ﻧﻘﺶ ﻫﺮ ﻳﻚ ﺍﺯ ﺍﻳﻦ ﺍﺟﺰﺍ ﺭﺍ ﺩﺭ ﺳﻨﺪ ﻣﺸﺨﺺ ﻣﻲﺳﺎﺯﻧﺪ. ﺷﻜﻞ ٢ ﺳﺎﺧﺘﺎﺭ ﺳﻠﺴﻠﻪ ﻣﺮﺍﺗﺒﻲDIA ﺭﺍ ﺑﻪ ﻧﻤﺎﻳﺶ ﻣﻲﮔﺬﺍﺭﺩ [6].
ﻫﻤﺎﻧﮕﻮﻧﻪ ﻛﻪ ﺷﻜﻞ 1-٢ ﻧﺸﺎﻥ ﻣﻲﺩﻫﺪ، DIA ﺩﺭﺑﺮﺩﺍﺭﻧﺪﺓ ﺩﺳﺘﺔ ﺑﺰﺭﮔﻲ ﺍﺯ ﺗﻜﻨﻴﻚﻫﺎ ﺑﻨﺎﻡ ﺗﻜﻨﻴﻚﻫﺎﻱ «ﺑﺎﺯﺷﻨﺎﺳﻲ ﻧﻮﺭﻱ ﺣﺮﻭﻑ» ﻳﺎ OCR ﺍﺳﺖ. ﺍﻳﻦ ﺗﻜﻨﻴﻚﻫﺎ ﺩﺭ ﻣﻮﺭﺩ ﺍﺟﺰﺍﻳﻲ ﺍﺯ ﺗﺼﻮﻳﺮ ﺳﻨﺪ ﻛﻪ ﺗﻮﺳﻂ ﺗﻜﻨﻴﻚﻫﺎﻱ ﺗﺤﻠﻴﻞ ﺳﺎﺧﺘﺎﺭﻱ ﺩﺭ DIA ﺑﻪ ﻋﻨﻮﺍﻥ ﻣﺘﻦ ﺗﺸﺨﻴﺺ ﺩﺍﺩﻩ ﺷﺪﻩﺍﻧﺪ، ﺍﻋﻤﺎﻝ ﻣﻲﮔﺮﺩﻧﺪ ﻭ ﺗﺼﻮﻳﺮ ﺳﻨﺪ ﺭﺍ ﺑﻪ ﻳﻚ ﻣﺘﻦ ﻗﺎﺑﻞ ﻭﻳﺮﺍﻳﺶ ﺗﻮﺳﻂ ﺭﺍﻳﺎﻧﻪ ﺗﺒﺪﻳﻞ ﻣﻲﻧﻤﺎﻳﻨﺪ. ﺳﻴﺴﺘﻢﻫﺎﻱ OCR ﺑﺎ ﺣﺬﻑ ﻧﻘﺶ ﺗﺎﻳﭙﻴﺴﺖﻫﺎ ﺩﺭ ﻓﺮآﻳﻨﺪ ﺗﺒﺪﻳﻞ ﺍﺳﻨﺎﺩ ﻛﺎﻏﺬﻱ ﺑﻪ ﻗﺎﻟﺐ ﺍﻟﻜﺘﺮﻭﻧﻴﻜﻲ، ﺳﺮﻋﺖ ﻭﺭﻭﺩ ﺍﻃﻼﻋﺎﺕ ﺑﻪ ﺭﺍﻳﺎﻧﻪ ﺭﺍ ﺩﻩﻫﺎ ﺑﺮﺍﺑﺮ ﺍﻓﺰﺍﻳﺶ ﻣﻲﺩﻫﻨﺪ ﻭ ﺭﻭﻧﺪ ﺍﻧﺠﺎﻡ ﺍﻳﻦ ﻓﺮﺍﻳﻨﺪ ﺭﺍ ﺑﻪ ﻣﻴﺰﺍﻥ ﻗﺎﺑﻞ ﺗﻮﺟﻬﻲ ﺗﺴﻬﻴﻞ ﻣﻲﻛﻨﻨﺪ. ﺍﻣﺮﻭﺯﻩ ﺑﺎﺯﺍﺭ ﻣﺼﺮﻑ ﺳﻴﺴﺘﻢﻫﺎﻱ OCR ﻃﻴﻒ ﺑﺴﻴﺎﺭ ﻭﺳﻴﻌﻲ ﺍﺯ ﻣﺆﺳﺴﺎﺕ (ﺷﺎﻣﻞ ﻣﺮﺍﻛﺰ ﻧﺸﺮ، ﺩﺍﻧﺸﮕﺎﻩﻫﺎ، ﻛﺘﺎﺑﺨﺎﻧﻪﻫﺎ، ﺑﺎﻧﻚﻫﺎ، ﺍﺩﺍﺭﺍﺕ ﭘﺴﺘﻲ، ﺷﺮﻛﺖﻫﺎﻱ ﺑﻴﻤﻪ ﻭ ..) ﺭﺍ ﺩﺭﺑﺮﻣﻲﮔﻴﺮﺩ. ﺩﺭ ﻧﺘﻴﺠﻪ ﺁﺷﻨﺎﻳﻲ ﺍﻭﻟﻴﻪ ﺑﺎ ﻣﺒﺎﻧﻲ ﺍﻳﻦ ﺳﻴﺴﺘﻢﻫﺎ ﺑﺮﺍﻱ ﻛﻠﻴﺔ ﺍﻓﺮﺍﺩﻱ ﻛﻪ ﺑﻪ ﻧﺤﻮﻱ ﺑﺎ ﺍﺳﻨﺎﺩ ﻭ ﻣﺪﺍﺭﻙ ﺳﺮ ﻭ ﻛﺎﺭ ﺩﺍﺭﻧﺪ، ﺿﺮﻭﺭﻱ ﺑﻪ ﻧﻈﺮ ﻣﻲﺭﺳﺪ.
شکل 1‑2 یک ساختار سلسله مراتبی از بخش های مختلف مبحث تحلیل
ﺍﻛﺜﺮ ﻛﺎﺭﻫﺎﻱ ﺍﻧﺠﺎﻡﺷﺪﻩ ﺩﺭ ﺯﻣﻴﻨﺔ OCR ﺩﺭ ﺭﺍﺑﻄﻪ ﺑﺎ ﻣﺘﻮﻥ ﻻﺗﻴﻦ، ﭼﻴﻨﻲ ﻭ ﮊﺍﭘﻨﻲ ﺑﻮﺩﻩ ﺍﺳﺖ ﻭ ﺳﻴﺴﺘﻢﻫﺎﻱ ﺗﺠﺎﺭﻱ OCR ﻻﺗﻴﻦ ﺩﺭ ﺳﺎﻝﻫﺎﻱ ﺍﺧﻴﺮ ﭘﻴﺸﺮﻓﺖ ﻛﻴﻔﻲ ﻗﺎﺑﻞ ﻣﻼﺣﻈﻪﺍﻱ ﺩﺍﺷﺘﻪﺍﻧﺪ. ﺍﻣﺎ OCR ﻓﺎﺭﺳﻲ ﺑﺎ ﻭﺟﻮﺩ ﺣﺠﻢ ﻧﺴﺒﺘﺎً ﻭﺳﻴﻊ ﺗﺤﻘﻴﻘﺎﺕ ﺩﺍﻧﺸﮕﺎﻫﻲ ﻭ ﻧﻴﺎﺯ ﺷﺪﻳﺪ ﺑﺎﺯﺍﺭ ﺗﺠﺎﺭﻱ ﺑﻪ ﺁﻥ، ﻫﻨﻮﺯ ﻫﻢ ﺍﺯ ﺟﺎﻳﮕﺎﻩ ﻣﻮﺭﺩ ﻧﻈﺮ ﻓﺎﺻﻠﺔ ﺑﺴﻴﺎﺭﻱ ﺩﺍﺭﺩ ﻭ ﺗﺎﻛﻨﻮﻥ ﻫﻴﭻ ﺳﻴﺴﺘﻢ OCR ﻛﺎﺭﺁﻣﺪﻱ ﻛﻪ ﺍﺯ ﻧﻈﺮ ﺩﻗﺖ ﻭ ﻛﻴﻔﻴﺖ ﻣﺤﻴﻂ ﻧﺮﻡﺍﻓﺰﺍﺭﻱ، ﻗﺎﺑﻞ ﻣﻘﺎﻳﺴﻪ ﺑﺎ ﺳﻴﺴﺘﻢﻫﺎﻱ OCR ﻻﺗﻴﻦ ﺑﺎﺷﺪ، ﻋﺮﺿﻪ ﻧﮕﺮﺩﻳﺪﻩ ﺍﺳﺖ. ﺩﺭ ﻧﺘﻴﺠﻪ ﺿﺮﻭﺭﺕ ﺍﻧﺠﺎﻡ ﺗﺤﻘﻴﻘﺎﺕ ﺑﻴﺸﺘﺮ ﺩﺭ ﺯﻣﻴﻨﺔ ﻣﺘﻮﻥ ﻓﺎﺭﺳﻲ ﻭ ﻋﺮﺑﻲ ﻛﺎﻣﻼً ﺍﺣﺴﺎﺱ ﻣﻲﺷﻮﺩ. ﺑﻮﺍﺳﻄﺔ ﻭﺟﻮﺩ ﺗﻔﺎﻭﺕﻫﺎﻱ ﺍﺳﺎﺳﻲ ﺑﻴﻦ ﻧﺤﻮﺓ ﻧﮕﺎﺭﺵ ﻓﺎﺭﺳﻲ ﻭ ﻻﺗﻴﻦ (ﻧﻈﻴﺮ ﭼﺴﺒﻴﺪﻩ ﺑﻮﺩﻥ ﺣﺮﻭﻑ ﻛﻠﻤﻪ ﺑﻪ ﻳﻜﺪﻳﮕﺮ، ﺗﻐﻴﻴﺮ ﺷﻜﻞ ﺣﺮﻭﻑ ﺑﺮﺍﺳﺎﺱ ﻣﻮﻗﻌﻴﺖ ﻧﺴﺒﻲ ﺁﻥ ﺩﺭ ﻛﻠﻤﺔ ﻓﺎﺭﺳﻲ، ﻭ …)، ﺍﻣﻜﺎﻥ ﺍﻋﻤﺎﻝ ﻣﺴﺘﻘﻴﻢ ﺭﻭﺵﻫﺎﻱ ﺑﺎﺯﺷﻨﺎﺳﻲ ﻣﺘﻮﻥ ﻻﺗﻴﻦ ﺑﻪ ﻣﻨﻈﻮﺭ ﺷﻨﺎﺳﺎﻳﻲ ﻣﺘﻮﻥ ﻓﺎﺭﺳﻲ ﻭﺟﻮﺩ ﻧﺪﺍﺭﺩ.
1-3- بازشناسی نویسه ها
نویسه[18]، کوچکترین جزء نوشتاری است و شامل ارقام، حروف و علائم است. بازشناسی نویسهها به معنی تشخیص حروف یا ارقام از روی تصویر آنها است. از دید کامپیوتر، تصویر یک نویسه، مانند «س» عبارت است از تعدادی پیکسل[19] با روشناییهای[20] متفاوت و از این لحاظ هیچ تفاوتی بین تصویر یک حرف و تصویر یک گل وجود ندارد. از این رو برای بازشناسی نویسهها، باید تکنیکهای خاص بازشناسی الگو را به کار گرفت.
بازشنارسی نویسههای گسسته که عمدتاً نویسههای دست نوشته را شامل میشود، یکی از پرکاربردترین موارد بازشناسی الگو است که تحقیقات بسیاری را نیز به خود اختصاص داده است. بازشناسی حروف و ارقام دست نوشته در تمام فرمهای کاغذی که توسط کاربران و ارباب رجوع پر میشوند کاربرد دارد، مثلاً فرمهای ثبت نام آزمونهای مختلف، فرمهای نظر سنجی و یا فرمهای بانکی.
برای بازشناسی نویسهها، رویکرد تقریباً استانداردی وجود دارد که شامل پیش پردازش، استخراج ویژگی و بازشناسی توسط یک کلاسبند است. روشهای مختلف، اغلب تنها در جزئیاتی مانند الگوریتم پیش پردازش (شامل نحوۀ سیاه و سفید (باینری) کردن تصویر و یافتن موقعیت فیلدهای متنی)، نحوۀ استخراج ویژگی و یا نوع کلاسبند مورد استفاده متفاوتند. البته روشهای ساختاری هم برای بازشناسی وجود دارد که بر مبنای قوانین ساختاری، حروف و ارقام را بازشناسی میکنند، ولی این روشها به دلیل حساسیتهای فراوان و دشواری در تعریف و پیاده سازی قوانین ساختاری، امروزه بیشتر به عنوان روشهای کمکی در بخشی از سیستم استفاده میشوند[4].
1-4- مزایا و کاربردهای نویسه خوان نوری
امروزه بیشتر دستگاههای پویشگر به نرمافزارهای نویسه خوان نوری مجهز گردیدهاند و قادرند متن موجود در یک سند پویش شده را تشخیص دهند و آن را با همان نحوه قالب بندی، ستون بندی، جدول بندی و نوع فونت مطابق با سند اصلی، در قالب یک فایل متنی با قالب بندی مناسب ذخیره نمایند. سیستمهای نویسه خوان نوری با حذف نقش واژهنگارها در فرایند تبدیل اسناد کاغذی به قالب الکترونیکی، سرعت ورود اطلاعات به رایانه را دهها برابر افزایش میدهند و روند انجام این فرایند را به میزان قابل توجهی تسهیل میکنند. امروزه بازار مصرف سیستمهای نویسه خوان نوری طیف بسیار وسیعی از موسسات (شامل مراکز نشر، دانشگاهها، کتاب خانهها، بانکها، ادارات پستی، شرکتهای بیمه و… ) را دربر میگیرند.
استفاده از سیستمهای نویسه خوان نوری دو مزیت عمده دارد:
- افزایش چشمگیر سرعت دسترسی به اطلاعات؛ زیرا در متن بر خلاف تصویر، امکان جستجو و ویرایش وجود دارد.
- کاهش فضای ذخیره سازی؛ زیرا حجم فایلهای متنی استخراج شده از یک تصویر، معمولاً بسیار کمتر از حجم خود فایل تصویری است.
چنین قابلیتی امکان استفاده گسترده از رایانه را در پردازش سریع حجم وسیعی از دادههای مکتوب شرکتها و مؤسسات مختلف (نظیر بانکها، شرکتهای بیمه، مؤسسات خدمات عمومی، ادارای پست و دیگر نهادهایی که سالیانه با میلیونها مورد پرداخت، دریافت و حسابرسی امور مشتریان خود مواجهاند) را فراهم میآورد[2].
1-4-1- ورود داده
روشهای ثبت حجم زیادی از اطلاعات با چهارچوب مشخص، در این حوزه قرار میگیرند. به عنوان مثال، دستگاههای چک خوان که در بانکها برای ورود داده استفاده میشوند. این سیستمها برای خواندن بخشهای کوچکی از تصویر چک شامل نویسههای چاپی و دست نویس مانند شماره حساب، امضای مشتری، شماره برگ چک و مبلغ چک طراحی میشود.
دستگاههای چک خوان در حدود 150000 چک را در یک ساعت میخوانند و نرخ وازدگی و خطای آنها کم است. این سیستمها در کیفیتهای پایین چاپ نیز به خوبی عمل میکنند. این دستگاه ها برای کاربردهای خاص طراحی میشوند و قیمت بالایی دارند.
1-4-2- ورود متن
کاربرد دیگر سیستمهای بازشناسی متن در بازشناسی سند برای استفاده در اتوماسیون اداری است. این سیستمها اسناد با قلمهای محدود و کیفیت چاپ مشخصی را بازشناسی میکنند. این سیستمها برای ورود حجم زیادی از متن به شکل قابل پردازش با نرمافزارهای پردازشگر متن استفاده میشوند. قابلیت این سیستمها در ورود متن، رقیب قدرتمندی برای وارد کردن دستی اطلاعات است[4].
همچنین ویرایش و چاپ متنها و کتابهای قدیمی که نیاز به ویرایش و تصحیح دارند، نیز در این دسته است. به جای تایپ این متنها به وسیله یک واژه نگار، می توان با استفاده از یک دستگاه پویشگر این کار را با دقت خوب و هزینه کمتر انجام داد [3]
کارایی این سیستمها به کیفیت چاپ اسناد وابستگی زیادی دارد. بطوری که در یک تصویر با کیفیت مناسب، نرخ بازشناسی بالای 99% تولید میکنند. سرعت خواندن این سیستمها در حدود چند صد نویسه در دقیقه است.
1-4-3- خودکارسازی فرایند
در این کاربرد، کنترل یک فرایند مشخص به بازشناسی دقیق متن نوشته شده اولویت دارد. به عنوان مثال در خودکارسازی فرایند جداسازی نامه در مراکز پستی، بازشناسی نام شهر مقصد از بازشناسی دقیق کل متن نوشته شده بر روی پاکت نامه اولویت بالاتری دارد. نرخ بازشناسی این سیستمها کاملا به کیفیت تصویر پاکت نامه وابسته است. این سیستمها معمولاً، وازدگی بالا و نرخ خطای در حد صفر دارند. سرعت جداسازی نامهها بر حسب آدرس، معمولاً در حدود چند ده هزار نامه در ساعت است. در شکل 1 نمونهای از آدرس دستنویس روی یک نامه و متن بازشناسی شده آن آمده است. با توجه به شکل ملاحظه
میشود که برای آدرس نوشته شده، چهار نامزد آدرس و کد پستی بر حسب شباهت به ورودی، تولید شده است [2].
شکل 1‑3 نمونه ای از بازشناسی آدرس و کدپستی [2]
همچنین پارکینگهای عمومی را میتوان به وسیله سیستم تشخیص خودکار پلاک خودرو، مکانیزه کرد .
1-4-4- بازسازی اسناد
هزینه بالای کار با پایگاههای داده بزرگ از تصاویر اسناد، نیاز به روشهای خودکار و کارآمد برای دستیابی به اطلاعات داخل این تصاویر را به وجود آورده است. در تلاش برای حرکت به سوی ادارات بدون کاغذ، حجم بزرگی از اسناد کاغذی روبش شده و به صورت تصویری ذخیره میشوند، بدون اینکه برچسب اطلاعاتی مناسبی به آنها زده شود. یک راه برای برچسب زنی و بازیابی پایگاه داده، تبدیل کامل اسناد به شکل الکترونیکی است که میتوانند به طور خودکار برچسب زده شوند. موانعی مثل کیفیت پایین تصویر و هزینه بالای تبدیل در مقابل این روش وجود دارد. از طرفی چون بسیاری از اجزاء غیر متن را نمیتوان به طور کامل در شکل تبدیل شده نمایش داد، داشتن یک کپی از سند در شکل تصویری لازم به نظر میرسد[2].
1-4-5- کتابخانه دیجیتال
در یک کتابخانه دیجیتال برای دسترسی به کتاب مورد نظر از کلید واژهها استفاده میشود. کلید
واژهها به صورت متن وارد میشوند و نرمافزار کتابخانه، کتابهای مرتبط با آنها را بازیابی میکند.
پیداکردن کلمات کلیدی از تصاویر روبش شده کتابها، هسته اصلی نرم افزار جستجوی کتابخانه است[2].
1-4-6- کنترل ترافیک
در کنترل ترافیک برای تشخیص پلاک خودروها میتوان از بازشناسی متن استفاده کرد. صحنه ترافیک معمولاً با دوربینهای سریع تصویربرداری میشود و تصاویر معمولاً دو سطحی نیستند. این ویژگیها خواندن پلاک خودروها را پیچیده میکند. از محدود بودن حروف استفاده شده در پلاکها میتوان برای بهبود نتایج استفاده کرد [2].
1-4-7- سیستم های امنیتی
از سیستمهای بازشناسی متن در سیستم بانکداری برای بازشناسی دست نوشته و امضا به عنوان روشی برای تایید هویت مشتری استفاده میشود.
1-4-8- تبدیل متن به صحبت
از یک سیستم بازشناسی متن در کنار یک سیستم پردازش صوت میتوان در کاربردهای مختلف مانند کمک به نابینایان به منظور درک متون چاپی و خودکارسازی پاسخ به ارباب رجوع در ادارات استفاده کرد [7][2]. در زمینه خواندن متنها و کتابها به وسیله کامپیوتر برای نابینایان، میتوان آنها را از مشکلات خط برجسته (بریل) نجات داد. البته این کار را نیز میتوان به وسیله ساخت یک دستگاه که خود دارای یک پویشگر باشد و بتواند خط به خط و کلمه به کلمه متنها را خوانده و به صوت تبدیل کند انجام داد.
1-4-9- فرم خوان ها
این سیستمها برای خواندن فرمهای خاص طراحی میشوند. این سیستمها معمولاً از روبشگرهایی که رنگ خاصی را حذف میکنند، بهره میگیرند. حروف و ارقام به صورت مجزا در خانههایی با رنگ مورد نظر نوشته میشوند و روبشگر هنگام روبش فقط این نواحی را پویش میکند و به طور خودکار، رنگ زمینه این خانهها را حذف میکند. بنابراین این سیستمها نرخ بازشناسی بالایی دارند[7].
شناسایی ارقام دستنویس و تایپی در بسیاری از موارد دیگر، از جمله آمارگیری، حسابداری و غیره کاربرد دارد. به کمک یک سیستم شناسایی دقیق میتوان اعمال حسابداری را توسط کامپیوتر و با سرعت و دقت بالاتر از انسان انجام داد یا حداقل میتوان برای بررسی نتایج حسابداری از این روش استفاده کرد [8].
1-5- انواع سیستمهای نویسه خوان نوری
سیستمهای شناسایی متون را میتوان بر اساس نحوه نگارش (تایپی و دستنوشته)، نوع داده ورودی (برخط و برونخط)، متصل بودن متن (کاراکترهای مجزا و کلمات پیوسته)، میزان اعمال محدودیت در نحوه نگارش و خوانا بودن آنها (مقید یا بدون قید و تک فونتی یا هر فونتی) به گروههای مختلفی تقسیمبندی کرد.
سیستمهای نویسهخوان نوری را میتوان از لحاظ نوع الگوی ورودی به دو گروه اصلی تقسیم کرد:
در بازشناسی برخط، حروف در همان زمان توسط سیستم، تشخیص داده میشوند و دستگاه ورودی این سیستمها یک قلم نوری است. در این روش علاوه بر اطلاعات مربوط به موقعیت قلم، اطلاعات زمانی مربوط به مسیر قلم نیز در اختیار است. این اطلاعات معمولاً توسط یک صفحه رقمی کننده اخذ
میشوند. در این روش میتوان از اطلاعات زمانی سرعت، شتاب، فشار و زمان برداشتن و گذاشتن قلم روی صفحه در بازشناسی استفاده کرد.
در بازشناسی برونخط، از تصویر دوبعدی متن ورودی استفاده میشود. در این روش به هیچ نوع وسیله نگارش خاصی نیاز نیست و تفسیر دادهها مستقل از فرآیند تولید آنها و تنها بر اساس تصویر متن صورت میگیرد. این روش به نحوه بازشناسی توسط انسان شباهت بیشتری دارد.
بازشناسی برونخط نیز ممکن است بر روی متون زیر اعمال شود:
- متون چاپی
- متون دستنویس
متون چاپی، متونی هستند که حروف آن شکل و قالب ثابت و از پیش تعیین شدهای دارند. در متون دستنویس گسسته (مانند فرم ثبت نام کنکور) حروف دستنویس، اما محدود به اعداد یا حروف بزرگ هستند. متون دستنویس شامل کلیه متنهای نگارش یافته با دست هستند که حروف در آنها از قالب و شکل ثابتی پیروی نمیکنند. شکل 1-4 زیر انواع سیستمهای ذکر شده را نشان میدهد[2, 9].
بازشناسی حروف |
برخط |
متون دستنویس |
متون چاپی |
برونخط |
شکل 1‑4 انواع سیستمهای نویسه خوان نوری از لحاظ نوع ورودی [2] |
1-6- طبقه بندی روشهای بازشناسی نوشتار
بازشناسی نوشتار به دو شاخه بسیار کلی تقسیم میشود: بازشناسی نویسههای گسسته و بازشناسی نوشتار پیوسته. بازشناسی نویسههای گسسته به دلیل سادهتر بودن و امکان مقیدکردن کاربر در نحوۀ نگارش، موفقیت بیشتری داشته است و امروزه سیستمهای مبتنی بر بازشناسی حروف گسسته و ارقام رایج شدهاند. به عنوان مثال، در بسیاری از سیستمهای ثبت نام کاغذی، از این روش برای بازشناسی اطلاعات وارد شده توسط کاربران استفاده میشود.
نوشتار پیوسته، خود به دو نوع دستنویس[23] و چاپی[24] تقسیم میشود. بازشناسی در نوشتار دستنویس به دلیل پیچیدگی زیاد و کاربرد محدود، هنوز تا رسیدن به یک وضعیت مناسب، فاصله دارد. ولی بازشناسی متون چاپی، به دلیل کاربرد زیاد و پیچیدگی کمتر، مورد توجه بیشتری بوده و موفقیتهای زیادی داشته است؛ به طوری که در حال حاضر برای بسیاری از زبانهای دنیا، سیستمهای تجاری نسبتاً کارآمد وجود دارد.
بازشناسی متنهای لاتین به دلیل ساختار خاص نوشتار لاتین که در آن تمام حروف متن از یکدیگر جدا نوشته میشوند، نسبت به بازشناسی متنهای فارسی آسانتر است. در این زبانها، تنها کافی است موقعیت حروف پیدا شود؛ بقیه کار که بازشناسی حروف است مشابه بازشناسی حروف گسسته است. در مورد زبانهایی مثل فارسی و عربی، به دلیل این که حروف، بسته به موقعیتشان در کلمه، شکلهای مختلفی به خود میگیرند و در یک کلمه ممکن است چندین حروف به یکدیگر بچسبند، بازشناسی متن دشوارتر است. در زبان فارسی، ترکیب چند حرف به هم پیوسته را زیرکلمه[25] مینامند. مثلا کلمه «شناختن» از دو زیرکلمه «شنا» و «ختن» تشکیل شده است برای بازشناسی متنهای فارسی یا باید زیر کلمات را به حروف سازندۀ آنها تجزیه کرد و سپس حروف را بازشناسی کرد و یا باید زیر کلمات را به یکباره شناخت. رویکرد اول را بازشناسی بر مبنای جداسازی[26] و رویکرد دوم را بازشناسی بر مبنای شکل کلی مینامند. بازشاسی بر مبنای جداسازی مرسومتر بوده و پژوهشهای زیادی در این زمینه برای زبانهای فارسی و عربی انجام شده است. بازشناسی بر مبنای شکل کلی، مشکلات زیادی دارد، ولی در برخی موارد مزایایی نسبت به بازشناسی بر مبنای جداسازی دارد [4].
< /a>1-7- ویژگیهای خط فارسی
زبان فارسی دارای 32 حرف است که در جدول 1-1 زیر آورده شده است. کلمات فارسی بر اساس
رسمالخط فارسی به یکدیگر متصل میشوند که بر اساس جایگاه آنها در کلمات، به چهار گروه اول، وسط، آخر و جدا تقسیم میگردند.
علاوه بر این حروف، علائم دیگری نیز وجود دارند، از جمله “تنوین ( ً)” که در بعضی کلمات عربی مثل “واقعاً” قرار میگیرد. همچنین علامت ” تشدید ( ّ)” بر روی کلمهای مثل ” نجّار”، علامت “همزه ( ء)” در کلمه “مسئولیت” و علامت “مد ( ~)” در کلمه “آن” از این دسته علائم میباشد. این علامتها مخصوص زبان عربی هستند و استفاده آنها در نوشتار فارسی درحال کاهش است، ولی به علت نفوذ زیاد زبان عربی در فارسی، هنوز در زبان فارسی نیز به کار میروند[4].
جدول 1‑1 الفبای زبان فارسی [4]
شکل حرف | نام حرف (فارسی) | نام حرف (انگلیسی) | |
1 | ا | الف | Alef |
2 | ب | ب | Be |
3 | پ | پ | Pe |
4 | ت | ت | Te |
5 | ث | ث | Se |
6 | ج | جیم | Jim |
7 | چ | چ | Che |
8 | ح | ح | He |
9 | خ | خ | Khe |
10 | د | دال | Daal |
11 | ذ | ذال | Zaal |
12 | ر | ر | Re |
13 | ز | ز | Ze |
14 | ژ | ژ | Zhe |
15 | س | سین | Sin |
16 | ش | شین | Shin |
17 | ص | صاد | Sad |
18 | ض | ضاد | Zad |
19 | ط | طا | Ta |
20 | ظ | ظا | Za |
21 | ع | عین | Eyn |
22 | غ | غین | Gheyn |
23 | ف | ف | Fe |
24 | ق | قاف | Ghaaf |
25 | ک | کاف | Kaaf |
26 | گ | گاف | Gaaf |
27 | ل | لام | Laam |
28 | م | میم | Mim |
29 | ن | نون | Noon |
30 | و | واو | Vav |
31 | هـ | هـ | He |
32 | ی | ی | Ye |
1-7-1- تفاوت حروف فارسی و عربی
یکی از تفاوتهای اصلی حروف فارسی با حروف عربی، در تعداد آنهاست. الفبای عربی 28 حرف دارد و چهار حرف “گ”، “چ”، “پ” و “ژ” در آن وجود ندارد. در متنهای عربی معمولاً از اعراب نیز استفاده میشود که شامل فتحه ( َ )، ضمه ( ُ )، کسره ( ِ )،تنوین فتحه ( ً )، تنوین ضمه ( ٌ ) و تنوین کسره ( ٍ ) میباشد. اعراب برای تلفظ درست کلمات استفاده میشوند و با تغییر آن ممکن است نوع کلمه و معنی آن عوض شود. علاوه بر این، شکل برخی از حروف در این دو زبان کمی متفاوت است. به عنوان مثال، میتوان به تفاوت حرف (ی) در زبان فارسی و (ي) در زبان عربی و حرف (ک) در زبان فارسی و (ك) در زبان عربی اشاره کرد. علاوه بر تفاوتهای بالا، میتوان به کاربرد (ة) در نوشتار عربی اشاره نمود که در نوشتار فارسی وجود ندارد[4].
1-7-2- خط زمینه
کلمات جملات فارسی/عربی بر روی یک خط راست افقی نوشته میشوند که خط زمینه یا خط کرسی[27] نام دارد. این خط در شناسایی حروف نقش کمکی مهمی دارد و میتواند مرجع مناسبی برای موقعیت نقاط و اجزای حروف باشد. معمولاً شناسایی خط زمینه با استفاده از روشهای مختلف آماری انجام میشود [4].
1-7-3- کلمه
جملات فارسی/عربی از بخشهای کوچکتری که کلمه[28] نام دارد تشکیل شده است. هر کلمه شامل دو یا چند حرف به هم چسبیده است که معنای خاصی را در زبان ایجاد میکند. معمولاً بین هر دو کلمه، یک فاصله خالی[29] به اندازۀ یک حرف وجود دارد که معمولاً از این فاصله برای تشخیص کلمات استفاده میشود [4].
1-7-4- زیرکلمه
هر کلمه از اجزای کوچکتری به نام زیرکلمه تشکیل میشود. ممکن است زیر کلمات معنای خاصی نداشته باشند، ولی با قرار گرفتن در کنار یک دیگر، یک کلمه با معنی را ایجاد میکنند. فاصله خالی بین دو زیرکلمه در یک کلمه، بسیار کم است. به این ترتیب میتوان زیر کلمات را از هم تشخیص داد[4].
در فصل دوم، به بررسی کارهای انجام شده در زبان فارسی میپردازیم سپس در فصل سوم الگوریتم پیشنهادی را توضیح خواهیم داد. در فصل چهارم به بررسی نتایج شبیه سازی خواهیم پرداخت و آنرا با روش های متداول دیگر مقایسه خواهیم کرد و در انتها در فصل پنجم به تنیجه گیری و کارهای آینده خواهیم پرداخت.
فصل 2- بررسی کارهای انجام شده در بازشناسی حروف فارسی
2-1- مقدمه
شروع علم بازشناسی حروف را میتوان از پیش از تولد کامپیوترهای امروزی، یعنی سال 1929 میلادی (1308 خورشیدی) دانست [10]، ولی بازشناسی حروف با استفاده از کامپیوترها، اولین بار در سال 1952 میلادی (1331 خورشیدی) مطرح شد. اغلب پژوهشهای انجام شده در ابتدا بر روی خط نوشتاری لاتین انجام شده است. تاریخچه این پژوهشها و روشهای به کار رفته در آنها را میتوان در[11-14] مطالعه نمود.
2-2- چالشهای زبان فارسی با رویکرد نویسه خوان نوری
بسیاری از مسائل مطرح در نویسه خوانی نوری را میتوان مرتبط با حوزه نوشتاری زبان (و حتی دیگر حوزههای زبان) دانست و از این رو نویسه خوانی نوری را میتوان به عنوان یک مسئله بومی مرتبط با زبان قلمداد نمود. هر چند در کشور ما و برخی کشورهای دیگر بر روی نویسه خوانهای نوری فارسی کارهای ارزشمندی انجام شده است، اما میتوان گفت که نویسه خوانهای نوری زبانهای لاتین، چینی و ژاپنی بسیار بیش از نویسه خوانهای نوری فارسی به ایدهال نزدیک شدهاند.
قواعد نگارش فارسی در انتخاب روشهای مناسب برای بازشناسی متون فارسی، ویژگیهای منحصر به فردی دارد که آن را کاملاً از نگارش لاتین متمایز میسازد. با منظور فعالیت در حوزه نویسه خوان نوری فارسی آگاهی از قوانین نگارشی و نحوه چاپ حروف در این زبان امری ضروری است. در اینجا به ویژگیهای کلی نگارش فارسی اشاره میشود [2].
- متون فارسی بر خلاف متون لاتین از راست به چپ نوشته میشوند.
- اندازه طول و عرض مستطیلهای محیطی حروف بسیار متغیرند.
- در حروف خطوط افقی و عمودی و انواع کمان یافت میگردد.
- هجده حرف دارای نقطه و دو حرف نیز دو قطعهای میباشند. حروف «آ» و «گ». جدول 2-1
نشاندهنده ترکیب قرارگیری نقاط و تشابه حروف است.
جدول 2‑1 ترکیب قرارگیری نقاط و تشابه حروف در زبان فارسی [2]
گروه | ترکیب حروف مشابه | گروه | ترکیب حروف مشابه |
1 | آ ، ا | 10 | ف |
2 | ب ، پ ، ت ، ث | 11 | ق |
3 | ج ، چ ، ح ، خ | 12 | ک ، گ |
4 | د ، ذ | 13 | ل |
5 | ر ، ز ، ژ | 14 | م |
6 | س ، ش | 15 | ن |
7 | ص ، ض | 16 | و |
8 | ط ، ظ | 17 | ه |
9 | ع ، غ | 18 | ی |
- در کلمات فارسی برخی از حروف از یک یا دو طرف به حروف مجاور خود اتصال دارند و برخی نیز به صورت مجزا نوشته میشوند. در نتیجه هر کلمه ممکن است شامل یک یا چند بخش متصل باشد که «زیرکلمه» نامیده میشوند. چسبیده یا سرهم بودن حروف در نگارش فارسی، بازشناسی متون فارسی را برای سیستمهای نویسه خوان نوری نسبت به لاتین بسیار مشکلتر میسازد. محل اتصال حروف به هم چسبیده روی خط مبناست و حاوی ضخامت اندازه قلم است. از این ویژگی میتوان برای ارائه تکنیکهای قطعه بندی استفاده کرد. افزون بر این با توجه به اینکه از ضخامت خط مبنا میتوان برای تشخیص اندازه قلم استفاده کرد، این ویژگی در بخش پیش پردازش مورد استفاده قرار خواهد گرفت.
- حروف فارسی ممکن است چهار موقعیت مجزا و در نتیجه چهار شکل متفاوتی نگارش داشته باشند: حروف ابتدایی، میانی، انتهایی و مجزا. جدول 2-2 فهرست کامل نمادهای مختلف حروف الفبای فارسی را نشان میدهد[2].
جدول 2‑2 شکلهای مختلف حروف الفبای فارسی باتوجه به محل قرارگیری آنها در زیرکلمه [2]
مجزا | ابتدا | میان | انتها | مجزا | ابتدا | میان | انتها | ||
1 | ا یا آ | ا یا آ | — | ﺎ | 17 | ص | ﺻ | ﺼ | ﺺ |
2 | ب | ﺑ | ﺒ | ﺐ | 18 | ض | ﺿ | ﻀ | ﺾ |
3 | پ | ﭘ | ﭙ | ﭗ | 19 | ط | ﻃ | ﻄ | ﻄ |
4 | ت | ﺗ | ﺘ | ﺖ | 20 | ظ | ﻇ | ﻈ | ﻈ |
5 | ث | ﺛ | ﺜ | ﺚ | 21 | ع | ﻋ | ﻌ | ﻊ |
6 | ج | ﺟ | ﺠ | ﺞ | 22 | غ | ﻏ | ﻐ | ﻎ |
7 | چ | ﭼ | ﭽ | ﭻ | 23 | ف | ﻓ | ﻔ | ﻒ |
8 | ح | ﺣ | ﺤ | ﺢ | 24 | ق | ﻗ | ﻘ | ﻖ |
9 | خ | ﺧ | ﺨ | ﺦ | 25 | ک | ﻛ | ﻜ | ﻚ |
10 | د | — | — | ﺪ | 26 | گ | ﮔ | ﮕ | ﮓ |
11 | ذ | — | — | ﺬ | 27 | ل | ﻟ | ﻠ | ﻞ |
12 | ر | — | — | ﺮ | 28 | م | ﻣ | ﻤ | ﻢ |
13 | ز | — | — | ﺰ | 29 | ن | ﻧ | ﻨ | ﻦ |
14 | ژ | — | — | ﮋ | 30 | و | —- | — | ﻮ |
15 | س | ﺳ | ﺴ | ﺲ | 31 | ه | ﻫ | ﻬ | ﻪ |
16 | ش | ﺷ | ﺸ | ﺶ | 32 | ی | ﻳ | ﻴ | ﻰ |
- حروف واقع در یک کلمه ممکن است همپوشانی داشته باشند، بدین معنا که نتوان با رسم خطوط عمودی، حروف را به طور کامل از یکدیگر مجزا نمود.
- در برخی از فونتها بعضی از حروف، از یک سمت در دو محل به یکدیگر اتصال دارند مثل «کا».
- برخی از حروف بین یک تا سه نقطه دارند که ممکن است در بالا یا پایین بدنه حرف واقع باشند همانند «ب»، «پ»، «ت»، «ث».
شکل 2‑1 برخی ویژگیهای نگارش فارسی [4]
- بعضی از حروف بدنه مشابه دارند و تفاوت آنها تنها در تعداد و محل قرارگیری نقاط یا در وجود یک سرکش است (مانند ک و گ) که در مقایسه با بدنه حروف، اندازه بسیار کوچکی دارند. این موضوع نیز یکی از مواردی است که بر پیچیدگی سیستمهای نویسه خوان نوری فارسی میافزاید.
- حروف فارسی ممکن است در بالا یا پایین بدنه دارای اعراب باشند. سه اعراب –َ - - در زبان فارسی، اعراب اصلیاند و اعراب - در برخی کلمات عربی رایج در زبان فارسی دیده میشوند (نظیر کلمات عمداً و احتمالاً) کلمات عربی دارای اعراب و در زبان فارسی عمومیت نیافتهاند. هر چند کاربرد اعراب در زبان فارسی نسبت به زبان عربی بسیار محدودتر است اما اگر کلمهای نامتداول باشد یا به دلیل تشابه نگارشی آن با کلمه دیگر، تاکید بر تلفظ صحیح آن باشد از نشانههای اعراب استفاده میشود.
- در بالای بدنه یک حرف ممکن است علامت تشدید وجود داشته باشد.
- برخی از حروف دارای علامت همزه هستند (ﺌ ﺃ ﺆ ئ).
- حروفی که از طرف چپ قابلیت اتصال به حرف مجاور خود را دارند ممکن است به صورت کشیده نوشته شوند همانند «با».
- بیشتر حروف فارسی (مخصوصاً حروف چسبیده) دندانهدار هستند. در مواردی که کیفیت سند اصلی یا دستگاه پویشگر پایین باشد. ارتفاع دندانهها نسبت به خط زمینه کوتاه میشود و این امر، شناسایی صحیح این حرف در مرحله قطعه بندی یا بازشناسی را با مشکل مواجه میسازد.
- در برخی از شیوههای نوشتاری زبان فارسی، دو یا چند حرف کنار هم میتوانند به گونهای با هم ترکیب شوند که شکل حاصل شباهتی به حروف تشکیل دهنده آن ندارد. با این ترکیب، حروف ادغام شده میگویند. چنین مواردی نه تنها در نوشتار دست نویس، بلکه در متون تایپی نیز وجود دارد. متداولترین ترکیب در متون تایپی، ادغام دو حرف «ل» و «ا» بصورت «لا» است. در نوشتههای دست نویس فارسی نیز به خاطر زیبایی بصری نوشتار و همچنین سلیقه نویسنده، شکل 2-2 بعضی از حروف کنار هم، بکلی تغییر میکند [2].
شکل 2‑2 نمونههایی از ادغام حروف مجاور در متون دستنویس [2]
- فاصله گذاری نادرست در متون
- چسبیدگیهای غیر منتظره در برخی قلمها
- چسبیدگی دو حرف
- چسبیدگی نقاط و اعراب به حروف
- چسبیدگی نقاط یا علائم دو حرف مجاور به همدیگر
- اختلاف زیاد ابعاد حروف
- اندازه تمام حروف فارسی یکسان نیستند. مثلاً حروف «ب» و «س» در حالت جدا اندازه
بزرگتری نسبت به حروف«د) و «ه» دارند. این تنوع در اندازه حروف، کار قطعه بندی حروف را مشکل میکند [2]
2-3- اجزای اصلی نویسه خوان نوری
یک سیستم نویسه خوان نوری معمولی از اجزای مختلفی تشکیل میشود. در شکل 2-3 مدل معمول یک سیستم نویسه خوان نوری مشاهده میگردد[9]. در ابتدا، مستند شامل متن تایپ شده، گرافیکها و تصویرها توسط دستگاه پویشگر ورودی به صورت نوری پویش شده و به صورت یک فایل تصویری وارد حافظه کامپیوتر میشود. از اینجاست که کار واقعی یک سیستم نویسه خوان نوری آغاز میگردد. اولین مرحله، قطعه بندی بیرونی یا مکانیابی است که طی آن نواحی حاوی متن استخراج میگرند. مرحله بعد، مرحله پیش پردازش است که در این مرحله تکنیکهای مختلفی برای بهینه کردن تصویر موجود از لحاظ کیفیت، فضا و غیره به کار گرفته میشود.
مرحله بعدی که تقریباً مختص سیستم نویسه خوان نوری فارسی است، قطعه بندی درونی است که در آن با تکنیکهای خاص، حروف به هم چسبیده از هم جدا میشوند. استخراج ویژگیها مرحله بعدی است. پس از استخراج ویژگیها در مرحله دسته بندی و شناسایی، موجودیت هر نماد به دست آمده از مرحله قطعه بندی با مقایسه ویژگیهای استخراج شده کلاسهای نمادها که در مرحله آموزش در سیستم تعبیه شدهاند، شناسایی میگردد. در نهایت با استفاده از اطلاعات متنی، کلمات و اعداد، متن اصلی بازسازی میگردد. در بخش های بعدی به بررسی تک تک مراحل یاد شده میپردازیم.
مکتوب شامل متن، گرافیکها و تصویرها |
دستگاه پویشگر |
قطعهبندی بیرونی |
قطعهبندی درونی |
استخراج ویژگیها |
پیشپردازش |
بازشناسی |
پسپردازش |
شکل 2‑3 بخشهای مختلف یک سیستم نویسه خوان نوری [2] |
2-3-1- قطعه بندی بیرونی
این مرحله، مکانیابی نیز نامیده میشود[9]. مکانیابی فرایند است که طی آن اجزای اصلی سازنده یک تصویر معین میگردد لازم است که نواحی مختلف یک سند که دادهها در آن چاپ شدهاند شناسایی شده و از شکلها و عکسها تمایز یابند. برای مثال هنگامی که مرتب سازی خودکار نامهها صورت میگیرد مکان آدرس باید مشخص گردد و از دیگر چاپهای موجود روی پاکت نامه مانند لوگوها تفکیک شود چنانچه در مبحث آنالیز اسناد نیز اشاره گردد. اسناد معمولاً همراه متن تایپی نمودارها جدولها و تصاویری را دارند که در بازشناسی نوری حروف باید آنها را تشخیص داد. یک سیستم جامع نویسه خوان نوری باید این قابلیت را داشته باشد که بتواند به طور خودکار پیکربندی صفحات را تحلیل کرده و نواحی متن را مشخص گرداند.
تحلیل پیکربندی صفحات در سه مرحله انجام میگیرد: مرحله اول تفکیک نواحی متنی در تصویر از نواحی غیر متنی (شامل گرافیک و خطوط) است. مرحله دوم تحلیل ساختاری است که با قطعه بندی نواحی متنی به بلوک هایی از تصویر سند (نظیر پاراگراف، ردیف، کلمه و …) مرتبط میباشد. مرحله سوم که تحلیل عملکردی نام دارد، با استفاده از اطلاعات مکانی، اندازه و قوانین مختلف صفحهبندی، عملکرد هر یک از اجزای سند (نظیر عنوان، چکیده و …) را تعیین مینماید[6] .
این بخش از سیستم اگرچه نقش مهمی را ایفا میکند، به تکنیکهایی نیازمند است که خیلی در چارچوب بحث بازشناسی نوری حروف نیست و از این رو در اینجا تکیه زیادی روی آن صورت نمیگیرد.
2-3-2- پیش پردازش
تصویر پویش شده توسط پویشگر معمولی ممکن است شامل مقادیری نویز باشد. افزون بر این حروف ممکن است شکل خاصی گرفته باشند که به صورت عادی قابل تشخیص نیستند [6].
این قسمت شامل کلیه اعمالی است که روی تصویر صورت میگیرد تا موجب تسهیل در روند اجرای فازهای بعدی گردد. از مجموعه این پردازشها، هدفهای زیر دنبال میشود:
- کاهش نویز و افزایش کیفیت تصویر
- نرمالیزه کردن داده ها
- فشرده سازی میزان اطلاعاتی که می بایست محفوظ بماند
- بازشناسی خط، زبان و فونت
2-3-3- جداسازی و قطعه بندی درونی
یکی از مراحل مهم و اساسی در یک سیستم نویسه خوان نوری فارسی، مرحله قطعه بندی درونی است که به آن جداسازی نیز میگویند. اصلی ترین تفاوت سیستمهای نویسه خوان نوری لاتین با سیستمهای نویسه خوان نوری فارسی در همین مرحله نهفته است. خروجی این مرحله، تأثیر مهمی بر سایر مراحل بازشناسی نوری خواهد داشت. در ایران تعداد زیادی مقاله و پروژه کارشناسی ارشد وجود دارد که تنها به این بخش پرداخته اند. برخی از روش های پیشنهادی برای بازشناسی حروف فارسی، البته این مرحله را حذف میکنند. در این روشها بازشناسی بدون جداسازی و با استفاده از یک بانک اطلاعاتی کامل از کلمات، صورت میگیرد. در ادامه سه روش مواجهه با نحوه ارتباط جداسازی و بازشناسی را شرح میدهیم. شکل 2-4 نمونه ای از قطعه بندی یک کلمه به حرف را نشان میدهد. جداسازی و بازشناسی را به سه روش میتوان انجام داد که در ادامه آورده شده است.
شکل 2‑4 قطعه بندی یک کلمه به حروف [2]
- جداسازی همزمان با بازشناسی: این روش معمولاً در بازشناسی هم زمان با ورود اطلاعات (مدل برخط) به کار میرود و سیستم مغز انسان نیز در خواندن متون از این روش استفاده میکند. در این روش از شیوه مقایسه پویا استفاده میشود و در زمان بازشناسی، حروف از یکدیگر جدا
میشوند. برای این منظور باید تمامی ترکیبهای مختلف گردآوری گردند و نمادهای مختلف حروف به عنوان مبنا قرار گیرند. - بازشناسی بدون جداسازی: در یک حالت از این روش باید مجموعه کاملی از کلمه ها وجود داشته باشد که گردآوری این مجموعه کار بسیار مشکلی است. تعداد کلمههای ممکن از ترکیب حروف فارسی تا پنج حرف در حدود پانزده میلیون حالت است که البته بسیاری از این ترکیبها بی معنی می باشد و ترکیبهای واقعی حدود 7500 کلمه و زیرکلمه است. البته همین مقدار هم با حذف نقاط حدود 4800 کلمه است[2]. استفاده از این روش در حالت معمولی بسیار پرهزینه و مشکل است ولی از این روش در بازشناسی حروف دست نویس استفاده شده است. روشهای دیگری نیز بدون نیاز به فراهم آوری مجموعه کاملی از کلمهها با استفاده از روشهای دیگر مورد آزمایش و مطالعه قرار گرفته است. به طور کلی این روش چون ممکن است در شناسایی کلمات جدید (مثل اسامی خاص خارجی) دچار مشکل شود، رویکرد کارآمدی نیست.
- جداسازی کلمهها به زیر حروف و حروف: در این روش ابتدا با استفاده از تکنیکهای خاص، حروف از کلمات جدا شده و بازشناسی طی یک مرحله جداگانه بعد از استخراج ویژگیها، صورت میگیرد. این روشی است که در اغلب تحقیقات انجام گرفته پیرامون زبان فارسی از آن استفاده شده است و در این پروژه نیز برخی از معمول ترین تکنیکهای این روش مورد بررسی قرار
میگیرد.
2-3-4- استخراج ویژگی
هدف استخراج ویژگیها به دست آوردن مشخصههای اصلی نمادها است و عموماً پذیرفته شده که این بخش یکی از دشوارترین مراحل سیستم نویسه خوان نوری است. سر راست ترین راه برای توصیف یک حرف، استفاده از تصویر واقعی آن است. این روش، از تکنیک تطابق قالبی استفاده میکند.
رویکرد دیگر، استخراج ویژگیهای معینی که حروف را مشخص میسازند و رها کردن صفتهای جزئی است. تکنیکهای استخراج با توجه به محلی که ویژگیها یافت میشوند به سه گروه اصلی تقسیم میشوند [2, 15].
- توزیع نقاط
- تبدیلات و بسطهای سری
- تحلیل سری
جدول 2-3 تعدادی از روشهای معمول را با توجه به نوع تصویر مورد بازشناسی نشان میدهد.
جدول 2‑3روشهای معمول استخراج ویژگی برای انواع مختلف تصویر [16]
بردار ( اسکلت ) | تصویر دوسطحی | زیر تصویر خاکستری | |
حروف توپر | کانکتور مرزی | ||
تطابق قالبی | تطابق | تطابق قالبی | تطابق الگوهای تغییر پذیر |
الگوهای تغییر پذیر | الگوهای تغییر پذیر | ||
توصیف گرافی | تبدیلات تکین | تبدیلات تکین | |
ویژگیهای گسسته | هیستوگرام برآمدگی | ||
ناحیه بندی | ناحیه بندی | ناحیه بندی | ناحیه بندی |
ممانهای هندسی | منحنیهای اسپلاین | ممانهای هندسی | |
توصیف کنندههای فوریه | ممانهای زرنیک | توصیف کنندههای فوریه | ممانهای زرنیک |
شکل 2-5 نمونه ای از چهار نوع تصویر ذکر شده در جدول بالا را نمایش میدهد
شکل 2‑5 الف. تصویر خاکستری قطعه بندی شده ب. تصویر دو سطحی شده با نویز ج. تصویر نازک شده اسکلتی د. تصویر دوسطحی کانتور مرزی [2]
در انتخاب بردارهای ویژگی لازم است موارد زیر مورد توجه قرار گیرند [2, 16]:
- بردار ویژگی هر الگو باید تا حد امکان از بردارهای ویژگی دیگر الگوها متمایز باشد (فاصله بین بردارهای ویژگی در فضای ویژگیها، حداکثر باشد).
- بردار ویژگی الگوها باید تا بیشترین حد ممکن، خصوصیات شکل و ساختار الگوها را از تصویر آنها استخراج نماید.
- تا حد امکان نسبت به نویز، تغییر اندازه و نوع فونت، چرخش، و دیگر تغییرات احتمالی الگوها دارای ثبات باشد.
- شرایط، نوع و خصوصیات الگوهای ورودی در انتخاب بردارهای ویژگی اثر میگذارند. به عنوان مثال باید تعیین نمود که آیا حروف یا کلماتی که میبایست تشخیص داده شوند جهت و اندازه مشخصی دارند یا خیر، دست نوشته هستند یا چاپی، یا اینکه تا چه حد به وسیله نویز، مغشوش شدهاند. همچنین گاهی کفایت میکند که سیستم، تنها جوابگوی گروه محدودی از الگوها (مثلاً الگوهایی با اندازه یا نوع فونت از پیش مشخص شده) باشد.
- در مورد حروفی که به چندین شکل نوشته میشوند (مانند “a” و و “4” و “4”) لازم است بیش از یک کلاس الگو به یک کاراکتر خاص تعلق یابد.
2-3-5- بازشناسی و دسته بندی
این مرحله، آخرین مرحله پردازش در یک سیستم نویسه خوان نوری است. در این مرحله، هر حرف شناسایی میگردد و به کلاس حرفی مناسب ارجاع داده میشود. در ادامه، دو رویکرد مختلف برای دسته بندی در بازشناسی حروف مورد بحث قرار میگیرد. ابتدا، بازشناسی از طریق تئوری تصمیم گیری مورد بررسی قرار میگیرد. این روشها زمانی مورد استفاده قرار میگیرند که مشخصههای یک کاراکتر بتوانند به صورت عددی توسط بردار ویژگیها معرفی گردند.
ممکن است ما مشخصههای الگو داشته باشیم که از ساختار فیزیکی حروف مشتق شدهاند که
نمیتوانند به آسانی به صورت عددی اندازهگیری شوند. در این حالات، ارتباط بین حروف در هنگام تصمیمگیری روی عضویت کلاس باید مورد توجه قرار گیرند. برای مثال، اگر ما بدانیم که یک حرف از یک پاره خط عمودی و یک پاره خط افقی تشکیل شده است، ممکن است این حرف T یا L باشد. در این صورت ارتباط بین دو پاره خط نیز برای تشخیص حرف لازم است. در این صورت یک رویکرد ساختاری مورد نیاز خواهد بود.
2-3-5-1- روش های تئوری تصمیم گیری
رویکردهای اصلی در بازشناسی تئوری تصمیم گیری عبارتند از: دسته بندی کنندههای با فاصله مینیمم، دسته بندی کنندههای آماری و شبکههای عصبی. هر یک از این تکنیکهای دسته بندی در ادامه مورد بررسی مختصر قرار میگیرند.
2-3-5-2- روش های ساختاری
در حوزه شناساییهای ساختاری، روشهای نحوی در میان متداولترین رویکردها هستند. تکنیکهای دیگری هم وجود دارند اما عمومیت کمتری دارند در اینجا معرفی نمیشوند.
2-3-5-3- روش های نحوی
معیارهای تشابه مبتنی بر ارتباط بین اجزای ساختاری، میتواند با استفاده از مفاهیم نحوی فرموله گردد. ایده این است که هرکلاس، تعریف نحوی خاص خود را دارد که ترکیب حروفش را تعریف مینماید. یک گرامر ممکن است به صورت رشته یا درخت تعریف شود و اجزای ساختاری استخراج شده از یک حرف نامعلوم، با گرامر هر کلاس مطابقت داده میشود. فرض کنید ما دو کلاس حروف متفاوت داریم که میتوانند با دو گرامر G2،G1 تولید میشوند. با یک حرف داده شده، ما میگوییم که این حرف به کلاس اول بیشتر شبیه است اگر با گرامر G1 قابل تولید باشد و با G2 قابل تولید نباشد.
2-3-6- پس پردازش
با بازشناسی تمام تصاویر اجزای متن یک بلوک، متن متناظر با هر یک از آنها مشخص شده است. برای به دست آوردن متن نهایی باید پس پردازشهایی روی این متن انجام شود. به عنوان مثال از به هم چسباندن حروف بازشناسی شده در مرحله قبل، زیرکلمات و کلمات تشکیل میشوند تشکیل این زیرکلمات و کلمات با استفاده از موقعیت آنها در تصویر، یک مرحله پس پردازش است. مرحله بعدی میتواند سنجش اعتبار این کلمات با استفاده از یک واژه نامه باشد. در ادامه هر یک از کارهایی که در این مرحله انجام میشود را توضیح خواهیم داد[2, 9].
2-4- بازشناسی دست نویس فارسی-عربی
ﺑﺎزﺷﻨﺎﺳﻲ ﻣﺘﻦ دﺳﺘﻨﻮﻳﺲ ﻋﺮﺑﻲ و ﻓﺎرﺳﻲ ﻧﻴﺰ در ﭼﻨﺪﻳﻦ ﻣﻘﺎﻟﻪ ﻣﻮرد ﺗﻮﺟﻪ ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ. ﻋﻼوه ﺑﺮ ﻣﺮاﺟﻌﻲ ﭼﻮن [17-21] ﻛﻪ ﺑﻴﺸﺘﺮ ﺑﻪ ﺑﺎزﺷﻨﺎﺳﻲ ﻣﺘﻦ دﺳﺖﻧﻮﻳﺲ ﺑﺮون ﺧﻂ ﭘﺮداﺧﺘﻪاﻧﺪ، در ﺑﺮﺧﻲ ﻣﻘﺎﻻت ﺑﻪ ﺑﺎزﺷﻨﺎﺳﻲ ﻣﺘﻦ ﺑﺮﺧﻂ ﻧﻴﺰ ﭘﺮداﺧﺘﻪ ﺷﺪه اﺳﺖ. ﻣﺮوري از ﻛﺎرﻫﺎي ﻗﺪﻳﻤﻲ ﺗﺮ در ﺣﻮزه ﺑﺎزﺷﻨﺎﺳﻲدﺳﺖﻧﻮﺷﺘﻪﻫﺎي ﻋﺮﺑﻲ ﺑﺮ ﺧﻂ را ﻣﻲﺗﻮان در[22] و [22] ﻣﺸﺎﻫﺪه ﻛﺮد. در[23] ﺑﻪ روﺷﻲ ﺑﺮاي ﺑﺎزﺷﻨﺎﺳﻲ ﻛﺎرﻛﺘﺮﻫﺎي دﺳﺖﻧﻮﻳﺲ ﺑﺮﺧﻂ ﭘﺮداﺧﺘﻪ ﺷﺪه اﺳﺖ ﻛﻪ در آن ﺑﺎ اﺳﺘﻔﺎده از ﺷﺒﻜﻪ ،SOMوﻳﮋﮔﻲﻫﺎ را ﺑﻪ ﺻﻮرت ﺧﻮدﻛﺎر اﺳﺘﺨﺮاج ﻣﻲﻛﻨﺪ و ﺳﭙﺲ ﻳﻚ ﺷﺒﻜﻪي ﻋﺼﺒﻲ ﻛﺎرﻛﺘﺮﻫﺎ را ﺑﺎزﺷﻨﺎﺳﻲ ﻣﻲﻛﻨﺪ. روﻳﻜﺮد ﻧﺴﺒﺘﺎً ﻣﺸﺎﺑﻬﻲ را ﻣﻲﺗﻮان در[24] و[25] ﻣﺸﺎﻫﺪه ﻛﺮد ﻛﻪ از ﻣﺪل ﺣﺎﻓﻈﻪ اﻧﺠﻤﻨﻲ ﺷﺒﻜﻪﻫﺎي ﻛﻮﻫﻮﻧﻦ ﺑﺮاي ﺑﺎزﻧﻤﺎﻳﻲ ﻛﺎرﻛﺘﺮﻫﺎ و از ﺷﺒﻜﻪ SOMﺑﺮاي ﺑﺎزﺷﻨﺎﺳﻲ آﻧﻬﺎ اﺳﺘﻔﺎده ﻛﺮده اﺳﺖ. در [26] از ﻣﺪل ﺳﺎزي اﺣﺘﻤﺎﻻﺗﻲ ﻃﺒﻘﻪﻫﺎي ﻛﺎراﻛﺘﺮ ﺑﺮاي ﻛﺎراﻛﺘﺮﻫﺎي ﻋﺮﺑﻲ ﺑﻪ ﻛﻤﻚ ﺗﻮزﻳﻊ ﮔﻴﺒﺲ ﺑﺮاي ﺑﺎزﺷﻨﺎﺳﻲ ﻛﺎراﻛﺘﺮﻫﺎ ﺑﺮﺧﻂ اﺳﺘﻔﺎده ﻛﺮده اﺳﺖ. در ﻳﻜﻲ از ﻛﺎرﻫﺎي ﺟﺪﻳﺪ [18] از ﻣﺪل ﻣﺨﻔﻲ ﻣﺎرﻛﻮف HMM[30] ﺑﺮاي ﺑﺎزﺷﻨﺎﺳﻲ ﻛﻠﻤﺎت ﺑﺮﺧﻂ ﻋﺮﺑﻲ اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ و ﻧﺘﺎﻳﺞ رﺿﺎﻳﺖ ﺑﺨﺸﻲ در آن ﮔﺰارش ﺷﺪه اﺳﺖ. ﻫﻤﭽﻨﻴﻦ در [26] از ﻣﺪل ﻣﺨﻔﻲ ﻣﺎرﻛﻮف ﺑﺮاي ﻣﺪل ﻛﺮدن اﺳﺘﺮوكﻫﺎ اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ.
در ﻣﻮرد ﻛﺎرﻫﺎﻳﻲ ﻛﻪ در اﻳﺮان اﻧﺠﺎم ﺷﺪه اﺳﺖ، ﻣﻲﺗﻮان ﺑﻪ [27] اﺷﺎره ﻛﺮد ﻛﻪ از روﻳﻜﺮد ﺷﺒﻜﻪ ﻋﺼﺒﻲ ﺑﺮاي ﺑﺎزﺷﻨﺎﺳﻲ ﺣﺮوف ﻣﺠﺎزي ﻓﺎرﺳﻲ ﺑﺮﺧﻂ اﺳﺘﻔﺎده ﻛﺮده اﺳﺖ. ﻫﻤﭽﻨﻴﻦ ﭘﺎﻳﺎن ﻧﺎﻣﻪ ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ ﻣﺤﻤﺪﻋﻠﻲ ﺑﺰرگ زاده ﺑﻪ راﻫﻨﻤﺎﻳﻲ ﻣﺤﻤﺪ رﺣﺘﻤﻲ در داﻧﺸﻜﺪه ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ اﻣﻴﺮ ﻛﺒﻴﺮ ﻧﻴﺰ ﺑﺎزﺷﻨﺎﺳﻲ ﻛﻠﻤﺎت دﺳﺖﻧﻮﻳﺲ ﺑﺮﺧﻂ را ﺑﺎ روﺷﻲ ﻣﺒﺘﻨﻲ ﺑﺮ ﺟﺴﺘﺠﻮي ﭘﺮﺗﻮي[31] اﻧﺠﺎم داده اﺳﺖ. از اﻳﻦ ﻛﺎر ﺗﺎﻛﻨﻮن ﻣﻘﺎﻟﻪاي ﻣﻨﺘﺸﺮ ﻧﺸﺪه اﺳﺖ.
ﺑﺮﺧﻲ از ﻛﺎرﻫﺎي اﻧﺠﺎم ﺷﺪه در زﻣﻴﻨﻪ ﺑﺎزﺷﻨﺎﺳﻲ ﻣﺘﻦ دﺳﺖﻧﻮﻳﺲ، واﺑﺴﺘﮕﻲ ﺑﻪ ﻧﻮﻳﺴﻨﺪه و ﻗﺎﺑﻠﻴﺖ ﺗﻄﺒﻴﻖ ﺑﺎ ﻳﻚ ﻧﻮﻳﺴﻨﺪه ﺧﺎص در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه اﺳﺖ. در [28] ﺗﻄﺒﻴﻖ ﺑﺎ ﻧﻮﻳﺴﻨﺪه ﺑﺮاي ﺳﻴﺴﺘﻢ ﺑﺮﺧﻂ ﺟﻬﺖ ﺑﻬﺒﻮد ﻧﺮخ ﺑﺎزﺷﻨﺎﺳﻲ دﺳﺖ ﻧﻮﺷﺘﻪﻫﺎ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ. اﻳﻦ ﻛﺎر ﺑﻪ ﻛﻤﻚ ﻣﺪل ﺳﺎزي ﺗﻄﺒﻴﻖ ﺑﺎ ﺗﻮزﻳﻊﻫﺎي ﻧﺮﻣﺎل ﺻﻮرت ﮔﺮﻓﺘﻪ اﺳﺖ. در [29] ﺑﺮاي ﺗﻄﺒﻴﻖ در ﺳﻴﺴﺘﻢ ﺑﺮﺧﻂ، ﻣﺪلﻫﺎﻳﻲ از ﺳﺒﻚﻫﺎي ﻧﻮﺷﺘﺎري ﻧﮕﻬﺪاري ﻣﻲﺷﻮد ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از دادهﻫﺎي ﻛﺎرﺑﺮ ﺑﺮوز ﻣﻲﺷﻮد و ﺟﺎﻳﮕﺰﻳﻦ ﻣﺪل ﻣﺴﺘﻘﻞ از ﻛﺎرﺑﺮ ﻣﻲﮔﺮدد. در اﻳﻦ ﻛﺎر ﻛﻪ روي ﺣﺮوف ﻻﺗﻴﻦ اﻧﺠﺎم ﺷﺪه اﺳﺖ، ﺣﺪود 9 درﺻﺪ ﻛﺎﻫﺶ ﺧﻄﺎي ﺑﺎزﺷﻨﺎﺳﻲ در ﻧﺘﻴﺠﻪ ﺗﻄﺒﻴﻖ ﺑﺎ ﻧﻮﻳﺴﻨﺪه ﺧﺎص ﮔﺰارش ﺷﺪه اﺳﺖ. [30] ﺗﻄﺒﻴﻖ ﺑﺎ ﻛﺎرﺑﺮ ﺟﺪﻳﺪ را در ﺑﺴﺘﺮ ﻣﺘﻮن دﺳﺖﻧﻮﻳﺲ ﺑﺮون ﺧﻂ ﺳﺮﻫﻢ ﻣﻮرد ﻣﻄﺎﻟﻌﻪ ﻗﺮار داده اﺳﺖ و ﺑﺮ روي ﺳﻴﺴﺘﻤﻲ ﻣﺒﺘﻨﻲ ﺑﺮ HMM آﻧﺮا اﺟﺮا ﻧﻤﻮده اﺳﺖ. در ﻧﺘﺎﻳﺞ اﻳﻦ ﻛﺎر ﺑﻴﺎن ﺷﺪه اﺳﺖ ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از ﺗﻨﻬﺎ ﺣﺪود 03 ﻛﻠﻤﻪ ﺑﺮاي ﺗﻄﺒﻴﻖ ﻣﻲﺗﻮان ﺑﻪ ﻧﺮخ ﺑﺎزﺷﻨﺎﺳﻲ ﺑﺎﻻي 80% رﺳﻴﺪ و اﻳﻦ ﻧﺘﻴﺠﻪ ﺑﺮ روي ﺑﻴﺶ از 200 ﻛﺎرﺑﺮ ﺑﻪ ﻃﻮر ﻣﺸﺎﺑﻬﻲ ﻣﺸﺎﻫﺪه ﺷﺪه اﺳﺖ. در زﻣﻴﻨﻪ ﺗﻄﺒﻴﻖ ﺑﺎ ﻧﻮﻳﺴﻨﺪه در ﺑﺎزﺷﻨﺎﺳﻲ ﻣﺘﻦ ﺑﺮون ﺧﻂ ﻋﺮﺑﻲ، ﻣﻲﺗﻮان به [31] اﺷﺎره ﻧﻤﻮد. در اﻳﻦ ﻛﺎر از ﻳﻚ ﻣﺪل ﺧﻮد راه اﻧﺪاز ﺗﻜﺮاري ﺑﺮاي ﺗﻄﺒﻴﻖ ﻣﺪل ﻣﺴﺘﻘﻞ از ﻛﺎرﺑﺮ ﺑﻪ ﻣﺪل واﺑﺴﺘﻪ ﺑﻪ ﻛﺎرﺑﺮ اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از ﺗﻌﺪاد ﻛﻤﻲ ﻛﻠﻤﻪ ﻣﻲﺗﻮاﻧﺪ ﺑﻪ ﻧﺮخ ﺑﺎزﺷﻨﺎﺳﻲ ﺑﺎﻻﻳﻲ در اﻳﻦ ﻓﺮاﻳﻨﺪ ﺑﺮﺳﺪ. در ﻣﺠﻤﻮع ﺑﺎ اﻧﺠﺎم ﺑﻬﺒﻮدﻫﺎﻳﻲ ﻛﻪ ﺟﺰﺋﻴﺎت آن در ﻣﻘﺎﻟﻪ آﻣﺪه اﺳﺖ، ﺣﺪاﻛﺜﺮ ﻧﺮخ ﺑﺎزﺷﻨﺎﺳﻲ ﭘﺲ از ﺗﻄﺒﻴﻖ ﺑﻪ ﺣﺪود 92% ﻣﻲرﺳﺪ. در ﻣﺠﻤﻮع ﻛﺎرﻫﺎي اﻧﺠﺎم ﺷﺪه در زﻣﻴﻨﻪ ﺗﻄﺒﻴﻖ ﺑﺎ ﻧﻮﻳﺴﻨﺪه ﭼﻨﺪان زﻳﺎد ﻧﻴﺴﺖ و ﺑﻪ ﻧﻈﺮ ﻣﻲرﺳﺪ ﮔﺰﻳﻨﻪﻫﺎي ﻣﺘﻌﺪدي را ﺑﺘﻮان در اﻳﻦ زﻣﻴﻨﻪ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار داد [18].
2-5- روند بازشناسی متون فارسی
اﻳﻦ ﺑﺨﺶ ﺑﺮ اﺳﺎس ﻣﻘﺎﻻت اراﺋﻪ ﺷﺪه در ﺳﻪ ﻛﻨﻔﺮاﻧﺲ ﻣﻬﻨﺪﺳﻲ ﺑﺮق، ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ و ﻣﺎﺷﻴﻦ ﺑﻴﻨﺎﻳﻲ و ﭘﺮدازش ﺗﺼﻮﻳﺮ اﻳﺮان ﺗﻬﻴﻪ ﺷﺪه اﺳﺖ [2]. اﻳﻦ ﻣﻘﺎﻟﻪﻫﺎ روﻧﺪ ﺗﺤﻘﻴﻘﺎت در زﻣﻴﻨﻪ OCRﻓﺎرﺳﻲ را ﺑﻪ ﺧﻮﺑﻲ ﻧﺸﺎن ﻣﻲدﻫﻨﺪ.در ﺳﺎل 1372 ، ﻣﻘﺎﻻﺗﻲ درﺑﺎره ﺑﺎزﺷﻨﺎﺳﻲ ﺣﺮوف و ﻣﺘﻮن ﺗﺎﻳﭙﻲ ﺑﺎ ﻳﻚ ﻗﻠﻢ ﺧﺎص اراﺋﻪ ﺷﺪ. در ﺳﺎل 73 ، ﺑﺎزﺷﻨﺎﺳﻲ ﺣﺮوف ﺗﺎﻳﭙﻲ و ﺣﺮوف و ارﻗﺎم دﺳﺖﻧﻮﻳﺲ ﻣﻮرد ﺗﻮﺟﻪ ﺑﻮد. در 1374 ، روشﻫﺎي ﻣﺨﺘﻠﻔﻲ ﺑﺮاي اﺳﺘﺨﺮاج وﻳﮋﮔﻲ و ﺑﺎزﺷﻨﺎﺳﻲ ﻧﻮﻳﺴﻪﻫﺎي ﭼﺎﭘﻲ و دﺳﺖﻧﻮﻳﺲ ﻣﻄﺮح ﺷﺪﻧﺪ. ﻣﻘﺎﻟﻪﻫﺎﻳﻲ ﻧﻴﺰ درﺑﺎره ﺗﺸﺨﻴﺺ ﭘﻼك ﺧﻮدرو در ﻧﻮرﭘﺮدازي ﻧﺎﻳﻜﻨﻮاﺧﺖ اراﺋﻪ ﺷﺪﻧﺪ.
در ﺳﺎل 75 ، ﺗﺸﺨﻴﺺ ارﻗﺎم ﺑﺮﺧﻂ، ﺑﺎزﺷﻨﺎﺳﻲ ارﻗﺎم، ﺟﺪاﺳﺎزي ﺣﺮوف در ﻛﻠﻤﺎت ﭼﺎﭘﻲ و دﺳﺖﻧﻮﻳﺲ از ﻣﻮﺿﻮﻋﺎت ﻣﻄﺮح ﺑﻮدﻧﺪ.
در ﺳﺎل 76 ﺑﻪ ﺟﺪاﺳﺎزي ﻛﻠﻤﺎت ﻓﺎرﺳﻲ از ﻻﺗﻴﻦ، ﺧﻮاﻧﺪن ﻓﺮمﻫﺎي دﺳﺖﻧﻮﻳﺲ، ﺗﻔﻜﻴﻚ ﻛﻠﻤﺎت دﺳﺖﻧﻮﻳﺲ از ﭼﺎﭘﻲ، ﺟﺪاﺳﺎزي ﺣﺮوف در ﻛﻠﻤﺎت ﭼﺎﭘﻲ و ﺑﺎزﺷﻨﺎﺳﻲ ﺣﺮوف ﭼﺎﭘﻲ ﭘﺮداﺧﺘﻪ ﺷﺪ. ﺑﺎزﺷﻨﺎﺳﻲ زﻳﺮ-ﻛﻠﻤﺎت ﭼﺎﭘﻲ، ﺗﺸﺨﻴﺺ ﻧﻮﻳﺴﻪﻫﺎي ﺑﺮﺧﻂ، ﻧﺎزك ﺳﺎزي ﺣﺮوف، اﻳﺠﺎد ﭘﺎﻳﮕﺎه ﺗﺼﻮﻳﺮي زﻳﺮ-ﻛﻠﻤﺎت، ﺟﺪاﺳﺎزي ارﻗﺎم دﺳﺖﻧﻮﻳﺲ ﺑﺎ اﺗﺼﺎل ﻧﺎﺧﻮاﺳﺘﻪ و ﺑﺎزﺷﻨﺎﺳﻲ ارﻗﺎم دﺳﺖﻧﻮﻳﺲ، ﻣﻮﺿﻮﻋﺎت ﻣﻄﺮح در ﺳﺎل 77 ﺑﻮدﻧﺪ. در ﺳﺎل 78، ﻣﻘﺎﻻﺗﻲ درﺑﺎره ﺗﺸﺨﻴﺺ ﻛﺠﻲ اﺳﻨﺎد، درك ﭘﻴﻜﺮﺑﻨﺪي ﻫﻨﺪﺳﻲ ﻳﻚ ﺻﻔﺤﻪ از ﻣﺘﻦ ﭼﺎﭘﻲ و ﺑﺎزﺷﻨﺎﺳﻲ ﻛﻠﻤﺎت دﺳﺖﻧﻮﻳﺲ ﻣﻄﺮح ﺷﺪﻧﺪ. در ﺳﺎل 79 ، ﺑﺎزﺷﻨﺎﺳﻲ ﻛﻠﻤﺎت دﺳﺖﻧﻮﻳﺲ، ﺗﻌﻴﻴﻦ ﻛﺪﭘﺴﺘﻲ در آدرسﻫﺎي ﭼﺎﭘﻲ، ﭘﺮدازش ﻓﺮمﻫﺎي دﺳﺖﻧﻮﻳﺲ، ﺗﺸﺨﻴﺺ ﻣﻴﺰان ﻛﺠﻲ اﺳﻨﺎد، ﺗﺸﺨﻴﺺ زﺑﺎن در اﺳﻨﺎد ﭼﻨﺪ زﺑﺎﻧﻪ، ﻧﺎﺣﻴﻪﺑﻨﺪي ﺻﻔﺤﻪ ﻣﺘﻦ، ﺟﺪاﺳﺎزي ﺣﺮوف در ﻛﻠﻤﺎت، ﺑﺎزﺷﻨﺎﺳﻲ ﭘﻼك ﺧﻮدرو، ﺑﺎزﺷﻨﺎﺳﻲ ﺣﺮوف و ارﻗﺎم دﺳﺖﻧﻮﻳﺲ و ﺟﺪاﺳﺎزي ﻧﻘﺎط ﭼﺴﺒﻴﺪه ﺑﻪ ﺑﺪﻧﻪ ﺣﺮوف ﭼﺎﭘﻲ ﻣﻄﺮح ﺑﻮدﻧﺪ.
در ﺳﺎل 80، ﻣﻘﺎﻟﻪﻫﺎﻳﻲ درﺑﺎره اﻧﺘﺨﺎب وﻳﮋﮔﻲ ﺑﺮاي ﺑﺎزﺷﻨﺎﺳﻲ ارﻗﺎم، ﺑﺎزﺷﻨﺎﺳﻲ ﻛﻠﻤﺎت دﺳﺖﻧﻮﻳﺲ، ﻧﺎﺣﻴﻪﺑﻨﺪي ﺻﻔﺤﻪ ﻣﺘﻦ و ارزﻳﺎﺑﻲ ﺗﻌﻴﻴﻦ ﻧﻮار زﻣﻴﻨﻪ در ﻣﺘﻮن ﭼﺎﭘﻲ ﻣﻨﺘﺸﺮ ﺷﺪﻧﺪ. ﺟﺪاﺳﺎزي ﺣﺮوف در ﻛﻠﻤﺎت دﺳﺖﻧﻮﻳﺲ، اﺳﺘﺨﺮاج ﻣﺘﻦ ﭼﺎﭘﻲ از زﻣﻴﻨﻪ ﻣﺼﻮر، ﺟﺪاﺳﺎزي ﺗﺼﻮﻳﺮي ﻛﻠﻤﺎت ﭼﺎﭘﻲ ﻓﺎرﺳﻲ از ﻻﺗﻴﻦ و اﺳﺘﺨﺮاج ﻣﺘﻦ ﭼﺎﭘﻲ از ﺗﺼﺎوﻳﺮ ﮔﺮاﻓﻴﻜﻲ ﻣﻮﺿﻮﻋﺎت ﻣﻄﺮح در ﺳﺎل 81 ﺑﻮدﻧﺪ. در ﺳﺎل 82 ، ﺑﻪ ﺑﺎزﺷﻨﺎﺳﻲ ارﻗﺎم دﺳﺖﻧﻮﻳﺲ و ﺑﺎزﺷﻨﺎﺳﻲ ﻗﻠﻢﻫﺎي ﭼﺎﭘﻲ ﭘﺮداﺧﺘﻪ ﺷﺪ. در ﺳﺎل 83 ، ﻣﻘﺎﻟﻪﻫﺎﻳﻲ درﺑﺎره ﺑﺎزﺷﻨﺎﺳﻲ ارﻗﺎم و ﺣﺮوف، ﺗﻌﻴﻴﻦ ﺳﺎﺧﺘﺎر ﻧﺎﻣﻪﻫﺎي اداري، ﺟﺪاﺳﺎزي ﻛﻠﻤﺎت ﭼﺎﭘﻲ ﺑﻪ ﺣﺮوف، ﺑﺎزﻳﺎﺑﻲ ﺗﺼﺎوﻳﺮ ﻧﺎﻣﻪﻫﺎي اداري و ﺗﺮﻛﻴﺐ ﻃﺒﻘﻪ ﺑﻨﺪﻫﺎ ﺑﺮاي ﺑﺎزﺷﻨﺎﺳﻲ ارﻗﺎم ﻣﻨﺘﺸﺮ ﺷﺪﻧﺪ. ﺟﺪاﺳﺎزي ﻣﺘﻦ ﭼﺎﭘﻲ از زﻣﻴﻨﻪ ﺗﺼﻮﻳﺮي، ﺑﺎزﺷﻨﺎﺳﻲ زﻳﺮ-ﻛﻠﻤﺎت ﭼﺎﭘﻲ و ﺗﻌﻴﻴﻦ ﻫﻮﻳﺖ ﻧﻮﻳﺴﻨﺪه ﻣﻮﺿﻮﻋﺎت ﻣﻄﺮح در ﺳﺎل 84 ﺑﻮدﻧﺪ.
در ﺳﺎل 85، ﻣﻘﺎﻟﻪﻫﺎﻳﻲ درﺑﺎره ﺑﺎزﺷﻨﺎﺳﻲ ارﻗﺎم و ﺣﺮوف، ﺷﺎﺧﺺﮔﺬاري اﺳﻨﺎد ﭼﺎﭘﻲ ﺑﺮاي ﺑﺎزﻳﺎﺑﻲ آنﻫﺎ، آﺷﻜﺎرﺳﺎزي و ﺑﺎزﺷﻨﺎﺳﻲ ﭘﻼك ﺧﻮدرو، ﺑﻬﺴﺎزي ﺗﺼﻮﻳﺮ ﻣﺘﻮن ﭼﺎﭘﻲ، ﺗﻌﻴﻴﻦ و ﺗﺄﻳﻴﺪ ﻫﻮﻳﺖ ﻧﻮﻳﺴﻨﺪه، ﺑﺎزﺷﻨﺎﺳﻲ ﻣﺘﻦ ﭼﺎﭘﻲ، ﺧﻮﺷﻪ ﺑﻨﺪي زﻳﺮ-ﻛﻠﻤﺎت ﭼﺎﭘﻲ، ﺗﺨﻤﻴﻦ ﻛﺠﻲ اﺳﻨﺎد، ﺑﺎزﺷﻨﺎﺳﻲ ﻗﻠﻢﻫﺎي ﭼﺎﭘﻲ، اﺳﺘﺨﺮاج ﻧﻮﺷﺘﺎر از ﺗﺼﺎوﻳﺮ رﻧﮕﻲ، ﺑﺎزﺷﻨﺎﺳﻲ ﻋﺒﺎرتﻫﺎي رﻳﺎﺿﻲ ﭼﺎﭘﻲ، ﻧﺎﺣﻴﻪ ﺑﻨﺪي ﺻﻔﺤﻪ ﻣﺘﻦ و اﺳﺘﺨﺮاج وﻳﮋﮔﻲ ارﻗﺎم اﻧﺘﺸﺎر ﻳﺎﻓﺘﻨﺪ.
ﻣﻘﺎﻟﻪﻫﺎي ﺑﺎ ارزﺷﻲ ﻧﻴﺰ در ﻣﺠﻠﻪﻫﺎي داﺧﻠﻲ ﻣﻨﺘﺸﺮ ﺷﺪه اﺳﺖ ﻛﻪ ﺑﻪ دﻟﻴﻞ ﻋﺪم دﺳﺘﺮﺳﻲ ﺑﻪ ﻫﻤﻪ آنﻫﺎ، ﺑﺮاي رﻋﺎﻳﺖ ﻋﺪاﻟﺖ! و اﺟﺘﻨﺎب از ﻋﻮاﻗﺐ ﻧﺎﻣﻄﻠﻮب اﺣﺘﻤﺎﻟﻲ ﺑﻪ ﻫﻴﭻ ﻛﺪام اﺷﺎره ﻧﻤﻲﺷﻮد. اﻟﺒﺘﻪ ﺳﺮ ﻧﺦ ﺑﻴﺸﺘﺮ اﻳﻦ ﻣﻘﺎﻟﻪﻫﺎ در ﻓﻬﺮﺳﺖ ﻣﻘﺎﻟﻪﻫﺎي ﻛﻨﻔﺮاﻧﺲﻫﺎي داﺧﻠﻲ وﺟﻮد دارد [2].
2-6- تحقیقات انجام شده در داخل کشور در زمینه تولید OCR فارسی
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻫﻤﻴﺖ ﻃﻴﻒ وﺳﻴﻊ ﻛﺎرﺑﺮدﻫﺎ و ﻧﻴﺎز ﺷﺪﻳﺪ ﺑﺎزار ﺗﺠﺎري، در ﺳﺎلﻫﺎي اﺧﻴﺮ ﺗﺤﻘﻴﻘﺎت ﻗﺎﺑﻞ ﻣﻼﺣﻈﻪاي در ﻛﺸﻮر در زﻣﻴﻨﺔ «OCR» ﺗﻮﺳﻂ داﻧﺸﮕﺎهﻫﺎ، ﺑﺮﺧﻲ ﻧﻬﺎدﻫﺎي دوﻟﺘﻲ، و ﺷﺮﻛﺖﻫﺎي ﺧﺼﻮﺻﻲ ﺻﻮرت ﮔﺮﻓﺘﻪ اﺳﺖ ﻛﻪ ﻣﺘﺎﺳﻔﺎﻧﻪ از آﻣﺎر دﻗﻴﻖ آنﻫﺎ اﻃﻼﻋﻲ در دﺳﺖ ﻧﻴﺴﺖ. اﻣﺎ ﻗﺪر ﻣﺴﻠﻢ اﻳﻦ ﻛﻪ ﺑﺮاي «OCR» ﻣﺘﻮن ﭼﺎﭘﻲ ﺗﺎﻛﻨﻮن ﻫﻴﭻ ﻧﺮم اﻓﺰار ﻛﺎرآﻣﺪ «OCR» ﺗﺠﺎري ﻛﻪ ﻣﺤﺼﻮل ﺗﺤﻘﻴﻘﺎت داﺧﻞ ﻛﺸﻮر ﺑﺎﺷﺪ، ﻋﺮﺿﻪ ﻧﮕﺮدﻳﺪه اﺳﺖ. در اداﻣﻪ ﺑﻪ ﺑﺮﺧﻲ از ﺗﻼشﻫﺎي ﺻﻮرت ﮔﺮﻓﺘﻪ در اﻳﻦ زﻣﻴﻨﻪ اﺷﺎره ﻣﻲﺷﻮد:
– در ﺣﻮزة ﺗﺤﻘﻴﻘﺎت داﻧﺸﮕﺎﻫﻲ، ﺗﻌﺪاد ﻧﺴﺒﺘﺎً زﻳﺎدي ﭘﺎﻳﺎنﻧﺎﻣﻪ (ﺑﺨﺼﻮص در ﻣﻘﺎﻃﻊ ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ و دﻛﺘﺮي) و ﻣﻘﺎﻟﻪ در اﻳﻦ زﻣﻴﻨﻪ ﻣﻨﺘﺸﺮ ﺷﺪهاﻧﺪ ﻛﻪ ﻧﻘﻄﺔ ﺗﻤﺮﻛﺰ ﺑﻴﺸﺘﺮ آنﻫﺎ، اراﺋﺔ روشﻫﺎﻳﻲ ﺑﻪ ﻣﻨﻈﻮر ﻗﻄﻌﻪﺑﻨﺪي دروﻧﻲ[32]، ﺑﺎزﻧﻤﺎﻳﻲ[33] و ﺑﺎزﺷﻨﺎﺳﻲ[34] ﺣﺮوف ﺑﻮده اﺳﺖ و ﺳﺎﻳﺮ ﺑﺨﺶﻫﺎ ﺷﺎﻣﻞ ﭘﻴﺶﭘﺮدازش[35]، ﻗﻄﻌﻪﺑﻨﺪي ﺑﻴﺮوﻧﻲ[36] و ﭘﺲﭘﺮدازش[37] ﻛﻤﺘﺮ ﻣﻮرد ﺗﻮﺟﻪ ﻗﺮار ﮔﺮﻓﺘﻪاﻧﺪ[38].
– ﻃﺮح ﻣﻠﻲ ﺑﺎزﺷﻨﺎﺳﻲ ﻣﺘﻮن ﭼﺎﭘﻲ و ﺣﺠﻢ ﻣﺤﺪودي از ﻛﻠﻤﺎت دﺳﺖﻧﻮﻳﺲ ﺑﻪ ﺳﺮﭘﺮﺳﺘﻲ دﻛﺘﺮ «اﺣﺴﺎنﻟﻪ ﻛﺒﻴﺮ» آﻏﺎز ﮔﺮدﻳﺪ ﻛﻪ در آن ﺗﻌﺪادي از اﺳﺎﺗﻴﺪ داﻧﺸﮕﺎهﻫﺎي ﺗﺮﺑﻴﺖ ﻣﺪرس و ﺻﻨﻌﺘﻲ اﻣﻴﺮﻛﺒﻴﺮ ، ﺑﻪ اﻧﺠﺎم ﺗﺤﻘﻴﻖ ﭘﺮداﺧﺘﻨﺪ. دﻛﺘﺮ «ﻛﺒﻴﺮ» ﭘﺮوژهﻫﺎﻳﻲ ﻧﻴﺰ ﺑﺎ ﻋﻨﺎوﻳﻦ «ﺑﺎزﺷﻨﺎﺳﻲ ﻣﺘﻮن ﭼﺎﭘﻲ ﻓﺎرﺳﻲ» (1371-1369) و «ﺑﺎزﺷﻨﺎﺳﻲ ﺣﺮوف و ارﻗﺎم ﻓﺎرﺳﻲ دﺳﺖﻧﻮﻳﺲ» (1374-1372) ﺑﺮاي «ﺳﺎزﻣﺎن ﭘﮋوﻫﺶﻫﺎي ﻋﻠﻤﻲ و ﺻﻨﻌﺘﻲ اﻳﺮان» اﻧﺠﺎم داده اﺳﺖ.
– ﺷﺮﻛﺖ «اﻧﺪﻳﺸﺔ ﻧﺮم اﻓﺰار ﭘﺎﻳﺎ» در ﺳﺎل 1380 ﻃﺮﺣﻲ ﺑﻪ ﻣﻨﻈﻮر اراﺋﺔ ﻳﻚ ﺳﻴﺴﺘﻢ «OCR» ﺑﺮاي ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف ﻓﺎرﺳﻲ ﮔﺴﺴﺘﺔ دﺳﺖﻧﻮﺷﺖ آﻏﺎز ﻧﻤﻮد. از ﻣﺤﺼﻮل اﻳﻦ ﻃﺮح، در ﺳﺎلﻫﺎي 1381 و 1382 ﺑﻪ ﻣﻨﻈﻮر ﺧﻮاﻧﺪن 440 ﻫﺰار ﻓﺮم ﺛﺒﺖﻧﺎم آزﻣﻮن «ﺳﺎزﻣﺎن ﻣﻠﻲ اﺳﺘﻌﺪادﻫﺎي درﺧﺸﺎن» اﺳﺘﻔﺎده ﮔﺮدﻳﺪ. در اﻳﻦ ﻣﺤﺼﻮل، ﺣﺮوف ﻓﺎرﺳﻲ ﮔﺴﺴﺘﺔ دﺳﺖﻧﻮﺷﺖ ﭘﺲ از ﺷﻨﺎﺳﺎﻳﻲ، ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﺗﺮﻛﻴﺐ ﻣﻲﺷﻮﻧﺪ و ﻛﻠﻤﺎت ﺑﻪ دﺳﺖ آﻣﺪه از اﻳﻦ ﻃﺮﻳﻖ، در ﻳﻚ واژهﻧﺎﻣﺔ ﻟﻐﺎت (ﺷﺎﻣﻞ ﻧﺎمﻫﺎ و ﻧﺎمﻫﺎي ﺧﺎﻧﻮادﮔﻲ ﻣﺼﻄﻠﺢ در اﻳﺮان) ﻣﻮرد ﺟﺴﺘﺠﻮ ﻗﺮار ﻣﻲﮔﻴﺮﻧﺪ ﻛﻪ ﺑﺪﻳﻦ ﺻﻮرت ﺧﻄﺎﻫﺎي ﺑﺎزﺷﻨﺎﺳﻲ ﺗﺎ ﺣﺪ زﻳﺎدي ﻛﺎﻫﺶ ﭘﻴﺪا ﻣﻲﻛﻨﺪ. ﺑﻪ دﻟﻴﻞ ﮔﺴﺴﺘﻪﺑﻮدن ﺣﺮوف دﺳﺖﻧﻮﺷﺖ، ﺧﻮشﺧﻂﺑﻮدن ﻣﻌﻤﻮل ﻓﺮمﻫﺎ ﺑﻪ واﺳﻄﺔ وﺳﻮاس ﭘﺮﻛﻨﻨﺪﮔﺎن آنﻫﺎ (زﻳﺮا ﺷﺮﻛﺖﻛﻨﻨﺪﮔﺎن در آزﻣﻮن ﻧﻤﻲﺧﻮاﻫﻨﺪ ﻛﻪ ﻓﺮم آنﻫﺎ ﻗﺎﺑﻞ ﺧﻮاﻧﺪن ﻧﺒﺎﺷﺪ)، و ﻧﻴﺰ ﺑﻪ دﻟﻴﻞ اﺳﺘﻔﺎده از واژهﻧﺎﻣﺔ ﻟﻐﺎت، دﻗﺖ ﺑﺎزﺷﻨﺎﺳﻲ ﺻﺤﻴﺢ ﺣﺮوف، رﺿﺎﻳﺖﺑﺨﺶ (ﺑﺎﻻي 90% ﺑﺎزﺷﻨﺎﺳﻲ ﺻﺤﻴﺢ) ﺑﻮد.
– دو ﺷﺮﻛﺖ دﻳﮕﺮ ﻧﻴﺰ ﺑﺎ ﺣﻤﺎﻳﺖ دﺑﻴﺮﺧﺎﻧﻪ ﻃﺮح «ﺗﻜﻔﺎ» (ﺗﻮﺳﻌﻪ ﻛﺎرﺑﺮد ﻓﻨﺎوري اﻃﻼﻋﺎت و ارﺗﺒﺎﻃﺎت) ﻣﺸﻐﻮل ﭘﮋوﻫﺶ و آزﻣﺎﻳﺶ ﺑﺮ روي «OCR» ﻓﺎرﺳﻲ ﻫﺴﺘﻨﺪ. ﻳﻜﻲ از اﻳﻦ ﺷﺮﻛﺖﻫﺎ «دادهﭘﺮدازان دوران ﻧﻮﻳﻦ» ﻧﺎم دارد. اخیراً اعلام گردیده که این شرکت موفق به ارائه یک نرم افزار بازشناسی برای متون فارسی با دقت 90% گردیده است.
در اﺑﺘﺪا ﻻزم اﺳﺖ ﺑﻪ ﻳﻚ ﻣﻘﺪﻣﻪ ﻛﻮﺗﺎه در ﻣﻮرد ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف ﻓﺎرﺳﻲ در زﻳﺮﻛﻠﻤﺎت ﺑﭙﺮدازﻳﻢ. زﻳﺮ ﻛﻠﻤﺎت در زﺑـﺎن ﻓﺎرﺳﻲ ﺑﻪ ﭼﻨﺪﻳﻦ دﺳﺘﻪ ﺗﻘﺴﻴﻢ ﻣﻲﺷﻮﻧﺪ ﻛﻪ ﻣﻤﻜﻦ اﺳﺖ ﻳﻚ، دو، ﺳﻪ، ﭼﻬﺎر، ﭘﻨﺞ و … ﺣﺮﻓﻲ ﺑﺎﺷﻨﺪ. ﺑﺮاي روﺷـﻦ ﺷـﺪن ﻣﻮﺿﻮع و اﻃﻼع از ﻧﺘﺎﻳﺞ ﻛﻤﻲ آن، ﻳﻚ آﻣﺎرﮔﻴﺮي از ﻛﻠﻤﺎت ﻓﺎرﺳﻲ اﻧﺠﺎم داده اﻳﻢ ﻛﻪ ﻧﺘﺎﻳﺞ آن در جدول 3‑1 ﻧﺸـﺎن داده ﺷﺪه اﺳﺖ. در اﻳﻦ آﻣﺎرﮔﻴﺮي ﺳﻪ ﻧﻮع ﻣﺘﻦ ﻣﺨﺘﻠﻒ ﻣﻘﺎﻟﻪ ﻣﻄﺒﻮﻋﺎﺗﻲ، ﻛﺘﺎب آﻣﻮزﺷﻲ و ﻳﻚ ﭘﺎﻳﺎنﻧﺎﻣـﻪ ﻣـﻮرد ﻣﻄﺎﻟﻌـﻪ ﻗـﺮار ﮔﺮﻓﺘﻪ اﺳﺖ و ﺑﺎ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﻧﻮﺷﺘﻪ ﺷﺪه ﺑﻪ زﺑﺎن #C ﺗﻌﺪاد زﻳﺮﻛﻠﻤﺎت ﺑﺎ ﺗﻌﺪاد ﺣﺮوف ﻣﺘﻔﺎوت ﺷﻤﺎرش ﺷﺪه اﺳﺖ.
جدول 3‑1 ﺗﻌﺪاد زﻳﺮﻛﻠﻤﺎت ﺑﺎ ﺗﻌﺪاد ﺣﺮوف ﻣﺘﻔﺎوت در ﺳﻪ ﻧﻮع ﻣﺘﻦ ﻣﻘﺎﻟﻪ ﻣﻄﺒﻮﻋﺎﺗﻲ،ﻛﺘﺎب آﻣﻮزﺷﻲ و ﻳﻚ ﭘﺎﻳﺎن ﻧﺎﻣﻪ [32]
نوع متن: مقالات مطبوعاتی | ||
تعداد حروف در زیرکلمه | تکرار در متن | درصد تکرار |
1 | 5446 | 01/49 |
2 | 3405 | 64/30 |
3 | 1341 | 06/12 |
4 | 772 | 94/6 |
5 | 114 | 07/1 |
6 | 28 | 25/0 |
7 | 6 | 05/0 |
مجموع | 11112 | 100 |
نوع متن: کتاب آموزشی | ||
تعداد حروف در زیرکلمه | تکرار در متن | درصد تکرار |
1 | 19378 | 52/50 |
2 | 12244 | 92/31 |
3 | 4757 | 4/12 |
4 | 1491 | 88/3 |
5 | 445 | 16/1 |
6 | 37 | 09/0 |
7 | 3 | 008/0 |
مجموع | 38355 | 100 |
نوع متن: | ||
تعداد حروف در زیرکلمه | تکرار در متن | درصد تکرار |
1 | 11833 | 59/48 |
2 | 8024 | 95/32 |
3 | 2854 | 71/11 |
4 | 1214 | 98/4 |
5 | 359 | 47/1 |
6 | 62 | 25/0 |
7 | 5 | 02/0 |
مجموع | 24352 | 100 |
ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﺟﺪول بالا ﻣﺸﺎﻫﺪه ﻣﻲﺷﻮد، 37/49% ﻛﻞ زﻳﺮﻛﻠﻤﺎت ﻓﺎرﺳﻲ را زﻳﺮﻛﻠﻤﺎت ﺗﻚﺣﺮﻓـﻲ ﺗﺸـﻜﻴﻞ ﻣﻲدﻫﻨﺪ. در واﻗﻊ ﻣﻲﺗﻮان ﮔﻔﺖ اﮔﺮ اﻳﻦ زﻳﺮ ﻛﻠﻤﺎت ﺑﻪ درﺳﺘﻲ ﺗﺸﺨﻴﺺ داده ﺷﻮﻧﺪ ﻧﺰدﻳﻚ ﺑﻪ 50% ﻛـﻞ ﻣـﺘﻦ ﺗﺸـﺨﻴﺺ داده ﺷﺪه اﺳﺖ. از اﻳﻦ رو ﻛﺎرﻫﺎي زﻳﺎدي ﺑﺮ روي زﻳﺮﻛﻠﻤﺎت ﺗﻚﺣﺮﻓﻲ (ﺣﺮوف ﺟﺪاي ﻓﺎرﺳﻲ/ﻋﺮﺑﻲ) اﻧﺠﺎم ﺷﺪه اﺳﺖ. اﮔﺮ ﺗﺎ زﻳﺮﻛﻠﻤﺎت 3 ﺣﺮﻓﻲ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ، ﺑﺎ ﺗﺸﺨﻴﺺ اﻳﻦ زﻳﺮﻛﻠﻤﺎت، ﺗﻘﺮﻳﺒﺎً 93% ﻛﻞ ﻣﺘﻦ اﺳﻜﻦ ﺷﺪه ﺗﺸﺨﻴﺺ داده ﻣﻲﺷﻮد ﻛﻪ در ﻳﻜﻲ از ﻣﻘﺎﻟﻪ اﺳﺘﺨﺮاج ﺷﺪه از اﻳﻦ ﭘﺎﻳﺎن ﻧﺎﻣﻪ آورده ﺷﺪه اﺳﺖ[32].
در نتیجه، بسیاری از روشهای بازشناسی، ویژگیهای مورد نیازشان را مستقیماً از زیرکلمهها استخراج و سعی میکنند مستقیماً زیرکلمه را تشخیص دهند. اشکال عمده این روشها این است که امکان تعریف همه حالتهای زیرکلمهها به صورت دقیق توسط انسان وجود ندارد، بنابراین، این روشها اغلب برای مرحله شناسایی به روشهای با تمرین (مانند شبکه های عصبی) روی میآورند و تنها میتوانند برای زیرکلمههای پر استفاده با درصد خوبی جواب صحیح را بیابند.
از سوی دیگر، در بین روشهایی که ویژگیهای مورد نیازشان را از روی حروف به دست میآورند، روشهای آماری بسیار وابسته به نوع قلم هستند و با تغییر قلم دقت آن ها تغییر زیادی میکند. بنابراین، روشهای آماری برای بازشناسی مستقل از قلم و دستنوشته زیاد مناسب نیستند. با توجه به مطالب فوق، به نظر میرسد که برای بازشناسی نوشتار مستقل از قلم و دست نوشتهها، پژوهشهای آینده به سوی استخراج ویژگیهای ساختاری حروف پیش خواهند رفت.
یکی از موفقترین روشهای ارائه شده که تاکنون برای استخراج ویژگی های ساختاری حروف مطرح شده است، از عناصر ابتدایی مانند خط و دایره به عنوان ویژگی استفاده میکند. در سال ١٩٩٨ میلادی (١٣٧٧ خورشیدی) در [33] استفاده از عناصر ابتدایی برای شناسایی حروف عربی و فارسی پیشنهاد شده که از ٩ عنصر ابتدایی استفاده میکرد. در سال ٢٠٠6 میلادی (١٣٨۵ خورشیدی) در [34] از 10 عنصر ابتدایی برای شناسایی حروف عربی استفاده شده است. به طور هم زمان، در [35] نیز روشی برای شناسایی حروف فارسی با ٩ عنصر ابتدایی ارائه شده است که این روش در [32] و [36] کاملتر شده است و در این کار، تعداد عناصر ابتدایی به ٨ رسید.
در این فصل ابتدا روشهای گوناگون دستهبندی حروف فارسی را بررسی خواهیم کرد سپس به بررسی الگوریتم پیشنهادی میپردازیم.
3-1-1- روشهايي جهت دستهبندي حروف فارسي
ﺑﺮاي ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف آﻧﻬﺎ را ﺑﻪ ﮔﺮوهﻫﺎي ﻣﺨﺘﻠﻔﻲ ﺗﻘﺴﻴﻢ ﻣﻲﻛﻨﻨﺪ. اﻳﻦ ﺗﻘﺴﻴﻢﺑﻨﺪي از ﻟﺤﺎظ ﺷﻜﻞ ﻇـﺎﻫﺮي اﺳـﺖ و ﻣﻲﺗﻮان ﺑﺮاي ﻫﺮ ﮔﺮوه ﻳﻚ ﻛﻼس ﺧﺎص درﻧﻈﺮ ﮔﺮﻓﺖ ﻣﺜﻼً از ﻧﻈﺮ ﻣﻮﻗﻌﻴﺖ در زﻳﺮﻛﻠﻤﻪ، ﺗﻌﺪاد ﻧﻘﺎط ﻳﺎ ﻣﻮﻗﻌﻴﺖ ﻧﺴﺒﺖ ﺑﻪ ﺧﻂ ﻛﺮﺳﻲ ﻛﻪ در اداﻣﻪ ﺗﻮﺿﻴﺢ داده ﻣﻲﺷﻮد.
3-1-1-1- ﻣﻮﻗﻌﻴﺖ در زﻳﺮﻛﻠﻤﻪ
ﺣﺮوف ﺑﺴﺘﻪ ﺑﻪ اﻳﻨﻜﻪ در ﻛﺠﺎي (زﻳﺮ) ﻛﻠﻤﻪ ﻗﺮار ﻣﻲﮔﻴﺮﻧﺪ ﺑﻪ ﭼﻬﺎر دﺳﺘﻪ ﺗﻘﺴﻴﻢ ﻣﻲﺷﻮﻧﺪ ﻛـﻪ در ﺟـﺪول 3-3 آورده ﺷﺪه اﺳﺖ. اﮔﺮ ﺣﺮف ﺗﻨﻬﺎ ﻇﺎﻫﺮ ﺷﻮد ”ﺣﺮف ﺟﺪا“ ﻧﺎﻣﻴﺪه ﻣﻲ ﺷﻮد، اﮔﺮ در اﺑﺘﺪاي (زﻳﺮ)ﻛﻠﻤـﻪ ﺑﺎﺷـﺪ ﺑـﻪ آن «ﺣـﺮف اول» ﮔﻔﺘﻪ ﻣﻲﺷﻮد، اﮔﺮ در وﺳﻂ ﺑﺎﺷﺪ «ﺣﺮف وﺳﻂ» و ﺑﺎﻻﺧﺮه اﮔﺮ در اﻧﺘﻬﺎي (زﻳﺮ)ﻛﻠﻤﻪ ﻗﺮار ﮔﻴﺮد «ﺣﺮف آﺧﺮ» ﻧﺎم دارد.
ﻫﻤﺎﻧﻄﻮر در ﺟﺪول 3-3 آﻣﺪه اﺳﺖ ﺑﺮاي ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف و زﻳﺮﻛﻠﻤﺎت ﻓﺎرﺳﻲ در واﻗﻊ ﺑﺎ 114 ﺣﺮف ﻣﻮاﺟﻪ ﻫﺴـﺘﻴﻢ. ﺣﺮوف ﻣﻲﺗﻮاﻧﻨﺪ از ﻧﻈﺮ ﺗﻌﺪاد ﻧﻘﺎط ﻧﻴﺰ ﺑﻪ ﭼﻨﺪ ﮔﺮوه ﺗﻘﺴﻴﻢ ﺷﻮﻧﺪ.
3-1-1-2- از ﻧﻈﺮ ﺗﻌﺪاد ﻧﻘﺎط
ﻧﻘﻄﻪ در زﺑﺎن ﻓﺎرﺳﻲ/ﻋﺮﺑﻲ از اﻫﻤﻴﺖ وﻳﮋهاي ﺑﺮﺧﻮردار اﺳﺖ. 56% ﺣﺮوف ﻓﺎرﺳﻲ داراي ﻧﻘﻄﻪ ﻣﻲﺑﺎﺷﻨﺪ. ﺣﺮوف ﻧﻘﻄﻪ دار ﻧﻴﺰ ﺑﺮ ﺳﻪ ﻧﻮعِ ﻳﻚ، دو و ﺳﻪ ﻧﻘﻄﻪاي ﺗﻘﺴﻴﻢ ﻣﻲﺷﻮﻧﺪ ﻛﻪ در ﺟﺪول 3-2 آورده ﺷﺪه اﺳﺖ.
جدول 3‑2 ﺗﻘﺴﻴﻢ ﺑﻨﺪي ﺣﺮوف ﺑﺮ اﺳﺎس ﺗﻌﺪاد ﻧﻘﺎط ﺣﺮوف
ﺑﺪون ﻧﻘﻄﻪ | ا ﺎ ح ﺢ ﺣ ـﺤ د ﺪ ر ﺮس ﺲ ﺳ ﺴ ص ﺺ ﺻ ﺼ ط ﻂ ﻇ ﻇ ع ﻊ ﻋ ﻌ ک ک ﻛ ﻜ گ ﮓ ﮔ ﮕ ل ﻞ ﻟ ﻠ م ﻢ ﻣ ﻤ ه ﻪ ﻫ ﻬ و ﻮ ی ی | 50 ﺣﺮف |
ﺗﻚ ﻧﻘﻄﻪاي | ب ﺐ ﺑ ﺒ ج ﺞ ﺟ ﺠ خ ﺦ ﺧ ﺨ ذ ﺬ ز ﺰ ﺾ ﺿ ﻀ ظ ﻆ ط ط غ ﻎ ﻏ ﻐ ف ﻒ ﻓ ﻔ ن ﻦ ﻧ ﻨ | 36 ﺣﺮف |
دو ﻧﻘﻄﻪاي | ت ﺖ ﺗ ﺘ ق ﻖ ق ﻘ ﻳ ﻴ | 10 ﺣﺮف |
ﺳﻪ ﻧﻘﻄﻪاي | پ ﭗ ﭘ ﭙ ث ﺚ ﺛ ﺜ چ ﭻ ﭼ ﭽ ژ ﮋ ش ﺶ ﺷ ﺸ | 18 ﺣﺮف |
ﻳﻚ ﺗﻘﺴﻴﻢﺑﻨﺪي دﻳﮕﺮ ﻧﻴﺰ از ﻧﻈﺮ ﻣﻮﻗﻌﻴﺖ ﻧﻘﺎط ﻧﺴﺒﺖ ﺑﻪ ﺧﻂ ﻛﺮﺳﻲ وﺟﻮد دارد ﻛﻪ ﻳﻜـﻲ از اﻃﻼﻋـﺎت ﻣﻬـﻢ ﺑـﺮاي ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف اﺳﺖ.
جدول 3‑3 دﺳﺘﻪ ﺑﻨﺪي ﺣﺮوف از ﻧﻈﺮ ﻣﻮﻗﻌﻴﺖ در زﻳﺮﻛﻠﻤﻪ
ﺣﺮوف ﺟﺪا | ﺣﺮوف اول | ﺣﺮوف وﺳﻂ | ﺣﺮوف آﺧﺮ |
ا | – | – | ﺎ |
ب | ﺑ | ﺒ | ﺐ |
پ | ﭘ | ﭙ | ﭗ |
ت | ﺗ | ﺘ | ﺖ |
ث | ﺛ | ﺜ | ﺚ |
ج | ﺟ | ﺠ | ﺞ |
چ | ﭼ | ﭽ | ﭻ |
ح | ﺣ | ﺤ | ﺢ |
خ | ﺧ | ﺨ | ﺦ |
د | – | – | ﺪ |
ذ | – | – | ﺬ |
ر | – | – | ﺮ |
ز | – | – | ﺰ |
ژ | – | – | ﮋ |
س | ﺳ | ﺴ | ﺲ |
ش | ﺷ | ﺸ | ﺶ |
ص | ﺻ | ﺼ | ﺺ |
ض | ﺿ | ﻀ | ﺾ |
ط | ط | – | ﻄ |
ظ | ظ | – | ﻆ |
ع | ﻋ | ﻌ | ﻊ |
غ | ﻏ | ﻐ | ﻎ |
ف | ﻓ | ﻔ | ﻒ |
ق | ﻗ | ﻘ | ﻖ |
ک | ﻛ | ﻜ | ﻚ |
گ | ﮔ | ﮕ | ﮓ |
ل | ﻟ | ﻠ | ﻞ |
م | ﻣ | ﻤ | ﻢ |
ن | ﻧ | ﻨ | ﻦ |
و | – | – | ﻮ |
ه | ﻫ | ﻬ | ﻪ |
ی | ﯾ | ﯿ | ﻲ |
32 ﺣﺮف | 25 ﺣﺮف | 25 ﺣﺮف | 32 ﺣﺮف |
ﻣﺠﻤﻮع ﺣﺮوف 114 |
3-1-1-3- ﻣﻮﻗﻌﻴﺖ ﻧﺴﺒﺖ ﺑﻪ ﺧﻂ ﻛﺮﺳﻲ
ﺣﺮوف ﺑﺮاي ﺳﺎﺧﺘﻦ زﻳﺮﻛﻠﻤﺎت و ﻛﻠﻤﺎت روي ﺧﻂ ﻛﺮﺳﻲ ﻗﺮار ﻣﻲﮔﻴﺮﻧﺪ وﻟﻲ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺷﻜﻞ ﺣﺮف ﺗﻌﺪاد ﭘﻴﻜﺴـل ﻫﺎﻳﻲ ﻛﻪ ﺑﺎﻻ ﻳﺎ ﭘﺎﻳﻴﻦ ﺧﻂ ﻗﺮار ﻣﻲﮔﻴﺮﻧﺪ، اﻫﻤﻴﺖ ﭘﻴﺪا ﻣﻲﻛﻨﻨﺪ و ﻣﻲﺗﻮاﻧﻨﺪ ﻳﻜﻲ از ﻣﻌﻴﺎرﻫﺎ ﺑﺮاي ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف ﺑﺎﺷﻨﺪ. از اﻳﻦ رو ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺧﻂ ﻛﺮﺳﻲ ﺣﺮوف ﺑﻪ دو دﺳﺘﻪ ﻣﺎﻧﻨﺪ ﺟﺪول 3-4 ﺗﻘﺴﻴﻢ ﻣﻲﺷﻮﻧﺪ.
جدول 3‑4 دﺳﺘﻪ ﺑﻨﺪي ﺣﺮوف از ﻧﻈﺮ ﻣﻮﻗﻌﻴﺖ ﻧﺴﺒﺖ ﺑﻪ ﺧﻂ ﻛﺮﺳﻲ
ﺑﺎﻻي ﺧﻂ | ا ﺎ ب ﺐ ﺑ ـﺒ پ ﭗ ﭘ ﭙ ت ﺖ ﺗ ﺘ ث ﺚ ﺛ ﺜ ﺟ ﺠ ﭼ ﭽ ﺣ ﺤ ﺧ ﺨ د ﺪ ذ ﺬ ﺳ ﺴ ﺷ ﺸ ﺻ ﺼ ﺿ ﻀ ط ﻄ ظ ﻆ ﻋ ﻌ ﻏ ﻐ ف ﻒ ﻓ ﻔ ﻗ ﻘ ک ک ﻛ ﻜ گ ﮓ ﮔ ﮕ ﻟ ﻠ ﻣ ﻤ ﻧ ﻨ ه ﻪ ﻫ ﻬ ﻳ ﯿ | 67 ﺣﺮف |
ﭘﺎﻳﻴﻦ ﺧﻂ | ج ﺞ چ ﭻ ح ﺢ خ ﺦ ر ﺮ ز ﺰ ژ ﮋ س ﺲ ش ﺶ ص ﺺ ض ﺾ ع ﻊ غ ﻎ ق ﻖ ل ﻞ م ﻢ نﻦ و ﻮ ى ﻰ | 83 ﺣﺮف |
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﮔﻔﺘﻪ ﺷﺪ ﺗﻌﺪاد ﺣﺮوف ﻓﺎرﺳﻲ/ﻋﺮﺑﻲ ﺗﺎ ﺣﺪودي زﻳﺎد اﺳﺖ و داراي اَﺷﻜﺎل ﻣﺨﺘﻠﻔﻲ ﻫﺴﺘﻨﺪ از اﻳﻦ رو اﻳﻦ زﺑﺎن ﺑﺮاي ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف ﺑﺎ ﻣﺸﻜﻼﺗﻲ ﻣﻮاﺟﻪ اﺳﺖ. در ادامه به بررسی الگوریتم پیشنهادی میپردازیم.
3-2- شمای کلی الگوریتم
در اﻳﻦ ﺑﺨﺶ ﺑﻪ بررﺳﻲ اﺟﻤﺎﻟﻲ الگورﻳﺘﻢِ ارائه شده ﻣﻲﭘﺮدازﻳﻢ.
شکل 3‑1 شمای کلی الگوریتم پیشنهادی
ﺑﺨﺶﻫﺎي ﻣﺨﺘﻠﻒ اﻳﻦ ﺳﻴﺴﺘﻢ ﻋﺒﺎرﺗﻨﺪ از:
- ﭘﻴﺶ ﭘﺮدازش
- ﺗﺒﺪﻳﻞ ﺑﻪ ﺗﺼﻮﻳﺮ ﺑﺎﻳﻨﺮي
- ﻓﻴﻠﺘﺮ ﻛﺮدن ﺗﺼﻮﻳﺮ
- ﺗﻌﻴﻴﻦ اﻧﺪازه ﻗﻠﻢ
- ﻧﺮﻣﺎل ﻛﺮدن ﺗﺼﻮﻳﺮ
- ﭘﺮدازش اﺻﻠﻲ
- ﺗﻌﻴﻴﻦ ﺧﻂ زﻣﻴﻨﻪ
- ﺷﻨﺎﺳﺎﻳﻲ ﻣﻜﺎن و ﺗﻌﺪاد ﻧﻘﺎط در زﻳﺮﻛﻠﻤﺎت
- ﻧﺎزكﺳﺎزي
- ﺷﻨﺎﺳﺎﻳﻲ ﻣﻨﺤﻨﻲﻫﺎي ﺑﺴﺘﻪ در زﻳﺮﻛﻠﻤﺎت
- اﺳﺘﺨﺮاج اﺳﺘﺮوكﻫﺎ
- اﺳﺘﺨﺮاج ﺧﻄﻮط از اﺳﺘﺮوكﻫﺎ
- ﺗﺒﺪﻳﻞِ ﺧﻄﻮط اﺳﺘﺮوكﻫﺎ ﺑﻪ ﻋﻨﺎﺻﺮ اﺑﺘﺪاﻳﻲ ﺣﺮوف
- ﺷﻨﺎﺳﺎﻳﻲ
- ﺗﺸﻜﻴﻞ آراﻳﻪ ﺷﻨﺎﺳﺎﻳﻲ اﺳﺘﺮوكﻫﺎ ()SIV
- ﺗﺸﻜﻴﻞ ﺑﺮدار ﻋﻨﺎﺻﺮ اﺑﺘﺪاﻳﻲ ﺣﺮوف
- اﺳﺘﺨﺮاج ﺣﺮوف
اﻳﻦ اﻟﮕﻮرﻳﺘﻢ از ﻋﻨﺎﺻﺮ اﺑﺘﺪاﻳﻲ ﺣﺮوف[39] ﺑﺮاي ﺗﺸﺨﻴﺺ ﺣﺮوف اﺳﺘﻔﺎده ﻣﻲﻛﻨﺪ. در واﻗﻊ ﺣﺮوف ﻓﺎرﺳـﻲ/ﻋﺮﺑـﻲ از ﻗـﺮار ﮔﺮﻓﺘﻦ ﭼﻨﺪﻳﻦ ﻋﻨﺼﺮ در ﻛﻨﺎر ﻫﻢ ﺗﺸﻜﻴﻞ ﻣﻲﺷﻮﻧﺪ. اﻳـﻦ ﺳﻴﺴـﺘﻢ از ﺳـﻪ ﺑﺨﺶ اﺻﻠﻲ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ. ﺑﺨﺶ اول، ﭘﻴﺶﭘﺮدازش[40] ﻣﻲﺑﺎﺷﺪ. اﻳﻦ ﺑﺨﺶ ﻧﻘـﺶ ﻣﻬﻤـﻲ را در ﺳﻴﺴـﺘﻢ دارد ﭼﺮاﻛـﻪ ﻣﺒﻨﺎي ﻛﺎر ﺑﺮ اﻳﻦ ﺑﺨﺶ اﺳﺘﻮار ﺷﺪه اﺳﺖ. اﻳﻦ ﺑﺨﺶ ﻣﻌﻤﻮﻻً ﺑﻪ اﺻﻼح ﺗﺼﻮﻳﺮ ورودي ﻣﻲﭘﺮدازد. در ﺑﺨﺶ ﭘﻴﺶﭘﺮدازش ﺳﻌﻲ ﺑﺮ رﻓﻊ ﻣﺸﻜﻼت تصویر ﻣﻲﺷﻮد ﺗﺎ ﻳﻚ ﻣﺘﻦ ﻧﻮﺷﺘﺎري ﻣﻨﺎﺳﺐ ﺑﻪ دﺳﺖ آﻳﺪ.
در اﻳﻦ ﺑﺨﺶ ﻧﻮﻳﺰﻫﺎي ﻣﻮﺟﻮد ﻛﻪ ﻣﻤﻜﻦ اﺳﺖ در ﺗﺼﻮﻳﺮ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ و ﻛﻴﻔﻴﺖ ﺗﺼـﻮﻳﺮ را ﺧـﺮاب ﻛﻨـﺪ، ﺣـﺬف ﻣﻲﺷﻮد و ﻳﻚ ﺗﺼﻮﻳﺮ ﺑﺪون ﻧﻮﻳﺰ ﺑﻪ وﺟﻮد ﻣﻲآﻳﺪ. از اﻳﻦ ﺗﺼﻮﻳﺮ ﺑﺮاي ﺗﻌﻴﻴﻦ ﺧﻂ ﻛﺮﺳﻲ اﺳﺘﻔﺎده ﻣﻲﺷﻮد. ﺗﻌﻴﻴﻦ اﻳﻦ ﺧﻂ ﻧﻘﺶ ﻣﻬﻤﻲ در ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف دارد. ﻫﻤﭽﻨﻴﻦ ﺑﺎ اﻳﻦ ﺗﺼﻮﻳﺮ اﻧﺪازه ﻗﻠﻢ ﻧﻴﺰ ﺗﺸﺨﻴﺺ داده ﻣﻲﺷﻮد ﻛﻪ ﻣﻲﺗﻮان ﺗﺼـﻮﻳﺮ را ﺑﻪ ﺣﺎﻟﺖ ﻧﺮﻣﺎل ﺗﺒﺪﻳﻞ ﻛﺮد.
در ادامه ﻧﺎزكﺳﺎزي صورت می گیرد. سپس، ﻣﺮﺣﻠﻪ اﺻﻠﻲ اﻳـﻦ ﺑﺨـﺶ ﻛﻪ اﺳﺘﺨﺮاج اﺳﺘﺮوكﻫﺎ ﻣﻲﺑﺎﺷﺪ اﻧﺠﺎم ﻣﻲﮔﻴﺮد. اﺳـﺘﺮوكﻫـﺎ ﺑـﺎ اﺳـﺘﻔﺎده از ﺗﺒـﺪﻳﻞ ﻫـﺎف و ﺑـﺎ ﻛﻤـﻲ ﺗﻐﻴﻴﺮات ﺑﺮ روي آن اﻧﺠﺎم ﻣﻲﮔﻴﺮد. ﺗﺒﺪﻳﻞ ﻫﺎف ﺗﺒﺪﻳﻞ ﻣﻨﺎﺳﺒﻲ ﺑﺮاي اﻧﺘﻘﺎل ﺗﺼﻮﻳﺮ ﺑﻪ ﻓﻀﺎي ﭘﺎراﻣﺘﺮي ﻣﻲﺑﺎﺷﺪ. در اﻳﻦ ﺑﺨﺶ ﺑﺎ ﺗﻌﻴﻴﻦ ﻧﻮع ﻋﻨﺎﺻﺮ اﺑﺘﺪاﻳﻲ و ﺑﺎ اﺳﺘﻔﺎده از ﻗﺎﻧﻮنﻫﺎي ﺑـﻪ ﻛـﺎر ﺑـﺮده ﺷـﺪه ﺑـﻪ ﺗﺸـﺨﻴﺺ ﺣـﺮوف ﭘﺮداﺧﺘﻪ ﻣﻲﺷﻮد. ﻣﻨﺤﻨﻲﻫﺎي ﺑﺴﺘﻪاي ﻛﻪ در ﺗﺼﻮﻳﺮ وﺟﻮد دارﻧﺪ ﻧﻴﺰ ﺷﻨﺎﺳﺎﻳﻲ ﻣﻲﺷﻮﻧﺪ ﭼﺮاﻛﻪ ﺧﻮد ﻳـﻚ ﻋﻨﺼـﺮ اﺑﺘـﺪاﻳﻲ ﺣﺮوف ﺑﻪ ﺣﺴﺎب ﻣﻲآﻳﻨﺪ. ﺧﺮوﺟﻲﻫﺎي اﻳﻦ ﻣﺮﺣﻠﻪ، ﺑﺮدار ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف را ﺗﺸﻜﻴﻞ ﻣﻲدﻫﻨﺪ.
ﺣﺎل ﻳﻚ رﺷﺘﻪ از ﻋﻨﺎﺻﺮ اﺑﺘﺪاﻳﻲ ﺣﺮوف ﺑﻪ دﺳﺖ آﻣﺪه اﺳﺖ و ﺑﺮاي ﻫﺮ ﻋﻨﺼﺮ ﻧﻴﺰ ﺗﻌﺪاد و ﻣﻮﻗﻌﻴﺖ ﻧﻘﺎط ﻧﻴﺰ ﻣﺸﺨﺺ اﺳﺖ. ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ دو داده، ﺑﺪون ﺟﺪاﺳﺎزي ﺣﺮوف، ﺑﻪ ﺗﺸﺨﻴﺺ ﺣﺮوف ﭘﺮداﺧﺘﻪ ﻣﻲﺷﻮد.
ﺟﺪاﺳﺎزي ﺣﺮوف ﭘﻴﻮﺳﺘﻪ ﻓﺎرﺳﻲ/ﻋﺮﺑﻲ ﻳﻜﻲ از ﻣﻬﻤﺘﺮﻳﻦ و ﺳﺨﺖﺗﺮﻳﻦ ﻣﺮاﺣﻞ ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف ﭘﻴﻮﺳﺘﻪ ﻣﻲﺑﺎﺷـﺪ ﻛـﻪ ﻣﻘﺎﻻت زﻳﺎدي ﻧﻴﺰ در اﻳﻦ زﻣﻴﻨﻪ ﺑﻪ ﭼﺎپ رﺳﻴﺪه اﻧﺪ [37]. درﺻﺪ دﻗﺖ اﻳﻦ روشﻫﺎ ﺧﻴﻠﻲ ﺑﺎﻻ ﻧﻴﺴﺖ و ﻟﺬا ﺑﺮ ﻋﻤﻠﻜﺮد ﻛﻠﻲ ﺳﻴﺴﺘﻢ ﻧﻴﺰ ﺗأﺛﻴﺮ ﺑﺴﺰاﻳﻲ ﻣﻲﮔﺬارد. ﺑﺎ ﺣﺬف اﻳﻦ ﻣﺮﺣﻠﻪ در اﻟﮕﻮرﻳﺘﻢ ﺣﺎﺿﺮ، ﻣﺸﻜﻼت ﻧﺎﺷﻲ از آن ﻧﻴﺰ از ﺑﻴﻦ رﻓﺘﻪ اﺳﺖ و ﻳﻚ ﻧﻘﻄﻪ ﻗﻮت ﻣﻬﻢ ﺑﻪ ﺣﺴﺎب ﻣﻲآﻳﺪ.
ﻋﻤﻠﻴﺎت ﺷﻨﺎﺳﺎﻳﻲ ﺑﺎ ﻣﻘﺎﻳﺴﻪ ﺑﺮدار ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف ﺑﺎ ﺣﺮوف ﺟﺪا آﻏﺎز ﻣﻲﺷﻮد. اﮔﺮ اﻳـﻦ ﺑـﺮدار ﻳﻜـﻲ از ﺣـﺮوف ﺟـﺪا ﻧﺒﺎﺷﺪ ﭘﺲ ﺗﻌﺪاد ﺣﺮوف اﻳﻦ زﻳﺮ ﻛﻠﻤﻪ ﺑﺮاﺑﺮ ﻳﺎ ﺑﻴﺸﺘﺮ از دو ﺣﺮف ﻣﻲﺑﺎﺷﺪ. سپس از اﺑﺘﺪا و اﻧﺘﻬﺎي ﺑﺮدار ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف ﺷﺮوع ﻣﻲﻛﻨﻴﻢ و ﺑﺎ در ﻧﻈﺮ ﮔﺮﻓﺘﻦ ﺗﻌﺪاد و ﻣﻮﻗﻌﻴﺖ ﻧﻘﺎط ﺑﻪ ﺗﺸﺨﻴﺺ ﺣـﺮوف اول و آﺧﺮ ﻣﻲﭘﺮدازﻳﻢ. اﮔﺮ ﺗﻤﺎﻣﻲ ﻋﻨﺎﺻﺮ ﺣﺬف ﺷﻮﻧﺪ، زﻳﺮﻛﻠﻤﻪ دو ﺣﺮﻓﻲ ﺑﻮده و ﻋﻤﻠﻴﺎت ﺷﻨﺎﺳﺎﻳﻲ ﺗﻤﺎم ﻣـﻲﺷـﻮد در ﻏﻴـﺮاﻳﻦ ﺻﻮرت، ﻋﻨﺎﺻﺮ ﺑﺎﻗﻲﻣﺎﻧﺪه ﺑﺮاي ﻳﻚ ﺣﺮف وﺳﻂ اﺳﺖ ﻛﻪ ﺑﺎ ﻣﻘﺎﻳﺴﻪ ﺑﺎ ﺑﺮدارﻫـﺎي ﻋﻨﺎﺻـﺮ ﺣـﺮوف وﺳـﻂ، اﻳـﻦ ﺣـﺮف ﻧﻴـﺰ ﺷﻨﺎﺳﺎﻳﻲ ﻣﻲﺷﻮد.
3-3- ﻣﻌﺮﻓﻲ ﻋﻨﺎﺻﺮ اﺑﺘﺪاﻳﻲ ﺣﺮوف
ﺑﺎ ﻣﻄﺎﻟﻌﻪ ﺑﺮ روي ﺣﺮوف ﻓﺎرﺳﻲ و ﻋﺮﺑﻲ ﻣﻲﺗﻮان درﻳﺎﻓﺖ ﻛﻪ اﻳﻦ ﺣﺮوف از ﻳﻚ ﻳﺎ ﺗﺮﻛﻴﺐ ﭼﻨﺪ ﺷﻜﻞ ﺧﺎص ﺑﻪ وﺟـﻮد آﻣﺪهاﻧﺪ. ﺑﻪ اﻳﻦ ﺷﻜﻞﻫﺎي ﺧﺎص، ﻋﻨﺎﺻﺮ اﺑﺘﺪاﻳﻲ ﮔﻔﺘﻪ ﻣﻲﺷﻮد. در جدول 3‑5 اﻳﻦ ﻋﻨﺎﺻﺮ آورده ﺷﺪهاﻧﺪ.
جدول 3‑5 ﻋﻨﺎﺻﺮ اﺑﺘﺪاﻳﻲ ﺣﺮوف ﻓﺎرﺳﻲ/ﻋﺮﺑﻲ
ردیف | شکل عنصر ابتدایی | نام عنصر ابتدایی | کد عنصر ابتدایی |
1 | Backslash | B | |
2 | Slash | S | |
3 | Vertical | V | |
4 | Horizontal | H | |
5 | D shape | D | |
6 | C shape | C | |
7 | U shape | U | |
8 | Circle | O |
عناﺻﺮ اﺑﺘﺪاﻳﻲ ﻛﻪ ﺣﺮوف ﻓﺎرﺳﻲ/ﻋﺮﺑﻲ را ﺗﺸﻜﻴﻞ ﻣﻲدﻫﻨﺪ، 8 عنصر ﻣﻲﺑﺎﺷﻨﺪ. اﻳﻦ ﻫﺸﺖ عبارتند از:
Backslash: یک ﺧﻂ ﻣﻮرب ﺑﺎ زاوﻳﻪ 135 درﺟﻪ ﻛﻪ ﺑﺎ ﻛﺪ Bﻣﺸﺨﺺ ﻣﻲﺷﻮد.
Slash: ﻳﻚ ﺧﻂ ﻣﻮرب ﺑﺎ زاوﻳﻪ 45 درﺟﻪ ﻛﻪ ﺑﺎ ﻛﺪ S ﻣﺸﺨﺺ ﻣﻲﺷﻮد.
Vertical: ﻳﻚ ﺧﻂ ﻋﻤﻮد ﺑﺎ زاوﻳﻪ 90 درﺟﻪ ﻛﻪ ﺑﺎ ﻛﺪ V ﻣﺸﺨﺺ ﻣﻲﺷﻮد.
Horizontal: یک ﺧﻂ اﻓﻘﻲ ﺑﺎ زاوﻳﻪ ﺻﻔﺮ ﻛﻪ ﺑﺎ ﻛﺪ H مشخص ﻣﻲﺷﻮد.
D shape: ﻳﻚ منحنی ﻛﻪ دﻫﺎﻧﻪ آن ﺑﻪ ﺳﻤﺖ چپ ﻣﻲﺑﺎﺷﺪ و ﺑﺎ ﻛﺪD مشخص ﻣﻲﺷﻮد.
C shape: ﻳﻚ منحنی ﻛﻪ دﻫﺎﻧﻪ آن ﺑﻪ ﺳﻤﺖ راﺳﺖ ﻣﻲﺑﺎﺷﺪ و ﺑﺎ ﻛﺪ C مشخص میشود.
U shape: ﻳﻚ منحنی ﻛﻪ دﻫﺎﻧﻪ آن ﺑﻪ ﺳﻤﺖ باﻻ ﻣﻲﺑﺎﺷﺪ و ﺑﺎ ﻛﺪ U ﻣﺸﺨﺺ میشود.
Circle: ﻳﻚ منحنی ﺑﺴﺘﻪ ﻛﻪ ﺑﺎ ﻛﺪ O ﻣﺸﺨﺺ ﻣﻲﺷﻮد.
3-4- مرحله پیش پردازش
اولین مرحله از سیستم OCR پیش پردازش است. همانطور که از اسم آن برمیآید، شامل عملیاتی است که بر روی تصویر ورودی انجام داده میشود تا یک تصویر مناسب برای شناسایی حاصل شود. از این رو از اهمیت ویژه ای برخوردار است. مهم بودن آن به نحوی است که تاکنون کارهای زیادی در این زمینه چه در زبان فارسی/عربی و چه در زبان های دیگر، انجام گرفته است. شکل 3‑2 بلوک دیاگرام این مرحله را نشان می دهد.
ﺗﺼﻮﻳﺮ ورودي را ﻣﻲﺗﻮان از ﻳﻚ دورﺑﻴﻦ ﻳﺎ اﺳﻜﻨﺮ درﻳﺎﻓﺖ ﻛﺮد. در اﻳﻦ ﭘﺮوژه ﻓﺮض ﺑﺮ آن اﺳﺖ ﻛـﻪ ﺗﺼـﻮﻳﺮ ورودي از ﻃﺮﻳﻖ ﻳﻚ اﺳﻜﻨﺮ ﺑﺎ ﻛﻴﻔﻴﺖ ﻣﻨﺎﺳﺐ درﻳﺎﻓﺖ ﻣﻲﺷﻮد وﻟﻲ ﻣﻤﻜﻦ اﺳﺖ در ﺣﻴﻦ اﺳﻜﻦ ﻛﺮدن، ﺑـﺎ وﺟـﻮد ﻧﻮﻳﺰ از ﻛﻴﻔﻴﺖ ﺗﺼـﻮﻳﺮ روي ﺗﺼﻮﻳﺮ ﻛﺎر ﻛﺮد اﺑﺘﺪا ﺑﺎﻳﺪ آن را ﺑﻪ ﻳﻚ ﺗﺼﻮﻳﺮِ ﺑﺎﻳﻨﺮي ﺗﺒﺪﻳﻞ ﻛﺮد.
شکل 3‑2 بخش های مرحله پیش پردازش
3-4-1- ﺗﺒﺪﻳﻞ ﺗﺼﻮﻳﺮ ﺑﻪ ﻳﻚ ﺗﺼﻮﻳﺮ ﺑﺎﻳﻨﺮي
ﺗﺼﻮﻳﺮ ورودي ﺑﻪ ﺻﻮرت grayscale ﻣﻲﺑﺎﺷﺪ. ﻳﻚ ﺗﺼﻮﻳﺮ ﺧﺎﻛﺴﺘﺮي، ﻣﺎﺗﺮﻳﺴـﻲ از دادهﻫـﺎﻳﻲ اﺳـﺖ ﻛـﻪ ﻣﻘﺪارﺷـﺎن ﺑﻴﺎﻧﮕﺮ روﺷﻨﺎﻳﻲ آن ﭘﻴﻜﺴﻞ در ﻳﻚ ﻣﺤﺪوده ﺧﺎص ﻣﻲﺑﺎﺷﺪ. در ﻧﺮم اﻓﺰار ﻣﺘﻠﺐ ﺗﺼﻮﻳﺮ ورودي ﺑﻪ اﻳﻦﺻﻮرت ﻣﻲﺑﺎﺷﺪ. شکل 3‑3 ﻳﻚ ﺗﺼﻮﻳﺮ ﺧﺎﻛﺴﺘﺮي و ﻗﺴﻤﺘﻲ از ﻣﻘﺎدﻳﺮ ﻣﺎﺗﺮﻳﺲ آن را ﻧﻤﺎﻳﺶ ﻣﻲدﻫﺪ.
شکل 3‑3 ﻳﻚ ﺗﺼﻮﻳﺮ ﺧﺎﻛﺴﺘﺮي و ﻗﺴﻤﺘﻲ از ﻣﻘﺎدﻳﺮ ﻣﺎﺗﺮﻳﺲِ آن
ﺑﺮاي اﻳﻨﻜﻪ اﻳﻦ ﺗﺼﻮﻳﺮ را ﺑﻪ ﺻﻮرت ﺑﺎﻳﻨﺮي ﺗﺒﺪﻳﻞ ﻛﻨﻴﻢ از دﺳﺘﻮر im2bw در ﻧﺮم اﻓـﺰار ﻣﺘﻠـﺐ اﺳـﺘﻔﺎده ﻣـﻲﻛﻨـﻴﻢ. دﺳﺘﻮر ) BW = im2bw(I, level ﺗﺼﻮﻳﺮ ورودي «I» را اﮔﺮ ﺑﻪ ﺻﻮرت ﺧﺎﻛﺴﺘﺮي ﻧﺒﺎﺷﺪ، اﺑﺘﺪا ﺑﻪ اﻳـﻦ ﻓﺮﻣـﺖ ﺗﺒـﺪﻳﻞ ﻣﻲﻛﻨﺪ ﺳﭙﺲ آن را ﺑﻪ ﺗﺼﻮﻳﺮ ﺑﺎﻳﻨﺮي ﺗﺒﺪﻳﻞ ﻣﻲﻛﻨﺪ. اﻳﻦ دﺳﺘﻮر، ﭘﻴﻜﺴﻞﻫﺎﻳﻲ را ﻛﻪ ﺷﺪت ﻧﻮر آﻧﻬﺎ ﺑﻴﺸﺘﺮ از level ﻣﻲ ﺑﺎﺷﺪ ﺑﻪ ﻣﻘﺪار 1 (ﺳﻔﻴﺪ) و ﺑﻘﻴﻪ را ﺑﻪ 0 (ﺳﻴﺎه) ﺗﺒﺪﻳﻞ ﻣﻲﻛﻨـﺪ. ﻣﻘـﺪار level ﻧﻴـﺰ ﻋـﺪدي اﺳـﺖ در ﺑـﺎزه [1و0] که با تابع graythreshold تعیین می شود. ﺣـﺎل ﺗﺼﻮﻳﺮي دارﻳﻢ ﻛﻪ ﺗﻤﺎﻣﻲ ﭘﻴﻜﺴﻞﻫﺎي آن ﺑﻪ ﺻﻮرت ﺑﺎﻳﻨﺮي ﺗﻌﺮﻳﻒ ﺷﺪهاﻧﺪ ﺑﻨﺎﺑﺮاﻳﻦ ﻛﺎرﻫﺎي رﻗﻤﻲ زﻳﺎدي را ﻣﻲﺗـﻮان ﺑـﻪ راﺣﺘﻲ ﺑﺮ روي آن اﻧﺠﺎم داد. ﺗﻌﻴﻴﻦ اﻧﺪازه ﻗﻠﻢ و ﺑﻪ دﺳﺖ آوردنِ ﺗﺼﻮﻳﺮ ﻧﺮﻣﺎل از ﺟﻤﻠﻪ اﻳﻦ ﻛﺎرﻫﺎ اﺳﺖ.
3-4-2- ﻓﻴﻠﺘﺮ ﻛﺮدن ﺗﺼﻮﻳﺮ
ﻫﻤﺎﻧﻄﻮر ﻛﻪ در شکل 3‑4 ﻧﺸﺎن داده ﺷﺪه اﺳﺖ، ﺗﺼﻮﻳﺮ سمت چپ ﻛﻪ ﺗﺼﻮﻳﺮ ورودي ﺑﻪ ﺳﻴﺴـﺘﻢ ﻣـﻲﺑﺎﺷـﺪ ﻣﻤﻜـﻦ اﺳـﺖ داراي ﻧﻮﻳﺰ ﻧﺎﺷﻲ از ﻛﻴﻔﻴﺖ ﺑﺪ اﺳﻜﻨﺮ ﺑﺎﺷﺪ. ﺑﻨﺎﺑﺮاﻳﻦ ﺑﺎﻳﺪ اﻳﻦ ﺗﺼﻮﻳﺮ ﺑﺎ ﻳﻚ ﻓﻴﻠﺘﺮ ﻣﻨﺎﺳﺐ، ﻓﻴﻠﺘﺮ ﺷﻮد. ﻣﺸﺨﺼﺎت اﻳﻦ ﻓﻴﻠﺘﺮ ﺑﺎﻳﺪ داراي ﻣﻮارد زﻳﺮ ﺑﺎﺷﺪ:
- ﻧﻘﺎط ﺣﺮوف را از ﺑﻴﻦ ﻧﺒﺮد.
- ﻟﺒﻪﻫﺎي ﺗﺼﻮﻳﺮ را ﺧﺮاب ﻧﻜﻨﺪ.
- ﺗﺼﻮﻳﺮ را ﻣﺎت ﻧﻜﻨﺪ.
ﻣﻌﻤﻮﻻً از ﻓﻴﻠﺘﺮﻫﺎﻳﻲ اﺳﺘﻔﺎده ﻣﻲﺷﻮد ﻛﻪ ﺑﺎﻋﺚ ﻣﺎت ﺷﺪن ﺗﺼﻮﻳﺮ ﻣﻲﺷﻮد وﻟﻲ ﺑﺎ اﻳﻦ ﻛﺎر اﻃﻼﻋﺎت اﺻـﻠﻲ ﺗﺼـﺎوﻳﺮ از بین ﻣﻲرود و ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف را ﺑﺎ ﻣﺸﻜﻞ ﻣﻮاﺟﻪ ﻣﻲﻛﻨﺪ. در اﻳﻦ ﭘﺮوژه از ﻓﻴﻠﺘﺮ
[41]medfilt2در ﻧﺮم اﻓـﺰار MATLAB اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ. اﻳﻦ ﻓﻴﻠﺘﺮ ﻳﻚ ﻋﻤﻠﻴﺎت ﻏﻴﺮﺧﻄﻲ اﺳﺖ ﻛﻪ ﻣﻌﻤﻮﻻً در ﭘﺮوژهﻫـﺎي ﭘـﺮدازش ﺗﺼـﻮﻳﺮ و ﺑـﺮاي رﻓـﻊ ﻧـﻮﻳﺰ «salt and pepper» استفاده ﻣﻲﺷﻮد. زﻣﺎﻧﻲ ﻛﻪ ﻫﺪف ﻛﺎﻫﺶ ﻫﻢزﻣﺎن ﻧﻮﻳﺰ و ازﺑﻴﻦ ﻧﺮﻓﺘﻦِ ﻟﺒﻪﻫﺎ اﺳـﺖ، ﻓﻴﻠﺘـﺮ ﻣﻴﺎﻧـﻪ ﻣﻨﺎﺳﺐﺗﺮ از ﻛﺎﻧﻮﻟﻮﺷﻦ ﻋﻤﻞ ﻣﻲﻛﻨﺪ.
B=medfilt2 (A, [m n]) ﻓﻴﻠﺘﺮ ﻣﻴﺎﻧـﻪ را ﺑـﺮ روي ﻣـﺎﺗﺮﻳﺲ A و در دو ﺑﻌـﺪ اﻧﺠﺎم ﻣﻲدﻫﺪ. ﻫﺮ ﭘﻴﻜﺴﻞ ﺧﺮوﺟﻲ ﻣﻘﺪار ﻣﻴﺎﻧﻪ ﭘﻴﻜﺴﻞﻫﺎي ﻫﻤﺴﺎﻳﮕﻲ ﺧﻮد ﻣﻲﺑﺎﺷﺪ [38].
ﭼﻮن ﺗﺼﻮﻳﺮ را در ﻣﺮﺣﻠﻪ اول ﺑﻪ ﺗﺼﻮﻳﺮ ﺑﺎﻳﻨﺮي ﺗﺒﺪﻳﻞ ﻛﺮدهاﻳﻢ ﺑﻨﺎﺑﺮاﻳﻦ ﻧﻮﻳﺰﻫـﺎﻳﻲ ﻛـﻪ وﺟـﻮد دارﻧـﺪ ﻣﻄﻤﺌﻨـﺎً از ﻧـﻮع «salt and pepper» ﻣﻲﺑﺎﺷﻨﺪ ﻛﻪ ﺑﺎ اﻳﻦ ﻓﻴﻠﺘﺮ از ﺑﻴﻦ ﻣﻲروﻧﺪ.
شکل 3‑4- ﺗﺼﻮﻳﺮ ورودي و ﻧﺘﻴﺠﻪ ﺗﺼﻮﻳﺮ ﻓﻴﻠﺘﺮ ﺷﺪه
3-4-3- ﺗﻌﻴﻴﻦ اﻧﺪازه ﻗﻠﻢ و ﻧﺮﻣﺎل ﻛﺮدن ﺗﺼﻮﻳﺮ ورودي
اﮔﺮ اﻧﺪازه ﻗﻠﻢ ﻣﻮرد اﺳﺘﻔﺎده در ﺗﺼﻮﻳﺮ ورودي از ﻳﻚ ﻣﻘﺪار ﺑﻴﺸﺘﺮ ﺑﺎﺷﺪ، ﻋﻤﻠﻴﺎت ﺷﻨﺎﺳﺎﻳﻲ را ﺑﺎ ﻣﺸﻜﻞ ﻣﻮاﺟـﻪ ﻣـﻲﺳﺎزد. ﺑﺮاي اﻳﻨﻜﻪ ﺑﺘﻮان ﺣﺮوف ﺑﺎ اﻧﺪازه ﻗﻠﻢﻫﺎي ﻣﺘﻔﺎوت را ﺗﺸﺨﻴﺺ داد ﺑﺎﻳﺪ ﺑﺘﻮان از ﺗﺼـﻮﻳﺮ ورودي، ﻳـﻚ ﺗﺼـﻮﻳﺮ ﻧﺮﻣـﺎل ﺳﺎﺧﺖ و ﻗﻮاﻧﻴﻦ را ﺑﺮ روي اﻳﻦ ﺗﺼﻮﻳﺮ اﻋﻤﺎل ﻛﺮد.
ﺑﺮاي ﻧﺮﻣﺎلﺳﺎزي ﺗﺼﻮﻳﺮ ﺑﺎﻳﺪ ﺑﺘﻮاﻧﻴﻢ اﻧﺪازه ﻗﻠﻢ ﺗﺼﻮﻳﺮ را بدﺳﺖ آورﻳﻢ. ﺑﺮاي اﻳﻦ ﻛـﺎر از ﻣﻴﺎﻧـﻪ اﺳـﺘﻔﺎده ﻣـﻲﻛﻨـﻴﻢ. روش ﻛﺎر ﺑﻪ اﻳﻦ ﺻﻮرت اﺳﺖ ﻛﻪ اﺑﺘﺪا ﻣﺠﻤﻮع ﻣﻘﺎدﻳﺮ ﺳﺘﻮنﻫﺎي ﻣﺎﺗﺮﻳﺲ ﺷﻜﻞ ورودي را ﺣﺴﺎب ﻣﻲﻛﻨﻴﻢ و ﻣﻘـﺎدﻳﺮي را ﻛﻪ ﺻﻔﺮ ﻫﺴﺘﻨﺪ ﺣﺬف ﻣﻲﻛﻨﻴﻢ ﺳﭙﺲ ﻣﻴﺎﻧﻪ آراﻳﻪ ﺑﺪﺳﺖ آﻣﺪه را ﺣﺴﺎب ﻣﻲﻛﻨﻴﻢ. اﻳﻦ ﻣﻘﺪار ﻫﻤﺎن اﻧﺪازه ﻗﻠﻢ ﻣﺘﻦ ﻣـﻲﺑﺎﺷﺪ. اﻟﺒﺘﻪ اﻳﻦ ﻣﻘﺪار، اﻧﺪازه ﻗﻠﻢ واﻗﻌﻲ ﻧﻤﻲﺑﺎﺷﺪ وﻟﻲ ﺑﺮاي ﻧﺮﻣﺎلﺳﺎزي ﺗﺼﻮﻳﺮ، میتوان آنرا به کار برد.
ﺗﺼﻮﻳﺮ ﺑﺎﻳﻨﺮي را ﺑﺎ اﺳﺘﻔﺎده از اﻧﺪازه ﻗﻠﻢ ﺑﺪﺳﺖ آﻣﺪه، ﺑﻪ ﺗﺼﻮﻳﺮ ﻧﺮﻣﺎل ﺗﺒـﺪﻳﻞ ﻣـﻲﻛﻨـﻴﻢ. ﺑـﺮاي اﻳـﻦ ﻛـﺎر از دﺳـﺘﻮر imresizeدر ﻧﺮم اﻓﺰار ﻣﺘﻠﺐ اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ. در دﺳﺘﻮر ) B = imresize(A, scale ﺗﺼﻮﻳﺮ ورودي «A» ﻣﻲﺗﻮاﻧﺪ از ﻫﺮ ﻧﻮﻋﻲ ﺑﺎﺷﺪ. اﻧﺪازه اﻳﻦ ﺗﺼﻮﻳﺮ ﺑﺎ ﻣﻘﺪار scale ﺗﻐﻴﻴﺮ ﻣﻲﻛﻨﺪ. اﮔﺮ ﻣﻘﺪار scale ﻛﻤﺘﺮ از ﻳﻚ ﺑﺎﺷﺪ، ﺗﺼﻮﻳﺮ ﻛﻮﭼﻜﺘﺮ و در ﻏﻴﺮ اﻳﻦ ﺻﻮرت ﺗﺼﻮﻳﺮ ﺑﺰرگﺗﺮ ﻣﻲﺷﻮد. ﺑﺮاي اﻳﻨﻜﻪ ﻣﻘﺪار scale را ﻣﺸﺨﺺ ﻛﻨﻴﻢ از راﺑﻄﻪ (3-1) اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ.
Normal_image=imresize (Main_image, 40/T) (3-1)
در راﺑﻄﻪ (3-1) ﻣﻘﺪاري ﻛﻪ ﺑﺮاي scale اﻧﺘﺨﺎب ﺷﺪه اﺳﺖ، 40/T ﻣﻲﺑﺎﺷﺪ ﻛﻪ T درآن ﻫﻤﺎن اﻧﺪازه ﻗﻠﻢ ﻣﻲﺑﺎﺷـﺪ. اﻳﻦ راﺑﻄﻪ ﺑﻪ ﺻﻮرت ﺗﺠﺮﺑﻲ ﺑﻪ دﺳﺖ آﻣﺪه اﺳﺖ.
شکل 3‑5 ﻳﻚ ﻧﻤﻮﻧﻪ از اﻧﺪازه واﻗﻌﻲ ﺗﺼﻮﻳﺮ و ﻧﺮﻣﺎل ﺷﺪه آن را ﻧﺸﺎن ﻣﻲدﻫﺪ.
شکل 3‑5 ﺑﺎ دﺳﺘﻮر imresize و ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻋﺮض ﻗﻠﻢ (اﻧﺪازه ﻗﻠﻢ) ﺗﺼﻮﻳﺮ ﻧﺮﻣﺎل ﺷﺪه اﺳﺖ
3-5- ﻣﺮﺣﻠﻪ ﭘﺮدازش اﺻﻠﻲ
قسمت اﺻﻠﻲ پروژه در ﻣﺮﺣﻠﻪ ﭘﺮدازش اﺻﻠﻲ اﻧﺠﺎم ﻣﻲﭘﺬﻳﺮد. شکل 3‑6 ﻣﺮاﺣﻞ ﭘﺮدازش اﺻﻠﻲ را ﻧﺸﺎن می دهد.
پس از اینکه تصویر در ﻣﺮﺣﻠﻪ پیش ﭘﺮدازش، ﺑﻪ ﻳﻚ ﺗﺼﻮﻳﺮ مناﺳﺐ ﺑـﺮاي شناسـﺎﻳﻲ ﺣـﺮوف تبدیل ﺷـﺪ، وارد اﻳـﻦ مرحله می شود. در این مرحله پس از نازكﺳﺎزي ﺑﺎ اﺳﺘﻔﺎده از تبدیل ﻫﺎف اﺻﻼح ﺷﺪه، وﻳﮋﮔﻲﻫﺎي آﻧﻬﺎ و ﺑﺎﻻﺧﺮه ﺣﺮوف، ﺷﻨﺎﺳﺎﻳﻲ میشوند. در ادامه به بررسی هر یک از اجزای این مرحله میپردازیم.
3-5-1- شناسایی خط زمینه
به منظور شناسایی خط زمینه از نمای ﻋﻤﻮدي ﺗﺼﻮﻳﺮ[42] اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ. ﺑـﺮاي اﻳﻦ ﻛﺎر ﺗﻤﺎﻣﻲ ﭘﻴﻜﺴﻞﻫﺎي ﺳﻴﺎه را ﺑﻪ ﺳﻤﺖ ﭼﭗ ﺷﻴﻔﺖ ﻣﻲدﻫﻴﻢ. ﺑـﻪ اﻳـﻦ ﺗﺮﺗﻴـﺐ نمای عمودی تعداد پیکسلهای هر ردیف را نشان میدهد. در جایی که که بیشترین پیکسل های سیاه را داشته باشند یا به عبارت دیگر نمای عمودی ماکزیمم مقدار خود را داشته باشد، خط زمینه را خواهیم داشت.
3-5-2- ﺷﻨﺎﺳﺎﻳﻲ ﻣﻜﺎن و ﺗﻌﺪاد ﻧﻘﺎط در زﻳﺮ ﻛﻠﻤﻪ
ﺣﺎل ﻛﻪ خط زمینة زﻳﺮﻛﻠﻤﻪ اﻧﺘﺨﺎب ﺷﺪه اﺳﺖ، ﺑﺎﻳﺪ ﺑﺘﻮاﻧﻴﻢ ﺗﻌﺪاد و ﻣﻮﻗﻌﻴﺖ ﻧﻘﺎط آن را ﭘﻴﺪا ﻛﻨﻴﻢ ﭼﺮا ﻛـﻪ ﭘـﺲ از ﻣﺮﺣﻠﻪ ﻧﺎزكﺳﺎزي، ﺑﻪ ﻋﻠﺖ ﺗﺒﺪﻳﻞ ﺷﻜﻞ زﻳﺮﻛﻠﻤﻪ ﺑﻪ ﺑﺪﻧﻪ اﺻﻠﻲ آن، ﺗﺸﺨﻴﺺ ﺗﻌﺪاد ﻧﻘﺎط ﺑﻪ درﺳﺘﻲ اﻧﺠﺎم ﻧﺨﻮاﻫﺪ ﺷﺪ.
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻦﻛﻪ ﻧﻘﺎط ﺣﺮوف از ﺑﺪﻧﻪ اﺻﻠﻲِ آن ﺟﺪا ﻫﺴﺘﻨﺪ اﺑﺘﺪا ﺑﺎﻳﺪ ﭘﻴﻜﺴﻞﻫﺎي ﺳﻴﺎه زﻳﺮﻛﻠﻤﻪ را ﺑﺮﭼﺴﺐ ﺑﺰﻧﻴﻢ. ﺑﻪ اﻳﻦ ﺻﻮرت ﻛﻪ ﺑﺪﻧﻪ اﺻﻠﻲ زﻳﺮﻛﻠﻤﻪ ﺑﺮﭼﺴﺐ 1 و ﺑﻪ ﺗﺮﺗﻴﺐ دﻳﮕﺮ ﭘﻴﻜﺴﻞﻫﺎي ﺟﺪا از آن ﺑﺮﭼﺴﺐﻫﺎي 2، 3 و … را ﺑﻪ ﺧﻮد اﺧﺘﺼﺎص ﻣﻲدﻫﻨﺪ. ﺑﺮاي اﻳﻦ ﻛﺎر از دﺳﺘﻮر bwlable از ﻧﺮم اﻓﺰار ﻣﺘﻠﺐ اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ. ﻛﺎر اﻳـﻦ زﻳﺮﺑﺮﻧﺎﻣـﻪ ﺑـﻪ اﻳـﻦ ﺻﻮرت اﺳﺖ ﻛﻪ از ﺳﺘﻮن ﺳﻤﺖ ﭼﭗ و ردﻳﻒ اول ﺑﻪ ﺷﻨﺎﺳﺎﻳﻲ ﭘﻴﻜﺴﻞﻫﺎي 1 (ﺳﻴﺎه) ﻣﻲﭘﺮدازد. ﺑﻪ اوﻟﻴﻦ ﭘﻴﻜﺴﻞِ ﺳﻴﺎﻫﻲ ﻛﻪ ﺑﺮﺧﻮرد ﻣﻲﻛﻨﺪ ﺑﺮﭼﺴﺐ 1 ﻣﻲدﻫﺪ و ﺑﻪ ﺗﺮﺗﻴﺐ ﻫﻤﺴﺎﻳﮕﻲﻫﺎي ﻫﺸﺘﮕﺎﻧﻪ آﻧﻬﺎ ﺑﺎ ﻫﻤﻴﻦ ﺑﺮﭼﺴﺐ، ﻣﺸﺨﺺ ﻣﻲﻛﻨـﺪ. ﺑـﻪ اﻳﻦ ﺗﺮﺗﻴﺐ ﺗﻤﺎﻣﻲ ﭘﻴﻜﺴﻞﻫﺎي ﻣﺘﺼﻞ ﺑﺮﭼﺴﺐ 1 ﻣﻲﺧﻮرﻧﺪ. ﻫﻨﮕﺎﻣﻲ ﻛﻪ ﺗﻤﺎﻣﻲ ﭘﻴﻜﺴـﻞﻫـﺎي ﻣﺘﺼـﻞ ﺑـﻪ ﻫـﻢ ﺑﺮﭼﺴـﺐ ﺧﻮردﻧﺪ، از ﺗﺼﻮﻳﺮ اﺻﻠﻲ ﺣﺬف ﻣﻲﺷﻮﻧﺪ و اﻳﻦ ﻛﺎر دوﺑﺎره ﺑﺮ روي ﺗﺼﻮﻳﺮ ﺑﺎﻗﻲ ﻣﺎﻧﺪه اﻧﺠﺎم ﻣﻲﺷﻮد و اﻳﻦﺑﺎر ﺑﻪ ﭘﻴﻜﺴﻞﻫﺎي ﻣﺘﺼﻞ، ﺑﺮﭼﺴﺐ 2 اﺧﺘﺼﺎص داده ﻣﻲﺷﻮد. اﻳﻦ روﻧﺪ ﺗﺎ ﺣﺬف ﺗﻤﺎﻣﻲ ﭘﻴﻜﺴﻞﻫﺎ اداﻣﻪ ﭘﻴﺪا ﻣﻲﻛﻨﺪ.
ﺣﺎل ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺪاد ﭘﻴﻜﺴﻞﻫﺎي ﻣﻮﺟﻮد در ﻫﺮ ﺑﺮﭼﺴﺐ، ﻛﻮﭼﻜﺘﺮﻳﻦ ﻋﺪد ﺑﻪ آن اﺧﺘﺼﺎص ﻣـﻲﻳﺎﺑـﺪ. ﺑـﺪﻳﻦ ﺗﺮﺗﻴـﺐ ﺑﻴﺸﺘﺮﻳﻦ ﻣﺤﺪوده ﭘﻴﻜﺴﻞﻫﺎي ﻣﺘﺼﻞ ﺑﻪ ﻫﻢ ﺑﺮﭼﺴﺐ 1 و ﻫﻤﻴﻦﻃﻮر ﺑﺮﭼﺴﺐﻫﺎي دﻳﮕﺮ اﺧﺘﺼﺎص داده ﻣﻲﺷﻮﻧﺪ.
ﭼﻮن ﺑﺪﻧﻪ اﺻﻠﻲ زﻳﺮﻛﻠﻤﻪ ﺑﻴﺸﺘﺮﻳﻦ ﺗﻌﺪاد ﭘﻴﻜﺴﻞ را ﺑﻪ ﺧﻮد اﺧﺘﺼﺎص ﻣﻲدﻫﺪ ﺑﺮﭼﺴﺐ 1 را ﺑﻪ ﺧـﻮد اﺧﺘﺼـﺎص داده اﺳﺖ ﺑﻨﺎﺑﺮاﻳﻦ ﺑﺎ ﺣﺬف ﭘﻴﻜﻞﻫﺎي ﺑﺮﭼﺴﺐ 1 و ذﺧﻴﺮهﺳﺎزي آن در ﻳﻚ ﻣﺎﺗﺮﻳﺲ دﻳﮕﺮ، ﺑﺪﻧﻪ اﺻﻠﻲ و ﻧﻘﺎط از ﻳﻜﺪﻳﮕﺮ ﺟـﺪا ﻣﻲﺷﻮﻧﺪ.
ﺑﺮﭼﺴﺐﻫﺎي 2 ﺑﻪ ﺑﻌﺪ ﺑﻪ ﻧﻘﺎط اﺧﺘﺼﺎص ﻣﻲﻳﺎﺑﻨﺪ و اﮔﺮ زﻳﺮﻛﻠﻤﻪاي ﻫﻴﭻ ﻧﻘﻄﻪاي ﻧﺪاﺷـﺘﻪ ﺑﺎﺷـﺪ، ﻣـﺎﺗﺮﻳﺲ ﻧﻘـﺎط آن ﺻﻔﺮ ﺧﻮاﻫﺪ ﺑﻮد. ﻣﻮﻗﻌﻴﺖ ﻧﻘﺎط ﺑﻪ راﺣﺘﻲ و از روي ﻣﺤﻞ ﺧﻂ زﻣﻴﻨﻪ ﻛﻪ در ﻣﺮﺣﻠﻪ ﻗﺒﻞ ﺗﺸﺨﻴﺺ داده ﺷﺪ، ﻣﺸﺨﺺ ﻣﻲﺷﻮد. ﺑﺮاي اﻳﻦﻛﺎر از راﺑﻄﻪ (3-2) اﺳﺘﻔﺎده ﻣﻲﺷﻮد. در رابطة (3-2) ﻣﻨﻈﻮر از Baseline ﻫﻤﺎن ﻣﻮﻗﻌﻴﺖ ﺧﻂ زﻣﻴﻨـﻪ ﻣﻲﺑﺎﺷﺪ. اﮔﺮ ﺑﺰرﮔﺘﺮﻳﻦ ردﻳﻒ ﻣﺎﺗﺮﻳﺲ ﻧﻘﺎط از ﻣﻮﻗﻌﻴﺖ ﺧﻂ زﻣﻴﻨﻪ ﻛﻤﺘﺮ ﺑﺎﺷﺪ، ﻧﻘﺎط در زﻳﺮ ﺧـﻂ زﻣﻴﻨـﻪ ﻫﺴـﺘﻨﺪ و اﮔـﺮ ﻛﻮﭼﻜﺘﺮﻳﻦ ردﻳﻒ ﻣﺎﺗﺮﻳﺲ ﻧﻘﺎط از ﻣﻮﻗﻌﻴﺖ ﺧﻂ زﻣﻴﻨﻪ ﺑﻴﺸﺘﺮ ﺑﺎﺷﺪ، ﻧﻘﺎط در ﺑﺎﻻي ﺧﻂ زﻣﻴﻨﻪ ﻗﺮار دارﻧﺪ.
If min(Row) > Baseline
Dots_Position = Up
Else (3-2)
Dots_Position = Down
end
برای اﻳﻨﻜﻪ ﺑﺘﻮاﻧﻴﻢ ﺗﻌﺪاد ﻧﻘﺎط را ﺗﺸﺨﻴﺺ دﻫﻴﻢ، از دو ﻓﺎﻛﺘﻮرِ ﺗﻌﺪاد ﭘﻴﻜﺴﻞﻫﺎي ﺳﻴﺎه و ﻣﺴﺎﺣﺘﻲ ﻛﻪ ﻣﺎﺗﺮﻳﺲ ﻧﻘـﺎط را ﺷﺎﻣﻞ ﻣﻲﺷﻮد، اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ. ﺑﺮاي اﻳﻦ ﻛﺎر از راﺑﻄﻪ (3-3) اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ.
If (dot_length > 15) & (dot_width > 12)
Num_Points=3
ElseIf dot_length > (1.4×dot_width) (3-3)
Num_Points=2
Esle
Num_Points=1
End
در راﺑﻄﻪ (3-3) dot_length طول مستطیل محاط بر نقاط و dot_width عرض مستطیل محاط بر نقاط می باشد dot_length بزرگتر از 15 و dot_width بزرگتر از 12 باشد، سه نقطه خواهیم داشت. درغیر این صورت اگر dot_length از 4/1 برابر dot_width بزرگتر باشد، دو نقطه داریم و در غیر این صورت تعداد نقاط برابر یک می باشد. اﻳﻦ ﻣﻘﺎدﻳﺮ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻗﺴﻤﺖ ﻧﺮﻣﺎلﺳﺎزي و ﻗﻮاﻋﺪ ﺗﺠﺮﺑﻲ ﺑﻪدﺳﺖ آﻣﺪهاﻧﺪ.
ﺑﺮاي ﻫﺮ ﻧﻘﻄﻪ ﻳﻚ آراﻳﻪ ﺑﻪﺻﻮرت شکل 3‑7 اﻳﺠﺎد ﻣﻲﺷﻮد ﻛﻪ ﺗﻌـﺪاد، ﻣﻮﻗﻌﻴـﺖ، ﻛـﻮﭼﻜﺘﺮﻳﻦ و ﺑﺰرﮔﺘـﺮﻳﻦ ﺳـﺘﻮن ﻣﺎﺗﺮﻳﺲ ﻧﻘﺎط را ﺷﺎﻣﻞ ﻣﻲﺷﻮد.
بزرگترین ستون | کوچکترین ستون | تعداد نقاط | موقعیت نقاط |
3-5-3- ﻣﺮﺣﻠﻪ ﻧﺎزك ﺳﺎزي
ﺑﺮاي اﻳﻨﻜﻪ ﺑﺘﻮان ﺷﻜﻞ ﺣﺮوف را ﺗﺸﺨﻴﺺ داد ﺑﺎﻳﺪ ﺑﺘﻮاﻧﻴﻢ اﺳﻜﻠﺖ اﺻﻠﻲ آن را ﺑﺪﺳﺖ آورﻳﻢ. ﺑﺮاي اﻳـﻦ ﻛـﺎر ﺑﺎﻳـﺪ از اﻟﮕﻮرﻳﺘﻢ ﻧﺎزکسازی اﺳﺘﻔﺎده میﻛﻨﻴﻢ. در OCR ﺑﻬﺘﺮﻳﻦ اﻟﮕﻮرﻳﺘﻢ ﻧﺎزكﺳﺎزي ﺑﺎﻳﺪ ﺷﺮاﻳﻂ زﻳﺮ را داﺷﺘﻪ ﺑﺎﺷﺪ:
- ﻧﻘﺎط ﭘﺎﻳﺎﻧﻲ را ﺣﺬف ﻧﻜﻨﺪ.
ﻧﻘﺎط ﭘﺎﻳﺎﻧﻲ ﺷﻜﻞ از ﻣﺸﺨﺼﺎت اﺻﻠﻲ ﺣﺮوف ﻓﺎرﺳﻲ/ﻋﺮﺑﻲ ﻣﻲﺑﺎﺷﺪ. ﻣﺜﻼً در دو ﻛﻠﻤﻪ ”ﺑﻮ“ و ”ﺑـﻪ“ اﮔـﺮ ﻧﻘـﺎط ﭘﺎﻳـﺎﻧﻲﺣﺮف ”و“ ﺣﺬف ﺷﻮد ﺗﻘﺮﻳﺒﺎً ﺷﺒﻴﻪ ﺑﻪ ﺣﺮف ”ه“ ﻣﻲﺷﻮد و ﻋﻤﻠﻴﺎت ﺗﺸﺨﻴﺺ را ﺑﺎ ﺧﻄﺎ اﻧﺠﺎم ﻣﻲدﻫﺪ.
- اﺗﺼﺎل را ﻗﻄﻊ ﻧﻜﻨﺪ.
در ﺑﻌﻀﻲ ﺣﺎﻻت ﻣﺜﻼً در ﻛﻠﻤﻪ ”ﻛﻤﻚ“ اﮔﺮ ﺳﺮﻛﺶﻫﺎي ﺣﺮف ”ك“ از ﺑﺪﻧﻪ اﺻﻠﻲ ﺟﺪا ﺷﻮد، ﺑﻪ ﻋﻨﻮان ﻧﻘﻄﻪ ﺑـﺮاي آن ﺣﺮف ﺗﻠﻘﻲ ﻣﻲﺷﻮد و ﺣﺮف ﺑﻪ درﺳﺘﻲ ﺗﺸﺨﻴﺺ داده ﻧﻤﻲﺷﻮد.
- ﺗﺼﻮﻳﺮ را ﺑﻪ ﺳﻤﺖ ﻣﺤﻮر ﻣﻴﺎﻧﻲ آن ﻧﺎزك ﻛﻨﺪ.
در اﻳﻦ ﭘﺮوژه ﻣﻲﺧﻮاﻫﻴﻢ ﻛﻪ اﺳﻜﻠﺖ ﺷﻜﻞ را ﺑﺪﺳﺖ آورﻳﻢ ﺑﻨﺎﺑﺮاﻳﻦ ﺑﺎﻳﺪ ﺑﻪ ﺳـﻤﺖ ﻣﺤـﻮر ﻣﻴـﺎﻧﻲ ﻧـﺎزكﺳـﺎزي اﻧﺠـﺎم ﮔﻴﺮد. ﺑﻌﻀﻲ از اﻟﮕﻮرﻳﺘﻢﻫﺎي ﻧﺎزكﺳﺎزي ﺷﻜﻞ را ﺑﻪ ﻧﻘﺎط ﻣﺮزي ﻣﺤﺪود ﻣﻲﻛﻨﻨﺪ و در واﻗﻊ ﻣﺮز ﺷـﻜﻞ را ﻣﺸـﺨﺺ ﻣـﻲﻛﻨﻨﺪ ﻛﻪ ﺑﺮاي ﻛﺎرﺑﺮد ﺧﺎص آن در اﻳﻦ ﭘﺮوژه ﻣﻮرد ﺗﻮﺟﻪ ﻧﻴﺴﺖ.
- ﺑﻪ ﺳﻤﺖ ﻳﻚ ﭘﻴﻜﺴﻞ ﻫﻤﮕﺮا ﺑﺎﺷﺪ.
ﺷﻜﻞ ﻧﺎزك ﺷﺪه ﺑﺎﻳﺪ ﺑﻪ ﻋﺮض ﻗﻠﻢِ ﻳﻚ ﭘﻴﻜﺴﻞ ﻧﺎزك ﺷﺪه ﺑﺎﺷﺪ و در واﻗﻊ ﺑﻪ ﻏﻴﺮ از ﻧﻘﺎط اﺗﺼـﺎل، ﺑﻘﻴـﻪ ﻧﻘـﺎط داراي ﻫﻤﺴﺎﻳﮕﻲ ﻫﺸﺘﮕﺎﻧﻪ ﻛﻤﺘﺮ از 2 ﭘﻴﻜﺴﻞ ﺑﺎﺷﻨﺪ.
- ﻋﺪم واﺑﺴﺘﮕﻲ ﺑﻪ ﺟﺎﺑﺠﺎﻳﻲ و ﭼﺮﺧﺶ ﺗﺼﻮﻳﺮ.
اﻟﮕﻮرﻳﺘﻢ ﻧﺎزكﺳﺎزي ﺑﺎﻳﺪ ﺑﻪ ﮔﻮﻧﻪاي ﺑﺎﺷﺪ ﻛﻪ اﮔﺮ ﺗﺼﻮﻳﺮ اﺻﻠﻲ ﺟﺎﺑﺠﺎ ﺷﺪ ﻳﺎ ﺑﺎ ﻳﻚ زاوﻳﻪ ﺧﺎص ﭼﺮﺧﻴﺪ، اﺳﻜﻠﺖ اﺻﻠﻲ آن ﺑﻪ درﺳﺘﻲ اﺳﺘﺨﺮاج ﺷﻮد و ﺑﺎﻋﺚ ﺧﺮاب ﺷﺪنِ اﺳﻜﻠﺖ آن ﻧﺸﻮد.
اﻟﮕﻮرﻳﺘﻢﻫﺎي ﻧﺎزكﺳﺎزي ﺑﻪ دو ﺑﺨﺶ ﺗﻘﺴﻴﻢ ﻣﻲﺷﻮﻧﺪ:
ﻫﺮ ﻛﺪام از اﻳﻦ روشﻫﺎ ﻧﻴﺰ ﺑﻪ دو ﺻﻮرت ﺳﺮﻳﺎل و ﻣﻮازي ﻗﺎﺑﻞ ﭘﻴﺎدهﺳﺎزي ﻫﺴﺘﻨﺪ.
ﺗﺒﺪﻳﻞ MAT ﺑﺮاي ﻧﺎﺣﻴﻪ R ﺑﺎ ﻣﺮز B ﺑﻪ اﻳﻦ ﺻﻮرت اﺳﺖ ﻛﻪ ﺑﺮاي ﻫﺮ ﻧﻘﻄﻪ p از R، ﻧﺰدﻳﻜﺘﺮﻳﻦ ﻫﻤﺴﺎﻳﻪاش را در B ﭘﻴﺪا ﻣﻲ ﻛﻨﻴﻢ. اﮔﺮ ﺑﻴﺶ از ﻳﻚ ﻧﻘﻄﻪ ﺑﺮاي p ﭘﻴﺪا ﺷﻮد، ﮔﻔﺘﻪ ﻣﻲ ﺷﻮد ﻛﻪ p ﺑﻪ ﻣﺤﻮر ﻣﻴﺎﻧﻲ (اﺳﻜﻠﺖ) ﺗﻌﻠﻖ دارد. ﻣﻔﻬﻮم ﻧﺰدﻳﻜﺘﺮﻳﻦ ﺑﻪ ﺗﻌﺮﻳﻒ ﻓﺎﺻﻠﻪ ﺑﺴﺘﮕﻲ دارد، و ﺑﻨﺎﺑﺮاﻳﻦ ﻧﺘﺎﻳﺞ ﺗﺒﺪﻳﻞ متأﺛﺮ از ﻣﻌﻴﺎر ﻓﺎﺻﻠﻪ ﻣﻨﺘﺨﺐ ﻫﺴﺘﻨﺪ.
ﮔﺮﭼﻪ ﺗﺒﺪﻳﻞ MAT ﻳﻚ ﻧﺎﺣﻴﻪ، اﺳﻜﻠﺖ ﻇﺎﻫﺮاً ﺧﻮﺑﻲ را ﻧﺘﻴﺠـﻪ ﻣـﻲدﻫـﺪ، ﻣﻌﻤـﻮﻻً اﺟـﺮاي ﻣﺴـﺘﻘﻴﻢ آن ﻣﺸـﻜﻼت ﻣﺤﺎﺳﺒﺎﺗﻲ دارد. ﺗﺒﺪﻳﻞ MAT ﺷﺎﻣﻞ ﻣﺤﺎﺳﺒﻪ ﻓﺎﺻﻠﻪﻫﺎي ﻫﺮ ﻧﻘﻄﻪ داﺧﻠـﻲ ﻧﺎﺣﻴـﻪ ﺗـﺎ ﺗﻤـﺎم ﻧﻘـﺎط روي ﻣـﺮز آن اﺳـﺖ. اﻟﮕﻮرﻳﺘﻢﻫﺎي ﻣﺘﻌﺪدي ﺑﺮاي اﻓﺰاﻳﺶ ﺑﺎزده ﻣﺤﺎﺳﺒﺎﺗﻲ اﻳﻦ ﺗﺒﺪﻳﻞ ﭘﻴﺸﻨﻬﺎد ﺷﺪهاﻧﺪ. ﻧﻮﻋﺎً اﻳـﻦ اﻟﮕـﻮرﻳﺘﻢﻫـﺎ ﺑﺎرﻳـﻚ ﺳـﺎز ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﺎ روش ﺗﻜﺮاري، ﻧﻘﺎط ﻟﺒﻪ ﻧﺎﺣﻴﻪ را ﺣﺬف ﻣﻲﻛﻨﻨﺪ.
در ﭘﻴﺎدهﺳﺎزي ﺑﻪ روش ﺳﺮﻳﺎل از ﻧﻘﺎط ﻣﺮزي ﺷﺮوع ﻣﻲﺷﻮد و ﭘﻴﻜﺴﻞﻫﺎﻳﻲ ﻛﻪ ﺑﺎﻳﺪ ﺣﺬف ﺷﻮﻧﺪ، ﺑﺮﭼﺴﺐ ﻣﻲﺧﻮرﻧـﺪ، اﻳﻦ ﻛﺎر ﺑﻪ ﺻﻮرت ﺗﻜﺮاري اداﻣﻪ ﻣﻲﻳﺎﺑﺪ ﺗﺎ ﺟﺎﻳﻲ ﻛﻪ ﺗﻤﺎﻣﻲ ﭘﻴﻜﺴﻞﻫﺎ ﭘﺮدازش ﺷﻮﻧﺪ. ﺣﺎل ﭘﻴﻜﺴﻞﻫﺎﻳﻲ ﻛـﻪ ﺑـﺮاي ﺣـﺬف ﺷﺪن، ﺑﺮﭼﺴﺐ ﺧﻮرده اﻧﺪ از ﺗﺼﻮﻳﺮ اﺻﻠﻲ ﭘﺎك ﻣﻲﺷﻮﻧﺪ و اﺳﻜﻠﺖ آن ﺑﺎﻗﻲ ﻣﻲﻣﺎﻧﺪ.
ﻋﻤﻠﻴﺎت ﻧﺎزكﺳﺎزي در روش ﻣﻮازي، روي ﺗﻤﺎﻣﻲ ﭘﻴﻜﺴﻞﻫﺎ و ﺑﻪ ﺻﻮرت ﻫﻤﺰﻣﺎن اﻧﺠـﺎم ﻣـﻲﺷـﻮد ﻟـﺬا داراي ﺳـﺮﻋﺖ ﺑﻴﺸﺘﺮي ﻧﺴﺒﺖ ﺑﻪ ﻋﻤﻠﻴﺎت ﺳﺮي ﻣﻲﺑﺎﺷﺪ. در ﭘﻴﺎدهﺳﺎزيﻫﺎي ﺳﺨﺖاﻓﺰاري از روشﻫﺎي ﻣﻮازي ﺑﺮاي ﻧﺎزكﺳﺎزي اﺳـﺘﻔﺎده ﻣﻲﺷﻮد.
در اﻳﻦ ﭘﺮوژه روش اﺳﻜﻠﺖ ﺳﺎزي ﻣﻮازي اﻧﺘﺨﺎب ﺷﺪه اﺳﺖ[39]. ﻧﻮﻳﺴﻨﺪﮔﺎن در اﻳﻦ ﻣﻘﺎﻟﻪ ﻳﻚ اﻟﮕﻮرﻳﺘﻢ ﻧﺎزكﺳﺎزي ﻣﻮازي ﺑﺮ ﭘﺎﻳﻪ ﺷﻤﺎري از ﻣﻌﻴﺎرﻫﺎ از ﺟﻤﻠﻪ اﺗﺼﺎل، ﺗﺒﺪﻳﻞ ﺑﻪ ﺗﻚ ﭘﻴﻜﺴﻞﻫﺎ، ﺗﻘﺮﻳﺐ ﻣﺤﻮر ﻣﻴﺎﻧﻲ، اﻣﻨﻴـﺖ در ﻣﻘﺎﺑـﻞ ﻧـﻮﻳﺰ و ﺑﺎﻻﺧﺮه ﻛﺎرآﻣﺪي زﻳﺎد ارائه دادهاﻧﺪ. اﻳﻦ اﻟﮕﻮرﻳﺘﻢ ﺷﺎﺧﻪﻫﺎي ﻓﺮﻋﻲ را ﻛﻪ در دﻳﮕﺮ اﻟﮕﻮرﻳﺘﻢ ﻫﺎ ﺧﻮد را ﻧﺸـﺎن ﻣـﻲدﻫﻨـﺪ را ﻧﺪارد و ﺑﻪ ﻋﻠﺖ اﻟﮕﻮرﻳﺘﻢ ﻣﻮازي ﺑﻮدن آن از ﺳﺮﻋﺖ ﻣﻨﺎﺳﺒﻲ ﺑﺮاي ﭘﻴﺎدهﺳﺎزي ﺳﺨﺖاﻓﺰاري ﺑﺮﺧﻮردار اﺳﺖ. اﺑﺘﺪا ﺑﻪ ﺗﻌﺎرﻳﻔﻲ ﻛﻪ در ﭘﻴﺎدهﺳﺎزي اﻳﻦ اﻟﮕﻮرﻳﺘﻢ ﻧﻴﺎز اﺳﺖ ﻣﻲﭘﺮدازﻳﻢ.
3-5-3-1- ﺗﻌﺎرﻳﻒ
در ﺗﻌﺎرﻳﻒ زﻳﺮ ﻣﺠﻤﻮﻋﻪ ﻫﺎي S و Sc ﺑﻪ ﺗﺮﺗﻴﺐ ﻣﺠﻤﻮﻋـﻪ ﻫـﺎﻳﻲ ﺑـﺎ ﻣﻘـﺎدﻳﺮ یک و صفر ﻫﺴـﺘﻨﺪ. ﺑـﺪﻳﻦ ﺻـﻮرت ﻛـﻪ در S ﭘﻴﻜﺴﻞﻫﺎي ﺳﻴﺎه ﺑﺎ یک و ﭘﻴﻜﺴﻞﻫﺎي ﺳﻔﻴﺪ ﺑﺎ صفر ﻣﺸﺨﺺ ﻣﻲﺷﻮﻧﺪ و ﺻﻮرت ﺑﺎﻟﻌﻜﺲ ﺑﺮاي ﻣﺠﻤﻮﻋﻪ Sc.
ﺗﻌﺮﻳﻒ 1- ﻳﻚ ﭘﻴﻜﺴﻞX، 4 ﻫﻤﺴﺎﻳﮕﻲ ﭼﻬﺎرﮔﺎﻧﻪ ﺑﻪ ﻧﺎمﻫﺎيX1 ،X3 ،X5 و X7 ﻧﻴﺰ 4 ﻫﻤﺴﺎﻳﮕﻲ ﻗﻄﺮي ﺑـﻪ ﻧـﺎم ﻫﺎي 2X، X4 ،X6 و X8 دارد ﻛﻪ در شکل 3‑8 ﻧﺸﺎن داده ﺷﺪه اﺳﺖ. اﻳﻦ ﻫﻤﺴﺎﻳﮕﻲ ﻗﻄﺮي ﺑﺎ ﻫﻤﺴﺎﻳﮕﻲﻫﺎي ﭼﻬﺎرﮔﺎﻧـﻪ X،ﻫﻤﺴﺎﻳﻪﻫﺎي ﻫﺸﺘﮕﺎﻧﻪ X را ﺗﺸﻜﻴﻞ ﻣﻲدﻫﻨﺪ.
X2 | X3 | X4 |
X1 | X | X5 |
X8 | X7 | X6 |
شکل 3‑8 ﻫﻤﺴﺎﻳﻪ ﻫﺎي ﭼﻬﺎر ﮔﺎﻧﻪ و ﻫﺸﺘﮕﺎﻧﻪ ﭘﻴﻜﺴﻞ x
ﺗﻌﺮﻳﻒ 2- ﭘﻴﻜﺴﻠﻬﺎي xو yﺑﺎ ﻣﻘﺪار ﻣﺴﺎوي اﺗﺼﺎل ﻫﺸﺘﮕﺎﻧﻪ (ﭼﻬﺎرﮔﺎﻧـﻪ) ﻧﺎﻣﻴـﺪه ﻣـﻲﺷـﻮﻧﺪ، اﮔـﺮ آراﻳـﻪاي ﻣﺎﻧﻨـﺪ) a0 (= x), a1 , …, an (= yوﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﺑﻪ ﻃﻮري ﻛﻪ ai-1 و aiﻫﻤﺴﺎﻳﻪ ﻫﺸﺘﮕﺎﻧﻪ (ﭼﻬﺎرﮔﺎﻧﻪ) ﻫﻤﺪﻳﮕﺮ و ﻫﻤﻪ ai ﻫﺎ 1≤ i ≤ n ﻣﻘﺪار xو yرا داﺷﺘﻪ ﺑﺎﺷﻨﺪ.
ﺗﻌﺮﻳﻒ 3- ﻫﺮ ﻛﻼس از ﭘﻴﻜﺴﻞﻫﺎ ﻛﻪ ﺑﻪ ﺻﻮرت اﺗﺼـﺎل ﻫﺸـﺘﮕﺎﻧﻪ (ﭼﻬﺎرﮔﺎﻧـﻪ) ﺗﻌﺮﻳـﻒ ﺷـﺪهاﻧـﺪ، ﻳـﻚ ﺟـﺰء اﺗﺼـﺎل ﻫﺸﺘﮕﺎﻧﻪ (اﺗﺼﺎل ﭼﻬﺎرﮔﺎﻧﻪ) ﻧﺎﻣﻴﺪه ﻣﻲﺷﻮد. ﻳﻚ ﺟﺰء اﺗﺼﺎﻟﻲ از ﻣﺠﻤﻮﻋﻪ Scﻛﻪ ﺷﺎﻣﻞ ﺳﻄﺮﻫﺎي ﺑﺎﻻ و ﭘـﺎﻳﻴﻦ و ﺳـﺘﻮنهای ﭼﭗ و راﺳﺖ از ﻳﻚ ﻧﺎﺣﻴﻪ ﻣﺴﺘﻄﻴﻠﻲ ﻣﺘﻌﻠﻖ ﺑﻪ Sﻣﻲﺑﺎﺷﺪ را ﭘﺲ زﻣﻴﻨﻪ Sﻣﻲﻧﺎﻣﻨﺪ. ﺑﻘﻴـﻪ ﺟـﺰءﻫـﺎي اﺗﺼـﺎﻟﻲ از ،Scﺣﻔﺮه ﻫﺎﻳﻲ در Sﻧﺎﻣﻴﺪه ﻣﻲﺷﻮﻧﺪ. ﻣﺸﺨﺺ اﺳﺖ ﻛﻪ ﺑﺮاي ﺣﻔﻆ اﺗﺼﺎل[45] در ﺗﺼﻮﻳﺮ اﺻﻠﻲ، اﮔﺮ S، 8 اﺗﺼﺎﻟﻲ ﺑﺎﺷﺪ، Scﺑﺎﻳﺪ4 اﺗﺼﺎﻟﻲ ﺑﺎﺷﺪ. در اداﻣﻪ ﻫﺮﮔﺎه ﺑﻪ اﺗﺼﺎل اﺷﺎره ﻛﺮدﻳﻢ ﻣﻨﻈﻮر ﻫﻤﻴﻦ ﺷﺮط ﻣﻲﺑﺎﺷﺪ.
ﺗﻌﺮﻳﻒ 4- ﻳﻚ ﭘﻴﻜﺴﻞ ﻗﺎﺑﻞ ﺣﺬف ﻛﺮدن[46] اﺳﺖ (ﺳﺎده[47] اﺳﺖ) اﮔﺮ ﺣﺬف آن اﺗﺼﺎل ﻣﺠﻤﻮﻋﻪ S را ﺣﻔﻆ ﻛﻨﺪ. در ﻏﻴﺮاﻳﻦ ﺻﻮرت ﭘﻴﻜﺴﻞ ﻏﻴﺮ ﻗﺎﺑﻞ ﺣﺬف[48] (ﻧﺎﺳﺎده[49]) از ﻣﺠﻤﻮﻋﻪ Sﻧﺎﻣﻴﺪه ﻣﻲﺷﻮد. ﺑﻪ ﺻﻮرت ﺟﺒﺮي ﻗﺎﺑـﻞ ﺣـﺬف ﺑـﻮدن ﻳـﻚ ﭘﻴﻜﺴﻞ ﺗﻮﺳﻂ راﺑﻄﻪ (3-4) ﺑﻴﺎن ﻣﻲﺷﻮد:
(3-4)
در رابطه (3-4)U برابر است با 1، 3، 5، 7 و Xi ﻣﻘـﺎدﻳﺮي ﻫﺴـﺘﻨﺪ ﻛـﻪ در شکل 3‑8 ﻧﺸـﺎن داده ﺷـﺪهاﻧـﺪ. ﺗﻮﺟـﻪ ﻛﻨﻴـﺪ ﻛـﻪ . Xic = 1 − Xi ﻣﻲ ﺗﻮان ﻧﺸﺎن داد ﻛﻪ ﻗﺎﺑﻞ ﺣﺬف ﺑﻮدن ﭘﻴﻜﺴﻞ ﺑﺎﻳﺪ ﺷﺮط
1= CN(x) را ﺑﺮآورده ﻛﻨﺪ. ﻫﻤﻪ ﺣﺎلتهای ﻗﺎﺑﻞ ﺣﺬف ﺑﻮدن ﻳﻚ ﭘﻴﻜﺴﻞ در ﻳﻚ ﻫﻤﺴﺎﻳﮕﻲ 3×3 در شکل 3‑9 ﻧﺸﺎن داده ﺷﺪه اﺳﺖ. اﻳﻦ ﻣﺠﻤﻮﻋﻪ ﻛﻪ ﺑﻪ ﺻﻮرت[38] راﺑﻄﻪ (3-5) ﻣﺸﺨﺺ ﻣﻲﺷﻮد، در اﻟﮕﻮرﻳﺘﻢ ﺑﺴﻴﺎر اﺳﺘﻔﺎده ﻣﻲﺷﻮد.
D=[Dk| 1≤k≤16] (3-5)
ﺗﻌﺮﻳﻒ 5- ﻣﺠﻤﻮﻋﻪ Ωرا زﻳﺮ ﻣﺠﻤﻮﻋﻪ Sﺑﻴﺎن ﻣﻲﻛﻨﻴﻢ (). Ω ⊆ Sﻣﺠﻤﻮﻋﻪ Ωﻗﺎﺑﻞ ﺣـﺬف ﺷـﺪن ﻫﺸـﺘﮕﺎﻧﻪ از ﻣﺠﻤﻮﻋﻪ Sﮔﻔﺘﻪ ﻣﻲﺷﻮد اﮔﺮ:
- ﺗﻌﺪاد ﺟﺰء اﺗﺼﺎل ﻫﺸﺘﮕﺎﻧﻪ ﻣﺠﻤﻮﻋﻪ ، S ﺑﺮاﺑﺮ ﺑﺎ Ω/S ﺑﺎﺷﺪ.
- ﻣﺠﻤﻮﻋﻪ Scﺗﻌﺪاد ﺟﺰء اﺗﺼﺎل ﭼﻬﺎرﮔﺎﻧﻪاش ﺑﺮاﺑﺮ ﺑﺎ Sc ∪ Ω ﺑﺎﺷﺪ.
ﻫﻤﭽﻨﻴﻦ دو ﻋﻤﻠﮕﺮ زﻳﺮ ﺑﺮاي آﺳﺎن ﺷﺪن اﺳﺘﻔﺎده از ﺗﻌﺎرﻳﻒ آﻧﻬﺎ ﺗﻌﻴﻴﻦ ﺷﺪه اﺳﺖ:
- ﻋﻤﻠﮕﺮ ⊗: ﻋﻤﻠﮕﺮ اﻧﻄﺒﺎق[50] ﻣﻲﺑﺎﺷﺪ. ﺑﺪﻳﻦ ﻣﻌﻨﻲ ﻛﻪ S⊗Tﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ ﻗﺮار ﮔـﺮﻓﺘﻦ ﻫﻤـﻪ رﺧـﺪادﻫﺎ از ﻗﺎﻟﺐ7 Tدر . S
- ﻋﻤﻠﮕﺮ : Οﻋﻤﻠﮕﺮ ﻧﺎزك ﺳﺎزي[51] ﻣﻲﺑﺎﺷﺪ. ﺑﺪﻳﻦ ﻣﻌﻨـﻲ ﻛـﻪ . S Ο T = S/S⊗Tو آن ﺑﺮاﺑـﺮ اﺳـﺖ ﺑـﺎ ﺣﺬف ﻛﺮدن ﺗﻤﺎم ﭘﻴﻜﺴلهاﻳﻲ ﻛﻪ ﺑﺎ ﻗﺎﻟﺐ Tﻣﻄﺎﺑﻘﺖ داﺷﺘﻪ ﺑﺎﺷﻨﺪ.
ﻋﻤﻠﮕﺮ / ، ﻋﻤﻠﮕﺮ اﺧﺘﻼف[52] ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﻧﺸﺎن دﻫﻨﺪه اﺧﺘﻼف ﺑﻴﻦ دو ﻣﺠﻤﻮﻋﻪ ﻣﻲﺑﺎﺷﺪ.
شکل 3‑9 ﻫﻤﻪ ﭘﻴﻜﺴﻞ ﻫﺎي ﻗﺎﺑﻞ ﺣﺬف واﻗﻊ ﺷﺪه در ﻣﺮﻛﺰ ﻳﻚ ﻫﻤﺴﺎﻳﮕﻲ 3×3 . در اﻳﻦ ﭘﻴﻜﺴﻞ ﻫﺎ ﻣﻘﺪار ””x ﻣﻮرد ﺗﻮﺟﻪ ﻧﻤﻲ ﺑﺎﺷﺪ.
اﻳﻦ اﻟﮕﻮرﻳﺘﻢ ﺑﺮ اﺳﺎس ﻣﻌﻴﺎرﻫﺎي زﻳﺮ ﻃﺮاﺣﻲ ﺷﺪه اﺳﺖ:
- شاﻣﻞ ﻳﻚ ﻋﻤﻠﮕﺮ ﺗﻤﺎم ﻣﻮازي ﺑﺮاي ﻋﻤﻞ ﻧﺎزك ﺳﺎزي ﺗﺼﻮﻳﺮ در ﻳﻚ ﻣﺮﺣﻠﻪ.
- اﺗﺼﺎل ﺑﺎﻳﺪ ﺑﺮاي ﻫﺮ دو ﻣﺠﻤﻮﻋﻪ Sو Scﺣﻔﻆ ﺷﻮد.
- ﻋﻤﻞ ﻧﺎزك ﺳﺎزي ﺑﺎﻳﺪ ﺑﺎ ﺟﺎﺑﺠﺎﻳﻲ و ﭼﺮﺧﺶ ﺑﺎ ﺿﺮاﻳﺐ 90 درﺟﻪ ﺗﺼﻮﻳﺮ ﺗﻐﻴﻴﺮ ﻧﻜﻨﺪ.
- ﻋﻤﻞ ﻧﺎزك ﺳﺎزي ﺑﺎﻳﺪ ﺑﻪ ﭘﻬﻨﺎي واﺣﺪ ﻫﻤﮕﺮا ﺷﻮد.
- ﻋﻤﻞ ﻧﺎزك ﺳﺎزي ﺑﺎﻳﺪ ﺗﻘﺮﻳﺒﺎً ﻣﺤﻮر ﻣﻴﺎﻧﻲ ﺗﺼﻮﻳﺮ اﺻﻠﻲ را ﺑﺪﻫﺪ.
- ﻋﻤﻞ ﻧﺎزك ﺳﺎزي ﺑﺎﻳﺪ ﻏﻴﺮ ﺣﺴﺎس ﺑﻪ ﻧﻮﻳﺰ ﻣﺮزي ﺑﺎﺷﺪ. ﺑﺪﻳﻦ ﻣﻌﻨﻲ ﻛﻪ ﺗﻐﻴﻴﺮ ﻛﻮﭼﻚ در اﻟﮕﻮ ﻣﻮﺟﺐ ﺗﻐﻴﻴﺮ ﻛﻮﭼﻜﻲ در اﺳﻜﻠﺖ ﺷﻮد.
اﻟﮕﻮرﻳﺘﻢ ﻧﺎزكﺳﺎزي از اﻳﻨﺠﺎ ﺷﺮوع ﻣﻲﺷﻮد. اﮔﺮ S ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﺟﺰء اﺗﺼﺎل ﻫﺸﺘﮕﺎﻧﻪ از ﺗﺼﻮﻳﺮ ﺑﺎﺷﺪ:
ﻣﺮﺣﻠﻪ اول- ﭘﺎك ﻛﺮدن ﻫﻤﻪ ﭘﻴﻜﺴلها در S ﺑﻪ ﻃﻮري ﻛﻪ ﺑﺎ ﻳﻜﻲ از ﻗﺎﻟﺒﻬﺎي 1 Aﺗـﺎ 20 Aﻣﻨﻄﺒـﻖ ﺑﺎﺷـﺪ. و ﺑﺎزﻳـﺎﺑﻲ ﭘﻴﻜﺴلهایی ﻛﻪ ﺑﺎ ﻳﻜﻲ از ﻗﺎﻟﺐﻫﺎي ﺑﺎزﻳﺎﺑﻲ ﻣﻨﻄﺒﻖ ﺑﺎﺷﻨﺪ (21.(A30 – A
ﻣﺮﺣﻠﻪ دوم- ﺗﻜﺮار ﻣﺮﺣﻠﻪ 1 ﺗﺎ اﻳﻨﻜﻪ ﺗﻐﻴﻴﺮاﺗﻲ در ﺗﺼﻮﻳﺮ اﻳﺠﺎد ﻧﺸﻮد.
اﻳﻦ 30 ﻗﺎﻟﺐ در شکل 3‑10 ﻧﺸﺎن داده ﺷﺪهاﻧﺪ. ﻗﺎلبهای 1 Aﺗﺎ 20 Aﺑﺮاي ﺣﺬف ﭘﻴﻜﺴلهای ﻣﺮزي[53] ﺑﻪ ﻛﺎر ﻣﻲروﻧﺪ و ﻗﺎﻟﺐ ﻫﺎي 12 Aﺗﺎ 30 ، Aﻗﺎﻟﺐﻫﺎي ﺑﺎزﻳﺎﺑﻲ ﻫﺴﺘﻨﺪ ﺑﻪ ﻃﻮري ﻛﻪ ﺣﺬف ﭘﻴﻜﺴلهای اﺿﺎﻓﻲ را در ﺷﺮاﻳﻂ ﺧـﺎص از ﺑـﻴﻦ ﻣﻲﺑﺮﻧﺪ. اﻳﻦ دو دﺳﺘﻪ از ﻗﺎﻟﺐﻫﺎ اﻣﻜﺎن ﻧﺎزكﺳﺎزي ﺑﻪ روش ﻣﻮازي را ﺑﺮﻗﺮار ﻣﻲﻛﻨﻨﺪ ﻛـﻪ در واﻗـﻊ ﻣﻌﻴـﺎر 1را ﺑـﺮآورده ﻣﻲﻛﻨﺪ. ﺑﻪ ﻋﻼوه ﭼﺮﺧﻴﺪه ﺷﺪه ﻫﺮ ﻗﺎﻟﺐ در ﺑﻴﻦ ﻗﺎﻟﺐﻫﺎ وﺟﻮد دارد ﻛﻪ ﻣﻌﻴﺎر 3 را ﺑﺮآورده ﻣﻲﺳﺎزد.
ﭘﻴﻜﺴﻠﻬﺎي ﻣﺮزي در اﻳﻨﺠﺎ ﺑﻪ ﺻﻮرت راﺑﻄﻪ (3-6) ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮﻧﺪ ﻛﻪ اﮔﺮ s∂ ﻧﺎﺣﻴـﻪ ﻣـﺮزي از S ﺑﺎﺷـﺪ و s∂ x ∈ ﺑﺎﺷﺪ، x ﻳﻚ ﭘﻴﻜﺴﻞ ﻣﺮزي از s اﺳﺖ.
∂s =[x: x is 4 – adjacent to y, x∈S, y∈Sc] (3-6)
ﻗﺎﻟﺐ ﻫﺎي 1 Aﺗﺎ 4 Aﮔﻮﺷﻪﻫﺎ را از ﻫﺮ ﭼﻬﺎر ﺟﻬﺖ ﭘﺎك ﻣﻲﻛﻨﻨﺪ و 5 Aﺗﺎ 8 Aﭘﻴﻜﺴﻞﻫﺎي ﻣﺮزي ﻫﻤﺴـﺎﻳﮕﻲ ﭼﻬـﺎر را ﭘﺎك ﻣﻲﻛﻨﻨﺪ. اﺑﻦ ﻗﺎﻟﺐﻫﺎ ﭘﻴﻜﺴﻞﻫﺎ را از ﻫﻤﻪ ﺟﻬﺎت ﭘﺎك ﻣﻲﻛﻨﻨﺪ ﺑﻪ ﻃﻮري ﻛﻪ ﻣﻌﻴـﺎر 5 ﺑـﺮآورده ﺷـﻮد. ﻗﺎﻟـﺐﻫـﺎي 5×5 17 Aﺗﺎ 20 Aﺑﺮاي اﻃﻤﻴﻨﺎن از ﺗﻮﻟﻴﺪ اﺳﻜﻠﺖ اﻳﺰوﺗﺮوپ[54] در ﮔﻮﺷﻪﻫﺎي 90 درﺟﻪ اﺳﺘﻔﺎده ﻣﻲﺷﻮد. ﻗﺎﻟﺐﻫﺎي 5×5، اﺳﻜﻠﺖ اﻳﺰوﺗﻮپ را ﺑﻪ ﻗﻴﻤﺖ ﻋﻤﻠﻴﺎت ﻣﺤﺎﺳﺒﺎﺗﻲ ﺑﻴﺸﺘﺮ ﺑﺮاي ﺣﺬف ﭘﻴﻜﺴﻞﻫﺎي ﻣﺮزي در ﮔﻮﺷﻪﻫﺎي ﺗﻴﺰ ﻛﻪ در ﺑﺴﻴﺎري از اﻟﮕﻮرﻳﺘﻢﻫﺎي ﻧﺎزكﺳﺎزي ﻣﺸﺎﻫﺪه ﻣﻲﺷﻮد را ﺿﻤﺎﻧﺖ ﻣﻲﻛﻨﻨﺪ.
ﺑﺮاي ﺑﺪﺳﺖ آوردن ﻣﻌﻴﺎر 6، ﻗﺎﻟﺐﻫﺎي 9 Aﺗﺎ 16 Aﺑﺮاي ﺣﺬف اﺛﺮ ﻧﻮﻳﺰ در ﺗﺼﺎوﻳﺮ ﻧﻮﻳﺰي در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷـﺪه اﺳـﺖ. اﮔﺮ اﻳﻦ ﻗﺎﻟﺐ ﻫﺎ ﺑﺎ ﺳﺎﻳﺮ ﻗﺎﻟﺐ ﻫﺎ ﺑﻪ ﻃﻮر ﻫﻤﺰﻣﺎن ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﮔﻴﺮﻧﺪ اﺳﻜﻠﺖ ﺗﺼﻮﻳﺮ را ﺧﻴﻠﻲ ﻧـﺎزك ﻧﺨﻮاﻫﻨـﺪ ﻛـﺮد. ﺧﻴﻠﻲ ﻧﺎزك ﻛﺮدن[55] ﻳﻚ ﻧﻘﺺ در ﺑﺴﻴﺎري از اﻟﮕﻮرﻳﺘﻢﻫﺎي ﻧﺎزكﺳﺎزي ﻣﻲﺑﺎﺷﺪ ﺑﻪ ﻃﻮري ﻛﻪ ﺑﺎ ﻧﻘﻄﻪ ﭘﺎﻳﺎﻧﻲ (ﻧﻘﻄﻪاي ﻛـﻪ در ﻫﻤﺴﺎﻳﮕﻲ ﻫﺸﺘﮕﺎﻧﻪاش ﻓﻘﻂ ﻳﻚ ﻣﻘﺪار 1 داﺷﺘﻪ ﺑﺎﺷﺪ) ﻣﺎﻧﻨﺪ ﻧﻮﻳﺰ ﻋﻤﻞ ﻣﻲﻛﻨﻨﺪ.
شکل 3‑10 ﻗﺎﻟﺐ ﻫﺎي اﺳﺘﻔﺎده ﺷﺪه در اﻟﮕﻮرﻳﺘﻢ ﻧﺎزك ﺳﺎزي. ﻗﺎﻟﺐ ﻫﺎي 1 Aﺗﺎ 20 Aﺑﺮاي ﺣﺬف ﭘﻴﻜﺴﻞ ﻫﺎ و ﻗﺎﻟﺐ ﻫﺎي 12 Aﺗﺎ 30 Aﺑﺮاي ﺑﺎزﻳﺎﺑﻲ ﭘﻴﻜﺴﻞ ﻫﺎ ﻣﻲ ﺑﺎﺷﻨﺪ. ﭘﺎراﻣﺘﺮﻫﺎي p و q ﺗﻮﺳﻂ ﺟﺒﺮ ﺑﻮﻟﻲ زﻳﺮ ﻣﻮرد ﺗﻮﺟﻪ ﻗﺮار ﻣﻲﮔﻴﺮﻧﺪ:1= p or q.
در شکل 3‑11 ﻗﺎﻟﺐﻫﺎي ﺣﺬف ﻧﻮﻳﺰ ﻫﻨﮕﺎﻣﻲ ﻛﻪ ﺑﻪ ﺻﻮرت ﺳﺮي ﺑﻜﺎر ﺑﺮده ﺷﻮﻧﺪ، ﺗﺼﻮﻳﺮ را ﺑﻪ ﻳـﻚ ﭘﻴﻜﺴـﻞ ﻛـﺎﻫﺶ ﻣﻲدﻫﻨﺪ. وﻟﻲ ﻫﻨﮕﺎﻣﻲﻛﻪ اﻳﻦ ﻗﺎﻟﺐﻫﺎ ﺑﺎ ﻗﺎﻟﺐﻫﺎي دﻳﮕﺮ ﺑﻪ ﺻﻮرت ﻣﻮازي ﺑﻜﺎر ﺑﺮده ﺷﻮﻧﺪ ﻳﻚ ﺧﻂ ﻣـﻮرب ﻧـﺎزك ﺷـﺪه را ﻧﺘﻴﺠﻪ ﻣﻲدﻫﻨﺪ و از ﺧﻴﻠﻲ ﻧﺎزكﺷﺪن ﺗﺼﻮﻳﺮ ﺟﻠﻮﮔﻴﺮي ﻣﻲﻛﻨﻨﺪ.
شکل 3‑11 (اﻟﻒ) ﻳﻚ ﺧﻂ ﻣﻮرب ﺑﺎ ﭘﻬﻨﺎي دو ﭘﻴﻜﺴﻞ ، (ب) اﺳﻜﻠﺖ ﺷﻜﻞِ (اﻟﻒ) وﻗﺘﻲ ﻗﺎﻟﺐ ﻫﺎي ﺣﺬف ﻧﻮﻳﺰ 1 A ﺗﺎ 20 Aﺑﻪ ﺻﻮرت ﺳﺮﻳﺎل ﺑﻜﺎر ﺑﺮده ﺷﻮد. (ج) اﺳﻜﻠﺖ ﺷﻜﻞِ (اﻟﻒ) وﻗﺘﻲ ﻛﻪ اﻳﻦ ﻗﺎﻟﺐ ﻫﺎ ﺑﺼﻮرت ﻣﻮازي ﺑﻜﺎر روﻧﺪ.
ﻫﻤﻪ ﻗﺎﻟﺐﻫﺎ ﻃﻮري ﻃﺮاﺣﻲ ﺷﺪهاﻧﺪ ﻛﻪ روي ﻣﺠﻤﻮﻋﻪ S ﺑﻪ ﻃﻮر ﻫﻤﺰﻣـﺎن اﻋﻤـﺎل ﺷـﻮﻧﺪ ﺗـﺎ ﻣﻌﻴـﺎر 1 ﺑـﺮآورده ﺷـﻮد. اﻟﮕﻮﻳﻲ ﻛﻪ ﺑﺎ ﻳﻜﻲ از ﻗﺎﻟﺐﻫﺎي 1 Aﺗﺎ 20 Aﻣﻨﻄﺒﻖ ﺑﺎﺷﻨﺪ، ﭘﻴﻜﺴﻞ ﻣﺮﻛﺰياش ﭘﺎك ﻣﻲﺷﻮد. ﻋﻤﻠﻴﺎت ﻣـﻮازي اﺗﺼـﺎل را در اﺟﺰاي ﻣﺘﺼﻞ از ﺑﻴﻦ ﻣﻲﺑﺮد. ﺑﺮاي ﻣﺜﺎل ﻳﻚ ﺗﺼﻮﻳﺮ ﻣﺴﺘﻄﻴﻠﻲ ﺑﺎ ﭘﻬﻨﺎي 2 ﭘﻴﻜﺴﻞ ﺑﻪ ﻃﻮر ﻛﺎﻣﻞ ﭘـﺎك ﺧﻮاﻫـﺪ ﺷـﺪ. اﻳـﻦ ﻣﺸﻜﻞ ﻧﻤﻲﺗﻮاﻧﺪ ﺑﺎ ﻫﻤﺴﺎﻳﮕﻲ 3×3 ﺑﺮ ﻃﺮف ﺷﻮد. ﺑﺮاي ﺑﺎﻗﻲ ﻣﺎﻧﺪن اﺗﺼـﺎل ﺑـﻪ ﻃـﻮري ﻛـﻪ ﻣﻌﻴـﺎر 2 ﺑﺪﺳـﺖ آﻳـﺪ، ﻳـﻚ ﻣﺠﻤﻮﻋﻪ از ﻗﺎﻟﺐ ﻫﺎي 4×4 (21 Aﺗﺎ 30(A در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪهاﻧﺪ. ﺑﺮاي اﻟﮕﻮﻫﺎﻳﻲ ﻛﻪ ﺑﺎ ﻳﻜـﻲ از اﻳـﻦ ﻗﺎﻟـﺐﻫـﺎ ﻣﻄﺎﺑﻘـﺖ داﺷﺘﻪ ﺑﺎﺷﻨﺪ، ﭘﻴﻜﺴﻞﻫﺎي ﻣﺮﻛﺰيﺷﺎن ﺑﺎزﻳﺎﺑﻲ ﻣﻲﺷﻮﻧﺪ ﺑﺪون اﻳﻨﻜﻪ ﺑﻪ ﻧﺘﺎﻳﺞ ﻗﺎﻟﺐﻫﺎي ﭘﺎك ﻛﺮدن اﻫﻤﻴﺘﻲ داده ﺷﻮد.
3-5-3-2- آﻧﺎﻟﻴﺰ اﻟﮕﻮرﻳﺘﻢ
1-اﺗﺼﺎل: ﺣﻔﻆ اﺗﺼﺎل ﻳﻚ ﺟﺰء ﻣﺘﺼﻞ ﺑﺮاي آﻧﺎﻟﻴﺰ ﺷﻜﻞ ﺿﺮوري اﺳﺖ. وﻳﮋﮔـﻲﻫـﺎي ﺗﻮﭘﻮﻟـﻮژي ﻳـﻚ اﻟﮕـﻮ اﺗﺼـﺎل ﻫﺸﺘﮕﺎﻧﻪ ﻣﻤﻜﻦ اﺳﺖ ﺑﻪ ﻃﻮر ﻛﺎﻣﻞ ﺗﻐﻴﻴﺮ ﻛﻨﺪ اﮔﺮ اﺟﺰاي ﻣﺘﺼﻞ آن ﮔﺴﻴﺨﺘﻪ ﺷﻮﻧﺪ. اﺗﺼﺎل ﺑﻪ ﺻﻮرت زﻳﺮ ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد:
دو ﭘﻴﻜﺴﻞ ﻛﻪ ﻣﻘﺪارﺷﺎن ﻳﻚ اﺳﺖ ﻣﺘﺼﻞ ﻫﺴﺘﻨﺪ اﮔﺮ اﺗﺼﺎل ﻫﺸﺘﮕﺎﻧﻪ داﺷﺘﻪ ﺑﺎﺷﻨﺪ و دو ﭘﻴﻜﺴﻞ ﺑﺎ ﻣﻘـﺪار ﺻـﻔﺮ ﻣﺘﺼـﻞ ﻫﺴﺘﻨﺪ اﮔﺮ اﺗﺼﺎل ﭼﻬﺎرﮔﺎﻧﻪ داﺷﺘﻪ ﺑﺎﺷﻨﺪ. ﻣﻲﺗﻮان ﻧﺸﺎن داد ﻛﻪ ﻋﻤﻠﮕﺮ ﭘﻴﺸﻨﻬﺎد ﺷﺪه در اﻟﮕﻮرﻳﺘﻢ ﻧﺎزك ﺳﺎزي اﺗﺼﺎل را ﺣﻔﻆ ﻣﻲﻛﻨﺪ. ﺑﺪﻳﻦ ﻣﻌﻨﻲ ﻛﻪ:
- ﻧﻘﺎط ﺳﺎده ﻫﺸﺘﮕﺎﻧﻪ را ﺣﺬف ﻧﻤﻲﻛﻨﺪ.
- زوج ﻫﺎي ﻣﺠﺎور ﭼﻬﺎرﮔﺎﻧﻪ را ﺣﺬف ﻧﻤﻲﻛﻨﺪ ﻣﮕﺮ اﻳﻨﻜﻪ زوج ﻗﺎﺑﻞ ﺣﺬف ﺷﺪن ﻫﺸﺘﮕﺎﻧﻪ ﺑﺎﺷﺪ.
- ﻫﺮ دو (ﻧﻘﺎط ﻣﺠﺎور ﻫﺸﺘﮕﺎﻧﻪ ﻣﻮرب)، ﺳﻪ ﻳﺎ ﭼﻬﺎر ﭘﻴﻜﺴﻞ ﺗﺸﻜﻴﻞ ﺷﺪه از ﻧﻘﺎط ﻣﺠﺎور ﻫﺸﺘﮕﺎﻧﻪ ﻣﺘﻘﺎﺑﻞ را ﺑﻪ ﻃﻮر ﻛﺎﻣﻞ ﺣﺬف ﻧﻤﻲﻛﻨﺪ.
- ﻫﻤﮕﺮاﻳﻲ ﺑﻪ اﺳﻜﻠﺖ ﺑﺎ ﭘﻬﻨﺎي ﻳﻚ ﭘﻴﻜﺴﻞ: ﺗﻌﺪادي از اﻟﮕﻮرﻳﺘﻢﻫﺎي ﻧـﺎزكﺳـﺎزي ﺑـﻪ ﺳـﻤﺖ ﻳـﻚ ﭘﻴﻜﺴـﻞﻫﻤﮕﺮا ﻧﻴﺴﺘﻨﺪ. ﺑﺴﻴﺎري از آﻧﻬﺎ ﺗﺼﻮﻳﺮ را ﺧﻴﻠﻲ ﻧﺎزك ﻛﺮده و ﺗﻨﻬﺎ ﭼﻨﺪ ﭘﻴﻜﺴﻞ ﺑﺎﻗﻲ ﻣﻲﮔﺬارﻧﺪ و ﻳـﺎ ﺑﺮﺧـﻲ ﺗﺼﻮﻳﺮ را ﺑﺎ ﭘﻬﻨﺎي دو ﭘﻴﻜﺴﻞ ﺑﺎﻗﻲ ﻣﻲﮔﺬارﻧﺪ. اﻣﺎ در اﻟﮕﻮرﻳﺘﻢ ﺣﺎﺿﺮ اﺳﻜﻠﺖ ﻳـﻚ ﺗﺼـﻮﻳﺮ ﺑـﻪ ﺳـﻤﺖ ﻳـﻚ ﭘﻴﻜﺴﻞ ﻫﻤﮕﺮا اﺳﺖ ﻣﮕﺮ اﻳﻨﻜﻪ آن ﭘﻴﻜﺴﻞ ﻗﺎﺑﻞ ﺣﺬف ﺗﻮﺳﻂ ﻳﻜﻲ از ﮔﺮوههاي زﻳﺮ ﺑﺎﺷﺪ:
- ﻳﻚ اﺗﺼﺎل [58].T
ﻣﻮارد 2 و 3 در شکل 3‑12 ﻧﺸﺎن داده ﺷﺪهاﻧﺪ.
شکل 3‑12 ﻧﻤﻮﻧﻪ ﻣﺮﺑﻌﻲ و اﺗﺼﺎل ﻫﺎي Tدر ﻳﻚ ﭘﻨﺠﺮه 3×3
ﻗﺎﺑﻞ ﺗﻮﺟﻪ اﺳﺖ ﻛﻪ ﺑﻪ اﺗﺼﺎل T ﺑﻪ ﻋﻨﻮان ﻳﻚ اﺳﻜﻠﺖ ﺑﺎ ﭘﻬﻨﺎي واﺣﺪ ﺗﻮﺟﻪ ﺷﻮد. اﮔﺮ ﭼﻪ ﻣﺮز اﺗﺼـﺎل T ﻗﺎﺑـﻞ ﺣـﺬف ﺷﺪن اﺳﺖ در ﺣﺎﻟﻲ ﻛﻪ اﺗﺼﺎل ﺣﻔﻆ ﻣﻲﺷﻮد. اﻣﺎ ﺑﻪ ﺟﻬﺖ اﻋﻮﺟﺎﺟﻲ ﻛﻪ در اﺗﺼﺎل ﺷﻜﻞﻫﺎي Y[59] اﻳﺠﺎد ﻣـﻲﺷـﻮد ﻣـﻮرد ﻋﻼﻗﻪ ﻧﻤﻲﺑﺎﺷﺪ. ﺑﻪ ﻋﻼوه اﺗﺼﺎل T ﺑﻪ ﻋﻨﻮان ﻳﻚ ﺷﻜﻞ ﺑﺤﺮاﻧﻲ در ﺑﺴـﻴﺎري از ﻛﺎرﺑﺮدﻫـﺎ ﻣﺎﻧﻨـﺪ ﺗﺸـﺨﻴﺺ ﺣـﺮوف ﻣـﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲﮔﻴﺮد. شکل 3‑13 ﺗﺼﻮﻳﺮ اﺻﻠﻲ و ﻧﺎزك ﺷﺪه ﻳﻚ حرف ﻓﺎرﺳﻲ را ﺑﻌﺪ از اﺳﺘﻔﺎده از اﻟﮕﻮرﻳﺘﻢ ﻓـﻮق ﻧﺸـﺎن ﻣﻲدﻫﺪ.
شکل 3‑13 ﺗﺼﻮﻳﺮ ﻳﻚ حرف ﻓﺎرﺳﻲ و ﺗﺼﻮﻳﺮ ﻧﺎزك ﺷﺪه آن
3-5-4- ﺷﻨﺎﺳﺎﻳﻲ ﻣﻨﺤﻨﻲ ﻫﺎي ﺑﺴﺘﻪ در زﻳﺮﻛﻠﻤﻪ
ﺗﺎ ﺑﻪ ﺣﺎل ﻣﻮﻓﻖ ﺷﺪﻳﻢ ﻛﻪ ﺳﻄﺮﻫﺎي ﻣﺘﻦ را ﺟﺪا ﻛـﺮده و زﻳﺮﻛﻠﻤـﺎت ﻫـﺮ ﺳـﻄﺮ را ﻣﺸـﺨﺺ ﻛﻨـﻴﻢ. اﺑﺘـﺪا ﺑـﺮاي ﻫـﺮ زﻳﺮﻛﻠﻤﻪ، ﻣﻨﺤﻨﻲﻫﺎي ﺑﺴﺘﻪ را ﺷﻨﺎﺳﺎﻳﻲ ﻣﻲﻛﻨﻴﻢ. ﻣﻨﻈﻮر از ﻣﻨﺤﻨﻲ ﺑﺴﺘﻪ ﻫﻤـﺎن ﻋﻨﺼـﺮ اﺻـﻠﻲ O ﻣـﻲﺑﺎﺷـﺪ. ﺷﻨﺎﺳـﺎﻳﻲ ﻣﻨﺤﻨﻲﻫﺎي ﺑﺴﺘﻪ اﻳﻦ اﻣﻜﺎن را ﺑﻪ ﻣﺎ ﻣﻲدﻫﺪ ﻛﻪ ﻋﻼوه ﺑﺮ ﺗﻌﻴﻴﻦ ﻳﻜﻲ از ﻋﻨﺎﺻﺮ اﺻﻠﻲ در زﻳﺮﻛﻠﻤﻪ و ﺣﺬف آن، ﺷﻨﺎﺳـﺎﻳﻲ دﻳﮕﺮ ﻋﻨﺎﺻﺮ راﺣﺖﺗﺮ ﺷﻮد.
ﺑﺮاي ﺷﻨﺎﺳﺎﻳﻲ ﻣﻨﺤﻨﻲﻫﺎي ﺑﺴﺘﻪ از ﻓﻠﻮﭼﺎرت ﻧﺸﺎن داده ﺷﺪه در شکل 3‑14 اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ. اﺑﺘﺪا ﺑﻪ ﺗﻌﺮﻳﻒ ﭼﻨـﺪ واژه ﻣﻲﭘﺮدازﻳﻢ:
ﻧﻘﻄﻪ اﻧﺘﻬﺎﻳﻲ: ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ راﺑﻄﻪ (3-7) ﺑﻪ ﭘﻴﻜﺴﻠﻲ از ﺗﺼﻮﻳﺮ ﻧﺎزك ﺷﺪه ﮔﻔﺘﻪ ﻣﻲﺷﻮد ﻛﻪ داراي ﻫﻤﺴﺎﻳﮕﻲ ﻫﺸﺘﮕﺎﻧﻪ ﺑﺮاﺑﺮ ﺑﺎ ﻳﻚ ﺑﺎﺷﺪ. ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ ﺑﺮاي ﻫﺮ ﭘﻴﻜﺴﻞ «x» از ﻣﺎﺗﺮﻳﺲ ﺗﺼﻮﻳﺮ ﻧﺎزك ﺷﺪه «S»، ﻣﺠﻤﻮع ﭘﻴﻜﺴﻞﻫـﺎي ﻫﺸـﺘﮕﺎﻧﻪ آن ﺑﺎﻳﺪ ﺑﺮاﺑﺮ ﺑﺎ ﻳﻚ ﺑﺎﺷﺪ.
(3-7)
ﻧﻘﻄﻪ اﻧﺸﻌﺎب[60]: ﻳﺎ ﻫﻤﺎن ﻧﻘﻄﻪ اﺗﺼﺎل اﺳﺖ. ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ راﺑﻄﻪ (3-8) ﺑﻪ ﭘﻴﻜﺴﻠﻲ از ﺗﺼﻮﻳﺮ ﻧﺎزكﺷﺪه ﮔﻔﺘﻪ ﻣـﻲﺷـﻮد ﻛﻪ داراي ﻫﻤﺴﺎﻳﮕﻲ ﻫﺸﺘﮕﺎﻧﻪ ﺑﻴﺸﺘﺮ از 2 ﺑﺎﺷﺪ. ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ ﺑﺮاي ﻫﺮ ﭘﻴﻜﺴﻞ« x» از ﻣﺎﺗﺮﻳﺲ ﺗﺼـﻮﻳﺮ ﻧـﺎزكﺷـﺪه «S» ﻣﺠﻤﻮع ﭘﻴﻜﺴﻞﻫﺎي ﻫﺸﺘﮕﺎﻧﻪ آن ﺑﻴﺸﺘﺮ از 2 ﺑﺎﺷﺪ.
(3-8)
ﻧﻘﺎط اﻧﺘﻬﺎﻳﻲ و اﻧﺸﻌﺎب را ﺑﺮ روي ﭼﻨﺪ ﻧﻤﻮﻧﻪ از ﺣﺮوف ﻓﺎرﺳﻲ ﻧﺸﺎن ﻣﻲدﻫﺪ.
شکل 3‑14 ﻓﻠﻮﭼﺎرت ﺗﻌﻴﻴﻦ ﻣﻨﺤﻨﻲ ﻫﺎي ﺑﺴﺘﻪ ﺑﺮ روي ﺗﺼﻮﻳﺮ ورودي
ﺑﺮاي ﺟﺪاﺳﺎزي ﻣﻨﺤﻨﻲﻫﺎي ﺑﺴﺘﻪ ﺑﺎ اﺳﺘﻔﺎده از ﻓﻠﻮﭼﺎرت شکل 3‑14ﭘـﺲ از ﺗﻌﻴـﻴﻦ ﻧﻘـﺎط اﻧﺘﻬـﺎﻳﻲ و اﻧﺸـﻌﺎﺑﻲ ﺑـﺎ اﺳﺘﻔﺎده از راﺑﻄﻪﻫﺎي (3-7) و (3-8) از ﺳﻤﺖ راﺳﺖﺗﺮﻳﻦ ﻧﻘﻄﻪ اﻧﺘﻬﺎﻳﻲ ﺷﺮوع ﻣﻲﻛﻨﻴﻢ و در ﻣﺴﻴﺮ ﭘﻴﻜﺴـﻞﻫـﺎي ﺳـﻴﺎه ﺣﺮﻛﺖ ﻣﻲﻛﻨﻴﻢ. در ﻫﺮﺟﺎﻳﻲ از اﻟﮕﻮرﻳﺘﻢ اﻳﻦ ﺷﺮط را ﻛﻪ اﮔﺮ ﺑﻪ ﻧﻘﻄﻪ اﻧﺘﻬﺎﻳﻲ ﻛﻪ از آن ﺷﺮوع ﻛﺮدﻳﻢ ﺑﺮﺳﻴﻢ، ﻳﻚ ﻣﻨﺤﻨﻲ ﺑﺴﺘﻪ ﺧﻮاﻫﻴﻢ داﺷﺖ، ﺑﺮرﺳﻲ ﻣﻲﻛﻨﻴﻢ.
اﮔﺮ در ﻃﻮل ﻣﺴﻴﺮ ﺑﻪ ﻳﻚ ﻧﻘﻄﻪ ﭼﻨﺪ اﻧﺸﻌﺎﺑﻲ ﺑﺮﺧﻮردﻳﻢ ﺑﺎﻳﺪ دو ﻛﺎر اﻧﺠﺎم دﻫﻴﻢ. اﺑﺘﺪا ﻣﺴﻴﺮي را ﻛـﻪ ﺑـﻪ اﻳـﻦ ﻧﻘﻄـﻪ رﺳﻴﺪﻳﻢ را ذﺧﻴﺮه و ﺳﭙﺲ ﻣﺴﻴﺮﻫﺎي ﻣﻨﺸﻌﺐ از اﻳﻦ ﻧﻘﻄﻪ ﭼﻨﺪ اﻧﺸﻌﺎﺑﻲ را ﻣﺸـﺨﺺ میﻛﻨﻴﻢ. از ﻳﻜـﻲ از ﻣﺴـﻴﺮﻫﺎي ﻣﺸﺨﺺ ﺷﺪه –ﻏﻴﺮ از ﻣﺴﻴﺮي ﻛﻪ از آن، ﺑﻪ ﻧﻘﻄﻪ ﭼﻨﺪ اﻧﺸﻌﺎﺑﻲ رﺳﻴﺪﻳﻢ– ﺣﺮﻛﺖ ﻣﻲﻛﻨﻴﻢ. اﻳﻦ ﺑﺎر اﮔﺮ ﺑـﻪ ﻧﻘﻄـﻪ ﭼﻨـﺪ اﻧﺸﻌﺎﺑﻲ اول ﻳﺎ ﻧﻘﻄﻪ اﻧﺘﻬﺎﻳﻲ ﻛﻪ از آن ﺷﺮوع ﻛﺮدﻳﻢ ﺑﺮﺳﻴﻢ، ﻳﻚ ﻣﻨﺤﻨﻲ ﺑﺴﺘﻪ ﺧـﻮاﻫﻴﻢ داﺷـﺖ. اﮔـﺮ ﺑـﻪ ﻧﻘﻄـﻪ اﻧﺘﻬـﺎﻳﻲ دﻳﮕﺮي ﺑﺮﺳﻴﻢ ﺑﻪ اﻳﻦ ﻣﻌﻨﻲ اﺳﺖ ﻛﻪ در اﻳﻦ ﻣﺴﻴﺮ، ﻣﻨﺤﻨﻲ ﺑﺴﺘﻪاي وﺟﻮد ﻧﺪارد و ﺑﻪ ﻧﻘﻄﻪ ﭼﻨﺪ اﻧﺸﻌﺎﺑﻲ ﺑﺮﻣﻲﮔـﺮدﻳﻢ و ﻣﺴﻴﺮﻫﺎي دﻳﮕﺮ را ﺑﺮرﺳﻲ ﻣﻲﻛﻨﻴﻢ. اﮔﺮ ﻫﻤﻪ ﻣﺴﻴﺮﻫﺎي ﻧﻘﻄﻪ ﭼﻨﺪ اﻧﺸﻌﺎﺑﻲ ﺑﺮرﺳﻲ ﺷـﺪ و ﺑـﻪ ﻣﻨﺤﻨـﻲ ﺑﺴـﺘﻪاي ﺑﺮﺧـﻮرد ﻧﻜﺮدﻳﻢ، ﺑﻪ ﻧﻘﻄﻪ اﻧﺘﻬﺎﻳﻲ ﺑﻌﺪي ﻣﺮاﺟﻌﻪ ﻣﻲﻛﻨﻴﻢ و اﻳﻦ ﻛﺎر را ﺗﺎ ﭘﺎﻳﺎن ﺑﺮرﺳﻲ ﺗﻤﺎﻣﻲ ﭘﻴﻜﺴﻞﻫﺎ اداﻣﻪ ﻣﻲدﻫﻴﻢ.
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺣﺮوف ﻓﺎرﺳﻲ/ﻋﺮﺑﻲ، ﺑﻴﺸﺘﺮﻳﻦ ﻧﻘﺎط اﻧﺸﻌﺎبِ ﺣﺮوﻓﻲ ﻛﻪ داراي ﻣﻨﺤﻨﻲ ﺑﺴﺘﻪ ﻫﺴﺘﻨﺪ، ﻣﺮﺑﻮط ﺑﻪ ﺣﺮف ”ط“ ﻣﻲﺑﺎﺷﺪ ﻛﻪ ﺑﺴﺘﻪ ﺑﻪ ﻧﻮع ﻗﻠﻢِ ﻣﻮرد اﺳﺘﻔﺎده ﺣﺪاﻛﺜﺮ در دو ﻧﻘﻄﻪ ﺑﺮ روي ﻣﻨﺤﻨـﻲ ﺑﺴـﺘﻪ داراي ﻧﻘﻄـﻪ اﻧﺸـﻌﺎب ﻣـﻲﺑﺎﺷـﺪ. ﺑﻴﺸﺘﺮﻳﻦ ﻧﻘﺎط اﻧﺸﻌﺎﺑﻲ ﺑﺮ روي ﻳﻚ ﻣﻨﺤﻨﻲ ﺑﺴﺘﻪ زﻣﺎﻧﻲ اﺗﻔﺎق ﻣﻲاﻓﺘﺪ ﻛﻪ ﺣﺮف ”ط“ ﺑﻪ ﻳﻚ ﺣﺮف دﻳﮕﺮ ﭼﺴـﺒﻴﺪه ﺑﺎﺷـﺪ ﻛﻪ ﻣﻘﺪار آن 3 ﻣﻲﺑﺎﺷﺪ. ﺑﻨﺎﺑﺮاﻳﻦ در اﻧﺠﺎم اﻟﮕﻮرﻳﺘﻢ اﮔﺮ در ﻳﻚ ﻣﺴﻴﺮ، ﺑﻪ ﺑﻴﺸﺘﺮ از ﺳﻪ ﻧﻘﻄـﻪ اﻧﺸـﻌﺎﺑﻲ ﺑﺮﺧـﻮرد ﻛـﺮدﻳﻢ، ﻣﻄﻤﺌﻦ ﻫﺴﺘﻴﻢ ﻛﻪ در آن ﻣﺴﻴﺮ، ﻣﻨﺤﻨﻲ ﺑﺴﺘﻪاي وﺟﻮد ﻧﺨﻮاﻫﺪ داﺷﺖ.
3-5-5- اﺳﺘﺨﺮاج اﺳﺘﺮوك ﻫﺎ
اﺑﺘﺪا ﺑﻪ ﺗﻌﺮﻳﻒ اﺳﺘﺮوك[61] ﻣﻲﭘﺮدازﻳﻢ.
اﺳﺘﺮوك: ﺑﻪ ﻳﻚ ﻣﺠﻤﻮﻋﻪ از ﭘﻴﻜﺴﻞﻫﺎي ﻣﺘﺼﻞ ﺑﻪ ﻫﻢ در ﺗﺼﻮﻳﺮ ﻧﺎزك ﺷﺪه، ﻳﻚ اﺳﺘﺮوك ﮔﻔﺘﻪ ﻣﻲﺷﻮد.
اﮔﺮ ﻫﻤﻪ ﭘﻴﻜﺴﻞﻫﺎي ﻳﻚ اﺳﺘﺮوك داراي ﻫﻤﺴﺎﻳﮕﻲﻫﺎي ﻫﺸﺘﮕﺎﻧﻪ ﻛﻤﺘﺮ از 2 ﺑﺎﺷﻨﺪ، ﺑﻪ آن ﺗـﻚاﺳـﺘﺮوك[62] و در ﻏﻴـﺮ اﻳﻦ ﺻﻮرت ﺑﻪ آن ﭼﻨﺪاﺳﺘﺮوك[63] ﮔﻔﺘﻪ ﻣﻲﺷﻮد. در واﻗﻊ ﺗﻚاﺳﺘﺮوكﻫﺎ، اﮔﺮ ﺑﻪ ﺻﻮرت ﻳﻚ ﻣﻨﺤﻨﻲ ﺑﺴﺘﻪ ﻧﺒﺎﺷـﻨﺪ، ﻓﻘـﻂ و ﻓﻘﻂ داراي 2 ﻧﻘﻄﻪ اﻧﺘﻬﺎﻳﻲ ﻣﻲﺑﺎﺷﻨﺪ و ﭼﻨﺪاﺳﺘﺮوكﻫﺎ ﺣﺪاﻗﻞ داراي ﻳﻚ ﻧﻘﻄﻪ اﻧﺸﻌﺎب ﻣﻲﺑﺎﺷﻨﺪ. در شکل 3‑15ﭼﻨـﺪ ﻧﻤﻮﻧﻪ از اﺳﺘﺮوكﻫﺎ ﻧﺸﺎن داده ﺷﺪه اﺳﺖ.
شکل 3‑15 ﭼﻨﺪ ﻧﻤﻮﻧﻪ از اﺳﺘﺮوك ﻫﺎي ﺗﻚ و ﭼﻨﺪ اﺳﺘﺮوﻛﻲ
ﺑﺮاي ﺗﺸﺨﻴﺺ ﻋﻨﺎﺻﺮ ﺗﺸﻜﻴﻞدﻫﻨﺪه ﺣﺮوف ﺑﺎﻳﺪ ﺑﺘﻮاﻧﻴﻢ اﺳﺘﺮوكﻫﺎي ﻫﺮ زﻳﺮﻛﻠﻤﻪ را ﺟﺪا ﻛﻨﻴﻢ ﺗﺎ بتوانیم در ﻣﺮاﺣـﻞ ﺑﻌﺪي ﺑﺎ اﺳﺘﻔﺎده از ﺗﺒﺪﻳﻞ ﻫﺎف، ﻧﻮع ﺧﻄﻮط ﻫﺮ اﺳﺘﺮوك را ﺷﻨﺎﺳﺎﻳﻲ ﻛﻨﻴﻢ. در ﺿﻤﻦ باید چند استروک ها را نیز به اﺳﺘﺮوك ﺗﺒﺪﻳﻞ ﻛﻨﻴﻢ. ﺑﺮاي اﻳﻦ ﻛﺎر ﺑﻪ ﺻﻮرت ﻓﻠﻮﭼﺎرت شکل 3‑16ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ.
شکل 3‑16 اﻟﮕﻮرﻳﺘﻢ اﺳﺘﺨﺮاج اﺳﺘﺮوك ﻫﺎ از ﺗﺼﻮﻳﺮ
در ﻣﺮﺣﻠﻪ ﻗﺒﻞ (ﺑﺨﺶ 3-5-4) ﻣﻨﺤﻨﻲﻫﺎي ﺑﺴﺘﻪ در زﻳﺮﻛﻠﻤﻪ را ﺷﻨﺎﺳـﺎﻳﻲ ﻛـﺮدﻳﻢ. ﭘـﺲ ﻣﻄﻤـﺌﻦ ﻫﺴـﺘﻴﻢ ﻛـﻪ در زﻳﺮﻛﻠﻤﻪ، ﻓﻘﻂ اﺳﺘﺮوكﻫﺎي ﺗﻚ و ﭼﻨﺪ اﺳﺘﺮوﻛﻲ وﺟـﻮد دارد. ﺑـﺎ اﺳـﺘﻔﺎده از رواﺑـﻂ
(3-7) و (3-8) ﺑـﻪ ﺗﺮﺗﻴـﺐ ﻧﻘـﺎط اﻧﺘﻬﺎﻳﻲ و اﻧﺸﻌﺎب را ﭘﻴﺪا ﻣﻲﻛﻨﻴﻢ و در آراﻳﻪاي ذﺧﻴﺮه ﻣﻲﻛﻨﻴﻢ. از ﺳﻤﺖ راﺳﺖﺗﺮﻳﻦ ﻧﻘﻄﻪ اﻧﺘﻬﺎﻳﻲ ﺷﺮوع ﻣﻲﻛﻨﻴﻢ و روي ﭘﻴﻜﺴﻞﻫﺎي ﺳﻴﺎه ﺣﺮﻛﺖ ﻣﻲﻛﻨﻴﻢ. اﮔﺮ ﺑﻪ ﻧﻘﻄﻪ اﻧﺘﻬﺎﻳﻲ دﻳﮕﺮ رﺳﻴﺪﻳﻢ، اﻳﻦ ﻣﺴﻴﺮ ﻣﺮﺑﻮط ﺑﻪ ﻳﻚ ﺗﻚاﺳﺘﺮوك ﻣﻲﺑﺎﺷﺪ ﻛﻪ در اﻳﻦ ﺻﻮرت آن را از ﺗﺼﻮﻳﺮ اﺻﻠﻲ ﺣﺬف ﻛﺮده، ﻫﺮ دو ﻧﻘﺎط اﻧﺘﻬﺎﻳﻲ را از آراﻳﻪ ﻧﻘﺎط اﻧﺘﻬﺎﻳﻲ ﺣﺬف ﻣﻲﻛﻨﻴﻢ و آن ﻣﺴـﻴﺮ را در ﻣﺠﻤﻮﻋﻪ اﺳﺘﺮوكﻫﺎي ﺗﺼﻮﻳﺮ ذﺧﻴﺮه ﻣﻲﻛﻨﻴﻢ. در ﻏﺮ اﻳﻦ ﺻﻮرت اﮔﺮ ﺑﻪ ﻳﻚ ﻧﻘﻄـﻪ اﻧﺸـﻌﺎﺑﻲ رﺳـﻴﺪﻳﻢ، اﻳـﻦ ﻣﺴـﻴﺮ ﻣﺮﺑﻮط ﺑﻪ ﻳﻜﻲ از ﻣﺴﻴﺮﻫﺎي ﻧﻘﻄﻪ ﭼﻨﺪ اﻧﺸﻌﺎﺑﻲ اﺳﺖ ﻛﻪ ﺑﺎز ﻫﻢ ﻫﺮ دو ﻧﻘﺎط اﻧﺘﻬﺎﻳﻲ و اﻧﺸﻌﺎﺑﻲ را ﺑﻪ ﺗﺮﺗﻴﺐ از آراﻳﻪ ﻧﻘـﺎط اﻧﺘﻬﺎﻳﻲ و اﻧﺸﻌﺎﺑﻲ ﺣﺬف ﻣﻲﻛﻨﻴﻢ و آن ﻣﺴﻴﺮ را در ﻣﺠﻤﻮﻋﻪ اﺳﺘﺮوكﻫﺎي ﺗﺼﻮﻳﺮ ذﺧﻴﺮه ﻣـﻲﻛﻨـﻴﻢ. اﻳـﻦ کـﺎر را ﺗﺎ ﺟـﺎﻳﻲ اداﻣﻪ ﻣﻲدﻫﻴﻢ ﻛﻪ دﻳﮕﺮ ﻫﻴﭻ ﭘﻴﻜﺴﻠﻲ در ﺗﺼﻮﻳﺮ ﺑﺎﻗﻲ ﻧﻤﺎﻧﺪ.
اﻛﻨﻮن ﺑﺎ اﺳﺘﻔﺎده از ﺗﺒﺪﻳﻞ ﻫﺎف ﺑﺎﻳﺪ ﺧﻄﻮط اﺳﺘﺮوكﻫﺎ را ﺷﻨﺎﺳﺎﻳﻲ ﻛﻨﻴﻢ.
3-5-6- اﺳﺘﺨﺮاج ﺧﻄﻮط از اﺳﺘﺮوك ﻫﺎ
روشﻫﺎي ﻣﺘﻔﺎوﺗﻲ ﺑﺮاي اﺳﺘﺨﺮاج ﺧﻄﻮط اﺳﺘﺮوكﻫﺎ وﺟﻮد دارد. ﻣﺘﺪاولﺗﺮﻳﻦ روش اﺳﺘﻔﺎده از ﺗﺒﺪﻳﻞ ﻫﺎف اﺳﺖ.
3-5-6-1- ﺗﺒﺪﻳﻞ ﻫﺎف
ﺗﺒﺪﻳﻞ ﻫﺎف ﻳﻚ روش اﺳﺘﺎﻧﺪارد ﺑﺮاي آﺷﻜﺎرﻛﺮدن وﻳﮋﮔﻲﻫﺎ از ﺟﻤﻠﻪ ﺧﻂﻫﺎ در ﺗﺼﻮﻳﺮ ﻣﻲﺑﺎﺷﺪ. ﻣﻔﻬـﻮم اﺻـﻠﻲ آن درﺗﻌﺮﻳﻒ ﻳﻚ ﻧﮕﺎﺷﺖ ﺑﻴﻦ ﻓﻀﺎي ﺗﺼﻮﻳﺮ[64] و ﻓﻀﺎي ﭘﺎراﻣﺘﺮ[65] ﻣﻲ ﺑﺎﺷﺪ. ﺑﺪﻳﻦ ﺻﻮرت ﻛﻪ ﻧﻘﺎط ﻳﺎ ﻟﺒﻪﻫﺎ در ﻓﻀـﺎي ﭘـﺎراﻣﺘﺮ ﺑـﻪ ﺻﻮرت رأسﻫﺎي ﻣﻨﻔﺮد ﻧﮕﺎﺷﺘﻪ ﻣﻲﺷﻮﻧﺪ. ﺳﻠﻮلﻫﺎي اﻧﺘﺨﺎب ﺷﺪه در ﻓﻀﺎي ﭘﺎراﻣﺘﺮ ﻣﻄـﺎﺑﻖ ﺑـﺎ ﻫﻤـﻪ دﺳـﺘﻪ ﻧﻘﻄـﻪﻫـﺎ در ﺗﺼﻮﻳﺮ اﻧﺒﺎﺷﺘﻪ ﻣﻲﺷﻮﻧﺪ. ﻣﺎﻛﺰﻳﻤﻢ ﻣﺤﻠﻲ در اﻧﺒﺎﺷﺘﮕﺮ ﺑﺎ ﭘﺎراﻣﺘﺮﻫﺎي ﺷﻜﻞ ﻣﺸﺨﺺ ﺷﺪه ﻣﻄﺎﺑﻘﺖ ﻣﻲﻛﻨﺪ.
ﻓﺮض ﻛﻨﻴﺪ ﺑﺮاي n ﻧﻘﻄﻪ از ﺗﺼﻮﻳﺮ ﻣﻲ ﺧﻮاﻫﻴﻢ زﻳﺮ ﻣﺠﻤﻮﻋﻪ ﻫﺎﻳﻲ از اﻳﻦ ﻧﻘﺎط را ﻛﻪ روي ﺧﻄﻮط راﺳﺖ ﻗـﺮار دارﻧـﺪ، ﭘﻴﺪا ﻛﻨﻴﻢ. ﻳﻚ راه ﺣﻞ ﻣﻤﻜﻦ اﻳﻦ اﺳﺖ ﻛﻪ اﺑﺘﺪا ﺗﻤﺎم ﺧﻄﻮﻃﻲ را ﻛﻪ ﺑﻪ ﻫﺮ زوج ﻧﻘﻄﻪ ﻣﻌﻴﻦ ﻣﻲﺷﻮﻧﺪ، ﭘﻴﺪا ﻛﻨﻴﻢ. ﻣﺸﻜﻞ اﻳﻦ روال اﻳﻦ اﺳﺖ ﻛﻪ ﺷﺎﻣﻞ ﭘﻴﺪا ﻛﺮدن 2n(n − 1) / 2 ~ n ﺧﻂ و ﺳﭙﺲ اﺟﺮاي 3 (n)(n(n − 1)) / 2 ~ nﻣﻘﺎﻳﺴـﻪ ﻫﺮ ﻧﻘﻄﻪ ﺑﺎ ﺗﻤﺎم ﺧﻄﻮط اﺳﺖ. اﻳﻦ روش در ﺗﻤﺎم ﻛﺎرﺑﺮدﻫﺎ ﺟﺰ ﺗﻌﺪادي از ﻛﺎرﺑﺮدﻫﺎي ﻛﻮﭼﻚ، ﻣﺎﻧﻊ ﻣﺤﺎﺳﺒﺎﺗﻲ دارد.
ﻫﺎف [1962] راه دﻳﮕﺮي را ﭘﻴﺸﻨﻬﺎد ﻛﺮد ﻛﻪ ﻣﻌﻤﻮﻻً ﺑﺎ ﻋﻨﻮان ﺗﺒﺪﻳﻞ ﻫﺎف ﺑﻪ آن اﺷﺎره ﺷﺪه اﺳﺖ. ﻧﻘﻄﻪ (xi , yi) و ﻣﻌﺎدﻟﻪ ﻛﻠﻲ ﻳﻚ ﺧﻂ راﺳﺖ در ﻗﺎﻟﺐ ﺷـﻴﺐ-ﻋـﺮض از ﻣﺒـﺪا، yi = axi+bرا در ﻧﻈـﺮ ﺑﮕﻴﺮﻳـﺪ. ﺧﻄـﻮط ﺑﺴـﻴﺎري از (xi , yi) ﻋﺒﻮر ﻣﻲﻛﻨﻨﺪ، ﻛﻪ ﻫﺮ ﻳﻚ از آﻧﻬﺎ ﺑﺎزاي ﻣﻘﺎدﻳﺮي از aو b ﻣﻌﺎدﻟﻪ yi =axi+b را ﺑﺮآورده ﻣﻲﻛﻨﻨﺪ. ﺑﺎ اﻳـﻦ ﺣﺎل ﺑﺎ ﻧﻮﺷﺘﻦ اﻳﻦ ﻣﻌﺎدﻟﻪ ﺑﻪ ﺻﻮرت-axi + yi b = و در ﻧﻈﺮ ﮔﺮﻓﺘﻦ ﺻﻔﺤﻪ (ab ﻛﻪ ﻓﻀﺎي ﻋﺎﻣﻞ ﻧﻴـﺰ ﺧﻮاﻧـﺪه ﻣـﻲ ﺷﻮد)، ﺑﺎزاي ﻳﻚ زوج ﺛﺎﺑﺖ (xi , yi) ﺗﻨﻬﺎ ﻳﻚ ﻣﻌﺎدﻟﻪ ﺧﻂ در ﺻﻔﺤﻪ ab ﺑﺪﺳﺖ ﻣﻲآﻳـﺪ. ﮔﺬﺷـﺘﻪ از اﻳـﻦ، ﻧﻘﻄـﻪ دﻳﮕـﺮ (xi , yi) ﻧﻴﺰ در ﻓﻀﺎي ﻋﺎﻣﻞ، ﺧﻄﻲ ﻣﺮﺑﻮط ﺑﻪ ﺧﻮد دارد و اﻳﻦ ﺧﻂ ﺑﺎ ﺧﻂ ﻣﺮﺑـﻮط ﺑـﻪ (xi , yi) در )′ (a′, b ﺗﻼﻗـﻲ ﻣﻲ ﻛﻨﺪ، ﻛﻪ ′a ﺷﻴﺐ و ′b ﻋﺮض از ﻣﺒﺪا ﺧﻂ ﮔﺬرﻧﺪه ﺑـﺮ دو ﻧﻘﻄـﻪ ﺑـﻪ (xi , yi) و ) (xj , yj در ﺻـﻔﺤﻪ xy اﺳـﺖ. در واﻗﻊ ﻫﺮ ﻳﻚ از ﻧﻘﺎط روي اﻳﻦ ﺧﻂ، ﺧﻄﻲ در ﻓﻀﺎي ﻋﺎﻣﻞ دارد ﻛﻪ ﻫﻤﻪ آﻧﻬﺎ در )′(a′, b ﺗﻼﻗﻲ ﻣﻲﻛﻨﻨـﺪ. شکل 3‑17 اﻳﻦ ﻣﻔﺎﻫﻴﻢ را ﻧﻤﺎﻳﺶ ﻣﻲدﻫﺪ.
شکل 3‑17 (اﻟﻒ) ﺻﻔﺤﻪ xy (ب) ﻓﻀﺎي ﻋﺎﻣﻞ
ﺟﺬاﺑﻴﺖ ﻣﺤﺎﺳﺒﺎﺗﻲ ﺗﺒﺪﻳﻞ ﻫﺎف ﻧﺎﺷﻲ از ﺗﻘﺴﻴﻢ ﻓﻀﺎي ﭘﺎراﻣﺘﺮ ﺑﻪ ﺳﻠﻮﻟﻬﺎي ﻣﺸﻬﻮر اﻧﺒﺎﺷﺘﮕﺮ[66] اﺳﺖ، ﻛﻪ در آن ﺑﺎزهﻫﺎي ) aminو (amaxو ) bminو (bmax ﻣﺤﺪودهﻫﺎي ﻣﻮرد اﻧﺘﻈﺎر ﻣﻘﺎدﻳﺮ ﺷﻴﺐ و ﻋﺮض از ﻣﺒﺪأ ﻫﺴـﺘﻨﺪ. ﺳـﻠﻮلهاي ) jو (iﺑـﺎ ﻣﻘﺪار اﻧﺒﺎﺷﺘﮕﺮ )، H(i, jﻣﺘﻨﺎﻇﺮ ﺑﺎ ﻣﺮﺑﻊ ﻣﺮﺑﻮط ﺑﻪ ﻣﺨﺘﺼﺎت ﻓﻀﺎي ﻋﺎﻣﻞ
((aiو bj اﺳﺖ. در اﺑﺘﺪا اﻳﻦ ﺳﻠﻮلﻫﺎ ﺻﻔﺮ ﻗﺮار داده ﻣﻲﺷﻮﻧﺪ. آﻧﮕﺎه ﺑﺮاي ﻫﺮ ﻧﻘﻄﻪ ) xkو (ykدر ﺻﻔﺤﻪ ﺗﺼﻮﻳﺮ، ﻋﺎﻣﻞ aرا ﺑﺮاﺑﺮ ﻫﺮ ﻳﻚ از ﻣﻘﺎدﻳﺮ زﻳﺮ ﺗﻘﺴﻴﻢ ﻣﺠـﺎز روي اﺳﺘﻔﺎده از ﻣﻌﺎدﻟﻪ b=-xka+yk ﻣﻘﺪار b ﻣﺘﻨﺎﻇﺮ را ﭘﻴـﺪا ﻣـﻲﻛﻨـﻴﻢ. آﻧﮕـﺎه bﻫـﺎي ﺣﺎﺻـﻞ را ﺑـﻪ ﻧﺰدﻳﻜﺘﺮﻳﻦ ﻣﻘﺪار ﻣﺠﺎز روي ﻣﺤﻮر bﮔﺮد ﻣﻲﻛﻨﻴﻢ. اﮔﺮ ﺑﺎ اﻧﺘﺨﺎب ، apﺟﻮاب bqﺑﻪ دﺳﺖ آﻳﺪ، ﻗﺮار ﻣﻲدﻫﻴﻢH(p,q)=H(p,q)+1 .
در ﭘﺎﻳﺎن اﻟﮕﻮرﻳﺘﻢ، ﻣﻘﺪار Mدر ) H(i, jﻣﺘﻨﺎﻇﺮ ﺑﺎ Mﻧﻘﻄﻪ در ﺻﻔﺤﻪ xyاﺳـﺖ ﻛـﻪ روي ﺧـﻂ y=aix+bj ﻗـﺮار دارﻧﺪ. دﻗﺖ ﻫﻤﺮاﺳﺘﺎﻳﻲ[67] اﻳﻦ ﻧﻘﺎط ﺑﺎ ﺗﻌﺪاد ﺗﻘﺴﻴﻢﻫﺎي ﺻﻔﺤﻪ abﺗﻌﻴﻴﻦ ﻣﻲﺷﻮد.
ﻳﻚ ﻣﺸﻜﻞ در ﻣﻮرد اﺳﺘﻔﺎده از ﻣﻌﺎدﻟﻪ y=ax+b ﺑﺮاي ﺗﻮﺻﻴﻒ ﺧﻂ اﻳﻦ اﺳﺖ ﻛﻪ وﻗﺘﻲ ﺧﻂ ﻋﻤﻮدي ﻣﻲﺷﻮد، ﺷـﻴﺐ 1و ﻋﺮض از ﻣﺒﺪا آن ﺑﻪ ﺑﻲﻧﻬﺎﻳﺖ ﻣﻴﻞ ﻣﻲﻛﻨﺪ. ﻳﻚ راه ﺣﻞ ﺑﺮاي اﻳﻦ ﻣﺸﻜﻞ اﺳـﺘﻔﺎده از راﺑﻄـﻪ (3-9) ﺗﻮﺻـﻴﻒ ﻧﺮﻣـﺎل[68] ﺧﻂ اﺳﺖ:
ρ = x cosθ + y sinθ (3-9)
شکل 3‑18 ﻣﻌﻨﺎي ﭘﺎراﻣﺘﺮﻫﺎي ﻣﻌﺎدﻟﻪ (3-9) را ﻧﺸﺎن ﻣﻲدﻫﺪ. از ﻧﻈـﺮ ﺟـﺪول ﺗﺸـﻜﻴﻞ اﻧﺒﺎﺷـﺘﮕﺮﻫﺎ، اﻳـﻦ ﺗﻮﺻـﻴﻒ ﺗﻔﺎوﺗﻲ ﺑﺎ ﺗﻮﺻﻴﻒ ﺷﻴﺐ- ﻋﺮض از ﻣﺒﺪا ﻧﺪارد. ﺑﺎ اﻳﻦ ﺣﺎل ﻣﻨﺤﻨﻲﻫﺎ در ﺻﻔﺤﻪ ρθﺑﻪ ﺟـﺎي ﺧﻄـﻮط راﺳـﺖ ﺳﻴﻨﻮﺳـﻲ ﻫﺴﺘﻨﺪ. ﻣﺎﻧﻨﺪ ﮔﺬﺷﺘﻪ Mﻧﻘﻄﻪ ﻫﻤﺮاﺳﺘﺎ ﻛﻪ روي ﺧﻂ ρi=xcosθj+ysinθj ﻗﺮار داﺷﺘﻪ ﺑﺎﺷﻨﺪ، در ﻓﻀـﺎي ﻋﺎﻣـﻞ M ،ρθﻣﻨﺤﻨﻲ ﺳﻴﻨﻮﺳﻲ دارﻧﺪ ﻛﻪ در (ρi ,θj) ﺗﻼﻗﻲ ﻣﻲ ﻛﻨﻨﺪ. ﺑﺎ اﻓﺰاﻳﺶ ﮔﺎم ﺑﻪ ﮔﺎم θو ﭘﻴـﺪا ﻛـﺮدن ρﻫـﺎي ﻣﺘﻨﺎﻇﺮ، Mدراﻳﻪ در اﻧﺒﺎﺷﺘﮕﺮ )H(i, j ﻛﻪ ﻣﺮﺑﻮط ﺑﻪ ﺳﻠﻮل ﻣﻌﻴﻦ ﺷﺪه ﺑﺎ (ρi ,θj) اﺳﺖ، ﺑﺪﺳﺖ ﻣﻲ آﻳـﺪ. ﺑـﻪ ﻋﻨـﻮان ﻣﺜﺎل در شکل 3‑19 ﺧﻂﻫﺎي ﻣﺨﺘﻠﻒ ﺗﺼﻮﻳﺮ آﺷﻜﺎر ﻣﻲﺷﻮد.
شکل 3‑18 (اﻟﻒ)ﻧﻤﺎﻳﺶ ﻧﺮﻣﺎل ﻳﻚ ﺧﻂ (ب) ﭼﻨﺪي ﺳﺎزي ﺻﻔﺤﻪ ρθ ﺑﻪ ﺳﻠﻮل ﻫﺎ
شکل 3‑19 آراﻳﻪ اﻧﺒﺎﺷﺘﮕﺮ(ﺳﻪ ﭘﻴﻚ ﻗﺎﺑﻞ ﻣﺸﺎﻫﺪه) [40]
ﻫﻤﭽﻨﻴﻦ در شکل 3‑20 اﻟﮕﻮرﻳﺘﻢ ﺗﺒﺪﻳﻞ ﻫﺎف ﻧﺸﺎن داده ﺷﺪه اﺳﺖ.
For each pi=(Xi, Yi) in I do For θ=0 to 2π Step Δθ do ρ = Xi cosθ + Yi sinθ H(ρ, θ)= H(ρ, θ)+1 End for End for |
شکل 3‑20 اﻟﮕﻮرﻳﺘﻢ ﺗﺒﺪﻳﻞ ﻫﺎف[35]
3-5-7- اﻟﮕﻮرﻳﺘﻢ ﺗﺒﺪﻳﻞ ﻫﺎف اﺻﻼح ﺷﺪه
همان طور که توضیح داده شد، تبدیل هاف بین هر دو نقطه از تصویر، یک خط را ایجاد میکند. در این صورت برای استخراج خطوط اصلی تصویر، با خطوط زیادی در ارتباط هستیم که باید با یک الگوریتم خاص خطوط اضافی حذف شوند [40]. برای این کار از کدهای زنجیرهای تصویر استفاده میکنیم.
3-5-7-1- ﻛﺪ زﻧﺠﻴﺮه اي
ﺑﺮاي ﺗﺼﺎوﻳﺮِ ﻧﺎزك ﺷﺪه ﺣﺮوف و زﻳﺮﻛﻠﻤﺎت ﻓﺎرﺳﻲ ﻣﻲﺗﻮاﻧﻴﻢ ﻛﺪ زﻧﺠﻴﺮهاي اﻳﺠﺎد ﻛﻨﻴﻢ و آن ﺑﻪ اﻳﻦ ﺻﻮرت اﺳﺖ ﻛـﻪ ﺑﺮاي ﻫﺮ ﭘﻴﻜﺴﻞِ ﺳﻴﺎه از ﺗﺼﻮﻳﺮ، ﻫﻤﺴﺎﻳﮕﻲﻫﺎي ﻫﺸﺘﮕﺎﻧﻪ آن را در ﻧﻈﺮ ﻣﻲﮔﻴﺮﻳﻢ و ﺑﺎ ﺗﻮﺟﻪ ﺑـﻪ شکل 3‑21 ﺑـﻪ ﺗﺮﺗﻴﺐ ﺣﺮﻛﺖ ﺑﺮ روي ﭘﻴﻜﺴﻞﻫﺎي ﺷﻜﻞ، ﻛﺪ آن ﺟﻬﺖ در ﻛﺪ زﻧﺠﻴﺮهاي ذﺧﻴﺮه ﻣﻲﺷﻮد.
شکل 3‑21 ﻛﺪﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻫﺮ ﺟﻬﺖ از ﭘﻴﻜﺴﻞ ﻫﺎي ﻫﺸﺘﮕﺎﻧﻪ
ﺑﺮاي ﻣﺜﺎل در شکل 3‑21 ﺑﺮاي ﺣﺮف ”ب“ ﻛﺪ زﻧﺠﻴﺮهاي ﻧﺸﺎن داده ﺷﺪه اﺳﺖ. ﻧﻘﻄﻪ ﺷﺮوع ﺑﺮ روي ﺷﻜﻞ از ﺳـﻤﺖ راﺳﺖ و ﺑﺎﻻي ﺗﺼﻮﻳﺮ اﻧﺘﺨﺎب ﻣﻲﺷﻮد.
ﻛﺪ زﻧﺠﻴﺮهاي اﻳﻦ اﻣﻜﺎن را ﺑﻪ ﻣﺎ ﻣﻲدﻫﺪ ﻛﻪ ﻫﻤﻮاره ﺑﺮ روي آن ﭘﻴﻜﺴﻞﻫﺎﻳﻲ ﻛﻪ اﺳﻜﻠﺖ اﺻﻠﻲ ﺣﺮف را ﺗﺸﻜﻴﻞ ﻣـﻲ دﻫﻨﺪ، ﺣﺮﻛﺖ ﻛﻨﻴﻢ و ﺗﺒﺪﻳﻞ ﻫﺎف را ﺑﻪ ﻧﺤﻮي ﺑﺮ روي آن اعمال کنیم که منجر به الگوریتم هاف اصلاح شده میشود.
اﮔﺮ ﺗﺒﺪﻳﻞ ﻫﺎف ﻣﻌﻤﻮﻟﻲ را روي ﻣﺜﻼً ﺣﺮف ”ب“ ﻛﻪ در شکل 3‑21 آﻣﺪه اﻧﺠﺎم دﻫﻴﻢ، داراي ﺧﻄﻮط اضافی زیادی ﺧﻮاﻫﺪ ﺑﻮد. ﺑﺮاي ﻣﺜﺎل ﻳﻜﻲ از اﻳﻦ ﺧﻄﻮط، ﺧﻂ اتصال پیکسل اول و پیکسل آخر میباشد. این خط از خطوط اصلی شکل نیست. ﺑﺮاي ﺣﻞ اﻳﻦ ﻣﺸﻜﻞ از ﻛﺪ زﻧﺠﻴﺮهای اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ و ﺗﻨﻬﺎ ﺧﻄﻮﻃﻲ را ﻛﻪ ﺑﺮ روی بدنه اصلی حرف میباشد جدا میکند. شبه کد این الگوریتم با زاویه 45 درجه در [38] انجام شده و در شکل 3‑22 نشان داده شده است.
For each pi=(Xi, Yi) in I do For θ=0 to 2π Step Δθ do If θ is VALID then ρ = Xi cosθ + Yi sinθ H(ρ, θ)= H(ρ, θ)+1 End if End for End for |
شکل 3‑22 الگوریتم تبدیل هاف اصلاح شده [38]
اﻳﻦ اﻟﮕﻮرﻳﺘﻢ ﺗﻤﺎﻣﻲ ﺧﻄﻮط ﺗﺸﻜﻴﻞ دﻫﻨﺪه ﺣﺮف را اﺳﺘﺨﺮاج ﻣﻲﻛﻨﺪ و اﮔﺮ ﻧﻮﻳﺰي روي ﺧﻄﻮط ﺑﺎﺷﺪ، آﻧﻬﺎ را ﻧﻴـﺰ ﺑـﻪ ﻋﻨﻮان ﺧﻄﻮط، ﻣﺸﺨﺺ ﻣﻲﻛﻨﺪ. ﺑﺮاي اﻳﻨﻜﻪ ﺑﺘﻮاﻧﻴﻢ ﺗﻨﻬﺎ ﺧﻄﻮط اصلی شکل را ﭘﻴـﺪا ﻛﻨـﻴﻢ از اﻟﮕـﻮرﻳﺘﻢ ﻫـﺎف آرامﺷـﺪه اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ. در اﻳﻦ اﻟﮕﻮرﻳﺘﻢ ﺑﻪ ﺟﺎي اﺳﺘﻔﺎده از 45=θ∆، از 5/22=θ∆ استفاده میکنیم. در اﻳـﻦ ﺣﺎﻟـﺖ ﻫﻤﺎنﻃﻮر ﻛﻪ در شکل 3‑24 ﻧﺸﺎن داده ﺷﺪه اﺳﺖ، ﺗﻨﻬﺎ ﺧﻄﻮط اﺻﻠﻲ ﺷﻜﻞ اﺳﺘﺨﺮاج ﻣﻲﺷﻮد ﻛﻪ اﻟﺒﺘﻪ ﺗﻤﺎﻣﻲ ﭘﻴﻜﺴﻞﻫﺎی آن دقیقاً بر روی شکل حرف قرار ندارند.
ﻫﺮ ﭘﻴﻜﺴﻞ در ﻳﻚ ﺗﺼﻮﻳﺮ ﻣﺘﻌﻠﻖ ﺑﻪ ﻳﻚ ﺧﻂ ﺑﺎ ﻳﻜـﻲ از 8 زاوﻳـﻪ 0، 5/22، 45، 5/67، 90، 5/112، 135 و 5/157 درﺟﻪ ﻣﻲ ﺑﺎﺷﺪ. ﺑﺎ ﻣﺸﺎﻫﺪه ﻫﻤﺴﺎﻳﮕﻲ 3×3 ﻳﻚ ﭘﻴﻜﺴﻞ، ﺗﻌﺪاد ﭘﻴﻜﺴﻞ ﻫﺎي ﺳﻴﺎه در زواﻳـﺎي اﺻـﻠﻲ 0، 45، 90 و 135 ﻣﺤﺎﺳﺒﻪ ﻣﻲﺷﻮﻧﺪ و به ترتیب D6، D4، D2 و D0 نامیده میشوند. با توجه به این مقادیر برای هر زاویه اندازهای که W نامیده میشود محاسبه میگردد و خانه های فضای عامل با توجه به این مقادیر که 1 یا 2 میباشند جمع میگردند. این الگوریتم که هاف اصلاح شده نامیده شده، در شکل 3‑23 نشان داده شده است.
For each pixel at (xi, yi) coordinate do D0=P0+P4 –for 0 degree D2=P1+P5 –for 45 degree D4=P2+P6 –for 90 degree D6=P3+P7 –for 135 degree D8=D0 For i=0:7 θ=i×π/8 ρ = Xi cosθ + Yi sinθ H(ρ, θ)= H(ρ, θ)+W(i) End for End for |
شکل 3‑23 الگوریتم تبدیل هاف اصلاح شده
3-5-8- ﺗﺒﺪﻳﻞ اﺳﺘﺮوك ﻫﺎ ﺑﻪ ﻋﻨﺎﺻﺮ اﺑﺘﺪاﻳﻲ ﺣﺮوف
در مرحله قبل خطوط هر استروک از زیرکلمه تشخیص داده شد و هر خط به یکی از عناصر ابتدایی اصلی – H، V، B و O- نسبت داده شد. همان طور که در شکل 3‑24 نشان داده شده است، برای هر استروک ممکن است عناصر ابتدایی زیادی نسبت داده شده باشند که با استفاده از قوانینی آنها را به عناصر ابتدایی دیگر – C، U و L- تبدیل میکنیم. همان طور که در شکل 3‑24 میبینیم، استروک دوم از حرف «ح» دارای سه خط اصلی به زوایای ۴۵ ، ٩٠ و صفر درجه است که به ترتیب به عناصر ابتدایی اصلی S، V و H نسبت داده می شوند. چون برای هر استروک باید تنها یک عنصر اصلی نسبت داده شود از این رو از قوانین زیر برای این امر استفاده میشود:
ﻗﺎﻧﻮن اول: ﻋﻨﺎﺻﺮ اﺑﺘﺪاﻳﻲ اصلی B،S ،V و H با اﺳﺘﻔﺎده از زواﻳﺎي ﺧﻄﻮط ﺗﻌﻴﻴﻦ ﻣﻲﺷﻮﻧﺪ.
ﺑﻪ اﻳﻦ ﺗﺮﺗﻴﺐ اﮔﺮ ﻳﻚ اﺳﺘﺮوك ﺗﻨﻬﺎ ﺷﺎﻣﻞ ﻳﻚ ﺧﻂ ﺑﺎﺷﺪ ﺑﺎ اﺳﺘﻔﺎده از راﺑﻄﻪ (3-10) ﻋﻨﺎﺻﺮ اﺑﺘﺪاﻳﻲ ﺗﻌﻴﻴﻦ ﻣﻲﺷﻮﻧﺪ.
IF Stroke= (3-10)
ﻗﺎﻧﻮن دوم: اﮔﺮ ﺗﺮﺗﻴﺐ ﺧﻄﻮط در ﻳﻚ اﺳﺘﺮوك ﺑﻪ ﺻﻮرت ﻳﻜﻲ از ﺟﻤﻼت راﺑﻄﻪ (3-11) ﺑﺎﺷـﺪ، اﻳـﻦ اﺳـﺘﺮوك را ﺑـﻪ ﻋﻨﺼﺮ اﺑﺘﺪاﻳﻲ C ﻧﺴﺒﺖ ﻣﻲدﻫﻴﻢ.
If Stroke= →primitive=C (3-11)
ﻗﺎﻧﻮن ﺳﻮم: اﮔﺮ ﻣﺎﺗﺮﻳﺲ راﺑﻄﻪ (3-11) راﺑﻪ اﻧﺪازه 90 درﺟﻪ ﺧﻼف ﺟﻬﺖ ﻋﻘﺮﺑﻪﻫﺎي ﺳﺎﻋﺖ ﺑﭽﺮﺧﺎﻧﻴﻢ، ﺑﻪ راﺑﻄـﻪ (3- 12) ﻣﻲرﺳﻴﻢ و آن را ﺑﻪ ﻋﻨﺼﺮ اﺑﺘﺪاﻳﻲ U ﻧﺴﺒﺖ ﻣﻲدﻫﻴﻢ.
If Stroke= →primitive=U (3-12)
ﺗﺒﺼﺮه 1: ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ راﺑﻄﻪ (3-13) اﮔﺮ ﺗﺮﺗﻴﺐ ﺧﻄﻮط در ﻳﻚ ﻣﺠﻤﻮﻋﻪ اﺳـﺘﺮوك ﺑـﻪ ﺻـﻮرت90، 0 و 90 درجه ﺑﺎﺷـﺪ و اﻧﺪازه ﺧﻂ ﺑﺎ زاوﻳﻪ 0 درﺟﻪ ﺑﺰرﮔﺘﺮ از ﻣﺠﻤﻮع اﻧﺪازه دو ﺧﻂ دﻳﮕﺮ ﺑﺎﺷﺪ آﻧﮕﺎه اﻳﻦ اﺳﺘﺮوك، ﻋﻨﺼﺮ اﺑﺘﺪاﻳﻲ H ﻣﻲﺑﺎﺷﺪ.
If Stroke = [90, 0, 90] and NP2 ≥ (NP1+NP3) → primitive = H (3-13)
در راﺑﻄﻪ (3-13) NPiﺗﻌﺪاد ﭘﻴﻜﺴﻞﻫﺎ در ﺧﻂ iام ﻣﻲﺑﺎﺷﺪ.
شکل 3‑24 شکل حرف «ح» و نازک شده آن به همراه کدهای زنجیره ای برای هر استروک
ﺑﺮاي مثال ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ شکل 3‑24 ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﻢ ﻛﻪ ﺑﺮاي اﺳﺘﺮوك اول ﺧﻄﻲ ﺑﺎ زاوﻳﻪ ﺗﻘﺮﻳﺒﺎً ﺻـﻔﺮ درﺟـﻪ ﺗﻮﻟﻴـﺪ ﺷﺪه ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از ﻗﺎﻧﻮن اول، ﻋﻨﺼﺮ اﺑﺘﺪاﻳﻲ H ﺑﺮاي آن در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮد و اﺳﺘﺮوك دوم از ﺣﺮف ”ح“ ﺧﻄﻮﻃﻲ ﺑﺎ زواﻳﺎي 45، 90 و ﺻﻔﺮ اﺳﺖ ﻛﻪ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻗﺎﻧﻮن دوم، ﻋﻨﺼﺮ اﺑﺘﺪاﻳﻲ C ﺑﺮاي اﻳﻦ اﺳﺘﺮوك در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮد.
ﺑﺎ اﺳﺘﻔﺎده از ﭼﻬﺎر ﻗﺎﻧﻮن و ﺗﺒﺼﺮه ﻓﻮق، ﻣﻲﺗﻮاﻧﻴﻢ ﺧﻄﻮط ﻳﻚ اﺳﺘﺮوك را ﺑﺮرﺳﻲ ﻛﺮده و ﻋﻨﺼﺮ اﺑﺘﺪاﻳﻲ را ﻛـﻪ آن اﺳﺘﺮوك را در ﺑﺮﻣﻲﮔﻴﺮد ﺷﻨﺎﺳﺎﻳﻲ ﻛﻨﻴﻢ. ﺣﺎل ﺑﺮاي ﻫﺮ اﺳﺘﺮوك ﻳﻚ ﻋﻨﺼﺮ اﺑﺘﺪاﻳﻲ ﻧﺴﺒﺖ دادهاﻳـﻢ در ﻣﺮﺣﻠـﻪ ﺑﻌـﺪ ﺑـﻪ ﺗﺸﻜﻴﻞ ﺑﺮدار ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف ﻣﻲﭘﺮدازﻳﻢ.
3-6- ﻣﺮﺣﻠﻪ ﺷﻨﺎﺳﺎﻳﻲ
در اﻳﻦ ﻣﺮﺣﻠﻪ ﺑﺎ اﺳﺘﻔﺎده از ﻋﻨﺎﺻﺮ اﺑﺘﺪاﻳﻲ ﺗﺸﻜﻴﻞدﻫﻨﺪه ﺣﺮوف ﻛﻪ ﺑﻪ دﺳﺖ آمده ﺑﻪ ﺗﺸﻜﻴﻞ بردار ﺷﻨﺎﺳﺎﻳﻲ ﺣـﺮوف میپردازیم و با استفاده از این بردار، حروف زیرکلمات را شناسایی میکنیم. الگوریتم اصلی این مرحله در شکل 3-25 نشان داده شده است.
3-6-1- تشکیل آراﻳﻪ ﺷﻨﺎﺳﺎﻳﻲ اﺳﺘﺮوك
ﺑﺮاي ﻫﺮ اﺳﺘﺮوك از ﺗﺼﻮﻳﺮ اﺻﻠﻲ آراﻳﻪاي ﺑﺎ ﻧﺎم SIV[69] تشکیل می شود. اﻳﻦ آراﻳﻪ ﻫﻤـﺎنﻃـﻮر ﻛـﻪ در شکل 3‑26 ﻧﺸﺎن داده ﺷﺪه اﺳﺖ، ﺷﺎﻣﻞ ﻳﻚ محل ﺑﺮاي ﻧﻮع ﻋﻨﺼﺮ، دو ﻣﺤﻞ براي ﻣﻮﻗﻌﻴﺖ و تعداد ﻧﻘﺎط، ﻳﻚ ﻣﺤـﻞ ﺑـﺮاي موﻗﻌﻴـﺖ اﺳﺘﺮوك ﻧﺴﺒﺖ ﺑﻪ ﺧﻂ زﻣﻴﻨﻪ و دو محل ﺑﺮاي ﻣﻮﻗﻌﻴﺖ ﺳﺘﻮنِ اﺑﺘﺪا و اﻧﺘﻬﺎي اﺳﺘﺮوك در ماتریس شکل تصویر می باشند.
در قسمت عنصر ابتدایی ممکن است یک یا چند عنصر ابتدایی ﻗﺮار داﺷﺘﻪ ﺑﺎﺷﻨﺪ.
شکل 3‑26 بردار SIV برای استروک های یک شکل
در ﺑﺮدار SIV ﻣﻜﺎن اول ﺑﺮاي ﻧﻮع ﻋﻨﺼﺮ ﻣﻲﺑﺎﺷـﺪ. ﻫﻤـﺎنﻃـﻮر ﻛـﻪ در ﺑﺨـﺶ 3-5-2 ﺗﻮﺿـﻴﺢ داده ﺷـﺪ، موقعیت و تعداد آﻧﻬﺎ در زﻳﺮﻛﻠﻤﻪ را ﭘﻴﺪا ﻣﻲﻛﻨﻴﻢ و به ترتیب در مکان دوم و سوم مینویسیم. در ﻣﻜﺎن ﭼﻬﺎرم ﻣﻮﻗﻌﻴﺖ ﻧﺴﺒﺖ ﺑﻪ ﺧﻂ زﻣﻴﻨﻪ آورده ﺷﺪه اﺳﺖ ﺑﻪ اﻳﻦ ﻣﻌﻨـﻲ ﻛـﻪ اﮔـﺮ بیش از 70% ﭘﻴﻜﺴﻞﻫﺎي ﻳﻚ اﺳﺘﺮوك در ﺑﺎﻻي ﺧﻂ زﻣﻴﻨﻪ ﺑﺎﺷﺪ، «U»، اﮔـﺮ بیش از 70% ﭘﻴﻜﺴﻞﻫﺎي ﻳﻚ اﺳﺘﺮوك در پایین ﺧﻂ زﻣﻴﻨﻪ ﺑﺎﺷﺪ، «D» و در غیر این صورت «I» در این مکان نوشته میشود. در ﻣﺎﺗﺮﻳﺲ ﺷﻜﻞِ اﺳﺘﺮوك ﻛﻤﺘﺮﻳﻦ و ﺑﻴﺸﺘﺮﻳﻦ ﻣﻘﺪارِ ﺳﺘﻮنِ ﺷﻜﻞِ اﺳﺘﺮوك ﺑﻪ ﺗﺮﺗﻴﺐ در ﻣﻜاﻧﻬﺎي ﭘﻨﭽﻢ و ﺷﺸﻢ ﻧﻮﺷﺘﻪ ﻣﻲﺷﻮد.
ﻫﻤﺎنﻃﻮر ﻛﻪ در ﺑﺨﺶ 3-3 ﺗﻮﺿﻴﺢ داده ﺷﺪ، ﺣﺮوف ﻓﺎرﺳﻲ از ﻳﻚ ﻳﺎ ﺑﻪ ﻫﻢ ﭘﻴﻮﺳﺘﻦ ﭼﻨﺪﻳﻦ اﺳـﺘﺮوك ﺗﺸـﻜﻴﻞ ﺷﺪهاﻧﺪ. ﺑﺮاي اﻳﻨﻜﻪ ﺑﺘﻮاﻧﻴﻢ ﺗﻌﺪاد ﻧﻘﺎط را در دو اﺳﺘﺮوك ﭘﻴﺪا ﻛﻨﻴﻢ، ﻧﻴﺎز ﺑﻪ ﺳﺘﻮن اﺑﺘﺪاﻳﻲ و اﻧﺘﻬﺎﻳﻲ دارﻳﻢ ﭼﺮاﻛﻪ اﮔﺮ دو اﺳﺘﺮوك در روي ﻫﻢ ﻗﺮار داﺷﺘﻪ ﺑﺎﺷﻨﺪ و داراي ﻳﻚ ﻧﻘﻄﻪ ﺑﺎﺷﻨﺪ، آﻧﮕﺎه ﻣﺠﻤﻮع آﻧﻬﺎ ﺑﺮاي ﻳﻚ ﺣﺮف، دو ﻧﻘﻄـﻪ ﺗﺸـﺨﻴﺺ داده ﻣﻲﺷﻮد ﻛﻪ ﺗﺸﺨﻴﺺِ درﺳﺘﻲ ﻧﻴﺴﺖ. در ﺑﺨﺶ 3-6-3-1 ﺗﻮﺿﻴﺤﺎت ﺑﻴﺸﺘﺮي ارائه ﺷﺪه اﺳﺖ. ﺑﺮاي ﻣﺜﺎل ﺑﺮاي ﺣﺮف ”ح“ در شکل 3‑24 ﺑﺮدارﻫﺎي SIV ﺑﻪ ﺻﻮرت جدول 3‑6 ﺧﻮاﻫﺪ ﺑﻮد.
جدول 3‑6 بردار SIV برای استروک های حرف«ح»
ستون انتهایی | ستون ابتدایی | موقعیت نسبت به خط زمینه | تعداد نقاط | موقعیت نقاط | عنصر ابتدایی | شماره استروک ها |
20 | 5 | U | 0 | 0 | H | 1 |
26 | 2 | D | 0 | 0 | C | 2 |
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺟﺪول 3-6 در ﺑﺮدار اﺳﺘﺮوك ﺑﺮاي دو اﺳﺘﺮوك ﺷﻜﻞِ ﺣﺮف ”ح“ ﻣﻼﺣﻈﻪ ﻣﻲﺷﻮد ﻛﻪ اﺳﺘﺮوك اول ﻋﻨﺼـﺮ اﺑﺘﺪاﻳﻲ H ﺑﻮده و داراي ﻫﻴﭻ ﻧﻘﻄﻪاي در ﺑﺎﻻ و ﭘﺎﻳﻴﻦ آن ﻧﻴﺴﺖ. اﻳﻦ اﺳﺘﺮوك در ﺑﺎﻻي ﺧـﻂ زﻣﻴﻨـﻪ ﻗـﺮار دارد و ﺳـﺘﻮن اﺑﺘﺪاﻳﻲ و اﻧﺘﻬﺎﻳﻲ آن ﺑﻪ ﺗﺮﺗﻴﺐ 5 و 20 ﻣﻲﺑﺎﺷﺪ و ﻫﻤﭽﻨﻴﻦ اﺳﺘﺮوك دوم داراي ﻋﻨﺼﺮ اﺻﻠﻲ C ﺑﻮده و ﻫﻴﭻ ﻧﻘﻄـﻪاي در ﺑﺎﻻ و ﭘﺎﻳﻴﻦ ﻧﺪارد، در ﭘﺎﻳﻴﻦ ﺧﻂ زﻣﻴﻨﻪ ﻗﺮار دارد و ﺳﺘﻮن اﺑﺘﺪاﻳﻲ و اﻧﺘﻬﺎﻳﻲ ان ﺑـﻪ ﺗﺮﺗﻴـﺐ 2 و 26 ﻣـﻲﺑﺎﺷـﺪ. از ﺳـﺘﻮن اﺑﺘﺪاﻳﻲ و اﻧﺘﻬﺎﻳﻲ ﻧﺘﻴﺠﻪ ﻣﻲﺷﻮد ﻛﻪ اﻳﻦ دو اﺳﺘﺮوك در ﻛﻨﺎرِ ﻳﻜﺪﻳﮕﺮ ﻗﺮار ﻧﺪارﻧـﺪ ﻟـﺬا ﻧﻘـﺎط ﻳـﻚ اﺳـﺘﺮوك، ﻣﺮﺑـﻮط ﺑـﻪ اﺳﺘﺮوك دﻳﮕﺮي ﻧﻴﺰ ﻣﻲﺑﺎﺷﺪ ﻛﻪ اﻟﺒﺘﻪ ﺗﻌﺪاد ﻧﻘﺎط در اﻳﻦ ﺣﺮف ﺑﺮاﺑﺮِ ﺻﻔﺮ ﻣﻲﺑﺎﺷﺪ.
در ﺑﺨﺶ ﺑﻌﺪ ﺑﻪ ﻧﺤﻮه ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف از ﺑﻪ ﻫﻢ ﭘﻴﻮﺳﺘﻦِ اﺳﺘﺮوكﻫﺎي زﻳﺮ ﻛﻠﻤﻪ ﻣﻲﭘﺮدازﻳﻢ.
3-6-2- ﺑﺮدار ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮف
ﺑﺮاي ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف ﻓﺎرﺳﻲ ﺑﺎ اﺳﺘﻔﺎده از ﻋﻨﺎﺻﺮ اﺑﺘﺪاﻳﻲ ﻧﻴﺎز دارﻳﻢ ﻛﻪ ﺣﺮوف ﻓﺎرﺳـﻲ را در ﻗﺎﻟـﺐِ ﻋﻨﺎﺻـﺮ اﺑﺘـﺪاﻳﻲ درآورﻳﻢ ﺗﺎ ﺑﺘﻮاﻧﻴﻢ ﺑﺎ ﻣﻘﺎﻳﺴﻪ آن ﺑﺎ ﻋﻨﺎﺻﺮ ﻣﺸﺘﻖ ﺷﺪه از ﺗﺼﻮﻳﺮ، ﺣﺮوف را ﺷﻨﺎﺳﺎﻳﻲ ﻛﻨﻴﻢ. ﺑﺮاي اﻳﻦ ﻛﺎر ﺑـﺮاي ﻫـﺮ ﺣـﺮف ﻓﺎرﺳﻲ و در ﻫﺮ ﻣﻮﻗﻌﻴﺘﻲ – ﺣﺮوف ﺟﺪا، اول، وﺳﻂ و آﺧﺮ– ﺑﺮدار ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮف ﻳﺎ [70]CIV را ﺗﺸﻜﻴﻞ ﻣﻲدﻫﻴﻢ.
ﺑﺮاي ﻫﺮ ﺣﺮف ﻓﺎرﺳﻲ ﻳﻚ ﺑﺮدار ﺷﻨﺎﺳﺎﻳﻲ CIV ﺗﺸﻜﻴﻞ ﻣﻲدﻫﻴﻢ و در واﻗﻊ ﭘﺎﻳﮕﺎه داﻧﺶ ﺧﻮد را ﺑﻪ اﻳﻦ ﺻﻮرت اﻳﺠﺎد ﻣﻲﻛﻨﻴﻢ. ﺑﺮدار ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮف ﻫﻤﺎﻧﻨﺪ شکل 3‑27 اﺳﺖ. در اﻳﻦ ﺑﺮدار ﺳﻪ ﻣﺤﻞ ﺑﺮاي ﻧﻮع ﻋﻨﺎﺻﺮ اﺑﺘﺪاﻳﻲ در ﻧﻈﺮ ﮔﺮﻓﺘـﻪ ﺷﺪه اﺳﺖ. دو ﻣﺤﻞِ ﺑﻌﺪي ﻣﺨﺼﻮص ﺗﻌﺪاد ﻧﻘﺎط در ﺑﺎﻻ و ﭘﺎﻳﻴﻦ ﺣﺮف ﻣﻲﺑﺎﺷﺪ ﻛﻪ ﻫﻤﺎﻧﻨﺪ آراﻳﻪ ﺷﻨﺎﺳﺎﻳﻲ اﺳﺘﺮوك ﺗﻌﺪاد و ﻣﻮﻗﻌﻴﺖ ﻧﻘﺎط در ﺣﺮف را ﻣﺸﺨﺺ ﻣﻲﻛﻨﺪ. ﻣﺤﻞ ﺑﻌﺪي ﺑﺮاي ﻣﻮﻗﻌﻴﺖ ﻛﻠﻲ ﺣـﺮف ﻧﺴـﺒﺖ ﺑـﻪ ﺧـﻂ زﻣﻴﻨـﻪ اﺳـﺖ ﻛـﻪ ﺷﺎﺧﺺ ﻣﻨﺎﺳﺒﻲ ﺑﺮاي ﺗﺸﺨﻴﺺ ﺣﺮوف در زﺑﺎن ﻓﺎرﺳﻲ/ﻋﺮﺑﻲ ﻣﻲﺑﺎﺷﺪ.
شکل 3‑27 ﺑﺮدار ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف ﻓﺎرﺳﻲ ) (CIV ﻛﻪ ﺑﻪ ﻋﻨﻮان ﭘﺎﻳﮕﺎه داﻧﺶ اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد.
ﺑﺮاي ﻣﺜﺎل ﺑﺮاي ﺣﺮف ”ش“ ﺑﺮدار ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮف ﺑﻪ ﺻﻮرت U3U UU ﻣﻲﺑﺎﺷﺪ. اﻳﻦ ﺑﻪ اﻳﻦ ﻣﻌﻨﻲ اﺳﺖ ﻛـﻪ ﻋﻨﺎﺻـﺮ اﺑﺘﺪاﻳﻲ ﺣﺮف ”ش“ از ﺳﻤﺖ ﭼﭗ ﺷﻜﻞِ آن اﺑﺘﺪا ﻳﻚ ﻋﻨﺼﺮ U دارد و در اداﻣﻪ دﻧﺪاﻧﻪ ﻛﻪ ﺑـﺎ ﻛـﺪ U ﻛـﺪ ﺷـﺪه اﺳـﺖ آورده ﺷﺪه اﺳﺖ. در ﺿﻤﻦ اﻳﻦ ﺣﺮف داراي 3 ﻧﻘﻄﻪ در ﺑﺎﻻي آن ﻣﻲﺑﺎﺷﺪ – ﭼﻮن در ﻣﻜﺎنِ اول ﻧﻘـﺎط آﻣـﺪه اﺳـﺖ– و ﻣﻮﻗﻌﻴﺖ ﻛﻠﻲ ﺣﺮف ﻧﺴﺒﺖ ﺑﻪ ﺧﻂ زﻣﻴﻨﻪ، در ﺑﺎﻻي آن ﻣﻲ ﺑﺎﺷﺪ.
ﺑﺮدارﻫﺎي ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف ﺟﺪا، اول، وﺳﻂ، آﺧﺮ و اعداد ﻓﺎرﺳﻲ ﺑﻪ ﺗﺮﺗﻴﺐ از جدول 3-7 ﺗﺎ ﺟﺪول 3-11 آورده ﺷﺪه اﺳﺖ.
جدول 3-7 ﺑﺮدار ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف جدای ﻓﺎرﺳﻲ
حرف | عناصر ابتدایی | نقاط | موقعیت نسبت به خط زمینه | |||
عنصر اول | عنصر دوم | عنصر سوم | موقعیت | تعداد | ||
ا | V | 0 | 0 | I | ||
آ | V | U | 2 | U | ||
ب | U | D | 1 | U | ||
پ | U | D | 3 | U | ||
ت | U | U | 2 | U | ||
ث | U | U | 3 | U | ||
ج | C | D | 1 | D | ||
C | O | |||||
چ | C | D | 3 | D | ||
C | O | |||||
ح | C | O | 0 | D | ||
C | O | |||||
خ | C | U | 1 | I | ||
C | O | |||||
د | D | 0 | 0 | U | ||
ذ | D | U | 1 | U | ||
ر | D | 0 | 0 | D | ||
ز | D | U | 1 | D | ||
ژ | D | U | 3 | I | ||
س | U | 0 | 0 | I | ||
D | U | |||||
U | U | |||||
ش | U | U | 3 | U | ||
D | U | |||||
U | U | |||||
ص | U | O | U | 0 | I | |
D | U | |||||
C | D | |||||
ض | U | O | U | 1 | I | |
D | U | |||||
C | D | |||||
ط | D | H | O | 0 | 0 | U |
V | H | O | ||||
V | U | O | ||||
ظ | D | H | O | U | 1 | U |
V | H | O | ||||
V | U | O | ||||
ع | C | 0 | 0 | D | ||
C | C | |||||
C | H | |||||
C | U | |||||
غ | C | U | 1 | D | ||
C | C | |||||
C | H | |||||
C | U | |||||
ف | U | U | 1 | U | ||
U | O | |||||
H | O | |||||
ق | U | U | 2 | I | ||
U | O | |||||
H | O | |||||
ک | U | 0 | 0 | U | ||
D | U | 3 | ||||
گ | U | U | 3 | U | ||
D | ||||||
ل | C | 0 | 0 | I | ||
D | ||||||
م | C | 0 | 0 | I | ||
D | ||||||
D | O | |||||
ن | U | U | 1 | D | ||
و | D | O | 0 | 0 | I | |
ه | O | 0 | 0 | U | ||
ی | U | 0 | 0 | D |
جدول 3-8 ﺑﺮدار ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف اول ﻓﺎرﺳﻲ
حرف | عناصر ابتدایی | نقاط | موقعیت نسبت به خط زمینه | |||
عنصر اول | عنصر دوم | عنصر سوم | موقعیت | تعداد | ||
ﺑ | D | D | 1 | U | ||
U | ||||||
ﭘ | D | D | 3 | U | ||
U | ||||||
ﺗ | D | U | 2 | U | ||
U | ||||||
ﺛ | D | U | 3 | U | ||
U | ||||||
ﺟ | D | D | 1 | D | ||
S | V | |||||
ﭼ | D | D | 3 | D | ||
S | V | |||||
ﺣ | D | O | 0 | D | ||
S | V | |||||
ﺧ | D | U | 1 | I | ||
S | V | |||||
ﺳ | U | 0 | 0 | I | ||
D | V | |||||
U | U | |||||
D | D | |||||
ﺷ | U | U | 3 | U | ||
D | V | |||||
U | U | |||||
D | D | |||||
ﺻ | U | O | U | 0 | I | |
D | O | |||||
C | O | |||||
ﺿ | U | O | U | 1 | I | |
D | O | |||||
C | O | |||||
ط | D | H | O | 0 | 0 | U |
V | H | O | ||||
V | U | O | ||||
ظ | D | H | O | U | 1 | U |
V | H | O | ||||
V | U | O | ||||
ﻋ | C | 0 | 0 | D | ||
C | H | |||||
C | U | |||||
ﻏ | C | U | 1 | D | ||
C | H | |||||
C | U | |||||
ﻓ | O | U | 1 | U | ||
U | O | |||||
H | O | |||||
ﻗ | O | U | 2 | I | ||
D | O | |||||
H | O | |||||
ﻛ | D | B | 0 | 0 | U | |
D | H | U | 3 | |||
ﮔ | D | H | U | 3 | U | |
D | B | |||||
ﻟ | D | 0 | 0 | I | ||
ﻣ | O | 0 | 0 | I | ||
H | O | |||||
U | O | |||||
ﻧ | U | U | 1 | D | ||
D | ||||||
ﻫ | O | H | 0 | 0 | U | |
O | ||||||
ﯾ | U | 0 | 0 | D | ||
D |
جدول 3-9 ﺑﺮدار ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف میانی ﻓﺎرﺳﻲ
حرف | عناصر ابتدایی | نقاط | موقعیت نسبت به خط زمینه | |||
عنصر اول | عنصر دوم | عنصر سوم | موقعیت | تعداد | ||
ﺒ | U | D | 1 | U | ||
D | ||||||
ﭙ | U | D | 3 | U | ||
D | ||||||
ﺘ | U | U | 2 | U | ||
D | ||||||
ﺜ | U | U | 3 | U | ||
D | ||||||
ﺠ | D | D | 1 | D | ||
S | V | |||||
ﭽ | D | D | 3 | D | ||
S | V | |||||
ﺤ | D | O | 0 | D | ||
S | V | |||||
ﺨ | D | U | 1 | I | ||
S | V | |||||
ﺴ | U | 0 | 0 | I | ||
D | V | |||||
U | U | |||||
D | D | |||||
ﺸ | U | U | 3 | U | ||
D | V | |||||
U | U | |||||
D | D | |||||
ﺼ | U | O | U | 0 | I | |
D | O | |||||
C | O | |||||
ﻀ | U | O | U | 1 | I | |
D | O | |||||
C | O | |||||
ﻌ | O | 0 | 0 | D | ||
H | O | |||||
D | O | |||||
ﻐ | O | U | 1 | D | ||
H | O | |||||
D | O | |||||
ﻔ | O | U | 1 | U | ||
U | O | |||||
H | O | |||||
ﻘ | O | U | 2 | I | ||
U | O | |||||
H | O | |||||
ﻜ | D | B | 0 | 0 | U | |
D | H | U | 3 | |||
ﮕ | D | H | U | 3 | U | |
D | B | |||||
ﻠ | C | 0 | 0 | I | ||
D | ||||||
ﻤ | O | 0 | 0 | I | ||
H | O | |||||
U | O | |||||
ﻨ | U | U | 1 | D | ||
D | ||||||
ﻬ | O | 0 | 0 | U | ||
H | O | |||||
ﯿ | U | 0 | 0 | D | ||
D |
جدول 3-10 ﺑﺮدار ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف آخر ﻓﺎرﺳﻲ
حرف | عناصر ابتدایی | نقاط | موقعیت نسبت به خط زمینه | |||
عنصر اول | عنصر دوم | عنصر سوم | موقعیت | تعداد | ||
ﺎ | C | 0 | 0 | I | ||
D | ||||||
ﺐ | U | D | 1 | U | ||
ﭗ | U | D | 3 | U | ||
ﺖ | U | U | 2 | U | ||
ﺚ | U | U | 3 | U | ||
ﺞ | C | D | 1 | D | ||
C | O | |||||
ﭻ | C | D | 3 | D | ||
C | O | |||||
ﺢ | C | O | 0 | D | ||
C | O | |||||
ﺦ | C | U | 1 | I | ||
C | O | |||||
ﺪ | D | 0 | 0 | U | ||
ﺬ | D | U | 1 | U | ||
ﺮ | D | 0 | 0 | D | ||
ﺰ | D | U | 1 | D | ||
ﮋ | D | U | 3 | I | ||
ﺲ | U | 0 | 0 | I | ||
D | U | |||||
U | U | |||||
ﺶ | U | U | 3 | U | ||
D | U | |||||
U | U | |||||
ﺺ | U | O | U | 0 | I | |
D | U | |||||
C | D | |||||
ﺾ | U | O | U | 1 | I | |
D | U | |||||
C | D | |||||
ﻄ | D | H | O | 0 | 0 | U |
V | H | O | ||||
V | U | O | ||||
ﻆ | D | H | O | U | 1 | U |
V | H | O | ||||
V | U | O | ||||
ﻊ | C | 0 | 0 | D | ||
C | C | |||||
C | H | |||||
C | U | |||||
ﻎ | C | U | 1 | D | ||
C | C | |||||
C | H | |||||
C | U | |||||
ﻒ | U | U | 1 | U | ||
U | O | |||||
H | O | |||||
ﻖ | U | U | 2 | I | ||
U | O | |||||
H | O | |||||
ﻚ | U | 0 | 0 | U | ||
D | U | 3 | ||||
ﮓ | U | U | 3 | U | ||
D | ||||||
ﻞ | C | 0 | 0 | I | ||
D | ||||||
ﻢ | C | 0 | 0 | I | ||
D | ||||||
D | O | |||||
ﻦ | U | U | 1 | D | ||
ﻮ | D | O | 0 | 0 | I | |
ﻪ | O | 0 | 0 | U | ||
C | O | |||||
ﻲ | U | 0 | 0 | D |
/
جدول 3-11 ﺑﺮدار ﺷﻨﺎﺳﺎﻳﻲ اعداد ﻓﺎرﺳﻲ
حرف | عناصر ابتدایی | نقاط | موقعیت نسبت به خط زمینه | |||
عنصر اول | عنصر دوم | عنصر سوم | موقعیت | تعداد | ||
0 | O | 0 | 0 | I | ||
1 | V | 0 | 0 | U | ||
2 | H | U | 0 | 0 | D | |
3 | H | U | U | 0 | 0 | D |
4 | H | C | 0 | 0 | I | |
5 | O | 0 | 0 | U | ||
6 | B | C | 0 | 0 | I | |
7 | B | S | 0 | 0 | U | |
8 | S | B | 0 | 0 | D | |
9 | O | H | 0 | 0 | I |
3-6-3- اﺳﺘﺨﺮاج ﺣﺮوف از ﺑﺮدار ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف
ﺑﺎ اﺳﺘﻔﺎده از ﭘﺎﻳﮕﺎه داﻧﺸﻲ ﻛﻪ ﺑﺮاي ﺣﺮوف ﻓﺎرﺳﻲ اﻳﺠﺎد ﻛﺮدﻳﻢ ﻣﻲﺗﻮاﻧﻴﻢ ﺑﻪ ﻣﻘﺎﻳﺴﻪ بین ﻋﻨﺎﺻﺮِ ﺑﻪ دﺳﺖ آﻣﺪه از ﺷـﻜﻞ و اﻳﻦ ﭘﺎﻳﮕﺎه داﻧﺶ ﺑﭙﺮدازﻳﻢ و ﺣﺮوف ﻓﺎرﺳﻲ را ﺗﺸﺨﻴﺺ دﻫﻴﻢ. ﻧﺤﻮه اﻧﺠﺎم اﻳﻦ اﻣﺮ در ادامه آورده ﺷﺪه اﺳﺖ.
در ﻣﺮاﺣﻞ ﻗﺒﻞ ﺗﻮاﻧﺴﺘﻴﻢ اﺳﺘﺮوكﻫﺎي ﺷﻜﻞ را ﺑﺮاي ﻫﺮ زﻳﺮﻛﻠﻤﻪ ﺟﺪا ﻛﻨـﻴﻢ و ﻋﻨﺎﺻـﺮِ اﺑﺘـﺪاﻳﻲ ﺗﺸـﻜﻴﻞ دﻫﻨـﺪه ﻫـﺮ اﺳﺘﺮوك را ﻛﺪ ﻛﺮده و در SIVﻫﺎ ﻗﺮار دﻫﻴﻢ. در ﺿﻤﻦ ﭘﺎﻳﮕﺎه داﻧﺸﻲ ﻛﻪ ﺑﺮاي ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف اﺳﺘﻔﺎده ﻣﻲﺷـﻮد، ﺷـﺎﻣﻞ CIVﻫﺎﻳﻲ اﺳﺖ ﻛﻪ ﺑﺮاي ﻫﺮ ﺣﺮف ﺟﺪا، اول، وﺳﻂ و آﺧﺮ ﺑﻪ ﻃﻮر ﻣﺠﺰا در ﺑﺨﺶ 3-6-2 آورده ﺷﺪه اﺳﺖ.
در اﻳﻦ ﻗﺴﻤﺖ روﺷﻲ ﻛﻪ ﺑﺮاي ﻣﻘﺎﻳﺴﻪ SIVﻫﺎ ﺑﺎ CIVﻫﺎ اﺗﺨﺎذ ﺷﺪه اﺳﺖ ﻣﻄﺮح ﻣﻲﺷﻮد.
در اﺑﺘﺪا ﺑﺎ ﻛﻨﺎر ﻫﻢ ﻗﺮار دادن SIVﻫﺎ ﺑﻪ ﻃﻮر ﻋﻤﻮدي، ﻳﻚ آراﻳﻪ ﺑﻪ ﻧﺎمِ آراﻳﻪ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﻪ ﻣﻲﺷﻮد ﻛﻪ ﻳﻚ ﻧﻤﻮﻧـﻪ از آن درﺟﺪول 3-11 ﻧﺸﺎن داده ﺷﺪه اﺳﺖ.
جدول 3‑7 طریقه ایجاد بردار عناصر با کنار هم قرار دادن CIVها
ﺑﺮاي ﻣﻘﺎﻳﺴﻪ ﻛﺮدن ﻋﻨﺎﺻﺮ ﺷﻜﻞ ﺑﺎ CIVﻫﺎ از اﻟﮕﻮرﻳﺘﻢ ﻧﺸﺎن داده ﺷﺪه در ﺷﻜﻞ 3–28 اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ.
شکل 3‑28 فلوچارت شناسایی حروف از روی بردار عناصر
ﻫﻤﺎنﻃﻮر ﻛﻪ در ﻓﻠﻮﭼﺎرت ﺷﻜﻞ 3-28 ﻧﺸﺎن داده ﺷﺪه اﺳﺖ، ﺑﺮاي ﺣﺪس و ﺗﺸﺨﻴﺺ ﺣﺮوف ﻓﺎرﺳـﻲ از ﻳـﻚ ﺷـﻴﻮه ﺟﺪﻳﺪ اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ. در اﻳﻦ روش اﺑﺘﺪا ﺑﺮدار ﻋﻨﺎﺻﺮِ زﻳﺮﻛﻠﻤﻪ ﺳﺎﺧﺘﻪ ﻣﻲﺷﻮد. اﻳﻦ ﺑﺮدار ﺗﻨﻬﺎ ﺣﺎوي ﻋﻨﺎﺻـﺮ اﺑﺘـﺪاﻳﻲ ﺗﺸﻜﻴﻞ دﻫﻨﺪه اﺳﺘﺮوكﻫﺎي ﻳﻚ زﻳﺮ ﻛﻠﻤﻪ اﺳﺖ ﻛﻪ ﺑﻪ ﺗﺮﺗﻴﺐ از راﺳﺖ ﺑﻪ ﭼﭗِ زﻳﺮﻛﻠﻤﻪ آورده ﺷﺪهاﻧﺪ.
ﺑﺮاي ﺷﻨﺎﺳﺎﻳﻲ اﺑﺘﺪا ﻛﻞِ ﺑﺮدار ﺷﻨﺎﺳﺎﻳﻲ را ﺑﺎ ﻋﻨﺎﺻﺮِ ﺑﺮدار ﺷﻨﺎﺳﺎﻳﻲ ﺣـﺮوف ﺟـﺪاي ﻓﺎرﺳـﻲ ﻣﻘﺎﻳﺴـﻪ ﻣـﻲﻛﻨـﻴﻢ. اﮔـﺮ ﺣﺮوﻓﻲ ﺑﺮاي اﻳﻦ زﻳﺮﻛﻠﻤﻪ ﭘﻴﺸﻨﻬﺎد ﺷﺪ، ﻧﻘﺎط اﺳﺘﺮوكﻫﺎ را ﺑﺎ ﻧﻘﺎط ﺑﺮدار ﺷﻨﺎﺳﺎﻳﻲ ﺣﺮوف ﺟﺪاي ﻓﺎرﺳـﻲ ﻣﻘﺎﻳﺴـﻪ میﻛﻨﻴﻢ. اﮔﺮ ﺑﺎز ﻫﻢ ﺣﺮوﻓﻲ ﭘﻴﺸﻨﻬﺎد ﺷﺪ اﻳﻦ ﺑﺎر ﻣﻮﻗﻌﻴﺖ ﻧﺴﺒﺖ ﺑﻪ ﺧﻂ زﻣﻴﻨﻪ را ﻣﻘﺎﻳﺴﻪ ﻣﻲﻛﻨﻴﻢ. اﮔﺮ یک حرف جدا باشند، مطمئنآ به یک حرف جدا خواهیم رسید و در غیر این صورت، همگی استروک ها مربوط به یک حرف جدای فارسی نبوده و حتماً شامل دو یا بیشتر حرف میباشد.
اگر بردار عناصر مربوط به یک حرف جدای فارسی نبود، از سمت راست ترین بردار عناصر شروع
میکنیم و آن را با بردار شناسایی حروف اول فارسی مقایسه میکنیم. اگر با یک یا تعدادی از حروف اول فارسی یکسان بود، به مقایسه نقاط آن استروک با نقاط حروفی که انتخاب شدهاند میپردازیم. در این مقایسه تعداد زیادی از حروف پیشنهادی حذف خواهند شد. اگر حروفی از حروف پیشنهادی باقی ماند، موقعیت نسبت به خط زمینه را مقایسه میکنیم. در این صورت یا هیچ حرفی از حروف پیشنهادی باقی نمیماند یا تنها یک حرف باقی میماند که مربوط به حرف اول این زیرکلمه میباشد. اگر حرف اول انتخاب نشود، عنصر بعدی از بردار عناصر را انتخاب میکنیم و این کار را تا شناسایی حرف اول زیرکلمه ادامه میدهیم.
زمانی که حرف اول انتخاب شد، عناصری را که در تشکیل این حرف استفاده شدهاند از بردار عناصر حذف میکنیم. حال برای شناسایی حرف آخر زیرکلمه تلاش میکنیم. برای این کار از انتهای بردار عناصر شروع کرده و یک عنصر انتخاب میکنیم. روش قبلی برای شناسایی حرف اول را برای شناسایی حرف آخر تکرار می کنیم با این تغاوت که این بار از بردار شناسایی حروف آخر، برای مقایسه استفاده میکنیم چراکه هدف، تعیین حرف آخر زیرکلمه میباشد.
با انتخاب و حذف عناصر حرف آخر از بردار عناصر، دو حالت پیش میآید. اگر عنصری در بردار عناصر باقی نماند، زیرکلمه دو حرفی بوده و کار شناسایی حروف به اتمام رسیده است در غیر این صورت اگر عنصر یا عناصری در بردار عناصر باقی ماندند، این عناصر یا مربوط به یک حرف وسط میباشند یا باز هم شامل حروف دیگری که مطمئنآ از نمح حروف وسط هستند، میباشند.
برای تشخیص حروف وسط ابتدا عناصر باقی مانده را با بردار شناسایی حروف وسط مقایسه میکنیم و با توجه به تعداد و موقعیت نقاط و نیز موقعیت نسبت به خط زمینه، اگر به یک حرف رسیدیم یعنی کار تشخیص حروف به پایان رسیده و زیرکلمه سه حرفی بوده است ولی اگر هیچ حرف وسطی پیشنهاد نشد به این معنی است که عناصر باقی مانده مربوط به دو یا بیشتر حروف وسط میباشند. حال برای شناسایی حروف وسط همان روشی را که برای شناسایی حروف اول و آخر انجام دادیم تکرار میکنیم با این تفاوت که برای مقایسه عناصر، از بردار شناسایی حروف وسط استفاده میکنیم چراکه تمامی عناصر باقی مانده مربوط به حروف وسط میباشند. این کار تا جایی ادامه مییابد که دیگر هیچ عنصری در بردار شناسایی باقی نمانده باشد و در واقع تمامی حروف زیرکلمه تشخیص داده شده باشند.
یک حالت ممکن است در تعیین حروف به وجود آید و آن بدین صورت است که عناصری که برای تشخیص حروف وسط استفاده میشوند، با هیچ یک از حروف وسط، یکسان باشد و در واقع نتوانیم حرفی از حروف وسط را برای عناصر باقی مانده نسبت دهیم. در این حالت به یک مرحله قبل بازمیگردیم و حرف انتخابی در مرحله قبل را نادیده گرفته و یک عنصر از بردار عناصر به آن اضافه میکنیم و کار شناسایی را ادامه میدهیم.
3-6-3-1- استفاده از ستون های ابتدایی وانتهایی
ستون های ابتدایی وانتهایی در آرایه نقاط زیرکلمه و SIV وجود دارد. این اطلاعات برای مشخص کردن جایگاه دقیتی نقطه در زیرکلمه به کاربرده می شوند. در شناسایی حروف از طریق بردار عناصر که در بخش ٣-6 -٣ توضیح داده شد، ممکن است دو یا بیشتر عنصر درکنار هم قرار گیرند از این رو باید نقاطی که درمحدوده این عناصر قرار دارند تعیین شوند. از این رو از ستون های ابتدایی و انتهایی استفاده میکنیم.
اگر یک عنصر (P) از بردار عناصر انتخاب شود برای تعیین تعداد نقاط (D) از رابطه (٣ – ١6) استفاده میکنیم.
If [DFCi ≥ PFC and DECi ≤ PFC] → Di P (3-16)
در رابطه ( ٣–١6) DFCi[71] ستون ابتدایی نقاط برای نقطه iام و DECi[72] ستون انتهایی نقاط برای نقطه iام است. همین طور PFC[73] ستون ابتدایی عنصر اصلی و PEC[74] ستون انتهایی عنصر اصلی است.
اگر ستون ابتدایی نقاط از ستون ابتدایی عنصر اصلی بزرگتر یا مساوی باشد و ستون انتهایی نقاط از ستون انتهایی عنصر اصلی کوچکتر یا مساوی باشد، این نقاط مربوط به عنصر ابتدایی انتخاب شده هستند. اگر بیش از یک نقطه دارای شرایط رابطه (٣–١6) باشند آنگاه تمامی آن نقاط مربوط به آن عنصر ابتدایی میباشند. این امر زمانی اتغاق میافتد که یک حرف دارای بیشتر از یک نقطه باشد مانند حرف «پ» که دارای سه نقطه میباشد. در چنین حالتی تعداد نقاط در یک بازه (بازه عنصر ابتدایی) را با یکدیگر جمع میکنیم.
اگر بخواهیم دو یا چند استروک را برای یک حرف انتخاب کنیم باید بتوانیم نقاط این استروکها را با هم جمع کرده و تعداد نقاط کلی را برای مقایسه اعلام کنیم. در این حالت نیز از ستون های ابتدایی و انتهایی استفاده می شود. برای این کار از رابطه (٣–١7) استفاده میکنیم.
PFC=Min (PFCi)
PEC=Max (PECi) (٣– ١7)
IF [DFCi ≥ PFC and DECi ≤ PFC] → Di P
در رابطه (٣–١7) PFC را کمترین مقدار PFC های عناصر انتخابی و PEC را بیشترین مقدار PEC
های عناصر انتخابی در نظر میگیریم. حال که ستون های ابتدایی و انتهایی عنصر را پیدا کردیم بار دیگر از رابطه (٣–١6) استفاده میکنیم و تعداد نقاط عنصر جدید را انتخاب میکنیم.
فصل 4- نتایج الگوریتم پیشنهادی
در این فصل ابتدا به بررسی نتایج الگوریتم پیشنهادی میپردازیم. در ادامه چند سیستم بازشناسی حروف را مورد بررسی قرار میدهیم. سپس آن را با مقالات و کارهای دیگر مقایسه میکنیم.
4-1- ﺷﺒﻴﻪ ﺳﺎزي ﺑﺮ روي پایگاه داده
اﻟﮕﻮرﻳﺘﻢ ارائه ﺷﺪه در اﻳﻦ ﭘﺮوژه، ﺑﺪون ﺗﻮﺟﻪ ﺑﻪ اﻧﺪازه حروف دستنویس، زﻳﺮﻛﻠﻤﺎت ﻓﺎرﺳﻲ را ﺗﺸـﺨﻴﺺ ﻣـﻲدﻫـﺪ. ﺑـﺮﺧﻼف ﻛﺎرﻫﺎي اﻧﺠﺎم ﺷﺪه در اﻳﻦ زﻣﻴﻨﻪ ﻛﻪ ﻣﺮاﺣﻞ ﺟﺪاﺳﺎزي ﺣﺮوف و ﺗﺸﺨﻴﺺ آﻧﻬﺎ در دو ﻣﺮﺣﻠﻪ ﺟﺪا از ﻫﻢ اﻧﺠﺎم ﻣﻲﮔﻴﺮﻧـﺪ و ﺑﺎﻋﺚ از دﺳﺖ دادن ﺳﺮﻋﺖ ﺗﺸﺨﻴﺺ ﻣﻲﺷﻮﻧﺪ، اﻳﻦ اﻟﮕﻮرﻳﺘﻢ دو ﻣﺮﺣﻠﻪ را در ﻫﻢ ادﻏﺎم ﻛﺮده و از اﺑﺘﺪا و اﻧﺘﻬﺎي زﻳﺮﻛﻠﻤـﻪ ﺑﻪ ﺗﺸﺨﻴﺺ ﺣﺮوف ﻣﻲﭘﺮدازد. ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ آﻣﺎر ارائه ﺷﺪه، اﻳﻦ اﻟﮕﻮرﻳﺘﻢ روﺷـﻲ ﺟﺪﻳـﺪ و ﺑﺴـﻴﺎر ﻣﻨﺎﺳـﺐ ﺑـﺮاي ﺗﺸـﺨﻴﺺ ﺣﺮوف زﻳﺮﻛﻠﻤﺎت ﻓﺎرﺳﻲ ﻣﻲﺑﺎﺷﺪ.
روش ﻛﺎر ﺑﻪ اﻳﻦ ﺻﻮرت اﺳﺖ ﻛﻪ ﺑﻌﺪ از ﻣﺮﺣﻠﻪ ﭘﻴﺶﭘﺮدازش ﻛﻪ اندازه ﻗﻠﻢ، ﺧﻂ زﻣﻴﻨﻪ و ﻧﻘﻄﻪﻫﺎي ﺣـﺮوف ﺗﺸـﺨﻴﺺ داده و ذﺧﻴﺮه ﻣﻲﺷﻮﻧﺪ و ﺗﺼﻮﻳﺮ ﻧﺎزكﺳﺎزي ﻣﻲﺷﻮد، ﺑﺎ اﺳﺘﻔﺎده از ﺗﺒﺪﻳﻞ ﻫﺎف اﺻﻼح ﺷﺪه، ﺑﻪ ﺟﺪاﺳﺎزي ﻋﻨﺎﺻﺮ اﺑﺘـﺪاﻳﻲ ﺣﺮوف ﻣﻲﭘﺮدازد. ﺗﺒﺪﻳﻞ ﻫﺎف ﻣﻌﻤﻮﻟﻲ ﺑﺎ ﻛﻤﻴﻨﻪ زاوﻳﻪ 45 درﺟﻪ ﻛﺎر ﻣﻲﻛﻨﺪ ﻛﻪ ﺧﻄﻮط زﻳﺎدي را ﺣﺘﻲ در اﺳﺘﺮوكﻫـﺎي ﺳﺎده ﺗﺨﻤﻴﻦ ﻣﻲزﻧﺪ. وﻟﻲ در اﻳﻦ اﻟﮕﻮرﻳﺘﻢ از ﻛﻤﻴﻨﻪ زاوﻳﻪ 5/22 درﺟﻪ اﺳﺘﻔﺎده ﺷﺪه ﻛﻪ ﻧﻮﻳﺰ ﺧﻄﻮط را ﺧﻨﺜﻲ ﻣﻲﻛﻨـﺪ و ﺧﻄﻮط اﺻﻠﻲ ﺑﺪﻧﻪ اﺳﺘﺮوك را اﺳﺘﺨﺮاج ﻣﻲﻛﻨﺪ.
ﺑﺎ اﺳﺘﻔﺎده از ﺧﻄﻮط اﺳﺘﺮوكﻫﺎ، ﻋﻨﺎﺻﺮ اﺑﺘـﺪاﻳﻲ ﺣـﺮوف ﻛـﻪ ﺷـﺎﻣﻞ 8 ﻋﻨﺼـﺮ ِBackslash، Slash، D-Shape ،U-Shape ،C-Shape ،Vertical ،Horizontal و Circle میﺑﺎﺷﻨﺪ، اﺳﺘﺨﺮاج ﻣﻲﺷﻮﻧﺪ و ﺑﻪ ﻫﻤﺮاه ﺗﻌﺪاد و ﺟﺎﻳﮕـﺎه ﻧﻘﺎط ﻫﺮ ﺣﺮف در ﺑﺮدار ﻣﺸﺨﺼﻪ آن ﻗﺮار ﻣﻲﮔﻴﺮﻧﺪ. ﻋﻨﺎﺻﺮ اﺑﺘﺪاﻳﻲ ﻫﻤﻪ اﺳﺘﺮوكﻫﺎ در آراﻳﻪ ﻋﻨﺎﺻﺮ ﻗﺮار ﻣـﻲﮔﻴﺮﻧـﺪ. اﮔـﺮ اﻳﻦ ﻋﻨﺎﺻﺮ ﻣﺮﺑﻮط ﺑﻪ ﻳﻜﻲ از ﺣﺮوف ﺟﺪا ﻧﺒﺎﺷﺪ، از اﺑﺘﺪا و اﻧﺘﻬﺎي اﻳﻦ آراﻳﻪ ﺷﺮوع ﻛﺮده و ﺑﻪ ﻣﻘﺎﻳﺴﻪ آنﻫـﺎ ﺑـﻪ ﺗﺮﺗﻴـﺐ ﺑـﺎ ﺟﺪول ﺑﺮدار ﻣﺸﺨﺼﻪ ﺣﺮف اول و آﺧﺮ ﻣﻲﭘﺮدازﻳﻢ. ﺑﻬﺘﺮﻳﻦ اﺣﺘﻤﺎل ﺑﺮاي ﺣﺮف اول و آﺧﺮ اﻧﺘﺨﺎب ﻣﻲﺷﻮد. اﮔـﺮ زﻳﺮﻛﻠﻤـﻪ دو ﺣﺮﻓﻲ ﺑﻮد، ﻛﺎرِ ﺗﺸﺨﻴﺺ ﭘﺎﻳﺎن ﻳﺎﻓﺘﻪ و اﮔﺮ ﺳﻪ ﺣﺮﻓﻲ ﺑﺎﺷﺪ، ﻋﻨﺎﺻﺮ ﺑﺎﻗﻲﻣﺎﻧﺪه ﺑﺮاي ﺣﺮف وﺳﻂ اﺳﺖ ﻛﻪ ﺑﺎ ﻣﻘﺎﻳﺴﻪ آن ﺑﺎ ﺟﺪول ﻋﻨﺎﺻﺮ ﺣﺮف وﺳﻂ، اﻳﻦ ﺣﺮف ﻧﻴﺰ ﺗﺸﺨﻴﺺ داده ﻣﻲﺷﻮد.
ﺑﺮاي ﻧﻤﺎﻳﺶِ دﻗﺖ ﺗﺸﺨﻴﺺ از ﭘﺎﻳﮕﺎه دانش IFHCDB[75] استفاده شده است. IFHCDBﻳﻚ ﭘﺎﻳﮕﺎه داده ﻣﺘﺸﻜﻞ از ﺣﺮوف و اﻋﺪاد دﺳﺘﻨﻮﻳﺲ ﻓﺎرﺳﻲ اﺳﺖ ﻛﻪ ﺗﻮﺳﻂ داﻧﺸﻜﺪه ﻣﻬﻨﺪﺳﻲ ﺑﺮق داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ اﻣﻴﺮﻛﺒﻴﺮ ﺗﻬﺮان در ﺳﺎل 1385 ﺗﻬﻴﻪ ﺷﺪه اﺳﺖ. IFHCDB در ﺣﻘﻴﻘﺖ ﻳﻚ زﻳﺮ ﻣﺠﻤﻮﻋﻪ از ﻳﻚ ﭘﺎﻳﮕﺎه داده ﻋﻈﻴﻢ اﺳﺖ ﻛﻪ ﺑﻌﻨﻮان ﻳﻚ ﭘﺮوژه ﺗﺤﻘﻴﻘﺎﺗﻲ ﺑﺎ ﺣﻤﺎﻳﺖ دﺑﻴﺮﺧﺎﻧﻪ ﻋﺎﻟﻲ ﺷﻮراي اﻃﻼع رﺳﺎﻧﻲ، ﻛﺎرﮔﺮوه ﺧﻂ و زﺑﺎن ﻓﺎرﺳﻲ و ﺗﻮﺳﻂ ﺷﺮﻛﺖ اﻧﺪﻳﺸﻪ ﻧﺮم اﻓﺰار ﭘﺎﻳﺎ ﺟﻤﻊ آوري ﺷﺪه اﺳﺖ. ﻫﺪف اﺻﻠﻲ ﭘﺎﻳﮕﺎه داده ﻛﻤﻚ ﺑﻪ محققان ﺑﺮاي اﻳﺠﺎد روشها و الگوریتمهای ﺟﺪﻳﺪ در زﻣﻴﻨﻪ ﺷﻨﺎﺳﺎﻳﻲ ﺧﻮدﻛﺎر ﻛﺎراﻛﺘﺮﻫﺎي دستنویس ﻓﺎرﺳﻲ اﺳﺖ. این پایگاه داده شامل بیش از 60000 نمونه حروف جدای دستنویس فارسی و اعداد میباشد. در شکل 4‑1 چند نمونه از این پایگاه داده، آورده شده است.
شکل 4‑1 چند نمونه پایگاه داده IFHCDB
از آنجا که برای کلمات یا زیرکلمات فارسی پایگاه دادهای وجود ندارد، اینجانب اقدام به تهیه یک پایگاه داده نمودم که شامل 3500 نمونه از اسامی شهرهای کشورمان است. در شکل 4‑2 چند نمونه از این پایگاه داده، آورده شده است.
شکل 4‑2 چند نمونه از پایگاه داده تهیه شده
ﺑـﺮاي اﻳﻨﻜﻪ ﻗﺪرت ﺗﺸﺨﻴﺺ در زﻳﺮﻛﻠﻤﺎت ﺑﺎ ﺣﺮوفﻫﺎي ﻣﺨﺘﻠﻒ ﻗﺎﺑﻞ ﻧﻤﺎﻳﺶ ﺑﺎﺷﺪ، زﻳﺮﻛﻠﻤﺎت اﻳﻦ ﻣﺘﻮن را ﺑﻪ زﻳﺮﻛﻠﻤـﺎت ﻳـﻚ، دو و ﺳﻪ ﺗﻘﺴﻴﻢ ﻛﺮدهاﻳﻢ. همچنین اعداد را نیز جداگانه در این جدول آوردهایم و دﻗﺖ ﺗﺸﺨﻴﺺ را ﺑﺮاي ﻫﺮ ﮔﺮوه ﺑﻪ ﻃﻮر ﻣﺠﺰا اﺳﺘﺨﺮاج ﻛﺮدهاﻳﻢ. اﻳﻦ اﻟﮕﻮرﻳﺘﻢ بر روی پایگاه دادههای فوق اجرا شده و میانگین درصد های تشخیص در جدول 4‑1 آورده شده است.
جدول 4‑1 درصد تشخیص الگوریتم پیشنهادی برای اعداد و زیرکلمات
دقت تشخیص | درصد تعداد زیر کلمات در متون فارسی | ||
7/88% | 37/49% | یک حرفی | تعداد حروف زیرکلمه |
4/81% | 84/31% | دو حرفی | |
6/73% | 06/12% | سه حرفی | |
8/98% | – | اعداد |
ﻫﻤﺎنﻃﻮر ﻛﻪ در جدول 4‑1 آورده ﺷﺪه اﺳﺖ، 37/49% ﻛﻞ زﻳﺮﻛﻠﻤﺎت ﻓﺎرﺳﻲ را زﻳﺮﻛﻠﻤﺎت ﻳﻚ ﺣﺮﻓﻲ ﺗﺸﻜﻴﻞ ﻣﻲدﻫﻨﺪ. در واﻗﻊ ﻣﻲﺗﻮان ﮔﻔﺖ اﮔﺮ اﻳﻦ زﻳﺮ ﻛﻠﻤﺎت ﺑﻪ درﺳﺘﻲ ﺗﺸﺨﻴﺺ داده شوند ﻧﺰدﻳﻚ ﺑﻪ 50% ﻛـﻞ ﻣـﺘﻦ ﺗﺸـﺨﻴﺺ داده ﺷﺪه اﺳﺖ. از اﻳﻦ رو ﻛﺎرﻫﺎي زﻳﺎدي ﺑﺮ روي زﻳﺮﻛﻠﻤﺎت ﻳﻚﺣﺮﻓﻲ (ﺣﺮوف ﺟﺪاي ﻓﺎرﺳﻲ/ﻋﺮﺑﻲ) اﻧﺠﺎم ﺷﺪه اﺳﺖ. اﮔﺮ از زﻳﺮﻛﻠﻤﺎت ﻳﻚ ﺗﺎ ﺳﻪ ﺣﺮﻓﻲ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ، ﺑﺎ ﺗﺸﺨﻴﺺ اﻳـﻦ زﻳﺮﻛﻠﻤـﺎت، ﺗﻘﺮﻳﺒـﺎً 27/93% ﻛـﻞ ﻣـﺘﻦ اﺳـﻜﻦ ﺷـﺪه ﺗﺸﺨﻴﺺ داده ﻣﻲﺷﻮد.
4-2- بررسی چند مقاله در زمینه بازشناسی حروف چاپی و دستنویس
4-2-1- بازشناسی برون خط کلمات فارسی با تکیه بر نام چند شهر
در این مقاله [41]هدف بازشناسی شهرهای استان خراسان از یکدیگر می باشد. تعداد شهرهای انتخاب شده 30 شهر میباشد که از هر شهر تعداد 50 نمونه دست نویس در اختیار داریم. در شکل زیر نمونه ای از دست نویسها را مشاهده میکنیم.
شکل 4‑3 ورودی اولیه سیستم OCR [41]
در مرحله بعدی جهت کاهش حجم اطلاعات و افزایش سرعت پردازش، تصاویر خاکستری پویش شده را به تصاویر باینری مطابق شکل زیر تبدیل میکنند.
شکل 4‑4 تصاویر باینری شده [41]
به دلیل محدود بودن کلاسهایی که باید بازشناسی شوند، از رویکرد Holistic استفاده کردهاند. بدین معنا که جهت تحلیل و اعمال الگوریتمهای مختلف، کل تصویر یک کلمه را به عنوان یک عنصر واحد در نظر میگیریم کلمه شهر مورد نظر را به زیر بخشها و یا حروف تشکیل دهنده آن، تفکیک نمیکنیم. سیستم OCR این مقاله از سه بخش اصلی پیش پردازش، استخراج ویژگی و باز شناسی تشکیل شده است. در پردازش به منظور بهبود کیفیت تصویر و حذف نویز و نقاط و پیکسلهای اضافی به وجود آمده هنگام تصویر برداری یا پویش (با کیفیت پایین) از عملگرهای مورفولوژیک استفاده میشود. ابتدا با عملگرهای مورفولوژیک نقطههای تک پیکسلی تصویر را که غالباً نویز میباشد را حذف کردهاند و سپس با اعمال مناسب دو عملگر مورفولوژیک فرسایش[76] و تاخیر[77] بریدگیهای ناخواسته و همچنین المانهای باریک اضافی ایجاد شده در تصویر کلمه را تا جای ممکن حذف کردند. در شکل زیر تغییرات را مشاهده میکنید.
شکل 4‑5 اعمال عملگرهای مورفولوژیک[41]
همانطور که مشاهده میکنید پس از پیشپردازش دو نقطه تک پیکسلی که نویز میباشند حذف شدهاند و گسستگیهای نا خواسته در تصویر ورودی حذف شدهاند.
4-2-1-1- استخراج ویژگیهای جهتی کلمه از روی ویژگیهای آماری ماتریس GLCM[78]
استخراج ویژگی از ماتریس GLCM از زمان تعریف آن توسط دو محقق در سال 1973 به یکی از مهمترین روشهای آماری کلاسه بندی بافت[79] تبدیل شده است. ماتریس GLCM، تعداد تکرار رویداد یک جفت پیکسل در درون تصویر را بر اساس فاصله و زاویه خاص فضایی تعیین شده بین آنها محاسبه
میکند. به طور کلی در کلاس بندی بافت به کمک ماتریس GCLM از چهار زاویه 0، 45، 90 و 135 درجه جهت استخراج ویژگیهای جهتی بافت استفاده میشود که همین ویژگیهای جهتی معیار اصلی کلاس بندی بافتها میباشد. در این مقاله از ویژگیهای ماتریس GLCM جهت بازشناسی کلمات دست نویس فارسی استفاده کردند و به نتایج مناسبی دست یافتند. دلیل این امر این است که ویژگیهای مهم متمایز کننده کلمات دست نویس همین ویژگیهای جهتی آنها است
توضیح اینکه بعضی از حروف فارسی دارای ویژگیهای جهتی خاصی میباشند به عنوان مثال سرکش حرف “ک” دارای زاویه حدود 45 درجه میباشد در شکل زیر چند نمون دیگر از این ویژگیها را مشاهده میکنید.
شکل 4‑6 ویژگیهای جهتی برخی حروف فارسی [41]
4-2-1-2- استخراج ویژگی به کمک Hu مومنت[80]
مومنتها یکی از ویژگیهای اماری پرکاربرد در زمینه استخراج ویژگی برای اشکال و حوزه تشخیص الگو میباشند. در سال 1961، Hu جهت اختصاص ویژگی به اشکال، هفت مومنت را معرفی کرد نسبت به تغییرات اندازه، چرخش وموقعیت شکل مورد نظر ثابت میباشند.
در بازشناسی کلمات دست نویس فارسی اگر بتوانیم یک سری ویژگی پیدا کنیم که نسبت به تغیرات اندازه، چرخش و موقعیت کلمه ثابت باشند در باز شناسی بسار مفید خواهند بود. بنابراین با توجه به ویژگیهایی که برایHu مومنت ذکر کردیم در این مقاله از آن جهت اختصاص ویژگی استفاده کردیم.
با بررسی مقالات در زمینه سیستمهای OCR، به ویژه مقالات مرتبط با بازشناسی نوشتارهای دست نویس، 8 ویژگی ساختاری متداول را با توجه به ویژگی خاص کلمات دست نویس فارسی انتخاب کردهاند که شامل:
- قطر دایره محاطی کلمه
- نسبت طول به عرض کلمه
- گریز از مرکز بیضی محاطی کلمه
- طول محور اصلی بیضی محاطی که دارای ممان مرکزی دوم نرمالیزه یکسانی با کلمه مورد نظر باشد.
- نسبت تعداد پیکسلهای داخل جعبه محاطی کلمه به مساحت جعبه محاطی
- نسبت مساحت چند وجهی محاطی کلمه به مساحت مستطیل محاطی
- محیط کلمه
- مساحت کلمه
4-2-1-3- بازشناسی
در این بخش از شبکه MLP[81] جهت بازشناسی شهرها از یکدیگر استفداده کردهاند. ار 50 نمونه موجود برای هر شهر، 40 نمونه را برای آموزش شبکه عصبی و 10 نمونه را جهت تست شبکه عصبی استفاده کردهاند. در جدول زیرنتایج بازشناسی ناشی از اعمال شبکه عصبی MLP دو لایه با تعداد نرونهای متفاوت در لایه مخفی و با تفکیک استفاده از ویژگیها آورده شده است .
جدول 4‑2نتایج بازشناسی شبکه عصبی MLP دو لایه [41]
45 | 40 | 35 | 30 | 25 | 20 | تعداد نرونهای لایه مخفی ویژگیها |
39% | 42% | 40% | 37% | 32% | 17% | 12 ویژگی – GLCM Matrix |
29% | 31% | 34% | 36% | 27% | 14% | 7 ویژگی – Hu Moments |
30% | 31% | 33% | 34% | 28% | 16% | 8 ویژگی – ویژگیهای ساختاری |
72% | 74% | 75% | 73% | 69% | 63% | 27 ویژگی – Hu,GLCM, ساختاری |
4-2-1-4- نتیجه گیری
همانطور که در جدول 4-4 مشاهده میکنید در حالتی که از تمام ویژگیها استفاده کردهاند و تعداد نرونهای لایه مخفی در تعداد بهینه 35 نرون میباشد به بالاترین نرخ باز شناسی 75% رسیدهاند.
4-2-2- طراحي و پياده سازي سيستمي براي بازشناسي كلمات دستنويس فارسي با حروف گسسته و لغتنامة معين با استفاده از يك شبكة عصبي سلسله مراتبي
در اين مقاله [1]سيستمي براي بازشناسي نوشتار دستنويس فارسي ارائه شده است كه در اكثر مجموعههايي كه با جمعآوري عمومي اطلاعات سروكار دارند، كاربرد دارد. هدف از اين پژوهش، بازشناسي كلمات دستنويسي است كه با حروف گسسته نوشته شدهاند. ويژگيهاي مورد استفاده در اين پژوهش، ويژگيهاي آماري حروف جداسازي شده است. شناسايي هر حرف توسط مجموعهاي از شبكههاي عصبي است كه بهصورت سلسله مراتبي به هم متصل شدهاند. تقسيمبندي حروف به گروهبندي مناسب براي تقسيم بهينة عمليات شناسايي بين شبكههاي عصبي پياده سازي شده از ويژگيهاي اين پژوهش است و آناليز زباني انجام شده نيز براي كاهش احتمال خطا بر مبناي اطلاعات گروهبندي و با استفاده از لغتنامة اسامي اول 117000 نفر انجام شده است. آزمونهاي انجام شده بر روي دستخط 200 نفر نشاندهندة درصد بازشناسي متوسط 2/77% براي شناسايي حروف گسسته و 4/84% براي شناسايي كلمات لغتنامه است.
به طور خلاصه، مراحل انجام شده در اين پژوهش به اين شرح است، ابتدا بانك اطلاعاتي وسيعي از دستخطهاي مختلف تهيه شده است كه فرمهايي را با حروف منقطع پركردهاند. همچنين بانك اطلاعاتي مناسبي نيز براي لغتنامة موردنياز تهيه شده كه در اين مورد اسامي اول (مرد و زن) شركتكننده در يك آزمون ورودي بزرگ مورد استفاده قرارگرفته است. سپس بانك اطلاعاتي كلمات، براي آموزش و تست يك شبكة عصبي سلسله مراتبي به كار برده شده و يك الگوريتم آناليز زباني آماري نيز براي تصحيح خطاهاي سيستم بازشناسي حروف از روي لغتنامه تهيه شده است. براي تصحيح اشتباههاي احتمالي در هر دو بانك اطلاعاتي، هردو به شكل دستي كنترل و پالايش شدهاند.
تصوير ورودي ابتدا پيش پردازش ميشود. مرحلة پيش پردازش شامل خواندن فايل تصوير هر كاراكتر، حذف نويز و دو سطحي كردن هر حرف است. در مرحلة بعد ويژگيهاي مورد نظر از تصوير سياه و سفيد استخراج ميشوند و به مرحلة تصميمگيري كه شامل چند شبكة عصبي متصل به هم است، ارسال ميگردند. خروجي اين مرحله كه شمارة كاراكتر بازشناسي شده در جدول الفبا خواهد بود، براي حذف خطاهاي احتمالي به مرحلة آناليز زباني ارسال ميشود. دراين مرحله مجموعة كاراكترهاي بازشناسي شده، با اطلاعات لغتنامة موجود مقايسه شده، جواب نهايي به دست ميآيد.
تصوير كلمه |
پیش پردازش |
استخراج ويژگي |
تصميم گيري |
آناليز زباني |
كلمه بازشناسي شده |
شکل 4‑7 بلوك دياگرام كلي سيستم [1] |
4-2-2-1- ساختار شبكة عصبي طراحي شده
با توجه به شباهت بسيار زياد بعضي حروف فارسي به هم (ج،چ،ح،خ) و يا (س، ش، ص و …) جدا سازي اين حروف با مشكل روبرو است و يك شبكة عصبي كه بتواند تمام اين حروف را از هم جدا كند، حداقلهاي محلي بسياري خواهد داشت. در اين تحقيق ابتدا گروههاي مناسبي از حروف با كمك الگوريتمهاي خوشهبندي، شواهد شهودي و آزمون و خطا تهيه شده است، سپس يك شبكة عصبي MLP براي جداسازي اين گروهها از هم، آموزش ديده است.
4-2-2-2- استخراج ويژگي
به طور كلي رابطة تنگاتنگي بين ويژگيهاي مورد استفاده و تنوع كاراكترهاي مورد بازشناسي وجود دارد. با توجه به اينكه كاراكترهاي مورد نظر از نوع نوشتار دستنويس هستند، ويژگيهاي ساختاري به دست آمده بسيار متنوع خواهد بود و ويژگيهاي آماري هر حرف، در مقابل تغييرات دست خط و زوائد مربوط به آن مقاومترند. بنابراين در اين پژوهش از ويژگيهاي آماري به عنوان ويژگيهاي اصلي در تصميمگيري استفاده شده است.
هفت ويژگي اول مورد استفاده، گشتاورهاي آماري تغيير ناپذير نسبت به تبديلهاي هندسي[82] هستند كه از تركيب گشتاورهاي آماري مرتبة صفر تا سه حاصل ميشوند. متاسفانه مقاوم بودن اين ويژگيها نسبت به اندازه و دوران تصوير باعث ميشود تا ويژگيهاي حاصل براي برخي از حروف متمايز فارسي مشابه باشند. مثلاً در ويژگيهاي استخراج شده برای «ا» و«ب» تفاوت محسوسي وجود ندارد. به همين دليل چند ويژگي جديد به اين مجموعه افزوده شدهاند تا بازنمايي مناسبي از مشخصات هر حرف در ويژگيهاي استخراج شده انجام شده باشد. اين ويژگيها عبارتند از :
8- نسبت واريانس هيستوگرام افقي به عمودي
9- نسبت مساحت نيمة بالايي به نيمة پاييني تصوير
10- نسبت مساحت نيمة چپ به نيمة راست تصوير
11- نسبت مساحت كل تصوير به مساحت مستطيل محاط كننده
12- نسبت طول به عرض مستطيل محاطي
13- نسبت واريانس نيمة بالايي به نيمة پاييني
14- انحراف معيار دوبعدي تصوير
4-2-2-3- آناليز زباني
با توجه به اينكه سيستم براي بازشناسي كلمات با لغتنامه معين طراحي شده است، استفاده از آناليز زباني با كمك لغتنامه ميتواند خطاهاي مرحله بازشناسي حروف را جبران كند. براي اين كار يك پايگاه داده با 117000 كلمه از اسامي افراد شركت كننده در يك آزمون ورودي تهيه شد كه شامل حدود 5000 نام متمايز با فراواني هاي مختلف بود. با توجه به اينكه در اين سيستم بازشناسي خطايي در تشخيص تعداد حروف هر كلمه وجود ندارد، بانك اطلاعاتي كلمات با تعداد حروف متفاوت از هم جدا شدند.
4-2-2-4- نتايج به دست آمده
سيستم طراحي شده در دو حالت مورد بررسي قرار گرفته است، ابتدا درصد بازشناسي زيرگروههاي مختلف مورد ارزيابي قرار گرفته است. جدول زیر نتيجة بازشناسي را به ازاي زير گروههاي مختلف نشان ميدهد. نتايج نشان ميدهد كه در مجموع درصد بازشناسي نهايي به 2/77% رسيده است. اكثر اشتباهات در اين مرحله به علت شباهت عناصر گروه هاي مختلف با هم است.
جدول 4‑3درصد بازشناسي زيرگروههاي مختلف[1]
ا | ب | پ | ت | ث | ج | چ | ح | خ | د | ذ | ر | ز |
5/92 | 80 | 9/82 | 63 | 8/72 | 9/87 | 9/82 | 2/95 | 93 | 79 | 69 | 8/57 | 2/64 |
ژ | س | ش | ص | ض | ط | ظ | ع | غ | ف | ق | ك | گ |
41 | 92 | 65 | 6/89 | 8/88 | 3/52 | 6/59 | 1/97 | 2/94 | 1/79 | 2/78 | 2/65 | 6/58 |
ل | م | ن | و | ه | ي | |||||||
93 | 1/97 | 6/71 | 6/89 | 3/73 | 6/63 |
در حالت دوم، براي هر يك از كلمات لغتنامه، به صورت اتفاقي حروف دستنويس از بانك اطلاعاتي حروف انتخاب شده، سپس هر حرف مورد بازشناسي قرار گرفته است و در مرحله آناليز زباني،
نزديكترين كلمة لغتنامه به دنبالة حروف بازشناسي شده به عنوان كلمة بازشناسي شده ارائه شده است. اين آزمون به ازاي كلمات لغتنامه با تعداد حروف متفاوت ده بار آزموده شده و درصد بازشناسي باتوجه به فراواني هر كلمه در لغتنامه محاسبه و روي ده بار آزمون متوسطگيري شده است.
با توجه به اينكه به ازاي هر حرف احتمال خطايي وجود دارد، در صورت عدم وجود لغتنامه، بازشناسي دنبالة حروف كلمات، درصد خطا را افزايش ميدهد. اما نتايج نشان ميدهد كه استفاده از لغتنامه به خوبي اين افزايش خطا را جبران كرده و در مجموع، درصد بازشناسي به 4/84% رسيده است كه در آن خطا كاهش هم يافته است.
به علت اينكه بعضي گروهها يك عضوي نيستند، نامهاي متمايزي وجود دارند كه از لحاظ گروهبندي يكسان هستند. در اين سيستم عملاً نام با احتمال بيشتر برنده ميشود و نام با احتمال كمتر شانسي نخواهد داشت. اين خطاي ذاتي كه در اين سيستم غير قابل جبران است، روي كلمات لغتنامه با توجه به دستهبندي انجام شده محاسبه شده است و مقدار آن 6/1% به دست آمده است كه به خوبي قابل چشمپوشي است.
جدول 4‑4 درصد بازشناسي كلمات لغتنامه به ازاي تعداد حروف مختلف [1]
تعداد حروف | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 و بيشتر |
درصد بازشناسي | 97 | 84 | 75 | 81 | 85 | 88 | 93 | 89 | 91 |
تعداد اسامي متمايز | 5 | 151 | 969 | 1212 | 597 | 436 | 559 | 459 | 673 |
4-3- بررسی چند سیستم دیگر
در [42] دو کلاسبند SVM و RBF را با هم مقایسه کرده است و از ویژگی زرنیک برای استخراج ویژگی استفاده کرده است. زمان لازم برای آموزش SVM زیادتر از RBF است ولی دقت SVM نیز در تشخیص دادههای تست و آموزشی بالاتر است. در کل با شبکه عصبی RBF به دقت 91% برای داده های تست کاراکتری و 8/92% برای اعداد و SVM به دقت ٩۴% و 8/94% به ترتیب برای داده های تست کاراکتری و اعداد دست یافته است.
در[43] SVM و MLP را با هم مقایسه کرده است و به ترتیب به دقت 94% و 91%´ دست یافته است.
در [44] شش روش کلاسبندی MLP، MQDF، DLQDF، PNC، CEPC و SVM را با هم مقایسه کرده است که SVM و CEPC بهترین کارایی را داشتهاند و حداکثر دقت آن 4/99% است.
در [45] یک معماری که از دو شبکه عصبی متفاوت با ١٣ و ٢٠ لایه مخفی استفاده کرده است. حروف براساس شباهتشان به شش گروه تقسیم میشود برای مثال حروف « خ ، ج، ح، چ، ع، غ » در یک گروه قرار میگیرند. این معماری مسئله را در دو مرحله حل میکند . در مرحله اول حروف ورودی با شبکه با ١٣ نود در لایه مخفی و شش نود خروجی به یکی از شش گروه نسیت میدهد. در مرحله دوم حروف را با یکی از شش شبکه متفاوت (برای هر گروه یک شبکه با ٢٠ نود مخفی) کلاسبندی میکند. در این سیستم از ویژگی موجک با ابعاد مختلف استفاده کرده است که به دقت 96% برای مجموعه آموزشی و 88% برای مجموعه تست دست یافته است.
در [46] از ترکیب ویژگیهای structural و تبدیل موجک و فرکتال و برای کلاسبندی از روش نزدیکترین همسایه (NNC) استفاده کرده است. که ویژگیهای استفاده شده به ترتیب به دقت 94%، 90% و 88% دست یافته است و با ترکیب این ویژگیها به دقت 97% رسیده است.
در [47] از کلاسبند Vector Quantiation استفاده کرده است که به دقت 86% دست یافته است.
4-4- نتیجه گیری
تحقیقات زیادی در زمینه شناسایی دستخط انجام شده است که به دقتهای خوبی دست یافته اند. البته به دلیل عدم وجود پایگاه داده استاندارد نمیتوان دقتهای بدست آمده توسط آنها را با هم مقایسه کرد ولی بالاترین دقتی که بدست آمده حدود 4/99% بوده است. البته هنوز هیچ روش شناسایی دستخط عمومی که در همه کاربردها بتوان از آن استفاده کرد وجود ندارد و روشهای استفاده شده بسیار بسته به کاربرد آن است. با دقت در پیش پردازش و استخراج ویژگی و روش کلاسبندی در هر کاربرد خاص میتوان به دقت خوبی دست یافت.
از ﻣﺰﻳﺖﻫﺎي اﻳﻦ اﻟﮕﻮرﻳﺘﻢ اﻳﻦ اﺳﺖ ﻛﻪ علارقم دیگر روشها، ﻧﻴﺎزي ﺑﻪ آﻣﻮزش ﻧﺪارد و ﻣﺒﺘﻨﻲ ﺑﺮ ﻗﺎﻋﺪه ﻣﻲﺑﺎﺷﺪ. ﻳﻜﻲ دﻳﮕﺮ از ﻣﺰﻳﺖﻫـﺎي ﻣﻬﻢ اﻳﻦ اﻟﮕﻮرﻳﺘﻢ، ﻫﻤﺰﻣﺎن ﺑﻮدن دو ﻓﺎزِ ﺟﺪاﺳﺎزي و ﺗﺸﺨﻴﺺ ﺣﺮوف ﻣﻲﺑﺎﺷﺪ. در اﻟﮕﻮرﻳﺘﻢﻫﺎي دﻳﮕﺮ اﻳﻦ دو ﻓﺎز ﻛﺎﻣﻼً از ﻳﻜﺪﻳﮕﺮ ﺟﺪا ﻫﺴﺘﻨﺪ و ﺗﻘﺮﻳﺒﺎً ﻫﻴﭻ ارﺗﺒﺎﻃﻲ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﻧﺪارﻧﺪ. از آنﺟﺎ ﻛﻪ ﻫﻴﭻ روشِ ﻣـﻮﺛﺮي ﺑـﺮاي ﺟﺪاﺳـﺎزي ﺣـﺮوف از زﻳﺮﻛﻠﻤﺎت ﻣﻮﺟﻮد ﻧﻴﺴﺖ ﻣﻌﻤﻮﻻً ﺑﻌﺪ از اﻳﻦ ﻣﺮﺣﻠﻪ، ﻳﻚ ﻣﺮﺣﻠﻪ دﻳﮕﺮ ﻛﻪ ﭼﺴﺒﺎﻧﺪنِ ﺗﻜﻪﻫﺎي ﻣﺨﺘﻠﻒ ﻳﻚ ﺣﺮف ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﻣﻲﺑﺎﺷﺪ، ﺑﻪ ﻛﻞ اﻟﮕﻮرﻳﺘﻢ اﺿﺎﻓﻪ ﻣﻲﺷﻮد. اﻳﻦ ﻛﺎر ﺳﺮﻋﺖ ﺗﺸﺨﻴﺺ را ﭘﺎﻳﻴﻦ ﻣﻲآورد و زﻣﺎن ﺗﺸﺨﻴﺺ را اﻓﺰاﻳﺶ ﻣﻲدﻫﺪ.
وﻟﻲ در اﻟﮕﻮرﻳﺘﻢ ارائه ﺷﺪه در اﻳﻦ ﭘﺮوژه ﻣﻲﺗﻮان ﮔﻔﺖ ﻛﻪ اﺑﺘﺪا ﺣﺮف ﺗﺸﺨﻴﺺ داده ﻣﻲﺷـﻮد ﺳـﭙﺲ از ﺑﺪﻧـﻪ اﺻـﻠﻲ زﻳﺮﻛﻠﻤﻪ ﺟﺪا ﻣﻲﺷﻮد.
فصل 5- نتیجه گیری و کارهای آینده
5-1- نتیجه گیری
با توجه به اینکه در یک سیستم خوب باید ویژگیهایی نظیر اعراب کلمات، سرعت پردازش بالا، امکان تشخیص جداول موجود در متن نیز باشد (که در اغلب مقالات به آن نپرداخته بودند)، میبینیم که بازشناسی متون فارسی هنوز فاصله زیادی تا تبدیل شدن به یک سیستم بازشناسی ایدهآل دارند.
الگوریتم پیشنهادی نسبت به سایر روش ها دارای نقاط قوتی چون عدم نیاز به جداسازی حروف و عدم نیاز به آموزش پایگاه داده را دارد که باعث سریعتر شدن الگوریتم میشود. علاوه بر آن، با اعمال اصلاح و تغییراتی میتوان آن را به یک الگوریتم توانا برای بازشناسی متون فارسی به کاربرد و به وسیله آن یک نرمافزار یا سختافزار خوب را طراحی کرد. بنابراین اینجانب قصد دارم که برای تز دکتری خود، کار بر روی این الگوریتم را ادامه دهم و آنرا به محصولی سخت افزاری، برای بازشناسی و دستهبندی نامههای پستی تبدیل کنم.
5-2- کارهای آینده
< /a></ a>< a name=”_Toc 328041228″>ﻫﻤﺎﻧﻄﻮﺭ ﻛﻪ ﻣﻼﺣﻈﻪ ﺷﺪ، ﻓﺮﺁﻳﻨﺪ ﺗﺒﺪﻳﻞ ﻳﻚ ﺗﺼﻮﻳﺮ ﺳﻨﺪ ﺑﻪ ﻣﺘﻦ ﻗﺎﺑﻞ ﻭﻳﺮﺍﻳﺶ ﻳﺎ ﻫﻤﺎﻥ OCR، ﭘﻴﭽﻴﺪﻩ ﺍﺳﺖ ﻭ ﺩﺳﺘﻴﺎﺑﻲ ﺑﻪ ﻳﻚ ﺳﻴﺴﺘﻢ OCR ﻛﺎﺭﺁﻣﺪ ﻓﺎﺭﺳﻲ، ﺩﺭ ﺩﺭﺍﺯ ﻣﺪﺕ ﻭ ﺑﺎ ﺍﻧﺠﺎﻡ ﺗﺤﻘﻴﻘﺎﺕ ﻭﺳﻴﻊ ﻭ ﻣﺘﻤﺮﻛﺰ ﻣﺤﻘﻖ ﺧﻮﺍﻫﺪ ﺷﺪ. ﺩﺭ ﺍﺩﺍﻣﻪ، ﺭﺍﻫﻜﺎﺭﻫﺎﻳﻲ ﺑﻪ ﻣﻨﻈﻮﺭ ﺗﺴﺮﻳﻊ ﺩﺭ ﺩﺳﺘﻴﺎﺑﻲ ﺑﻪ ﻳﻚ ﺳﻴﺴﺘﻢ OCR ﻓﺎﺭﺳﻲ ﭘﻴﺸﻨﻬﺎﺩ ﻣﻲﮔﺮﺩﺩ:
– ﺑﺮﺧﻲ ﺍﺯ ﻋﻤﻠﻴﺎﺕ ﭘﺮﺩﺍﺯﺷﻲ ﺳﻴﺴﺘﻢ OCR ﻭﺍﺑﺴﺘﮕﻲ ﻛﻤﺘﺮﻱ ﺑﻪ ﻧﻮﻉ ﺯﺑﺎﻥ ﻣﺘﻦ ﺩﺍﺭﻧﺪ ﻭ ﺭﻭﺵﻫﺎﻱ ﭘﺮﺩﺍﺯﺷﻲ ﻣﻮﺭﺩ ﺍﺳﺘﻔﺎﺩﻩ ﺩﺭ ﺳﻴﺴﺘﻢﻫﺎﻱ OCR ﻻﺗﻴﻦ، ﻣﺴﺘﻘﻴﻤﺎً ﻳﺎ ﺑﺎ ﺍﻧﺠﺎﻡ ﺗﻐﻴﻴﺮﺍﺕ ﺟﺰﺋﻲ ﺑﺮﺍﻱ ﺁﻥﻫﺎ ﻗﺎﺑﻞ ﺍﻋﻤﺎﻝ ﻫﺴﺘﻨﺪ. ﺑﻪ ﻋﻨﻮﺍﻥ ﻣﺜﺎﻝ، ﺑﺴﻴﺎﺭﻱ ﺍﺯ ﺍﻟﮕﻮﺭﻳﺘﻢﻫﺎﻱ ﭘﻴﺸﻨﻬﺎﺩ ﺷﺪﻩ ﺩﺭ ﻣﻘﺎﻻﺕ ﺑﺮﺍﻱ ﻋﻤﻠﻴﺎﺕ ﭘﻴﺶﭘﺮﺩﺍﺯﺵ (ﻧﻈﻴﺮ ﺩﻭﮔﺎﻧﻲﻛﺮﺩﻥ ﺗﺼﻮﻳﺮ، ﻛﺎﻫﺶ ﻧﻮﻳﺰ، ﺗﺼﺤﻴﺢ ﻛﺠﻲ ﺻﻔﺤﻪ ﻭ …) ﺑﺮﺍﻱ ﻫﺮ ﻣﺘﻨﻲ ﺻﺮﻑ ﻧﻈﺮ ﺍﺯ ﻧﻮﻉ ﺯﺑﺎﻥ ﺁﻥ ﻗﺎﺑﻞ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲﺑﺎﺷﻨﺪ. ﻫﻤﭽﻨﻴﻦ ﺑﺴﻴﺎﺭﻱ ﺍﺯ ﺍﻳﺪﻩﻫﺎﻱ ﺍﺭﺍﺋﻪ ﺷﺪﻩ ﺑﺮﺍﻱ ﻗﻄﻌﻪﺑﻨﺪﻱ ﺑﻴﺮﻭﻧﻲ، ﺑﺎﺯﺷﻨﺎﺳﻲ، ﺁﻣﻮﺯﺵ ﻭ ﭘﺲﭘﺮﺩﺍﺯﺵ ﻣﺘﻮﻥ ﻻﺗﻴﻦ ﺭﺍ ﻣﻲﺗﻮﺍﻥ ﺑﺎ ﺍﻧﺠﺎﻡ ﻳﻜﺴﺮﻱ ﺗﻐﻴﻴﺮﺍﺕ، ﺑﺮﺍﻱ ﻣﺘﻮﻥ ﻓﺎﺭﺳﻲ ﻧﻴﺰ ﺍﺳﺘﻔﺎﺩﻩ ﻧﻤﻮﺩ.
‐ ﮔﻠﻮﮔﺎﻩ ﻳﻚ ﺳﻴﺴﺘﻢ OCR ﻓﺎﺭﺳﻲ ﻭ ﻧﻘﻄﺔ ﺗﻤﺎﻳﺰ ﺁﻥ ﺑﺎ OCR ﻻﺗﻴﻦ، ﻋﻤﻠﻴﺎﺕ ﻗﻄﻌﻪﺑﻨﺪﻱ ﺩﺭﻭﻧﻲ ﺍﺳﺖ ﻛﻪ ﭼﻨﺎﻧﭽﻪ ﺑﺘﻮﺍﻥ ﺑﺨﻮﺑﻲ ﺁﻥ ﺭﺍ ﺍﻧﺠﺎﻡ ﺩﺍﺩ، به جرﺃﺕ ﻣﻲﺗﻮﺍﻥ ﻋﻨﻮﺍﻥ ﻧﻤﻮﺩ ﻛﻪ ﻧﻴﻤﻲ ﺍﺯ ﺭﺍﻩ ﺭﺍ ﻃﻲ ﻧﻤﻮﺩﻩﺍﻳﻢ. ﺑﻨﺎﺑﺮﺍﻳﻦ ﺑﺠﺎ ﺍﺳﺖ ﻛﻪ ﺗﻤﺮﻛﺰ ﺍﺻﻠﻲ ﺧﻮﺩ ﺭﺍ ﺑﺮ ﺍﻳﻦ ﻗﺴﻤﺖ ﻣﻌﻄﻮﻑ ﺩﺍﺭﺩ.
- در الگوریتم ارائه شده فرض بر این است که تصویر ورودی طیف خاکستری است، متن به رنگ تیره و پس زمینه به رنگ روشن است. در کاربردهای عملی، موارد زیادی وجود داردکه در تصویر ورودی متن به رنگ روشن تر و پس زمینه به رنگ تیره تر است. حتی در برخی موارد، پس زمینه و متن دارای رنگ ثابت نیستند و استخراج متن از پس زمینه نیازمند الگوریتم های پیچیده است. در زمینه استخراج متن از این نوع تصاویر تحقیقات نسبتاً زیادی شده است که می توان از نتایح آنها برای بهبود الگوریتم پیشنهادی استفاده نمود. در حالت ایدهآل، الگوریتم پیش پردازش باید بتواند متنها را از یک فریم ویدیویی شلوغ با کیفیت نسبتاً پایین استخراج نموده و به صورت سیاه و سفید بدون نویز برای مراحل بعدی آماده کند. به عنوان نمونه در [48] این کار برای متون انگلیسی به خوبی انجام شده است که با بسط آن به متون فارسی می توان نتایج خوبی گرفت.
- در الگوریتم ارائه شده، تعدادی قانون برای تعیین نوع عناصر ابتدایی از روی خط های استخراج شدة هر استروک به کار رفته است. اگر از الگوریتمهایی که مستقیماً خط را تشخیص میدهند استفاده شود، بهتر است. بنابراین پیشنهاد می شود برای تعیین نوع عناصر ابتدایی به خصوص C، U و D از الگوریتم های تشخیص خم استفاده شود.
- یکی از کمبود های الگوریتم حاضر بازشناسی حروف فارسی نسبت به سیستمهای تجاری موجود، عدم استفاده از یک سیستم تصحیح برای تصحیح نهایی واژههای شناسایی شده است. در انتهای الگوریتم میتوان از یک دیکشنری استفاده کرد و در صورت یافت نشدن واژه، آن را با نزدیکترین لغت جایگزین کرد.
- این الگوریتم قادر به شناسایی شکلهای خاص حروف «ه» و «ح» در زیرکلمات و همچنین شکلها خاص نظیر اشکال «ﻻ ﻼ ے ؏» نیست. لذا با کار بر روی این حالات خاص میتوان دقت الگوریتم را بالا برد.
- ” تشخیص حروف و زیرکلمات دست نویس فارسی با استفاده از عناصر ابتدایی تشکیل دهنده حروف ” بیست و دومین کنفرانس بین المللی برق ایران (ICEE2014)، دانشگاه شید بهشتی، اردیبهشت 1393.
پیوست (2) واژه نامه فارسي به انگليسی
استخراج ویژگی از ماتریس | Gray Level Co Occurrence Matrix |
ایتالیک | Italic |
آستانه گذاری | Thresholding |
برخط | Online |
برون خط | Ofline |
بینایی ماشین | Machine Vision |
پردازش تصویر | Image Processing |
پردازش سیگنال دیجیتال | Digital Signal Processing |
پویش | Scan |
پیکسل | Pixel |
تبدیلهای هندسی | Moment Invariant |
تصویر | Binarization |
تفکیک | Resolution |
تمرین | Training |
جداسازی، قطعه بندی | Segmentation |
جداسازی | Separation |
چاپی | Printed |
چند لایه | Multilayer |
خط کرسی | Base Line |
دستنویس | Handwriting |
دسته بندی نزدیکترین همسایه | Nearest Neighbor Classifier |
روشهای آماری کلاسه بندی بافت | Statical Texture Classification |
روشنایی | Intensity |
زیرکلمه | Subword |
ساده سازی جهتها | Directions Simplifying |
فضای خالی | Space |
قلم | Font |
کدهای زنجیرهای | Chain Code |
کلمه | Word |
منطق فازی | Fuzzy Logic |
مومنت Hu | Hu moment |
نویسه | Letter |
یادگیری ماشین | Machine Learning |
پیوست (3) واژه نامه انگليسي به فارسي
خط کرسی | Base Line |
تصویر | Binarization |
کدهای زنجیرهای | Chain Code |
پردازش سیگنال دیجیتال | Digital Signal Processing |
ساده سازی جهتها | Directions Simplifying |
قلم | Font |
منطق فازی | Fuzzy Logic |
استخراج ویژگی از ماتریس | Gray Level Co Occurrence Matrix |
دستنویس | Handwriting |
مومنت Hu | Hu moment |
پردازش تصویر | Image Processing |
روشنایی | Intensity |
ایتالیک | Italic |
نویسه | Letter |
یادگیری ماشین | Machine Learning |
بینایی ماشین | Machine Vision |
تبدیلهای هندسی | Moment Invariant |
چند لایه | Multilayer |
دسته بندی نزدیکترین همسایه | Nearest Neighbor Classifier |
برون خط | Ofline |
برخط | Online |
پیکسل | Pixel |
چاپی | Printed |
تفکیک | Resolution |
پویش | Scan |
جداسازی ، قطعه بندی | Segmentation |
جداسازی | Separation |
فضای خالی | Space |
روش1های آماری کلاسه بندی بافت | Statical Texture Classification |
زیرکلمه | Subword |
آستانه گذاری | Thresholding |
تمرین | Training |
کلمه | Word |
[1] پ. ح. س. م. ر. ف،, “طراحي و پياده سازي سيستمي براي بازشناسي كلمات دستنويس فارسي با حروف گسسته و لغتنامة معين با استفاده از يك شبكة عصبي سلسله مراتبي,” شرکت مهندسی الکترونیک و رایانه پژوهندگان سپهر اندیشه.
[2] د. ع. و. ایران, ” بررسی نیازمندی های پروژه های زیر ساختی نویسه خوان نوری فارسی به پیکره متنی زبان فارسی,” زیر پروژه, 1388.
[3] س. ح. ق. جق, “کاربرد تجزیه تنک در تشخیص اتوماتیک حروف,” کارشناسی ارشد مهندسی مخابرات دانشگاه صنعتی شریف, 1389.
[4] ش. انصافی, “طراحی و پیاده سازی یک الگوریتم جهت جداسازی و شناسایی حروف پیوسته فارسی”، ” دانشگاه شهید بهشتی کارشناسی ارشد مهندسی الکترونیک، 1388.
[5] R. O. Duda, P. E. Hart, and D. G. Stork, Pattern classification: John Wiley & Sons, 2012.
[6] L. O’Gorman and R. Kasturi, Document image analysis vol. 39: IEEE Computer Society Press Los Alamitos, CA, 1995.
[7] 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.
[8] S. Khalighi, P. Tirdad, and H. R. Rabiee, “A novel OCR system for calculating handwritten persian arithmetic expressions,” in Signal Processing and Information Technology (ISSPIT), 2009 IEEE International Symposium on, 2009, pp. 277-282.
[9] L. Eikvil, “OCR-optical character recognition,” 1993.
[10] G. Tauschek, “READING MACHINE,” ed: Google Patents, 1935.
[11] S. Mori, C. Y. Suen, and K. Yamamoto, “Historical review of OCR research and development,” Proceedings of the IEEE, vol. 80, pp. 1029-1058, 1992.
[12] R. G. Casey and E. Lecolinet, “A survey of methods and strategies in character segmentation,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 18, pp. 690-706, 1996.
[13] U. Miletzki, “Character recognition in practice today and tomorrow,” in Document Analysis and Recognition, 1997., Proceedings of the Fourth International Conference on, 1997, pp. 902-907.
[14] G. Nagy, “Twenty years of document image analysis in PAMI,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 22, pp. 38-62, 2000.
[15] G. Nagy, T. A. Nartker, and S. V. Rice, “Optical character recognition: An illustrated guide to the frontier,” in Electronic Imaging, 1999, pp. 58-69.
[16] ا. فرامرزی, “بازشناسی نوری حروف: مروری بر مباحث نظری و ملاحظلت کاربردی با تاکید بر مسائل خاص زبان فارسی,” ماهنامه علوم اطلاع رسانی، 1384.
[17] M. S. Khorsheed, “Off-line Arabic character recognition–a review,” Pattern analysis & applications, vol. 5, pp. 31-45, 2002.
[18] F. Biadsy, J. El-Sana, and N. Habash, “Online arabic handwriting recognition using hidden markov models,” in Tenth International Workshop on Frontiers in Handwriting Recognition, 2006.
[19] A. Amin, “Off-line Arabic character recognition: the state of the art,” Pattern recognition, vol. 31, pp. 517-530, 1998.
[20] B. Al-Badr and S. A. Mahmoud, “Survey and bibliography of Arabic optical text recognition,” Signal processing, vol. 41, pp. 49-77, 1995.
[21] L. M. Lorigo and V. Govindaraju, “Offline Arabic handwriting recognition: a survey,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 28, pp. 712-724, 2006.
[22] S. Al-Emami and M. Usher, “On-line recognition of handwritten Arabic characters,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 12, pp. 704-710, 1990.
[23] T. J. Klassen and M. I. Heywood, “Towards the on-line recognition of arabic characters,” in Neural Networks, 2002. IJCNN’02. Proceedings of the 2002 International Joint Conference on, 2002, pp. 1900-1905.
[24] N. Mezghani, A. Mitiche, and M. Cheriet, “On-line recognition of handwritten Arabic characters using a Kohonen neural network,” in Frontiers in Handwriting Recognition, 2002. Proceedings. Eighth International Workshop on, 2002, pp. 490-495.
[25] N. Mezghani, A. Mitiche, and M. Cheriet, “A new representation of shape and its use for high performance in online Arabic character recognition by an associative memory,” International Journal of Document Analysis and Recognition (IJDAR), vol. 7, pp. 201-210, 2005.
[26] G. Al-Habian and K. Assaleh, “Online Arabic handwriting recognition using continuous Gaussian mixture HMMs,” in Intelligent and Advanced Systems, 2007. ICIAS 2007. International Conference on, 2007, pp. 1183-1186.
[27] ر. س. م. ک. ا. الله, “روشی ساده برای بازشناسی برخط زیرکلمات فارسی,” نشریه مهندسی برق و مهندسی کامپیوتر ایران، 1384.
[28] A. Senior and K. Nathan, “Writer adaptation of a HMM handwriting recognition system,” in Acoustics, Speech, and Signal Processing, 1997. ICASSP-97., 1997 IEEE International Conference on, 1997, pp. 1447-1450.
[29] A. K. Jain, F. D. Griess, and S. D. Connell, “On-line signature verification,” Pattern recognition, vol. 35, pp. 2963-2972, 2002.
[30] A. Vinciarelli and S. Bengio, “Writer adaptation techniques in HMM based off-line cursive script recognition,” Pattern Recognition Letters, vol. 23, pp. 905-916, 2002.
[31] S. N. Srihari, G. R. Ball, and H. Srinivasan, “Versatile search of scanned Arabic handwriting,” in Arabic and Chinese Handwriting Recognition, ed: Springer, 2008, pp. 57-69.
[32] S. Ensafi, M. Miremadi, M. Eshghi, M. Naseri, and A. Keipour, “Recognition of Separate and Adjoint Persian Letters in Less than Three Letter Subwords Using Primitives,” in Proceedings of Iran 17th Electrical Engineering Conference, Tehran, 2009, pp. 11-13.
[33] S. Singh and A. Amin, “Neural network recognition and analysis of hand-printed characters,” in Neural Networks Proceedings, 1998. IEEE World Congress on Computational Intelligence. The 1998 IEEE International Joint Conference on, 1998, pp. 1743-1747.
[34] A. J. A. a. L. M. Alzoubady, “Arabic Handwritten Characters Recognized By Neocognitron Artificial Neural Network,” University of Sharjah Journal of Pure & Applied Sciences, vol. 3, pp. 1-17, 2006.
[35] م. میرعمادی, “تشخیص حروف فارسی با استفاده از عناصر تشکیل دهنده حروف,” پ نامه کارشناسی ارشد مهندسی دانشگاه شهید بهشتی, 1385.
[36] S. Ensafi, M. Eshghi, and M. Naseri, “Recognition of separate and adjoint Persian letters using primitives,” in Industrial Electronics & Applications, 2009. ISIEA 2009. IEEE Symposium on, 2009, pp. 611-616.
[37] A. Dawoud, “Iterative cross section sequence graph for handwritten character segmentation,” Image Processing, IEEE Transactions on, vol. 16, pp. 2150-2154, 2007.
[38] J. S. Lim, “Two-dimensional signal and image processing,” Englewood Cliffs, NJ, Prentice Hall, 1990, 710 p., vol. 1, 1990.
[39] B. K. Jang and R. T. Chin, “One-pass parallel thinning: analysis, properties, and quantitative evaluation,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 14, pp. 1129-1140, 1992.
[40] S. Touj, N. E. B. Amara, and H. Amiri, “Generalized hough transform for arabic optical character recognition,” in Proceedings of the Seventh International Conference on Document Analysis and Recognition-Volume 2, 2003, p. 1242.
[41] ه. ق. ا. س. ع،, “بازشناسی برون خط کلمات دست نویس فارسی با تاکید بر تشخیص نام چند شهر,” هفتمین کنفرانس بینایی ماشین و پردازش تصویر ایران, 1390.
[42] H. R. Kanan, K. Faez, and S. Mozaffari, “Performance comparison of RBF Neural Network and SVM classifiers using zernike moments in Farsi/Arabic handwritten alphanumeric recognition,” in 2nd IEEE GCC 2004 Conference, Manama, Bahrain, 23-25 November 2004.
[43] J. Sadri, C. Y. Suen, and T. D. Bui, “Application of support vector machines for recognition of handwritten Arabic/Persian digits,” in Proceedings of Second Iranian Conference on Machine Vision and Image Processing, 2003, pp. 300-307.
[44] C.-L. Liu and C. Y. Suen, “A new benchmark on the recognition of handwritten Bangla and Farsi numeral characters,” Pattern Recognition, vol. 42, pp. 3287-3295, 2009.
[45] A. Asiri and M. S. Khorsheed, “Automatic Processing of Handwritten Arabic Forms using Neural Networks,” in IEC (Prague), 2005, pp. 313-317.
[46] K. Jung, K. In Kim, and A. K Jain, “Text information extraction in images and video: a survey,” Pattern recognition, vol. 37, pp. 977-997, 2004.
[47] J. Shanbehzadeh, H. Pezashki, and A. Sarrafzadeh, “Features extraction from farsi hand written letters,” in Proceedings of Image and Vision Computing New Zealand, 2007, pp. 35-40.
[48] S. Sankirti and P. Kamade, “Video OCR for Video Indexing,” CoRR, 2011.
Abstract
In this project, a new method for the detection of Persian handwritten letters and words are used. This is done by using eight basic elements that there are in all the letters and words of the Persian language. In this project after preprocessing, subword are thinned and entered in the primitive extraction process. At this stage by using of the stroke and modified Hough transform, basic elements of subword had been extracted. With making the stroke identify vector and compare it with the characters identify vector, recognition will be done.
Unlike conventional methods of subword handwriting recognition, this method, have no training and recognition and separation process, occurs simultaneously. For testing of Separate letters and numbers, IFHCDB test database are used and for the two and three letter words, a database is built. The proposed algorithm is tested on this databases and the accuracy for the detection of numbers is 98.8%. Also on isolated Persian words, that approximately constitute 50% of the subword Persian texts is 88.7%, for two letters subword that about 32% of the that make up, 81.4% and for three letters subword that approximately constitute 12% of the texts is 73.6%.
Keywords: basic elements; handwriting recognition; character processing; optical character recognition; OCR.
[1] Scan
[2] Font
[3] Digital Signal Processing
[4] Thresholding
[5] Image Processing
[6] Segmentation
[7] Machine Vision
[8] Machine Learning
[9] Fuzzy Logic
[10] Resolution
[11] Binarization
[12] Training
[13] Artificial intelligence
[14] Classification
[15] Sensor
[16] Feature extraction
[17] Document Image Analysis
[18] Letter
[19] Pixel
[20] Intensity
[21] Online
[22] Offline
[23] Handwriting
[24] Printed
[25] Subword
[26] Separation
[27] Base Line
[28] Word
[29] Space
[30] Hidden Markov Model
[31] Beam Search
[32] Internal Segmentation
[33] Representation
[34] Recognition
[35] Preprocessing
[36] External Segmentation
[37] Post processing
[38] ﺑﻪ ﻋﻨﻮان ﻧﻤﻮﻧﻪ ﻣﻲﺗﻮان ﺑﻪ ﭘﺎﻳﺎنﻧﺎﻣﻪﻫﺎي «اردﺷﻴﺮﺑﻬﺮﺳﺘﺎﻗﻲ» (1372)، «اﺳﺪي» (1377)، «اﻣﻴﺮي» (1381)، «ﺑﺤﺮي» (1376)، «ﺑﻨﻲاﺳﺪي» (1373)،«ﺗﻴﻤﺴﺎري» (1371)، «ﺛﺎﻧﻲ» (1373)، «رادﻣﻬﺮ» (1372)، «دﻫﻘﺎﻧﻲ» (1379)، «رﺿﻮي» (1375)، «رﻓﻴﻌﻲﻛﺮاﭼﻲ» (1373)، «ﺷﺎهﺣﺴﻴﻨﻲ» (1374)،«ﺻﺪوﻗﻲﻳﺰدي» (1375)، «ﻋﺒﺎﺳﻴﺎن» (7376)، «ﻋﺰﻣﻲ» (1378)، «ﻣﺮﺗﻀﻲﭘﻮر» (1378)، «ﻣﺴﺮوري» (1373)، «ﻣﺴﺮوري» (1379)، «ﻣﻘﺪم ﺗﺒﺮﻳﺰي» (1375)، «ﻣﻘﺴﻤﻲ» (1376)، «ﻧﺤﻮي» (1376)، «ﻧﻈﺎمآﺑﺎديﭘﻮر» (1379) و «ﻧﻤﺎزي» (1373) ﻣﺮاﺟﻌﻪ ﻛﺮد.
[39] Primitives
[40] Preprocessing
[41] Median Filter
[42] Vertical Projection
[43] Medial Axis Transformation
[44] Iterative Boundary Removal
[45] Connectivity
[46] Deletable
[47] Simple
[48] Undeletable
[49] No simple
[50] Matching Operation
[51] Thinning Operation
[52] Difference Operation
[53] Boundary Pixels
[54] Isotropic Skeleton
[55] Over shrinking
[56] End Point
[57] Square Pattern
[58] T junction
[59] Y-shaped
[60] Fork Point
[61] Stroke
[62] Single Stroke
[63] Multi Stroke
[64] Image Space
[65] Parameter Space
[66] Accumulator
[67] Collinearity
[68] Normal representation
[69] Stroke Identification Vector
[70] )Character Identification Vector (CIV
[71] Dots First Column (DFC)
[72] Dots End Column (DEC)
[73] Primitives First Column (PFC)
[74] Primitives End Column (PEC)
[75] Isolated Farsi/Arabic Handwritten Character DataBase
[76] Erosion
[77] Dilation
[78] Gray Level Co Occurrence Matrix
[79] Statical Texture Classification
[80] Hu moment
[81] Multilayer perceotion
[82] – Moment Invariant
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.