当前位置: 首页 > java >正文

【IPMV】图像处理与机器视觉:Lec11 Keypoint Features and Corners

【IPMV】图像处理与机器视觉:Lec11 Keypoint Features and Corners

本系列为2025年同济大学自动化专业**图像处理与机器视觉**课程笔记
Lecturer: Rui Fan、Yanchao Dong


Lec0 Course Description

Lec3 Perspective Transformation

Lec7 Image Filtering

Lec8 Image Pyramid

Lec9 Laplace Blending

持续更新中

文章目录


1 Keypoint Features

特征点的特征:

  • Repeatability
  • Distanctiveness
  • Efficiency
  1. 识别特征 (Extract features)
  2. 匹配特征 (Match features)
  3. 对齐图像 (Align images)

应用

全景拼接
Panoramas Stitching
物体识别
Objection Recognition
3D重建和导航
3D Reconstruction and Navigation
  • Corner features

  • Blob features

  • Feature descriptors

  • Feature matching

  • Homography estimation from correspondences

  • World geometry and #D

  • Scene analysis


2 Corner Features

2.1 数学描述:梯度

  • Flat region
  • Edge
  • Corner

数学表述

E ( u , v ) = ∑ x , y w ( x , y ) [ I ( x + u , y + v ) − I ( x , y ) ] 2 E(u,v) = \sum_{x,y} w(x,y) [I(x+u, y+v)-I(x,y)]^2 E(u,v)=x,yw(x,y)[I(x+u,y+v)I(x,y)]2

  • E ( u , v ) E(u,v) E(u,v)衡量窗口移动后的亮度变化,用于区分平坦、边缘、角落区域。
    • 对于平坦区域:窗口移动时,图像亮度几乎不变; E ( u , v ) E(u,v) E(u,v)很小
    • 对于边缘:沿边缘移动时亮度不变,垂直移动时变化明显; E ( u , v ) E(u,v) E(u,v) 沿边缘方向变化小,垂直方向变化大
    • 对于角落:无论怎么移动窗口,图像亮度都会变化; E ( u , v ) E(u,v) E(u,v)在所有方向变化都大
  • 窗口函数 w ( x , y ) w(x,y) w(x,y):控制窗口内像素的权重
    • 矩形窗口
    • 高斯窗口:减少噪声影响


2.2 简化描述:Taylor Expasion

泰勒展开近似

E ( u , v ) ≈ [ u v ] [ ∑ w ( x , y ) I x 2 ∑ w ( x , y ) I x I y ∑ w ( x , y ) I x I y ∑ w ( x , y ) I y 2 ] [ u v ] = [ u v ] [ A B B C ] [ u v ] = [ u v ] M [ u v ] E(u,v)\approx \begin{bmatrix} u & v \end{bmatrix}\begin{bmatrix} \sum {w(x,y)I_x^2} & \sum {w(x,y)I_x I_y} \\ \sum {w(x,y)I_x I_y} & \sum {w(x,y)I_y^2} \end{bmatrix}\begin{bmatrix} u \\ v \end{bmatrix} =\begin{bmatrix} u & v \end{bmatrix}\begin{bmatrix} A & B \\ B & C \end{bmatrix}\begin{bmatrix} u \\ v \end{bmatrix} =\begin{bmatrix} u & v \end{bmatrix}M\begin{bmatrix} u \\ v \end{bmatrix} E(u,v)[uv][w(x,y)Ix2w(x,y)IxIyw(x,y)IxIyw(x,y)Iy2][uv]=[uv][ABBC][uv]=[uv]M[uv]

二阶矩阵M

  • M = ∑ x , y w ( x , y ) [ A B B C ] = ∑ x , y w ( x , y ) [ I x I y ] [ I x I y ] M = \sum_{x,y} w(x,y)\begin{bmatrix} A & B \\ B & C \end{bmatrix}=\sum_{x,y} w(x,y)\begin{bmatrix} I_x \\ I_y \end{bmatrix}\begin{bmatrix} I_x & I_y \end{bmatrix} M=x,yw(x,y)[ABBC]=x,yw(x,y)[IxIy][IxIy]
  • 描述窗口内图像的梯度分布
  • 特征值 λ 1 , λ 2 \lambda_1, \lambda_2 λ1,λ2 决定区域类型
垂直边缘 I x = 0 I_x = 0 Ix=0 M = [ 0 0 0 C ] M = \begin{bmatrix} 0 & 0 \\ 0 & C \end{bmatrix} M=[000C]
水平边缘 I y = 0 I_y = 0 Iy=0 M = [ A 0 0 0 ] M = \begin{bmatrix} A & 0 \\ 0 & 0 \end{bmatrix} M=[A000]

2.3 进一步简化:特征值和特征向量

M M M的特征值和特征向量:

  • 特征值: λ = 1 2 [ ( A + C ) ± 4 B 2 + ( A − C ) 2 ] \lambda = \frac{1}{2}[(A+C)\pm \sqrt{4B^2+(A-C)^2}] λ=21[(A+C)±4B2+(AC)2 ]
  • 特征向量:齐次方程 [ A − λ B B C − λ ] x = 0 \begin{bmatrix} A-\lambda & B \\ B & C - \lambda \end{bmatrix}\bm{x}=0 [AλBBCλ]x=0的解
    • x m a x \bm{x}_{max} xmax(最大特征向量):图像在这个窗口内变化最剧烈的方向
      • 比如边缘区域的垂直边缘方向
    • λ m a x λ_{max} λmax(最大特征值):这个方向上的变化强度,值越大表示这个方向变化越剧烈
    • x m i n \bm{x}_{min} xmin(最小特征向量):变化最平缓的方向
      • 比如边缘区域的沿着边缘方向
    • λ m i n λ_{min} λmin(最小特征值):这个方向上的变化强度,值越小表示这个方向越稳定
  • 如何判定?
    • 两个小 → 平坦
    • 一大一小 → 边缘
    • 两个大 → 角点

