Автоматическое распознавание автомобильных номеров

А. П. Кирпичников, С. А.Ляшева, А. В. Обухов, М. П. Шлеймович

АВТОМАТИЧЕСКОЕ РАСПОЗНАВАНИЕ АВТОМОБИЛЬНЫХ НОМЕРОВ

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

В работе рассмотрены методы, применяемые для автоматического распознавания автомобильных номеров.

Keywords: automatic license plate recognition, localization field numbers, normalization of the image, image segmentation, character recognition, parsing, binarization image edge detection on the image, morphological image processing, support vector machine.

In this paper discusses the methods used for automatic license plate recognition.

ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ

УДК 004.932

В настоящее время практически во все сферы человеческой жизни широко внедряются технологии компьютерного зрения. Одним из активно развивающихся направлений является разработка методов и средств автоматического распознавания автомобильных номеров (automatic license plate recognition, ALPR). Данные системы востребованы в самых различных областях, связанных, например, с автотранспортными предприятиями, станциями техобслуживания, автомойками, автомобильными стоянками, гаражными кооперативами, коттеджными поселками, заправочными станциями, пунктами контроля въезда на охраняемые территории.

Подобные системы позволяют:

- максимально точно проконтролировать фактическое наличие автомобилей в зоне обслуживания;

- узнать время, затраченное на обслуживание клиентов;

- оперативно определять количество свободных мест на парковке;

- фиксировать время пребывания автомобиля в определенной зоне;

- организовать автоматический въезд и выезд автомобилей;

- контролировать время выхода транспортных средств на линию и их возвращения на автотранспортном предприятии;

- возможность проведения маркетинговых исследований без опроса покупателей на стоянке супермаркета;

- и др.

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

Под системами автоматического распознавания автомобильных номеров

подразумеваются программный или аппаратно-программный комплекс, который реализует алгоритмы автоматического распознавания

номерных знаков для регистрации событий, связанных с перемещением автомобилей, т.е. для автоматизации ввода данных и их последующей обработки [1].

В основе автоматического распознавания автомобильных номеров лежат следующие процедуры [2]:

1. Локализация;

2. Нормализация;

3. Сегментация;

4. Распознавание;

5. Синтаксический анализ.

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

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

Третий шаг - это разделение изображения на знакоместа, т.е. выделение областей отдельных символов.

Далее следует процедура оптического распознавания символов (optical character recognition, OCR), в результате которой формируется строка символов.

Процедура синтаксического анализа выполняется для учета элементов строки, содержащей символы номера. Данные элементы могут различаться согласно стандартам стран регистрации автотранспортных средств. Например, в Российской Федерации используется стандарт, определяемый ГОСТ Р 50577-93 (с изменениями, внесенными приказами Федерального агентства по техническому регулированию и метрологии) [3].

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

исходное цветное изображение преобразуется в полутоновое.

Бинаризация изображений заключается в разделении всех пикселей полутонового изображения по яркости на два класса - объект и фон. Для этого выполняется поэлементное преобразование вида

