2024-06-13
24T2
00

目录

图像特征 Image Feature
像素特征的局限性 shortage of pixel values as features
特征的理想属性 Desirable properties of features
颜色特征 Colour Features
颜色直方图 Colour Histogram
颜色矩 Colour moments
示例
纹理特征 Texture Features
Haralick纹理特征 Haralick Texture Features
步骤1:构建灰度共生矩阵GLCMs
额外的优化方法
步骤2:从GLCMs中计算Haralick描述符
应用举例
局部二值模式 Local Binary Patterns, LBP
构建直方图
多分辨率与旋转不变性 multiresolution and rotation-invariant
示例
尺度不变特征变换 Scale-Invariant Feature Transform, SIFT
算法概述
尺度空间极值检测(Scale-Space Extrema Detection)
关键点定位(Keypoint Localization)
方向分配(Orientation Assignment)
关键点描述(Keypoint Descriptor)
描述符匹配 Descriptor matching
示例
空间转换类型 Types of Spatial Transformation
空间坐标变换 Spatial Coordinate Transformation
拟合与对齐 Fitting and Alignment
考试例题
  • Explain the need for feature representation

    Robustness, descriptiveness, efficiency

  • Discuss major categories of image features

    Colour features, texture features, shape features

  • Understand prominent feature descriptors

    Haralick features, local binary patterns, scale-invariant feature transform

  • Show examples of use in computer vision applications

    Image matching and stitching

图像特征 Image Feature

图像特征是图像的紧凑表示形式,通常是向量,代表图像中的重要信息。图像特征的例子包括:

  • 斑点(Blobs)
  • 边缘(Edges)
  • 角点(Corners)
  • 棱线(Ridges)
  • 圆(Circles)
  • 椭圆(Ellipses)
  • 线(Lines)

右侧的图片展示了一栋建筑物,并标注出了多个角点,这些角点的位置可以用坐标向量来表示。例如,一个向量 vv 可以表示为:

v={(x1,y1),(x2,y2),(x3,y3),,(xn,yn)} v = \{(x_1, y_1), (x_2, y_2), (x_3, y_3), \ldots, (x_n, y_n)\}

这些坐标表示了图像中特征点的位置。

我们需要将图像表示为特征向量,以便进行更高效和更稳健的后续处理。进一步处理的例子包括:

  • 目标检测(Object detection)

    image.png

  • 图像分割(Image segmentation)

    image.png

  • 图像分类(Image classification)

    image.png

  • 图像检索(Image retrieval)

    image.png

  • 图像拼接(Image stitching)

    image.png

  • 目标跟踪(Object tracking)

    image.png

像素特征的局限性 shortage of pixel values as features

直接使用像素值作为特征有以下几个问题:

  • 像素值会随着光强、颜色和角度的变化而变化。
  • 像素值还会随着相机的方向变化。
  • 像素值高度冗余。

举个例子,一张1000x1000像素的图像有1,000,000个像素值,如果是彩色图像,有3个颜色通道,那么总共需要处理3,000,000个像素值。这么大量的像素值不仅会导致计算复杂度高,而且其中很多信息是重复的或者不重要的。

通过提取图像特征,我们可以将图像表示为少量的重要特征,比如车窗、排气管和车轮,从而更高效地进行图像处理和分类。例如,卡车的图像可以简化为少量的特征表示,便于模型识别和处理。

image.png

特征的理想属性 Desirable properties of features

  1. 重现性(鲁棒性 Robustness)

    • 在不同图像中,即使光照和视角发生变化,特征也应能在相同的位置被检测到。
  2. 显著性(描述性 Descriptiveness)

    • 不同图像中相似的显著点应具有相似的特征。
  3. 紧凑性(效率 Efficiency)

    • 特征应尽量少,且每个特征应尽可能小。

这些属性确保特征能够在各种情况下可靠地被检测到,并且能够有效地描述图像中的重要信息,同时保持计算效率。

颜色特征 Colour Features

  • 颜色是最简单的特征

    • 计算颜色特征最简单,因为它只需要分析图像的颜色值。
  • 颜色特征对图像缩放、平移和旋转具有不变性

    • 无论图像如何缩放、平移或旋转,颜色特征都能保持一致。
  • 示例:基于颜色的图像检索

通过使用颜色特征,可以快速高效地进行图像检索,因为颜色特征简单且对图像的几何变换具有鲁棒性。

image.png

颜色直方图 Colour Histogram

  • 颜色直方图

    • 代表图像中像素颜色的全局分布。
  • 步骤1

    • 为每个颜色通道(红色、绿色、蓝色)构建一个直方图。
    • 直方图显示了每个颜色通道中不同颜色值的频率分布。
  • 步骤2

    • 将所有通道的直方图(向量)连接起来,作为最终的特征向量。

image.png

例如,图像中红色通道的直方图、绿色通道的直方图和蓝色通道的直方图分别展示了对应颜色值的分布情况。然后,将这些直方图的数据连接起来,形成一个完整的特征向量 vv,表示图像的颜色特征。

颜色矩 Colour moments

这张图解释了颜色矩公式中的符号含义:

  • fijf_{ij} 表示第 jj 个像素的第 ii 个颜色分量的值。
  • NN 表示图像中的像素总数。

这些定义用于计算图像的颜色矩,通过计算颜色分量的均值、标准差和偏度来表示图像的颜色分布特征。

  • 一阶矩(First-order moment):均值(Mean)

    μi=1Nj=0N1fij\mu_i = \frac{1}{N} \sum_{j=0}^{N-1} f_{ij}

    表示图像中第 ii 个颜色分量的平均值。

  • 二阶矩(Second-order moment):标准差(Standard Deviation)

    σi=1Nj=0N1(fijμi)2\sigma_i = \sqrt{\frac{1}{N} \sum_{j=0}^{N-1} (f_{ij} - \mu_i)^2}

    表示颜色分量的标准差,反映颜色值的分散程度。

  • 三阶矩(Third-order moment):偏度(Skewness)

    si=1Nj=0N1(fijμi)33s_i = \sqrt[3]{\frac{1}{N} \sum_{j=0}^{N-1} (f_{ij} - \mu_i)^3}

    表示颜色分量的偏度,反映颜色值的分布形状。

通过颜色矩表示颜色分布,可以得到一个只有9个元素的特征向量(对于RGB图像,每个通道3个元素)。这种方法的表示能力比颜色直方图低,但计算和存储更加高效。

示例

image.png

  • 左图使用仅基于颜色直方图的信息进行图像检索。
  • 右图使用颜色、纹理和形状信息进行图像检索。

可以看到,结合颜色、纹理和形状信息的检索结果比仅使用颜色直方图的信息更加准确和丰富。这说明在图像检索中,综合多种特征能够提升检索效果和精度。

纹理特征 Texture Features

  • 视觉特征和物体外观

    • 纹理特征描述了物体的视觉特性和外观。
  • 强大的区分特征

    • 纹理特征是识别视觉模式的强大区分特征。
  • 结构同质性

    • 纹理特征描述了超越颜色或亮度的结构同质性属性。
  • 用于纹理分类

    • 纹理特征特别用于纹理分类。

以下是几个纹理数据集的示例图像,包括CUReT、UIUC、KTHTIPS2b和DTD数据集。这些数据集中的纹理图像用于训练和测试纹理分类算法。

image.png

Haralick纹理特征 Haralick Texture Features

  • 统计描述符阵列

    • Haralick特征是一组用于描述图像模式的统计描述符。
  • 捕捉像素间的空间关系

    • Haralick特征能够捕捉相邻像素之间的空间关系。
  • 步骤1

    • 构建灰度共生矩阵(Gray-Level Co-Occurrence Matrix, GLCM)。
  • 步骤2

    • 从GLCM中计算Haralick特征描述符。

Haralick特征通过分析图像中的纹理模式和空间关系,提供了一种强大的纹理特征描述方法,广泛用于图像分类和模式识别任务。

步骤1:构建灰度共生矩阵GLCMs

