Перейти к содержимому
Compvision.ru
K0rG

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

Recommended Posts

42 minutes ago, iskees said:

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Решил применить векторный контурный анализ на практике.
Распознавание текста для меня пока сложно, т.к. в реальном тексте символы сливаются друг с другом, и мне тогда все равно какой текст распознавать-печатный или рукописный.
Распознавание авто номеров для меня более простая задача, потому что:
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% на этой папке. Так же у кого есть свои подборки фото с автомобилями  прошу поделиться.

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Супер!

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
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 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно, для начала, попробовать что то подобрать здесь: https://github.com/topics/license-plate-recognition

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×