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

基于Transformer的单幅条纹图深度估计方法与流程

2022-02-20 22:30:21 来源:中国专利 TAG:

基于transformer的单幅条纹图深度估计方法
技术领域
1.本发明属于计算机三维视觉技术领域,具体为一种基于transformer的单幅条纹图深度估计方法。


背景技术:

2.条纹投影三维测量技术作为光学三维测量的重要方式之一,具有快速、全场、高精度等优点,在材料测试、虚拟现实与人机交互、文物保护、机器人视觉、工业检测、生物医学和流体力学等领域具有广阔的应用前景。从条纹图估计被测物体的深度信息是条纹投影研究的重要内容。
3.传统条纹投影三维重建方式难以估计单幅条纹图像的深度信息。近年来,深度学习技术取得了十足的发展,并已被用解决计算机视觉任务中的挑战性问题,例如图像分类、语义分割、目标检测和图像复原等。在条纹投影领域中也出现了基于深度学习技术的解决方案,例如u-net模型、hnet模型和r2u_net模型等。基于深度学习技术的方案与传统技术的区别在于,其可以仅通过单幅条纹图像来估计物体深度信息。而值得注意的一点是,上述方法都是基于卷积神经网络,其已经作为单幅图像深度估计的首选方案。卷积神经网络固有的“卷积”操作带来的缺点很明显,就是难以建模图像的全局依赖关系,为了补足cnn的缺陷出现了两条分支,一种是加入注意力机制的改进cnn模型,另一种是完全基于注意力机制的transformer。据我们目前所知,基于transformer的模型至今尚未应用于单幅条纹图深度估计,但是transformer模型已经在nlp和cv任务上取得了领先性的成就,其设计的原理与卷积相比具有根本性的不同,注意力机制使得模型可以摆脱局部感受野的限制,而cnn通常需要其他的操作来增大感受野。


技术实现要素:

