System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于CBAM-UNet的单帧条纹图深度估计方法技术_技高网

基于CBAM-UNet的单帧条纹图深度估计方法技术

技术编号:40194692 阅读:10 留言:0更新日期:2024-01-26 23:57
本发明专利技术公开了一种基于CBAM‑UNet的单帧条纹图深度估计方法,包括如下步骤:采集条纹图‑‑深度图图像对作为数据集,并将数据集划分为训练集、验证集和测试集;构建CBAM‑UNet深度神经网络模型,并进行训练、验证和测试,其中,所述CBAM‑UNet深度神经网络模型分为编码和解码两个阶段,所述编码阶段包括依次连接的卷积模块、CBAM模块和最大池化;所述解码阶段包括依次连接的卷积模块、CBAM模块和深度可分离内容感知上采样模块;利用经过测试的所述训练好的CBAM‑UNet深度神经网络模型对单帧条纹图进行深度信息进行预测。该基于CBAM‑UNet的单帧条纹图深度估计方法可进一步提升深度预测的精度。

【技术实现步骤摘要】

本专利技术属于条纹投影三维形貌测量,具体涉及一种基于cbam-unet的单帧条纹图深度估计方法。


技术介绍

1、光学三维测量技术是光学测量中最重要的研究领域和研究方向之一。作为三维测量技术的一种重要方式,条纹投影三维测量技术可快速准确获取被测物体表面的三维点云数据,广泛应用于质量检测、文物保护、人机交互、生物医学等领域。在条纹投影三维测量中直接获取的数据为条纹图,而从条纹图到被测物体深度信息的获取需要经过条纹分析、相位提取和相位展开等过程。条纹分析、相位提取和相位展开方法对三维测量准确性有重要影响。如何从被测物体的条纹图像获取高精度的深度信息仍然是条纹投影三维测量技术的难点与重点内容。

2、现有的一些单帧条纹图深度预测算法主要分为多阶段预测和单阶段预测算法。与多阶段预测算法相比,单阶段预测算法有着简单直接、计算效率高以及数据易准备的特点,与此同时,预测的精度受到图像纹理等因素的影响也会相对较低。深度学习的出现为提升单阶段预测算法的精度提供了新的思路。学者们提出了诸多方法,给定一张条纹图就可以获得对应的深度图,但是获取到的深度图精确度仍有大的提升空间。

3、因此,提出一种单帧条纹图深度估计方法,用于完成单幅条纹图像的深度估计任务,并提高获取到的深度图的精度,成为亟待解决的问题。


技术实现思路

1、鉴于此,本专利技术的目的在于提供一种基于cbam-unet的单帧条纹图深度估计方法,以解决现有单帧条纹图深度估计方法获取到的深度图的精度低的问题。

2、本专利技术提供的技术方案是:一种基于cbam-unet的单帧条纹图深度估计方法,包括如下步骤:包括如下步骤:

3、s1:采集条纹图--深度图图像对作为数据集,并将数据集划分为训练集、验证集和测试集;

4、s2:构建cbam-unet深度神经网络模型,并利用训练集和验证集中的样本对所述cbam-unet深度神经网络模型进行训练和验证,得到训练好的cbam-unet深度神经网络模型,之后,利用测试集中的样本对所述训练好的深度神经网络模型进行测试,其中,所述cbam-unet深度神经网络模型分为编码和解码两个阶段,所述编码阶段包括依次连接的卷积模块、cbam模块和最大池化;所述解码阶段包括依次连接的卷积模块、cbam模块和深度可分离内容感知上采样模块;

5、s3:利用经过测试的所述训练好的cbam-unet深度神经网络模型对单帧条纹图进行深度信息进行预测。

6、优选,s1中,将数据集按照8:1:1的比例划分为训练集、验证集和测试集。

7、进一步优选,s2中,所述cbam-unet深度神经网络模型中的卷积模块包括2层卷积核大小为3,通道数量为16的二维卷积层,每层卷积层后面连接一层批量归一化层和激活函数层,激活函数层采取relu激活函数,所述cbam模块位于所述卷积模块之后,包括channel-attention阶段和spatial-attention阶段,所述channel-attention阶段包括全局最大池化层、全局平均池化层两个分支,后接shared mlp模块,所述shared mlp模块包含卷积核大小为1的卷积层、激活函数层、卷积核大小为1的卷积层,第一个卷积层用于降维,第二个卷积层用于升维,激活函数层选择relu激活函数,经过shared mlp模块后将两个分支的输出进行合并并经过sigmoid激活得到channel-attention阶段输出,所述spatial-attention阶段包括最大池化层和平均池化层,后接卷积核大小为1的卷积层,最终通过sigmoid激活后得到spatial-attention阶段输出,最终将两个阶段输出进行相乘得到cbam模块的输出,所述深度可分离内容感知上采样模块首先采用卷积核大小为1的卷积对输入图像进行压缩,再通过卷积核大小为3的深度可分离卷积来预测重组核,最后利用预测的重组核来对输入数据进行卷积,进而得到输出,输入图像首先经过卷积核大小为3的卷积层处理进入编码阶段,编码阶段将处理结果送入解码阶段,解码阶段后接一层卷积核大小为1的卷积层,通道数为1,最后一层的单个神经元即为输出值。

8、进一步优选,s2中,所述cbam-unet深度神经网络模型的训练过程如下:

9、s21:初始化所述cbam-unet深度神经网络模型参数;

10、s22:将采集的条纹图--深度图图像对数据输入所述cbam-unet深度神经网络模型,进行前向传播,并计算神经网络预测结果和标签之间的误差值;

11、s23:所述cbam-unet深度神经网络模型根据所述预测结果和标签之间的误差值进行反向传播,自适应进行优化调整深度神经网络中每层的权值;

12、s24:判断是否达到训练轮数或者训练提前终止的条件,若是,则完成模型的训练,否则,继续执行s23。

13、进一步优选,s22中,采用mae损失函数计算预测结果和标签之间的误差值,其中,mae计算过程如公式(1)所示

14、

15、式中,yi为标签,即真实深度图,f(xi)为网络模型的预测结果,n为图中的像素点个数,lossmae为计算得到的标签和预测结果之间的平均绝对误差数值。

16、进一步优选,训练过程中,采用学习率衰减方式进行训练。

17、进一步优选,训练过程中,初始学习率设置为0.001。

18、进一步优选,训练过程中,最大轮数设置为300轮。

19、进一步优选,训练过程中,采用提前停止训练的方式进行训练。

20、进一步优选,训练过程中,所述cbam-unet深度神经网络模型采用adam优化算法。

21、本专利技术提供的基于cbam-unet的单帧条纹图深度估计方法的有益效果如下:

22、1、在unet中加入了cbam注意力机制模块,该模块有着强大的特征表达能力,能够自动学习图像中的空间和通道相关性,从而提取更加丰富和具有区分度的特征表示,同时,它能够捕捉到图像中不同尺度和不同层级的重要特征,保证了网络模型的学习能力;

23、2、将unet的上采样阶段替换为深度可分离内容感知上采样模块,该模块首先根据输入的特征图生成一个重组卷积核,然后用重组卷积核对特征图进行卷积操作。与传统卷积相比,该模块能够自动为重要特征分配更多权重,从而提升网络模型的预测精度。

本文档来自技高网...

【技术保护点】

1.一种基于CBAM-UNet的单帧条纹图深度估计方法,其特征在于,包括如下步骤:

2.根据权利要求1所述基于CBAM-UNet的单帧条纹图深度估计方法,其特征在于:S1中,将数据集按照8:1:1的比例划分为训练集、验证集和测试集。

