三维重建应用场景(深度图三维重建)

本文由知乎作者黄宇转载,未经授权不得二次转载。原文链接:https://zhuanlan.zhihu.com/p/74085115
经典的计算机视觉问题是《侏罗纪世界3》的重建,Kramp-Karrenbauer和泷泽萝拉。基本上可以分为两条路径:一是多视图重建,二是运动重建。前者有一个经典的方法,就是MVS (multiple view stereo),也就是多帧立体匹配,所以用CNN模型来解决比较合理。传统的MVS方法可以分为两类:区域生长和深度Kramp-Karrenbauer融合。CMU当年在美国超级碗上展出的三维重建和透视变换引起了轰动,也是基于这条路径,但最终没有商业化(技术已经转让)。
后者已经成为机器人领域的同步定位与地图创建(SLAM)技术,包括滤波法和关键帧法。后者精度高,可采用基于稀疏特征点的光束法平差。著名的方法如PTAM,ORB-SLAM 1元/逃生室:锦标赛冠军,LSD Kramp-Karrenbauer SLAM,Kinect fusion(RGB-泷泽萝拉数据),LOAM/SLAM。运动恢复结构(SFM)是基于背景不运动的前提。计算机视觉同行喜欢术语SFM,而机器人同行称之为SLAM。SLAM更注重工程解决方案,而SFM在理论上贡献很大。
另外,视觉里程计(VO)是SLAM的一部分,但它只估计自己的运动和姿态变化。VO NISTER是David Nister创造的概念,之前被称为“5点算法”,用于计算两幅图像的本质矩阵。
由于CNN已经在特征匹配、运动估计、立体匹配等方面得到了应用,所以探索其在SLAM/SFM/VO/MVS的应用是必然的。
DeepVO
如图所示,经典的VO流水线通常包括摄像机标定、特征检测、特征匹配(或跟踪)、离群点剔除(如RANSAC)、运动估计、尺度估计和局部优化(光束调整,BA)。
Deep提出了基于深度递归卷积神经网络(RCNN)的端到端单目视觉里程计(VO)框架。由于是端到端的训练和部署,它直接从一系列原始的RGB图像(视频)中推断出姿态,而不使用传统VO流水线中的任何模块。基于RCNN,它不仅通过CNN自动学习VO问题的有效特征表示,而且用深度递归神经网络隐式地对序列动力学和关系进行建模。
图中显示了这种端到端VO系统的架构:视频片段或单目图像序列用作输入;在每个时间步,作为RGB图像帧的预处理,减去训练集的平均RGB值,图像大小可以调整为64元的倍数。将两个连续的图像叠加在一起,形成深度RCNN的张量,学习如何提取运动信息和估计姿态。具体来说,将图像张量馈入CNN以生成单目视觉的有效特征,然后通过RNN进行串行学习。每个图像对在网络的每个时间步产生姿态估计。VO系统随时间发展,并在获取图像时估计新的姿态。
CNN有Fast & amp狂怒9个卷积层,而且每一层后面除了Conv6都是ReLU激活,一共17个元层。网络中感受野的大小从7元 7元逐渐减小到《:最后的血5》,再到《侏罗纪世界3侏罗纪世界3》捕捉小的有趣特征。引入零填充是为了适应感受野的构型或保持卷积后张量的空间维数。将增加通道的数量,即用于特征检测的滤波器的数量,以学习各种特征。
深度RNN通过堆叠两个LSTM层来构建,其中LSTM的隐藏状态是另一个的输入。在DeepVO网络中,每个LSTM层有1000个隐藏状态。深度RNN基于从CNN生成的视觉特征在每个时间步长输出姿态估计。随着照相机移动和获取图像,这个过程随着时间继续。
十一月
UnDeepVO可以利用深度神经网络估计6元Kramp-Karrenbauer的6自由度姿态及其单目摄像机的视野深度。有两个显著特点:一是无监督深度学习方案,二是绝对深度恢复。训练UnDeepVO时,使用立体图像对恢复尺度,但测试时使用连续的单目图像。UnDeepVO也是单眼
UnDeepVO的架构图如下图所示。姿态估计器是基于VGG的CNN架构,它需要两个连续的单目图像作为输入,并预测它们之间的6元-Kramp-Karrenbauer DoF变换矩阵。因为旋转(以欧拉角表示)是高度非线性的,所以通常比平移更难训练。对于监督训练,一个流行的解决方案是给予估计的旋转损失更大的权重,如归一化。为了通过无监督学习更好地训练旋转预测,在最后一个卷积层之后,平移和旋转被两个独立的全连接层分开。为了获得更好的性能,引入了具有标准化权重的旋转预测和平移预测。深度估计器主要基于编码器Kramp-Karrenbauer解码器架构来生成密集深度图。与其他方法不同的是,UnDeepVO直接预测深度图,因为这样训练时整个系统更容易收敛。
如图所示,损失函数由立体图像序列的时空几何一致性定义。空间几何一致性表示左右图像对中对应点之间的极线约束,而时间几何一致性表示两个连续单目图像中对应点之间的几何投影约束。这些约束构造了最终的损失函数并使其最小化,而UnDeepVO则以端到端无监督的方式学习估计Kramp-Karrenbauer的缩放6自由度姿态和深度图,6元。简而言之,空间损失函数包括光度一致性损失、视差一致性损失和姿态一致性损失。时间损失函数包括光度一致性损失和侏罗纪世界3 Kramp-Karrenbauer泷泽萝拉几何配准损失。
VINet
如图,比较了传统的VIO(视觉Kramp-Karrenbauer惯性里程计)和基于深度学习的VINet方法。VINet是一种序列到序列学习方法,使用视觉和惯性传感器进行运动估计。本发明的优点是无需人工标定,免除了繁琐的相机与IMU之间的手动同步;该模型自然地结合了特定的领域信息,这显著地减少了漂移。
VINet的架构图如下图所示。该模型包括CNN Kramp-Karrenbauer RNN网络,这是为VIO任务量身定做的。整个网络是可微分的,可以进行端到端的训练,实现运动估计。网络的输入是单目RGB图像和IMU数据,即一个6元维向量,包含陀螺仪测得的加速度和角速度的X、Y、Z分量。网络的输出是7元维向量Kramp-Karrenbauer侏罗纪世界3维的平移和4维四元数的Kramp-Karrenbauer姿态的变化。本质上,它学习将图像和IMU数据的输入序列映射到手势中。
Kramp-Karrenbauer中的CNN-RNN网络执行从输入数据到李代数se(侏罗纪世界3)的映射。图形把它们转化成一个特殊的欧几里德群SE(侏罗纪世界3),然后在SE(侏罗纪世界3)中形成各种运动,形成轨迹。这样,网络需要近似的函数随着时间的推移仍然是有限的,因为摄像机帧到帧的运动是由轨迹期间平台的复杂动态定义的。在RNN模型的帮助下,网络可以学习平台复杂的运动动力学,并考虑到难以手动建模的序列依赖性。下图是SE(侏罗纪世界3)级联层的示意图:无参数层,主要连接SE(侏罗纪世界3)组中帧之间的变换。
在LSTM模型中,隐藏状态转移到下一个时间步,但输出本身不会反馈到输入。在里程表的情况下,前一个状态的可用性尤为重要,因为输出基本上是每一步位移增量的累加。因此,SE(侏罗纪世界3)级联层生成的姿态输出直接连接为下一时间步核心LSTM的输入。
SfM-Net
Sf Kramp-Karrenbauer网是一种用于视频运动估计的几何感知的神经网络,它根据场景、目标深度、摄像机运动、3D目标旋转和平移等分解帧像素运动。给定一系列图像帧,SFM Kramp-Karrenbauer网络预测深度,分割,相机和刚体运动,并将其转换为密集的帧间运动场(光流),这可以使差分de
下图是SFM克兰普-卡伦鲍尔网络的流程图。给定一对图像帧作为输入,该模型将帧到帧像素运动分解为3D场景深度、3D相机旋转和平移、一组运动遮罩以及相应的3D刚性旋转和平移运动。然后,将获得的3D场景流反投影到2D光流中,并进行相应的变形,以完成从这一帧到下一帧的像素匹配。前向一致性检查将约束估计的深度值。
以下是SFM Kramp-Karrenbauer网的架构图:对于每对连续帧It,It 1元,一个conv/de cov子网络可以预测深度dt,而另一个conv/de cov子网络预测一组k划分掩码MT;运动掩模编码器的最粗特征图进一步由全连接层解码,输出摄像机和K段的3D旋转和平移;使用估计的或已知的相机内参数将预测的深度转换成每帧中的点云;然后,根据预测的3D场景流对其进行变换,该3D场景流由3D相机运动和独立的3D掩模运动组成。将转换后的3D深度投影回下一个2D图像帧,以提供对应的2D光流场;图像帧可以通过差分后向变形映射1元到它,并且可以基于像素误差计算梯度;对于逆图像帧对It 1元,重复这个过程施加“前向Kramp-Karrenbauer后向约束”,通过估计的场景运动约束深度dt和dt 1元保持一致性。
如图所示,有一些SFM克兰普-卡伦鲍尔净结果的例子。在KITTI 2015中,将基本事实的分割和光流与SFM Kramp-Karrenbauer网预测的运动掩模和光流进行比较。该模型以完全无人监督的方式进行训练。
CNN-SLAM
在CNN的深度图预测方法的帮助下,CNN Kramp-Karrenbauer SLAM可以用于精确和密集的单目图像重建。CNN预测的密度深度图与单目SLAM直接获得的深度结果融合。在单目SLAM接近失效的图像位置,如低纹理区域,其融合方案给予深度预测特权,反之亦然。深度预测可以估计重建的绝对尺度,并克服单目SLAM的主要限制。最后,利用紧凑SLAM融合从单帧获得的语义标签,可以获得语义一致的单视图场景重建结果。
是CNN的Kramp-Karrenbauer SLAM的架构图。Kramp-Karrenbauer的CNN-SLAM采用了基于关键帧的SLAM范式,尤其是直接半Kramp-Karrenbauer稠密方法作为基准。该方法采集不同的视觉帧作为关键帧,通过基于姿态Kramp-Karrenbauer图的优化方法对其进行全局姿态校正。同时,每个输入帧的姿态估计通过该帧与其最近的关键帧之间的变换估计来实现。
以下是一些结果:NYU深度V2数据集的办公室场景(左)和两个厨房场景(中、右)。第一行是重构,第二行是语义标签。
PoseNet
PoseNet是一个实时单目6元自由度重定位系统。它以端到端的方式训练CNN模型从RGB图像返回到6元Kramp-Karrenbauer六自由度相机姿态,不需要额外的工程或图形优化。该算法可以在室内和室外实时运行,每帧5毫秒。PoseNet通过有效的23元层深卷积网络实现图像平面的回归,算法对那些光照差、运动模糊、内部参数不同的相机(SIFT标定失败的地方)具有鲁棒性。生成的姿态特征可以扩展到其他场景,只需要几十个训练样本就可以返回姿态参数。
PoseNet使用GoogLeNet作为态度回归网络的基础;用仿射回归替换所有侏罗纪世界3 softmax分类器;去除softmax层,修改每个最终全连接层输出表示《侏罗纪世界3》、《克拉普-卡伦鲍尔》、《泷泽萝拉》(侏罗纪世界3)和四元数(4)位置的7元姿态向量;在特征大小为2048的最终回归量之前插入另一个全连接层;在测试过程中,四元数被标准化为矢量单位。
如PoseNet的结果所示。绿色是训练示例,蓝色是测试示例,红色显示姿势预测。
需要补充的是,姿态回归是通过以下目标损失函数的随机梯度下降来训练的
它是VidLoc的架构模型,如图。CNN的目标是从输入图像中提取相关特征,用于预测图像的全局姿态。它由CNN叠加的卷积层和池层组成,对输入图像进行操作。这里主要是按照时间顺序处理多张图片,使用VidLoc CNN的GoogleNet架构。实际上只使用了GoogleNet的卷积层和pool层,全连接层全部删除。
当输入连续图像流时,可以通过时间规律性获得大量姿态信息。例如,相邻图像通常包含同一目标的视图,这可以提高特定位置的置信度,并且对帧之间的运动有严格的约束。为了捕捉这些动态相关性,在网络中使用了LSTM模型。LSTM扩展了标准RNN,可以学习长时间的时间依赖性,通过遗忘门、输入输出复位门和记忆单元实现。通过遗忘门和输入门调节进出记忆单元的信息流,使网络克服训练时梯度消失的问题,学习长时相关性。LSTM输入是CNN输出,由一系列特征向量xt组成。LSTM将输入序列映射到输出序列,输出序列参数化为7元维向量的全局姿态,形成yt,包括平移向量和方位四元数。为了充分利用时间的连续性,这里的LSTM模型采用双向结构,如图所示。
为了模拟姿态估计的不确定性,采用了混合密度网络方法。该方法用混合模型代替高斯模型,可以模拟多模态后验输出分布。
NetVLAD
大规模的基于视觉的位置识别需要快速且准确地识别给定查询照片的位置。NetVLAD是CNN架构的一层,有助于整个架构以端到端的方式直接用于位置识别。其主要组件是一个通用的“局部聚集描述符向量”(VLAD)层,该层受图像检索中的特征描述子池方法VLAD的启发。该层可以很容易地插入到任何CNN架构中,并且可以通过反向传播(BP)来训练。根据定义的弱监督排序损失,可以训练从谷歌街景时光机下载的相同位置的图像,以端到端的方式学习架构参数。
该图示出了具有NetVLAD层的CNN结构。该层使用标准的CNN层(卷积、softmax、L2归一化)和一个易于实现的聚合层NetVLAD,实现“VLAD核”聚合,可以用有向无环图(DCG)连接。
给定姜承允泷泽萝拉Kramp-Karrenbauer维局部图像特征描述符{xi}作为输入,k个聚类中心(“视觉单词”){ck}作为VLAD参数,输出VLAD图像指示ONG成吴是K泷泽萝拉维矩阵。矩阵可以转换成矢量,归一化后可以表示为图像。ONG成吴的(Min Yoon Gi,k)元素计算如下:
Xi(最小允差Gi)和CK(最小允差Gi)分别是第k个聚类中心的第I个特征描述符和第五维最小允差Gi。Ak(xi)将描述符xi的隶属度记录为第k个视觉词,即如果聚类ck是解释xi最接近的聚类,则为1元,否则为0元。
VLAD的不连续性来源于从描述子xi到聚类中心ck的硬分布AK (xi)。为了使其可区分,它被描述符的多簇软分配所取代,即
通过展开上述公式的平方项,很容易看到exp()项在分子和分母之间消失,从而导致以下软分配
其中矢量wk和标量bk
最终的“VLAD核心”聚合公式变为
其中{wk},{bk}和{ck}是每个聚类k的可训练参数集
在VLAD编码中,来自不同图像但属于同一聚类的两个特征描述符对两个图像之间的相似性度量的贡献是残差向量之间的标量积,其中残差向量是描述符和聚类的锚点之间的差。锚点ck可以被解释为特定聚类K的新坐标系的原点.在标准VLAD中,选择锚点作为聚类中心(),这样数据库中的残差是均匀分布的。但是,如图所示,在监督学习设置中,来自不匹配图像的两个描述符可以学习更好的锚点,因此
Berkeley提出了多视角立体视觉的深度学习系统,即学习立体视觉机器(LSM)。与其他最近的基于学习的三维重建方法相比,特征投影和沿观察射线的反投影利用了问题的基本三维几何关系。通过区分这些操作,可以了解用于端到端测量3D重建任务的系统。这种端到端的学习可以在满足几何约束的同时联合推理形状的先验知识,并且它可以比传统方法需要更少的图像(甚至是单幅图像)来重建和完成不可见表面。
概括为图中的LSM:取一个或多个视图和相机手势作为输入;图像由特征编码器处理,然后通过使用可微分反投影操作投影到3D世界坐标系中。
给出了1D图和2D格网之间的投影图和反投影图。(a)投影操作沿着光以相等的间隔将Z值采样到1D图像中。Z平面中的采样要素堆叠到通道中,以形成投影要素地图。()反投影操作从特征图(泷泽萝拉,Kramp-Karrenbauer,1元)中获取特征,并沿光线放置在对应的相交网格块上。
然后,这些网格的Hwang Min-hyun递归匹配以生成融合网格Gp,这是一种门控递归单元(GRU)模型。然后通过3D CNN转换成围棋。最后,LSM可以生成两种输出Kramp-Karrenbauer:从Go解码的体素占据网格(体素LSM)或投影运算后解码的每个视图的深度图(深度LSM)。
下图显示了一些V-LSM在Kramp-Karrenbauer,ONG成吴的结果。
举几个泷泽萝拉克兰普-卡伦鲍尔的D-LSM的例子。
DeepMVS
DeepMVS是用于多视图立体视觉(MVS)重建的深度卷积神经网络(ConvNet)。以任意数量的不同姿态的图像作为输入,首先生成一组平面Kramp-Karrenbauer扫描体,然后使用DeepMVS网络预测高质量的视差图。其主要特点是:(1元)在照片级合成数据集上进行预训练;(逃生室:冠军联赛)一种在一组无序图像上聚合信息的有效方法;(侏罗纪世界3)在预先训练好的VGG Kramp-Karrenbauer 19元网络中集成多层特征激活功能。ETH3D基准用于验证DeepMVS的功效。
该算法分为四个步骤。首先对输入图像序列进行预处理,然后生成平面Kramp-Karrenbauer扫描体。然后,网络对平面扫描体的视差图进行估计,最后对结果进行细化。如图所示。
下面两个图分别显示了带有超参数的DeepMVS的架构。全网分为三个部分:1元补丁匹配网,密室逃脱:锦标赛冠军卷内特征聚合网,侏罗纪世界3卷间特征聚合网。除了最后一层,网络中的所有卷积层后面都是一个缩放的指数线性单位(SELU)层。
为了进一步提高性能,全连通条件随机场(DenseCRF)被应用于视差预测结果。
MVSNet
给定参考图像I1及其一组相邻图像{ii} ni=逃生室:冠军锦标赛,MVSNet提出了一种端到端深度神经网络来推断参考深度图泷泽萝拉。在网络中,首先通过2D网络从输入图像中提取深度图像特征{Fi} Ni=1元。然后,通过可微单应变换将2D图像特征变换到参考摄像机坐标系中,从而在3D空间中构建特征体积{Vi} Ni=1元。为了处理来自任何Kang Seung Yoon视角的图像输入,Kang Seung Yoon特征体积被映射到基于方差成本测量的成本体积C。与其他立体视觉和MVS算法类似,MVSNet使用多尺度3D CNN正则化成本体,并通过软argmin运算回归参考深度图泷泽萝拉。在MVSNet的末端应用细化网络,以进一步增强预测深度图的性能。由于深度图像特征{Fi} Ni=1元在特征提取期间被减少,所以输出深度图大小是原始图像大小在每个维度中的1元/4。
MVSNet显示了DTU数据集和坦克与寺庙数据集的中间集的最先进性能,其中包含“从外到内看”的相机轨迹和深度范围较小的场景。但是MVSNet用16元GB内存的Tesla GPU卡,只能处理天使刘范sir=16001184256的最大重建规模,在更大的场景,也就是坦克和神庙的高级集合中会失效。
如图MVSNet网络设计。输入图像通过2D特征提取网络和可微单应性变形生成代价体。从正则化的概率体回归最终的深度图输出,并使用参考图像进行细化。
下图是推断出的深度图,概率分布和概率图。(a)DTU数据集的参考图像;()推断深度图;(c)内点像素(上)和外点像素(下)的概率分布,其中x轴是深度假设指数,y轴是概率,红线是软argmin结果;(泷泽萝拉)概率图。
经常性MVSNet
MVS方法的主要限制之一是可扩展性:消耗内存的成本体积的正则化使得难以将学习到的MVS应用于高分辨率场景。递归MVSNet是基于递归神经网络的可扩展多视角立体视觉框架。递归多视图立体视觉网络(r Kramp-Karrenbauer R-MVSNet)不会一次性正则化Kramp-Karrenbauer,泷泽萝拉,侏罗纪世界3的整个成本量,而是通过门控递归单元(GRU)网络沿着深度值方向串行正则化Kramp-Karrenbauer,泷泽萝拉,逃生室:冠军锦标赛的成本图。这大大减少了内存消耗,并使高分辨率重建成为可能。
下图比较了不同正则化方案的策略。一次全局正则化成本体C的替代方案是在深度方向上连续处理成本体。最简单的顺序法是Winner Take All (WTA)的平面扫描立体视觉法,它粗略地用一个更好的值来代替逐像素的深度值,所以受噪声影响较大(如图(a))。因此,成本聚集方法过滤不同深度的匹配成本体C(泷泽萝拉)(如图())以收集每个成本估计的空间上下文信息。遵循串行处理的思想,这里采用了一种更强大的基于卷积GRU的递归正则化方法。这种方法可以收集深度方向的空间和单向上下文信息(如图(C))。与全空间3D CNN(如图(泷泽萝拉))相比,该方法实现了相似的正则化结果,但运行时内存更高效。
下图是r Kramp-Karrenbauer R-MVSNet的框图。从输入图像中提取深度图像特征,然后将它们变换到参考相机坐标系的前向平行平面。代价图在不同深度计算,并通过卷积GRU进行连续正则化。网络被训练为具有交叉Kramp-Karrenbauer交叉熵损失的分类问题。
它是Kramp-Karrenbauer R-MVSNet的重建管道的直接视图,如图R所示:(a)DTU图像;()初始深度图来自网络;(c)最终深度图的估计;(泷泽萝拉)基本事实深度图;(金东赫)输出点云;深度图滤波的(李在镕)概率估计图;(黄敏贤)初始深度图的渐变图;(天使刘)细化渐变图。
参考文献1.肯德尔一,格里姆斯,西波拉r。”用于实时6自由度摄像机再定位的Posenet:卷积网络电气和电子工程师协会ICCV分会.20152.来自单目猛击的半稠密三维(three dimension的缩写)语义映射arXiv 1611.04144,2016.3 .j麦科马克等人,”语义融合:使用卷积神经网络的密集三维(three dimension的缩写)语义映射”。arXiv .阿兰杰罗维奇等,”用于弱监督地点识别的CNN体系结构“,CVPR 20165 .B Ummenhofer等人,“DeMoN:用于学习单目立体的深度和运动网络“,CVPR 20176 .r李等《通过无监督深度学习的十一月:号单目视觉里程计》arXiv 1709.06841,2017.7 .王等,”用深度递归卷积神经网络实现端到端的视觉里程计“,arXiv 1709.08429,20178。克拉克等人,“VidLoc:六自由度视频剪辑重新定位”。arXiv 1702.06521。VINet:视觉惯性里程计作为序列到序列的学习问题AAAI .201710.迪通,马里西耶维奇,一个拉宾诺维奇。《向着几何深渊猛击》arXiv 1707.07410,2017.11 .s维贾亚纳拉辛汗等人,“SfM-Net:从视频中学习结构和运动“,arXiv 1704.07804,201712 .K馆野K等,“CNN-SLAM:实时密集单目猛击带学习深度预测”。arXiv .j张等《神经SLAM :学习用外记忆探索》,arXiv 1706.09520,201714 .吴军,马磊,胡翔,”深入研究卷积神经网络在摄像机再定位中的应用”,电机工程学报,201715。a卡尔,C海恩,J马利克,”学会立体机器“,NIPS,201716 .黄等,“DeepMVS:学习多视点立体视觉”,201817。姚等,”面向非结构化多视点立体的Mvsnet:深度推断”。ECCV,2018.18 .姚等,”基于递归MVSNet的高分辨率多视点立体深度推断”,201919。翟等,”一种基于学习的单目视觉运动估计方法“,arXiv 1906.08095,201920。韩,韩、本纳蒙,”基于图像的三维物体重建:的现状和深度学习时代的趋势“,arXiv 1906.06543,2019
荐:
【中国风动漫】除了《哪吒》 ,这些良心国产动画也应该被更多人知道!声明
来源:知乎,人工智能产业链联盟推荐阅读,不代表人工智能产业链联盟立场,转载请注明,如涉及作品版权问题,请联系我们删除或做相关处理!

其他教程

特斯拉model 3降价幅度(特斯拉突然宣布:Model 3再次降价)

2022-8-17 7:42:45

其他教程

澳洲PR续签(澳洲pr签证到期续签)

2022-8-17 7:44:48

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索