Occlusion-aware R-CNN: Detecting Pedestrians in a Crowd 详解(遮挡下的行人检测)

文章地址:https://arxiv.org/pdf/1807.08407.pdf
暂时没有放出源代码,如果有小伙伴找到代码的话欢迎留言给我。

一、概述

依然是解决在遮挡的情况下对人的检测的文章,作者分别从loss和two stage detector中核心的ROI Pooling操作这两个角度出发改善遮挡物体的检测问题。在之后我会根据这两个方面对文章进行一个简单的总结。先简单的放个在2.2中我将会提到的网络结构图:
在这里插入图片描述
在这里插入图片描述

二、 Occlusion-aware R-CNN

为了让RPN module能够更好地、更精确地提取到proposal,作者设计了一种AggLoss来限制proposals能够更接近GT并且同一个object的proposals之间能够尽可能的靠的紧致。所以整体的RPN的Loss函数如下:
在这里插入图片描述
Note: i is the index of anchor in a mini-batch;
p i p_i 是第i个anchor属于background/foreground的概率;
t i t_i 是第i个anchor属于某个行人的bbox的坐标;
p i p_i^* 是第i个anchor处于某个行人的label,即class label;
t i t_i^* 是第i个anchor属于某个行人的bbox的GT;
α是个平衡两种loss的超参数;

其中:分类loss采用log loss:
在这里插入图片描述
在这里插入图片描述

2.1、Aggregation Loss(loss角度改善遮挡的问题)

为了减少对于紧邻行人的错检,作者强制使proposals能够靠近真正的GT,并且能够proposals之间能够紧密分布。所以作者提出了AggLoss在RPN和Fast-RCNN层。这个loss能够让不同的proposals能够接近各自的GT,并且让属于同一GT的proposals之间的距离能够最小。
在这里插入图片描述
(3)式中第一项是regression loss,目的是让每个proposal能够更接近其真实的GT,采用smooth L1损失,如下(4)式所示;第二项是compactness loss,目的是让属于同一GT的proposals能够分布紧致。
在这里插入图片描述
对于compactness term L c o m L_com 目的是让属于同一GT的proposals之间能够尽可能的分布紧致,使得可以减少对于临近的两个人之间的错检问题。如下:

在这里插入图片描述

2.2 、 Part Occlusion-aware RoI Pooling Unit(ROI Pooling操作改善遮挡的问题)

在这里插入图片描述
在这里插入图片描述
正如上图Fig.1中所示,作者将新人分为5个区域,用RoI pooling层把feature map固定在HxW的尺寸。
在这里插入图片描述
在这里插入图片描述
作者分别对着5个局部区域分别进行了预测一个0到1的遮挡的score,用来表示着5个区域是否被遮挡,可以把这个部分认为是一个简单的mask信号,最后作者使用这5个score和其对应区域的feature相乘后相加,得到最终的RoI feature。
但是在这里将不通part的feature和全局feature直接相加不知带代表什么意思,但是直观上说不通,感觉不是很合理。
所以作者提出FRCNN中的loss如下:
在这里插入图片描述
最后作者在不同的数据集上进行了测试,这里就不再多做赘述了,有兴趣的可以直接去看原文。

猜你喜欢

转载自blog.csdn.net/gbyy42299/article/details/83986883