Научная статья на тему 'Использование детектора Хаара для распознавания автомобильных номеров'

Использование детектора Хаара для распознавания автомобильных номеров Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
576
90
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
распознавание изображения / детектор Хаара / интегральное представление / классификатор / бустинг / image recognition / Haar detector / integral representation / classifier / boosting.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Саверский Владислав Олегович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Саверский Владислав Олегович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

USING THE HAAR DETECTOR TO RECOGNIZE CAR NUMBERS

this article discusses the main methods of preliminary search for a car number in the image and identifies their main advantages and disadvantages in order to choose the optimal one. In the course of the study, preference was given to the method using the Haar detector, since it shows the best results in difficult conditions. The article describes in detail the principle of its operation and describes the use of the library that provides developers with its implementation

Текст научной работы на тему «Использование детектора Хаара для распознавания автомобильных номеров»

ИСПОЛЬЗОВАНИЕ ДЕТЕКТОРА ХААРА ДЛЯ РАСПОЗНАВАНИЯ

АВТОМОБИЛЬНЫХ НОМЕРОВ

USING THE HAAR DETECTOR TO RECOGNIZE CAR NUMBERS

УДК-004

Саверский Владислав Олегович, бакалавр, Московский Государственный Технический Университет имени Н.Э.Баумана, Россия, г. Москва

Saversky Vladislav Olegovich, vladsav97@mail .ru

Аннотация: В данной статье рассмотрены основные методы предварительного поиска автомобильного номера на изображении и выявлены их основные преимущества и недостатки с целью выбора оптимального. В ходе исследования предпочтение было отдано методу, использующему детектор Хаара, так как он показывает наилучшие результаты в сложных условиях. В статье подробно рассмотрен принцип его действия и описано использование библиотеки, предоставляющей разработчикам его реализацию.

Abstract: this article discusses the main methods of preliminary search for a car number in the image and identifies their main advantages and disadvantages in order to choose the optimal one. In the course of the study, preference was given to the method using the Haar detector, since it shows the best results in difficult conditions. The article describes in detail the principle of its operation and describes the use of the library that provides developers with its implementation. Ключевые слова: распознавание изображения; детектор Хаара; интегральное представление; классификатор; бустинг.

Keywords: image recognition; Haar detector; integral representation; classifier; boosting.

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

• Предварительный поиск номера - обнаружение области, в которой содержится номер.

• Нормализация номера - определение точных границ номера, нормализация контраста.

• Распознавание текста - чтение всего, что нашлось в нормализованном изображении.

Рисунок 1. Алгоритм распознавания регистрационного знака по

изображению

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

Наибольшее количество проблем возникает на первом этапе распознавания - предварительном поиске номера, так как большинство методов показывают хорошие результаты лишь в идеальных условиях.

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

Рисунок 2. Контурный анализ

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

Более стабильным и практичным является подход, в котором от рамки анализируется только её часть. Выделяются контуры, после чего ищутся все вертикальные прямые. Для любых двух прямых, расположенных недалеко друг от друга, с небольшим сдвигом по оси у, с правильным отношением расстояния между ними к их длине, рассматривается гипотеза того, что номер располагается между ними. Пример приведен на рисунке 3.

у "

(с) Edges having same or almost (d) Vehicle number plate detected

same -X & у coordinates

Рисунок 3. Частичный анализ границ

Одним из самых популярных подходов, особенно среди начинающих разработчиков, неизменно является анализ гистограмм изображения. В основе данного подхода лежит предположение об отличии частотной характеристики области изображения с регистрационным знаком от частотной характеристики окрестности. Пример анализа гистограмм изображения приведен на рисунке 4.

Рисунок 4. Гистограммный анализ изображения

Существенным минусом данного подхода является предъявляемое ограничение по размеру и расположению автомобиля в кадре. Машина по размеру должна быть сопоставима с размером кадра, т. к. фон может содержать надписи или другие детализированные объекты.

Главный недостаток описанных ранее методов заключается в том, что на реальных, запачканных грязью номерах нет ни четких границ, ни выраженной статистики. Максимальные результаты при подобных условиях показывают методы, опирающиеся на различные классификаторы [4].

