Методы распознавания символов в системах распознавания номерных знаков автомобиля
Секция: Технические науки
XXXII Студенческая международная научно-практическая конференция «Технические и математические науки. Студенческий научный форум»
Методы распознавания символов в системах распознавания номерных знаков автомобиля
Алгоритм распознавания номерных знаков автомобиля включает в себя пять ключевых этапов:
- Локализация номера
- Нормализация
- Сегментация
- Распознавание
- Синтаксический анализ[1]
Для каждого этапа существует множество различных вариантов решения, но особое внимание стоит уделить этапу распознавания. Отдельно стоит выделить методы, основанные на использовании искусственных нейронных сетей, которых так же существует множество различных типов. Рассмотрению методов подходящих для распознавания символов и посвящена данная статья.
В рамках данной статьи мы рассмотрим три разновидности классификаторов, которые могут быть использованы для решения задачи по распознаванию текста
- Искусственная нейронная сеть
- Машина опорных векторов
- Свёрточные нейронные сети
Данная статья не рассматривает все существующие архитектуры сетей, а лишь собирает в себе методы, о которых необходимо знать вначале разработки решения задачи распознавания.
Искусственные нейронные сети
Представляют из себя несколько полносвязных или частично связанных слоев, каждый слой состоит из нескольких нейронов, пример простой архитектуры сети представлен на рисунке 1, при этом число нейронов на скрытых слоях определяется разработчиком сети, при этом разработчик сталкивается с дилеммой излишнее число нейронов может привести к переобучению-ситуации, когда сеть хорошо распознаёт данные обучающей выборки, но плохо справляется с распознаванием тестовой выборки, а излишне малое число нейронов может привести к плохому качеству распознавания. Точно определить необходимое количество нейронов невозможно, и разработчик может руководствоваться только своим опытом и интуицией[2].
Рисунок 1. Типовая архитектура сети
В зависимости от типа обучения сети делятся на обучение с учителем и без. Обучение с учителем происходит на наборе данных, у каждого элемента которого определенно его значение. При обучении без учителя сеть не знает правильного результата обработки и сеть вынуждена сама находить зависимости и признаки в обучающей выборке.
Основными недостатками использования искусственных нейронных сетей для распознавания текста является (не правильная минимизация ошибки из-за особенностей обучения) и чрезмерный рост количество входных данных при увеличении разрешения, например, в случае монохромного изображения размером 32*32 пикселя число входных сигналов равно 1024, но при увеличении разрешения до 64*64 пикселя число входных параметров вырастает до 4096 входных сигналов, что существенно увеличивает время обучения и уменьшает точность результата. Поскольку сеть получает на вход последовательность входных сигналов, то распознаваемое изображение при обучении необходимо вначале векторизовать, но при данном действии возникает следующая проблема, поскольку на векторизованном изображении пропадает связь между пикселями на изображении, то есть нарушаются структурные зависимости
Машины опорных векторов
Идея машины опорных векторов состоит в построении гиперплоскости, выступающей в качестве поверхности решений, максимально разделяющей положительные и отрицательные примеры [2;3]. Пример разделения двух классов гиперплоскостью представлен на рисунке 2.
Рисунок 2. Разделение двух классов в машине опорных векторов
Это метод обучения с учителем, который благодаря отличному от используемого в искусственных нейронных сетях алгоритмах обучения не имеет склонность застревать в локальных минимумах и позволяет системе минимизировать ошибку. Но данная система также, как и предыдущая обладает недостатками по росту числа входных параметров, а также потерю структурных зависимостей на изображении.
Сверточные нейронные сети
Структурные зависимости на изображении несут важнейшую часть полезной информации. Поэтому возникает необходимость учитывать структуру изображения, но обычные искусственные нейронные сети были не способны на это. С целью решить эту проблему и были разработаны сверточные нейронные сети, которые используют метод свертки изображения с ядром свёртки, который известен из дисциплин связанных с обработкой изображений и активно применяется для выделения и подчеркивания границ, медианной фильтрации и других схожих методов. Однако в отличии от ядра свёртки с заранее определенными коэффициентами сверточная нейронная сеть подбирает необходимые коэффициенты входе обучения, таким образом, чтобы выделить на изображении признаки необходимые сети для верного распознавания изображения, на каждом слое сеть может использовать несколько сверток с разными ядрами, пример архитектуры такой сети представлен на рисунке 3. Несколько сверток используются для выделения различных признаков, а также для выделения признаков из набора признаков, что оказывается крайне полезно для успешной работы сети. Кроме того, использование свёрток благодаря их возможности уменьшать размерность входного изображения, позволяет решить проблему роста количества входных аргументов.
Рисунок 3. Архитектура свёрточной нейронной сети
Благодаря тому, что свёрточные сети обладают способностью извлекать структурные признаки из изображений, их наиболее часто используют для обработки визуальных образов [4] в том числе и для распознавания символов на изображении.