3D-SIS: 3D Semantic Instance Segmentation of RGB-D Scans 解读

概括:

结合三维场景的体素表示和对应的二维图像作为输入, 对三维场景进行物体检测与实例分割。

数据集:

1.真实世界获取的数据集: ScanNet v2

2.人工合成数据集:SUNCG dataset

输入数据表示:

3d:使用RGB-D图像,通过BundleFusion算法重构得到的3d体素表示。在俯视方向将3d数据划分成4.5m*4.5m*2.5m的方块,再用96*96*48的体素块储存一个方块的信息。每个体素的值都是对应位置的TSDF(truncated signed distance field)值。这部分3d数据代表的是输入数据的几何信息。

2d:5张对应位置的RGB图像。分辨率是328*256。选取原则是平均地覆盖到3d区域中的所有物体(selected based on the average voxel-to-pixel coverage of the instances within the region)。

网络结构:

3D-SIS: 3D Semantic Instance Segmentation of RGB-D Scans 解读_第1张图片

                                                                                 图1 3D-SIS的网络结构

这个网络的思想是结合2d图片,对体素化的3d数据进行物体检测和实例分割。首先将带有颜色信息的2d图像提取特征,映射成体素表示,之后与带有几何位置信息的体素拼接融合。在检测网络中,再次通过3d resnet block提取特征。之后到RPN网络,网络有两个输入,一个是感受野较小的特征层,表示小anchor,另一个是感受野较大的层,表示大anchor。训练完RPN后,使用RPN生成的RoI作为输入,进行分类分支的训练。在实例分割网络中,使用全卷积,使得输出尺寸与输入保持一致。再使用检测网络生成的3d bbox截取分割网络的输出,生成实例分割的结果。

2d映射到3d

首先有个关键点是怎样将2d图像与3d体素表示结合,文章的方法是用三维重建的方法,将二维图像投影到三维的体素表示。由于图像的分辨率是256*328,远大于目标体素表示96*96*48,文章通过卷积的方法,利用ENet[1], 通过语义分割的方式,在NYUv2数据集上训练,将图像总结成尺寸大小32*41,通道数为128的特征表示。在通过图像相应的深度信息,相机内参,和6自由度姿态,将特征表示投影到96*96*48的体素块中,体素值是前面的128通道值。这样5张2d的图像,就投影到了3d体素表示上,得到96*96*48*128的特征表示。

3d RPN

3d RPN有两个分支,一个分支是卷积核为1*1*1的卷积层,表示分类,将通道数变成2*Nanchors, Nanchors=(3,11)。2表示前景和背景的分类得分。另一个分支也是卷积核为1*1*1的卷积层,表示位置回归,将通道数变成6*Nanchors,6表示3d bounding box的位置参数(Δx,Δy,Δz,Δw,Δh,Δl),定义如下。类似fast r-cnn的回归表示。

分类的loss选用二分类交叉熵loss。回归分支选用Huber loss,定义如下:

训练时当anchor与ground truth的IoU大于等于0.35时,当作正样本,参与分类与回归loss的计算,当IoU小于0.15,当作负样本,只参与分类loss计算。

3d ROI pooling

在分类器分支中存在全连接层,需要统一尺寸的输入。由于通过RPN预测出的ROI(region of interest)大小不一,所以要用一个ROI pooling层将大小不一的方块转化成统一尺寸的输出。类似fast r-cnn,这里通过max pool的方式,将ROI转化成大小为4*4*4的输出,最后输入进基于MLP分类器中得到分类结果。

 

3d实例分割

这篇文章结构不够紧凑,因为3d实例分割与前面介绍的3d bounding box检测没有共享网络和权重,而是另起一个网络,使用相同的输入。在实例分割的网络中,使用全卷积,每个卷积的操作,输出都保留原输入的大小不变,这样可以提高分割的准确性。在输出的特征体中,利用检测网络生成的3d bounding box截取出实例分割的结果,在输出的特征体中,每个体素都有c个通道,c是类别的总数。由于检测网络生成的3d bbox不一定准,所以在训练过程中,3d bbox与ground truth的IoU大于0.5才会参与训练。

总结:

这篇网络的优点是分割精度高。缺点有:

1.输入数据复杂。有2d和3d两种形式。在应用中,使收集数据的工作变得复杂。

2.检测网络与实例分割网络没有共享网络与权重,结构不紧凑。

3.虽然作者生成是end to end训练,但实际上是分阶段训练,首先训练2d图像特征提取器,再训练检测网络的RPN,再训练检测网络的分类器,再训练实例分割网络。训练分为了4阶段。

 

参考文献:

1.Adam Paszke, Abhishek Chaurasia, Sangpil Kim, and Eugenio Culurciello. Enet: A deep neural network architecture
for real-time semantic segmentation. arXiv preprint arXiv:1606.02147, 2016. 1, 4

你可能感兴趣的:(3d检测与分割,深度学习)