- 引言:为什么需要图像特征表示?
- 传统手工设计特征:从浅层到中层的探索
- 深度学习驱动的特征表示:革命性的范式转移
- 特征表示的比较与应用场景
- 总结与未来趋势
引言:为什么需要图像特征表示?
在计算机眼中,一张图像就是一个由像素值组成的巨大矩阵(一张 1024x1024 的 RGB 图像就是一个 1024x1024x3 的三维数组),直接处理这些原始像素数据是极其低效且困难的,因为:

- 维度灾难:数据维度太高,计算和存储成本巨大。
- 冗余性:像素之间存在大量空间和相关性上的冗余。
- 不变性差:原始像素对光照、旋转、尺度、视角等变化非常敏感,两张内容相同但拍摄条件不同的图像,其像素矩阵可能天差地别。
图像特征表示的核心目标就是:从原始像素数据中提取出具有信息量、紧凑、且对特定变换(如光照、旋转)具有一定不变性的描述子,一个好的特征表示应该能够:
- 区分性:能够有效地区分不同类别的物体或场景。
- 鲁棒性:对图像的无关变化(如光照、噪声、轻微形变)不敏感。
- 紧凑性:用低维向量表示丰富的图像信息,便于后续处理(如分类、检索)。
- 可计算性:能够通过高效的算法计算得到。
传统手工设计特征
在深度学习兴起之前,研究者们主要通过领域知识来设计和手工提取特征,这些特征大致可以分为三类:底层特征、中层特征和全局特征。
a. 底层特征
这类特征直接从像素的局部邻域中计算得出,描述的是图像最基本的视觉属性,如颜色、纹理、边缘等。
-
颜色特征:
(图片来源网络,侵删)- 描述:统计图像的颜色分布信息。
- 方法:颜色直方图(Color Histogram)、颜色矩(Color Moments)、颜色集(Color Set)。
- 优点:计算简单,对旋转和尺度变化不敏感。
- 缺点:只包含颜色分布信息,丢失了空间结构信息。
-
纹理特征:
- 描述:图像中局部区域像素灰度级或颜色的重复模式和排列规则。
- 方法:
- 灰度共生矩阵:通过计算图像中灰度级空间相关性来提取纹理特征。
- 局部二值模式:通过比较中心像素与邻域像素的大小关系来描述局部纹理,计算高效,对光照变化有一定鲁棒性。
- 优点:能有效描述图像的表面质感。
- 缺点:难以描述复杂的、大范围的纹理结构。
-
形状/边缘特征:
- 描述:物体的轮廓和边界信息。
- 方法:
- 边缘检测算子:Sobel, Canny, Laplacian 等,用于提取图像的边缘。
- 轮廓特征:如 Hu 矩,对图像的平移、旋转和尺度变化具有不变性,常用于形状识别。
- 优点:形状是物体的重要视觉属性。
- 缺点:对噪声敏感,且需要先进行分割才能得到准确的轮廓。
b. 中层特征 / 词汇包模型
为了克服底层特征缺乏语义信息的问题,研究者提出了中层特征模型,最具代表性的是 SIFT (Scale-Invariant Feature Transform) 及其变种。
-
SIFT (尺度不变特征变换):
(图片来源网络,侵删)- 描述:一种极其经典的局部特征描述子,它通过在尺度空间中寻找极值点来检测关键点,然后为每个关键点计算一个 128 维的特征向量。
- 优点:
- 尺度不变性:通过构建高斯差分尺度空间实现。
- 旋转不变性:通过关键点邻域的主方向来描述。
- 光照不变性:对光照变化具有很强的鲁棒性。
- 缺点:计算复杂度高,对快速运动和模糊效果较差。
-
SURF (Speeded-Up Robust Features):
- 描述:SIFT 的加速版,使用积分图像和盒子滤波器,速度更快,性能与 SIFT 相当。
-
词袋模型:
- 描述:一种将图像表示为“视觉词汇”统计直方图的方法,其流程类似于文本处理:
- 特征提取:从所有图像中提取大量 SIFT/SURF 等局部特征。
- 视觉词典构建:对所有局部特征进行聚类(如 K-Means),每个聚类中心就是一个“视觉单词”。
- 图像表示:将一张图像中的所有局部特征“量化”到最近的视觉单词,然后统计每个单词出现的频率,形成图像的直方图表示。
- 优点:将图像表示为一个固定长度的向量,非常适合用于分类(如 SVM)和检索。
- 缺点:丢失了特征的空间位置关系。
- 描述:一种将图像表示为“视觉词汇”统计直方图的方法,其流程类似于文本处理:
c. 全局特征
- GIST (Gestalt-like Image Descriptor):
- 描述:通过滤波器组(如 Gabor 滤波器)对图像进行多尺度、多方向的滤波,然后将所有滤波器的响应值拼接成一个向量,表示整个场景的“感知”信息。
- 应用:非常适合场景分类和图像检索。
传统方法的总结:
- 优点:计算效率高,模型轻量,在某些特定任务上表现良好。
- 缺点:依赖专家知识,特征设计费时费力;泛化能力差,为特定任务设计的特征难以迁移到其他任务;表达能力有限,难以捕捉图像中复杂、抽象的语义信息。
深度学习驱动的特征表示
深度学习的出现彻底改变了图像特征表示的方式,其核心思想是:让数据自己学习特征,通过构建深层神经网络,从原始像素端到端地学习到具有强大区分能力和鲁棒性的特征表示。
a. 卷积神经网络 的特征表示
CNN 是当前图像特征表示的绝对主流,其强大的特征学习能力主要体现在以下几个方面:
- 特征层次化:CNN 的层越深,提取的特征越抽象。
- 浅层网络:学习到颜色、边缘、纹理等低级视觉特征。
- 中层网络:学习到由边缘和纹理组合而成的局部部件(如眼睛、车轮)。
- 深层网络:学习到由局部部件组合而成的完整物体或复杂场景的语义概念。
- 卷积与池化:卷积操作实现了参数共享和局部连接,有效提取空间特征;池化操作(如 Max Pooling)引入了平移不变性,并降低了特征维度。
CNN 特征表示的两种主要使用方式:
-
作为固定特征提取器:
- 方法:使用在大型数据集(如 ImageNet)上预训练好的 CNN 模型(如 VGG, ResNet, Inception),在实际应用中,冻结模型的权重,将输入图像送入网络,然后从某个或某几个中间层(通常是全连接层之前的最后一个卷积层)提取出特征向量。
- 优点:简单高效,能够利用在大规模数据上学到的通用视觉知识,即使目标数据量不大也能取得不错的效果。
- 应用:图像分类、细粒度分类、图像检索、迁移学习等。
-
端到端训练:
- 方法:将 CNN 模型作为整个任务(如目标检测、语义分割)的一部分,进行端到端的联合训练,特征表示和最终任务目标一起优化。
- 优点:特征表示完全服务于最终任务,针对性和适应性最强,性能通常更好。
- 应用:目标检测、图像分割、姿态估计等需要像素级或实例级理解的复杂任务。
b. 自监督学习 的特征表示
由于大规模标注数据的获取成本高昂,自监督学习成为近年来的研究热点,它通过设计“代理任务”(Proxy Task),从未标注的数据中学习通用的视觉特征。
- 核心思想:模型通过解决一个它自己生成的监督信号任务来学习有用的特征,如果能很好地解决这个代理任务,说明模型已经学到了图像的内在结构和规律。
- 代表性方法:
- 对比学习:MoCo, SimCLR, BYOL,其核心思想是拉近“正样本对”(如同一张图像的不同数据增强版本)在特征空间中的距离,推远“负样本对”的距离。
- 掩码图像建模:BEiT, MAE,随机遮盖图像中的一部分区域,然后训练模型去预测被遮盖区域的内容,迫使模型学习到完整的视觉表征。
- 优点:无需人工标注,可以从海量无标签数据中学习到媲美甚至超越有监督预训练的特征表示。
- 应用:当标注数据稀缺时的下游视觉任务。
c. Transformer 的特征表示
最初在自然语言处理领域大放异彩的 Transformer,也被成功引入到计算机视觉领域,并展现出强大的潜力。
- 核心思想:利用 自注意力机制 来捕捉图像中全局的、长距离的依赖关系,突破了 CNN 局部感受野的限制。
- 代表性模型:
- ViT (Vision Transformer):将图像分割成一系列不重叠的图像块,然后将这些图像块像单词一样送入标准的 Transformer 编码器进行处理。
- Swin Transformer:在 ViT 基础上引入了层级结构和移位窗口,计算效率更高,并且能更好地融合多尺度信息,已成为许多视觉任务的 SOTA 模型。
- 优点:强大的全局建模能力,擅长捕捉物体间的关系;架构灵活,易于扩展。
- 应用:图像分类、目标检测、语义分割等,并正在向视频、3D 等多模态领域扩展。
特征表示的比较与应用场景
| 特征类别 | 代表性方法 | 优点 | 缺点 | 典型应用场景 |
|---|---|---|---|---|
| 传统手工特征 | 颜色直方图, LBP, SIFT, HOG, GIST | - 计算简单、速度快 - 模型轻量,资源消耗小 - 在特定任务上效果稳定 |
- 依赖专家知识,设计困难 - 泛化能力差 - 表达能力有限,缺乏语义 |
- 资源受限的嵌入式系统 - 简单的图像检索、分类 - 特定工业检测(如 OCR) |
| CNN 固定特征 | ResNet, VGG, Inception (预训练) | - 利用大规模数据学到的通用知识 - 特征区分性强,鲁棒性好 - 实现简单,即插即用 |
- 特征是通用性的,非任务定制 - 依赖预训练数据的质量和规模 |
- 小样本图像分类/检索 - 迁移学习 - 需要快速验证原型的场景 |
| CNN 端到端特征 | Faster R-CNN, Mask R-CNN, U-Net | - 特征与任务高度耦合,性能最优 - 能学习到最抽象、最相关的语义信息 |
- 需要大量标注数据进行训练 - 训练成本高,模型复杂 |
- 目标检测、实例分割 - 语义分割、图像生成 - 复杂的视觉理解任务 |
| 自监督特征 | MoCo, SimCLR, MAE | - 无需标注数据,降低成本 - 能从海量无标签数据中学习强大特征 - 泛化能力强 |
- 代理任务设计复杂 - 训练不稳定,收敛较慢 - 通常需要比监督学习更大的模型和计算量 |
- 标注数据稀缺的领域 - 预训练模型的通用特征库 - 半监督/弱监督学习 |
| Transformer 特征 | ViT, Swin Transformer | - 强大的全局依赖建模能力 - 长距离信息捕获能力强 - 架构灵活,可扩展性好 |
- 对数据量要求极高 - 计算量和内存消耗巨大 - 需要海量数据才能发挥优势 |
- 需要理解全局上下文的任务(如场景图生成) - 大规模数据集上的图像分类 - 作为更复杂视觉任务的骨干网络 |
总结与未来趋势
图像特征的表示方法经历了从“人工设计”到“数据驱动”的范式转移,早期的手工特征凝聚了人类的先验知识,但在复杂性和泛化性上受到限制,以 CNN 为代表的深度学习方法,通过端到端的训练,自动学习层次化的、语义丰富的特征,极大地推动了计算机视觉的发展,而如今,自监督学习和 Transformer 等新技术的出现,正在进一步拓宽特征表示的边界,使其在更少监督、更全局关联的维度上进化。
未来趋势:
- 多模态融合:未来的特征表示将不再局限于单一模态(如图像),而是融合文本、声音、3D 点云等多种信息,形成更全面、更丰富的世界表示,CLIP 模型就是图像和文本特征对齐的典范。
- 高效与轻量化:虽然大模型性能强大,但部署成本高,研究如何在保持性能的同时,压缩模型、降低计算量,使其能在移动端和边缘设备上运行,是重要方向。
- 可解释性与因果性:深度学习模型常被称为“黑箱”,未来的特征表示研究将更加注重模型的可解释性,并尝试引入因果推理,让模型不仅“知其然”,更“知其所以然”。
- 与认知科学的结合:借鉴人类视觉系统的原理(如注意机制、层级处理),设计更符合认知规律的特征表示方法,是提升模型智能水平的一个潜在途径。
- 持续学习与领域自适应:让模型能够像人一样,不断从新数据中学习新知识,同时不忘记旧知识,并快速适应新的、未见过的领域,是构建通用人工智能的关键一步。
图像特征的表示方法研究是一个持续演进、充满活力的领域,它将继续为计算机视觉乃至人工智能的突破提供核心动力。
