Серый оптимально для ocr что значит

Из пикселей — в буквы: как работает распознавание текста

— Я угадаю это слово с трех букв! — Угадывай! Рассказываем о том, как устроены системы оптического распознавания символов (OCR)

Что такое OCR?

OCR (англ. optical character recognition, оптическое распознавание символов) — это технология автоматического анализа текста и превращения его в данные, которые может обрабатывать компьютер.
Когда человек читает текст, он распознает символы с помощью глаз и мозга. У компьютера в роли глаз выступает камера сканера, которая создает графическое изображение текстовой страницы (например, в формате JPG). Для компьютера нет разницы между фотографией текста и фотографией дома: и то, и другое — набор пикселей.

Именно OCR превращает изображение текста в текст. А с текстом уже можно делать что угодно.

Как это устроено?

Представьте, что в алфавите есть только одна буква «А». Сделает ли это задачу преобразования картинки в текст проще? Нет. Дело в том, что у каждой буквы (и любой другой графемы) есть аллографы — различные варианты начертания.

Человек легко поймет, что все это буква «А». Для компьютера же есть два способа решения проблемы: распознавать символы целостно (распознавание паттерна) или выделять отдельные черты, из которых состоит символ (выявление признаков).

В 1960-х годах был создан специальный шрифт OCR-A, который использовался в документах типа банковских чеков. Каждая буква в нем была одинаковой ширины (т.н. шрифт фиксированной ширины или моноширинный шрифт).

Принтеры для чеков работали с этим шрифтом, и для его распознавания было разработано программное обеспечение. Поскольку шрифт был стандартизирован, его распознавание стало относительно простой задачей. Следующим шагом стало обучение программ OCR распознавать символы еще в нескольких самых распространенных шрифтах (Times, Helvetica, Courier и т.д.).

Этот способ еще называют интеллектуальным распознаванием символов (англ. intelligent character recognition, ICR). Представьте, что вы — OCR-программа, которой дали множество разных букв, написанных разными шрифтами. Как вам отобрать из этого множества все буквы «А», если каждая из них немного отличается от другой?

Можно использовать такое правило: если видишь две линии, сходящиеся наверху в центре под углом, а посередине между ними горизонтальная линия, то это буква «А». Это правило поможет распознать все буквы «А» независимо от шрифта. Вместо распознавания паттерна выделяются характерные индивидуальные черты, из которых состоит символ. Большинство современных омнишрифтовых (умеющих распознавать любой шрифт) OCR-программ работают по этому принципу. Чаще всего в них используются классификаторы на основе машинного обучения (т.к. фактически перед нами стоит задача классификации картинок по классам-буквам) в последнее время некоторые OCR-движки перешли на нейронные сети.

Что делать с рукописным вводом?

Человек способен догадаться о смысле предложения, даже если оно написано самым неразборчивым почерком (если речь не идет о рецепте на лекарства, конечно).

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

Планшеты и смартфоны, которые поддерживают рукописный ввод, часто используют принцип выявления признаков. При написании буквы «А» экран «чувствует», что сначала пользователь написал одну линию под углом, затем вторую, и, наконец, провел горизонтальную черту между ними. Компьютеру помогает то, что все признаки появляются последовательно, один за другим, в отличие от варианта, когда весь текст уже записан от руки на бумаге.

OCR по шагам

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

Хорошие OCR-программы автоматически отмечают трудные элементы структуры страницы — колонки, таблицы и картинки. Все OCR-программы распознают текст последовательно, символ за символом, словом за словом и строчка за строчкой.
Сначала OCR-программа объединяет пиксели в возможные буквы, а буквы — в возможные слова. Затем система сопоставляет варианты слов со словарем. Если слово найдено, оно отмечается как распознанное. Если слово не найдено, программа предоставляет наиболее вероятный вариант и, соответственно, качество распознавания будет не таким высоким.

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

Кроме того, некоторые проекты, которые занимаются оцифровкой и распознаванием текстов, прибегают к помощи волонтеров: распознанные тексты выкладываются в открытый доступ для вычитки и проверки ошибок распознавания.

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

Для распознавания исторических китайских текстов требуется внести в OCR-программу как минимум 3000 символов, которые имеют разную частотность. Если для распознавания исторических английских текстов достаточно ручной разметки нескольких десятков страниц, то аналогичный процесс для китайского языка потребует анализа десятков тысяч страниц.
В то же время многие исторические варианты китайской письменности имеют высокую степень сходства с современным письмом, поэтому модели распознавания символов, обученные на современных данных, часто могут давать приемлемые результаты на исторических данных, хоть и со сниженной точностью. Этот факт вместе с использованием корпусов позволяет создать систему для распознавания исторических китайских текстов. Для этого исследователь Д. Стеджен (Donald Sturgeon) из Гарварда обработал два корпуса: корпус транскрибированных исторических документов и корпус отсканированных документов желаемого стиля.

