语义增强的多视立体视觉方法

2024-03-25 02:04:54王若蓝
计算机技术与发展 2024年3期
关键词:三维重建特征提取纹理

韩 燮,王若蓝,赵 融

(1.中北大学 大数据学院,山西 太原 030051;2.山西省视觉信息处理及智能机器人工程研究中心,山西 太原 030051;3.机器视觉与虚拟现实山西省重点实验室,山西 太原 030051)

0 引 言

计算机视觉领域的三维重建技术[1-2]已经应用于生活中的各个领域,如自动驾驶、文物修复、虚拟现实、智能家居等。多视立体视觉(Multi-Vision Stereo,MVS)[3]方法作为三维重建技术中的一种,使用人工设计的特征计算立体匹配的代价,聚合代价并进行视差计算和优化,得到像素的深度值,实现场景的三维重建,是计算机视觉领域中的经典方法。

传统的MVS方法主要分为四类,分别是基于点云扩散的MVS方法[4-5]、曲面演化的MVS方法[6]、基于体素的MVS方法[7-8]和基于深度图的MVS方法[9-10]。

基于点云的MVS方法是将初始的点云生成面片,并对面片迭代地传播以进行三维重建,难以并行化操作;曲面演化的MVS方法需要对待恢复场景的表面进行猜测,并根据多视图之间的光度一致性进行迭代重建表面,易出现离散型错误;基于体素的MVS方法将场景空间表示为3D体素,通过标记场景表面的体素以实现重建,占用内存较大,不适用于大场景空间的重建任务;基于深度图的方法将三维重建分解为多个根据立体图像对进行单深度图估计的小任务,快速灵活并且占用内存较小,适用于海量图像的大场景重建任务。目前很多优秀的MVS方法都是基于深度图的MVS方法。

随着深度学习技术在计算机视觉领域中的快速发展,将深度学习技术与多视立体视觉方法结合以提高重建效果也成为一种趋势。深度学习技术中的卷积神经网络[11](Convolutional Neural Networks,CNN)能够从图像中抽取高层语义特征,通过学习并利用场景全局语义信息,获得更稳健的匹配和实现更完整的重建。卷积神经网络在许多基于深度学习技术的MVS方法中展现出了很大的优势。PVAMVSNet(Pyramid Multi-view Stereo Net with Self-adaptive View Aggregation)方法[12]提出了一种有效且高效的多视图立体网络,使用基于2D全连接卷积神经网络的UNet网络进行特征提取,并在自适应视图聚合网络的基础上,配合多尺度图像的输入进行准确和完整的三维重建。TransMVSNet方法[13]对特征提取步骤进行研究,提出了一个基于2D CNN的特征匹配转换器,利用注意力聚合图像内和图像之间的远程上下文信息,改善了三维重建的效果。CasMVSNet[14](Cascade Cost Volume for High-resolution Multi-view Stereo)在图像的特征提取阶段,使用特征金字塔网络进行图像特征的提取,在提取图像的高级特征的同时,融合了多种不同尺度下的信息,有利于深度值的准确预测。目前,虽然基于深度学习的MVS方法利用卷积神经网络大大提高了重建效果,取得了巨大的成功,但仍有一定的问题。在卷积神经网络中,不同层次产生的特征图的语义特征具有巨大差异。浅层的特征图语义信息较少,但细节特征较多,目标位置准确;深层的特征图语义信息丰富,但目标位置模糊。上述基于深度学习的MVS方法使用卷积神经网络提取的包含高级语义特征但缺乏低级更精细表示的特征图构建成本体,忽视了深层特征图的语义信息缺陷,导致在弱纹理区域的重建效果较差。

针对上述问题,该文提出使用基于卷积层的长短期记忆神经网络结构代替普通的CNN提取图像特征,这有助于在空间上层层抽取图像的高级特征时,利用长短期记忆神经网络结构的记忆功能来增强高层特征图中的低级语义信息,弥补了单纯CNN提取的特征图中低级特征缺失,提高了精细特征的表达,提升了弱纹理区域的重建效果。

与此同时,许多基于深度学习的主流MVS方法也致力于研究如何让匹配代价或者深度图预测更加精确[15-18]。其中,2019年Luo等人[16]设计了匹配置信度模块,先学习聚合提取的图像特征的像素级对应信息,再通过匹配置信度模块对不同采样平面匹配置信度进行聚合,该模块可以有效地抑制数据的噪声部分。Fast-MVSNet方法[17]在局部区域中利用CNN编码像素之间的深度相关性,产生密集的高分辨深度,并利用高斯牛顿层(Gaussian Newton)对深度进行持续优化。Luo等人又提出了AttMVS(Attention-Aware Deep Neural Network)方法[18],设计了一种新的注意增强匹配置信度模块,在一般由图像特征得到的像素级匹配置信度的基础上加入了局部区域的上下文信息,逐层次聚合并正则化为概率体,增强了匹配置信度。在上述研究的基础上,该文提出可见性网络与纹理特征提取,通过提取纹理特征增加纹理信息,并将源图像与参考图像转换为灰度图,消除颜色对光照变化的敏感,然后使用CNN计算相似度之后归一化,通过可见度值区别可见区域与不可见区域,并作用在特征提取网络中,增强可见区域的特征,提高3D重建的鲁棒性和完整性。

