模型训练
一、数据集和预训练权重的准备
数据集:利用labelimg软件来标注数据和数据的准备
预训练权重:一般为了缩短网络的训练时间,并达到更好的精度,我们一般加载预训练权重进行网络的训练。而YOLOv5的5.0版本给我们提供了几个预训练权重,我们可以对应我们不同的需求选择不同的版本的预训练权重。通过如下的图可以获得权重的名字和大小信息,可以预料的到,预训练权重越大,训练出来的精度就会相对来说越高,但是其检测的速度就会越慢。预训练权重可以通过下列网址进入然后进行下载,本次训练自己的数据集用的预训练权重为yolov5s.pt。
二、模型训练
1.Pycharm配置
1.1Car.yaml文件创建
打开下载好的yolov5文件夹
在data文件夹下创建Car.yaml文件
注意:
(1)train和val需要用到本人电脑的绝对路径,根据自己数据集所放位置来。
(2)nc指的是分类,即模型训练结果分类,此处为在用labelimg为数据集标注时候确定。
(3)names指的是分类名称,在这里我分类为car/not_car
1.2路径配置
这三个地方的路径需要修改
1.3设置参数
这里epochs 训练轮数选择100
batch-size 选择为3,因电脑显卡限制,博主这里选择为3
2.模型训练
点击运行即可开始训练
训练完成后的界面,准确率97.9%,召回率91.9%,平均精度96.9%,总体来说精准度还是比较高的
模型评估指标:
模型评估指标主要包括精度P(precision)、召回率R(recall)和平均精度均值(mAP)。精确率表示预测结果中预测为正的样本中有多少是真正的正样本的比率,召回率表示原始样本中的正例有多少被预测正确的比率,mAP即所有类别的平均精度求和除以数据集中所有类的平均精度。在本次训练过程中,TP、FP和FN分别表示正确检测框、误检框和漏检框的数量.
3.测试数据
修改路径
可以看出,车俩检测的效果还是不错的