一、图像分割基础认知

(一)核心定义

图像分割是深度学习在计算机视觉领域的重要任务,核心目标是预测目标轮廓,本质是对图像中每一个像素进行细粒度分类,将不同属性的像素划分到对应类别,实现从 “整图识别” 到 “像素级区分” 的突破。

(二)应用场景

图像分割的应用覆盖多个行业,具体场景如下:

  • 人像抠图:影视后期、电商修图、视频会议虚拟背景等场景中,精准分离人物与背景。
  • 医学组织提取:辅助医疗诊断,如 CT/MRI 图像中分割肿瘤、器官(如肝脏、肺部),帮助医生定位病变区域。
  • 遥感图像分析:农业领域识别作物分布、灾害评估中划分受灾区域,国土规划中区分土地利用类型(耕地、建筑用地等)。
  • 自动驾驶:实时分割道路、行人、车辆、交通标识等元素,为车辆决策提供环境感知依据。
  • 材料图像分析:工业检测中识别材料内部缺陷(如金属裂纹、复合材料分层),保障产品质量。

(三)前景与背景分类

图像分割中,场景元素按 “可数性” 分为两类,构成分割任务的基础框架:

类别 定义 示例
物体(Things) 可数的前景目标,具有明确的个体边界和独立属性 行人、车辆、动物、单个建筑物
事物(Stuff) 不可数的背景区域,通常为连续的场景元素,无明确个体区分 天空、草地、路面、森林(整体)

二、图像分割的 “三层境界”

根据分割精度和目标的不同,图像分割可分为三个层次,从基础到复杂逐步递进:

(一)语义分割(Semantic Segmentation)

  • 核心目标:对图像中每个像素分配一个语义类别标签(如 “猫”“狗”“天空”“道路”),不区分同一类别的不同个体。
  • 关键特点:每个像素仅属于一个类别,输出结果为 “语义掩膜”(Mask),掩膜中相同颜色 / 数值代表同一类别。
  • 示例:在街景图中,将所有车辆像素标为 “红色”,所有行人像素标为 “蓝色”,不区分 “车辆 1” 和 “车辆 2”。

(二)实例分割(Instance Segmentation)

  • 核心目标:不仅区分语义类别,还需区分同一类别的不同个体(即 “实例”),同时输出目标的边框(Bounding Box)和个体 ID。
  • 关键特点:同一类别下的不同个体有独立标签,单个像素可属于多个实例 ID(如重叠目标的边缘像素),仅关注 “前景目标”(Things),忽略背景(Stuff)。
  • 示例:在包含 3 只猫的图像中,分别为 3 只猫分配 ID1、ID2、ID3,输出每只猫的边框和对应的像素掩膜,不处理背景的 “地板”“墙壁”。

(三)全景分割(Panoptic Segmentation)

  • 核心目标:融合语义分割和实例分割的优势,对图像中所有元素(前景 + 背景) 进行分割,既区分语义类别,又区分前景实例。
  • 关键特点:每个像素同时拥有 “语义类别标签” 和 “实例 ID”(背景区域的实例 ID 可统一为 “0” 或 “无”),实现 “全景覆盖”。
  • 示例:街景图中,不仅区分 “车辆(ID1/ID2)”“行人(ID3/ID4)”,还区分 “天空(语义标签:天空,实例 ID:0)”“道路(语义标签:道路,实例 ID:0)”,实现全场景像素的精准分类。

三、图像分割核心数据集

数据集是模型训练和评估的基础,不同数据集针对不同场景设计,以下为三大主流数据集:

(一)VOC 数据集(PASCAL Visual Object Classes)

  • 定位:世界级计算机视觉挑战赛数据集,是图像分割领域的 “基准数据集” 之一。
  • 类别划分
    • 共 4 大类(Household、Animals、Person、Vehicles),细分为 20 小类(如猫、狗、汽车、自行车、行人等)。
  • 数据规模
    • VOC 2007:9963 张图片,包含 24640 个标注目标;
    • VOC 2012:23080 张图片,包含 54900 个标注目标;
    • 分割专用标注:共 2913 张图,其中 1464 张训练图、1449 张验证图。
  • 标注任务:从 2007 年起支持语义分割实例分割标注,提供 SegmentationClass(语义掩膜)、SegmentationObject(实例掩膜)等标注文件。

(二)Cityscape 数据集

  • 定位:专注于城市场景的分割数据集,适合自动驾驶、街景分析等任务。
  • 数据特点:涵盖 50 个城市在春、夏、秋三季,不同时间段(白天 / 黄昏)、不同场景(市区 / 郊区 / 高速)的街景图,场景多样性强。
  • 类别划分:共 30 个类别,按功能分为 flat(道路、人行道)、human(行人、骑行者)、vehicle(汽车、卡车、公交车)、construction(建筑物、围墙)、object(交通标识、路灯)、nature(植被、地形)、sky(天空)、void(无意义区域)8 大组。
  • 数据规模
    • 精细标注图像:5000 张(2975 张训练图、500 张验证图、1525 张测试图);
    • 粗略标注图像:20000 张(用于半监督训练或数据增强)。
  • 标注任务:支持语义分割实例分割,标注精度高(像素级细标)。

(三)COCO 数据集(Common Objects in Context)

  • 定位:以 “场景理解” 为核心,聚焦复杂日常场景,适合训练具有强泛化能力的分割模型。
  • 数据特点:图像多包含 “多目标重叠”“背景复杂”“视角多样” 等真实场景特征,避免单一 “标志性目标 / 场景”(如单独的猫、简单的房间),更贴近实际应用。
  • 类别划分:共 91 类,以 “人类 4 岁小孩可辨识” 为标准,其中 82 类有超过 5000 个实例(保证数据充足性),涵盖日常物体(如苹果、沙发)、动物(如鸟、马)、场景元素(如桌子、椅子)等。
  • 核心优势:数据场景复杂度高,训练出的模型在真实世界应用中泛化能力更强,同时支持目标检测、分割、关键点检测等多任务。

四、语义分割评估指标

评估指标用于量化分割模型的性能,核心指标围绕 “像素分类准确性” 和 “类别匹配度” 设计:

(一)基础精度指标

  1. 逐像素精度(Pixel Accuracy, PA)

    • 定义:正确分类的像素数 / 总像素数,反映模型整体的像素分类准确率。
    • 公式:PA=∑i=0k−1​∑j=0k−1​pij​∑i=0k−1​pii​​(其中k为类别数,pii​为类别i被正确分类的像素数,pij​为类别i被错误分类为j的像素数)。
    • 局限:受 “类别不平衡” 影响大,若背景像素占比极高(如天空占 90%),即使前景分类全错,PA 也可能很高。
  2. 平均像素精度(Mean Pixel Accuracy, MPA)

    • 定义:先计算每个类别的像素准确率(该类正确分类像素数 / 该类总像素数),再对所有类别取平均值。
    • 优势:解决类别不平衡问题,能反映模型对 “小众类别”(如小目标)的分类能力。

(二)交并比相关指标

  1. 交并比(Intersection over Union, IoU)

    • 定义:又称 “Jaccard 系数”,计算模型预测掩膜与真实掩膜的交集面积 / 并集面积,衡量目标区域的匹配度。
    • 公式:IoU=UnionIntersection​(Intersection 为预测与真实掩膜重叠区域,Union 为预测与真实掩膜覆盖的总区域)。
    • 意义:是分割任务的 “核心指标”,IoU 越高,说明预测区域与真实目标越吻合,尤其适合评估前景目标的分割精度。
  2. 平均交并比(mean IoU, mIoU)

    • 定义:计算每个类别的 IoU,再对所有类别取平均值,是语义分割任务中最常用的综合指标。
    • 优势:同时考虑 “类别内准确性” 和 “类别间区分度”,不受类别不平衡影响,能全面反映模型性能。
  3. 加权平均交并比(Frequency Weighted IoU, FWIoU)

    • 定义:以每个类别的像素占比为权重,对所有类别的 IoU 进行加权求和。
    • 公式:FWIoU=∑i=0k−1​∑j=0k−1​pij​∑i=0k−1​(∑j=0k−1​pij​)×IoUi​​(其中(∑j=0k−1​pij​)为类别i的总像素数,即权重)。
    • 适用场景:关注 “占比高的类别”(如背景或主要前景目标)的任务,如自动驾驶中 “道路” 类别的分割精度。

