background
任务:通过可学习的NMS,代替传统的NMS。
关键词:Learning non-maximum suppression
Introduction
传统的NMS基本都是不健全的,阈值的不同,检测的效果也不同,而且不同的场景中的阈值必然不同,但预测时的超参数是固定的,所以传统的NMS很难找到一个合适的阈值,使其达到很好的效果。
本文主要是像通过神经网络来代替NMS,通过一个可训练的网络,来达到健全的效果,能够适应场景的变化,但是本文中的神经网络的缺点就是参数众多,需要大量的实验数据来训练,(本文发表实际比较早),但对未来在NMS的研究上提供了不少的借鉴。
Model(learning NMS)
learning NMS
block:
基本过程
如果一张图片中有n个检测框,每个框对应一个向量c
对于每个检测用
d
i
d_{i}
di表示,则与其他检测框向量
d
j
d_j
dj和g向量组成新的向量,维度
所以对于
d
i
d_i
di一共
k
i
+
1
k_i+1
ki+1个,
k
i
k_i
ki为第i个检测框的相邻框的个数(
要
求
i
o
u
>
0.2
要求iou>0.2
要求iou>0.2),这样会组成一个
(
k
i
+
1
)
∗
l
(k_i+1)*l
(ki+1)∗l的矩阵,该矩阵对应一个框与相邻框组成的矩阵。
然后通过多个block和fc+pooling的到最后的向量
l
l
l,维度为
2
∗
c
+
g
2 *c+g
2∗c+g,因为有n个检测框,所以最后实际得到的是
n
∗
(
2
∗
c
+
g
)
n*(2*c+g)
n∗(2∗c+g)的矩阵。
然后通过fc得到最新的分数向量。
然后将行向量中的按得分项降序排列,选取得分项大的,与实际的labels匹配,
y
i
=
1
y_i=1
yi=1,未匹配,
y
i
=
−
1
y_i=-1
yi=−1。
经过上面的神经网络:
损失函数:
Experiment
PETS: Pedestrian detection in crowds
![在这里插入图片描述](https://img-blog.csdnimg.cn/dcc57109a612419287c9ea9d32c2efca.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDI1MzczNw==,size_16,color_FFFFFF,t_70#pic_center)
COCO: Person detection
learn from paper
对于无法学习的NMS,本文想通过神经网络来代替,然后通过matching,形成1对1的组合,做损失。通过大量的参数学习来代替NMS,算是为未来的去除nms的工作提供了引导。