这张幻灯片详细说明了Haralick纹理特征的第一步:构建灰度共生矩阵(GLCMs)。

  • 步骤1:构建GLCMs
    • 给定距离 dd 和方位角 α\alpha

    • 计算从灰度级 i1i_1i2i_2 的共生计数 p(d,α)(i1,i2)p_{(d,\alpha)}(i_1, i_2)

    • 构建矩阵 P(d,α)\mathbf{P}_{(d,\alpha)},其元素 (i1,i2)(i_1, i_2)p(d,α)(i1,i2)p_{(d,\alpha)}(i_1, i_2)

    • 如果图像有 LL 个不同的灰度级,矩阵的大小为L×LL \times L

    • 示例图像为4个不同灰度级( L=4L = 4)。

      image.png

P(1,0)\mathbf{P}_{(1,0^\circ)}表示距离为1、方位角为0度的共生矩阵。

P(1,90)\mathbf{P}_{(1,90^\circ)} 表示距离为1、方位角为90度的共生矩阵。

image.png

不同方位角(0度、45度、90度、135度)下的邻近像素关系。这些共生矩阵捕捉了图像中像素之间的空间关系,是后续计算Haralick特征的基础。

image.png

额外的优化方法

  • 提高计算效率

    • 可以通过分箱(类似于直方图分箱)来减少LL 的值。
    • 例如:对于常数因子 nn,可以将 LL 设置为256n \frac{256}{n}
  • 构建不同的共生矩阵

    • 通过使用不同的距离 dd 和方位角α\alpha 的组合,可以构建不同的共生矩阵。
  • 单独的共生矩阵不足以直接作为纹理描述符

    • 共生矩阵本身并不能提供可以轻松用作纹理描述符的纹理测量。
  • 进一步提取特征值

    • 需要从共生矩阵中进一步提取信息,作为一组特征值,例如Haralick描述符。

这些步骤和优化方法旨在提高GLCMs的计算效率,并确保从中提取的特征值能够准确地描述图像纹理。

步骤2:从GLCMs中计算Haralick描述符

对于给定的距离 ( d ) 和方位角 ( \alpha ),每个GLCM计算一组Haralick描述符。

一些常见的Haralick特征描述符及其计算公式,包括:

  1. 角二阶矩(Angular Second Moment, ASM)

    f1=ij[p(i,j)]2f_1 = \sum_i \sum_j \left[ p(i,j) \right]^2
  2. 对比度(Contrast)

    f2=n=0Ng1n2{i=1Ngj=1Ngp(i,j)ij=n}f_2 = \sum_{n=0}^{N_g-1} n^2 \left\{ \sum_{i=1}^{N_g} \sum_{j=1}^{N_g} p(i,j) \cdot |i-j| = n \right\}
  3. 相关性(Correlation)

    f3=ij(iμi)(jμj)p(i,j)σiσjf_3 = \sum_i \sum_j \frac{(i-\mu_i)(j-\mu_j)p(i,j)}{\sigma_i \sigma_j}
  4. 方差和(Sum of Squares: Variance)

    f4=ij(iμ)2p(i,j)f_4 = \sum_i \sum_j (i-\mu)^2 p(i,j)
  5. 逆差矩(Inverse Difference Moment, IDM)

    f5=ijp(i,j)1+(ij)2f_5 = \sum_i \sum_j \frac{p(i,j)}{1 + (i-j)^2}
  6. 总平均(Sum Average)

    f6=i=22Ngipx+y(i)f_6 = \sum_{i=2}^{2N_g} i p_{x+y}(i)
  7. 总方差(Sum Variance)

    f7=i=22Ng(if6)2px+y(i)f_7 = \sum_{i=2}^{2N_g} (i - f_6)^2 p_{x+y}(i)
  8. 总熵(Sum Entropy)

    f8=i=22Ngpx+y(i)logpx+y(i)f_8 = - \sum_{i=2}^{2N_g} p_{x+y}(i) \log p_{x+y}(i)
  9. (Entropy)

    f9=ijp(i,j)logp(i,j)f_9 = - \sum_i \sum_j p(i,j) \log p(i,j)
  10. 差方差(Difference Variance)

    f10=variance of pxy(k)f_{10} = \text{variance of } p_{x-y}(k)
  11. 差熵(Difference Entropy)

    f11=k=0Ng1pxy(k)logpxy(k)f_{11} = - \sum_{k=0}^{N_g-1} p_{x-y}(k) \log p_{x-y}(k)
  12. 信息量测度(Information Measure of Correlation 1)

    f12=HXYHXY1max{HX,HY}f_{12} = \frac{HXY - HXY1}{\max\{HX, HY\}}
  13. 信息量测度(Information Measure of Correlation 2)

    f13=1exp[2.0(HXY2HXY)]f_{13} = \sqrt{1 - \exp\left[ -2.0 \left( HXY2 - HXY \right) \right]}
  14. 最大相关系数(Maximal Correlation Coefficient)

    f14=second largest eigenvalue of Qf_{14} = \sqrt{\text{second largest eigenvalue of } Q}

