图像分割、图像超分辨率简介

图像分割概念:

         图像分割是指根据灰度、彩色、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域,使得这些特征在同一区域内表现出一致性或相似性,而在不同区域间表现出明显的不同。简单的说就是在一副图像中,把目标从背景中分离出来。

图像分割、图像超分辨率简介_第1张图片

 根据分割的目的,可划分为以下几种:


  • 普通分割

    将不同分属不同物体的像素区域分开。 
    如前景与后景分割开,狗的区域与猫的区域与背景分割开。

  • 语义分割

    在普通分割的基础上,分类出每一块区域的语义(即这块区域是什么物体)。 
    如把画面中的所有物体都指出它们各自的类别。

  • 实例分割

    在语义分割的基础上,给每个物体编号。 
    如这个是该画面中的物体A,那个是画面中的物体B

    全景分割

    语义分割和实例分割的结合 

  • 对图中的所有物体包括背景都要进行检测和分割,区分不同实例(使用不同颜色)

一、传统的分割算法

  1、基于图论的图像分割方法:

          基于图论的方法是一种 自顶向下的全局分割方法 ,其主要 思想是将整幅图像映射为一幅带权无 向图 G=(V,E),其中是顶点的集合,E是边的集合,图像每个像素对应图中一个顶点 ,像素之间的相邻关系对应图的边,像素特征之间的相似性 或差异性表示为边的权值。将图像分割问题转换成图的划分问题,通过对 目标函数的最优化求解,完成图像分割过程。主要有NormalizedCuts、NormalizedCuts、GraphCut、SuperpixelLattice、Seeds算法等。

2、基于阈值的分割方法

         阈值法的基本思想是基于图像的灰度特征来计算一个或多个灰度阈值,并将图像中每个像素的灰度值与阈值作比较,最后将像素根据比较结果分到合适的类别中。因此,该方法最为关键的一步就是按照某个准则函数来求解最佳灰度阈值,特别适用于目标和背景占据不同灰度级范围的图。

3、.基于区域的图像分割方法

      基于区域的分割方法是以直接寻找区域为基础的分割技术,基于区域提取方法有两种基本形式:一种是区域生长,从单个像素出发,逐步合并以形成所需要的分割区域;另一种是从全局出发,逐步切割至所需的分割区域。

(1)、区域生长是从一组代表不同生长区域的种子像素开始,接下来将种子像素邻域里符合条件的像素合并到种子像素所代表的生长区域中,并将新添加的像素作为新的种子像素继续合并过程,知道找不到符合条件的新像素为止。

(2)分裂合并可以说是区域生长的逆过程,从整幅图像出发,不断的分裂得到各个子区域,然后再把前景区域合并,得到需要分割的前景目标,进而实现目标的提取,对复杂图像分割效果较好.实际应用当中通常将区域生长算法和区域分裂合并算法结合使用。

(3)分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。

4、基于边缘检测的分割方法

     基于边缘检测的图像分割算法试图通过检测包含不同区域的边缘来解决分割问题。通常不同区域的边界上像素的灰度值变化比较剧烈,如果将图片从空间域通过傅里叶变换到频率域,边缘就对应着高频部分,通常可以按照处理的技术分为串行边缘检测和并行边缘检测。串行边缘检测是要想确定当前像素点是否属于检测边缘上的一点,取决于先前像素的验证结果。并行边缘检测是一个像素点是否属于检测边缘高尚的一点取决于当前正在检测的像素点以及与该像素点的一些临近像素点,具有边缘定位准确、速度快等特点。

二、结合特定工具的图像分割算法

1、基于小波分析和小波变换的图像分割方法

     二进小波变换具有检测二元函数的局部突变能力,因此可作为图像边缘检测工具。图像的边缘出现在图像局部灰度不连续处,对应于二进小波变换的模极大值点。通过检测小波变换模极大值点可以确定图像的边缘小波变换位于各个尺度上,而每个尺度上的小波变换都能提供一定的边缘信息,因此可进行多尺度边缘检测来得到比较理想的图像边缘。

