论文:Detecting Heads using Feature Refifine Net and Cascaded Multi-scale Architecture

Github:https://github.com/HCIILAB/SCUT-HEAD-Dataset-Release

针对人头这种小目标检测问题,论文提出了特征融合模块Feature Refifine Net (FRN),以及级联的多尺度检测结构cascaded multi-scale architecture。同时论文贡献了一个人头检测的数据集SCUT-HEAD。

网络结构:

网络整体基于RFCN改进。网络backbone为Resnet-50,对其中的res3,res4,res5这3个block进行改进。主要对这3个block增加了通道attention机制,每个channel都会和该通道的网络学习的权重weights相乘得到相应的输出特征。输出的res4,res5的特征会基于特征分解进行上采样操作,形成和res3宽高一样的特征。然后将这3个block的输出特征基于channel进行concat操作。

Concat后的特征再基于googlenet中特征融合的思想,进行特征融合以及下采样操作,得到最终的输出特征。最终通道从3584减少到1024,宽高分别减半。

这个的检测过程分别采用了全局检测(global detector)和局部检测(local detector)。

首先输入图片首先经过stage1处理,先进行全局检测,可以得到大人头的检测结果以及小人头的粗超的检测结果。Stage2会对粗糙的小人头结果进行裁剪clip以及放大操作,放大系数f=3,最终会将人头从8-20像素放大为24-60像素,而对于20像素以上的人头,检测算法就可以得到非常好的结果。Stage3对放大后的人头基于局部检测进行检测得到修正后的人头结果。最终stage4会将stage1的大人头,stage3的小人头都输入进来,再经过NMS操作,输出最终的结果。

实验结果:

总结:

论文主要通过特征融合和级联cascade 多尺度检测来提升小目标检测的精度。目前来看特征融合的思想yolov5中FPN+PAN的思想效果更好,多尺度检测的思想Yolov5的3个分支做检测也具备同样的思想。论文中对比的是yolov2,感觉如果使用yolov5应该效果会更好。但是论文提出的人头检测数据集SCUT-HEAD是一个非常大的贡献。