美文网首页
谷歌object detection+voc数据格式完成目标检测

谷歌object detection+voc数据格式完成目标检测

作者: 赵小闹闹 | 来源:发表于2018-05-22 22:03 被阅读132次
    1. PASCAL_VOC数据集格式
    • JPEGImages文件夹
      文件夹里包含了训练图片和测试图片,混放在一起

    • Annotations文件夹
      文件夹存放的是xml格式的标签文件,每个xml文件都对应于JPEGImages文件夹的一张图片

    • ImageSets文件夹
      Main存放的是图像物体识别的数据,里面有XX_train.txtXX_val.txtMain。在本次使用API时候用不到XX_train.txt这些文件夹,只需要里面的test.txt , train.txt, val.txt ,trainval.txt.这四个文件我们后面会生成 。

    2.利用labelImg工具进行图像标注
    3.利用main4.py生成Main文件夹下的4个txt文件
    5.修改./data/pascal_label_map.pbtxt 将其中的目标类别更新为自己voc数据集目标类别
    4.修改dataset中的create_pascal_tf_record.py
    具体修改可见./dataset_tools/create_pascal_tf_record_myvoc.py脚本
    重心为修改img_path,定义图片路径
    生成训练和验证数据集的tfrecord格式
    参数year是存储图片,xml文件的上级文件名

    python ./create_pascal_tf_record_vocteds.py --data_dir=./ --label_map_path=./jiejing_label_map.pbtxt --year=vocteds --set=train --output_path=./tfrecord/jiejing_train.record
    
    python ./create_pascal_tf_record_vocteds.py --data_dir=./ --label_map_path=./jiejing_label_map.pbtxt --year=vocteds --set=val --output_path=./tfrecord/jiejing_val.record
    

    6.修改模型配置文件下的ssd_inception_v2_coco.config或faster_rcnn_resnet50_coco.config取决于用的网络模型。
    例如想要在faster_rcnn_resnet50模型的基础行进行迁移训练,在faster_rcnn_resnet50_coco.config文件中进行如下修改:

    line10  num_classes: 44 #将类别修改为自己目标种类
    line111  fine_tune_checkpoint: "./faster_rcnn_inception_v2_coco_2018_01_28/model.ckpt" # 选择希望迁移训练的模型位置
    line 126   input_path: "./tfrecord/jiejing_train.record" # 训练集读取,给出制作好的训练集tfrecord文件
    line 128  label_map_path: "./jiejing_label_map.pbtxt"# 给定目标种类.pbtxt文件
    line 140  input_path: "./tfrecord/jiejing_val.record" # 验证集读取,给出制作好的验证集tfrecord文件
    line 142   label_map_path: "./jiejing_label_map.pbtxt" # 给定目标种类.pbtxt文件
    
    

    7.执行train.py和eval.py文件

    python ./train.py --logtostderr --pipeline_config_path=./faster_rcnn_inception_v2_coco.config --train_dir=./4ctrainout
    
    python ./eval.py --logtostderr --checkpoint_dir=./4ctrainout  --eval_dir=./4cevalout --pipeline_config_path=./faster_rcnn_inception_v2_coco.config
    

    8.执行export_inference_graph.py文件,成可被调用的冰冻模型。

    python ./export_inference_graph.py --input_type image_tensor --pipeline_config_path ./faster_rcnn_inception_v2_coco.config --trained_checkpoint_prefix ./frctrainout/model.ckpt-20000 --output_directory ./pbmodel
    

    9.利用object_detection_tutorial.ipynb或自己写一个脚本引用冰冻模型,导入图片查看interface结果。

    1. 在原有训练文件基础上进行调参训练,需要将训练文件转换为冰冻模型,注意文件步数,在pipline文件中修改调参文件路径即可。

    相关文章

      网友评论

          本文标题:谷歌object detection+voc数据格式完成目标检测

          本文链接:https://www.haomeiwen.com/subject/fvakjftx.html