一种基于单目视觉的三角化测量深度的稠密点云重建方法及系统

文档序号:1088282 发布日期:2020-10-20 浏览:18次 >En<

阅读说明:本技术 一种基于单目视觉的三角化测量深度的稠密点云重建方法及系统 (Monocular vision-based dense point cloud reconstruction method and system for triangularized measurement depth ) 是由 赵一兵 马振强 郭烈 杨宇 周一飞 吕彦卿 韩治中 刘昌华 于 2020-05-27 设计创作,主要内容包括:本发明提供一种基于单目视觉的三角化测量深度的稠密点云重建方法及系统,包括读取数据集中的图像;采用极线搜索与块匹配算法对读取到的前后帧图像中的像素点进行匹配;通过三角测量原理计算匹配好的像素点的深度值;采用高斯分布的深度滤波器对像素点的深度值进行滤波处理,保留不确定度最小的像素点的深度值;将图像分割成4*4的像素块,在每个像素块中若各个像素点的深度值均差没有超过设定的阈值,则将整个像素块看成一个点云点,若超过设定的阈值,则将块内深度值最大和最小的像素点看成两个点云点;利用相机模型将像素坐标转换到世界坐标下,结合深度信息,生成点云数据。本发明解决了现有的点云地图创建需多种传感器或者昂贵传感器的问题。(The invention provides a dense point cloud reconstruction method and system based on monocular vision for triangularization depth measurement, which comprises the steps of reading an image in a data set; matching pixel points in the read front and rear frame images by adopting an epipolar search and block matching algorithm; calculating the depth value of the matched pixel point by a triangulation principle; filtering the depth values of the pixel points by adopting a depth filter with Gaussian distribution, and reserving the depth value of the pixel point with the minimum uncertainty; dividing the image into 4-by-4 pixel blocks, regarding the whole pixel block as a point cloud point if the depth value difference of each pixel point in each pixel block does not exceed a set threshold, and regarding the pixel point with the maximum and minimum depth values in the block as two point cloud points if the depth value difference exceeds the set threshold; and converting the pixel coordinates into world coordinates by using a camera model, and generating point cloud data by combining depth information. The invention solves the problem that the existing point cloud map creation needs a plurality of sensors or expensive sensors.)

一种基于单目视觉的三角化测量深度的稠密点云重建方法及 系统

技术领域

本发明涉及无人驾驶环境感知技术领域,具体而言,尤其涉及一种基于单目视觉的三角化测量深度的稠密点云重建方法及系统。

背景技术

目前点云地图的创建基本上都是基于激光传感器和单目摄像头结合直接测得深度图和彩色图,然后根据传感器位姿再逆用相机模型得出点云地图,或者采用多传感器融合等方法,这些方法采用的算法架构都是比较简单直接的,所以就会导致图像处理不够充分,边缘信息或者深度值相差较大的图区处理不够恰达,而且多传感器融合的费用也是比较昂贵的。基于单目视觉的三角化测量深度的稠密点云重建方法,可以解决这两个问题,根据相机的位姿,采用单目相机就可以完成点云地图的创建,算法多元,对图像像素信息进行充分的处理,可以很好的解决图像边缘和深度值相差较大的图区。

发明内容

根据上述提出现有的点云地图创建需多种传感器或者昂贵传感器的技术问题,而提供一种基于单目视觉的三角化测量深度的稠密点云重建方法及系统。本发明根据相机的位姿,采用单目相机就可以完成点云地图的创建,算法多元,对图像像素信息进行充分的处理,可以很好的解决图像边缘和深度值相差较大的图区。

本发明采用的技术手段如下:

一种基于单目视觉的三角化测量深度的稠密点云重建方法,包括如下步骤:

S1、视觉信息读取,已知相机移动轨迹,读取redom数据集中的图像;

S2、采用极线搜索与块匹配算法对读取到的前后帧图像中的像素点进行匹配;

S3、通过三角测量原理计算上述匹配好的像素点的深度值;

S4、采用高斯分布的深度滤波器对计算得到的像素点的深度值进行滤波处理,保留不确定度最小的像素点的深度值,确定像素点的深度值;

S5、确定像素点的深度值后,将图像分割成4*4的像素块,在每个像素块中若各个像素点的深度值均差没有超过设定的阈值,则将整个像素块看成一个点云点,若超过设定的阈值,则将块内深度值最大和最小的像素点看成两个点云点;

S6、利用相机模型将像素坐标转换到世界坐标下,结合深度信息,生成点云数据。

进一步地,所述步骤S2具体为:

S21、确定极线:假设当前帧上的其中一个像素的深度在一个像素深度的最小值与最大值之间,将该最小值点与最大值点投影到下一帧图像上连成线,即为极线;

S22、匹配像素点:确定极线后,采用归一化互相关的方法计算相关性,取相关性最大的块为匹配对象,归一化互相关的公式为:

Figure BDA0002511657920000021

其中,A表示像素块,(i,j)表示的是像素点的坐标值。

进一步地,所述步骤S3具体为:

S31、计算像素点的深度值:像素点匹配完成后,采用三角化原理计算像素点的深度值,设X1,X2为两个匹配像素点的归一化坐标,则:

S1X1=S2RX2+t

其中,S1、S2为两个像素点的深度值,R、t分别表示旋转矩阵、平移矩阵,通过对极约束得知参数R、t的数值;

S32、再对上式左乘一个

Figure BDA0002511657920000022

得到:

则可以直接计算得出其中一个像素点的深度值S2,同时通过S2计算得出另一个像素点的深度值S1

进一步地,所述步骤S4具体为:

S41、设其中一个像素点的深度值为d,服从P(d)=N(u,k2),则每过来一帧图像均能观测到该像素点的深度;假设观测到该像素点的深度是一个高斯分布:

其中,N表示深度值服从的正态分布,正态分布的期望uobs,正态分布的方差

Figure BDA0002511657920000033

S42、因为仅有观测方程而没有运动方程,所以深度值仅使用信息融合部分,设融合后的深度值d的分布为其中,ufuse表示深度值服从的正态分布中的期望值,

Figure BDA0002511657920000036

表示深度值服从的正态分布的方差值,其中kobs表示计算出来的不确定度,uobs表示每一次新三角化出来的像素深度值,k表示上一帧图像像素点的不确定度,u表示上一帧图像像素点的深度值

S43、根据三角测量原理,计算不确定度,将每一个像素的深度值趋于收敛,若不确定度没有小于设定的阈值,则保留不确定度最小的像素点的深度值,确定像素点的深度值。

进一步地,所述步骤S6中的相机模型的数学模型具体为:

其中,ZPuv表示从世界坐标到像素坐标的转换,Z为像素的深度值, dx,dy表示缩放因子,cx,cy表示偏移量,f表示相机的焦距,XYZ表示世界坐标,uvz表示像素坐标,KP表示等号前面公式的缩写;

将上述的公式整理后,具体的求解公式为:

Z=d。

本发明还提供了一种基于单目视觉的三角化测量深度的稠密点云重建系统,包括:

图像信息读取模块,用于读取数据集中的图像;

像素信息匹配模块,包括极线搜索模块和块匹配模块,用于对图像信息读取模块读取到的前后帧图像中的像素点进行匹配;

三角化测量像素深度信息模块,用于计算上述通过像素信息匹配模块匹配好的像素点的深度值;

高斯分布的深度滤波器模块,用于对计算得到的深度值进行滤波处理,保留不确定度最小的像素点的深度值;

像素块模块,用于将确定像素点的深度值后的图像分割成4*4的像素块,在每个像素块中若各个像素点的深度值均差没有超过设定的阈值,则将整个像素块看成一个点云点,若超过设定的阈值,则将块内深度值最大和最小的像素点看成两个点云点;

