tf-faster-rcnn数据集迁移

数据集迁移之路

将Github作者endernewtown的基于pascal_voc数据集和coco数据集的代码,迁移至NWPU_VHR数据集。
原代码仓库链接:https://github.com/endernewton/tf-faster-rcnn
修改后的代码仓库:https://github.com/Rhapso/tf-faster-rcnn


前言

初次接触一个较大的tensorflow工程,所以在读源码上下了一番功夫。本文适合初涉tensorflow的用户阅读。本工程的代码结构较大,所以要从宏观入手。我们的切入点是/experiments/scripts目录下的两个个文件train_faster_rcnn.shtest_faster_rcnn.sh


NWPU_VHR数据集

NWPU_VHR数据集是一个较小的遥感照片数据集,其数据集目录下包含的文件夹有

  • /annotations_cache: 根据/ground_truth中的信息生成的数据体,当程序内部默认当存在现成的数据体时,直接调用这个数据包。因此,调试程序时,若修改了对/ground_truth文件夹内数据的读取规则,请清空/annotations_catchs文件夹。
  • /detections_images
  • /ground_truth: 包含了每张图片的标注信息
  • /image_set: 训练集照片和测试集照片的名称集合,其中训练集527张,测试集123张。
  • /nagative_image_set: 包含150张没有目标的照片合集
  • /positive_image_set: 包含650张含有目标的照片合集
  • /results
  • /readme.txt
    我们尤其需要注意的是选框信息存储的格式。NWPU_VHR数据集对于一个选框的记录方式是(index1,index2),(index3,index4),class_num,中间不包括空格。我们在提取的时候需要注意。源代码中还添加了难度(diff)参数,取值范围是如0、1、2的整数,难度参数在NWPU_VHR数据集中没有标注,因此在提取时将难度设置为0即可。

下文我们顺藤摸瓜,依次将所需调用的文件修改完成。


/experiments/scripts/train_faster_rcnn.sh

这个脚本文件是整个程序训练的入口文件,我们使用它的方法是运行命令./train_faster_rcnn.sh 0 nwpu_vhr res101。这里0表示GPU_ID,nwpu_vhr是我们要使用的数据集,为了要使用这个数据集,我们要在文件case语句中添加以下代码

nwpu_vhr)
TRAIN_IMDB="NWPU_VHR_train"
TEST_IMDB="NWPU_VHR_val"
STEPSIZE="[35000]"
ITERS=200000
ANCHORS="[1,2,4,8,16]"
RATIOS="[0.5,1,2]"
;;

可以实现使用该数据集的一下基本配置,特别说明,所设置的参数可以自由修改,可以达到不一样的训练效果。我们还要修改源代码的一个地方:

if [ ! -f ${NET_FINAL}.index ]; then
  if [[ ! -z  ${EXTRA_ARGS_SLUG}  ]]; 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值