Распознавание номеров автомобилей. Область применения IP камеры для распознавания автомобильных номеров Чтение автомобильных номеров с 10 метров

Анастасия Шуткина
В связи с все большим проникновением сетевого видеонаблюдения в системы безопасности, в профессиональном сообществе возникла дискуссия о том какие камеры лучше подходят для распознавания автомобильных номеров – аналоговые или IP. Судя по постам в форумах, в том числе и на sec.ru, есть достаточное число экспертов полагающих, что использование IP камер для этого не эффективно. Мы попробовали разобраться в ситуации более подробно – для чего изучили различные публикации в СМИ и провели интервью с экспертами.

Низкая чувствительность: «вечная» проблема IP камер?

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

Ю.Л. Зарубин, Генеральный директор компании «Технологии Распознавания» отмечает по этому поводу: «Я считаю, что большинство IP камер не годятся для распознавания номеров, поскольку они жмут информацию, не считаясь с необходимостью сохранения мелких деталей. Есть и еще один недостаток у IP камер – это то, что получается достаточно большой объем передаваемой информации, потому что для распознавания нужно практически полное разрешение. На сегодняшний день все IP камеры, с которыми я сталкивался, для распознавания номеров годятся очень слабо. Они фактически работают только в дневное время и в очень ограниченных условиях»

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

Предоставим слово Ю.В. Бухтиярову, Директору украинской компании "Видео Интернет Технологии" : «Еще недавно наиболее существенным препятствием к применению мегапиксельных телекамер, которое характерно не только для области распознавания автомобильных номеров, но и вообще для наблюдения за дорожным движением, является высокая скорость движения автомобилей. Для того чтобы автомобильные номера и изображения самих автомобилей не размывались при движении на большой скорости, приходится устанавливать высокую скорость электронного затвора. Следовательно, чувствительность снижается примерно на порядок, если сравнивать со стандартным значением времени накопления, которое у мегапиксельных телекамер обычно находится в пределах 1/50-1/60 с. Однако, в последнее время, с появлением более чувствительных матриц с лучшим соотношением сигнал/шум разработчики мегапиксельных телекамер сделали заметный шаг вперед, более того у них в линейках появились модели с перемещаемым ИК-фильтром, после чего эти камеры стали пригодны для использования в системах круглосуточного наблюдения с применением ИК-подсветки».

На самом деле представление, что без дополнительного освещения в ночное время аналоговые камеры позволяют уверенно справляться с распознаванием так же не совсем верно. По крайней мере, большинство производителей модулей распознавания номеров крайне рекомендуют использовать дополнительную подсветку – узколучевые импульсные ИК прожекторы. Угол падения света в таких прожекторах, как правило, позволяет осветить площадь объекта видеонаблюдения на одну камеру. Таким образом, схема построения системы распознавания такова: 1 полоса движения = 1 камера + 1 ик-прожектор Однако, при таком грамотном подходе и IP камеры будут работать прекрасно. Да и чувствительность сетевых камер (особенно с CCD матрицами, а не КМОП) лишь немногим уступает аналоговым. Так что правильно подобранные IP камеры с этой точки зрения ничем не хуже аналоговых.

М.В. Руцков, Генеральный директор компании «Мегапиксел», отмечает: «Сначала сделаем замечание о терминах. Понятие IP-камера достаточно широкое. Если говорить о нашей отрасли, то это в большинстве своём камеры на цветных CMOS-сенсорах, с компрессией на борту и выходом в FastEthernet. Тогда если говорить именно о их использовании -ответ отрицательный, такие камеры использовать для распознавания автономеров нельзя. IP-камеры на CMOS-сенсорах имеют низкую чувствительность и фактически не работают в тёмное время суток. Аналоговые камеры более чувствительны, но проигрывают по разрешающей способности. Такие камеры, например, имеют эффективную ширину захвата не более 2-х метров, что мало для решения задач ГИБДД. Таким образом, если говорить про "узкие" заезды - весы, парковки, КПП, то преимущество за аналоговыми камерами. Если же, иметь ввиду задачи ГИБДД - "широкие" проезды, то ситуацию спасут только мегапиксельные чёрно-белые камеры из машинного зрения - там нет компрессии и высокая чувствительность за счёт использования CCD-сенсоров.»

Преимущества применения IP камер.

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

