محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

تفاوت OMR و OCR در چیست؟ به زبان بسیار ساده

OMR یا Optical Mark Recognition و OCR یا Optical Character Recognition هر دو روش هایی برای بدست آودن اطلاعات از درون تصاویر یا کاغذ ها و تبدیل کردن آن به اطلاعات دیجیتال هستند. در بسیاری اوقات اینگونه تصور می شود که هر دوی این روش ها یکسان عمل می کنند اما تفاوت های واضحی بین روش عملکرد OMR و OCR وجود دارد. وظیفه اصلی OMR این است که تشخیص دهد در یک منطقه تعریف شده از یک تصویر یا عکس یک علامت وجود دارد یا خیر ؟

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

و کار OMR تقریبا در اینجا تمام می شود اما OCR ضمن اینکه باید تشخیص دهد یک علامت در جایی از عکس یا تصویر وجود دارد یا خیر ، بایستی تشخیص دهد که علامت مورد نظر دقیقا چیست و کاراکتر متناظر با آن علامت را به اطلاع درخواست کننده برساند ، در OCR کاملا فرآیندهایی که انجام می شوند و دقت عملی که وجود دارد بستگی به زبان مورد استفاده برای OCR دارند چه بسا زبان فارسی یکی از دشوارترین زبان ها برای انجام فرآیند های تشخیص کاراکترها یا OCR است.

OCR چیست

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

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

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

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

OMR چیست

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

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

دستگاه تصحیص پاسخنامه

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

کاربرد OCR چیست
روش تشخیص پلاک اتومبیل از روی عکس

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

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

  1. OMR فقط برای تشخیص وجود داشتن یک علامت طراحی شده است
  2. OCR ضمن اینکه باید تشخیص بدهد یک علامت وجود دارد یا خیر باید نوع علامت را نیز تشخیص دهد
  3. OCR برای تبدیل کردن مستندات و عکس های پرینت شده به متون قابل ویرایش در کامپیوتر طراحی شده است
  4. OMR بیشتر مصارفی مانند جدول بندی و رتبه بندی و تصحیح کردن برگه های امتحانی بصورت پاسخبرگ پر شدنی را بر عهده دارد
  5. OCR بسیار ساختار پیچیده ای بر حسب نوع زبان مورد استفاده و همچنین الگوریتم ها و الگوهای کارکردی دارد اما OMR ساختار بسیار ساده ای در مقایسه یا OCR دارد توسینسو باشید

محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

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

نظرات