2、基于遗传算法的图像分割 

       基本思想是,模拟由一些基因串控制的生物群体的进化过程,把该过程的原理应用到搜索算法中,以提高寻优的速度和质量。此算法的搜索过程不直接作用在变量上,而是在参数集进行了编码的个体,这使得遗传算法可直接对结构对象(图像)进行操作。整个搜索过程是从一组解迭代到另一组解,采用同时处理群体中多个个体的方法,降低了陷入局部最优解的可能性,并易于并行化。搜索过程采用概率的变迁规则来指导搜索方向,而不采用确定性搜索规则,而且对搜索空间没有任何特殊要求(如连通性、凸性等),只利用适应性信息,不需要导数等其他辅助信息,适应范围广。遗传算法擅长于全局搜索,但局部搜索能力不足,所以常把遗传算法和其他算法结合起来应用。

3、基于主动轮廓模型的分割方法

   该方法是在给定图像中利用曲线演化来检测目标的一类方法,基于此可以得到精确的边缘信息。其基本思想是,先定义初始曲线C,然后根据图像数据得到能量函数,通过最小化能量函数来引发曲线变化,使其向目标边缘逐渐逼近,最终找到目标边缘。这种动态逼近方法所求得的边缘曲线具有封闭、光滑等优点。

三、基于深度学习的分割

1、基基于特征编码

  (1)VGGNET 

它探索了卷积神经网络的深度和其性能之间的关系,通过反复的堆叠33的小型卷积核和22的最大池化层,成功的构建了16~19层深的卷积神经网络。

图像分割、图像超分辨率简介_第2张图片

  (2)、ResNet

       ResNet的核心思想就是在网络中引入恒等映射,允许原始输入信息直接传到后面的层中,在学习过程中可以只学习上一个网络输出的残差(F(x)),因此ResNet又叫做残差网络。

图像分割、图像超分辨率简介_第3张图片

2、基于区域选择

       区域选择在计算机视觉领域是一个非常常用的算法,尤其是在目标检测领域。其核心思想就是检测颜色空间和相似矩阵,根据这些来检测待检测的区域。然后根据检测结果可以进行分类预测。

(1)R-CNN

       其主要流程为:先使用selective search算法提取2000个候选框,然后通过卷积网络对候选框进行串行的特征提取,再根据提取的特征使用SVM对候选框进行分类预测,最后使用回归方法对区域框进行修正。

(2)Fast R-CNN

       Fast R-CNN在传统的R-CNN模型上有所改进的地方是它是直接使用一个神经网络对整个图像进行特征提取,就省去了串行提取特征的时间;接着使用一个RoI Pooling Layer在全图的特征图上摘取每一个RoI对应的特征,再通过FC进行分类和包围框的修正。

(3)、Faster R-CNN

     Faster R-CNN改变了它的前辈们最耗时最致命的部位:selective search算法。它将selective search算法替换成为RPN,使用RPN网络进行region的选取,将2s的时间降低到10ms.

(4)、Mask R-CNN

     Mask R-CNN是何恺明大神团队提出的一个基于Faster R-CNN模型的一种新型的分割模型。在Mask R-CNN的工作中,它主要完成了三件事情:目标检测,目标分类,像素级分割。该算法在Faster R-CNN的结构基础上加上了Mask预测分支,并且改良了ROI Pooling,提出了ROI Align.

(5)、Mask Scoring R-CNN

      该模型是Mask R-CNN的一点点缺点进行了修正。他的网络结构也是在Mask R-CNN的网络基础上做了一点小小的改进,添加了Mask-IoU。就是评价函数只对目标检测的候选框进行打分,而不是分割模板,所以会出现分割模板效果很差但是打分很高的情况。

3、基于RNN的图像分割

     RNN是由Long-Short-Term Memory(LSTM)块组成的网络,RNN来自序列数据的长期学习的能力以及随着序列保存记忆的能力使其在许多计算机视觉的任务中游刃有余,其中也包括语义分割以及数据标注的任务。