Предоставим слово Д.А. Горбаневу, Техническому директору компании ITV:

«Сейчас все чаще и чаще начинают использовать IP камеры для распознавания номеров, поскольку очень удобно, что они позволяют получить изображение с высоким мегапиксельным разрешением, с помощью которого можно перекрывать сразу несколько полос движения. К безусловным достоинствам IP камер можно отнести простоту установки – сеть легче подвести, чем, например, тот же коаксиальный кабель., можно даже Wi-Fi использовать, Более того, есть IP камеры, которые используют POE интерфейс т.е питание к ним отдельно подводить не надо»

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

Р.В. Стрельцов Генеральный директор компании "Навиком" отмечает:

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

Помимо этого IP камеры позволяют использовать прогрессивную развертку, а также легко управлять сжатием сигнала, что позволяет экономить место на цифровых носителях. Ну и разумеется, весьма важно, что они, как отмечал уже выше М.В. Руцков , позволяют решить проблему «перекрытия» полос движения. В этой связи Ю.В. Бухтияров отмечает:

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

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

Распознавание номеров: за какими камерами будущее?

Д.А. Горбанев: «Мне кажется, что сетевые камеры будут доминировать над аналоговыми - это эволюция, от которой никуда не уйти. На данный момент, конечно, есть аналоговые камеры которые по отдельным характеристикам превосходят сетевые на порядок, например, по чувствительности, поэтому насколько я по личному опыту знаю обычно применяют ИК подсветку, чтобы в сумерки номер был более виден и легче его было распознать. Однако, технологии не стоят на месте, а развиваются и я думаю, что в конечном счете IP камеры будут безусловно лидировать. Пока что-то не придет и им взамен в свою очередь…».

Р.В. Стрельцов: «В любом случае будущее однозначно за IP камерами, поскольку технологии не стоят на месте. Главное при применении сетевых камер обеспечить правильные установку, угол обзора и работу электронного затвора с объективом, а также компенсацию засветки».

Ю.Л. Зарубин: «Я думаю все-таки придет время когда сетевые камеры повернутся лицом к проблеме работы в ночных условиях».

А.В. Пименов, Начальник отдела по связям с общественностью компании "ЭЛВИС": «Рано или поздно все вообще перейдет на IP. Конечно, безопасность это та отрасль в которой достаточно тяжело происходят изменения., есть всякие перечни и регламенты по использованию того или иного оборудования. Поэтому ближайшее будущее все-таки за аналогом, а в перспективе конечно IP камеры полностью заменят аналоговые.»

А.В. Коробков, Директор по разработкам компании-разработчика MACROSCOP :

«Мы изначально сделали ставку именно на IP камеры. Собственно, наши продукты только на них и ориентированы. Наш опыт показал, что при правильном подборе компонентов системы, установке и настройке они позволяют надежно распознавать номера автомобилей при скорости движения до 150 км/ч. При этом построение и модернизация систем на IP камерах намного быстрее и проще, чем на аналоговых, поэтому мы уверены, что будущее, безусловно, за IP камерами».

Применение IP-камер для распознавания номеров: пример реализации.

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

Модуль обеспечивает следующие функциональные возможности:

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

Модуль позволяет:

  • Проводить обработку видеопотока со скоростью 6 и 25 кадров секунду.
  • Распознавать номера при вертикальном угле наклона видеокамеры до 40° и горизонтальном угле отклонения до 30°, а также при угле крена государственного регистрационного знака относительно плоскости до 10°.
  • Распознавать стандартные типы номеров соответствующие стандартам России, Украины, СССР, Беларуси и Италии, а также инверсные, дипломатические и полицейские номера.
  • Использовать детектор движения для уменьшения вычислительных затрат при идентификации номера.
  • Задавать отдельные области поиска для уменьшения вычислительных затрат при идентификации номера.
  • Распознавать номера при скорости движения автомобиля до 150 км/час.
  • Распознавать одновременно до 10 различных номеров.

Покажем как все эти возможности реализуются на практике. Для настройки работы модуля служит специальное окно (рис.1).

Рис 1. Настройка модуля распознавания автомобильных номеров

Сначала необходимо выбрать один из двух режимов работы: «Парковка» (6 кадр / сек) используется при маленькой скорости движения транспорта, а «Дорога» (25 кадр / сек) для быстрого движения (например, улица или автомобильная трасса).

