首页IT科技orb特征 匹配 opencv(ORB特征)

orb特征 匹配 opencv(ORB特征)

时间2025-07-30 16:06:03分类IT科技浏览6718
导读:介绍 ORB(Oriented FAST and Rotated BRIEF 特征是一种常用的图像特征,其最大的优点是提取速度快,按业界的说法,ORB特征提取速度臂SURF快10倍,比SIFT快100倍。ORB特征由...

介绍

ORB(Oriented FAST and Rotated BRIEF)特征是一种常用的图像特征                ,其最大的优点是提取速度快                         ,按业界的说法          ,ORB特征提取速度臂SURF快10倍            ,比SIFT快100倍                 。ORB特征由关键点描述子两部分组成                          。他的关键点称为“Oriented FAST                 ”                        ,是一种改进的FAST角点        。ORB提取速度快就得益于采用了FAST角点            。它的描述子称为BRIEF(Binary Robust Independent Elementary Feature)              ,是一种速度极快的二进制描述子                          。ORB特征的提取流程如图1所示            。

图1 ORB特征提取流程

 FAST关键点

FAST是一种角点        ,主要检测局部像素灰度变化明显的地方                        ,以速度快著称        。它的思想是:如果一个像素与领域的像素差别较大(过亮或过暗)                  ,那么它更可能是角点                          。相比于其他角点检测算法    ,FAST只需比较像素亮度的大小                        ,十分快捷                。它的检测过程如下(图2):

        1                、在图像中选取像素p                      ,假设它的亮度为    。

        2                         、设置一个阈值T(一般设为的20%)                          。

        3          、以像素p为中心,选取半径为3的圆上的16个像素点                    。

        4            、假如选取的圆上有连续的N个点的亮度大于或小于                    ,那么像素p可以被认为是特征点(N通常取12                          , 即FAST-12,。其他常用的N取值为9和11     ,他们分别被称为FAST-9和FAST-11)                      。

        5                        、循环以上四步                ,对每一个像素执行相同的操作                         。

FAST特征点虽然速度快                         ,但是FAST角点不具有方向信息          ,并且还有尺度问题    。比如远处看像是角点的地方            ,接近后看可能就不是角点了                 。针对FAST角点的问题                        ,ORB添加了尺度和旋转的描述                          。尺度不变性由构建图像金字塔              ,并在金字塔的每一层上检测角点来实现        。而特征的旋转是由灰度质心法(Intensity Centroid)实现的            。

 图像金字塔是图像处理的常用方法        ,即对原始图像进行逐层的缩放                        ,得到各种尺度下的图像                          。缩小后的图像可以看成是从更远的地方看到的图像            。

图3 图像金字塔

 在旋转方面                  ,只需要计算像素点p邻域的灰度质心m    ,邻域中心P到灰度质心m的方向就是特征点的方向        。从而得到Oriented FAST                          。邻域的灰度质心计算过程如下:

        1              、在邻域B中                        ,定义邻域的矩为

        2        、通过矩可以找到图像块的质心:

        3                        、连接邻域的几何中心p与质心C                      ,得到一个方向向量,于是特征点的方向可以定义为

BRIEF描述子

BRIEF是一种二进制描述子                    ,其描述向量由许多个0和1组成                          ,这里的0和1编码了关键点附近两个随机像素(比如p和q)的大小关系:如果p比q大     ,则取1                , 反之就取0                。按高斯分布依次挑选256个这样的点对(openCV默认是256)                         ,最终可以得到一个256维的向量          ,并且向量中的每个元素只能取0或1两个值    。值得注意的是为了提高描述子的抗噪性            ,需要首先对图像进行高斯平滑处理                          。为了使特征点描述具有旋转不变性                        ,还要将特征点的方向考虑进来                    。只需要将BRIEF中按高斯分布依次挑选的的256个点对按特征点方向旋转              ,得到新的256个点对        ,对新的点对计算分配特征值即可                        ,这样就得到了Steer BRIEF描述。到这里                  ,ORB特征就提取出来了                      。

特征匹配

特征匹配是确定两张图像中特征点的对应关系                         。考虑两个时刻的图像    。如果在图像中提取到特征点    ,m=1,2,...,M                        ,在图像中提取到特征点,n=1,2,...,N                      ,如果寻找这两个集合元素的对应关系呢?最简单的特征匹配方法就是暴力匹配(Brute-Force Matcher)                 。即对每一个特征点与所有计算描述子之间的距离,取最近的一个作为匹配点                          。描述子距离表示了两个特征之间的相似程度        。对于像BRIEF这样的二进制描述子                    ,往往使用汉明距离(Hamming distance)            。两个二进制串之间的汉明距离                          ,指的是其不同位数的个数                          。

当特征点数量很大时     ,暴力匹配法的运算量将变得很大                ,此时                         ,快速近似最近邻(FLANN)算法更加适合于匹配点数量极多的情况            。

ORB特征示例

ORB特征点

ORB特征点匹配

声明:本站所有文章          ,如无特殊说明或标注            ,均为本站原创发布        。任何个人或组织                        ,在未征得本站同意时              ,禁止复制                  、盗用    、采集                        、发布本站内容到任何网站                      、书籍等各类媒体平台                          。如若本站内容侵犯了原著者的合法权益        ,可联系我们进行处理                。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
零投资手机创业(0投资手机干什么挣钱啊-2023赚钱机会) 网站建设价格因素分析(了解哪些因素影响网站建设价格)