CN114359361A - 深度估计方法、装置、电子设备和计算机可读存储介质 - Google Patents

深度估计方法、装置、电子设备和计算机可读存储介质 Download PDF

Info

Publication number
CN114359361A
CN114359361A CN202111682192.5A CN202111682192A CN114359361A CN 114359361 A CN114359361 A CN 114359361A CN 202111682192 A CN202111682192 A CN 202111682192A CN 114359361 A CN114359361 A CN 114359361A
Authority
CN
China
Prior art keywords
depth estimation
network
result
semantic segmentation
depth
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
Application number
CN202111682192.5A
Other languages
English (en)
Inventor
张恒
阴俊博
吴奕谦
孟天意
韩文程
金小刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202111682192.5A priority Critical patent/CN114359361A/zh
Publication of CN114359361A publication Critical patent/CN114359361A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

本申请涉及一种深度估计方法和装置、电子设备、计算机可读存储介质,该方法包括:在获取待处理图像之后,将待处理图像输入至预设深度估计网络中进行深度估计,得到待处理图像的深度信息。因为预设深度估计网络为基于训练集中各图像帧的语义分割结果及深度估计结果进行训练所生成的网络,所以在将待处理图像输入至预设深度估计网络中进行深度估计的过程中,就能够基于语义分割结果对深度估计结果做出辅助调整。最终,提高所得到的深度信息的准确性。

Description

深度估计方法、装置、电子设备和计算机可读存储介质
技术领域
本申请涉及计算机视觉技术领域,特别是涉及一种深度估计方法、装置、电子设备和计算机可读存储介质。
背景技术
随着计算机技术的快速发展,计算机视觉相关技术也得到了较快发展。其中,计算机视觉是指采用摄影机和电脑代替人眼对目标执行识别、跟踪和测量等机器视觉操作,并进一步做图像处理操作,以生成更适合人眼观察或传送给仪器检测的图像。
而深度估计则是计算机视觉领域中非常重要的一个子领域,其目的是获取物体和拍摄点之间的距离即深度信息。因此,通过深度估计可以为三维重建、距离感知、SLAM、视觉里程计、活体检测、视频插帧、图像重建等一系列任务提供深度信息。
但是,针对深度信息非常复杂的场景,采用传统的深度估计网络对该场景的图像进行深度估计,所得出的深度信息的准确性较低。
发明内容
本申请实施例提供了一种深度估计方法、装置、电子设备、计算机可读存储介质,可以提高所得到的深度信息的准确性。
一方面,提供了一种深度估计方法,包括:
获取待处理图像;
将待处理图像输入至预设深度估计网络中进行深度估计,得到所述待处理图像的深度信息;所述预设深度估计网络为基于训练集中各图像帧的语义分割结果及深度估计结果进行训练所生成的网络。
另一方面,提供了一种深度估计网络的训练方法,包括:
根据所述训练集中的各图像帧和中间深度估计网络得到所述深度估计结果,以及根据各所述图像帧和中间语义分割网络得到所述语义分割结果;
根据所述深度估计结果及所述语义分割结果,对所述中间深度估计网络进行训练,生成所述预设深度估计网络。
另一方面,提供了一种深度估计装置,包括:
待处理图像获取模块,用于获取待处理图像;
深度估计模块,用于将待处理图像输入至预设深度估计网络中进行深度估计,得到所述待处理图像的深度信息;所述预设深度估计网络为基于训练集中各图像帧的语义分割结果及深度估计结果进行训练所生成的网络。
另一方面,提供了一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上所述的对焦控制方法的步骤。
另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。
上述深度估计方法和装置、电子设备、计算机可读存储介质,在获取待处理图像之后,将待处理图像输入至预设深度估计网络中进行深度估计,得到待处理图像的深度信息。因为预设深度估计网络为基于训练集中各图像帧的语义分割结果及深度估计结果进行训练所生成的网络,所以在将待处理图像输入至预设深度估计网络中进行深度估计的过程中,就能够基于语义分割结果对深度估计结果做出辅助调整。最终,提高所得到的深度信息的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中深度估计方法的应用环境图;
图2为一个实施例中深度估计方法的流程图;
图3为另一个实施例中深度估计方法的流程图;
图4为图3中生成预设深度估计网络方法的流程图;
图5为一个实施例中语义分割结果中前景分割结果的边缘区域的示意图;
图6为图4中从深度估计结果中,获取边缘区域的第一深度估计结果和内部区域的第二深度估计结果方法的流程图;
图7为一个实施例中语义分割结果中前景分割结果的内部区域的示意图;
图8为图4中基于第一深度估计结果及第二深度估计结果,对中间深度估计网络进行训练,生成预设深度估计网络方法的流程图;
图9A为一个实施例中预设深度估计网络训练过程的示意图;
图9B为一个实施例中ResNet18的网络结构的示意图;
图10为再一个实施例中预设深度估计网络训练过程的示意图;
图11为再一个实施例中深度估计方法的示意图;
图12为一个具体的实施例中深度估计方法的示意图;
图13为一个实施例中深度估计装置的结构框图;
图14为图13中预设深度估计网络训练模块的结构框图;
图15为一个实施例中电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一深度估计结果称为第二深度估计结果,且类似地,可将第二深度估计结果称为第一深度估计结果。第一深度估计结果和第二深度估计结果两者都是深度估计结果,但其不是同一深度估计结果。
图1为一个实施例中深度估计方法的应用环境示意图。如图1所示,该应用环境包括电子设备120。其中,电子设备120可以获取待处理图像110;将待处理图像110输入至预设深度估计网络中进行深度估计,得到待处理图像的深度信息(深度图130);预设深度估计网络为基于训练集中各图像帧的语义分割结果及深度估计结果进行训练所生成的网络。其中,电子设备120可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。
图2为一个实施例中深度估计方法的流程图。本实施例中的深度估计方法,以运行于图1中的电子设备上为例进行描述。如图2所示,深度估计方法包括步骤220至步骤240,其中,
步骤220,获取待处理图像。
其中,待处理图像可以是指电子设备通过摄像头采集的图像。在其他情况下,待处理图像也可以是存储在电子设备本地的图像,还可以是电子设备从网络下载的图像等,本申请对此不做限定。其中,待处理图像还可以是通过单目摄像头所获取的图像,或通过双目摄像头所获取的图像,本申请对此不做限定。
电子设备获取到了待处理图像之后,可以先对待处理图像进行预处理。具体的,可以基于双线性插值对图像进行缩放处理,例如,将待处理图像的分辨率从1241*376采样至1024*320,当然,本申请对此不做限定。还可以对待处理图像进行数据增广处理,以增加待处理图像的数据集。例如,可以通过改变待处理图像的图像参数,或对待处理图像进行水平翻转等方式对待处理图像进行数据增广。这里的图像参数包括但不限于亮度、对比度、饱和度、色调等。当然,为了提高深度估计的速度,也可以不进行数据增广处理。
对待处理图像进行预处理之后生成预处理后的图像,就可以对预处理后的图像进行深度估计。
步骤240,将待处理图像输入至预设深度估计网络中进行深度估计,得到待处理图像的深度信息;预设深度估计网络为基于训练集中各图像帧的语义分割结果及深度估计结果进行训练所生成的网络。
具体的,可以直接将待处理图像输入至预设深度估计网络中进行深度估计,得到待处理图像的深度信息。还可以将预处理后的图像输入至预设深度估计网络中进行深度估计,得到待处理图像的深度信息,本申请对此不做限定。这里,深度估计网络的架构包括卷积神经网络等,本申请对此不做限定。
其中,预设深度估计网络为基于训练集中各图像帧的语义分割结果及深度估计结果对中间深度估计网络进行训练所生成的网络。这里的中间深度估计网络为基于训练集中各图像帧、初始深度估计网络进行训练所生成的网络。这里的深度估计结果为将训练集中各图像帧输入至中间深度估计网络所生成的结果,例如,深度估计结果为各图像帧的深度信息。
这里的语义分割结果为将训练集中各图像帧输入至中间语义分割网络所生成的结果,例如,针对训练集中各图像帧,为图像帧中的每个像素分配一个语义类别,以得到像素化的密集类别,这些类别便是图像帧的语义分割结果。其中,这些类别可以包括各种动物、人、天空、海滩、绿草、树木、美食、车辆、房子、路灯等,本申请对此不做限定。其中,中间语义分割网络为基于训练集中各图像帧、初始语义分割网络进行训练所生成的网络。
然后,就可以将待处理图像输入至预设深度估计网络中进行深度估计,得到待处理图像的深度信息,也就得到了待处理图像的深度图。其中,深度图也可以称为距离影像,也就是在深度图中记录拍摄设备到场景中各点的距离,反映了场景中物体的几何形状。深度图中每个像素值代表的是物体到相机xy平面的距离,一般单位为mm。
本申请实施例中,在获取待处理图像之后,将待处理图像输入至预设深度估计网络中进行深度估计,得到待处理图像的深度信息。因为预设深度估计网络为基于训练集中各图像帧的语义分割结果及深度估计结果进行训练所生成的网络,所以在将待处理图像输入至预设深度估计网络中进行深度估计的过程中,就能够基于语义分割结果对深度估计结果做出辅助调整。最终,提高所得到的深度信息的准确性。
前一个实施例中,提供了一种深度估计方法,在获取待处理图像之后,将待处理图像输入至预设深度估计网络中进行深度估计,得到待处理图像的深度信息。这里的预设深度估计网络为预先训练好的,那么,在一个实施例中,对该预设深度估计网络的具体训练方法做出了进一步解释。具体的,如图3所示,提供了一种深度估计方法,还包括:
步骤260,根据训练集中的各图像帧和中间深度估计网络得到深度估计结果,以及根据各图像帧和中间语义分割网络得到语义分割结果。
这里的中间深度估计网络为基于训练集中各图像帧、初始深度估计网络进行训练所生成的网络。具体的,将训练集中各图像帧输入至中间深度估计网络中进行训练,就可以生成深度估计结果,例如,深度估计结果为各图像帧的深度信息。
这里的中间语义分割网络为基于训练集中各图像帧、初始语义分割网络进行训练所生成的网络。其中,语义分割网络的架构包括编码器-解码器网络,编码器通常包括一个预训练的类别网络,例如VGG(Visual Geometry Group)、ResNet网络等。在编码器之后,连接着一个解码器网络,解码器网络的任务是将编码器学习到的可判别特征(较低分辨率)从语义上投影到像素空间(较高分辨率),以获得密集类别。
具体的,将训练集中各图像帧输入至中间语义分割网络进行训练,就可以生成语义分割结果。针对训练集中各图像帧,为图像帧中的每个像素分配一个语义类别,以得到像素化的密集类别,这些类别便是图像帧的语义分割结果。
步骤280,根据深度估计结果及语义分割结果,对中间深度估计网络进行训练,生成预设深度估计网络。
在将训练集中各图像帧输入至中间深度估计网络中进行训练,生成深度估计结果,以及将训练集中各图像帧输入至中间语义分割网络进行训练,生成语义分割结果之后,就可以基于每个图像帧的深度估计结果及语义分割结果,对中间深度估计网络进行训练,生成预设深度估计网络。相较于传统方法,仅基于深度估计结果对深度估计网络进行训练,即同等对待每个像素,无法在深度信息之外考虑每个像素的语义分割信息。其中,具有不同语义分割信息的像素可以具有不同的深度特征。例如,针对语义分割信息为天空的像素,其深度值要大于语义分割信息为人的像素。因此,就可以基于图像帧中各像素的不同语义分割信息及深度估计信息,对中间深度估计网络进行训练,生成预设深度估计网络。
本申请中因为从语义分割结果中能够更准确地区分物体边缘和物体内部,所以基于每个图像帧的语义分割结果,就可以对该图像帧中物体边缘及物体内部的深度估计结果进行调整。最终,基于调整后的深度估计结果就可以实现对中间深度估计网络进行训练,生成预设深度估计网络。
通过预设深度估计网络,就可以更好地对处于物体边缘及物体内部的深度信息进行估计,以生成更加准确的深度图。
本申请实施例中,将训练集中各图像帧输入至中间深度估计网络中进行训练,就可以生成深度估计结果。并将训练集中各图像帧输入至中间语义分割网络进行训练,就可以生成语义分割结果。由于具有不同语义分割信息的像素可以具有不同的深度特征,因此,就可以基于每个图像帧的深度估计结果及语义分割结果,对中间深度估计网络进行训练,生成预设深度估计网络。
因此,通过预设深度估计网络,就可以更好地对处于物体边缘及物体内部的深度信息进行估计,以生成更加准确的深度图。
在前一个实施例中,描述了预设深度估计网络的训练过程。本实施例中,详细说明步骤280,根据所述深度估计结果及所述语义分割结果,对所述中间深度估计网络进行训练,生成所述预设深度估计网络,包括:
根据所述深度估计结果及所述语义分割结果计算损失函数的值;
基于所述损失函数的值对所述中间深度估计网络进行训练,生成所述预设深度估计网络。
本申请实施例中,在将训练集中各图像帧输入至中间深度估计网络中进行训练,生成深度估计结果,以及将训练集中各图像帧输入至中间语义分割网络进行训练,生成语义分割结果之后,就可以基于每个图像帧的深度估计结果及语义分割结果,对中间深度估计网络进行训练,生成预设深度估计网络。具体的,根据所述深度估计结果及所述语义分割结果计算损失函数的值,基于所述损失函数的值对所述中间深度估计网络进行训练,生成所述预设深度估计网络。采用了损失函数,提高了所生成的预设深度估计网络的准确性。
在前一个实施例中,描述了预设深度估计网络的训练过程。如图4所示,本实施例中,详细说明步骤280,根据当前帧的深度估计结果及语义分割结果,对中间深度估计网络进行训练,生成预设深度估计网络的具体实现步骤,包括:
步骤282,从语义分割结果中,确定语义分割结果中的前景的边缘区域和内部区域。
将训练集中各图像帧输入至中间语义分割网络进行训练,生成语义分割结果之后,进一步从语义分割结果中,确定语义分割结果中的前景的边缘区域和内部区域。
由于针对训练集中各图像帧,为图像帧中的每个像素分配一个语义类别,以得到像素化的密集类别,这些类别便是图像帧的语义分割结果。因此,可以从语义分割结果中确定前景分割掩码,其中,基于前景分割掩码就可以从待处理图像上提取出前景区域。具体的,可以从语义分割结果中提取出前景的像素索引,基于前景的像素索引就可以得出前景分割掩码。其中,像素索引可以理解为将每个图像帧上属于同一个类别的像素点的坐标,划分到该类别下,如此便形成了像素索引。
假设,图像帧的语义分割结果中的类别包括19个类别,即各像素共可以划分为19个类别,这些类别分别用标号0-18表示。其中[5,6,7,11,12,13,14,15,16,17,18]这些标号为前景类别的标签,这些标号分别对应[pole,traffic light,traffic sign,person,rider,car,truck,bus,train,motorcycle,bicycle])这些具体的类别。针对各个前景类别,从图像帧中获取这些前景类别对应的像素的坐标(y,x),将属于同一前景类别的像素的坐标划分到同一个类别下,针对各个背景类别,也是同理进行操作,如此,就得到了整个图像帧的像素索引。其中,像素的坐标(y,x),即表示该像素在图像帧中位于第y列第x行。
基于各个前景类别的像素索引就可以得出前景分割掩码,具体的,获取与图像帧大小一致的全0矩阵,并在该全0矩阵中确定与前景类别对应的像素索引中的像素的坐标一致的目标点,将该目标点置为1,如此就得到了前景分割掩码。然后,基于前景分割掩码就可以从图像帧中提取出前景区域。
在基于前景分割掩码就可以从图像帧中提取出前景区域之后,就可以从前景区域中进一步提取前景的边缘区域和内部区域。具体的,可以对前景区域进行预设处理,以提取出前景的边缘区域和内部区域,这里的预设处理包括形态学处理中的各种处理手段,本申请对此不做限定。
步骤284,根据所述边缘区域、所述内部区域从深度估计结果中,获取边缘区域的第一深度估计结果和内部区域的第二深度估计结果。
从语义分割结果中,确定了语义分割结果中的前景的边缘区域和内部区域之后,基于边缘区域、所述内部区域,从深度估计结果中,获取边缘区域的第一深度估计结果和内部区域的第二深度估计结果。具体的,可以是从图像帧的深度估计结果中,获取处于边缘区域的多对像素点的第一深度估计结果,以及获取处于内部区域的多对像素点的第二深度估计结果。
步骤286,基于第一深度估计结果及第二深度估计结果,对中间深度估计网络进行训练,生成预设深度估计网络。
针对各图像帧,基于图像帧中处于边缘区域的多对像素点的第一深度估计结果,以及获取处于图像帧内部区域的多对像素点的第二深度估计结果,对中间深度估计网络进行训练,生成预设深度估计网络。
具体的,针对训练集中的各图像帧,预先对各图像帧进行标注,得到图像帧的标注深度结果。这里的标注深度结果包括边缘区域的标注深度结果及内部区域的标注深度结果。然后,就可以基于图像帧中处于边缘区域的多对像素点的第一深度估计结果及边缘区域的标注深度结果、内部区域的多对像素点的第二深度估计结果及部区域的标注深度结果,计算损失函数的值。基于损失函数的值调整中间深度估计网络的参数,生成预设深度估计网络。
由于传统的深度估计方法,在对图像帧上物体边缘进行深度估计所得的深度信息的准确性较低。尤其是针对拥挤场景或遮挡场景,由于该场景中物体繁多、且物体之间相互遮挡,导致对该场景所拍摄图像的深度信息非常复杂。因此,在对拥挤场景和遮挡场景下所拍摄的图像进行深度估计时,所得出的深度信息的准确性更低。
本申请实施例中,先从语义分割结果中,确定语义分割结果中的前景的边缘区域和内部区域,即采用语义分割结果明确图像帧中前景的边缘或物体的边缘。其中,前景的边缘区域、内部区域分别有不同的深度特征。然后,就可以从深度估计结果中,获取边缘区域的第一深度估计结果和内部区域的第二深度估计结果。基于第一深度估计结果及第二深度估计结果、标注深度估计结果,对中间深度估计网络进行训练,生成预设深度估计网络。如此,针对拥挤场景或遮挡场景,所训练出的预设深度估计网络就可以更准确地计算前景的边缘区域的深度信息。
接前一个实施例,描述了预设深度估计网络的训练过程。本申请实施例中,进一步详细说明从语义分割结果中,确定语义分割结果中的前景的边缘区域和内部区域的具体实现步骤,包括:
对语义分割结果中的前景分割结果进行膨胀操作得到外边缘,以及对前景分割结果进行腐蚀操作得到内边缘;
根据外边缘和内边缘确定前景的边缘区域;
将前景分割结果中处于边缘区域之内的区域,作为前景的内部区域。
结合图5所示,为一个实施例中语义分割结果中前景分割结果的示意图。其中,如图5所示,图像帧中的前景分割结果(即分割边界)为520,假设图像帧中前景的真实轮廓边界为540。那么,对语义分割结果中的前景分割结果进行膨胀操作得到外边缘,具体为,对分割边界520进行膨胀操作得到外边缘560。那么,对前景分割结果进行腐蚀操作得到内边缘,具体为,对分割边界520进行腐蚀操作得到外边缘580。从数学方面来说,膨胀操作或者腐蚀操作就是将图像(或图像的一部分区域,例如区域A)与卷积核(例如矩阵B)进行卷积操作的过程。这里,膨胀操作可以理解为是求局部最大值的操作,相反,腐蚀就是求局部最小值的操作。由于膨胀处理或腐蚀处理均是对二值化图像进行处理,所以通过膨胀操作可以二值化图像中的高亮区域进行放大,而通过腐蚀处理可以对二值化图像中的高亮区域进行缩小。
在基于前景分割结果,得到了外边缘及内边缘之后,就可以根据外边缘和内边缘确定前景的边缘区域。具体的,可以将同一个前景分割结果中的外边缘与内边缘之间的区域,作为前景的边缘区域。
进而,将同一个前景分割结果中处于边缘区域之内的区域,作为前景的内部区域。
本申请实施例中,针对图像帧中的各语义分割结果,对语义分割结果中的前景分割结果进行膨胀操作得到外边缘,以及对前景分割结果进行腐蚀操作得到内边缘。再根据外边缘和内边缘确定前景的边缘区域,进而将前景分割结果中处于边缘区域之内的区域,作为前景的内部区域。如此,就基于语义分割结果确定了前景的边缘区域及内部区域。然后,就可以从深度估计结果中,获取边缘区域的第一深度估计结果和内部区域的第二深度估计结果。最后,基于第一深度估计结果及第二深度估计结果,对中间深度估计网络进行训练,生成预设深度估计网络。如此,针对拥挤场景或遮挡场景,所训练出的预设深度估计网络就可以更准确地计算前景的边缘区域的深度信息。
接上一个实施例,如图6所示,步骤284,根据边缘区域、所述内部区域从深度估计结果中,获取边缘区域的第一深度估计结果和内部区域的第二深度估计结果,包括:
步骤284a,对外边缘上的m个第一像素点,在内边缘上确定与m个第一像素点距离最近的m个第二像素点,基于m个第一像素点和对应的m个第二像素点得到第一点对集合,所述m为正整数。
结合图5所示,针对外边缘560上的每个第一像素点,在内边缘上确定与第一像素点距离最近的第二像素点。例如,针对外边缘560上的第一像素点Pout,在内边缘580上确定与第一像素点Pout距离最近的第二像素点Pin。基于多组第一像素点Pout及第二像素点Pin,得到第一点对集合。
步骤284b,在内部区域中,确定n个第三像素点以及与n个第三像素点对应的n个第四像素点,基于n个第三像素点和n个第四像素点得到第二点对集合,所述n为正整数;第三像素点和第四像素点的位置关系满足预设条件。
结合图7所示,将同一个前景分割结果中处于边缘区域之内的区域,作为前景的内部区域。那么,就可以在内部区域中随机确定多组第三像素点Pin0以及与第三像素点对应的第四像素点Pin1,即在内部区域随机确定像素点对。然后,基于多组第三像素点Pin0及第四像素点Pin1,得到第二点对集合。这里,每组第三像素点和第四像素点的位置关系满足统一的预设条件。例如,这里的预设条件可以限定为第三像素点Pin0和第四像素点Pin1之间的距离为预设距离,当然,本申请对此不做限定。
步骤284c,从深度估计结果中,获取第一点对集合中各点对的第一深度估计结果和第二点对集合中各点对的第二深度估计结果。
在基于多组第一像素点Pout及第二像素点Pin得到第一点对集合,及基于多组第三像素点Pin0及第四像素点Pin1,得到第二点对集合之后,就可以从深度估计结果中,获取第一点对集合中各点对的第一深度估计结果和第二点对集合中各点对的第二深度估计结果。
本申请实施例中,针对图像帧中的各前景分割结果,对外边缘上的每个第一像素点,在内边缘上确定与第一像素点距离最近的第二像素点,基于第一像素点和对应的第二像素点得到第一点对集合。在内部区域中,确定第三像素点以及与第三像素点对应的第四像素点,基于第三像素点和第四像素点得到第二点对集合,其中,第三像素点和第四像素点的位置关系满足预设条件。从深度估计结果中,获取第一点对集合中各点对的第一深度估计结果和第二点对集合中各点对的第二深度估计结果。因为第一点对集合位于前景的边缘区域,第二点对集合位于前景的内部区域,所以,基于第一点对集合中点对的第一深度估计结果、第二点对集合中各点对的第二深度估计结果,就可以基于第一深度估计结果及第二深度估计结果、标注深度估计结果,对中间深度估计网络进行训练,生成预设深度估计网络。如此,针对拥挤场景或遮挡场景,所训练出的预设深度估计网络就可以更准确地计算前景的边缘区域的深度信息。
接上一个实施例,描述了如何确定第一点对集合及第二点对集合,本实施例中,进一步说明第三像素点和第四像素点的位置关系满足预设条件,包括:
第三像素点与第四像素点在第一方向上的距离小于第一预设距离阈值、第三像素点与第四像素点在第二方向上的距离之间的距离均小于第二预设距离阈值;其中,第一方向与第二方向相互垂直。
由于第一方向与第二方向相互垂直,结合图7所示,在图像帧上建立坐标系,以第一方向作为坐标系的X轴,以第二方向作为坐标系的Y轴。其中,第三像素点Pin0与第四像素点Pin1在第一方向上的距离为S1小于第一预设距离阈值r1、第三像素点Pin0与第四像素点Pin1在第二方向上的距离之间的距离S2均小于第二预设距离阈值r2。其中,第一预设距离阈值r1、第二预设距离阈值r2可以是前景的内部区域的平均半径,还可以是前景的内部区域的最短长度,当然,本申请对此不做限定。且第一预设距离阈值r1、第二预设距离阈值r2可以相等,也可以不相等。
从第一方向、第二方向这两个方向上,对第三像素点Pin0与第四像素点Pin1之间的位置关系做出限定,可以保证第四像素点Pin1在第三像素点Pin0的预设范围内,以提高第二点对集合均在前景的内部区域的概率。进而,提高了所确定的第二点对集合的准确性。其中,图7中所示的第一方向、第二方向,还可以是其他相互垂直的方向,本申请对此不做限定。
本申请实施例中,在内部区域中,确定第三像素点以及与第三像素点对应的第四像素点,基于第三像素点和第四像素点得到第二点对集合。其中,第三像素点与第四像素点在第一方向上的距离小于第一预设距离阈值、第三像素点与第四像素点在第二方向上的距离之间的距离均小于第二预设距离阈值,且第一方向与第二方向相互垂直。
因为第一点对集合位于前景的边缘区域,第二点对集合位于前景的内部区域,所以,基于第一点对集合中点对的第一深度估计结果、第二点对集合中各点对的第二深度估计结果,就可以基于第一深度估计结果及第二深度估计结果、标注深度估计结果,对中间深度估计网络进行训练,生成预设深度估计网络。如此,针对拥挤场景或遮挡场景,所训练出的预设深度估计网络就可以更准确地计算前景的边缘区域的深度信息。
在前述实施例中,描述了预设深度估计网络的训练过程,本实施例中,进一步详细说明,如图8所示,步骤286,基于第一深度估计结果及第二深度估计结果,对中间深度估计网络进行训练,生成预设深度估计网络的具体实现步骤,包括:
步骤286a,根据第一点对集合中各第一点对的第一深度估计结果及第一标注深度结果,计算第一语义损失函数的值;第一语义损失函数用于对第一深度估计结果之间的差值小于第一预设深度差阈值的第一点对进行惩罚。
具体的,针对各第一点对,基于第一点对中第一像素点的第一深度估计结果与第一点对中第二像素点的第一深度估计结果之间的差值,构建第一语义损失函数。因为第一点对为处于前景的内边缘及外边缘的点对,所以第一点对之间深度值的差值越大,则越能够确定第一点对处于前景的边缘区域。因此,在第一语义损失函数中,将第一像素点的第一深度估计结果与第二像素点的第一深度估计结果之间的差值的绝对值取负值,作为幂指数。就实现了采用第一语义损失函数,对第一深度估计结果之间的差值小于第一预设深度差阈值的第一点对进行惩罚。其中,第一语义损失函数Ledge的具体公式如下所示:
Figure BDA0003440713670000081
其中,
Figure BDA0003440713670000082
指的是第一像素点Pout的深度值,
Figure BDA0003440713670000083
指的是第二像素点Pin的深度值。N表示第一点对集合中第一点对的总数。
步骤286b,根据第二点对集合中各第二点对的第二深度估计结果及第二标注深度结果,计算第二语义损失函数的值;第二语义损失函数用于对第二深度估计结果之间的差值大于第二预设深度差阈值的第二点对进行惩罚。
针对各第二点对,基于第二点对中第三像素点的第二深度估计结果与第二点对中第四像素点的第二深度估计结果之间的差值,构建第二语义损失函数。因为第二点对为处于前景的内部区域的点对,所以第二点对之间深度值的差值越小,则越能够确定第二点对处于前景的内部区域。因此,在第二语义损失函数中,将第三像素点的第二深度估计结果与第四像素点的第二深度估计结果之间的差值的平方和。就实现了采用第二语义损失函数用于对第二深度估计结果之间的差值大于第二预设深度差阈值的第二点对进行惩罚。其中,第二语义损失函数Linside的具体公式如下所示:
Figure BDA0003440713670000084
其中,
Figure BDA0003440713670000085
指的是第三像素点Pin0的深度值,
Figure BDA0003440713670000086
指的是第四像素点Pin1的深度值。N表示第二点对集合中第二点对的总数。
步骤286c,根据第一语义损失函数的值、第二语义损失函数的值调整中间深度估计网络的参数,生成预设深度估计网络。
针对训练集中各图像帧,从图像帧的语义分割结果中,确定语义分割结果中的前景的边缘区域和内部区域。对外边缘上的每个第一像素点,在内边缘上确定与第一像素点距离最近的第二像素点,基于第一像素点和对应的第二像素点得到第一点对集合。在内部区域中,确定第三像素点以及与第三像素点对应的第四像素点,基于第三像素点和第四像素点得到第二点对集合。从深度估计结果中,获取第一点对集合中各点对的第一深度估计结果和第二点对集合中各点对的第二深度估计结果。
根据第一点对集合中各第一点对的第一深度估计结果及第一标注深度结果,计算第一语义损失函数的值。再根据第二点对集合中各第二点对的第二深度估计结果及第二标注深度结果,计算第二语义损失函数的值。其中,第一标注深度结果、第二标注深度结果均为预先对训练集进行标注的结果,可以是人工标注,也可以是采用其他方式进行标注生成的,本申请对此不做限定。最后,根据第一语义损失函数的值、第二语义损失函数的值调整中间深度估计网络的参数,生成预设深度估计网络。
本申请实施例中,针对处于前景的内边缘及外边缘的第一点对,通过所构建的第一语义损失函数可以用于对第一深度估计结果之间的差值小于第一预设深度差阈值的第一点对进行惩罚。从而,实现了从第一点对中筛选出处于内边缘及外边缘的概率更大的第一点对。针对处于前景的内部区域的第二点对,通过所构建的第二语义损失函数可以用于对第二深度估计结果之间的差值大于第二预设深度差阈值的第二点对进行惩罚。从而,实现了从第二点对中筛选出处于内部区域的概率更大的第二点对。最后,就可以根据第一语义损失函数的值、第二语义损失函数的值调整中间深度估计网络的参数,生成预设深度估计网络。实现了通过预设深度估计网络,能够更加准确地计算出前景的边缘区域及内部区域的深度信息。
接上述实施例中,描述了预设深度估计网络的训练方法,包括:根据训练集中的图像帧和中间深度估计网络得到深度估计结果,以及根据图像帧和中间语义分割网络得到语义分割结果;根据深度估计结果及语义分割结果,对中间深度估计网络进行训练,生成预设深度估计网络。其中,根据训练集中的图像帧和中间深度估计网络得到深度估计结果,包括:
将训练集中的各当前帧输入至初始深度估计网络中进行处理,生成深度预测结果;
将训练集中各当前帧的相邻帧输入至位姿估计网络,生成位姿变换信息;
根据深度预测结果及位姿变换信息,对初始深度估计网络进行训练,生成中间深度估计网络;
通过中间深度估计网络获取当前帧的深度估计结果。
结合图9A所示,为一个实施例中预设深度估计网络训练过程的示意图。结合图9A所示,从训练集中获取一组连续帧{It-1,It,It+1},其中It表示当前帧,It′∈{It-1,It+1}为It的相邻帧。首先,将训练集中的当前帧It输入至初始深度估计网络中进行处理,生成深度预测结果Dt。这里,初始深度估计网络主要使用连续帧图像进行自监督训练,或称之为自监督学习(self-supervised learning)。自监督学习,可以被看作是机器学习的一种“理想状态”,模型直接从无标签数据中自行学习,无需标注数据。其中,初始深度估计网络包括第一特征提取网络及第一上采样网络。通过该第一特征提取网络可以提取当前帧的深度特征,然后,将当前帧的第一深度特征输入至第一上采样网络中进行上采样处理,生成深度预测结果Dt。其中,这里的第一特征提取网络,可以采用ResNet18、ResNet50、ResNet101等作为共享骨干网络,ResNet18的具体网络结构和网络每层的输出尺寸可以参考图9B所示。这里的第一特征提取网络,还可以采用MobileNet等。本申请并不对ResNet18的具体网络结构和网络每层的输出尺寸进行限定。
其次,将训练集中当前帧的相邻帧It′输入至位姿估计网络,生成位姿变换信息Tt′→t
再次,根据深度预测结果Dt及位姿变换信息Tt′→t,对初始深度估计网络进行训练,生成中间深度估计网络。
进一步,可以根据深度预测结果Dt及位姿变换信息Tt′→t,生成合成图像It′→t;根据合成图像It′→t和当前帧It,计算投影损失函数的值;通过投影损失函数的值对初始深度估计网络进行训练,生成中间深度估计网络。
最后,将当前帧输入至中间深度估计网络中进行深度估计,获取当前帧的深度估计结果。
本申请实施例中,在根据训练集中的图像帧和中间深度估计网络得到深度估计结果时,先后经过了两次深度估计网络的训练。其中,第一次是将训练集中的当前帧输入至初始深度估计网络中进行处理,生成深度预测结果。然后,第二次是将训练集中当前帧的相邻帧输入至位姿估计网络,生成位姿变换信息;再根据深度预测结果及位姿变换信息,对初始深度估计网络进行训练,生成中间深度估计网络;通过中间深度估计网络获取当前帧的深度估计结果。
将第一次输入至初始深度估计网络中处理得到的深度预测结果,作为第二次输入至初始深度估计网络中的输入,再结合当前帧与相邻帧之间的位姿变换信息,再次对初始深度估计网络进行训练,生成中间深度估计网络。如此,最后将当前帧输入至中间深度估计网络进行处理,获取当前帧的深度估计结果。显然,先后经过了两次深度估计网络的训练,所得到中间深度估计网络的准确性更高。
接上一个实施例,根据深度预测结果及位姿变换信息,对初始深度估计网络进行训练,生成中间深度估计网络,包括:
根据深度预测结果及位姿变换信息,生成合成图像;
根据合成图像和当前帧,计算投影损失函数的值;
通过投影损失函数的值对初始深度估计网络进行训练,生成中间深度估计网络。
具体的,根据深度预测结果Dt及位姿变换信息Tt′→t,生成合成图像It′→t;根据合成图像It′→t和当前帧It,计算投影损失函数的值;通过投影损失函数的值对初始深度估计网络进行训练,生成中间深度估计网络。
其中,投影损失函数的具体公式如下所示:
Figure BDA0003440713670000101
其中,SSIM的全称为structural similarity index,即为结构相似性,是一种衡量两幅图像相似度的指标,α为权重系数。
投影损失函数通过最小化It′→t与It的表观误差来指导网络训练。表现误差就是指的两张图像之间的差异,包含两部分,一部分是两张图像的基于L1的误差,另一部分是通过SSIM算法得到的两张图像的结构相似性误差。
本申请实施例中,在将训练集中的当前帧输入至初始深度估计网络中进行处理,生成深度预测结果之后,由于基于当前帧所生成的深度预测结果的数量有限,因此,借助于相邻帧来增加训练集的数据量。具体,根据深度预测结果Dt及当前帧与相邻帧之间的位姿变换信息Tt′→t,对初始深度估计网络进行训练,生成中间深度估计网络。从而,借助于相邻帧来增加训练集的数据量,基于当前帧及相邻帧一起,提高了所生成的中间深度估计网络的准确性。
接上述实施例中,描述了预设深度估计网络的训练方法,包括:根据训练集中的图像帧和中间深度估计网络得到深度估计结果,以及根据图像帧和中间语义分割网络得到语义分割结果;根据深度估计结果及语义分割结果,对中间深度估计网络进行训练,生成预设深度估计网络。其中,根据图像帧和中间语义分割网络得到语义分割结果,还包括:
首先,将训练集中的各当前帧输入到初始语义分割网络中,得到语义分割预测结果。
具体的,义分割网络的架构包括编码器-解码器网络,编码器通常包括一个预训练的类别网络,例如VGG、ResNet网络等。将训练集中的当前帧输入到初始语义分割网络中,得到语义分割预测结果。即得到当前帧上每个像素所对应的语义类别,这些语义类别可以包括各种动物、人、天空、海滩、绿草、树木、美食、车辆、房子、路灯等,本申请对此不做限定。其中,初始语义分割网络包括第二特征提取网络及第二上采样网络,这里的第二特征提取网络可以与初始深度估计网络中的第一特征提取网络一致,当然,也可以不一致。通过该第二特征提取网络可以提取当前帧的语义分割特征,然后,将当前帧的语义分割特征输入至第二上采样网络中进行上采样处理,生成语义分割预测结果St。其中,这里的第二特征提取网络,可以采用ResNet18作为共享骨干网络,ResNet18的具体网络结构和网络每层的输出尺寸可以参考图2所示。本申请并不对ResNet18的具体网络结构和网络每层的输出尺寸进行限定。
其次,根据语义分割预测结果及语义标注数据集,对初始语义分割网络进行训练,生成中间语义分割网络。
其中,语义标注数据集Lt为预先训练好的语义数据集。具体的,可以先获取KITTI语义实例分割数据集,其中,KITTI语义实例分割数据集包含了200张语义分割训练图像和200张无标注的测试图像。然后,通过PSPNet网络,继续对KITTI的200张语义分割训练图像进行训练,以生成更加准确的目标语义分割数据集。最后,根据语义分割预测结果及语义分割数据集(目标语义分割数据集),构建交叉熵损失函数;通过计算交叉熵损失函数的值对初始语义分割网络进行训练,生成中间语义分割网络。
其中,交叉熵损失函数可以用于分类问题中,特别是在神经网络做分类问题时,可以使用交叉熵作为损失函数。此外,由于交叉熵涉及到计算每个类别的概率,所以交叉熵几乎每次都和sigmoid(或softmax)函数一起出现。
最后,通过中间语义分割网络获取当前帧的语义分割结果。
将当前帧输入至中间语义分割网络中进行语义分割处理,就可以生成当前帧的语义分割结果,即得到当前帧上每个像素所对应的语义类别。
本申请实施例中,首先,将训练集中的当前帧输入到初始语义分割网络中,得到语义分割预测结果。其次,根据语义分割预测结果及语义标注数据集,对初始语义分割网络进行训练,生成中间语义分割网络。具体的,根据语义分割预测结果及语义分割数据集,构建交叉熵损失函数;通过交叉熵损失函数对初始语义分割网络进行训练,生成中间语义分割网络。最后,通过中间语义分割网络获取当前帧的语义分割结果。采用了交叉熵损失函数,提高了分类的准确性,进而提高了当前帧的语义分割结果的准确性。
在一个实施例中,在所述初始深度估计网络及所述初始语义分割网络之前包括特征提取网络;所述初始深度估计网络包括第一上采样网络,所述初始语义分割网络包括第二上采样网络。
如图10所示,为另一个实施例中预设深度估计网络训练过程的示意图。结合图10所示,从训练集中获取一组连续帧{It-1,It,It+1},其中It表示当前帧,It′∈{It-1,It+1}为It的相邻帧。首先,将训练集中的当前帧It输入至特征提取网络进行特征提取,可以提取当前帧的深度特征,也可以提取当前帧的语义特征。在特征提取网络之后包括始深度估计网络及所述初始语义分割网络,其中,初始深度估计网络包括第一上采样网络,所述初始语义分割网络包括第二上采样网络。
将所提取的特征分别输入至初始深度估计网络、初始语义分割网络中进行处理。具体的,将所提取的深度特征分别输入至初始深度估计网络中进行处理,生成深度预测结果Dt。其中,初始深度估计网络包括第一上采样网络。将当前帧的第一深度特征输入至第一上采样网络中进行上采样处理,生成深度预测结果Dt。其中,这里的第一特征提取网络,可以采用ResNet18、ResNet50、ResNet101等作为共享骨干网络,ResNet18的具体网络结构和网络每层的输出尺寸可以参考图9B所示。这里的第一特征提取网络,还可以采用MobileNet等。本申请并不对ResNet18的具体网络结构和网络每层的输出尺寸进行限定。
一方面,将训练集中当前帧的相邻帧It′输入至位姿估计网络,生成位姿变换信息Tt′→t;再次,根据深度预测结果Dt及位姿变换信息Tt′→t,对初始深度估计网络进行训练,生成中间深度估计网络。进一步,可以根据深度预测结果Dt及位姿变换信息Tt′→t,生成合成图像It′→t;根据合成图像It′→t和当前帧It,计算投影损失函数的值;通过投影损失函数的值对初始深度估计网络进行训练,生成中间深度估计网络。最后,将当前帧输入至中间深度估计网络中进行深度估计,获取当前帧的深度估计结果。
另一方面,将训练集中的各当前帧It输入到初始语义分割网络中,得到语义分割预测结果St。其次,根据语义分割预测结果St及语义标注数据集Lt,对初始语义分割网络进行训练,生成中间语义分割网络。最后,通过中间语义分割网络获取当前帧的语义分割结果。
本申请实施例中,将第一次输入至初始深度估计网络中处理得到的深度预测结果,作为第二次输入至初始深度估计网络中的输入,再结合当前帧与相邻帧之间的位姿变换信息,再次对初始深度估计网络进行训练,生成中间深度估计网络。如此,最后将当前帧输入至中间深度估计网络进行处理,获取当前帧的深度估计结果。显然,先后经过了两次深度估计网络的训练,所得到中间深度估计网络的准确性更高。
将训练集中的当前帧输入到初始语义分割网络中,得到语义分割预测结果。其次,根据语义分割预测结果及语义标注数据集,对初始语义分割网络进行训练,生成中间语义分割网络。具体的,根据语义分割预测结果及语义分割数据集,构建交叉熵损失函数;通过交叉熵损失函数对初始语义分割网络进行训练,生成中间语义分割网络。最后,通过中间语义分割网络获取当前帧的语义分割结果。采用了交叉熵损失函数,提高了分类的准确性,进而提高了当前帧的语义分割结果的准确性。
在一个实施例中,如图11所示,提供了一种深度估计网络的训练方法,包括:
步骤1120,根据训练集中的各图像帧和中间深度估计网络得到深度估计结果,以及根据各图像帧和中间语义分割网络得到语义分割结果。
这里的中间深度估计网络为基于训练集中各图像帧、初始深度估计网络进行训练所生成的网络。具体的,将训练集中各图像帧输入至中间深度估计网络中进行训练,就可以生成深度估计结果,例如,深度估计结果为各图像帧的深度信息。
这里的中间语义分割网络为基于训练集中各图像帧、初始语义分割网络进行训练所生成的网络。其中,语义分割网络的架构包括编码器-解码器网络,编码器通常包括一个预训练的类别网络,例如VGG、ResNet网络等。在编码器之后,连接着一个解码器网络,解码器网络的任务是将编码器学习到的可判别特征(较低分辨率)从语义上投影到像素空间(较高分辨率),以获得密集类别。
具体的,将训练集中各图像帧输入至中间语义分割网络进行训练,就可以生成语义分割结果。针对训练集中各图像帧,为图像帧中的每个像素分配一个语义类别,以得到像素化的密集类别,这些类别便是图像帧的语义分割结果。
步骤1140,根据深度估计结果及语义分割结果,对中间深度估计网络进行训练,生成预设深度估计网络。
在将训练集中各图像帧输入至中间深度估计网络中进行训练,生成深度估计结果,以及将训练集中各图像帧输入至中间语义分割网络进行训练,生成语义分割结果之后,就可以基于每个图像帧的深度估计结果及语义分割结果,对中间深度估计网络进行训练,生成预设深度估计网络。相较于传统方法,仅基于深度估计结果对深度估计网络进行训练,即同等对待每个像素,无法在深度信息之外考虑每个像素的语义分割信息。其中,具有不同语义分割信息的像素可以具有不同的深度特征。例如,针对语义分割信息为天空的像素,其深度值要大于语义分割信息为人的像素。因此,就可以基于图像帧中各像素的不同语义分割信息及深度估计信息,对中间深度估计网络进行训练,生成预设深度估计网络。
本申请中因为从语义分割结果中能够更准确地区分物体边缘和物体内部,所以基于每个图像帧的语义分割结果,就可以对该图像帧中物体边缘及物体内部的深度估计结果进行调整。最终,基于调整后的深度估计结果就可以实现对中间深度估计网络进行训练,生成预设深度估计网络。
通过预设深度估计网络,就可以更好地对处于物体边缘及物体内部的深度信息进行估计,以生成更加准确的深度图。
本申请实施例中,将训练集中各图像帧输入至中间深度估计网络中进行训练,就可以生成深度估计结果。并将训练集中各图像帧输入至中间语义分割网络进行训练,就可以生成语义分割结果。由于具有不同语义分割信息的像素可以具有不同的深度特征,因此,就可以基于每个图像帧的深度估计结果及语义分割结果,对中间深度估计网络进行训练,生成预设深度估计网络。
因此,通过预设深度估计网络,就可以更好地对处于物体边缘及物体内部的深度信息进行估计,以生成更加准确的深度图。
在一个具体的实施例中,如图12所示,提供了一种深度估计方法,包括:
步骤1202,将所述训练集中的当前帧输入至初始深度估计网络中进行处理,生成深度预测结果;
步骤1204,将所述训练集中所述当前帧的相邻帧输入至位姿估计网络,生成位姿变换信息;
步骤1206,根据所述深度预测结果及所述位姿变换信息,对所述初始深度估计网络进行训练,生成所述中间深度估计网络;
步骤1208,通过所述中间深度估计网络获取所述当前帧的深度估计结果。
步骤1210,将所述训练集中的当前帧输入到初始语义分割网络中,得到语义分割预测结果;
步骤1212,根据所述语义分割预测结果及语义标注数据集,对所述初始语义分割网络进行训练,生成所述中间语义分割网络;
步骤1214,通过所述中间语义分割网络获取所述当前帧的语义分割结果。
步骤1216,对所述语义分割结果中的前景分割结果进行膨胀操作得到外边缘,以及对所述前景分割结果进行腐蚀操作得到内边缘;根据所述外边缘和所述内边缘确定所述前景的边缘区域;
步骤1218,将所述前景分割结果中处于所述边缘区域之内的区域,作为所述前景的内部区域;
步骤1220,对所述外边缘上的每个第一像素点,在所述内边缘上确定与所述第一像素点距离最近的第二像素点,基于所述第一像素点和对应的第二像素点得到第一点对集合;
步骤1222,在所述内部区域中,确定第三像素点以及与所述第三像素点对应的第四像素点,基于第三像素点和第四像素点得到第二点对集合;所述第三像素点与所述第四像素点在第一方向上的距离、所述第三像素点与所述第四像素点在第二方向上的距离之间的距离均小于预设阈值;所述第一方向与第二方向相互垂直;
步骤1224,从所述深度估计结果中,获取所述第一点对集合中各点对的第一深度估计结果和所述第二点对集合中各点对的第二深度估计结果;
步骤1226,根据第一点对集合中各第一点对的第一深度估计结果及第一标注深度结果,计算第一语义损失函数的值;所述第一语义损失函数用于对第一深度估计结果之间的差值小于预设阈值的所述第一点对进行惩罚;
步骤1228,根据第二点对集合中各第二点对的第二深度估计结果及第二标注深度结果,计算第二语义损失函数的值;所述第二语义损失函数用于对第二深度估计结果之间的差值大于预设阈值的所述第二点对进行惩罚;
步骤1230,根据所述第一语义损失函数的值、所述第二语义损失函数的值调整所述中间深度估计网络的参数,生成所述预设深度估计网络;
步骤1232,获取待处理图像;
步骤1234,将待处理图像输入至预设深度估计网络中进行深度估计,得到所述待处理图像的深度信息;
步骤1236,通过尺度放缩将深度信息的范围归一化到预先规定的深度范围内。
本申请实施例中,将训练集中各图像帧输入至中间深度估计网络中进行训练,就可以生成深度估计结果。并将训练集中各图像帧输入至中间语义分割网络进行训练,就可以生成语义分割结果。由于具有不同语义分割信息的像素可以具有不同的深度特征,因此,就可以基于每个图像帧的深度估计结果及语义分割结果,对中间深度估计网络进行训练,生成预设深度估计网络。
因此,通过预设深度估计网络,就可以更好地对处于物体边缘及物体内部的深度信息进行估计,以生成更加准确的深度图。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图13所示,提供了一种深度估计装置1300,包括:
待处理图像获取模块1320,用于获取待处理图像;
深度估计模块1340,用于将待处理图像输入至预设深度估计网络中进行深度估计,得到待处理图像的深度信息;预设深度估计网络为基于训练集中各图像帧的语义分割结果及深度估计结果进行训练所生成的网络。
在一个实施例中,如图13所示,提供了一种深度估计装置1300,还包括:预设深度估计网络训练模块1360;其中,如图14所示,预设深度估计网络训练模块1360,包括深度估计及语义分割单元1362及预设深度估计网络生成单元1364;其中,
深度估计及语义分割单元1362,用于根据训练集中的各图像帧和中间深度估计网络得到深度估计结果,以及根据各图像帧和中间语义分割网络得到语义分割结果;
预设深度估计网络生成单元1364,用于根据深度估计结果及语义分割结果,对中间深度估计网络进行训练,生成预设深度估计网络。
在一个实施例中,预设深度估计网络生成单元1364,还用于根据所述深度估计结果及所述语义分割结果计算损失函数的值;基于所述损失函数的值对所述中间深度估计网络进行训练,生成所述预设深度估计网络。
在一个实施例中,预设深度估计网络生成单元1364,包括:
区域确定子单元,用于从语义分割结果中,确定语义分割结果中的前景的边缘区域和内部区域;
第一及第二深度估计结果确定子单元,用于根据所述边缘区域、所述内部区域从深度估计结果中,获取边缘区域的第一深度估计结果和内部区域的第二深度估计结果;
预设深度估计网络生成子单元,用于基于第一深度估计结果及第二深度估计结果,对中间深度估计网络进行训练,生成预设深度估计网络。
在一个实施例中,区域确定子单元,还用于对语义分割结果中的前景分割结果进行膨胀操作得到外边缘,以及对前景分割结果进行腐蚀操作得到内边缘;根据外边缘和内边缘确定前景的边缘区域;将前景分割结果中处于边缘区域之内的区域,作为前景的内部区域。
在一个实施例中,第一及第二深度估计结果确定子单元,还用于对外边缘上的m个第一像素点,在内边缘上确定与m个第一像素点距离最近的m个第二像素点,基于m个第一像素点和对应的m个第二像素点得到第一点对集合,所述m为正整数;在内部区域中,确定n个第三像素点以及与n个第三像素点对应的n个第四像素点,基于n个第三像素点和n个第四像素点得到第二点对集合,所述n为正整数;第三像素点和第四像素点的位置关系满足预设条件;从深度估计结果中,获取第一点对集合中各点对的第一深度估计结果和第二点对集合中各点对的第二深度估计结果。
在一个实施例中,第三像素点和第四像素点的位置关系满足预设条件,包括:第三像素点与第四像素点在第一方向上的距离小于第一预设距离阈值、第三像素点与第四像素点在第二方向上的距离之间的距离均小于第二预设距离阈值;第一方向与第二方向相互垂直。
在一个实施例中,预设深度估计网络生成子单元,还用于根据第一点对集合中各第一点对的第一深度估计结果及第一标注深度结果,计算第一语义损失函数的值;第一语义损失函数用于对第一深度估计结果之间的差值小于第一预设深度差阈值的第一点对进行惩罚;根据第二点对集合中各第二点对的第二深度估计结果及第二标注深度结果,计算第二语义损失函数的值;第二语义损失函数用于对第二深度估计结果之间的差值大于第二预设深度差阈值的第二点对进行惩罚;根据第一语义损失函数的值、第二语义损失函数的值调整中间深度估计网络的参数,生成预设深度估计网络。
在一个实施例中,预设深度估计网络生成子单元,还用于针对各第一点对,基于第一点对中第一像素点的第一深度估计结果与第一点对中第二像素点的第一深度估计结果之间的差值,构建第一语义损失函数;针对各第二点对,基于第二点对中第三像素点的第二深度估计结果与第二点对中第四像素点的第二深度估计结果之间的差值,构建第二语义损失函数。
在一个实施例中,深度估计及语义分割单元,包括:
深度预测结果生成子单元,用于将训练集中的各当前帧输入至初始深度估计网络中进行处理,生成深度预测结果;
位姿变换信息生成子单元,用于将训练集中各当前帧的相邻帧输入至位姿估计网络,生成位姿变换信息;
中间深度估计网络生成子单元,用于根据深度预测结果及位姿变换信息,对初始深度估计网络进行训练,生成中间深度估计网络;
当前帧的深度估计结果获取子单元,用于通过中间深度估计网络获取当前帧的深度估计结果。
在一个实施例中,中间深度估计网络生成子单元,还用于根据深度预测结果及位姿变换信息,生成合成图像;根据合成图像和当前帧,计算投影损失函数的值;通过投影损失函数的值对初始深度估计网络进行训练,生成中间深度估计网络。
在一个实施例中,深度估计及语义分割单元,还包括:
语义分割预测结果生成子单元,用于将训练集中的各当前帧输入到初始语义分割网络中,得到语义分割预测结果;
中间语义分割网络生成子单元,用于根据语义分割预测结果及语义标注数据集,对初始语义分割网络进行训练,生成中间语义分割网络;
当前帧的语义分割结果生成子单元,用于通过中间语义分割网络获取当前帧的语义分割结果。
在一个实施例中,中间语义分割网络生成子单元,还用于根据所述语义分割预测结果及语义分割数据集,构建交叉熵损失函数;通过所述交叉熵损失函数对所述初始语义分割网络进行训练,生成中间语义分割网络。
在一个实施例中,在所述初始深度估计网络及所述初始语义分割网络之前包括特征提取网络;所述初始深度估计网络包括第一上采样网络,所述初始语义分割网络包括第二上采样网络。
在一个实施例中,初始深度估计网络包括第一特征提取网络及第一上采样网络,初始语义分割网络包括第二特征提取网络及第二上采样网络。
在一个实施例中,提供了一种深度估计网络的训练装置,包括:
深度估计及语义分割模块,用于根据训练集中的各图像帧和中间深度估计网络得到深度估计结果,以及根据图像帧和中间语义分割网络得到语义分割结果;
预设深度估计网络生成模块,用于根据深度估计结果及语义分割结果,对中间深度估计网络进行训练,生成预设深度估计网络。
上述深度估计装置中各个模块的划分仅仅用于举例说明,在其他实施例中,可将深度估计装置按照需要划分为不同的模块,以完成上述深度估计装置的全部或部分功能。
关于深度估计装置的具体限定可以参见上文中对于深度估计方法的限定,在此不再赘述。上述深度估计装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图15为一个实施例中电子设备的内部结构示意图。该电子设备可以是手机、平板电脑、笔记本电脑、台式电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑、穿戴式设备等任意终端设备。该电子设备包括通过系统总线连接的处理器和存储器。其中,该处理器可以包括一个或多个处理单元。处理器可为CPU(Central Processing Unit,中央处理单元)或DSP(Digital Signal Processing,数字信号处理器)等。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种深度估计方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。
本申请实施例中提供的深度估计装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在电子设备上运行。该计算机程序构成的程序模块可存储在电子设备的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当计算机可执行指令被一个或多个处理器执行时,使得处理器执行深度估计方法的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行深度估计方法。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括ROM(Read-Only Memory,只读存储器)、PROM(Programmable Read-only Memory,可编程只读存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-only Memory,电可擦除可编程只读存储器)或闪存。易失性存储器可包括RAM(Random Access Memory,随机存取存储器),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如SRAM(Static Random Access Memory,静态随机存取存储器)、DRAM(Dynamic Random Access Memory,动态随机存取存储器)、SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存取存储器)、双数据率DDRSDRAM(Double Data Rate Synchronous Dynamic Random Access memory,双数据率同步动态随机存取存储器)、ESDRAM(Enhanced Synchronous Dynamic Random Access memory,增强型同步动态随机存取存储器)、SLDRAM(Sync Link Dynamic Random Access Memory,同步链路动态随机存取存储器)、RDRAM(Rambus Dynamic Random Access Memory,总线式动态随机存储器)、DRDRAM(Direct Rambus Dynamic Random Access Memory,接口动态随机存储器)。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (19)

