Умное автомобильное приложение с картами, поддержкой мультимедиа и сообщений
Последняя версия
6 июн. 2023 г.
Разработчик
Google Play ID
Количество установок
5 000 000 000+
App APKs
Android Auto APK
Android Auto APP
Android Auto – это умный сервис для водителей. Благодаря удобному интерфейсу, большим кнопкам и поддержке голосовых команд вы сможете без труда пользоваться приложениями с телефона даже за рулем.
• Прокладывайте маршруты в Google Картах, используйте GPS-навигацию и получайте оповещения о ситуации на дорогах.
• Совершайте звонки с помощью голосовых команд и принимайте входящие вызовы одним нажатием.
• Слушайте музыку, радио, подкасты, новости и аудиокниги в любимых сервисах. Поддерживаются приложения Play Музыка, Spotify, Pandora, Amazon Music, Deezer, Slacker, TuneIn, iHeartRadio, Audible и многие другие.
• Отправляйте и принимайте сообщения с помощью голосовых команд в приложениях Hangouts, WhatsApp, Facebook Messenger, Skype, Telegram, WeChat, Kik, Google Allo и не только.
Активация и кодирование функций для платформы MQB (Tiguan / Kodiaq и т.п.)
Полный список приложений для Android Auto: http://g.co/androidauto.
Для работы с Android Auto необходимо устройство на базе Android 6.0 или более поздних версий, а также подключение к Интернету.
С Android Auto совместимы уже более 300 моделей автомобилей! Чтобы узнать, поддерживает ли ваша машина этот сервис и как его включить, обратитесь к производителю автомобиля или ознакомьтесь с руководством владельца. Чтобы запустить Android Auto, скачайте приложение и подключите устройство к USB-разъему автомобиля.
Источник: apkcombo.com
Распознавание автомобильных номеров в деталях
Настало время подробно рассказать, как работает наша реализация алгоритма распознавания номеров: что оказалось удачным решением, что работало весьма скверно. И просто отчитаться перед Хабра-пользователями — ведь вы с помощью Android приложения Recognitor помогли нам набрать приличного размера базу снимков номеров, снятых совершенно непредвзято, без объяснения как снимать, а как нет. А база снимков при разработке алгоритмов распознавания самое важное!
Что получилось с Android приложением Recognitor
Было очень приятно, что пользователи Хабра взялись качать приложение, пробовать его и отправлять нам номера.
Скачиваний программы и оценки
С момента выкладывания приложения на сервер пришло 3800 снимков номеров от мобильного приложения.
А еще больше нас порадовала ссылка http://212.116.121.70:10000/uploadimage — нам за 2 дня отправили около 8 тысяч полноразмерных снимков автомобильных номеров (преимущественно вологодских)! Сервер почти лежал.
Диагностика в кармане — Launch X431 iDiag (H-Auto)
Теперь у нас на руках база в 12 000 снимков фотографий — впереди гигантская работа по отладке алгоритмов. Все самое интересное только начинается!
Напомню, что в приложении Android предварительно выделялся номер. В этой статье я не буду подробно останавливаться на этом этапе. В нашем случае — каскадный детектор Хаара. Этот детектор не всегда срабатывает, если номер в кадре сильно повернут. Анализ того, как работает нами обученный каскадный детектор, когда не работает, оставлю на следующие статьи.
Это ведь действительно очень интересно. Кажется, что это черный ящик — вот обучили детектор и больше ничего не сделать. На самом деле это не так.
Но все-таки каскадный детектор — неплохой вариант в случае ограниченных вычислительных ресурсов. Если автомобильный номер грязный или рамка плохо видна, то Хаар тоже неплохо себя проявляет относительно других методов.
Распознавание номера
Здесь рассказ про распознавание текста в картинках такого вида:
Общие подходы про распознавании были описаны в первой статье.
Изначально мы ставили перед собой задачу распознавания грязных, частично стертых и здорово искаженных перспективой номеров.
Во-первых, это интересно, а во-вторых, казалось, что тогда чистые будут срабатывать вообще в 100% случаях. Обычно, конечно, так и происходит. Но тут не сложилось. Оказалось, что если по грязным номерам вероятность успеха была 88%, то по чистым, например, 90%.
Хотя на деле вероятность распознавания от фотографии на мобильном приложении до успешного ответа, конечно, оказалось еще хуже указанной цифры. Чуть меньше 50% от приходящих изображений (чтобы люди не пытались фотографировать). Т.е. в среднем дважды нужно было сфотографировать номер, чтобы распознать его успешно. Хотя во многом такой низкий процент связан с тем, что многие пытались снимать номера с экрана монитора, а не в реальной обстановке.
Весь алгоритм строился для грязных номеров. Но вот оказалось, что сейчас летом в Москве 9 из 10 номеров идеально чистые. А значит лучше изменить стратегию и сделать два раздельных алгоритма. Если удалось быстро и надежно распознать чистый номер, то этот результат и отправим пользователю, а если не удалось, то тратим еще немного времени процессора и запускаем второй алгоритм для грязных номеров.
Простой алгоритм распознавания номеров, который стоило бы реализовать сразу
Как же распознать хороший и чистый номер? Это совсем не сложно.
Предъявим следующие требования к такому алгоритму:
1) некоторая устойчивость к поворотам (± 10 градусов)
2) устойчивость к незначительному изменению масштаба (20%)
3) отрезание каких-либо границ номера границей кадра или просто плохо выраженные границы не должны рушить все (это принципиально важно, т.к. в случае грязных номеров приходится опираться на границу номера; если номер чистый, то ничего лучше цифр/букв не характеризует номер).
Итак, в чистых и хорошо читаемых номерах все цифры и буквы отделимы друг от друга, а значит можно бинаризовать изображение и морфологическими методами либо выделить связанные области, либо воспользоваться известными функциями выделения контуров.
Бинаризуем кадр
Здесь стоит еще пройтись фильтром средних частот и нормализовать изображение.
На изображении приведен изначально малоконтрастный кадр для наглядности.
Затем бинаризовать по фиксированному порогу (можно порог фиксировать, т. к. изображение было нормализовано).
Гипотезы по повороту кадра
Предположим несколько возможных углов поворотов изображения. Например, +10, 0, -10 градусов:
В дальнейшем метод будет иметь небольшую устойчивость к углу поворота цифр и букв, поэтому выбран такой достаточно большой шаг по углу — 10 градусов.
С каждым кадром в дальнейшем будем работать независимо. Какая гипотеза по повороту даст лучший результат, та и победит.
А затем собрать все связанные области. Тут использовалась стандартная функция findContours из OpenCV. Если связанная область (контур) имеет высоту в пикселях от H1 до H2 а ширина и высота связана отношением от K1 до K2, то оставляем в кадре и отмечаем, что в этой области может быть знак. Почти наверняка на этом этапе останутся лишь цифры и буквы, остальной мусор из кадра уйдет. Возьмем ограничивающие контуры прямоугольники, приведем их к одному масштабу и дальше поработаем с каждой буквой/цифрой отдельно.
Вот какие ограничивающие прямоугольники контуров удовлетворили нашим требованиям:
Качество снимка хорошее, все буквы и цифры отлично разделимы, иначе мы до этого шага не дошли бы.
Масштабируем все знаки к одному размеру, например, 20х30 пикселей. Вот они:
Кстати, OpenCV при выполнении Resize (при приведении к размеру 20х30) бинаризованное изображение превратит в градиентаное, за счет интерполяции. Придется повторить бинаризацию.
И теперь самый простой способ сравнить с известными изображениями знаков — использовать XOR (нормализованная дистанция Хэмминга). Например так:
Distance = 1.0 — |Sample XOR Image|/|Sample|
Если дистанция больше пороговой, то считаем, что мы нашли знак, меньше — выкидываем.
Буква-цифра-цифра-цифра-буква-буква
Да, мы ищем автомобильные знаки РФ именно в таком формате. Тут нужно учесть, что цифра 0 и буква «о» вообще не отличимы друг от друга, цифра 8 и буква «в». Выстроим все знаки слева направо и будем брать по 6 знаков.
Критерий раз — буква-цифра-цифра-цифра-буква-буква (не забываем про 0/о, 8/в)
Критерий два — отклонение нижней границы 6 знаков от линии
Суммарные очки за гипотезу — сумма дистанций Хэмминга всех 6 знаков. Чем больше, тем лучше.
Итак, если суммарные очки меньше порога, то считаем, что мы нашли 6 знаков номера (без региона). Если больше порога, то идем к алгоритму устойчивому к грязным номерам.
Тут еще стоит рассмотреть отдельно буквы «Н» и «М». Для этого нужно сделать отдельный классификатор, например, по гистограмме градиентов.
Следующие два или три знака над линей, проведенной по низу 6 уже найденных знаков, — регион. Если третья цифра существует, и ее похожесть больше пороговой, то регион состоит из трех цифр. Иначе из двух.
Однако, распознавание региона часто происходит не так гладко, как хотелось бы. Цифры в регионы меньше, могут удачно не разделиться. Поэтому регион лучше узнавать способом более устойчивым к грязи/шума/перекрытию, описанным далее.
Какие-то детали описания алгоритма не слишком подробно раскрыты. Отчасти из-за того, что сейчас сделан лишь макет этого алгоритма и предстоит еще протестировать и отладить его на тех тысячах изображений. Если номер хороший и чистый, то нужно за десятки миллисекунд распознать номер или ответить «не удалось» и перейти к более серьезному алгоритму.
Алгоритм устойчивый к грязным номерам
Понятно, что алгоритм, описанный выше совсем не работает, если знаки на номере слипаются из-за плохого качества изображения (грязи, плохого разрешения, неудачной тени или угла съемки).
Вот примеры номеров, когда первый алгоритм не смог ничего сделать:
А алгоритм, описанный далее, смог.
Но придется опираться на границы автомобильного номера, а потом уже внутри строго определенной области искать знаки с точно известной ориентацией и масштабом. И главное — никакой бинаризации!
Ищем нижнюю границу номера
Самый простой и самый надежный этап в этом алгоритме. Перебираем несколько гипотез по углу поворота и строим для каждой гипотезы по повороту гистограмму яркости пикселей вдоль горизонтальных линий для нижней половины изображения:
Выберем максимум градиента и так определим угол наклона и по какому уровню отрезать номер снизу. Не забудем улучшить контраст и получим вот такое изображение:
Вообще стоит использовать не только гистограмму яркости, но также и гистограмму дисперсии, гистограмму градиентов, чтобы увеличить надежность обрезки номера.
Ищем верхнюю границу номера
Тут уже не так очевидно, оказалось, если снимают с рук задний автомобильный номер, то верхняя граница может быть сильно изогнута и частично прикрывать знаки или в тени, как в данном случае:
Резкого перехода яркости в верхней части номера нет, а максимальный градиент и вовсе разрежет номер посередине.
Распознавание автомобильных номеров андроид
Программа для просмотра и распознавания номера машины: наведи четкость
Программы для просмотра номера машины используются в различных сферах. Например, чтобы ограничить доступ на определенную территорию (кроме авто из «белого» списка), организовать платную парковку, управлять временем нахождения ТС на объекте. Или просто, чтобы распознать номер машины в файле с видеорегистратора, с целью разыскать владельца.
Какие бывают программы?
Все системы распознавания делят на две большие группы: софтверные и аппаратные.
- В первом случае потребуется установка сервера видеонаблюдения, именно туда и загружается программа для определения номера машины. Этот вариант больше подойдет для бизнес-задач, так как для любительского использования стоит слишком дорого.
- При аппаратном способе распознавание осуществляет сама видеокамера, а цена установки системы сводится к рыночной стоимости последней. Мобильные приложения для просмотра гос номеров авто относятся к этой категории, они работают, непосредственно, через камеру смартфона.
Топ утилит для просмотра госномера машины
Далее мы рассмотрим любительские программы для распознавания номеров автомобилей на видео и фото. Приведем лучшие приложения, которые позволяют выполнить быстрое сканирование.
- «Smart PlateReader» — https://smartengines.ru/smart-platereader/. Позволяет распознавать цифры и символы, буквально, на лету, фиксирует показ длительностью всего 1-2 секунды. Чтобы осуществить просмотр, пользователю достаточно лишь показать камере смартфона госномер в режиме онлайн. Считывает сразу несколько комбинаций на одном снимке, даже в условиях плохого освещения, неравномерного фона из-за бликов или размытия. Бесплатной версии нет.
- «Blur Number Plate» — https://play.google.com/store/apps/details?id=com.bnp.gva.free
- «Axis». Стоимость самой бюджетной камеры – 35840 рублей;
- «NedAp». Профессиональный считыватель для просмотра автономеров, минимальная стоимость комплекта – 204 000 рублей;
- «Beward». Российская разработка. Стоимость камеры – от 50 000 рублей.
Какой можно сделать вывод? Ну, во-первых, бесплатных программ для просмотра номеров машин не бывает. Мы таковые не обнаружили. Во-вторых, облегченный софт для мобильного телефона, как правило, не дает высоких результатов. Он либо выполняет ограниченный набор функций, как в случае с ретушью госномеров, либо вместо, конкретно, распознавания, выполняет корректировку качества снимка.
Если вам действительно, нужна система просмотра и распознавания номеров, будьте готовы прилично раскошелиться на качественную камеру с профессиональным программным обеспечением.
Smart Engines представила технологию распознавания автомобильных номеров для мобильных устройств
Российская компания Smart Engines представила технологию распознавания автомобильных номеров для мобильных платформ Smart PlateReader. С ее помощью в iOS/Android приложениях можно «на лету» распознавать номера, находящихся в объективе камеры автомобилей.
Smart PlateReader относится к классу решений ANPR (Automatic number plate recognition) и позволяет распознавать в видеопотоке номера на движущихся и припаркованных автомобилях в режиме реального времени. Область применения Smart PlateReader включает страховые компании, социальные и государственные сервисы фиксации нарушений правил парковки и других ПДД, организации каршеринга и др.
Для того, чтобы распознать номер автомобиля, пользователю не нужно «прицеливаться», задавать область для распознавания или показывать номер под определенным углом. Smart PlateReader позволяет находить и распознавать один или несколько номеров автомобилей на изображениях, на которых размеры всех символов имеют высоту хотя бы 10 пикселей.
Высокую скорость и качество распознавания в Smart PlateReader обеспечивают используемые «сверхбыстрые» нейронные сети. Глубокая алгоритмическая оптимизация под мобильные платформы позволяет выполнять все вычисления на смартфоне или планшете в режиме реального времени. Smart PlateReader использует только оперативную память устройства, не создает копий и не передает данные на обработку через интернет в «облако» или на выделенный внешний сервер.
Процесс распознавания реализован в видеопотоке. При этом минимальное поддерживаемое разрешение камеры составляет 640*480 пикселей. Smart PlateReader обрабатывает последовательность изображений видеоряда и осуществляет межкадровую интеграцию результатов распознавания отдельных кадров. Когда система уверена в результате, процесс распознавания автоматически останавливается.
«Главным требованием при разработке Smart PlateReader мы считали возможность быстро распознать номер автомобиля на видео тогда, когда человек может его прочитать. При этом возможности решения должны быть одинаково доступны вне зависимости от производительности мобильного устройства пользователя и используемой в нем камеры», — комментирует Владимир Арлазаров, генеральный директор Smart Engines.
Smart PlateReader умеет находить и распознавать автомобильные номера в случаях, когда номер на видео имеет неравномерный фон, вызванный загрязнением, бликами или рисунками. Распознавать номера можно в сумерках, ночное время и сложных погодных условиях (дождь, снег). Система устойчива к проективным искажениям, угол наклона наблюдаемого номера по отношению к направлению съемки может достигать 75 градусов.
Время распознавания от начала показа автомобильного номера до получения результата составляет 1-2 секунды даже на бюджетных мобильных устройствах с невысокой производительностью. На iPhone 6 для распознавания 1 кадра требуется менее 50 мс.
В настоящее время Smart PlateReader поддерживает распознавание российских автомобильных номеров и доступен в виде SDK с примерами интеграции для iOS и Android.
Примеры работы Smart PlateReader:
Распознавание автомобильных номеров андроид
Добрый день, господа!
Я допилил до более-менее рабочего вида библиотеку по распознаванию Российских автомобильных номеров.
Библиотека является кроссплатформенной и в данный момент проверена работа на Android, Windows, Linux.
Я не являюсь специалистом по Eclipse, так что в этом вопросе особо помочь не смогу.
Проще всего взять сорцы библиотеки и вкомпилить в свой код.
Готов ответить на вопросы.
Большое спасибо! Отличная работа!
Заметил что алгоритм хуже работает при приближении камеры к номеру, когда рамка начинает занимать более 40% от кадра.
Есть какие либо ограничения на размер (px или % от кадра) рамки номера?
В начале идет разделение картинки на фигуры:
// ищем фигуры
vector figs = parse_to_figures ( img_bw );
там есть вот такая строчка:
if ( fig_to_create.is_too_big() )
и проверка на размер фигуры в файле «figure.h»
bool too_big() const
if ( right() — left() > 50 )
Открыл проект в QT и задал переменную OPENCV_DIR = d:/Res/opencv/build в *.pri
Тем не менее при построении возникает ошибка D:Resplate_recognition-masterplate_recognition-masterplate_recog_libengine.cpp:2: ошибка: C1083: Cannot open include file: ‘opencv2/opencv.hpp’: No such file or directory
Необходимые файлы на месте, но почему то Qt их не видит =(
qmake собрал все проекты после того как я добавил пути в системные переменные через среду сборки в параметры INCLUDE и LIB
Но теперь другая проблема:
Запустил qt gui test, выбрал изображение, нажал Run и получил Exception. Вот лог:
Запускается D:Researchplate_recognition-masterplate_recognition-masterbindebugqt_gui_test.exe.
OpenCV Error: Assertion failed (layer_sizes != 0) in CvANN_MLP::predict, file C:builds2_4_PackSlave-win64-vc11-sharedopencvmodulesmlsrcann_mlp.cpp, line 1611
D:Researchplate_recognition-masterplate_recognition-masterbindebugqt_gui_test.exe завершился с кодом 0
Установил IDE Qt 5.3.0 for Android (WindowsXP SP3 32-bit).
Скачал проект по ссылке https://github.com/sploid/plate_recognition..
В opencv.pri установил OPENCV_DIR = D:opencvbuild и OPENCV_VER = 246.
При компиляции D:RaspNplate_recognition-master2plate_recognition-masterplate_recognition.pro появляется ошибка
«D:RaspNplate_recognition-master2plate_recognition-masterplate_recog_libutils.h:86: ошибка: ‘QImage’ does not name a type
inline QImage mat2qimage( const cv::Mat mat )
^».
Не подскажите где это и что это ? )
И можно получить exe-шник (можно мне на мыло [email protected]), чтобы посмотреть качество распознавания ?
Смогу только на следующей неделе сделать экзешник.
851ccbffa51c3d177967c24ea027e8fc4066eada — гитовый коммит:
https://github.com/spl…gnition/commits/master
В последних двух коммитах я начал делать некоторые переделки, и, вероятно, поломал сборку под винду.
Смогу ее поправить только в начале следующей неделе.
Качество распознавания плохое, т.к. нейронная сеть обучена только на тех картинках, что в примерах.
Номерограм 2.29.1
Номерограм – это простое приложение, с помощью которого вы сможете проверить госномер автомобиля перед его покупкой.
Перед любой покупкой, которую собираемся совершить, нам хочется верить, что мы не будем обмануты, что товар действительно подходящий, а продавец – честный. К сожалению, проверка авто по VIN-коду или базам ГИБДД не всегда может показать всю историю автомобиля, что, несомненно, заставляет усомниться в легальности покупки. С помощью Номерограм вы можете бесплатно проверить любое авто по госномеру, просмотрев всю его историю продаж, цены, пробег и фото в интернете. Также вы сможете увидеть дополнительную информацию по VIN-коду, которая подробно расскажет о том, был ли арест, ДТП и прочие проблемы с авто.
Будьте уверены в каждой своей покупке, ведь новое авто – это ответственный шаг. А Номерограм подскажет вам всю необходимую информацию, чтобы вы чувствовали себя спокойно.
Особенности приложения Номерограм:
- Сотни тысяч госномеров в базе;
- Подробная информация об авто;
- Работало ли авто в такси;
- Информация о ДТП и нарушениях.
Русские Блоги
Распознавание номерных знаков Android на мобильных устройствах
С развитием мобильного интернета будет широко использоваться распознавание автомобильных номеров Android. Технология распознавания номерного знака в Android — это приложение, разработанное для содействия созданию искусственного интеллекта. Это приложение основано на мобильной платформе, мобильном телефоне, КПК, системе Android с камерой с разрешением более 2 миллионов пикселей, Android SDK с технологией распознавания автомобильных номеров, поддерживает Android, IOS и т. Д. Платформа Android предоставляет пакет Jar, а платформа IOS предоставляет статическую библиотеку .a, которая шаг за шагом развивает распознавание первого видеопотока с помощью оптического распознавания номерных знаков, например, распознавание номерных знаков, например сканирование QR-кода. Это программное обеспечение OCR распознает цвет номерного знака и номерной знак.
Распознавание номерных знаков Zhuo Duan относится к технологии извлечения информации о символах номерного знака из изображений транспортных средств посредством компьютерного зрения, обработки изображений и распознавания образов для определения личности транспортного средства. Распознавание номерных знаков Android подразделяется на три части: расположение номерных знаков, сегментация символов и распознавание символов.
Площадь номерного знака занимает небольшую долю во всем изображении, а цвет, размер и положение номерного знака также неопределенны. Алгоритм позиционирования должен быть способен преодолевать эффекты различного освещения и сложных фонов. Он также должен учитывать точность и в режиме реального времени, поэтому он быстр и точен. Найти номерной знак сложнее.
Преимущества технологии распознавания номерного знака переднего Android
1. Технология распознавания номерного знака в Android имеет высокую скорость и высокую скорость распознавания: скорость распознавания номерного знака достигает 98%, а скорость распознавания составляет менее 0,5 секунды.
2. Технология распознавания номерного знака на Android. Существует много типов номерных знаков, которые можно распознать: сканирование мобильного телефона позволяет идентифицировать обычные номерные знаки, желтые карточки (двухслойные), военные номерные знаки (двойные), номерные знаки вооруженных полицейских (двойные), полицейские номерные знаки, сельскохозяйственные номерные знаки и номерные знаки для автобусов. И посольские номерные знаки и т. Д.
3. Технология распознавания номерного знака Android: использование распознавания видео, например, сканирование QR-кода, сканирование и идентификация номерных знаков
4. Технология распознавания внешнего номера Android-устройства. Номерной знак может работать на мобильных устройствах, таких как Android и iOS, что делает еще один скачок в технологии оптического распознавания текста.
Источник: deviceadvice.ru