1.本发明涉及深度估计技术领域,尤其涉及一种图像深度估计方法、装置、设备及存储介质。
背景技术:
2.现有的主流深度估计或稠密深度恢复的方法主要是通过rgb图像或64线雷达 rgb图像融合进行深度估计。但是现有技术存在的缺陷是:如果仅用rgb图像进行深度恢复,模型往往无法很好的估计出绝对深度且泛化能力有限,从而导致深度估计时的较大误差。基于rgb 多线/单线雷达的方法,通常仅从图像语义的层面在模型结构上进行了相互的补充和引导,不能够充分利用不同数据形态本身的重要特征来提升最终的预测精度,导致预测精度不高。
3.上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
技术实现要素:
4.本发明的主要目的在于提供一种图像深度估计方法、装置、设备及存储介质,旨在解决现有技术的深度估计方法的预测精度低的技术问题。
5.为实现上述目的,本发明提供了一种图像深度估计方法,所述图像深度估计方法包括以下步骤:
6.获取待评估对象的彩色图像和单线图像;
7.将所述单线图像输入到第一网络模块中进行特征提取和绝对深度估计,得到单线压缩特征图和绝对深度估计结果;
8.将单线压缩特征图和所述彩色图像输入到第二网络模块进行相对深度估计,得到相对深度估计结果;
9.根据所述相对深度估计结果和绝对深度估计结果确定所述待评估对象对应的输出深度图。
10.可选地,所述第一网络模块的生成方法包括:
11.设定预设数量的连续预设步幅的预设结构,得到目标编码器结构,所述预设结构包括卷积层、归一化和激活层;
12.设定连续预设数量的预设步幅的反卷积层,得到目标解码器结构;
13.根据所述目标编码器结构和所述目标解码器结构构建第一网络模块。
14.可选地,所述将所述单线图像输入到第一网络模块中进行特征提取和绝对深度估计,得到单线压缩特征图和绝对深度估计结果,包括:
15.将所述单线图像输入到第一网络模块的编码器,经过所述第一网络模块的编码器的二次压缩和提取特征图之后得到单线压缩特征图;
16.将所述单线压缩特征图输入所述第一网络模块的解码器,得到绝对深度估计结
果。
17.可选地,所述将单线压缩特征图和所述彩色图像输入到第二网络模块进行相对深度估计,得到相对深度估计结果,包括:
18.将所述彩色图像输入到第二网络模块的编码器,经过所述第二网络模块的编码器的尺度压缩和特征提取之后得到彩色压缩特征图;
19.将所述单线压缩特征图和所述彩色压缩特征图进行合并拼接,得到拼接特征图;
20.将所述拼接特征图输入到所述第二网络模块的解码器,得到相对深度估计结果。
21.可选地,所述第二网络模块的生成方法包括:
22.通过轻量级分割网络构建初始第二网络模块;
23.将所述轻量级分割网络的解码器中的上采样模块的上采样方式修改为反卷积方式,得到更新后的上采样模块;
24.根据所述修改后的上采样模块更新所述轻量级分割网络,得到第二网络模块。
25.可选地,所述将所述彩色图像输入到第二网络模块的编码器,经过所述第二网络模块的编码器的尺度压缩和特征提取之后得到彩色压缩特征图之后,还包括:
26.将所述单线图像进行特征映射,得到对应的目标区间内的多个映射元素;
27.将各映射元素与所述彩色压缩特征图进行对位相乘,得到特征图校准信息,并根据所述特征图校准信息更新所述彩色压缩特征图。
28.可选地,所述根据所述相对深度估计结果和绝对深度估计结果确定所述待评估对象对应的输出深度图,包括:
29.将所述相对深度估计结果和所述绝对深度估计结果进行合并拼接,得到压缩拼接特征图;
30.通过通道注意力模块对所述压缩拼接特征图进行加权处理,得到输出深度图。
31.可选地,所述根据所述相对深度估计结果和绝对深度估计结果确定所述待评估对象对应的输出深度图之前,还包括:
32.在所述第一网络模块的解码器后链接目标通道维度的卷积层,以通过第一网络损失函数在所述第一网络模块的解码器输出第一损失数据;
33.在所述第二网络模块的解码器后链接目标通道维度的卷积层,以通过第二网络损失函数在所述第二网络模块的解码器输出第二损失数据;
34.将所述第一损失数据和所述第二损失数据进行合并拼接,并通过融合损失函数得到融合损失数据;
35.将所述第二损失数据和所述融合损失数据分别与所述第一损失数据进行比对,进行所述第一网络模块和所述第二网络模块的优化。
36.此外,为实现上述目的,本发明还提出一种图像深度估计装置,所述图像深度估计装置包括:
37.图像获取模块,用于获取待评估对象的彩色图像和单线图像;
38.单线图像处理模块,用于将所述单线图像输入到第一网络模块中进行特征提取和绝对深度估计,得到单线压缩特征图和绝对深度估计结果;
39.融合图像处理模块,用于将单线压缩特征图和所述彩色图像输入到第二网络模块进行相对深度估计,得到相对深度估计结果;
40.结果输出模块,用于根据所述相对深度估计结果和绝对深度估计结果确定所述待评估对象对应的输出深度图。
41.此外,为实现上述目的,本发明还提出一种图像深度估计设备,所述图像深度估计设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行的图像深度估计程序,所述图像深度估计程序配置为实现如上文所述的图像深度估计方法。
42.此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有图像深度估计程序,所述图像深度估计程序被处理器执行时实现如上文所述的图像深度估计方法。
43.本发明获取待评估对象的彩色图像和单线图像;将所述单线图像输入到第一网络模块中进行特征提取和绝对深度估计,得到单线压缩特征图和绝对深度估计结果;将单线压缩特征图和所述彩色图像输入到第二网络模块进行相对深度估计,得到相对深度估计结果;根据所述相对深度估计结果和绝对深度估计结果确定所述待评估对象对应的输出深度图。通过这种方式,实现了设定两个网络模块,分别针对待评估对象的彩色图像和单线图像进行深度估计的处理以及图像融合之后的深度估计,得到了相对估计结果和绝对估计结果,最终基于相对估计结果和绝对估计结果得到输出深度图,基于不同形态数据的特征进行深度估计,可以有效提升模型进行深度估计的效果,减少深度估计误差并增强深度估计的鲁棒性。
附图说明
44.图1是本发明实施例方案涉及的硬件运行环境的图像深度估计设备的结构示意图;
45.图2为本发明图像深度估计方法第一实施例的流程示意图;
46.图3为本发明图像深度估计方法一实施例中的模型架构示意图;
47.图4为本发明图像深度估计方法第二实施例的流程示意图;
48.图5为本发明图像深度估计方法一实施例中的模型完整训练过程示意图;
49.图6为本发明图像深度估计装置第一实施例的结构框图。
50.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
51.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
52.本方案应用在清洁设备中,清洁设备可以是自移动机器人,也可以是自移动机器人和基站组成的。自移动机器人上设置有多种类型的传感器,传感器包括摄像头和雷达;执行主体可以是主机,也可以是服务器,也可以是基站。所以执行主体可以是清洁设备、服务器;传感器可以包括采集彩色图像的摄像头,和采集单线图像的激光雷达、单线雷达等设备。当执行主体为主机时,将传感器获取到的彩色图像和单线图像传输给主机,通过主机对彩色图像和单线图像进行处理,得到深度估计结果;当执行主体为服务器时,可以为实体服务器或者云服务器,将传感器获取到的彩色图像和单线图像传输给服务器,服务器对彩色图像和单线图像进行处理得到结果,主机从服务器中获取结果进行定位、识别等;当执行主体为基站时,将彩色图像和单线传输给基站,基站对图像进行处理得到结果,并指示主机进
行相应的运动。最终得到的深度估计结果进行清扫场景的识别,或者进行扫地机器人的导航。
53.参照图1,图1为本发明实施例方案涉及的硬件运行环境的图像深度估计设备结构示意图。
54.如图1所示,该计算机设备可以包括:处理器1001,例如中央处理器(central processing unit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(wireless-fidelity,wi-fi)接口)。存储器1005可以是高速的随机存取存储器(random access memory,ram)存储器,也可以是稳定的非易失性存储器(non-volatile memory,nvm),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
55.本领域技术人员可以理解,图1中示出的结构并不构成对图像深度估计设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
56.如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及图像深度估计程序。
57.在图1所示的图像深度估计设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明图像深度估计设备中的处理器1001、存储器1005可以设置在图像深度估计设备中,所述图像深度估计设备通过处理器1001调用存储器1005中存储的图像深度估计程序,并执行本发明实施例提供的图像深度估计方法。
58.本发明实施例提供了一种图像深度估计方法,参照图2,图2为本发明一种图像深度估计方法第一实施例的流程示意图。
59.在本实施例中,本实施例的执行主体可为所述图像深度估计设备,该图像深度估计设备具有数据处理、数据通信及程序运行等功能,所述图像深度估计设备可以为计算机、服务器、主机或者基站等智能终端。当然,还可为其他具有相似功能的设备,本实施条件对此不加以限制。为便于说明,本实施方式以图像深度估计设备为例进行说明。例如在s10,可以为在主机启动运行过程中,通过雷达和摄像头对外界环境进行数据采集和测量,通过摄像头获取对象的彩色图像;并通过雷达获取到同一对象的点云数据,根据点云数据得到单线图像。此处也可以为摄像头获取环境图,雷达获取到激光数据,然后通过执行主体的计算机、服务器、主机或者基站对数据进行转换和处理,得到目标对象的彩色图像和激光的单线图像。
60.本实施例中,所述图像深度估计方法包括以下步骤:
61.步骤s10:获取待评估对象的彩色图像和单线图像。
62.在具体实施中,对于深度估计和深度预测的现有的方法中存在缺陷:如果仅用rgb图像进行深度恢复,模型往往无法很好的估计出绝对深度且泛化能力有限,从而导致深度估计时的较大误差。基于rgb 多线/单线雷达的方法,通常仅从图像语义的层面在模型结构上进行了相互的补充和引导,而未基于数据特征从相对、绝对深度信息的层面通过差异化的损失函数对训练进行独立的引导并最终实现基于两种角度的综合优化,不能够充分利用
不同数据形态本身的重要特征来提升最终的预测精度。同时,现有技术的模型通常较大,在端侧运行会占用更多的内存或较长的推理时间。同时,现有方法往往存在一些自定义算子(如上述提到的单线雷达 rgb图像进行深度估计的方法),这些算子往往在端侧没有很好的优化,影响部署和推理的效率。而采用了本实施例的方案使用多种损失函数引导优化网络在不同部分基于不同数据形态得到的特征图并将结果进行充分融合,达到了基于单线雷达 rgb图像进行准确深度估计的效果。同时,本专利提供的基础模型框架可以有效减少模型大小,整体设计简单直观,模型构架基于常用算子设计,易于在端侧进行部署和推理。相比现有技术,利用本方法的pipeline,可以有效提升模型进行深度估计的效果,减少深度估计误差并增强深度估计的鲁棒性。本方法使用的整体模型框架,可以在保证深度估计精度的情况下,有效减少模型参数,降低在端侧的部署和推理成本。
63.需要说明的是,待评估对象可以为任意的物体或者任意场景,而彩色图像和单线图像分别为待评估对象在同一时刻以及统一角度和位置留下的图像。获取待评估对象的彩色图像和单线图像指的是获取待评估对象在相同时刻和相同位置角度拍摄的rgb图像和通过传感器设备,包括雷达、激光雷达拍摄的单线图像。
64.步骤s20:将所述单线图像输入到第一网络模块中进行特征提取和绝对深度估计,得到单线压缩特征图和绝对深度估计结果。
65.应理解的是,如图3所示为本发明方案的模型构造示意图,第一网络模块和第二网络模块分别包括了编码器和解码器模块,本步骤对应为图3中的箭头1和3。首先将单线图像输入到第一网络模块,从而通过第一网络模块进行特征提取和绝对深度的估计操作,从而可以得到通过第一网络模块的编码器输出的单线压缩特征图,以及通过第一网络模块的解码器输出的绝对深度估计结果。
66.进一步的,为了得到单线压缩特征图和绝对深度估计结果,步骤s20包括:将所述单线图像输入到第一网络模块的编码器,经过所述第一网络模块的编码器的二次压缩和提取特征图之后得到单线压缩特征图;将所述单线压缩特征图输入所述第一网络模块的解码器,得到绝对深度估计结果。
67.在具体实施中,首先将单线图像输入到第一网络模块的编码器,从而可以通过第一网络模块编码器对单线图像进行两次的压缩步骤,即为二次压缩,使得二次压缩后并进行特征提取的单线压缩特征图与第二网络模块的特征图通道数相同,便于后续的对位相乘,本步骤对应了图3中的箭头1。具体的,第一网络模块用较少的卷积层进行快速采样且在encoder输出的特征图通道数仅为第二网络模块的1/2,其原因是单线深度特征比较稀疏,在大部分空间尺度上是不具有有效特征的,因此只在深度估计恢复真值的整体结构中起到一个辅助校准的作用。这种选择可以充分发挥单线深度的特点并显著降低模型的大小和计算量。这部分卷积通道数量设定相对自由,只要保证在第二次压缩后特征图通道数和第二网络模块一致即可,因为要进行对位相乘的融合。在后续的压缩过程中,第一网络模块可以使用更少的通道数,如跟第二网络模块通道数的比例为1:2。
68.需要说明的是,当得到但先压缩特征图之后,再将单线压缩特征图直接输入到第一网络模块的解码器,从而可以直接输出得到单线图像的直接的深度估计结果,作为绝对深度估计结果。
69.通过这种方式,实现了通过第一网络模块的结构对单线图像进行处理,得到中间
结果的单线压缩特征图和最终基于单线图像的绝对深度压缩图。
70.进一步的,为了能够实现更轻量和更有效的结果,需要建立第一网络模块的具体结构,第一网络模块的生成方法包括:设定预设数量的连续预设步幅的预设结构,得到目标编码器结构,所述预设结构包括卷积层、归一化和激活层;设定连续预设数量的预设步幅的反卷积层,得到目标解码器结构;根据所述目标编码器结构和所述目标解码器结构构建第一网络模块。
71.应理解的是,设定预设数量的连续预设步幅的预设结构指的是:在encoder(编码器)部分连续使用四个stride(步幅)为2的conv bn prelu结构,可以得到目标编码器结构,而conv bn prelu结构即包括了卷基层、归一化和激活层,从而可以快速对单线深度图进行尺度压缩并提取特征图。
72.在具体实施中,设定连续预设数量的预设步幅的反卷积层,得到目标解码器结构指的是:在decoder(反卷积)部分使用四个stride为2反卷积层,得到构建的目标解码器结构,从而可以实现快速进行上采样获得尺度恢复后的特征图。
73.需要说明的是,最终将目标编码器结构和目标解码器结构进行组合,得到了完整的第一网络模块的网络架构。
74.通过这种方式,实现了通过修改网络模块的结构搭建第一网络模块,提高了特征图压缩和提取的速度。
75.步骤s30:将单线压缩特征图和所述彩色图像输入到第二网络模块进行相对深度估计,得到相对深度估计结果。
76.应理解的是,如图3所示的网络结构和处理流程图,本步骤对应的了图3中的箭头2。在送入神经网络前,对彩色图像进行归一化,单线图像则为单位为米的深度真值,不做归一化处理。保持深度真值真实单位的好处是使网络能够使用单线深度作为整体深度的校准基线,在最终预测稠密深度时恢复估计出更精准的绝对深度。
77.在具体实施中,在第二网络模块中将彩色图像和单线图像在通道维度进行concat拼接,形成4通道的rgbd数据再输入到解码器。
78.进一步的,为了实现合并拼接并得到相对深度估计结果,步骤s30包括:将所述彩色图像输入到第二网络模块的编码器,经过所述第二网络模块的编码器的尺度压缩和特征提取之后得到彩色压缩特征图;将所述单线压缩特征图和所述彩色压缩特征图进行合并拼接,得到拼接特征图;将所述拼接特征图输入到所述第二网络模块的解码器,得到相对深度估计结果。
79.需要说明的是,首先将彩色图像输入到第二网络模块的编码器中,从而可通过编码器进行尺度压缩以及特征提取,得到彩色压缩特征图。如图3的箭头2所示,然后将单线压缩特征图输入到第二网络模块,和彩色压缩特征图进行合并拼接,此过程是在通道维度上进行的,由于此时单线压缩特征图和彩色压缩特征图的通道数维持一致,所以可以实现,最终得到处理完成的拼接特征图。
80.应理解的是,最后将拼接特征图输入到第二网络模块的解码器,从而可以输出通过第二网络模块的解码器进行深度估计的结果,作为相对深度估计结果。
81.通过这种方式,实现了进行特征的拼接和融合,最终输出相对深度估计结果,以引导解码器做出更准确的判断。
82.进一步的,为了对深度特征进行校准,将所述彩色图像输入到第二网络模块的编码器,经过所述第二网络模块的编码器的尺度压缩和特征提取之后得到彩色压缩特征图的步骤之后,还包括:将所述单线图像进行特征映射,得到对应的目标区间内的多个映射元素;将各映射元素与所述彩色压缩特征图进行对位相乘,得到特征图校准信息,并根据所述特征图校准信息更新所述彩色压缩特征图。
83.应理解的是,本步骤对应了图3中的箭头3的步骤,首先对单线图像进行特征映射,本步骤的特征融合发生在特征图进行第二次压缩之后,即压缩到原本1/4大小的时候。此处特征融合的方式是将单线图像进行sigmoid映射,将每个元素映射到目标区间0-1之间,然后与第二网络模块中该位置的特征图(压缩两次之后的特征图)也就是彩色压缩特征图进行对位相乘,形成使用真值对提取的基于rgbd(压缩特征图)的深度特征形成校准的作用。
84.在具体实施中,对位相乘的步骤指的是在两个矩阵中对应位置的元素相乘所得到的新矩阵,在本实施例的方案中也包括了进行特征图的元素、矩阵和向量的对位相乘。
85.通过这种方式,直接将单线深度真值的特征作用在rgbd深度语义特征上,直接对rgbd深度语义特征进行较大程度的修正,比通常采用的concat或add的融合方式能产生更广泛的影响和更规范的尺度一致性。
86.进一步的,为了预先构建第二网络模块的网络结构,第二网络模块的生成方法包括:通过轻量级分割网络构建初始第二网络模块;将所述轻量级分割网络的解码器中的上采样模块的上采样方式修改为反卷积方式,得到更新后的上采样模块;根据所述修改后的上采样模块更新所述轻量级分割网络,得到第二网络模块。
87.在具体实施中,通过轻量级分割网络构建初始第二网络模块指的是基于轻量级分割网络regseg的backbone,最终得到了初始第二网络模块,也可以根据需要的运算速度和算子优化使用其他backbone,如基于res18的encoder等。
88.需要说明的是,在decoder(解码器)部分,使用反卷积deconv来代替使用插值法进行的upsample(上样),得到了更新后的上采样模块,这样的设计可以让模型在进行深度恢复时恢复出更为精细的特征。同时,原始的segreg网络并未用decoder输出与输入尺寸相同的特征图,在此基础上,加入了额外的两层反卷积,用于更精细的深度估计,将输出的特征图尺寸与输入进行统一。
89.通过这种方式,使得第二网络模块的模型在进行深度恢复时恢复出更为精细的特征。
90.步骤s40:根据所述相对深度估计结果和绝对深度估计结果确定所述待评估对象对应的输出深度图。
91.应理解的是,当得到了相对估计结果和绝对深度估计结果之后,还需要进行特征融合的步骤,从而可以实现输出结合了两种深度估计结果的输出深度图。其中,输出深度图指的是最终的稠密深度图。
92.进一步的,为了进行最终特征图的融合,步骤s40包括:将所述相对深度估计结果和所述绝对深度估计结果进行合并拼接,得到压缩拼接特征图;通过通道注意力模块对所述压缩拼接特征图进行加权处理,得到输出深度图。
93.在具体实施中,如图3中的箭头4和箭头5对应的步骤即为是分别将两个解码器输出的最终特征图(相对深度估计结果和绝对深度估计结果)通过concat的操作进行拼接,并
使用se模块(通道注意力模块)对通道重要性进行加权处理,最终使用一个卷积层对深度进行微调,输出最终的稠密深度图,。
94.通过这种方式,实现了最终进行一次特征融合,使得最后额外输出一路融合的稠密深度图,并且融合了不同的数据形态,使得深度估计更准确。
95.本实施例通过获取待评估对象的彩色图像和单线图像;将所述单线图像输入到第一网络模块中进行特征提取和绝对深度估计,得到单线压缩特征图和绝对深度估计结果;将单线压缩特征图和所述彩色图像输入到第二网络模块进行相对深度估计,得到相对深度估计结果;根据所述相对深度估计结果和绝对深度估计结果确定所述待评估对象对应的输出深度图。通过这种方式,实现了设定两个网络模块,分别针对待评估对象的彩色图像和单线图像进行深度估计的处理以及图像融合之后的深度估计,得到了相对估计结果和绝对估计结果,最终基于相对估计结果和绝对估计结果得到输出深度图,基于不同形态数据的特征进行深度估计,可以有效提升模型进行深度估计的效果,减少深度估计误差并增强深度估计的鲁棒性。
96.参考图4,图4为本发明一种图像深度估计方法第二实施例的流程示意图。
97.基于上述第一实施例,本实施例图像深度估计方法在所述步骤s40之前,还包括:
98.步骤s401:在所述第一网络模块的解码器后链接目标通道维度的卷积层,以通过第一网络损失函数在所述第一网络模块的解码器输出第一损失数据。
99.需要说明的是,如图3所示,本实施例的方案中添加了损失函数。深度估计的损失函数可以被分为两类,相对尺度损失及绝对尺度损失。相对尺度损失是指vnl、ssil这类损失函数,它们并不反映预测深度数值的绝对准确性,而是反映深度图中相对深度的准确性。例如vnl损失,是度量两个平面虚法线的方向差异来反映损失大小的,对于一个平面,无论如何缩放平移,虚法线的方向是一致的,因此该损失度量的差异被认为是相对深度差异。而mse这类损失是直接衡量预测深度值与ground true深度值差异的损失函数,通过减少深度值的绝对差异来优化预测结果,因此被认为是绝对尺度上的损失函数。一般来说,仅基于彩色图像有助于恢复出相对深度,但因为没有深度真值作为参照,且不同采样设备的内参存在差异,因此难以有效的恢复出精确的深度真值。而基于单线深度真值,则可以较为准确的恢复出该线所在位置附近的绝对深度。因此,基于这样的理论,用绝对深度损失来引导第一网络模块的解码器输出的深度图优化,用相对损失来引导第二网络模块解码器输出的深度图优化。同时,因为在本次工作中,为了最终恢复出高精度的绝对深度,因此,对于最终的输出深度图(即concat两个来源的深度图并使用se conv进行调优的深度图),依然使用绝对损失来引导它的优化。
100.应理解的是,首先在由于输出深度图需要将特征图的通道维度降到1维来输出预测深度并与ground true进行差异计算来得到损失,因此,我们需要在第一网络模块的解码器后面再链接一个输出通道维度为1的卷积核为(1,1)卷积层来进行维度调整,然后导入第一网络损失函数,也就是图3中的箭头5对应的mse loss,从而可以根据解码器输出的深度预测与gt形成的mse损失得到第一损失数据。具体的,mes损失函数如下:
101.102.步骤s402:在所述第二网络模块的解码器后链接目标通道维度的卷积层,以通过第二网络损失函数在所述第二网络模块的解码器输出第二损失数据。
103.在具体实施中,相同于第一网络模块,在第二网络模块的解码器后链接目标通道维度的卷积层,也即是再链接一个输出通道维度为1的卷积核为(1,1)卷积层来进行维度调整,然后导入到第二网络损失函数,即图3中箭头4的过程对应的ssil vnl loss,从而基于解码器输出的深度预测与gt形成的ssil vnl损失。具体的,vnl损失函数如下:
[0104][0105]
ssil损失函数如下:
[0106][0107][0108][0109]
步骤s403:将所述第一损失数据和所述第二损失数据进行合并拼接,并通过融合损失函数得到融合损失数据。
[0110]
应理解的是,当得到第一损失数据和第二损失数据之后,再将不同解码器特征图拼接微调后得到的深度预测与gt形成的mse损失,从而可以得到融合损失数据。
[0111]
步骤s404:将所述第二损失数据和所述融合损失数据分别与所述第一损失数据进行比对,进行所述第一网络模块和所述第二网络模块的优化。
[0112]
在具体实施中,在最终基于损失函数进行第一网络模块和第二网络模块的优化的过程中,将第一损失数据作为基准,从而可以让拥有深度真值的单线深度图去偏重预测深度真值,而让rgbd图像偏重预测相对深度值,最终将这两个结果融合在一起,产生高精度的深度估计结果。
[0113]
需要说明的是,总损失l=1*ssil 1*vnl 0.5*mse1 1*mse2,其中mse1是第一网络模块的解码器深度估计对应的mse损失,其权重系数为0.5,总损失中涉及的权重系数可以根据不同训练集进行调整。最终的完整流程图如图5所示。
[0114]
应理解的是,使用本方案可以显著提高轻量级模型深度估计的准确性和鲁棒性,目前在我们的实验中,使用nyuv2测试集,在model size仅有17m的情况下,模型深度估计误差仅有每米5.4cm。且在使用该模型进行消融实验的过程中发现,若不使用不同损失对不同来源的深度估计图进行训练引导,仅保留最终的mse损失函数,模型难以收敛,训练误差会在每米8cm到每米10cm震荡。
[0115]
本实施例通过在所述第一网络模块的解码器后链接目标通道维度的卷积层,以通过第一网络损失函数在所述第一网络模块的解码器输出第一损失数据;在所述第二网络模
块的解码器后链接目标通道维度的卷积层,以通过第二网络损失函数在所述第二网络模块的解码器输出第二损失数据;将所述第一损失数据和所述第二损失数据进行合并拼接,并通过融合损失函数得到融合损失数据;将所述第二损失数据和所述融合损失数据分别与所述第一损失数据进行比对,进行所述第一网络模块和所述第二网络模块的优化。通过这种方式,实现了让拥有深度真值的单线图像去偏重预测深度真值,而让色彩图像偏重预测相对深度值,最终将这两个结果融合在一起,产生高精度的深度估计结果。
[0116]
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有图像深度估计程序,所述图像深度估计程序被处理器执行时实现如上文所述的图像深度估计方法的步骤。
[0117]
由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
[0118]
参照图6,图6为本发明图像深度估计装置第一实施例的结构框图。
[0119]
如图6所示,本发明实施例提出的图像深度估计装置包括:
[0120]
图像获取模块10,用于获取待评估对象的彩色图像和单线图像。
[0121]
单线图像处理模块20,用于将所述单线图像输入到第一网络模块中进行特征提取和绝对深度估计,得到单线压缩特征图和绝对深度估计结果。
[0122]
融合图像处理模块30,用于将单线压缩特征图和所述彩色图像输入到第二网络模块进行相对深度估计,得到相对深度估计结果。
[0123]
结果输出模块40,用于根据所述相对深度估计结果和绝对深度估计结果确定所述待评估对象对应的输出深度图。
[0124]
在本实施例中通过获取待评估对象的彩色图像和单线图像;将所述单线图像输入到第一网络模块中进行特征提取和绝对深度估计,得到单线压缩特征图和绝对深度估计结果;将单线压缩特征图和所述彩色图像输入到第二网络模块进行相对深度估计,得到相对深度估计结果;根据所述相对深度估计结果和绝对深度估计结果确定所述待评估对象对应的输出深度图。通过这种方式,实现了设定两个网络模块,分别针对待评估对象的彩色图像和单线图像进行深度估计的处理以及图像融合之后的深度估计,得到了相对估计结果和绝对估计结果,最终基于相对估计结果和绝对估计结果得到输出深度图,基于不同形态数据的特征进行深度估计,可以有效提升模型进行深度估计的效果,减少深度估计误差并增强深度估计的鲁棒性。
[0125]
在一实施例中,所述单线图像处理模块20,还用于设定预设数量的连续预设步幅的预设结构,得到目标编码器结构,所述预设结构包括卷积层、归一化和激活层;设定连续预设数量的预设步幅的反卷积层,得到目标解码器结构;根据所述目标编码器结构和所述目标解码器结构构建第一网络模块。
[0126]
在一实施例中,所述单线图像处理模块20,还用于将所述单线图像输入到第一网络模块的编码器,经过所述第一网络模块的编码器的二次压缩和提取特征图之后得到单线压缩特征图;将所述单线压缩特征图输入所述第一网络模块的解码器,得到绝对深度估计结果。
[0127]
在一实施例中,所述融合图像处理模块30,还用于将所述彩色图像输入到第二网络模块的编码器,经过所述第二网络模块的编码器的尺度压缩和特征提取之后得到彩色压
缩特征图;将所述单线压缩特征图和所述彩色压缩特征图进行合并拼接,得到拼接特征图;将所述拼接特征图输入到所述第二网络模块的解码器,得到相对深度估计结果。
[0128]
在一实施例中,所述融合图像处理模块30,还用于通过轻量级分割网络构建初始第二网络模块;将所述轻量级分割网络的解码器中的上采样模块的上采样方式修改为反卷积方式,得到更新后的上采样模块;根据所述修改后的上采样模块更新所述轻量级分割网络,得到第二网络模块。
[0129]
在一实施例中,所述融合图像处理模块30,还用于将所述单线图像进行特征映射,得到对应的目标区间内的多个映射元素;将各映射元素与所述彩色压缩特征图进行对位相乘,得到特征图校准信息,并根据所述特征图校准信息更新所述彩色压缩特征图。
[0130]
在一实施例中,所述结果输出模块40,还用于将所述相对深度估计结果和所述绝对深度估计结果进行合并拼接,得到压缩拼接特征图;通过通道注意力模块对所述压缩拼接特征图进行加权处理,得到输出深度图。
[0131]
在一实施例中,所述结果输出模块40,还用于在所述第一网络模块的解码器后链接目标通道维度的卷积层,以通过第一网络损失函数在所述第一网络模块的解码器输出第一损失数据;在所述第二网络模块的解码器后链接目标通道维度的卷积层,以通过第二网络损失函数在所述第二网络模块的解码器输出第二损失数据;将所述第一损失数据和所述第二损失数据进行合并拼接,并通过融合损失函数得到融合损失数据;将所述第二损失数据和所述融合损失数据分别与所述第一损失数据进行比对,进行所述第一网络模块和所述第二网络模块的优化。
[0132]
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
[0133]
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
[0134]
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的图像深度估计方法,此处不再赘述。
[0135]
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0136]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0137]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(read only memory,rom)/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0138]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。