日期
06/26
2024
咨询
  • QQ扫一扫

  • Vision小助手
    (CMVU)

深度学习分割胜任经典算法难以处理的任务
收藏
2024-06-26 17:25:27来源: 中国机器视觉网

深度学习可以执行许多与传统图像处理相同的操作,比如图像分割。本文探讨了为什么图像分割很重要,以及深度学习图像分割在哪些方面优于传统图像处理方法。

分割不同于分类或检测。“分类”告诉我们一个特定的对象是否在图像中,但不知道它在哪里,也不知道它有多少个副本。“检测”通过在每个对象的位置周围绘制一个框,告诉我们对象在图像中的位置。“分割”则更进一步,它标记图像中属于对象的每个像素。分割使后续图像处理更容易,在某些情况下甚至是使图像处理可能实现。

分割的结果通常是用从0到n-1的值标记的区域或像素。为了显示直观,分割的区域被呈现为不同的颜色。

经典分割是寻找具有共同特征(如亮度、纹理或颜色)的像素连接区域的过程。它是像素级别的操作。经典分割中的一大挑战是:定义是什么构成了相邻像素或区域之间的相似性。

深度学习分割更进一步。它通过分割学习对象来处理大小、形状、颜色和着色的变化,以及不同部分的组合。

图像分割的应用场景

图像分割适用于许多类型的视觉应用中,包括:

物体识别:使单个对象的识别变得切实可行;监视:识别视频源中的对象以增强安全性;肿瘤检测:在X射线、CT和MRI扫描中识别潜在的肿瘤;器官分割:在X射线、CT和MRI扫描中识别不同的器官;道路场景分析:识别和分类道路上或附近的不同物体;质量保证:识别产品中潜在的缺陷或不规则之处;农业:识别个别植物、水果和杂草;AR和VR:识别真实世界的对象并与之互动;背景移除:在照片编辑过程中移除或替换背景;分离前景和背景:增强照片和视频编辑过程;土地覆盖分类:识别卫星图像中可见的土地表面成分;环境监测:跟踪生态系统的变化;面部识别:提取面部特征进行识别;导航:使地形分析变得实用,并有助于障碍物检测;手势识别:识别身体部位并对其运动进行分析。

经典图像分割技术有哪些不足之处

经典图像分割要么使用像素相似性(像素与其相邻像素的相似程度)来形成聚类,要么使用不连续性(像素与其相邻像素的不同程度)来检测边缘。

当单个对象可能具有不同的部分时,经典分割失效,因为分割过程没有语义理解。例如,螺丝刀有一个刀片和一个手柄,这两个部分通常在图像中看起来不同,并且没有一致的共同像素特性。

另一个例子是需要在图像中分割草莓的应用。深度学习可以在不同大小、形状、颜色和色差的草莓上进行训练,使应用程序能够对它们进行分割。但是,仅依赖于特定模板(形状)的幅度或边界的经典图像分割技术,在这种情况下就无法胜任了。

最后,经典分割通常只处理一个分割条件(例如,单个阈值);而深度学习分割可以训练成同时分割许多不同的对象。

深度学习分割可以处理具有多个部分的对象,包括形状、大小和颜色可变的对象。深度学习分割可以处理复杂的场景或不断变化的对象特征,如农业中的植物或医学成像中的肿瘤。通过深度学习,可以训练分割以适应这些不同的条件。

分割的三种类型

分割不同于简单的分类。例如,一个经过训练以识别“猫”的简单分类器,将会针对下图中的图像提供相同的输出结果——猫。

微信图片_20240626172757.png

微信图片_20240626172801.png

语义分割

语义分割是在像素级对图像的分割,识别出具有期望特性的所有像素。它不会确定分割区域的大小或数量。例如,如果对图2进行分割,结果将如下图所示,其中属于 “猫”类的所有像素都被标记为相同,而不考虑图像中猫的数量。

微信图片_20240626172804.png

实例分割

实例分割识别属于一个类的每个实例的像素。但是,它并不区分各个实例。在下图中,识别了猫的每个实例,但没有标明有两只猫。

微信图片_20240626172808.png

深度学习分割

要理解深度学习分割,最好先回顾一下用于分类的卷积神经网络(CNN)。用于分类的传统卷积神经网络由一系列层组成。每个层可以是卷积层、池化层或全连接层。

微信图片_20240626172816.jpg

池化层降低了数据的维度,允许泛化和数据缩减以加快处理速度。池化还使网络对图像中任何特征的位置都不那么敏感。同样,每个单元从前一层中的特定单元阵列获取其输入。最常见的池化函数是单元输入数组中的最大值,尽管其他操作(如平均)也是可能的。

在全连接层中,每个单元从前面层中的所有单元获取其输入。全连接层中的每个单元从前面层中的所有单元获取其输入。全连接层中的每个单元,具有与前一层中的单元一样多的权重。全连接层的权重数,是两层中单元数的乘积。全连接层通常显示为1D层,因为分类器的输出是表示类的向量。然而,由于层中的每个单元与前一层中的每一个单元都有权重连接,因此全连接的层没有固有的维度。

有许多不同的网络被配置用于分类,它们通常在层的数量和排列上是不同的。

深度学习分割在编码器-解码器架构中,使用了类似于分类网络的结构(见下图)。有一种编码器看起来很像分类网络,只是它没有被简化为离散输出的阵列。

微信图片_20240626172820.jpg

解码器类似于反向分类网络,从较小的层开始,一直工作到图像大小的层。它由全连接层组成,它们是两种类型之一:

上采样层取代编码器的池化层,以增加而不是减少结果的大小。转置卷积层,不仅增加了结果的大小,还增加了维度。

编码器和解码器之间的连接,如图7所示,被称为桥梁或瓶颈。虽然这种编码器-解码器网络可以在某种程度上执行分割,但它在桥接处丢失了太多细节,以至于像素级的分割非常粗略。

微信图片_20240626172824.jpg

对简单编码器-解码器网络最流行的修改,是将编码器层的输出作为相应解码器层的额外输入,如上图所示。图9所示的网络被称为U-Net。U-Net网络通过解码器的输出,保留来自编码器的输入的像素信息。

微信图片_20240626172828.jpg

研究人员开发了许多额外的网络架构来帮助解决分割问题,如U-Net+和V-Net,这两种架构都包含了更多的层。

训练编码器-解码器

用于分割的典型训练,开始于使用标记图像仅将编码器训练为分类器;标签标识图像中的对象。编码器学习识别应该用于分割的对象类别。编码器必须被训练到高精度水平,以实现可靠的分割。

在编码器训练之后,解码器部分使用训练图像进行训练,这些训练图像通过勾勒或着色,对需要分割的对象的像素进行了注释;也就是说,它们是手动分割的。

训练需要反馈。对于编码器,反馈是其输出和标签之间的误差。对于解码器来说,反馈基于编码器的每个输出像素与手动标记的像素的匹配程度。

分割的质量基于四个像素计数:

真阳性(TP),表示标记为属于对象一部分的像素,确实属于该对象。

真负,(TN),表示标记为不属于对象的像素,属于背景或其他对象。

假阳性(FP),表示标记为属于对象一部分的像素,但实际上不属于该对象。

假阴性(FN),表示标记为不属于对象一部分的像素,但实际上属于该对象。

给定这四个计数,有许多度量用于确定分割的质量。一种是并集交集(IoU)或Jaccard索引。另一种是骰子相似性系数(DSC)或F1分数。还有其他指标衡量训练的准确性和精确性。

(文章来源于互联网,如有侵权,请联系删文)