RetinaNet训练自己的数据用于目标检测

Posted on 2019-07-11 09:31  武当山下放牛郎  阅读(2197)  评论(0编辑  收藏  举报
主要的步骤
  • 自定义训练数据
  • 图片目标标注
  • 生成训练文件(图片名称、目标标注位置、目标类别)
  • 调整参数、训练模型
  • 转换生成的模型
  • 用转换后的模型进行目标检测

具体内容

1.下载包、安装环境

从Github上下载keras-retinanet库

pip install . —-user 把库配置到当前环境中

python setup.py build_ext —inplace 编译Cpython代码

 

2. 准备数据集

新建Annotations、ImageSets、JPEGImages三个文件夹

Annotations:存放用”lamlImg”软件标注生成的xml文件

JPEGImages:存放用于训练和测试的数据图片

ImageSets —> Main:存放用 gen_main_txt.py 按比例随机抽样切分的训练集、测试集、验证集

gen_csv.py:生成包含文件名、目标位置、目标类型的annotations.csv、classes.csv

debug.py:测试数据是否生成成

 

3.模型训练:

修改batch-size、image-min-side、image-max-side适应小内存的GPU:

  python keras_retinanet/bin/train.py csv F:/RetinaNet/annotations.csv  F:/RetinaNet/classes.csv

根据识别的目标类型数确定合适的epochs、steps

 

4.模型应用

转换训练生成的.h5文件:

  python keras_retinanet/bin/convert_model.py snapshots/resnet50_csv_08.h5 F:/RetinaNet/examples/model_08.h5

Get.py 文件配置转换后的h5模型文件地址与目标图像的地址