Распознавание текста на изображении
Распознавание текста на изображениях ( оптическое распознавание символом (англ. optical character recognition, OCR)) - одно из направлений распознавания образов, задача которого заключается в переводе изображений рукописного, машинописного или печатного текста в текстовые данные, использующиеся для представления символов в компьютере (например, в текстовом редакторе).
Общая информация
Примерами распознавания текста являются оцифровка изображений текста (отсканированные книги, статьи, журналы), обработка анкетных бланков, распознавание номеров машин и надписей на объектах и т.д.. Распознавание текста на изображениях является важной задачей машинного обучения, так как это позволяет удобное взаимодействие с данными — редактирование, анализ, поиск слов или фраз и т.д..
В последние десятилетия, благодаря использованию современных достижений компьютерных технологий, были развиты новые методы обработки изображений и распознавания образов, благодаря чему стало возможным создание таких промышленных систем распознавания печатного текста, как например, FineReader, которые удовлетворяют основным требованиям систем автоматизации документооборота. Тем не менее, создание каждого нового приложения в данной области по-прежнему остается творческой задачей и требует дополнительных исследований в связи со специфическими требованиями по разрешению, быстродействию, надежности распознавания и объему памяти, которыми характеризуется каждая конкретная задача.
История
Разработка OCR-систем берет начало из технологий, связанных с телеграфией и созданием считывающих устройств для слепых. В 1914 году Эммануэль Гольдберг разработал устройство, которое считывало символы и преобразовывало их в стандартный телеграфный код. Одновременно Эдмунд Фурнье д'Альбе разработал "Оптофон", ручной сканер, который при перемещении по напечатанной странице вырабатывал тональные сигналы, соответствующие определенным буквам или символам.
В конце 1920-х и начале 1930-х годов Эмануэль Гольдберг разработал то, что он назвал "Статистической машиной" для поиска микрофильмов в архивах с помощью оптической системы кодового распознавания. В 1931 году он получил патент на машину, который позже был приобретен компанией IBM.
В 1974 году Рэй Курцвейл создал компанию «Kurzweil Computer Products, Inc», и начал работать над развитием первой системы оптического распознавания символов, способной распознать текст, напечатанный любым шрифтом. Курцвейл считал, что лучшее применение этой технологии — создание машины чтения для слепых, которая позволила бы слепым людям иметь компьютер, умеющий читать текст вслух. Данное устройство требовало изобретения сразу двух технологий — ПЗС планшетного сканера и синтезатора, преобразующего текст в речь. Конечный продукт был представлен 13 января 1976 во время пресс-конференции, возглавляемой Курцвейлом и руководителями национальной федерации слепых.
В 1978 году компания «Kurzweil Computer Products» начала продажи коммерческой версии компьютерной программы оптического распознавания символов. Компания «LexisNexis» была одним из первых покупателей и приобрела программу для загрузки юридических бумаг и новостных документов в онлайн базы данных. Два года спустя Курцвейл продал свою компанию корпорации «Xerox», которая была заинтересована в дальнейшей коммерциализации систем распознавания текста. «Kurzweil Computer Products» стала дочерней компанией «Xerox», известной как «Scansoft».
Первой коммерчески успешной программой, распознающей кириллицу, была программа «AutoR» российской компании «ОКРУС». Программа начала распространяться в 1992 году, работала под управлением операционной системы DOS и обеспечивала приемлемое по скорости и качеству распознавание даже на персональных компьютерах IBM PC/XT с процессором Intel 8088 при тактовой частоте 4,77 МГц. В начале 90-х компания Hewlett-Packard поставляла свои сканеры на российский рынок в комплекте с программой «AutoR». Алгоритм «AutoR» был компактный, быстрый и в полной мере «интеллектуальный», то есть по-настоящему шрифтонезависимый. Этот алгоритм разработали и испытали ещё в конце 60-х два молодых биофизика, выпускники МФТИ — Г. М. Зенкин и А. П. Петров. Свой метод распознавания они опубликовали в журнале «Биофизика» в номере 12, вып. 3 за 1967 год. В настоящее время алгоритм Зенкина-Петрова применяется в нескольких прикладных системах, решающих задачу распознавания графических символов. На основе алгоритма компанией Paragon Software Group в 1996 была создана технология PenReader. Г.М Зенкин продолжил работу над технологией PenReader в компании Paragon Software Group[1]. Технология используется в одноимённом продукте компании[2].
В 1993 году вышла технология распознавания текстов российской компании ABBYY. На её основе создан ряд корпоративных решений и программ для массовых пользователей. В частности, программа для распознавания текстов ABBYY FineReader, приложения для распознавания текстовой информации с мобильных устройств, система потокового ввода документов и данных ABBYY FlexiCapture. Технологии распознавания текстов ABBYY OCR лицензируют международные ИТ-компании, такие как Fujitsu, Panasonic, Xerox, Samsung[3], EMC и другие.
В 2000-х годах OCR-системы стали доступны в режиме онлайн в том числе и в мобильных приложения, например, перевод знаков на иностранный язык на смартфоне в режиме реального времени. Сейчас на смартфонах доступны приложения, которые позволяют извлекать текст с помощью камеры устройства.
Различные коммерческие и открытые OCR-системы доступны для большинства распространенных алфавитов, включая латинский, кириллический, арабский, иврит, индийский, деванагарский, тамильский, китайские, японские и корейские иероглифы.
Применение систем распознавания текстов
Системы OCR применяются во многих областях. Вот некоторые из задач, которые решают системы распознавания текстов:
- считывание данных с бланков и анкет
- автоматическое распознавание номерного знака
- распознавание паспортных данных
- извлечение информации из визитных карточек в список контактов
- более быстрое создание текстовых версий печатных документов, например, сканирование книг для проекта "Гутенберг".
- вспомогательная технология для слепых и слабовидящих пользователей
- оцифровывание документов с целью получить возможность удобной работы с текстом - редактирование, поиск слов или строк или анализ.
Типовые проблемы, связанные с системами OCR С задачей распознавания символов связаны следующие проблемы:
- Разнообразие форм начертания символов
Документ может содержать несколько шрифтом сразу, что усложняет задачу распознавания текста. Некоторые символы похожи по начертанию (например, “G” и “6”, “S” и “5”, “U” и “V” и тд.) и в нестандартных шрифтах отличить их еще затруднительней
- Искажение изображения, содержащего текст
- Шумы при печати
- Изображение плохого качества (засвет, размытость)
- вариации размеров и масштаба символов.
Существенным является и влияние исходного масштаба печати, поэтому система оптического распознавания текста должна быть нечувствительной (устойчивой) по отношению к способу верстки, расстоянию между строками и другим параметрам печати.
Процесс распознавания текста
Система распознавания текста предполагает наличие на входе изображения с текстом (в формате данных графического файла). На выходе система должна выдать текст, выделенный из входных данных. Весь процесс распознавания текста состоит из нескольких задач.