基于深度学习的图像分割技术

本文涉及的产品
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,视频资源包5000点
简介: 图像语义分割是一种计算机视觉技术。随着深度学习发展,语义分割逐渐应用到医疗影像、自动化驾驶以及机器人视觉等领域。

     目前将语义分割应用到道路垃圾识别上的应用较少,在垃圾的识别方面,Mittal 等将深度学习应用到垃圾检测,其运用的网 络主要是全卷积神经网络.(Fully convolutional network.,FCN),通过 FCN 来实现图像之中检测到的垃圾区域的分割,实验结果显示,其在数据集的测试集上精度达到了 87.69%。这种方法虽然可以比较精确地识别出垃圾区域的边缘,然而,其产生的错误检测也比较多,有较多错检、误检的情况发生。魏书法等采用了深度学习的方法,运用了Faster-RCNN 网络,同时,为了加强测试模型的可靠性以及实时性,其使用迁移学习、样本融合、数据加强等方式来提高检测精度,在较少数据集的城市场景垃圾图像中获得了较好的识别效果。然而,当在不同尺度上测试集中 的数据样本和训练集中的数据样本相差较大时,其检测精度会有明显的下降。  

     深度学习在图像分割上的应用早已有之,近些年呈现爆发态势。卷积网络的首次实现可追溯至.1980 年 Fukushima提出的新识别机,而反向传播算法是Rumelhart等人在 1988 年提出的。在 1998 年,LeCun 等人开发出了 LeNet-5.网络模型,其是第一个在手写数字识别 MNIST 数据集上成功的网络,是卷积神经网络 (.Convolutional Neural .Network,CNN)的鼻祖。因此,从这个时候开始,就已经确定下来了卷积层、池化层以 及全连接层这三部分 CNN 最基本的框架。但由于当时的计算机性能差,而神经网络需要良好的计算资源作为基础,因此,在当时神经网络并没有引起人们足够的重视。       2012 年,Alex 等人提出了 AlexNet,  Alex 在 ImageNet 比赛(.ILSVRC2012)上取得了最好的成绩,也渐渐吸引了人们对深度学习的注意,从此之后在深度学习上的研究也越来越多。.AlexNet 网络包括了 5 个卷积层以及 3 个全连接层,与LeNet-5 相比,AlexNet 在深度上加了不少,在层数上也要更多,其使用了数据增强方法来提高模型的自适应能力,还使用了线性整流函数(Rectified Linear Unit,ReLU)替代 Sigmoid 函数作为激活函数,大大减少了计算时间,使随机梯度下降的收敛速度更快。AlexNet 的全连接层中采用了 Dropout,Dropout 针对模型过拟合的问题,有一定的概率可以使神经元不被激活,但是卷积神经网络总的流程并没有多大变化。

     2013 年,Zeiler 等人提出了 ZFNet, ZFNet 的网络结构没有特殊的改进,只对一些参数进行了调整,但是性能相较 AlexNet 而言提升了不少,在 ImageNet 比赛(ILSVRC2013)中夺得了分类任务的冠军。

     2014 年,Simonyan 等人提出的 VGGNet(Visual Geometry Group Network)和 Szegedy 等人提出的 GoogLeNet 在 ImageNet 比赛(ILSVRC2014)中分别获得了第一名与第二名。VGGNet 采用了卷积核数量加倍,其将 AlexNet 原有的卷积核全部替换成 3×3 的小卷积核,并对其进行重复的堆叠操作,用来加深网络,同时,VGGNet 的池化层大小全部为 2×2 的尺寸,上述这些改进点使得 VGGNet的非线性表达变多,同时参数量也大大减少。GoogLeNet 也被称为 Inception-v1,其开发了 Inception 块来选择卷积类型,因此减少了人工操作。GoogLeNet 为了提取到图像的不同尺度上的信息,采取了不同尺寸的卷积核,为了减少特征图的维度,还使用了一个 1×1 的卷积核,这些输出都被连接在一起作为下一层的输入,其还提出了 Inception 网络,对 Inception 块进行堆叠操作,同时,为了进一步减少参数量,该网络没有采用全连接层,取而代之的是全局均值池化层。  

     2015 年,  Long 等人针对之前的语义分割方法存在的缺陷,提出了 FCN 网络,FCN 网络是在 VGGnet 的基础上,将 VGGnet 上的全连接层换成了卷积层,同时,其引入了一个跳跃体系的结构,这个结构可以将不同层次的语义信息和外观信息等进行连接,从而兼顾不同方面以提高分割效果。何凯明等提出了深度残差网络(Residual Networks, ResNet), ResNet 通过引入的残差学习模块,将训练网络深度突破性地增加到 152 层,并在内部的残差块之中应用了跳跃连接,有效减轻了加深深度梯度消失的难题。同年,Ioffe  S 等人提出了批处理规范化(Batch Normalization,BN),BN 作为模型体系结构的一部分,针对每个训练小批量执行归一化,以使得每一层神经网络的输入保持相同分布。BN 使得训练时可以使用更高的学习率,减小了在初始化时的局限性,其还可以充当正则化器,在某些情况下可以不使用 Dropout。同年,Szegedy 等人在 Inception-v1 上做出改进,提出了升级版本的 Inception-v2 以及 Inception-v3, Inception-v2 学习了 VGG,使用了 BN 的同时采用两个较小卷积的堆叠代替一个 5×5 的大卷积,不仅保持了感受野,还减小了参数量。在 Inception-v3 中,其在 Inception-v2 的基础上使用了卷积分解,将 7×7 的卷积分解成 1×7 和 7×1 的两层串联,将 3×3 的卷积分解成 1×3 和 3×1 的两层串联,这样不仅计算速度提高以及网络的分线性增强,同时还减小了过拟合的概率。

      2016 年,Szegedy 等人对 Inception-v3 进行优化改进,提出 Inception-v4 以及 Inception-ResNet,  Inception-v4 的创新之处是把残差连接和 Inception 架构进行结合,因此 Inception 在训练时的速度得到了加强。同年,Chollet对 Inception-v3 进行了又一种改进,提出了 Xception,Xception 不仅引入了残差模块,.还将深度可分离卷积加入其中,深度可分离卷积操作可以代替原来 Inception-v3 中的卷积操作,其主要思想是通过对每个输入通道应用单个滤波器来将标准卷积分解为深度卷积,之后再进行 1×1 卷积,其可以跨越通道组合深度卷积的输出,因此计算的复杂度得到了极大减小。  

     2017 年,Huang 等人提出了密集卷积网络(Dense Convolutional Network,DenseNet),  DenseNet 不再采用 Inception 的对网络结构进行加宽或者 ResNet 的对网络层数进行加深的方法,其主要思想是采用旁路(Bypass)以及特征重用,这样做不仅可以有效解决梯度消失的难题,还能够减少模型的参数量。

     2018 年,何恺明等人提出了群组归一化(Group Normalization,  GN)用来替代 BN,GN的原理是将图像通道划分为不同的组,在不同的组内对平均值以及方差进行计算,之后对其采取归一化。因此批次大小与 GN 的计算精度没有关系,这使得其在不同的批次大小中都能保持较高的精度。ResNet、VGG、DenseNet 等这些经典的结构都可以用做语义分割的特征提取骨干网络。

     由上述可知,图像的语义分割是在 FCN 之后快速发展的,同时,在语义分割领域通常存在下列两个问题:1)在网络的下采样过程之中,会造成特征图分辨率的不断缩小,因此使得一部分像素被丢失;2)不能尽可能利用图像的空间位置,也就是说无法充分兼顾到图像的每个像素之间的联系。学者们对这两个问题进行深入研究,.在 FCN.的基础上进行改进,得出了一些新方法。根据不同的网络结构,语义分割的方法基本上可以分为下列四种方法:基于 FCN 的方法、. 基于优化卷积结构的方法、. 基于编码器 -解码器的方法以及基于特征融 合的方法。

