法律状态公告日
法律状态信息
法律状态
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)算法计算基本矩阵 步骤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距离筛选正确匹配点对的方法 为: 所述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,迭代结束,否则继 续迭代计算估计点云配准矩阵,直到满足终止条件为止。利用最终得 到的旋转平移矩阵即可将两帧点云配准到一个坐标系下,从而完成点 云配准的目的。
对于本领域技术人员而言,显然本发明不限于上述示范性实施 例的细节,而且在不背离本发明的精神的情况下,能够以其他具体形 式实现本发明。本发明的范围由所附权利要求而不是上述说明限定, 因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊 括在本发明内。
机译: 基于ADMM算法的自主车算法更新的点云注册管线
机译: 具有分层高斯混合的快速多尺度点云配准
机译: 基于PBFT算法的自动恢复的基于PBFT算法的改进方法