CN114596349A - 深度估计方法、装置、电子设备及计算机可读存储介质 - Google Patents
深度估计方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114596349A CN114596349A CN202011440325.3A CN202011440325A CN114596349A CN 114596349 A CN114596349 A CN 114596349A CN 202011440325 A CN202011440325 A CN 202011440325A CN 114596349 A CN114596349 A CN 114596349A
- Authority
- CN
- China
- Prior art keywords
- feature
- image
- processed
- module
- downsampling
- 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
- 238000000034 method Methods 0.000 title claims abstract description 90
- 238000003384 imaging method Methods 0.000 claims abstract description 53
- 238000013507 mapping Methods 0.000 claims abstract description 19
- 238000005070 sampling Methods 0.000 claims description 101
- 230000004927 fusion Effects 0.000 claims description 70
- 238000010586 diagram Methods 0.000 claims description 66
- 238000012545 processing Methods 0.000 claims description 59
- 238000004590 computer program Methods 0.000 claims description 15
- 238000003672 processing method Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 24
- 238000004458 analytical method Methods 0.000 description 57
- 230000006870 function Effects 0.000 description 24
- 238000012549 training Methods 0.000 description 12
- 238000013473 artificial intelligence Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
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
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- 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/10028—Range image; Depth image; 3D point clouds
-
- 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
-
- 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/20228—Disparity calculation for image-based rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本申请提供了一种深度估计方法、装置、电子设备及计算机可读存储介质。该方案进行深度估计的相关步骤可以采用人工智能模块进行处理,该方案通过将待处理图像映射到预设平面获取待处理图像各像素点在预设成像平面上的位置信息,并在深度估计过程中使用待处理图像中各像素点在预设成像平面上的位置信息,消除了相机参数对深度估计范围的影响,使得同一个网络模型可以对不同相机参数对应的待处理图像进行深度估计,在保证宽范围深度估计的同时,节省了计算资源和存储空间。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种深度估计方法、装置、电子设备及计算机可读存储介质。
背景技术
自动对焦是许多智能设备拍摄图像、视频时的核心功能。不论物体距离拍摄设备远近,用户都希望拍摄的感兴趣的物体是清晰的,而深度估计是实现快速自动对焦的基础。但是,现有的深度估计方法所能估计的深度范围较小,无法满足智能设备对近距离或远距离目标的自动对焦需求。因此有必要对现有的深度估计方法进行改进。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,本申请实施例所提供的技术方案如下:
第一方面,本申请实施例提供了一种深度估计方法,包括:
将待处理图像映射到预设平面,并获取待处理图像中像素点在预设平面上的第一位置信息;
基于第一位置信息对待处理图像进行深度估计。
在本申请的一种可选实施例中,获取待处理图像中像素点在预设平面上的第一位置信息,包括:
基于当前成像平面对应的第二相机参数,获取待处理图像中像素点在当前成像平面上的第二位置信息;
基于第二位置信息、预设平面对应的第一相机参数以及第二相机参数,获取第一位置信息。
在本申请的一种可选实施例中,相机参数包括相机的焦距、主点位置和传感器尺寸中的至少一项。
在本申请的一种可选实施例中,基于第二位置信息、预设平面对应的第一相机参数以及第二相机参数,获取第一位置信息,包括:
基于第一相机参数和第二相机参数,获取第一位置信息和第二位置信息之间的映射关系;
基于第二位置信息和映射关系,获取第一位置信息。
在本申请的一种可选实施例中,基于第一位置信息对待处理图像进行深度估计,包括:
通过编码网络,对待处理图像进行至少一次特征下采样,得到对应的特征图;
通过第一解码网络,基于特征图和第一位置信息进行至少一次特征上采样,得到深度估计结果。
在本申请的一种可选实施例中,编码网络包括若干个特征下采样单元,至少一个特征下采样单元包括第一特征下采样模块和第二特征下采样模块,其中,
第一特征下采样模块对输入的待处理图像或特征图进行特征下采样,得到第一特征图,第二特征下采样模块对输入的待处理图像或特征图进行特征下采样,得到第二特征图,将第一特征图和第二特征图进行融合后输出。
在本申请的一种可选实施例中,第一特征下采样模块所使用的卷积核中包含第一维度的第一卷积核和第二维度的第二卷积核,其中第二卷积核的值为零,其中,
第一维度是基于上一个特征下采样单元中的第一特征下采样模块所使用的卷积核的个数确定的,第二维度是基于上一个特征下采样单元中的第二特征下采样模块所使用的卷积核的个数确定的。
在本申请的一种可选实施例中,第一特征下采样模块和第二特征下采样模块所使用的卷积核为标准卷积或逐点卷积的卷积核。
在本申请的一种可选实施例中,第一特征下采样模块所使用的卷积核的个数与上一个特征下采样单元中的第一特征下采样模块所使用的卷积核的个数相同,第二特征下采样模块所使用的卷积核的个数与上一个特征下采样单元中的第二特征下采样模块所使用的卷积核的个数相同。
在本申请的一种可选实施例中,第一特征下采样模块和第二特征下采样模块所使用的卷积核为逐深度卷积的卷积核。
在本申请的一种可选实施例中,还包括:
通过第二解码网络,基于编码网络中的至少一个第一下采样模块输出的第一特征图进行至少一次特征上采样,得到对应的处理结果。
在本申请的一种可选实施例中,第二解码网络得到的对应的处理结果为待处理图像的语义解析结果。
在本申请的一种可选实施例中,基于特征图和第一位置信息进行至少一次特征上采样,得到深度估计结果,包括:
将第一位置信息和至少一次特征下采样输出的特征图进行特征融合,得到至少一个第一融合特征图;
基于至少一个第一融合特征图进行与至少一次特征下采样对应的特征上采样。
在本申请的一种可选实施例中,基于至少一个第一融合特征图进行与至少一次特征下采样对应的特征上采样,包括:
将第一融合特征图与对应的特征上采样所对应的输入特征图进行特征融合,得到对应的第二融合特征图;
基于第二融合特征图进行特征上采样,输出得到的特征图。
在本申请的一种可选实施例中,方法还包括:
获取包含待处理图像的至少两帧连续图像;
基于至少两帧连续图像,获取待处理图像对应的第一视差信息;
基于特征图和第一位置信息进行至少一次特征上采样,得到深度估计结果,包括:
基于特征图、第一位置信息和第一视差信息进行至少一次特征上采样,得到深度估计结果。
在本申请的一种可选实施例中,基于至少两帧连续图像,获取待处理图像对应的第一视差信息,包括:
获取至少两帧连续图像中相邻两帧图像之间的第二视差信息;
基于第二视差信息获取第一视差信息。
在本申请的一种可选实施例中,基于第二视差信息获取第一视差信息,包括:
基于第二视差信息获取对应的平均视差信息或累计视差信息,并将平均视差信息或累计视差信息作为第一视差信息。
在本申请的一种可选实施例中,基于特征图、第一位置信息和第一视差信息进行至少一次特征上采样,得到深度估计结果,包括:
将第一位置信息、第一视差信息和至少一次特征下采样输出的特征图进行特征融合,得到至少一个第三融合特征图;
基于至少一个第三融合特征图进行与至少一次特征下采样对应的特征上采样。
在本申请的一种可选实施例中,基于至少一个第三融合特征图进行与至少一次特征下采样对应的特征上采样,包括:
将第三融合特征图与对应的特征上采样所对应的输入特征图进行特征融合,得到对应的第四融合特征图;
基于第四融合特征图进行特征上采样,输出得到的特征图。
第二方面,本申请实施例提供了一种图像处理方法,包括:
通过编码网络,对待处理图像进行至少一次特征下采样,得到对应的特征图,其中,编码网络包括若干个特征下采样单元,至少一个特征下采样单元包括第一特征下采样模块和第二特征下采样模块,第一特征下采样模块和第二特征下采样模块分别对输入的待处理图像或特征图进行特征下采样,得到第一特征图和第二特征图,将第一特征图和第二特征图进行融合后输出;
通过第一解码网络,基于编码网络输出的特征图进行至少一次特征上采样,得到第一处理结果;
通过第二解码网络,基于编码网络中的至少一个第一下采样模块输出的第一特征图进行至少一次特征上采样,得到第二处理结果。
在本申请的一种可选实施例中,第一特征下采样模块所使用的卷积核中包含第一维度的第一卷积核和第二维度的第二卷积核,其中第二卷积核的值为零,其中,
第一维度是基于上一个特征下采样单元中的第一特征下采样模块所使用的卷积核的个数确定的,第二维度是基于上一个特征下采样单元中的第二特征下采样模块所使用的卷积核的个数确定的。
在本申请的一种可选实施例中,第一特征下采样模块所使用的卷积核的个数与上一个特征下采样单元中的第一特征下采样模块所使用的卷积核的个数相同,第二特征下采样模块所使用的卷积核的个数与上一个特征下采样单元中的第二特征下采样模块所使用的卷积核的个数相同。
在本申请的一种可选实施例中,第一处理结果为待处理图像的深度估计结果,第二处理结果为待处理图像的语义解析结果。
第三方面,本申请实施例提供了一种深度估计方法,包括:
获取包含待处理图像的至少两帧连续图像;
基于至少两帧连续图像,获取待处理图像对应的第一视差信息;
基于第一视差信息对待处理图像进行深度估计。
在本申请的一种可选实施例中,基于至少两帧连续图像,获取待处理图像对应的第一视差信息,包括:
获取至少两帧连续图像中相邻两帧图像之间的第二视差信息;
基于第二视差信息获取第一视差信息。
在本申请的一种可选实施例中,基于第二视差信息获取第一视差信息,包括:
基于第二视差信息获取对应的平均视差信息或累计视差信息,并将平均视差信息或累计视差信息作为第一视差信息。
在本申请的一种可选实施例中,基于第一视差信息对待处理图像进行深度估计,包括:
通过编码网络,对待处理图像进行至少一次特征下采样,得到对应的特征图;
通过第一解码网络,基于特征图和第一视差信息进行至少一次特征上采样,得到深度估计结果。
在本申请的一种可选实施例中,基于特征图和第一视差信息进行至少一次特征上采样,包括:
将第一视差信息和至少一次特征下采样输出的特征图进行特征融合,得到至少一个第五融合特征图;
基于至少一个第五融合特征图进行与至少一次特征下采样对应的特征上采样。
在本申请的一种可选实施例中,基于至少一个第五融合特征图进行与至少一次特征下采样对应的特征上采样,包括:
将第五融合特征图与对应的特征上采样所对应的输入特征图进行特征融合,得到对应的第六融合特征图;
基于第六融合特征图进行特征上采样,输出得到的特征图。
第四方面,本申请实施例提供了一种深度估计装置,包括:
位置信息获取模块,用于将待处理图像映射到预设平面,并获取待处理图像中像素点在预设平面上的第一位置信息;
深度估计模块,用于基于第一位置信息对待处理图像进行深度估计。
第五方面,本申请实施例提供了一种图像处理装置,包括:
编码模块,用于通过编码网络,对待处理图像进行至少一次特征下采样,得到对应的特征图,其中,编码网络包括若干个特征下采样单元,至少一个特征下采样单元包括第一特征下采样模块和第二特征下采样模块,第一特征下采样模块和第二特征下采样模块分别对输入的待处理图像或特征图进行特征下采样,得到第一特征图和第二特征图,将第一特征图和第二特征图进行融合后输出;
第一解码模块,用于通过第一解码网络,基于编码网络输出的特征图进行至少一次特征上采样,得到第一处理结果;
第二解码模块,用于通过第二解码网络,基于编码网络中的至少一个第一下采样模块输出的第一特征图进行至少一次特征上采样,得到第二处理结果。
第六方面,本申请实施例提供了一种深度估计装置,包括:
连续图像获取模块,用于获取包含待处理图像的至少两帧连续图像;
视差信息获取模块,用于基于至少两帧连续图像,获取待处理图像对应的第一视差信息;
深度估计模块,用于基于第一视差信息对待处理图像进行深度估计。
第七方面,本申请实施例提供了一种电子设备,包括存储器和处理器;
存储器中存储有计算机程序;
处理器,用于执行计算机程序以实现第一方面实施例或第一方面任一可选实施例、第二方面实施例或第二方面任一可选实施例、第三方面实施例或第三方面任一可选实施例中所提供的方法。
第八方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现第一方面实施例或第一方面任一可选实施例、第二方面实施例或第二方面任一可选实施例、第三方面实施例或第三方面任一可选实施例中所提供的方法。
本申请提供的技术方案带来的有益效果是:
通过将待处理图像映射到预设平面获取待处理图像各像素点在预设成像平面上的位置信息,并在深度估计过程中使用待处理图像中各像素点在预设平面上的位置信息,消除了相机参数对深度估计范围的影响,使得同一个网络模型可以对不同相机参数对应的待处理图像进行深度估计,在保证宽范围深度估计的同时,节省了计算资源和存储空间。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为智能设备进行自动对焦过程的示意图;
图2物体在不同成像平面上对应尺寸大小对比示意图;
图3为现有技术中深度估计网络模型的网络结构示意图;
图4为本申请实施例提供的一种深度估计方法的流程示意图;
图5为本申请实施例中从当前成像平面到预设成像平面的坐标变换示意图;
图6为本申请实施例的一个示例中IPM获取第一位置信息的示意图;
图7为本申请实施例的一个示例中预设网络模型与IPM组合进行深度估计的示意图;
图8为现有技术中自动对焦功能和自动曝光功能若干指标的对比示意图;
图9a为本申请实施例的一个示例中提供的一种人体解析网络模型进行人体解析的示意图;
图9b为图9a中所示的人体解析网络模型的网络结构的细节示意图;
图10a为本申请实施例的一个示例中提供的一种基于人体解析网络模型扩充得到的预设网络模型进行深度估计的示意图;
图10b为图10a中所示的预设网络模型的网络结构的细节示意图;
图11a为本申请实施例的一个示例中人体解析编码模块对应的卷积核补零的示意图;
图11b为本申请实施例的一个示例中深度估计编码模块对应的卷积核补零的示意图;
图12为本申请实施例的一个示例中握持拍摄设备的手部的运动引入的角度偏移以及角度偏移的直方统计示意图;
图13为本申请实施例的一个示例中连续k帧图像中相邻两帧图像的视差图;
图14为本申请实施例的一个示例中根据单帧图像和根据连续k帧图像分别得到的深度图像的对比示意图;
图15为本申请实施例的一个示例中MFbD获取第一视差信息的示意图;
图16为本申请实施例的一个示例中预设网络模型与IPM和MFbD组合进行深度估计的示意图;
图17为图16中所示的组合的网络结构的细节示意图;
图18为本申请实施例的一个示例中从NYUDv2数据集中的一张图像到生成目标相机下的图像的示意图;
图19为NYUDv2和KITTI数据集的深度值直方图统计;
图20为本申请实施例提供的一种图像处理方法的流程示意图;
图21为本申请实施例的一个示例中提供的另一种基于人体解析网络模型扩充得到的预设网络模型进行深度估计的示意图;
图22为本申请实施例提供的另一种深度估计方法的流程示意图;
图23为本申请实施例的一个示例中提供的又一种基于人体解析网络模型扩充得到的预设网络模型进行深度估计的示意图;
图24为本申请实施例提供的一种深度估计装置的结构框图;
图25为本申请实施例提供的一种图像处理装置的结构框图;
图26为本申请实施例提供的另一种深度估计装置的结构框图;
图27为本申请实施例提供的一种电子设备的示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
自动对焦是许多智能设备拍摄图像、视频时的核心功能。不论物体距离拍摄设备远近,用户都希望拍摄的感兴趣的物体是清晰的,但是目前某些智能设备(如手机)仍然存在着自动对焦的问题,特别是对于拍摄距离过近的物体时会出现无法对焦的情况。如图1所示为智能设备(或称拍摄设备)进行自动对焦及获取自动对焦后图像的处理过程,其中,左图为对焦前的输入图像;中间图为输入图像对应的深度估计的结果图(即深度图像);右侧图为根据估计得到的深度图像进行自动对焦处理后的图像。许多智能设备,例如手机,实现自动对焦所需的深度估计范围较宽,往往需要覆盖0.07m到300m这一范围,也就是说,用户在使用智能设备拍摄拍照时,针对近距离目标和远距离目标均有自动对焦的需求,也就是需要智能设备具有宽范围的深度估计能力。
一幅输入图像上每个像素的深度值指的是:该像素所对应的物体在相机坐标系下,从物体所对应的Z轴点到相机光心(原点)之间的距离。现有深度估计方案的原理是根据相机的成像模型,利用成像平面上图像中物体区域的尺寸大小来估计深度,即估计拍摄物体和拍摄设备之间的Z轴距离。如图2所示,同一个真实物体,在距离拍摄设备距离为d时(即深度值为d),采用不同的相机焦距f1和f2,在成像平面上获得的图像尺寸大小不同。成像平面上物体的大小依赖于:物体距离拍摄设备的距离和拍摄设备的参数(如相机焦距、主点位置(也可以称为主点坐标)、传感器尺寸等)。
现有的深度估计方案大多采用基于上述深度估计原理的编码器-解码器网络模型获取输入图像对应的深度图像来完成深度估计,如图3所示,该深度估计网络模型包括编码器(Encoder)和解码器(Decoder)两部分,通常采用公开数据集NYUDv2和KITTI等对深度估计网络模型进行训练和测试,同一公开数据集中的图像样本对应的拍摄设备的相机参数都相同。由于同一深度值在不同相机参数所对应的成像平面上的尺寸大小不同,即不同的相机参数对应的物体深度值与物体在成像平面上的尺寸大小的对应关系不同,因此需要采用同一数据集中的图像样本来对深度估计网络进行训练和测试。很显然,上述方案训练得到的深度估计网络模型,只能用于对与训练数据集对应的相机参数相同的图像进行深度估计,即训练得到的深度估计网络模型只能覆盖该特定数据集对应的相机参数所能覆盖的深度范围。例如,NYUDv2是室内场景的数据集,它拍摄时对应的深度范围是0.5m~10m,则利用NYUDv2训得到的深度估计网络模型只能覆盖0.5m~10m的深度范围;KITTI是室外场景的数据集,它拍摄时对应的深度范围是1m~100m,则利用KITTI训得到的深度估计网络模型只能覆盖1m~100m的深度范围。每个数据集的深度范围都只能覆盖“宽范围”的一部分。因此对于在不同训练集上训练得到的模型,它们只能估计部分深度范围。
考虑到现有深度估计方案的原理及网络结构,为了实现宽范围的深度估计就需要在智能设备中存储多个由不同数据集训练得到的深度估计网络模型,这将会消耗大量的计算资源和存储空间。针对上述问题本申请实施例提供了一种深度估计方法,接下来将对该方案进行进一步描述。
图4为本申请实施例提供的一种深度估计方法的流程示意图,如图4所示,该方法可以包括:
步骤S401,将待处理图像映射到预设平面,并获取待处理图像中像素点在预设平面上的第一位置信息;
步骤402,基于第一位置信息对待处理图像进行深度估计。
其中,第一位置信息可以为各像素点的坐标。
具体地,对于多个对应于不同相机参数的待处理图像,分别将它们映射到到同一预设平面上(该预设平面也可称为预设成像平面),获取各待处理图像对应的第一位置信息,进而可以根据各第一位置信息可以获取各待处理图像中物体在预设成像平面上的尺寸大小,进而根据该尺寸大小估计物体的深度值。由于将不同待处理图像映射到同一预设成像平面上,各待处理图像中物体尺寸大小的计算尺度相同,使得各待处理图像中物体尺寸大小与物体深度值的对应关系一致。换言之,将待处理图像映射到预设成像平面上后再利用待处理图像中物体在该预设成像平面中的尺寸大小来进行深度估计,消除了相机参数对同一深度估计网络模型的深度估计范围的影响,即可以用同一深度估计网络模型实现对不同相机参数对应的待处理图像的深度估计。
本申请提供的方案,通过将待处理图像映射到预设成像平面获取待处理图像各像素点在预设成像平面上的位置信息,并在深度估计过程中使用待处理图像中各像素点在预设成像平面上的位置信息,消除了相机参数对深度估计范围的影响,使得同一个网络模型可以对不同相机参数对应的待处理图像进行深度估计,在保证宽范围深度估计的同时,节省了计算资源和存储空间。
在本申请的一种可选实施例中,获取待处理图像中像素点在预设成像平面上的第一位置信息,包括:
获取待处理图像中像素点在当前成像平面上的第二位置信息,并获取当前成像平面对应的第二相机参数;
基于第二位置信息、预设成像平面对应的第一相机参数以及第二相机参数,获取第一位置信息。
进一步地,基于第二位置信息、预设成像平面对应的第一相机参数以及第二相机参数,获取第一位置信息,包括:
基于第一相机参数和第二相机参数,获取第一位置信息和第二位置信息之间的映射关系;
基于第二位置信息和映射关系,获取第一位置信息。
具体地,将待处理图像从当前成像平面映射到预设成像平面的过程是对待处理图像中各像素点的坐标进行转换的过程,即将各像素点在当前成像平面中的第二位置信息转换为在预设成像平面中的第一位置信息。
具体来说,如图5所示,预设成像平面U对应的第一相机参数包括:焦距传感器尺寸当前成像平面P对应的第二相机参数包括:焦距f(fx,fy)、传感器尺寸(dx,dy)以及主点坐标(Icx,Icy),上述坐标转换过程可以包括:
首先,确定待处理图像的各像素点在当前成像平面P中的坐标(即第二位置信息),公式如下:
Px(i,j)=Icx-i
Py(i,j)=Icy-j
其中,Px(i,j)为像素点(i,j)在当前成像平面P中的x轴坐标,Py(i,j)为像素点(i,j)在当前成像平面P中的y轴坐标。
然后,根据相似三角形原理将待处理图像中各像素点在当前成像平面上的坐标转换为在预设成像平面上的坐标(即第一位置信息),即根据相似三角形原理获取当前成像平面和预设成像平面之间的映射关系,再根据该映射关系和第二位置信息获取第一位置信息,公式如下:
其中,Ux(i,j)为像素点(i,j)在预设成像平面U中的x轴坐标,Uy(i,j)为像素点(i,j)在预设成像平面U中的y轴坐标。
可以理解的是,可以根据上述处理过程预设一个图像平面映射模块(ImageMapping Module,IPM)用于对待处理图像中各像素点进行坐标转换,该IPM的输入为待处理图像和对应的相机参数(即第二相机参数),输出为待处理图像对应的第一位置信息。如图6为IPM模块的输入和输出示意图,输入第二相机参数对应的x轴相机参数和y轴相机参数,经IPM后输出两个尺寸为W*H的坐标矩阵(可以记为W*H*2),这两个坐标矩阵中各元素为对应像素点在预设成像平面中的x轴坐标和y轴坐标。
在本申请的一种可选实施例中,基于第一位置信息对待处理图像进行深度估计,包括:
通过预设网络模型,基于第一位置信息对待处理图像进行深度估计。
具体地,预设网络模型用于结合第一位置信息对待处理图像进行深度估计,并输出对应的深度估计结果。具体来说,可以将预设网络模型与IPM进行组合,预设网络模型在对待处理图形进行深度估计的过程中使用IPM输出的第一位置信息,输出对应的深度估计结果。
在本申请的一种可选实施例中,基于第一位置信息对待处理图像进行深度估计,包括:
通过编码网络,对待处理图像进行至少一次特征下采样,得到对应的特征图;
通过第一解码网络,基于特征图和第一位置信息进行至少一次特征上采样,得到深度估计结果。
其中,得到的深度结果可以为对应的深度图像。
具体地,在编码网络中,对待处理图像进行多次特征下采样,每次特征下采样会产生对应的特征图,每一次特征下采样产生的特征图可以理解为编码网络输出的特征图。另一方面,在第一解码网络中,结合编码网络输出的特征图和第一位置信息,对编码网络输出的特征图(即编码网络的输出特征图)进行多次特征上采样,得到待处理图像对应的深度图像,各次特征上采样与编码网络中的一次特征下采样相对应。如图7所示,将预设网络模型与IPM组合,IPM输出的第一位置信息和编码单元(即编码网络)中特征下采样对应的特征图一起被用于解码单元(即第一解码网络)对应的特征上采样中。
在本申请的一种可选实施例中,基于特征图和第一位置信息进行至少一次特征上采样,得到深度估计结果,包括:
将第一位置信息和至少一次特征下采样输出的特征图进行特征融合,得到至少一个第一融合特征图;
基于至少一个第一融合特征图进行与至少一次特征下采样对应的特征上采样。
进一步地,基于至少一个第一融合特征图进行与至少一次特征下采样对应的特征上采样,包括:
将第一融合特征图与对应的特征上采样所对应的输入特征图进行特征融合,得到对应的第二融合特征图;
基于第二融合特征图进行特征上采样,输出得到的特征图。
具体地,首先将第一位置信息和至少一次特征下采样对应的特征图进行特征融合,得到至少一个第一融合特征图;然后将各第一融合特征图用于对应的特征下采样所对应的特征上采样。具体来说,将各第一融合特征与对应的特征上采样的输入特征图进行特征融合,得到第二融合特征图,然后,对该第二融合特征图进行特征上采样处理。
需要说明的是,在获取第一融合特征图过程中,可以根据实际需求选取与第一位置信息进行特征融合的特征图,例如,可以选取其中某一次特征下采样输出的特征图,或选取某几次特征下采样输出的特征图,后续获取第二融合特征图的过程中,则需要选取对应的特征上采样的输入特征图与对应的第一融合特征图进行特征融合,即需要将第一融合特征图应用于相对应的特征上采样。
对于许多拍摄设备,在预览模式下,自动曝光和自动对焦往往是需要同时具备的功能,现有技术中这两个功能需要不同的网络模型来实现,如图8所示,对于自动曝光功能,它需要网络模型可以实现人体解析和曝光参数设置等,耗时大约为25毫秒;对于自动对焦功能,它需要模型可以实现深度估计,耗时大约为7~10毫秒。如果两者的网络模型分别运行,那将会消耗很多计算资源,同时耗时太多,影响实时性能。
考虑到在预览模式下,为人体解析任务提取的特征和深度估计所需提取的特征存在诸多相似性,前文的编码网络可以在一定程度上由人体解析任务和深度估计任务进行共享。
可以理解的是,除了人体解析任务以外,若其他任务提取的特征能够被深度估计任务所利用,那么其他任务也可以与深度估计任务共享编码网络,例如,其他任务也可以是应用更广的语义解析任务,本申请实施例仅以人体解析任务为例来对方案进行详细说明,但并不以此为限。同样可以理解的是,本申请实施例提供的方案不仅可以适用于预览模式下,也可以适用于非预览模式下。
为了在保证人体解析效果的同时进行深度估计,编码网络包括若干个特征下采样单元,至少一个特征下采样单元包括第一特征下采样模块(如语义解析编码模块,进一步的,如人体解析编码模块)和第二特征下采样模块(即深度估计编码模块),其中,第一特征下采样模块对输入的待处理图像或特征图进行特征下采样,得到第一特征图,第二特征下采样模块对输入的待处理图像或特征图进行特征下采样,得到第二特征图,将第一特征图和第二特征图进行融合后输出。
在本申请的一种可选实施例中,若第一特征下采样模块和第二特征下采样模块所使用的卷积核为标准卷积或逐点卷积的卷积核,则第一特征下采样模块所使用的卷积核中包含第一维度的第一卷积核和第二维度的第二卷积核,其中第二卷积核的值为零,其中,第一维度是基于上一个特征下采样单元中的第一特征下采样模块所使用的卷积核的个数确定的,第二维度是基于上一个特征下采样单元中的第二特征下采样模块所使用的卷积核的个数确定的。
具体地,标准卷积或逐点卷积的卷积核一般为三维卷积核,每个三维卷积核可以看成是多个二维卷积核叠加得到,那么可以将该三维卷积核分为两个部分,即第一维度的第一卷积核和第二维度的第二卷积核。例如,维度为a*b*c的三维卷积核可以分为a1*b*c(第一维度)的第一卷积核和a2*b*c(第二维度)的第二卷积核,且a=a1+a2,可以将a1和a2分别称为第一卷积核和第二卷积核的高度,该高度可以根据上一特征下采样单元的卷积核个数确定。具体来说,第一卷积核的高度等于上一特征下采样单元中第一特征下采样模块的卷积核的个数,第二卷积核的高度等于上一特征下采样单元中第二特征下采样模块的卷积核的个数,且第二卷积核为0(即第二卷积核中各权值都为0)。通过上述卷积核设置,可以保证第一特征下采样模块仅提取上一特征下采样单元中第一特征下采样模块输出的特征图中的特征信息,即可以保证人体解析模块仅提取上一特征下采样单元中人体解析模块输出的特征图中的人体解析特征信息。此外,也可以将三维卷积核中叠加的每个二维卷积核称为一个切片,也就是说,每个三维卷积核都是由多个切片组成的,其中,第一卷积核的切片的数量等于上一特征下采样单元中第一特征下采样模块的卷积核的个数,第二卷积核的切片的数量等于上一特征下采样单元中第二特征下采样模块的卷积核的个数。
可以理解的是,第二特征下采样模块的卷积核的高度与第一特征下采样模块的卷积核的高度相同(卷积核的维度相同)。
在本申请的一种可选实施例中,若第一特征下采样模块和第二特征下采样模块所使用的卷积核为逐深度卷积的卷积核。则第一特征下采样模块所使用的卷积核的个数与上一个特征下采样单元中的第一特征下采样模块所使用的卷积核的个数相同,第二特征下采样模块所使用的卷积核的个数与上一个特征下采样单元中的第二特征下采样模块所使用的卷积核的个数相同。
具体地,逐深度卷积的卷积核一般为二维卷积核,每个卷积核对上一特征下采样单元输出的一个通道的特征图进行卷积运算,那么上一个特征下采样单元中有多少个通道,逐深度卷积的卷积核等于该通道数。具体来说,即第一特征下采样模块所使用的卷积核的个数与上一个特征下采样单元中的第一特征下采样模块所使用的卷积核的个数相同,第二特征下采样模块所使用的卷积核的个数与上一个特征下采样单元中的第二特征下采样模块所使用的卷积核的个数相同。
在本申请的一种可选实施例中,该方法还可以包括:
通过第二解码网络,基于编码网络中的至少一个第一下采样模块输出的第一特征图进行至少一次特征上采样,得到对应的处理结果。
通过第一解码网络,基于编码网络中的至少一个第二下采样模块输出的第二特征图进行至少一次特征下采样,得到对应的处理结果。
其中,第二解码网络得到的对应的处理结果可以为待处理图像的语义解析结果。第一解码网络得到的对应的处理结果可以为待处理图像的深度估计结果。
具体地,语义解析和语义分割类似,两者的基本任务可以认为是为每个像素点指定类别。通常语义解析通常比语义分割的类别更细致一些,比如语义分割可能是分成人体,蓝天,草地等;语义解析可能是分成眉毛、鼻子、嘴等。
接下来,继续以第一特征下采样模块为人体解析编码模块为例来对上述方案进行详细说明。本申请的预设网络模型可以理解为在已有的人体解析网络模型基础上扩充得到,如图9a所示为一个已有的人体解析网络模型的网络结构示意图,其包含有人体解析编码模块和人体解析解码模块。
具体来说,如图9b所示,人体解析网络模型的人体解析编码模块部分是由多个卷积层组成,包括标准的普通卷积(即标准卷积)和逐通道(Depth-wise)卷积(即逐深度卷积)。输入图像经过多层卷积层,可以获得浅层特征图、中层特征图和深层特征图。例如,输入图像在经过C个1*k*k的卷积核后得到C个浅层特征图,然后经过D个标准卷积核得到D个中层特征图,再经过D个逐深度卷积核(也可以称为逐通道卷积核)得到D个深层特征图。后续是人体解析解码模块(即第二解码网络),人体解析解码模块也是由多个卷积层组成,对人体解析编码模块的输出图像进行特征上采样,最后输出为待处理图像对应的人体解析结果。
具体地,在该人体解析编码模块(即第一特征下采样模块)的基础上扩充一个深度估计编码模块(即第二特征下采样模块),即得到本申请实施例的预设网络模型中的编码网络,另一方面,扩充一个与深度估计编码单元对应的深度估计解码单元(即第一解码网络),那么,深度估计解码单元和人体解析解码单元(即第二解码网络)即构成本申请实施例的预设网络模型中的解码网络,预设网络模型的网络结构示意图如图10a所示。
具体来说,如图10b所示,扩充人体解析编码模块部分的方法为:在人体解析的网络模型中,从待处理图像到浅层特征图时,人体解析任务需要C个1*k*k的卷积核,再额外添加C’个1*k*k卷积核给深度估计的任务。那么,由于有(C+C’)卷积核,总共得到(C+C’)个通道的浅层特征图(其中,人体解析任务对应C个通道的浅层特征图,深度估计任务对应C’个通道的浅层特征图),然后经过额外添加的D’个(C+C’)*k*k标准卷积核,总共得到(D+D’)个通道的中层特征图(其中,人体解析任务对应D个通道的中层特征图,深度估计任务对应D’个通道的中层特征图),再经过(D+D’)个1*k*k逐通道卷积核得到(D+D’)个通道的深层特征图(其中,人体解析任务对应D个通道的深层特征图,深度估计任务对应D’个通道的深层特征图),再经过(M+M’)个(D+D’)*1*1的逐点(point-wise)卷积核进行运算,得到(M+M’)个通道的特征图(其中,人体解析任务对应M个通道的特征图,深度估计任务对应M’个通道的特征图)。后续是人体解析解码模块部分和深度估计解码模块部分,人体解析解码模块对人体解析编码模块对应的输出特征图进行特征上采样,深度估计解码模块对深度估计编码模块对应的输出特征他进行特征上采样,最后输出为待处理图像对应的人体解析结果和深度估计结果(即深度图像)。从上述特征下采样过程可以看出,在标准卷积运算过程以及逐点卷积运算过程中,人体解析编码模块仅提取了输入特征图中人体解析任务对应的部分特征图的特征,而深度估计编码模同时提取了输入特征图中人体解析任务对应的部分特征图的特征、以及深度估计任务对应的部分特征图的特征。
需要说明的是,对于本申请实施例提供的编码网络,在利用人体解析任务中提取的特征时,可以仅采用上述标准卷积运算的方式或者仅采用上述逐深度卷积运算和逐点卷积运算相结合的方式,也可以同时采用上述两种方式。同样,上述“浅层特征图”、“中层特征图”以及“深层特征图”仅为举例说明,并不以此为限,即具体哪些卷积层输出的特征图为“浅层特征图”、“中层特征图”或“深层特征图”可以根据实际需求进行定义。
进一步地,在对人体解析编码模块进行扩充得到深度估计编码模块过程中,首先,确定深度估计对应的新增卷积核;然后,由于人体解析不需要用到深度估计所提取的特征,同时为了避免使用计算代价大的合并操作,为人体解析编码模块对应的卷积核补零(Padding zeros),且补零的维度等于新增卷积核的维度;最后,由于深度估计可以用到人体解析所提取的特征,将新增卷积核和人体解析模块对应的补零前的卷积核叠加即为深度估计编码模块对应的卷积核。再次参考图9b和图10b,以浅层特征图经过D个标准卷积得到中层特征图为例,人体解析网络模型中使用D个维度为C*k*k的卷积核,而在本申请实施例的预设网络模型中在人体解析编码模块部分使用D个维度为(C+C’)*k*k的卷积核,如图11a所示,它的前C维卷积核(高度为C的卷积核部分)与人体解析网络模型中的卷积核相同,而新增的C’维卷积核(高度为C’的卷积核部分)值为0,进而实现在不影响人体解析的前提下,避免了使用计算代价大的合并操作。预设网络模型中在深度估计编码模块部分使用的卷积核维度也为(C+C’)*k*k。
需要说明的是,上述是一种扩充卷积核(即扩充编码模块)的方法,在不同的网络分支中可以使用不同的扩充方法。例如,对于来自人体解析编码模块的逐深度卷积核,如果是逐深度卷积层所使用的卷积核,它们不需要补零。对于来自深度估计编码模块的标准卷积核,如果当前层不需要利用利用人体解析所提取的特征,则当前层的卷积核需要补零,如图11b所示,其中C对应的维度的卷积核都为0,C’对应的维度的卷积核为深度估计卷积核。
在上述人体解析和深度估计任务共享编码网络的方案中,一方面提高了深度估计的性能,另一方面在提高性能了前提下控制了预设网络模型的大小,具体分析如下:
(1)性能:人体解析和深度估计任务的特征存在诸多相似性,在深度估计的任务中复用人体解析的特征能够很好地提高深度估计的效果。对比单独的深度估计任务的网络,该方案中深度估计任务的网中的编码部分可以获得更多的语义特征,不仅特征数量上更多,而且特征的含义更丰富,更多的语义特征可以提高深度估计的性能。例如,在已知图像中每个像素所属的类别,例如某个部分为人体,那么这部分像素的深度值应该相近的。
(2)模型大小:单独的人体解析和单独的深度估计需要两个模型,模型会占据比较大的存储空间。但是对于本申请方案的多任务网络,在保证;深度估计性能的前提下,因为其中的深度估计所需要的卷积核数量远小于单独的深度估计网络,所以我们的多任务网络占据更小的存储空间。
(3)实时性:通过复用人体解析编码网络,能够大大提高深度估计的处理效率,如果本本申请实施例应用在手机拍照预览模式(Preview Mode)下,那么就保证了预览模式下的实时性需求。
在预览模式下,握持拍摄设备的手部的运动会引入随机的角度偏移。例如图12所示,图(a)表示手部运动导致的水平方向和垂直方向的偏移,偏移量的分布几乎是对称的;图(b)表示角度偏移量的直方图统计,大部分偏移量的是相对较小的。在预览模式下,手部的运动反应在拍摄设备上表现为:图像中近处的物体相比较于远处物体会产生更大的位置偏移量。由这些运动产生的偏移量反映了物体之间在深度值上的差异。例如,距离拍摄设备深度值越近的物体的视差值越大,而在同一幅图像上,距离拍摄设备深度值越远的物体的视差值越小,如图13所示,图中上图为连续的k帧图像,下图为每两帧相邻的图像之间得到的视差图及第k帧图像的深度图。
在本申请的一种可选实施例中,该方法还可以包括:
获取包含待处理图像相邻的至少两帧的连续图像;
基于至少两帧连续图像,获取待处理图像对应的第一视差信息;
那么,基于第一位置信息对待处理图像进行深度估计,得到待处理图像对应的深度图像,包括:
基于第一视差信息和第一位置信息对待处理图像进行深度估计,得到待处理图像对应的深度图像。
进一步地,基于至少两帧连续图像,获取待处理图像对应的第一视差信息,包括:
获取至少两帧连续图像中相邻两帧图像之间的第二视差信息;
基于第二视差信息获取第一视差信息。
进一步地,基于第二视差信息获取第一视差信息,包括:
基于第二视差信息获取对应的平均视差信息或累计视差信息,并将平均视差信息或累计视差信息作为第一视差信息。
具体地,再次参考图13,对于连续的k帧图像,每相邻的两帧可以计算出一张视差图(即第二视差信息),基于连续累积或平均的(k-1)张绝对值视差图(即第一视差信息)辅助计算深度图。例如,在第2帧与第1帧之间的视差值水平方向为|i2-i1|,垂直方向为|j2-j1|;第3帧与第2帧之间的视差值水平方向为|i3-i2|,垂直方向为|j3-j2|;类似地,第k帧与第k-1帧之间的视差值水平方向为|ik-ik-1|,垂直方向为|jk-jk-1|。
具体来说,单独使用一张图进行深度估计时容易估计不鲁棒,如图14所示,在单独估计第k帧图像的深度图时,远处物体和近处物体的深度值混合在一起,深度值的估计不准确。而在使用多帧视差信息融合后,远处物体和近处物体的深度值可以更好的区分。因为远处物体的视差值要小于近处物体的视差值,这个额外的信息可以帮助预设网络模型更好的估计深度值,提高深度估计的鲁棒性。
可以理解的是,可以根据上述处理过程预设一个基于多帧的视差模块(Multi-frames based Disparity,MFbD)用于获取待处理图像的第一视差信息,该MFbD的输入为包含待处理图像的至少两帧的连续图像(即连续k帧图像),输出为待处理图像对应的第一视差信息。如图15为MFbD的输入和输出示意图,输入预览模式下的k帧图像,经MFbD卷积核输出两个尺寸为W*H的视差矩阵(可以记为W*H*2),这两个视差矩阵中各元素为对应像素点的水平方向和垂直方向的视差信息。
在本申请的一种可选实施例中,基于特征图、第一位置信息和第一视差信息进行至少一次特征上采样,得到深度估计结果,包括:
将第一位置信息、第一视差信息和至少一次特征下采样输出的特征图进行特征融合,得到至少一个第三融合特征图;
基于至少一个第三融合特征图进行与至少一次特征下采样对应的特征上采样。
在本申请的一种可选实施例中,基于至少一个第三融合特征图进行与至少一次特征下采样对应的特征上采样,包括:
将第三融合特征图与对应的特征上采样所对应的输入特征图进行特征融合,得到对应的第四融合特征图;
基于第四融合特征图进行特征上采样,输出得到的特征图。
需要说明的是,如图16-17所示,MFbD可以与IPM一样单独或共同与前文所述预设网络模型组合来对待处理图像进行深度估计,在组合结构中,MFbD与预设网络的连接方式与IPM与预设网络的连接方式相同,MFbD输出的第一视差信息在预设网络模型进行深度估计中的用法与第一位置信息的用法相同,在此不再赘述。
综上所述,在用户反馈问题中,某些智能设备的自动对焦功能不够好,特别对于近距离拍摄时,本申请提供的技术方案可以提供宽范围的深度图的估计(覆盖微深度)以提升后续手机的自动对焦功能。由于本申请提供的方案中的预设网络模型可以适配于不同的相机,它既可以用于后摄中的主摄,长焦镜头等,也可以应用于前置摄像头系列组中的不同摄像头。为了节省计算资源,本申请提供的方案可以使用一个模型完成自动曝光和自动对焦的功能。应用本申请实施例的技术方案,不管物体距离远近,都能够通过准确的深度估计达到准确的对焦,从而得到物体清晰的图像。
本申请实施例提出了一种基于深度学习的多任务中宽范围深度估计方法,宽范围的深度估计在自动对焦,AI(Artificial Intelligence,人工智能)相机,AR(AugmentedReality,增强现实)/VR(Virtual Reality,虚拟现实)等领域都有很广阔的应用前景,可以用于各类智能手机、机器人及AR/VR设备中。本申请实施例通过将像平面坐标变换融入卷积层获得对宽范围的深度的支持,通过融合多帧图像信息实现更鲁棒地远近距离的深度估计,并实现深度估计和其他任务以多任务的方式融入同一个网络中,实现高效地宽范围深度估计,可以满足预览模式下实时性的需求。
下面对上述过程中所采用的预设网络模型的训练过程进行说明,该部分包括训练数据的获取、损失函数的设计以及评级准则设计,具体表述如下。
1、训练数据的获取:
(1)基于其他相机拍摄的图像(例如NYUDV2,KITTI,DIODE等数据集中的图像),使用如下的公式计算得到目标相机(即预设成像平面对应的相机,其相机参数为前文中的第一相机参数)的训练数据:
其中,[xI,yI,1]是输入图像上每个像素点的坐标,K-1是拍摄当前图像的相机内参数矩阵的逆矩阵(包括相机焦距,图像主点坐标,传感器尺寸,即前文中第二相机参数),Ks是目标相机的内参数矩阵。z是拍摄当前图像的每个像素的深度值,tz是设置的平移深度,R是设置的旋转矩阵。
(2)改变tZ以得到所需要的微深度的数据,改变R来扩充训练数据。
(3)在步骤(2)产生的图像中会存在很多空洞,使用双线性差值来填充空洞。
(4)裁剪上述步骤得到的图像,去掉低分辨率且质量较差的区域,即得到训练数据。
如图18所示,左图为NYUDV2数据集中拍摄得到的图像,右图为根据该图像经过变换得到的目标图像(即训练数据)。
2、损失函数的设计:
可接受误差代价:给更重要的深度范围更多的惩罚,具体的损失函数如下公式所示:
其中,D(i)是第i个深度值区间的代价函数,该代价函数可以是L1,L2或者其他衡量真实值与估计得到的深度值之间的误差的函数,表示可接受误差的值,di表示第i个深度值的真值的区间,表示在第t批数据中,di这个区间的可接受误差的平均值,α,β表示超参数,L表示所有的区间的移动平均误差。如图19所示是NYUDv2和KITTI数据集的深度值的直方图统计结果。
如表1所示,不同的深度范围可接受的误差值。例如,对于等级1,对应的深度值范围为[0.07m,0.08m)的可接受误差范围是0.005m,深度值范围为[1.2m,1.6m)的可接受误差范围是0.2m。
表1
等级 | 深度值范围 | 可接受误差 |
1 | [0.07,0.08) | 0.005 |
… | … | … |
21 | [1.2,1.6) | 0.2 |
… | … | … |
24 | [5,10) | 2.5 |
… | … | … |
3、评价准则设计:
图20为本申请实施例还提供了一种图像处理方法的流程示意图,如图20所示,该方法可以包括:
步骤S2001,通过编码网络,对待处理图像进行至少一次特征下采样,得到对应的特征图,其中,编码网络包括若干个特征下采样单元,至少一个特征下采样单元包括第一特征下采样模块和第二特征下采样模块,第一特征下采样模块和第二特征下采样模块分别对输入的待处理图像或特征图进行特征下采样,得到第一特征图和第二特征图,将第一特征图和第二特征图进行融合后输出;
步骤S2002,通过第一解码网络,基于编码网络输出的特征图进行至少一次特征上采样,得到第一处理结果;
步骤S2003,通过第二解码网络,基于编码网络中的至少一个第一下采样模块输出的第一特征图进行至少一次特征上采样,得到第二处理结果。
本申请提供的方案,在图像处理过程中,在编码模块分别通过第一特征下采样模块和第二特征下采样模块对待处理图像进行多次特征下采样,并分别通过对应的解码网络对两个特征下采样模块输出的特征图进解码处理得到对应的处理结果,在一个模型中同时获取了两个处理结果的同时,在编码模块中第二下采样模块进行下采样可以复用第一下采样模块提取的特征,进而使得解码后得到的处理结果更加准确。
在本申请的一种可选实施例中,第一特征下采样模块所使用的卷积核中包含第一维度的第一卷积核和第二维度的第二卷积核,其中第二卷积核的值为零,其中,
第一维度是基于上一个特征下采样单元中的第一特征下采样模块所使用的卷积核的个数确定的,第二维度是基于上一个特征下采样单元中的第二特征下采样模块所使用的卷积核的个数确定的。
在本申请的一种可选实施例中,第一特征下采样模块所使用的卷积核的个数与上一个特征下采样单元中的第一特征下采样模块所使用的卷积核的个数相同,第二特征下采样模块所使用的卷积核的个数与上一个特征下采样单元中的第二特征下采样模块所使用的卷积核的个数相同。
在本申请的一种可选实施例中,第一处理结果为待处理图像的深度估计结果,第二处理结果为待处理图像的语义解析结果。
需要说明的是,本申请实施例中深度估计任务和其他相关的任务共享编码网络,且在编码网络中深度估计特征下采样模块可以复用相关任务的特征下采样模块所提取的特征。上述方案的具体实现过程参见前文描述,在此不再赘述。如图21所示,深度估计任务和人体解析任务共享编码网络,编码网络包括人体解析编码模块和深度估计模块。
图22为本申请实施例提供的一种深度估计方法的流程示意图,如图22所示,该方法可以包括:
步骤S2201,获取包含待处理图像的至少两帧连续图像;
步骤S2202,基于至少两帧连续图像,获取待处理图像对应的第一视差信息;
步骤S2203,基于第一视差信息对待处理图像进行深度估计。
本申请提供的方案,通过包含待处理图像的至少两帧连续图像获取待处理图像的视差信息,并结合待处理图像的视差信息进行深度估计,消除了采集待处理图像时引入的视差对深度估计的影响,提高了深度估计的准确性和鲁棒性。
在本申请的一种可选实施例中,基于至少两帧连续图像,获取待处理图像对应的第一视差信息,包括:
获取至少两帧连续图像中相邻两帧图像之间的第二视差信息;
基于第二视差信息获取第一视差信息。
在本申请的一种可选实施例中,基于第二视差信息获取第一视差信息,包括:
基于第二视差信息获取对应的平均视差信息或累计视差信息,并将平均视差信息或累计视差信息作为第一视差信息。
在本申请的一种可选实施例中,基于第一视差信息对待处理图像进行深度估计,包括:
通过编码网络,对待处理图像进行至少一次特征下采样,得到对应的特征图;
通过第一解码网络,基于特征图和第一视差信息进行至少一次特征上采样,得到深度估计结果。
在本申请的一种可选实施例中,基于特征图和第一视差信息进行至少一次特征上采样,包括:
将第一视差信息和至少一次特征下采样输出的特征图进行特征融合,得到至少一个第五融合特征图;
基于至少一个第五融合特征图进行与至少一次特征下采样对应的特征上采样。
在本申请的一种可选实施例中,基于至少一个第五融合特征图进行与至少一次特征下采样对应的特征上采样,包括:
将第五融合特征图与对应的特征上采样所对应的输入特征图进行特征融合,得到对应的第六融合特征图;
基于第六融合特征图进行特征上采样,输出得到的特征图。
需要说明的是,如图23所示,MFbD与前文预设网络模型组合来对待处理图像进行深度估计,在组合结构中,MFbD输出的第一视差信息在预设网络模型进行深度估计中的用法与第一位置信息的用法相同,在此不再赘述。
图24为本申请实施例提供的一种深度估计装置的结构框图,如图24所示,该装置2400可以包括:位置信息获取模块2401和深度图像获取模块2402,其中:
位置信息获取模块2401用于将待处理图像映射到预设平面,并获取待处理图像中像素点在预设平面上的第一位置信息;
深度图像获取模块2402用于基于第一位置信息对待处理图像进行深度估计。
本申请提供的方案,通过将待处理图像映射到预设成像平面获取待处理图像各像素点在预设成像平面上的位置信息,并在深度估计过程中使用待处理图像中各像素点在预设成像平面上的位置信息,消除了相机参数对深度估计范围的影响,使得同一个网络模型可以对不同相机参数对应的待处理图像进行深度估计,在保证宽范围深度估计的同时,节省了计算资源和存储空间。
在本申请的一种可选实施例中,第一位置信息获取模块具体用于:
基于当前成像平面对应的第二相机参数,获取待处理图像中像素点在当前成像平面上的第二位置信息;
基于第二位置信息、预设平面对应的第一相机参数以及第二相机参数,获取第一位置信息。
在本申请的一种可选实施例中,相机参数包括相机的焦距、主点位置和传感器尺寸中的至少一项。
在本申请的一种可选实施例中,第一位置信息获取模块进一步用于:
基于第一相机参数和第二相机参数,获取第一位置信息和第二位置信息之间的映射关系;
基于第二位置信息和映射关系,获取第一位置信息。
在本申请的一种可选实施例中,深度图像获取模块包括特征下采样子模块和特征上采样子模块,其中:
特征下采样子模块,用于通过编码网络,对待处理图像进行至少一次特征下采样,得到对应的特征图;
第一特征上采样子模块,用于通过第一解码网络,基于所述特征图和所述第一位置信息进行至少一次特征上采样,得到深度估计结果。
在本申请的一种可选实施例中,所述编码网络包括若干个特征下采样单元,至少一个特征下采样单元包括第一特征下采样模块和第二特征下采样模块,其中,
所述第一特征下采样模块对输入的待处理图像或特征图进行特征下采样,得到第一特征图,所述第二特征下采样模块对输入的待处理图像或特征图进行特征下采样,得到第二特征图,将所述第一特征图和所述第二特征图进行融合后输出。
在本申请的一种可选实施例中,所述第一特征下采样模块所使用的卷积核中包含第一维度的第一卷积核和第二维度的第二卷积核,其中所述第二卷积核的值为零,其中,
所述第一维度是基于上一个特征下采样单元中的第一特征下采样模块所使用的卷积核的个数确定的,所述第二维度是基于上一个特征下采样单元中的第二特征下采样模块所使用的卷积核的个数确定的。
在本申请的一种可选实施例中,所述第一特征下采样模块和所述第二特征下采样模块所使用的卷积核为标准卷积或逐点卷积的卷积核。
在本申请的一种可选实施例中,所述第一特征下采样模块所使用的卷积核的个数与上一个特征下采样单元中的第一特征下采样模块所使用的卷积核的个数相同,所述第二特征下采样模块所使用的卷积核的个数与上一个特征下采样单元中的第二特征下采样模块所使用的卷积核的个数相同。
在本申请的一种可选实施例中,所述第一特征下采样模块和所述第二特征下采样模块所使用的卷积核为逐深度卷积的卷积核。
在本申请的一种可选实施例中,该装置还可以包括,第二特征上采样子模块,用于:
通过第二解码网络,基于编码网络中的至少一个第一下采样模块输出的第一特征图进行至少一次特征上采样,得到对应的处理结果。
在本申请的一种可选实施例中,所述第二解码网络得到的所述对应的处理结果为所述待处理图像的语义解析结果。
在本申请的一种可选实施例中,第一特征上采样子模块具体用于:
将所述第一位置信息和至少一次特征下采样输出的特征图进行特征融合,得到至少一个第一融合特征图;
基于所述至少一个第一融合特征图进行与所述至少一次特征下采样对应的特征上采样。
在本申请的一种可选实施例中,第一特征上采样子模块进一步用于::
将第一融合特征图与对应的特征上采样所对应的输入特征图进行特征融合,得到对应的第二融合特征图;
基于所述第二融合特征图进行特征上采样,输出得到的特征图。
在本申请的一种可选实施例中,该装置还可以包括视差信息获取模块,用于:
获取包含待处理图像的至少两帧连续图像;
基于至少两帧连续图像,获取待处理图像对应的第一视差信息;
相应地,深度估计模块进一步用于:
基于特征图、第一位置信息和第一视差信息,对编码网络的输出特征图进行与至少一次特征下采样对应的特征上采样,得到深度估计结果。
在本申请的一种可选实施例中,视差信息获取模块具体用于:
获取至少两帧连续图像中相邻两帧图像之间的第二视差信息;
基于第二视差信息获取第一视差信息。
在本申请的一种可选实施例中,视差信息获取模块进一步用于:
基于第二视差信息获取对应的平均视差信息或累计视差信息,并将平均视差信息或累计视差信息作为第一视差信息。
在本申请的一种可选实施例中,第一特征上采样子模块进一步用于:
将所述第一位置信息、所述第一视差信息和至少一次特征下采样输出的特征图进行特征融合,得到至少一个第三融合特征图;
基于所述至少一个第三融合特征图进行与所述至少一次特征下采样对应的特征上采样。
在本申请的一种可选实施例中,第一特征上采样子模块进一步用于::
将所述第三融合特征图与对应的特征上采样所对应的输入特征图进行特征融合,得到对应的第四融合特征图;
基于所述第四融合特征图进行特征上采样,输出得到的特征图。
图25为本申请实施例提供的一种图像处理装置的结构框图,如图25所示,该装置2500可以包括:编码模块2501、第一解码模块2502以及第二解码模块2503,其中:
编码模块2501用于通过编码网络,对待处理图像进行至少一次特征下采样,得到对应的特征图,其中,所述编码网络包括若干个特征下采样单元,至少一个特征下采样单元包括第一特征下采样模块和第二特征下采样模块,所述第一特征下采样模块和第二特征下采样模块分别对输入的待处理图像或特征图进行特征下采样,得到第一特征图和第二特征图,将所述第一特征图和所述第二特征图进行融合后输出;
第一解码模块2502用于通过第一解码网络,基于所述编码网络输出的特征图进行至少一次特征上采样,得到第一处理结果;
第二解码模块2503用于通过第二解码网络,基于所述编码网络中的至少一个第一下采样模块输出的第一特征图进行至少一次特征上采样,得到第二处理结果。本申请提供的方案,通过将待处理图像映射到预设成像平面获取待处理图像各像素点在预设成像平面上的位置信息,并在深度估计过程中使用待处理图像中各像素点在预设成像平面上的位置信息,消除了相机参数对深度估计范围的影响,使得同一个网络模型可以对不同相机参数对应的待处理图像进行深度估计,在保证宽范围深度估计的同时,节省了计算资源和存储空间。
在本申请的一种可选实施例中,所述第一特征下采样模块所使用的卷积核中包含第一维度的第一卷积核和第二维度的第二卷积核,其中所述第二卷积核的值为零,其中,
所述第一维度是基于上一个特征下采样单元中的第一特征下采样模块所使用的卷积核的个数确定的,所述第二维度是基于上一个特征下采样单元中的第二特征下采样模块所使用的卷积核的个数确定的。
在本申请的一种可选实施例中,所述第一特征下采样模块所使用的卷积核的个数与上一个特征下采样单元中的第一特征下采样模块所使用的卷积核的个数相同,所述第二特征下采样模块所使用的卷积核的个数与上一个特征下采样单元中的第二特征下采样模块所使用的卷积核的个数相同。
在本申请的一种可选实施例中,所述第一处理结果为所述待处理图像的深度估计结果,所述第二处理结果为所述待处理图像的语义解析结果。
图26为本申请实施例提供的一种深度估计装置的结构框图,如图26所示,该装置2600可以包括:连续图像获取模块2601、视差信息获取模块2602以及深度估计模块2603,其中:
连续图像获取模块2601用于获取包含待处理图像的至少两帧连续图像;
视差信息获取模块2602用于基于至少两帧连续图像,获取待处理图像对应的第一视差信息;
深度估计模块2603用于基于第一视差信息对待处理图像进行深度估计。
在本申请的一种可选实施例中,第一视差信息获取模块具体用于:
获取至少两帧连续图像中相邻两帧图像之间的第二视差信息;
基于第二视差信息获取第一视差信息。
在本申请的一种可选实施例中,第一视差信息获取模块进一步用于:
基于第二视差信息获取对应的平均视差信息或累计视差信息,并将平均视差信息或累计视差信息作为第一视差信息。
在本申请的一种可选实施例中,深度估计模块包括:特征下采样子模块和特征上采样子模块,其中:
特征下采样子模块,用于通过编码网络,对待处理图像进行至少一次特征下采样,得到对应的特征图;
特征上采样子模块,用于通过第一解码网络,基于所述特征图和所述第一视差信息进行至少一次特征上采样,得到深度估计结果。
在本申请的一种可选实施例中,特征上采样子模块具体用于:
将所述第一视差信息和至少一次特征下采样输出的特征图进行特征融合,得到至少一个第五融合特征图;
基于所述至少一个第五融合特征图进行与所述至少一次特征下采样对应的特征上采样。
在本申请的一种可选实施例中,特征上采样子模块进一步用于:
将所述第五融合特征图与对应的特征上采样所对应的输入特征图进行特征融合,得到对应的第六融合特征图;
基于所述第六融合特征图进行特征上采样,输出得到的特征图。
下面参考图27,其示出了适于用来实现本申请实施例的电子设备(例如执行图4、图20或图22所示方法的终端设备或服务器)1800的结构示意图。本申请实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)、可穿戴设备等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图27示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
电子设备包括:存储器以及处理器,存储器用于存储执行上述各个方法实施例所述方法的程序;处理器被配置为执行存储器中存储的程序。其中,这里的处理器可以称为下文所述的处理装置1801,存储器可以包括下文中的只读存储器(ROM)1802、随机访问存储器(RAM)1803以及存储装置1808中的至少一项,具体如下所示:
如图27所示,电子设备1800可以包括处理装置(例如中央处理器、图形处理器等)1801,其可以根据存储在只读存储器(ROM)1802中的程序或者从存储装置1808加载到随机访问存储器(RAM)1803中的程序而执行各种适当的动作和处理。在RAM1803中,还存储有电子设备1800操作所需的各种程序和数据。处理装置1801、ROM 1802以及RAM1803通过总线1804彼此相连。输入/输出(I/O)接口1805也连接至总线1804。
通常,以下装置可以连接至I/O接口1805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1806;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置1807;包括例如磁带、硬盘等的存储装置1808;以及通信装置1809。通信装置1809可以允许电子设备1800与其他设备进行无线或有线通信以交换数据。虽然图27示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1809从网络上被下载和安装,或者从存储装置1808被安装,或者从ROM1802被安装。在该计算机程序被处理装置1801执行时,执行本申请实施例的方法中限定的上述功能。
需要说明的是,本申请上述的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
将待处理图像映射到预设平面,并获取待处理图像中像素点在预设平面上的第一位置信息;基于第一位置信息对待处理图像进行深度估计。
或者,通过编码网络,对待处理图像进行至少一次特征下采样,得到对应的特征图,其中,编码网络包括若干个特征下采样单元,至少一个特征下采样单元包括第一特征下采样模块和第二特征下采样模块,第一特征下采样模块和第二特征下采样模块分别对输入的待处理图像或特征图进行特征下采样,得到第一特征图和第二特征图,将第一特征图和第二特征图进行融合后输出;通过第一解码网络,基于编码网络输出的特征图进行至少一次特征上采样,得到第一处理结果;通过第二解码网络,基于编码网络中的至少一个第一下采样模块输出的第一特征图进行至少一次特征上采样,得到第二处理结果。
或者,获取包含待处理图像的至少两帧连续图像;基于至少两帧连续图像,获取待处理图像对应的第一视差信息;基于第一视差信息对待处理图像进行深度估计。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块或单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一位置信息获取模块还可以被描述为“获取第一位置信息的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
本申请实施例中所提供的装置,可以通过AI模型来实现多个模块中的至少一个模块。可以通过非易失性存储器、易失性存储器和处理器来执行与AI相关联的功能。
该处理器可以包括一个或多个处理器。此时,该一个或多个处理器可以是通用处理器,例如中央处理单元(CPU)、应用处理器(AP)等、或者是纯图形处理单元,例如,图形处理单元(GPU)、视觉处理单元(VPU)、和/或AI专用处理器,例如神经处理单元(NPU)。
该一个或多个处理器根据存储在非易失性存储器和易失性存储器中的预定义的操作规则或人工智能(AI)模型来控制对输入数据的处理。通过训练或学习来提供预定义的操作规则或人工智能模型。
这里,通过学习来提供指的是通过将学习算法应用于多个学习数据来得到预定义的操作规则或具有期望特性的AI模型。该学习可以在其中执行根据实施例的AI的装置本身中执行,和/或可以通过单独的服务器/系统来实现。
该AI模型可以包含多个神经网络层。每一层具有多个权重值,一个层的计算是通过前一层的计算结果和当前层的多个权重来执行的。神经网络的示例包括但不限于卷积神经网络(CNN)、深度神经网络(DNN)、循环神经网络(RNN)、受限玻尔兹曼机(RBM)、深度信念网络(DBN)、双向循环深度神经网络(BRDNN)、生成对抗网络(GAN)、以及深度Q网络。
学习算法是一种使用多个学习数据训练预定目标装置(例如,机器人)以使得、允许或控制目标装置进行确定或预测的方法。该学习算法的示例包括但不限于监督学习、无监督学习、半监督学习、或强化学习。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的计算机可读介质被电子设备执行时实现的具体方法,可以参考前述方法实施例中的对应过程,在此不再赘述。
Claims (26)
1.一种深度估计方法,其特征在于,包括:
将待处理图像映射到预设平面,并获取所述待处理图像中像素点在所述预设平面上的第一位置信息;
基于所述第一位置信息对所述待处理图像进行深度估计。
2.根据权利要求1所述的方法,其特征在于,所述获取所述待处理图像中像素点在所述预设平面上的第一位置信息,包括:
基于当前成像平面对应的第二相机参数,获取所述待处理图像中像素点在所述当前成像平面上的第二位置信息;
基于所述第二位置信息、所述预设平面对应的第一相机参数以及所述第二相机参数,获取所述第一位置信息。
3.根据权利要求2所述的方法,其特征在于,相机参数包括相机的焦距、主点位置和传感器尺寸中的至少一项。
4.根据权利要求2或3所述的方法,其特征在于,所述基于所述第二位置信息、所述预设平面对应的第一相机参数以及所述第二相机参数,获取所述第一位置信息,包括:
基于所述第一相机参数和所述第二相机参数,获取所述第一位置信息和所述第二位置信息之间的映射关系;
基于所述第二位置信息和所述映射关系,获取所述第一位置信息。
5.根据权利要求1所述的方法,其特征在于,所述基于所述第一位置信息对所述待处理图像进行深度估计,包括:
通过编码网络,对所述待处理图像进行至少一次特征下采样,得到对应的特征图;
通过第一解码网络,基于所述特征图和所述第一位置信息进行至少一次特征上采样,得到深度估计结果。
6.根据权利要求5所述的方法,其特征在于,所述编码网络包括若干个特征下采样单元,至少一个特征下采样单元包括第一特征下采样模块和第二特征下采样模块,其中,
所述第一特征下采样模块对输入的待处理图像或特征图进行特征下采样,得到第一特征图,所述第二特征下采样模块对输入的待处理图像或特征图进行特征下采样,得到第二特征图,将所述第一特征图和所述第二特征图进行融合后输出。
7.根据权利要求6所述的方法,其特征在于,所述第一特征下采样模块所使用的卷积核中包含第一维度的第一卷积核和第二维度的第二卷积核,其中所述第二卷积核的值为零,其中,
所述第一维度是基于上一个特征下采样单元中的第一特征下采样模块所使用的卷积核的个数确定的,所述第二维度是基于上一个特征下采样单元中的第二特征下采样模块所使用的卷积核的个数确定的。
8.根据权利要求6所述的方法,其特征在于,所述第一特征下采样模块所使用的卷积核的个数与上一个特征下采样单元中的第一特征下采样模块所使用的卷积核的个数相同,所述第二特征下采样模块所使用的卷积核的个数与上一个特征下采样单元中的第二特征下采样模块所使用的卷积核的个数相同。
9.根据权利要求6-8中任一项所述的方法,其特征在于,还包括:
通过第二解码网络,基于编码网络中的至少一个第一下采样模块输出的第一特征图进行至少一次特征上采样,得到对应的处理结果。
10.根据权利要求9所述的方法,其特征在于,所述第二解码网络得到的所述对应的处理结果为所述待处理图像的语义解析结果。
11.根据权利要求5所述的方法,其特征在于,所述基于所述特征图和所述第一位置信息进行至少一次特征上采样,得到深度估计结果,包括:
将所述第一位置信息和至少一次特征下采样输出的特征图进行特征融合,得到至少一个第一融合特征图;
基于所述至少一个第一融合特征图进行与所述至少一次特征下采样对应的特征上采样。
12.根据权利要求11所述的方法,其特征在于,所述基于所述至少一个第一融合特征图进行与所述至少一次特征下采样对应的特征上采样,包括:
将第一融合特征图与对应的特征上采样所对应的输入特征图进行特征融合,得到对应的第二融合特征图;
基于所述第二融合特征图进行特征上采样,输出得到的特征图。
13.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取包含所述待处理图像的至少两帧连续图像;
基于所述至少两帧连续图像,获取所述待处理图像对应的第一视差信息;
所述基于所述特征图和所述第一位置信息进行至少一次特征上采样,得到深度估计结果,包括:
基于所述特征图、所述第一位置信息和所述第一视差信息进行至少一次特征上采样,得到深度估计结果。
14.根据权利要求13所述的方法,特征在于,所述基于所述至少两帧连续图像,获取所述待处理图像对应的第一视差信息,包括:
获取所述至少两帧连续图像中相邻两帧图像之间的第二视差信息;
基于所述第二视差信息获取所述第一视差信息。
15.根据权利要求14所述的方法,其特征在于,所述基于所述第二视差信息获取所述第一视差信息,包括:
基于所述第二视差信息获取对应的平均视差信息或累计视差信息,并将所述平均视差信息或所述累计视差信息作为所述第一视差信息。
16.根据权利要求13所述的方法,其特征在于,所述基于所述特征图、所述第一位置信息和所述第一视差信息进行至少一次特征上采样,得到深度估计结果,包括:
将所述第一位置信息、所述第一视差信息和至少一次特征下采样输出的特征图进行特征融合,得到至少一个第三融合特征图;
基于所述至少一个第三融合特征图进行与所述至少一次特征下采样对应的特征上采样。
17.根据权利要求16所述的方法,其特征在于,所述基于所述至少一个第三融合特征图进行与所述至少一次特征下采样对应的特征上采样,包括:
将所述第三融合特征图与对应的特征上采样所对应的输入特征图进行特征融合,得到对应的第四融合特征图;
基于所述第四融合特征图进行特征上采样,输出得到的特征图。
18.一种图像处理方法,其特征在于,包括:
通过编码网络,对待处理图像进行至少一次特征下采样,得到对应的特征图,其中,所述编码网络包括若干个特征下采样单元,至少一个特征下采样单元包括第一特征下采样模块和第二特征下采样模块,所述第一特征下采样模块和第二特征下采样模块分别对输入的待处理图像或特征图进行特征下采样,得到第一特征图和第二特征图,将所述第一特征图和所述第二特征图进行融合后输出;
通过第一解码网络,基于所述编码网络输出的特征图进行至少一次特征上采样,得到第一处理结果;
通过第二解码网络,基于所述编码网络中的至少一个第一下采样模块输出的第一特征图进行至少一次特征上采样,得到第二处理结果。
19.根据权利要求18所述的方法,其特征在于,所述第一特征下采样模块所使用的卷积核中包含第一维度的第一卷积核和第二维度的第二卷积核,其中所述第二卷积核的值为零,其中,
所述第一维度是基于上一个特征下采样单元中的第一特征下采样模块所使用的卷积核的个数确定的,所述第二维度是基于上一个特征下采样单元中的第二特征下采样模块所使用的卷积核的个数确定的。
20.根据权利要求18所述的方法,其特征在于,所述第一特征下采样模块所使用的卷积核的个数与上一个特征下采样单元中的第一特征下采样模块所使用的卷积核的个数相同,所述第二特征下采样模块所使用的卷积核的个数与上一个特征下采样单元中的第二特征下采样模块所使用的卷积核的个数相同。
21.根据权利要求18-20中任一项所述的方法,其特征在于,所述第一处理结果为所述待处理图像的深度估计结果,所述第二处理结果为所述待处理图像的语义解析结果。
22.一种深度估计方法,其特征在于,包括:
获取包含待处理图像的至少两帧连续图像;
基于所述至少两帧连续图像,获取所述待处理图像对应的第一视差信息;
基于所述第一视差信息对所述待处理图像进行深度估计。
23.根据权利要求22所述的方法,特征在于,所述基于所述至少两帧连续图像,获取所述待处理图像对应的第一视差信息,包括:
获取所述至少两帧连续图像中相邻两帧图像之间的第二视差信息;
基于所述第二视差信息获取所述第一视差信息。
24.根据权利要求23所述的方法,其特征在于,所述基于所述第二视差信息获取所述第一视差信息,包括:
基于所述第二视差信息获取对应的平均视差信息或累计视差信息,并将所述平均视差信息或所述累计视差信息作为所述第一视差信息。
25.一种电子设备,其特征在于,包括存储器和处理器;
所述存储器中存储有计算机程序;
所述处理器,用于执行所述计算机程序以实现权利要求1至24中任一项所述的方法。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至24中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011440325.3A CN114596349A (zh) | 2020-12-07 | 2020-12-07 | 深度估计方法、装置、电子设备及计算机可读存储介质 |
KR1020210153377A KR20220080696A (ko) | 2020-12-07 | 2021-11-09 | 깊이 추정 방법, 디바이스, 전자 장비 및 컴퓨터 판독가능 저장 매체 |
PCT/KR2021/016579 WO2022124607A1 (en) | 2020-12-07 | 2021-11-12 | Depth estimation method, device, electronic equipment and computer readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011440325.3A CN114596349A (zh) | 2020-12-07 | 2020-12-07 | 深度估计方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114596349A true CN114596349A (zh) | 2022-06-07 |
Family
ID=81802738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011440325.3A Pending CN114596349A (zh) | 2020-12-07 | 2020-12-07 | 深度估计方法、装置、电子设备及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20220080696A (zh) |
CN (1) | CN114596349A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240146324A (ko) | 2023-03-29 | 2024-10-08 | 충남대학교산학협력단 | 투명 객체의 깊이 추정 장치 및 방법, 투명 객체의 깊이 추정을 위한 학습 방법 |
-
2020
- 2020-12-07 CN CN202011440325.3A patent/CN114596349A/zh active Pending
-
2021
- 2021-11-09 KR KR1020210153377A patent/KR20220080696A/ko active Search and Examination
Also Published As
Publication number | Publication date |
---|---|
KR20220080696A (ko) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11880939B2 (en) | Embedding complex 3D objects into an augmented reality scene using image segmentation | |
CN112311965B (zh) | 虚拟拍摄方法、装置、系统及存储介质 | |
US10580140B2 (en) | Method and system of real-time image segmentation for image processing | |
CN108833785B (zh) | 多视角图像的融合方法、装置、计算机设备和存储介质 | |
CN110782490A (zh) | 一种具有时空一致性的视频深度图估计方法及装置 | |
CN112215880B (zh) | 一种图像深度估计方法及装置、电子设备、存储介质 | |
CN113630549B (zh) | 变焦控制方法、装置、电子设备和计算机可读存储介质 | |
WO2021232965A1 (zh) | 视频去噪方法、装置、移动终端和存储介质 | |
CN110111244A (zh) | 图像转换、深度图预测和模型训练方法、装置及电子设备 | |
CN107633497A (zh) | 一种图像景深渲染方法、系统及终端 | |
CN114640885B (zh) | 视频插帧方法、训练方法、装置和电子设备 | |
CN112200817A (zh) | 基于图像的天空区域分割和特效处理方法、装置及设备 | |
CN114881901A (zh) | 视频合成方法、装置、设备、介质及产品 | |
CN114596349A (zh) | 深度估计方法、装置、电子设备及计算机可读存储介质 | |
CN115861891B (zh) | 视频目标检测方法、装置、设备及介质 | |
CN117768774A (zh) | 图像处理器、图像处理方法、拍摄装置和电子设备 | |
CN117834839A (zh) | 基于移动终端的多视角3d智能成像测量系统 | |
CN109996056B (zh) | 一种2d视频转3d视频的方法、装置及电子设备 | |
KR102571876B1 (ko) | 적어도 하나의 플렌옵틱 비디오를 리포커싱하기 위한 방법 및 디바이스 | |
CN116228607B (zh) | 图像处理方法和电子设备 | |
CN112308809A (zh) | 一种图像合成方法、装置、计算机设备及存储介质 | |
CN113706598B (zh) | 图像处理方法、模型训练方法及装置、介质和电子设备 | |
CN118608373A (zh) | 图像虚化方法及装置、存储介质及电子设备 | |
CN115994984A (zh) | 视觉里程计地图点生成方法、装置、介质、ar图像处理方法、系统 | |
CN114596516A (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 |