Jump to content
Compvision.ru
K0rG

Распознавание номерного знака, расп. текста.

Recommended Posts

42 minutes ago, iskees said:

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

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

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

Share this post


Link to post
Share on other sites

Распознавание номеров. Практическое пособие. Часть 1 Статья на хабре. Нейросети GPU 500 мс, а CPU 5 сек. Определяет 80% номеров.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Решил применить векторный контурный анализ на практике.
Распознавание текста для меня пока сложно, т.к. в реальном тексте символы сливаются друг с другом, и мне тогда все равно какой текст распознавать-печатный или рукописный.
Распознавание авто номеров для меня более простая задача, потому что:
1. Не ищу пластину авто номера.
2. Не вырезаю пластину из изображения.
3. Не выравниваю табличку вместе с символами, если она под углом.
4. Не вырезаю каждый символ.
5. Не масштабирую символы в растре.
6. Не применяю OpenCV и нейронные сети, только свои алгоритмы исключительно на ассемблере.

Мои алгоритмы:
1. Бинаризация изображения. Применяю адаптивный порог.
2. 4-х связная сегментация изображения.
3. Векторизация изображения.
4. Апроксимация векторов.
5. Векторный контурный анализ и сравнение сегментов с базой данных.
 Выше перечисленные алгоритмы универсальны и мне остается написать небольшую программку, находящую последовательность символов определенных размеров. Используется только таблица сегментов, поэтому это не занимает время.
 Основное время уходит на бинаризацию, сегментацию, векторизацию изображения. Хорошей бинаризации я не получил, за один раз получаю 3 размывки окнами 9x9,17x9 и 17x17, затем бинаризирую 7 раз с разными порогами и окнами размывки, и 7 раз выше перечисленные алгоритмы, пока не определяю номер. 
Определение номеров можно посмотреть в моем фото редакторе lubok.exe (150 кб вместе с базами данных). Ограничения: процессор с поддержкой SSE2, lubok.exe только в отдельной папке с базами данных, путь папки с lubok.exe не должен содержать кириллицы - руки не дошли исправить, для изображений таких ограничений нет.
 Переключая Вперед Назад переходим к следующему фото. Как сегментировался символ можно посмотреть, нажав- Сегментация - Выбор сегмента. Для бинаризации выбрать: Эффекты - Гравюра. Работает Помощь. Для получения статистики можно запустить определение номеров в папке. Если в папке очень много фото, процесс займет продолжительное время (1,5 минуты на 1000 изображений 600х800, пока не организовал многопоточный режим, все выполняется одним ядром). 
 Для отладки программы очень помогла подборка фото, предоставленная 

В 26.10.2018 at 15:04, Король сказал:

https://dfiles.ru/files/w1gv5r2vr

Скомилированнный проект с изображениями автомобилей с русскими номерами


Авто номера совпадают с названием файла, поэтому легко сделать авто статистику. Процент правильного определения 95,4%, не видит номер 0,15%, один "глюк" на 5472 фото.
Буду рад замечаниям и конструктивной критике, т.к. работа еще не завершена, хочу получить 98% на этой папке. Так же у кого есть свои подборки фото с автомобилями  прошу поделиться.

Папка с фото автомобилей.

Новая версия программы Лубок с функцией определения российских автономеров.

 

Share this post


Link to post
Share on other sites

Супер!

Глядя на твою работу, кажется, что антлант тянет на себе всю землю. Слишком всё это в отрыве от современных тенденций в индустрии.

Ты знаешь, как много разновидностей автономеров только в России? Много!

Если интересуют не только российские номера, то можно скачать датасет, например, здесь. Можно посмотреть на этом сайте. Или здесь. Чисто на национальные номера ориентироваться нет смысла, потому что всегда попадаются авто из других стран.

 

Share this post


Link to post
Share on other sites
10 минут назад, Nuzhny сказал:

Слишком всё это в отрыве от современных тенденций в индустрии.

Я понимаю, что сейчас в моде применение нейронных сетей и обучение. Но любой метод имеет свои плюсы и недостатки. Так же и мой подход (сегментация+контурный анализ) имеет свои плюсы и минусы. Мне требуются качественные кадры не хуже чем в папке Короля. Но я на этой папке тестировал  https://www.openalpr.com/cloud-api.html 

Это современная программа на нейронных сетях. Очень классно определяет едва видимые номера (высота символов до 6 пикселей). Но на папке Короля, она хватило сил проверить только по букве А (~634  фото) она правильно определила 87%. Со средним временем определения 600 мс на их сервере. Создалось впечатление, что она может видеть едва различимые номера и пропустить явный номер. 

Применение своего метода вижу в 3-х вариантах:

1) Дополнение к "серьезной" программе для улучшения показателей.

2) Распознавание номера внутри камеры (Смарт-камера), например, на Intel Atom Z8350.

3) Недорогое решение для парковок, моек, стоянок с камерой за 50 баксов и сервером за 80 баксов https://ru.aliexpress.com/item/Z83II-Mini-PC-Windows-10-Intel-Atom-X5-Z8350-Quad-Core-2-4G-5-8G-WiFi/32843080625.html?spm=a2g0v.search0302.3.10.3dc52b62XmAJcN&ws_ab_test=searchweb0_0,searchweb201602_0_10084_10083_10887_10307_321_453_322_454_10902_10618_536_10065_317_537_10068_319_10059_10103_10884_10696,searchweb201603_0,ppcSwitch_0&algo_pvid=fb3d334a-aa48-40f5-a05c-df0e49103814&algo_expid=fb3d334a-aa48-40f5-a05c-df0e49103814-1 

 

Share this post


Link to post
Share on other sites

Всем, привет!

Получил линк на эту ветку от 2expres, конечно скорость работы впечатляет! Вот решение по распознавании номеров, построенное на нейросетях, там все работает гораздо дольше, но дает хороший результат. Мы пока что натринеровали на все дизайны украинских номеров и на европейские номера без привязки к дизайну. Попробуем с помощью датасета от 2expres натренировать работу с руссскими номерами.
А тут оставляю ссылку на наши датасеты Украинских номеров. Наша модель также научена определяь и находить область с закрашеным номером, для некоторых задач это может быть полезно.

Share this post


Link to post
Share on other sites

Здравствуйте. Для стоянки собирал устройство на базе raspberry pi 3b и SIM800L. Открывает по звонкам. Хочу расширить до открывания по номерам. 

Есть ли OpenSource решения, пробные, с чего можно начать на платформе ARM python + raspberry. Время реакции не сильно критично, до 5 секунд, изображение статичное, поиск самого номера можно делать раз в секунду (к тому, что нагрузка на процессор может быть не сильной). Если не сложно, направьте в нужную сторону, с чего можно начать. Спсибо. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×