刚接触深度学习项目时,很多同学会把分类、回归、目标检测和图像分割看成四种并列模型。真正准备数据时才发现,它们的标签格式、模型输出和评价指标差别很大;目标检测里还会同时出现分类损失与回归损失,实例分割的预测结果中又带有类别、框和掩码,概念很容易混在一起。

区分这些任务,可以先问模型要回答什么问题:整张图属于哪一类、某个数值是多少、图中有哪些对象并位于哪里,还是每个像素属于什么区域。本文用同一张果园图片贯穿四类任务,再从标签、输出、损失和评价指标几个角度说明它们如何组合,以及做项目时应该怎样选择。

一、同一张图片可以对应四种任务

假设我们拍摄了一张果园图片,画面里有苹果、树叶、枝干和背景。针对这张图片,可以提出完全不同的问题。

如果只想判断整张图片中的苹果是否发生病害,可以做图像分类。模型输出“健康、早期病害、严重病害”等类别概率,关心的是图片整体属于哪一类。

如果想预测苹果的成熟度分数、糖度或单果重量,可以做回归。模型输出一个或多个连续数值,结果可能是 0.78、12.6 或 185.3,不受离散类别名称限制。

如果要找出画面中的每一个苹果,同时知道它们的位置和类别,就需要目标检测。模型会输出若干边界框,每个框都带有类别和置信度。

如果还要得到苹果的精确轮廓、计算病斑面积或区分树叶与枝干覆盖的像素,就要使用图像分割。模型的判断粒度从整张图或矩形框深入到像素级区域。

这里已经能看出,分类、回归、检测和分割并非严格处在同一层级。分类与回归主要按照目标值是离散类别还是连续数值来划分;检测与分割则描述计算机视觉系统需要输出多少空间信息。

二、分类:回答“它是什么”

图像分类通常接收一张完整图片,输出一个类别概率向量。假设数据集中有健康苹果、苹果黑星病和苹果腐烂三类,模型可能输出 0.08、0.76、0.16,概率最高的类别作为主要预测结果。

分类又分为单标签和多标签。单标签分类假设一张图片只属于一个互斥类别,例如猫、狗或鸟;多标签分类允许一张图片同时具有多个标签,例如“苹果、病斑、遮挡、逆光”。两者的数据组织方式和输出激活函数会有所不同。

分类标注相对简单。最常见的做法是给每张图片提供一个类别编号,或者按类别建立不同文件夹。模型不需要知道对象位于图片哪个位置,因此即使判断“图片中有病害苹果”,也无法直接告诉我们病斑在哪里、画面中一共有几个苹果。

训练分类模型常用交叉熵损失,多标签任务经常使用二元交叉熵。评价时可以看 Accuracy、Precision、Recall、F1,以及类别较多时的 Top-1、Top-5 准确率。类别分布很不均衡时,只看 Accuracy 容易被多数类掩盖。

三、回归:回答“具体数值是多少”

回归任务预测连续数值。输入仍然可以是一张图片,输出却可能是年龄、温度、深度、成熟度、角度或坐标。分类是在有限类别中作选择,回归允许结果落在一个连续范围内。

以苹果成熟度为例,分类可以把样本分为“未成熟、成熟、过熟”,回归则可以输出 0 到 100 的成熟度分数。前者边界清楚,容易解释;后者保留了更细的信息,但标签测量误差也会直接进入训练过程。

回归输出不一定只有一个数字。模型可以同时预测长度、宽度和重量,也可以预测边界框的中心坐标、宽度和高度。目标检测中的位置预测之所以被称为框回归,就是因为这些几何参数属于连续数值。

常用回归损失包括 MSE、MAE、Smooth L1 等。评价指标则有 MAE、MSE、RMSE 和 R2R^2R2。选择指标时要结合业务尺度,例如平均误差 2 克可能很小,平均误差 2 摄氏度在某些设备控制任务中已经无法接受。

四、目标检测:回答“有什么,分别在哪里”

一张图片中可能同时出现多个对象,数量还不固定。目标检测要为每个对象预测类别和位置,常见输出包括边界框坐标、类别编号与置信度。检测结果可以回答“画面里有三个苹果,其中两个健康、一个患病,它们分别位于这些区域”。

检测数据的标注成本高于分类。标注员既要确认类别,还要给每个对象画出边界框。常见框格式包括左上角与右下角坐标,或者中心点坐标加宽高。无论使用哪一种格式,都要确保训练代码、标注工具和数据配置对坐标含义的理解一致。

从任务结构看,目标检测通常同时处理两个问题。类别分支判断候选对象是什么,位置分支预测边界框,因此训练日志里经常同时出现分类损失和框回归损失。有些检测器还会预测对象置信度,或者对边界框分布进行更细的建模。

检测评价不能只看分类准确率。预测框需要与真实框充分重合,类别也要正确,才能算一次有效检测。IoU 用来衡量两个区域的重叠程度,Precision 和 Recall 反映误检与漏检,AP 和 mAP 则综合不同置信度或类别下的检测表现。

五、图像分割:回答“每个像素属于哪里”

矩形框只能给出对象的大致范围。苹果是圆形,病斑形状也不规则,框内往往还包含树叶、枝干和背景。需要精确边界、面积或形状信息时,图像分割更合适。

语义分割会给每个像素分配类别。例如,道路场景中的像素可以被标记为道路、车辆、行人、天空和建筑。同一类别的不同对象共享类别编号,画面里两辆车会被视为同一种语义区域,模型不会主动区分哪部分属于第一辆车。

