Из таблицы 1 видно, что ни одна из систем наиболее полно не решает приведенные проблемы. При передаче в обработку изображения низкого качества, имеющего символы с искаженной формой велика вероятность ошибочного распознавания.
Так как OCR - системы обладают и техническими характеристиками, как и любое другое ПО, следует провести сравнение по данным параметрам (Таблица 2) . Некоторые из приведенных программ уже сравнивались раннее.
Таблица 2 - Сравнение OCR - систем по техническим параметрам
|
Название |
Последний релиз |
Лицензия |
ОС |
Количество языков |
Выходной формат |
|
|
Finereader |
2014 |
Требуется покупка |
Windows, Linux, Mac OS X Online |
198 |
DOC, DOCX, XLS, XLSX, PPTX, RTF, PDF, HTML, CSV, TXT, ODT, DjVu, EPUB, FB2 |
|
|
SimpleOCR |
2008 |
Бесплатная |
Windows |
20+ |
- |
|
|
FreeOCR |
2012 |
Бесплатная |
15+ |
- |
||
|
MODI |
2007 |
Требуется покупка |
Windows |
30+ |
OmniPage |
|
|
OCRFeeder |
2009 |
Бесплатная |
Linux |
20+ |
- |
Представленные системы, как уже было сказано ранее, относятся к списку наиболее известных и широко распространенных OCR - систем. Существует ряд рейтингов, определяющих лучшие системы распознавания изображений. Согласно данным рейтингам, одной из лучших программ считается ABBYY FineReader. Так же, в списки попадали MODI, FreeOCR, SimpleOCR.
4. Анализ методов распознавания
Общий алгоритм распознавания образов состоит из следующих этапов:
1) захват кадра;
2) предварительная обработка (предобработка);
3) локализация объекта;
4) распознавание объекта.
оптический распознавание обработка кадр
Рисунок 1 - Общий алгоритм распознавания образов
На первом этапе происходит разделение видеопоследовательности на кадры (сцены) для дальнейшей обработки. На этапе предобработки происходит коррекция освещенности полученного изображения, устранение смазывания, бинаризация. При выполнении этапа 3 под локализацией (детектированием, обнаружением) понимают анализ изображения с целью обнаружения объекта и определения его координат. Детектирование объекта является частным случаем распознавания, но при этом решается задача двухклассовой классификации, где один класс - «объект», второй - «не объект».
Детектирование от распознавания отличается тем, что детектирование - это этап выделения искомого объекта на изображении, а распознавание - идентификация содержимого. На последнем этапе область, содержащую объект, необходимо распознать, то есть отнести ее к одному из множества классов. Например, идентифицировать детектированное лицо или распознавать символы в детектированном документе, удостоверяющем личность. Отметим, что в памяти компьютера изображение представляется двумерной матрицей пикселей A размером mЧn, в которой каждый пиксель представлен некоторым неотрицательным числом:
* от 0 до 255, если изображение в градациях серого;
* (от 0 до 255)Ч3, если изображение цветное (компоненты R, G, B).
По кадру видеопоследовательности требуется определить, если он есть, список прямоугольников, содержащих объекты a:
rectanglei = {x, y, w, h, б},
где x, y - координаты центра i - го прямоугольника, w - ширина, h - высота, б - угол наклона прямоугольника к вертикальной оси изображения.
Таким образом, можно выделить основные методы для решения общей задачи распознавания данных:
1. методы, основанные на шаблонах;
2. методы с использованием контурных моделей;
3. нейросетевые методы;
4. метод Виолы - Джонса;
5. k ближайших соседей.
4.1 Методы, основанные на шаблонах
Наиболее распространенным методом, основанном на шаблонах, является метод, основанный на вычислении коэффициента корреляции между двумя матрицами. Рассмотрим метод распознавания объектов на изображении на основе использования коэффициента корреляции. В данном случае необходимо кроме исходного изображения иметь также изображение распознаваемого объекта. Такое изображение будем называть эталонным. Как было сказано ранее, изображение представлено в памяти компьютера матрицей. Пусть A - матрица исходного изображения, B - матрица эталона, размеры матриц mЧn, тогда коэффициент корреляции вычисляется по формуле:
где и - средние значения элементов матриц. Необходимо помнить, что корреляция вычисляется для матриц одинакового размера, поэтому из большей матрицы исходного изображения необходимо вырезать части, которые равны матрице эталонного изображения. Этот подход получил довольно широкое распространение. Однако при распознавании реальных объектов корреляционный метод характеризуется большой вычислительной сложностью. Связано это с масштабированием и поворотами распознаваемого изображения. Еще одним подходом может быть применение цветовой сегментации. На практике этот метод применяется в задаче поиска цвета кожи человека на изображении. Здесь в качестве шаблона выступает образец цвета. Цвет, как известно, есть не физическое свойство объекта, а свойство человеческого восприятия, поэтому строгого математического определения понятия “цвет кожи” не существует, что представляет собой некоторую трудность при построении систем автоматического распознавания кожи. В компьютерном представлении изображения цвет пикселя задается в качестве координат в некотором цветовом пространстве. Было установлено, что в глазе человека присутствует три типа светочувствительных клеток, настроенных на различные распределения энергии по видимому спектру. Исходя из этого факта любой цвет, воспринимаемый человеческим глазом, можно представить в виде трехмерного вектора.
Выделим основные недостатки цветовой сегментации:
1. Зависимость цвета от условий съемки (например, освещения);
2. Зависимость получаемых цветовых значений объектов от конкретной камеры;
3. Многообразие оттенков кожи.
Таким образом, методы данной категории не могут являться полноценным решением задачи распознавания образов в документах удостоверяющих личность. На практике их используют для модификации существующих методов с целью получения дополнительных признаков на этапе предобработки.
4.2 Методы с использованием контурных моделей
Самым популярным методом выделения контуров является метод пространственного дифференцирования, основанный на оценке скорости изменения (градиента) яркости для каждой точки наблюдаемого изображения. Если яркость меняется достаточно быстро, то точка находится на границе двух областей разной яркости, то есть принадлежит контуру. Операторы пространственного дифференцирования являются, по существу, высокочастотными фильтрами. Чаще всего используются маски операторов Собеля, Превитта или Робертса, которые для случая выделения горизонтальных перепадов (вычисления gy (i, j)) имеют вид:
Оператор Собеля - это дискретный дифференциальный оператор, вычисляющий приближенное значение градиента яркости изображения. Маски операторов Собеля и Превитта для выделения вертикальных перепадов яркости (вычисления gx(i, j)) получаются из одноименных масок для выделения горизонтальных перепадов путем транспонирования, а маска оператора Робертса - поворотом на 90є по часовой стрелке. Получаемый в результате массив g(i, j) называют градиентным изображением. Далее осуществляется пороговая обработка градиентного изображения по правилу:
где Т - постоянный или меняющийся в зависимости от локальных свойств изображения порог. В результате получается бинарное изображение b(i, j), единичные точки которого соответствуют потенциальным граничным точкам исходного изображения. Главной причиной популярности методов, основанных на использовании масок пространственного дифференцирования, является простота их реализации на ЭВМ. Также, следует выделить преобразования Робертса и Собеля, которые так же основаны на использовании классификатора Хаара, которые будут использоваться на этапе сегментации (выделения текстовых блоков) и секторизации (выделения символов на текстовых блоках).
4.3 Нейросетевые методы
В отличие от методов первой и второй категории, нейросетевые методы предлагают иной подход к решению задачи распознавания образов. Архитектура и функционирование нейронных сетей (НС) имеют биологические прообразы.
Веса в нейронной сети не вычисляются путём решения аналитических уравнений, а подстраиваются различными оптимизационными методами (например, разновидностями градиентного спуска) при обучении. Обучаются нейронные сети на наборе обучающих примеров. В процессе обучения НС происходит автоматическое извлечение ключевых признаков, определение их важности и построение взаимосвязей между ними. Обученная НС может успешно применять опыт, полученный в процессе обучения, на неизвестные образы за счёт хороших обобщающих способностей. Под нейронными сетями (НС) подразумеваются вычислительные структуры, которые моделируют простые биологические процессы, обычно ассоциируемые с процессами человеческого мозга. Адаптируемые и обучаемые, они представляют собой распараллеленные системы, способные к обучению путем анализа положительных и отрицательных воздействий.
Элементарным преобразователем в данных сетях является искусственный нейрон или просто нейрон, названный так по аналогии с биологическим прототипом. С математической точки зрения искусственный нейрон -- это сумматор всех входящих сигналов, применяющий к полученной взвешенной сумме некоторую простую, в общем случае, нелинейную функцию, непрерывную на всей области определения. Обычно данная функция монотонно возрастает. Полученный результат посылается на единственный выход. Искусственные нейроны (в дальнейшем нейроны) объединяются между собой определенным образом, образуя искусственную нейронную сеть. Каждый нейрон характеризуется своим текущим состоянием по аналогии с нервными клетками головного мозга, которые могут быть возбуждены или заторможены. Он обладает группой синапсов - однонаправленных входных связей, соединенных с выходами других нейронов, а также имеет аксон - выходную связь данного нейрона, с которой сигнал поступает на синапсы следующих нейронов.
Как правило, в задачах распознавания объектов используются следующие архитектуры НС: многослойный персептрон; вероятностные нейронные сети; сети Кохонена; сверточные нейронные сети. При этом выбор той или иной архитектуры зависит от специфики распознаваемого объекта.
4.4 Метод Виолы - Джонса
На данный момент метод Виолы - Джонса является основополагающим для поиска объектов на изображении в реальном времени (РВ) и обладает низкой вероятностью ложного обнаружения. Данный метод успешно применяется для поиска следующих объектов: человеческих лиц, губ, глаз и т.д. Ранее считалось, что его нельзя применять для обнаружения текста. Данное утверждение было опровергнуто.
Метод Виолы - Джонса основан на следующих принципах:
1) используются изображения в интегральном представлении;
2) используются признаки Хаара;
3) используется бустинг для выбора наиболее подходящих признаков для искомого объекта на данной части изображения;
4) все признаки поступают на вход классификатора, который даёт результат «верно» либо «ложь»;
5) используются каскады признаков для быстрого отбрасывания окон.
Несмотря на то, что данный метод является основополагающим для поиска объектов на изображении в реальном времени, его основной недостаток состоит в том, что результат работы сильно зависит от обучающей выборки. Это объясняется тем, что в качестве входных данных выступает яркостное изображение, которое чувствительно к освещенности. В данной работе данный алгоритм используется при нахождении фотографии на документе на этапе сегментации исходного изображения, при выделении (детектировании) фотографии на документе.
4.5 Алгоритм k ближайших соседей
Основным принципом метода k ближайших соседей является то, что объект присваивается тому классу, который является наиболее распространённым среди соседей данного элемента. Соседи берутся, исходя из множества объектов, классы которых уже известны, и, исходя из ключевого для данного метода значения k, высчитывается, какой класс наиболее многочислен среди них. Каждый объект имеет конечное количество атрибутов (размерностей). Предполагается, что существует определенный набор объектов с уже имеющейся классификацией.
Рассмотрим алгоритм k ближайших соседей подробнее. Пусть имеется n наблюдений, каждому из которых соответствует запись в таблице. Все записи принадлежат какому - либо классу. Необходимо определить класс для новой записи. На первом шаге алгоритма следует задать число k - количество ближайших соседей. Если принять k = 1, то алгоритм потеряет обобщающую способность (то есть способность выдавать правильный результат для данных, не встречавшихся ранее в алгоритме) так как новой записи будет присвоен класс самой близкой к ней. Если установить слишком большое значение, то многие локальные особенности не будут выявлены. На втором шаге находятся k записей с минимальным расстоянием до вектора признаков нового объекта (поиск соседей).
Функция для расчета расстояния должна отвечать следующим правилам:
1. d(x, y) ? 0;
2. d(x, y) = 0 тогда и только тогда, когда x = y;
3. d(x, y) = d(y, x);
4. d(x, z) ? d(x, y) + d(y, z), при условии, что точки x, y, z не лежат на одной прямой.