OrangePi 5plus yolov5 部署全过程

准备工作

一、下载用户手册

下载-Orange Pi官网-香橙派(Orange Pi)开发板,开源硬件,开源软件,开源芯片,电脑键盘

里面有详细的镜像烧录教程和桌面使用等

二、镜像下载

准备一张TF卡(32G以上),插入电脑,下载镜像

我选择的是ubuntu镜像,下载下来有20多个G,解压其中想要的版本,我选的这个:大概2G

 三、镜像烧录

下载镜像烧录软件——ballenaEtcher

balenaEtcher - Flash OS images to SD cards & USB drives

点击绿色按键download Etcher,选择Portable版本

1. 选择要烧录的linux镜像文件的路径(Orangepi5plus_1.0.8_ubuntu_focal_desktop_xfce_linux6.1.43)

2. 选择TF卡盘符

3. 点击flash烧录

四、开机

将烧录好的TF卡插入orangePi中,插电,开机(有开机键),插入鼠标键盘,外接显示器(HDMI),接入网线

设置root用户自动登录终端

orangepi@orangepi:~$ sudo auto_login_cli.sh root

RKNN香橙派部署

一、miniconda安装

1. 去官网下载Miniconda — Anaconda documentation

下载这个,官网下面的快捷安装我试过会报错

下载后

sh Miniconda3-py37_4.9.2-Linux-aarch64.sh

一直enter,然后yes,然后enter

2. 接着conda --version查看,一般会报错说no command

添加环境变量

vim ~/.bashrc

 打开 ~/.bashrc,输入i 进行编辑,在配置文件最后添加以下语句:

export PATH="/home/pi/miniconda3/bin:$PATH"

 这个路径是miniconda的实际路径,可以打开miniconda文件夹,然后终端打开输入pwd查看地址

完成后按esc退出,然后shift+冒号,输入wq保存退出

接着更新配置:

source ~/.bashrc

具体可以参考这篇博文:

香橙派Zero3安装miniconda3(问题多多,已全部解决)_香橙派conda-优快云博客

二、创建环境

conda create --py37 python=3.7

py37是环境名,可以自定义

激活环境

conda activate py37

换源:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

二、RKNN安装

参考这篇

香橙派使用NPU部署Yolov5的完整解决方案 - 知乎 (zhihu.com)

1. 代码下载

git clone https://github.com/rockchip-linux/rknn-toolkit2.git
git checkout v1.6.0

2. 安装rknn(注意在py37环境下,还有所在位置)

pip install rknn_toolkit_lite2/packages/rknn_toolkit_lite2-1.6.0-cp37-cp37m-linux_aarch64.whl
pip install opencv-python

3. 运行测试程序

cd rknn_toolkit_lite2/examples/dynamic_shape
python test.py

 从运行的结果中librknnrt version: 1.4.0,可以看出。我们的设备支持RKNN的1.4.0的版本
接下来,我们就安装RKNN1.4.0的版本。

可能报错:

运行RKNN自带示例时,报错InvalidVersion,已解决_invalid rknn model version 6-优快云博客

pip uninstall setuptools

install setuptools==49.6.0

4. 切换rknn1.4.0

git checkout v1.4.0

 5. 查看支持的python版本

6.  安装rknn

pip install rknn_toolkit_lite2/packages/rknn_toolkit_lite2-1.4.0-cp37-cp37m-linux_aarch64.whl
pip install opencv-python

7. 测试安装效果

# 没有出现报错,则安装成功
python -c "from rknnlite.api import RKNNLite"

RKNN PC Linux部署

待写

