MobileNet 训练检测网实验总结

本文总结了使用MobileNet进行目标检测的实验过程,包括数据制作、训练和检测三个阶段。在数据制作中,详细介绍了如何将VOC数据集转换为tf.record文件;在训练阶段,提到了配置文件的修改和训练参数的设置;检测阶段则讨论了模型的使用和性能测试。
摘要由CSDN通过智能技术生成

MobileNet 训练检测网实验总结

MobileNet做目标检测的包在tensorflow/models/object_detection里。先下载一个ssd_mobilenet_v1的预训练模型。

1.数据制作

  • 准备VOC格式的数据集

  • 使用 脚本 ../object_detection/cre

    ate_pascal_tf_record.py 把VOC数据转化成 tf.record文件。

# DATA
python bread_pascal_record.py --data_dir=/home/wrz/zifu/VOCdevkit2007/VOC2007 --year=VOC2007 --output_path=/hyw/zifu.record --label_map_path=/hyw/zifu_label_map.pbtxt
  • 这个脚本需要提供 标签文件label_map.txt ,在object_detection/data/下有很多label_map.txt的例子
  • 这个脚本对取xml文件,每张图片生成tf.example的数据结构,如果报错找不到图片,可以在主函数中print data,看下data[dir]data[filename],在函数dict_to_tf_example中对应修改img_path
  • 函数dict_to_tf_example中展示了对xml文件读取和创建tf.example类型的过程,可以在这里根据对label的需要做改动

2.训练

  • 网络结构文件 ../object_detection/samples/configs/下有mobilenet_ssd的训练用的网络结构文件ssd_mobilenet_v1_pets.config,修改下面几处:

    • num_class
    • fine_tune_checkpoint: “/home/wrz/MobileNet-master/models-master/object_detection/ssd_mobilenet_v1_coco_11_06_2017/model.ckpt
    • input_path: “/home/wrz/MobileNet-master/models-master/object_detection/hyw/zifu.record”
    • label_map_path: “/home/wrz/MobileNet-master/models-master/object_detection/hyw/zifu_label_map.pbtxt”
    • train_config: batch_size;learning_rate

    关于网络结构文件,其结构如下

    --model:{}
    
    --train_config:{
      --optimizer: {}
      --data_augmentation_options:{}
      ...
       }
    
    --train_input_reader: {}
    --eval_config: {}
    --eval_input_reader: {}
  • 类似caffe.proto对layers的参数定义,tensorflow在object_detect/protos/ 下有对config文件各个部分的参数定义。例如在optimizer.proto中可以找到learning_rate,在train_config.proto中有batch_size:

    syntax = "proto2";
    
    package object_detection.protos;
    
    import "object_detection/protos/optimizer.proto";
    import "object_detection/protos/preprocessor.proto";
    
    message TrainConfig {
      // Input queue batch size.
      optional uint32 batch_size = 1 [default=32];
    
      // Data augmentation options.
      repeated PreprocessingStep data_augmentation_options = 2;
    
      // Whether to synchronize replicas during training.
      optional bool sync_replicas = 3 [default=false];
    
      // How frequently to keep checkpoints.
      optional uin
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值