После предварительной обработки изображений и этапов сегментации символов процедура извлечения обучающих данных состояла из:
1) применения модели распознавания символов, обученной исключительно на современных документах, к историческим документам для получения промежуточного результата оптического распознавания с низкой точностью;
2) использование этого промежуточного результата для соотнесения изображения с его вероятной транскрипцией;
3) извлечение изображений размеченных символов на основе этого соотнесения;
4) выбор из размеченных символов подходящих обучающих примеров.
Полученные данные могут использоваться без проверки для обучения новой модели распознавания символов, позволяющей достичь более высокой точности на аналогичном материале.

Источник

Вся правда об OCR

Поколения программ OCR

Перед тем как начать рассмотрение OCR-систем, давайте сначала хотя бы минимально приведем их классификацию для удобства рассмотрения. На данный момент выделяют OCR-системы, а также ICR-системы. Несколько упрощая суть отличий между ними, можно считать, что ICR-системы – это следующее поколение в развитии OCR-систем. В ICR гораздо более активно и серьёзно используются возможности искусственного интеллекта, в частности, ICR-системы часто используются для распознавания рукописных текстов, декоративных непостоянных шрифтов, а также, как самый яркий пример, преодолению тех же систем по защите от спам-ботов – каптч (captcha). Третий, пока ещё только теоретический уровень качества распознавания текста, это IWR, в которой считываются и распознаются не отдельные символы/точки, а считываются и распознаются фразы целиком.

Существует несколько систем, причисляющих себя к категории ICR. Это, прежде всего, FineReader, OmniPage Professional, Readiris Corporate, Type Reader Desktop. Давайте сравним их всех и рассмотрим существующие альтернативы.

Известные отечественные продукты

ABBYY FineReader – один из лидеров рынка OCR, текущая версия продукта 10. Он выпускается в версиях под все ОС Windows, а также под ОС Mac OS X и Linux. Доступна также ограниченная веб-версия этого пакета для оптического распознавания. Сейчас в FineReader поддерживаются около 190 международных языков, кроме этого поддерживается восстановление не только текста исходного документа, но также и его структуры, что особенно полезно при работе с деловыми документами, где важна не только содержательная часть, но и внешняя сторона оформления и композиции документа.

Конкурент FineReader, с которым его постоянно сравнивают – OmniPage от компании Nuance Communications (бывшая ScanSoft). Во многом очень похож по возможностям на FineReader, в частности, как и его конкурент, имеет очень хорошую поддержку распознавания фотографий полученных напрямую с цифровых камер, умеет конвертировать распознанный текст в форматы PDF, Microsoft Word и Excel, HTML, распознает более 120 языков. Текущая версия 17 поставляется как в версии для всех Windows-систем, так и в версиях для MacOS 9 и MacOS X, а также имеются версии для Linux и FreeBSD. Скорость распознавания OmniPage 17 примерно равна FineReader 10 – это одни из самых сравнительно медленных программ такого рода. Обе программы по своим возможностям часто сравниваются друг с другом и это неудивительно, т.к. их возможности во многом эквивалентны.

Перейдем к следующему заметному игроку на рынке OCR. Это продукт CuneiForm от российской компании Cognitive Technologies. Самый большой текущий минус этого проекта состоит в том, что ещё в конце 2007 года Cognitive Technologies забросила свой продукт, после чего он никак не обновлялся и не развивался все это время. Сам движок этой OCR был выпущен под максимально свободной лицензией BSD в виде исходных текстов. Из-за специфики технологии распознавания этой программы, которую, кстати, многие эксперты считают тупиковой, CuneiForm в состоянии уверенно распознавать только печатные тексты, и не в состоянии работать с рукописными и декоративными текстами, т.е. это – классическая OCR-система. Текущая и окончательная версия программы – 12. Написана она в виде кроссплатформенного приложения и может запускаться на Windows, Mac OS X, Linux. На данный момент стараниями сторонних разработчиков этот движок распространяется и развивается под названием OpenOCR , впрочем, в силу открытости ядра, эту систему также использует множество других OCR-продуктов, например OCRFeeder.

Зарубежные продукты

Три других известных продукта получили малое распространение на территории СНГ в силу полного отсутствия представителей и маркетинга, но известны на Западе и достойны хотя бы краткого упоминания, хотя бы потому, что также позиционируют себя как продукты ICR-класса.

