Распознавание по видео. Какое нужно железо?

Zombie47

✩✩✩✩✩✩✩
20 Апр 2023
13
0
Всем привет, недавно автор данного форума выложил видео где показал как он сделал распознавание лица на простенькой ESP32. Меня очень много лет мучает этот вопрос и я никак не могу погрузиться и заняться этим. Меня интересовало на каком железе, с каким разрешением видео, какую скорость кадров в секунду можно получить распознавание. Я вообще задумал проект который может так и остаться на стадии задумки. Я хочу по аналогии с тесла, и гайвером, установить камеру в авто, и подключить к какому то железу, которое будет распознавать номера автомобилей, и сами автомобили. Хочу по квадратику автомобиля (габариты) + размеры номерного знака, определять расстояние до автомобиля (не обязательно в метрах можно в попугаях. Для меня главное знать что ближе, а что дальше. А далее я хотел прикрутить эти данные уже к микроконтроллеру который будет управлять рычажком круиз контроля который набирает и убавляет скорость, потому что меня раздражает это делать вручную.) В общем самописный адаптивный круиз контроль. И вот наконец Гайвер показал, что это в принципе не очень сложно, и для 2 кадров в секунду пойдет такое железо. Жаль он в видео не уделил больше подробностей именно коду. Хоть бы в общих чертах. И вот у меня вопрос, так как под мою задумку 2 фпс маловато, да и разрешение маловато, хотелось бы чего то получше побыстрее. Думаю 15 фпс было бы достаточно и разрешения 1280x720. На чем это можно было бы попробовать реализовать? И я не очень понял, как у Гайвера определяет лицо? там был скормлен датасет нейронки или нет, или там уже что то готовое есть? я не очень понимаю как именно это правильно реализовывать в каких случаях.
Еще у меня была идея прокачки этой системы, раз уж у меня есть распознавание номеров, то прям вести какой то список номеров тачек которые встречались и где, оповещение о том что замечена машина друга, или какой то совместный поиск угнанных тачек, но это так фантазии )
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
Мечты, мечты... Только вот в чём дело. Как только произойдёт хотя бы начальное понимание того объёма проблем, которые потребуют решений, то выяснится, что оно того не стоит да и не под силу. Последует глубокое разочарование и, соответственно, облом. Будьте к этому готовы. Се ля ви.
Одно дело играться в имитацию распознавания и косплеить нейронки, и совсем другое доверять этим игрушкам безопасность свою и окружающих, поскольку речь идёт о транспортном средстве. Ведущие компании вкладывают в такие вещи миллиарды денег и годы времени, задействуют целые коллективы квалифицированных инженеров и кучу дорогущего оборудования, чтобы получить более-менее рабочий образец.
А вы хотите сделать примерно то же самое не затрачивая средств, в одиночку, без опыта, соответствующих знаний, да ещё и на каком-то дешёвом простом контроллере, изготовив девайс на коленке. Результат немного предсказуем. Или думаете, такое возможно? Вопрос риторический. ;)
 
Изменено:

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
Учтя имеющиеся решения от "производителей" эта задача не решается через распознавание размеров номеров или еще какую-либо обработку изображения. Для этого используют лидары, доплеровские радары и пр более быстрые датчики. Ибо кроме расстояния нужно еще получить скорость и вектор движения соседних авто.
 
  • Лойс +1
Реакции: PiratFox

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@vortigont, да-с, а вот ТС почему-то думает, что одной хреновой камерой можно измерить расстояние. Тут бы задуматься, для чего человеку два глаза. :LOL: И это только одна проблема, а их ещё всплывёт вагон и маленькая тележка.;)
 
Изменено:

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
Ну в качестве академической задачи пощупать машинное обучение почему бы и не покопаться, дабы осознать масштаб практического применения. Выделять машины в потоке на картинке впринципе можно на интерес.
 
  • Лойс +1
Реакции: Zombie47

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@vortigont, можно, конечно, пострадать фигнёй, если свободного времени много. Только от таких экспериментов до получения хотя бы прототипа устройства - как раком до Луны. Хотя... Ради пощупать и осознать объём и сложность задачи - почему бы нет. Негативный опыт тоже бывает полезен. ;) :LOL:
 
Изменено:

rkit

★★★✩✩✩✩
5 Фев 2021
508
127
И вот наконец Гайвер показал, что это в принципе не очень сложно, и для 2 кадров в секунду пойдет такое железо. Жаль он в видео не уделил больше подробностей именно коду. Хоть бы в общих чертах.
Нет, он показал что легко взять и воспользоваться готовой вещью, написанную командой профессиональных программистов. Потому и нет подробнстей по коду. 99.9% кода написано не им. А если ты хочешь делать что-то свое, отличное от готового, то будь готов учиться годами и собирать ту самую команду.

А если чисто из любопытства то разработка машинного зрения происходит так:
1. Снимаешь сотни часов видео в разных реальных условиях.
2. Вручную вырезаешь все автомобильные номера из видео, кадр за кадром; записываешь текстом, что на них написано.
3. Тренируешь этими данными нейросеть на компьютере.
4. Прогоняешь видео на компьютере через нейросеть, смотря на результаты.
5. Подкручиваешь параметры нейросети и повторяешь пункты 3-4 до тех пор. пока не получишь удовлетворительный результат. Это может занять несколько месяцев.
6. И только теперь можно начинать думать о железе.
 
Изменено:
  • Лойс +1
Реакции: Boroda22

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,415
978
58
Марий-Эл
У меня нечто подобное была идея сделать.
Мне нужно за 40-70 метров определять номер автомобиля и сверять его с базой.
Если совпало, подавать сигнал.
Только нужна хорошая камера и длиннофокусная оптика.
Интересно, если взять объектив от профессионального фотоаппарата, а матрицу от мыльницы. Можно чего нибудь наваять.
 

rkit

★★★✩✩✩✩
5 Фев 2021
508
127
Академический интерес.
Академический интерес решается походом в академию. Бесплатных курсов по ИИ и чему угодно пруд пруди. А на форуме тебе никто не будет индивидиуально 100 часов лекций расписывать.
 

poty

★★★★★★✩
19 Фев 2020
3,237
942

@Zombie47, решаем геометрическую задачу:
Имеем точку с заданными минимальными размерами (стандартная толщина штриха символов номера), которая может находиться во фронтальной области (высота установки номерного знака для разных моделей машин + ширина полосы × количество полос) на расстоянии (максимальное и минимальное). Этот расчёт даст нам минимальное требуемое разрешение камеры и фокусное расстояние (минимальный размер точки должен быть не менее 1,5-2 линий на матрице).
Далее решаем следующую задачу:
Максимальная скорость приближения номерного знака и допустимое для распознавания искажение (определяется алгоритмом распознавания) даст требуемую частоту кадров.
А потом потребуется запустить распознавание + сравнение.