Skip to content

Luckfox pico max object detection and counting solution

License

Notifications You must be signed in to change notification settings

sw3nlab/webyolofox

Repository files navigation

webyolofox

Luckfox pico max object detection and counting solution

YOLOv15

В данном примере я использовал:

плату LuckFox Pico Max с процессором Rockchip RV1106G3 ... возможно будет работать и на других платах этого семейства (пока не проверено) ...
USB Хаб с питанием, картридером и несколькими USB портами для возможности подключения периферийных устройств к LuckFox Pico как то так...

IMAGE

...

  • предварительно обученую модель yolov5.onnx сконвертированную в формат yolov5.rknn и возможностью детектирования 80 различных объектов.

  • самую дешманскую noname USB web-камеру 0c45:6366 с низким разрешением

Buildroot firmware

Готовый скомпилированый вариант прошивки от производителя можно взять из официального wiki LuckFox выбрав Buildroot и вариант загрузки системы с SD карты

  • Linux Ядро версии 5.10.160
  • для работы с web-камерой подключеной к LuckFox через USB-хаб, мною отдельно собрана утилита fswebcam (т.к. в оф.прошивке она отсутствует)
  • альтернативный вариант запуска детектора без утилиты fswebcam с помощью v4l2-ctl
  • для получения изображений с удалённых камер (например под управлением OpenIPC ) потребуются утилиты wget или curl (в таком случае Frame Rate детектирования будет ниже за счёт времени запроса к удалённому серверу) {curl в прошивке отсутствует}
  • для самостоятельной сборки прошивки и/или её компонентов необходимо использовать Luckfox SDK

Web-сервер

Для данного решения мною собран Tiny Web Server в директории webyolofox/webserver вы найдёте уже собраный бинарник этого сервера. Если вы хотите использовать другой веб-сервер, вы можете собрать его самостоятельно, для этого вам потребуется кросс-компилятор из SDK Luckfox.

[WEB] Запуск детектора на изображение с удалённой web-камеры на OpenIPC

для данного варианта менять режим работы USB не требуется.

unzip webyolofox.zip
cd webyolofox/
chmod a+x install.sh
./install.sh
cd remote/

Необходимо проверить доступность своей камеры по http и указать её адрес в файле webyolofox/remote/eye.sh Затем стартануть демон ./start_remote.sh

после чего открыть адрес вашей платы 192.168.x.x:8080/index.html

Частота обновления 1 кадр в 5 секунд.

Для остановки используется ./stop_remote.sh

* камеры с OpenIPC позволяют получать изображение в формате jpg обрезаные до нужного разрешения Например: 192.168.x.x/image.jpg?width=640&height=480&qfactor=50&color2gray=1&crop=80x32x512x400 image таким образом можно значительно оптимизировать поиск объектов, в заранее выделенной области, а не во всём изображении. подробнее: https://openipc.org/majestic-endpoints?locale=ru

[WEB] Запуск детектора с подключеной через USB-хаб web-камерой

Сначала выполнить

luckfox-config
#в конфигураторе перейти в Advanced Option
# выбрать режим работы USB ->host
reboot

после перезагрузки, убедится что камера подключена и определяется системой lsusb,dmesg далее... скопировать и распаковать архив с webyolofox на плату

unzip webyolofox.zip
cd webyolofox/
chmod a+x install.sh
./install.sh
./start.sh

Затем открыть адрес вашей платы 192.168.x.x:8080/index.html

Частота обновления изображения (Frame Rate) ~1 кадр в секунду.

Вызов ./stop.sh последовательно остановит процессы демонов tiny и fswebcam тем самым завершив работу детектора.

[CLI] Подсчёт объектов в кадре

Для подсчёта объектов используется webyolofox/detect.sh который на вход принимает 2 аргумента, адрес анализируемого изображения image.jpg (внутри каталога) и объект поиска (например: car,person и т.д.)

Полный список доступных для детектирования объектов можно посмотреть в файле webyolofox/model/coco_80_labels_list.txt

screen

Если результат выполнения возвращает 0 , то объект на изображении отсутствует.

About

Luckfox pico max object detection and counting solution

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published