### Orangepi硬件与YOLOv1模型的兼容性和开发环境搭建 #### 一、Orangepi硬件特性及其对深度学习的支持 Orangepi系列设备,尤其是提到的OrangePi AI Pro型号,具备强大的性能和丰富的接口资源[^1]。其支持多种主流操作系统(如Ubuntu、openEuler),并能够运行常见的编程语言(如Python、C++)。这些特点使其成为嵌入式AI项目的一个理想平台。 对于深度学习框架而言,OrangePi AI Pro可以通过安装TensorFlow Lite、PyTorch Mobile或其他轻量级推理引擎来执行神经网络模型推断操作[^2]。然而需要注意的是,在实际部署过程中可能会受到处理器架构限制的影响——ARM Cortex-A7/A53这类CPU核虽然功耗低但算力有限;因此如果要高效运行复杂的CNNs比如YOLO家族成员,则可能还需要借助GPU加速或者专用NPU单元(视具体产品版本而定)。 #### 二、YOLO v1简介及移植可行性分析 YOLO (You Only Look Once) 是一种实时目标检测算法,其中第一个版本即YOLOv1以其简洁快速著称。它通过单次前向传播完成边界框预测与类别分类任务,相比传统两阶段方法显著提升了速度表现[^3]。 考虑到Orangepi所搭载硬件的能力水平,理论上是可以适配YOLOv1这样的较早期版本的目标检测系统的。不过由于原生训练好的权重文件通常是基于桌面端高性能显卡优化过的浮点数精度格式(.weights),所以在将其迁移到资源受限环境中之前通常要做一些转换工作: - **量化处理**:将FP32参数降低到INT8甚至更低位宽表示形式以减少内存占用同时加快运算速率; - **裁剪简化结构**:去掉不必要的层或节点从而进一步缩小规模适应小型化场景需求。 #### 三、开发环境配置指南 以下是针对如何在Orangepi平台上构建适合运行YOLOv1项目的软件栈建议列表: ##### 1. 操作系统选择 推荐选用长期稳定版(LTS)类型的Linux发行版作为基础OS,例如Ubuntu Mate 20.04 LTS ARM64镜像包。这样可以获得较好的社区技术支持同时也便于后续扩展其他依赖组件库。 ##### 2. Python生态准备 确保已正确设置了pip工具链以便管理第三方模块插件。接着按照官方文档指示依次下载必要的科学计算类库numpy, opencv-python头文件集以及deep learning framework本身(pytorch/tensorflow)[^4]: ```bash sudo apt update && sudo apt upgrade -y sudo apt install python3-pip build-essential cmake git libgtk2.0-dev pkg-config \ libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev \ libtiff-dev gfortran openblas-dev libatlas-base-dev protobuf-compiler \ libgoogle-glog-dev libgflags-dev libeigen3-dev libhdf5-serial-dev \ libleveldb-dev libsnappy-dev liblmdb-dev wget unzip -y # Install specific version of OpenCV compatible with YOLO requirements. pip3 install numpy==1.19.3 scipy matplotlib pillow seaborn jupyterlab ipython pandas scikit-image h5py keras_applications tensorflow_addons torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu ``` ##### 3. Darknet源码编译 Darknet是由Joseph Redmon维护的一套用于计算机视觉研究的小型开源框架,默认情况下提供了完整的YOLO实现方案。为了能够在Arm架构机器上顺利加载预训练模型数据集,有必要自行克隆仓库地址并对Makefile做适当调整后再提交make命令生成最终可执行程序binary file darknet[^5]: ```bash git clone https://github.com/pjreddie/darknet.git ~/darknet_repo/ cd ~/darknet_repo/ sed -i 's/GPU=0/GPU=1/g' Makefile # Enable GPU support if available hardware supports CUDA/OpenCL etc.. sed -i 's/CUDNN=0/CUDNN=1/g' Makefile # Same as above line but related to cuDNN library usage flag setting. make clean all # Rebuild entire project after modification done on configuration files. ``` ##### 4. 测试样例脚本编写 最后一步就是结合摄像头输入流或者其他多媒体素材来源设计一段简单的演示代码片段用来验证整个流程是否通畅无误: ```python import cv2 from pydarknet import Detector, Image if __name__ == "__main__": net = Detector(bytes("cfg/yolov1.cfg", encoding="utf-8"), bytes("weights/yolov1.weights", encoding="utf-8"), 0, bytes("data/coco.names",encoding="utf-8")) cap = cv2.VideoCapture(0) while True: ret,img=cv2.read(cap) if not ret:break img_darknet=Image(img) results=net.detect(img_darknet) for cat,score,bounds in results: x,y,w,h=bounds cv2.rectangle(img,(int(x-w*0.5),int(y-h*0.5)),(int(x+w*0.5),int(y+h*0.5)),(255,0,0)) cv2.putText(img,str(cat.decode())+" "+str(round(score*100))+"%",(int(x),int(y)),cv2.FONT_HERSHEY_SIMPLEX,.5,(255,255,0),2) cv2.imshow('Detection Results',img) keypress=cv2.waitKey(1)&0xFF if keypress==ord('q'):break del(net) cap.release() cv2.destroyAllWindows() ``` --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小老大MUTA️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值