1.一种深度估计方法,其特征在于,包括:
获取待处理图像;
将待处理图像输入至预设深度估计网络中进行深度估计,得到所述待处理图像的深度信息;所述预设深度估计网络为基于训练集中各图像帧的语义分割结果及深度估计结果进行训练所生成的网络。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述训练集中的各图像帧和中间深度估计网络得到所述深度估计结果,以及根据各所述图像帧和中间语义分割网络得到所述语义分割结果;
根据所述深度估计结果及所述语义分割结果,对所述中间深度估计网络进行训练,生成所述预设深度估计网络。
3.根据权利要求2所述的方法,其特征在于,所述根据所述深度估计结果及所述语义分割结果,对所述中间深度估计网络进行训练,生成所述预设深度估计网络,包括:
根据所述深度估计结果及所述语义分割结果计算损失函数的值;
基于所述损失函数的值对所述中间深度估计网络进行训练,生成所述预设深度估计网络。
4.根据权利要求2所述的方法,其特征在于,所述根据深度估计结果及所述语义分割结果,对所述中间深度估计网络进行训练,生成所述预设深度估计网络,包括:
从所述语义分割结果中,确定所述语义分割结果中的前景的边缘区域和内部区域;
根据所述边缘区域、所述内部区域从所述深度估计结果中,获取所述边缘区域的第一深度估计结果和所述内部区域的第二深度估计结果;
基于所述第一深度估计结果及所述第二深度估计结果,对所述中间深度估计网络进行训练,生成所述预设深度估计网络。
5.根据权利要求4所述的方法,其特征在于,所述从所述语义分割结果中,确定所述语义分割结果中的前景的边缘区域和内部区域,包括:
对所述语义分割结果中的前景分割结果进行膨胀操作得到外边缘,以及对所述前景分割结果进行腐蚀操作得到内边缘;
根据所述外边缘和所述内边缘确定所述前景的边缘区域;
将所述前景分割结果中处于所述边缘区域之内的区域,作为所述前景的内部区域。
6.根据权利要求5所述的方法,其特征在于,所述根据所述边缘区域、所述内部区域从所述深度估计结果中,获取所述边缘区域的第一深度估计结果和所述内部区域的第二深度估计结果,包括:
对所述外边缘上的m个第一像素点,在所述内边缘上确定与所述m个第一像素点距离最近的m个第二像素点,基于所述m个第一像素点和对应的所述m个第二像素点得到第一点对集合,所述m为正整数;
在所述内部区域中,确定n个第三像素点以及与所述n个第三像素点对应的n个第四像素点,基于所述n个第三像素点和所述n个第四像素点得到第二点对集合,所述n为正整数;所述第三像素点和所述第四像素点的位置关系满足预设条件;
从所述深度估计结果中,获取所述第一点对集合中各点对的第一深度估计结果和所述第二点对集合中各点对的第二深度估计结果。
7.根据权利要求6所述的方法,其特征在于,所述第三像素点和所述第四像素点的位置关系满足预设条件,包括:
所述第三像素点与所述第四像素点在第一方向上的距离小于第一预设距离阈值、所述第三像素点与所述第四像素点在第二方向上的距离之间的距离小于第二预设距离阈值;所述第一方向与第二方向相互垂直。
8.根据权利要求6所述的方法,其特征在于,所述基于所述第一深度估计结果及所述第二深度估计结果,对所述中间深度估计网络进行训练,生成所述预设深度估计网络,包括:
根据第一点对集合中各第一点对的第一深度估计结果及第一标注深度结果,计算第一语义损失函数的值;所述第一语义损失函数用于对第一深度估计结果之间的差值小于第一预设深度差阈值的所述第一点对进行惩罚;
根据第二点对集合中各第二点对的第二深度估计结果及第二标注深度结果,计算第二语义损失函数的值;所述第二语义损失函数用于对第二深度估计结果之间的差值大于第二预设深度差阈值的所述第二点对进行惩罚;
根据所述第一语义损失函数的值、所述第二语义损失函数的值调整所述中间深度估计网络的参数,生成所述预设深度估计网络。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
针对各所述第一点对,基于所述第一点对中所述第一像素点的第一深度估计结果与所述第一点对中所述第二像素点的第一深度估计结果之间的差值,构建所述第一语义损失函数;
针对各所述第二点对,基于所述第二点对中所述第三像素点的第二深度估计结果与所述第二点对中所述第四像素点的第二深度估计结果之间的差值,构建所述第二语义损失函数。
10.根据权利要求2所述的方法,其特征在于,所述根据各所述训练集中的图像帧和中间深度估计网络得到所述深度估计结果,包括:
将所述训练集中的各当前帧输入至初始深度估计网络中进行处理,生成深度预测结果;
将所述训练集中各所述当前帧的相邻帧输入至位姿估计网络,生成位姿变换信息;
根据所述深度预测结果及所述位姿变换信息,对所述初始深度估计网络进行训练,生成所述中间深度估计网络;
通过所述中间深度估计网络获取所述当前帧的深度估计结果。
11.根据权利要求10所述的方法,其特征在于,所述根据所述深度预测结果及所述位姿变换信息,对所述初始深度估计网络进行训练,生成所述中间深度估计网络,包括:
根据所述深度预测结果及所述位姿变换信息,生成合成图像;
根据所述合成图像和所述当前帧,计算投影损失函数的值;
通过所述投影损失函数的值对所述初始深度估计网络进行训练,生成所述中间深度估计网络。
12.根据权利要求2所述的方法,其特征在于,所述根据各所述图像帧和中间语义分割网络得到所述语义分割结果,还包括:
将所述训练集中的各当前帧输入到初始语义分割网络中,得到语义分割预测结果;
根据所述语义分割预测结果及语义标注数据集,对所述初始语义分割网络进行训练,生成所述中间语义分割网络;
通过所述中间语义分割网络获取所述当前帧的语义分割结果。
13.根据权利要求12所述的方法,其特征在于,所述根据所述语义分割预测结果及语义分割数据集,对所述初始语义分割网络进行训练,生成中间语义分割网络,包括:
根据所述语义分割预测结果及语义分割数据集,构建交叉熵损失函数;
通过所述交叉熵损失函数对所述初始语义分割网络进行训练,生成中间语义分割网络。
14.根据权利要求12所述的方法,其特征在于,在所述初始深度估计网络及所述初始语义分割网络之前包括特征提取网络;所述初始深度估计网络包括第一上采样网络,所述初始语义分割网络包括第二上采样网络。
15.根据权利要求12所述的方法,其特征在于,所述初始深度估计网络包括第一特征提取网络及第一上采样网络,所述初始语义分割网络包括第二特征提取网络及第二上采样网络。
16.一种深度估计网络的训练方法,其特征在于,包括:
根据所述训练集中的各图像帧和中间深度估计网络得到所述深度估计结果,以及根据各所述图像帧和中间语义分割网络得到所述语义分割结果;
根据所述深度估计结果及所述语义分割结果,对所述中间深度估计网络进行训练,生成预设深度估计网络。
17.一种深度估计装置,其特征在于,包括:
待处理图像获取模块,用于获取待处理图像;
深度估计模块,用于将待处理图像输入至预设深度估计网络中进行深度估计,得到所述待处理图像的深度信息;所述预设深度估计网络为基于训练集中各图像帧的语义分割结果及深度估计结果进行训练所生成的网络。
18.一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,其特征在于,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至15中任一项所述的深度估计方法及权利要求16中所述的深度估计网络的训练方法的步骤。
19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至15中任一项所述的深度估计方法及权利要求16中所述的深度估计网络的训练方法的步骤。
CN202111682192.5A 2021-12-28 2021-12-28 深度估计方法、装置、电子设备和计算机可读存储介质 Pending CN114359361A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111682192.5A CN114359361A (zh) 2021-12-28 2021-12-28 深度估计方法、装置、电子设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111682192.5A CN114359361A (zh) 2021-12-28 2021-12-28 深度估计方法、装置、电子设备和计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN114359361A true CN114359361A (zh) 2022-04-15

