Linux下YOLOv5的配置与使用

算法介绍

YOLOv5

环境配置

下载

1.到github下载源码
Github:https://github.com/ultralytics/yolov5
然后解压下载的压缩包,解压后的默认文件夹是yolov5-master,当然也自己可以随意命名。
可以在下图,下载最新更新的项目:

也可以在下图,下载需要的项目版本(Source code的zip和tar.gz压缩格式,二选其一即可):
2.下载权重文件
下载权重文件,其实是yolo的预训练模型。 Github:https://github.com/ultralytics/yolov5/releases
YOLOv5根据参数量分为了n、s、m、l、x五种类型,其参数量依次上升,当然了其效果也是越来越好。 x:,l:large,m:,s:small,n
在yolov5-master文件夹下新建pretrained文件夹,将权重文件放进来。

配置

  1. 如果安装了Anaconda(简称:conda),则先创建虚拟环境、激活虚拟环境,再继续下面的操作。若不使用conda,则直接进行下面的步骤。(推荐先安装conda,并创建虚拟环境)
  2. 安装pytorch和torchvision。到PyTorch网站选择合适的pytorch版本,取得相应的安装命令,然后安装torch和torchvisionhttps://pytorch.org/
    服务器没有GPU,这是一个CPU版本的安装示例:

    使用conda命令:
    conda install pytorch torchvision cpuonly -c pytorch
    或者使用pip命令:
    pip install torch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0

  3. 在Terminal中使用命令,cd到解压得到的文件夹之内,有一个requirement.txt文件,将其中的torch和torchvision的信息注释掉(使用#号注释)
    执行命令,安装其他需要的库:

    pip isntall -r requirement.txt

  4. pycocotools用于计算目标检测的精度、mAP。
    安装pycocotools:

    Linux下安装:pip install pycocotools
    Windows下安装:pip install pycocotools-windows

    PyQt5用来搭建(图形化)界面。
    安装PyQt5:

    pip install PyQt5

  5. opencv(requirement.txt中有此库的话,可以跳过此步)
    安装命令:

    pip install opencv-python

  6. 安装matplotlib可视化库(requirement.txt中有此库的话,可以跳过此步)
    命令:

    pip install matplotlib

初步使用

初步使用,同时测试是否配置成功。
data/images/目录下有两张图片,其中一个是bus.jpg,下面使用bus.jpg进行测试。

运行python程序detect.py

执行命令:

python detect.py --source data/images/bus.jpg --weights pretrained/yolov5s.pt

程序会创建runs文件夹,runs/detect/exp/目录下的图片bus.jpg是程序输出的结果。每运行一次detect.py,就会产生一个用来存放结果的新文件夹。

程序执行时报错

运行python程序detect.py,执行detect.py检测命令时,

yolov5 服务器运行报错:ImportError: libGL.so.1: cannot open shared object file: No such file or directory

解决方法:
方法1
  apt-get update
  apt-get install ffmpeg libsm6 libxext6 -y
方法2(不一定管用)
  pip uninstall opencv-python
  pip install opencv-python-headless

------ 2023-10-21 星期六 21:49:58 ------

数据标注

LabelImg工具是一款图像标注工具,可方便创建自己的数据集,方便进行深度学习训练。它是用Python编写的,并将Qt用于其图形界面。

安装命令:

启动虚拟环境: conda activate 虚拟环境名称
安装:pip install labelimg

启动labelimg:命令行输入labelimg,然后回车。

也可以去Github上下载:https://github.com/HumanSignal/labelImg
可能会报错:

qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in ““ even though it was found

这句话意思是Qt应用程序时缺少xcb平台插件。这可能是因为未安装相应的Qt平台插件库,或者环境变量未正确设置。可以通过一下命令解决:

sudo apt-get install libxcb-xinerama0

------ 2023-10-23 星期一 15:25:06 ------

模型训练

python train.py --data mask_data.yaml --cfg mask_yolov5s.yaml --weights pretrained/yolov5s.pt --epoch 100 --batch-size 4 --device cpu

模型评估

python val.py --data data/mask_data.yaml --weights runs/train/exp_yolov5s/weights/best.pt --img 640

模型使用

# 检测摄像头
python detect.py --weights runs/train/exp_yolov5s/weights/best.pt --source 0 # webcam
# 检测图片文件
python detect.py --weights runs/train/exp_yolov5s/weights/best.pt --source file.jpg # image
# 检测视频文件
python detect.py --weights runs/train/exp_yolov5s/weights/best.pt --source file.mp4 # video
# 检测一个目录下的文件
python detect.py --weights runs/train/exp_yolov5s/weights/best.pt path/ # directory
# 检测网络视频
python detect.py --weights runs/train/exp_yolov5s/weights/best.pt 'https://youtu.be/NUsoVlDFqZg' # YouTube video
# 检测流媒体
python detect.py --weights runs/train/exp_yolov5s/weights/best.pt 'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP stream

构建可视化界面

------ 2023-10-23 星期一 16:29:12 ------

文章目录

Linux下YOLOv5的配置与使用
算法介绍
环境配置
初步使用
数据标注
模型训练
模型评估
模型使用
构建可视化界面