CN108171734A - 一种orb特征提取与匹配的方法及装置 - Google Patents
一种orb特征提取与匹配的方法及装置 Download PDFInfo
- Publication number
- CN108171734A CN108171734A CN201711425103.2A CN201711425103A CN108171734A CN 108171734 A CN108171734 A CN 108171734A CN 201711425103 A CN201711425103 A CN 201711425103A CN 108171734 A CN108171734 A CN 108171734A
- Authority
- CN
- China
- Prior art keywords
- image
- orb
- feature extracting
- characteristic
- point
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- 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/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- 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/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种ORB特征提取与匹配的方法及装置,首先将原始图像转化为灰度图像,进行FAST角点、HARRIS角点提取、质心计算以及高斯模糊,输出特征点关键信息和高斯模糊图像。对图像进行下采样,得到多组特征点关键信息和高斯模糊图像。然后计算特征点对应的描述子信息,将两帧图像的描述子信息进行特征匹配,得到ORB特征匹配结果。最后输出原始图像以及与原始图像同步的ORB特征匹配结果。解决了现有技术中对相同目标图像进行识别需要消耗大量内存和CPU资源的问题。本发明可以提高对相同目标图像进行识别的速度,在保证特征提取与匹配准确度的前提下,同时保证了实时性。
Description
技术领域
本发明属于图像配准技术领域,尤其涉及一种ORB特征提取与匹配的方法及装置。
背景技术
图像配准就是将不同时刻、角度或环境下成像设备获取的两幅或多幅图像进行匹配、叠加的过程。在目标检测、地图重建等领域中,为了得到不同图像之间的匹配关系,需要对摄像头捕获到的图像进行大量实时运算,而有高识别度的特征点相对像素点个数来说有着更小的量级,计算速度更快,且能够得到不同图像之间更准确的匹配关系。
在不同时刻、角度和环境下,相同的目标图像有着一定的相关性,但因为拍摄的角度、尺度、亮度等问题造成相同目标图像识别困难。ORB特征提取结合金子塔计算,可以解决上述问题,并已经在诸如OpenCV和Matlab平台中有了具体的实现方法,但在嵌入式中的应用还主要局限在DSP和ARM平台上实现。
现有技术在对相同目标图像进行识别时,需要消耗大量内存和CPU资源。
发明内容
本发明的目的在于提供一种ORB特征提取与匹配的方法及装置,解决了现有技术中对相同目标图像进行识别需要消耗大量内存和CPU资源的问题。本发明可以提高对相同目标图像进行识别的速度,在保证特征提取与匹配准确度的前提下,同时保证了实时性。
为达到上述目的,本发明采用如下技术方案:
本发明提供了一种ORB特征提取与匹配的方法,包括以下步骤:
步骤(1):将不同时刻同一场景的多帧原始图像转化为只包含灰度信息的图像,对转化后的每一帧灰度图像进行FAST角点、HARRIS角点提取,对每一帧灰度图像中的每个像素点进行质心计算,并对每一帧灰度图像进行高斯模糊,然后输出每一帧图像的特征点关键信息和经高斯模糊后的图像,特征点关键信息包括提取的FAST角点信息、HARRIS角点信息以及质心计算结果;
步骤(2):根据金字塔的层数要求重复执行步骤(1),对每一帧图像进行下采样,得到每一帧图像的多组特征点关键信息和经高斯模糊后的图像;
步骤(3):根据特征点关键信息和经高斯模糊后的图像,计算特征点对应的描述子信息,将两帧图像的描述子信息进行特征匹配,得到ORB特征匹配结果。
更进一步地,本发明的特点还在于:
在步骤(3)之后还包括:输出原始图像以及与原始图像同步的ORB特征匹配结果。
在步骤(1)之前还包括:采集不同时刻同一场景的多帧图像,并进行存储。
当采集的是一路视频流的多帧图像时,将当前描述子信息与前一帧图像缓存的描述子信息进行匹配,得到一路图像的ORB特征匹配结果;
当采集的是两路视频流时,将两路视频流的描述子信息进行互相匹配,得到两路图像的ORB特征匹配结果。
当采集的是一路视频流的多帧图像时,金字塔的层数为1层;
当采集的是两路视频流时,金字塔的层数为2~3层。
质心计算方法如下:
步骤(a):以每一个像素点为中心,d为直径的圆形窗口,计算每个像素点的邻域距mpq:
mpq=∑x,yxpyqI(x,y)
其中,I(x,y)是以当前像素点为原点的坐标系,x和y是I(x,y)坐标系中的坐标;p和q取0或1,计算一阶领域距的值m00,m01和m10;
步骤(b):根据邻域距计算质心C:
其中,m00是以I(0,0)为原点,直径为d的圆形窗口中所有像素点的灰度累加和;m10是x方向上的质心偏移累加和,m01是y方向上的质心偏移累加和,C是以I(0,0)为原点的质心的相对坐标;
步骤(c):从特征点到质心C做向量,则质心角度θ为:
θ=atan2(m01,m10)
其中,从I(0,0)指向质心C的向量与x轴的夹角即为质心角度θ,根据C的坐标,并通过反正切函数即能求得质心角度θ的数值。
将直径为d个像素点的圆形窗口从图像的左方到右方,从上方到下方呈z字形滑动,计算m01:
m01=原有邻域距+新进入圆形窗口的右半圆的边界像素点加权和-新移出圆形窗口的左半圆的边界像素点加权和;
将边长为d个像素点的正方形窗口从图像的左方到右方,从上方到下方呈z字形滑动,计算m10:
m10=正方形窗口内的列向量和的加权和-正方形窗口内圆形窗口外的像素点加权和。
本发明还提供了一种ORB特征提取与匹配的装置,包括FPGA单元,FPGA单元包括输入模块、存储器、ORB特征预处理模块以及输出模块;
输入模块,用于接收视频源端设备采集到的不同时刻同一场景的多帧原始图像,并传输给存储器进行存储;
ORB特征预处理模块,用于将不同时刻同一场景的多帧原始图像转化为只包含灰度信息的图像,并对转化后的每一帧灰度图像进行FAST角点、HARRIS角点提取,对每一帧灰度图像中的每个像素点进行质心计算,对每一帧灰度图像进行高斯模糊,并输出特征点关键信息和经高斯模糊后的图像;
ORB特征预处理模块,还用于根据特征点关键信息和经高斯模糊后的图像,计算特征点对应的描述子信息,将两帧图像的描述子信息进行特征匹配,得到ORB特征匹配结果;
输出模块,用于输出原始图像以及与原始图像同步的ORB特征匹配结果。
更进一步地,本发明的特点还在于:
输入模块包括视频输入接口和功能配置接口,视频输入接口与视频源端设备连接,功能配置接口用于选择接收一路视频流图像或者二路视频流图像;
输出模块包括原始图像输出接口和ORB特征匹配结果输出接口。
FPGA单元集成在ZYNQ芯片上。
与现有技术相比,本发明具有以下有益的技术效果:
本发明公开了一种ORB特征提取与匹配的方法,通过将原始图像转化为灰度图像,进行FAST角点、HARRIS角点提取、质心计算以及高斯模糊,输出特征点关键信息和高斯模糊图像。对图像进行下采样,得到多组特征点关键信息和高斯模糊图像。然后计算特征点对应的描述子信息,将两帧图像的描述子信息进行特征匹配,得到ORB特征匹配结果。最后输出原始图像以及与原始图像同步的ORB特征匹配结果。可以提高对相同目标图像进行识别的速度,在保证特征提取与匹配准确度的前提下,同时保证了***的实时性。
本发明提供的一种ORB特征提取与匹配的装置,通过将FAST、HARRIS、高斯模糊和质心计算在FPGA单元中加速,在单一ZYNQ器件内实现了ORB特征提取与匹配算法,装置能作为SLAM前端的图像预处理模块,在保证特征提取与匹配准确度的前提下,同时保证了***的实时性。本发明能够在不影响图像处理硬件平台的情况下,方便的进行接入并实现ORB特征提取与匹配的预处理功能,大大降低图像处理平台的开发难度,提高整体***的实施性能。
进一步地,本发明设计了两种配置模式,可以实现一路图像的ORB特征增量匹配,也可实现两路图像的ORB特征实时匹配。
进一步地,本发明能在单一ZYNQ器件内实现了ORB特征提取与匹配算法,装置能作为SLAM前端的图像预处理模块。
附图说明
图1为一路视频流的图像ORB特征增量匹配框图;
图2为两路视频流的图像ORB特征实时匹配框图;
图3为ORB特征预处理模块的结构框图;
图4(a)和图4(b)为质心计算在v方向的计算示意图;
图5为质心计算在u方向的计算示意图;
图6为本发明提供的一种ORB特征提取与匹配的装置的使用方法示意图。
具体实施方式
下面结合附图对本发明做进一步详细描述:
本发明提供了一种ORB特征提取与匹配的方法,能够适用于SLAM前端,本发明提包括以下步骤:
步骤1:采集不同时刻同一场景的多帧图像,并进行存储。
步骤2:将不同时刻同一场景的多帧原始图像转化为只包含灰度信息的图像,对转化后的每一帧灰度图像进行FAST角点、HARRIS角点提取,对每一帧灰度图像中的每个像素点进行质心计算,并对每一帧灰度图像进行高斯模糊,然后输出每一帧图像的特征点关键信息和经高斯模糊后的图像,特征点关键信息包括提取的FAST角点信息、HARRIS角点信息以及质心计算结果;
步骤3:根据金字塔的层数要求重复执行步骤(1),对每一帧图像进行下采样,得到每一帧图像的多组特征点关键信息和经高斯模糊后的图像;
步骤4:根据特征点关键信息和经高斯模糊后的图像,计算特征点对应的描述子信息,将两帧图像的描述子信息进行特征匹配,得到ORB特征匹配结果;
步骤5:输出原始图像以及与原始图像同步的ORB特征匹配结果。
在步骤1和步骤5中,由CPU配置FPGA单元中的相关寄存器,然后FPGA单元完全接管视频图像输入接口和输出接口,并产生相应的输入或输出同步中断信号。
在步骤2和步骤4中,以CPU为主,参与并配合FPGA单元实现高度的软硬件协同实时处理,完成ORB算法的实时计算,并需要CPU使用相关指令来解决视频数据流的同步和内部缓存的更新等问题。
本发明包含两种功能配置,如图1、2所示。
配置1为增量匹配模式,输入一路视频流的多帧图像时,对图像进行ORB特征提取,然后将当前描述子信息与前一帧图像缓存的描述子信息进行匹配,得到一路图像的ORB特征增量匹配结果;
配置2为实时匹配模式,同时输入两路视频流时,分别进行ORB特征提取,然后将它们的描述子信息进行互相匹配,得到两路图像的ORB特征实时匹配结果。
需要说明的是,根据金子塔层数N和每层之间的缩放系数,配置ORB特征预处理模块的相关参数。金子塔循环影响着ORB在尺度不变性上的精确度,根据实际需求可以配置不同的N和缩放系数。针对配置1,图像处于一个高速小范围的变化,实测时,发现输入的一路视频流在60帧帧率的情况下,一层金字塔已经可以较好的实现ORB特征匹配。针对配置2则需要根据两路输入视频流的相关性进行参数配置,一般将层数配置为2~3层,缩放系数配置为1.2~2.0比较适用。
在特征提取预处理模块中,FAST角点、HARRRIS角点、高斯模糊是完全依照ORB在OpenCV中的源码进行FPGA逻辑实现的,仅在运算上将浮点运算转变为了32位定点运算,产生了一定的误差。而针对像素点的质心计算,如下:
步骤(a):以每一个像素点为中心,d为直径的圆形窗口,计算每个像素点的邻域距mpq:
mpq=∑x,yxpyqI(x,y)
其中,I(x,y)是以当前像素点为原点的坐标系,x和y是I(x,y)坐标系中的坐标;p和q取0或1,计算一阶领域距的值m00,m01和m10。
步骤(b):根据邻域距计算质心C:
其中,m00是以I(0,0)为原点,直径为d的圆形窗口中所有像素点的灰度累加和;m10是x方向上的质心偏移累加和,m01是y方向上的质心偏移累加和,C是以I(0,0)为原点的质心的相对坐标;
步骤(c):从特征点到质心C做向量,则质心角度θ为:
θ=atan2(m01,m10)
其中,从I(0,0)指向质心C的向量与x轴的夹角即为质心角度θ,根据C的坐标,并通过反正切函数即能求得质心角度θ的数值。
考虑FPGA逻辑的实现复杂度,而且设计中质心计算需要给每一个像素点进行计算,很难按照以上算法的方式去遍历圆形窗口的所有像素点并进行加权和的计算,因此需要将以上算法进行一定的修改。将一直径为31个像素点的圆形窗口从图像的左方向右方,从上方至下方呈“z”字形滑动。
在v方向上,即y的计算,同一行各列的加权相同。每滑动一个像素点,可以将新进入圆形窗口的右半圆的边界像素点加权和与原有邻域距相加,并减去新移出圆形窗口的左半圆的边界像素点加权和。v方向的实现方法如图4(a)和图4(b),因为31直径太大以15代替表示。图4(a)实线是上一时刻圆所处的位置,虚线是下一时刻圆所处的位置,加深的是即将移出左半圆的边界像素点。图4(b)是新的一个周期时圆所处的位置,加深的是新进入右半圆的边界像素点。这样一加一减在一定程度上大大减少了运算步骤,并且与原有算法有着相同的计算结果。
综上,m01=原有邻域距+新进入圆形窗口的右半圆的边界像素点加权和-新移出圆形窗口的左半圆的边界像素点加权和。
在u方向上,即x的计算,同一列各行的加权相同,同一行各列的加权不同,不能使用v方向上的圆边界增减量去进行计算,因此采用近似的计算方法。虽然滑动窗口是圆形的,但实际在FPGA中这个31直径的圆是包含在31边长的正方形窗口中的,因此在这里将滑动窗口看成一个正方形。每次窗口滑动一个像素点时,将新近的一列数据进行累加和,并保存在深度31的缓存数组中,然后根据加权计算出每一列单独的加权和,这样就能够得到正方形的邻域距,计算公式与公式(1)相同,只是u、v取值扩大到了包含圆的正方形区域。然后将正方形窗口内部、圆形窗口的外部的像素块区域减去,得到最终的邻域距。但因为像素数量较多,采用了近似计算的方法,如图5所示,加深区域中的像素块使需要加权减去的部分,选择这些深色区域靠近中心的位置的像素点加权后,再乘以深色区域的面积得到近似的计算结果。经验证该近似计算对值的影响平均值不超过2%,并且由于后面描述子计算时使用了离散查找表,最终该影响十分有限。
综上,m10=正方形窗口内的列向量和的加权和-正方形窗口内圆形窗口外的像素点加权和。
本发明还提供了一种ORB特征提取与匹配的装置,能够作为SLAM前端的图像预处理装置。包括FPGA单元,FPGA单元包括输入模块、存储器、ORB特征预处理模块以及输出模块;
输入模块,用于接收视频源端设备采集到的不同时刻同一场景的多帧原始图像,并传输给存储器进行存储;
如图3所示,ORB特征预处理模块,用于将不同时刻同一场景的多帧原始图像转化为只包含灰度信息的图像,并对转化后的每一帧灰度图像进行FAST角点、HARRIS角点提取,对每一帧灰度图像中的每个像素点进行质心计算,对每一帧灰度图像进行高斯模糊,并输出特征点关键信息和经高斯模糊后的图像;
ORB特征预处理模块,还用于根据特征点关键信息和经高斯模糊后的图像,计算特征点对应的描述子信息,将两帧图像的描述子信息进行特征匹配,得到ORB特征匹配结果;
输出模块,用于输出原始图像以及与原始图像同步的ORB特征匹配结果。
本发明的输入模块包括视频输入接口和功能配置接口,视频输入接口与视频源端设备连接,功能配置接口用于选择接收一路视频流图像或者二路视频流图像。下面进行具体说明:
视频输入接口可以选择HDMI、CCIR656/CCIR601并行接口、LVDS串行接口三种,可以连接标准的视频源端设备或者连接与接口匹配的摄像头模块,配置1有一个视频输入接口,而配置2有两个视频输入接口。
功能配置接口为I2C从设备接口,可以接受外部设备的指令,进行配置1与配置2的切换和装置整体功能的参数设置。
本发明的输出模块包括原始图像输出接口和ORB特征匹配结果输出接口。下面进行具体说明:
原始图像输出接口可以选择与视频输入接口相同或不同的接口,原始图像输出接口具有透传功能。在装置完成输入图像的ORB特征提取与匹配后,原始图像输出接口将原始输入图像同步发送出去,这样能够保证在得到ORB特征匹配结果的同时,依然能够选择是否需要使用到原始图像信息。
ORB特征匹配结果输出接口,采用SPI或LVDS接口输出ORB特征匹配结果,该ORB特征匹配结果与原始图像输出接口的图像同步。
本发明的装置的ORB特征预处理模块,在两种配置下整体基本相同,不同之处在于ORB特征描述子信息的匹配部分。配置1会将当前帧的描述子信息与前一帧缓存的描述子信息进行匹配,得到一路视频流的ORB特征增量匹配结果。而配置2会对两路视频流的图像进行ORB特征同步实时匹配。
在本发明中,FPGA单元集成在ZYNQ芯片上。
下面以配置1来说明ORB特征提取与匹配的具体实现流程:
S1、输入视频流的一帧图像经视频输入接口、FPGA单元内的输入模块缓存在DDR3内存中,然后在CPU中通过软件协调ORB特征提取与匹配任务。
S2、ORB特征预处理模块是关键部分,全部由ZYNQ芯片内的FPGA单元来完成计算,它的输入是原始图像数据和配置参数:
原始图像数据可以是YUV444、RGB888或RAW-GRAY三种格式,由于ORB的计算都是基于灰度图来计算的,ORB特征预处理模块能够根据配置将前两种格式转换为第三种格式。
配置参数包含有:FAST角点的阈值、HARRIS角点的k值与阈值、高斯模糊的窗口大小和边界处理模式以及前面提到的金字塔层数和缩放系数。在这里,配置金字塔的层数为1。
根据配置参数,ORB特征预处理模块在FPGA内并行计算每个像素点的质心角度、FAST角点、HARRIS角点和高斯模糊。两个角点的计算结果,根据配置的阈值和边界要求进行滤波得到最终的特征点坐标,然后结合该点的质心角度得到特征点关键信息。该特征点关键信息包括了特征点的横坐标、纵坐标、尺寸、角度、FAST得分、HARRIS得分、金字塔层数。最终通过数据流的方式将这些信息发送出去。同时,高斯模糊的结果通过视频流的方式发送出去。
S3、通过ORB特征预处理模块,得到了必要的特征点关键信息与高斯模糊图像,通过查表方法即可计算特征点对应的描述子信息。该计算完全依照OpenCV源码在CPU内实现,并提前计算好以12°为增量的查找表。
S4、新得到的描述子信息将与前一帧的描述子信息进行汉明距离匹配计算,根据一定的阈值配置能够过滤出较为准确的匹配结果,得到连续两帧图像的ORB特征增量匹配结果。
S5、该装置最终同时输出原始图像和ORB特征匹配结果,通过该ORB特征匹配结果即能得到两幅图像之间的相关性,计算出图像位移增量。
如图6所示,本发明的装置作为独立的模块,可以作为传统视频处理***的中间模块使用,如图6所示,虚线表示原有***的视频接口线路,实线表示改装后的视频接口线路。将本发明的装置***到视频接口通路中,原视频处理***在保证原始功能的情况下,可进行再次开发,将特征提取与匹配功能交由本发明的装置区实现,能够大幅度降低CPU的图像预处理压力。而且由于FPGA的高扩展与移植性,该装置除了特征提取与匹配功能的实现,还可以根据需求进行再次开发,实现诸如图像滤波等的预处理功能,进一步降低后端处理器的工作压力。
本发明的装置在FPGA内实现的逻辑功能包括:摄像头输入采集接口、图像传输Video DMA、ORB特征预处理模块、图像输出接口、特征匹配结果输出接口。在测试中,FPGA内消耗的资源如表1所示。
表1
因本发明装置中的ORB特征提取与特征点描述子计算和匹配分别是在ZYNQ中FPGA和CPU实现的,有着较负载的软硬件协同计算,为防止输入图像的纹理过多,导致检测到的特征点数量过多,该装置将特征点数量的上限设置为了2000。ORB特征预处理模块参数配置中的阈值,是影响一幅图像特征点数量的关键因素,阈值的选取不仅影响到了检测准确度,还影响着CPU部分的资源消耗。
在最多特征点检测数量2000点的情况下,验证了该装置的实时性能。从图像输入完成到特征提取与匹配完成的时间,在配置1下平均为12.453毫秒,在配置2下平均为25.122毫秒。
配置1为单路ORB特征提取与匹配功能的实现,已经能够达到图像的60Hz实时处理功能。
配置2为双路ORB特征提取与匹配功能的实现,因为其中的ORB特征预处理模块需要在FPGA中被顺序调用两次,而且描述子信息的计算与匹配也是在一个CPU核中顺序计算,所以总体计算时间相较于配置1会变长。但是依然能够实现30Hz的实时处理功能。根据最终的需求,在此基础上仍能够进行改进。改进思路:在FPGA内牺牲逻辑门数量,实现两个ORB特征预处理模块的并行计算;可以启动ZYNQ芯片中的第二个CPU核心,与第一个核心同时完成特征描述子的计算,实现两路图像的并行处理功能。
该装置已经在板上完成了功能实现并得到了应用。在测试中,该装置选取的ZYNQ芯片型号为XC7Z020,外置32bit 512MB DDR3,输入图像的分辨率为60Hz 640×480 24位彩色图像。在一路图像输入进行增量匹配时可以达到60帧实时处理,在两路图像输入进行实时匹配时能够达到30帧实时处理。
Claims (10)
1.一种ORB特征提取与匹配的方法,其特征在于,包括以下步骤:
步骤(1):将不同时刻同一场景的多帧原始图像转化为只包含灰度信息的图像,对转化后的每一帧灰度图像进行FAST角点、HARRIS角点提取,对每一帧灰度图像中的每个像素点进行质心计算,并对每一帧灰度图像进行高斯模糊,然后输出每一帧图像的特征点关键信息和经高斯模糊后的图像,特征点关键信息包括提取的FAST角点信息、HARRIS角点信息以及质心计算结果;
步骤(2):根据金字塔的层数要求重复执行步骤(1),对每一帧图像进行下采样,得到每一帧图像的多组特征点关键信息和经高斯模糊后的图像;
步骤(3):根据特征点关键信息和经高斯模糊后的图像,计算特征点对应的描述子信息,将两帧图像的描述子信息进行特征匹配,得到ORB特征匹配结果。
2.根据权利要求1所述的ORB特征提取与匹配的方法,其特征在于,在步骤(3)之后还包括:输出原始图像以及与原始图像同步的ORB特征匹配结果。
3.根据权利要求1所述的ORB特征提取与匹配的方法,其特征在于,在步骤(1)之前还包括:采集不同时刻同一场景的多帧图像,并进行存储。
4.根据权利要求3所述的ORB特征提取与匹配的方法,其特征在于,当采集的是一路视频流的多帧图像时,将当前描述子信息与前一帧图像缓存的描述子信息进行匹配,得到一路图像的ORB特征匹配结果;
当采集的是两路视频流时,将两路视频流的描述子信息进行互相匹配,得到两路图像的ORB特征匹配结果。
5.根据权利要求4所述的ORB特征提取与匹配的方法,其特征在于,当采集的是一路视频流的多帧图像时,金字塔的层数为1层;
当采集的是两路视频流时,金字塔的层数为2~3层。
6.根据权利要求1所述的ORB特征提取与匹配的方法,其特征在于,步骤(1)中质心计算方法如下:
步骤(a):以每一个像素点为中心,d为直径的圆形窗口,计算每个像素点的邻域距mpq:
mpq=∑x,yxpyqI(x,y)
其中,I(x,y)是以当前像素点为原点的坐标系,x和y是I(x,y)坐标系中的坐标;p和q取0或1,计算一阶领域距的值m00,m01和m10;
步骤(b):根据邻域距计算质心C:
其中,m00是以I(0,0)为原点,直径为d的圆形窗口中所有像素点的灰度累加和;m10是x方向上的质心偏移累加和,m01是y方向上的质心偏移累加和,C是以I(0,0)为原点的质心的相对坐标;
步骤(c):从特征点到质心C做向量,则质心角度θ为:
θ=atan2(m01,m10)
其中,从I(0,0)指向质心C的向量与x轴的夹角即为质心角度θ,根据C的坐标,并通过反正切函数即能求得质心角度θ的数值。
7.根据权利要求6所述的ORB特征提取与匹配的方法,其特征在于,将直径为d个像素点的圆形窗口从图像的左方到右方,从上方到下方呈z字形滑动,计算m01:
m01=原有邻域距+新进入圆形窗口的右半圆的边界像素点加权和-新移出圆形窗口的左半圆的边界像素点加权和;
将边长为d个像素点的正方形窗口从图像的左方到右方,从上方到下方呈z字形滑动,计算m10:
m10=正方形窗口内的列向量和的加权和-正方形窗口内圆形窗口外的像素点加权和。
8.一种基于权利要求1-7任意一项所述的ORB特征提取与匹配方法的装置,其特征在于,包括FPGA单元,FPGA单元包括输入模块、存储器、ORB特征预处理模块以及输出模块;
输入模块,用于接收视频源端设备采集到的不同时刻同一场景的多帧原始图像,并传输给存储器进行存储;
ORB特征预处理模块,用于将不同时刻同一场景的多帧原始图像转化为只包含灰度信息的图像,并对转化后的每一帧灰度图像进行FAST角点、HARRIS角点提取,对每一帧灰度图像中的每个像素点进行质心计算,对每一帧灰度图像进行高斯模糊,并输出特征点关键信息和经高斯模糊后的图像;
ORB特征预处理模块,还用于根据特征点关键信息和经高斯模糊后的图像,计算特征点对应的描述子信息,将两帧图像的描述子信息进行特征匹配,得到ORB特征匹配结果;
输出模块,用于输出原始图像以及与原始图像同步的ORB特征匹配结果。
9.根据权利要求8所述的ORB特征提取与匹配的装置,其特征在于,输入模块包括视频输入接口和功能配置接口,视频输入接口与视频源端设备连接,功能配置接口用于选择接收一路视频流图像或者二路视频流图像;
输出模块包括原始图像输出接口和ORB特征匹配结果输出接口。
10.根据权利要求8所述的ORB特征提取与匹配的装置,其特征在于,FPGA单元集成在ZYNQ芯片上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711425103.2A CN108171734B (zh) | 2017-12-25 | 2017-12-25 | 一种orb特征提取与匹配的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711425103.2A CN108171734B (zh) | 2017-12-25 | 2017-12-25 | 一种orb特征提取与匹配的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108171734A true CN108171734A (zh) | 2018-06-15 |
CN108171734B CN108171734B (zh) | 2022-01-07 |
Family
ID=62520715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711425103.2A Active CN108171734B (zh) | 2017-12-25 | 2017-12-25 | 一种orb特征提取与匹配的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108171734B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766758A (zh) * | 2018-12-12 | 2019-05-17 | 北京计算机技术及应用研究所 | 一种基于orb特征的视觉slam方法 |
CN109919825A (zh) * | 2019-01-29 | 2019-06-21 | 北京航空航天大学 | 一种orb-slam硬件加速器 |
CN110686687A (zh) * | 2019-10-31 | 2020-01-14 | 珠海市一微半导体有限公司 | 视觉机器人构建地图的方法、机器人和芯片 |
CN110913279A (zh) * | 2018-09-18 | 2020-03-24 | 北京悉见科技有限公司 | 一种用于增强现实的处理方法及增强现实终端 |
CN113103232A (zh) * | 2021-04-12 | 2021-07-13 | 电子科技大学 | 一种基于特征分布匹配的智能设备自适应运动控制方法 |
CN113361545A (zh) * | 2021-06-18 | 2021-09-07 | 北京易航远智科技有限公司 | 图像特征提取方法、装置、电子设备和存储介质 |
CN113661497A (zh) * | 2020-04-09 | 2021-11-16 | 商汤国际私人有限公司 | 一种匹配方法、装置、电子设备及计算机可读存储介质 |
CN114372510A (zh) * | 2021-12-15 | 2022-04-19 | 北京工业大学 | 一种基于图像区域分割的帧间匹配slam方法 |
CN115900553A (zh) * | 2023-01-09 | 2023-04-04 | 成都盛锴科技有限公司 | 一种列车巡检机器人的复合定位方法及其*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104851094A (zh) * | 2015-05-14 | 2015-08-19 | 西安电子科技大学 | 一种基于rgb-d的slam算法的改进方法 |
US20160068114A1 (en) * | 2014-09-03 | 2016-03-10 | Sharp Laboratories Of America, Inc. | Methods and Systems for Mobile-Agent Navigation |
CN105427333A (zh) * | 2015-12-22 | 2016-03-23 | 厦门美图之家科技有限公司 | 视频序列图像的实时配准方法、***及拍摄终端 |
CN105844663A (zh) * | 2016-03-21 | 2016-08-10 | 中国地质大学(武汉) | 一种自适应orb目标跟踪方法 |
-
2017
- 2017-12-25 CN CN201711425103.2A patent/CN108171734B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160068114A1 (en) * | 2014-09-03 | 2016-03-10 | Sharp Laboratories Of America, Inc. | Methods and Systems for Mobile-Agent Navigation |
CN104851094A (zh) * | 2015-05-14 | 2015-08-19 | 西安电子科技大学 | 一种基于rgb-d的slam算法的改进方法 |
CN105427333A (zh) * | 2015-12-22 | 2016-03-23 | 厦门美图之家科技有限公司 | 视频序列图像的实时配准方法、***及拍摄终端 |
CN105844663A (zh) * | 2016-03-21 | 2016-08-10 | 中国地质大学(武汉) | 一种自适应orb目标跟踪方法 |
Non-Patent Citations (2)
Title |
---|
KULKARNI A 等: "Object recognition with ORB and its Implementation on FPGA", 《INTERNATIONAL JOURNAL OF ADVANCED COMPUTER RESEARCH》 * |
李卓 等: "基于ORB-LATCH的特征检测与描述算法", 《计算机应用》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110913279A (zh) * | 2018-09-18 | 2020-03-24 | 北京悉见科技有限公司 | 一种用于增强现实的处理方法及增强现实终端 |
CN109766758A (zh) * | 2018-12-12 | 2019-05-17 | 北京计算机技术及应用研究所 | 一种基于orb特征的视觉slam方法 |
CN109919825A (zh) * | 2019-01-29 | 2019-06-21 | 北京航空航天大学 | 一种orb-slam硬件加速器 |
CN110686687A (zh) * | 2019-10-31 | 2020-01-14 | 珠海市一微半导体有限公司 | 视觉机器人构建地图的方法、机器人和芯片 |
CN110686687B (zh) * | 2019-10-31 | 2021-11-09 | 珠海市一微半导体有限公司 | 视觉机器人构建地图的方法、机器人和芯片 |
CN113661497A (zh) * | 2020-04-09 | 2021-11-16 | 商汤国际私人有限公司 | 一种匹配方法、装置、电子设备及计算机可读存储介质 |
CN113103232A (zh) * | 2021-04-12 | 2021-07-13 | 电子科技大学 | 一种基于特征分布匹配的智能设备自适应运动控制方法 |
CN113103232B (zh) * | 2021-04-12 | 2022-05-20 | 电子科技大学 | 一种基于特征分布匹配的智能设备自适应运动控制方法 |
CN113361545A (zh) * | 2021-06-18 | 2021-09-07 | 北京易航远智科技有限公司 | 图像特征提取方法、装置、电子设备和存储介质 |
CN113361545B (zh) * | 2021-06-18 | 2024-04-05 | 北京易航远智科技有限公司 | 图像特征提取方法、装置、电子设备和存储介质 |
CN114372510A (zh) * | 2021-12-15 | 2022-04-19 | 北京工业大学 | 一种基于图像区域分割的帧间匹配slam方法 |
CN115900553A (zh) * | 2023-01-09 | 2023-04-04 | 成都盛锴科技有限公司 | 一种列车巡检机器人的复合定位方法及其*** |
Also Published As
Publication number | Publication date |
---|---|
CN108171734B (zh) | 2022-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108171734A (zh) | 一种orb特征提取与匹配的方法及装置 | |
CN110084161B (zh) | 一种人体骨骼关键点的快速检测方法及*** | |
EP3739431B1 (en) | Method for determining point of gaze, contrast adjustment method and device, virtual reality apparatus, and storage medium | |
CN103927016B (zh) | 一种基于双目视觉的实时三维双手手势识别方法及其*** | |
KR101881243B1 (ko) | 깊이 이미지를 프로세싱하기 위한 방법 및 장치 | |
CN103839277B (zh) | 一种户外大范围自然场景的移动增强现实注册方法 | |
CN111080724A (zh) | 一种红外和可见光的融合方法 | |
CN105205815B (zh) | 基于云台可控制摄像机的实时视频跟踪方法 | |
CN107767419A (zh) | 一种人体骨骼关键点检测方法及装置 | |
WO2020134818A1 (zh) | 图像处理方法及相关产品 | |
CN108230367A (zh) | 一种对灰度视频中既定目标的快速跟踪定位方法 | |
CN109758756B (zh) | 基于3d相机的体操视频分析方法及*** | |
CN110136144B (zh) | 一种图像分割方法、装置及终端设备 | |
CN102930534A (zh) | 人体背部穴位自动定位方法 | |
CN107071324A (zh) | 一种视觉图像处理***及其设计方法 | |
CN109389617A (zh) | 一种基于片上异构***的运动目标识别与追踪方法及*** | |
CN108010082A (zh) | 一种几何匹配的方法 | |
CN106447695A (zh) | 一种多物体追踪中判断同一物体的方法和装置 | |
CN110321908A (zh) | 图像识别方法、终端设备及计算机可读存储介质 | |
CN112232204A (zh) | 基于红外图像的活体检测方法 | |
CN110503083A (zh) | 一种关键点检测方法、装置及电子设备 | |
CN114332942A (zh) | 基于改进YOLOv3的夜间红外行人检测方法及*** | |
CN109711375A (zh) | 一种信号灯的识别方法及装置 | |
CN104715470B (zh) | 一种klt角点检测装置及方法 | |
CN111046796A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |