一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于半监督深度学习的视差图修补方法及系统与流程

2022-06-25 08:43:30 来源:中国专利 TAG:


1.本发明属于视觉图像处理技术领域,特别涉及一种基于半监督深度学习的视差图修补方法及系统。


背景技术:

2.密集匹配是摄影测量和计算机视觉领域的核心问题。密集匹配生成的视差图结合内外方位元素经过计算可得到摄影点和被摄物体的距离信息,该技术在自动化导航、考古、医学以及变化检测等领域均具有重要的应用。传统的密集匹配方法可分为局部匹配算法、全局匹配算法以及半全局匹配方法。其中,局部匹配算法速度通常较快,但整体精度较低。常见的局部匹配算法包括灰度差绝对值求和(sum of absolute differences,sad)、灰度差平方求和(sum of squared differences,ssd)、基于梯度的度量、相关系数匹等;全局匹配方法利用全局优化函数可减少噪声的干扰,常见的方法包括模拟退火、动态规划、图割法(graph cut,gc)以及置信度传播等;就整体而言,局部匹配方法效率更高,但精度有限,全局方法整体精度较高,但计算时间较长。半全局匹配方法(semi-global matching,sgm)结综合了全局方法和局部方法的优势,成为近10年密集匹配最为流行的方法,很多商业软件均以该种匹配方法为基础改进后进行使用。然而,以sgbm为代表的传统匹配方法生成的视差图为半稠密状,在需要稠密视差图的场景难以使用,因此需要对视差图缺失区域进行修补。传统的修补方法基于视差缺失区域的边缘,这对边缘精度要求极高,同时修补过程中未考虑原始图像的纹理特征,因此,修补精度有限。


技术实现要素:

3.为此,本发明提供一种基于半监督深度学习的视差图修补方法及系统,通过深度学习半监督方法对以sgbm为代表的传统匹配方法生成的视差图进行修补,生成稠密视差图,可满足高精度场景应用需求。
4.按照本发明所提供的设计方案,提供一种基于半监督深度学习的视差图修补方法,包含如下内容:
5.构建用于获取输入视图数据之间视差图并对视差图缺失部分进行修复的半监督深度学习模型及用于模型训练的目标损失函数和样本数据,其中,依据目标数据分布来构建对应的样本数据,并针对输入视图数据,利用模型依次进行特征提取、金字塔池化和卷积操作来获取图像特征,并利用视图图像特征的匹配代价来进行视差计算、视差回归及视差值输出;
6.利用样本数据及目标损失函数对半监督深度学习模型进行预训练;
7.利用预训练过程中所得的权重导入半监督深度学习模型中,并利用半监督深度学习模型对预设数量带标签的目标数据进行微调来实现对目标数据的视差图修补。
8.作为本发明基于半监督深度学习的视差图修补方法,进一步地,半监督深度学习模型中,首先对输入视图数据进行预处理,将左右视图数据裁剪为统一尺寸,基于权重共享
对预处理后的左、右视图数据分别依次进行特征提取、金字塔池化和卷积层卷积操作;并利用psmnetb网络三维卷积或psmnets网络堆叠沙漏方式进行视差计算。
9.作为本发明基于半监督深度学习的视差图修补方法,进一步地,目标损失函数采用光滑l1损失函数,其中,光滑l1损失函数表示为x为真实值与预测值之间的差值。
10.作为本发明基于半监督深度学习的视差图修补方法,进一步地,针对目标数据,利用半全局块匹配方法将匹配结果作为目标数据标签,并利用半监督深度学习模型对标签进行微调。
11.作为本发明基于半监督深度学习的视差图修补方法,进一步地,半全局块匹配方法中,依次通过左右视图匹配代价值计算、代价值优化和视差值计算来获取最小匹配代价。
12.作为本发明基于半监督深度学习的视差图修补方法,进一步地,代价值计算中,通过预设特征描述符来提取图像特征,并通过直接计算和采用sobel算子对视图水平方向滤波后两种方式来计算左右视图匹配代价,将两种方式下计算得到的匹配代价进行合并和块处理。
13.作为本发明基于半监督深度学习的视差图修补方法,进一步地,代价值优化和视差值计算中,利用多个方向的一维动态规划对匹配代价值进行聚合并选择使匹配代价最小的视差值作为对应像素的最终视差。
14.进一步地,本发明还提供一种基于半监督深度学习的视差图修补方法,包含:模型构建模块、模型训练模块和目标修补模块,其中,
15.模型构建模块,用于构建用于获取输入视图数据之间视差图并对视差图缺失部分进行修复的半监督深度学习模型及用于模型训练的目标损失函数和样本数据,其中,依据目标数据分布来构建对应的样本数据,并针对输入视图数据,利用模型依次进行特征提取、金字塔池化和卷积操作来获取图像特征,并利用左、右视图图像特征的匹配代价来进行视差计算、视差回归及视差值输出;
16.模型训练模块,用于利用样本数据及目标损失函数对半监督深度学习模型进行预训练;
17.目标修补模块,用于利用预训练过程中所得的权重导入半监督深度学习模型中,并利用半监督深度学习模型对预设数量带标签的目标数据进行微调来实现对目标数据的视差图修补。
18.本发明的有益效果:
19.本发明将传统的修补方法视差图精度有限、无法满足高精度场景需求等情形,利用深度学习提取特征的优势来修补视差图中缺失区域,并利用迁移学习在加速收敛的同时,能够进一步提升修补精度。通过实验数据表明,本案深度学习半监督方法优势明显,具有很强的使用价值。
附图说明:
20.图1为实施例中基于半监督深度学习的视差图修补流程示意;
21.图2为实施例中半监督深度学习模型网络结构示意;
22.图3为实施例中金字塔池化网络结构示意;
23.图4为实施例中视差构建过程示意;
24.图5为实施例中普通三维卷积模块示意;
25.图6为实施例中半全局块匹配方法流程示意;
26.图7为实施例中迁移学习分类示意;
27.图8为实施例中sgbm弱纹理无纹理缺失区域示意;
28.图9为实施例中sgbm方法在在遮挡区域的缺失示意;
29.图10为实施例中修复方法可视化结果示意。
具体实施方式:
30.为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。
31.本发明实施例,提供一种基于半监督深度学习的视差图修补方法,参见图1所示,包含如下内容:
32.s101、构建用于获取输入左、右视图数据之间视差图并对视差图缺失部分进行修复的半监督深度学习模型及用于模型训练的目标损失函数和样本数据,其中,依据目标数据分布来构建对应的样本数据,并针对输入左、右视图数据,利用模型依次进行特征提取、金字塔池化和卷积操作来获取图像特征,并利用左、右视图图像特征的匹配代价来进行视差计算、视差回归及视差值输出;
33.s102、利用样本数据及目标损失函数对半监督深度学习模型进行预训练;
34.s103、利用预训练过程中所得的权重导入半监督深度学习模型中,并利用半监督深度学习模型对预设数量带标签的目标数据进行微调来实现对目标数据的视差图修补。
35.随着深度学习技术的日趋成熟,其强大的特征提取能力是传统方法无法比拟的。本案实施例中,通过深度学习半监督方法对以sgbm为代表的传统匹配方法生成的视差图进行修补,能够生成稠密视差图来满足高精度场景应用需求。
36.进一步地,半监督深度学习模型中,首先对输入左右视图数据进行预处理,将左右视图数据裁剪为统一尺寸,基于权重共享对预处理后的左右视图数据分别依次进行特征提取、金字塔池化和卷积层卷积操作;并利用psmnetb网络三维卷积或psmnets网络堆叠沙漏方式进行视差计算。
37.sgbm方法生成的视差图为半稠密状,为适用于与深度学习无监督方法进行比较、数字表面模型(digital surface model,dsm)构建等需要稠密视差图的场景,需要对sgbm方法匹配的视差图进行修补。通常来说,视差缺失区域为遮挡区域,这些遮挡点通常出现在背景区域和前景区域交界的地方,前景区域距离摄影点较近,视差偏移更大,会遮挡背景区域,因此可利用背景区域对视差图缺失区域进行修补。具体的赋值方法是从缺失点左右分别寻找一个非缺失点,选取较小的视差值填充该缺失点。这种方法修补的视差图通常具有水平“条纹”,可通过滤波的方式消除。半监督训练方法并不是和监督、无监督以及弱监督并列的训练方法,该训练方法属于弱监督中不完全监督的一种,即在部分数据含有不准确标签的条件下进行训练,学习数据到标签的映射过程。本案实施例中,可采用训练精度较高且训练速度较快的psmnetb网络结构,损失函数采用光滑l1损失函数,不准确的标签。psmnetb
是psmnet网络结构消融实验过程的一个版本。参见图2所示,网络结构主要包括特征提取、金字塔池化、匹配代价构建、视差计算以及视差软回归几个主要模块。psmnetb版本与最终网络psmnets版本在视差计算部分存在差异,psmnetb采用三维卷积方式实现视差计算,而psmnets采用堆叠沙漏方式实现。
38.l1损失函数具有稳定的梯度,因此,不会产生梯度爆炸的问题,同时该损失函数具有较为稳定的解,但缺点也较为明显,其中心点不可导,不便于求解,此外,稳定的梯度会导致结果在接近解的地方发生持续震荡;l2损失各处光滑且连续,便于求导,但该可能存在梯度爆炸的风险;光滑l1(smooth l1)损失函数结合l1和l2损失函数的优点,不存在地图爆炸问题的同时,具有较为稳定的解。因此,本案实施例中,采用smooth l1损失函数,其可定义如下:
[0039][0040]
网络结构中图像高度、宽度和视差维度参数设置可如下表所示:
[0041]
[0042]
[0043][0044]
层级设置中卷积参数形式为a
×
a,b,其中a
×
a表示卷积和尺寸;b表示卷积核数量。
[0045]
特征提取包含对输入数据的特征粗提取(conv0_1,conv0_2,conv0_3)和特征精提取(convl_x,conv2_x conv3_x),其中,中的括号表示残差块,c表示残差块的数量。金字塔池化过程如图3所示,将特征精提取的结果经过池化、卷积和上采样操作并结合特征粗提取结果进行特征图的拼接。匹配代价构建是区分通用密集匹配网络和专用密集匹配网络的重要标志,通过构建基于基线方向偏移从零到最大视差maxdisp两两配对特征图在视差维叠加的张量,为后续的视差计算以及得到最终的视差奠定了基础。其具体构建过程如图4所示,通过保持左特征图不变,右特征图按照一定步长d,沿基线方向进行平移,与左特征图拼接后叠加到代价矩阵中,平移后多出的部分裁切掉,缺少的部分用0填充,最终形成匹配代价的四维张量(通道,视差,高度,宽度)。匹配代价构建使特征图增加了视差维,从三维张量变为四维张量,随着搜索范围(最大视差maxdisp)的增加,所需的内存也成倍增加。
[0046]
视差计算的实质是利用三维卷积对构建的匹配代价进行计算的过程。该过程不仅能利用平面二维方向上的相关信息,还可以利用视差维信息之间的相关性,因此整体精度高于密集匹配通用网络。但该过程也存在缺点,相较于二维卷积,三维卷积运算量更大,这是该类型网络运算速度慢的重要原因之一。视差计算位于匹配代价构建后。具体实现上,该模块存在两个较为有代表的计算模块,分别是普通三维卷积模块和堆叠沙漏模块。本案实施例中,可采用普通三维卷积方式,如图5所示,普通三维卷积模块采用6个卷积块来计算视差,每个卷积块由两层3
×3×
3的三维卷积层构成,在块间设置跳层结构,以增加多层级信息融合。卷积模块后边接上采样和视差软回归模块;在视差计算结束后经过上采样方式恢复水平、垂直以及深度方向分辨率,再通过视差软回归的方式确定最佳视差位置。
[0047]
在以gcnet结构为基础的密集匹配专用网络中,经视差计算模块后,在0-maxdisp范围内,每个位置的视差值对应其匹配代价,经softmax函数可转化为相应概率。传统方法选取其中概率最大的位置作为该像素的视差值,即选择概率最大值的下标。该操作通常采用argmax函数,但由于该过程不可导,无法应用到需要反向传播的深度学习端到端网络中。因此gcnet采用可导的软回归函数,其过程用公式可描述为:
[0048][0049]
式中,maxdisp表示匹配过程中视差方向搜索的最大值;d为0~maxdisp中的所有
整数;c表示经过视差计算模块输出的匹配代价;σ(
·
)d表示视差值为d的概率,其中σ(
·
)表示softmax函数,该函数可将匹配代价转化为概率,其公式为:
[0050][0051]
式中,cd为视差值d匹配代价,代价越小,对应概率越大,两者想反,因而需要取负号;e为自然常数。
[0052]
最终,通过视差软回归方式,将分类问题转化为回归问题,极大地提升匹配精度。
[0053]
进一步地,针对目标数据,利用半全局块匹配方法将匹配结果作为目标数据标签,并利用半监督深度学习模型对标签进行微调。进一步地,半全局块匹配方法中,依次通过左右视图匹配代价值计算、代价值优化和视差值计算来获取最小匹配代价。进一步地,代价值计算中,通过预设特征描述符来提取图像特征,并通过直接计算和采用sobel算子对视图水平方向滤波后两种方式来计算左右视图匹配代价,将两种方式下计算得到的匹配代价进行合并和块处理。进一步地,代价值优化和视差值计算中,利用多个方向的一维动态规划对匹配代价值进行聚合并选择使匹配代价最小的视差值作为对应像素的最终视差。
[0054]
opencv以sgm方法为核心,实现半全局块匹配方法(semi-global block matching,sgbm),并对原算法进行改动:一是采用bt(birchfield tomasi)方法替代基于互信息的匹配代价计算;二是增加一些块匹配(block matching,bm)算法中的预处理和后处理;三是动态规划仅采用了5个方向。参见图6所示,sgbm算法可分为代价值计算、代价值优化、视差值计算和视差值后处理四个阶段。其中,代价值计算主要通过人工设计特征描述符的方式提取图像特征,然后计算相应匹配代价。索贝尔算子是计算机视觉领域的一种重要处理方法。主要用于获得数字图像的一阶梯度,常见的应用和物理意义是边缘检测。索贝尔算子是把图像中每个像素的上下左右四领域的灰度值加权差,在边缘处达到极值从而检测边缘;该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以a代表原始图像,gx及gy分别代表经横向及纵向边缘检测的图像,其公式如下:
[0055][0056][0057]
因此,本案实施例中可采用横向的g
x
对图像进行卷积。bt的代价利用亚像素的灰度信息计算像素灰度值差值的绝对值。
[0058][0058]
其中,i
l
和ir表示左右图像;x
l
、x表示左il水平坐标;d表示视差值;x
l
d、x d表示右ir水平坐标;y表示图上垂直坐标。sgm算法的全称为semi-global matching,本质上还是一种代价聚合算法,和局部立体匹配算法中的代价聚合相似,为了达到和全局立体匹配算法一样全局能量函数最小化的效果,就需要更多或者全图所有的像素参与到当前像素的约
束当中。sgm算法类似代价聚合,而传统的代价聚合是在邻域进行计算,如求和或者加权平均。为了能够扩大范围,而不增加太多计算量,sgm方法通过一维动态规划的方式进行代价聚合,这样既能够建立全局约束,同时还不用构建全局最最小能量函数,避免了复杂运算导致的性能降低。其一维的代价聚合如下:
[0059][0060]
p点上某个邻域方向的代价聚合值分为三项,第一是当前点的匹配代价;第二项是min(当前邻域方向上p-r这个像素点的当前视差代价聚合值,p-r点的视差差值为1的代价聚合值 p1,p-r点的视差差值大于1的最小代价聚合值 p2);最后一项是p-r点的视差插值大于1的最小代价聚合值,最后一项是为了防止计算结果太大,做的统一的调整。
[0061]
在实际计算过程中,左右图像分别采用两种方式计算匹配代价,一种是直接计算匹配代价;另一种是采用sobel算子对原始图像的水平方向滤波后计算bt代价。随后将两种匹配代价进行合并,并进行块处理。sgm方法结合全局匹配方法和局部匹配方法的优势,在兼顾精度的同时,极大的提升了匹配效率。sgm的思想是在匹配代价聚合步骤中利用多个方向的一维动态规划取代了二维动态规划,以求解最小匹配代价。视差计算过程根据优化后的代价值计算出最终视差,计算视差包含多重策略,如“胜者为王”(winner-take-all,wta)、加权平均等。sgbm方法采用最为常见的wta方法,即选择使匹配代价最小的视差值作为该像素的最终视差。密集匹配过程中,受多种因素的影响,如数据源自身的遮挡、反射因素,特征提取描述设计的因素、代价优化和视差计算的策略设计以及选择因素等影响,会产生误匹配。因此可通过置信度检验和左右一致检测消除大部分粗差。其中置信度检验是通过领域范围内的视差值检验当前像素点视差值的正确性,保证该像素点的全局最优性;左右一致性检验通过左右视差图同名点视差一致性检验视差正确性,能够有效消除遮挡区域。此外,在进行立体匹配的进程中,会将视差分为多个空间离散的平面,但是真实场景是连续且渐变的,因此可以通过亚像素插值的方式,使物体的表面视差变得更加平滑。
[0062]
迁移学习是将已训练好的模型应用在其他数据集上的策略。该方法利用了原有模型的泛化性能,在源数据集和目标数据集分布相近的条件下,迁移学习能产生更好的效果,同时节省大量的运算时间。此外,迁移学习可以有效防止因目标数据标签过少而出现的“过拟合”现象。迁移学习按照迁移后是否在目标数据集上进行训练分为直推式迁移和模型微调两种方式。参见图7所示,前者对已训练好的模型不作任何调整,直接应用于新数据集;后者是在新的数据集上进行微调,使得模型更适合于该数据集。模型微调又分为整体微调和部分层微调,本案实施例中,可在实验过程中采用直接迁移和整体微调两种方式。
[0063]
进一步地,基于上述的方法,本发明实施例还提供一种基于半监督深度学习的视差图修补方法,包含:模型构建模块、模型训练模块和目标修补模块,其中,
[0064]
模型构建模块,用于构建用于获取输入左、右视图数据之间视差图并对视差图缺失部分进行修复的半监督深度学习模型及用于模型训练的目标损失函数和样本数据,其中,依据目标数据分布来构建对应的样本数据,并针对输入左、右视图数据,利用模型依次进行特征提取、金字塔池化和卷积操作来获取图像特征,并利用左、右视图图像特征的匹配
代价来进行视差计算、视差回归及视差值输出;
[0065]
模型训练模块,用于利用样本数据及目标损失函数对半监督深度学习模型进行预训练;
[0066]
目标修补模块,用于利用预训练过程中所得的权重导入半监督深度学习模型中,并利用半监督深度学习模型对预设数量带标签的目标数据进行微调来实现对目标数据的视差图修补。
[0067]
为验证本案方案有效性,下面结合试验数据做进一步解释说明:
[0068]
为确保实验的有效性,消除随机因素可能引起的误差,实验在多个数据集上进行测试。其中sceneflow为虚拟场景数据集,用于生成迁移学习所需要的预训练模型;kitti两个数据集为近景驾驶场景数据集;vaihingen和whu为遥感数据集。其中,sceneflow数据集作为许多经典网络实际应用前预训练的重要依据,在密集匹配领域发挥着至关重要的作用。该数据集通过三维建模投影到二维的方式生成稠密视差图,标签精度极高,且数据量巨大,适合作为迁移学习模型的预训练数据集。kitti数据集是由大量的树木、汽车、房屋等诸多道路场景组成的真实驾驶数据集,包含kitti2012和kitti2015两个数据集。kitti数据集的标签数据由车载激光雷达测距的结果反算得到,并经过人工修正,标签精度高,但同时,受激光雷达分辨率限制,标签视差图为半稠密状。kitti2012包含1226像素
×
370像素的194对训练图像和195对测试图像,kitti2015包含1242像素
×
375像素的200对图像训练和200对测试图像,本案中可选取两个数据集的训练集用于实验。vaihingen为较为平坦区域拍摄的航空摄影数据集,共包含36张图像尺寸为9240像素
×
14430像素的乡村影像,经整理和裁剪,形成了731对955像素
×
360像素的图像。其中高层建筑较少,主要包含了房屋群、河流、农田、树林等乡村特有地物,标签数据由dsm数据结合内外方位元素反算得到。whu数据是由无人机拍摄的共1776张尺寸为5376像素
×
5376像素的国内贵州某区域的图像,主要场景包含少量的高层建筑、部分厂区以及山脉河流等自然地物。标签数据通过多目重建的dsm反算得到。经过整理和裁剪,数据集图像被裁剪为768像素
×
384像素,共10979对图像。由于该数据集较大,导致单轮训练时间过长,本案可选取训练集中200张图像进行实验。
[0069]
实验所用计算机cpu为xeon e5-2680,主频2.8ghz;显卡为gtx titan x,显存大小为12g;内存共64g。实验在windows10操作系统下进行,通过anaconda创建虚拟环境,编程语言为python,其中半监督方法基于pytorch深度学习实验框架实现。实验主要包含半稠密视差图生成、传统方法修补以及深度学习半监督方法修补三个部分。
[0070]
为探究视差图在各个数据集上的缺失情况,首先需要通过sgbm方法生成各个数据集的视差图。本案中,sgbm采用opencv实现,涉及参数较多,具体参数值以及含义如表1。
[0071]
表1 sgbm方法参数设置
[0072][0073]
传统修补方式处理较为简单,本案中,重点针对滤波方式进行了相关研究。在滤波过程分别采用了高斯滤波和中值滤波方式对水平条纹进行处理,卷积核包含3
×
3和5
×
5两种尺寸。
[0074]
深度学习半监督方法修补将sgbm匹配结果作为标签进行训练。网络结构采用psmnetb,损失函数采用光滑l1损失函数;最大视差搜索范围为192像素;批参数batchsize设置为8,考虑到密集匹配网络结构训练过程中占用显存大,该过程通过梯度累加方式实现;优化器为adam,β1=0.9,β2=0.999;学习率为0.001;训练最大轮次为50轮。在训练过程中,为节约显存和增加随机性,将左右图像均裁剪为512像素
×
256像素后输入到网络中。迁移学习所用到的模型是该网络在sceneflow数据集上10轮监督训练得到的;在kitti2012、kitti2015以及whu数据集上进行50轮训练,在vaihingen数据集上进行10轮训练。并利用绝对终点误差和p像素误差作为评估指标。
[0075]
利用绝对终点误差(end point error,epe)定义为预测视差图上有效的像素点和对应位置真值之间差的绝对值的平均值,定义为:
[0076][0077]
其中,
[0078][0079][0080]
式中,mindisp,maxdisp分别为参与评价的视差下界和上界。本案中,分别设定为0和192;h,w分别表示待输入图像对的高度和宽度;其下标i,j表示图像的行号和列号;上标p,t分别表示预测和真值;d表示视差图;m表示视差值在(mindisp,maxdisp)之间的掩膜,1
表示有效,反之0表示无效;n表示有效点的总数。
[0081]
p像素误差(p point error,ppe)可描述为在有效区域内,预测视差和真值差值的绝对值小于p像素的点数占参与测试的总点数的百分比,定义为:
[0082][0083]
式中,f
sum
表示求和函数,f
sum
(m)表示参与测试的总点数;f
sum
(m
p
)表示视差图中符合要求点数;误差点掩膜可由公式5得到:
[0084][0085]
式中,d
diff
表示预测值。
[0086]
采用sgbm方法在四个数据集上分别进行实验,指标包括视差图密度,epe以及1pe-3pe误差,具体结果如表2:
[0087]
表2 sgbm方法匹配结果
[0088][0089]
从表中可以看出,相较于近景的驾驶数据集,sgbm方法在遥感摄影数据集上生成的视差图稠密度更高,分别达到了92.82%和97.85%。
[0090]
观察sgbm方法在四个数据集上的缺失,可以看出视差缺失部分主要集中在弱纹理、无纹理区域等较为光滑的区域和由于前后景产生遮挡不存在同名点的区域。
[0091]
从图8(a)(b)中可以明显看出天空、水泥地面以及(c)(d)中汽车光滑表面等弱纹理区域和无纹理区域均出现了缺失;遥感影像(e)(f)虽然也存在一定的弱纹理无纹理区域,但该部分占比较少,因此有更高的视差图密度。从理论上来说,遮挡区域无法寻找到同名点,该部分应当存在缺失。从实际的匹配结果也印证这点,如图9所示,相较于kitti数据集,遥感数据集由于航空摄影的特点,遮挡区域占比更小,因此视差图密度更大。
[0092]
利用传统方法对sgbm匹配结果修补后,采用多种滤波方式对视差图进行滤波,结果如表3.
[0093]
表3各后处理方法结果
[0094][0095]
注:m表示均值滤波;g表示高斯滤波;数字表示卷积核大小
[0096]
从表中可以看出,无论采用哪种滤波方式,修补之后的视差图精度都会下降。修补后的epe和3pe约为修补前的2-3倍,说明被修补区域视差精度远低于非修补区域视差精度。此外,横向比较两种滤波以及不同卷积核尺寸,发现选用中值滤波5
×
5的卷积核效果最好,故采用该结果与后续实验进行比较。
[0097]
深度学习半监督方法分别采用了直接训练和迁移学习两种方式在四个数据集上进行了半监督方法修补,结果如表4。
[0098]
表4利用深度学习方法修补视差图
[0099][0100]
注:psmb表示采用的网络结构;c
semi
表示半监督方法;pre表示预训练。
[0101]
从表中可以看出深度学习半监督方法远高于传统修补方法中精度最高的5
×
5尺寸的中值滤波,epe和3pe平均降低了33.98%和17.83%。其中,基于迁移学习的半监督方法比直接训练的半监督方法精度更高,在迁移学习条件下epe和3pe平均降低了5.17%和12.58%。
[0102]
考虑到迁移学习具有加速收敛的功能,为验证效果,将参与测试的四个数据集epe和3pe的最优轮次统计如表5。
[0103]
表5收敛轮次
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
单位:轮
[0104][0105]
从表中可以看出,经过10轮sceneflow虚拟场景数据集形成的预训练模型可以有效迁移至真实场景数据集,不仅精度更高,而且能够极大提升收敛速度,减少训练轮次,具有很强的实用意义。
[0106]
为进一步分析修补效果,将标签数据以及各个修补方法的结果用彩色图案进行渲染,其中,颜色依次渐变,红色灰度化后的深色区域为视差最大区域,蓝色灰度化处理后的浅色区域为视差最小区域。由于该图像不存在蓝色灰度化处理后的浅色区域,而sgbm匹配缺失区域视差值为-1,因此,可从图10(c)中看出sgbm匹配的缺失区域。对比原始图像,可以看到缺失区域集中在视差不连续边缘以及图像边缘(图10c右边缘);传统修补方法依赖视差图缺失边缘精度,从图10(d)实验结果来看,对于边缘精度高的区域可实现较为精确的修补,但对边缘本身存在误匹配的区域,修补效果不佳;而深度学习半监督方法则能有效的修补缺失区域,如图10(e)、(f),进一步分析后发现深度学习半监督方法修补不佳区域为sgbm方法误匹配结果,与深度学习方法无关。
[0107]
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
[0108]
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献