main.py
– это программа, предназначенная для работы на Orange Pi Zero 3, которая использует модель YOLO для детекции объектов на видеопотоке с камеры и предоставляет управление GPIO через веб-интерфейс, доступный с локального ПК.
- Обработка видеопотока с камеры на Orange Pi Zero 3.
- Детекция объектов с использованием модели YOLO в формате NCNN.
- Управление состоянием GPIO (включение/выключение) через веб-страницу.
- Отображение видеопотока и управление выходом GPIO в браузере на локальном ПК.
- Средний FPS: 14-15 кадров в секунду при обработке видеопотока с использованием модели YOLO, настроенной на размер входного изображения 160×160 пикселей для детекции объектов.
-
Аппаратное обеспечение:
- Orange Pi Zero 3 с установленной веб-камерой.
- Подключённое устройство к GPIO PIN №2 (например, светодиод).
-
Программное обеспечение:
- Ubuntu для Orange Pi Zero 3.
- Python 3.10 - 3.11
- Установленные зависимости.
-
Локальный ПК для доступа к веб-интерфейсу через браузер.
-
Копируйте программу на Orange Pi Zero 3:
git clone https://github.com/AleksandrVechtomov/OPi-yolo-gpio-stream.git cd OPi-yolo-gpio-stream
-
Установите необходимые зависимости (установка и запуск только из sudo, т.к. wiringpi работает только из sudo):
sudo pip install -r requirements.txt
-
Запустите программу:
sudo python main.py
-
На локальном ПК откройте браузер и перейдите по адресу:
http://<IP-адрес Orange Pi Zero 3>:5000
- На веб-странице отображается видеопоток с камеры в реальном времени.
- Кнопка управления позволяет включать и выключать GPIO PIN №2.
- Серый цвет кнопки – GPIO выключен.
- Зелёный цвет кнопки – GPIO включен.
- Средний FPS: 14-15 кадров в секунду при обработке видеопотока с использованием модели YOLO, настроенной на размер входного изображения 160×160 пикселей для детекции объектов.
- Разрешение видеопотока: 640×480.
Программа использует следующие Python-библиотеки:
flask
– для веб-интерфейса.ultralytics
– для работы с моделью YOLO.supervision
– для аннотаций и трекинга.opencv-python
– для обработки видео.wiringpi
– для управления GPIO.
- Модель YOLO: Убедитесь, что экспортированная NCNN-модель находится в каталоге
yolo11n_ncnn_model/
. Вы можете экспортировать её из.pt
модели командой:yolo export model=yolo11n.pt format=ncnn imgsz=160
- GPIO: Программа использует GPIO PIN №2. При необходимости измените номер пина в коде.
- Программа предназначена для локального использования. Убедитесь, что ваш Orange Pi Zero 3 и локальный ПК находятся в одной сети.
- Убедитесь, что камера и устройство, подключённое к GPIO, корректно установлены и подключены.