yolo-v2 自己的数据集训练以及测试流程(仅供内部使用!)

warning

该流程仅供内部使用,外部人士使用可能会报很多很多错误!

步骤

  1. 先清除backup文件夹中老的权重文件:
    yolo-v2 自己的数据集训练以及测试流程(仅供内部使用!)_第1张图片
  2. 将标定好图片以及annotation .txt文件拷贝到obj文件夹,一一对应,路径build/darknet/x64/data/obj,如:
    yolo-v2 自己的数据集训练以及测试流程(仅供内部使用!)_第2张图片
  3. 修改train.txt和test.txt文件,路径需与我们的图片以及标注路径一致:
    yolo-v2 自己的数据集训练以及测试流程(仅供内部使用!)_第3张图片
    详细步骤:
    1)新建Exel表格,在第一个单元格输入第一张图片路径,按住单元格右下角按钮往下拖动,直到生成跟数据集相同数量的单元格:
    yolo-v2 自己的数据集训练以及测试流程(仅供内部使用!)_第4张图片
    2)ctrl+a全选单元格,复制,打开train.txt文件,粘贴:
    yolo-v2 自己的数据集训练以及测试流程(仅供内部使用!)_第5张图片
    3)自行从中抽取(剪切)若干行粘贴到test.txt中,作为测试集,我这里抽取301-400、701-800、1101-1200、1501-1600共400张(25%)作为测试集。如有条件可用数据集拆分工具,更精准:
    参考文章:python 如何将数据集拆分成训练集和测试集(验证集)? split
    yolo-v2 自己的数据集训练以及测试流程(仅供内部使用!)_第6张图片
  4. 修改obj.data和obj.names文件,路径要对应:
    yolo-v2 自己的数据集训练以及测试流程(仅供内部使用!)_第7张图片
    yolo-v2 自己的数据集训练以及测试流程(仅供内部使用!)_第8张图片
  5. 复制yolo-voc.2.0.cfg文件,重命名为yolo-obj.cfg,打开yolo-obj.cfg,修改里面相关参数(属于高级调参,这步我们暂时不修改):
    yolo-v2 自己的数据集训练以及测试流程(仅供内部使用!)_第9张图片
  6. 打开darknet.sln,修改darknet.c相关代码,点击生成–> 生成解决方案:
    yolo-v2 自己的数据集训练以及测试流程(仅供内部使用!)_第10张图片
    yolo-v2 自己的数据集训练以及测试流程(仅供内部使用!)_第11张图片
    yolo-v2 自己的数据集训练以及测试流程(仅供内部使用!)_第12张图片
  7. 成功生成解决方案后,用记事本打开train-obj.cmd,查看里面内容,确认无误后,运行它,便开始训练,训练过程中可查看backup文件夹生成的权重文件情况:
    yolo-v2 自己的数据集训练以及测试流程(仅供内部使用!)_第13张图片
    yolo-v2 自己的数据集训练以及测试流程(仅供内部使用!)_第14张图片
    yolo-v2 自己的数据集训练以及测试流程(仅供内部使用!)_第15张图片
    yolo-v2 自己的数据集训练以及测试流程(仅供内部使用!)_第16张图片
  8. 测试权重文件参数
    请参考:python yolo-v2 设计批处理程序对训练生成的权重文件进行自动化批量测试,并输出结果到指定txt文件

你可能感兴趣的:(Yolo)