【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
持续更新中
文章目录
- 【IPMV】图像处理与机器视觉:Lec11 Keypoint Features and Corners
- 1 Keypoint Features
- 2 Corner Features
- 2.1 数学描述:梯度
- 2.2 简化描述:Taylor Expasion
- 2.3 进一步简化:特征值和特征向量
- 2.4 角点检测步骤总结
- 2.5 The Harris operator: λ m i n \lambda_{min} λmin计算简化
- 3 总结
1 Keypoint Features
特征点的特征:
- Repeatability
- Distanctiveness
- Efficiency
- 识别特征 (Extract features)
- 匹配特征 (Match features)
- 对齐图像 (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)Ix2∑w(x,y)IxIy∑w(x,y)IxIy∑w(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,y∑w(x,y)[ABBC]=x,y∑w(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+(A−C)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(最小特征值):这个方向上的变化强度,值越小表示这个方向越稳定
- x m a x \bm{x}_{max} xmax(最大特征向量):图像在这个窗口内变化最剧烈的方向
- 如何判定?
- 两个小 → 平坦
- 一大一小 → 边缘
- 两个大 → 角点
近似前后对比举例:
区域类型 | 实例场景 | 梯度描述 | 泰勒展开近似 | 特征值 |
---|---|---|---|---|
平坦区域 | ![]() | ![]() | ![]() | ![]() |
边缘区域 | ![]() | ![]() | ![]() | ![]() |
角点区域 | ![]() | ![]() | ![]() | ![]() |
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⋅λ2−0.06⋅(λ1+λ2)2=det(M)−0.06⋅trance(M)2
- 响应值大 → \rightarrow →角点
- Harris Operator特性
- 平移不变性:位置协变+导数计算窗口函数不变
- 旋转不变性:位置协变
- 光照部分协变性:亮度平移( I → I + b I→I+b I→I+b)不变性和缩放( I → a I I→aI I→aI)部分鲁棒性
- 尺度敏感性:图像缩放时,角点可能被误判为边缘 (小尺度角点在大尺度下变平缓,大尺度角点在小尺度下可能消失);结合多尺度方法(如SIFT)解决
- 优势:
- 对平移、旋转、轻度光照变化稳定,适合大多数场景。
- 计算高效,实时性好。
- 短板:
- 怕缩放:必须搭配多尺度检测(如金字塔方法)才能适应不同大小的物体。
- 非万能:极端光照或模糊场景需结合其他特征(如SIFT/SURF)。
- 改进方向:
- 尺度鲁棒性:自适应尺度选择,在位置和尺度空间同时寻找响应最大值(如Harris-Laplace)。
3 总结
- 数学描述:亮度梯度
- 简化
- 泰勒展开
- M M M特征值和特征向量
- 角点检测步骤
- Harris Operator
- λ m i n \lambda_{min} λmin的近似
- 尺度敏感
使用亮度梯度值定量描述角点,使用泰勒线性展开对平方运算进行简化,进一步用 M M M的特征值和特征向量进行描述,进一步使用Harris operator对于最小特征值的开方运算进行了简化