stringtranslate.com

Оптическое распознавание символов

Видео процесса сканирования и оптического распознавания символов (OCR) в реальном времени с помощью портативного сканера

Оптическое распознавание символов или оптическое считывание символов ( OCR ) — это электронное или механическое преобразование изображений печатного, рукописного или напечатанного текста в машинно-кодированный текст, будь то отсканированный документ, фотография документа, фотография сцены (например, текст на вывесках и рекламных щитах на пейзажной фотографии) или текст субтитров, наложенный на изображение (например, из телевизионной передачи). [1]

Широко используемый как форма ввода данных из печатных бумажных записей данных — будь то паспортные документы, счета-фактуры, банковские выписки , компьютеризированные квитанции, визитные карточки, почта, печатные данные или любая подходящая документация — это распространенный метод оцифровки печатных текстов, чтобы их можно было редактировать в электронном виде, искать, хранить более компактно, отображать в Интернете и использовать в машинных процессах, таких как когнитивные вычисления , машинный перевод , (извлеченный) текст в речь , ключевые данные и интеллектуальный анализ текста . OCR — это область исследований в области распознавания образов , искусственного интеллекта и компьютерного зрения .

Ранние версии требовали обучения с изображениями каждого символа и работали с одним шрифтом за раз. Современные системы, способные обеспечивать высокую степень точности для большинства шрифтов, теперь распространены и поддерживают множество форматов входных файлов изображений. [2] Некоторые системы способны воспроизводить форматированный вывод, который максимально приближен к исходной странице, включая изображения, столбцы и другие нетекстовые компоненты.

История

Раннее оптическое распознавание символов можно проследить до технологий, связанных с телеграфией и созданием считывающих устройств для слепых. [3] В 1914 году Эмануэль Голдберг разработал машину, которая считывала символы и преобразовывала их в стандартный телеграфный код. [4] Одновременно с этим Эдмунд Фурнье д'Альб разработал Optophone , ручной сканер, который при перемещении по печатной странице производил тоны, соответствующие определенным буквам или символам. [5]

В конце 1920-х и в 1930-х годах Эмануэль Голдберг разработал то, что он назвал «Статистической машиной» для поиска в архивах микрофильмов с использованием оптической системы распознавания кодов. В 1931 году он получил патент США под номером 1,838,389 на это изобретение. Патент был приобретен IBM .

Пользователи с нарушениями зрения

В 1974 году Рэй Курцвейл основал компанию Kurzweil Computer Products, Inc. и продолжил разработку OCR с несколькими шрифтами , которая могла распознавать текст, напечатанный практически любым шрифтом. (Курцвейлу часто приписывают изобретение OCR с несколькими шрифтами, но он использовался компаниями, включая CompuScan, в конце 1960-х и 1970-х годах. [3] [6] ) Курцвейл использовал эту технологию для создания читающей машины для слепых людей, чтобы компьютер мог читать им текст вслух. Устройство включало планшетный сканер типа CCD и синтезатор текста в речь. 13 января 1976 года готовый продукт был представлен во время широко освещавшейся пресс-конференции, возглавляемой Курцвейлом и лидерами Национальной федерации слепых . [ требуется цитата ] В 1978 году Kurzweil Computer Products начала продавать коммерческую версию компьютерной программы оптического распознавания символов. LexisNexis был одним из первых клиентов и купил программу для загрузки юридических документов и новостных документов в свои зарождающиеся онлайн-базы данных. Два года спустя Курцвейл продал свою компанию Xerox , которая в конечном итоге выделила ее в Scansoft , которая слилась с Nuance Communications .

В 2000-х годах OCR стал доступен онлайн как услуга (WebOCR), в среде облачных вычислений и в мобильных приложениях, таких как перевод в реальном времени знаков на иностранных языках на смартфоне . С появлением смартфонов и умных очков OCR можно использовать в приложениях для мобильных устройств, подключенных к Интернету, которые извлекают текст, захваченный с помощью камеры устройства. Эти устройства, не имеющие встроенной функциональности OCR, обычно используют API OCR для извлечения текста из файла изображения, захваченного устройством. [7] [8] API OCR возвращает извлеченный текст вместе с информацией о местоположении обнаруженного текста на исходном изображении обратно в приложение устройства для дальнейшей обработки (например, преобразования текста в речь) или отображения.