(1)、ReSeg模型

     众所周知,FCN可谓是图像分割领域的开山作,而RegNet的作者则在自己的文章中大胆的提出了FCN的不足:没有考虑到局部或者全局的上下文依赖关系,而在语义分割中这种依赖关系是非常有用的。所以在ReSeg中作者使用RNN去检索上下文信息,以此作为分割的一部分依据。

(2)、MDRNNs模型

     MDRNNs模型将单个递归连接替换为多个递归连接,相应可以在一定程度上解决时间随数据样本的增加呈指数增长的问题。

4、基于上采样/反卷积的分割方法

      卷积神经网络在进行采样的时候会丢失部分细节信息,这样的目的是得到更具特征的价值。但是这个过程是不可逆的,有的时候会导致后面进行操作的时候图像的分辨率太低,出现细节丢失等问题。因此我们通过上采样在一定程度上可以不全一些丢失的信息,从而得到更加准确的分割边界。

(1)FCN

   FCN在图像分割领域已然成为一个业界标杆,大多数的分割方法多多少少都会利用到FCN或者其中的一部分,提出了全卷积网络。将全连接网络替换成了卷积网络,使得网络可以接受任意大小的图片,并输出和原图一样大小的分割图。只有这样,才能为每个像素做分类它,在FCN当中的反卷积-升采样结构中,图片会先进性上采样(扩大像素);再进行卷积——通过学习获得权值。FCN对图像进行了像素级的分类,从而解决了语义级别的图像分割问题;使得FCN可以接受任意尺寸的输入图像,同时可以保留下原始输入图像中的空间信息;得到的结果由于上采样的原因比较模糊和平滑,对图像中的细节不敏感;但是对各个像素分别进行分类,没有充分考虑像素与像素的关系,缺乏空间一致性。FCN的网络结构如下图所示:

图像分割、图像超分辨率简介_第4张图片

(2)、SetNet

      SegNet基于FCN,与FCN的思路十分相似,只是其编码-解码器和FCN的稍有不同,其解码器中使用去池化对特征图进行上采样,并在分各种保持高频细节的完整性;而编码器不使用全连接层,因此是拥有较少参数的轻量级网络,且保存了高频部分的完整性,使得网络不笨重,参数少,较为轻便;但对于分类的边界位置置信度较低。

图像分割、图像超分辨率简介_第5张图片

3、U-Net

   U-Net是原作者参加ISBI Challenge提出的一种分割网络,能够适应很小的训练集(大约30张图)。U-Net与FCN都是很小的分割网络,既没有使用空洞卷积,也没有后接CRF,结构简单。,类似于一个大大的U字母:首先进行Conv+Pooling下采样;然后Deconv反卷积进行上采样,crop之前的低层feature map,进行融合;然后再次上采样。重复这个过程,直到获得输出388x388x2的feature map,最后经过softmax获得output segment map。总体来说与FCN思路非常类似。

图像分割、图像超分辨率简介_第6张图片

5、基于特征增强的分割方法

    基于特征增强的分割方法包括:多尺度特征或者从一系列嵌套的区域中提取特征。在图像分割的深度网络中,CNN经常应用在图像的小方块上,通常称为以每个像素为中心的固定大小的卷积核,通过观察其周围的小区域来标记每个像素的分类。在图像分割领域,能够覆盖到更大部分的上下文信息的深度网络通常在分割的结果上更加出色,当然这也伴随着更高的计算代价。多尺度特征提取的方法就由此引进。

 

参考原文链接:传送icon-default.png?t=LA92https://mp.weixin.qq.com/s?__biz=MzIxOTczOTM4NA==&mid=2247487852&idx=1&sn=01245f0ddb67888243bb86e63e88c83f&chksm=97d7f4fba0a07dedf994762eaa3ae7a886211a1f2b9ba2c5f3d7dafd40b372e1120538496da1&token=748150220&lang=zh_CN#rd

