Repulsion Loss: Detecting Pedestrians in a Crowd
排斥损失:检测人群中的行人
论文链接:arXiv
1. 论文思路
本文通过为拥挤场景设计普通边界框回归损失,即排斥损失。这种损失分为两部分:目标的吸引和周围其他物体的排斥。排斥损失可以防止proposals转移到周围的对象从而有更强的鲁棒性。
解决的问题:当目标行人T被另一个行人B重叠时,因为检测器混淆导致以T为界限的预测框很可能会转移到B,从而导致定位不准确。更进一步,NMS使得从T偏移的边界框可能被B的预测框抑制,其中T可能会错过检测,人群遮挡使得检测器对NMS阈值敏感,高阈值导致更多的误报低阈值导致更多的漏检。
现有的探测器框架中边界框回归技术常应用于对象定位,回归器被应用训练来减小某种距离度量。本文提出新的定位技术:RepLoss。在RepLoss中,每个proposal不仅需要接近其指定的目标T,而且远离其他不属于这个目标T的真实值的proposal。
RepLoss可以有效地防止预测的边界框移动到相邻的重叠对象使得检测器对于人群场景更加鲁棒。
文章提出两类排除损失来解决人群遮挡问题,RepGT Loss和RepBox Loss。RepGT Loss直接惩罚预测框转移到其他GT物体,而RepGT Loss要求每个预测框远离具有不同指定目标的其他预测框,预测框使检测结果对NMS不太敏感。
2. 知识点举例
线性回归模型是相对与proposal及其目标的坐标的欧几里得距离来训练的。 S m o o t h L 1 L o s s Smooth_{L1} Loss SmoothL1Loss的提出来代替用于边界框回归的欧氏距离。
RPN(proposal region network)区域建议网络,其中边界框回归被执行两次将预定义的锚转换成最终检测框。
DenseBox 提出无锚的完全卷积的框架,还有方法使用IoU损失,以最大化基础事实框和预测框之间的IoU。
3. 是什么影响了人群中的遮挡
3.1 预备工作
CityPersons:总共有35000个人,另外还有13000个被忽略的区域,提供所有人的边界框标注和可见部分标注。
对于评估,log miss rate是每张图片的假正例率FPPI在 [ 1 0 − 2 , 1 0 0 ] [10^{-2},10^0] [10−2,100]之间,越小越好。
baseline算法是Fast R-CNN,改进是使用ResNet50代替VGG-16主干网络。
**ResNet很少用于行人检测,因为卷积层的下采样速率太大,网络无法检测和定位小行人。**为了解决这个问题,我们使用扩张卷积,最终的特征图是输入大小的1/8。基于ResNet的检测器在验证集上获得了 14.6 M R − 2 14.6 MR^{-2} 14.6MR−2,略好于[33]中报告的结果 ( 15.4 M R − 2 ) (15.4 MR^{-2}) (15.4MR−2)。
M R − 2 MR^{-2} MR−2代表在9个FPPI值下(在值域[0.01, 1.0]内以对数空间均匀间隔)的平均miss rate值。
3.2 失败案例的分析
误检测:baseline中的遮挡计算为 o c c ≜ 1 − a r e a ( B B o x v i s i b l e ) a r e a ( B B o x ) occ \triangleq 1 - \frac {area(BBox_{visible})} {area(BBox)} occ≜1−area(BBox)area(BBoxvisible),将 o c c ≥ 0.1 occ \geq 0.1 occ≥0.1视为遮挡情况,将 o c c ≥ 0.1 occ \geq 0.1 occ≥0.1且 I o U ≥ 0.1 IoU \geq 0.1 IoU≥0.1的行人和任何其他带注释的行人定义为人群遮挡情况。
此图的意思就是当检测到20个假正例,需要检测总共多少个样本,分别在3个子集上检测:Reasonable,Reasonable-acc,Reasonable-crowd。作者还在CityPersons数据集上分别做了定量统计,可以看到在不同的误检率下,从图中可以发现遮挡占据了近60%的席位(蓝色+橙色),而在这60%席位中,自遮挡又占据了近60%。
实验观察三个子集(reasonable-crowd, reasonable-occ, reasonable)。最后得出的结论是在合理的occ子集的漏检中,人群遮挡的比例接近60%。
定量分析误报是由人群遮挡造成的。有三种情况:背景错误、定位错误和群体错误。当预测的边界框与任何真实行人的 I o U < 0.1 IoU \lt 0.1 IoU<0.1时就会出现背景误差,当定位误差与仅一个真实行人的 I o U ≥ 0.1 IoU \geq 0.1 IoU≥0.1时,会出现背景误差,人群误差是指 I o U ≥ 0.1 IoU \geq 0.1 IoU≥0.1且至少有两个真实行人的人群。
一个预测框轻微地或者戏剧性地移动到邻近的非目标真实地面物体,或者将几个重叠的真实地面物体结合在一起时,通常会出现群体误差。此外,群体错误通常具有相对高的置信度,从而导致排名靠前的误报。这表明,为了提高检测器对人群场景的鲁棒性,在进行包围盒回归时需要更多的判别损失。
4. Repulsion Loss
损失函数的设计:
L
=
L
A
t
t
r
+
α
⋆
L
R
e
p
G
T
+
β
⋆
L
R
e
p
B
o
x
L = L_{Attr} + \alpha \star L_{RepGT} + \beta \star L_{RepBox}
L=LAttr+α⋆LRepGT+β⋆LRepBox
另设两个变量:
P
=
(
l
P
,
t
P
,
w
P
,
h
P
)
,
G
=
(
l
G
,
t
G
,
w
G
,
h
G
)
P = (l_P, t_P, w_P,h_P), G = (l_G,t_G,w_G,h_G)
P=(lP,tP,wP,hP),G=(lG,tG,wG,hG)分别代表预测边界框和真实值框,
P
+
=
{
P
}
P_+=\{P\}
P+={P}是所有正例的集合which
I
o
U
≥
0.5
IoU\geq 0.5
IoU≥0.5且至少偶一个真实值框被认定为正样本,反之则为负样本。
G
=
{
G
}
\mathcal G=\{G\}
G={G}是一个图片中所有真实值边框的集合。平滑L1损失为2.
B
P
B_P
BP是从建议框回归的预测框。
4.1 Attribute Loss
L A t t r = ∑ P ∈ P + S m o o t h L 1 ( B P , G A t t r P ) ∣ P + ∣ G A t t r P = arg m a x G ∈ G I o U ( G . P ) L_{Attr} = \frac {\sum _{P \in \mathcal P_+} Smooth_{L1}(B^P,G^P_{Attr})} {|\mathcal P_+|} \\ G^P_{Attr} = \arg max_{G \in \mathcal G} IoU(G.P) LAttr=∣P+∣∑P∈P+SmoothL1(BP,GAttrP)GAttrP=argmaxG∈GIoU(G.P)
L1 Loss, L2 Loss, Smooth L1:
L
1
(
y
^
,
y
)
=
∑
i
=
0
m
∣
y
(
i
)
−
y
^
(
i
)
∣
L
2
(
y
^
,
y
)
=
∑
i
=
0
m
(
y
(
i
)
−
y
^
(
i
)
)
2
S
m
o
o
t
h
L
1
=
{
0.5
(
x
i
−
y
i
)
2
,
i
f
∣
x
i
−
y
i
∣
<
1
∣
x
i
−
y
i
∣
−
0.5
,
o
t
h
e
r
w
i
s
e
L_1(\hat y,y) = \sum^m_{i=0}|y^{(i)}-\hat y^{(i)}| \\ L_2(\hat y,y) = \sum^m_{i=0}(y^{(i)}-\hat y^{(i)})^2 \\ Smooth ~~ L_1 = \begin {cases} 0.5 (x_i-y_i)^2, ~~if~ |x_i - y_i| \lt 1 \\ |x_i-y_i| - 0.5, ~~ otherwise \end {cases}
L1(y^,y)=i=0∑m∣y(i)−y^(i)∣L2(y^,y)=i=0∑m(y(i)−y^(i))2Smooth L1={0.5(xi−yi)2, if ∣xi−yi∣<1∣xi−yi∣−0.5, otherwise
4.2 Relulsion Term(RepGT)
G R e p P = arg max G ∈ G \ G A t t r P I o U ( G , P ) G^P_{Rep} = \mathop {\arg\max}_{G \in \mathcal G \backslash {G^P_{Attr}}} IoU(G,P) GRepP=argmaxG∈G\GAttrPIoU(G,P)
它目的是不采用不属于当前类的建议框。它排斥真实对象被定义为除了它指定的目标之外,具有最大IoU区域
提出IoG与真实值之间的交集:
I
o
G
(
B
,
G
)
≜
a
r
e
a
(
B
⋂
G
)
a
r
e
a
(
G
)
IoG(B,G) \triangleq \frac {area(B \bigcap G)} {area(G)}
IoG(B,G)≜area(G)area(B⋂G),
I
o
G
(
B
,
G
)
∈
[
0
,
1
]
IoG(B,G) \in [0,1]
IoG(B,G)∈[0,1]。定义RepGT Loss如下:
L
R
e
p
G
T
=
∑
P
∈
P
+
S
m
o
o
t
h
l
n
(
I
o
G
(
B
P
,
G
R
e
p
P
)
)
∣
P
+
∣
S
m
o
o
t
h
l
n
=
{
−
ln
(
1
−
x
)
x
≤
σ
x
−
σ
1
−
σ
−
ln
(
1
−
σ
)
x
>
σ
L_{RepGT} = \frac {\sum_{P \in \mathcal P_+} Smooth_{ln}(IoG(B^P,G^P_{Rep}))} {|\mathcal P_+|} \\ Smooth_{ln} = \begin {cases} - \ln(1-x) ~~~~ x \leq \sigma \\ \frac { x-\sigma} {1-\sigma}- \ln(1-\sigma) ~~~~ x \gt \sigma \end {cases}
LRepGT=∣P+∣∑P∈P+Smoothln(IoG(BP,GRepP))Smoothln={−ln(1−x) x≤σ1−σx−σ−ln(1−σ) x>σ
RepGT 损失旨在使 proposal 受到相邻的非目标 groundtruth 物体的排斥。给定一个 proposal
P
∈
P
+
P \in P_+
P∈P+,它的排斥 groundtruth 物体被定义为除了其指定目标之外带有最大 IoU 区域的 groundtruth 物体。受 IoU 损失的启发,RepGT 损失被计算以惩罚
B
P
B^P
BP和
G
R
e
p
P
G^P_{Rep}
GRepP之间的重叠(由 IoG 定义)。IoG(B, G) ∈ [0, 1] 。其中
S
m
o
o
t
h
l
n
Smooth_{ln}
Smoothln 是一个在区间 (0, 1) 连续可微分的平滑 ln 函数,σ ∈ [0, 1) 是调节RepLoss 对异常值的敏感度的平滑参数。proposal 越倾向于与非目标 groundtruth 物体重叠,RepGT 损失对边界框回归器的惩罚就越大,从而有效防止边界框移向相邻的非目标物体。
4.3 Repulsion Term(RepBox)
NMS以合并应该约束相同对象的主要预测边界框。本文提出RepBox Loss目标是将每个proposal与具有不同指定目标的其他建议相排斥。将
P
+
\mathcal P_+
P+分成互不重叠的建议集。
P
+
=
P
1
⋂
P
2
⋂
.
.
.
⋂
P
∣
G
∣
\mathcal P_+ = \mathcal P_1 \bigcap \mathcal P_2 \bigcap ... \bigcap \mathcal P_{|\mathcal G|}
P+=P1⋂P2⋂...⋂P∣G∣,然后从两个不同子集随机抽样两个方案。计算
B
P
i
,
B
P
j
B^{P^i},B^{P^j}
BPi,BPj的重叠部分。
L
R
e
p
B
o
x
=
∑
i
≠
j
S
m
o
o
t
h
l
n
(
I
o
U
(
B
P
i
,
B
P
j
)
)
∑
i
≠
j
I
[
I
o
U
(
B
P
i
,
B
P
j
)
>
0
]
+
ϵ
L_{RepBox} = \frac {\sum_{i \neq j} Smooth_{ln}(IoU(B^{P^i},B^{P^j}))} {\sum_{i \neq j}\mathbb I[IoU(B^{P^i},B^{P^j}) \gt 0]+ \epsilon}
LRepBox=∑i=jI[IoU(BPi,BPj)>0]+ϵ∑i=jSmoothln(IoU(BPi,BPj))
I
\mathbb I
I是特征函数,
ϵ
\epsilon
ϵ被零除的情况下是一个小常数。为了使RepBox Loss最小化,具有不同指定目标的两个预测框之间的交并比应该很小。RepBoxLoss能够降低具有不同回归目标的预测框在NMS之后合并成一个的概率,使模型具有鲁棒性。
4.4 距离度量
本文选择IoU或IoG而不是SmoothL1度量来测量排斥项中两个边界框之间的距离,因为IoU和IoG在范围0-1内有界,而SmoothL1是无界的。在RepGT损失中,它将要求预测框尽可能远离其排斥的真实值对象。相反,IoG准则只要求预测框最小化与其排斥性的真实值对象的重叠,这更符合我们的动机。
在基于IoU的损失中采用IoG因为IoU损失中边界框回归器可以通过简单的扩大边界框的大小来增大分母面积来学习最小化损失。选择IoG因为其分母是一个特征的真实值对象常数,以直接最小化重叠区域。
此外,可以通过平滑参数 σ \sigma σ来调整排斥损失对异常值的敏感度。由于预测框比真实值框要大得多,所以一对两个预测框比一对一个预测框和一个真实值框可能具有更大的重叠。RepBox比RepGT有更多的outliers。RepBoxLoss比RepGTLoss不太敏感。
5. 实验研究
5.1 数据集介绍
除了CityPerson,本文实验还用到Caltech-USA数据集。在2.5小时的视频分为训练集和测试集,分别为42500帧和4024帧。
训练:在训练中对网络进行80k和160k次迭代,基础的lr=0.016,在CityPersons和Caltech-USA的前60k和120k次迭代后降低10倍。采用SGD进行网络优化,在4个GPU上运行。A mini-batch involves 1 image per GPU.在Caltech-USA中使用OHEM Online Hard Example Mining加速收敛。
5.2 消融研究
RepGT Loss
在 S m o o t h l n Smooth_{ln} Smoothln损失中, σ \sigma σ的取值对模型的影响如表所示,设置 σ = 1 \sigma=1 σ=1意味着直接对 − ln ( 1 − I o G ) -\ln(1-IoG) −ln(1−IoG)求和,完全没有平滑,类似于IoU损失中使用的损失函数。
本文提供GepGt和baseline之间的误检测和假正例的比较。在resonable-crowd subset中,增加RepGT Loss能有效减少误检测数量。当检测阈值相当时,RepGT曲线比baseline算法低一些,二者曲线的分布接近0.5。曲线的饱和点都在0.9,这也是实际应用中常用的阈值,可以将误检率降低10%。在图b中,由人群遮挡导致的RepGT Loss比baseline低。这表明RepGT Loss可以再拥挤环境下有效降低误检测率和假正例率。
RepBox Loss:将 σ \sigma σ设置为0说明我们将ln函数完全平滑为线性函数,并在IoU上求和。设想RepBox Loss比RepGT Loss有更多的损失值,因为预测框比真实框的密度大得多。
此图显示在 F P P I = 1 0 − 2 FPPI=10^{-2} FPPI=10−2情况下不同NMS对RepBox Loss的结果。总的来说,具有RepBox Loss的检测器性能比baseline更平滑。在0.35的阈值上,baseline和RepBox的差距有3.5个点,表明后者对NMS阈值不太敏感。在图7中,RepBox的两个相邻的基本真实值之间有更少的预测。
两个损失之间的平衡,通过实验调整参数得到, α = 0.5 , β = 0.5 \alpha=0.5,\beta=0.5 α=0.5,β=0.5模型有着更好的性能。
5.3 与SOTA比较
对于此实验在1.4倍的大小时模型有着更好的表现性能。在重子集上提高了3.7个百分点,部分子集提高了1.8个百分点,裸子集的性能没有明显的提升。即RepLoss 是专门来解决遮挡问题的。
表四是在Calech-USA数据集上的实验。*表示在CityPersons数据集预训练的网络。能够在IoU阈值在0.5的情况下达到 4.0 M R − 2 4.0 MR^{-2} 4.0MR−2。
当IoU阈值增大时,一致性和更大的收益证明力我们的框架可以更好地解决遮挡问题,遮挡因为其更高的匹配阈值下更敏感而闻名。其结果如图8所示。
6. 将模型用于一般检测
在PASCAL VOC2007上做比较,数据集包含了20多个对象类别,对所有类使用标准评估度量mAP,采用Faster R-CNN框架,用ImageNet在ResNet-101为主干的预训练结果,在PASCAL VOC2007上做评估,结果比baseline好3.4 mAP
7. 总结
首先,模型结构是
L
=
A
t
t
r
L
o
s
s
+
R
e
p
L
o
s
s
R
e
p
L
o
s
s
=
R
e
p
G
T
L
o
s
s
+
R
e
p
B
o
x
L
o
s
s
L = AttrLoss + RepLoss\\ RepLoss = RepGTLoss + RepBoxLoss
L=AttrLoss+RepLossRepLoss=RepGTLoss+RepBoxLoss
模型旨在对同类目标吸引和对不同类目标进行排斥。
-
使用平滑L1函数度量,L1函数的损失是有折点,平滑的L1可以使函数更加光滑,其对离群点、异常值不敏感,可控制梯度的量级使训练时不容易跑飞。
-
RepGT Loss直接惩罚预测框转移到其他GT物体,而RepGT Loss要求每个预测框远离具有不同指定目标的其他预测框,预测框使检测结果对NMS不太敏感。
-
proposal 越倾向于与非目标 groundtruth 物体重叠,RepGT 损失对边界框回归器的惩罚就越大,从而有效防止边界框移向相邻的非目标物体。
-
NMS在大多数检测框架中是必要的后续处理步骤,以合并应该约束相同对象的主要预测边界框。本文提出RepBox Loss目标是将每个proposal与具有不同指定目标的其他建议相排斥。
-
在基于IoU的损失中采用IoG,因为IoU损失中边界框回归器可以通过简单的扩大边界框的大小来增大分母面积来学习最小化损失。选择IoG因为其分母是一个特征的真实值对象常数,以直接最小化重叠区域。
-
以合并应该约束相同对象的主要预测边界框。本文提出RepBox Loss目标是将每个proposal与具有不同指定目标的其他建议相排斥。
-
在基于IoU的损失中采用IoG,因为IoU损失中边界框回归器可以通过简单的扩大边界框的大小来增大分母面积来学习最小化损失。选择IoG因为其分母是一个特征的真实值对象常数,以直接最小化重叠区域。