综上所述,该文在VA-MVSNet方法的基础上进行改进,主要贡献体现在以下三个方面:

(1)提出了一种使用ConvLSTM网络的新型特征提取网络。在对图像进行特征提取的同时,通过使用每层的特征图来预测最终的特征图,在深层的特征图语义中丰富缺失的浅层的语义信息,进行稳健的全局语义信息聚合。

(2)提出了一种可见性网络,首先进行灰度图像的提取,排除光照变化的影响,其次突出可见区域的特征,并指导特征图的生成,加深了可见区域在特征图中的影响,有助于提高三维重建效果。

(3)对图像进行纹理特征的提取,增加纹理特征的影响,提升目标场景的三维结构的重建效果。

1 网络架构

文中方法的整体网络架构如图1所示。假设图像大小为(H×W×3),深度假设的范围为D,方法的输入由1个参考图像和N-1个源图像构成。该方法在VA-MVSNet方法的基础上主要通过ConvLSTM语义聚合网络、可见性网络和纹理特征提取模块进行语义特征的提取和增强,之后通过可微单应性变换扭曲到参考图像的相机视锥内建立3D特征体(H×W×D×C),之后使用VA-MVSNet方法的自适应视图聚合方法得到代价体,最后使用3D正则化网络进行深度图的预测。

图1 网络架构

该方法主要通过在特征提取阶段利用语义增强的思想进行改进,即特征提取时的ConvLSTM语义聚合网络(第1.1节)、可见性网络(第1.2节)、纹理特征提取模块(第1.3节),以增强特征图中的语义信息,提升三维结构的重建效果。

1.1 ConvLSTM语义聚合网络

在基于深度学习的多视图立体重建方法中,特征提取网络通常由深层卷积神经网络组成,以提取更抽象的高层语义特征。虽然这些特征更高级、更抽象,但缺少了低层语义信息所具备的优势,过分强调高层特征会影响到细节语义信息的提取和准确位置的获取,不利于提升整体三维重建效果。ConvLSTM是一种特殊的循环神经网络,可以记忆很久之前的信息,捕捉和学习长期依赖关系,并提取空间特征,非常适合于处理和预测具有长时间间隔和延迟的卷积神经网络之间的图像[19]。

因此,该文提出了一个基于ConvLSTM的语义聚合网络。该网络利用ConvLSTM的记忆功能和空间相关性提取功能,将高层语义和低层语义聚合,生成特征图。这样生成的特征图,除了具备更高层次的语义信息之外,还具备更低层次的语义信息,避免了普通多层卷积神经网络的缺点,从而提高了整体场景空间的重建效果。ConvLSTM的内部运行过程如图2所示。

图2 ConvLSTM内部运行图

该方法利用ConvLSTM的优势通过叠加多个ConvLSTM层设计了基于ConvLSTM语义在每个时间步上产生的隐藏状态,可以在这些隐藏状态上应用一个卷积层来提取中级特征,然后将这些特征输入到后续的层中进行处理,进而增加底层语义信息的权重,如图3所示。

图3 ConvLSTM语义聚合网络图

1.2 可见性网络结构

图像内容随着不同视角的变化而有所不同。不同视角可能会产生遮挡,这可能会大大减少图像中的有用信息,进而影响良好的三维重建效果。此外,颜色对光照变化的敏感性也增加了三维重建的难度。为了克服这些问题,该文提出一种使用灰度图像以及卷积神经网络来表达可见性的方法,这有助于增强可见区域的判别特征,并抑制不可见区域的影响,从而提高三维重建的效果,如图4所示。

图4 可见性网络结构

卷积层的输出特征图的通道数对模型的性能和效果有着重要的影响。首先,较大的输出通道数可以增加卷积层的自由度,从而使得模型能够学习到更多、更复杂的特征,这样可以提高模型的判别性和泛化能力,使得模型更加适用于复杂的任务。其次,卷积核的输出通道数也可以控制特征图的维度和质量。具体来说,较大的输出通道数可以使得特征图的维度更高,包含更多的特征信息,从而提高模型的表达能力,同时,增加输出通道数还可以降低特征图中的噪声和冗余信息,使得特征图的质量更高,进而提高模型的准确率和鲁棒性,与此同时,使用权值共享的方式,即对输入数据中的不同位置使用相同的卷积核,从而可以使模型具有平移不变性,能够识别输入数据中的不同位置的相同特征。