3.根据权利要求1所述基于CBAM-UNet的单帧条纹图深度估计方法,其特征在于:S2中,所述CBAM-UNet深度神经网络模型中的卷积模块包括2层卷积核大小为3,通道数量为16的二维卷积层,每层卷积层后面连接一层批量归一化层和激活函数层,激活函数层采取ReLU激活函数,所述CBAM模块位于所述卷积模块之后,包括Channel-Attention阶段和Spatial-Attention阶段,所述Channel-Attention阶段包括全局最大池化层、全局平均池化层两个分支,后接Shared MLP模块,所述Shared MLP模块包含卷积核大小为1的卷积层、激活函数层、卷积核大小为1的卷积层,第一个卷积层用于降维,第二个卷积层用于升维,激活函数层选择Relu激活函数,经过Shared MLP模块后将两个分支的输出进行合并并经过Sigmoid激活得到Channel-Attention阶段输出,所述Spatial-Attention阶段包括最大池化层和平均池化层,后接卷积核大小为1的卷积层,最终通过Sigmoid激活后得到Spatial-Attention阶段输出,最终将两个阶段输出进行相乘得到CBAM模块的输出,所述深度可分离内容感知上采样模块首先采用卷积核大小为1的卷积对输入图像进行压缩,再通过卷积核大小为3的深度可分离卷积来预测重组核,最后利用预测的重组核来对输入数据进行卷积,进而得到输出,输入图像首先经过卷积核大小为3的卷积层处理进入编码阶段,编码阶段将处理结果送入解码阶段,解码阶段后接一层卷积核大小为1的卷积层,通道数为1,最后一层的单个神经元即为输出值。

4.根据权利要求1所述基于CBAM-UNet的单帧条纹图深度估计方法,其特征在于:S2中,所述CBAM-UNet深度神经网络模型的训练过程如下:

5.根据权利要求4所述基于CBAM-UNet的单帧条纹图深度估计方法,其特征在于:S22中,采用MAE损失函数计算预测结果和标签之间的误差值,其中,MAE计算过程如公式(1)所示

6.根据权利要求4所述基于CBAM-UNet的单帧条纹图深度估计方法,其特征在于:训练过程中,采用学习率衰减方式进行训练。

7.根据权利要求4所述基于CBAM-UNet的单帧条纹图深度估计方法,其特征在于:训练过程中,初始学习率设置为0.001。

8.根据权利要求4所述基于CBAM-UNet的单帧条纹图深度估计方法,其特征在于:训练过程中,最大轮数设置为300轮。

9.根据权利要求4所述基于CBAM-UNet的单帧条纹图深度估计方法,其特征在于:训练过程中,采用提前停止训练的方式进行训练。

10.根据权利要求4所述基于CBAM-UNet的单帧条纹图深度估计方法,其特征在于:训练过程中,所述CBAM-UNet深度神经网络模型采用Adam优化算法。

...

【技术特征摘要】

1.一种基于cbam-unet的单帧条纹图深度估计方法,其特征在于,包括如下步骤:

2.根据权利要求1所述基于cbam-unet的单帧条纹图深度估计方法,其特征在于:s1中,将数据集按照8:1:1的比例划分为训练集、验证集和测试集。

3.根据权利要求1所述基于cbam-unet的单帧条纹图深度估计方法,其特征在于:s2中,所述cbam-unet深度神经网络模型中的卷积模块包括2层卷积核大小为3,通道数量为16的二维卷积层,每层卷积层后面连接一层批量归一化层和激活函数层,激活函数层采取relu激活函数,所述cbam模块位于所述卷积模块之后,包括channel-attention阶段和spatial-attention阶段,所述channel-attention阶段包括全局最大池化层、全局平均池化层两个分支,后接shared mlp模块,所述shared mlp模块包含卷积核大小为1的卷积层、激活函数层、卷积核大小为1的卷积层,第一个卷积层用于降维,第二个卷积层用于升维,激活函数层选择relu激活函数,经过shared mlp模块后将两个分支的输出进行合并并经过sigmoid激活得到channel-attention阶段输出,所述spatial-attention阶段包括最大池化层和平均池化层,后接卷积核大小为1的卷积层,最终通过sigmoid激活后得到spatial-attention阶段输出,最终将两个阶段输出进行相乘得到cbam模块的输出,所述深度可分离内容感知上采样模块首先采用卷积核大小为1的卷积对输入图...

【专利技术属性】
技术研发人员:王琳霖薛文科梁文婕王传云高骞张印文
申请(专利权)人:沈阳航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1