4.有鉴于此,本发明旨在提出一种基于transformer的单幅条纹图深度估计方法,用于完成单幅条纹图像的深度估计任务,并取得了高于纯卷积神经网络的结果。
5.为达到上述目的,本发明的提出了一种基于transformer的单幅条纹图深度估计方法,包括以下步骤:
6.基于transformer的单幅条纹图深度估计方法,包括如下步骤:
7.s1:建立基于cnn-transformer的混合架构模型;
8.s2:建立基于双向特征融合模块的双向特征交互通道,输入图像经过下采样后的特征图同时输入到cnn和transformer两个分支中;
9.s3:模型经过4个阶段的下采样后再经过4个阶段的上采样操作恢复特征图的分辨率;
10.s4:模型在深度估计时融合多个跨尺度的cnn特征和多个跨尺度的transformer特征输出单幅条纹图像的深度图。
11.进一步的,所述cnn部分包括cnn基本块,transformer部分包括transformer基本
块,二者提取的图像特征根据其性质分为局部特征和全局特征。
12.进一步的,所述模型总体遵从encoder-decoder结构,建立对称的decoder,并通过跳跃连接将encoder的同尺度特征融合到decoder中,最后在输出深度图时融合cnn部分和transformer部分的decoder的4中跨尺度特征图。
13.进一步的,所述步骤s2中,所述两个分支之间存在双向信息交互,双向交互过程为特征图首先经过第一个cnn模块,然后下采样并reshape后输入到transformer中,经过transformer处理的特征图经上采样并reshape后输入到第二个cnn模块中,最终输出cnn特征图和transformer特征图。
14.进一步的,在交互过程中cnn特征图始终是transformer特征图的两倍大小。
15.进一步的,所述步骤s2中,cnn部分的下采样首先使用最大池化层降低特征图的分辨率,然后通过conv-bn-leakyrelu层改变特征图的通道数,同理cnn部分的上采样首先使用upsample操作增大特征图的分辨率,然后通过conv-bn-leakyrelu层改变特征图的通道数。
16.进一步的,所述步骤s4中,获得decoder的4种不同尺度的特征图后,将分辨率相同的cnn特征图和transformer特征图使用convblock融合,然后将融合后的四种尺度的特征图经上采样恢复到原图1/2的分辨率,再次使用conv block融合,最终输出单幅深度估计图。
17.本发明还提供一种基于transformer的单幅条纹图深度估计装置,包括
18.模型建立模块,用于建立基于cnn-transformer的混合架构模型;
19.数据输入模块,用于建立基于双向特征融合模块的双向特征交互通道,将输入图像经过下采样后的特征图同时输入到cnn和transformer两个分支中;
20.数据处理模块,用于将模型经过4个阶段的下采样后再经过4个阶段的上采样操作恢复特征图的分辨率;
21.结果输出模块,用于将模型在深度估计时融合多个跨尺度的cnn特征和多个跨尺度的transformer特征输出单幅条纹图像的深度图。
22.本发明还提供一种终端,所述终端包括一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述基于transformer的单幅条纹图深度估计方法。
23.本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述基于transformer的单幅条纹图深度估计方法。
24.相对于现有技术,本发明所述的一种基于transformer的单幅条纹图深度估计方法具有以下优势:
25.(1)本发明克服了已有卷积神经网络在条纹深度预测过程中缺少全局特征提取功能的缺陷,提高单幅条纹图像深度估计准确性。
26.(2)本发明基于多头自注意力机制和卷积神经网络构建了一种并行混合模型,模型内部通过双向特征融合模块进行特征交互,并在深度估计时使用了跨尺度融合策略,将不同尺度的cnn特征与transformer特征融合,此融合策略会增加深度估计的准确性,能够更有效的从条纹图估计深度信息,提高条纹投影三维测量精度。
附图说明
27.构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
28.图1为并行cnn-transformer的总体架构示意图;
29.图2为conv block和trans block的结构图;
30.图3为cnn与transformer的双向交互机制图;
31.图4为单幅条纹图像;
32.图5为单幅条纹图像的深度图;
33.图6为四种方法的误差图。
具体实施方式
34.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
35.在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
36.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
37.下面将参考附图并结合实施例来详细说明本发明。
38.为更好理解上述技术方案,下面将结合说明书附图以及最佳实施方式,对上述技术方案进行详细的说明。
39.本发明为了解决基于纯卷积神经网络难以对单幅条纹图进行有效估计的问题,提出了一种并行混合模型对单幅条纹图像进行深度估计。该模型基于卷积神经网络和多头自注意力机制的并行混合架构来对单幅条纹图像进行深度估计,首先,输入图像经过下采样后的特征图同时输入到两个分支中,两个分支之间存在双向信息交互,双向交互过程为特征图首先经过第一个cnn模块,然后下采样并reshape后输入到transformer中,经过transformer处理的特征图经上采样并reshape后输入到第二个cnn模块中,最终输出cnn特征图和transformer特征图;其次,模型在经过4个阶段的下采样后在经过4个阶段的上采样操作恢复特征图的分辨率,最后,模型在深度估计时融合多个跨尺度的cnn特征和多个跨尺度的transformer特征输出单幅条纹图像的深度图。通过实验结果验证了本发明的方法切实可靠。
40.具体的,本发明的并行cnn-transformer的混合架构模型分为两大部分,即cnn部分和transformer部分,cnn部分由cnn基本块组成,transformer部分由transformer基本块组成,二者提取的图像特征根据其性质可以分为局部特征和全局特征。模型总体上遵从encoder-decoder结构,encoder提取高层语义特征信息,单幅条纹图像的深度估计任务属于密集预测任务,所以需要decoder恢复图像的分辨率。本发明根据encoder设计了对称的decoder,并通过跳跃连接将encoder的同尺度特征融合到decoder中,最后在输出深度图时融合cnn部分和transformer部分的decoder的4中跨尺度特征图。总体架构图如附图1所示。
41.具体的,本发明中cnn块由两个更小的conv block组成;trans block则有多头自注意力模块(mhsa)和多层感知器(mlp)组成,并使用了ln归一化层。conv block和trans block的组成如图2所示。trans block的输入为一系列的块,计算块间的相似性可以得到每个块对应的权重系数,通过softmax归一化后对权重和对应的原本的块的值进行加权求和得到的特征图称为注意力特征图,这种操作或者类似的操作称为注意力机制,公式如下所示:
[0042][0043]
其中因子为key向量维度的平方根,起到调节作用,使得上方内积不至于太大从而导致softmax出现非0即1的情况,而自注意力机制(self-attention)则指k=v=q,多头自注意机制则是指k、v、q要计算多次,然后将多次的结果进行拼接,这样做的好处是允许模型在不同的表示子空间里学习到相关的信息。计算同一个k、v、q多次是无意义的,因此在mhsa中的q、k、v都会有一个缩放参数q=qwq,k=kwk,v=vwv。
[0044]
具体的,本发明中,cnn部分的下采样首先使用最大池化层降低特征图的分辨率,然后通过conv-bn-leakyrelu层改变特征图的通道数,同理cnn部分的上采样首先使用upsample操作增大特征图的分辨率,然后通过conv-bn-leakyrelu层改变特征图的通道数。在transformer部分本发明完成下采样和上采样的两种操作称为patch embedding和patch expanding,patch embedding和patch expanding的作用类似卷积神经网络的下采样和上采样,但实现原理不同。与卷积神经网络不同,对于transformer模型来说,首先要将原始的2-d特征图转换成一系列的1-d分块特征图。输入的特征图记为x∈rh×w×c,其中h和w分别为输入特征图的高和宽,而c则指特征图的通道数(维度),如果要将输入特征图分成大小为p
×
p的块,可以通过reshape操作得到一系列的块:即输入特征图共切分为n=hw/p2个块,每个块展平为1-d(其特征大小为d=p2c),此时x'∈rn×d作为transformer block的输入,在base block内部p=2;在encoder中p1=4,pi=2(i=2,3,4),其中i为encoder的stage-th。transformer模型的输出o∈rn×d,为了与cnn特征(2-d)进行融合需要进行patch expanding操作,此操作首先会将transformer特征图的通道数增大为2倍,然后通过rearrange operation扩展特征图的分辨率为原来的2倍,通道数变为原来的1/2倍,最后通过reshape操作将o∈rn×d映射到o'∈rh×w×c。
[0045]
具体的,本发明建立了基于cnn基本块和transformer基本块的双向交互机制,双向交互过程如图3所示,其中cnn block包含两个conv block和一个trans block。交互过程为cnn特征经patch embedding模块后输入到trans block中,经过trans block之后的
transformer特征经patch expanding输出到conv block,值得注意是在交互过程中cnn特征图始终是transformer特征图的两倍大小。
[0046]
具体的,本发明为并行cnn-transformer架构设计了一种融合多个跨尺度特征图的方法,在获得decoder的4种不同尺度的特征图后,本发明首先将分辨率相同的cnn特征图和transformer特征图使用convblock融合,然后将融合后的四种尺度的特征图经上采样恢复到原图1/2的分辨率,再次使用conv block融合,最终输出单幅深度估计图。
[0047]
下面通过一个具体的实例说明本发明的方法:
[0048]
步骤1:准备数据集,数据集分为训练集、验证集和测试集,其中输入图像为如图4所示的条纹图,标签图像为图5所示的深度图。
[0049]
步骤2:搭建图1所示的神经网络模型,使用训练集数据训练模型,使用验证集验证模型的学习效果。为验证本发明所述方法的有效性,使用nvidia rtx 3090(24gb)显卡对本方法进行了实验,模型代码基于pytorch,训练使用的批处理大小为4,初始学习率5e-3,衰减策略为余弦退火重启策略,每50个轮次重启一次,总共训练轮次为200,优化器使用adamw,热身次数为10。训练网络使用的损失函数为均方误差(mse),评价指标为绝对误差(mae),均方误差(mse)和峰值信噪比(psnr)。
[0050]
步骤3:选择在验证集上表现最好的模型,在测试集上测试模型的性能,输出单通道深度图。实验结果如表1和图6所示。
[0051]
表1
[0052][0053]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献