Первый их них — это пакет Readiris от компании I.R.I.S. Group, который представляет собой очень серьёзный OCR-продукт. Достаточно сказать, что начиная с cентября 2006 года технология от компании I.R.I.S. была лицензирована и используется в продуктах Adobe systems. Согласно внутреннему тестированию самой Adobe эта технология оказалось самой удачной из всех рассмотренных на рынке. Нужно заметить, что это стороннее решение “похоронило” свою собственную разработку OCR-движка Adobe, которая поставлялась многие годы в рамках решения Aсrobat Capture , и вот теперь новый OCR Adobe доступен в виде отдельного плагина для других популярных продуктов Acrobat. Последняя версия Readiris — 12, поддерживаются все версии Windows и MacOS X и работа с более чем 120 языками.

Следующая крупная разработка от американской компании ExperVision, Inc – TypeReader . Этот движок разработан в тесном сотрудничестве с Университетом Невада в Лас-Вегасе. Этот движок распространяется по миру сразу во многих формах, начиная от интегрирования его в крупные западные системы документооборота (Document Imaging Management, DIM) и заканчивая участием во многих американских программах по автоматической обработке форм (Forms Processing Services, FPS). Например, в 2008 году газета Los Angeles Times после собственного тестирования ведущих мировых OCR выбрала для своего внутреннего использования как раз именно TypeReader. Хочется заметить, что данный продукт доступен как в традиционном десктопном исполнении (Windows, MacOS, Linux), в виде корпоративного веб-сервиса, так и в форме облачного арендуемого приложения, способного обрабатывать любые объемы распознаваемого текста в очень короткие сроки.

Также из известных за рубежом продуктом стоит упомянуть LEADTools – это продвинутый ICR-движок, решающий сложные задачи распознавания анкет и рукописных текстов. Он поставляется как SDK, что позволяет удобно и органично встраивать его в корпоративные продукты. Очень важная особенность этого решения состоит в том, что здесь на каждый подключенный язык используются собственные словари для усиления точности проверки распознанных слов и выражений. Продукт доступен как в виде веб-сервисов, так и в традиционном программном виде в 32- и 64-битных версиях для ОС Windows всех версий.

Бесплатные OCR-решения

Интересный собственный движок развивает и Google. Tesseract – это первоначально закрытый коммерческий OCR-движок, который создала Hewlett-Packard, работая над ним в промежутке между 1985 и1995 годами. Но после закрытия проекта и прекращения его развития, HP выпустила его код как open source в 2005 году. Разработку сразу подхватила Google, лицензируя уже свой продукт под свободной лицензией Apache. На данный момент Tesseract считается одним из самых точных и качественных бесплатных движков из всех существующих. Нужно при этом четко представлять, что Tesseract – это классическая OCR для “сырой” обработки текста, т.е. в нем нет ни графической оболочки для удобного управления процессом, ни многих других дополнительных функций. Это обычная консольная утилита (есть версии для Windows, MacOS, Linux), на вход которой подается изображение в формате TIFF, а на выходе Tesseract выдает “чистый текст”. При этом никакого анализа компоновки текста или стилей оформления здесь не производится, это процесс распознавания в его простейшей форме. Для большего удобства работы, в качестве графического фронтенда, с этим движком можно использовать многие утилиты, например известные OCRopus или OCRFeeder . Но все же хочется отметить, что качество бесплатного CuneiForm/OpenOCR немного превосходит показатели Tesseract, хотя во многом это полностью аналогичные продукты.

Кроме бесплатного Tesseract ещё стоит упомянуть и SimpleOCR . SimpleOCR очень достойное решение для OCR, и хотя оно не развивается уже с 2008 года, но оно как минимум ничем не уступает Tesseract. Продукт бесплатен для любого некоммерческого использования, и поставляется для Windows всех версий. Из сильных минусов – поддержка только двух языков: английского и французского.

Кроме традиционных десктоповых бесплатных решений, существует множество альтернативных онлайн-сервисов, бесплатно предлагающих OCR и основанных на самых разных и экзотических движках, которые вы можете опробовать самостоятельно: CVisionTech , OnlineOCR , FreeOCR , OCRTerminal , GoodOCR .

Сейчас в мире существует более чем 100 самых различных OCR-движков, мы попытались рассмотреть и сравнить здесь лишь самые известные и качественные из них. Среди них существует также большое множество бесплатных OCR-программ любительского уровня, но их качество распознавания существенно ниже их коммерческих аналогов. Для успешного решения бизнес задач (и других серьёзных повседневных задач) лучше ориентироваться на коммерческие системы ICR-класса.

Источник

Читайте также:  Что значит культурное общение
Оцените статью