Чтобы включить поиск и распознавание при угле крена государственного регистрационного знака относительно плоскости дорожного полотна до 10°, достаточно активировать опцию «Искать не горизонтальные номера». Для поиска инверсных номеров (например, полицейские или военные номера), служит специальная опция «Искать инверсные номера».

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

Параметры «Минимальный размер номера» и «Максимальный размер номера» - задают минимальный и максимальный размер номера в процентах от кадра. Их можно задать также и интерактивно на изображении от камеры - растянув прямоугольную область так, чтобы номер автомобиля оказался внутри данной области (рис.2).

Рис 2. Задание минимального размера номера

Поскольку минимизация вычислительных ресурсов при высоком качестве результата, является «фирменным стилем» MACROSCOP и в модуле распознавания номеров сделано все, чтобы оптимизировать работу системы.

Прежде всего, это возможность задания отдельных зон поиска (рис.3) – всегда может быть часть кадра, в которой появление автомобильных номеров не возможно (например, обочина, тротуар и т.д.). Если зоны поиска не будут заданы, то анализироваться будет полный кадр, как это типично и бывает во многих прочих системах.

Рис 3. Задание зон поиска

Настройка «Использовать автомасштаб» снижает вычислительные затраты в случае, когда горизонтальный размер номера более чем 120 пиксел. (такая ситуация возникает когда для наблюдения за одной полосой движения используются камера с разрешением более 1Mpix, и как следствие, размер номеров получается слишком большим).

Для этих же целей служит и настройка «Использовать детектор движения» при включении которой, будут анализироваться только те кадры и зоны где есть движение.

Важно отметить, что база данных системы может работать в двух режимах:

  • «Локальная» – если картотека используется одним сервером в системе и ее необходимо расположить на том же сервере, где производится распознавание номеров.
  • «Удаленная»– если картотека используется несколькими серверами, и она расположена на определенном сервере в сети. Необходимо указать адрес сервера в сети и порт, на котором он расположен, имя пользователя и пароль пользователя.

Рис 4. Окно «Распознавание номеров»

Для наблюдения в реальном времени и просмотра архива в клиенте служит окно «Распознавание номеров» (рис.4), которое включает в себя три закладки: «Наблюдение», «Архив» и «Картотека».

Закладка «Наблюдение» (именно она отображена на приведенном выше рисунке) предназначена для просмотра событий обнаружения автомобильных номеров в реальном времени. В правой нижней части вкладки расположен список событий обнаружения автомобильных номеров.

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

Над списком в правой верхней части расположена панель фильтрации. С её помощью можно производить фильтрацию данных, отображаемых в списке событий обнаружения номеров. Панель «Фильтрация» позволяет задавать следующие параметры фильтрации:

  • Номер автомобиля;
  • Фамилия владельца;
  • Группа, которой принадлежит номер автомобиля;
  • Канал, на котором был обнаружен номер;
  • Дополнительная информация;
  • Скорость;
  • Цвет автомобиля;

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

Закладка «Картотека» (рис.5) для работы с картотекой автомобильных номеров, позволяет управлять группами и списками перехвата, добавлять, редактировать, удалять номера и связанную с ними информацию.

Рис.5 Закладка «Картотека»

Рис.6 Окно «Управление группами»

Чтобы добавить какую либо группу в перехват, достаточно поставить галочку в поле «Перехватывать автомобили из данной группы». Можно включить и режим для отображения номеров непосредственно на изображении нужного канала – он представлен на рис.7

Рис.7 Режим для отображения номеров непосредственно на изображении

При выборе опции «Отображать все номера» - будут отображаться все обнаруженные номера (зелёным цветом) и номера, добавленные в перехват (красным цветом), а «Отображать номера, добавленные в перехват» - будут отображаться только добавленные в перехват номера.

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

1.1 Камеры

DS-2CD4A25FWD-IZ(H)(S) Lightfighter bullet и

DS-2CD4A26FWD-IZ(H)(S) Darkfighter bullet

