首页> 中国专利> 一种基于ORB图像特征的ICP快速点云配准算法的改进方法

一种基于ORB图像特征的ICP快速点云配准算法的改进方法

摘要

本发明提供一种基于ORB图像特征的ICP快速点云配准算法的改进方法,包括以下步骤:提取RGB‑D相机的彩色图像的ORB特征并匹配;求解旋转平移矩阵;采用GPU加速实现ICP精确配准。本发明的优点在于通过对彩色图像进行ORB特征匹配,为ICP精确配准提供初始变换矩阵,可以有效的缓解现有算法中存在的迭代易陷入局部最优的问题,在保证高精度匹配的前提下满足算法实时性要求。

著录项

  • 公开/公告号CN107220995A

    专利类型发明专利

  • 公开/公告日2017-09-29

    原文格式PDF

  • 申请/专利权人 西安交通大学;

    申请/专利号CN201710267277.4

  • 申请日2017-04-21

  • 分类号G06T7/33(20170101);

  • 代理机构11551 北京华创博为知识产权代理有限公司;

  • 代理人张波涛;管莹

  • 地址 710049 陕西省西安市咸宁西路28号

  • 入库时间 2023-06-19 03:28:47

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-03-28

    未缴年费专利权终止 IPC(主分类):G06T 7/33 专利号:ZL2017102672774 申请日:20170421 授权公告日:20200103

    专利权的终止

  • 2020-01-03

    授权

    授权

  • 2017-10-27

    实质审查的生效 IPC(主分类):G06T7/33 申请日:20170421

    实质审查的生效

  • 2017-09-29

    公开

    公开

说明书

技术领域

本发明涉及计算机视觉三维重建技术领域,特别涉及一种基于 ORB图像特征的ICP快速点云配准算法的改进方法。

背景技术

人类感知外部环境中的信息,有不到三成来自于听觉、嗅觉、 触觉等感受器官,而超过七成的信息是通过视觉来感知的。随着社会 的发展和科技的进步,仅仅依靠二维视觉信息已难以满足人们的需 求,各种各样的三维技术层出不穷,开始慢慢渗入到人们生活中方方 面面。

三维重建(3D Reconstruction)是指建立适合计算机表示和 处理的三维真实物体或场景的数学模型,三维重建技术是在计算机环 境下进行处理、操作和分析其性质的基础,也是在计算机中建立表达 客观世界的虚拟现实的关键技术。

一直以来,三维重建技术是计算机视觉、模式识别、虚拟现实 等领域的研究热点与难点,广泛的应用在医疗技术、文物修复、机器 人领域、人机交互、3D动画、沉浸式体感游戏等方面,因此,研究 三维重建技术对计算机视觉的发展有着重要的促进作用。

基于RGB-D相机的三维重建技术由于其简单廉价受到研究者 的青睐,其中最关键的技术是三维点云的配准。目前,点云配准使用 最为广泛的是迭代最近点(IterativeClosest Points,ICP)算法, 但是原始的ICP算法存在不足,例如:(1)对初值要求比较高,否则 会造成迭代陷入局部最优解的情况,最终导致误配或不收敛;(2)在 整个点云内逐点搜索会造成计算量大、计算速度慢;(3)错误匹配点 对过多。

现有的利用RGB-D相机的ICP点云配准算法是对原始ICP算法 的进一步优化,能够较好地解决原始ICP算法中计算速度慢和错误匹 配点对过多的问题,但由于利用RGB-D相机的ICP点云配准算法只考 虑了深度数据,并没有完全有效地利用RGB-D相机的优点,导致原始 ICP算法中对初值要求高,否则会造成迭代陷入局部最优的问题依然 存在。

因此,本发明提出了一种基于ORB图像特征的ICP快速点云配 准算法的改进方法。

发明内容

本发明的目的在于提供一种基于ORB图像特征的ICP快速点云 配准算法的改进方法,通过对彩色图像进行ORB特征匹配,为ICP精 确配准提供初始变换矩阵,针对现有基于ORB图像特征的ICP快速点 云配准算法中存在的迭代陷入局部最优的问题做出改进,以保证在高 精度匹配的前提下满足算法实时性要求。

为实现上述目的,本发明提供如下技术方案:

本发明提供一种基于ORB图像特征的ICP快速点云配准算法的 改进方法,包括如下步骤:

步骤1:提取RGB-D相机相邻两帧彩色图像的ORB特征并匹配;

步骤1.1:利用运算速度快的FAST(Features from Accelerated Segment Test)角点检测子来检测图像特征点;

