Pull to refresh

Comments 23

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

Кликбейт такой кликбейт.

лет 12 назад были проекты со связкой мелкий роутер с OpenCV + Arduino. выглядело впечатляюще

На самом деле, если б хотели сильно, взяли бы Arduino Due (ARM CortexM3) подцепили туда б аналоговую камеру и анализировали. Попугаев там много, но в притык. Вот это был бы хардкод достойный Хабра. И deep dive в потоковую обработку сигналов (полезно для того, чтобы знать как DSP работают), и базовые принципы обработки изображений и куча сопутствующих оптимизаций. А еще можно внешнюю SRAM (на Due такой интерфейс имеется) подцепить для буферизации, вот это вообще космическая ракета была бы.

Реализации этой логики может быть множество, все зависит от конкретной задачи! В моем случае я решил всю логику реализовывать на стороне ПК, во первых это быстро, во вторых это очень удобно, в третьих вы имеете вычислительные ресурсы CUDA и GPU, в четвертых не грузите вычислительные ресурсы контроллера!

В-четвертых ваш робот потребляет 150Вт от сети и роутер, чтобы распознать лицо.

Сам робот и все его железо питается от двух аккумов 18650, сколько потребляет даже не замерял! А вот комп и роутер конечно через 220 от сети)) Если смотреть на всю систему в целом то согласен с вами

Вариантов полно. ESP32 поддерживает подключение камеры без промежуточной адресации интерфейсов, т.е. ресурсы на "сделать с WiFi x265" не затратятся.

А роутер такой я помню, туполинк 3020 вроде. Там даже GPIO c USB на плате есть.

Согласен, вариантов реализации куча! Я не ставил перед собой задачу реализовать Автономного робота со всей логикой обработки и управления на стороне железа контроллера, что касается подключаемых камер совместимых с ESP32 надеюсь согласитесь что это очень скудные камеры по своим характеристикам… в моем проекте вы можете использовать любые Wi-Fi камеры которые поддерживают http или rtsp потоки, а также можете использовать FPV камеры как на дронах…

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

al072072 только что

Вы совершенно правы! Вся логика распознавания происходит на стороне софта на ПК