В реальных условиях, при загрязненных, частично перекрытых номерах хорошо себя проявляют алгоритмы, которые используют обученный каскад Хаара. Он анализирует область и ищет в ней характерные для номера отношения, точки или градиенты. Тестирование каскада Хаара на базе номеров, собранных зимой в центре Москвы, показало 90% правильных обнаружений номеров и 2-3% ложного захвата. Алгоритмы обнаружения границ или гистограмм не способны показать подобный процент верных обнаружений по изображениям, снятым в подобных условиях. Главным преимуществом детектора Хаара является скорость. Она позволяет обрабатывать в том числе и потоковое видео. Детектор Хаара можно использовать для распознавания большинства классов объектов. Реализация детектора Хаара присутствует в библиотеке ОрепСУ. Библиотека ОрепСУ содержит алгоритмы компьютерного зрения, обработки изображений и численные алгоритмы общего назначения с открытым кодом. Использование библиотеки ОрепСУ предоставляет огромное преимущество разработчикам, так как ее готовые реализации разработаны для большинства существующих операционных систем/

Метод интегрального представления изображения по признакам Хаара (Метод Виолы-Джонса)

На сегодняшний день метод Виолы-Джонса является одним из самых востребованных методов, реализующих поиск объекта на изображении благодаря его высокой скорости и эффективности. В основе метода Виолы -Джонса лежат: интегральное представление изображения по признакам

Хаара, построение классификатора на основе алгоритма адаптивного бустинга и способ комбинирования классификаторов в каскадную структуру. Эти идеи позволяют осуществлять поиск объекта в режиме реального времени [1].

Интегральное представление изображения - это матрица, размеры которой совпадают с исходным изображением. Каждый элемент матрицы хранит сумму интенсивностей всех пикселов, расположенных левее и выше данного элемента - правого нижнего угла прямоугольной области, от (0,0) до (х,у). Элементы матрицы L можно рассчитать по формуле:

= (1) где: ¡(¡¿) - яркость пиксела исходного изображения. Элементы матрицы рассчитываются по формуле:

L(x,y)= !ХУ)- L(x-1,y-1) + L(x,y-1) + L(x-1,y) (2)

Интегральное представление изображения позволяет быстро рассчитывать суммарную яркость для произвольной прямоугольной области на изображении.

Метод Виолы-Джонса использует на этапе обнаружения объекта окно определенного размера, перемещающееся по изображению. Для каждой области изображения, над которой прошло окно, рассчитывается признак Хаара, используемый для поиска нужного объекта. Признак Хаара вычисляется по смежным прямоугольным областям. В стандартном методе Виолы-Джонса используются примитивы прямоугольной формы, изображенные на рисунке 5.

Рисунок 5. Примитивы Хаара

Признак Хаара вычисляется по следующей формуле:

F = X — Y (3)

где:Х - суммарная яркость точек, закрытых светлой частью примитива, У -суммарная яркость точек, закрытых темной частью. Для вычисления используется понятие интегрального изображения, рассмотренное ранее. Признаки Хаара вычисляются быстро, за постоянное время. Использование

признаков Хаара позволяет получить точечное значение перепада яркости по оси X и Y соответственно.

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

В основе классификатора лежит алгоритм бустинга (от англ.ЬооБ^ улучшение, усиление), используемый для выбора наиболее подходящих признаков для искомого объекта на данной части изображения. В общем случае бустинг — это комплекс методов, используемых для повышения точности аналитических моделей.

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

Входной регион

Слой первого уровня (5-8 примитивов}

Слой второго уровня (15^20 примитивов)

Рисунок 6. Схема сложных классификаторов

На первом этапе обработки изображения применяются простые классификаторы, после чего отбрасывается часть сканирующих окон. Следующий классификатор применяется к положительным значениям предыдущего и так далее. Благодаря использованию цепочки классификаторов, ошибка уменьшается с каждым шагом [3]. Пример работы алгоритма приведен на рисунке 7.

Рисунок 7. Процесс применения классификаторов на основе каскада

Хаара

Для поиска объекта на цифровом изображении используется обученный классификатор, сформированный на примитивах Хаара и представленный в формате хт1.

Структура классификатора представлена на рисунке 8:

<тах1лГеакСоип1:>6</тах1л1еакСоип1:>

^а§еТр1ге51по1с1>-1.3120132822051002е+000</Б1аЁеТ1пге5рю^> ^еакС^йз!"!11ег5>

