CN116883770A - 深度估计模型的训练方法、装置、电子设备及存储介质 - Google Patents
深度估计模型的训练方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116883770A CN116883770A CN202210293448.1A CN202210293448A CN116883770A CN 116883770 A CN116883770 A CN 116883770A CN 202210293448 A CN202210293448 A CN 202210293448A CN 116883770 A CN116883770 A CN 116883770A
- Authority
- CN
- China
- Prior art keywords
- image
- feature map
- feature
- processed
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 359
- 238000000034 method Methods 0.000 title claims abstract description 102
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 238000000605 extraction Methods 0.000 claims abstract description 108
- 238000003062 neural network model Methods 0.000 claims abstract description 54
- 238000010586 diagram Methods 0.000 claims description 38
- 238000004590 computer program Methods 0.000 claims description 23
- 238000013473 artificial intelligence Methods 0.000 abstract description 5
- 238000005070 sampling Methods 0.000 description 37
- 230000008569 process Effects 0.000 description 27
- 238000012545 processing Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 230000004927 fusion Effects 0.000 description 6
- 230000036961 partial effect Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000011176 pooling Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000002238 attenuated effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供了一种深度估计模型的训练方法、装置、电子设备及存储介质,涉及智慧交通、游戏、人工智能、计算机视觉及云技术领域。该方法包括:通过神经网络模型中的初始深度估计模型对每个训练样本中的第一图像进行特征提取,得到该第一图像的至少两种尺度的第一特征图,对该第一图像的各第一特征图进行融合,得到该第一图像的目标特征图,基于该目标特征图,得到该第一图像的预测深度信息。基于各第一图像的预测深度信息和真实深度信息,确定训练损失,将满足预设条件的神经网络模型中的深度估计模型作为训练好的深度估计模型。使得训练好的深度估计模型可以融合每次进行特征提取所得到的多分辨率特征,得到第一图像的更准确的深度信息。
Description
技术领域
本申请涉及智慧交通、游戏、人工智能、计算机视觉及云技术领域,具体而言,本申请涉及一种深度估计模型的训练方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
随着科学技术的发展,越来越多的领域需要对图像进行相关处理,获取图像中的相关信息。
目前在图像处理的过程中,是直接基于每次对图像进行特征提取得到的特征图进行图像信息恢复的,会导致图像的部分信息丢失,进而导致所得到的图像中的相关信息不能很好地表达图像本身的信息,不能满足实际需求。
发明内容
本申请实施例提供了一种深度估计模型的训练方法、装置、电子设备、计算机可读存储介质及计算机程序产品,通过该训练方法得到的深度估计模型,可以充分结合对图像进行特征提取所得到的多分辨率特征,更好地提取图像中的深度信息。具体的技术方案如下:
根据本申请实施例的一个方面,提供了一种深度估计模型的训练方法,该方法包括:
获取多个训练样本,每个训练样本包括第一图像以及该第一图像的真实深度信息;
基于多个训练样本对神经网络模型进行迭代训练,直至神经网络模型对应的总训练损失满足预设条件,神经网络模型包括初始深度估计模型,将满足预设条件的深度估计模型作为训练好的深度估计模型;其中,总训练损失是通过以下方式确定的:
对于每个第一图像,通过初始深度估计模型对该第一图像进行特征提取,得到该第一图像对应的至少两种尺度的第一特征图;通过对该第一图像对应的各第一特征图进行融合,得到该第一图像对应的目标特征图;基于目标特征图,得到该第一条图像的第一深度信息;
基于各第一图像对应的第一深度信息和真实深度信息,确定第一训练损失。
根据本申请实施例的另一个方面,提供了一种深度估计模型的训练装置,该装置包括:
训练样本获取模块,用于获取多个训练样本,每个训练样本包括第一图像以及该第一图像的真实深度信息;
深度估计模型训练模块,用于基于多个训练样本对神经网络模型进行迭代训练,直至神经网络模型对应的总训练损失满足预设条件,神经网络模型包括初始深度估计模型,将满足预设条件的深度估计模型作为训练好的深度估计模型;其中,总训练损失是通过以下方式确定的:
对于每个第一图像,通过初始深度估计模型对该第一图像进行特征提取,得到该第一图像对应的至少两种尺度的第一特征图;通过对该第一图像对应的各第一特征图进行融合,得到该第一图像对应的目标特征图;基于目标特征图,得到第一深度信息;
基于各第一图像对应的第一深度信息和真实深度信息,确定总训练损失。
可选地,深度估计模型训练模块在通过对该第一图像对应的各第一特征图进行融合,得到该第一图像对应的目标特征图时,具体用于:
将该第一图像对应的各第一特征图作为初始的特征图集合,执行设定次数的第一操作,将最后一次第一操作得到的第二特征图作为目标特征图;
深度估计模型训练模块在执行第一操作时,具体用于:
将特征图集合中除最小尺度的特征图之外的每个特征图分别作为待处理特征图,对于每个待处理特征图,通过将该待处理特征图与尺度小于该待处理特征图的特征图进行融合,得到尺度与该待处理特征图对应的第二特征图;将各待处理特征图对应的第二特征图作为下一次第一操作对应的特征图集合。
可选地,对于每个第一图像,设定次数为至少两次,深度估计模型训练模块还用于:
对于第一次第一操作得到的各第二特征图中的至少一个特征图,分别基于至少一个特征图中的每个特征图,得到该特征图对应的第一图像的第二深度信息;
基于各第一图像对应的真实深度信息和各第二深度信息,确定第二训练损失;
深度估计模型训练模块在基于各第一图像对应的第一深度信息和真实深度信息,确定总训练损失时,具体用于:
基于各第一图像对应的第一深度信息和真实深度信息,确定第一训练损失;
基于第一训练损失和第二训练损失,得到总训练损失。
可选地,每个训练样本还可以包括与该训练样本中的第一图像在时序上连续的一个第二图像,神经网络模型还可以包括初始姿态估计模型,深度估计模型训练模块在对神经网络模型进行训练的过程中,还用于:
对于每个第一图像,将该第一图像和对应的第二图像输入至初始姿态估计模型中,得到该第一图像的姿态信息;
对于每个第一图像,基于该第一图像的姿态信息和第一深度信息进行图像重构,得到第一图像对应的重构图像;
基于各第一图像以及对应的重构图像之间的第一差异,确定第三训练损失;
深度估计模型训练模块在基于各第一图像对应的第一深度信息和真实深度信息,确定总训练损失时,具体用于:
基于各第一图像对应的第一深度信息和真实深度信息,确定第一训练损失;
基于第一训练损失和第三训练损失,确定总训练损失。
可选地,深度估计模型训练模块还用于:
对于一个第一图像,确定该第一图像和对应的第二图像之间的第二差异;
基于各第一图像对应的第一差异和第二差异之间的大小关系,确定第三训练损失的权重值;
深度估计模型训练模块在基于第一训练损失和第三训练损失,确定总训练损失时,具体用于:
基于第三训练损失的权重值,对第一训练损失和第三训练损失进行加权求和,得到总训练损失。
可选地,对于每个第一图像,深度估计模型训练模块在执行第一操作时还用于:
对于特征图集合中最小尺度的特征图,对该特征图进行残差特征提取,得到尺度与该特征图对应的第二特征图;
对于每个待处理特征图,深度估计模型训练模块在通过将该待处理特征图与尺度小于该待处理特征图的待处理特征图进行融合,得到尺度与该待处理特征图对应的第二特征图时,具体用于:
对该待处理特征图进行残差特征提取,得到该待处理特征图对应的第三特征图,将该第三特征图与尺度小于该待处理特征图的待处理特征图进行拼接,得到该待处理特征图对应的第四特征图;对第四特征图进行特征提取,得到尺度与该待处理特征图对应的第二特征图。
可选地,对于每个第一图像,设定次数为至少三次,对于第三次第一操作以及第三次之后的每次第一操作,深度估计模型训练模块在通过将该待处理特征图与尺度小于该待处理特征图的特征图进行融合,得到尺度与该待处理特征图对应的第二特征图时,具体用于:
对该待处理特征图进行残差特征提取,得到该待处理特征图对应的第三特征图;
确定该次第一操作之前的至少一次第一操作对应的特征图集合中、尺度与该待处理特征图对应的待处理第二特征图;
分别对各待处理第二特征图进行残差特征提取,得到各待处理第二特征图对应的第四特征图;
基于第三特征图、各第四特征图以及尺度小于该待处理特征图的特征图之间的关联性,确定分别对应于第三特征图、各第四特征图以及尺度小于该待处理特征图的特征图的权重;
基于第三特征图、各第四特征图以及尺度小于该待处理特征图的特征图分别对应的权重,对第三特征图、各第四特征图以及尺度小于该待处理特征图的特征图进行融合,得到尺度与该待处理特征图对应的第二特征图。
可选地,对于每个第一图像,该深度估计模型训练模块在将最后一次第一操作得到的第二特征图作为目标特征图时,具体用于:
对于至少两种尺度中每种尺度,将该尺度对应的最后一次第一操作之后得到的第二特征图确定为该尺度的目标特征图;
对于每个第一图像,深度估计模型训练模块在基于目标特征图,得到该第一图像的第一深度信息时,具体用于:
分别基于各尺度的目标特征图中的至少一个特征图中的每个特征图,得到第一深度信息。
根据本申请实施例的再一个方面,提供了一种深度信息确定方法,该方法包括:
获取待处理图像;
将待处理图像输入至训练好的深度估计模型,通过该模型得到待处理图像的深度信息;
其中,训练好的深度估计模型是通过上述方法对神经网络模型进行训练得到的。
根据本申请实施例的再一个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行计算机程序以实现上述方法的步骤。
根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
根据本申请实施例的再一个方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本申请实施例提供的技术方案带来的有益效果是:
在对深度估计模型进行训练的过程中,对于每个训练样本中的第一图像,先对该第一图像进行特征提取,得到该第一图像对应的至少两种尺度的第一特征图,即至少两种分辨率的第一特征图,通过对该第一图像对应的各第一特征图进行融合,得到该第一图像的目标特征图,可以保证目标特征图中可以包括多种分辨率的第一特征图中的信息,使得基于该目标特征图得到的第一深度信息,能够很好地表达第一图像中的深度信息。从而在基于各第一图像对应的第一深度信息和真实深度信息,确定神经网络模型对应的总训练损失,并基于多个训练样本对神经网络模型进行迭代训练,直至神经网络模型对应的总训练损失满足预设条件,得到训练好的深度估计模型,能够使得训练好的深度估计模型可以很好地提取输入图像(即,待处理图像)的深度信息。
进而,在通过该训练好的深度估计模型进行待处理图像的深度信息确定时,可以通过融合每次对待处理图像进行特征提取所得到的多分辨率特征,得到待处理图像的更准确的深度信息,避免在确定深度信息的过程中丢失图像的部分信息。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1示出了本申请实施例提供的深度估计模型的训练方法的流程图;
图2示出了本申请实施例提供的获取第一深度信息的示意图;
图3示出了本申请实施例提供的一获取第二特征图的示意图;
图4示出了本申请实施例提供的另一获取第二特征图的示意图;
图5示出了本申请实施例提供的初始深度估计模型的示意图;
图6示出了本申请实施例提供的神经网络模型的结构图;
图7示出了本申请实施例中初始姿态估计模型的示意图;
图8示出了本申请实施例适用的应用场景下基于数据集中的图像所得到的深度信息的示意图;
图9示出了本申请实施例提供的深度信息确定方法的流程图;
图10示出了本申请实施例提供的一种深度信息确定系统的示意图;
图11示出了本申请实施例适用的应用场景下的深度信息确定方法的信令交互图;
图12示出了本申请实施例适用的应用场景下的深度信息确定方法的示意图;
图13示出了本申请实施例提供的一种深度估计模型的训练装置的结构示意图;
图14示出了本申请实施例所适用的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面对本申请涉及的术语及相关技术进行说明:
自监督学习:是指模型从没有标签的数据中学习得到数据内部的共性规则或是潜在的知识。
编码器-解码器:编码器本身是一连串的卷积网络。该网络主要由卷积层、池化层和批归一化层(Batch Normalization,Batch Norm,BN)组成。卷积层负责获取图像局域特征,池化层对图像进行下采样并且将尺度不变特征传送到下一层,而BN主要对训练图像的分布归一化,加速学习。概括地说,编码器对图像的低级局域像素值进行归类与分析,从而获得高阶语义信息。解码器对缩小后的特征图像进行上采样,然后对上采样后的图像进行卷积处理,目的是完善物体的几何形状,弥补编码器当中池化层将物体缩小造成的细节损失。
单目深度估计:从单幅图像中获取每个像素的深度信息(相对于拍摄源的距离)。
单目深度估计模型:模型的输入是图片,输出为每个像素点对应的深度信息。对于人眼来说,由于存在大量的先验知识,所以可以从一只眼睛所获取的图像信息中提取出大量深度信息。那么单目深度估计模型不仅需要从二维图像中学会客观的深度信息,而且需要提取一些经验信息,后者则对于采集数据集的图像采集设备和数据集的采集场景会比较敏感。
KITTI数据集:目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。该数据及用于评测立体图像(stereo)、光流(optical flow)、视觉测距(visual odometry)和3D物体检测(3-dimension object detection等计算机视觉技术在车载环境下的性能。KITTI包含市区、乡村和高速公路等场景采集的真实图像数据,每张图像中最多达15辆车和30个行人,还有各种程度的遮挡与截断。
图像采集设备的内参矩阵:用于将通过图像采集设备采集到的图像的3D坐标变换到2D齐次图像坐标。
3D点云:点云是一个坐标系下点的数据集,包括坐标颜色、强度等多种信息。而3D点云,则是用点云表示三维世界的一种方法,可以想象成将三维物体进行原子化,用多个点来表示一种物体,通过3D点云进行3D建模,不仅建模速度快,而且精度高、细节更准确。
L1范式损失函数:也被称为最小绝对值误差,它是把目标值与绝对值的总和最小化。
SSIM损失函数:从亮度、对比度和结构三个维度比较两幅图像的相似性。
6-dof:dof(degree of freedom,自由度),6-dof即三个转动角度(欧拉角)以及上下、前后和左右3个维度的位置相关的信息。
FPN(Feature Pyramid Network,特征金字塔网络):最早在CVPR2017文章中提出,用于目标检测任务。主网络使用ResNet,顶层特征通过上采样和底层特征做融合,而且每层都是独立预测的,以此融合多尺度信息。
Attention技术:本质是从人类视觉注意力机制中获得灵感。人类视觉在感知东西的时候,一般不会是一个场景从头到尾并且全部都看,而往往是根据需求观察注意特定的一部分。而且当发现一个场景经常在某部分出现自己想观察的东西时,就会进行学习,在将来再出现类似场景时,把注意力放到该部分上。因此,Attention相当于对提取出的特征各个元素分配不同的权重系数作为重要性的依据,再依据权重系数融合特征。
由于相关技术中,在图像处理的过程中,是直接基于每次对图像进行特征提取得到的特征图进行图像信息恢复的,会导致图像的部分信息丢失,导致所得到的图像中的相关信息不能很好地表达图像本身的信息,不能满足实际需求,基于此,本申请实施例提供了一种深度估计模型的训练方法、装置、电子设备、计算机可读存储介质及计算机程序产品,通过融合对待处理图像进行特征提取所得到的多分辨率特征,可以得到待处理图像的更准确的深度信息,避免在确定深度信息的过程中丢失图像的部分信息。
本申请实施例提供的深度估计模型的训练方法的执行主体可以是深度估计模型的训练装置。该深度估计模型的训练装置可以是任一计算机设备,包括但不限于终端或服务器。该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。该终端(也可以称为用户终端或用户设备(User Equipment,UE))可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备(例如智能音箱)、可穿戴电子设备(例如智能手表)、车载终端、智能家电(例如智能电视)、AR(Augmented Reality,增强现实)/VR(Virtual Reality,虚拟现实)设备等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。该深度估计模型的训练方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
本申请实施例提供的深度估计模型的训练方法,可以基于人工智能(ArtificialIntelligence,AI)技术实现。比如,基于人工智能技术构建神经网络模型,并基于多个训练样本对构建好的神经网络模型进行训练,得到训练好的深度估计模型。AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
上述深度估计模型还可以是基于计算机视觉技术(Computer Vision,CV)的神经网络模型。其中,计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。
本申请实施例提供的深度估计模型的训练方法可以基于云技术(Cloudtechnology)实现,比如,在对深度估计模型进行训练的过程中所涉及的数据计算可以采用云计算(Cloud computing)方式。其中,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
根据本申请实施例提供的深度估计模型的训练方法训练得到的深度估计模型还可以在智能交通领域实现,应用于自动驾驶或交通应用中,例如,可以采用训练好的深度估计模型对行车拍摄设备中拍摄的车辆图像进行深度信息确定,以进一步确定的行车拍摄设备所属的车辆与车辆图像中的车辆之间的距离,对当前驾驶车辆的周围车辆进行避让等。当前,根据本申请实施例提供的深度估计模型的训练方法训练得到的深度估计模型还可以用于游戏领域中,例如,通过采用该深度估计模型对当前游戏场景中的图像进行深度信息确定,可以获取到其他游戏角色与当前游戏角色之间的距离,从而对其他游戏角色进行避让或者援救等。
可选的,本申请实施例提供的深度估计模型的训练方法还可以基于区块链技术实现。具体地,可以将在深度估计模型的训练过程中所用到的数据,例如多个训练样本、训练过程中每次第一操作所得到的第二特征图等,保存于区块链上。
需要说明的是,在本申请的可选实施例中,所涉及到的对象信息(例如,所获取的待处理图像中包括某一对象)等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得对象许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。也就是说,本申请实施例中如果涉及到与对象有关的数据,这些数据需要经由对象授权同意、且符合国家和地区的相关法律法规和标准的情况下获取的。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
图1示出了本申请实施例提供的深度估计模型的训练方法的流程图。如图1所示,该方法包括:
S10:获取多个训练样本,每个训练样本包括第一图像以及该第一图像的真实深度信息;
S20:基于多个训练样本对神经网络模型进行迭代训练,直至神经网络模型对应的总训练损失满足预设条件,神经网络模型包括初始深度估计模型,将满足预设条件的深度估计模型作为训练好的深度估计模型;其中,总训练损失是通过以下方式确定的:
对于每个第一图像,通过初始深度估计模型对该第一图像进行特征提取,得到该第一图像对应的至少两种尺度的第一特征图;通过对该第一图像对应的各第一特征图进行融合,得到该第一图像对应的目标特征图;基于目标特征图,得到该第一图像的第一深度信息;
基于各第一图像对应的第一深度信息和真实深度信息,确定总训练损失。
其中,训练好的深度估计模型可以是通过模型训练设备训练得到的,该模型训练设备可以是该深度估计模型的训练方法的执行主体,也可以是与当前执行主体不同的电子设备,如可以是云服务器。
通过该深度估计模型的训练方法,可以通过融合每次对第一图像进行特征提取所得到的多分辨率特征,得到每个第一图像的更准确的深度信息,避免在确定深度信息的过程中丢失第一图像的部分信息。进而使得在通过该训练好的深度估计模型进行待处理图像的深度信息确定时,可以精确的得到待处理图像的深度信息。
可选地,可以基于任一图像数据集,选取该图像数据集中的部分图像作为第一图像,基于所选取的第一图像以及各第一图像的深度信息生成多个训练样本。例如,该数据集可以为KITTI数据集,具体地可以为KITTI2015数据集。
本申请实施例对各第一图像的图像质量不做限制,二者可以相同,也可以不同。其中,可以通过一个或多个图像指标表征图像质量,本申请对此不做限制。具体地,图像指标可以包括但不限于分辨率、清晰度、图像尺度等。例如,第一图像的尺度可以为128*128,256*256等。应该理解的是,图像的尺度越高,对应的分辨率越高、清晰度越高。
当然,为了保证基于本申请实施例中的深度估计模型所得到的深度信息均为固定尺度的,在基于各训练样本对神经网络模型进行训练之前,还可以对各第一图像进行预处理,将各第一图像的大小调整为固定尺度。例如,可以将各第一图像的尺度调整为196*640。
初始深度估计模型是基于FPN实现的神经网络模型,具体结构可以为编码器-解码器结构,其中,编码器部分也即基础网络(backbone),可以基于ResNet(Residual NeuralNetwork,残差神经网络)实现,具体地,可以通过ResNet-18实现。解码器部分可以基于FPN实现。
在通过初始深度估计模型得到第一深度信息时,可以通过该初始深度估计模型的编码器部分对第一图像进行特征提取,得到该第一图像对应的至少两种尺度的第一特征图。通过该初始深度估计模型的解码器部分对该第一图像对应的各第一特征图进行融合,得到该第一图像对应的目标特征图,基于该目标特征图,得到第一深度信息。
在本申请实施例中,对于每个第一图像,可以先对该第一图像进行第一次特征提取,得到尺度与该第一图像相同的一个第一特征图,并基于该第一特征图进行特征提取,得到尺度为该第一图像的1/2的一个第一特征图,以此类推,得到该第一图像的至少两种尺度的第一特征图。
本申请实施例对所得到的各个第一特征图的尺度的具体种类数不做限制,可以根据经验值或实验值进行设置,也可以根据实际情况进行调整。以所得到的各个第一特征图的尺度的种类数为5为例,对于一个第一图像,在对该第一图像进行特征提取后,所得到的各第一特征图的尺度分别为:第一图像的尺度、第一图像的尺度的1/2、第一图像的尺度的1/4、第一图像的尺度的1/8、第一图像的尺度的1/16。
在该实现方式中,在对该第一图像对应的各第一特征图进行融合,得到该第一图像对应的目标特征图时,可以对各第一特征图中的任意个数个第一特征图进行融合,也可以按照各第一特征图从小到大的顺序以两个特征图为一组,依次对各第一特征图进行融合。例如,可以先对各第一特征图中,尺度最小的第一特征图和尺度第二小的第一特征图进行融合,再基于该融合结果与尺度第三小的第一特征图进行融合,以此类推,直至与尺度最大的第一特征图进行融合,得到该第一图像对应的目标特征图。
在对各第一特征图进行融合时,由于各第一特征图的尺度不一致,可以先对尺度较小的各第一特征图进行特征提取,例如上采样特征提取,使得处理后的各第一特征图的尺度均相同,再对处理后的各第一特征图进行融合。
在本申请实施例中,目标特征图即可以表征第一图像的所有信息的特征图,可以通过对该目标特征图做进一步的特征提取,以得到第一图像的具体的信息,本申请实施例对此不做限制。例如,可以对目标特征图做进一步的深度特征提取,以得到第一图像的深度信息。再例如,可以对目标特征图做进一步的姿态特征提取,以得到第一图像的姿态信息等。
对于一个图像,该图像的深度信息可以为该图像中各像素点对应的深度值所形成的矩阵。例如,在该图像是通过图像采集设备采集到的任一图像的情况下,该图像的深度信息可以为该图像中各像素点与图像采集设备之间的距离所形成的矩阵。
在基于目标特征图得到第一深度信息时,可以将目标特征图输入至可以进行进一步的深度特征提取的特定深度特征提取网络中,基于该特定深度特征提取网络,得到第一深度信息。具体地,图2示出了本申请实施例提供的获取第一深度信息的示意图。如图2所示,该特定的深度特征提取网络可以包括两个卷积核大小为3*3的卷积层以及一个softmax(归一化指数)层。其中,softmax层可以由sigmoid(一种激活函数)函数层组成。
可选地,可以基于L1范式损失函数(逆深度平滑损失函数)确定总训练损失:
其中,表示一个图像中各像素点的平均归一化逆深度信息,以防止对该图像进行预测得到的深度信息收缩,dt表示该图像中一个像素点的深度信息,/>表示该图像中所有像素点的深度信息的平均值。It表示第一图像。/>表示第一图像中各像素点在第一深度信息所在的维度中,对应的平均归一化逆深度信息的梯度值,/>表示第一图像中各像素点在真实深度信息所在的维度中,对应的平均归一化逆深度信息的梯度值。
若目标特征图的数量为1,则可以直接基于该目标特征图得到第一深度信息,并基于各第一图像对应的第一深度信息和真实深度信息,确定第一训练损失。若目标特征图的数量大于1,则对于每个第一图像,可以分别根据该第一图像对应的每个目标特征图,得到每个目标特征图对应的深度信息,将每个目标特征图对应的深度信息的平均值作为第一深度信息,并基于各第一图像对应的第一深度信息和真实深度信息,确定第一训练损失。也可以在得到一个第一图像的每个目标特征图对应的深度信息之后,根据该第一图像的每个目标特征图对应的第一深度信息和真实深度信息确定该第一图像的每个目标特征图对应的深度损失,确定该第一图像的每个目标特征图对应的深度损失的平均值,从而基于各第一图像对应的深度损失的平均值,确定第一训练损失。
预设条件可以包括但不限于该神经网络模型的损失函数收敛、总训练损失小于或等于预设值或者所得到的第一深度信息的准确度满足需求等。其中,本申请实施例对该预设值的具体取值不做限制,可以为经验值或实验值,也可以根据实际情况确定。
为了提高对每个第一图像对应的各第一特征图的融合效果,本申请实施例还提供了以下可选的实施方式:
可选地,通过对该第一图像对应的各第一特征图进行融合,得到该第一图像对应的目标特征图,包括:
将该第一图像对应的各第一特征图作为初始的特征图集合,执行设定次数的第一操作,将最后一次第一操作得到的第二特征图作为目标特征图;第一操作包括:
将特征图集合中除最小尺度的特征图之外的每个特征图分别作为待处理特征图,对于每个待处理特征图,通过将该待处理特征图与尺度小于该待处理特征图的特征图进行融合,得到尺度与该待处理特征图对应的第二特征图;将各待处理特征图对应的第二特征图作为下一次第一操作对应的特征图集合。
本申请实施例对执行第一操作的设定次数也不做限制,可以根据经验值或实验值进行设置,也可以根据实际情况进行调整。例如,设定次数为2。
可选地,在执行第一操作的过程中,可以根据该次第一操作对应的特征图集合中各特征图从小到大的顺序,依次对各特征图执行第一操作。
在每次执行第一操作时,对于该次第一操作对应的特征图集合中尺度最小的特征图,可以直接将该特征图作为该特征图对应的第二特征图,也可以对该特征图进行残差特征提取,得到该特征图对应的第二特征图。
对一个特征图进行残差特征提取,即对该特征图再次进行特征提取,将再次特征提取的得到的特征图与该特征图本身进行残差连接,其中,进行残差连接后的特征图即对该特征图进行残差特征提取所得到的特征图,对一个特征图进行残差特征提取所得到的特征图的尺度与该特征图的尺度相同。
可以按照一特征图集合中各特征图的尺度从小到大的顺序,依次对该特征图中的各特征图执行第一操作。对于每个待处理特征图,由于不需要对中尺度小于该待处理特征图的特征图进行处理,或者已经对尺度小于该待处理特征图的特征图执行了第一操作,可以直接将该待处理特征图与尺度小于该待处理特征图的特征图对应的第二特征图进行融合。
对于最后一次第一操作得到的第二特征图,可以为与尺度最大的第一特征图对应的最后一次第一操作得到的第二特征图,也可以为与每个尺度的第一特征图对应的最后一次第一操作得到的第二特征图。基于上述执行第一操作的过程,可以得知,无论是针对哪一尺度的第一特征图对应的最后一次第一操作得到的第二特征图,该第二特征图中都可以包括尺度小于或等于该第二特征图的各第一特征图以及各第二特征图中的相关信息,也即可以包括在各第一操作过程中尺度小于或等于与该第二特征图的各特征图中的信息,能够很好地表达第一图像的信息。
考虑到对于尺度最小的第一特征图以及与该第一特征图对应的第二特征图中所包含的第一图像的信息较少,尺度最小的第一特征图以及与该第一特征图对应的第二特征图的表达信息的能力较弱,在本申请实施例中,最后一次第一操作得到的第二特征图,还可以为除了尺度最小的第二特征图之外,与每个尺度的第一特征图对应的最后一次第一操作得到的第二特征图。
当然,在每次执行第一操作时,对于该次第一操作对应的特征图集合中的每个待处理特征图,在通过该待处理特征图与尺度小于该待处理特征图的特征图进行融合时,可以直接将该待处理特征图与尺度小于该待处理特征图的特征图进行融合,也可以先对该待处理特征图进行残差特征提取,再将残差特征提取后的待处理特征图与该次第一操作对应的特征图集合中尺度小于该待处理特征图的特征图进行融合。
可选地,对于一个待处理特征图,其所对应的尺度小于该待处理特征图的特征图,可以为尺度小于该待处理特征图、且尺度与该待处理特征图相邻的特征图,也可以为尺度小于该待处理特征图的至少两个特征图。
对于每个待处理特征图,由于待处理特征图的尺度与尺度小于该待处理特征图的特征图的尺度不一致,可以先对尺度小于该待处理特征图的特征图进行特征提取,例如上采样特征提取,使得处理后的特征图的尺度与该待处理特征图的尺度相同,再将该待处理特征图与该处理后的特征图进行融合,得到尺度与该待处理特征图相同的第二特征图。
由于在每次对每个待处理特征图进行第一操作的过程中,所得到的尺度较大的第二特征图中都可以包括该次第一操作之前的每次第一操作过程中,尺度小于或等于该待处理特征图的第二特征图中的信息,即每个待处理特征图中已经融合了分辨率小于或等于该待处理特征图的各特征图中的信息,为了减少计算量,本申请实施例还提供了以下可选的实施方式:
可选地,对于每个第一图像,将最后一次第一操作得到的第二特征图作为目标特征图,包括:
对于至少两种尺度中每种尺度,将该尺度对应的最后一次第一操作得到的第二特征图确定为该尺度的目标特征图;
对于每个第一图像,基于目标特征图,得到该第一图像的第一深度信息,包括:
基于各尺度的目标特征图中的至少一个特征图中的每个特征图,得到第一深度信息。
在该实现方式中,由于尺度较大的特征图中所包含的信息较多,在确定第一深度信息时,可以直接基于各尺度的目标特征图中尺度较大的目标特征图,得到第一深度信息。也可以先根据每个尺度的目标特征图,得到该尺度的目标特征图对应的深度信息,再将每个尺度的目标特征图对应的深度信息的平均值确定为第一深度信息,再基于各第一图像的第一深度信息和真实深度信息,确定第一训练损失。
通过上述方式,通过将每种尺度对应的最后一次第一操作得到的第二特征图确定为该尺度的目标特征图,可以在后续操作中,不必再获取当前尺度的第二特征图,可以在不影响所获取的特征图中的信息的情况下,减少计算量。
可选地,对于每个第一图像,第一操作还包括:
对于特征图集合中最小尺度的特征图,对该特征图进行残差特征提取,得到尺度与该特征图对应的第二特征图;
对于每个待处理特征图,通过将该待处理特征图与尺度小于该待处理特征图的特征图进行融合,得到尺度与该待处理特征图对应的第二特征图,可以包括:
对该待处理特征图进行残差特征提取,得到该待处理特征图对应的第三特征图,将该第三特征图与尺度小于该待处理特征图的待处理特征图进行拼接,得到该待处理特征图对应的第四特征图;对第四特征图进行特征提取,得到尺度与该待处理特征图对应的第二特征图。
在该实现方式中,通过在执行第一操作的过程中,先对特征图集合中每个特征图进行残差特征提取,再基于残差特征提取后的各尺度的特征图,作进一步处理得到该尺度的特征图对应的第二特征图,可以防止初始深度模型出现过拟合,导致数据资源的消耗等问题。
图3示出了本申请实施例提供的一获取第二特征图的示意图。以一个待处理特征图为例,图3所示,在对一个待处理特征图进行融合处理时,可以先对特征图集合中尺度小于该待处理特征图的特征图进行上采样特征提取,得到图3中右斜线区域所示的特征图,再对该待处理特征图进行残差特征提取,得到图3中空白区域所示的特征图,将上采样特征提取后的特征图与残差特征提取所得到的特征图进行拼接,并将拼接后的特征图输入至3*3卷积层,以根据该卷积层对拼接后的特征图进行下采样特征提取,得到当前的待处理特征图对应的第二特征图。
可选地,对于每个第一图像,设定次数为至少三次,对于第三次第一操作以及第三次之后的每次第一操作,通过将该待处理特征图与尺度小于该待处理特征图的特征图进行融合,得到尺度与该待处理特征图对应的第二特征图,还包括:
对该待处理特征图进行残差特征提取,得到该待处理特征图对应的第三特征图;
确定该次第一操作之前的至少一次第一操作对应的特征图集合中、尺度与该待处理特征图对应的待处理第二特征图;
分别对各待处理第二特征图进行残差特征提取,得到各待处理第二特征图对应的第四特征图;
基于第三特征图、各第四特征图以及尺度小于该待处理特征图的特征图之间的关联性,确定分别对应于第三特征图、各第四特征图以及尺度小于该待处理特征图的特征图的权重;
基于第三特征图、各第四特征图以及尺度小于该待处理特征图的特征图分别对应的权重,对第三特征图、各第四特征图以及尺度小于该待处理特征图的特征图进行融合,得到尺度与该待处理特征图对应的第二特征图。
在该实现方式中,尺度与该待处理特征图对应的待处理第二特征图的个数可以根据实际情况确定,各待处理第二特征图的个数越接近与该次第一操作之前的所有第一操作的次数,最后所得到的尺度与该待处理特征图对应的第二特征图的效果越好。
在得到待处理特征图对应的第三特征图、该待处理特征图对应的各第四特征图以及该待处理特征图与尺度小于该待处理特征图的特征图之后,可以基于attention技术实现的卷积层,确定该第三特征图、各第四特征图以及该待处理特征图与尺度小于该待处理特征图的待处理特征图分别对应的权重。
在确定分别对应于第三特征图、各第四特征图以及尺度小于该待处理特征图的特征图的权重之前,还可以先对尺度小于该待处理特征图的特征图进行上采样特征提取,使得上采样特征提取后的特征图与第三特征图、各第四特征图的尺度相同,从而基于第三特征图、各第四特征图以及上采样特征提取后的特征图,得到分别对应于第三特征图、各第四特征图以及上采样特征提取后的特征图的权重。上采样特征提取后的特征图对应的权重即尺度小于该待处理特征图的特征图对应的权重。
可选地,可以基于第三特征图、各第四特征图以及该待处理特征图与尺度小于该待处理特征图的待处理特征图分别对应的权重,对第三特征图、各第四特征图以及该待处理特征图与尺度小于该待处理特征图的待处理特征图进行加权,并拼接,实现对第三特征图、各第四特征图以及该待处理特征图与尺度小于该待处理特征图的待处理特征图的融合。在对第三特征图、各第四特征图以及该待处理特征图与尺度小于该待处理特征图的特征图进行融合之后,可以直接将该融合后的特征图确定为尺度与该待处理特征图对应的第二特征图。也可以将该融合后的特征输入至卷积核为1*1的卷积层中,得到尺度与该待处理特征图对应的第二特征图。
图4示出了本申请实施例提供的另一获取第二特征图的示意图。以一个待处理特征图为例,如图4所示,在该待处理特征图对应的第三特征图为1个(图4中右斜线填充的特征图)、第四特征图的个数为1个(图4中无填充的特征图)的情况下,可以通过将该第三特征图、各第四特征图以及该待处理特征图与尺度小于该待处理特征图的特征图上采样特征提取后的特征图(图4中点填充的特征图)输入至基于attention技术实现的卷积层(图4中Att卷积层)中,得到分别对应于该第三特征图、各第四特征图以及上采样特征提取后的特征图的权重,并基于第三特征图、各第四特征图以及上采样特征提取后的特征图分别对应的权重,对第三特征图、各第四特征图以及上采样特征提取后的特征图进行加权拼接,并将融合后的特征图输入至一个卷积核为1*1的卷积层,通过该卷积层就可以得到尺度与该待处理特征图对应的第二特征图。
通过上述方式,由于在每次第一操作过程中,每个待处理特征图对应的第二特征图都可以融合该待处理特征图以及在该次第一操作过程中、尺度小于该待处理特征图的特征图对应的第二特征图中的信息。所以,对于每次第一操作,通过将该待处理特征图与该第一操作之前的至少一次操作得到的第二特征图进行融合,得到尺度与该待处理特征图对应的第二特征图,可以使得该待处理特征图对应的第二特征图中可以融合该待处理特征图、该次第一操作过程中尺度小于该待处理特征图的特征图以及将该待处理特征图与该第一操作之前的至少一次操作得到的尺度与该待处理特征图相同的第二特征图中的信息,能够更好地表达第一图像中的信息。
由于在每次进行第一操作后得到的第二特征图,都可以包括在当前的第一操作过程中尺度小于或等于与该第二特征图的所有特征图中的信息,能够很好地表达第一图像的信息,而第一操作的被执行次数越多,所得到的第二特征图中所包括的信息越精确。在每次执行第一操作后,所得到的第二特征图的表达信息的能力与执行该次第一操作的网络层有关,为了针对性地对该初始深度估计模型的每部分都进行训练,本申请实施例还提供了以下可选的实施方式:
可选地,对于每个第一图像,设定次数为至少两次,该方法还可以包括:
对于第一次第一操作得到的各第二特征图中的至少一个特征图,分别基于至少一个特征图中的每个特征图,得到该特征图对应的第一图像的第二深度信息;
基于各第一图像对应的真实深度信息和各第二深度信息,确定第二训练损失;
基于各第一图像对应的第一深度信息和真实深度信息,确定总训练损失,包括:
基于各第一图像对应的第一深度信息和真实深度信息,确定第一训练损失;
基于第一训练损失和第二训练损失,得到总训练损失。
在该实现方式中,可以分别基于第一次第一操作得到的各第二特征图中的每个特征图,得到该特征图对应的第一图像的第二深度信息。
当然,考虑到对于尺度最小的第一特征图以及与该第一特征图对应的、第一次第一操作得到的第二特征图中所包含的第一图像的信息较少,尺度最小的第一特征图以及与该第一特征图对应的、第一次第一操作得到的第二特征图的表达信息的能力较弱。在本申请实施例中,还可以分别基于第一次第一操作得到的各第二特征图中、除了尺度最小的第二特征图之外的每个特征图,得到该特征图对应的第一图像的第二深度信息。
在确定出各第一图像对应的各第二深度信息之后,可以参照前文所描述的基于L1范式损失函数确定总训练损失的方式,基于各第一图像对应的第一深度信息和真实深度信息,确定第一训练损失,以及,基于各第一图像对应的真实深度信息和各第二深度信息,确定第二训练损失。
可以直接将第一训练损失和第二训练损失的和作为总训练损失,也可以预先设置分别针对第一训练损失和第二训练损失的权重值,根据分别针对第一训练损失和第二训练损失的权重值,对第一训练损失和第二训练损失进行加权求和,得到总训练损失。其中,针对第一训练损失的权重值和针对第二训练损失的权重值可以相同,也可以不同,本申请实施例对此不做限制。例如,可以设置第一训练损失的权重值和第二训练损失的权重值均为10-3。
图5示出了本申请实施例提供的初始深度估计模型的示意图。在图5中,各个方框表示该初始深度估计模型中的一个网络模块,实线表示进行下采样特征提取,虚线表示进行残差特征提取,点划线表示进行上采样特征提取,间隔画线表示输入。如图5所示,通过将第一图像输入至初始深度估计模型中,可以依次通过网络模块F00、F10、F20、F30和F40对第一图像进行特征提取,得到分别对应于第一尺度(尺度与第一图像相同)、第二尺度(第一图像尺度的1/2)、第三尺度(第一图像尺度的1/4)、第四尺度(第一图像尺度的1/8)和第五尺度(第一图像尺度的1/16)共五种尺度的第一特征图。在得到第一特征图之后,可以将各第一特征图作为待处理特征图,共进行了五次第一操作,具体地,可以通过网络模块F01、F11、F21、F31和F41实现第一次第一操作,可以通过网络模块F02、F12和F22实现第二次第一操作,可以通过网络模块F03和F13实现第三次第一操作,可以通过网络模块F04实现第四次第一操作,可以通过网络模块F05、F15、F25、F35和F45实现第五次第一操作。考虑到最小尺度(尺度为第一图像尺度的1/16)的特征图所包括的信息量较少,如图5所示,在提取第一深度信息时,不直接基于最后一次第一操作得到的最小尺度的第二特征图进行处理,在提取第二深度信息时,不直接基于第一次第一操作得到的最小尺度的第二特征图进行处理。即分别将最后一次第一操作得到的第二特征图(即通过网络模块F05、F15、F25和F35输出的特征图)作为目标特征图,通过特定深度特征提取网络模块分别对各目标特征图进行特征提取,得到四个第一深度信息。分别通过特定深度特征提取网络模块分别对第一次第一操作得到的各第二特征图(即通过网络模块F01、F11、F21和F31输出的特征图)进行特征提取,得到四个第二深度信息。
应该说明的是,在图5所示的初始深度估计模型中,可以仅包含一个特定深度特征提取网络,通过将网络模块F05、F15、F25、F35、F01、F11、F21和F31与该特定深度特征提取网络进行级联,即可实现上述确定第一深度信息和第二深度信息的过程。
其中,通过网络模块F01、F11、F21、F31和F41实现第一次第一操作的具体过程如下:
通过网络模块F41对第五尺度的第一特征图进行残差特征提取,得到与第五尺度的第一特征图对应的第二特征图。通过网络模块F31对第四尺度的第一特征图进行残差特征提取,对尺度为第五尺度的第二特征图进行上采样特征提取,将残差特征提取后的特征图与上采样特征提取后的特征图进行拼接,通过图3所示的3*3卷积层对拼接后的特征图进行下采样特征提取,得到尺度为第四尺度的第二特征图。以此类推,依次通过网络模块F21,得到尺度为第三尺度的第二特征图;通过网络模块F11,得到尺度为第二尺度的第二特征图;通过网络模块F01,得到尺度为第一尺度的第二特征图。
将第一次第一操作后得到的各第二特征图作为新的待处理特征图,通过网络模块F02、F12和F22实现第二次第一操作的具体过程具体如下:
通过网络模块F22对第一次第一操作后得到的第三尺度的第二特征图进行残差特征提取,对第一次第一操作后得到的第四尺度的第二特征图进行上采样特征提取,如图3所示,将残差特征提取后的特征图与上采样特征提取后的特征图进行拼接,将拼接后的特征图通过卷积核为3*3的卷积层进行下采样特征提取,得到第二次第一操作后得到的尺度为第三尺度的第二特征图。以此类推,依次通过网络模块F12,得到第二次第一操作后得到的尺度为第二尺度的第二特征图;通过网络模块F02,得到第二次第一操作后得到的尺度为第一尺度的第二特征图。
将第二次第一操作后得到的各第二特征图作为新的待处理特征图,通过网络模块F03和F13实现第三次第一操作的具体过程具体如下:
通过网络模块F13分别对第一次第一操作后以及第二次第一操作后得到的第二尺度的第二特征图进行残差特征提取,对第二次第一操作后得到的第三尺度的第二特征图进行上采样特征提取,如图4所示,将各残差特征提取后的特征图与上采样特征提取后的特征图输入基于attention技术实现的卷积层中,得到分别对应于各残差特征提取后的特征图和上采样特征提取后的特征图的权重值,基于所得到的权重值,对各残差特征提取后的特征图和上采样特征提取后的特征图进行加权拼接,对加权拼接后的特征图输入至卷积核为1*1的卷积层中,得到第三次第一操作后得到的尺度为第二尺度的第二特征图。以此类推,依次通过网络模块F03,得到第三次第一操作后得到的尺度为第一尺度的第二特征图。
将第三次第一操作后得到的各第二特征图作为新的待处理特征图,通过网络模块F04实现第四次第一操作的具体过程具体如下:
通过网络模块F04分别对第一次第一操作后、第二次第一操作后以及第三次第一操作后得到的第一尺度的第二特征图进行残差特征提取,对第三次第一操作后得到的第二尺度的第二特征图进行上采样特征提取,如图4所示,基于各残差特征提取后的特征图和上采样特征提取后的特征图的权重值,对各残差特征提取后的特征图和上采样特征提取后的特征图进行加权拼接,对加权拼接后的特征图输入至卷积核为1*1的卷积层中,得到第四次第一操作后得到的尺度为第一尺度的第二特征图。
将对应于每次第一操作中,尺度最小的第二特征图作为待处理特征图,通过网络模块F05、F15、F25、F35和F45实现第五次第一操作的具体过程如下:
通过网络模块F45对第一次第一操作后得到的第五尺度的第二特征图进行残差特征提取,得到第五次第一操作后得到的尺度为第五尺度的第二特征图。通过网络模块F35对第一次第一操作后得到的第四尺度的第二特征图进行残差特征提取,对网络模块F45输出的尺度为第五尺度的第二特征图进行上采样特征提取,将残差特征提取后的特征图与上采样特征提取后的特征图进行拼接,将拼接后的特征图通过图3所示的卷积核为3*3的卷积层进行下采样特征提取,得到第五次第一操作后得到的尺度为第四尺度的第二特征图。通过网络模块F25分别对第一次第一操作后以及第二次第一操作后得到的第三尺度的第二特征图进行残差特征提取,对网络模块F35输出的尺度为第四尺度的第二特征图进行上采样特征提取,如图4所示,基于各残差特征提取后的特征图与上采样特征提取后的特征图的权重值,对各残差特征提取后的特征图和上采样特征提取后的特征图进行加权拼接,对加权拼接后的特征图输入至卷积核为1*1的卷积层中,得到第五次第一操作后得到的尺度为第三尺度的第二特征图。通过网络模块F15分别对第一次第一操作后、第二次第一操作后以及第三次第一操作后得到的第二尺度的第二特征图进行残差特征提取,对网络模块F25输出的尺度为第三尺度的第二特征图进行上采样特征提取,如图4所示,基于各残差特征提取后的特征图和上采样特征提取后的特征图的权重值,对各残差特征提取后的特征图和上采样特征提取后的特征图进行加权拼接,对加权拼接后的特征图输入至卷积核为1*1的卷积层中,得到第五次第一操作后得到的尺度为第二尺度的第二特征图。通过网络模块F05分别对第一次第一操作后、第二次第一操作后、第三次第一操作后以及第四次第一操作后得到的第一尺度的第二特征图进行残差特征提取,对网络模块F15输出的尺度为第二尺度的第二特征图进行上采样特征提取,如图4所示,基于各残差特征提取后的特征图和上采样特征提取后的特征图的权重值,对各残差特征提取后的特征图和上采样特征提取后的特征图进行加权拼接,对加权拼接后的特征图输入至卷积核为1*1的卷积层中,得到第五次第一操作后得到的尺度为第一尺度的第二特征图。
在图像处理领域,通过对原始图像进行特征提取,得到该原始图像的深度信息和姿态信息,并基于所得到的深度信息和姿态信息进行图像重建,以根据重建后的图像和原始图像的差异,进一步衡量用于提取深度信息和姿态信息的神经网络的特征提取能力。鉴于此,本申请实施例还提供了以下可选的实现方式:
图6示出了本申请实施例提供的神经网络模型的结构图。如图6所示,神经网络模型包括初始深度估计模型和初始姿态估计模型。在对该神经网络模型进行训练的过程中:可以将第一图像输入至初始深度估计模型中,通过该初始深度估计模型,得到该第一图像对应的第一深度信息。将第一图像和对应的第二图像输入至初始姿态估计模型中,通过该初始姿态估计模型,得到该第一图像对应的姿态信息。基于第一深度信息和姿态信息进行图像重构,得到第一图像的重构图像。前文已经对该初始深度估计模型进行了具体说明,以下将结合具体实施例对该初始姿态估计模型进行说明:
可选地,每个训练样本还可以包括与该训练样本中的第一图像在时序上连续的一个第二图像,神经网络模型还可以包括初始姿态估计模型,在对神经网络模型进行训练的过程中,该方法还可以包括:
对于每个第一图像,将该第一图像和对应的第二图像输入至初始姿态估计模型中,得到该第一图像的姿态信息;
对于每个第一图像,基于该第一图像的姿态信息和第一深度信息进行图像重构,得到第一图像对应的重构图像;
基于各第一图像以及对应的重构图像之间的第一差异,确定第三训练损失;
基于各第一图像对应的第一深度信息和真实深度信息,确定总训练损失,可以包括:
基于各第一图像对应的第一深度信息和真实深度信息,确定第一训练损失;
基于第一训练损失和第三训练损失,确定总训练损失。
第二图像可以为该第一图像的前一帧图像或者该第一图像的后一帧图像,本申请对此不做限制。即,假设当前时刻为t,第一图像为当前时刻所采集的图像It,则对应的第二图像可以为当前时刻的前一时刻所采集的图像It-1或当前时刻的后一时刻所采集的图像It+1,无论是第二图像为第一图像的前一帧图像还是该第一图像的后一帧图像,以下用It′表示第二图像,即It′∈{It-1,It+1}。
当然,第一图像和第二图像还可以为一段视频中相邻的两帧图像,其中,第一图像It位于该视频中的第t帧,对应地,第二图像It′为该视频的第t+1帧或第t-1帧。
在该实现方式中,初始姿态估计模型可以是已训练好的姿态估计模型,也可以是待训练的姿态估计模型,本申请实施例对此不做限制。可选地,初始姿态估计模型可以基于ResNet网络实现的。
通过将第一图像和第二图像输入至该初始姿态估计模型中,可以使得该姿态估计模型的卷积通道从3变为6,基于第一图像和第二图像之间的时序关系,可以确定出第一图像和第二图像之间的相对姿势,即第一图像的姿态信息,该姿态信息可以通过6-dof向量参数表现,即包括第一图像和第二图像之间的欧拉角,以及第一图像和第二图像之间上下、前后和左右3个维度的位置相关的信息。
图7示出了本申请实施例中初始姿态估计模型的示意图。如图7所示,通过将第一图像It和对应的第二图像It′输入至初始姿态估计模型之后,通过该初始姿态估计模型对第一图像It和对应的第二图像It′进行特征提取,可以得到第一图像对应的姿态参数Tt→t′。
在得到第一图像的姿态信息Tt→t′和第一图像的第一深度信息Dt之后,进行图像重构,得到第一图像对应的重构图像。具体地,假设用于采集第一图像和第二图像的图像采集设备的内参矩阵为K,图像重构的过程可以为:
将第一深度信息Dt转换为3D点云,参照第一图像的姿态信息Tt→t′,也即从第二图像至第一图像的映射关系,将3D点云转换到第二图像It′对应的2D坐标系,使用图像采集设备的内参矩阵为K将转换之后的3D点云转换为2D点云,所得到的2D点云用作从第一图像进行双线性差值的采样网格,通过对该采样网格进行双线性差值,得到第一图像对应的重构图像。所得到的第一图像对应的重构图像可以表示为:
It′→t=It′<proj(Dt,Tt→t′,K)>
其中,proj()表示第一深度信息Dt在第二图像It′对应的2D坐标系的结果。<>代表的是采样操作。It′→t表示第一图像对应的重构图像。为了简化标注,可以将用于采集所有第一图像和对应的第二图像的图像采集设备的内参矩阵K都视为是相等的。
可选地,可以基于L1范式损失函数确定总训练损失的方式,基于各第一图像对应的第一深度信息和真实深度信息,确定第一训练损失。可以基于第一图像和对应的重构图像之间的相似度(也即,第一差异)确定第三训练损失,具体地,可以通过以下方式确定第三训练损失:
其中,pe表示光学重建损失,比如像素空间的L1距离,通过确定光学重建损失,利用光学重建损失训练对应的模型,可以减少第一图像和第一图像对应的重构图像之间的差异。Lp表示第一图像中各像素点对应的光学重建损失的最小值。
具体地,pe(Ia,Ib)可以通过使用L1和SSIM损失函数实现:
其中,α可以为经验值或实验值,也可以根据实际情况确定,例如,可以设置α=0.85。Ia表示待重构的图像,Ib表示对待重构的图像进行重构后得到的重构图像。在本申请实施例中,It即Ia,It′→t即Ib。
在基于第一训练损失和第三训练损失,确定总训练损失时,可以直接将第一训练损失和第三训练损失的和确定为总训练损失,也可以基于分别对应于第一训练损失和第三训练损失的权重值,对第一训练损失和第三训练损失进行加权求和,得到总训练损失。
当前,还可以基于第一训练损失、第二训练损失和第三训练损失,确定总训练损失。其中,可以直接将第一训练损失、第二训练损失和第三训练损失的和确定为总训练损失,也可以基于分别对应于第一训练损失、第二训练损失和第三训练损失的权重值,对第一训练损失、第二训练损失和第三训练损失进行加权求和,得到总训练损失。
在基于分别对应于第一训练损失、第二训练损失和第三训练损失的权重值,对第一训练损失、第二训练损失和第三训练损失进行加权求和,得到总训练损失时,所确定的总训练损失可以为:
其中,Lp表示第三训练损失,表示第一训练损失,/>表示第二训练损失,μ表示第三训练损失的权重值,γ表示第一训练损失的权重值,β表示第二训练损失的权重值。
通过上述方式,通过在融合了不同分辨率的特征图之后,得到较高分辨率特征图,基于所得到的较高分辨率特征图,得到第一深度信息,对该第一深度信息做更进一步的处理,基于该第一深度信息与初始姿态估计模型所得到的姿态信息进行图像重构,得到第一图像对应的较高分辨率的重构图像,并基于各第一图像以及对应的重构图像之间的差异,确定第三训练损失,结合进一步处理所得到的第三训练损失与第一训练损失确定总训练损失,可以在根据该总训练损失对神经网络模型进行训练的过程中,结合更深层级的训练损失对神经网络模型进行训练,进而使得所得到的训练好的深度估计模型的性能更优,鲁棒性更强,更能满足实际需求。
考虑到在前文所描述的进行图像重构的过程中,是假设用于采集所有第一图像和对应的第二图像的图像采集设备的内参矩阵K都是相等的,即图像采集设备是在静态场景中移动的,基于此,所确定的第三训练损失可能会存在误差。尤其是在第一图像中的目标对象正在以与图像采集设备相似的速度移动的情况下,或者在第一图像中除目标对象之外的其他非目标对象正在移动时,图像采集设备已停止移动,即其他非目标对象在图像采集设备所在的坐标系中是静止的情况下,会导致相对于图像采集设备所在的坐标系是静止的对象有无穷大的深度,会影响对初始深度估计模型的训练过程。有鉴于此,本申请实施例还提供了以下用于过滤第一图像中与图像采集设备做相对静止运动的各像素的深度信息的实施方式:
可选地,该方法还可以包括:
对于一个第一图像,确定该第一图像和对应的第二图像之间的第二差异;
基于各第一图像对应的第一差异和第二差异之间的大小关系,确定第三训练损失的权重值;
基于第一训练损失和第三训练损失,确定总训练损失,可以包括:
基于第三训练损失的权重值,对第一训练损失和第三训练损失进行加权求和,得到总训练损失。
在该实现方式中,可以参照前文基于各第一图像以及对应的重构图像之间的第一差异的方式,确定出各第一图像和对应的第二图像之间的第二差异。所确定的第二差异Lp′可以为:
可选地,若各第一图像对应的第一差异小于对应的第二差异,确定第三训练损失的权重值为1,即存在第三训练损失,或不可以忽略第三训练损失;若各第一图像对应的第一差异大于或等于对应的第二差异,确定第三训练损失的权重值为0,即不存在第三训练损失,或可以忽略第三训练损失,或所确定的第三训练损失精确度过低。具体地,可以采用以下方式表示第三训练损失的权重值μ:
其中,[]表示艾弗森括号,即满足括号内的条件,表示为1,不满足括号内的条件,表示为0。
通过上述方法,可以防止图像采集设备与所采集的第一图像中的对象以相似的速度移动,过滤掉第一图像中与图像采集设备做相对静止运动的各像素点的深度信息,实现当图像采集设备处于静止状态时,可以将第一图像中的所有像素点都掩盖(在实际实施场景中很少出现)。当第一图像中的对象以与图像采集设备相同的速度移动时,可以将第一图像中以与图像采集设备相同的速度移动的对象所对应的像素点掩盖。进而使得所确定的第三训练损失、总训练损失更能反映神经网络模型的不稳定的模型参数。
以从KITTI2015数据集中获取多个训练样本为例,在本申请实施例中,还可以采用Eigen(一种文件库)划分方式,将多个训练样本划分成训练集和测试集。以获取的训练样本的数量为100k为例,训练集和测试集的比例可以为3:7。通过基于训练集和测试集对初始神经网络模型进行训练,可以使得训练好的深度估计模型的精确度更好,泛化能力更强,具有较高的覆盖率和精准率。
对于训练集中的每个第一图像,可以使用相同的图像采集设备的内参矩阵。对于训练集中的所有第一图像,将图像采集设备的主点设置为第一图像的中心和焦点的平均值。并将所有的第一图像都缩放为固定尺度,例如,各第一图像的尺度可以为196*640。
在对神经网络模型进行训练时,可以先对初始深度估计网络进行训练,例如,对初始深度估计模型进行训练的训练周期可以为20(即对基于所有的第一图像训练20次),批量为12(即单次训练的第一图像为12个),初始深度估计模型的学习率为10-3,经过大量数据表明,在15个训练周期之后,可以将初始深度估计模型的学习率衰减为10-4。
先完成对初始深度估计模型的训练之后,对初始姿态估计模型进行训练,例如,对初始姿态估计模型进行训练的训练周期可以为20,批量为12,初始姿态估计模型的学习率为10-3,经过大量数据表明,在15个训练周期之后,可以将初始姿态估计模型的学习率衰减为10-4。
在完成对初始深度估计网络的训练以及对初始姿态估计模型的训练之后,可以结合当前的深度估计模型输出的第一深度信息和当前的姿态估计模型输出的姿态信息,对当前的深度估计网络以及当前的姿态估计模型进行联合训练(也即对当前的神经网络模型进行训练),对当前的神经网络模型进行训练的训练周期可以为10,批量为12,直至当前的神经网络模型的学习率衰减为10-4。
其中,在对初始姿态估计模型进行训练的过程中,可以冻结初始深度估计模型的模型参数。可选地,可以通过将初始深度估计模型中各网络模块的学习率置零,使得初始深度估计模型的权重置0或保持固定等方式冻结初始深度估计模型的模型参数。
需要注意的是,对初始深度估计网络的训练周期应该大于或等于对当前的神经网络模型的训练周期,以及对初始姿态估计模型的训练周期也应该大于或等于对当前的神经网络模型的训练周期。
为了进一步验证本申请实时例所提供的深度估计模型的训练方法的有效性,本申请实施例还根据基于根据训练集训练得到的深度估计模型,对测试集中的各第一图像进行了深度预测,得到了各第一图像对应的预测深度信息。图8示出了本申请实施例适用的应用场景下基于数据集中的图像所得到的深度信息的示意图。如图8所示,基于本申请实施例所提供的训练好的深度估计模型,通过融合每个图像的不同分辨率的特征,可以使得每个图像对应的深度信息中的各对象的轮廓更加清晰,实现更有效地提取各图像的深度信息。
在本申请实施例中还进一步确定了各第一图像对应的预测深度信息和真实深度信息的相似性,以验证基于训练集训练得到的深度估计模型的性能。应该理解的是,该深度估计模型的性能越好,基于该深度估计模型的训练方法确定出的待处理图像的深度信息也越精确,该深度估计模型的训练方法有效性越好。
考虑到可以基于包括但不限于绝对相对误差(abs_rel),平方相对误差(sq_rel),均方根误差(rmse),对数均方根误差(rmse_log),精确度(a1,a2,a3)等多个指标评估各第一图像对应的预测深度信息和真实深度信息的相似性,本申请实施例以这几个指标为例确定各第一图像对应的预测深度信息和真实深度信息的相似性。其中,abs_rel,sq_rel,rmse和rmse_log可以根据以下公式进行确定:
/>
精确度a1,a2和a3的确定方式均为:
其中N是像素总数,Di是第i个像素的估计深度值,是第i个像素对应的真实深度值。T是阈值,a1,a2和a3对应的三种阈值分别为1.25(a1),1.252(a2),1.253(a3)。
通过确定本申请实施例中深度估计模型对应的各项指标之后,还对该深度估计模型与相关技术中的深度估计模型对应的各项指标进行了对比,对比结果如下:
模型 | abs_rel | sq_rel | rmse | rmse_log | a1 | a2 | a3 |
相关技术 | 0.115 | 0.903 | 4.863 | 0.193 | 0.877 | 0.959 | 0.981 |
本申请 | 0.105 | 0.770 | 4.625 | 0.185 | 0.889 | 0.962 | 0.982 |
考虑到abs_rel,sq_rel,rmse和rmse_log对应的测试结果为值最小,模型效果越好。a1,a2和a3对应的测试结果为值越大,模型效果越好。通过上表可以得知,相比于相关技术中的深度估计模型,本申请实施例所提供的深度估计模型的性能有较大的提升。对应地,本申请实施例所提供的深度估计模型的训练方法的有效性也更好,基于该深度估计模型的训练方法确定出的待处理图像的深度信息也更精确,也可以更好地满足实用需求。
本申请实施例还提供了一种深度信息确定方法。图9示出了本申请实施例提供的深度信息确定方法的流程图。如图9所示,该方法包括步骤S110至步骤S120。
S110:获取待处理图像。
S120:将待处理图像输入至训练好的深度估计模型,通过该模型得到待处理图像的深度信息。
其中,训练好的深度估计模型是通过以上方式对神经网络模型进行训练得到的。
在该实现方式中,待处理图像可以为任一图像,本申请对此不做限制。例如,该待处理图像可以是通过图像采集设备采集到的任一图像,也可以是通过在某一图像数据中获取的任一图像。
应该理解的是,在获取到训练好的深度估计模型之后,可以直接将基于待处理图像所得到的,与尺度最大的第一特征图对应的最后一次第一操作得到的第二特征图作为目标特征图,获取该待处理图像对应的深度信息,而不必获取其他尺度的目标特征图的深度信息。
如前文所记载的,由于训练好的深度估计模型,可以很好地提取输入图像(即,待处理图像)的深度信息。进而,在通过该训练好的深度估计模型进行待处理图像的深度信息确定时,可以通过融合每次对待处理图像进行特征提取所得到的多分辨率特征,得到待处理图像的更准确的深度信息,避免在确定深度信息的过程中丢失图像的部分信息。
为便于理解本申请实施例提供的深度信息确定方法的应用价值,下面结合一个具体应用场景实施例进行说明。
图10示出了本申请实施例提供的一种深度信息确定系统的示意图,如图10所示,该系统包括终端设备81、网络82、应用服务器83以及模型训练服务器84,终端设备81通过网络82与应用服务器83进行通信,应用服务器83和模型训练服务器84之间可以实现通信交互,例如,应用服务器83可以接收到模型训练服务器84发送的训练好的图像重建模型。其中,该终端设备81可以为手机、iPad、电脑、车载终端等。可选地,终端设备81中可以安装图像采集设备,以采集待处理图像。当前终端设备81还可以与其他外接的图像采集设备进行连接,通过接收图像采集设备采集与该终端设备81对应的待处理图像。
其中,模型训练服务器84可以用于基于多个训练样本对神经网络模型进行训练,得到训练好的深度估计模型。并将训练好的深度估计模型发送至应用服务器83中,以使得应用服务器83对该训练好的深度估计模型进行部署。该应用服务器83可以用于基于所部署的训练好的深度估计模型,执行本申请实施例所提供的深度信息确定方法。
本申请实施例提供的深度信息确定系统可以应用于自动驾驶过程中,下面结合图10所示的深度信息确定系统,对该应用场景下的深度信息确定方法的流程进行说明。在该深度信息确定方法中,上述深度信息确定系统中的应用服务器83可以为车载服务器,上述深度信息确定系统中的终端设备81可以为自动驾驶车辆的车载终端。图11示出了本申请实施例适用的应用场景下的深度信息确定方法的信令交互图。图12示出了本申请实施例适用的应用场景下的深度信息确定方法的示意图。如图11所示,该方法可以包括如下步骤S11至步骤S13。
步骤S11:获取多个训练样本,每个训练样本中包括第一图像、第一图像对应的第二图像以及第一图像对应的真实深度信息。并将所获取的多个训练样本输入至模型训练服务器84中。
步骤S12:基于多个训练样本,通过模型训练服务器84对神经网络模型进行训练,得到训练好的深度估计模型,并将训练好的深度估计模型发送至车载服务器83。
步骤S13:基于车载终端81的图像采集设备获取与当前自动驾驶车辆靠近的车辆图像,并将该车辆图像发送至车载服务器83。
步骤S14:车载服务器83基于上述训练好的深度估计模型,确定车辆图像中的深度信息(即图12所示的获取深度信息的过程),得到该自动驾驶车辆与周围车辆的实际距离,并将该实际距离与预设安全距离之间的大小关系发送至车载终端81。
步骤S15:若实际距离大于或等于预设安全距离,车载终端81控制自动驾驶车辆按照原始驾驶路线继续行驶;
若实际距离小于预设安全距离,车载终端81控制自动驾驶车辆向远离车辆图像中的车辆方向移动。
基于与本申请实施例提供的深度估计模型的训练方法相同的原理,本申请实施例中还提供了一种深度估计模型的训练装置,图13示出了本申请实施例提供的一种深度估计模型的训练装置的结构示意图,该装置10可以包括:训练样本获取模块101和深度估计模型训练模块102,其中,
训练样本获取模块101,用于获取多个训练样本,每个训练样本包括第一图像以及该第一图像的真实深度信息;
深度估计模型训练模块102,用于基于多个训练样本对神经网络模型进行迭代训练,直至神经网络模型对应的总训练损失满足预设条件,神经网络模型包括初始深度估计模型,将满足预设条件的深度估计模型作为训练好的深度估计模型;其中,总训练损失是通过以下方式确定的:
对于每个第一图像,通过初始深度估计模型对该第一图像进行特征提取,得到该第一图像对应的至少两种尺度的第一特征图;通过对该第一图像对应的各第一特征图进行融合,得到该第一图像对应的目标特征图;基于目标特征图,得到第一深度信息;
基于各第一图像对应的第一深度信息和真实深度信息,确定总训练损失。
可选地,深度估计模型训练模块102在通过对该第一图像对应的各第一特征图进行融合,得到该第一图像对应的目标特征图时,具体用于:
将该第一图像对应的各第一特征图作为初始的特征图集合,执行设定次数的第一操作,将最后一次第一操作得到的第二特征图作为目标特征图;
深度估计模型训练模块102在执行第一操作时,具体用于:
将特征图集合中除最小尺度的特征图之外的每个特征图分别作为待处理特征图,对于每个待处理特征图,通过将该待处理特征图与尺度小于该待处理特征图的特征图进行融合,得到尺度与该待处理特征图对应的第二特征图;将各待处理特征图对应的第二特征图作为下一次第一操作对应的特征图集合。
可选地,对于每个第一图像,设定次数为至少两次,深度估计模型训练模块102还用于:
对于第一次第一操作得到的各第二特征图中的至少一个特征图,分别基于至少一个特征图中的每个特征图,得到该特征图对应的第一图像的第二深度信息;
基于各第一图像对应的真实深度信息和各第二深度信息,确定第二训练损失;
深度估计模型训练模块102在基于各第一图像对应的第一深度信息和真实深度信息,确定总训练损失时,具体用于:
基于各第一图像对应的第一深度信息和真实深度信息,确定第一训练损失;
基于第一训练损失和第二训练损失,得到总训练损失。
可选地,每个训练样本还可以包括与该训练样本中的第一图像在时序上连续的一个第二图像,神经网络模型还可以包括初始姿态估计模型,深度估计模型训练模块102在对神经网络模型进行训练的过程中,还用于:
对于每个第一图像,将该第一图像和对应的第二图像输入至初始姿态估计模型中,得到该第一图像的姿态信息;
对于每个第一图像,基于该第一图像的姿态信息和第一深度信息进行图像重构,得到第一图像对应的重构图像;
基于各第一图像以及对应的重构图像之间的第一差异,确定第三训练损失;
深度估计模型训练模块102在基于各第一图像对应的第一深度信息和真实深度信息,确定总训练损失时,具体用于:
基于各第一图像对应的第一深度信息和真实深度信息,确定第一训练损失;
基于第一训练损失和第三训练损失,确定总训练损失。
可选地,深度估计模型训练模块102还用于:
对于一个第一图像,确定该第一图像和对应的第二图像之间的第二差异;
基于各第一图像对应的第一差异和第二差异之间的大小关系,确定第三训练损失的权重值;
深度估计模型训练模块102在基于第一训练损失和第三训练损失,确定总训练损失时,具体用于:
基于第三训练损失的权重值,对第一训练损失和第三训练损失进行加权求和,得到总训练损失。
可选地,对于每个第一图像,深度估计模型训练模块102在执行第一操作时,还用于:
对于特征图集合中最小尺度的特征图,对该特征图进行残差特征提取,得到尺度与该特征图对应的第二特征图;
对于每个待处理特征图,深度估计模型训练模块102在通过将该待处理特征图与尺度小于该待处理特征图的待处理特征图进行融合,得到尺度与该待处理特征图对应的第二特征图时,具体用于:
对该待处理特征图进行残差特征提取,得到该待处理特征图对应的第三特征图,将该第三特征图与尺度小于该待处理特征图的待处理特征图进行拼接,得到该待处理特征图对应的第四特征图;对第四特征图进行特征提取,得到尺度与该待处理特征图对应的第二特征图。
可选地,对于每个第一图像,设定次数为至少三次,对于第三次第一操作以及第三次之后的每次第一操作,深度估计模型训练模块102在通过将该待处理特征图与尺度小于该待处理特征图的特征图进行融合,得到尺度与该待处理特征图对应的第二特征图时,具体用于:
对该待处理特征图进行残差特征提取,得到该待处理特征图对应的第三特征图;
确定该次第一操作之前的至少一次第一操作对应的特征图集合中、尺度与该待处理特征图对应的待处理第二特征图;
分别对各待处理第二特征图进行残差特征提取,得到各待处理第二特征图对应的第四特征图;
基于第三特征图、各第四特征图以及尺度小于该待处理特征图的特征图之间的关联性,确定分别对应于第三特征图、各第四特征图以及尺度小于该待处理特征图的特征图的权重;
基于第三特征图、各第四特征图以及尺度小于该待处理特征图的特征图分别对应的权重,对第三特征图、各第四特征图以及尺度小于该待处理特征图的特征图进行融合,得到尺度与该待处理特征图对应的第二特征图。
可选地,对于每个第一图像,该深度估计模型训练模块102在将最后一次第一操作得到的第二特征图作为目标特征图时,具体用于:
对于至少两种尺度中每种尺度,将该尺度对应的最后一次第一操作之后得到的第二特征图确定为该尺度的目标特征图;
对于每个第一图像,深度估计模型训练模块102在基于目标特征图,得到该第一图像的第一深度信息时,具体用于:
分别基于各尺度的目标特征图中的至少一个特征图中的每个特征图,得到第一深度信息。
本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
基于与本申请实施例提供的深度估计模型的训练方法及装置相同的原理,本申请实施例中还提供了一种电子设备(如服务器),该电子设备可以包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现本申请任一可选实施例中提供的方法的步骤。
可选地,图14示出了本申请实施例所适用的一种电子设备的结构示意图,如图14所示,图14所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器4003用于存储执行本申请实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (12)
1.一种深度估计模型的训练方法,其特征在于,包括:
获取多个训练样本,每个所述训练样本包括第一图像以及该第一图像的真实深度信息;
基于所述多个训练样本对神经网络模型进行迭代训练,直至所述神经网络模型对应的总训练损失满足预设条件,所述神经网络模型包括初始深度估计模型,将满足所述预设条件的初始深度估计模型作为训练好的深度估计模型;其中,所述总训练损失是通过以下方式确定的:
对于每个所述第一图像,通过所述初始深度估计模型对该第一图像进行特征提取,得到该第一图像对应的至少两种尺度的第一特征图;通过对该第一图像对应的各第一特征图进行融合,得到该第一图像对应的目标特征图;基于所述目标特征图,得到该第一图像的第一深度信息;
基于各所述第一图像对应的第一深度信息和真实深度信息,确定总训练损失。
2.根据权利要求1所述的方法,其特征在于,所述通过对该第一图像对应的各第一特征图进行融合,得到该第一图像对应的目标特征图,包括:
将该第一图像对应的各第一特征图作为初始的特征图集合,执行设定次数的第一操作,将最后一次第一操作得到的第二特征图作为所述目标特征图;所述第一操作包括:
将特征图集合中除最小尺度的特征图之外的每个特征图分别作为待处理特征图,对于每个所述待处理特征图,通过将该待处理特征图与尺度小于该待处理特征图的特征图进行融合,得到尺度与该待处理特征图对应的第二特征图;将各所述待处理特征图对应的第二特征图作为下一次第一操作对应的特征图集合。
3.根据权利要求2所述的方法,其特征在于,对于每个所述第一图像,所述设定次数为至少两次,所述方法还包括:
对于第一次第一操作得到的各第二特征图中的至少一个特征图,分别基于所述至少一个特征图中的每个特征图,得到该特征图对应的第一图像的第二深度信息;
基于各所述第一图像对应的真实深度信息和各第二深度信息,确定第二训练损失;
所述基于各所述第一图像对应的第一深度信息和真实深度信息,确定总训练损失,包括:
基于各所述第一图像对应的第一深度信息和真实深度信息,确定第一训练损失;
基于所述第一训练损失和所述第二训练损失,得到所述总训练损失。
4.根据权利要求1所述的方法,其特征在于,每个所述训练样本还包括与该训练样本中的第一图像在时序上连续的一个第二图像,所述神经网络模型还包括初始姿态估计模型,在对所述神经网络模型进行训练的过程中,所述方法还包括:
对于每个所述第一图像,将该第一图像和对应的第二图像输入至所述初始姿态估计模型中,得到该第一图像的姿态信息;
对于每个所述第一图像,基于该第一图像的姿态信息和第一深度信息进行图像重构,得到该第一图像对应的重构图像;
基于各所述第一图像以及对应的重构图像之间的第一差异,确定第三训练损失;
所述基于各所述第一图像对应的第一深度信息和真实深度信息,确定总训练损失,包括:
基于各所述第一图像对应的第一深度信息和真实深度信息,确定第一训练损失;
基于所述第一训练损失和所述第三训练损失,确定所述总训练损失。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
对于一个所述第一图像,确定该第一图像和对应的第二图像之间的第二差异;
基于各所述第一图像对应的第一差异和第二差异之间的大小关系,确定所述第三训练损失的权重值;
所述基于所述第一训练损失和所述第三训练损失,确定所述总训练损失,包括:
基于所述第三训练损失的权重值,对所述第一训练损失和所述第三训练损失进行加权求和,得到所述总训练损失。
6.根据权利要求2所述的方法,其特征在于,对于每个所述第一图像,所述第一操作还包括:
对于特征图集合中最小尺度的特征图,对该特征图进行残差特征提取,得到尺度与该特征图对应的第二特征图;
对于每个所述待处理特征图,所述通过将该待处理特征图与尺度小于该待处理特征图的特征图进行融合,得到尺度与该待处理特征图对应的第二特征图,包括:
对该待处理特征图进行残差特征提取,得到该待处理特征图对应的第三特征图,将所述第三特征图与尺度小于该待处理特征图的特征图进行拼接,得到该待处理特征图对应的第四特征图;对所述第四特征图进行特征提取,得到尺度与该待处理特征图对应的第二特征图。
7.根据权利要求2所述的方法,其特征在于,对于每个所述第一图像,所述设定次数为至少三次,对于第三次第一操作以及第三次之后的每次第一操作,所述通过将该待处理特征图与尺度小于该待处理特征图的特征图进行融合,得到尺度与该待处理特征图对应的第二特征图,包括:
对该待处理特征图进行残差特征提取,得到该待处理特征图对应的第三特征图;
确定该次第一操作之前的至少一次第一操作对应的特征图集合中、尺度与该待处理特征图对应的待处理第二特征图;
分别对各所述待处理第二特征图进行残差特征提取,得到各所述待处理第二特征图对应的第四特征图;
基于所述第三特征图、各所述第四特征图以及尺度小于该待处理特征图的特征图之间的关联性,确定分别对应于所述第三特征图、各所述第四特征图以及尺度小于该待处理特征图的特征图的权重;
基于所述第三特征图、各所述第四特征图以及尺度小于该待处理特征图的特征图分别对应的权重,对所述第三特征图、各所述第四特征图以及尺度小于该待处理特征图的特征图分别对应的权重进行融合,得到所述尺度与该待处理特征图对应的第二特征图。
8.根据权利要求2所述的方法,其特征在于,对于每个所述第一图像,所述将最后一次第一操作得到的第二特征图作为所述目标特征图,包括:
对于所述至少两种尺度中每种尺度,将该尺度对应的最后一次第一操作得到的第二特征图确定为该尺度的目标特征图;
对于每个所述第一图像,所述基于所述目标特征图,得到该第一图像的第一深度信息,包括:
基于各尺度的目标特征图中的至少一个特征图中的每个特征图,得到所述第一深度信息。
9.一种深度估计模型的训练装置,其特征在于,包括:
训练样本获取模块,用于获取多个训练样本,每个所述训练样本包括第一图像以及该第一图像的真实深度信息;
深度估计模型训练模块,用于基于所述多个训练样本对神经网络模型进行迭代训练,直至所述神经网络模型对应的总训练损失满足预设条件,所述神经网络模型包括初始深度估计模型,将满足所述预设条件的深度估计模型作为训练好的深度估计模型;其中,所述总训练损失是通过以下方式确定的:
对于每个所述第一图像,通过所述初始深度估计模型对该第一图像进行特征提取,得到该第一图像对应的至少两种尺度的第一特征图;通过对该第一图像对应的各第一特征图进行融合,得到该第一图像对应的目标特征图;基于所述目标特征图,得到该第一图像的第一深度信息;
基于各所述第一图像对应的第一深度信息和真实深度信息,确定总训练损失。
10.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-8任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一项所述方法的步骤。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210293448.1A CN116883770A (zh) | 2022-03-23 | 2022-03-23 | 深度估计模型的训练方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210293448.1A CN116883770A (zh) | 2022-03-23 | 2022-03-23 | 深度估计模型的训练方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116883770A true CN116883770A (zh) | 2023-10-13 |
Family
ID=88264892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210293448.1A Pending CN116883770A (zh) | 2022-03-23 | 2022-03-23 | 深度估计模型的训练方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116883770A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117765499A (zh) * | 2023-12-30 | 2024-03-26 | 武汉奥思工业设计有限公司 | 一种车辆辅助驾驶智能决策方法及系统 |
-
2022
- 2022-03-23 CN CN202210293448.1A patent/CN116883770A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117765499A (zh) * | 2023-12-30 | 2024-03-26 | 武汉奥思工业设计有限公司 | 一种车辆辅助驾驶智能决策方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jaritz et al. | Sparse and dense data with cnns: Depth completion and semantic segmentation | |
US10943145B2 (en) | Image processing methods and apparatus, and electronic devices | |
KR102319177B1 (ko) | 이미지 내의 객체 자세를 결정하는 방법 및 장치, 장비, 및 저장 매체 | |
CN111047548B (zh) | 姿态变换数据处理方法、装置、计算机设备和存储介质 | |
US11232286B2 (en) | Method and apparatus for generating face rotation image | |
CN111161349B (zh) | 物体姿态估计方法、装置与设备 | |
CN108229531B (zh) | 对象特征提取方法、装置、存储介质和电子设备 | |
EP3211596A1 (en) | Generating a virtual world to assess real-world video analysis performance | |
CN109300151B (zh) | 图像处理方法和装置、电子设备 | |
CN113807361B (zh) | 神经网络、目标检测方法、神经网络训练方法及相关产品 | |
CN112703532B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN115205150A (zh) | 图像的去模糊方法、装置、设备、介质及计算机程序产品 | |
CN114170290A (zh) | 图像的处理方法及相关设备 | |
CN115115805A (zh) | 三维重建模型的训练方法、装置、设备及存储介质 | |
CN112396657A (zh) | 一种基于神经网络的深度位姿估计方法、装置及终端设备 | |
CN115222917A (zh) | 三维重建模型的训练方法、装置、设备及存储介质 | |
CN114972016A (zh) | 图像处理方法、装置、计算机设备、存储介质及程序产品 | |
CN112668675B (zh) | 一种图像处理方法、装置、计算机设备及存储介质 | |
CN114529687A (zh) | 图像重建方法、装置、电子设备及计算机可读存储介质 | |
CN114462486A (zh) | 图像处理模型的训练方法、图像处理方法及相关装置 | |
CN116883770A (zh) | 深度估计模型的训练方法、装置、电子设备及存储介质 | |
CN113570725A (zh) | 基于聚类的三维表面重建方法、装置、服务器及存储介质 | |
CN116912148A (zh) | 图像增强方法、装置、计算机设备及计算机可读存储介质 | |
CN114119428B (zh) | 一种图像去模糊方法和装置 | |
CN112651351B (zh) | 一种数据处理的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |