نویسه خوان نوری ، سیستمی برای تشخیص متون داخل یک تصویر
نویسه خوان نوری یا OCR، سرواژه Optical Character Recognition (نویسهخوان نوری) است؛ این سیستم متون چاپی درون یک تصویر را تشخیص میدهد. از متون چاپی که نویسه خوان نوری در تصویر تشخیص میدهد میتوانیم به روشهای گوناگونی استفاده کنیم. در دوران مدرنیته لزوم دیجیتالیکردن (تبدیل متن، تصویر و صدا به فرمتهای دیجیتالی) به شدت احساس میشود. از سوی دیگر مردم هم به دلیل رشد فنآوریهای اطلاعات و ارتباطات (ICT) و دسترسی گسترده به دستگاههای قابل حمل، محتواهای دیجیتالی را بر متون چاپی (کتاب، روزنامه و غیره) ترجیح میدهند.
از این گذشته وجود تکنیکهای پیشرفته (هوش مصنوعی و غیره) موجب شده سازماندهی و تحلیل دادههای دیجیتالی به مراتب آسانتر باشد. لذا برای همگام شدن با فنآوریهای پیشرفته امروزی باید تمامی اطلاعات موجود (که به صورت چاپی در دسترس هستند) را دیجیتالی کنیم. برای انجام این کار میتوانیم از نویسه خوان نوری کمک بگیریم.
آنچه که با مطالعه این مقاله میآموزید …
مقاله پیشرو یک مجموعه سه قسمتی است که اصطلاحات و مراحل مختلف سیستم نویسه خوان نوری را توضیح میدهد. مطالبی که در هر قسمت میآموزید:
- بخش اول (مقاله پیشرو): مروری جامع بر نحوه کار سیستم نویسهخوان نوری
- بخش دوم: نمونه کد و همچنین عملیاتهای مختلفی که در مرحله پیشپردازش انجام میشود
- بخش سوم: انواع گوناگون تقطیع (Segmentaion) که میتوان بر روی تصویر پیشپردازش شده انجام داد
تصویر مقابل مراحل مختلف عملکرد سیستم نویسه خوان نوری را نشان میدهد.
در ادامه هر یک از این مراحل را به صورت مختصر توضیح میدهیم:
الف. آمادهسازی تصویر
در این مرحله سند (document) اسکن میشود و در قالب عکسی که عملیات تشخیص باید بر روی آن اجرا میشود، ذخیره میشود.
[irp posts=”8271″]ب. پیشپردازش
ما مستقیماً نمیتوانیم یک عکس را به عنوان ورودی به سیستم نویسه خوان نوری بدهیم. برای اینکه سیستم نویسه خوان نوری بتواند به آسانی اطلاعات یک عکس را تشخیص دهد، ابتدا باید عملیات پیشپردازش را بر روی آن انجام دهیم.
پیشپردازش تصویر شامل مراحل زیر میشود:
1– تصحیح اریب بودن تصویر: تصویری که از مرحله قبل به دست آمده، ممکن است در جهت و زاویه درستی قرار نگرفته باشد. به همین دلیل باید تصحیح چولگی را بر روی آن اجرا کنیم تا مطمئن شویم تصویری که به مرحله بعد ارسال میشود در جهت و زاویه درستی قرار دارد.
2– باینری کردن: در این مرحله تصویر رنگی به یک تصویر باینری تبدیل میشود ( عکس سیاه و سفید). معمولاً برای تبدیل کردن یک تصویر رنگی به یک تصویر سیاه و سفید از یک تصویر سیاه و سفید (GrayScale) میانجی استفاده میشود.
به کمک مِتُدهای مختلفی میتوان عملیات باینری کردن را انجام داد:
- آستانهگذاری تطبیقی Adaptive Thresholding
- باینری کردن اُتسو Otsu’s binarization
- متد کمینه و بیشینه محلی Local Maxima and Minima method
متد آستانهگذاری تطبیقی بیشتر توصیه میشود؛ در این متد برای باینری کردن عکس یک حد آستانهای تعیین میشود. حد آستانهای هم بر مبنای موقعیتش در تصویر محاسبه میشود.
3– حذف نویز: در طول مرحله آمادهسازی تصویر و در زمان اسکن ممکن است نویز ( نقاط کوچک و یا مؤلفههای پسزمینهای) به تصویر اضافه شود. اضافه شدن نویز به تصویر میتواند در نتیجه عوامل گوناگونی از جمله دوربین با کیفیت پایین، سایهای بر روی تصویر و غیره اتفاق بیفتد. برای اینکه تصویر یکدست، تمیز و خوانا باشد باید نویزهای آن را حذف کنیم.
4– نازکسازی و استخراج اسکلت: پهنای خطوط و نویسههای (حروف) متنهایی که درون تصاویر وجود دارد، متفاوت است. در متون دستنویسیشده این تفاوتها بیشتر به چشم میخورد. برای اینکه تمامی خطوط و نویسهها پهنای یکسانی (برای مثال یک پیکسل یا چند پیکسل) داشته باشند، میتوانیم از تکنیک استخراج اسکلت استفاده کنیم.
ج. تقطیع
مرحله بعدی تقطیع است. در این مرحله تصویر به بخشهای کوچکتر تقسیم میشود و در مراحل بعدی هر یک از این بخشها به صورت جداگانه پردازش میشود. در سیستم نویسه خوان نوری سه نوع تقطیع میتوان انجام داد که عبارتند از:
- تقطیع خطی
- تقطیع در سطح واژه
- تقطیع در سطح نویسه
د. استخراج ویژگی
در این مرحله، برخی از ویژگیهای منحصر به فرد بخشهای کوچکتر عکس (که از مرحله قبل به دست آمده) را استخراج میکنیم. تکنیکهای زیادی وجود دارد که با استفاده از آنها میتوانیم ویژگیهایی از جمله شکل و پهنای خطوط و غیره را استخراج کنیم.
امروزه اغلب برای استخراج ویژگی از مدل یادگیری ماشین استفاده میکنیم؛ این مدلها از پشتهای از لایههای CNN، RNN (شبکه های عصبی بازگشتی) و LSTM ( حافظه طولانی کوتاه مدت) تشکیل میشوند.
ه. طبقهبندی
این مرحله در سیستم نویسه خوان نوری اهمیت زیادی دارد. در مرحله طبقهبندی از ویژگیهایی که در مرحله استخراج ویژگی استخراج کردیم به منظور شناسایی متن استفاده میکنیم. از الگوریتمهایی همچون SVM برای طبقهبندی استفاده میشود.
علاوه بر مراحلی که گفته شد، پس از مرحله طبقهبندی میتوانیم عملیات پس پردازش را انجام دهیم و عملکرد سیستم نویسه خوان نوری را ارتقاء دهیم.
و. پسپردازش
در نویسه خوان نوری عمدتاً به این دلیل خطا رخ میدهد که سیستم در مرحله طبقهبندی به درستی پیشبینی نکرده (این مشکل ممکن است در نتیجه عملکرد ضعیف سیستم در فرایند استخراج ویژگی و تعداد نویزهای زیاد تصویر روی دهد). در اکثر موارد، عدم پیشبینی صحیح موجب میشود اشتباهاتی در هجا و املای (کلمات و واژهها) به وجود بیاید، چرا که یک یا دو حرف در یک کلمه به درستی پیشبینی نشدهاند ( برای مثال کلمه “ball”، “boll” پیشبینی شده). در هر حال به کمک مدلهای زبانی، مدلهای Word2Vec ( از جمله CBOW و skip-gram) و غیره میتوان خطاهایی هجایی و املایی را تصحیح کرد.
انواع کاربردهای هوش مصنوعی در صنایع مختلف را در هوشیو بخوانید