第 11 章 特征提取 (Feature Extraction)

      +

      核心结论

      • 背景(§11.1):特征定义;预处理(归一化 / 边界 / 区域)。

      • 边界预处理(§11.2):链码 / 多边形近似 / 边界标记。

      • 区域特征(§11.3):纹理描述子(灰度共生矩阵 / LBP / Gabor)。

      • 特征关系(§11.4):特征向量相似度度量;特征归一化。

      • PCA / LDA(§11.5):降维 / 监督降维;特征选择。

      • SIFT / SURF / ORB(§11.6):局部特征;现代 CV 标准。

      本章主旨

      本章是 DIP 特征工程——从图像提取可计算的描述子。理解后才能做识别 / 匹配 / 检索的输入特征。

      一、核心概念

      本章围绕 6 个核心概念展开:背景 → 边界预处理 → 区域特征 → 特征关系 → 降维 → 局部特征。

      概念 定义 + 重要性 实现提示

      背景

      特征定义;预处理。

      §11.1;理解特征工程基础。

      边界预处理

      链码 / 多边形近似 / 标记。

      §11.2;形状描述。

      区域特征

      GLCM / LBP / Gabor 纹理描述子。

      §11.3;纹理分类。

      特征关系

      相似度度量;归一化。

      §11.4;特征比较。

      PCA / LDA

      降维 / 监督降维。

      §11.5;特征压缩。

      局部特征

      SIFT / SURF / ORB;现代 CV 标准。

      §11.6;匹配 / 检索。

      二、详细笔记

      2.1 背景 (Background)

      What:特征定义;预处理(归一化 / 边界 / 区域)。

      Why:理解特征工程基础。

      How

      • 特征:图像可计算的描述子(向量)。

      • 预处理:归一化(光照 / 尺度 / 旋转)。

      • 边界 vs 区域:前者描述形状,后者描述纹理 / 颜色。

      When:所有 CV 任务。

      Example:SIFT 128 维描述子;ResNet 2048 维特征。

      2.2 边界预处理 (Boundary Preprocessing)

      What:链码 / 多边形近似 / 边界标记。

      Why:形状描述;字符识别。

      How

      • 链码:8 方向编码边界点(弗里曼链码)。

      • 多边形近似:Douglas-Peucker 算法。

      • 边界标记:边界段 → 数字序列。

      When:形状识别;OCR;医学轮廓。

      Example*:skimage.measure.approximate_polygon

      2.3 区域特征 (Regional Features)

      What:纹理描述子。

      Why:纹理分类;表面缺陷检测。

      How

      • GLCM(灰度共生矩阵):统计像素对的空间关系。

      • LBP(局部二值模式):3×3 邻域阈值 → 二进制码。

      • Gabor 滤波器:多尺度 / 多方向纹理。

      • HOG(方向梯度直方图):SIFT 简化版;行人检测常用。

      When:纹理分类;表面检测。

      Example*:skimage.feature.graycomatrixskimage.feature.local_binary_pattern

      2.4 特征关系 (Feature Relationships)

      What:特征向量相似度度量;归一化。

      Why:特征比较;检索 / 分类。

      How

      • 距离:欧氏 / 城市街区 / 余弦。

      • 相似度:余弦 / 皮尔逊相关系数。

      • 归一化:L1 / L2 / 幂律。

      When:特征匹配;分类;检索。

      Example*:sklearn.metrics.pairwise.cosine_similarity

      2.5 PCA / LDA (Dimensionality Reduction)

      What:PCA(无监督)/ LDA(有监督)。

      Why:特征压缩;可视化;去噪。

      How

      • PCA:找最大方差方向;投影。

      • LDA:类间方差 / 类内方差最大化。

      When:高维特征预处理;分类。

      Example*:sklearn.decomposition.PCAsklearn.discriminant_analysis.LinearDiscriminantAnalysis

      2.6 SIFT / SURF / ORB (Local Features)

      What:局部关键点 + 描述子。

      Why:现代 CV 匹配 / 检索标准。

      How

      • SIFT(2004):DoG 关键点 + 128 维梯度直方图。

      • SURF(2006):Hessian + 64 维;快于 SIFT。

      • ORB(2011):FAST + BRIEF;二值 256 bit;实时。

      • 深度学习:SuperPoint / LoFTR / DINOv2;当前 SOTA。

      When:图像匹配;3D 重建;SLAM。

      Example*:cv2.SIFT_create()cv2.ORB_create(5000)

      三、关键图表

      视觉图表

      图 11-1
      Figure 1. 图 11-1:边界链码示意
      图 11-2
      Figure 2. 图 11-2:SIFT 关键点

      非可视化条目

      非可视化条目(表 / 算法)
      编号 内容摘要

      表 11.1

      局部特征对比(SIFT / SURF / ORB / 深度学习)。

      式 11-1 至 11-30

      GLCM / LBP / SIFT 公式。

      核心公式对照表

      核心公式对照表
      概念 公式

      欧氏距离

      \(d(\mathbf{x}, \mathbf{y}) = \sqrt{\sum_i (x_i - y_i)^2}\)

      余弦相似度

      \(\cos(\mathbf{x}, \mathbf{y}) = \frac{\mathbf{x} \cdot \mathbf{y}}{|\mathbf{x}| |\mathbf{y}|}\)

      GLCM 对比度

      \(\text{Contrast} = \sum_{i,j} (i - j)^2 P(i,j)\)

      LBP

      \(\text{LBP} = \sum_{p=0}^{7} s(g_p - g_c) 2^p,\ s(x) = \begin{cases} 1, & x \geq 0 \\ 0, & x < 0 \end{cases}\)

      四、思维导图

      mindmap
        root((第 11 章 特征提取))
          背景
            特征定义
            预处理
          边界
            链码
            多边形近似
          区域
            GLCM
            LBP
          关系
            距离
            归一化
          降维
            PCA
            LDA
          局部
            SIFT
            SURF
            ORB

      五、重点与易错点

      • 特征工程是 CV 的核心:好特征 > 好算法。

      • 归一化关键:L2 归一化使欧氏距离 = 余弦相似度。

      • LBP 是纹理经典:速度快;纹理分类首选。

      • GLCM 提供多统计量:对比度 / 相关性 / 熵等。

      • SIFT 是局部特征里程碑:尺度 / 旋转不变;现代深度学习更强。

      • PCA vs LDA:PCA 无监督;LDA 有监督(用标签)。

      • 跨章衔接:第 10 章分割输入到本章特征提取;第 12 章分类输入是特征向量;第 7 章 SIFT 等局部特征是基础。