参考1:https://phpsdk.cn/plug/news/show.html?id=12656
参考2:https://blog.csdn.net/weixin_70026476/article/details/128184135
一 、 Yolov5环境搭建及案例运行
1.创建虚拟环境
激活anaconda环境
conda activate
创建一个名为yolo虚拟环境,用来安装配置运行环境
conda create -n yolo
激活环境
activate yolo
安装python依赖
conda install python=3.8
2.下载yolov5
克隆Yolov5存储库
git clone https://github.com/ultralytics/yolov5.git
下载Yolov5的预训练权重
wget https://github.com/ultralytics/yolov5/releases/download/v3.0/yolov5s.pt
3.配置环境
从yolov5中进入终端,激活yolo虚拟环境
conda activate yolo
打开requirements.txt,根据需求修改依赖包版本,这里我只修改了numpy
安装这些依赖
pip install -r requirements.txt
安装成功是这样的
4.运行案例
运行yolov5
python detect.py --source data/images/zidane.jpg
python detect.py --source data/images/bus.jpg
5.运行自己的相机
修改detect.py
找到如下代码段
将如下一行
parser.add_argument('--source', type=str, default=ROOT / 'data/images', help='file/dir/URL/glob/screen/0(webcam)')
中的 default=ROOT / 'data/images'
改为 default=0
则为调用video0的摄像头
在VScode中打开yolov5项目,VScode中调出终端,激活配置的yolo虚拟环境
conda activate yolo
接着输入
python detect.py
运行结果如下
二、创建自己的数据集训练验证
1.安装标注工具labelImg
下载和安装Python(若已安装请忽略此步骤):
sudo apt update #可用 可不用
sudo apt install python3
安装pip,它是Python包管理器:
sudo apt install python3-pip
使用pip安装labelimg:
sudo pip3 install labelImg
安装完成,运行labelimg:
labelImg
2.下载数据集
(如果你自己有拍摄好的图像集,直接用自己的)
参考:https://www.codenong.com/cs106894177/
下载其拍摄的停车位图像集:https://github.com/wuzzh/Parking-slot-dataset
3.标记图像
启动labelImg
在界面左侧“打开目录”设置好图像集的路径
在“改变存放目录”设置标记文件存放路径
在“保存”下面的按钮设置标记文件类型:有yolo、ml、</> VOC三种,这里我们用yolo即txt格式。
为了高效标注数据集,可以使用快捷键进行操作。常用的快捷键包括:
a—前一张图片
d—后一张图片
w—打开标注十字光标
View(查看)—Auto Save mode开启自动保存模式
4.划分数据集
共标记了220张图像,将200张作为训练集,20张作为验证集和测试集
如图:在train文件夹中images放入未标记图像,labels放入标记后的文件;val验证集文件夹跟train一样。
将文件夹carline整个复制到yolov5,并在carline中创建data文件夹,并将train和val剪切复制到data,并在carline文件中创建yaml配置文件,在yaml文件中将训练集,验证集和测试集的文件路径进行配置,并在最后写好要训练的Classes(类)名和对应的数字。
至此数据集就创建好了。
5.训练
在yolov5文件夹中进入终端,激活yolo环境:
conda activate yolo
运行train.py进行训练
python3 train.py --batch 16 --epochs 200 --data /home/stk/yolov5/carline/valid.yaml --weights yolov5s.pt --device 0
指令中各参数解释如下:
–batch:训练集分配批次;
–epochs:训练轮次;
–data:配置文件;
–device:选择的显卡编号
训练结束后生成的权重文件会储存在以下路径:yolov5/runs/train/exp2/weights/best.pt
6.验证模型
通过运行detect.py文件验证模型训练结果,输入指令:
python3 detect.py --weights runs/train/exp2/weights/best.pt --source 0(可以选择检测摄像头、图片和视频) --device 0
这里直接上图片的路径:
python3 detect.py --weights runs/train/exp2/weights/best.pt --source /home/stk/下载/Parking-slot-dataset-master/Open/parking_key_point0828_L/000800.jpg --device 0