这些特征可以捕捉图像纹理的不同方面,提供用于图像分析和分类的丰富信息。每个GLCM可以计算出这些描述符,用于描述图像的纹理特征。

应用举例

由于其简单性和可解释性,Haralick特征常常被用于医学影像研究。

示例应用:

  • 研究

    Jensen等人(2019)研究了使用双参数MRI图像提取区域特定特征(包括Haralick特征)来评估前列腺癌的预后Gleason分级组。

  • 步骤

    1. 预处理双参数MRI图像。
    2. 提取Haralick特征、游程长度特征和直方图特征。
    3. 应用特征选择。
    4. 使用KNN分类器进行分类。

图片展示了两个患者的T2W和DWI MRI图像,标注了感兴趣的区域(ROI)。这些图像区域用于提取特征,帮助分类和诊断。

image.png

局部二值模式 Local Binary Patterns, LBP

用于描述图像局部纹理的空间结构。

步骤

  1. 将图像划分为 N×NN \times N 像素的单元格(例如N=16N = 16N=32N = 32)。
  2. 在给定单元格中,将每个像素与其8个邻居像素进行比较。
  3. 如果中心像素值大于邻居像素值,则写入0,否则写入1。
  4. 这为每个像素生成一个8位二进制模式,表示一个范围在0到255之间的值。

示例: 示例图像显示了一个3x3的区域,通过比较,生成的二进制模式为11110000,转换为十进制值为240。

这部分发帖问了,感觉有问题,还不知道结果

image.png

局部二值模式是一种有效的纹理描述方法,广泛应用于图像分类和纹理分析。

构建直方图

步骤

  1. 计算每个8位二进制数在单元格中出现的次数

    • 对每个像素生成的8位二进制模式,统计其在单元格中出现的次数。
  2. 生成256-bin直方图

    • 由于每个8位二进制数可以表示0到255之间的值,所以生成一个包含256个bin的直方图,也称为LBP特征向量。
  3. 合并所有单元格的直方图

    • 将图像中所有单元格的直方图合并,得到图像级的LBP特征描述符。

示例

  • 示例图像中某个3x3区域(绿色阴影部分)的中心像素值为2。
  • 生成的二进制模式为11110000,对应的十进制值为240。
  • 对每个像素都执行类似的操作,得到一组二进制模式及其对应的十进制值。
  • 最终,这些十进制值被用来构建直方图,描述图像的整体纹理特征。

通过这种方法,可以有效地描述图像的局部纹理信息,并将其用于图像分类和纹理分析。

image.png

多分辨率与旋转不变性 multiresolution and rotation-invariant

局部二值模式(Local Binary Patterns, LBP)的多分辨率和旋转不变性:

多分辨率

  • 多分辨率的LBP通过改变中心像素和邻居像素之间的距离,以及改变邻居像素的数量来实现。

图示

  • 左起第一个图示表示 P=4 P=4R=1.0R=1.0 ,其中P表示邻居像素的数量,R表示中心像素与邻居像素之间的距离。
  • 第二个图示表示 P=8P=8R=1.0R=1.0
  • 第三个图示表示 P=12P=12R=1.5R=1.5
  • 第四个图示表示 P=16P=16R=2.0R=2.0
  • 第五个图示表示 P=24P=24R=3.0R=3.0