Уличная цилиндрическая камера с ИК подсветкой

  1. Работает при очень низкой освещенности,
  2. отличная работа компенсации встречного света,
  3. цилиндрический, всепогодный, прочный корпус,
  4. лицензия распознавания номеров,
  5. ч/б список фильтров,
  6. тревожный выход
  1. Darkfighter Ultra-low light технология Высокое разрешение 1920x1080
  2. До 60кадров/сек при Full HD1080p разрешении 120dB WDR
  3. 2.8~12mm моторизированный VF объектив с интеллектуальным автофокусом
  4. Умный кодек H.264+ компактного сжатия ИК-подсветка 50м.
  5. IP67 защита
  6. Питание +-12В DC и PoE
  7. Встроенное хранилище, поддержка до 128GB
  8. Поддержка ANPR, B/W List Filtering

Опции:

Встроенный обогреватель (-H)

Аудио/тревожные входы/выходы (-S)

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


поэтому по желанию заказчика их перепрошивают для данной функции.

Перепрошивка не убирает функцию подсчёта полностью и позволяет к ней вернуться при желании, выбрав Событие SMART, как показано на рисунке ниже.


1.2 Решение

Решения Hikvision по распознаванию номеров автомобилей, обеспечиваемые самой камерой, можно разделить на:

1). Классическое распознавание номера и выдача списка распознанных прямо с камеры

  1. Действия при соответствии номера записанному в камеру списку (допуск на территорию, включение сирены, отсылка сообщения)

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


2. Требование к камере и месту установки

2.1. Номерной знак должен быть читаемым и хорошо освещенным.

2.2. Номерной знак должен быть не меньше 150 пикселей по ширине.

2.3. Допустимый наклон - не более 5° (по часовой и против часовой стрелки).


2.4. Вертикальный угол – не более 30°.


Исходная формула – �=ℎ∗√3 .

2.5. Горизонтальный угол – не более 30°.


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


2.7. Необходимо выбирать правильное расстояние от камеры до места распознавания



2.8. При распознавании номерных знаков в ночное время, необходимо наличие ИК-подсветки.

2.9. Скорость затвора должна быть достаточно большой, что бы сократить засветку фарами в ночное время. Как правило, речь идет о 1⁄1000.

2.10. Глубина фокуса – это очень важный параметр. Если вы используете камеру с CS-креплением объектива, используйте фиксированный объектив. Фиксированные объективы лучше для распознавания из-за большей глубины фокуса.

2.11. При выборе места монтажа, помните, что прямые солнечные лучи могут исказить картинку.

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

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

  1. корректно выбирайте зону распознавания.
  2. пробуйте изменить угол обзора или место установки камеры.
  3. регулируйте настройки минимального и максимального размера номерного знака в настройках.

3. Обнаружение автомобиля

Интелектуальная IP камера обнаруживает автомобиль посредством определения и распознавания номера, выдавая на регистратор, в iVMS-5200 или другому потребителю следующие данные:

  1. Время проезда (часы и минуты)
  2. Направление проезда («въезд» и «выезд при выборе зоны проезда)
  3. Номерной знак (букы и цифры)
  4. Страна регистрации (название)
  5. Скриншот с номером (маленькая картинка)
  6. Полноэкранный скриншот
  7. Видеоролик момента определения (+/- 1-5с)
  8. Автораспознавние чёрного/белого списков (выдача соответствующего alarm)
  9. Срабатывание реле тревожного выхода (на самой камере, в регистраторе настраивается отдельно)

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


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

а) Настройка распознавания на локальном NVR


Если же NVR подключен к iVMS-4200, то настройку регистратора и камеры можно осуществить с него:

б) Распознавание в iVMS -4200


А таже в iVMS-4200 можно выполнять всё управление процессом распознавания, но самостоятельно без NVR, он является лишь оболочкой, способной только использовать обычные функции видеонаблюдения с этих камер.

в) Настройка распознавания на iVMS -5200 P


В iVMS-5200 Pro имеется развитая аналитика, использующая распознавание номеров в различных видах деятельности общества и бизнеса.

Настройка распознавания на камере


На самой камере через web-inteface можно настраивать для любого потребителя, донастраиая уже на нём, но для подключения исполнительного механизма настройка делается только на камере.

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

4. Настройка камеры

4.1. Для обработки события распознавания номера, как, например, открытия шлагбаума, в первую очередь необходимо настроить «Выход тревоги», по замыканию сухого контакта которого и сработает механизм.

Без этого электрической реакции на настраиваемое далее распознавание не произойдёт.

Однако, если не планируется использование механизации, то это делать не нужно.


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


Хочу обратить внимание на название используемого в документе шрифта, которого, конечно нет в Вашей системе, но именно он необходим для правильного восприятия камерой ваших предустановок:


Заполнив файл со списком номеров, необходимо выделить заполненные ячейки строки заголовка, убедившись, что шрифт назван по-китайски, а затем воспользоваться кнопкой Excel копирования формата по образцу


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

4.3. После импорта подготовленного Excel-файла в камере заполнятся данные «белого» и «чёрного» списков:


Примечание: К сожалению, со списками пока несколько печально:


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

4.4. Установите количество полос распознавания и настройте зону, а затем выберите регион.

Поддерживаемые страны в варианте «ЕС и СНГ»:

Чехия, Германия, Испания, Франция, Италия, Нидерланды, Польша, Словакия, Беларусь, Молдова, Украина, Россия, Бельгия, Болгария, Дания, Финляндия, Великобритания, Греция, Хорватия, Венгрия, Израиль, Люксембург, Македония, Норвегия, Португалия, Румыния, Сербия, Азербайджан, Грузия, Казах стан, Литва, Туркменистан, Узбекистан, Латвия, Эстония, Австрия, Албания, Босния и Герцеговина, Республика Ирландия, Республика Исландия, Ватикан, Республика Мальта, Швеция, Швейцария, Кипр, Турция, Словения.

4.5. Выберите режим «Вход/выход».

4.6. Проверьте и пересохраните расписание.

4.7. Выключите «Все», выбрав «Белый список», и включите срабатывание тревожного выхода.

4.8. Включите распознавание и сохраните настройки.


5. Распознавание номеров

  1. Процесс распознавания можно видеть в специальной настроечной закладке.

  1. Однако результаты определения и распознавания можно будет увидеть в архиве только регистратора.
  2. На собственную карту памяти камера сможет писать только постоянно и по событиям:

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

6. Заключение

Не расстраивайтесь! На NVR, iVMS-4200 & 5200 всех выше названных проблем нет! Там всё правильно работает и имеет большую функциональность!

Настало время подробно рассказать, как работает наша реализация алгоритма распознавания номеров: что оказалось удачным решением, что работало весьма скверно. И просто отчитаться перед Хабра-пользователями - ведь вы с помощью Android приложения Recognitor помогли нам набрать приличного размера базу снимков номеров, снятых совершенно непредвзято, без объяснения как снимать, а как нет. А база снимков при разработке алгоритмов распознавания самое важное!

Что получилось с Android приложением Recognitor
Было очень приятно, что пользователи Хабра взялись качать приложение, пробовать его и отправлять нам номера.


Скачиваний программы и оценки

С момента выкладывания приложения на сервер пришло 3800 снимков номеров от мобильного приложения.
А еще больше нас порадовала ссылка http://212.116.121.70:10000/uploadimage - нам за 2 дня отправили около 8 тысяч полноразмерных снимков автомобильных номеров (преимущественно вологодских)! Сервер почти лежал.

Теперь у нас на руках база в 12 000 снимков фотографий - впереди гигантская работа по отладке алгоритмов. Все самое интересное только начинается!

Напомню, что в приложении Android предварительно выделялся номер. В этой статье я не буду подробно останавливаться на этом этапе. В нашем случае - каскадный детектор Хаара . Этот детектор не всегда срабатывает, если номер в кадре сильно повернут. Анализ того, как работает нами обученный каскадный детектор, когда не работает, оставлю на следующие статьи. Это ведь действительно очень интересно. Кажется, что это черный ящик - вот обучили детектор и больше ничего не сделать. На самом деле это не так.

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

Распознавание номера

Здесь рассказ про распознавание текста в картинках такого вида:


Общие подходы про распознавании были описаны в первой статье .

Изначально мы ставили перед собой задачу распознавания грязных, частично стертых и здорово искаженных перспективой номеров.
Во-первых, это интересно, а во-вторых, казалось, что тогда чистые будут срабатывать вообще в 100% случаях. Обычно, конечно, так и происходит. Но тут не сложилось. Оказалось, что если по грязным номерам вероятность успеха была 88%, то по чистым, например, 90%. Хотя на деле вероятность распознавания от фотографии на мобильном приложении до успешного ответа, конечно, оказалось еще хуже указанной цифры. Чуть меньше 50% от приходящих изображений (чтобы люди не пытались фотографировать). Т.е. в среднем дважды нужно было сфотографировать номер, чтобы распознать его успешно. Хотя во многом такой низкий процент связан с тем, что многие пытались снимать номера с экрана монитора, а не в реальной обстановке.

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

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

Предъявим следующие требования к такому алгоритму:

1) некоторая устойчивость к поворотам (± 10 градусов)
2) устойчивость к незначительному изменению масштаба (20%)
3) отрезание каких-либо границ номера границей кадра или просто плохо выраженные границы не должны рушить все (это принципиально важно, т.к. в случае грязных номеров приходится опираться на границу номера; если номер чистый, то ничего лучше цифр/букв не характеризует номер).

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

Бинаризуем кадр

Здесь стоит еще пройтись фильтром средних частот и нормализовать изображение.


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

Затем бинаризовать по фиксированному порогу (можно порог фиксировать, т. к. изображение было нормализовано).

Гипотезы по повороту кадра

Предположим несколько возможных углов поворотов изображения. Например, +10, 0, -10 градусов:

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

А затем собрать все связанные области. Тут использовалась стандартная функция findContours из OpenCV. Если связанная область (контур) имеет высоту в пикселях от H1 до H2 а ширина и высота связана отношением от K1 до K2, то оставляем в кадре и отмечаем, что в этой области может быть знак. Почти наверняка на этом этапе останутся лишь цифры и буквы, остальной мусор из кадра уйдет. Возьмем ограничивающие контуры прямоугольники, приведем их к одному масштабу и дальше поработаем с каждой буквой/цифрой отдельно.

Вот какие ограничивающие прямоугольники контуров удовлетворили нашим требованиям:

Буквы/цифры

Качество снимка хорошее, все буквы и цифры отлично разделимы, иначе мы до этого шага не дошли бы.
Масштабируем все знаки к одному размеру, например, 20х30 пикселей. Вот они:

Кстати, OpenCV при выполнении Resize (при приведении к размеру 20х30) бинаризованное изображение превратит в градиентаное, за счет интерполяции. Придется повторить бинаризацию.

И теперь самый простой способ сравнить с известными изображениями знаков - использовать XOR (нормализованная дистанция Хэмминга). Например так:

Distance = 1.0 - |Sample XOR Image|/|Sample|

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

Буква-цифра-цифра-цифра-буква-буква

Да, мы ищем автомобильные знаки РФ именно в таком формате. Тут нужно учесть, что цифра 0 и буква «о» вообще не отличимы друг от друга, цифра 8 и буква «в». Выстроим все знаки слева направо и будем брать по 6 знаков.
Критерий раз - буква-цифра-цифра-цифра-буква-буква (не забываем про 0/о, 8/в)
Критерий два - отклонение нижней границы 6 знаков от линии

Суммарные очки за гипотезу - сумма дистанций Хэмминга всех 6 знаков. Чем больше, тем лучше.

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

Тут еще стоит рассмотреть отдельно буквы «Н» и «М». Для этого нужно сделать отдельный классификатор, например, по гистограмме градиентов.

Регион

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

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

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

Алгоритм устойчивый к грязным номерам

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

Вот примеры номеров, когда первый алгоритм не смог ничего сделать:

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

Ищем нижнюю границу номера

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

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

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

Ищем верхнюю границу номера

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


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

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

Казалось бы, что тут и стоит остановиться - мы же нашли уже цифры и буквы! Но на деле, конечно, детектор Хаара может ошибаться, а у нас тут 7-8 знаков. Хороший пример цифры 4. Если верхняя граница номера сливается с цифрой 4, то совсем не сложно увидеть цифру 7. Что кстати и произошло в данном примере. Но с другой стороны, несмотря на ошибку в детектировании, верхняя граница найденных прямоугольников действительно совпадает с верхней границей автомобильного номера.

Найти боковые границы номера

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

Итак, вот хорошо обрезанный номер:


да! особенно приятно вставить кадр с отвратительным номером, который был успешно распознан.

Печалит лишь одно - к этому этапу от 5% до 15% номеров могут отрезаться неправильно. Например, так:

(кстати это кто-то нам отправил желтый номер такси, насколько я понял - формат не штатный)

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

Разделить строку на знаки

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

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

Распознавание символов

Изображение до сих пор не бинаризовано, будем использовать всю информацию, что есть.

Здесь печатные символы, значит подойдет взвешенная ковариация для сравнения изображений с примером:

Образцы для сравнения и веса при ковариации:

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

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

Первым делом найдем 3 большие цифры. Это 3 х 10 х 4 х 4 х 3 = 1440 сравнений.

Затем слева одну букву и справа еще две. Букв для сравнения 12. Тогда количество сравнений 3x12x4x4x3 = 1728

Когда у нас есть 6 символов, то все справа от них - регион.

В регионе могут быть 2 цифры или 3 цифры - это нужно учесть. Разбивать регион гистограммным способом уже бессмысленно из-за того, что качество изображения может быть слишком низкое. Поэтому просто поочередно находим цифры слева направо. Начинаем с левого верхнего угла, необходимо несколько гипотез по оси X, оси Y и масштабу. Находим наилучшее совпадение. Смещаемся на заданную величину вправо, снова ищем. Третий символ будем искать слева от первого и справа от второго, если мера похожести третьего символа больше пороговой, то нам повезло - номер региона состоит из трех цифр.

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

Вскрылась и другая сторона медали: мало что так раздражает пользователя, как ситуация, когда автоматическая система не решает совсем примитивную задачу. «Ну что тут может не читаться?!» А то, что автоматическая система не смогла узнать грязный или потертый номера, - это ожидаемо.

Откровенно говоря, это наш первый опыт разработки системы распознавания для массового потребителя. И о таких «мелочах», как о пользователях, стоит учиться думать. Сейчас к нам присоединился специалист, разработавший аналогичную «Recognitor» программу под iOs. В UI у пользователя появилась возможность увидеть, что сейчас отправляется на сервер, выбрать какой из выделенных Хааром номеров нужный, есть возможность выделить необходимую область в уже «застывшем» кадре. И пользоваться этим уже удобнее. Автоматическое распознавание становится не дурацкой функцией, без которой нельзя ничего сделать, а просто помощником.

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

И, конечно, надеюсь, что статья будет полезна.

Добавлено: 2018-02-28 15:24:21

Современные системы видеонаблюдения – это не только сбор видеопотока, но и широкие возможности видеоаналитики.

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

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

Отдельно отметим, что при проектировании системы видеонаблюдения необходимо разделить задачи распознавания автомобильных номеров и обзорную функцию (перемещения техники и пешеходов, расположение камер в зависимости от условий наблюдаемого участка и т.д.). Для камеры, предназначенной для распознавания номеров, существуют ограничения на размещение. Кроме того, требуются специальные настройки. Фокус камеры должен быть направлен строго на участок, предназначенный для проезда автомобилей (в большинстве случаев это 3-4 метра). В связи с этим рекомендуется использовать камеры с фиксированным объективом. Кроме того, они обычно имеют лучшие характеристики по светочувствительности по сравнению с моторизованными объективами.

Камеру с каким разрешением лучше выбрать?

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

Для расчёта используется формула (w / n) * p:

где w – ширина обзора в зоне фиксации номера (м),

n – размер автомобильного номера (м),

Если примем ширину просматриваемого участка 3 м, среднюю ширину номерного знака 0,52 м, а оптимальный размер изображения (по практике) 200 пикселей, то получим следующий расчёт:

(w/n)*p = (3/0,52)*200 = 1154 пикселя.

Расчет показывает, что нам подойдет камера с разрешением HD (1280 х 720 пикселей).

Камеры для системы распознавания должны иметь определенные характеристики

Следует учесть физический размер матрицы. Чем больше матрица, тем она более светочувствительна. Минимально допустимый размер матрицы, для распознавания номеров 1/3 дюйма. Наиболее хорошо себя проявляют матрицы размером 1/2 дюйма и выше.

Рисунок 1. Сравнение изображений, получаемых в тёмное и светлое время суток с камер, отличающихся размером матрицы

При выборе камеры следует так же учесть параметр светосилы.Он определяется выбором объектива для камеры и указывается в виде F - числа, которое определяется соотношением фокусного расстояния и величины раскрытия диафрагмы.Чем больше светосилы, тем больше света попадет на матрицу камеры и соотношение сигнал / шум соответственно выше. На самом изображении станет меньше цифровых шумов. Для распознавания номеров требуется объектив со светосилой не меньше F / 1,4. Объектив с F / 1,3 будет являться более светосильным.

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

