Алгоритм распознания номеров

Система видеонаблюдения
Ответить
Johny

Алгоритм распознания номеров

Сообщение Johny »

Добрый день господа.
Попробовали потестировать демо-версию вашего продукта.

Видим следующие наблюдения.
Программа вместо поиска в кадре обьекта "автомобиль" и номерной таблички на этом обьекте , перемещающейся связанно с объектом "автомобиль" пытается каждый цикл производить поиск и опознание любых рамок с цифрами во всей зоне распознавания.
Естественно это не может не тормозить и не глючить.
В соседней теме уже писали как система срабатывает на люк.
В нашем случае ваша программа срабатывает просто на движение заграждающего устройства ( швеллер отьезжает в сторону ).
То есть задолго до того как авто появится в кадре, люди брелком активируют медленное открытие швеллера в сторону.
Ваша программа уже возбуждается на движение швеллера , абсолютно на автомобиль не похожего и начинает регистрировать "неудачные распознания".
Затем через зону сьемки пролетает автомобиль ( у нас опознание номера получается на скорости где-то до 15кмч в светлое время суток ) , затем ваша программа опять регистрирует "неудачное распознание" по движению на закрытие проезда.

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

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

Согласитесь , что чем ставить на каждую камеру по Core i7 проще один раз нормально запрограммировать.
А в реальной жизни требуется часто анализ не 25% кадра, а например 90% . И бывает что и не 1080P , а например 6Мп. Ставить теперь 4-процессорный сервер на каждую камеру?
Электричество ведь тоже не бесплатное.
chelovek
тех. поддержка
Сообщения: 103
Зарегистрирован: 14 окт 2014, 15:35

Re: Алгоритм распознания номеров

Сообщение chelovek »

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

> А в реальной жизни требуется часто анализ не 25% кадра, а например 90% . И бывает что и не 1080P , а например 6Мп.
Вы можете привести пример где необходимо настолько высокое разрешение?
Гость

Re: Алгоритм распознания номеров

Сообщение Гость »

И вам спасибо за ответы.
Насчет распознавания модели автомобиля - не могу с вами согласится.
Я в качестве первых упражнений на opencv делал идентификацию и подсчет обьектов типа "животное" , "человек", "легковое авто" , "газель/микроавтобус" , "грузовик" .
Банально по размерам и примерным пропорциям.
Нагрузка на древнейший одноядерный pentium-D для кадра 720*560 не превышала 11-14%

И опять таки, никто не мешает для первичного выявления "просто большого объекта" въезжающего в кадр сперва уменьшить размеры картинки в несколько раз 4-16 раз. И не будет повода на люки реагировать.

Насчет "зачем нужно весь кадр" -- ну вот у нас заезд в СНТ шириной 5.5м.
Для съёмки номеров установлена камера с чувствительным сенсором IMX291 и качественным CS-mount обьективом.

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

То есть условия настолько близки к идеальным , насколько это вообще возможно.
Но всё равно ваша система умудряется лажать.
Вот как пример, это было опознано как "4812ну 99"
http://195.200.236.194/4812.jpg

( все "лишние" типы номеров отключены )

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

По поводу размера зоны обнаружения.
Сокращать в ширину ее крайне нежелательно , так как маршрут проезда водителей абсолютно непредсказуем , они могут как прижиматься к любому краю дороги , так и вообще въезжать по диагонали.
Сокращать зону обнаружения в длину так же нежелательно , так как в зависимости от каждого отдельного случая на автомобиль и поверхность воздействуют разные условия.
Например - поверхность номера бликует по разными углами в зависимости от угла солнца над горизонтом, осадки авто, горизонтальности поверхности к которой прикручена пластина и.т.п.
Процесс торможения перед шлагбаумом каждый водитель так же выполняет индивидуально - кто то ближе, кто-то дальше. У кого-то при этом вибрация кузова на одной стадии, у кого-то толчок от АКПП на другой. А у кого-то "кенгурятник" нависает над номерной пластиной, или темное облако после старта зимой на не прогретом двигателе.
Поэтому приходится не просто "ловить" где получится опознать номер, а ловить аж на двух камерах ( у нас разные камеры для выезда и выезда , каждая из которых установлена с оптимальными углами над наиболее вероятной зоной снижения скорости ).
Так вот и на двух камерах бывает сложно опознать номер даже живым оператором , что уж тут про автоматику говорить.
поэтому 4-6Мп ( если позволяет бюджет ) тут точно не будут лишними.
Чтоб сделать из наших 150пикс 600-700пикс с возможностями цифрового подавления дождя, выхлопного дыма и тумана.
Johny

