语义分割

三件事情你需要知道的

什么是语义分割?

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

语义分割在许多应用,例如自动驾驶,医学成像和工业检查使用。

语义分割的一个简单例子是将图像分成两个类。例如,在图1中,显示海滩上的一个人的图像与显示图像像素分割成两个独立类的版本配对:person和background。

图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中的图像贴标应用。您可以使用此数据集来训练SegNet。

图7:MATLAB图像标签器app对图像进行标签,进行语义分割。

学到更多

步骤2:为原始图像和带标签的图像创建数据存储。

当有大量数据的工作,它往往无法加载所有的信息到内存中。要管理大型数据集,您可以使用的数据存储。数据存储区包含您要访问的文件的位置,它可以让你阅读到内存只有当你需要对文件进行操作。

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

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

步骤3:对数据存储进行分区。

当创建一个SegNet时,你必须将数据存储划分为两个部分:

  1. 训练集,用于训练SegNet
  2. 测试集,用来评估网络的准确性

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

步骤4:导入一个CNN并将其修改为SegNet。

加载预训练的网络,诸如VGG16,以及使用该SegNetLayers命令,创建所必需的像素级的标记编码器 - 解码器架构。

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

第五步:训练和评估网络。

在最后一步中,为网络设置超参数并训练网络。

如何进一步了解语义分割

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

培训与预测支撑在CUDA万博1manbetx®能够GPU具有3.0或更高的计算能力。一个GPU的使用建议和要求并行计算工具箱™。

视频

例子及如何

软件参考

免费试用

30天的探索触手可及。