解决目标检测中对输入图像大小的限制方法

The reason why input size should be 224 for ImageNet:从输入到最后一个卷积特征feature map,就是进行信息抽象的过程,然后就经过全连接层/全局池化层的变换进行分类了,这个feature map的大小,可以是3*3,5*5,7*7, 9*9等等。5*5太小,信息丢失太严重。9*9尺寸太大,信息的抽象层次不够高,计算量也更大,所以7*7的大小是一个最好的平衡。另一方面,图像从大分辨率降低到小分辨率,降低倍数通常是2的指数次方,所以图像的输入一定是7*2的指数次方。以ImageNet为代表的大多数分类数据集,图像的长宽在300分辨率左右。要找一个7*2的指数次方,并且在300左右的,7*2的5次方等于7*32=224,7*2的6次方=448,与300最接近的就是224了。 【解决目标检测中对输入图像大小的限制方法】 2. The reason why you chose 384 and 512 is that they can be divide by 4(down sample rate in the paper.what about other rate like 2 and 8. Must be 2^n?), and is 2^n?
In 128, 128x2, 128x3, 128x4 and128x5, 128x5 is too large which makes the computation slow, so you do not use it?
How to find the optimal hyper parameter introduced by the author? · Issue #812 · xingyizhou/CenterNet
3. 这里说对全卷积网络有效,是因为全卷积网络不限制输入尺寸吧。其他不限制尺寸的网络,也可以用多尺度训练吧。
解决目标检测中对输入图像大小的限制方法

4.常见尺寸:
Faster R-CNN 原始图像输入大小是1000 x 600 pixel;(SPPnet,解决了对输入图像大小的限制。RoI pooling是SPP的特例?那为啥faster rcnn还限制大小?)
SSD原始图像输入大小是300 x 300或者 512 x 512 pixel;
YOLO原始图片输入大小是416 x 416 或者 544 x 544 pixel;(这是因为YOLOv2最后有13x13的grid?)
CenterNet: 不限制尺寸


■网友
我个人感觉无论如何都是要有全连接的,因为Softmax Loss的公式中“w*f”就是全连接操作;
原版的Faster RCNN,是在RoI Pooling之后接了全连接操作,后来基于ResNet101的Faster RCNN,在RoI Pooling之后并非使用的全连接,而使用的是ResNet101中的conv5_x,如下图:
解决目标检测中对输入图像大小的限制方法

所以RoI Pooling后面紧跟的是Cov和globe average pooling;
如果是实在不考虑“全连接”(整个网络中不出现FC这个词),可以参考RPN网络,虽然它也有分类和回归,但使用的是1x1的卷积,可以参考下图:
解决目标检测中对输入图像大小的限制方法

此时可以考虑“one-stage detector”的策略,比如RetinaNet等,我的理解是one-stage策略就相当于“Faster RCNN中,在RPN那步就直接输出结果,而不再执行RoI Pooling之后的second stage”。
综上,如果实在不想用全连接操作,就可以选用RetinaNet这种one-stage的检测器(当然1x1的卷积其实相当于无数个全连接)。

■网友
可以参考何凯明的SPPnet,解决了对输入图像大小的限制。也可以参考fasterrcnn,ssd,yolo等目标检测模型。

■网友
Alexnet是做图像分类的,并不适合做检测。目前做检测的方法主要有fasterrcnn,ssd,yolo等,你可以去网上搜一下相关的介绍,很详细,这几个检测算法都没做输入图像限制。
■网友
最近试了下yolo2,通过设定图像中检测矩形的个数实现识别,可以了解下。


推荐阅读