分割 我们之前学习了对象检测,它允许我们通过预测它们的“边界框”来定位图像中的对象。然而,对于某些任务,我们不仅需要边界框,还需要更精确的对象定位。这个任务被称为 分割。 课前测验 分割可以被视为 像素分类,对于图像中的 每个 像素,我们需要预测其类别(“背景”是一个类别)。主要有两种分割算法: 语义分割 只告诉像素类别,而不区分同一类别的不同对象。 实例分割 将类别划分为不同的实例。 例如,在实例分割中,这些羊是不同的对象,而在语义分割中,所有羊都被表示为一个类别。 图片来自 这篇博客文章 有多种神经架构用于分割,但它们都有相同的结构。某种程度上,这与你之前学到的自动编码器相似,但我们的目标不是解构原始图像,而是解构一个 掩码。
我们之前学习了对象检测,它允许我们通过预测它们的“边界框”来定位图像中的对象。然而,对于某些任务,我们不仅需要边界框,还需要更精确的对象定位。这个任务被称为 分割。
分割可以被视为 像素分类,对于图像中的 每个 像素,我们需要预测其类别(“背景”是一个类别)。主要有两种分割算法:
例如,在实例分割中,这些羊是不同的对象,而在语义分割中,所有羊都被表示为一个类别。
图片来自 这篇博客文章
有多种神经架构用于分割,但它们都有相同的结构。某种程度上,这与你之前学到的自动编码器相似,但我们的目标不是解构原始图像,而是解构一个 掩码。因此,分割网络有以下部分:
图片来自 这篇论文
在分割中使用的损失函数尤其值得注意。当我们使用传统的自动编码器时,我们需要测量两张图像之间的相似性,并可以使用均方误差(MSE)来做到这一点。在分割中,目标掩码图像中的每个像素代表类别编号(沿第三维度进行独热编码),因此我们需要使用特定于分类的损失函数——交叉熵损失,并对所有像素进行平均。如果掩码是二值的——则使用 二元交叉熵损失 (BCE)。
✅ 独热编码是一种将类别标签编码成长度等于类别数量的向量的方法。请参阅 这篇文章 来了解这项技术。
在这节课中,我们将通过训练网络识别医学图像中的人体痣(也称为黑痣)来看分割的实际应用。我们将使用 PH2 数据库 的皮肤镜图像作为图像源。该数据集包含200张三类图像:典型痣、非典型痣和黑色素瘤。所有图像还包含一个对应的 掩码,用来勾勒痣的轮廓。
✅ 这种技术特别适用于这种类型的医学影像,但你能设想出其他哪些实际应用?
图片来自 PH2 数据库
我们将训练模型从背景中分割任何痣。
打开下面的笔记本以了解更多关于不同语义分割架构的知识,练习使用它们,并观察它们的实际效果。
分割是一种非常强大的图像分类技术,超越了边界框到像素级别的分类。它被应用于医学影像等领域。
人体分割只是我们可以用人物图像完成的常见任务之一。其他重要任务包括 骨骼检测 和 姿态检测。尝试使用 OpenPose 库来查看姿态检测的应用。
这篇 维基百科文章 提供了该技术各种应用的良好概述。自学更多关于实例分割和全景分割的知识。
在这个实验中,尝试使用 Kaggle 上的 Segmentation Full Body MADS 数据集 来进行 人体分割。
声明:
本文件灏天文库团队进行了翻译。尽管我们力求准确,但请注意,翻译可能包含错误或不准确之处。原文档以其原始语言为准。我们不对因使用此翻译而产生的任何误解或误译负责。