点云生成模块,用于将像素坐标转换到世界坐标下,结合深度信息,生成点云数据。

进一步地,所述极线搜索模块是通过假设当前帧上的其中一个像素的深度在一个像素深度的最小值与最大值之间,将该最小值点与最大值点投影到下一帧图像上连成线,确认出极线;所述块匹配模块是在所述极线搜索模块确认极线后,确定极线后,采用归一化互相关的方法计算相关性,取相关性最大的块为匹配对象,归一化互相关的公式为:

进一步地,所述三角化测量像素深度信息模块利用三角化原理计算像素点的深度值。

较现有技术相比,本发明具有以下优点:

1、本发明提供的基于单目视觉的三角化测量深度的稠密点云重建方法,通过采用单目摄像头与三角化测量方法的结合,实现了点云地图的创建,不需要昂贵的传感器和多传感器融合的方法,简单有效。

2、采用高斯分布的滤波技术,使得每个像素点的深度值误差达到最小,使深度信息更加准确;

3、采用将图像分割成4*4的像素块的方法,在每个像素块中若各个像素点的深度值均差没有超过设定的阈值,则将整个像素块看成一个点云点,这样可以减少点云点的数量,使得计算过程更加简单,实时性更好,若超过设定的阈值,则将块内深度值最大和最小的像素点看成两个点云点,这样可以改善图像中的边缘信息和像素深度值相差比较大的图区部分使得点图地图更加清晰;

基于上述理由本发明可在无人驾驶环境感知等领域广泛推广。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明方法流程图。

图2为本发明极线搜索的示意图。

图3为本发明三角测量原理示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

如图1所示,本发明提供了一种基于单目视觉的三角化测量深度的稠密点云重建方法,包括如下步骤:

S1、视觉信息读取,已知相机移动轨迹,读取redom数据集中的图像;

S2、采用极线搜索与块匹配算法对读取到的前后帧图像中的像素点进行匹配;

S3、通过三角测量原理计算上述匹配好的像素点的深度值;

S4、采用高斯分布的深度滤波器对计算得到的像素点的深度值进行滤波处理,保留不确定度最小的像素点的深度值,确定像素点的深度值;

S5、确定像素点的深度值后,将图像分割成4*4的像素块,在每个像素块中若各个像素点的深度值均差没有超过设定的阈值,则将整个像素块看成一个点云点,若超过设定的阈值,则将块内深度值最大和最小的像素点看成两个点云点;

S6、利用相机模型将像素坐标转换到世界坐标下,结合深度信息,生成点云数据。

在步骤S2中,优选地,具体过程为:

S21、确定极线:如图2所示,假设当前帧上的其中一个像素的深度在一个像素深度的最小值与最大值之间,将该最小值点与最大值点投影到下一帧图像上连成线,即为极线;

S22、匹配像素点:确定极线后,采用归一化互相关的方法计算相关性,取相关性最大的块为匹配对象,归一化互相关的公式为:

Figure BDA0002511657920000071

其中,A表示像素块,(i,j)表示的是像素点的坐标值。

在步骤S3中,优选地,具体过程为:

S31、计算像素点的深度值:像素点匹配完成后,采用三角化原理计算像素点的深度值,设X1,X2为两个匹配像素点的归一化坐标,则:

S1X1=S2RX2+t

其中,S1、S2为两个像素点的深度值,R、t分别表示旋转矩阵、平移矩阵,通过对极约束得知参数R、t的数值;

S32、再对上式左乘一个得到:

则可以直接计算得出其中一个像素点的深度值S2,同时通过S2计算得出另一个像素点的深度值S1

在步骤S4中,优选地,具体过程为:

S41、设其中一个像素点的深度值为d,服从P(d)=N(u,k2),则每过来一帧图像均能观测到该像素点的深度;假设观测到该像素点的深度是一个高斯分布:

其中,N表示深度值服从的正态分布,正态分布的期望uobs,正态分布的方差

Figure BDA0002511657920000075

S42、因为仅有观测方程而没有运动方程,所以深度值仅使用信息融合部分,设融合后的深度值d的分布为

Figure BDA0002511657920000076

其中,ufuse表示深度值服从的正态分布中的期望值,

Figure BDA0002511657920000081

表示深度值服从的正态分布的方差值,其中kobs表示计算出来的不确定度,uobs表示每一次新三角化出来的像素深度值,k表示上一帧图像像素点的不确定度,u表示上一帧图像像素点的深度值;

S43、根据三角测量原理,计算不确定度,将每一个像素的深度值趋于收敛,若不确定度没有小于设定的阈值,则保留不确定度最小的像素点的深度值,确定像素点的深度值。

优选地,根据三角测量原理计算不确定度,具体为:如图3所示,在某次极线搜索中,我们找到了p1对应的p2点,从而观测到了p1的深度值,认为p1对应的三维点为p,记O1p为p,O1O2为相机的平移t,O2p记为a。并且把这个三角形的下面两个角记作α,β。现在考虑极线L2上存在着一个像素大小的误差,使得β角变成了β',而p也变成了p',并记上面那个角为γ。计算这一个像素的误差会导致p'与p产生的差距,如下:

由集合关系得:

a=p–t

α=arccos<p,t>

β=arccos<a,-t>

对p2扰动一个像素将使得β产生一个变化量δβ,由于相机焦距为f,则有:

δβ=arctan(1/f)

β′=β+δβ

γ=180°-α-β′

从而可以计算出p'的大小,即:

||p′||=||t||sinβ′/sinγ

由此,确定由单个像素的不确定引起的深度不确定性。如果认为极线搜索的块匹配仅有一个像素的误差,那么就可以设:

|kobs=||p||-||p'||

如果极线搜索的不确定性大于一个像素,我们也可按照此推导来放大这个不确定性。

在步骤S4中,优选地,具体过程为:

相机模型的数学模型具体为:

其中,ZPuv表示从世界坐标到像素坐标的转换,Z为像素的深度值,

Figure BDA0002511657920000093

dx,dy表示缩放因子,cx,cy表示偏移量,f表示相机的焦距,XYZ表示世界坐标,uvz表示像素坐标,KP表示等号前面公式的缩写;

将上述的公式整理后,具体的求解公式为:

Z=d。

本发明还提供了一种基于单目视觉的三角化测量深度的稠密点云重建系统,包括:

图像信息读取模块,用于读取数据集中的图像;

像素信息匹配模块,包括极线搜索模块和块匹配模块,用于对图像信息读取模块读取到的前后帧图像中的像素点进行匹配;

三角化测量像素深度信息模块,用于计算上述通过像素信息匹配模块匹配好的像素点的深度值;

高斯分布的深度滤波器模块,用于对计算得到的深度值进行滤波处理,保留不确定度最小的像素点的深度值;

像素块模块,用于将确定像素点的深度值后的图像分割成4*4的像素块,在每个像素块中若各个像素点的深度值均差没有超过设定的阈值,则将整个像素块看成一个点云点,若超过设定的阈值,则将块内深度值最大和最小的像素点看成两个点云点;

点云生成模块,用于将像素坐标转换到世界坐标下,结合深度信息,生成点云数据。

优选地,极线搜索模块是通过假设当前帧上的其中一个像素的深度在一个像素深度的最小值与最大值之间,将该最小值点与最大值点投影到下一帧图像上连成线,确认出极线;所述块匹配模块是在所述极线搜索模块确认极线后,确定极线后,采用归一化互相关的方法计算相关性,取相关性最大的块为匹配对象,归一化互相关的公式为:

优选地,三角化测量像素深度信息模块利用三角化原理计算像素点的深度值。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种图像处理方法、控制方法、终端及计算机可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!