Различные коммерческие и открытые системы OCR доступны для большинства распространенных систем письма , включая латиницу, кириллицу, арабский, иврит, индийские, бенгальский (бангла), деванагари, тамильский, китайский, японский и корейский символы.

Приложения

Механизмы OCR были преобразованы в программные приложения, специализирующиеся на различных темах, таких как квитанции, счета-фактуры, чеки и юридические платежные документы.

Программное обеспечение может быть использовано для:

Типы

OCR — это, как правило, автономный процесс, который анализирует статический документ. Существуют облачные сервисы, которые предоставляют онлайн-сервис OCR API. Анализ движения рукописного текста может использоваться в качестве входных данных для распознавания рукописного текста . [14] Вместо того, чтобы просто использовать формы глифов и слов, этот метод способен фиксировать движение, например порядок, в котором рисуются сегменты , направление и схему опускания и поднятия ручки. Эта дополнительная информация может сделать процесс более точным. Эта технология также известна как «онлайн-распознавание символов», «динамическое распознавание символов», «распознавание символов в реальном времени» и «интеллектуальное распознавание символов».

Методы

Предварительная обработка

Программное обеспечение OCR часто предварительно обрабатывает изображения, чтобы повысить шансы на успешное распознавание. Методы включают: [15]

Сегментация шрифтов с фиксированным шагом выполняется относительно просто путем выравнивания изображения по равномерной сетке на основе того, где вертикальные линии сетки будут реже всего пересекать черные области. Для пропорциональных шрифтов требуются более сложные методы, поскольку пробелы между буквами иногда могут быть больше, чем между словами, а вертикальные линии могут пересекать более одного символа. [22]

Распознавание текста

Существует два основных типа основного алгоритма OCR, которые могут создать ранжированный список символов-кандидатов. [23]

Такое программное обеспечение, как Cuneiform и Tesseract, использует двухпроходный подход к распознаванию символов. Второй проход известен как адаптивное распознавание и использует формы букв, распознанные с высокой уверенностью на первом проходе, чтобы лучше распознавать оставшиеся буквы на втором проходе. Это выгодно для необычных шрифтов или низкокачественных сканов, где шрифт искажен (например, размыт или выцветает). [22]

По состоянию на декабрь 2016 года современное программное обеспечение OCR включает Google Docs OCR, ABBYY FineReader и Transym. [26] [ требуется обновление ] Другие, такие как OCRopus и Tesseract, используют нейронные сети , обученные распознавать целые строки текста, а не фокусироваться на отдельных символах.

Метод, известный как итеративный OCR, автоматически обрезает документ на разделы на основе макета страницы. Затем OCR выполняется для каждого раздела индивидуально с использованием переменных порогов уровня достоверности символов для максимизации точности OCR на уровне страницы. Патентное ведомство США выдало патент на этот метод. [27]

Результат OCR может быть сохранен в стандартизированном формате ALTO , специальной схеме XML, поддерживаемой Библиотекой Конгресса США . Другие распространенные форматы включают hOCR и PAGE XML.

Список программного обеспечения для оптического распознавания символов см. в разделе Сравнение программного обеспечения для оптического распознавания символов .

Постобработка

Точность OCR может быть увеличена, если вывод ограничен словарем —  списком слов, которым разрешено встречаться в документе. [15] Это могут быть, например, все слова английского языка или более технический словарь для определенного поля. Этот метод может быть проблематичным, если документ содержит слова, которых нет в словаре, например, имена собственные . Tesseract использует свой словарь для влияния на этап сегментации символов для повышения точности. [22]

Выходной поток может представлять собой обычный текстовый поток или файл символов, но более сложные системы OCR могут сохранять исходную компоновку страницы и создавать, например, аннотированный PDF-файл , включающий как исходное изображение страницы, так и текстовое представление с возможностью поиска.

Анализ «ближайшего соседа» может использовать частоты совместного появления для исправления ошибок, отмечая, что определенные слова часто встречаются вместе. [28] Например, «Washington, DC» обычно встречается в английском языке гораздо чаще, чем «Washington DOC».

