SECOND: Sparsely Embedded Convolutional Detection
论文链接: https://www.researchgate.net/publication/328158485_SECOND_Sparsely_Embedded_Convolutional_Detection
项目连接: https://github.com/traveller59/second.pytorch
一、Problem Statement
目前的voxel-based 3D 卷积网络速度慢和方向预测差。
二、Direction
- 利用sparse convolutional network 提高运行速度。
- 提出Data Augmentation 使得收敛速度提高以及提升了精度。
- 对于方向预测表现差的问题,提出了一个新的 angle loss。
三、Method
1. 网络结构
网络结构主要分三个部分: voxelwise feature extractor、 a sparse convolutional middle layer、 an RPN
(1) voxelwise feature extractor
和voxelnet一样,先把pointcloud grouping,然后用VFE(voxelwise feature extractor)进行特征提取。大致上就是把点云分割成规定数量的voxel,然后每个voxel里面的point是有限制的。详细可以看voxelnet论文解析。
(2) a sparse convolutional middle layer
middle extractor是用来学习z轴上的信息,并且把稀疏的3D数据转换为2D BEV图像。这个包含了两种卷积: sparse convolution 和 submanifold convolution。
(3) an RPN
Region propose network 与 SSD 类似, 其包含三个dowsample阶段,最后输出class, regression offsets 和 direction。
2、目标函数
整体的目标函数如下:
L
t
o
t
a
l
=
β
1
L
c
l
s
+
β
2
(
L
r
e
g
−
θ
+
L
r
e
g
−
o
t
h
e
r
)
+
β
3
L
d
i
r
L_{total} = \beta_1 L_{cls} + \beta_2(L_{reg-\theta} + L_{reg-other}) + \beta_3 L_{dir}
Ltotal=β1Lcls+β2(Lreg−θ+Lreg−other)+β3Ldir
(1) sine-Error Loss for Angle Regression
voxelnet 直接预测弧度补偿,面临着一个角度相反的问题(adversarial example problem),比如0度和180度。它们两个角度相反,但是bounding box都是一样的,如果误识别了,会导致loss很大。因此提出了sin-Error loss:
L
θ
=
S
m
o
o
t
h
L
1
(
s
i
n
(
θ
p
−
θ
t
)
)
L_{\theta}=SmoothL1(sin(\theta_p - \theta_t))
Lθ=SmoothL1(sin(θp−θt))
其中 θ p \theta_p θp是预测值。
这个loss 有两个优点:
- 解决了adversarial example problem。
- 它自然地根据角度偏移函数对IoU进行建模
(2) direction loss
上面的angle loss 把相反的bounding box视为一样,则在direction loss 使用了 softmax loss 进行区分。如果yaw 旋转相对于真值的z轴大于0,则为positive, 否者为negative。
(3) classification loss
分类使用的是focal loss。
F L ( p t ) = − α ( 1 − p t ) γ l o g ( p t ) FL(p_t) = -\alpha (1-p_t)^\gamma log(p_t) FL(pt)=−α(1−pt)γlog(pt)
3、数据增强
(1) sample ground truths from the database
建立一个数据库,包含真值的label和对应的点云数据。然后在训练的时候,随机选择数据库里面的真值,进行插入补充。为了避免重叠,还会进行collision test。
(2) object noise
与voxelnet一样, randomly transformed, random rotations, random linear transformation。
(3) global rotation and scaling
对整个点云进行全局的旋转以及scaling。
四、 Conclusion
提出的 angle loss 和 数据增强值得学习。
五、Reference
- https://zhuanlan.zhihu.com/p/110502915