通过调整这些参数,可以在不同尺度上捕捉图像的纹理特征,从而增强特征的鲁棒性和描述能力。同时,LBP的旋转不变性确保了即使图像旋转,提取的特征也能保持一致,从而提高算法在实际应用中的稳定性。

image.png

如何实现旋转不变性:

旋转不变性

  • 通过位移操作构造8位二进制数,得到最小的数值。

步骤

  1. 对每个生成的8位二进制模式进行位移,得到所有可能的二进制模式。
  2. 找出这些二进制模式中的最小值,作为旋转不变的LBP值。

示例

  • 原始二进制模式:11110000,对应十进制值240。

  • 通过位移得到的其他模式:

    • 11100001 = 225
    • 11000011 = 195
    • 10000111 = 135
    • 00001111 = 15
    • 00011110 = 30
    • 00111100 = 60
    • 01111000 = 120
  • 最小的二进制模式为00001111,对应十进制值15。

这样,通过选择最小的二进制模式,可以实现LBP的旋转不变性,确保即使图像旋转,提取的特征值也能保持一致。

注意

  • 并非所有模式都有8种位移变体,例如11001100只有4种变体。

image.png

如何通过旋转不变性来减少特征维度:

旋转不变性

  • 通过位移操作构造8位二进制数,得到最小的数值,以实现旋转不变性。

效果

  • 这种方法将LBP特征维度从256减少到36。

图示

  • 幻灯片中的图示展示了如何通过旋转不变性减少LBP特征维度。每个二进制模式通过位移生成最小数值,从而减少特征的种类。

通过这种方法,不仅保持了LBP特征的多分辨率特性,还提高了其计算效率和存储效率,同时增强了特征的鲁棒性和描述能力。

image.png

示例

image.png

尺度不变特征变换 Scale-Invariant Feature Transform, SIFT

SIFT特征

  • SIFT特征描述了关键点周围局部区域的纹理。
  • SIFT描述符对各种变换具有不变性。

不变性

  • SIFT描述符在以下情况下保持不变:
    • 缩放(scaling)
    • 旋转(rotation)
    • 仿射变形(affine distortion)
    • 照明变化(illumination changes)

图示

  • 幻灯片中的图片展示了不同情况下的埃菲尔铁塔,包括不同的视角、缩放、旋转和照明条件。
  • 这些图像中的SIFT特征能够识别这些不同条件下的同一对象。

应用

  • 识别相同对象需要对缩放、旋转、仿射变形和照明变化等具有不变性,这使得SIFT在图像匹配和计算机视觉应用中非常强大。

image.png

算法概述

  1. 尺度空间极值检测(Scale-Space Extrema Detection)

    • 在不同尺度的差分高斯(DoG)图像中寻找极大值和极小值。
  2. 关键点定位(Keypoint Localization)

    • 丢弃低对比度的关键点,消除边缘响应。
  3. 方向分配(Orientation Assignment)

    • 通过方向分配实现旋转不变性。
  4. 关键点描述(Keypoint Descriptor)

    • 计算梯度方向直方图。

尺度空间极值检测(Scale-Space Extrema Detection)

  1. 高斯模糊

    • 图像 I(x,y)I(x, y) 与不同尺度的高斯滤波器 G(x,y,σ)G(x, y, \sigma) 进行卷积,得到尺度空间图像 L(x,y,σ)L(x, y, \sigma)
      L(x,y,σ)=I(x,y)G(x,y,σ) L(x, y, \sigma) = I(x, y) * G(x, y, \sigma)
  2. 差分高斯(DoG)图像

    • 通过相邻尺度空间图像之差,得到差分高斯图像 D(x,y,σ)D(x, y, \sigma)
      D(x,y,σ)=L(x,y,kσ)L(x,y,σ) D(x, y, \sigma) = L(x, y, k\sigma) - L(x, y, \sigma)
    • 其中 kk 是相邻尺度之间的固定因子。
  3. 寻找极值

    • 在不同尺度的DoG图像中寻找极大值和极小值,作为关键点候选。

image.png

