一种散斑结构光的三维重建方法、电子设备及存储介质
文献发布时间:2023-06-19 19:28:50
技术领域
本发明涉及计算成像技术领域,尤其涉及一种基于散斑结构光的三维重建方法、电子设备和存储介质。
背景技术
三维信息在许多应用中发挥着重要作用,例如自动驾驶、机器人技术和虚拟/增强现实。典型的结构光系统包括一个投影仪和一个相机,结构光系统凭借其空间分辨率高、测量精度高、配置简单等优点,已广泛部署在各种设备上。
在散斑结构光三维重建中,如何恢复可靠的深度信息,是目前该领域研究的热点,然而,由散斑结构光拍摄的图像往往包含了场景的深度信息和亮度信息。目前传统方法聚焦于场景图像和参考图案之间的匹配从而只能恢复深度信息,此外,传统算法难以重建出高质量的深度信息。
基于深度学习的重建算法存在缺乏针对散斑结构光系统采集的数据特性的分析,以及在训练过程中需要额外的场景亮度信息作为监督信息等问题,在深度信息重建性能和泛化能力上并不能超越部分传统的重建算法,并且不能恢复出亮度信息。
因此,现有的各项方案无法有效地完成高质量的场景深度重建,并且同时完成亮度重建。
发明内容
本发明是为了解决上述现有技术存在的不足之处,提出一种散斑结构光的三维重建方法、电子设备及存储介质,以期望能从一幅由散斑结构光拍摄的图像中,准确的重建出场景深度和亮度信息,从而能实现高质量、高保真的三维场景重建。
本发明为达到上述发明目的,采用如下技术方案:
本发明一种散斑结构光的三维重建方法的特点在于,是应用于由一个投影仪和一个相机构成的结构光系统中,并按照如下步骤进行:
步骤1、利用所述投影仪将设计图案投射到场景中,并由相机捕获投射后的场景图像I;利用所述投影仪将设计图案投射到已知距离的参考平面上,从而由相机捕获参考图案P;
步骤2、构建由双目深度估计网络构成的教师网络,用于恢复所述场景图像I的深度,并得到教师视差图D
步骤3、构建由亮度重建分支和深度重建分支共同组成的学生网络,用于恢复所述场景图像I的深度和亮度,并得到最终的深度图像D
步骤4、训练损失函数的构建;
步骤4.1、教师网络损失函数的构建;
步骤4.1.1、利用式(1)构建光度损失
式(1)中,N是场景图像I中的像素总数,p表示场景图像I的任意一个像素,C表示以像素p为中心的图像块的Census变换操作,I
步骤4.1.2、利用式(2)构建边缘平滑损失
式(2)中,
步骤4.1.3、利用式(3)构建教师网络损失函数
式(3)中,λ
步骤4.2、学生网络损失函数的构建;
步骤4.2.1、光照一致性损失函数的构建;
步骤a、利用式(4)构建光度损失
式(1)中,P
步骤b、利用式(5)构建边缘平滑损失
式(2)中,
步骤c、利用式(5)构建教师网络损失函数
式(6)中,λ
步骤4.2.2亮度损失函数的构建:
结合场景对亮度恢复结果的要求,若亮度图像I
步骤A、无监督亮度损失函数的构建;
步骤A.1、根据教师视差图D
式(4)中,Warp()是映射算子;
步骤A.2、利用式(8)构建亮度重建分支的伪亮度图I
式(5)中,β是衡量线性组合程度的系数;
步骤A.3、利用式(9)构建无监督的亮度损失函数L
式(9)中,λ
步骤B、利用式(10)构建有监督的亮度损失函数L
式(10)中,I
步骤4.2.3、利用式(11)构建蒸馏损失函数L
式(11)中,λ
步骤4.2.4、利用式(12)构建学生网络损失函数L
式(9)中,α
步骤5、自蒸馏训练过程;
步骤5.1、教师网络的训练:
以最小化教师网络损失函数
步骤5.2、学生网络的训练:
以最小化学生网络损失函数L
本发明所述的散斑结构光的三维重建方法的特点也在于,所述步骤2包括:
步骤2.1、先利用局部对比度归一化算子LCN分别对所述场景图像I和参考图案P进行局部对比度归一化处理,得到归一化后的场景图像I
步骤2.2、将归一化后的场景图像I
所述步骤3包括:
步骤3.1、构建亮度重建分支;所述亮度重建分支包括:特征提取器、M
将所述场景图像I输入到所述亮度重建分支中,首先经过特征提取器的处理后,计算得到编码特征图;然后将编码特征图输入到M
将粗略的变形图案输入到优化模块中进行细化处理,以消除亮度效应,计算生成最终的变形图案P
将粗略的变形图案和所述场景图像I进行残差连接,计算得到粗略的亮度图像,并输入到优化模块中进行亮度重建,从而得到预测的亮度图像I
步骤3.2、构建由深度估计网络构成的深度重建分支,且所述深度估计网络与教师网络的双目深度估计网络相同;
将参考图案P和所述预测的变形图案P
本发明一种电子设备,包括存储器以及处理器的特点在于,所述存储器用于存储支持处理器执行任一所述三维重建方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
本发明一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序的特点在于,所述计算机程序被处理器运行时执行任一所述三维重建方法的步骤。
与现有技术相比,本发明的有益效果在于:
1、本发明首次提出了多任务深度学习网络,由教师网络和学生网络组成,用于单次拍摄的散斑结构光图像中的三维重建,该网络能高精度地恢复场景的深度图像,并且同时能够恢复亮度图像,从而克服了目前算法精度差,且无法恢复亮度信息的问题。
2、本发明设计了亮度重建分支,包括了特征提取器,残差卷积块和优化模块,亮度重建分支能解析出变形图案和亮度图像。变形图案还可以进一步用于深度估计,提高了深度图像的精度。通过亮度重建分支恢复亮度图像解决了目前方法无法恢复亮度图像的问题。
3、本发明设计了一种自蒸馏策略,首先对教师网络进行预训练,得到教师视差图,为学生网络生成监督信号,接着联合学生网络进行训练,最终由学生网络预测得到高精度的学生视差图像和亮度图像。自蒸馏策略可以实现多任务网络的无监督训练,并且更好地重建深度图像。
4、本发明能够应用在多种不同的设备上,在不同的真实数据上有着良好的有效性和泛化性。
附图说明
图1为本发明一种散斑结构光三维重建方法的示意图;
图1a为本发明亮度重建分支网络框架图;
图2为本发明散斑结构光成像系统的示意图;
图3为本发明合成数据上的深度重建可视化结果图;
图4为本发明在真实成像系统下的深度重建可视化结果图;
图5为本发明合成数据上的亮度重建可视化结果图;
图6为本发明在真实成像系统下的亮度重建可视化结果图。
具体实施方式
本实施例中,如图1所示,一种散斑结构光的三维重建方法,并按照如下步骤进行:
步骤1、利用投影仪将设计图案投射到场景中,并由相机捕获投射后的场景图像I;利用投影仪将设计图案投射到已知距离的参考平面上,从而由相机捕获参考图案P;
本发明单目结构光系统如图2所示,假设虚拟图像平面显示参考图案,本系统在捕获的图像和参考图案之间计算视差图。深度图则由三角测量从视差图中恢复。
步骤2、构建由双目深度估计网络构成的教师网络,用于恢复场景图像I的深度;
将散斑结构光深度估计建模为立体对应搜索问题,选择PSMNet作为双目深度估计网络来重建深度。PSMNet是一种用于立体匹配的有监督学习方法。本算法利用光度一致性损失函数,从而实现无监督训练网络。
步骤2.1、先利用局部对比度归一化算子LCN分别对场景图像I和参考图案P进行局部对比度归一化处理,得到归一化后的场景图像I
步骤2.2、将归一化后的场景图像I
步骤3、构建由亮度重建分支和深度重建分支共同组成的学生网络,用于恢复场景图像I的深度和亮度;
步骤3.1、如图2所示,构建亮度重建分支;亮度重建分支包括:特征提取器、卷积残差块和优化模块,如图1a所示;其中特征提取器由N
将场景图像I输入到亮度重建分支中,首先经过特征提取器处理后,计算得到编码特征图;然后将编码特征图输入到M
将粗略的变形图案输入到优化模块中进行细化处理,以消除亮度效应,计算生成最终的变形图案P
将粗略的变形图案和场景图像I进行残差连接,计算得到粗略的亮度图像,并输入到优化模块中进行亮度重建,从而得到预测的亮度图像I
步骤3.2、构建由深度估计网络构成的深度重建分支,且深度估计网络与教师网络的双目深度估计网络相同;
将参考图案P和预测的变形图案P
步骤4、训练损失函数的构建;
步骤4.1、教师网络损失函数的构建;
步骤4.1.1、利用式(1)构建光度损失
式(1)中,N是场景图像I中的像素总数,p表示场景图像I的任意一个像素,C表示以像素p为中心的图像块的Census变换操作,I
步骤4.1.2、利用式(2)构建边缘平滑损失
式(2)中,
步骤4.1.3、利用式(3)构建教师网络损失函数
式(3)中,λ
步骤4.2、学生网络损失函数的构建;
步骤4.2.1、光照一致性损失函数的构建;
步骤a、利用式(4)构建光度损失
式(1)中,P
步骤b、利用式(5)构建边缘平滑损失
式(2)中,
步骤c、利用式(5)构建教师网络损失函数
式(6)中,λ
步骤4.2.2亮度损失函数的构建:
结合场景对亮度恢复结果的要求,若亮度图像I
步骤A、无监督亮度损失函数的构建;
步骤A.1、根据教师视差图D
式(4)中,Warp()是映射算子;
步骤A.2、利用式(8)构建亮度重建分支的伪亮度图I
式(5)中,β是衡量线性组合程度的系数;
步骤A.3、利用式(9)构建无监督的亮度损失函数L
式(9)中,λ
B、利用式(10)构建有监督的亮度损失函数L
式(10)中,I
步骤4.2.3、利用式(11)构建蒸馏损失函数L
式(11)中,λ
步骤4.2.4、利用式(12)构建学生网络损失函数L
式(9)中,α
在本实施例中,α
步骤5、自蒸馏训练过程;
本方法引入自蒸馏策略,通过生成伪真实视差图来解决无监督学习的难点(没有真实值作为指导)。自蒸馏训练策略如图1所示。整个网络提取教师网络作为知识,为学生网络生成监督信号。
步骤5.1、教师网络的训练;
教师网络将参考图案和拍摄图像作为输入,以最小化教师网络损失函数
步骤5.2、学生网络的训练;
教师网络将变形图案和拍摄图像作为输入,以最小化学生网络损失函数L
本实施例中,一种电子设备,包括存储器以及处理器,该存储器用于存储支持处理器执行上述三维重建方法的程序,该处理器被配置为用于执行该存储器中存储的程序。
本实施例中,一种计算机可读存储介质,是在计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述三维重建方法的步骤。
结合下列图表进一步描述本发明的测试结果;
为了说明本发明上述方案的有效性,在合成数据上分别测试了网络重建的深度和亮度的特性。比较的方法分为三类:传统方法(块匹配BM和半全局匹配SGM),基于机器学习的方法(HyperDepth),以及基于深度学习的方法(CTD)。HyperDepth是一种完全监督的方法,它将对应问题转换为分类回归任务。CTD最初是为带有边缘检测的多视图深度重建而设计的,它也可以用于单视图场景,此外,本算法还比较了CTD没有边缘检测的的深度分支,命名为CTD-NE。对于本实例提出的方法,本实例提供了三个版本:Our
1、深度重建对比测试
深度重建结果如表1、2、3所示,从表中可以看出,在不同的仿真数据集上该方法相对于对比方法都获得了最好的效果,且在真实数据集上该算法均取得了最佳效果。
表1深度重建结果在仿真数据集1上的结果
表2深度重建结果在仿真数据集2上的结果
表3深度重建结果在真实数据集1上的结果
不同对比算法的在仿真数据集和真实数据集上的可视化结果如图3和图4所示。SGM的精度不高,但整体结构恢复得很好。HyperDepth在视差不连续区域表现不佳。将CTD-NE的结果与CTD的结果进行比较,可以看到通过引入边缘检测器有效地缓解了边缘肥大的问题。然而,CTD中的边缘检测器抵消了深度模型在纹理区域中的优势。可以观察到,本实例的模型实现了最佳性能,尤其是在具有复杂纹理的区域以及轮廓边缘。
2、亮度重建对比测试
本算法首次从捕获的图像中重建体面的亮度图像。为了证明其优越性,本实例将其与频域滤波(FDF)方法进行了比较,该方法来自傅里叶变换轮廓测量。具体来说,首先利用傅里叶变换将捕获的图像转换到频域。然后将最大1%频率的值保留为变形图案频率,之后,再进行傅里叶逆变换,得到变形后的图案,进一步生成亮度图像。如表4列出了不同方法的定量结果。对于FDF,由于图像频率混叠和过滤频率泄漏,PSNR和SSIM值较低。相反本算法则取得了更好的结果
表4亮度重建结果在仿真数据和真实数据上的结果
在图5中,本实例展示了FDF和本算法在仿真数据集上恢复的亮度图像结果,Our
- 一种基于散斑结构光的高精度深度计算方法及系统
- 图像光效处理方法和装置、电子设备、存储介质
- 一种彩色结构光三维测量方法、装置、设备及存储介质
- 单目结构光散斑图像深度恢复方法、电子设备及存储介质
- 单目散斑结构光图像匹配方法、电子设备及存储介质