图像处理与计算机视觉

语义分割

你需要知道三件事

什么是语义分割?

语义分割是一种深度学习算法,其将标签或类别与图像中的每个像素相关联。它用于识别形成不同类别的像素的集合。例如,自主车辆需要识别车辆,行人,交通标志,路面和其他道路特征。

语义分割被广泛应用于自动驾驶、医学成像和工业检测等领域。

语义分割的一个简单示例是将图像分成两个类。例如,在图1中,示出海滩上的人的图像与显示图像的像素分为两个单独的类的版本:人和背景。

图1:图像和标记像素。

语义分割不局限于两类。您可以更改对图像内容进行分类的类别数量。同样的图像可以分成四类:人,天空,水和背景。

语义分割如何与物体检测不同?

语义分割可以是一个有用的替代目标检测,因为它允许感兴趣的目标在像素级跨越图像中的多个区域。这种技术可以清晰地检测出形状不规则的物体,这与目标检测不同,目标检测必须适合于一个边界框(图2)。

图2:对象检测,显示边界框以识别对象。

如何使用语义分割?

因为语义分割标记图像中的像素,它比其他形式的目标检测更精确。这使得语义分割在各种需要精确图像地图的行业中的应用非常有用,例如:

  • 自主驾驶- 通过将道路从像行人,人行道,杆等汽车等障碍物分开来识别汽车的可驾驶路径
  • 工业检验- 检测材料中的缺陷,例如晶片检查
  • 卫星图像-用于识别山脉、河流、沙漠和其他地形
  • 医学影像——用于分析和检测细胞中的癌变异常
  • 机器人视觉-用于识别和导航物体和地形

图3:多光谱卫星图像的语义分割。

语义切分是如何工作的

培训语义分段网络以对图像进行培训的过程遵循以下步骤:

  1. 分析一个像素标记图像的集合。
  2. 创建语义分段网络。
  3. 培训网络将图像分类为像素类别。
  4. 评估网络的准确性。

例如:自动驾驶应用

图4中的序列显示了用于自动驾驶的语义分割的真实示例。道路图像会自动从其他车辆中分割出来。下一节将展示如何创建这些网络。

图4:用于自动驾驶应用的语义分割。

了解架构

一种常见的语义分割方法是创建一个SegNet,它基于卷积神经网络(CNN)体系结构。一个典型的CNN架构如图5所示。

CNN将整个图像分类为许多预定义的类别之一。

图5:CNN的典型结构。

要在像素级别而不是整个图像上进行分类,您可以附加CNN的反向实现。向上采样过程执行与下采样过程相同的次数,以确保最终图像与输入图像相同。最后,使用像素分类输出层,其将每个像素映射到某个类别。这形成了一种编码器解码器架构,它能够实现语义分割。

图6:CNN在每层执行与图像相关的功能,然后使用池层(绿色)对图像进行下采样。对于网络的前半部分,该过程重复了几次。从该图的前半部分的输出后跟一个等量的未凝固层(橙色)。

使用MATLAB进行语义分割

在MATLAB中,用于执行语义分割的工作流程遵循以下五个步骤:

  1. 标签数据或获取标记数据。
  2. 创建原始图像的数据存储和标记图像。
  3. 分区的数据存储。
  4. 导入CNN并将其修改为SEGNET。
  5. 培训和评估网络。

第1步:标记数据或获取标记数据。

深度学习模型建立在大量数据的基础上,语义分割也不例外。一种选择是在互联网上找到有标签的数据。如果你有自己的数据集,你可以使用MATLAB中的Image Labeler应用程序。你可以使用这个数据集来训练一个赛格网。

图7:Matlab图像贴标程序应用程序标记图像以获取语义分割。

了解更多

第2步:创建一个用于原始图像和标记图像的数据存储。

当处理大量数据时,通常不可能将所有信息加载到内存中。要管理大型数据集,可以使用数据存储。数据存储包含您想要访问的文件的位置,它只允许您在需要对文件进行操作时将它们读入内存。

要创建SEGNET,您需要两个数据存储:

  1. ImageDatastore,其中包含原始图像
  2. PixellabeldAtastore.,包含标记的图像

第3步:分区数据存储。

创建SEGNET时,您必须将数据存储分为两部分:

  1. 培训集,用于培训SEGNET
  2. 测试集,用于评估网络的准确性

图8:公路场景显示彩色图像(左)和相应的标记像素(右)。

步骤4:导入CNN并将其修改为SEGNET。

加载一个预先训练过的网络,如VGG16,并使用SegNetLayers命令,创建像素级标记所需的编码器-解码器体系结构。

图9:用一行代码在MATLAB中创建SegNet架构。

第5步:列车并评估网络。

在最后一步中,您可以为网络设置HyperParameters并培训网络。

如何了解有关语义细分的更多信息

s manbetx 845支万博1manbetx持使用语义分割进行图像分析的产品包括马铃薯®计算机视觉的工具箱用于像素标签,和深度学习工具箱™用于创建和培训网络。

CUDA支持训练和预测万博1manbetx®具有3.0或更高计算能力的GPU。建议使用GPU,这是必须的并行计算工具箱™。

30天免费试用

开始