本文基于课堂学习要求,完成yolo目标检测实验报告,并分享自己操作流程。实验代码由老师提供,包括YOLO算法代码“yolov4-pytorch-master”和框图程序“labelImg_exe”两部分。
一、实验准备
1.准备数据集
本人准备了120张人像图片,存储在指定路径。
yolov4-pytorch-master\VOCdevkit\VOC2007\JPEGImages
2.标签图像
使用框图程序“labelImg_exe”为训练集标签。
首先修改predefined_classes.txt(路径:labelImg_exe\data)文件中的标签信息,用于标注图片。
之后就可以打开labelImg_exe程序为每张图片进行标签。点击“Open Dir”打开训练集(yolov4-pytorch-master\VOCdevkit\VOC2007\JPEGImages),点击“Chang Save Dir”将保存路径修改为yolov4-pytorch-master\VOCdevkit\VOC2007\Annotations。点击“Create\nRectBox ”框选图片并添加标签。点击“Save”保存标签。每次框选后都需要手动保存。
保存后的标签文件。
二、训练模型
首先修改coco_classes.txt和voc_classes.txt文本文件,将里面的标签名改为前面设置的标签名。之后运行voc_annotation.py文件生成2007_train.txt和2007_val.txt。注意voc_annotation.py文件中的参数annotation_mode的取值要设置为0。
现在就可以开始运行train.py文件训练模型。代码会训练数据集300次,每10次会生成1个模型,还会自动保存效果最优模型best_epoch_weights.pth(存储路径为yolov4-pytorch-master\logs\best_epoch_weights.pth),此外还生成了epoch_loss.png损失曲线图和epoch_map.png平均精度曲线图。
三、模型预测
模型预测需要用到yolo.py文件和predict.py文件。yolo.py文件需要修改"model_path",将其修改为'logs/best_epoch_weights.pth'。之后即可运行predict.py文件。
输入测试图片路径。