关于faster-rcnn的原理训练流程及其数据集的制备,已经都已完成。那么问题来了,“自己制备的数据集,比如说自己为了增强数据集,进行图片翻转操作,然后记录坐标这样的数据集,在训练的过程中出现的问题”
一、在调用append_flipped_images函数时出现: assert (boxes[:, 2] >= boxes[:, 0]).all()
网上查资料说:出现这个问题主要是自己的数据集标注出错。由于我们使用自己的数据集,可能出现x坐标为0的情况,而pascal_voc数据标注都是从1开始计数的,所以faster rcnn代码里会转化成0-based形式,对Xmin,Xmax,Ymin,Ymax进行-1操作,从而会出现溢出,如果x=0,减1后溢出为65535。更有甚者,标记坐标为负数或者超出图像范围。红色标注的确实是可能出现的问题,因为我在图像增强的时候,在对图片坐标取值,确实没有考虑到坐标出现为0和标记坐标超图图像范围。这两种情况通过自己的数据集看确实出现了,但是自己的数据集量又太大,不可能进行一一查找。解决方案如下: