darknet&mxnet训练检测方法

准备数据

生成数据:打开labelImg(对连续图片可自动标注)或labelImg_no(手动标注)
open:打开单张图片
open dir:打开文件夹 (图片路径)
Change Save Dir:同时打开xml文件 (xml路径)
use default label(使用默认创建)
W — 画框
Next Image — (自动保存,生成.xml文件)
A — 删除当前标注
D — 下一张
F — 上一张

整理数据:pic和xml文件数目不对应时,对数据进行整理
使用dataClass里的Arrangement_pic_xml.py脚本
修改picDir = r ".../pic/" 和 xmlDir = r".../xml/"

python Arrangement_pic_xml.py

转换数据(两个框架都有):
darknet中
1.初始状态:picClear、xmlClear、.names文件(记录类别)
2.修改trainingDataConvert.sh:

bathDir = "/.../.../laminate"
yolov3 = 1  重量级
yolov3_tiny =1 轻量级

效果:自动生成.data 、.cfg文件以及module dir
3.修改生成的.cfg文件:

batch = 16
subdivision = 8   (切割数,越大占显存越小)
classes = 类别数 ,fliter = (类别数+5)x 3	(CTRL+F to search yolo)

mxnet中

Home – VOCdevkit --VOC2018

pic文件放在JPEGImages中即可
xml文件放在Annotations中即可

训练模型(不同框架不同)

darknet中:

./darknet detector train **.data **.cfg darknet53.covn.74(模型可选,以**.weights为后缀的文件)

mxnet中:

路径:Home – project – mxnet – gluon-cv-master – scripts – detection –

  1. 修改train_faster_rcnn.py

    AllLabelList=['','','']  (类别)
    parser.add_argument中的default参数:resnet101_vld || resnet50_vlb
    
  2. 执行train_faster_rcnn.py

    sourece activate gluon
    python train_faster_rcnn.py
    

测试模型(只有darknet)

注:mxnet中不用测试模型,在生成的.params前都有MAP数值,同文件名一起输出,其中best为最好的模型

转换数据

  1. 同上,初始状态 (picClear , xmlClear , *.names)

    ./trainingDataConvert.sh  (生成.data和.cfg)
    
  2. 修改.cfg

生成测试结果(results)

  1. 修改val_models.sh文件

    modelJiaDir="产生模型的文件夹地址"
    bathDir="*.names文件的目录地址"
    
  2. 修改*.data文件
    val test

    valid=/.../.../.../2018_val.txt (将val改为test,即2018_test.txt)
    
  3. 使用命令进行评测

    ./val_model.sh
    

结果可视化

  1. 修改val_model.py文件

    classes=[' ' , ' ' , ' '] (类别)
    resultDir=r"/../../results/" (存放评测结果的地址)
    
  2. 执行脚本

    python val_model.py
    

    挑出MAP最高的模型

调用模型(测试图片,不同框架不同)

检测GPU是否可用:

nvidia-msi  (静态)
watch nvidia-msi  (动态显示显卡状态)

darknet中

  • 检测图片:(图片中生成框,识别图片中的类)
./darknet detector test *.data *.cfg *.weights *.jpg
  • 检测视频:(视频中动态生成框,识别视频中的类)
./darknet detector demo *.data *.cfg *.weights *.mp4

mxnet中

  1. 修改脚本demo_faster_rcnn.py

    • picDir=图片路径
    • saveDir=存储路径 (初始为空)
    • classes=’ ’ (注:可以执行AllLabel.py脚本从终端获取,即遍历xml文件)
    • default = * (faster_rcnn_resnet101_vid_vod || faster_rcnn_resnet50_vib_vod)
  2. 执行脚本

    source activate gluon
    python demo_faster_rcnn.py --pretrained *.parameters (模型名的路径,101或者50的模型)
    

    .weights是darknet框架里的模型
    .parameters是mxnet框架里的模型

预标注(只有darknet才有预标注)

  1. 初始状态(必备条件,6个缺一不可):

    pic(dir),xml(dir) , *.names , *.data , *.cfg , *.weights
    

    注意! *.data里面的name属性的值必须为 *.names的路径

  2. 修改darknet_writeXml.py

    testPerson8=0  //表示使用标注功能
    bathDir_biaozhu=r"项目文件夹/"
    
  3. 执行darknet_writeXml.py脚本

    source activate gluon
    python darknet_writeXml.py
    

    效果:生成对应pic的xml文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值