Это мелочь, ещё пишут и показывают как школьники разрабатывают целого робота, где по инструкции пару проводов подключили, и готовый скетч залили, да ещё из примеров на scratch (((( и это очень одарённый ребёнок говорят, аж по первому каналу ?

Он бы, ц....., попробовал не на компьютере кнопочки нажимать, а перемычечками запрограмировать микросему, только для начала написать прогу надо, на asm, после по таблице мневмокоманд составить перевести значения, а потом из 16ричного в двоичное и кнопочки жать ((( и не дай бог ошибетесь...

Странно, что не взяли ESP32-CAM для проекта. Там приемлемо работает распознавание лиц.

Ну и не Arduino там плата

Можно по-разному реализовать эту задачу! Реализация алгоритмов обработки изображения непосредственно на железе контроллера не сравниться по скорости с ПК, особенно если на ПК стоит хорошая GPU, в таком случае обработка происходит с поддержкой CUDA!

ESP32 прекрасно справляется с распознаванием лиц и объектов.
А библиотека TinyML-CAM, к примеру:

For image frames, the digital signal processing (DSP) based features extraction time is ≈ 12 ms, while classification time is ≈ < 20 ?? (1/1000th of DSP).

ESP32 прекрасно справляется с распознаванием лиц и объектов

Я не спорю, но это уже совершенно другая реализация проекта...

Вот "разная" реализация - достойна похвалы и статьи на Хабре.

ESP32 - 160Mhz\512K, этого более чем достаточно для реализации собственного алгоритма распознавания лиц.

OpenCV который притаскивает за собой кроме распознавания лиц еще много чего - естественно будет тормозить.

Вы работаете с чистым YUV2 1920x1080, один кадр у вас занимает 4 мегабайта в ОЗУ. Но зачем ? Для распознавания лиц хватает 320*240*2 - 150 Кб в ОЗУ.

24 кадра в секунду распознавать не нужно, лицо за 1\24с никуда с кадра не исчезнет. 5 кадров вполне будет достаточно.

Если нужно отображать цветное видео - делается интерполяция, т.е. распознавание у вас проводится над картинкой 320х240, а рамка выводится на картинку 1920х1080.

Ну и так далее.

Реализовывать это конечно будет сложнее, библиотек готовых напихать не получится.

Но это интереснее. И независимее от радиосвязи.

обработка происходит с поддержкой CUDA

Чтобы выделить контуры лица - вам нужен CUDA?)

Чтобы выделить контуры лица - вам нужен CUDA?)

По умолчанию используется вычислительные мощности CPU, но если есть CUDA почему бы ей не воспользоваться? В текущем проекте не стояла задача все по максимуму оптимизировать и делать локальный вычислительный процесс на железе робота., с вычислительными ресурсами ПК все гораздо веселее :)) также можно использовать всю мощь полноценной библиотеки OpenCV! Еще раз повторюсь я с вами ни в коем случае не спорю, но мы говорим немного о разных вещах! Благодарю за интересные комментарии, мож когда-нибудь попробую с реализацией вычислений на железе робота поиграться, но для таких задач я бы предпочел малинку наверное, но проблема в том что с линуксом я вообще не на "ты" и даже не на "вы"...

Wi-Fi робот на Ардуино

А по факту:

Arduino совместимая плата Wemos D1 на базе ESP8266

Ну как же так...

По тексту поста я как раз об этом упомянул! Не хотелось длинное название )) Благодарю за комментарий

Хороший проект для углубления в тематику и роста...

Интересно, но честно говоря никакой информации в статье нет, только ссылка.

Я пробовал сделать подобного робота и столкнулся с неочевидной проблемой - если делать все удаленно, то роботу необходима зарядка. Увы, вайфай прожорливый, двигатели ещё больше.

Ну и да, я ожидал что используется esp32cam и думал уже перенять что либо из кода...

И последний вопрос - а зачем роботу распознавать лица? Нет, если он двигается автономно - то вопросов нет, это логично. А если нужен оператор с ноутбуком - какой смысл то операции?

Интересно, но честно говоря никакой информации в статье нет, только ссылка.

В статье привел краткое описание самого проекта, также приведены ссылки на детали из которых собирался сам робот, камера которая использовалась в проекте, а также ссылки на схему подключения проводов проекта и инструкция по сборке робота., а также вся исчерпывающая информация по сборке, настройке и запуску робота в работу содержится в видеоролике в шапке поста., я специально не стал прикладывать кучу скриншотов и текстового описания чтобы не загружать статью - это был бы полный копипаст из видеоролика. По сути даже можно не вникать в код проекта, так как он будет загружен на робота непосредственно из программы ARC, установка Arduino IDE не потребуется. Если у вас остались какие либо вопросы я постараюсь на них ответить!!!

Ну и да, я ожидал что используется esp32cam и думал уже перенять что либо из кода...

Нет в моем проекте используется контроллер Wemos D1 ESP8266 + wifi камера fredi l21(можно использовать любую другую поддерживающую http или rtsp потоки или fpv камеру).

И последний вопрос - а зачем роботу распознавать лица? Нет, если он двигается автономно - то вопросов нет, это логично. А если нужен оператор с ноутбуком - какой смысл то операции?

Просто как фишка, какой-то цели не закладывал., также есть распознавание QR кодов и езда по линии с помощью камеры., по сути можно прикрутить все что угодно не только распознавание лиц, а например предметов, рассчет расстояния и т.д.

В давайте в TODO лист добавим автоматическую парковку на зарядку как у робота пылесоса? Ну или просто добавим зарядное устройство на котором он будет все время находиться, пока не нужен. Это было бы очень кстати для патрулирования дома. Я бы коммерческую версию купил бы. Не ставить же камеру на робот пылесос)))

В давайте в TODO лист добавим автоматическую парковку на зарядку как у робота пылесоса? Ну или просто добавим зарядное устройство на котором он будет все время находиться, пока не нужен. Это было бы очень кстати для патрулирования дома.

Хорошая идея на будущее

Не ставить же камеру на робот пылесос)))

а почему бы и нет :)) и робота собирать не придется и пульт управления в виде ПК не нужен)))

Sign up to leave a comment.

Articles