yolov3制作训练自己的数据集

yolov3制作训练自己的数据集

问题记录:
使用labelimg产生的xml文件width,height=0有的可能为0,导致voc_label.py报错

ZeroDivisionError: float division by zero

可能会最终导致训练出来的权重文件无法产生框的情况
如果图片标注时产生的xml文件width,height=0,则需要重新再resize图片,附python代码:

from PIL import Image
import os.path
import glob

# 设置width和height值
def convertjpg(jpgfile,outdir,width=1280,height=720):
    img=Image.open(jpgfile)
    try:
        new_img=img.resize((width,height),Image.BILINEAR)
        new_img.save(os.path.join(outdir,os.path.basename(jpgfile)))
    except Exception as e:
        print(e)
for jpgfile in 
# 选择需要resize的图片路径
glob.glob("D:/E/robomaster/VOCdevkit2021/VOC2021/JPEGImages/*.jpg"):
    convertjpg(jpgfile,"D:/E/robomaster/VOCdevkit2021/VOC2021/JPEGImages/")

现在用可行的数据集再训练
训练:

darknet.exe detector train .\data\voc.data yolov3-voc.cfg darknet53.conv.74 .\results_mine

测试:(可能不一定需要,测试时记得更改cfg\yolov3-voc等配置文件,改为测试模式)

darknet.exe detector test data\voc.data yolov3-voc.cfg results_mine\yolov3-voc_last.weights

你可能感兴趣的:(问题记录,yolov3)