Так же обратим внимание на такую характеристику камеры, как количество кадров в секунду. Мы, как производитель, рекомендуем камеру с частотой кадров 25 к/с. Однако на практике, на тех объектах, где машины движутся с низкой скоростью, камеры переводят в режим 12 к/с и ниже, снимая тем самым нагрузку с оборудования, необходимую на обработку массива информации.

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

Угол наклона номерного знака не должен превышать 5°относительно оси x в двухмерном варианте изображения.

Для захвата двух полос движения можно разместить камеру следующим образом:

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

Компания Hikvision пару месяцев назад официально представила прошивку для камер 4-ой серии с возможностью распознавания автомобильных номеров. Данную прошивку можно скачать с официального сайта Hikvision в России , прошивка абсолютно бесплатная и подходит даже к камерам, купленным более 2-х лет назад, единственным минусом на данный момент можно назвать отключение при этом всех смарт функций, кроме распознавания номеров (это обусловлено высокой нагрузкой на процессор камеры). На данный момент, любой владелец камер Hikvision 4-ой серии может протестировать возможность данной прошивки на своих камерах. Встроенная в камеру платформа обнаруживает и распознает автомобильные номера, и отправляет полученную информацию на или для управления доступом.

Для правильного выполнения функции распознавания автомобильных номеров в камере Hikvision 4-ой серии нужно соблюсти ряд параметров:

  • для распознавания критичен угол горизонтали, и он должен быть в пределах 0-7 градусов;
  • номер должен занимать не менее 130 пикселей на изображении;
  • прошивка камеры специализированная 5.3.0_150719. Пока только на английском языке

Что мы получаем через браузе:

В приватных целях удалили картинку номерного знака и один знак из распознанного номера.

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

Что мы получаем через Smart NVR (в нашем случае, с прошивкой V3.4.0):

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

А также, можно загрузить обратно файл с указанием номеров из черного и белого списка, и, тем самым, автоматизировать открытие исполнительного механизма.

Последним вариантом получения информации является . На сегодняшний день, именно эта система полным образом поддерживает весь функционал по распознаванию номеров и других интеллектуальных функций камер. В iVMS-5200Pro в интерфейсе «Распознавание номерных знаков» в режиме реального времени справа от видеоряда Smart камеры отображаются 8 последних номерных знаков с указанием времени.

В приватных целях удалили один знак из распознанного номера.

При этом, нажимая на номерной знак, появляется подробная картинка:
Поиск информации: все номера и изображения автомобилей попадают в Базу Данных, где их легко искать по параметрам (можно по любой цифре и букве номера, за любой период ). Для этого открываем интерфейс Запроса Номера и указываем интересующую нас информацию.


Мы тестировали данную систему на 2-х камерах + DS-7616NI-E2 с прошивкой V3.4.0 и программным обеспечением iVMS-5200Pro от Hikvision (не так давно в обновленной версии IVMS-4200 2.3.1.3 данный модуль тоже появился и был протестирован). Процент распознанных номерных знаков составил ~70% , но, в нашем случае, это было обусловлено невозможностью поставить камеру идеально и соблюсти все параметры по углу горизонта к номеру автомобиля.

Из опыта наших коллег из Санкт-Петербурга: «По информации от производителя, процент распознанных номерных знаков составляет 85% на скорости 65 км\ч. На практике — по набережной машины едут иногда 100+, но номера распознаются корректно. Что касается распознавания номера в темное время суток — по информации от производителя, и, исходя из здравого смысла, необходимо ставить ИК прожектор с длиной волны 850 нм. В нашем случае, камера установлена высоко, и прожектор не подходит».

В описанном выше использовали «связку»:

2) Объектив Tamron 5-50

3) Термокожух Hikvision 1313HZ-S

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

Экономическая часть данного решения: камеры Hikvision 4-ой серии стоят от 19990 руб. за отдельно нужен термокожух и хороший объектив), и 39990 руб. за если сюда добавить 16-канальный регистратор это дополнительно 16990 руб. Стоимость системы распознавания номеров с одной камерой (вариант за 39990 руб.) на базе видеорегистратора обойдется в 57000 рублей. При использовании 2-3 камер, цена решения за канал будет снижаться и фактически равнятся стоимости самой камеры.

Офицальный дилер Hikvision (Хиквижен) на Урале (С) 2017