图5展示了一个3通道的数据经过一个大小为3的卷积核作用的过程。

图5 卷积计算过程

因此,该方法使用PIL库内的函数对RGB图像进行灰度的转换之后,使用了5层卷积网络进行提取,通道数逐渐叠加,卷积核使用(3,1,1)的卷积核,然后经过激活函数形成可见性度量值并与ConvLSTM语义聚合网络提取的低级特征相乘,继续进行网络中高级特征的提取。

1.3 纹理特征提取

在特征抽取过程中,该文采用经典的局部二值化模型(Local Binary Pattern,LBP)抽取图像中的纹理特征,以改善纹理区域的重构结果,体现图像中每个像素与局部区域内像素之间的关系。LBP算法可以使用不同的邻域半径和邻域像素数量来生成不同尺度的纹理特征。一般来说,LBP算法会计算每个像素的LBP值,并将其与周围像素的LBP值进行比较,从而得到该像素的纹理特征向量。在实际应用中,可以使用LBP算法提取图像的纹理特征,并将其作为分类器的输入,从而实现图像分类和识别等任务。

该方法使用圆形范围半径为1的LBP算子对输入图像进行纹理特征的提取,并设置领域像素点的数量为8,LBP算子如图6所示。

图6 LBP(8,1)算子

该方法将彩色的三维图像(H×W×3)转成灰度图像,并对灰度图像进行LBP算子运算,得到对应的LBP特征图,部分LBP特征图如图7所示,然后将LBP特征图与输入图像在通道方向上进行拼接,作为ConvLSTM语义聚合网络的输入(H×W×4)。

图7 LBP特征图示例

2 实验结果与分析

该方法在DTU[20]数据集上训练,按照一般的做法,在训练时,将所输入图像的尺寸设定为W×H=640×512,并且设置输入图像的数量为5。深度假设的范围是425 mm至935 mm,从这个范围内采样假定的深度值,深度平面的数量是192,当前的网络是在PyTorch上实现的,并且利用Adam进行16个epoch的端到端的训练,初始的学习速率是0.001,每个epoch衰减是0.9。批量长度设为4。对于测试,该方法在原始输入图像分辨率为1 600×1 184的DTU数据集上评估,使用7个图像视图,D=192进行深度平面扫描,并使用MVSNet方法中使用的训练损失,如式1所示。对于Tanks and Temples数据集[21],输入图像的分辨率设置为1 920×1 056。

(1)

其中,D(p)表示预测深度图,DGT(p)表示真值深度图。

2.1 实验环境

该方法的研究与实验均在Linux环境下进行,操作系统是Ubuntu 20.04,使用2块NVIDIA RTX TITAN的GPU卡进行实验,具体信息如表1所示。

表1 实验环境信息

2.2 数据集

DTU数据集是一个大规模的MVS数据集,包括49或64个视角,并且提供了真实点云和深度图,可以将通过实验得到的预测值与其进行比较。每个视角由一幅图像和对应的相机参数组成,图像的原始尺寸为1 600×1 200像素,包含8位RGB颜色。124个场景中包含80个测试场景。其中,59个场景包含49个摄像机位置,21个场景包含64个摄像机位置。

为了提升MVS方法在大规模场景重建中的泛化能力,Arno Knapitsch等人提供了Tanks and Temples数据集。该数据集基准更大,更多样化,包括完整的大型室外结构以及复杂的室内环境。这个数据集包括两组不同的场景:中等和高级。中等组包括各种建筑,如雕像、大型车辆和房屋,镜头路径从外向内。该方法选择中等组场景进行泛化实验。

2.3 评价指标

点云的准确度、完整度、F-Score等是评价三维重构算法性能的重要指标。在不同的算法或数据集下,点云准确度和完整度的度量并不完全一致,F-Score的计算方法也不完全一样。

(1)准确度(Accuracy)。

假设G为真实点云集,R为预测点云集,对于一个预测点云r∈R,当满足式2的条件时,对预测点云中的任何点,将被视为与重构点云中的点相匹配的很好:

(2)

其中,λ是与场景有关的被指派给该数据组的参数。将较大的场景设定为较大的数值。在DTU数据集,其准确度并非以百分数来度量,而以绝对平均数来度量。平均绝对值愈小,准确度愈小时,则表示该方法的精度愈高,如式3所示。

(3)

(2)完整度(Completeness)。

完整度是指真实点云在重建后的点云中可以匹配的像素点百分比的度量。同准确度一样,对于一个真实点云r∈R,就会认为对于重建后的点云,该点具有良好的匹配性,如式4所示。

(4)