Знание грамматики сканируемого языка также может помочь определить, например, является ли слово глаголом или существительным, что обеспечивает большую точность.

Алгоритм расстояния Левенштейна также использовался при постобработке OCR для дальнейшей оптимизации результатов API OCR. [29]

Оптимизации для конкретных приложений

В последние годы [ когда? ] основные поставщики технологий OCR начали настраивать системы OCR для более эффективной работы с определенными типами ввода. Помимо специфического для приложения лексикона, более высокую производительность можно получить, принимая во внимание бизнес-правила, стандартные выражения, [ необходимо разъяснение ] или богатую информацию, содержащуюся в цветных изображениях. Эта стратегия называется «ориентированным на приложение OCR» или «настраиваемым OCR» и применялась к OCR номерных знаков , счетов-фактур , снимков экрана , удостоверений личности , водительских прав и производства автомобилей .

The New York Times адаптировала технологию OCR в фирменный инструмент, который они назвали Document Helper , который позволяет их интерактивной новостной команде ускорить обработку документов, которые необходимо просмотреть. Они отмечают, что это позволяет им обрабатывать до 5400 страниц в час, готовя репортеров к просмотру содержимого. [30]

Обходные пути

Существует несколько методов решения проблемы распознавания символов с использованием иных средств, помимо усовершенствованных алгоритмов OCR.

Принуждение к лучшему вводу

Специальные шрифты, такие как шрифты OCR-A , OCR-B или MICR , с точно заданным размером, интервалом и отличительными формами символов, обеспечивают более высокую точность при транскрипции при обработке банковских чеков. Несколько известных движков OCR были разработаны для захвата текста в популярных шрифтах, таких как Arial или Times New Roman, и не способны захватывать текст в этих шрифтах, которые являются специализированными и сильно отличаются от широко используемых шрифтов. Поскольку Google Tesseract можно обучить распознавать новые шрифты, он может распознавать шрифты OCR-A, OCR-B и MICR. [31]

Поля гребенки представляют собой предварительно напечатанные поля, которые побуждают людей писать более разборчиво – один глиф на поле. [28] Они часто печатаются в выпадающем цвете , который может быть легко удален системой OCR. [28]

Palm OS использовала специальный набор глифов, известных как Graffiti , которые похожи на печатные английские символы, но упрощены или изменены для более легкого распознавания на вычислительно ограниченном оборудовании платформы. Пользователям нужно было научиться писать эти специальные глифы.

Зональное OCR ограничивает изображение определенной частью документа. Это часто называют шаблонным OCR .

Краудсорсинг

Краудсорсинг людей для выполнения распознавания символов может быстро обрабатывать изображения, как компьютерное OCR, но с более высокой точностью распознавания изображений, чем те, которые получены с помощью компьютеров. Практические системы включают Amazon Mechanical Turk и reCAPTCHA . Национальная библиотека Финляндии разработала онлайн-интерфейс для пользователей, чтобы исправлять тексты, распознанные OCR, в стандартизированном формате ALTO. [32] Краудсорсинг также использовался не для выполнения распознавания символов напрямую, а для приглашения разработчиков программного обеспечения для разработки алгоритмов обработки изображений, например, с помощью турниров по ранжированию . [33]

Точность

Встречаемость laft и last в базе данных n-грамм Google в английских документах с 1700 по 1900 гг., на основе сканирования OCR для корпуса «Английский 2009»
Встречаемость laft и last в базе данных n-грамм Google , основанная на сканировании OCR для корпуса «Английский 2012» [34]
Поиск слов с длинной буквой S в английском языке 2012 года и позже нормализуется до S.

По заказу Министерства энергетики США (DOE) Научно-исследовательский институт информатики (ISRI) имел миссию по содействию совершенствованию автоматизированных технологий для понимания машинно-печатных документов, и он провел наиболее авторитетный ежегодный тест точности OCR с 1992 по 1996 год. [35]

