yolo

    xiaoxiao2022-07-07  235

    Yolov3训练自己的数据集

    1、在官网上下载yolo2、使用labelimg标注图片,保存为xml文件3、在darknet中按以下目录创建文件夹4、下载Imagenet预训练权重5、运行voc_label.py6、修改配置文件7、开始训练8、测试

    1、在官网上下载yolo

    https://pjreddie.com/darknet/yolo/

    按提示操作即可

    2、使用labelimg标注图片,保存为xml文件

    https://cloud.tencent.com/developer/news/325876

    labelimg的安装教程

    3、在darknet中按以下目录创建文件夹

    voc –VOCdevkit –—voc2018 –——Annotations –——ImageSets –———Main –——JPEGImages –——labels Annotations中是所有的xml文件 JPEGImages中是所有的训练图片 图片文件和xml文件的名称最好匹配

    Main中包含train.txt 和test.txt 分别为训练集和测试集的文件名称 注意!!!不需要写路径只需要写文件名称 文件名称的获得方式很多教程是用makeTxt.sh,但教程上的代码并不管用 可以自行用python写个程序遍历文件夹的文件 最傻的标注时图片命名规律一点,可以直接写个循环print出来再copy一下

    4、下载Imagenet预训练权重

    wget https://pjreddie.com/media/files/darknet53.conv.74

    5、运行voc_label.py

    1、下载voc_label.py

    wget https://pjreddie.com/media/files/voc_label.py

    修改其中的sets

    sets=[('2018', 'train'),('2018', 'test')]

    修改class为自己设定的类型!!! 修改相应的地址!!!

    2、voc_label.py的功能 一是会在labels中生成txt文件,标有位置信息 二是会生成2018_train.txt和2018_test.txt。包含图片的地址

    3、运行

    python voc_label.py

    6、修改配置文件

    1、修改data/voc.names 修改为自己的样本类型

    2、按需求修改网络参数文件cfg/yolov3-voc.cfg 可以依据自己的设备修改迭代率

    max_batches = 50200 // 迭代次数 policy=steps // 学习率策略 steps=40000,45000 // 学习率变动步长 scales=.1,.1 //学习率变动因子

    表示为在40000次时学习率乘以0.1,45000次时乘以0.1

    3、修改cfg/voc.data

    classes= ? //自己的类别数量 train = /自己的路径/2018_train.txt valid = /自己的路径/2018_test.txt names = data/voc.names backup = backup

    2018_train.txt 2018_test.txt 这两个文件中保存的是图片的路径信息,之前voc_label.py生成的

    7、开始训练

    ./darknet detector train cfg/voc.data cfg/yolov3-voc.cfg darknet53.conv.74 -gpus 0,1

    8、测试

    ./darknet detect cfg/yolov3-voc.cfg backup/yolov3-voc_final.weights

    暂时先这样写下笔记,下次再加上代码

    最新回复(0)