其中,λ是由数据集分配的与场景相关的参数。对于比较大的场景设置为较大的值。距离的定义与倒角距离定义相同,在DTU数据集中,完整度是指真实点云与预测点云之间的相对距离,平均绝对距离越小,认为其准确度越优秀,如式5所示。

(5)

(3)F-score。

F-score是衡量多视立体视觉方法性能的重要指标,是对准确度与完整度的调和平均值。在DTU数据集中,F-score设置为完整度与准确度两者的平均数,称作平均值;在Tanks and Temples数据集中,F-score设置为真实点云G与预测点云R之间的差异百分比与预测点云R与实际点云G之间的差异百分比的调和平均值,值越高,表明该方法的性能越优秀。

对于一个预测点云r∈R,它到真实点云的距离定义如式6所示,则设预测点云R与实际点云G之间的差异小于某一特定阈值d的比例为P(d),如式7所示。

(6)

(7)

同样,对于一个真实点云g∈G,它到预测点云的距离定义如式8所示,则真实点云G与预测点云之间差异程度的指标可以用式9所示。

(8)

(9)

则F-score的计算公式如式10所示。

(10)

2.4 结果分析

该方法在DTU数据集的定量结果如表2所示,定性结果如图8、图9所示。

表2 DTU数据集指标结果对比

图8 点云结果对比

图9 局限性展示

由表2可知,该方法在完整度上面表现不错,比VA-MVSNet方法提高了0.038,同时实现了具有竞争力的整体性能,但通过与一些经典的方法以及先进方法的比较,还有所差距,与基础网络性能以及所用方法有关,还需进一步改善与提高。

除了在重建的三维点云模型上的定量比较,图8、图9展示了文中方法与其他先进方法的定性比较。

得益于集成了高层语义特征信息和低层语义特征信息以及多尺度特征信息的ConvLSTM语义聚合网络,该方法能够为弱纹理区域估计更完整和更精细的空间表面。由图8可看出,该方法在精细结构处的重建效果更好,验证了该方法的有效性,但是由图9也可以看出,该方法也具有一定的局限性,重建的精准度不足,重建场景模糊。

与此同时,该文使用在DTU数据集上训练好的参数模型在Tanks and Temples数据集的中级数据集上进行泛化能力的验证。由表3的数据对比可以看出,该方法在一些场景如Family,Francis,Light-house,Panther上的重建结果较好,具有一定的泛化能力,在其他场景泛化能力不足,可以分析得到其他方法如PVA-MVSNet方法结合多尺度信息进行三维重建是有可取之处的。

表3 Tanks and Temples数据集指标结果对比

除此之外,在本节中,进行消融实验来定量分析该方法中关键组件的优势和有效性。对于以下所有研究,均在DTU数据集上进行实验和评估,并使用准确性和完整性衡量重建质量。

本节比较了ConvLSTM语义聚合网络、可见性网络以及纹理特征提取的有效性。定量结果如表4所示。由表4可知,ConvLSTM语义聚合网络、可见性网络都可以显著提高重建标准的结果,并且互补,以取得最佳效果。

表4 不同组件的消融实验在DTU数据集的结果

3 结束语

该文提出了一种具有语义增强功能的多视立体视觉方法。该方法通过使用ConvLSTM语义聚合网络增强高层特征图中的低层语义信息,增强了细节语义特征以及多尺度语义信息,利于弱纹理区域的重建,同时通过纹理特征提取模块提取图像的纹理特征,加深了纹理语义信息在高层特征图的影响,提升了三维重建的整体效果,有效地提高了低纹理表面的性能,这两个模块是轻量级、有效和互补的。除此之外,提出了一种可见性网络,一定程度上排除了光照变化的影响,突出了可见区域的特征,加深了可见区域在特征图中的影响,有助于提高三维重建效果。在DTU数据集和Tanks and Temples数据集上的实验,证实了该方法的合理性和有效性。

后续的工作将考虑不同层次的语义特征与匹配成本体之间的关系,进一步研究不同语义特征对于匹配代价的影响,以更准确地进行代价匹配。

猜你喜欢
三维重建特征提取纹理
基于BM3D的复杂纹理区域图像去噪
软件(2020年3期)2020-04-20 01:45:18
基于Mimics的CT三维重建应用分析
软件(2020年3期)2020-04-20 00:56:34
使用纹理叠加添加艺术画特效
基于Daubechies(dbN)的飞行器音频特征提取
电子制作(2018年19期)2018-11-14 02:37:08
TEXTURE ON TEXTURE质地上的纹理
Coco薇(2017年8期)2017-08-03 15:23:38
Bagging RCSP脑电特征提取算法
基于关系图的无人机影像三维重建
三维重建结合3D打印技术在腔镜甲状腺手术中的临床应用
消除凹凸纹理有妙招!
Coco薇(2015年5期)2016-03-29 23:22:15
多排螺旋CT三维重建在颌面部美容中的应用