树莓派3B上测试YOLO效果

本文介绍了如何在树莓派上安装并运行YOLO目标检测系统的过程,包括下载镜像文件、格式化TF卡、安装YOLO及测试其运行效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装系统

下载raspbian-stretch镜像:https://www.raspberrypi.org/downloads/raspbian/
下载SDFormatterv4:https://www.sdcard.org/downloads/formatter_4/
下载Win32DiskImager:https://sourceforge.net/projects/win32diskimager/
准备一张大于8GB的TF卡,使用SDFormatterv4格式化TF卡
用Win32DiskImager将ubuntu-mate镜像写入TF中
2017-8-16镜像:2017-08-16-raspbian-stretch.img

安装YOLO

参照YOLO官网(https://pjreddie.com/darknet/yolo/)介绍,下载、编译(CPU版)、运行:

$ git clone https://github.com/pjreddie/darknet
$ cd darknet
$ make
$ wget https://pjreddie.com/media/files/tiny-yolo-voc.weights
$ ./darknet detector test cfg/voc.data cfg/tiny-yolo-voc.cfg tiny-yolo-voc.weights data/dog.jpg

测试效果

执行结果如下:
这里写图片描述

这里写图片描述

检测结果不错,但是运行耗时近40秒,还是有待提高。

<think>我们正在配置YOLO环境在树莓派4B 4GB上。根据引用[1]和[2],我们知道树莓派的具体型号很重要,并且之前有在树莓派和Movidius NCS上运行YOLO的经验(虽然速度较慢)。由于树莓派资源有限,我们通常使用轻量级模型如Tiny-YOLO。 步骤: 1. 系统准备:安装Raspberry Pi OS(推荐64位,因为32位有内存限制,但注意64位可能对某些库支持不够,不过YOLOv8要求Python>=3.7,64位系统更好) 2. 更新系统: sudo apt update && sudo apt upgrade -y 3. 安装必要的依赖: sudo apt install -y python3-pip python3-dev libatlas-base-dev libopenblas-dev libblas-dev libhdf5-dev 4. 由于树莓派内存有限,我们使用轻量级的YOLO版本,比如YOLOv5s、YOLOv8n或者Tiny-YOLO。这里以YOLOv8为例,因为Ultralytics提供了简单的API。 注意:树莓派上直接运行YOLOv8可能非常慢,所以我们可以考虑使用OpenVINO或者ONNX Runtime来加速,但这里我们先安装基础版本。 5. 安装ultralytics(YOLOv8): pip3 install ultralytics 但是,由于树莓派是ARM架构,安装过程中可能会遇到一些包无法编译的问题,因此我们可以预先安装一些包: sudo apt install -y python3-numpy python3-scipy python3-matplotlib python3-opencv 6. 安装PyTorch:树莓派上安装PyTorch需要特定的版本。我们可以从PyTorch官网下载预编译的ARM版本,或者使用piwheels。目前PyTorch 1.7.0有预编译版本: pip3 install torch==1.7.0 torchvision==0.8.0 但是,请注意,最新版本的PyTorch可能已经支持树莓派,但需要确认。我们可以使用以下命令安装(如果piwheels有提供): pip3 install torch torchvision 7. 测试YOLOv8:运行一个简单的检测,使用最小的模型(yolov8n) from ultralytics import YOLO model = YOLO(&#39;yolov8n.pt&#39;) results = model.predict(&#39;path/to/image.jpg&#39;) 8. 性能优化:由于树莓派性能有限,我们可以考虑以下优化: - 使用OpenVINO:将模型转换为OpenVINO格式,然后使用OpenVINO推理引擎运行。 - 使用ONNX Runtime:将模型转换为ONNX格式,然后使用ONNX Runtime运行(可能比原生PyTorch快)。 - 使用TensorRT:但树莓派上不支持。 - 使用Movidius神经计算棒(NCS2):通过OpenVINO使用NCS2加速。 9. 使用OpenVINO加速: 步骤: a. 在树莓派上安装OpenVINO Toolkit(注意:OpenVINO 2021以后版本支持树莓派)。 参考:https://docs.openvino.ai/latest/openvino_docs_install_guides_installing_openvino_raspbian.html b. 将YOLOv8模型导出为OpenVINO格式: model.export(format=&#39;openvino&#39;) # 这会生成一个xml和bin文件 c. 使用OpenVINO的Python API加载模型并推理。 10. 注意:树莓派4B的性能有限,即使使用NCS2,根据引用[2]的数据,之前使用Tiny-YOLO树莓派3B+和NCS上达到了4.28FPS。因此,在树莓派4B上,使用NCS2可能会获得更好的性能(大约5-10FPS,取决于模型)。 11. 另外,也可以尝试TensorFlow Lite,因为YOLO也有TensorFlow Lite的版本。但Ultralytics YOLOv8目前主要支持PyTorch、ONNX等。 12. 如果使用NCS2,需要安装Movidius的驱动和OpenVINO。注意NCS2需要USB3.0接口(树莓派4B有USB3.0)。 由于步骤较多,我们分步进行。 首先,我们尝试在树莓派上安装YOLOv8并运行,如果速度太慢,再考虑使用OpenVINO和NCS2。 详细步骤: 一、系统准备 - 下载Raspberry Pi OS(64位)并烧录到SD卡。 - 启动树莓派,完成基本设置(联网、更新等)。 二、安装基础依赖 sudo apt update sudo apt upgrade -y sudo apt install -y python3-pip python3-dev libatlas-base-dev libopenblas-dev libblas-dev libhdf5-dev 三、安装PyTorch(从piwheels安装,这样会自动选择ARM架构的预编译包) pip3 install torch torchvision 四、安装ultralytics pip3 install ultralytics 五、测试YOLOv8n(不加速) 编写一个Python脚本test.py: from ultralytics import YOLO model = YOLO(&#39;yolov8n.pt&#39;) results = model.predict(&#39;bus.jpg&#39;, save=True) # 确保当前目录有bus.jpg,或者使用其他图片 运行:python3 test.py 六、如果速度太慢(预计在树莓派4B上,yolov8n的推理速度大约0.5-1 FPS),我们尝试使用OpenVINO加速。 七、安装OpenVINO(2022版本之后支持树莓派): 参考官方文档:https://docs.openvino.ai/latest/openvino_docs_install_guides_installing_openvino_raspbian.html 步骤: 1. 添加仓库: echo "deb https://packages.openvinotoolkit.org/raspbian/ `lsb_release -cs` main" | sudo tee /etc/apt/sources.list.d/openvino.list 2. 添加GPG密钥: wget https://packages.openvinotoolkit.org/raspbian/apt-public-key.gpg sudo apt-key add apt-public-key.gpg rm apt-public-key.gpg 3. 安装: sudo apt update sudo apt install openvino 注意:如果上述步骤失败,也可以下载离线包安装,或者使用pip安装openvino-dev(但树莓派上可能不行,因为官方提供了APT源)。 八、导出OpenVINO模型: 在树莓派上运行: from ultralytics import YOLO model = YOLO(&#39;yolov8n.pt&#39;) model.export(format=&#39;openvino&#39;) # 导出到当前目录,生成yolov8n_openvino_model目录 九、使用OpenVINO推理: 编写一个使用OpenVINO推理的脚本。注意:ultralytics的YOLO类可以直接加载导出的OpenVINO模型,但需要指定文件路径。 model = YOLO(&#39;yolov8n_openvino_model/&#39;) # 加载导出的OpenVINO模型 results = model.predict(&#39;bus.jpg&#39;) 十、如果使用神经计算棒(NCS2),需要先插入NCS2,然后设置OpenVINO使用MYRIAD设备: model = YOLO(&#39;yolov8n_openvino_model/&#39;, device=&#39;MYRIAD&#39;) # 然后进行预测 十一、测试性能:使用OpenVINO和NCS2后,性能应该有所提升。 注意:由于树莓派内存只有4GB,运行大型模型可能会出现内存不足。因此,务必使用轻量级模型(如yolov8n, yolov8s等)。 十二、如果遇到问题,可以参考引用[2]中的文章,虽然它是关于老版本YOLO的,但使用NCS加速的思路相同。 以上步骤是一个基本指南,实际过程中可能会遇到各种问题,需要根据错误信息进行解决。 相关问题: 1. 在树莓派4B上运行YOLOv8n的预期速度是多少? 2. 如何将YOLOv8模型转换为OpenVINO格式? 3. 如何用Movidius神经计算棒加速YOLOv8? 4. 树莓派4B上运行YOLO模型有哪些优化方法?</think>### 在 Raspberry Pi 4B 4GB 上配置 YOLO 环境指南 #### 一、系统准备 1. **安装64位系统** 推荐 Raspberry Pi OS Lite (64位) 以最大化内存利用率: ```bash sudo apt update && sudo apt full-upgrade -y sudo reboot ``` 2. **安装必要依赖** ```bash sudo apt install -y python3-pip libopenblas-dev libatlas-base-dev libhdf5-dev ``` #### 二、Python环境配置 1. **创建虚拟环境** ```bash python3 -m venv yolov8_env source yolov8_env/bin/activate ``` 2. **安装PyTorch** 使用ARM兼容版本: ```bash pip3 install torch==1.10.0 torchvision==0.11.0 --extra-index-url https://download.pytorch.org/whl/cpu ``` 3. **安装YOLOv8** ```bash pip3 install ultralytics opencv-python-headless ``` #### 三、模型部署优化 1. **使用轻量模型** 推荐YOLOv8n或YOLOv8s: ```python from ultralytics import YOLO model = YOLO(&#39;yolov8n.pt&#39;) # 纳米级模型 ``` 2. **OpenVINO加速** 转换模型格式: ```python model.export(format=&#39;openvino&#39;) # 生成XML/BIN文件 ``` 推理时使用: ```python results = model.predict(&#39;image.jpg&#39;, device=&#39;cpu&#39;) # 显式指定CPU ``` #### 四、性能优化技巧 1. **输入分辨率调整** ```python results = model.predict(&#39;image.jpg&#39;, imgsz=320) # 降低分辨率 ``` 2. **硬件加速配置** ```bash echo "export OPENBLAS_CORETYPE=ARMV8" >> ~/.bashrc source ~/.bashrc ``` 3. **温度监控** ```bash vcgencmd measure_temp # 实时监控温度 ``` #### 五、验证安装 创建测试脚本 `test_yolo.py`: ```python from ultralytics import YOLO import cv2 model = YOLO(&#39;yolov8n.pt&#39;) results = model.predict(&#39;test_image.jpg&#39;, save=True) print(f"推理结果保存至: {results[0].save_dir}") ``` 运行: ```bash python test_yolo.py ``` #### 六、预期性能 根据硬件限制,参考数据: | 模型 | 分辨率 | FPS (无加速) | FPS (OpenVINO) | |------------|--------|--------------|----------------| | YOLOv8n | 320x320| 0.8-1.2 | 1.5-2.0 | | YOLOv8s | 640x640| 0.3-0.5 | 0.7-1.0 | > 注:实际性能受环境温度影响,持续推理需加散热装置[^1][^2]。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值