Re: Алгоритм распознания номеров

Сообщение Johny »

про "ресурсоемкость опознания автомобилей"
то что приведено в этом видео сделано на вполне себе типовом бытовом компьютере и в реальном времени

https://www.youtube.com/watch?v=OOT3UIXZztE
chelovek
тех. поддержка
Сообщения: 103
Зарегистрирован: 14 окт 2014, 15:35

Re: Алгоритм распознания номеров

Сообщение chelovek »

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

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

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

> все "лишние" типы номеров отключены
Что вы имеете в виду? Если отключены полицейские номера, тогда не удивительно, что он пытался подобрать по базовому формату и что у него получилось.
Johny

Re: Алгоритм распознания номеров

Сообщение Johny »

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

Однако в целях наилучшего распознания номеров мы и так сделали всё возможное.
Угол наклона камеры по горизонтали не превышает 20 градусов.
( для чего бы установлен длинофокусный обьектив 8мм при размере сенсора 1/2.8" )
По вертикали так-же минимальный угол, столб выполнен с боковой консолью.

Единственным вариантов разместить еще ровнее было бы сооружение над дорогой балки на высоте выше 6-8 метров , соответственно для обеспечения угла в 30 градусов пришлось бы отодвинуть балку от зоны проезда на 15 метров , что во первых достаточно затратно , во вторых существенно увеличивает влияние таких погодных явлений как туман и снег ( туман у нас в низине явление очень частое )

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

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

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

Re: Алгоритм распознания номеров

Сообщение Johny »

Включено строго то, что бывает - базовые, полиция и военные.
chelovek
тех. поддержка
Сообщения: 103
Зарегистрирован: 14 окт 2014, 15:35

Re: Алгоритм распознания номеров

Сообщение chelovek »

Слишком большое количество пикселей (ширина номера) тоже вредно, не рекомендую делать их больше 300. Наша рекомендация в 150 пикселей, это скорее подстраховка, т.к. у нас есть много случаев, когда распознавание проходит и при меньших размерах, минимальный размер 80 пикселей, но из-за индивидуальности установки результаты бывают разные, по этому мы рекомендуем побольше.. Так что номер в кадре у Вас и так по размеру идеальный. А вот если немного повернуть камеру чтобы номера выровнялись по горизонтали, это больше поможет. Горизонталь номеров можно уточнить по рамке (красный прямоугольник) который наносит поверх изображения сервер. По фотографии что Вы отправляли, нужно немного повернуть камеру против часовой стрелки, если смотреть из камеры.

На счет полицейского номера. Часто ли распознает не верно? Если есть возможность, вышлите фрагменты видео, где было не верное распознавание, будем анализировать.
johny

Re: Алгоритм распознания номеров

Сообщение johny »

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

Задний номер этого авто ( закрепленный под другим углом и выше ) был при выезде прочитан нормально.
Так же были корректно прочитаны и задний и передний номер второй камерой, ориентированной на выезд.
chelovek
тех. поддержка
Сообщения: 103
Зарегистрирован: 14 окт 2014, 15:35

Re: Алгоритм распознания номеров

Сообщение chelovek »

Хорошо
Ответить