Распознавание машинописного текста с латинским шрифтом все еще не является точным на 100% даже при наличии четкого изображения. Одно исследование, основанное на распознавании газетных страниц 19-го и начала 20-го века, пришло к выводу, что точность распознавания символов OCR для коммерческого программного обеспечения OCR варьировалась от 81% до 99%; [36] полная точность может быть достигнута путем человеческого просмотра или аутентификации словаря данных. Другие области, включая распознавание рукописного текста, курсивного почерка и печатного текста в других шрифтах (особенно тех символов восточноазиатских языков, которые имеют много штрихов для одного символа), все еще являются предметом активных исследований. База данных MNIST обычно используется для тестирования способности систем распознавать рукописные цифры.

Показатели точности можно измерить несколькими способами, и то, как они измеряются, может значительно повлиять на сообщаемую точность. Например, если контекст слова (лексикон слов) не используется для исправления программного обеспечения, находящего несуществующие слова, то показатель ошибок символов в 1% (точность 99%) может привести к показателю ошибок в 5% или хуже, если измерение основано на том, было ли распознано каждое целое слово без неправильных букв. [37] Использование достаточно большого набора данных важно в решениях по распознаванию рукописного ввода на основе нейронных сетей. С другой стороны, создание естественных наборов данных очень сложно и требует много времени. [38]

Примером трудностей, присущих оцифровке старого текста, является неспособность OCR различать символы « длинный s » и «f». [39] [34]

Веб-системы OCR для распознавания рукописного текста на лету стали широко известны как коммерческие продукты в последние годы [ когда? ] (см. История планшетных ПК ). Точность от 80% до 90% для аккуратных, чистых рукописных символов может быть достигнута с помощью программного обеспечения для перьевых вычислений , но эта точность все еще означает десятки ошибок на страницу, что делает технологию полезной только в очень ограниченном количестве приложений. [ необходима цитата ]

Распознавание курсивного текста является активной областью исследований, с показателями распознавания даже ниже, чем у рукописного текста . Более высокие показатели распознавания общего курсивного письма, вероятно, не будут возможны без использования контекстной или грамматической информации. Например, распознавать целые слова из словаря проще, чем пытаться разобрать отдельные символы из письма. Чтение строки « Сумма» чека ( которая всегда представляет собой выписанное число) является примером того, как использование меньшего словаря может значительно повысить показатели распознавания. Формы отдельных курсивных символов сами по себе просто не содержат достаточно информации для точного (более 98%) распознавания всех рукописных курсивных писем. [ необходима цитата ]

Большинство программ позволяют пользователям устанавливать «уровни достоверности». Это означает, что если программное обеспечение не достигает желаемого уровня точности, пользователь может быть уведомлен о необходимости ручного просмотра.

Ошибку, возникающую при сканировании OCR, иногда называют сканно (по аналогии с термином опечатка ). [40] [41]

Юникод

Символы для поддержки OCR были добавлены в стандарт Unicode в июне 1993 года с выпуском версии 1.1.

Некоторые из этих символов заимствованы из шрифтов, специфичных для MICR , OCR-A или OCR-B .

Смотрите также