步骤1.2:利用基于像素点二进制位比较的BRIEF特征描述子 来描述特征,由于BRIEF不具有旋转不变性,所以ORB算法中利用特 征点的方向矢量对BRIEF特征描述符进行转向,生成steered BRIEF 特征描述符;

设原始的BRIEF选取的点集为:

使用特征点方向θ和相对应的旋转矩阵Rθ将S构建为一个>

Sθ=RθS

其中,θ为特征点的方向。

则生成的steered BRIEF特征描述符为:

gn(p,θ)=fn(p)|(xi,yi)∈Sθ

步骤1.3:对于图像1中的任意特征点,通过蛮力算法在图像 2中寻找与所述任意特征点匹配的特征点;

步骤1.4:剔除错误匹配点对,根据匹配点对的Hamming距离 筛选正确匹配点对;

步骤1.5:使用随机采样一致性(Random Sampling Consensus,RANSAN)算法计算基本矩阵其中, KRGB是彩色摄像机的内参矩阵,R是旋转矩阵,S是由平移向>

步骤2:求解旋转平移矩阵;

步骤2.1:结合所述步骤1.5中得到的基本矩阵F和彩色摄像 机内参矩阵KRGB计算本质矩阵E,

步骤2.2:采用奇异值分解法(SVD)对所述步骤2.1中的本 质矩阵E进行分解,得到

步骤2.3:对所述步骤2.2中的本质矩阵运动分解,得到旋转矩阵平移向量

其中,

步骤3:采用GPU加速实现ICP精确配准;

步骤3.1:为RGB-D相机获取的深度图像的每个像素分配一个GPU线程;

步骤3.2:计算每个像素对应的三维顶点坐标和法向量,其中, 所述三维顶点坐标为所述法向量为:

Ni(u,v)=(Vi(u+1,v)-Vi(u,v))×(Vi(u,v+1)-Vi(u,v));

步骤3.3:将所述步骤2.3中求得的旋转矩阵R和平移向量t 作为两帧点云间的初始变换矩阵;

步骤3.4:设置迭代最大次数,开始迭代,设置对应点间距离 和法向量间的夹角作为约束条件,剔除不满足所述约束条件的错误匹 配点对,当迭代次数达到最大值,迭代结束,完成点云配准,否则继 续迭代计算点云配准矩阵。

所述通过蛮力算法进行搜索的具体过程如下所示:查找图像1 中每个特征点的2个最邻近特征点:如果某个特征点的最邻近匹配 点,没有一一相互对应,则拒绝这一对匹配点;同时如果某个特征点 的最邻近距离与次邻近距离的比值小于某个比例阈值,则拒绝这一对 匹配点。

所述根据匹配点对的Hamming距离筛选正确匹配点对的方法 为:

其 中,max_dis表示所有匹配点对之间的最大距离,per∈(0,1),dis(xi,yi)表示第i对点对之间的Hamming距离,即对一组特征点>

所述GPU用于接受来自CPU的数据并行计算,然后将计算结果 返回CPU,提高大规模数据的计算速度。

所述匹配点对间的距离阈值和角度阈值作为约束条件,用于去 除错误匹配点对。

附图说明

图1为本发明具体实施方式中的一种基于ORB图像特征的ICP 快速点云配准算法的改进方法的流程图;

图2为本发明具体实施方式中ORB特征检测与匹配流程图;

图3为本发明具体实施方式中求解旋转平移矩阵流程图;

图4为本发明具体实施方式中CUDA编程模型示意图;

图5为本发明具体实施方式中基于GPU加速的ICP配准流程 图。

具体实施方式

下面结合附图对本发明实施例中的技术方案进行清楚、完整地 描述。

如图1所示,为本发明实施例的一种基于ORB图像特征的ICP 快速点云配准算法的改进方法的流程图,包括以下步骤:

步骤1:提取RGB-D相机相邻两帧彩色图像的ORB特征并匹配。

步骤2:计算三维空间旋转平移矩阵。

步骤3:采用GPU加速实现ICP精确配准。

如图2所示,为本发明实施例的ORB特征检测与匹配流程图。

利用RGB-D相机采集连续两帧彩色图像1和图像2,分别提取 各自的ORB特征。ORB(Oriented FAST and Rotated BRIEF)算法是 一种基于视觉信息的特征点检测与描述算法,是FAST特征点检测算 法和BRIEF特征描述子的结合与优化。利用运算速度快的FAST角点 检测子来检测特征点,且增加了FAST特征的方向信息,利用基于像 素点二进制位比较的BRIEF特征描述子来描述特征,且ORB算法改进 了BRIEF描述子不具备旋转不变性以及对图像噪声敏感的缺点。具 体包括以下步骤:

步骤1.1:采用FAST(Features from Accelerated Segment Test)算法检测图像特征点。

该算法的基本原理是:当待测像素点的邻域内有足够多的像素 点与其有很大的区别时,认为该像素点为一个特征点。以灰度图为例, 检测待测像素点O是否为特征点,有

其中,I(O)表示待测像素点O处的灰度值,I(i)是以像素点O 为圆心,r为半径的离散化的Bresenham圆的边界上任意一点像素 灰度值,thr为用户设置的灰度差阈值,N为与待测像素点O的灰度 值具有较大差异的像素个数,当N大于圆周像素个数总数的四分之三时,认为像素O是一个特征点。

FAST特征点不具备尺度不变性,解决方法是建立图像金字塔, 通过在每一层金字塔图像上都做一次FAST特征检测来实现尺度不变 性。

FAST特征点的方向通过计算矩阵得到,对于任意特征点O,定 义O的邻域像素的(p+q)阶距为:

其中,I(u,v)是像素点(u,v)处的灰度值。

则图像块的质心位置为:

构建一个从图像块的中心O指向质心C的向量,则定义特征点 的方向为:

θ=arctan(m01,m10)

为提高方法的旋转不变特性,特征点邻域像素需确保在一个圆 形区域内,即u,v∈[-r,r],r为邻域半径。由此得到具有旋转不 变性的oFAST(oriented FAST)描述符。

步骤1.2:利用基于像素点二进制位比较的BRIEF特征描述 子来描述特征。

利用BRIEF算法作为特征点的描述子,并针对其不具备旋转不 变性的问题进行改进形成了rBRIEF描述子。BRIEF是类似二进制编 码表示的一种局部图像特征描述符,首先平滑图像块,然后根据高斯 分布选取N组点对(xi,yi),1≤i≤N,对每一组点对,定义二>

其中,p(x),p(y)分别为像素点x,y处的灰度值。依 次对每一组点对进行τ操作,可定义唯一的N维二进制码串,即 BRIEF描述子

N一般可选择128,256,512等,在此选择N=256。

对于任何一个特征点来说,它的BRIEF描述子S是由该特征点 周围邻域N个点对组成的一个长度为N的二值串,定义2×N矩 阵S为BRIEF选取的初始点集对

使用特征点方向θ和θ对应的旋转矩阵Rθ将S构建为一>

Sθ=RθS

其中,θ为特征点的方向。

我们得到具有旋转不变性的描述子,即:

gn(p,θ)=fn(p)|(xi,yi)∈Sθ

步骤1.3:特征点匹配。

对于图像1中的任意特征点,采用Brute Force算法在图像2 中寻找与其匹配的特征点,即通过蛮力算法进行搜索,蛮力算法是一 种普通的模式匹配算法,查找图像1中每个特征点的2个最邻近特征 点:如果某个特征点的最邻近匹配点,没有一一相互对应,则拒绝这 一对匹配点;同时如果某个特征点的最邻近距离与次邻近距离的比值 小于某个比例阈值,则拒绝这一对匹配点,通过这样滤除一些不好的 匹配点对后,可以提高后续匹配的速度和精度。

步骤1.4:去除错误匹配点对,根据匹配点对的Hamming距离 筛选正确匹配点对。

根据ORB算法求得的一系列特征点对会存在错误匹配点对,需 要将它们从中剔除。由于ORB算法得到的BRIEF描述符为二进制码串, 很容易计算匹配点对之间的Hamming距离,对一组特征点对描述符进 行异或运算,统计结果为1的个数即为所求的Hamming距离。我们根 据匹配点对间的Hamming距离来筛选正确匹配点对,具体方法如下:

其中,max_dis表示所有匹配点对之间的最大距离, dis(xi,yi)表示第i对点对之间的Hamming距离,>

步骤1.5:使用随机采样一致性(Random Sampling Consensus, RANSAN)算法计算基本矩阵F。

首先利用8点法估计基本矩阵F'作为RANSAC算法的迭代初 值,然后根据该基本矩阵F'判断内点(正确匹配点对)和外点(误 匹配点对)的个数,当内点越多,表示该矩阵越有可能是正确的基本 矩阵。重复随机采样过程,选取具有最多的内点数据集的基本矩阵作为最终求得的基本矩阵F,即:

其中,KRGB是彩色摄像机的内参矩阵,R是旋转矩阵,S>

如图3所示,为本发明实施例的求解旋转平移矩阵流程图。具 体包括如下步骤:

步骤2.1:由已得到的基本矩阵F,结合彩色摄像机内参矩阵 KRGB计算本质矩阵E,计算公式为:

步骤2.2:对本质矩阵E采用奇异值分解法(SVD)进行分解。 用奇异值分解法(SVD)来求解ICP算法过程中的几何参数最初是由 ARUN等提出来的,通过矩阵变换的相关性质,直接求解出最优的参 数解。对由(1)中得到的本质矩阵E采用奇异值分解法(SAD)分解 后,得到:

步骤2.3:计算旋转矩阵R和平移向量t。本质矩阵包含了摄 像机的运动信息(R|t),对本质矩阵进行运动分解,可得:

其中,

如图4所示,为本发明实施例的CUDA编程模型示意图。

图形处理器(Graphic Processing Unit,GPU)是显卡的主要 处理单元,能够和CPU高速交换数据,GPU相比于CPU可以并行处理 数据,非常适合大规模数据的运算。统一计算设备架构(Compute Unified Device Architecture,CUDA)是由NVIDIA推出的通用并行计算架构,非常适合大规模数据密集型计算。在CUDA编程环境中, CPU作为主机(Host)负责控制整个程序的主流程,GPU为一个通用 计算设备(Device),为协处理器。编写CUDA并行程序时,程序代码 分为主机端代码和设备端代码,主机端代码主要是串行部分的代码, 并行部分的代码以Kernel函数的形式放入GPU的多线程中并行执行, 主机端代码可以通过Kernel函数入口调用并行计算功能。Kernel函 数使用一种扩展的C语言编程,称为CUDA C语言。CUDA分为网格- 线程块-线程三级架构,其中线程(thread)是CUDA的最小执行单元,每个线程执行一次基本运算,多个线程组成一个线程块(block),多 个块组成一个网格(grid)。通过共享存储在共享内存中的数据,相同 线程块内的线程之间可以相互通信,但线程块与线程块之间是不能进 行通信的。

如图5所示,为本发明实施例的基于GPU加速的ICP配准流程 图,具体包括以下步骤:

步骤3.1:为第i帧深度图像Di(p)上的每一个像素>个线性,这样一来,每个线程就可以完成 一个像素点的坐标变换运算。

步骤3.2:通过红外摄像机内参矩阵KIR反透射变换计算深>i,计算公式为:

Vi=Di(p)K-1

将该顶点分别指向相邻顶点的两个向量叉乘便是该顶点对应 的法向量,即:

Ni(u,v)=(Vi(u+1,v)-Vi(u,v))×(Vi(u,v+1)-Vi(u,v))

步骤3.3:将已求得的旋转矩阵R和平移向量t作为两帧点云 间的初始变换矩阵。

步骤3.4:利用ICP算法估计点云配准矩阵。

步骤3.4.1:根据投影法获取相邻两帧点云间的匹配点对,即 对第i帧点云中的任意一点,利用变换矩阵转换到第i-1帧点云摄 像机坐标系下,利用投影法在第i-1帧点云中找到与其对应的点。

步骤3.4.2:计算对应点间的欧式距离和法向量间夹角,并设 置距离阈值和角度阈值作为约束条件,用于去除错误匹配点对。

本实施例中设置的距离阈值为0.1m,法向量间夹角的角度阈 值为20°,当对应点间的距离和法向量间的夹角不满足以下条件时, 我们认为该点对为错误匹配点对,即:

s=||V-Vk,g||,s<0.1m,

步骤3.4.3:以第i帧点云到第i-1帧点云中对应点的切平 面距离的平方和作为误差函数,利用最小化误差函数法估计变换矩阵 Ti。假设第i帧点云集中任意一点p在第i-1帧点云中的对应>

E=arg min||ni-1·(Tipi-qi-1)||2

其中,Ti表示第i帧的4×4的旋转平移矩阵。

设定迭代次数最大值s=max为迭代终止条件,设s=0为第一次 迭代,上述步骤3.4.1-3.4.3重复一次,迭代次数加1,即s=s+1。

当迭代次数达到所述设定的最大值s=max,迭代结束,否则继 续迭代计算估计点云配准矩阵,直到满足终止条件为止。利用最终得 到的旋转平移矩阵即可将两帧点云配准到一个坐标系下,从而完成点 云配准的目的。

对于本领域技术人员而言,显然本发明不限于上述示范性实施 例的细节,而且在不背离本发明的精神的情况下,能够以其他具体形 式实现本发明。本发明的范围由所附权利要求而不是上述说明限定, 因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊 括在本发明内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号