CN111179327A - 一种深度图的计算方法 - Google Patents
一种深度图的计算方法 Download PDFInfo
- Publication number
- CN111179327A CN111179327A CN201911396381.9A CN201911396381A CN111179327A CN 111179327 A CN111179327 A CN 111179327A CN 201911396381 A CN201911396381 A CN 201911396381A CN 111179327 A CN111179327 A CN 111179327A
- Authority
- CN
- China
- Prior art keywords
- image
- points
- depth map
- cur
- 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.)
- Granted
Links
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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种深度图的计算方法,包括以下步骤:图像特征点提取与匹配;计算图像特征点对应的空间点及图像在空间中的位姿;根据图像的匹配关系及在空间中的相对位置选择相邻图象作为参考图像;利用参考图像的深度图初始化当前图像的深度图;根据当前图像的深度图初始化像素个数判断其是否为关键帧,若为关键帧,则利用图像特征点的空间坐标重新初始化其深度图;逐像素优化得到的深度图。本发明所公开的计算方法解决了深度图初始精度低的问题,利用较高精度的初始值减少匹配点的搜索范围从而减少计算量,同时减少误匹配概率,提高计算精度。
Description
技术领域
本发明涉及计算机图像处理和计算机图形学领域,特别涉及一种深度图的计算方法。
背景技术
深度图像(depth image)也被称为距离影像(range image),是指将从图像采集器到场景中各点的距离(深度)作为像素值的图像,它直接反映了景物可见表面的几何形状。像素点的深度值可通过内外参已知的两张图像通过三角测量计算,进行三角测量之前需要计算像素间的匹配关系,如图1所示p1,p2为匹配点。空间点P到成像平面距离即为该像素点的深度值。计算图像中所有像素的匹配关系称为立体匹配。
在立体匹配中,匹配问题可以看成是寻找两组数据相关程度的过程。立体匹配算法根据算法运行时约束的作用范围:分为局部(local)匹配算法和全局(Global)匹配算法。
1、全局匹配算法
全局(半全局)立体匹配算法主要是采用了全局的优化理论方法估计视差,建立一个全局能量函数,其包含一个数据项和平滑项,通过最小化全局能量函数得到最优的视差值。其中,图割(Graph cuts,GC)、置信传播(Belief Propagation,BP)、动态规划(DynamicProgramming,DP),粒子群算法(Particle Swarm Optimization,PSO)、遗传算法(GeneticAlgorithm,GA)等优化算法都是常用的求解能量最小化的方法。全局匹配算法一般定义如下能量函数:
其中数据项Edata(d)描述了匹配程度,平滑项Esmooth(d)体现了定义场景的约束,C是匹配代价,P是不同两像素p和q视差的函数,一般称之为惩罚项(penalty),当p点和q点视差不相等时,P>0,且与两者差值越大,P值越大。当p和q视差相等时,P=0。由于全局匹配算法在数学上是一个能量函数的优化问题,因此可以找到最优解。这个问题被证明在二维空间是NP困难的。因此,即使全局算法具有准确性较高的优点,其计算速度确非常慢,在实时性要求高的场合不适合使用全局立体匹配算法。
2、局部匹配算法
基于区域的局部立体算法是最早开始研究,算法成熟、计算简单、速度快,能进行图像实时处理,匹配精度较高。基本原理:在参考图像中选择一个点,选择该点邻域内一个支持窗口,然后依据一定的相似性判断准则,在待匹配图像中寻找与支持窗口最相似的子窗口,该子窗口所对应的像素点即为对应的匹配点。理想的支持窗口应该完全覆盖弱纹理区域,并在窗口内深度连续。与全局立体匹配算法相似,通过优化一个代价函数的方法计算最佳视差。但是,在局部立体匹配算法的能量函数中,只有基于局部区域的约束数据项,没有平滑项。局部匹配算法仅利用某一点邻域的灰度、颜色、梯度等信息进行计算匹配代价,计算复杂度较低,大多实时的立体匹配算法都属于局部立体匹配的范畴,但局部立体匹配算法对低纹理区域、重复纹理区域、视差不连续和遮挡区域匹配效果不理想。
为了提高局部匹配算法的精度,通常在匹配之前设定一个初始深度值,根据深度值可以估计最相似子窗口的搜索范围,初始深度值越准确搜索范围越小,因此计算复杂度越小且匹配错误的概率越小。同时初始深度值可作为一个约束项,最终深度值与初始深度值相差越大匹配代价也越大,因此最终深度值趋于和初始值近似,当初始值较为准确时则最终深度值趋于准确值。
发明内容
为解决上述技术问题,本发明提供了一种深度图的计算方法,以达到提供一种更精确的深度图计算方法的目的。
为达到上述目的,本发明的技术方案如下:
一种深度图的计算方法,包括以下步骤:
步骤一,图像特征点提取与匹配;
步骤二,计算图像特征点对应的空间点及图像在空间中的位姿;
步骤三,根据图像的匹配关系及在空间中的相对位置选择相邻图象作为参考图像;
步骤四,利用参考图像的深度图初始化当前图像的深度图;
步骤五,根据当前图像的深度图初始化像素个数判断其是否为关键帧,若为关键帧,则利用图像特征点的空间坐标重新初始化其深度图;
步骤六,逐像素优化得到的深度图。
上述方案中,所述步骤一中,不同图像In(n=1,2,3,…n)间利用快速最近邻搜索算法做特征匹配计算图像间的同名点,利用同名点计算基础矩阵,通过对极约束筛选匹配误差大的同名点,一组同名点对应一个三维空间点P。
上述方案中,所述步骤二的具体方法如下:
设空间点P=(X,Y,Z)T,In中对应特征点坐标为pn=(un,vn)T,相机内参矩阵为K,则重投影误差可表示为:
计算开始时根据经验值随机初始化P的坐标与相机位姿Tn,通过集束调整迭代优化P的坐标与相机位姿Tn,逐步减小重投影误差,当重投影误差小于0.8时,认为此时P的坐标与相机位姿Tn为真实值。
上述方案中,所述步骤三中,选择每张图像的参考图像时,候选的相邻图像需要满足两个条件:
(1)图像同名点足够多,设当前图像特征点数量为M,候选的相邻图像特征点数量为N,同名点数量为S,则需要满足
上述方案中,所述步骤四的具体方法如下:
设当前图像需要初始化的深度图为Icur,旋转矩阵为Rcur,平移向量为tcur,参考图像的深度图为Ingb,旋转矩阵为Rngb,平移向量为tngb;
设Ingb(x,y)为tngb中一点,坐标为(x,y),深度值d,设所有图像用相同相机拍摄,相机内参矩阵为K,则Ingb相机坐标系下Ingb(x,y)对应的空间点:
世界坐标系下的空间点:
Pw投影到Icur相机坐标系下的空间点:
Pc_cur=RcurPw+tcur
Pc_cur投影到Icur中的像素坐标为:
Icur(x,y)=KPc_cur
若Icur(x,y)在图像范围内,设Pc_cur=(X,Y,Z)T,则该点的深度值初始化Z。
上述方案中,所述步骤五的具体方法如下:
统计初始化的像素点个数,若小于图像像素点总数的40%,则认为该图像没有足够的相邻图像或者相邻图像的深度图尚未计算,此时认为该图像为关键帧;关键帧深度图利用图像中的特征点进行初始化,特征点深度是已知的,因此可以利用特征点构建三角网,没有初始化的点通过插值计算在三角网中的值做为初始化深度值。
上述方案中,所述步骤六的具体方法如下:将当前图像与参考图像分别做局部匹配,匹配算法采用归一化互相关算法。
通过上述技术方案,本发明提供的深度图的计算方法具有如下有益效果:
1、提高初始深度图的精度。
2、减小匹配点的搜索范围,减少迭代优化次数,提高计算速度。
3、减少错误匹配点的出现概率,提高计算精度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为图像间的特征匹配示意图;
图2为本发明公开的深度图的计算方法流程图;
图3为利用参考帧初始化深度图的方法示意图;
图4为三角网初始化深度图的方法示意图;
图5为局部匹配的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明提供了一种深度图的计算方法,如图2所示,该方法计算精度高,计算速度快。
如图1所示,I1、I2表示图像,O1、O2表示图像的相机中心,p表示图像中的特征点,图中p1,p2为同名点,P表示同名点对应的三维空间点,P到图像所在平面的距离即为像素点的深度值。计算图像的深度图即计算图像中所有像素点或者大部分像素点的深度值。
如图2所示,本发明包括以下步骤:
步骤一,对于给定的图像In(n=1,2,3),提取图像中的特征点,可采用SIFT、SURF等方法。不同图像间利用快速最近邻搜索算法(FLANN)做特征匹配计算图像间的同名点,为了提高匹配鲁棒性与精度,利用同名点计算基础矩阵F,通过对极约束筛选匹配误差大的同名点,一组同名点对应一个三维空间点,如图中pn(n=1,2,3)为一组同名点,对应三维空间点为P。
步骤二,计算空间点P的坐标与图像In(n=1,2,3)对应的相机位姿Tn(n=1,2,3)。
设空间点P=(X,Y,Z)T,In中对应特征点坐标为pn=(un,vn)T,相机内参矩阵为K,则重投影误差可表示为:
计算开始时根据经验值随机初始化P的坐标与相机位姿Tn,通过集束调整迭代优化P的坐标与相机位姿Tn,逐步减小重投影误差,当重投影误差小于0.8时认为此时P的坐标与相机位姿Tn为真实值。
步骤三,根据图像之间的匹配关系及图像在空间中的坐标与朝向,计算图像的相邻关系,每张图像选择若干张候选的相邻图像作为参考图像。
设当前图像为I3,候选图像为I1,判断I3与I1是否相邻需要验证以下两个条件:
(1)图像同名点足够多,设I3特征点数量为M,I1特征点数量为N,同名点数量为S,则需要满足
在满足条件(1)和条件(2)的图像中,选择距离最近的若干张图像作为I3的参考图像。设I3和I1的平移向量分别为t3,t1,则图像间的距离为:
dist31=|t3-t1|
设I3与I1、I2的距离dist31、dist32为最小的两个距离,则I1、I2为I3的参考图像。
步骤四,如图3所示,设I1、I2为I3的参考图像,此时可以利用I1、I2的深度图初始化I3的深度图。
p1(x,y)为I1中的一点且深度值为d,I3中p3的坐标位置与深度值未知,此时可利用p1计算p3的坐标与深度值。
设I1的旋转矩阵为R1,平移向量为t1,所有图像的相机内参为K,则I1相机坐标系下p1(x,y)对应的空间点:
世界坐标系下的空间点:
Pw投影到I3相机坐标系下的空间点:
Pc3=R3Pw+t3
Pc3投影到I3中的像素坐标为:
p3(x,y)=KPc3
p3的深度值为Pc3与I3的距离。
利用同样的方法将I1、I2中已知深度的像素点映射到I3中,初始化I3中部分像素点的深度值。
步骤五,在步骤四中利用I1、I2的深度图初始化I3的深度图时,只是初始化I3中部分像素点,当前I3中没有足够数量的像素被初始化时认为I3为关键帧,关键帧需要利用三角网初始化法重新进行初始化。当图像中初始化的像素个数小于总像素数量的40%时则认为该图像为关键帧,如图4所示,图像中存在若干稀疏的特征点p3i(i=1……6),在步骤二中特征点的深度值已经进行过计算,通过这些特征点构造三角网格,网格内部的点通过三角形线性插值获取初始深度值。
步骤六,I3中像素点的初始深度值是不精确的,为了优化深度值,I3需要与I1、I2分别做局部匹配,匹配算法采用归一化互相关算法。
如图5所示I3与I2进行匹配时,p3的匹配点在直线l上,根据p3不同的深度值其匹配点在直线l上不同的位置,如p3的深度分别为P,P‘,P‘’时p3的匹配点分别为p2,p′2,p″2。设p3初始深度为P,则只需沿直线l在p2周围搜索匹配点即可,初始深度值置信度越高需要搜索的范围越小,计算量也越小。通过参考帧初始化的深度值置信度较高,因此可以减少计算量提高计算效率。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种深度图的计算方法,其特征在于,包括以下步骤:
步骤一,图像特征点提取与匹配;
步骤二,计算图像特征点对应的空间点及图像在空间中的位姿;
步骤三,根据图像的匹配关系及在空间中的相对位置选择相邻图象作为参考图像;
步骤四,利用参考图像的深度图初始化当前图像的深度图;
步骤五,根据当前图像的深度图初始化像素个数判断其是否为关键帧,若为关键帧,则利用图像特征点的空间坐标重新初始化其深度图;
步骤六,逐像素优化得到的深度图。
2.根据权利要求1所述的一种深度图的计算方法,其特征在于,所述步骤一中,不同图像In(n=1,2,3,…n)间利用快速最近邻搜索算法做特征匹配计算图像间的同名点,利用同名点计算基础矩阵,通过对极约束筛选匹配误差大的同名点,一组同名点对应一个三维空间点P。
5.根据权利要求1所述的一种深度图的计算方法,其特征在于,所述步骤四的具体方法如下:
设当前图像需要初始化的深度图为Icur,旋转矩阵为Rcur,平移向量为tcur,参考图像的深度图为Ingb,旋转矩阵为Rngb,平移向量为tngb;
设Ingb(x,y)为tngb中一点,坐标为(x,y),深度值d,设所有图像用相同相机拍摄,相机内参矩阵为K,则Ingb相机坐标系下Ingb(x,y)对应的空间点:
世界坐标系下的空间点:
Pw投影到Icur相机坐标系下的空间点:
Pc_cur=RcurPw+tcur
Pc_cur投影到Icur中的像素坐标为:
Icur(x,y)=KPc_cur
若Icur(x,y)在图像范围内,设Pc_cur=(X,Y,Z)T,则该点的深度值初始化Z。
6.根据权利要求1所述的一种深度图的计算方法,其特征在于,所述步骤五的具体方法如下:
统计初始化的像素点个数,若小于图像像素点总数的40%,则认为该图像没有足够的相邻图像或者相邻图像的深度图尚未计算,此时认为该图像为关键帧;关键帧深度图利用图像中的特征点进行初始化,特征点深度是已知的,因此可以利用特征点构建三角网,没有初始化的点通过插值计算在三角网中的值做为初始化深度值。
7.根据权利要求1所述的一种深度图的计算方法,其特征在于,所述步骤六的具体方法如下:将当前图像与参考图像分别做局部匹配,匹配算法采用归一化互相关算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911396381.9A CN111179327B (zh) | 2019-12-30 | 2019-12-30 | 一种深度图的计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911396381.9A CN111179327B (zh) | 2019-12-30 | 2019-12-30 | 一种深度图的计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111179327A true CN111179327A (zh) | 2020-05-19 |
CN111179327B CN111179327B (zh) | 2023-04-25 |
Family
ID=70654299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911396381.9A Active CN111179327B (zh) | 2019-12-30 | 2019-12-30 | 一种深度图的计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111179327B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113538551A (zh) * | 2021-07-12 | 2021-10-22 | Oppo广东移动通信有限公司 | 深度图生成方法、装置、电子设备 |
WO2022205209A1 (zh) * | 2021-03-31 | 2022-10-06 | 深圳市大疆创新科技有限公司 | 点云生成方法及装置、图像深度信息确定方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009097714A1 (zh) * | 2008-02-03 | 2009-08-13 | Panovasic Technology Co., Ltd. | 多视角视频图像深度搜索方法及深度估计方法 |
CN102903096A (zh) * | 2012-07-04 | 2013-01-30 | 北京航空航天大学 | 一种基于单目视频的对象深度提取方法 |
CN103700105A (zh) * | 2013-12-24 | 2014-04-02 | 中国科学院自动化研究所 | 一种用于深度图计算的最优邻域图像组选择方法 |
CN106127739A (zh) * | 2016-06-16 | 2016-11-16 | 华东交通大学 | 一种结合单目视觉的rgb‑d slam方法 |
CN106447661A (zh) * | 2016-09-28 | 2017-02-22 | 深圳市优象计算技术有限公司 | 一种深度图快速生成方法 |
CN106780590A (zh) * | 2017-01-03 | 2017-05-31 | 成都通甲优博科技有限责任公司 | 一种深度图的获取方法及*** |
CN107590827A (zh) * | 2017-09-15 | 2018-01-16 | 重庆邮电大学 | 一种基于Kinect的室内移动机器人视觉SLAM方法 |
WO2019164497A1 (en) * | 2018-02-23 | 2019-08-29 | Sony Mobile Communications Inc. | Methods, devices, and computer program products for gradient based depth reconstructions with robust statistics |
CN110428461A (zh) * | 2019-07-30 | 2019-11-08 | 清华大学 | 结合深度学习的单目slam方法及装置 |
-
2019
- 2019-12-30 CN CN201911396381.9A patent/CN111179327B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009097714A1 (zh) * | 2008-02-03 | 2009-08-13 | Panovasic Technology Co., Ltd. | 多视角视频图像深度搜索方法及深度估计方法 |
CN102903096A (zh) * | 2012-07-04 | 2013-01-30 | 北京航空航天大学 | 一种基于单目视频的对象深度提取方法 |
CN103700105A (zh) * | 2013-12-24 | 2014-04-02 | 中国科学院自动化研究所 | 一种用于深度图计算的最优邻域图像组选择方法 |
CN106127739A (zh) * | 2016-06-16 | 2016-11-16 | 华东交通大学 | 一种结合单目视觉的rgb‑d slam方法 |
CN106447661A (zh) * | 2016-09-28 | 2017-02-22 | 深圳市优象计算技术有限公司 | 一种深度图快速生成方法 |
CN106780590A (zh) * | 2017-01-03 | 2017-05-31 | 成都通甲优博科技有限责任公司 | 一种深度图的获取方法及*** |
CN107590827A (zh) * | 2017-09-15 | 2018-01-16 | 重庆邮电大学 | 一种基于Kinect的室内移动机器人视觉SLAM方法 |
WO2019164497A1 (en) * | 2018-02-23 | 2019-08-29 | Sony Mobile Communications Inc. | Methods, devices, and computer program products for gradient based depth reconstructions with robust statistics |
CN110428461A (zh) * | 2019-07-30 | 2019-11-08 | 清华大学 | 结合深度学习的单目slam方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022205209A1 (zh) * | 2021-03-31 | 2022-10-06 | 深圳市大疆创新科技有限公司 | 点云生成方法及装置、图像深度信息确定方法及装置 |
CN113538551A (zh) * | 2021-07-12 | 2021-10-22 | Oppo广东移动通信有限公司 | 深度图生成方法、装置、电子设备 |
WO2023284576A1 (zh) * | 2021-07-12 | 2023-01-19 | Oppo广东移动通信有限公司 | 深度图生成方法、装置、电子设备 |
CN113538551B (zh) * | 2021-07-12 | 2023-08-15 | Oppo广东移动通信有限公司 | 深度图生成方法、装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111179327B (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112115953B (zh) | 一种基于rgb-d相机结合平面检测与随机抽样一致算法的优化orb算法 | |
Dong et al. | An efficient global energy optimization approach for robust 3D plane segmentation of point clouds | |
CN110853075B (zh) | 一种基于稠密点云与合成视图的视觉跟踪定位方法 | |
US8199977B2 (en) | System and method for extraction of features from a 3-D point cloud | |
CN112001926B (zh) | 基于多维语义映射rgbd多相机标定方法、***及应用 | |
CN108776989B (zh) | 基于稀疏slam框架的低纹理平面场景重建方法 | |
CN109472820B (zh) | 单目rgb-d相机实时人脸重建方法及装置 | |
CN107862735B (zh) | 一种基于结构信息的rgbd三维场景重建方法 | |
CN115205489A (zh) | 一种大场景下的三维重建方法、***及装置 | |
CN108305277B (zh) | 一种基于直线段的异源图像匹配方法 | |
EP3293700B1 (en) | 3d reconstruction for vehicle | |
CN110796691B (zh) | 一种基于形状上下文和hog特征的异源图像配准方法 | |
CN111144213A (zh) | 一种对象检测方法和相关设备 | |
CN113963117B (zh) | 一种基于可变卷积深度网络的多视图三维重建方法及装置 | |
CN116468786B (zh) | 一种面向动态环境的基于点线联合的语义slam方法 | |
CN111179327B (zh) | 一种深度图的计算方法 | |
CN110706332B (zh) | 一种基于噪声点云的场景重建方法 | |
CN116958434A (zh) | 多视图三维重建方法、测量方法及*** | |
KR102449031B1 (ko) | 딥러닝을 이용한 실내 위치 측위 방법 | |
CN107122782B (zh) | 一种均衡的半密集立体匹配方法 | |
CN117726747A (zh) | 补全弱纹理场景的三维重建方法、装置、存储介质和设备 | |
CN103927782A (zh) | 一种用于深度图像曲面拟合的方法 | |
JP2003271928A (ja) | 三次元モデリング装置及びその方法及びそのプログラム | |
CN114972491A (zh) | 视觉slam方法、电子设备、存储介质及产品 | |
Liu et al. | Binocular depth estimation using convolutional neural network with Siamese branches |
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 | ||
GR01 | Patent grant |