Ссылки

  1. ^ OnDemand, HPE Haven. "OCR Document". Архивировано из оригинала 15 апреля 2016 г.
  2. ^ OnDemand, HPE Haven. "undefined". Архивировано из оригинала 19 апреля 2016 г.
  3. ^ ab Шанц, Герберт Ф. (1982). История OCR, оптического распознавания символов . [Манчестер-центр, шт. Вермонт]: Ассоциация пользователей технологий распознавания. ISBN 9780943072012.
  4. ^ Дхавале, Сунита Викрант (2017). Расширенные методы обнаружения и фильтрации спама на основе изображений. Херши, Пенсильвания: IGI Global. стр. 91. ISBN 9781683180142.
  5. ^ d'Albe, EEF (1 июля 1914 г.). «О считывающем тип оптофоне». Труды Королевского общества A: Математические, физические и инженерные науки . 90 (619): 373–375. Bibcode : 1914RSPSA..90..373D. doi : 10.1098/rspa.1914.0061.
  6. ^ "История OCR". Журнал обработки данных . 12 : 46. 1970.
  7. ^ "Извлечение текста из изображений с помощью OCR на Android". 27 июня 2015 г. Архивировано из оригинала 15 марта 2016 г.
  8. ^ "[Учебник] OCR на Google Glass". 23 октября 2014 г. Архивировано из оригинала 5 марта 2016 г.
  9. ^ Цзэн, Цин-Ань (2015). Беспроводные коммуникации, сети и приложения: Труды WCNA 2014. Springer. ISBN 978-81-322-2580-5.
  10. ^ "[javascript] Использование OCR и извлечения сущностей для поиска компаний в LinkedIn". 22 июля 2014 г. Архивировано из оригинала 17 апреля 2016 г.
  11. ^ "Как взломать капчи". andrewt.net. 28 июня 2006 г. Получено 16 июня 2013 г.
  12. ^ "Breaking a Visual CAPTCHA". Cs.sfu.ca. 10 декабря 2002 г. Получено 16 июня 2013 г.
  13. Резиг, Джон (23 января 2009 г.). «Джон Резиг – OCR и нейронные сети в JavaScript». Ejohn.org . Получено 16 июня 2013 г.
  14. ^ Tappert, CC; Suen, CY; Wakahara, T. (1990). «Современное состояние дел в области распознавания рукописного текста в Интернете». Труды IEEE по анализу образов и машинному интеллекту . 12 (8): 787. doi :10.1109/34.57669. S2CID  42920826.
  15. ^ ab "Оптическое распознавание символов (OCR) – Как это работает". Nicomsoft.com . Получено 16 июня 2013 г. .
  16. ^ Sezgin, Mehmet; Sankur, Bulent (2004). "Survey over image thresholding techniques and quantitative performance evaluation" (PDF) . Journal of Electronic Imaging . 13 (1): 146. Bibcode :2004JEI....13..146S. doi :10.1117/1.1631315. Архивировано из оригинала (PDF) 16 октября 2015 г. . Получено 2 мая 2015 г. .
  17. ^ Gupta, Maya R.; Jacobson, Nathaniel P.; Garcia, Eric K. (2007). "OCR-бинаризация и предварительная обработка изображений для поиска исторических документов" (PDF) . Pattern Recognition . 40 (2): 389. Bibcode :2007PatRe..40..389G. doi :10.1016/j.patcog.2006.04.043. Архивировано из оригинала (PDF) 16 октября 2015 г. . Получено 2 мая 2015 г. .
  18. ^ Trier, Oeivind Due; Jain, Anil K. (1995). "Целенаправленная оценка методов бинаризации" (PDF) . IEEE Transactions on Pattern Analysis and Machine Intelligence . 17 (12): 1191–1201. doi :10.1109/34.476511. Архивировано (PDF) из оригинала 16 октября 2015 г. . Получено 2 мая 2015 г. .
  19. ^ Миляев, Сергей; Баринова, Ольга; Новикова, Татьяна; Кохли, Пушмит; Лемпицкий, Виктор (2013). «Бинаризация изображений для сквозного понимания текста в естественных изображениях». 2013 12-я Международная конференция по анализу и распознаванию документов (PDF) . стр. 128–132. doi :10.1109/ICDAR.2013.33. ISBN 978-0-7695-4999-6. S2CID  8947361. Архивировано (PDF) из оригинала 13 ноября 2017 г. . Получено 2 мая 2015 г. .
  20. ^ Пати, ПБ; Рамакришнан, АГ (29 мая 1987 г.). «Многошрифтовая идентификация на уровне слов». Pattern Recognition Letters . 29 (9): 1218–1229. Bibcode : 2008PaReL..29.1218P. doi : 10.1016/j.patrec.2008.01.027.
  21. ^ "Basic OCR in OpenCV | Damiles". Blog.damiles.com. 20 ноября 2008 г. Получено 16 июня 2013 г.
  22. ^ abc Smith, Ray (2007). "Обзор OCR-движка Tesseract" (PDF) . Архивировано из оригинала (PDF) 28 сентября 2010 г. . Получено 23 мая 2013 г. .
  23. ^ "Введение в OCR". Dataid.com . Получено 16 июня 2013 г. .
  24. ^ "How OCR Software Works". OCRWizard. Архивировано из оригинала 16 августа 2009 г. Получено 16 июня 2013 г.
  25. ^ "Основное распознавание образов и классификация с помощью openCV | Damiles". Blog.damiles.com. 14 ноября 2008 г. Получено 16 июня 2013 г.
  26. ^ Ассефи, Мехди (декабрь 2016 г.). «OCR как услуга: экспериментальная оценка Google Docs OCR, Tesseract, ABBYY FineReader и Transym». ResearchGate .
  27. ^ «Как лучшая технология OCR захватывает 99,91% данных». www.bisok.com . Получено 27 мая 2021 г. .
  28. ^ abc Woodford, Chris (30 января 2012 г.). "Как работает сканирование документов OCR?". Explain that Stuff . Получено 16 июня 2013 г.
  29. ^ "Как оптимизировать результаты API OCR при извлечении текста из изображения? - Сообщество разработчиков Haven OnDemand". Архивировано из оригинала 22 марта 2016 г.
  30. ^ Фер, Тифф (26 марта 2019 г.). «Как мы пробежали 900 страниц документов Коэна менее чем за 10 минут». The New York Times . ISSN  0362-4331 . Получено 16 июня 2023 г.
  31. ^ "Train Your Tesseract". Train Your Tesseract . 20 сентября 2018 г. . Получено 20 сентября 2018 г. .
  32. ^ «В чем смысл интерактивного онлайн-редактора текста OCR? - Fenno-Ugrica». 21 февраля 2014 г.
  33. ^ Ридл, К.; Занибби, Р.; Херст, МА; Чжу, С.; Мениетти, М.; Крусан, Дж.; Метельски, И.; Лакхани, К. (20 февраля 2016 г.). «Обнаружение фигур и обозначений деталей в патентах: разработка алгоритмов обработки изображений на основе конкуренции». Международный журнал по анализу и распознаванию документов . 19 (2): 155. arXiv : 1410.6751 . doi : 10.1007/s10032-016-0260-8. S2CID  11873638.
  34. ^ ab "Google Books Ngram Viewer". books.google.com . Получено 20 июля 2023 г. Когда мы создали исходный корпус Ngram Viewer в 2009 году, наше OCR было не таким хорошим […]. Это было особенно очевидно в английском языке до 19 века, где удлиненная средняя часть -s (ſ) часто интерпретировалась как f, […]. Вот доказательства улучшений, которые мы сделали с тех пор, используя оператор corpus для сравнения версий 2009, 2012 и 2019 […]
  35. ^ «Код и данные для оценки точности OCR, первоначально из UNLV/ISRI». Архив кодов Google.
  36. ^ Холли, Роуз (апрель 2009 г.). «Насколько хорошо это может быть? Анализ и повышение точности OCR в масштабных программах оцифровки исторических газет». Журнал D-Lib . Получено 5 января 2014 г.
  37. ^ Suen, CY; Plamondon, R.; Tappert, A.; Thomassen, A.; Ward, JR; Yamamoto, K. (29 мая 1987 г.). Будущие проблемы в области рукописного ввода и компьютерных приложений. 3-й международный симпозиум по рукописному вводу и компьютерным приложениям, Монреаль, 29 мая 1987 г. Получено 3 октября 2008 г.
  38. ^ Мохсени, Маедех Хаджи Ага; Азми, Реза; Лаеги, Камран; Малеки, Саджад (2019). Сравнение синтезированных и естественных наборов данных в решениях для рукописного ввода на основе нейронных сетей. ITCT – через Civilica.
  39. ^ Капидакис, Сарантос; Мазурек, Цезари и Верла, Марчин (2015). Исследования и передовые технологии для цифровых библиотек. Springer. стр. 257. ISBN 9783319245928.{{cite book}}: CS1 maint: несколько имен: список авторов ( ссылка )
  40. ^ Аткинсон, Кристин Х. (2015). «Переосмысление непатентной литературы для фармацевтического патентования». Pharmaceutical Patent Analyst . 4 (5): 371–375. doi :10.4155/ppa.15.21. PMID  26389649.
  41. ^ http://www.hoopoes.com/jargon/entry/scanno.shtml Нерабочая ссылка

Внешние ссылки