FireFly RK3588开发板上烧录的Ubuntu20.04系统,在此基础上线部署下简单的Python版本yolov5代码,目前博主已全部转为C++版本了,并且转化了pt模型为rknn模型,调用npu进行推理,效果和速度都比原先Python代码好很多。本篇主要介绍如何部署和运行yolov5目标检测代码。
?1、安装anaconda
Anaconda是流行的Python/R数据科学和机器学习平台,用于大规模数据处理,预测分析和科学计算。Anaconda附带了250个开源数据包,并且可以从Anaconda存储库中安装超过7500个其他包。 它还包括conda命令行工具和称为Anaconda Navigator的桌面图形用户界面。
1、进入Anaconda官网,下载安装包,注意文件后缀是你的系统架构,比如x86、amd64或者aarch64,可以通过下面命令查看。
2、cd到你的下载目录,然后bash Anaconda3-2022.05-Linux-aarch64.sh
,进行安装,会看到以下画面:
Welcome to Anaconda3 2022.05In order to continue the installation process, please review the licenseagreement.Please, press ENTER to continue>>>
3、按ENTER继续。要滚动浏览许可证,请使用ENTER键。审查完许可后,将要求您批准许可条款:
Do you approve the license terms? [yes|no]
4、键入yes接受许可,系统将提示您选择安装位置:
Anaconda3 will now be installed into this location:/home/firefly/anaconda3 - Press ENTER to confirm the location - Press CTRL-C to abort the installation - Or specify a different location below
5、默认位置对于我们大多数用户来说已经就可以,按ENTER确认安装位置。安装可能需要一些时间,完成后,脚本将询问您是否要运行conda init,键入yes。
Installation finished.Do you wish the installer to initialize Anaconda3by running conda init? [yes|no]
6、这会将命令行工具conda添加到系统的PATH中。要激活Anaconda安装,您可以关闭并重新打开终端,或者通过键入以下命令来将新的PATH环境变量加载到当前的shell会话中:
source ~/.bashrc
7、这样就是成功了安装了Anaconda,现在我们创建一个python3.8的名称为yolo的环境。打开终端,输入conda create -n yolo python=3.8
回车,输入y确定,等待创建成功即可。
如果你是Windows系统,可以看下win10的anaconda安装配置教程
?2、配置yolov5环境
1、从github官网或者gitee镜像网站下载yolov5的代码,我这里下载的是v6.0版本,如果你直接下载的话默认的是最新版,为了保证能顺利运行,建议和我下载一样的版本。然后下载它对应的模型weights,weights分为s,m,l,x四个尺寸的模型文件,我这里就下载了yolov5s.pt,然后把它放在根目录下,如下图所示:
2、在volov5-6.0下的requirements.txt,把numpy == 1.17的 ==1.17删去,然后在该文件夹下的终端中输入
pip3 install -U -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
即可全自动安装前十一个依赖项(-i 选项指定了清华源,速度很快)。
3、安装COCOAPI
进入github,clone下来,在子文件夹PythonAPI下打开终端,输入make
或者python setup.py --user
即可安装。如果有报错则可能是缺少依赖或者版本不对,那么用pip安装指定版本即可。
至此,yolo所需的环境配置完成,是不是非常简单,毕竟这些操作都应该是大学生必备技能!
?3、运行yolov5算法
1、可以在source这里修改输入源,可以是图像、文件夹、网络视频、rtsp视频流等,或者0调用自带摄像头。
2、然后终端进入我们创建的yolo环境,输入python detect.py
即可运行。可以看到窗口中是我的IP相机的rtsp流,每个不同类别的目标都有不同颜色的检测框,上面是目标的置信度(预测概率),控制台是每一帧检测情况的日志。
输入命令也可以加上很多参数,比如–source指定输入源,–weights指定权重文件等。
至此,你已经成功运行出yolo算法了,是不是很简单直接呢,作为目标检测最经典的算法,是我们计算机视觉研究者必会算法之一,关于yolov5的网络结构,可以看下它的论文,目前yolov7已经出来了,更新速度非常快。