ChatGPT и распознавание автомобильных номеров: это работает?

Задача: на сайте автобай обнаружить и идентифицировать регистрационный знак и его координаты.

Пример распознавания автомобильного регистрационного знака 
Пример распознавания автомобильного регистрационного знака 

Всем привет!

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

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

Ответ ChatGPT
Ответ ChatGPT

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

Кроме того он предлагает открытые библиотеки TensorFlow и PyTorch. Также существуют платные решения на основе API от Google и Amazon, могу отметить, что такие системы есть и у VK Cloud и Yandex.

Пробуем узнать у чата про открытые популярные библиотеки.

Ответ ChatGPT
Ответ ChatGPT

На слуху популярная библиотека компьютерного зрения OpenCV .

Спросим в лоб: как эта библиотека может помочь нам. Привожу часть ответа:

Ответ ChatGPT
Ответ ChatGPT

ChatGPT предлагает пример кода на языке Python, но это не совсем, что нам нужно. Он написал алгоритм поиска цифр на номере, но нам надо не значение номера, а его координаты. Пробуем изменить запрос. Привожу часть ответа:

Ответ ChatGPT
Ответ ChatGPT

Выглядит неплохо! На выходе мы имеем точку с координатами угла номера, высоту и его ширину. Вот, что получится:

ChatGPT и распознавание автомобильных номеров: это работает?

В идеале, конечно, получить все 4 точки, потому что редко на фотографии номер прямоугольный формы, из-за того, что автомобиль часто сфотографирован под углом. Вот пример:

ChatGPT и распознавание автомобильных номеров: это работает?

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

Один из вариантов кода я попробовал на практике. Какие минусы были обнаружены:

1) Необходимость хорошей освещенности на фото: OpenCV работает лучше всего на светлых фотографиях.

2) Размер изображения: для определения номера с помощью OpenCV необходимо, чтобы знак занимал достаточно большую площадь на изображении.

3) Низкая скорость: обработка изображения с помощью OpenCV может занять значительное время, особенно, если изображение большое или нужно обработать несколько фотографий.

4) Слабое распознавания: могут быть случаи, когда система не распознает номер или распознает его неправильно.

5) Код предложенный ChatGPT весьма общий, без поиска сложных вариантов на фото.

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

Пример такого автомобиля:

Пример авто с номером под углом
Пример авто с номером под углом

В тоже время другой метод не подвел, о нем дальше.

Пример определения автомобильного номера 
Пример определения автомобильного номера 

Теперь пройдемся по платным сервисам, которые предлагают решения для распознавания номерных знаков. Предлагаем ChatGPT привести несколько примеров.

ChatGPT API
ChatGPT API

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

OpenALPR считается популярным проектом, предлагают тестовую панель и 50 бесплатных запросов в месяц. Протестировав несколько автомобильных номеров, могу отметить, что он справился на 100%, даже на сложных фотографиях автомобилей. К сожалению, в полной мере опробовать сервис не получилось, карты РФ и РБ он не принимает.

Попробуем обратиться к сайту RapidAPI Hub, который содержат базу тысячи готовых API. Спросим у чата.

Примеры API rapidapi
Примеры API rapidapi

Все пять предложенных вариантов были протестированы. Лучшие результаты показал License Plate Recognition. Отлично распознает автомобильные номера и выдает его координаты по 4 точкам, кроме этого хорошо определяет и значение самого номера.

Пример json ответа 
Пример json ответа 

RapidAPI Hub предлагает готовые решения API доступа практически на любом языке программирования, но и ChatGPT отлично с этим справляется. Фрагмент кода:

cURL запрос пример кода
cURL запрос пример кода

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

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

Пример копирования знака
Пример копирования знака

Привожу весь процесс распознавания и наложения логотипа:

1) Поиск региона: определения 4 координат автомобильного знака с помощью License Plate Recognition API.

2) Определения яркости исходного изображения для коррекция ее на логотипе.

3) Создание проекции логотипа по 4 координатам, которые мы нашли ранее.

4) Непосредственно нанесение логотипа на исходного фото.

По итогу:

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

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

Ссылки по теме:

2121
7 комментариев

Скоро ИИ оцифрует всё на планете и сможет найти не только автомобиль, местоположение и владельца по номерам, но и иголку в стоге сена. Значит в правоохранительных органах станет на 90% меньше сотрудников.

Ответить

с теми темпами как развивается ИИ это будет намного быстрее чем нам кажется

2
Ответить

ну у тех кому нужно всегда будут лазейки)

1
Ответить

Вау

Ответить

О, да, ChatGPT - наш надежный помощник в распознавании регистрационных знаков! Ведь кто лучше, чем искусственный интеллект, может понять все тонкости и нюансы этой задачи? Так что теперь, благодаря ChatGPT, мы можем смело отправляться на поиски автомобилей и их номеров - и никаких ошибок, никаких проблем! Живи, ChatGPT, и процветай!

Ответить

Может кто помочь узнать номер автомобиля с фото или видео? Выстрелили в стекло моего автомобиля и похоже потом приехали посмотреть

Ответить