Некоторые аспекты автоматического распознавания автомобильных номеров.
Некоторые аспекты автоматического распознавания автомобильных номеров
Внастоящее время в мире на дорогах находится более полмиллиарда автомобилей. Все эти транспортные средства имеют уникальный идентификационный номер в качестве основного опознавательного знака. Идентификационный номер транспортного средства, фактически, является регистрационным номером, дающим законное право на участие в дорожном движении.
Проблема идентификации автомобиля по регистрационному номерному знаку является важным аспектом контроля и обеспечения безопасности дорожного движения. Продукты, способные решать данную задачу, востребованы в самых различных сферах. Примером могут служить автотранспортные предприятия, автомобильные стоянки, гаражные кооперативы, коттеджные поселки, заправочные станции, пункты контроля въезда на территорию объекта и т.п.
Когда мы говорим о системе автоматического распознавания номеров (License Plate Recognition, LPR), мы подразумеваем программный или аппаратнопрограммный комплекс, который реализует алгоритмы автоматического распознавания номерных знаков для регистрации событий, связанных с перемещением автомобилей, т.е. для автоматизации ввода данных и их последующей обработки. Строго говоря, LPR*система – это устройство, которое регистрирует проезд транспортного средства, считывает его реги страционный номер и выводит его в ASCII систему обработки данных.
В настоящее время существует достаточно много LPR*систем с разным уровнем качества распознавания, быстродействия и спектром предоставляемых дополнительных функций. Продукты, обладающие высоким быстродействием и точностью распознавания, как правило, очень дороги. Их высокая стоимость не позволяет осуществить массовое внедрение. Рассмотрим общие принципы, положенные в основу распознавания автомобильных номеров, чтобы понять причины высокой стоимости таких систем.
Алгоритмы и технологии распознавания номерных знаков
Бесспорно, основой любой LPR*системы являются использующиеся алгоритмы распознавания. Квалификация разработчиков в области современной высшей математики, обработки изображений, программирования и технологий оптимизации программ, а также наличие существенного опыты работы – все эти факторы определяют характеристики LPR системы, такие как:
- Вероятность распознавания.
- Скорость обработки.
- Способность распознавать различные типы номерных знаков.
- Способность работать с изображениями различного качества.
Рис. 1. |
Распознавание государственных регистрационных знаков является нетривиальной задачей из области технического зрения и искусственного интеллекта. Используемые алгоритмы локализации номерного знака и его распознавания, как правило, являются коммерческой тайной и, естественно, не публикуются. Лишь немногие компании называют их типы и публикуют последовательность действий.
Рассмотрим работу LPR*системы на примере «ТелеВизард*АВТО», разработанной ЗАО «Нордавинд». Ниже последовательно приведены ключевые этапы распознавания автомобильного номера:
- Приведение исходного изображения к виду, который не зависит от условий регистрации изображения (степень освещенности, неравномерность распределения яркости от источников света, размытость, зашумленность и т.п.).
- Выделение на полученном изображении областей кандидатов, потенциально содержащих пластину с номером.
- Проведение детального анализа областей кандидатов на основе формального представления масштабных характеристик номерной пластины и сокращение пространства для дальнейшего поиска.
- Приведение к стандартному размеру графического изображения номерной пластины с коррекцией качества изображения.
- Предварительное определение типа номерной пластины (в привязке к действующим стандартам).
- Извлечение отдельных символов и их распознавание (анализ символов по ключевым характеристикам, независимым от масштаба, используемого шрифта, геометрических искажений и разрывов).
- Уточнение результатов распознавания на основе информации о типе номера и по результатам из предыдущих кадров.
Результатом работы алгоритма является информация о проезде транспортного средства, содержащая строку с распознанным
номером, стопкадр с наилучшим изображением транспортного средства, информацией о времени проезда автомобиля и т.п.
Из представленной последовательности шагов видно, что исходные данные для распознавания номера не ограничиваются
только визуальным изображением. В мире существует большое количество видов но мерных знаков, различающихся:
- используемыми шрифтами (знаки с символами различного размера, латинские, кириллические и прочие шрифты);
- цветом фона и символов (черные символы на светлом фоне или белые символы на темном фоне);
- количеством строк в номере (однострочные, двух* и трехстрочные);
- наличием или отсутствием кода обозначения региона или специальной отметки
- и т.д.
Учет этих различий в номерных знаках дает существенную «фору» тем разработчикам LPR*систем, которые используют эту дополнительную информацию в логике своих алгоритмов распознавания. Информация о структуре знака и его синтаксисе позволяет существенно повысить вероятность правильного распознавания, одновременно снижая требования к качеству алгоритмов извлечения и распознавания отдельных символов.
Техногология оптического распознавания символов
Точность технологии оптического распознавания символов (Optical Character Recognition, OCR) вносит существенный вклад в качество работы LPR*системы в целом. Чтобы осознать сложность решаемой на этом этапе задачи, рассмотрим следующий простой пример. Допустим, в разрабатываемой LPR*системе требуется обеспечить вероятность правильного распознавания номерного знака на статическом изображении 95%. Определим, какова должна быть вероятность распознавания отдельного символа номера.
Пусть непосредственному распознаванию символов предшествуют три алгоритма:
- Алгоритм, локализующий на изображении номерной знак. Вероятность
- Алгоритм предварительной обработки, нормализующий контраст и яркость, который корректирует изображение. Вероятность
- Алгоритм выделения символов, который отвечает за нахождение и выделение отдельных символов на знаке и передачу их алгоритму распознавания символов. Вероятность
Полная вероятность правильного распознавания, в которой для достижения цели задействовано n алгоритмов, определяется формулой:
Или, для наших условий:
Отсюда нетрудно найти, что полная вероятность распознавания символов должна составлять не менее:
Например, на основных российских государственных регистрационных знаках нового образца (с трехзначным кодом региона) 9 символов. Если общая точность оптического распознавания номерного знака должна быть не менее 97,7%, то точность распознавания отдельного символа должна быть не менее:
То есть допускается, что из 1000 символов, поданных на вход OCR*модуля, только 3 может быть не распознано или распознано
неверно!
Сегодня известно достаточно много OCR методов. В качестве примера рассмотрим структурный метод распознавания скелетных
образов, используемый в одном из решений ЗАО «Нордавинд». В структурных методах объект описывается как граф, узлами которого являются элементы входного объекта, а дугами – пространственные отношения между ними. Методы, реализующие подобный подход, обычно работают с векторными изображениями. Структурными элементами являются составляющие символ линии.
Рис. 2. Многообразие видов номерных знаков |
В первую очередь распознаваемый символ подвергается процедуре получения скелета, для чего может использоваться любой из общеизвестных алгоритмов, описанных в тематической литературе. Далее для каждой особой точки полученного скелетного представления символа вычисляется множество топологических признаков, основными из которых являются:
- Нормированные координаты особой точки (вершина графа).
- Длина ребра до следующей вершины в процентах от длины всего графа.
- Нормированное направление из даннойточки на следующую особую точку.
- Нормированное направление входа в точку, выхода из точки.
- Кривизна дуги, точнее «левая» и «правая» кривизна дуги, соединяющей особую точку со следующей вершиной (кривизна вычисляется как отношение максимального расстояния от точек дуги до прямой, соединяющей вершины, к длине отрезка, соединяющего те же вершины).
Рис. 3. Пример топологических признаков |
На рисунке 3 условно показаны некоторые из топологических признаков. Граф имеет пять особых точек – a0, a1, a2, a3, a4. При обходе графа по маршруту a0,a1,a2… в вершине a1 условно показаны следующие признаки: вектор R1 – направление входа в точку, вектор R2 – направление выхода из точки, вектор R3 – глобальное направление на следующую особую точку. Двунаправленный вектор h показывает величину «левого» отклонения дуги (a1, a2) от прямой;«правое» отклонение равно нулю.
Для некоторых кодов число особых точек и, соответственно, число топологических признаков слишком мало. Так, для кода, соответствующего символу «0», топологических признаков вообще нет, так как нет ни одной особой точки. Поэтому могут вычисляться и использоваться следующие дополнительные признаки:
- Размеры и положение компонент и «дыр».
- «Черная» и «белая» ширина верхней половины символа.
- Модифицированные прямые прогибы.
Рис. 4. Попытка улучшения изображения символа. а) исходное изображение символа; б) символ со склеенными линиями |
Прогибы вычисляются как расстояния от точек скелетного представления до выпуклой оболочки построенного представления.
Дополнительно запоминается положение точек максимального прогиба. Для некоторых топологических кодов число топологических признаков может быть достаточно велико, что может потребовать слишком большого набора эталонов для обучения, поэтому в ряде случаев в распознавании используется только часть признаков.
Символ определяется после сравнения его описания с кодами из базы данных, при этом выбирается самый близкий топологический код.
Если символ после прохода цикла распознавания остался нераспознанным, делается попытка улучшения изображения (рис. 4) с помощью следующих операций:
- Склеивание концов линий по направлениям.
- Склеивание точек скелета, находящихся на минимальном расстоянии одна от другой.
- Отбрасывание самой короткой линии.
Рассмотренный метод не является оптимальным. К его недостаткам следует отнести высокую чувствительность к дефектам изображения, нарушающим составляющие элементы. Также векторизация может добавить дополнительные дефекты. Кроме того, для этих методов (в отличие от шаблонных и признаковых методов) до сих пор не созданы эффективные автоматизированные процедуры обучения, поэтому структурные описания чаще всего приходится создавать вручную.
В реальных LPR*системах зачастую используются комплексные OCR алгоритмы, которые представляют собой синтез нескольких методов. Из представленного описания видно, что эффективная работа OCR алгоритма существенным образом зависит от качества изображения, подаваемого на вход.
Что подразумевается под хорошим качеством изображения?
Технология получения изображения определяет среднее качество изображения, над которым алгоритму распознавания придется работать. Очевидно, чем выше качество изображения, тем в лучших условиях работает алгоритм распознавания номеров и тем большая точность может быть достигнута LPR системой.
Чтобы получить хорошие результаты от алгоритма распознавания номеров, обработанные изображения должны содержать в
себе номерные знаки:
- С приемлемо хорошим пространственным разрешением.
- С приемлемо высокой четкостью.
- С приемлемо высоким контрастом.
- В приемлемо хороших условиях освещения.
- В приемлемо хорошей позиции и под правильным углом.
Конечно, «приемлемо» – достаточно условное определение, хотя оно имеет вполне точное значение. Некоторые типичные
проблемные изображения приведены на рисунке 5.
Рис. 5. Некоторые типичные проблемные изображения |
Типовые решения
Пожалуй, одним из самых массовых и востребованных применений LPR*систем яв ляется контроль доступа на территорию объекта и автостоянки. В рамках данных приложений мы уже можем выделить основной тип систем распознавания номеров с типичной конфигурацией технического обеспечения и системным оборудованием.
Примером систем распознавания номеров может послужить система распознавания номеров контроля доступа (стоит отметить, что
в большинстве случаев система распознавания номеров является лишь частью интегрированной системы контроля доступа).
Рис. 6. Машина подъезжает к въезду |
|
Рис. 7. Создание оцифрованного изображения автомобиля |
|
Рис. 8. Считывание номерного знака с оцифрованного изображения автомобиля |
|
Рис. 9. Разрешение доступа и сохранение данных в базе |
Примером систем распознавания номеров может послужить система распознавания номеров контроля доступа (стоит отметить, что
в большинстве случаев система распознавания номеров является лишь частью интегрированной системы контроля доступа).
Автомобиль приближается к воротам охраняемой зоны, на территорию которой он хочет проехать. На контрольно*пропускном пункте установлен шлагбаум и светофор, горящий красным, информируя о том, что проезд запрещен. Кроме того, на въезде установлена CCTV камера видеонаблюдения. Шлагбаум, светофор и камера подключены к управляющему компьютеру с установленной LPR*системой, координирующей операции системы контроля доступа.
Если система регистрирует приближение транспортного средства, LPR*модуль пытается «считать» номерной знак в пределах зоны
контроля.
После считывания номера LPR*модуль передает распознанный номер для последующего принятия решений. Далее система контроля и управления доступом контроля доступа отправляет номер в модуль базы данных. Модуль базы данных сверяет полученный номер со списками прав доступа и возвращает флаг «доступ разрешен» или «доступ запрещен». В зависимости от типа флага приложение контроля доступа открывает шлагбаум и зажигает зеленый свет или нет.
Кроме того, приложение контроля доступа может отправлять модулю базы данных такие дополнительные сведения, как дата или время доступа, для сохранения в журнале событий. После того как автомобиль проезжает (или уезжает), система возвращается на исходную
позицию и ждет следующего ТС.
Заключение
Представленный обзор принципов автоматического распознавания автомобильных номеров дает понять, как широк спектр проблем, с которыми может столкнуться LPR
И. Свирин
к. т. н., генеральный директор ЗАО «Нордавинд»,
А. Ханин
главный специалист ЗАО «Нордавинд»
Источник: журнал «Алгоритм безопасности» #3, 2010