郭震 AI公众号:郭震AI

25 图像分割之常用分割模型与评估指标

发布日期:

最近更新:

分类: 计算机视觉

预计阅读: 4 分钟

阅读次数: 0

预计阅读4 分钟
结构重点10 个
图文要点6 张
正文规模1.8k 字

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

独立整理围绕 10 个结构重点拆成环境、步骤、验证点和常见误区,尽量让读者能照着复现。
图文对照保留 6 张和配置、流程、判断结果有关的图片,方便快速定位正文重点。
持续校对工具、模型和命令变化较快,后续优先修正入口、参数和风险提醒。

阅读路线

先按这条路线读

先抓住主线,再回到代码、配置和图文细节,读起来会更稳。

图文要点

先看本文图文节点

按图先建立主线,再跳回正文核对步骤、配置和判断标准。

常用分割模型与评估指标流程图查看大图
常用分割模型与评估指标流程图

分割模型不能只看整体准确率。小目标、边界和类别不均衡都会让普通准确率显得过于乐观。

常用分割模型与评估指标实操核对图查看大图
常用分割模型与评估指标实操核对图

我会同时看 IoU、Dice 和可视化 mask。指标好但边界差,实际使用仍然会出问题。

在上一篇文章中,我们探讨了图像分割的两个主要类型:语义分割实例分割。本篇文章将继续深入这一主题,介绍一些常用的分割模型及其评估指标,这些内容将为您实施图像分割提供必要的理论基础与实践指导。

常用的图像分割模型

图像分割模型的选择对于分割性能有着至关重要的影响。以下是一些在计算机视觉领域广泛使用的分割模型。

图像分割之常用分割模型与评估指标要点判断卡查看大图
图像分割之常用分割模型与评估指标要点判断卡

读这篇时,可以把「常用的图像分割模型 -> U-Net -> Mask R-CNN -> DeepLab」当成一条检查线:先看对象、路径和证据,再回到案例、代码或指标里复查。

1. U-Net

U-Net是一种深度学习网络,广泛应用于医学图像分割。其结构形似字母“U”,具有编码器和解码器两个部分。

  • 编码器:负责提取特征,通过一系列的卷积层和池化层逐渐减少图像的空间维度。
  • 解码器:通过反卷积层(上采样)逐渐恢复图像的空间维度,同时结合来自编码器的跳跃连接信息,确保细节信息不丢失。
import tensorflow as tf
from tensorflow.keras import layers, models

def unet_model(input_shape):
    inputs = layers.Input(input_shape)
    c1 = layers.Conv2D(64, 3, activation='relu', padding='same')(inputs)
    c1 = layers.Conv2D(64, 3, activation='relu', padding='same')(c1)
    p1 = layers.MaxPooling2D((2, 2))(c1)

    # ... (继续构建模型)

    outputs = layers.Conv2D(1, 1, activation='sigmoid')(c4)
    model = models.Model(inputs=[inputs], outputs=[outputs])
    return model

2. Mask R-CNN

Mask R-CNN基于Faster R-CNN,增加了一条并行的分支,用于生成对象的分割掩码。该模型适用于实例分割,能够同时进行物体检测与分割。其核心思想是在提出区域候选框后,对每个候选框进行像素级别的分割。

import torch
from torchvision.models.detection import MaskRCNN

model = MaskRCNN(backbone, num_classes=instance_count)

3. DeepLab

DeepLab是一种有效的语义分割模型,它通过引入空洞卷积(dilated convolutions)来控制特征图的分辨率,使得模型在提取上下文信息时具有更好的表现。同时,DeepLab也引入了条件随机场(CRF)来进一步提升分割的精细度。

from keras_segmentation.models.deeplab import DeeplabV3

model = DeeplabV3(nbClasses=21, input_shape=(None, None, 3))

图像分割的评估指标

评估图像分割模型的性能是实现实时应用的重要环节,以下是一些常用的评估指标。

计算机视觉阅读地图卡查看大图
计算机视觉阅读地图卡

读《图像分割之常用分割模型与评估指标》时,可以把配图当成路线卡:先看整体顺序,再看每一步为什么这样做,最后再检查边界条件。

1. 交并比(IoU)

交并比(Intersection over Union,IoU)是评估分割效果的重要指标,计算公式为:

IoU=ABABIoU = \frac{|A \cap B|}{|A \cup B|}

其中,AA为预测分割区域,BB为真实分割区域。IoU越高,分割效果越好。

2. 像素准确率(Pixel Accuracy)

像素准确率计算的是分类正确的像素所占的比例,可以使用以下公式表示:

Pixel Accuracy=TP+TNTP+TN+FP+FNPixel\ Accuracy = \frac{TP + TN}{TP + TN + FP + FN}

其中,TP为真正例,TN为真负例,FP为假正例,FN为假负例。

3. F1-score

F1-score是综合考虑精确率和召回率的指标,通常在不均衡数据集上特别有用,计算公式为:

F1=2precisionrecallprecision+recallF1 = 2 \cdot \frac{precision \cdot recall}{precision + recall}

其中:

  • precision=TPTP+FP\text{precision} = \frac{TP}{TP + FP} 为精确率
  • recall=TPTP+FN\text{recall} = \frac{TP}{TP + FN} 为召回率

案例分析

下面以一个实际案例来展示如何使用上述模型与评估指标。

图像分割之常用分割模型与评估指标应用检查卡查看大图
图像分割之常用分割模型与评估指标应用检查卡

练习《图像分割之常用分割模型与评估指标》时,建议把输入条件、处理动作和可见结果写在一起,方便下次复查。

图像分割之常用分割模型与评估指标应用复盘卡查看大图
图像分割之常用分割模型与评估指标应用复盘卡

复习《图像分割之常用分割模型与评估指标》时,建议把关键概念、操作步骤和可见结果放在同一页里回看。

案例:医学图像分割

在医学图像分割任务中,使用U-Net模型进行肿瘤区域的分割。首先,我们需要加载数据集,然后训练模型,并最后使用IoU和F1-score等指标评估模型性能。

from keras.preprocessing.image import ImageDataGenerator

# 加载数据
train_datagen = ImageDataGenerator(rescale=1.0/255)
train_generator = train_datagen.flow_from_directory(
    'data/train',
    target_size=(256, 256),
    class_mode='binary'
)

# 模型训练
model = unet_model((256, 256, 3))
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
model.fit(train_generator, epochs=10)

# 评估模型
predictions = model.predict(test_images)
iou_score = calculate_iou(test_masks, predictions)
f1_score = calculate_f1(test_masks, predictions)

总结

在本篇文章中,我们深入探讨了各种图像分割模型,包括U-NetMask R-CNNDeepLab,并介绍了各自的实现方式。我们还强调了评估指标如IoU像素准确率F1-score在性能测评中的重要性,将为您在图像分割任务中选择和评估模型提供指引。

下一篇文章将探讨计算机视觉应用之图像识别与分类应用,希望通过这些内容能进一步提升您在计算机视觉领域的能力。

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

图像分割之常用分割模型与评估指标适合谁读?

这是 计算机视觉网络教程 系列第 25 / 31 篇,适合正在学习计算机视觉网络教程,并且需要把概念落到操作步骤或判断标准里的读者。

读这篇计算机视觉网络教程要多久?

按中文技术文章阅读速度估算,通读大约 4 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。

这篇文章里的图文节点怎么用?

正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...