近似前后对比举例:

区域类型实例场景梯度描述泰勒展开近似特征值
平坦区域在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述 λ m i n = 0.4 \lambda_{min}=0.4 λmin=0.4
边缘区域在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述 λ m i n = 1.2 \lambda_{min}=1.2 λmin=1.2
角点区域在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述 λ m i n = 272 \lambda_{min}=272 λmin=272

2.4 角点检测步骤总结

  • 使用高斯导数计算图像中每个点的梯度
  • 根据梯度创建二阶矩阵 M M M
  • 计算特征值
  • 找出响应较大的点( λ m i n λ_{min} λmin > 阈值)
  • 选择 λ m i n λ_{min} λmin为局部最大值的点作为特征点

2.5 The Harris operator: λ m i n \lambda_{min} λmin计算简化

  • λ m i n λ_{min} λmin的近似值(需要开根号,很麻烦)
    • 角点响应 = λ 1 ⋅ λ 2 − 0.06 ⋅ ( λ 1 + λ 2 ) 2 = det ⁡ ( M ) − 0.06 ⋅ t r a n c e ( M ) 2 角点响应 = λ₁·λ₂ - 0.06·(λ₁+λ₂)² = \det(M)-0.06\cdot trance(M)^2 角点响应=λ1λ20.06(λ1+λ2)2=det(M)0.06trance(M)2
    • 响应值大 → \rightarrow 角点
  • Harris Operator特性
    • 平移不变性:位置协变+导数计算窗口函数不变
    • 旋转不变性:位置协变
    • 光照部分协变性:亮度平移( I → I + b I→I+b II+b)不变性和缩放( I → a I I→aI IaI)部分鲁棒性
    • 尺度敏感性:图像缩放时,角点可能被误判为边缘 (小尺度角点在大尺度下变平缓,大尺度角点在小尺度下可能消失);结合多尺度方法(如SIFT)解决
  1. 优势
    • 对平移、旋转、轻度光照变化稳定,适合大多数场景。
    • 计算高效,实时性好。
  2. 短板
    • 怕缩放:必须搭配多尺度检测(如金字塔方法)才能适应不同大小的物体。
    • 非万能:极端光照或模糊场景需结合其他特征(如SIFT/SURF)。
  3. 改进方向
    • 尺度鲁棒性:自适应尺度选择,在位置和尺度空间同时寻找响应最大值(如Harris-Laplace)。

3 总结

  • 数学描述:亮度梯度
  • 简化
    • 泰勒展开
    • M M M特征值和特征向量
  • 角点检测步骤
  • Harris Operator
    • λ m i n \lambda_{min} λmin的近似
    • 尺度敏感

使用亮度梯度值定量描述角点,使用泰勒线性展开对平方运算进行简化,进一步用 M M M的特征值和特征向量进行描述,进一步使用Harris operator对于最小特征值的开方运算进行了简化

http://www.xdnf.cn/news/6020.html

相关文章:

  • 以太网供电(PoE)交换机与自愈网络功能:打卡系统的得力助手
  • 基于 Spring Boot 瑞吉外卖系统开发(十四)
  • Vue 和 React 状态管理的性能优化策略对比
  • 数据结构中的高级排序算法
  • Linux内核可配置的参数
  • 单片机-STM32部分:14、SPI
  • 查询公网IP地址的方法:查看自己是不是公网ip,附内网穿透外网域名访问方案
  • 构建优雅对象的艺术:Java 建造者模式的架构解析与工程实践
  • HarmonyOs开发之———使用HTTP访问网络资源
  • Eslint和perrier的作用
  • CSS盒子模型:Padding与Margin的适用场景与注意事项
  • npm 报错 gyp verb `which` failed Error: not found: python2 解决方案
  • 【漫话机器学习系列】259.神经网络参数的初始化(Initialization Of Neural Network Parameters)
  • 【Java面试题】——this 和 super 的区别
  • PHP黑白胶卷底片图转彩图功能 V2025.05.15
  • Stable Diffusion WebUI 插件大全:功能详解与下载地址
  • 【软件测试】:推荐一些接口与自动化测试学习练习网站(API测试与自动化学习全攻略)
  • 配置Nginx解决http host头攻击漏洞【详细步骤】
  • Dockerfile实战:从零构建自定义CentOS镜像
  • Python爬虫实战:研究进制流数据,实现逆向解密
  • 【优选算法 | 字符串】字符串模拟题精选:思维+实现解析
  • 【python实用小脚本-59】连续刷题7天,手动整理编程题目效率低下,Python代码5分钟搞定,效率提升80%(附方案)
  • 力扣刷题Day 48:盛最多水的容器(283)
  • Linux操作系统中的SOCKET相关 - Socket字节序调整与网络传输
  • Kubernetes 标签和注解
  • 【软件测试】第一章·软件测试概述
  • 行动算子(知识)
  • GZip+Base64压缩字符串在ios上解压报错问题解决(安卓、PC模拟器正常)
  • 服务器中存储空间不足该怎么办?
  • IP协议的特性