栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

树莓派4B部署yolo V5 + openCV4.5.4编译

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

树莓派4B部署yolo V5 + openCV4.5.4编译

树莓派4B部署yolo V5 + openCV4.5.4编译
  • 一、准备工作
    • 1、系统固件的安装
    • 2、树莓派换源(清华)
    • 3、更换Python版本
  • 二、开始部署yolov5
    • 1、树莓派上安装opencv
      • 1.安装opencv环境依赖,依次执行下面命令
      • 2.下载opencv源码并解压
      • 3.设置编译参数
      • 4.编译及安装
      • 5.检查Opencv能否正常使用
    • 2、安装torch和torchvision
    • 3、安装Pytorch
    • 4、部署yoloV5
      • 1.下载yolov5
      • 2.开始安装依赖文件
  • 三、试运行
    • 1、运行自带测试文件。
    • 2、打开树莓派的摄像头进行实时监测
  • 四、懒人福利

一、准备工作 1、系统固件的安装

固件版本是2021-05-27-raspios-buster-armhf

用 balanceEtcher来给SD卡烧录固件。

2、树莓派换源(清华)

编辑 /etc/apt/sources.list 文件,删除(或者注释,语句前面加 # )原文件所有内容

sudo nano /etc/apt/sources.list

完成后效果如下

然后把以下内容输入进去

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi

完成后效果如下

换源结束,输入以下代码

sudo apt-get update
3、更换Python版本

(将Python2版本更换成Python3版本)

  1. 输入python3,进入Python交互环境查看自己是否有Python3
python3

如图

说明已经安装了Python3,如果没有Python3,先安装。我使用的固件版本已经自带了python2.7和python3.7。默认是python2,下面更换一下就可以了。

sudo apt-get install python3
  1. 更换Python版本(将Python2版本更换成Python3版本)
sudo rm /usr/bin/python

链接Python3,注:python3.7这里要换成对应你的python版本(我的是Python3.7.3)

sudo ln -s /usr/bin/python3.7 /usr/bin/python

终端输入python查看Python版本

二、开始部署yolov5

需要注意的是需要提前安装好torch,torchvision与opencv
下面我们先安装opencv

1、树莓派上安装opencv

详细步骤
这里不能用以下

sudo apt install python3-opencv

命令来安装opencv,因为yolov5里的requirements.txt(其中描述了所需要的支持包)文件里面的opencv-python要求是要大于等于4.1.1的版本,

如果按下面的命令的话下载的是3.2.0的版本。所以我们在这里编译opencv4.5.4的版本。这可能会耗费5小时左右。

我当时用opencv3.2.0的版本试过,后面出现了这种错误,不知道怎么解决,于是换了opencv的版本就没出现错误。

那么下载开始安装opencv

1.安装opencv环境依赖,依次执行下面命令
sudo apt update
sudo apt install -y cmake g++ wget unzip
sudo apt-get install libjpeg8-dev -y
sudo apt-get install libtiff5-dev -y
sudo apt-get install libjasper-dev -y
sudo apt-get install libpng12-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y
sudo apt-get install libgtk2.0-dev -y
sudo apt-get install libatlas-base-dev gfortran -y
2.下载opencv源码并解压
wget  https://github.com/opencv/opencv/archive/refs/tags/4.5.4.zip

输入以下命令解压opencv源码

unzip 4.5.4.zip

下载opencv_contrib源码

wget  https://github.com/opencv/opencv_contrib/archive/refs/tags/4.5.4.zip

输入以下命令解压opencv_contrib源码

unzip 4.5.4.zip.1
3.设置编译参数

依次输入一下命令(创建一个build文件夹来编opencv)

cd opencv-4.5.4
mkdir build 
cd build

输入参数

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=/home/pi/opencv_contrib-4.5.4/modules -D BUILD_EXAMPLES=ON -D WITH_LIBV4L=ON PYTHON3_EXECUTABLE=/usr/bin/python3.7 PYTHON_INCLUDE_DIR=/usr/include/python3.7 PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so PYTHON3_NUMPY_INCLUDE_DIRS=/home/pi/.local/lib/python3.7/site-packages/numpy/core/include ..

注意最后面是两个点,还有咱们固件python版本是3.7.3,所以这里的python版本都是3.7。
检查以上内容无误后,再回车执行,这个过程大约会花费10分钟

4.编译及安装

此过程会很长,建议用VNC连接,这样不需要为了观察它编译结束而长时间开启ssh。
开始编译

make

然后从百分之0开始过了很久(在下等了4个小时)你就会看到百分之100。
最后在build文件夹下执行以下命令。

sudo make install

大功告成。

5.检查Opencv能否正常使用
python
import cv2
cv2.__version__

2、安装torch和torchvision

百度网盘 密码 torc
下载完成以后可以用 MobaXterm 连接树莓派,然后把文件传输到树莓派中并解压。

然后进入该文件夹安装torch和torchvision。

pip3 install torch-1.8.0a0+56b43f4-cp37-cp37m-linux_armv7l.whl
pip3 install torchvision-0.9.0a0+8fb5838-cp37-cp37m-linux_armv7l.whl
3、安装Pytorch

执行以下命令

sudo apt-get install libopenblas-dev libblas-dev m4 cmake cython python3-dev python3-yaml python3-setuptools python3-wheel python3-pillow python3-numpy

输入 y 确认就行

4、部署yoloV5 1.下载yolov5
git clone https://github.com/ultralytics/yolov5

因为requirements.txt里面的opencv-python,torch,torchvision等文件咱们已将安装完成。所以在它们面前加个# 来注释掉它们。

cd yolov5
sudo nano requirements.txt


写入Ctrl + O
Enter(确认)
退出Ctrl + X

2.开始安装依赖文件

加上–default-timeout=1000参数 来防止超时

pip3 install --default-timeout=1000 -r requirements.txt


这会很慢,如果很急可以试一试换pip镜像源 参考 但我没有试过,大家不妨试一试。

三、试运行 1、运行自带测试文件。
python3 detect.py

2、打开树莓派的摄像头进行实时监测

怎么打开摄像头大家可以 参考 我的另外一个博文,里边能够找得到。
接着VNC连接树莓派,再执行以下命令

python3 detect.py --source 0


大功告成!!!!!

四、懒人福利

如果大家觉得麻烦,我在此提供我设置好的固件 (提取码:w8z3)(准备16G以上的sd卡)。
镜像大小计算:(boot分区全部 + root分区已使用) * 1.2 (差不多8G多)
用我提供的固件的话,进入系统以后首先执行以下命令,来扩容。或者大家在raspi-config里自行扩容。
这是一个扩容的shell脚本

cd Documents/rpi-bacup-master/
sudo bash resize.sh


关于扩容的脚本详细资料看GitHub

还往下看啊?没了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/861238.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号