关键点定位(Keypoint Localization)

  1. 使用3D二次曲面拟合

    • 在尺度空间中使用三维二次曲面拟合来获得子像素级的最佳值。
  2. 使用Hessian分析拒绝低对比度和边缘点

    • 拒绝低对比度的关键点。
    • 拒绝边缘响应点。
  • 左图显示了从尺度空间极值检测中初步找到的关键点。
  • 中图显示了拒绝低对比度点后的关键点。
  • 右图显示了拒绝边缘点后的最终关键点。

image.png

方向分配(Orientation Assignment)

  • 使用局部梯度向量估计关键点的方向。

步骤

  1. 创建局部梯度向量的方向直方图

    • 在关键点周围的局部区域计算梯度方向,并将其放入方向直方图中。
  2. 找到直方图的主峰值

    • 直方图的主峰值对应于该区域的主导方向。
  3. 为第二高峰值创建额外的关键点(如果其值大于80%)

    • 如果直方图中第二高的峰值超过主峰值的80%,则为该方向创建额外的关键点。

image.png

关键点描述(Keypoint Descriptor)

关键点描述符

  • 使用128维特征向量表示每个关键点。

步骤

  1. 创建4x4的梯度直方图数组

    • 在关键点周围的局部区域,将其划分为4x4的网格。
    • 每个网格计算一个梯度方向直方图,并按梯度幅度加权。
  2. 每个梯度方向直方图包含8个bin

    • 每个网格的梯度方向直方图有8个bin,用于捕捉不同方向的梯度信息。
  3. 总共4x4个网格,每个网格8个bin,总计128个维度

    • 这形成一个128维的特征向量,用于描述关键点的局部特征。

图示

  • 左图显示了关键点周围区域的4x4网格划分。
  • 右图显示了每个网格内的梯度方向直方图。

image.png

这种方法能够有效地捕捉关键点周围的局部特征,并在后续的图像匹配和识别中发挥重要作用。

描述符匹配 Descriptor matching

描述符匹配

  • 使用最近邻距离比(NNDR)进行匹配。

NNDR公式

NNDR=d1d2=DADBDADC\text{NNDR} = \frac{d_1}{d_2} = \frac{\|D_A - D_B\|}{\|D_A - D_C\|}
  • d1d_1 是到第一个最近邻的距离。
  • d2d_2 是到第二个最近邻的距离。
  • DAD_ADBD_BDCD_C 分别表示描述符向量。

步骤

  1. 计算关键点描述符在128维特征空间中的最近邻距离 d1d_1 和次最近邻距离 d2d_2
  2. 计算NNDR值。
  3. 拒绝NNDR大于0.8的匹配。

图示

  • 右侧图示展示了描述符在特征空间中的位置关系,说明了如何计算 d1d_1d2d_2

通过这种方法,可以有效地过滤掉错误匹配,提高图像匹配的准确性和鲁棒性。

示例

image.png

image.png

image.png


image.png

image.png

image.png

空间转换类型 Types of Spatial Transformation

image.png

空间坐标变换 Spatial Coordinate Transformation

这张幻灯片介绍了几种空间坐标变换方式:

  1. 缩放(Scale)

    [xy]=[sx00sy][xy]\begin{bmatrix} x' \\ y' \end{bmatrix} = \begin{bmatrix} s_x & 0 \\ 0 & s_y \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix}
  2. 剪切(Shear)

    [xy]=[1rxry1][xy]\begin{bmatrix} x' \\ y' \end{bmatrix} = \begin{bmatrix} 1 & r_x \\ r_y & 1 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix}
  3. 旋转(Rotate)

    [xy]=[cosαsinαsinαcosα][xy]\begin{bmatrix} x' \\ y' \end{bmatrix} = \begin{bmatrix} \cos \alpha & -\sin \alpha \\ \sin \alpha & \cos \alpha \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix}
  4. 平移(Translate)

    [xy]=[10tx01ty][xy1]\begin{bmatrix} x' \\ y' \end{bmatrix} = \begin{bmatrix} 1 & 0 & t_x \\ 0 & 1 & t_y \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix}
  5. 仿射(Affine)

    [xy1]=[abcdef001][xy1]\begin{bmatrix} x' \\ y' \\ 1 \end{bmatrix} = \begin{bmatrix} a & b & c \\ d & e & f \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix}
  6. 透视(Perspective)

    [xyw]=[abcdefghi][xyw]\begin{bmatrix} x' \\ y' \\ w' \end{bmatrix} = \begin{bmatrix} a & b & c \\ d & e & f \\ g & h & i \end{bmatrix} \begin{bmatrix} x \\ y \\ w \end{bmatrix}

