用ImageNet的数据集训练Faster R-CNN问题汇总
一 有些xml文件有问题,需要修改
二 object的长宽比有要求,否则训练过程中报错
anchor_target_layer.py”, line 137, in forward
gt_argmax_overlaps = overlaps.argmax(axis=0)
ValueError: attempt to get argmax of an empty sequence
object的bounding box的宽高比:
VOC2007:在0.117-15.500之间
ImageNet(ILSVRC2014):在0.03-48.50之间
把数据的宽高比至少约束在0.117-15.500才能保证训练
三 对图片的大小也有要求,不能太小
解决方法:
1.不是所有图片都有xml,所以我先根据Imagenet 数据集中bbox_train_v2中的xml文件把对应的图片复制出来。下面是matlab代码
%根据xml(在多个文件夹下)的名字找到该图片,保存这个图片 clc; clear; maindir = '/media/zc/A/Imagenet2012/bbox_train_v2'; %标签路径 maindir2 = '/media/zc/A/Imagenet2012/img_train'; %图片路径 a = dir(maindir); % a 里面包括多个文件夹 b = a(3:end); % a 中三个隐藏的文件夹不要 n = size(b); % n 就是1000个文件夹 %num = 1; %xml一共有50多万个,如果不需要全部的,可以打开这几行注释,例如:从每个文件夹中拿出30