使用官方1.x的目标检测API,安装过程见:https://blog.csdn.net/qq_37194492/article/details/109639699
一、制作数据集
制作自己的数据集可以参考该方式: https://www.bilibili.com/video/BV1kV411k7D8
- 即准备好图片集,然后利用LabelImg等公开标注软件进行标注并生成指定格式的标注文件。
本文使用COCO数据集制作为tf_record格式数据集:
- COCO数据集下载可参考:https://yunyaniu.blog.csdn.net/article/details/82939959 或 使用官方API源码中的文件
research/object_detection/dataset_tools/download_and_preprocess_mscoco.sh
1.1 将COCO数据集转换为TfRecord文件
- 如图所示,框选文件夹即为将要制作的文件(包含标注文件)
- 进入目录
research/object_detection/dataset_tools
,该目录包含多种转换文件,本文原数据集使用COCO数据集,因此直接使用文件create_coco_tf_record.py
,然后配置参数运行该文件:
python create_coco_tf_record.py \
--train_image_dir=D:/Fils/CUR_WORK/DATASETS/COCO_2017/train2017 \
--val_image_dir=D:/Fils/CUR_WORK/DATASETS/COCO_2017/val2017 \
--test_image_dir=D:/Fils/CUR_WORK/DATASETS/COCO_2017/test2017 \
--train_annotations_file=D:/Fils/CUR_WORK/DATASETS/COCO_2017/stuff_train_val_2017_annotations/stuff_train2017.json \
--val_annotations_file=D:/Fils/CUR_WORK/DATASETS/COCO_2017/stuff_train_val_2017_annotations/stuff_val2017.json \
--testdev_annotations_file=D:/Fils/CUR_WORK/DATASETS/COCO_2017/test2017_annotations/image_info_test-dev2017.json \
--output_dir=D:/Fils/CUR_WORK/DATASETS/TF_REACORD_datasets/COCO
各参数根据名称即可知道作用,在此不多赘述。对于xml类型的数据集,可以参考文章进行制作,原理一样。
出现 Windows fatal exception: access viola 错误时大概率是参数路径问题,仔细查看路径即可解决
最后生成文件如下图所示:
二、训练网络
2.1 下载预训练模型
首先下载预训练模型,使得自己训练的网络效果更好。可在官网https://github.com/tensorflow/models/tree/master/research/object_detection内README.md
的tfx_detection_zoo.md链接处下载指定的模型。本人所用预训练模型如图所示:
下载完成之后,解压放入指定文件夹内,如research/my_download_pretrained
,如图所示&#x