0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

综述:特征点检测与匹配

新机器视觉 来源:新机器视觉 2023-02-21 13:54 次阅读

导读

本文先从图像特征开始介绍,后分点阐述特征子和描述子的相关分类及特点,最后以图像展示了特征匹配的关系,完整的叙述了整个建模过程中特征点检测与匹配的知识。

一、图像特征介绍

1、图像特征点的应用

  • 相机标定:棋盘格角点阴影格式固定,不同视角检测到点可以得到匹配结果,标定相机内参
  • 图像拼接:不同视角匹配恢复相机姿态
  • 稠密重建:间接使用特征点作为种子点扩散匹配得到稠密点云
  • 场景理解:词袋方法,特征点为中心生成关键词袋(关键特征)进行场景识别
797736aa-b1a6-11ed-bfe3-dac502259ad0.jpg

2、图像特征点的检测方法

  • 人工设计检测算法:sift、surforb、fast、hog
  • 基于深度学习的方法:人脸关键点检测、3D match点云匹配
  • 场景中的人工标记点:影视场景背景简单的标记,特殊二维码设计(快速,精度低)
798e0f88-b1a6-11ed-bfe3-dac502259ad0.jpg

3、图像特征点的基本要求

  • 差异性:视觉上场景上比较显著点,灰度变化明显,边缘点等
  • 重复性:同一个特征在不同视角中重复出现,旋转、光度、尺度不变性
79a7696a-b1a6-11ed-bfe3-dac502259ad0.jpg

二、特征检测子

1、Harris 角点检测(早期,原理简单,视频跟踪,快速检测)

梦寐mayshine:角点检测(2) - harris算子 - 理论与Python代码

https://zhuanlan.zhihu.com/p/90393907

79be90f4-b1a6-11ed-bfe3-dac502259ad0.jpg
  • 动机:特征点具有局部差异性
  • 以每个点为中心取一个窗口,例如,5×5/7×7的像素,描述特征点周围环境
  • 此点具有差异性->窗口往任意方向移动,则周围环境变化较大->具有局部差异性
  • 最小二乘线性系统
  • 加和符号:表示窗口内每个像素
  • w:表示权重,权值1或者以点为中心的高斯权重(离点越近权重越大)
  • I:表示像素,RGB/灰度
  • u,v:窗口移动的方向
  • H:harris矩阵,由两个方向上的梯度构建而成
  • 图像梯度:
  • Harris矩阵:
  • Harris矩阵H 的特征值分析
  • 两个特征值反映相互垂直方向上的变化情况,分别代表变化最快和最慢的方向,特征值大变化快,特征值小变化慢
  • λ1 ≈ λ2 ≈ 0, 两个方向上变化都很小,兴趣点位于光滑区域
  • λ1 > 0 , λ2 ≈ 0 ,一个方向变化快,一个方向变化慢,兴趣点位于边缘区域
  • λ1 , λ2 > 0 , 两个方向变化都很快,兴趣点位于角点区域(容易判断)
79cf11d6-b1a6-11ed-bfe3-dac502259ad0.jpg79eb0ea4-b1a6-11ed-bfe3-dac502259ad0.jpg
  • Harris角点准则代替矩阵分解:
  • 反映特征值情况,trace为迹
  • k的值越小,检测子越敏感
  • 只有当λ1和λ2同时取得最大值时,C才能取得较大值
  • 避免了特征值分解,提高检测计算效率
  • 非极大值抑制(Non-maximal Suppression) 选取局部响应最大值,避免重复的检测
  • 算法流程:
  • 0)滤波、平滑,避免出现阶跃函数
  • 1)计算图像水平和垂直方向的梯度
  • 2)计算每个像素位置的Harris矩阵
  • 3)计算每个像素位置的Harris角点响应值
  • 3+)非极大值抑制
  • 4)找到Harris角点响应值大于给定阈值且局部最大的位置作为特征点
  • 检测结果:
79fd85b6-b1a6-11ed-bfe3-dac502259ad0.jpg

2、基于LoG的多尺度特征检测子

  • 动机:Harris角点检测不具有尺度不变性,让特征点具有尺度不变性
7a176d50-b1a6-11ed-bfe3-dac502259ad0.jpg
  • 解决方法:尺度归一化LoG算子,处理尺度的变化
  • LoG算子:Lindeberg(1993)提出Laplacian of Gaussian (LoG)函数的极值点对应着特征点
  • 尺度空间:一副图像使用不同大小滤波核滤波(e.g.高斯滤波),越大的滤波核越模糊,分辨率越小,不同滤波核滤波后的空间为尺度空间=3维空间(图像+尺度),模拟人类视觉,较远物体模糊,一系列滤波核构成的不同分辨率图像为尺度空间->LoG能够处理不同尺度的图像
7a2aa1cc-b1a6-11ed-bfe3-dac502259ad0.jpg
  • LoG算子[1]形式:高斯滤波性质:卷积->求拉普拉斯算子==求拉普拉斯算子->卷积 其中是LoG算子
  • 尺度归一化LoG[2](使得具有可比性=汇率):其中是尺度归一化LoG算子
  • 不同尺度下的LoG响应值不具有可比性
  • 构建尺度空间,同时在位置空间和 尺度空间寻找归一化LoG极值(极大 /极小)点作为特征点
  • 不同尺度下的响应值

7a38fd6c-b1a6-11ed-bfe3-dac502259ad0.jpg

  • LoG特征检测算法流程
  • 1)计算不同尺度上的尺度归一化LoG函数值
  • 2)同时在位置和尺度构成的三维空间上寻找 尺度归一化LoG的极值点
  • 3)进行非极大值抑制,减少重复检测 (去除冗余、保持稳定性)
  • 检测结果:效果好,LoG计算量大
7a4e48a2-b1a6-11ed-bfe3-dac502259ad0.jpg

3、基于DoG的多尺度特征检测子(SIFT)——稳定和鲁棒

  • LoG可以由DoG近似:Lowe(2004)提出归一化LoG近似等价于相邻尺度的高斯差分(DoG)
  • 高斯空间:
  • 高斯差分DoG:相邻的空间做差,极点处对应特征点
  • 尺度空间的构建

    • 阶数:O=3 (octave=阶,每阶图像尺寸减少一半,阶数高->运算量大->尺度变化大)
    • 每阶有效差分数:S=3(每个阶内划分数)
    • 每阶层数:N=S+3
    • 高斯空间

    • 高斯差分

    • 有效差分(尺度空间有上下两个邻域才行,边界无效)

    • 任意设置

7a667fa8-b1a6-11ed-bfe3-dac502259ad0.jpg7a749fde-b1a6-11ed-bfe3-dac502259ad0.jpg7a84a64a-b1a6-11ed-bfe3-dac502259ad0.jpg
  • 特征点位置的确定:
  • 1)尺度空间和图像空间上:3*3窗口,26个邻域,找极值点比其他都要大DoG,LoG找极大值或极小值
  • 2)横轴向代表离散位置,纵轴代表DoG响应值,在极值点邻域内求二阶函数的极值=准确像素位置
7a99dad8-b1a6-11ed-bfe3-dac502259ad0.jpg
  • 亚像素特征点位置的确定

    • x:为三维,坐标空间+尺度空间
    • f(x):为DoG值
    • x0:检测到离散坐标下的极大值点
    • 任务:在x0附近近似一个二阶函数,求二阶函数极值得到更准确的亚像素极值位置
7aacbdd8-b1a6-11ed-bfe3-dac502259ad0.jpg
  • 矩阵的表达-1阶
7aba3f12-b1a6-11ed-bfe3-dac502259ad0.jpg
  • 矩阵的表达-2阶
7ac8d28e-b1a6-11ed-bfe3-dac502259ad0.jpg
  • 极值点有可能是边缘点,->除去边缘点:DoG在边缘处值较大,需要避免检测到边缘点
  • 计算主方向:通过统计梯度直方图的方法确定主方向,使算法具有旋转不变性
7ae15fb6-b1a6-11ed-bfe3-dac502259ad0.jpg
  • SIFT特征检测流程:旋转不变性、尺度不变性、亮度 变化不变性,对视角变化、仿射变换有一定程度的稳定性

    • 1)计算图像尺度空间:
    • 2)DoG极值点检测与定位:保留的特征点
    • 3)边缘点去除:
    • 4)计算主方向
    • 5)生成描述子
    • 6)检测结果
7aee5220-b1a6-11ed-bfe3-dac502259ad0.jpg

4、快速特征点检测方法:——实时性要求高

  • FAST特征点[3]:Feature from Accelerated Segment Test

    • 1)以候选点p为圆心构建一个离散圆
    • 2)比较圆周上的像素与p点像素值
    • 3)当有连续的n个像素值明显亮于或者暗于p时,p被检测为特征点,例Fast9,Fast12
    • 特性:通过检测局部像素灰度变化来确认特征点的位置,速度快,SIFT的100倍;不具有尺度和旋转不变性

    • 流程:

    • 检测:

7b012b02-b1a6-11ed-bfe3-dac502259ad0.jpg
  • Oriented FAST (ORB)

    • 获取尺度不变性:构建图像金字塔,在金字塔 每一层上检测关键点
    • 获取旋转不变性 :通过灰度质心法(Intensity Centroid) 确定图像主方向
    • 图像块B上的矩定义为:
    • 图像块B的质心定义为 :
    • 计算方向角 :
    • 检测结果:
7b152cce-b1a6-11ed-bfe3-dac502259ad0.jpg

三、特征描述子

特征描述子 Feature Descriptor

  • 每个特征点独特的身份认证
  • 同一空间点在不同视角的特征点具有高度相似的描述子
  • 不同特征点的的描述子差异性尽量大
  • 通常描述子是一个具有固定长度的向量

特征支持区域

  • 主方向:进行旋转并重新插值
  • 特征尺度:影响支持区域的大小
7b2ae05a-b1a6-11ed-bfe3-dac502259ad0.jpg

1、基于直方图的描述子

(1)用于微小运动的描述子 [4](e.g.相邻两帧视频)

  • 定义:以特征点为中心的矩形区域内所有像素的灰度值作为描述子
  • 特性:适用于微小变化的图像对 图像存在明显的旋转、尺度、光照和透视变换时不稳定

7b615ef0-b1a6-11ed-bfe3-dac502259ad0.jpg

(2)Sift描述子——旋转主方向

  • 定义:根据主方向对支持区域进行旋转,并通过双线性插值重构
  • 特性:图像归一化处理,去除光照变化
7b731bc2-b1a6-11ed-bfe3-dac502259ad0.jpg
  • 统计局部梯度信息流程:

    • 1)将区域划分成4x4的block ;
    • 2)每个block内统计梯度方向 的直方图(高斯加权梯度作为系数)
7b8092ca-b1a6-11ed-bfe3-dac502259ad0.jpg

(2)Sift描述子——生成描述子

7b93eb40-b1a6-11ed-bfe3-dac502259ad0.jpg

(2)Sift描述子——归一化处理

  • 处理方式

    • 1)门限处理-直方图每个方向的梯度幅值不超过0.2
    • 2)描述子长度归一化
  • 特性:归一化处理提升了特征点光度变化的不变性

  • SIFT描述子变种:PCA-SIFT/SURF

(3)GLOH描述子[5]:Gradient Location-orientation Histogram

  • 一共有1+2x8=17 个blocks
  • 每个blocks计算16个方向的直方图
  • 描述子共16x17=272维
  • 通过PCA可以降维到128
7ba335be-b1a6-11ed-bfe3-dac502259ad0.jpg

(4)DAISY描述子[6]:每个圆的半径对应高斯的尺度

7bdac614-b1a6-11ed-bfe3-dac502259ad0.jpg

2、基于不变性的描述子

3、二进制描述子——BRIEF

  • 描述子形式:描述向量由N个0或者1组成 N=128,256,512

  • 描述子特性:生成速度快(汉明距离),匹配效率高 ,简单有效;不具有旋转不变性

  • 描述子流程:

    • 1)图像进行如高斯滤波预处理——去除噪声
    • 2)在支持区域内随机采样N对大小5×5的patch
    • 3)比较patch内像素和的大小,并保留结果构成特征向量 $ au(p;x,y)=left{ egin{aligned} 1, ifp(x)
7bebdd50-b1a6-11ed-bfe3-dac502259ad0.jpg

四、特征匹配

计算两幅图像中特征描述子的匹配关系

7c000370-b1a6-11ed-bfe3-dac502259ad0.jpg

1、距离度量

归一化互相关,1 ->非常匹配,0->不匹配

7c10253e-b1a6-11ed-bfe3-dac502259ad0.jpg

2、匹配策略

最近邻:加了距离约束,防止孤立点

7c29bdaa-b1a6-11ed-bfe3-dac502259ad0.jpg

3、高效匹配

7c3cbf68-b1a6-11ed-bfe3-dac502259ad0.jpg

4、特征匹配验证

7c4be448-b1a6-11ed-bfe3-dac502259ad0.jpg7c6bcdf8-b1a6-11ed-bfe3-dac502259ad0.jpg7c841eda-b1a6-11ed-bfe3-dac502259ad0.jpg

审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4595

    浏览量

    92571
  • 图像
    +关注

    关注

    2

    文章

    1082

    浏览量

    40393
  • 深度学习
    +关注

    关注

    73

    文章

    5485

    浏览量

    120937

原文标题:综述:特征点检测与匹配

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    机器视觉图像处理之角点检测技术

    角点是图像很重要的特征,对图像图形的理解和分析有很重要的作用。角点检测(Corner Detection)是计算机视觉系统中用来获得图像特征的一种方法,广泛应用于运动检测、图像
    发表于 01-22 13:46

    特征点(角)检测匹配

    特征点(角)检测匹配,forstner corner detection
    发表于 05-06 13:18

    Firefly RK3399Pro开源主板 + 单目摄像头,人体特征点检测方案

    随着“大数据”技术与高性能处理器的快速发展,机器视觉和深度神经网络技术得以深入研究,人体特征点检测率和准确度大大提高,可用于动作识别、人机交互、异常行为检测、人物跟踪等商业应用。方案简介人体
    发表于 04-01 15:55

    一种基于轮廓分析的图像特征点检测方法

    图像特征点检测是图像匹配、目标识别以及运动估计等领域的一项关键技术。本文对图像轮廓二维信息进行降维处理,提出了一种特征点质量评价因子。利用该因子并结合文中给
    发表于 12-14 13:30 15次下载

    基于改进局部不变特征的兴趣点匹配

    该文提出了一种适用于目标跟踪的局部特征点检测匹配方法,在尺度不变特征(Scale Invariant FeatureTransform, SIFT)算法基础上进行了多方面的改进。在高
    发表于 02-10 14:21 21次下载

    基于区域检测特征匹配方法设计研究

    针对传统特征匹配算法在实际的应用中存在搜索范围广、无关特征点多等问题,提出一种基于显著性区域检测特征匹配
    发表于 10-28 11:01 0次下载

    FAST特征点检测features2D

    特征点检测匹配是计算机视觉中一个很有用的技术。在物体检测,视觉跟踪,三维常年关键等领域都有很广泛的应用。这一次先介绍特征
    发表于 11-29 09:10 3508次阅读
    FAST<b class='flag-5'>特征</b><b class='flag-5'>点检测</b>features2D

    firefly人体特征点检测介绍

    配置高清单目摄像头,可以清晰地检测人体关键特征点。人体骨骼特征点检测帧率15fps/640*480,检测精度95%;手指关键
    的头像 发表于 11-05 16:07 1514次阅读
    firefly人体<b class='flag-5'>特征</b><b class='flag-5'>点检测</b>介绍

    基于Laplace-Beltrami算子的特征点检测算法

    针对三维模型的特征点检测问题,提出一种基于 Laplace- Beltrami算子的特征点检测算法。对于给定的三维网格模型,首先构造离散 Laplace- Beltrami算子矩阵,求
    发表于 04-21 13:50 11次下载
    基于Laplace-Beltrami算子的<b class='flag-5'>特征</b><b class='flag-5'>点检测</b>算法

    基于高斯金字塔图像的改进Harris特征点检测算法

    为了提高海面特征点检测的准确度和三维重建的精度,在基于传统的μaris算法的基础上,提岀Ⅰ种基于高斯金字塔图像的改进Hars特征点检测算法。利用搭建的双目相机泙台,对海浪图像进行采集并
    发表于 05-06 17:03 18次下载
    基于高斯金字塔图像的改进Harris<b class='flag-5'>特征</b><b class='flag-5'>点检测</b>算法

    高阶多视图离群点检测及其研究综述

    由于数据在不同视图之间的分布比较复杂,传统的单视图离群点检测方法不再适用于多视图离群点的检测,使得多视图离群点检测成为一个颇具挑战性的硏究课题。多视图离群点可分为3种类型:属性离群点、类离群点和类
    发表于 05-07 11:22 16次下载

    基于单位统计曲率特征匹配的红外目标检测

    基于单位统计曲率特征匹配的红外目标检测
    发表于 06-19 16:20 7次下载

    基于计算机视觉领域中的特征检测匹配研究

      我们都知道特征检测匹配是计算机视觉领域中的重要任务,它们在许多应用中发挥着关键作用,比如SLAM、SFM、AR、VR等许多算法都需要稳定精确的特征
    的头像 发表于 06-16 16:48 898次阅读
    基于计算机视觉领域中的<b class='flag-5'>特征</b><b class='flag-5'>检测</b>和<b class='flag-5'>匹配</b>研究

    三种最常用的特征检测匹配算法总结

    我们都知道特征检测匹配是计算机视觉领域中的重要任务,它们在许多应用中发挥着关键作用,比如SLAM、SFM、AR、VR等许多算法都需要稳定精确的特征
    的头像 发表于 06-19 11:27 5217次阅读
    三种最常用的<b class='flag-5'>特征</b><b class='flag-5'>检测</b>与<b class='flag-5'>匹配</b>算法总结

    DCNN网络结构 DCNN的人脸特征点检测

    摘 要:在介绍人脸特征点检测的理论知识的基础上,提出了一种基于深层卷积神经网络(Deep ConvolutionalNeural Network,DCNN)解决人脸5点特征点(眼角、鼻子、嘴角)预测
    发表于 07-20 14:30 0次下载