赞
踩
首先,需要准备一个标注好的数据集。这通常包括图像文件和相应的标注文件,标注文件中记录了图像中目标物体的位置(边界框)和类别。
在完成数据集的摆放之后,我们需要利用voc_annotation.py获得训练用的2007_train.txt和2007_val.txt。
修改voc_annotation.py里面的参数。第一次训练可以仅修改classes_path,classes_path用于指向检测类别所对应的txt。
训练自己的数据集时,可以自己建立一个cls_classes.txt,里面写自己所需要区分的类别。
model_data/cls_classes.txt文件内容为:
```python
cat
dog
...
```
修改voc_annotation.py中的classes_path,使其对应cls_classes.txt,并运行voc_annotation.py。
如上图所示,打开voc_annotation.py将annotation_mode设置为2,目的是获得训练用2007_train.txt以及2007_val.txt。此文件中的classes_path需要指向检测类别对应的文件,本实验用的VOC数据集,路径为根目录下model_data中voc_classes.txt文件,如果是训练自己建立的数据集,可以在model_data中建立一个新的txt文件并将classes_path指向其路径即可。
打开train.py文件,如下图所示:
文件中的第78行,classes.path需要对应voc_annotation.py中的classes.path,再将预权重文件放入model_data中,设置好后开始训练。
训练多个Epoch后,权值文件会生成到根目录中的logs里
训练结果预测需要先打开根目录下的yolo.py文件设置相关路径,如图所示
训练结果预测需要用到两个文件,分别是yolo.py和predict.py。在yolo.py里面修改model_path以及classes_path。
model_path指向训练好的权值文件,在logs文件夹里。
classes_path指向检测类别所对应的txt。**
完成修改后就可以运行predict.py进行检测了。运行后输入图片路径即可检测。
输入图片路径结果如下:
经过多次尝试和优化,我们成功训练了一个针对自定义数据集的YOLOv4目标检测模型。在测试集上,模型取得了较高的精度和召回率,能够满足实际应用需求。同时,我们也对实验结果进行了详细的分析和讨论,总结了模型性能提升的关键因素和进一步优化的方向。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。