<_><1г^егпа1Г\Ые5> 0 -1 193 1.0069262609495531е-002</1г^егпа1Г\Ые5> <1еа^а1ие5> -8.1339136429977417е-001 5.027777552604б753е-001</1еа^а1ие5></_> <_>С1г^ета1Г\Ые5> в -1 94 -2.2050684858752655е-002</1г^егпа1Г\Ые5> <1еа^а1ие5> 7.9428992996315820Ё-001 -5.0886102180017700е-001</1еа-р\/а1ие5></_> <_>С1г^егг1а1Г\Ые5> 0 -1 18 -4.8776908086776633е-002</1г^егпа11\Ыеб> <1еа^а1ие5> 7.1655б55265258789е-001 -4.154033632142б392е-001</1еа^а1иеб></_> <_>С1Г^егг1а11\Ые5> 6 -1 35 1.028б313108813б67е-002</1г^егпа11\Ые5> <1еа-рУа1иез> 3.7718312249<545912е-001 -8.55031443301б0422е-001</1еа^а1ие5></_> <_Хл.ггЬегпа1Мси1е5> 0 -1 191 -9.4083719886839390е-004</:1г^егпа1Г\Ые5> <1еа^а1ие5> 4.2558549347195335е-001 -5.7829164742139526е-001</1еа^а1ие5></_> <_><1г^егпа1Г\Ые5> 0 -1 48 -8.2391249015927315е-003</1г^егпа1Г\Ые5> |<1еа^а1ие5> 8.2446775802374244е-001 -3.740315904517309бе-001</ 1еа^а1иег></_> </иеакс1а5Б11:1ег5>

Рисунок 8. Структура классификатора

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

Для обучения каскада Хаара необходимо передать на вход классификатора подборку «правильных» изображений на которых выделена область автомобильного номера, после чего будет произведен перебор примитивов и расчёт значения признака. Полученные значения необходимо сохранить в файле в формате хт1 [2].

В пакет OpenCV встроена утилита для обучения каскада Хаара. Для реализации качественного обучения необходимо подготовить следующую коллекцию файлов, используемых для обучения:

• Реальные фотографии объекта. От степени соответствия подборки условиям распознавания объекта будет зависеть качество результатов. На качество распознавания могут влиять тени, посторонние предметы, поворот номера.

• Фотографии без объекта распознавания. Фотографии должны быть сделаны в той же среде где будет происходить распознавание.

Литература:

1. Библиотека распознавания номеров OpenCV [Электронный ресурсу/URL: https://kostyakulakov.ra/библиотека-распознавания-номеров-opencv/ (дата обращения 10.04.2020)

2. Обучение каскада Хаара [Электронный ресурсу/URL: https://kostyakulakov.ru/opencv-обучение-каскада-хаара/ (дата обращения 18.04.2020)

3. Работа каскада Хаара в OpenCV [Электронный ресурсу/URL: https://habr.com/ru/company/recognitor/blog/228195/ (дата обращения 10.04.2020)

4. Распознавание номеров: от А до 9 [Электронный ресурсу/URL: https: //habr.com/ru/company/recognitor/blog/221891/ (дата обращения 10.04.2020)

5. Калиновский И. А. алгоритм обнаружения лиц на основе сверточной нейронной сети [Электронный ресурсу/URL:

https://cyberleninka.ru/article/n/obzor-i-testirovanie-detektorov-frontalnyh-¡^Мс^^дата обращения 10.04.2020)

6. Попов Д. И. Компьютерная графика - М..: Изд-во МГУП, 2009. - 70С.

References:

1. OpenCV number recognition Library [Electronic resource] / / URL: https://kostyakulakov.ru/библиотека-распознавания-номеров-opencv/ (accessed 10.04.2020)

2. Training of the Haar cascade [Electronic resource] / / URL: https://kostyakulakov.ru/opencv-обучение-каскада-хаара/ (accessed 18.04.2020)

3. Work of the Haar cascade in OpenCV [Electronic resource] / / URL: https://habr.com/ru/company/recognitor/blog/228195/ (accessed 10.04.2020)

4. number Recognition: from A to 9 [Electronic resource] / / URL: https://habr.com/ru/company/recognitor/blog/221891/ (accessed 10.04.2020)

5. Kalinovsky I. A. algorithm for detecting faces based on convolutional neural network [Electronic resource] / / URL: https://cyberleninka.ru/article/n7obzor-i-testirovanie-detektorov-frontalnyh-lits/viewer(accessed 10.04.2020)

6. Popov D. I. Computer graphics-M..: MGUP Publishing house, 2009. - 70S.

i Надоели баннеры? Вы всегда можете отключить рекламу.