基于深度学习的图像语义分割算法

Posted by Jinming Qiao on December 2, 2019

基于深度学习的图像语义分割算法


论文名称:《基于深度学习的图像语义分割算法》

指导教师:张惊雷

论文作者:李英杰

毕业院校:天津理工大学


文章内容概要

  1. 阐述语义分割和实例分割的发展现状,对近年来出现的典型算法进行详细分析
  2. 介绍深度学习相关理论,对卷积网络中的几个概念进行介绍,介绍两种卷积神经网络,确定本文算法的基础网络
  3. 是改进解码的全卷积网络语义分割算法,介绍全卷积网络的语义分割模型以及关键技术
  4. 基于Mask R-CNN的路径增强实例分割算法,介绍Mask R-CNN算法及其框架、组成部分
  5. 通过路径增强融合不同维度的特征,采用自适应特征池化技术合理分配候选框,充分利用特征信息,在掩模分支全卷积和全连接网络配合
  6. 提高算法的通用性,在复杂场景数据集ADE20K上进行泛化,并选取现实场景中的图像验证

深度学习理论

  • 卷积神经网络基础概念
    • 感受野(Receptive Field)表示的是卷积神经网络内部不同位置的神经元对原图像感受的范围大小,即卷积神经网络每层输出特征图上像素点在原图像上映射的范围大小,原图像指的是经过预处理后输入到神经网络中的图像
    • 经过网络层作用产生的矩阵叫特征图(Feature Map),在卷积神经网络中,经过网络层作用会产生特征矩阵,而矩阵一般以二维形式表示
    • 特征融合就是将不同维度的特征进行融合,融合不同维度的特征对于提高分割精确度至关重要
    • 卷积神经网络是模拟人大脑的功能进行工作的,用来拟合非线性函数,深度卷积神经网络可以提取到丰富的高、低维特征,对图像的处理效果比浅层神经网络要好,但网络层数越多并不意味着模型越精确

基于全卷积网络的图像语义分割算法

  • 传统CNN语义分割
    • 传统的基于CNN的语义分割方法对像素进行分类,在训练和预测时使用的是像素周围的图像块作为网络的输入
    • 所占内存较大,在对像素进行分类时,若使用的图像块是15x15,每次滑动窗口通过CNN判别分类,随着滑动窗口次数的增加所需要的存储空间会越来越多
    • 计算效率不高,相邻像素的图像块基本一致,对每个图像块进行卷积一定程度上是重复计算的
    • 感知区域受图像块大小的限制。通常情况下,图像块比输入图像小,提取特征时获得的大多是局部特征,这一特点限制了像素的分类性能
  • 语义分割关键技术
    • 多孔卷积最初应用在小波变换的方法中,后来学者将这种思想引用到了卷积神经网络
    • 包含四个不同扩张率的多孔卷积,可以有效捕捉多尺度信息,多孔空间金字塔池化模块通过四个扩张率不同的多孔卷积得到大小不一的特征图,解决图像中存在的多尺度问题
    • 全卷积网络是使用卷积层代替了网络最后的全连接层,它的提出使得语义分割算法的发展有了质的提升,实现了端到端的训练,解决了不需要输入固定大小图像的问题

基于Mask R-CNN 的路径增强实例分割算法

  1. 选取未经处理的原始图像或者经过裁剪、翻转、增强等预处理后的图像作为输入图像
  2. 将输入图像加载到卷积神经网络中,得到与之对应的特征图
  3. 在特征图上选择RoI,得到需要的候选RoI
  4. 对候选RoI进行筛选。将候选RoI送入区域建议网络(RPN)进行前景背景分类和边界框回归,筛除一部分候选RoI
  5. 对筛选后留下的RoI进行RoIAlign操作,简单来说就是先将输入图像和特征图的像素对应,然后将特征图像素和RoI特征像素对应
  6. 对RoI所有的类别进行分类、执行边界框回归和掩模生成

实效果图

  • COCO数据集可视化结果

  • ADK数据集可视化结果