Изменения

Перейти к: навигация, поиск

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

8518 байт добавлено, 18:23, 19 апреля 2020
Нет описания правки
'''Распознавание текста на изображениях''' ( оптическое распознавание символом (англ. optical character recognition, OCR)) - одно из направлений распознавания образов, задача которого заключается в переводе изображений рукописного, машинописного или печатного текста в текстовые данные, использующиеся для представления символов в компьютере (например, в текстовом редакторе).
 
== Общая информация ==
В последние десятилетия, благодаря использованию современных достижений компьютерных технологий, были развиты новые методы обработки изображений и распознавания образов, благодаря чему стало возможным создание таких промышленных систем распознавания печатного текста, как например, FineReader, которые удовлетворяют основным требованиям систем автоматизации документооборота. Тем не менее, создание каждого нового приложения в данной области по-прежнему остается творческой задачей и требует дополнительных исследований в связи со специфическими требованиями по разрешению, быстродействию, надежности распознавания и объему памяти, которыми характеризуется каждая конкретная задача.
 
== История ==
Различные коммерческие и открытые OCR-системы доступны для большинства распространенных алфавитов, включая латинский, кириллический, арабский, иврит, индийский, деванагарский, тамильский, китайские, японские и корейские иероглифы.
 
== Применение систем распознавания текстов ==
Система распознавания текста предполагает наличие на входе изображения с текстом (в формате данных графического файла). На выходе система должна выдать текст, выделенный из входных данных. Весь процесс распознавания текста состоит из нескольких задач.
 
=== Обработка изображения ===
 
Перед началом распознавания текста изображение должно быть очищено от шума и приведено к виду, позволяющему эффективно выделять символы и распознавать их. Обычно у изображения повышают резкость, контрастность, выравнивают его и преобразовывают в в используемый системой формат (например, 8-битное изображение в градациях серого).
 
=== Сегментация ===
 
Сегментация подразумевает собой разбиение изображения документа на отдельные области. Сначала система выделяет блоки текста. Это особенно важно при обработке документов с несколькими столбцами или таблиц.
 
Далее в каждом блоке выделяются базовые линии, которые позволяют разделить блок на строки, а в дальнейшем на символы. Это позволяет системе обрабатывать каждый символ по отдельности. Сначала производится предварительное разбиение изображения текста на отдельные изображения символов и после этого определяется зависимость между разными изображениями с оценкой расстояния между ними. На этапе распознавания результаты разбиения могут уточняться с целью дополнительного разбиения или объединения нескольких полученных изображений. Уточнения могут строиться на основе контекста: если часть символов хорошо распознаны, они могут указать на нераспознанный, либо факт уточнения может основываться на плохом распознании получившегося изображения символа.
[[Файл:БлокСтрокаСлово.jpg|Блок, строка, слово]]
 
=== Распознавание символы ===
 
Для распознавания символа существуют 2 основных алгоритма.
 
==== Распознавание при помощи метрик ====
 
Этой способ лучше всего работает с машинописным текстом, но при обработке новых шрифтов точность распознавания падает.
Метрика по сути является признаком символа, поэтому иногда в контексте данного способа говорят о процессе выявления признаков.
Если признаки двух символов максимально похожи, то разность между их метриками (то есть расстояние между ними) стремится к нулю. Дальнейшая классификация символа происходит по методу ближайшего соседа
Однако одной метрики недостаточно для распознавания символа, так как некоторые символы очень похожи между собой (например, “j” и “i”, “Z” и “2”) и это может привести к ошибке. Чтобы избежать этого, есть несколько способов:
* группировка символов
Например, некоторые символы (“O”, “H”, “I”) обладают суперсимметрией (полностью совпадают со своими отражениями и значимые пиксели распределены равномерно по всему изображению) и их можно выделить в отдельный класс. Это сокращает перебор метрик в несколько раз.
* контекстное распознавание
В качестве помощи алгоритмам распознавания в систему включают словари. Словари предоставляют справки во многих случаях, но быстро отказывают, когда, например, имеют дело с именами собственными, которые не находятся в словаре.
 
==== Распознавание с применением нейронных сетей ====
Нейронные сети – это структура связанных элементов, на которых заданы функции преобразования сигнала, а также коэффициенты, которые могут быть настроены на определенный характер работы.
 
Часть элементов структуры выделены как входные: на них поступают сигналы извне, таким образом, они описывают значения пикселя изображения. То есть, если имеется изображение 16х16, входов у сети должно быть 256. Другая часть – выходные: они формируют результирующие сигналы.
 
Сигнал, который проходит через нейронную сеть, преобразуется согласно формулам на элементах сети, и на выходе формируется ответ. Так как все нейроны поименованы значениями букв, следовательно, среагировавший нейрон и несет ответ распознавания.
 
Нейронная сеть может служить в системе распознавания текста в качестве классификатора. Этот классификатор сначала обучают, настраивая коэффициенты на элементах сети. При обучении сеть получает на вход изображения, анализирует все позиции черных пикселей и выравнивает коэффициенты, минимизируя ошибку. Таким образом, достигается лучший результат распознавания.
 
Нейронные сети с успехом могут применяться в системах распознавания текста, но существует большое число недостатков, которые препятствуют их широкому применению. Для построения сети, обеспечивающей распознавание каждого символа текста, необходимо построить достаточно большую сеть элементов, что приводит к большим затратам памяти. Еще сильнее тратятся ресурсы системы в процессе распознавания, так как функции на элементах сети работают с числами с плавающей точкой. Кроме этого нейронные сети необходимо обучать на все случаи, что, однако, не гарантирует точного результата. И, наконец, работа нейронной сети по распознаванию текста во многом зависит от конфигурации сети и функций, заданных в элементах, что требует больших усилий для построения эффективно работающей сети.
17
правок

Навигация