一、遮挡的类别
- 类内遮挡,目标被同一类别的目标遮挡
- 类间遮挡,目标被其它类别的目标遮挡
二、解决方法
数据标注
精调遮挡目标的GT边界框
数据增强
- cutout:在训练时,随机mask目标,提升模型对遮挡的应对能力
- mosaic:按一定比例融合多张图片,相当于模拟了一些遮挡的场景
网络结构
- 加注意力机制等,使模型提取判别力更强的特征
- 行人检测:将行人分为5个独立的区域,对这5个局部区域分别预测了一个0到1之间的遮挡分数,代表这5个局部区域的可见或者遮挡程度。使用这5个visibility score分别和对应区域的feature相乘后相加,得到最终的特征(Zhang, S., Wen, L., Bian, X., Lei, Z., & Li, S. Z. (2018). Occlusion-aware R-CNN: Detecting Pedestrians in a Crowd)
正负样本匹配机制
将匹配依据由IOU改成GIOU、DIOU、CIOU等
损失函数
RepLoss(Wang, X., Xiao, T., Jiang, Y., Shao, S., Sun, J., & Shen, C. (2017). Repulsion Loss: Detecting Pedestrians in a Crowd)
该损失函数由2部分组成,在要求预测框靠近匹配的GT框(T)的同时,也要求预测框远离其它GT框(B),在提升遮挡检测性能的同时降低检测器对NMS的敏感性
整体公式如下, 第一部分为吸引损失,第二部分为排斥损失(又可以分为预测框与其它GT框的损失,以及预测框与其它预测框的损失)
第一部分损失的公式如下,
作用:使P与匹配的GT框互相靠近
其中,
:与至少一个GT之间的IOU大于等于0.5,
:与P有最大IOU值的GT框
第二部分损失的公式如下,
RepGT
作用:使P远离与P之间的IOU值是次大的GT框
其中,
:除了与P匹配的GT外,与P之间有最大IOU的GT框(即与P之间的IOU值是次大的)
RepBox
作用:使匹配了不同GT的预测框之间互相远离(排斥),降低了检测器对NMS的敏感性
根据匹配的GT框序号,将分为不同的子集,如,,表示GT框的数量
【参考文章】
“别挡我,我要C位出道!”谈谈深度学习目标检测中的遮挡问题 - 知乎
Repulsion Loss 遮挡场景下的目标检测 - 知乎