(1)基于 FCN 的方法        

     除上述介绍的 FCN 方法外,Chen 等根据 FCN 建立了 DeepLab 网络,其相较 FCN 有两个改进之处:首先是在编码阶段中引入了空洞卷积,从而扩大了对特征图的感受野,以解决由于特征图分辨率减少而导致的信息丢失;同时在 DeepLab的解码上采样阶段,其使用了双线性插值算法以及应用于后处理部分的全连接条件随机场 ( Conditional  Random Field,CRF),一起对分割图像的边界进行了优化。何凯明等基于 DeepLab 进行改进,建立了 DeepLabv2 网络,其是采用与空间金字塔池化(Sparial Pyramid Pooling,SPP)相类似的结构,结合带孔卷积以及 SSP 方法,使用不同采样率的空洞卷积对输入进行并行采样,等同于使用多个比例来得到图像的上下文信息,同时 CRF 也运用在了 DeepLabv2 的后处理部分中。Chen 等在 DeepLab 以及 DeepLabv2 的基础上,针对多尺度上的图像分割问题提出了 DeepLabv3,其使用了一种级联或者并行的空洞卷积模块,这种模块可以使用不同的空洞速率来得到不同尺度上的信息。DeepLavb3 还扩充了 SPP 模块,可以采用编码全局上下文的图像级特征来进行探究多尺度的卷积特征。DeepLabv3 中虽然没有加入 CRF,但是该网络的分割准确率依然比 DeepLab 以及DeepLabv2 还要高。Zheng 等将 CRF 的概率图形建模与 CNN 结合起来,提出了 CRFasRNN 网络,其将具有高斯成对势和均值近似推断的条件随机场公式化为递归神经网.络,并将其作为 CNN 的一部分插入,因此,该网络可以获得 CNN 以及 CRF 分别所需要的深层网络的属性,并且其把 CRF 的建模和 CNN.进行集成,因此其训练网络的方式改进为使用一般的反向传播算法来进行端到端的训练。

    (2)基于优化卷积结构的方法      

     在优化结构的方向,许多学者也做了很多尝试,Yu 等为了更系统地集成上下文的多尺度的信息的同时保留分辨率而提出了空洞卷积。由于在双线性采样过程之中,一些比较完整的信息可能会丢失,因此,Wang 等设计了密集的上采样卷积(Dense upsampling convolution,DUC)来生成像素级预测,该网络可以捕获以及解码缺少的信息。同时,该网络还提出了一种混合膨胀卷积框架,这种框架不仅在编码阶段可以通过增加网络的感受野的方式来更好地把握整体的信息,而且还可以减少在标准的扩展卷积运算中会产生的.“网格问题”。Dai 等为了增强卷积神经网络对变换的适应能力,引入了可变形卷积以及可变形兴趣区域池化这两种新的模块,这两种模块的主要思想都是使模块对空间采样的位置信息进行更一步的位移调整,而这种位移调整不需要其它的监督信号,可以在目标任务里通过自主学习得到。

(3)基于编码器-解码器的方法        

     这类方法的主要思想是从编码解码的过程之中得来的。Ronneberger 等提出了 Unet 网络,其可以依靠较少的数据来实行端到端的训练。Unet 具有两条对称的路径,分别是捕捉上下文信息的下采样路径,以及与之对称的上采样路径,通过上采样路径还原图像的分辨率以实现精确的定位。Badrinarayanan 等提出了 SegNet 网络,该网络由编码器网络以及与之相对称的解码器网络两大部分组成,左边部分是编码器网络,下采样操作时的网络结构参考了 VGG-16,与其前面13 个卷积层保持一致,采取卷积、池化等方式来提取图像的高层特征;右半边部分是解码器网络,进行上采样操作,由于经过下采样之后输出的特征图分辨率变低,因此该部分将其还原至与输入图像相一致的尺寸,最后的分类网络从像素级别进行分类。Peng 等提出了全局卷积网络,采用基于残差结构的边界优化模块来实现更精细的边缘的分割,还解决了在稠密预测的任务里面分类以及定位需要同时进行的难题。Chen 等对 DeepLabv3 进行优化,提出了 DeepLabv3+,为了减少模型的参数量,其改进了 DeepLabv3 中使用的普通卷积,将其替代为深度可分离卷积以及空洞卷积来对解码部分进行优化,同时改进了解码器的结构以对上采样部分进行优化。

(4)基于特征融合的方法      

     在特征融合方向上,Zhao 等为了提高网络获取全局信息的能力,提出了金字塔场景解析网络(Pyramid Scene Parsing Network,PSPNet)网络,来实现获取不同区域之间的各个层次的信息。Zhao 和 Qi 等提出了图像级联网络(Image Cascade Network,ICNet),该网络通过适当的标签指导,将多分辨率分支结合在了一起,同时还采用了级联特征融合单元,因此可以对图像进行快速高效的分割的同时保证分割质量,因此,其在实时性与准确性上都具有不错的表现。ICNet 提高分割速度的主要思想是,首先对输入的不同尺寸大小的图像降低分辨率,下采样之后再将得到的高层次的图像通过 CNN 网络,使用级联特征融合单元把高分辨率的图像的特征进行融合。

相关文章
|
5天前
|
机器学习/深度学习
深度学习中的正则化技术:防止过拟合的利器
【10月更文挑战第30天】本文将深入探讨深度学习中一个关键概念——正则化,它如同园艺师精心修剪枝叶,确保模型不至于在训练数据的细节中迷失方向。我们将从直观的角度理解正则化的重要性,并逐步介绍几种主流的正则化技术,包括L1和L2正则化、Dropout以及数据增强。每种技术都将通过实际代码示例来展示其应用,旨在为读者提供一套完整的工具箱,以应对深度学习中的过拟合问题。
|
4天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的地面垃圾识别分类技术
AI垃圾分类系统结合深度学习和计算机视觉技术,实现高效、精准的垃圾识别与自动分类。系统集成高精度图像识别、多模态数据分析和实时处理技术,适用于市政环卫、垃圾处理厂和智能回收设备,显著提升管理效率,降低人工成本。
基于深度学习的地面垃圾识别分类技术
|
4天前
|
机器学习/深度学习 监控 PyTorch
深度学习工程实践:PyTorch Lightning与Ignite框架的技术特性对比分析
在深度学习框架的选择上,PyTorch Lightning和Ignite代表了两种不同的技术路线。本文将从技术实现的角度,深入分析这两个框架在实际应用中的差异,为开发者提供客观的技术参考。
18 7
|
6天前
|
机器学习/深度学习 编解码 算法
什么是超分辨率?浅谈一下基于深度学习的图像超分辨率技术
超分辨率技术旨在提升图像或视频的清晰度,通过增加单位长度内的采样点数量来提高空间分辨率。基于深度学习的方法,如SRCNN、VDSR、SRResNet等,通过卷积神经网络和残差学习等技术,显著提升了图像重建的质量。此外,基于参考图像的超分辨率技术通过利用高分辨率参考图像,进一步提高了重建图像的真实感和细节。
|
14天前
|
机器学习/深度学习 监控 自动驾驶
深度学习中的图像识别技术及其应用
【10月更文挑战第20天】本文将探讨深度学习在图像识别领域的应用,包括其原理、关键技术和实践案例。我们将从基础概念出发,逐步深入到模型构建、训练技巧以及性能评估等高级话题。通过实例分析,揭示深度学习如何革新传统图像处理流程,提升识别准确率和效率。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和实用的知识。
|
30天前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习中的图像识别技术
【10月更文挑战第5天】在人工智能的浪潮中,深度学习技术以其卓越的性能和广泛的应用场景成为了科技领域的热点。本文将探讨深度学习在图像识别中的应用,通过实际代码示例,揭示其背后的原理和实现方式。我们将看到,从基础的卷积神经网络到复杂的模型架构,深度学习如何一步步提高图像处理的准确性和效率。
|
24天前
|
机器学习/深度学习 自然语言处理 计算机视觉
深度学习中的迁移学习技术
【10月更文挑战第11天】 本文探讨了深度学习中的迁移学习技术,并深入分析了其原理、应用场景及实现方法。通过实例解析,展示了迁移学习如何有效提升模型性能和开发效率。同时,文章也讨论了迁移学习面临的挑战及其未来发展方向。
|
30天前
|
机器学习/深度学习 自然语言处理 算法框架/工具
深度学习中的正则化技术:从理论到实践
【10月更文挑战第5天】本文将探讨深度学习模型中不可或缺的一环——正则化技术。通过深入浅出的方式,我们将了解正则化在防止过拟合中的作用,并揭示其在模型性能提升中的关键角色。文章不仅涉及理论知识,还结合代码示例,帮助读者从实践中掌握这一技术的应用。
|
1月前
|
机器学习/深度学习 自动驾驶 算法
深度学习中的图像识别技术及其在自动驾驶中的应用
【10月更文挑战第4天】本文深入探讨了深度学习在图像识别领域的应用,并特别关注其在自动驾驶系统中的关键作用。文章首先介绍了深度学习的基本概念和工作原理,随后通过一个代码示例展示了如何利用深度学习进行图像分类。接着,文章详细讨论了图像识别技术在自动驾驶中的具体应用,包括物体检测、场景理解和决策制定等方面。最后,文章分析了当前自动驾驶技术面临的挑战和未来的发展趋势。
40 4
|
1月前
|
机器学习/深度学习 传感器 自动驾驶
深度学习在自动驾驶技术中的革新与挑战
【10月更文挑战第4天】深度学习在自动驾驶技术中的革新与挑战
60 4

热门文章

最新文章