【第五章:计算机视觉-项目实战之图像分类实战】1.经典卷积神经网络模型Backbone与图像-(8)多标签图像分类理论
第五章:计算机视觉(Computer Vision)- 项目实战之图像分类
第一部分:经典卷积神经网络模型 Backbone 与图像
第八节:多标签图像分类理论
1. 多标签图像分类简介
在传统的图像分类任务中,我们通常假设每张图片只属于一个类别(如“猫”或“狗”)。这种任务称为 单标签分类(Single-Label Classification)。
然而在许多实际应用场景中,一张图片往往会同时包含多个语义概念或对象。例如:
一张街景图像可能同时包含“行人”“汽车”“建筑”“交通灯”等多个类别。
一张自然风景图像可能同时被标注为“森林”“湖泊”“蓝天”。
这种任务被称为 多标签分类(Multi-Label Classification)。区别在于:
单标签分类:模型预测的类别是 互斥的(只能选一个)。
多标签分类:模型预测的类别是 非互斥的(可以选多个)。
2. 多标签分类与单标签分类的区别
特征 | 单标签分类 | 多标签分类 |
---|---|---|
输出空间 | Softmax 概率分布(总和为 1) | 独立的 Sigmoid 概率(每类独立 0~1) |
标签形式 | 独热编码(One-hot,例如 [0,0,1,0] ) | 多热编码(Multi-hot,例如 [1,0,1,1] ) |
任务场景 | 猫 vs 狗 vs 马(互斥) | 图像中同时有猫和狗(非互斥) |
损失函数 | 交叉熵损失(Cross Entropy Loss) | 二进制交叉熵损失(Binary Cross Entropy, BCE) |
3. 多标签分类的数学建模
假设数据集有 C 个类别:
单标签分类输出:
多标签分类输出:
其中,向量 ,若第 i 个类别存在,则
,否则
。
模型输出层通常采用 Sigmoid 激活函数:
训练时使用 二进制交叉熵损失(BCE Loss):
4. 多标签分类的评估指标
由于多标签分类涉及多个类别,评价指标比单标签更复杂,常见的指标包括:
准确率(Accuracy)
严格标准:所有标签完全预测正确才算对。
缺点:过于严格,实际应用中不常用。
精确率(Precision)、召回率(Recall)、F1-score
按类别统计:
F1-score 为两者的调和平均,更平衡。
mAP(mean Average Precision)
多标签分类中常用,衡量不同类别下的平均精度。
5. 多标签分类的挑战
类别相关性:不同标签之间可能存在逻辑关系(如“雨伞”和“雨天”常共现),但传统独立 Sigmoid 预测忽略了这种关系。
类别不平衡:部分标签出现频率高(如“天空”),部分标签极少出现(如“彩虹”)。
阈值选择:Sigmoid 输出概率需要设定阈值(如 0.5)来决定是否判为该类,不同类别阈值可能不同。
6. 多标签分类的应用场景
自动图像标注(如相册自动生成标签:人物、风景、美食等)
视频内容理解(多标签描述场景和动作)
医学图像分析(一张 CT 扫描图像可能有多个病灶)
自动驾驶(同一帧画面中检测车道线、红绿灯、行人等)
小结
多标签分类允许一张图片同时属于多个类别,区别于单标签分类。
模型输出层通常用 Sigmoid,损失函数用 BCE Loss。
常用评估指标包括 Precision、Recall、F1 和 mAP。
在实际应用中,标签相关性和类别不平衡是主要挑战。