Проверка оплаты и фотофиксация нарушений правил парковки

Компания «Городские парковки» занимается администрированием парковочного пространства в некоторых городах России: Белгород, Воронеж, Новосибирск и другие.

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

  • Клиентская часть - работает на планшете у инспектора;
  • Серверная часть - на нее присылаются все фиксации с планшетов, с нее же происходит координация работы (ведение справочников и т.п.)

ПО для планшета

Модуль распознавания

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

  • Либо инспектор ждет, пока восстановится связь - в этом случае он стоит возле одного автомобиля и не может идти дальше;
  • Либо инспектор отправляет фотографию «как есть» (точнее, она помещается в буфер для отправки при появлении связи) - в этом случае он не может проверить корректность распознавания номера и переснять его в случае ошибки.

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

Первая версия модуля распознавания являлась по сути портом (портированием) серверной версии под Android. На используемых заказчиком планшетах распознавание занимало примерно 1 секунду.

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

Интерфейс

Приведем некоторые примеры пользовательского интерфейса.

Фиксация автомобиля начинается с обзорного снимка. Прицеливаемся:

Контроль оплаты парковок

Сняли:

Сверточные нейронные сети для распознавания цифр на номерах

Дополнительно отметим, что снизу справа инспектор выбирает тип нарушения, который он фиксирует. Снизу слева - кнопка для включения фонарика (вспышки камеры планшета).

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

Номер обнаружен...

Распознавание номеров с помощью нейросетей

...и распознан:

Комплекс для контролеров парковочного пространства

Меню приложения:

Распознавание номеров с помощью нейросетей

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

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

Разумеется, имеются и настройки. Рассмотрим некоторые из них.

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

Контроль оплаты парковок
Сверточные нейронные сети для распознавания цифр на номерах

Каждый может настроить и предпочтительный внешний вид:

Комплекс для контролеров парковочного пространства

Дополнительные настройки, в т.ч. служебные (например, режим поверки):

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

Серверная часть

Заглянем немного в программное обеспечение сервера.

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

Распознавание номеров с помощью нейросетей

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

Справочник пользователей:

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

Справочник устройств:

Контроль оплаты парковок

Настройка возможных видов нарушений.

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

Минутка славы

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