跳至内容

快速入门指南:Raspberry Pi 和 Pi 摄像头,含YOLOv5 和YOLOv8

本综合指南旨在加快您在Raspberry Pi上使用Pi 摄像头建立YOLO 物体检测模型的进程。无论您是学生、业余爱好者还是专业人士,本指南都能让您在 30 分钟内轻松上手。这里的说明经过严格测试,可最大限度地减少设置问题,让您专注于利用YOLO 来完成您的特定项目。



观看: Raspberry Pi 5 的更新和改进。

先决条件

  • 树莓派 3、4 或 5
  • Pi 摄像机
  • 64 位 Raspberry Pi 操作系统

通过 CSI 电缆将 Pi 摄像头连接到 Raspberry Pi,然后安装 64 位 Raspberry Pi 操作系统。使用以下命令验证摄像头:

libcamera-hello

你应该能看到摄像头的视频画面。

选择您的YOLO 版本:YOLOv5 或YOLOv8

本指南可让您灵活地从以下两个方面入手 YOLOv5YOLOv8.两个版本都有各自独特的优势和用途。您可以自行选择,但请记住,本指南的目的不仅在于快速设置,还在于为您今后的对象检测工作打下坚实的基础。

硬件规格:概览

为了帮助您做出明智的硬件决定,我们在下表中总结了 Raspberry Pi 3、4 和 5 的主要硬件规格:

特点 树莓派 3 树莓派 4 树莓派 5
中央处理器 1.2GHz 四核 ARM Cortex-A53 1.5GHz 四核 64 位 ARM Cortex-A72 2.4GHz 四核 64 位 Arm Cortex-A76
内存 1GB LPDDR2 2GB、4GB 或 8GB 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
网络 以太网和 Wi-Fi 802.11n 千兆以太网和 Wi-Fi 802.11ac 支持 PoE+ 的千兆位以太网、双频 802.11ac Wi-Fi®
性能 速度较慢,可能需要更轻的YOLO 型号 速度更快,可运行复杂的YOLO 模型 详情尚未公布
电源要求 2.5A 电源 3.0A USB-C 电源 详情尚未公布
官方文件 链接 链接 链接

请务必按照您的 Raspberry Pi 型号的具体说明进行操作,以确保设置过程顺利进行。

快速入门YOLOv5

本节概述了如何在带有 Pi 摄像头的 Raspberry Pi 上设置YOLOv5 。这些步骤旨在与 Raspberry Pi OS Bullseye 中引入的 libcamera 相机堆栈兼容。

安装必要的软件包

  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

要通过 SSH 或CLI 启用 TCP 数据流,需要在 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
    

使用 Libcamera 启动 TCP 流

  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
    

使用 Libcamera 启动 TCP 流

  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

下一步工作

恭喜您在 Raspberry Pi 上成功设置YOLO !如需进一步学习和支持,请访问 Ultralytics克什米尔世界基金会

致谢和引用

本指南最初由 Daan Eeltink 为克什米尔世界基金会(Kashmir World Foundation)制作,该组织致力于利用YOLO 保护濒危物种。我们对他们在物体检测技术领域的开拓性工作和教育重点表示感谢。

有关克什米尔世界基金会活动的更多信息,请访问其网站



创建于 2023-11-12,更新于 2024-02-03
作者:glenn-jocher(2)

评论