五、图像分割网络核心模块与转置卷积

(一)网络核心架构

图像分割网络的核心是 “编码器 - 解码器” 结构,由两大模块组成:

  1. 卷积模块(编码器)

    • 功能:通过卷积层提取图像的抽象特征,通过池化层(如 Max Pooling)缩小特征图尺寸,逐步增加感受野(覆盖更大的图像区域),捕捉全局信息。
    • 过程:输入图像(如 224×224)→ 多次卷积 + 池化 → 输出小尺寸高维特征图(如 28×28),完成 “从像素到特征” 的转换。
  2. 反卷积模块(解码器)

    • 功能:通过 “上采样” 操作(如反卷积、Unpooling)将编码器输出的小尺寸特征图恢复到原图尺寸,同时结合编码器的中间特征(跳连接,Skip Connection)补充细节信息,最终输出与原图尺寸一致的分割掩膜。
    • 过程:小尺寸特征图(如 28×28)→ 多次反卷积 + 上采样 → 输出分割掩膜(如 224×224),完成 “从特征到像素标签” 的转换。

(二)转置卷积(反卷积)详解

转置卷积是解码器实现 “上采样” 的核心操作,本质是 “卷积的逆过程”,用于扩大特征图尺寸,其与普通卷积的对比和实现如下:

1. 普通卷积(下采样)
  • 输入与输出:以典型参数为例,输入 4×4 特征图,使用 3×3 卷积核,步长 1,无填充(Padding=0),输出 2×2 特征图(尺寸计算公式:Output_size=StrideInput_size−Kernel_size​+1)。
  • 计算逻辑:卷积核在输入特征图上滑动,每个滑动窗口内的像素与卷积核元素相乘后求和,得到输出特征图的一个像素,实现 “信息压缩”。
  • 矩阵视角:可将输入特征图展平为 16×1 向量,卷积核转换为 4×16 稀疏矩阵(仅对应滑动窗口位置有值),输出为 4×1 向量(展平为 2×2 特征图),即Y=Wconv​×X(Y为输出,Wconv​为卷积稀疏矩阵,X为输入)。
2. 转置卷积(上采样)
  • 输入与输出:与上述普通卷积对应,输入 2×2 特征图,使用 3×3 转置卷积核,步长 1,无填充,输出 4×4 特征图(尺寸计算公式:Output_size=(Input_size−1)×Stride+Kernel_size)。
  • 计算逻辑:将输入特征图的每个像素 “扩展” 为卷积核大小的区域,通过转置卷积核的权重加权求和,填补像素间隙,实现 “信息还原”。
  • 矩阵视角:输入特征图展平为 4×1 向量,转置卷积核对应普通卷积稀疏矩阵的转置(Wdeconv​=WconvT​,即 16×4 稀疏矩阵),输出为 16×1 向量(展平为 4×4 特征图),即X=Wdeconv​×Y(X为输出,Wdeconv​为转置卷积稀疏矩阵,Y为输入)。
3. 核心关系

转置卷积与普通卷积是数学上的转置关系,而非 “严格逆操作”(普通卷积的信息损失无法完全恢复),但其核心作用是通过 “逆过程的矩阵运算” 实现特征图尺寸的扩大,为解码器提供上采样能力。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