图像超分辨率重建概述:

1. 概念:

        图像分辨率是一组用于评估图像中蕴含细节信息丰富程度的性能参数,包括时间分辨率、空间分辨率及色阶分辨率等,体现了成像系统实际所能反映物体细节信息的能力。相较于低分辨率图像,高分辨率图像通常包含更大的像素密度、更丰富的纹理细节及更高的可信赖度。但在实际上情况中,受采集设备与环境、网络传输介质与带宽、图像退化模型本身等诸多因素的约束,我们通常并不能直接得到具有边缘锐化、无成块模糊的理想高分辨率图像。

       图像的超分辨率重建技术指的是将给定的低分辨率图像通过特定的算法恢复成相应的高分辨率图像,从给定的低分辨率图像中重建出高分辨率图像的过程。其旨在克服或补偿由于图像采集系统或采集环境本身的限制,导致的成像图像模糊、质量低下、感兴趣区域不显著等问题。

一、 传统超分辨率重建算法 

(1) 基于插值的超分辨率重建:

     将图像上每个像素都看做是图像平面上的一个点,那么对超分辨率图像的估计可以看做是利用已知的像素信息为平面上未知的像素信息进行拟合的过程,这通常由一个预定义的变换函数或者插值核来完成。常见的基于插值的方法包括最近邻插值法、双线性插值法和双立方插值法等。但是在重建过程中,仅根据一个事先定义的转换函数来计算超分辨率图像,不考虑图像的降质退化模型,往往会导致复原出的图像出现模糊、锯齿等现象。

(2)、基于退化模型的超分辨率重建

     从图像的降质退化模型出发,假定高分辨率图像是经过了适当的运动变换、模糊及噪声才得到低分辨率图像。这种方法通过提取低分辨率图像中的关键信息,并结合对未知的超分辨率图像的先验知识来约束超分辨率图像的生成。常见的方法包括迭代反投影法、凸集投影法和最大后验概率法等。

(3)、 基于学习的超分辨率重建

     基于学习的方法则是利用大量的训练数据,从中学习低分辨率图像和高分辨率图像之间某种对应关系,然后根据学习到的映射关系来预测低分辨率图像所对应的高分辨率图像,从而实现图像的超分辨率重建过程。常见的基于学习的方法包括流形学习、稀疏编码方法。     

二、基于深度学习的超分辨率重建算法

      最早的采用深度学习进行超分重建的算法是SRCNN算法,采用了插值的方式先将低分辨率图像进行放大,再通过模型进行复原。其原理很简单,对于输入的一张低分辨率图像,SRCNN首先使用双立方插值将其放大至目标尺寸,然后利用一个三层的卷积神经网络去拟合低分辨率图像与高分辨率图像之间的非线性映射,最后将网络输出的结果作为重建后的高分辨率图像。尽管原理简单,但是依托深度学习模型以及大样本数据的学习,在性能上超过了当时一众传统的图像处理算法,开启了深度学习在超分辨率领域的研究征程,SRCNN只采用了3个卷积层来实现超分重建,有文献指出如果采用更深的网络结构模型,那么可以重建出更高质量的图像,因为更深的网络模型可以抽取出更高级的图像特征,这种深层模型对图像可以更好的进行表达。在SRCNN之后,有不少研究人员尝试加深网络结构以期取得更佳的重建性能,但是越深的模型越不能很好的收敛,无法得到期望的结果。

三、基于子像素卷积放大图像尺寸

      子像素卷积(Sub-pixel convolution)是一种巧妙的图像及特征图放大方法,又叫做pixel shuffle(像素清洗)。在深度学习超分辨率重建中,常见的扩尺度方法有直接上采样,双线性插值,反卷积等等。ESPCN算法中提出了一种超分辨率扩尺度方法,即为子像素卷积方法,该方法后续也被应用在了SRResNet和SRGAN算法中。

你可能感兴趣的:(计算机视觉,人工智能)