【阅读笔记】ScanComplete: Large-Scale Scene Completion and Semantic Segmentation for 3D Scans

任务描述

对不完整的扫描场景进行补全,同时进行语义分割。

动机

由于遮挡和传感器测距限制,扫描时只能获取部分、不完整的场景。传统方法(泊松重建等)主要通过拟合或者连续能量函数优化的方式填补小空洞,而对大范围的缺失(如墙体,椅子的脚)则无能为力。大范围的缺失处理方案主要有考虑物体对称性结构化重建以及CAD模型回溯的方法。

然后就是基于深度学习的方法了,目前的学习方法只能处理固定大小的场景,因此都是针对单帧或者是物体的补全。本文就主要解决大场景的补全问题。为此选择了使用全卷积网络(FCN,fully convolutional network),全卷积网络具有的优点就是可以接受任意尺寸的输入图像(当然,本文是3D CNN),允许训练测试时的尺寸大小不同,而网络的卷积核大小始终保持不变,并且计算高效。训练的时候将训练的场景裁切成固定大小的体块作为输入,而测试的时候对场景大小则不做要求。FCN的使用是本文的核心创新点

方法

为了同时保有局部细节和大尺度的结构信息,本文亦采用了分级的策略(很多文章都有),如下:

  为了提高精度,还采用了自回归的策略,将一个volume分成8个group,每个group内的voxel互不相邻,单个group的预测取决于之前group的预测,如下:

本文还就是使用生成模型还是判别模型做了实验(以上是否分级,是否使用自回归也有实验),判别模型预测具体的TDF值和语义标签,适用于扫描内容充足,缺失部分大概率只是单一类别的情形;生成模型将TDF值离散化为一个个的bin,转化为分类问题,输出各类别的概率分布,适用于内容稀疏的情形。

网络

训练是在合成数据上进行的,首先要生成数据(可以看成是数据增强);网络分三级,每级8个group,一共24个网络。每一级各组之间并行处理,虽然互相之间有依赖关系,但实际训练时直接用真值代替了预测值,但各级之间如果也这样做,则会过度平滑,只能串行。由于显存限制,没法做成端到端的,在1080上训练大概要3天。

输入有三部分Partial TSDF volume,上一级的TDF volume,这一级之前的group TDF volume。

输出预测的有两部分 TDF和语义标签(怎么看都是附带的)

数据生成

在SunCG上进行轨迹的模拟,轨迹的统计特性来源于ScanNet,除了均值和方差之外,还模拟了相机的抖动。沿着轨迹渲染深度影像,然后再深度影像进行体素融合。分层计算TSDF值和TDF值,TSDF值是输入,TDF值是groud truth。将训练场景按3m间隔进行划分,分辨率,实际范围如下(分辨率的设置从网络架构来看会好理解一点):

层级分辨率实际范围(m)
Level 1(18.8cm³)321632636
Level2(9.4cm³)323232333
Level3(4.7cm³)3264321.531.5

TSDF vs TDF

网络除了输入的第一部分是TSDF,其他使用的全部都是TDF,作者认为对于具有真值的Volume而言,场景都是已知的,使用TDF,无符号距离更好,因为TSDF的符号是从相机可视性而言代表已知与未知(而不是内部和外部,因为对于合成数据而言,距离场往往是不水密的)(没看懂)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值