Skip to content

YOLO Object Detection and GPIO Control on Orange Pi Zero 3. This project demonstrates real-time object detection using a YOLO model on an Orange Pi Zero 3. It streams video locally and allows remote monitoring via a web interface. Users can toggle GPIO output states and view live status updates directly from a browser on a local PC.

Notifications You must be signed in to change notification settings

AleksandrVechtomov/OPi-yolo-gpio-stream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YOLO Object Detection with GPIO Control on Orange Pi Zero 3

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
    • Установленные зависимости.
  • Локальный ПК для доступа к веб-интерфейсу через браузер.

Установка и запуск

  1. Копируйте программу на Orange Pi Zero 3:

    git clone https://github.com/AleksandrVechtomov/OPi-yolo-gpio-stream.git
    cd OPi-yolo-gpio-stream
  2. Установите необходимые зависимости (установка и запуск только из sudo, т.к. wiringpi работает только из sudo):

    sudo pip install -r requirements.txt
  3. Запустите программу:

    sudo python main.py
  4. На локальном ПК откройте браузер и перейдите по адресу:

    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, корректно установлены и подключены.

About

YOLO Object Detection and GPIO Control on Orange Pi Zero 3. This project demonstrates real-time object detection using a YOLO model on an Orange Pi Zero 3. It streams video locally and allows remote monitoring via a web interface. Users can toggle GPIO output states and view live status updates directly from a browser on a local PC.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages