Patch-match binocular 3D reconstruction based on deep learning
-
摘要:
以patch-match为核心的算法在双目立体重建中有着广泛应用,因其具有低内存消耗、重建精度高等优良性能;然而,传统patch-match算法需要有序地对图像中的每一个像素点进行迭代求取最优视差值d,从而导致运行时间较高。为了解决该问题,在传统patch-match算法的基础上引入基于学习的模型作为指导来降低运行时间,提高立体重建精度。利用深度学习模型输出每个像素伴有异方差不确定度的初始视差图,异方差不确定度用于衡量网络模型所预测视差值的准确度;将异方差不确定度和初始视差作为patch-match算法的先验信息;在平面细化步骤中,利用每个像素点的异方差不确定度大小动态调整其搜索区间,实现减少运行时间的目标。在Middlebury数据集上,通过与原有算法比较可知,改进后的算法在运行时间上减少20%,同时,在不连续等区域上的重建精度得到略微提高。
Abstract:The patch-match algorithm has been widely used in binocular stereo reconstruction due to its low memory consumption and high reconstruction accuracy. However, the traditional patch-match algorithm needs to iteratively calculate the optimal disparity d for each pixel of image in an orderly manner, which resulting in a high running time. In order to solve this problem, a learning-based model on the basis of traditional patch-match algorithm as a guide to reduce the running time and improve the accuracy of stereo reconstruction was introduced. First, the deep learning model was used to output the initial disparity map of each pixel with heteroscedastic uncertainty, which was used to measure the accuracy of the disparity predicted by the network model. Then, the heteroscedastic uncertainty and initial disparity were taken as the prior information of patch-match algorithm. Finally, in the plane refinement step, the heteroscedastic uncertainty of each pixel was used to dynamically adjust its search interval to achieve the goal of reducing the running time. On the Middlebury dataset, compared with the original algorithm, the running time of the improved algorithm is reduced by 20%, and the reconstruction accuracy of the discontinuous region is slightly improved.
-
Keywords:
- 3D reconstruction /
- deep learning /
- heteroscedastic uncertainty /
- precision
-
引言
激光熔覆技术是将高功率密度的激光束的能量,通过非接触方式使粉末材料加热并熔化,熔化后的粉末材料快速冷却与微观结构的形成,使得表面具有与基体材料本身不同的新性能[1-4]。在激光熔覆过程中,急冷急热的能量变化过程会对微观组织的形成产生极大的影响,而最终形成的微观组织与材料的性能有着紧密的联系[5-6]。在熔覆层凝固结晶时,最常见的是以树枝状生长的枝晶,且枝晶不同的形貌参数与其性能有着一定的对应关系[7]。因此,实现自动识别枝晶形貌,对研究熔覆层性能具有十分重要的价值。基于上述背景分析,本文提出了一种从复杂的金相图中识别并分割出枝晶形貌的深度学习算法。
近些年,基于深度学习的计算机视觉检测在不同工况均展现了其优异的能力[8-10]。特别是用于像素级别分类的语义分割更是在工业、医学等领域得到了大量的应用[11-12]。Li等人利用收发声信号技术监测激光熔覆过程,并通过深度学习神经网络提取特征向量,从而分析熔覆状态以及是否存在产生裂纹的迹象[13],该研究表明可以利用深度学习技术分析熔覆层状态及微观形貌。张海军等人基于遗传算法、二维最大类间方差提出双阈值分割法[14],根据区域极大值初步确定阈值,并对金相图像进行分割,分割结果反馈调整阈值,实现了对不同金相组织的分割。为本文实现在复杂背景中分割出枝晶形貌提供了一种新思路。熔覆层金相图中树枝晶与不规则晶、胞状晶等混杂在一起[15],不利于对树枝晶形貌进行观察研究。将树枝晶形貌识别视为二分类问题,通过语义分割的方法把树枝晶从复杂的金相图中分割出来,便于后续研究枝晶形貌与熔覆层性能的具体联系。
针对复杂背景的二分类问题,本文对原Unet网络加以改进,引入串行放置的通道注意力机制、空间注意力机制和批量标准化(Batch Normalization,BN)层,并部署在下采样和上采样过程,建立了BNC-Unet(BN+CBAM-Unet)(convolutional block attention module,CBAM)即枝晶形貌分割网络模型。本网络模型用于树枝晶形貌的识别分割,在观测树枝晶形貌时排除其他晶粒的干扰,有效地促进了树枝晶形貌对熔覆层性能影响的研究。
1 树枝晶形貌识别网络
语义分割是深度学习三大应用之一,其特点是效率和精度高[16-17]。搭建适于识别并分割样本特征的深度学习模型,建立训练集及测试集,用以训练、测试模型,并根据网络反馈优化参数,最终可以快速、准确得到分割结果,节省大量的时间。本研究以U-net网络模型为基础,U-net网络本身是为了解决医学影响的细胞分割而提出,便于辅助医护人员客观、准确地分析病理,为做出准确的医学诊断提供支撑数据[18]。由于其出色完成了在复杂背景下分割样本目标而得到了众多领域专家的青睐[19]。针对样本背景复杂问题,在原来的U-net网络基础上,部署串行注意力模型和BN层,并调整2种模型的部署位置,使得本次改进的BNC-Unet模型能更好地胜任树枝晶形貌分割任务,取得较为满意的分割结果。
1.1 总体网络架构
本次设计的树枝晶形貌识别网络主要分为2个部分,其结构如图1所示。一是用于提取特征的下采样部分,即编码区;二是得到更加准确特征信息的上采样部分,即解码区。树枝晶识别网络整体架构呈现字母U型,接下来依次介绍2个区域。
第1部分是模型的编码部分,用于提取金相特征,该部分的各子过程大体包括了2个卷积层(其中卷积核为3×3)、防止模型过拟合的丢弃层、用于对每层数据标准化处理的BN层、elu激活函数层、最大池化层。在该部分的第一阶段引入CBAM,使得提取到的特征更加精准。将3通道128像素×128像素的原始图像输入编码区,经过卷积等操作生成4组通道数与大小不同的特征图,其通道数和大小如表1所示。这些特征图用于与解码区中相同通道数、相同大小的特征图进行跳跃融合。经编码区最后一次处理得到256通道8像素×8像素的特征图,并传递至解码区。
表 1 特征图指标Table 1. Feature map indexes组别 通道数 大小 /(像素×像素) 1 16 128×128 2 32 64×64 3 64 32×32 4 128 16×16 第2部分是凝练特征信息的解码部分,该部分的每个阶段大体包括了用于扩大图像尺寸的ConvTranspose2d逆卷积层(卷积核为2×2、步长为2)、特征融合(解码区内的特征图与编码区内的特征图通道数、尺寸大小对应相等)、2个卷积层(其中卷积核为3×3)、丢弃层、BN层、elu激活函数层。在该部分的最后一个阶段引入CBAM,细化特征,调整权重。由编码区传递的256通道8像素×8像素的特征图经过上采样过程,最终生成单通道128像素×128像素的灰度图像。
1.2 串行注意力机制原理
串行注意力机制,即将输入的特征图先经过通道注意力模块,然后将该模块的输出结果加权传递至空间注意模块,经过这2个模块的作用,最终将结果输出作为下一过程的输入。这种注意力机制模型在2018年由Woo[20]提出,并对比了单独使用这2个模块和空间注意模块加通道注意力模块的布局,结果表明先通道后空间得到的特征信息最为准确,其对目标特征的识别覆盖最广。串行注意力模型结构如图2所示,通道注意力模型与空间注意力模型串行放置,使得提取特征更为准确。
在通道注意力模型内,焦点在于通道维度,特征图的每个通道即为各通道包含的特征。提取通道的池化参数,再经过同一个多层感知机(Multilayer Perceptron, MLP),输出值相加后经过归一化处理得出最终权重,得到的权重与特征图的乘积即为通道注意力模型输出的加权特征图。
在空间注意力模型内,焦点在于特征图中每个像素的权重。与通道注意力模型类似,在空间注意力模型中,提取不同通道的同一平面空间点的池化参数,经卷积和归一化处理得出最终权重,得到的权重与空间特征的乘积即为空间注意力模型输出的加权特征图。
特征图经过串行注意力模型后,特征权重得到进一步调整处理,有利于提高网络对样本特征学习、提取的能力,从而提高网络的性能。
1.3 网络参数的选取
网络参数的选择主要是Batch Size的确定、优化器的选取和损失函数的选取。
1.3.1 Batch Size的确定和优化器的选取
Batch Size的大小对网络的训练速度和梯度具有一定的影响,其优点在于可以有效地防止内存爆炸,加速收敛,避免局部最优。梯度方差如(1)式所示:
$$ Var(g) = Var\left({\frac{1}{m}\sum\nolimits_{i = 1}^m {g({x_i},{y_i})}}\right) $$ (1) 式中:m为Batch Size。因为样本数量固定且随机,所以各样本方差相同,(1)式可简化为
$$ Var(g) = \frac{1}{m}Var(g({x_i},{y_i})) $$ (2) 由(2)式可以看出,梯度方差与批量大小成反比,一般Batch Size取值范围在2~32之间[21],本次实验取Batch Size大小为14,epoch设置为75。
学习率对于神经网络训练起到非常重要的作用,本次选用Adam优化算法。该算法整合了AdaGrad和RMSProp两种算法的优势[22],与单独使用这2种算法相比,使用Adam算法收敛最快。该算法属于自适应学习率算法,其算法策略如下:
$$ {{{m}}_t} = {\beta _1}{m_{t - 1}} + (1 - {\beta _1}){g_t},{\hat m_t} = \frac{{{m_t}}}{{1 - \beta _1^t}} $$ (3) 式中:${{{m}}_t}$为一阶动量项;${\hat {{m}}_t}$为修正值;根据经验设定$\; {\beta _1} $为0.9。
$$ {v_t} = {\beta _2}{v_{t - 1}} + (1 - {\beta _2})g_t^2,{\hat v_t} = \frac{{{v_t}}}{{1 - \beta _2^t}} $$ (4) 式中:$ {v_t} $为二阶动量项;$ {\hat v_t} $为修正值;根据经验设定$\; {\beta _2}$为0.999。
$$ {W_{t + 1}} = {W_t} - \frac{\eta }{{\sqrt {{{\hat v}_t}} + \varepsilon }}{\hat m_t} $$ (5) 式中:$ {W_t} $为迭代模型参数;取$ \varepsilon $值为10−8。Adam优化器在收敛速度和准确率方面表现优秀,故本网络模型选择Adam优化器。
1.3.2 损失函数的选取
本次分割任务属于二分类问题,故Loss损失函数选用二进制交叉熵。由于树枝晶特征与其背景中其余晶粒特征相差不大,故本次设计的网络模型的输出层激活函数选用Sigmoid函数,其函数原理如(6)式所示:
$$ {{f}}(x) = \dfrac{1}{{1 + \exp ( - x)}} $$ (6) 从(6)式可以看出,该函数可以把数值控制在0~1区间,故能良好地应用于二分类问题。
二元交叉熵损失函数如(7)式所示:
$$ L{\text{o}}ss = - \dfrac{1}{N}\sum\limits_{i = 1}^N {\{ {y_i}} \cdot \log [p({y_i})] + (1 - {y_i}) \cdot \log [1 - p({y_i})]\} $$ (7) 式中:$ p({y_i}) $是标签$ {y_i} $(0或1)出现的概率;$ N $为样本数。故该文采用binary cross entropy作为损失函数,且搭配Sigmoid使用。
2 实验结果与讨论
为了检验本次设计的基于语义分割树枝晶形貌识别网络的分割能力,进行了激光熔覆实验,并采集了训练网络所需的样本。本次的训练集和测试集均是由课题组激光熔覆样块在光学显微镜下捕获所得,光学显微镜型号为DM2700M(leica microsystems,GmbH)。使用型号为LDP6000-60(laserline,GmbH)大功率光纤激光器进行熔覆实验,将熔覆样块进行线切割、镶块处理,经打磨抛光和王水腐蚀后在光学显微镜下捕获金相图像,至此激光熔覆实验结束,后续需要在计算机上进行下一阶段实验。利用Labelme软件为金相图制作标签后,建立金相数据集,其中包括420张训练图像和20张测试图像,原金相图和标签如图3所示。
本次研究使用的计算机操作系统为Windows10,CPU为Intel®Core™i5-10200H,RAM为8.00 GB,GPU为GTX1650Ti。网络搭建、运行、调试选用Tensorflow框架,选择基于网页版编译器Jupyter notebook和Python语言编译开发,该编译器可以直接在网页上调试代码,程序结果直接在网页中显示,便于直接观察。为了防止网络模型训练时出现过拟合现象,本设计引入用于提前终止训练的Early Stopping命令,并设置耐心值为20步,即训练过程中Loss值出现连续20步无下降现象,模型训练停止。
实验结果的评价指标选用交并比(intersection over union,IoU),其表达了网络分割像素与标签像素总数上的比值。通常以混淆矩阵作为基础,再计算评价指标数值。混淆矩阵如图4所示,A为真实值,B为预测值。预测与标记相同为True;相反为False。预测值为树枝晶像素记Positive;反之为Negative。
IoU计算方式为
$$ IoU = \frac{{TP}}{{TP + FP + FN}} $$ (8) 本网络共训练了378张图片,验证了42张图片,并做了3组对比试验,其结果如表2所示。设定相同参数,对比了Unet、BN-Unet、CBAM-Unet、BNC-Unet输出结果如图5所示。从表2可以看出本次针对树枝晶特征设计的BNC-Unet模型结果最好,其IoU值为84.20%,比原Unet模型结果提高了8.97%。从图5中的分割结果看,BNC-Unet自动分割的树枝晶结果最为精确。
表 2 不同改进方式的网络结果Loss、IoU对比Table 2. Comparison of Loss and IoU network results of different improved methods网络架构 Loss IoU/% Unet 0.066 6 75.23 BN-Unet 0.065 8 81.05 CBAM-Unet 0.066 2 75.37 BNC-Unet 0.059 1 84.20 3 结论
本实验基于U-net网络引入注意力模型和BN层,搭建了针对分割树枝晶的BNC-Unet网络,建立了用于训练网络和测试网络的数据集,将交并比IoU作为本次网络的评价指标,并对比了原Unet网络、BN-Unet网络、CBAM-Unet网络的分割结果。其对比结果表明BNC-Unet网络能够较为准确自动标记树枝晶形貌,BNC-Unet网络分割准确率为84.2%,比原Unet网络结果提高了8.97%。注意力机制在浅层和深层对称部署一次可以在实现较好的特征提取结果的基础上而不增加网络训练时间,实现自动标记树枝晶形貌,便于在进行激光熔覆试验后,为自动分析熔覆层性能提供参考。
-
表 1 Patch-match和本文算法的定量分析结果
Table 1 Quantitative analysis results of patch-match algorithm and proposed algorithm
DataSet Algorithm Thresh/
pixelNonocc/
%Disc/
%All/
%Time/
sTsukuba Patch-match[1] 1.0 4.21 10.56 4.44 286.795 Ours 1.0 4.16 10.46 4.43 221.337 CSCA[20] 1.0 5.03 10.02 5.80 0.24 Venus Patch-match[1] 1.0 1.53 9.44 2.12 458.980 Ours 1.0 1.40 8.64 1.94 383.256 CSCA[20] 1.0 1.49 8.53 2.28 0.41 Teddy Patch-match[1] 1.0 6.60 14.64 12.60 502.908 Ours 1.0 6.33 13.81 12.19 406.529 CSCA[20] 1.0 7.21 17.39 14.77 0.39 Cones Patch-match[1] 1.0 2.75 7.68 7.77 466.620 Ours 1.0 2.58 7.31 7.58 297.364 CSCA[20] 1.0 5.98 15.32 14.96 0.47 -
[1] BLEYER M, RHEMANN C, ROTHER C. PatchMatch stereo-stereo matching with slanted support windows[C]//British Machine Vision Conference 2011. Scotland: University of Dundee, 2011.
[2] XU H, CHEN X, LIANG H, et al. CrossPatch-based rolling label expansion for dense stereo matching[J]. IEEE Access,2020,8:63470-63481. doi: 10.1109/ACCESS.2020.2985106
[3] BARNES C, SHECHTMAN E, FINKELSTEIN A, et al. PatchMatch: a randomized correspondence algorithm for structural image editing[J]. ACM Transactions on Graphics,2009,28(3):1-24.
[4] BARNES C, SHECHTMAN E, DAN B G, et al. The generalized PatchMatch correspondence algorithm[C]//European Conference on Computer Vision, Heraklion, Greece, September 5-11, 2010. Berlin: Springer, 2010: 29-43.
[5] 马少斌, 张成文. 基于双路多尺度金字塔池化模型的显著目标检测算法[J]. 应用光学,2021,42(6):1056-1061. doi: 10.5768/JAO202142.0602007 MA Shaobin, ZHANG Chenwen. Salient target detection algorithm based on dual-channel multi-scale pyramid pooling model[J]. Journal of Applied Optics,2021,42(6):1056-1061. doi: 10.5768/JAO202142.0602007
[6] GIRSHICK R, DONAHUE J, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//2014 IEEE Conference on Computer Vision and Pattern Recognition, Columbus, OH, June 23-28, 2014. USA: IEEE, 2014: 580-587.
[7] 曹富强, 王明泉, 张俊生, 等. 基于深度学习的铸件X射线图像分割研究[J]. 应用光学,2021,42(6):1025-1033. doi: 10.5768/JAO202142.0602003 CAO Fuqiang, WANG Mingquan, ZHANG Junsheng, et al. Research on X-ray image segmentation of castings based on deep learning[J]. Journal of Applied Optics,2021,42(6):1025-1033. doi: 10.5768/JAO202142.0602003
[8] RONNEBERGER O, FISCHER P, BROX T. U-Net: convolutional networks for biomedical image segmentation[C]// 18th International Conference on Medical Image Computing and Computer-Assisted Intervention.Berlin:Springer,2015: 234-241.
[9] SEKI A, POLLEFEYS M. SGM-Nets: semi-global matching with neural networks[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition , Honolulu, HI, July 21-26, 2017. USA: IEEE, 2017: 6640-6649.
[10] WU S, RUPPRECHT C, VEDALDI A. Unsupervised learning of probably symmetric deformable 3D objects from images in the wild[C]// 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition , Seattle, WA, June 13-19, 2020. USA. : IEEE, 2020: 1-10.
[11] KENDALL A, MARTIROSYAN H, et al. End-to-end learning of geometry and context for deep stereo regression[C]//2017 IEEE International Conference on Computer Vision , Venice, Italy, October 22-29, 2017. USA: IEEE, 2017: 66-75.
[12] BONTAR J, LECUN Y. Computing the stereo matching cost with a convolutional neural network[C]//2015 IEEE Conference on Computer Vision and Pattern Recognition , Boston, MA, June 7-12, 2015. USA. IEEE, 2015: 1592-1599.
[13] ŽBONTAR J, LECUN Y. Stereo matching by training a convolutional neural network to compare image patches[J]. The Journal of Machine Learning Research,2016,17(1):2287-2318.
[14] CHANG J R, CHEN Y S. Pyramid stereo matching network[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition , Salt Lake City, UT, June 18-23, 2018. USA. IEEE, 2018: 5410-5418.
[15] KENDALL A G . Geometry and uncertainty in deep learning for computer vision[D]. London: University of Cambridge, 2019.
[16] HU Yaoyu, ZHEN Weikun, et al. Deep-learning assisted high-resolution binocular stereo depth reconstruction[C]//2020 IEEE International Conference on Robotics and Automation , Paris, France, May 31-August 31, 2020. USA: IEEE, 2020: 8637-8643.
[17] HIRSCHMULLER H. Stereo processing by semiglobal matching and mutual information[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2007, 30(2): 328 – 341.
[18] MAYER N, ILG E, et al. A large dataset to train convolutional networks for disparity, optical flow, and scene flow estimation[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition , Las Vegas, NV, June 27-30, 2016. USA: IEEE, 2016: 4040-4048.
[19] SCHARSTEIN D, HIRSCHMÜLLER H, KITAJIMA Y, et al. High-resolution stereo datasets with subpixel-accurate ground truth[C]// 36th German Conference on Pattern Recognition, 2014, 8753: 31-42.
[20] ZHANG Kang, FANG Yuqiang, et al. Cross-scale cost aggregation for stereo matching[C]// 2014 IEEE Conference on Computer Vision and Pattern Recognition, Columbus, OH, June 23-28, 2014. USA, IEEE, 2014: 1590-1597
-
期刊类型引用(1)
1. 武文权,任志红,闫静静. 基于遗传神经网络的光纤激光网络回波信号增强方法. 激光杂志. 2025(01): 185-190 . 百度学术
其他类型引用(1)