Перейти к содержимому

Руководство по быстрому старту: Raspberry Pi и Pi Camera с YOLOv5 и YOLOv8

Это исчерпывающее руководство призвано ускорить твое знакомство с YOLO моделями обнаружения объектов на Raspberry Pi с помощью Pi Camera. Будь ты студент, любитель или профессионал, это руководство разработано так, чтобы ты смог начать работу менее чем за 30 минут. Приведенные здесь инструкции тщательно протестированы, чтобы свести к минимуму проблемы с настройкой, что позволит тебе сосредоточиться на использовании YOLO для своих конкретных проектов.



Смотри: Обновления и улучшения Raspberry Pi 5.

Пререквизиты

  • Raspberry Pi 3, 4 или 5
  • Камера Pi
  • 64-битная операционная система Raspberry Pi

Подключи камеру Pi Camera к своей Raspberry Pi через CSI-кабель и установи 64-битную операционную систему Raspberry Pi. Проверь свою камеру с помощью следующей команды:

libcamera-hello

Ты должен увидеть видеопоток с твоей камеры.

Выбери свою версию YOLO : YOLOv5 или YOLOv8

Этот гайд предлагает тебе начать с любого из двух вариантов YOLOv5 или YOLOv8. Обе версии имеют свои уникальные преимущества и случаи использования. Выбор за тобой, но помни, что цель руководства - не просто быстрая настройка, но и надежный фундамент для твоей будущей работы в области обнаружения объектов.

Специфика аппаратного обеспечения: С первого взгляда

Чтобы помочь тебе принять взвешенное решение, мы свели основные аппаратные особенности Raspberry Pi 3, 4 и 5 в таблицу ниже:

Характеристика Raspberry Pi 3 Raspberry Pi 4 Raspberry Pi 5
ПРОЦЕССОР Четырехъядерный ARM Cortex-A53 с частотой 1,2 ГГц Четырехъядерный 64-битный ARM Cortex-A72 с частотой 1,5 ГГц Четырехъядерный 64-битный Arm Cortex-A76 с частотой 2,4 ГГц
ОПЕРАТИВНАЯ ПАМЯТЬ 1 ГБ LPDDR2 2 Гб, 4 Гб или 8 Гб LPDDR4 Подробности пока не известны
Порты USB 4 x USB 2.0 2 x USB 2.0, 2 x USB 3.0 2 x USB 3.0, 2 x USB 2.0
Сеть Ethernet и Wi-Fi 802.11n Гигабитный Ethernet и Wi-Fi 802.11ac Гигабитный Ethernet с поддержкой PoE+, двухдиапазонный Wi-Fi 802.11ac.
Производительность Медленнее, может потребовать более легких моделей YOLO . Быстрее, может запускать сложные модели YOLO Подробности пока не известны
Требования к питанию Источник питания 2,5 А Блок питания 3.0A USB-C Подробности пока не известны
Официальная документация Ссылка Ссылка Ссылка

Обязательно следуй инструкциям, характерным для твоей модели Raspberry Pi, чтобы процесс настройки прошел гладко.

Быстрый старт с YOLOv5

В этом разделе описано, как настроить YOLOv5 на Raspberry Pi с помощью Pi Camera. Эти шаги рассчитаны на совместимость со стеком камер libcamera, представленным в Raspberry Pi OS Bullseye.

Установи необходимые пакеты

  1. Обнови Raspberry Pi:

    sudo apt-get update
    sudo apt-get upgrade -y
    sudo apt-get autoremove -y
    
  2. Клонируй репозиторий YOLOv5:

    cd ~
    git clone https://github.com/Ultralytics/yolov5.git
    
  3. Установи необходимые зависимости:

    cd ~/yolov5
    pip3 install -r requirements.txt
    
  4. Для Raspberry Pi 3 установи совместимые версии PyTorch и Torchvision (пропусти для Raspberry Pi 4):

    pip3 uninstall torch torchvision
    pip3 install torch==1.11.0 torchvision==0.12.0
    

Измените detect.py

Чтобы включить TCP-потоки через SSH или CLI, необходимо внести небольшие изменения в detect.py.

  1. Открой detect.py:

    sudo nano ~/yolov5/detect.py
    
  2. Найдите и измените is_url строку, чтобы принимать TCP-потоки:

    is_url = source.lower().startswith(('rtsp://', 'rtmp://', 'http://', 'https://', 'tcp://'))
    
  3. Прокомментируй view_img Линия:

    # view_img = check_imshow(warn=True)
    
  4. Сохрани и выйди:

    CTRL + O -> ENTER -> CTRL + X
    

Запуск TCP-потока с помощью Libcamera

  1. Запусти поток TCP:

    libcamera-vid -n -t 0 --width 1280 --height 960 --framerate 1 --inline --listen -o tcp://127.0.0.1:8888
    

Сохрани эту терминальную сессию для выполнения следующих шагов.

Выполни вывод YOLOv5

  1. Запусти обнаружение YOLOv5:

    cd ~/yolov5
    python3 detect.py --source=tcp://127.0.0.1:8888
    

Быстрый старт с YOLOv8

Следуй этому разделу, если ты хочешь вместо этого настроить YOLOv8. Шаги довольно похожи, но адаптированы под специфические нужды YOLOv8.

Установи необходимые пакеты

  1. Обнови Raspberry Pi:

    sudo apt-get update
    sudo apt-get upgrade -y
    sudo apt-get autoremove -y
    
  2. Установи ultralytics Пакет Python:

    pip3 install ultralytics
    
  3. Перезагрузка:

    sudo reboot
    

Запуск TCP-потока с помощью Libcamera

  1. Запусти поток TCP:

    libcamera-vid -n -t 0 --width 1280 --height 960 --framerate 1 --inline --listen -o tcp://127.0.0.1:8888
    

Выполни вывод YOLOv8

Чтобы сделать вывод с помощью YOLOv8, ты можешь воспользоваться следующим фрагментом кода на Python:

from ultralytics import YOLO

model = YOLO('yolov8n.pt')
results = model('tcp://127.0.0.1:8888', stream=True)

while True:
    for result in results:
        boxes = result.boxes
        probs = result.probs

Следующие шаги

Поздравляю тебя с успешной настройкой YOLO на твоем Raspberry Pi! Для дальнейшего обучения и поддержки посети Ultralytics и Kashmir World Foundation.

Благодарности и цитаты

Изначально это руководство было создано Дааном Элтинком для Kashmir World Foundation, организации, занимающейся использованием YOLO для сохранения исчезающих видов животных. Мы признаем их новаторскую работу и образовательную направленность в области технологий обнаружения объектов.

Чтобы узнать больше о деятельности Kashmir World Foundation, ты можешь посетить их сайт.



Создано 2023-11-12, Обновлено 2024-02-03
Авторы: glenn-jocher (2)

Комментарии