JA EN ZH

图像分割基础 - 理解区域划分原理与应用

· 9 分钟阅读

什么是图像分割 - 在像素级别理解图像

图像分割将图像中的每个像素分配到特定类别或区域,实现像素级别的图像理解。它是计算机视觉中最精细的识别任务。

分割类型:

  • 语义分割: 每个像素分配一个类别标签 (如天空、道路、建筑)。不区分同类别的不同实例
  • 实例分割: 不仅分类,还区分同类别的不同个体 (如区分不同的行人)
  • 全景分割: 语义分割 + 实例分割的统一。所有像素都有类别,可数物体还有实例 ID

与其他任务的关系:

  • 图像分类: 整张图像一个标签
  • 目标检测: 边界框级别定位
  • 图像分割: 像素级别定位 (最精细)

应用场景: 自动驾驶 (道路/行人/车辆分割)、医学影像 (器官/病灶分割)、卫星遥感 (土地覆盖分类)、视频会议 (人物/背景分离)、图像编辑 (精确选区)。

经典方法 - 阈值法与边缘检测分割

在深度学习之前,图像分割主要依赖手工设计的算法,基于像素值、梯度或区域特征进行分割。

阈值分割:

  • 全局阈值: 选择一个阈值 T,像素值 > T 为前景,否则为背景
  • Otsu 方法: 自动计算最优阈值,最大化类间方差。OpenCV: cv2.threshold(gray, 0, 255, cv2.THRESH_OTSU)
  • 自适应阈值: 每个像素根据局部邻域计算阈值。适合光照不均的场景

边缘检测 + 轮廓:

  • Canny 边缘检测找到物体边界
  • 轮廓查找 (cv2.findContours) 提取封闭区域
  • 适合形状规则、对比度高的物体

分水岭算法: 将图像视为地形,从标记点"注水",水域相遇处形成分割边界。适合分离接触的物体 (如细胞)。需要手动或自动提供标记点。

局限性: 经典方法对复杂场景 (多类别、遮挡、纹理变化) 效果差,无法学习语义信息。

深度学习方法 - 从 FCN 到 U-Net 和 DeepLab

深度学习彻底改变了图像分割,通过端到端学习实现了前所未有的精度。

FCN (2015): 首个端到端的分割网络。将分类网络的全连接层替换为卷积层,输出与输入同尺寸的分割图。开创了深度学习分割的先河。

U-Net (2015):

  • 编码器-解码器结构,对称的 U 形架构
  • 跳跃连接将编码器特征传递给解码器,保留空间细节
  • 在医学图像分割中表现卓越,少量数据即可训练
  • 变体: U-Net++, Attention U-Net, nnU-Net

DeepLab 系列:

  • 空洞卷积 (Atrous Convolution): 扩大感受野而不降低分辨率
  • ASPP (Atrous Spatial Pyramid Pooling): 多尺度特征提取
  • DeepLabV3+: 编码器-解码器 + ASPP,当前最强通用分割架构之一
  • COCO 全景分割 mIoU > 60%

SAM (Segment Anything Model) - 通用分割的革命

Meta 于 2023 年发布的 SAM 是图像分割领域的里程碑,实现了零样本通用分割能力。

核心创新:

  • 提示式分割: 通过点击、框选或文本提示指定要分割的对象
  • 零样本泛化: 无需针对特定类别训练,可分割任意物体
  • 大规模预训练: 在 SA-1B 数据集 (11M 图像, 1.1B 掩码) 上训练

架构:

  • 图像编码器: ViT-H (Vision Transformer),提取图像特征
  • 提示编码器: 编码点、框、文本等提示信息
  • 掩码解码器: 轻量级解码器,快速生成分割掩码

SAM 2 (2024): 扩展到视频分割,支持时间维度的物体跟踪和分割。实时交互式视频分割成为可能。

应用: 交互式图像编辑、自动标注工具、医学图像辅助分割、遥感图像分析。SAM 大幅降低了分割任务的门槛。

评估指标 - 理解 IoU、mIoU 和 Dice 系数

分割质量的定量评估需要标准化的指标,用于比较不同方法和监控模型性能。

IoU (Intersection over Union):

IoU = 预测 ∩ 真值 / 预测 ∪ 真值

  • 值域 [0, 1],1 表示完美分割
  • 对每个类别分别计算
  • mIoU: 所有类别 IoU 的平均值,是最常用的分割指标

Dice 系数:

Dice = 2 × |预测 ∩ 真值| / (|预测| + |真值|)

  • 与 IoU 高度相关但数值更高 (Dice ≈ 2×IoU / (1+IoU))
  • 医学图像分割中更常用
  • 对小目标更敏感

像素精度: 正确分类的像素比例。简单但对类别不平衡敏感 (背景占主导时精度虚高)。

基准参考: COCO 全景分割 SOTA mIoU > 60%; Cityscapes 语义分割 SOTA mIoU > 85%; 医学分割 Dice > 0.9 通常被认为优秀。

浏览器端分割 - TensorFlow.js 和 ONNX Runtime 实现

在浏览器中运行分割模型,实现无需服务器的实时图像分割。

TensorFlow.js 实现:

  • BodyPix: 人体分割和姿态估计,适合视频会议背景替换
  • DeepLab: 通用语义分割,20 个类别
  • 加载: const model = await deeplab.load({base: 'pascal'})
  • 推理: const result = await model.segment(image)

ONNX Runtime Web:

  • 支持更多模型格式,性能通常优于 TensorFlow.js
  • WebGL 和 WebGPU 后端加速
  • 可运行 PyTorch 导出的 ONNX 模型

性能考虑:

  • 模型大小: 轻量模型 (MobileNet 骨干) 5-20MB,适合 Web
  • 推理速度: 512×512 输入约 50-200ms (WebGL)
  • WebGPU: 比 WebGL 快 2-5 倍,但浏览器支持仍在扩展中

实际应用: 视频会议虚拟背景 (实时人物分割); 照片编辑器 (交互式物体选择); AR 滤镜 (人脸/身体分割)。

Related Articles

背景去除技术详解 - 分割与抠图处理的工作原理

详解图像背景去除(背景透明化)所使用的技术。比较语义分割、基于三值图的 Alpha 抠图和边缘检测方法的原理与精度差异。

AI 图像生成与版权问题 - 法律与伦理挑战

多角度分析 AI 图像生成与版权问题。涵盖训练数据权利、生成内容的所有权归属以及商业使用注意事项。

语义分割入门 - 理解 U-Net 和 DeepLab 架构

详解语义分割的核心架构,从 FCN 开创性工作到 U-Net 的编码器-解码器结构和 DeepLab 的空洞卷积,涵盖训练数据准备和部署。

图像标注工具对比 - CVAT、Label Studio 与 Roboflow 的选择

比较主流图像标注工具的功能、效率和成本,帮助选择最适合机器学习项目的标注方案。

医学图像处理基础 - DICOM、CT 和 MRI 数据与技术

系统介绍医学图像处理,涵盖 DICOM 标准、CT/MRI 成像原理、窗宽窗位调节、分割技术以及临床 AI 应用。

Alpha 抠图技术详解 - 从自然图像中实现精确前景提取

全面解析 Alpha 抠图技术,从三值图输入设计到闭式抠图、深度学习抠图方法。涵盖头发丝级别的精确前景提取原理与实践工作流程。

Related Terms