拟合与对齐 Fitting and Alignment

最小二乘拟合

  • 找到变换 ( T ) 的参数 ( \mathbf{p} ),使得平方误差 ( E ) 最小化:
    E=iT(xi;p)xi2E = \sum_i \|T(x_i; \mathbf{p}) - x'_i\|^2

示例:仿射变换

  • 对于坐标 ((x_i, y_i)) 到 ((x'_i, y'_i)) 的仿射变换:
    [xy1]=[abcdef001][xy1]\begin{bmatrix} x' \\ y' \\ 1 \end{bmatrix} = \begin{bmatrix} a & b & c \\ d & e & f \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix}
  • 转换为线性方程组:
    Ap=b\mathbf{A} \mathbf{p} = \mathbf{b}
    其中:
    A=[x1y11000000x1y11xnyn1000000xnyn1],p=[abcdef],b=[x1y1xnyn]\mathbf{A} = \begin{bmatrix} x_1 & y_1 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & x_1 & y_1 & 1 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ x_n & y_n & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & x_n & y_n & 1 \\ \end{bmatrix} , \quad \mathbf{p} = \begin{bmatrix} a \\ b \\ c \\ d \\ e \\ f \\ \end{bmatrix} , \quad \mathbf{b} = \begin{bmatrix} x'_1 \\ y'_1 \\ \vdots \\ x'_n \\ y'_n \\ \end{bmatrix}

求解参数

  • 通过最小二乘解法求解参数 (\mathbf{p}):
    p=(ATA)1ATb\mathbf{p} = (\mathbf{A}^T \mathbf{A})^{-1} \mathbf{A}^T \mathbf{b}

通过这些步骤,可以找到使变换误差最小的参数,用于图像中的关键点对齐和匹配。

RANSAC拟合

  • 最小二乘拟合容易受到离群点的影响
  • 需要某种离群点检测和排除的方法
  • 更好的方法是使用数据的一个子集并检查内点的一致性
  • RANSAC以迭代的方式执行此操作以找到最优解

步骤

  1. 随机选择一个数据子集。
  2. 使用这个子集估计模型参数。
  3. 计算所有数据点与估计模型的拟合程度,确定内点(与模型拟合良好的点)。
  4. 如果内点的数量超过某个阈值,重新估计模型参数。
  5. 重复上述步骤,直到达到迭代次数或内点数满足条件。

通过这种方法,RANSAC能够有效地排除离群点,找到稳健的模型参数。

image.png

image.png

image.png

image.png

image.png

考试例题

Which one of the following statements about feature descriptors is incorrect?

A. Haralick features are derived from gray-level co-occurrence matrices.

B. SIFT achieves rotation invariance by computing gradient histograms at multiple scales.

C. LBP describes local image texture and can be multiresolution and rotation-invariant.

D. Colour moments have lower representation capability than the colour histogram.

相关信息

不正确的陈述是:

B. SIFT通过在多个尺度上计算梯度直方图来实现旋转不变性。

解释:

  • 陈述A: Haralick特征确实是从灰度共现矩阵(GLCMs)中得出的,所以这个陈述是正确的。

  • 陈述B: 这个陈述是不正确的,因为SIFT实现旋转不变性不是通过在多个尺度上计算梯度直方图,而是通过基于关键点周围的局部图像梯度方向和幅度为每个关键点分配一个方向。SIFT的尺度不变性是通过使用高斯差分(DoG)在多个尺度上检测关键点来实现的。

  • 陈述C: 局部二值模式(LBP)确实描述了局部图像纹理,并且可以实现多分辨率和旋转不变性,所以这个陈述是正确的。

  • 陈述D: 颜色矩通常具有比颜色直方图更低的表示能力,颜色直方图能够捕捉图像中色彩分布的更多详细信息。因此,这个陈述也是正确的。

本文作者:Jeff Wu

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!