زمان تخمینی مطالعه: 8 دقیقه

OCR (تشخیص کاراکتر نوری) یا کاراکتر خوان نوری فرآیند تبدیل متن چاپ شده یا دست‌نویس به فرمت دیجیتال با پردازش تصویر را توصیف می‌کند. تشخیص کاراکتر نوری حوزه قابل توجهی از تحقیقات در هوش مصنوعی، تشخیص الگو و بینایی کامپیوتری است. OCR همچنین یکی از اولین زمینه‌های تحقیقات فناوری هوش مصنوعی بود و به عنوان یک فناوری بالغ ظهور کرده است. OCR در سال 1913 آغاز شد، زمانی که دکتر ادموند فورنیر دالبه، اپتوفون را برای اسکن و تبدیل متن به صدا برای افراد کم بینا اختراع کرد. از آن زمان، فناوری OCR مراحل توسعه متعددی را تجربه کرده است. در دهه 1990، این فناوری با دیجیتالی کردن روزنامه‌های تاریخی برجسته شد. علاوه بر این، ظهور گوشی‌های هوشمند و اسناد الکترونیکی منجر به پیشرفت‌های بیشتر در فناوری OCR شد. الگوریتم MaskOCR که مبتنی بر Vision Transformers (ViT) است و در ژوئن 2022 منتشر شد، بهترین الگوریتم OCR است و نتایج بسیار قابل توجهی را در مجموعه داده‌های بنچمارک برای تصاویر متنی چینی و انگلیسی به دست آورده است.

تشخیص کاراکتر نوری (OCR) چیست؟

OCR مخفف Optical Character Recognition است و به یک فناوری نرم افزاری اشاره دارد که به صورت الکترونیکی متن (نوشته یا چاپ شده) را در داخل یک فایل تصویر یا سند فیزیکی، مانند یک سند اسکن شده شناسایی می‌کند و آن را به یک فرم متن قابل خواندن توسط ماشین تبدیل می‌کند تا برای پردازش داده‌ها استفاده شود. این تکنولوژی همچنین به عنوان تشخیص متن نیز شناخته می‌شود. به طور خلاصه، نرم افزار تشخیص کاراکتر نوری به تبدیل تصاویر یا اسناد فیزیکی به فرمت قابل جستجو کمک می‌کند. از نمونه‌های OCR می‌توان به ابزارهای استخراج متن، مبدل‌های PDF به txt و عملکرد جستجوی تصویر Google اشاره کرد.

نمونه‌ای از OCR برای تشخیص متن و حروف در فاکتور فروشگاهی

تشخیص متن صحنه (STR) چیست؟

در بینایی کامپیوتری، ماشین‌ها می‌توانند متن را در صحنه‌های طبیعی ابتدا با شناسایی نواحی متن، برش‌دادن آن نواحی، و متعاقباً تشخیص متن در آن مناطق بخوانند. وظیفه بینایی تشخیص متن از مناطق برش خورده، تشخیص متن صحنه (STR) نامیده می‌شود. STR خواندن علائم جاده‌ای، بیلبوردها، آرم‌ها و اشیاء چاپی مانند متن روی پیراهن، صورت‌حساب‌های کاغذی و غیره را ممکن می‌سازد. کاربردهای STR شامل موارد استفاده عملی مانند خودروهای خودران، واقعیت افزوده، تجزیه و تحلیل خرده‌فروشی، آموزش، دستگاه‌هایی برای افراد کم بینا و دیگران است.

استفاده از STR برای خواندن علائم جاده و تابلوهای شهری رانندگی

تفاوت بین OCR و STR چیست؟

با مقایسه OCR و STR، تشخیص کاراکتر نوری (OCR) را می‌توان در جایی که ویژگی‌های متن در یک فرم ورودی یکنواخت ارائه می‌شود، اعمال کرد. درحالی که STR قادر به خواندن متن با سبک‌های مختلف فونت، اشکال متن، روشنایی، جهت‌گیری، انسداد (متن تا حدی پنهان) و شرایط ناسازگار دوربین است. به طور کلی، تشخیص متن صحنه(STR) برای خواندن متن با الگوریتم‌های هوش مصنوعی در سناریوهای دنیای واقعی که شامل محیط‌های بسیار چالش برانگیز و طبیعی با تصاویر ورودی نویز، تار یا تحریف شده است، ابزاری ایده آل است.

تشخیص کاراکتر نوری چگونه کار می‌کند؟

مفهوم OCR ساده است. با این حال، اجرای آن به دلیل عوامل متعددی مانند انواع فونت‌ها یا روش‌های مورد استفاده برای شکل‌گیری حروف می‌تواند بسیار چالش برانگیز باشد. به عنوان مثال، زمانی که نمونه‌های دست‌خط غیر دیجیتالی به جای نوشتن تایپ شده به عنوان ورودی استفاده می‌شود، اجرای OCR می‌تواند به طور تصاعدی پیچیده‌تر شود. کل فرآیند OCR شامل یک سری مراحل است که عمدتاً شامل سه هدف است: پیش پردازش تصویر، تشخیص کاراکتر، و پس پردازش خروجی خاص تولید شده. وظایف پایین دستی OCR شامل پردازش زبان طبیعی (NLP) برای نه تنها خواندن، بلکه تجزیه و تحلیل و درک معنای متن و گفتار است.

فرآیند OCR در بینایی کامپیوتری

در ادامه نحوه عملکرد تشخیص کاراکتر نوری را نشان خواهیم داد و مراحل اصلی فناوری‌های OCR سنتی را توضیح خواهیم داد.

نرم افزار ساده OCR پیکسل‌های هر حرف اسکن شده را با پایگاه داده موجود مقایسه می‌کند تا نزدیک‌ترین مورد را شناسایی کند. با این حال، اشکال پیچیده OCR، هر کاراکتر را به اجزای آن، مانند منحنی‌ها و گوشه‌ها، برای مقایسه و تطبیق ویژگی‌های فیزیکی با حروف مربوطه تقسیم می‌کند.

در بیشتر موارد، دقت 98-99% میزان دقت قابل قبولی است که در سطح صفحه (نه سطح الگوریتم) اندازه‌گیری می‌شود. این بدان معناست که در یک صفحه با حدود 1000 کاراکتر، 980-990 کاراکتر باید به طور دقیق توسط نرم افزار OCR شناسایی شود.

تشخیص کاراکتر نوری Tesseract

Tesseract یک موتور تشخیص کاراکتر است که می‌تواند متن اسکن شده را بخواند و آن را به متن دیجیتال تبدیل کند. این نرم افزار منبع باز است که تحت مجوز Apache 2.0 منتشر شده است. Tesseract برای سیستم عامل‌های مختلف از جمله ویندوز، لینوکس و Mac OS X در دسترس است. از این رو، Tesseract یک ابزار محبوب برای تشخیص متن در تصاویر، مانند اسناد اسکن شده و عکس‌های دیجیتال است. Tesseract دقیق و کارآمد است و می‌تواند زبان‌های مختلفی را پشتیبانی کند. برای تشخیص متن در تصاویر با Tesseract، تصاویر حاوی متن را وارد می‌کنید. Tesseract می‌تواند انواع فرمت‌های تصویر از جمله JPG، PNG و TIFF را بخواند.

نمایش استفاده از Tesseract برای تشخیص کاراکتر.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *