【第五章:计算机视觉-项目实战之图像分类实战】1.经典卷积神经网络模型Backbone与图像-(7)细粒度分类理论
第五章:计算机视觉(Computer Vision)-项目实战之图像分类
第一部分:经典卷积神经网络模型 Backbone 与图像
第七节:细粒度分类理论
1. 什么是细粒度分类?
细粒度分类(Fine-grained Image Classification, FGIC)是图像分类中的一个重要分支,它的目标是:
在同一大类的图像中,区分更加精细的子类别。
例如:
粗粒度分类:区分“猫 vs 狗 vs 鸟”
细粒度分类:在“鸟”这一大类中,进一步区分“麻雀、翠鸟、鹰、鸽子”等具体物种
这类任务的难点在于:
类间差异(不同类别之间的区别)非常小
类内差异(同一类别内部的差别)可能很大(如同一物种的鸟,姿态、光照、拍摄角度不同)
2. 细粒度分类的挑战
高相似度类别之间的区分困难
例如两种外观非常相似的鸟类,仅仅是羽毛颜色有细微不同。
类内差异大
同一类别的对象可能由于 姿态变化、背景复杂、光照条件 而显得差异巨大。
数据标注困难
细粒度分类需要专家级标注(如鸟类学家),标注成本高。
局部细节的重要性
粗粒度分类依赖全局特征,而细粒度分类往往需要关注关键部位(如鸟的喙、翅膀,汽车的车灯、轮毂)。
3. 细粒度分类的研究思路
细粒度分类的研究通常围绕以下方向:
(1)基于局部区域的注意力机制
利用注意力机制(Attention)或局部检测,定位关键部位(如鸟喙、翅膀),提升辨别力。
常见方法:Part-based R-CNN、Attention Map
(2)基于层次化分类
先进行粗粒度分类(如鸟 vs 狗),再在细分大类下进行子类分类(如麻雀 vs 燕子)。
树状层次结构能减少类别混淆。
(3)基于特征增强与对比学习
使用对比学习(Contrastive Learning)区分相似类别。
通过特征增强(Feature Enhancement)提升模型在细微差异上的敏感度。
(4)基于 Transformer 的全局建模
Vision Transformer(ViT)与 Swin Transformer 等结构更擅长全局建模,能结合 局部细节 + 全局上下文 提升细粒度分类性能。
4. 典型数据集
细粒度分类常用的数据集包括:
CUB-200-2011:鸟类数据集,包含 200 种鸟类,约 12k 张图片
Stanford Dogs:120 种狗的细粒度分类,约 20k 张图片
Stanford Cars:196 种车型,约 16k 张图片
FGVC-Aircraft:100 种飞机,约 10k 张图片
这些数据集通常类别数量多,样本量有限,难度较高。
5. 评估指标
细粒度分类任务与一般图像分类相同,常用指标包括:
Top-1 准确率(Accuracy)
Top-5 准确率(Top-5 Accuracy)
在小样本学习(Few-shot Learning)任务中,还会使用 平均类别准确率(Mean Class Accuracy, MCA)
6. 应用场景
自然科学研究:鸟类、植物、昆虫等物种识别
工业检测:区分不同型号、批次的零部件
医疗图像:细分病灶类型(如不同类型的皮肤病)
电商与推荐:商品的精细化分类(如不同款式的鞋子)
7. 小结
细粒度分类是图像分类的深化任务,核心挑战是 类间相似度高、类内差异大
研究主要围绕 关键区域定位、层次化分类、特征增强、Transformer 建模
广泛应用于科学研究、工业检测、医疗诊断等领域