实例分割既要识别类别,也要区分同类对象。果园里有十个苹果,模型会为每个苹果产生独立掩码,并通常附带类别、置信度和边界框。这使它适合计数、跟踪、尺寸测量和对象级分析。

全景分割会同时处理可数对象与大面积背景区域。车辆、行人等可数对象拥有独立实例编号,道路、天空等区域则以语义类别表示。它追求的是对整张图进行统一、无空缺的像素级理解。

语义分割常用像素级交叉熵、二元交叉熵或 Dice 类损失。常见指标包括 Pixel Accuracy、mIoU 和 Dice。实例分割还需要区分对象实例,通常会使用 Mask AP 等与检测评价相近的指标。

六、四种任务之间怎样组合

分类可以独立存在,也可以成为更复杂视觉任务的一部分。图像分类给整张图一个标签;目标检测则在多个局部区域上判断类别,同时预测每个区域的位置。检测中的框位置通常通过回归得到,所以检测可以粗略理解为“局部分类加位置回归”。

语义分割可以看成密集的像素分类。普通分类只输出一组类别概率,语义分割要为高乘宽范围内的每个像素输出类别,因此模型必须保留更多空间细节。

实例分割进一步结合了对象检测和掩码预测。它既要找到每个对象、判断类别,又要给出精确轮廓。全景分割则把实例级对象与语义背景放入一张统一结果图中。

这些关系说明,任务名称表达的是系统最终要交付什么信息,模型内部可以同时包含多种学习目标。看到训练日志中的 cls loss、box loss 和 mask loss 时,不必把它们当成三个互相冲突的任务,它们往往共同服务于一个检测或实例分割模型。

七、标签格式决定你能训练什么任务

项目早期最容易出现的问题,是先收集了一批数据,后面才发现标签粒度不够。只有图片类别标签的数据可以训练分类模型,却无法凭空得到每个对象的边界框。检测框可以提供对象的大致位置,但很难直接监督精确轮廓。想做分割,通常要准备像素掩码或多边形标注。

回归标签还需要测量依据。模型预测成熟度、温度或距离时,真实值必须来自可靠设备或统一标准。若不同标注人员按照主观感受填写分数,标签噪声可能比模型差异更大。

标注越细,成本通常越高。整图分类最快,边界框标注需要逐个对象操作,像素级分割还要描绘精确边缘。任务选择应从最终需求出发,避免为了追求更复杂的模型而收集用不到的精细标签,也要防止后期发现关键信息没有标注。

同一份原始图片可以派生出多种标签,但训练集、验证集和测试集必须保持一致的划分逻辑。尤其是视频抽帧、连续拍摄和同一对象多角度图片,需要防止相似样本跨集合造成数据泄漏。

八、损失函数和指标为什么不能混用

损失函数负责训练,评价指标负责衡量结果。分类模型优化类别预测,回归模型缩小连续数值误差;检测和分割同时处理多个目标,所以它们的总损失常由多个部分加权组成。

不同任务中的同名指标也可能含义不同。分类 Accuracy 统计样本类别是否预测正确,像素准确率统计分割图中有多少像素分类正确。背景像素占比很高时,分割模型即使漏掉小目标,也可能获得较高的像素准确率,因此还要结合 mIoU 或 Dice。

检测中的 mAP 需要同时考虑类别、置信度排序和定位质量,不能拿分类 Accuracy 直接替代。实例分割的 Mask AP 使用掩码重叠关系评价轮廓,也不能只看边界框 AP。

比较实验前要先确定任务和主要指标。模型在某项辅助损失上更低,并不能直接推出最终效果更好。验证集指标、典型错误样本和真实使用成本应该一起分析。

九、实际项目应该怎样选择

如果每张图片只需要一个整体结论,例如判断产品是否合格、叶片属于哪种病害,先考虑分类。图片中即使有多个对象,只要最终业务只关心整图标签,也没有必要增加检测标注成本。

输出目标是连续数值,例如估计年龄、深度、角度、长度或质量,可以使用回归。连续数值最终若要转成等级,还要根据业务要求设置阈值,不能仅凭模型输出自动决定分档标准。

需要知道对象数量和大致位置时,选择目标检测。仓库计数、缺陷定位、交通目标识别等任务通常以边界框为主要结果,矩形范围已经能够满足后续处理。

需要精确轮廓、面积、形状或像素级场景理解时,选择分割。只关心每个像素的语义类别可采用语义分割,需要区分同类对象则采用实例分割,同时覆盖背景区域和对象实例时可以考虑全景分割。

任务也可以串联或联合训练。先检测感兴趣区域,再做精细分割;用分类模型筛选图片,再对少量重点样本运行检测;同时预测类别和连续属性,都是常见工程方案。最合适的任务定义,应当让模型输出与最终使用方式直接对接。

结语

分类回答整张图或一个样本“属于哪一类”,回归预测连续数值,目标检测寻找多个对象并给出类别与位置,图像分割则把判断细化到像素级。它们之间存在明确组合关系:检测通常包含类别判断和框回归,语义分割相当于密集像素分类,实例分割还会结合对象检测与掩码预测。确定项目任务时,先写清楚最终需要类别、数值、边界框还是精确轮廓,再决定标注方式、模型输出和评价指标,后续的数据准备与训练流程才不会走偏。

项目咨询

如果你正在做深度学习毕设、模型训练或论文实验,遇到选题、数据集、代码调试、模型改进、论文写作等问题,可以通过评论或私信咨询主包。

更多推荐