CN117611648A - 一种图像深度估计方法、系统和存储介质 - Google Patents
一种图像深度估计方法、系统和存储介质 Download PDFInfo
- Publication number
- CN117611648A CN117611648A CN202311649200.5A CN202311649200A CN117611648A CN 117611648 A CN117611648 A CN 117611648A CN 202311649200 A CN202311649200 A CN 202311649200A CN 117611648 A CN117611648 A CN 117611648A
- Authority
- CN
- China
- Prior art keywords
- image
- sample
- plane
- estimation
- determining
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 239000013598 vector Substances 0.000 claims description 111
- 238000012549 training Methods 0.000 claims description 83
- 230000011218 segmentation Effects 0.000 claims description 9
- 230000000873 masking effect Effects 0.000 claims 2
- 230000006870 function Effects 0.000 description 31
- 238000012545 processing Methods 0.000 description 28
- 238000012986 modification Methods 0.000 description 16
- 230000004048 modification Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 230000003287 optical effect Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000003384 imaging method Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000011524 similarity measure Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本说明书实施例提供一种图像深度估计方法、系统和存储介质,可以实现提高畸变图像深度值估计的效率和准确性。方法包括:获取目标图像,目标图像包括多个像素点;基于训练好的平面估计模型,确定多个像素点分别对应的多个估计平面;基于目标图像对应的图像平面和相机平面,确定多个像素点分别对应的多条射线;基于多个估计平面和多条射线,确定多个像素点分别对应的深度估计值。
Description
技术领域
本说明书涉及图像处理技术领域,特别涉及一种图像深度估计方法、系统和存储介质。
背景技术
大视野范围的相机(例如,鱼眼相机)在自动驾驶系统、监控系统中广泛使用。然而,大视场角(FOV)获取的图像存在很大的畸变,例如,鱼眼相机获取的图像中边界处存在非线性畸变,使得对图像的深度估计更加复杂。
因此,希望提供一种图像深度估计方案,可以实现提高畸变图像深度值估计的效率和准确性。
发明内容
本说明书一个或多个实施例提供一种图像深度估计方法,所述方法包括:获取目标图像,目标图像包括多个像素点;基于训练好的平面估计模型,确定多个像素点分别对应的多个估计平面;基于目标图像对应的图像平面和相机平面,确定多个像素点分别对应的多条射线;基于多个估计平面和多条射线,确定多个像素点分别对应的深度估计值。
本说明书一个或多个实施例提供一种图像深度估计系统,所述系统包括:图像获取模块,用于获取目标图像,目标图像包括多个像素点;平面确定模块,用于基于训练好的平面估计模型,确定多个像素点分别对应的多个估计平面;射线获取模块,用于基于目标图像对应的图像平面和相机平面,确定多个像素点分别对应的多条射线;深度估计模块,用于基于多个估计平面和多条射线,确定多个像素点分别对应的深度估计值。
本说明书一个或多个实施例提供一种图像深度估计装置,所述装置包括至少一个存储介质,存储计算机指令;至少一个处理器,执行所述计算机指令,以实现图像深度估计方法。
本说明书一个或多个实施例提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取所述计算机指令时,所述计算机执行图像深度估计方法。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的示例性图像深度估计系统的应用场景示意图;
图2是根据本说明书一些实施例所示的示例性图像深度估计系统的模块图;
图3是根据本说明书一些实施例所示的示例性图像深度估计方法的流程图;
图4是根据本说明书一些实施例所示的示例性平面估计模型的训练方法的流程图;
图5是根据本说明书一些实施例所示的示例性确定向量梯度误差项的值的流程图;
图6A和图6B分别是根据本说明书一些实施例所示的示例性目标图像和目标对象的示意图;
图7是根据本说明书一些实施例所示的示例性目标图像和目标对象的投影关系的示意图;
图8是根据本说明书一些实施例所示的示例性估计平面的示意图;
图9是根据本说明书一些实施例所示的示例性训练初始平面估计模型的示意图;
图10A和图10B是根据本说明书一些实施例所示的示例性样本图像的示意图;
图11是根据本说明书一些实施例所示的示例性对目标对象进行三维重建的方法的流程图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中。
图1是根据本说明书一些实施例所示的示例性图像深度估计系统的应用场景示意图。在一些实施例中,图像深度估计系统可以应用于多种畸变图像校正场景,例如,鱼眼相机获取的图像的校正。在一些实施例中,图像深度估计系统可以通过实施本说明书披露的方法和/或过程,实现提高目标图像中边界处深度估计值的准确性。在一些实施例中,如图1所示,图像深度估计系统100可以包括处理设备110、相机120、终端设备130、存储设备140和网络150。
处理设备110可以用于处理来自图像深度估计系统100的至少一个组件或外部数据源(例如,云数据中心)的数据和/或信息。例如,处理设备110可以基于训练好的平面估计模型,确定目标图像中多个像素点分别对应的多个估计平面。又例如,处理设备110可以基于多个估计平面确定多个像素点分别对应的深度估计值。再例如,处理设备110可以训练初始平面估计模型,得到训练好的平面估计模型。在一些实施例中,处理设备110可以包括中央处理单元(CPU)、数字信号处理器(DSP)、片上系统(SoC)、微控制器单元(MCU)、计算机、用户控制台等或其任意组合。在一些实施例中,处理设备110可以包括单个服务器或服务器组。服务器组可以是集中式或分布式的。在一些实施例中,处理设备110可以是本地的或远程的。在一些实施例中,处理设备110可以在云平台上实现。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
相机120可以用于获取图像。在一些实施例中,相机120可以通过网络150实现与处理设备110的通信。例如,相机120可以通过网络150向处理设备110发送目标图像。在一些实施例中,相机120可以是车辆辅助驾驶系统中的相机传感器、监控系统中监控设备等。上述示例仅用于说明相机120范围的广泛性而非对其范围的限制。在一些实施例中,相机120可以包括大视场相机(例如,广角相机、鱼眼相机等)、针孔相机等。
终端设备130可以是显示图像的终端设备。在一些实施例中,终端设备130可以通过网络从处理设备110、存储设备140接收目标图像、样本图像、三维重建图像等,并通过屏幕向用户显示。在一些实施例中,终端设备130可以包括移动设备、平板计算机、膝上型计算机、其他具有输入和/或输出功能的设备等或其任意组合。
存储设备140可以用于存储数据、指令和/或任何其他信息。例如,存储设备可以存储障碍物数据、环境数据等。在一些实施例中,存储设备可包括随机存取存储器(RAM)、只读存储器(ROM)、大容量存储器、可移动存储器、易失性读写存储器等或其任意组合。在一些实施例中,存储设备可以集成或包括在图像深度估计系统100的一个或多个其他组件(例如,处理设备110、相机120、终端设备130)。
网络150可以促进信息和/或数据的交换。在一些实施例中,图像深度估计系统100的一个或以上组件(例如,处理设备110、相机120、终端设备130、存储设备140)可以通过网络150向图像深度估计系统100的其他组件发送信息和/或数据。在一些实施例中,网络150可以包括有线网络或无线网络中的任意一种或多种。在一些实施例中,网络150可以包括电缆网络、光纤网络、电信网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigBee)、近场通信(NFC)、设备内总线、设备内线路、线缆连接等或其任意组合。在一些实施例中,图像深度估计系统100各组件之间的网络连接可以采用上述一种方式,也可以采取多种方式。在一些实施例中,网络可以是点对点的、共享的、中心式的等各种拓扑结构或者多种拓扑结构的组合。
值得注意的是,图像深度估计系统100仅出于说明目的而提供,并不旨在限制本说明书的范围。对于本领域的普通技术人员来说,可以根据本说明书的描述,做出各种各样的变化和修改。例如,图像深度估计系统100还可以包括数据库、信息源等。又例如,图像深度估计系统100可以在其他设备上实现以实现相似或不同的功能。然而,这些变化和修改不会背离本说明书的范围。
图2是根据本说明书一些实施例所示的示例性图像深度估计系统的示意图。在一些实施例中,图像深度估计系统200可以通过处理设备110实现。在一些实施例中,如图2所示,图像深度估计系统200可以包括图像获取模块210、平面确定模块220、射线获取模块230和深度估计模块240。
图像获取模块210可以用于获取目标图像。在一些实施例中,目标图像包括多个像素点。
平面确定模块220可以用于基于训练好的平面估计模型,确定多个像素点分别对应的多个估计平面。
射线获取模块230可以用于基于目标图像对应的图像平面和相机平面,确定多个像素点分别对应的多条射线。
深度估计模块240可以用于基于多个估计平面和多条射线,确定多个像素点分别对应的深度估计值。
在一些实施例中,图像深度估计系统200还可以包括模型训练模块。模型训练模块可以用于获取训练好的平面估计模型。在一些实施例中,模型训练模块可以获取多个训练样本。在一些实施例中,每个训练样本包括样本图像和样本图像的前一帧图像。在一些实施例中,模型训练模块可以执行以下一个或多个操作:对初始样本图像和初始样本图像的前一帧初始图像分别进行语义分割,确定初始样本图像的第一背景区域和前一帧初始图像的第二背景区域;屏蔽初始样本图像的第一背景区域,确定样本图像;屏蔽前一帧初始图像的第二背景区域,确定样本图像的前一帧图像。在一些实施例中,模型训练模块可以执行以下一个或多个操作:对初始样本图像和初始样本图像的前一帧初始图像分别进行缩放操作,确定样本图像和前一帧图像。在一些实施例中,对于每个训练样本,模型训练模块可以执行以下一个或多个操作:基于初始平面估计模型,确定样本图像的多个样本像素点分别对应的多个样本估计平面;基于样本图像对应的图像平面和相机平面,确定多个样本像素点分别对应的多条样本射线;基于多个样本估计平面和多条样本射线,确定多个样本像素点分别对应的多个样本深度估计值;基于多个样本像素点分别对应的多个样本深度估计值,对前一帧图像进行反投影操作以确定前一帧图像对应的反投影图像;基于每个训练样本对应的样本图像以及反投影图像,确定损失函数的函数值。在一些实施例中,损失函数可以包括重投影误差项和向量梯度误差项。在一些实施例中,模型训练模块可以执行以下一个或多个操作:基于样本图像的多个样本像素点的像素值和反投影图像的多个像素点的像素值,确定重投影误差项的值;基于样本图像的多个样本像素点的像素值和多个样本估计平面的平面参数,确定向量梯度误差项的值。在一些实施例中,模型训练模块可以执行以下一个或多个操作:获取样本图像的多个样本像素点中各行样本像素点与前一行样本像素点之间的行向量梯度;获取样本图像的多个样本像素点中各列样本像素点与前一列样本像素点对应的列向量梯度;基于行向量梯度和列向量梯度,分别确定行向量梯度误差和列向量梯度误差;基于样本图像的多个样本像素点的像素值、行向量梯度误差和列向量梯度误差,确定向量梯度误差项的值。在一些实施例中,行向量梯度可以基于各行样本像素点对应的第一样本估计平面和前一行样本像素点对应的第二样本估计平面确定。在一些实施例中,列向量梯度可以基于各列样本像素点对应的第三样本估计平面和前一列样本像素点对应的第四样本估计平面确定。在一些实施例中,模型训练模块可以基于损失函数的函数值,迭代更新初始平面估计模型,直至满足训练终止条件。在一些实施例中,训练好的平面估计模型应用于第一相机。在一些实施例中,模型训练模块可以执行以下一个或多个操作:基于第二相机的相机参数,调整训练好的平面估计模型;将调整后的平面估计模型应用于第二相机。
在一些实施例中,图像深度估计系统200还可以包括三维重建模块。在一些实施例中,三维重建模块可以用于执行以下一个或多个操作:获取目标图像中的目标对象;从多个估计平面中确定目标对象对应的多个目标平面;基于多个目标平面的平面参数,对目标对象进行三维重建。
需要注意的是,以上对于图像深度估计系统200及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该装置的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子装置与其他模块连接。在一些实施例中,图2中披露的模块可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
图3是根据本说明书一些实施例所示的示例性图像深度估计方法的流程图。在一些实施例中,流程300可以由图像深度估计系统100(例如,处理设备110)或图像深度估计系统200执行。例如,流程300可以以程序或指令的形式存储在存储设备中,当图像深度估计系统100(例如,处理设备110)或图像深度估计系统200执行指令时,可以实现流程300。下面呈现的流程300的操作示意图是说明性的。在一些实施例中,可以利用一个或以上未描述的附加操作和/或未讨论的一个或以上操作来完成该过程。另外,图3中示出的和下面描述的流程300的操作的顺序并非限制性的。
步骤310,获取目标图像。具体地,步骤310可以由图像获取模块210执行。
目标图像可以是需要估计深度值的图像。仅作为示例,目标图像可以是包含目标对象的畸变图像。其中,目标对象可以是交通参与者(例如,行人、车辆、车道标识、交通信号灯、道路隔离物等)或其一部分。畸变图像可以是像素点的位置存在畸变的图像。在一些实施例中,目标图像可以包括多个像素点。每个像素点可以和目标对象上的一个物理点对应。其中,多个像素点的位置畸变可以是线性的,也可以是非线性的。
例如,图6A和图6B分别是根据本说明书一些实施例所示的示例性目标图像和示例性去畸变后的目标对象的示意图,如图6A和图6B所示,目标图像中的像素点A、B、C可以分别和目标对象“车辆保险杠”内侧边缘上的三个物理点A’、B’、C’对应,三个物理点在同一条直线上,对应的三个像素点没有在同一条直线上,其位置关系存在畸变。
在一些实施例中,目标图像的格式可以包括Joint Photographic Experts Group(JPEG)图像格式、Tagged Image File Format(TIFF)图像格式、Graphics InterchangeFormat(GIF)图像格式、Kodak Flash PiX(FPX)图像格式、Digital Imaging andCommunications in Medicine(DICOM)图像格式等。
在一些实施例中,图像获取模块210可以从相机120获取目标图像。在一些实施例中,图像获取模块210可以将从相机120获取的初始图像作为目标图像。在一些实施例中,图像获取模块210可以对从相机120获取的初始图像进行预处理,获取对应的目标图像。关于对初始图像进行预处理的详细描述可以参见步骤410对样本图像进行预处理的相关描述,在不再赘述。
步骤320,基于训练好的平面估计模型,确定多个像素点分别对应的多个估计平面。具体地,步骤320可以由平面确定模块220执行。
估计平面是目标图像中的像素点对应的物理点所在的平面。在一些实施例中,估计平面、目标图像对应的图像平面和相机平面相互平行。其中,目标图像对应的图像平面可以是目标对象的成像平面。相机平面是像素点对应的物理点在相机上投影点的平面或切平面。例如,图7是根据本说明书一些实施例所示的示例性目标图像和目标对象的投影关系的示意图,如图7所示,O是相机坐标系下的光心,通过光心O的光线方向不变,目标图像中的像素点p(未示出)和图像平面上的成像点pi、目标对象上的物理点pw相对应,物理点pw在相机上的投影为相机平面上的投影点pc,目标图像对应的图像平面、物理点pw所在的估计平面和投影点pc对应的相机平面相互平行。
在一些实施例中,估计平面可以用多个平面参数表示。仅作为示例,估计平面可以用一般式平面方程Ax+By+Cz+D=0的参数A、B、C、D表示。作为又一示例,估计平面可以用估计平面的法向量(A,B,C,D)表示。
在一些实施例中,目标图像中的多个像素点对应的多个估计平面可以用于对目标对象进行三维重建。关于基于多个估计平面对目标对象进行三维重建的详细描述可以参见图11及其相关描述。
平面估计模型可以是确定估计平面的模型。在一些实施例中,平面估计模型的输入是目标图像,输出是目标图像中多个像素点对应的多个估计平面的平面参数。例如,目标图像包括640×480个像素点,平面估计模型可以基于输入的目标图像输出640×480个估计平面的平面参数。在一些实施例中,平面估计模型可以是神经网络模型。仅作为示例,平面估计模型可以是深度值网络(Depth Network)模型、卷积神经网络(Convolutional NeuralNetworks,CNN)模型等。关于平面估计模型的训练方法的详细描述可以参见图4及其相关描述。
步骤330,基于目标图像对应的图像平面和相机平面,确定多个像素点分别对应的多条射线。具体地,步骤330可以由射线获取模块230执行。
由前述可知,像素点对应的相机平面是像素点对应的物理点在相机上投影点的平面或切平面。在一些实施例中,多个像素点对应的多个相机平面可以重合。例如,多个像素点对应的多个物理点在平面相机上的多个投影点在同一相机平面上。在一些实施例中,多个像素点对应的多个相机平面可以不重合。例如,多个像素点对应的多个物理点在凸面相机(如鱼眼镜)上的多个投影点在不同的相机平面上。
像素点对应的射线可以是像素点对应的投影点在相机坐标系中的投影方向,即相机坐标系的光心到像素点对应的投影点的方向。例如,如图7所示,像素点p对应的射线可以是光心O到相机平面上投影点pc的方向。
具体地,在一些实施例中,射线获取模块230可以基于像素点对应的成像点在图像平面上的坐标位置,获取对应的投影点在相机平面上的横坐标和纵坐标。在一些实施例中,射线获取模块230可以通过公式(1)获取投影点的横坐标和纵坐标。
其中,xc和yc是像素点p对应的投影点pc在相机坐标系下的横坐标和纵坐标;xi和yi是像素点p对应的成像点pi在图像坐标系下的横坐标和纵坐标,μ是图像平面的中心点的横坐标,γ是图像平面中心点的纵坐标,fx和fy分别是图像平面在图像平面的横轴方向和纵轴方向上的焦距,其中,μ、γ、fx和fy构成相机的内参K,
在一些实施例中,射线获取模块230可以基于相机的内参,对多个像素点对应的成像点在图像平面上的坐标位置进行批量处理,获取对应的多个投影点的横坐标和纵坐标。
进一步地,在一些实施例中,射线获取模块230可以基于像素点对应的投影点在相机平面上的横坐标和纵坐标,确定像素点对应的射线。在一些实施例中,射线获取模块230可以通过公式(2)获取像素点对应的射线。
其中,是像素点p对应的射线,是在相机坐标系下的光点O到投影点pc方向上的单位向量,其中,
步骤340,基于多个估计平面和多条射线,确定多个像素点分别对应的深度估计值。具体地,步骤340可以由深度估计模块240执行。
像素点对应的深度估计值可以是像素点对应的物理点到光心的距离。例如,如图7所示,像素点p对应的深度估计值可以是Opw。
在一些实施例中,深度估计模块240可以基于多条射线和多个估计平面,确定多个像素点对应的多个物理点,并基于多个物理点到光心的向量确定多个物理点到光心的距离,即多个像素点对应的多个深度估计值。例如,图8是根据本说明书一些实施例所示的示例性估计平面的示意图,如图8所示,是像素点p(未示出)对应的估计平面的单位法向量,深度估计模块240基于像素点p(未示出)对应的射线和估计平面的交点,可以确定光心O到物理点pw的向量,并基于光心O到物理点pw的向量确定物理点pw到光心O的距离,即像素点p对应的深度估计值。
在一些实施例中,深度估计模块240可以通过公式(3)确定像素点对应的物理点到光心的向量。
其中,是光心O到物理点pw的向量,其中,zw即像素点对应的深度估计值;是估计平面的单位法向量A、B、C和D是估计平面的一般平面方程的平面参数。
在本说明书的一些实施例中,平面估计模型基于目标图像的多个像素点预测对应的多个物理点所在的估计平面,再结合光线方向的投影关系获取深度值,可以减少目标图像边界处深度值的跳变,提高目标图像边界的深度值的平滑性和准确性。
应当注意,关于流程300的以上描述仅是出于说明的目的而提供的,并且无意于限制本说明书的范围。对于本领域的普通技术人员来说,可以根据本说明书的描述,做出各种各样的变化和修改。然而,这些变化和修改不脱离本说明书的范围。在一些实施例中,流程300可以包括一个或以上附加操作,或者可以省略上述一个或以上操作。
图4是根据本说明书一些实施例所示的示例性平面估计模型的训练方法的流程图。在一些实施例中,流程400可以由图像深度估计系统100(例如,处理设备110)或图像深度估计系统200(例如,模型训练模块)执行。例如,流程400可以以程序或指令的形式存储在存储设备中,当图像深度估计系统100(例如,处理设备110)或图像深度估计系统200(例如,模型训练模块)执行指令时,可以实现流程400。下面呈现的流程400的操作示意图是说明性的。在一些实施例中,可以利用一个或以上未描述的附加操作和/或未讨论的一个或以上操作来完成该过程。另外,图4中示出的和下面描述的流程400的操作的顺序并非限制性的。
步骤410,获取多个训练样本。
在一些实施例中,每个训练样本可以包括样本图像和样本图像的前一帧图像。样本图像可以是在历史时刻获取的需要估计深度值的图像。样本图像的前一帧图像可以是在历史时刻的上一时刻获取的需要估计深度值的图像。样本图像(或样本图像的前一帧图像)可以是包含历史对象的畸变图像。关于样本图像(或样本图像的前一帧图像)的详细描述可以参见步骤310关于目标图像的相关描述,在此不再赘述。
在一些实施例中,模型训练模块可以获取初始样本图像和初始样本图像的前一帧初始图像。关于获取初始样本图像和初始样本图像的前一帧图像的详细描述可以参见步骤310关于获取目标图像的相关描述,在此不再赘述。
在一些实施例中,模型训练模块可以将初始样本图像和初始样本图像的前一帧初始图像作为样本图像和样本图像的前一帧图像。
在一些实施例中,模型训练模块可以对初始样本图像和初始样本图像的前一帧初始图像进行预处理,以获取样本图像和样本图像的前一帧图像。在一些实施例中,预处理可以包括语义分割处理、缩放处理等。
语义分割是指确定图像中像素的类别(例如,背景区域、非背景区域、目标对象等)。具体地,在一些实施例中,模型训练模块可以对初始样本图像和初始样本图像的前一帧初始图像分别进行语义分割,确定初始样本图像的第一背景区域和前一帧初始图像的第二背景区域。在一些实施例中,模型训练模块可以利用分割模型,从初始样本图像中分割出第一背景区域,从前一帧初始图像中分割出第二背景区域。在一些实施例中,分割模型可以是传统分割算法模型(例如,区域生长法、边缘检测法等)、结合特定工具的图像分割算法模型(例如,遗传算法、主动轮廓模型等)、神经网络模型(例如,全卷积网络(FullyConvolutional Networks,FCN)模型、视觉几何组网络(Visual Geometry Group,VGG Net)模型、高效神经网络(Efficient Neural Network,ENet)模型等)等。在一些实施例中,模型训练模块可以通过人工标注从从初始样本图像中分割出第一背景区域,从前一帧初始图像中分割出第二背景区域。
进一步地,在一些实施例中,模型训练模块可以屏蔽初始样本图像的第一背景区域,确定样本图像;屏蔽前一帧初始图像的第二背景区域,确定样本图像的前一帧图像。仅作为示例,模型训练模块可以将第一背景区域和第二背景区域中的像素点信息过滤,从而获取样本图像和样本图像的前一帧图像。
在本说明书的一些实施例中,通过语义分割屏蔽掉训练样本中的背景区域,可以过滤掉训练样本中对训练没有帮助的信息(例如,无效距离),减少计算量,同时避免损失函数引入非必要误差,从而提高平面估计模型的训练效率。
缩放处理是对图像尺寸进行压缩或放大。在一些实施例中,模型训练模块可以对初始样本图像和初始样本图像的前一帧初始图像分别进行缩放操作,确定样本图像和前一帧图像。具体地,模型训练模块可以基于预先设置的图像尺寸标准,对初始样本图像和初始样本图像的前一帧初始图像分别进行缩小或者放大操作。例如,图像尺寸标准为480×640,初始样本图像前一帧初始图像的尺寸为1440×1280,模型训练模块可以对初始样本图像和前一帧初始图像在横向上缩小3倍,在纵向上缩小2倍。
在本说明书的一些实施例中,通过缩放操作可以统一多个训练样的图像尺寸,从而提高平面估计模型的训练效率。
步骤420,获取每个训练样本对应的反投影图像。具体地,步骤420可以包括步骤422、步骤424、步骤426和/或步骤428。
步骤422,基于初始平面估计模型,确定样本图像的多个样本像素点分别对应的多个样本估计平面。
在一些实施例中,样本图像可以包括多个样本像素点。样本估计平面是样本图像中的样本像素点对应的历史物理点所在的平面。其中,历史物理点是样本像素点在历史目标对象上对应的物理点。关于基于初始平面模型确定样本图像的多个样本像素点对应的多个样本估计平面的详细描述可以参见步骤320对基于平面模型确定目标图像的多个像素点对应的多个估计平面的相关描述。
步骤424,基于样本图像对应的图像平面和相机平面,确定多个样本像素点分别对应的多条样本射线。
样本像素点对应的样本射线可以是样本像素点对应的样本投影点在相机坐标系中的投影方向,即相机坐标系的光心到样本像素点对应的投影点的方向。关于基于样本图像对应的图像平面和相机平面,确定多个样本像素点分别对应的多条样本射线的详细描述可以参见步骤330对基于目标图像对应的图像平面和相机平面,确定多个像素点分别对应的多条射线的相关描述。
步骤426,基于多个样本估计平面和多条样本射线,确定多个样本像素点分别对应的多个样本深度估计值。
样本像素点对应的样本深度估计值可以是样本像素点对应的历史物理点到光心的距离。关于基于多个样本估计平面和多条样本射线,确定多个样本像素点分别对应的多个样本深度估计值的详细描述可以参见步骤340对基于多个估计平面和多条射线,确定多个像素点分别对应的深度估计值的相关描述。
步骤428,基于多个样本像素点分别对应的多个样本深度估计值,对前一帧图像进行反投影操作以确定前一帧图像对应的反投影图像。
前一帧图像对应的反投影图像可以是基于前一帧图像的样本深度估计值获取的历史对象的投影图像。在一些实施例中,模型训练模块可以基于样本图像和前一帧图像,确定投影参数,然后基于投影参数和样本图像的多个样本深度估计值,确定前一帧图像的多个样本深度估计值,然后基于前一帧图像的多个样本深度估计值获取前一帧图像对应的反投影图像。
在一些实施例中,模型训练模块可以基于反投影模型获取前一帧图像对应的反投影图像。具体地,可以将样本图像、样本图像的多个样本深度估计值和样本图像的上一帧图像输入反投影模型,反投影模型可以输出前一帧图像对应的反投影图像。仅作为示例,反投影模型可以是Pose Network,也可以是其他可以实现反投影操作的模型,本实施例不做限制。
步骤430,基于每个训练样本对应的样本图像以及反投影图像,确定损失函数的函数值。在一些实施例中,损失函数可以包括重投影误差项和向量梯度误差项。
重投影误差项可以用于表示样本图像和反投影图像之间的差异。重投影误差项的值越小,则样本图像和反投影图像之间的差异越小。
在一些实施例中,模型训练模块可以基于样本图像的多个样本像素点的像素值和反投影图像的多个像素点的像素值,确定重投影误差项的值。在一些实施例中,模型训练模块可以通过公式(4)确定重投影误差项的值。
其中,Is表示反投影图像,It表示样本图像,α表示预先设置的权重系数,SSIM(Is,It)表示样本图像和样本图像的上一帧图像之间的结构相似性度量,‖Is-It‖表示样本图像的多个像素点和样本图像的上一帧图像的多个像素点一一对应的像素值的差值。
在一些实施例中,结构相似性度量可以用样本图像和上一帧图像中对应像素点之间的距离表征。在一些实施例中,距离可以包括但不限于:欧氏距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、马氏距离、夹角余弦距离等。
向量梯度误差项可以用于表示样本图像中像素点之间的光滑度和连续性。向量梯度误差项的值越小,则样本图像中像素点越光滑、连续。在一些实施例中,模型训练模块可以基于样本图像的多个样本像素点的像素值和多个样本估计平面的平面参数,确定向量梯度误差项的值。关于确定向量梯度误差项的值的详细描述可以参见图5及其相关描述。
在一些实施例中,模型训练模块可以对重投影误差项的值和向量梯度误差项的值进行加权求和,得到损失函数的函数值。仅作为示例,重投影误差项和向量梯度误差项的权重可以预先设定。例如,0.5和0.5。作为又一示例,重投影误差项和向量梯度误差项的权重可以基于相机的视野角确定,例如,视野角越大,则向量梯度误差项的权重越大。
在本说明书的一些实施例中,基于重投影误差项和向量梯度误差项构建损失函数,使得损失函数可以同时考虑了样本图像在时间上的位姿误差和在空间上的像素跳变误差,从而提高训练好的平面估计模型输出图像的平滑性和可靠性。
步骤440,基于损失函数的函数值,迭代更新初始平面估计模型,直至满足训练终止条件。
具体地,模型训练模块可以通过最小化损失函数的函数值,迭代更新初始平面估计模型的参数,直到满足训练终止条件,得到训练好的平面估计模型。在一些实施例中,训练终止条件可以是损失函数的函数值小于预设的损失阈值,也可以是迭代更新的次数达到次数阈值,本实施例不做限制。
例如,图9是根据本说明书一些实施例所示的示例性训练初始平面估计模型的示意图,如图9所示,模型训练模块可以利用初始平面估计模型,基于样本图像It获取样本图像It对应的多个样本深度估计值,并将样本图像It、上一帧图像It’和多个样本深度估计值输入反投影模型,得到反投影图像Is;然后基于反投影图像Is和样本图像It得到重投影误差项P e的值,基于样本图像的多个像素点的值和多个样本估计平面得到向量梯度误差项Ge的值;基于重投影误差项P e的值和向量梯度误差项Ge的值,得到损失函数的函数值,然后基于损失函数的函数值迭代更新初始平面估计模型,得到训练好的平面估计模型。
在本说明书的一些实施例中,基于样本图像对应的多个样本估计平面以及对应的上一帧图像的反投影图像确定损失函数的函数值训练初始平面估计模型,无需人工标注每个样本像素点对应的标签,可以提高平面估计模型的训练效率。
应当注意,关于流程400的以上描述仅是出于说明的目的而提供的,并且无意于限制本说明书的范围。对于本领域的普通技术人员来说,可以根据本说明书的描述,做出各种各样的变化和修改。然而,这些变化和修改不脱离本说明书的范围。在一些实施例中,流程400可以包括一个或以上附加操作,或者可以省略上述一个或以上操作。
在一些实施例中,训练好的平面估计模型应用于第一相机。也就是说,基于第一相机的相机参数训练得到平面估计模型。在一些实施例中,模型训练模块可以将在第一相机上训练好的平面估计模型应用于第二相机。具体地,模型训练模块可以基于第二相机的相机参数(例如,光点位置、相机坐标系、图像平面的中心点、焦距等),调整训练好的平面估计模型的参数,然后将调整后的平面估计模型应用于第二相机。
在本说明书的一些实施例中,基于第二相机的相机参数,调整训练好的平面估计模型,将调整好的平面估计模型应用于第二相机,从而无需重新训练适用于第二相机的平面估计模型,提高的平面估计模型的适用范围。
图5是根据本说明书一些实施例所示的示例性确定向量梯度误差项的值的方法的流程图。在一些实施例中,流程500可以由图像深度估计系统100(例如,处理设备110)或图像深度估计系统200(例如,模型训练模块)执行。例如,流程500可以以程序或指令的形式存储在存储设备中,当图像深度估计系统100(例如,处理设备110)或图像深度估计系统200(例如,模型训练模块)执行指令时,可以实现流程500。下面呈现的流程500的操作示意图是说明性的。在一些实施例中,可以利用一个或以上未描述的附加操作和/或未讨论的一个或以上操作来完成该过程。另外,图5中示出的和下面描述的流程500的操作的顺序并非限制性的。
步骤510,获取样本图像的多个样本像素点中各行样本像素点与前一行样本像素点之间的行向量梯度。
行向量梯度可以表示样本图像中多个样本像素点在行方向上的变化梯度。在一些实施例中,行向量梯度可以基于各行样本像素点对应的第一样本估计平面和前一行样本像素点对应的第二样本估计平面确定。
具体地,在一些实施例中,模型训练模块可以基于当前行和前一行中同一列的两个样本像素点分别对应的第一样本估计平面的法向量和第二样本估计平面的法向量,获取当前行和前一行中同一列的两个样本像素点之间的梯度向量。在一些实施例中,模型训练模块可以通过公式(5)获取当前行和前一行中同一列的两个样本像素点之间的梯度向量。
其中,是当前行r和前一行r-1中第x列的两个样本像素点之间的梯度向量,是样本图像中第r行的第x个样本像素点对应的第一样本估计平面的法向量, 是样本图像中前一行(即r-1行)的第x个样本像素点对应的第二样本估计平面的法向量,A、B、C是样本图像中像素点对应的估计平面的平面参数。
进一步地,在一些实施例中,模型训练模块可以基于多列对应的多个梯度向量,得到当前行样本像素点与前一行样本像素点之间的行向量梯度。在一些实施例中,模型训练模块可以通过公式(6)获取各行样本像素点与前一行样本像素点之间的行向量梯度。
其中,是样本图像中第r行的像素点与第r-1行像素点之间的行向量梯度;i是样本图像中的像素点总列数;D是样本图像中像素点对应的估计平面的平面参数。
例如,图10A和图10B是根据本说明书一些实施例所示的示例性样本图像的示意图,如图10A所示,当前行r中可以包括i个样本像素点(例如,pr,1、pr,2、…pr,i),分别对应i个第一样本估计平面;前一行r-1中可以包括i个样本像素点(例如,pr-1,1、pr-1,2、…pr-1,i),分别对应i个第二样本估计平面,模型训练模块可以基于pr,1对应的第一样本估计平面的法向量和pr-1,1对应的第二样本估计平面的法向量得到像素点pr,1和pr-1,1之间的梯度向量;与此类似地,模型训练模块可以进一步获取pr,2和pr-1,2之间的梯度向量、…pr,i和pr-1,i之间的梯度向量,从而获取第r行像素点和第r-1行像素点之间的行向量梯度。
步骤520,获取样本图像的多个样本像素点中各列样本像素点与前一列样本像素点对应的列向量梯度。
列向量梯度可以表示样本图像中多个样本像素点在列方向上的变化梯度。在一些实施例中,列向量梯度可以基于各列样本像素点对应的第三样本估计平面和前一列样本像素点对应的第四样本估计平面确定。
具体地,在一些实施例中,模型训练模块可以基于当前列和前一列中同一行的两个样本像素点分别对应的第三样本估计平面的法向量和第四样本估计平面的法向量,获取当前列和前一列中同一行的两个样本像素点之间的梯度向量。
在一些实施例中,模型训练模块可以通过公式(7)获取当前列和前一列中同一行的两个样本像素点之间的梯度向量。
其中,是当前列c和前一列c-1中第y行的两个样本像素点之间的梯度向量,是样本图像中第c列的第y个样本像素点对应的第三样本估计平面的法向量, 是样本图像中前一列(即c-1列)的第y个样本像素点对应的第四样本估计平面的法向量,A、B、C是样本图像中像素点对应的估计平面的平面参数。
进一步地,在一些实施例中,模型训练模块可以基于多列对应的多个梯度向量,得到当前列样本像素点与前一列样本像素点之间的列向量梯度。在一些实施例中,模型训练模块可以通过公式(8)获取各列样本像素点与前一列样本像素点之间的列向量梯度。
其中,是样本图像中第c列的像素点与第c-1列像素点之间的列向量梯度;j是样本图像中的像素点总行数;D是样本图像中像素点对应的估计平面的平面参数。
例如,如图10B所示,当前列c中可以包括j个样本像素点(例如,p1,c、p2,c、…pj,c),分别对应j个第三样本估计平面;前一列c-1中可以包括j个样本像素点(例如,p1,c-1、p2,c-1、…pj,c-1),分别对应j个第四样本估计平面,模型训练模块可以基于p1,c对应的第三样本估计平面的法向量和p1,c-1对应的第四样本估计平面的法向量得到像素点p1,c和p1,c-1之间的梯度向量;与此类似地,模型训练模块可以进一步获取p2,c和p2,c-1之间的梯度向量、…pi,c和pi,c-1之间的梯度向量,从而获取第c列像素点和第c-1列像素点之间的列向量梯度。
步骤530,基于行向量梯度和列向量梯度,分别确定行向量梯度误差和列向量梯度误差。
行向量梯度误差和列向量梯度误差可以分别表示行向量梯度引起的像素值差值和列向量梯度引起的像素值差值。
在一些实施例中,模型训练模块可以通过公式(9)获取行向量梯度误差和列向量梯度误差。
其中,Ge(It)x和Ge(It)y分别是列向量梯度误差和行向量梯度误差,和分别是列归一化系数和行归一化系数,和分别是列向量梯度和行向量梯度,It是样本图像的多个样本像素点的像素值。
步骤540,基于样本图像的多个样本像素点的像素值、行向量梯度误差和列向量梯度误差,确定向量梯度误差项的值。
在一些实施例中,模型训练模块可以通过公式(10)确定向量梯度误差项的值。
Ge(It)=Ge(It)x+Ge(It)y (10)
在本说明书的一些实施例中,基于行方向和/或列方向上两个样本像素点对应的两个样本估计平面之间的夹角,获取的行方向和/或列方向上两个样本像素点之间的梯度向量更加平滑,从而使得基于向量梯度误差项的值训练好的平面估计模型预测的估计平面对应的深度值更加平滑,减少了深度值的跳变。
应当注意,关于流程500的以上描述仅是出于说明的目的而提供的,并且无意于限制本说明书的范围。对于本领域的普通技术人员来说,可以根据本说明书的描述,做出各种各样的变化和修改。然而,这些变化和修改不脱离本说明书的范围。在一些实施例中,流程500可以包括一个或以上附加操作,或者可以省略上述一个或以上操作。
图11是根据本说明书一些实施例所示的示例性对目标对象进行三维重建的方法的流程图。在一些实施例中,流程1100可以由图像深度估计系统100(例如,处理设备110)或图像深度估计系统200(例如,三维重建模块)执行。例如,流程1100可以以程序或指令的形式存储在存储设备中,当图像深度估计系统100(例如,处理设备110)或图像深度估计系统200(例如,三维重建模块)执行指令时,可以实现流程1100。下面呈现的流程1100的操作示意图是说明性的。在一些实施例中,可以利用一个或以上未描述的附加操作和/或未讨论的一个或以上操作来完成该过程。另外,图11中示出的和下面描述的流程1100的操作的顺序并非限制性的。
步骤1110,获取目标图像中的目标对象。
在一些实施例中,三维重建模块可以对目标图像进行语义分割,确定目标图像中的目标对象。关于语义分割的详细描述可以参见步骤420的相关描述。
例如,三维重建模块可以对目标图像进行语义分割,确定目标图像中的目标对象“车辆保险杠”。
步骤1120,从多个估计平面中确定目标对象对应的多个目标平面。
在一些实施例中,三维重建模块可以确定目标对象在目标图像中对应的多个目标像素点,然后从多个像素点对应的多个估计平面中确定多个目标像素点对应的多个目标平面。例如,基于目标对象“车辆保险杠”确定多个目标像素点包含A、B、C等,然后从多个估计平面中将目标像素点A、B、C等对应的估计平面确定为多个目标平面。
步骤1130,基于多个目标平面的平面参数,对目标对象进行三维重建。
在一些实施例中,三维重建模块可以基于多个目标平面的平面参数,确定目标对象在三维空间中的多个目标物理点的三维坐标,并基于多个目标物理点获取目标对象的三维重建图像。
应当注意,关于流程1100的以上描述仅是出于说明的目的而提供的,并且无意于限制本说明书的范围。对于本领域的普通技术人员来说,可以根据本说明书的描述,做出各种各样的变化和修改。然而,这些变化和修改不脱离本说明书的范围。在一些实施例中,流程1100可以包括一个或以上附加操作,或者可以省略上述一个或以上操作。
本说明书实施例可能带来的有益效果包括但不限于:(1)平面估计模型基于目标图像的多个像素点预测对应的多个物理点所在的估计平面,再结合光线方向的投影关系获取深度值,可以减少目标图像边界处深度值的跳变,提高目标图像边界的深度值的平滑性和准确性;(2)基于样本图像对应的多个样本估计平面以及对应的上一帧图像的反投影图像确定损失函数的函数值训练初始平面估计模型,无需人工标注每个样本像素点对应的标签,可以提高平面估计模型的训练效率;(3)基于重投影误差项和向量梯度误差项构建损失函数,使得损失函数可以同时考虑样本图像在时间上的位姿误差和在空间上的像素跳变误差,从而提高训练好的平面估计模型输出图像的平滑性和可靠性;(4)基于行方向和/或列方向上两个样本像素点对应的两个样本估计平面之间的夹角,获取的行方向和/或列方向上两个样本像素点之间的梯度向量更加平滑,从而使得基于向量梯度误差项的值训练好的平面估计模型预测的估计平面对应的深度值更加平滑,减少了深度值的跳变。
需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
Claims (10)
1.一种图像深度估计方法,其特征在于,所述方法包括:
获取目标图像,所述目标图像包括多个像素点;
基于训练好的平面估计模型,确定所述多个像素点分别对应的多个估计平面;
基于所述目标图像对应的图像平面和相机平面,确定所述多个像素点分别对应的多条射线;
基于所述多个估计平面和所述多条射线,确定所述多个像素点分别对应的深度估计值。
2.如权利要求1所述的方法,其特征在于,所述平面估计模型通过以下方式训练:
获取多个训练样本,每个训练样本包括样本图像和所述样本图像的前一帧图像;
对于所述每个训练样本,
基于初始平面估计模型,确定所述样本图像的多个样本像素点分别对应的多个样本估计平面;
基于所述样本图像对应的图像平面和相机平面,确定所述多个样本像素点分别对应的多条样本射线;
基于所述多个样本估计平面和所述多条样本射线,确定所述多个样本像素点分别对应的多个样本深度估计值;
基于所述多个样本像素点分别对应的所述多个样本深度估计值,对所述前一帧图像进行反投影操作以确定所述前一帧图像对应的反投影图像;
基于所述每个训练样本对应的所述样本图像以及所述反投影图像,确定损失函数的函数值;
基于所述损失函数的所述函数值,迭代更新所述初始平面估计模型,直至满足训练终止条件。
3.如权利要求2所述的方法,其特征在于,所述获取多个训练样本,包括:
对初始样本图像和所述初始样本图像的前一帧初始图像分别进行语义分割,确定所述初始样本图像的第一背景区域和所述前一帧初始图像的第二背景区域;
屏蔽所述初始样本图像的所述第一背景区域,确定所述样本图像;
屏蔽所述前一帧初始图像的所述第二背景区域,确定所述样本图像的所述前一帧图像。
4.如权利要求2所述的方法,其特征在于,所述获取多个训练样本,包括:
对初始样本图像和所述初始样本图像的前一帧初始图像分别进行缩放操作,确定所述样本图像和所述前一帧图像。
5.如权利要求2所述的方法,其特征在于,所述损失函数包括重投影误差项和向量梯度误差项,所述基于所述每个训练样本对应的所述样本图像以及所述反投影图像,确定损失函数的函数值,包括:
基于所述样本图像的所述多个样本像素点的像素值和所述反投影图像的多个像素点的像素值,确定所述重投影误差项的值;
基于所述样本图像的所述多个样本像素点的像素值和所述多个样本估计平面的平面参数,确定所述向量梯度误差项的值。
6.如权利要求5所述的方法,其特征在于,所述基于所述样本图像的所述多个样本像素点的像素值和所述多个样本估计平面的平面参数,确定所述向量梯度误差项的值,包括:
获取所述样本图像的所述多个样本像素点中各行样本像素点与前一行样本像素点之间的行向量梯度,所述行向量梯度基于所述各行样本像素点对应的第一样本估计平面和所述前一行样本像素点对应的第二样本估计平面确定;
获取所述样本图像的所述多个样本像素点中各列样本像素点与前一列样本像素点对应的列向量梯度,所述列向量梯度基于所述各列样本像素点对应的第三样本估计平面和所述前一列样本像素点对应的第四样本估计平面确定;
基于所述行向量梯度和所述列向量梯度,分别确定行向量梯度误差和列向量梯度误差;
基于所述样本图像的所述多个样本像素点的像素值、所述行向量梯度误差和所述列向量梯度误差,确定所述向量梯度误差项的值。
7.如权利要求1所述的方法,其特征在于,所述训练好的平面估计模型应用于第一相机,所述方法还包括:
基于第二相机的相机参数,调整所述训练好的平面估计模型;
将调整后的平面估计模型应用于所述第二相机。
8.一种图像深度估计系统,其特征在于,所述系统包括:
图像获取模块,用于获取目标图像,所述目标图像包括多个像素点;
平面确定模块,用于基于训练好的平面估计模型,确定所述多个像素点分别对应的多个估计平面;
射线获取模块,用于基于所述目标图像对应的图像平面和相机平面,确定所述多个像素点分别对应的多条射线;
深度估计模块,用于基于所述多个估计平面和所述多条射线,确定所述多个像素点分别对应的深度估计值。
9.一种图像深度估计装置,其特征在于,所述装置包括:
至少一个存储介质,存储计算机指令;
至少一个处理器,执行所述计算机指令,以实现如权利要求1~7中任一项所述的图像深度估计方法。
10.一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取所述计算机指令时,所述计算机执行如权利要求1~7中任一项所述的图像深度估计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311649200.5A CN117611648B (zh) | 2023-12-04 | 2023-12-04 | 一种图像深度估计方法、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311649200.5A CN117611648B (zh) | 2023-12-04 | 2023-12-04 | 一种图像深度估计方法、系统和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117611648A true CN117611648A (zh) | 2024-02-27 |
CN117611648B CN117611648B (zh) | 2024-07-02 |
Family
ID=89959522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311649200.5A Active CN117611648B (zh) | 2023-12-04 | 2023-12-04 | 一种图像深度估计方法、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117611648B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190059594A (ko) * | 2017-11-23 | 2019-05-31 | 삼성전자주식회사 | 디스패리티 추정 장치 및 방법 |
CN112927279A (zh) * | 2021-02-24 | 2021-06-08 | 中国科学院微电子研究所 | 一种图像深度信息生成方法、设备及存储介质 |
CN113435465A (zh) * | 2020-03-20 | 2021-09-24 | 阿里巴巴集团控股有限公司 | 图像处理、智能控制方法及设备 |
CN113643343A (zh) * | 2020-04-27 | 2021-11-12 | 北京达佳互联信息技术有限公司 | 深度估计模型的训练方法、装置、电子设备及存储介质 |
CN114494381A (zh) * | 2022-01-21 | 2022-05-13 | 北京三快在线科技有限公司 | 模型训练及深度估计方法、装置、存储介质及电子设备 |
CN115880435A (zh) * | 2022-12-21 | 2023-03-31 | 北京百度网讯科技有限公司 | 图像重建方法、模型训练方法、装置、电子设备和介质 |
CN116797742A (zh) * | 2023-07-26 | 2023-09-22 | 重庆大学 | 室内场景的三维重建方法及系统 |
-
2023
- 2023-12-04 CN CN202311649200.5A patent/CN117611648B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190059594A (ko) * | 2017-11-23 | 2019-05-31 | 삼성전자주식회사 | 디스패리티 추정 장치 및 방법 |
CN113435465A (zh) * | 2020-03-20 | 2021-09-24 | 阿里巴巴集团控股有限公司 | 图像处理、智能控制方法及设备 |
CN113643343A (zh) * | 2020-04-27 | 2021-11-12 | 北京达佳互联信息技术有限公司 | 深度估计模型的训练方法、装置、电子设备及存储介质 |
CN112927279A (zh) * | 2021-02-24 | 2021-06-08 | 中国科学院微电子研究所 | 一种图像深度信息生成方法、设备及存储介质 |
CN114494381A (zh) * | 2022-01-21 | 2022-05-13 | 北京三快在线科技有限公司 | 模型训练及深度估计方法、装置、存储介质及电子设备 |
CN115880435A (zh) * | 2022-12-21 | 2023-03-31 | 北京百度网讯科技有限公司 | 图像重建方法、模型训练方法、装置、电子设备和介质 |
CN116797742A (zh) * | 2023-07-26 | 2023-09-22 | 重庆大学 | 室内场景的三维重建方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117611648B (zh) | 2024-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112444242A (zh) | 一种位姿优化方法及装置 | |
CN109005334A (zh) | 一种成像方法、装置、终端和存储介质 | |
CN110443245B (zh) | 一种非限制场景下的车牌区域的定位方法、装置及设备 | |
US20230274400A1 (en) | Automatically removing moving objects from video streams | |
CN112802197A (zh) | 动态场景下基于全卷积神经网络的视觉slam方法及系统 | |
CN111325828B (zh) | 一种基于三目相机的三维人脸采集方法及装置 | |
CN114418869B (zh) | 一种文档图像几何校正方法、系统、装置及介质 | |
CN105719248A (zh) | 一种实时的人脸变形方法及其系统 | |
CN116958492A (zh) | 一种基于NeRf重建三维底座场景渲染的VR编辑应用 | |
CN112686247A (zh) | 一种身份证号码检测方法、装置、可读存储介质和终端 | |
Fatima | AI in photography: scrutinizing implementation of super-resolution techniques in photo-editors | |
CN116051736A (zh) | 一种三维重建方法、装置、边缘设备和存储介质 | |
CN115546027A (zh) | 图像缝合线确定方法、装置以及存储介质 | |
CN113065506B (zh) | 一种人体姿态识别方法及系统 | |
CN112132753B (zh) | 多尺度结构引导图像的红外图像超分辨率方法及系统 | |
CN113505885A (zh) | 基于预设的损失函数的单目深度估计网络的训练方法 | |
CN117726747A (zh) | 补全弱纹理场景的三维重建方法、装置、存储介质和设备 | |
CN117611648B (zh) | 一种图像深度估计方法、系统和存储介质 | |
CN115022549B (zh) | 拍摄构图方法、装置、计算机设备和存储介质 | |
CN116129318A (zh) | 一种基于视频序列和预训练实例分割的无监督单目三维目标检测方法 | |
CN116363561A (zh) | 一种时序动作定位方法、装置、设备及存储介质 | |
CN115619776A (zh) | 基于深度学习的物品计数方法和装置 | |
WO2023019478A1 (zh) | 一种三维重建方法、装置、电子设备及可读存储介质 | |
CN112950653B (zh) | 一种注意力图像分割方法、装置及介质 | |
CN114387308A (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 | ||
GR01 | Patent grant |