Family

ID=81106106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111682192.5A Pending CN114359361A (zh) 2021-12-28 2021-12-28 深度估计方法、装置、电子设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114359361A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114882091A (zh) * 2022-04-29 2022-08-09 中国科学院上海微系统与信息技术研究所 一种结合语义边缘的深度估计方法
CN117115786A (zh) * 2023-10-23 2023-11-24 青岛哈尔滨工程大学创新发展中心 一种联合分割跟踪的深度估计模型训练方法及使用方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114882091A (zh) * 2022-04-29 2022-08-09 中国科学院上海微系统与信息技术研究所 一种结合语义边缘的深度估计方法
CN114882091B (zh) * 2022-04-29 2024-02-13 中国科学院上海微系统与信息技术研究所 一种结合语义边缘的深度估计方法
CN117115786A (zh) * 2023-10-23 2023-11-24 青岛哈尔滨工程大学创新发展中心 一种联合分割跟踪的深度估计模型训练方法及使用方法
CN117115786B (zh) * 2023-10-23 2024-01-26 青岛哈尔滨工程大学创新发展中心 一种联合分割跟踪的深度估计模型训练方法及使用方法

Similar Documents

Publication Publication Date Title
US11176381B2 (en) Video object segmentation by reference-guided mask propagation
CN112017189B (zh) 图像分割方法、装置、计算机设备和存储介质
CN108961327B (zh) 一种单目深度估计方法及其装置、设备和存储介质
EP3510561B1 (en) Predicting depth from image data using a statistical model
US11178324B2 (en) Focusing method and device, electronic device and computer-readable storage medium
CN112132156B (zh) 多深度特征融合的图像显著性目标检测方法及系统
CN113056743A (zh) 训练神经网络以用于车辆重新识别
CN110414344B (zh) 一种基于视频的人物分类方法、智能终端及存储介质
CN110942471B (zh) 一种基于时空约束的长时目标跟踪方法
CN110163188B (zh) 视频处理以及在视频中嵌入目标对象的方法、装置和设备
dos Santos Rosa et al. Sparse-to-continuous: Enhancing monocular depth estimation using occupancy maps
CN110781744A (zh) 一种基于多层次特征融合的小尺度行人检测方法
CN114359361A (zh) 深度估计方法、装置、电子设备和计算机可读存储介质
CN113807361B (zh) 神经网络、目标检测方法、神经网络训练方法及相关产品
EP3836083B1 (en) Disparity estimation system and method, electronic device and computer program product
CN112101195B (zh) 人群密度预估方法、装置、计算机设备和存储介质
US20240161304A1 (en) Systems and methods for processing images
Zhang et al. Exploring event-driven dynamic context for accident scene segmentation
CN112597918A (zh) 文本检测方法及装置、电子设备、存储介质
CN112733672A (zh) 基于单目相机的三维目标检测方法、装置和计算机设备
CN111652245B (zh) 车辆轮廓检测方法、装置、计算机设备及存储介质
CN116433903A (zh) 实例分割模型构建方法、系统、电子设备及存储介质
CN115731263A (zh) 融合移位窗口注意力的光流计算方法、系统、设备及介质
CN116309050A (zh) 图像超分辨率方法、程序产品、存储介质及电子设备
CN114757819A (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