图像特征点提取与匹配

embedded/2025/2/6 10:35:43/

引入

视觉里程计根据两帧图像确定机器人的位姿变化。视觉里程计的算法主要分为两个大类:特征点法和直接法。特征点法长久以来(直到现在)被认为是视觉里程计的主流方法。而特征点法首先需要提取特征点并进行匹配。

1. 特征点

1.1特征点的定义&特性

  • 有限性:数量较少
  • 局域性:特征信息只与较小的区域有关
  • 可重复性:相同的特征点可以在相邻帧图片中找到
  • 可区分性:不同的特征点易于区分
    特征点
    图 1 可作为特征点的像素点 图1 可作为特征点的像素点 1可作为特征点的像素点

特征点由**关键点(Key-point)描述子(Descriptor)**两部分组成。

  • 关键点:该特征点在图像里的位置,有些特征点还具有朝向、大小等信息
  • 描述子:描述关键点,用于与其他特征点进行区分

1.2特征点提取的典型方法

ORB特征点法是综合性能最好的方法之一。因此以此为例进行介绍。
它的关键点称作Oriented FAST。是一种改良的FAST特征点。其基本确定方法是以某像素点为中心,3像素为半径的圆上的像素点绝大多数比这个像素点亮或者暗,则该像素点为ORB特征点。
ORB特征点
图 2 可作为 F A S T 特征点的像素点 图2 可作为FAST特征点的像素点 2可作为FAST特征点的像素点
FAST算法仅基于像素间的亮度差异,因此运行速度非常快。然而,该算法不具有方向信息。另外,由于该方法固定选取半径为3的圆形窗口来进行计算,因此不具有尺度不变性——远处和近处的同一角点无法匹配。

尺度不变性由构建图像金字塔,并在金字塔的每一层上检测角点来实现。
金字塔

旋转不变性是由灰度质心法(Intensity Centroid)实现。
在这里插入图片描述
其中I(x,y)函数用于表示在点(x,y)处像素强度/亮度。
它的描述子称作
BRIEF描述子
是一种二进制描述子,其描述向量由许多个0和1组成,这里的0和1编码了关键点附近两个随机像素(比如p和q)的大小关系:如果p比q大,则取1,反之就取0。如果我们取了128个这样的p,q,则最后得到128维由0、1组成的向量。

2.特征点的匹配

常用方法是快速近似最近邻(FLANN)算法。由于这些匹配算法理论已经成熟,而且实现上也已集成到OpenCV,所以这里就不再描述它的技术细节了。感兴趣的读者可以查找相关资料进行了解​。


http://www.ppmy.cn/embedded/159998.html

相关文章

Spring Boot统一异常拦截实践指南

Spring Boot统一异常拦截实践指南 一、为什么需要统一异常处理 在Web应用开发中,异常处理是保证系统健壮性和用户体验的重要环节。传统开发模式中常见的痛点包括: 异常处理逻辑分散在各个Controller中错误响应格式不统一敏感异常信息直接暴露给客户端…

【C语言】自定义类型讲解

文章目录 一、前言二、结构体2.1 概念2.2 定义2.2.1 通常情况下的定义2.2.2 匿名结构体 2.3 结构体的自引用和嵌套2.4 结构体变量的定义与初始化2.5 结构体的内存对齐2.6 结构体传参2.7 结构体实现位段 三、枚举3.1 概念3.2 定义3.3 枚举的优点3.3.1 提高代码的可读性3.3.2 防止…

《手札·开源篇》基于开源Odoo软件与Deepseek的智能企业管理系统集成方案

一、方案背景 随着企业数字化转型的深入,传统ERP系统需要结合AI技术实现智能化升级。本方案将开源ERP系统Odoo与深度求索(Deepseek)大模型能力深度整合,构建具备智能决策支持、自然语言交互和数据分析增强的企业管理平台。 二、…

C++:虚函数与多态性习题

题目内容: 构建一个车(vehicle)基类,包含Run、Stop两个纯虚函数。由此基类,派生出(Car)轿车类,(truck)卡车类,在这两个类中别分定义Run和Stop两个…

【字节青训营-9】:初探字节微服务框架 Hertz 基础使用及进阶(下)

本文目录 一、Hertz中间件Recovery二、Hertz中间件跨资源共享三、Hertz 响应四、Hertz请求五、Hertz中间件Session 一、Hertz中间件Recovery Recovery中间件是Hertz框架预置的中间件,使用server.Default()可以默认注册该中间件,为Hertz框架提供panic回复…

C语言:结构体

一,结构体 C语⾔已经提供了内置类型,如:char、short、int、long、float、double等,但是只有这些内置类型还是不够的,假设我想描述学⽣,描述⼀本书,这时单⼀的内置类型是不⾏的。 描述⼀个学⽣需…

无人机动力套(电机、电调)技术详解

无人机动力套技术主要涉及电机和电调两大核心组件,它们在无人机的飞行性能中起着至关重要的作用。以下是对无人机动力套技术的详细解析: 一、电机技术详解 1. 电机的作用: 电机是将电能转化为机械能的关键部件,其主要作用是产生…

手写MVVM框架-实现v-model(双向绑定)

上一章我们实现了,修改input的值后文本节点的内容发生了变化,还有一个v-model属于双向绑定,我们我们的值发生了变化的话,input的值也需要发生变化,这一章,我们来实现这个功能。 第一步:收集属性…