[1, г > Д, 5 = Г

[0, г < Д,

где Д - пороговое значение яркости, г - значение яркости пикселя до обработки, 5 - значение яркости пикселя после обработки. На практике применяют методы глобальной и локальной (адаптивной) бинаризации. В первом случае вычисляется единственное пороговое значение, а во втором вычисляются пороговые значения для областей изображения [4].

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

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

р = ¥'

где п - число пикселей с яркостью ¡, N - общее

¿-1

количество пикселей в изображении, т.е. N = X п1 ,

¡=0

¿-1

X =1 ир• -

¡=0

2. Вычислить накопленные суммы Р\(Щ по формуле:

Р(к) = Х р-

где к = 0, 1, ..., I - 1.

3. Вычислить накопленные суммы т(к) по формуле:

т(к)=X р

где к = 0, 1, ..., 1 - 1.

4. Вычислить глобальную среднюю яркость тв по формуле:

т,

=Х ¡р,.

5. Вычислить межклассовую дисперсию с В (к) по формуле:

((к) - т(к ))2

с В (к) =-

Р(к )(1 - Р1(к)) ' где к = 0, 1, ..., 1 - 1.

6. Определить пороговое значение Д как такое значение к, при котором величина межклассовой дисперсии с В (к) максимальна. Если максимум неоднозначен, то выбрать в качестве Д среднее значение к по всем найденным максимумам.

7. Оценить показатель разделимости п(Д), вычисленный по формуле:

П(Д) =

с В

где ствв =Х

можно

использовать для количественной оценки разделимости классов, которая говорит о сложности пороговой обработки исходного изображения.

Для выполнения локальной бинарной обработки хорошо себя зарекомендовал метод скользящего среднего значения. Он заключается в последовательном сканировании строк изображения со сменой направления по окончании обхода каждой строки (т.е. зигзагом). Пусть /к + 1 яркость точки, встретившейся в указанном порядке обхода на шаге к + 1. Скользящее среднее значение яркости в этой новой точке вычисляется по формуле:

1 к+1 1 т

к > п-1,

где п - число точек, используемых для вычисления среднего значения, а т(1) = /1/п . Точка (х, у) относится к объекту или фону в зависимости от порога, равного:

Д = ст

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

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

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

До или после выполнения бинаризации (зависит от общего алгоритма) в рассматриваемых системах часто применяются методы выделения контуров [4]. Для этого применяются подходы, основанные на фильтрах первой и второй производных, например операторах Собела и Превитт:

маски операторов Собела:

W, =

-1 0 1 - 2 0 2 -1 0 1

К =

-1 -2 -1

0 2

маски операторов Превитт:

к, =

-1 0 1 -1 0 1 -1 0 1

К =

-1 -1 -1

;

Также широко применяется детектор краев Кэнни. В этом случае изображение сначала сглаживается гауссовым фильтром. Затем в каждом пикселе сглаженного изображения вычисляется величина и направление градиента. Направление градиента используется для утончения контуров посредством удаления пикселей, в которых величина градиента не превышает величины

2

с

в

¡=0

¡=к+2-п

¡=0

,=0

¡=0

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

В результате описанных процедур получаются бинарные изображения, состоящие только из пикселей с яркостями 0 и 1. Для устранения мелких деталей и разрывов используются морфологические методы обработки изображений, основными из которых являются расширение (дилатация), сужение (эрозия), замыкание (закрытие) и размыкание (открытие). Операция расширения увеличивает область изображения, а операция сужения делает ее меньше. Операция замыкания позволяет заполнить внутренние отверстия области изображения и устранить «заливы» вдоль ее границы. Операция размыкания позволяет устранить малые фрагменты, выступающие наружу области вдоль ее границы. При выполнении морфологических операций применяют изображения, называемые

структурирующими элементами [4].

После получения контуров, которые представляют собой связанные последовательности точек бинарного изображения, определить какой из них является границей области номера автомобиля. Для описания контуров с целью последующего анализа можно применить, например, цепные коды [4, 5]. В этом случае контур представляется в виде последовательности соединенных отрезков с указанием их длин и направлений. Направление каждого отрезка кодируется числом в соответствии с выбранной схемой нумерации. Чтобы сделать цепной код инвариантным к ее выбору, его можно рассматривать как циклическую последовательность номеров направлений отрезков. Начальная точка последовательности определяется таким образом, чтобы получалась линейная запись, соответствующая целому числу наименьшей величины. Цепной код также можно сделать инвариантным относительно поворота, если вместо самого кода рассматривать его первую разность, которая формируется путем вычитания значений направления для всех пар соседних элементов кодовой последовательности. Каждая разность вычисляется циклически (против часовой стрелки). Если и сам код трактовать как циклическую последовательность, то первый элемент разностной

последовательности должен вычисляться как циклическая разность последнего и первого элементов исходного цепного кода.

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

Таким образом, можно предложить следующий алгоритм локализации области автомобильного номера на изображении:

1. Преобразовать исходное цветное изображение в полутоновый вид;

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

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

4. Выполнить операцию морфологического закрытия с прямоугольником в качестве структурирующего элемента;

5. Определить контура на изображении и выполнить их описание;

6. Определить области, ограниченные контурами;

7. Выбрать область, параметры которой соответствуют автомобильному номеру.

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

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

Рис. 1 - Сегментация символов номера

Для распознавания символов,

соответствующим выделенным знакоместам можно применить различные методы машинного обучения. Одним из наиболее эффективных методов является машина опорных векторов (support vector machine, SVM) [6, 7, 8].

Метод 8УМ обладает несколькими замечательными свойствами:

1) обучение сводится к задаче квадратичного программирования, имеющей единственное решение, которое вычисляется достаточно эффективно даже на выборках в сотни тысяч объектов;

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

3) с помощью введения функции ядра метод обобщается на случай нелинейных разделяющих поверхностей.

Пусть имеется множество обучающих примеров {(Х, У), г = 1, ..., ¿}, где Х- п-мерный вектор признаков ¡-го объекта обучающей выборки, У] - метка класса ¡-го объекта, е {-1, +1}. В случае линейно разделимых классов уравнение разделяющей гиперплоскости записывается следующим образом:

ь

К = Х а.УХ..

о / у , , , •

Ш'Х + Ь = 0,

где К - вектор весов, Ь - пороговое значение, что определяет решающее правило классификации:

КТХ. + Ь > 0 ^ У =+1, Т , ,

КТХ, + Ь <0 ^У =-1.

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

найти значения параметров К и Ь, удовлетворяющие следующим условиям: 1 Т

1) величина — К К достигает минимума,

2) при всех (Х, У) из множества обучающих примеров выполняется неравенство У (КТХ1 + Ь) > 1.

Данная формулировка соответствует задаче квадратичной оптимизации. Для того, чтобы найти ее решение, необходимо сформулировать двойственную задачу, в которой с каждым линейным ограничением У (КТХ1 + Ь) > 1 прямой задачи связан соответствующий множитель Лагранжа а. В такой формулировке требуется найти а1, а2, ..., а№ при которых:

^ 1 . ь . ^

1) величина Ха--ХХааУУХТХ

¡=1 2 ¡=1 j=l

достигает максимума,

2) XX а У = 0,

=1

3) а > 0 при всех = 1, 2, ., ¿.

Решение этой задачи имеет следующий вид:

Ьо = Ук - КТХкУХк а * 0.

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

ё

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

Ф: Х ^ ф

Это равносильно переходу от скалярного произведения ХТ Х в выражении (15) к ядру

К(Х, Х):

К

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

- полиномиальные ядра:

К

- функции радиального базиса:

К (и, V) = ехр(-Я и - V ||2).

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

1. Создается набор классификаторов, работающих по принципу «один против остальных» или «один против всех», а затем выбирается класс, на котором объект отстоит дальше всего от разделяющей поверхности;

2. Создается набор бинарных классификаторов, а затем выбирается класс, предложенный большинством из них.

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

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

=1

значительные достижения в этой области,

разработка новых оптимальных по времени и

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

Литература

1. Свирин И., Ханин А. Некоторые аспекты автоматического распознавания автомобильных номеров //Алгоритмы безопасности, 2010, № 3. С. 26-29.

2. Shin Shi Emgu CV Essentials. Packt Publishing, 2013.

3. ГОСТ Р 50577-93 - «Знаки государственные регистрационные транспортных средств. Типы и основные размеры. Технические требования».

4. Гонсалес Р., Вудс Р. Цифровая обработка изображений. Издание 3-е, исправленное и дополненное. - М.: Техносфера, 2012.

5. Кирпичников А.П., Ляшева С.А., Шлеймович М.П. Контекстный поиск изображений //Вестник Казанского технологического университета. -2014. - Т. 17. №18. -С. 244-251.

6. Кирпичников А.П., Ляшева С.А., Шлеймович М.П. Обнаружение и сопровождение людей в интеллектуальных детекторах внештатных ситуаций //Вестник Казанского технологического университета. 2014. - Т. 17. №21. - С. 351-356.

7. Хайкин С. Нейронные сети: полный курс, 2-е издание: Пер. с англ. - М. Издательский дом «Вильямс», 2006.

8. Манинг К.Д., Рагхаван П., Шютце Х. Введение в информационный поиск: Пер. с англ. - М.:ООО «И. Д. Вильямс», 2011.

© А. П. Кирпичников - д. ф.-м. н., зав. каф. интеллектуальных систем и управления информационными ресурсами КНИТУ, kirpichnikov@kstu.ru; С. А.Ляшева - к.т.н., доцент кафедры прикладной математики и информатики КНИТУ-КАИ; А. В. Обухов - студент КНИТУ-КАИ, anvob@mail.ru; М. П. Шлеймович - к.т.н., доцент кафедры автоматизированных систем обработки информации и управления КНИТУ-КАИ, shlch@mail.ru.

© A. P. Kirpichnikov - Dr. Sci, Head of the Department of Intelligent Systems & Information Systems Control, KNRTU, kirpichnikov@kstu.ru; S. A. Lyasheva - PhD, Associate Professor of the Department of Applied Mathematics & Informatics, KNRTU-KAI; A. V. Obukhov - student KNRTU-KAI, anvob@mail.ru; M. P. Shleymovich - PhD, Associate Professor of the Department of Automated Information Processing Systems & Control, KNRTU-KAI, shlch@mail.ru.