Object Detection on an Image Pyramid
Scale Normalization for Image Pyramid
SNIP是由MST修改而来的模型,在上一节中作者指出MST效果不好的原因在于无法识别过大或过小的目标,而在SNIP中,我们使用224x224的分辨率(与pre-training的分辨率相近)来训练检测器。
SNIP在训练过程中只对特定尺度范围内的目标回传损失,但不对数据集进行过滤处理,是的模型能够补货所有appearnce和pose细节,从而减小了domain-shift带来的影响。
特定尺度范围是与pre-training数据相近的尺度,即224x224。
**注:**MST进行多尺度训练,因为一个物体总会有一个尺度落在指定范围内,只有这个落在指定范围内的物体参与了训练,其余部分在BP时忽略。
由Table1可以看出,SNIP与其他方法相比是优秀的。
SNIP示意图如下所示:
RPN训练
- 用所有的ground truth boxes给anchors和proposals分配标签。
- 对一个特定分辨率i下,定义范围[sc_i, ec_i],RoI落入此范围内的ground truth boxes记为valid,其余为invalid。
- 将与invalid_GT的RoI超过0.3的anchors标记为invalid anchors。
在测试阶段,用RPN生成各个分辨率下的proposals,并各自分类,与训练时相同,丢弃不在特定范围内的detections(not proposals)。
最后用soft-NMS讲个分辨率下的detections相加,得到最终结果。
Sampling Sub-images
考虑到GPU的显存限制,需要对图片进行crop。
- 用最少数量的chips(sub-images),1000x1000,来囊括所有小目标。如果没有小物体就不需要计算,从而达到加速目的。
- 1400x2000的图片进行采样,800x1200和480x640的途中没有小物体时不需要采样。