提取 region proposals,eg,Selective Search, EdgeBoxes
用 CNN 对 region proposals 进行 recognition and categorization
bounding box regression methods 来精修 localization
遵循这样的 pipeline,object detector 往往由于 region proposals methods 的effectiveness(仅利用 low-level feature 来产生,质量往往不行,sensitive to the local appearance changes) 和 efficiency(多,密集—慢) 而表现不佳
为了克服上述困难,
faster rcnn 用 RPN 网络来提速,但由于 ratio 和 scale 是 pre-designed and fixed,很难处理 large shape variations 和 small objects
DenseBox 直接回归 pixel 与 gt 的四个边界距离,然后用 l2 loss!如下图
缺点是,孤立的来优化 four-side distances. It goes against the intuition that those variables are correlated and should be regressed jointly.
2 Advantages / Contributions
提出 IoU loss,
faster training convergence
enabled with variable-scale training
best performance among all published methods on the FDDB benchmark
x
~
i
,
j
=
(
x
~
t
i
,
j
,
x
~
b
i
,
j
,
x
~
l
i
,
j
,
x
~
r
i
,
j
)
\widetilde{x}_{i,j} = (\widetilde{x}_{t_{i,j}},\widetilde{x}_{b_{i,j}},\widetilde{x}_{l_{i,j}},\widetilde{x}_{r_{i,j}})
xi,j=(xti,j,xbi,j,xli,j,xri,j)
如图1 所示,
t
,
b
,
l
,
r
t,b,l,r
t,b,l,r 分别上下左右,
x
~
t
i
,
j
,
x
~
b
i
,
j
,
x
~
l
i
,
j
,
x
~
r
i
,
j
\widetilde{x}_{t_{i,j}},\widetilde{x}_{b_{i,j}},\widetilde{x}_{l_{i,j}},\widetilde{x}_{r_{i,j}}
xti,j,xbi,j,xli,j,xri,j 表示当前像素到GT的上下左右四个边界的距离!
3.1 L2 Loss Layer
被用在 DenseBox 中
有两个缺点
bbox 是用四个独立的变量,没有大局观和整体性(优化的时候,可能一两个变量优化的完美,其它的不太行,整体效果可能也不行),有的 bbox 和 GT loss 很小,但定位的很不准,例如下面这种情况
优点,IoU Loss 把 bbox 当成一个整体,IoU本身就属于 [0,1] 之间,自带归一化性质
3.3 IoU Loss Layer: Backward
配合算法1 的公式,我们来看看 IoU Loss 的反向传播
X
=
(
x
t
+
x
b
)
∗
(
x
l
+
x
r
)
X = (x_t +x_b) * (x_l + x_r)
X=(xt+xb)∗(xl+xr)
I
=
I
h
∗
I
w
=
[
m
i
n
(
x
t
,
x
~
t
)
+
m
i
n
(
x
b
,
x
~
b
)
]
∗
[
m
i
n
(
x
l
,
x
~
l
)
+
m
i
n
(
x
r
,
x
~
r
)
]
I = I_h*I_w=[min(x_t,\widetilde{x}_t)+min(x_b,\widetilde{x}_b)]*[min(x_l,\widetilde{x}_l)+min(x_r,\widetilde{x}_r)]
I=Ih∗Iw=[min(xt,xt)+min(xb,xb)]∗[min(xl,xl)+min(xr,xr)]
U
=
X
+
X
~
−
I
U = X+\widetilde{X}-I
U=X+X−I,
I
o
U
=
I
U
IoU = \frac{I}{U}
IoU=UI,
L
=
−
l
n
(
I
o
U
)
L=-ln(IoU)
L=−ln(IoU)
可以看到,反向传播时候,
▽
x
X
\bigtriangledown_xX
▽xX 是惩罚预测 bbox 的面积的,面积越大,梯度越大,要更新的越多,说明错误的越多,反过来,面积越小,梯度越小!
▽
x
I
\bigtriangledown_xI
▽xI 是惩罚重叠区域的,重叠的越多,梯度越小,重叠越少,梯度越大!从反向传播可以看出,bbox 面积越小越好,重叠区域越大越好!,极限情况下重叠,上面的公式是等于 0 的
3.4 UnitBox Network
两个分支,每个 pixel 有对应的4个坐标,和对应的 score
网络模仿 VGG,有三个输入
原图
con fidence heatmap:GT 覆盖范围内外 positive 和 negative!与原图大小一样,二值mask,positive 区域应该是 FDDB 标签中的椭圆区域
bounding box heatmaps:positive 区域中,与 GT 上下左右的距离
预测的时候,confidence heatmap 接的是 sigmoid activation function
4 Experiments
4.1 Datasets
FDDB
http://vis-www.cs.umass.edu/fddb/samples/
这个数据集是用椭圆来标注人脸的,以椭圆的中心为中心,生成 bbox
4.2 Effectiveness of IoU Loss
VGG 初始化,WideFace 数据集 fine-tune
Convergence
可以看到 IoU loss 比 L2 loss 收敛的更快、更稳,miss rate 也更低
FP-recall Curves
Scale Variation
把测试图片 resize 60-960 pixel 不等,比较 IoU loss 与 L2 loss 的 scale variation,可以看出,IoU 很强