【分割笔记 | 整理中Ing】

Image Segmentation Using Deep Learning: A Survey很好的翻译 

【阅读笔记】

本文关注的是监督和弱监督学习方法,不包括无监督方法
对于监督学习:骨干网络的选择、网络块的设计和损失函数的改进
对于弱监督学习方法:数据增强、迁移学习和交互式分割来研究

医学图像提取鉴别特征比普通RGB图像更困难:存在模糊、噪声、低对比度等问题。

近年来,基于模型驱动技术的研究报道较少,但基于数据驱动的医学图像分割的研究报道越来越多。本文主要研究了医学图像分割的深度学习模型的发展和发展。

现有综述的不足:一是它们大多按时间顺序总结了医学图像分割的发展,因此忽略了医学图像分割所需的深度学习技术分支。另一个问题是,这些调查只介绍了相关的技术发展,而没有关注医学图像分割的任务特征,如少镜头学习和不平衡学习,这限制了基于任务驱动的医学图像分割的改进。

在第二节中,我们回顾了应用于医学图像的监督学习的发展,包括主干网络的选择、网络块的设计和损失函数的改进。

在第四节中,我们简要介绍了一些最先进的医学图像分割方法,包括NAS、GCN的应用和多模态数据融合

Backbone networks
编解码器结构:
这是最流行的端到端体系结构之一,如全卷积网络(FCN)[32]、U-Net [7]和Deeplab [33]。在这些结构中,编码器通常用于提取图像特征,而解码器通常用于将提取的特征恢复到原始图像的大小,并输出最终的分割结果。虽然端到端结构对于医学图像分割是实用的,但它降低了模型的可解释性。
UNet:对称结构和跳过连接。与普通的图像分割不同,医学图像通常包含噪声,边界模糊。因此,仅根据图像的低级特征,很难检测或识别医学图像中的物体。由于缺乏图像细节信息,仅根据图像语义特征获得准确的边界,而U-Net通过跳跃连接结合低分辨率和高分辨率特征图,有效融合低级和高级图像特征
Skip Connection:虽然跳过连接可以融合低分辨率和高分辨率的信息,从而改善特征表示,但由于低分辨率和高分辨率特征之间的语义差距较大,导致特征映射模糊。
级联模型大致可分为三种框架类型:
粗-细分割:第一个网络进行粗分割,然后使用另一个网络模型基于之前的粗分割结果实现精细分割
检测分割:先yolo再送入全分辨率卷积网络(FrCN)进行分割,最后利用深度卷积神经网络对肿块进行分类(良/恶性)
混合分割:

2D DenseUNet to extract 2D image features effectively

结合有关器官形状和位置的先验知识可能对提高医学图像分割效果至关重要

[68]提出了一种新的通用方法,将形状和标签结构的先验知识结合到解剖约束神经网络(ACNN)中,用于医学图像分析任务。通过这种方式,神经网络训练过程可以被约束和引导,以做出更解剖和有意义的预测,特别是在输入图像数据信息不足或足够一致的情况下(例如缺少对象边界)。
[69]2020ISBI


Network function block
Dense connection密集连接

Inception
Depth separability深度可分离

Attention mechanism注意力机制

Multi-scale information fusion多尺度信息融合

Loss function
Cross entropy loss
Weighted cross entropy loss
Dice loss
Tversky loss
Generalised dice loss
Boundary loss
Exponential logarithmic loss
Loss improvements
Deep supervision

综述

图像分割算法:所谓图像分割是指根据灰度、彩色、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域,使得这些特征在同一区域内表现出一致性或相似性,而在不同区域间表现出明显的不同。简单的说就是在一副图像中,把目标从背景中分离出来。对于灰度图像来说,区域内部的像素一般具有灰度相似性,而在区域的边界上一般具有灰度不连续性。 关于图像分割技术,由于问题本身的重要性和困难性,从20世纪70年代起图像分割问题就吸引了很多研究人员为之付出了巨大的努力。虽然到目前为止,还不存在一个通用的完美的图像分割的方法,但是对于图像分割的一般性规律则基本上已经达成的共识,已经产生了相当多的研究成果和方法。

传统分割方法:

1.基于阈值的分割方法

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

        阈值法特别适用于目标和背景占据不同灰度级范围的图。图像若只有目标和背景两大类,那么只需要选取一个阈值进行分割,此方法成为单阈值分割;但是如果图像中有多个目标需要提取,单一阈值的分割就会出现作物,在这种情况下就需要选取多个阈值将每个目标分隔开,这种分割方法相应的成为多阈值分割。最关键就在于阈值的选择。

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

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

        区域生长:是从一组代表不同生长区域的种子像素开始,接下来将种子像素邻域里符合条件的像素合并到种子像素所代表的生长区域中,并将新添加的像素作为新的种子像素继续合并过程,知道找不到符合条件的新像素为止(小编研一第一学期的机器学习期末考试就是手写该算法 T.T),该方法的关键是选择合适的初始种子像素以及合理的生长准则。

        区域分裂合并:区域生长是从某个或者某些像素点出发,最终得到整个区域,进而实现目标的提取。而分裂合并可以说是区域生长的逆过程,从整幅图像出发,不断的分裂得到各个子区域,然后再把前景区域合并,得到需要分割的前景目标,进而实现目标的提取。其实如果理解了上面的区域生长算法这个区域分裂合并算法就比较好理解啦。在实际应用当中通常将区域生长算法和区域分裂合并算法结合使用,该类算法对某些复杂物体定义的复杂场景的分割或者对某些自然景物的分割等类似先验知识不足的图像分割效果较为理想。

        分水岭算法是一个非常好理解的算法,它根据分水岭的构成来考虑图像的分割,现实中我们可以想象成有山和湖的景象,那么一定是如下图的,水绕山山围水的景象。分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。

3.基于边缘检测的分割方法

        基于边缘检测的图像分割算法试图通过检测包含不同区域的边缘来解决分割问题。它可以说是人们最先想到也是研究最多的方法之一。通常不同区域的边界上像素的灰度值变化比较剧烈,如果将图片从空间域通过傅里叶变换到频率域,边缘就对应着高频部分,这是一种非常简单的边缘检测算法。

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

基于深度学习的分割:

1.基于特征编码(feature encoder based):VGGnet和ResNet

        深度卷积神经网络VGGNet依然被用来提取图像的特征

2.基于区域选择(regional proposal based):R-CNN系列。

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

3.基于RNN的图像分割(Recurrent neural networks)

RNNs除了在手写和语音识别上表现出色外,在解决计算机视觉的任务上也表现不俗,在本篇文章中我们就将要介绍RNN在2D图像处理上的一些应用。RNN是由Long-Short-Term Memory(LSTM)块组成的网络,RNN来自序列数据的长期学习的能力以及随着序列保存记忆的能力使其在许多计算机视觉的任务中游刃有余,其中也包括语义分割以及数据标注的任务

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

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

a.FCN(Fully Convolutional Network)

在图像分割领域已然成为一个业界标杆,大多数的分割方法多多少少都会利用到FCN或者其中的一部分,比如前面我们讲过的Mask R-CNN。在FCN当中的反卷积-升采样结构中,图片会先进性上采样(放大图片)(扩大像素||UNet先下采样在上采样);再进行卷积——通过学习获得权值。FCN的网络结构如下图所示:

 

补充阅读:

FCN、UNet、deeplabv系列☆:

b.SetNet

SegNet是剑桥提出的旨在解决自动驾驶或者智能机器人的图像语义分割深度网络,SegNet基于FCN,与FCN的思路十分相似,只是其编码-解码器和FCN的稍有不同,其解码器中使用去池化对特征图进行上采样,并在分各种保持高频细节的完整性;而编码器不使用全连接层,因此是拥有较少参数的轻量级网络。

5.基于提高特征分辨率的分割方法DeepLab

换一种说法其实可以说是恢复在深度卷积神经网络中下降的分辨率,从而获取更多的上下文信息。这一系列我将给大家介绍的是Google提出的DeepLab,它是结合了深度卷积神经网络和概率图模型的方法,应用在语义分割的任务上,目的是做逐像素分类,其先进性体现在DenseCRFs(概率图模型)和DCNN的结合。是将每个像素视为CRF节点,利用远程依赖关系并使用CRF推理直接优化DCNN的损失函数。

在图像分割领域,FCN的一个众所周知的操作就是平滑以后再填充,就是先进行卷积再进行pooling,这样在降低图像尺寸的同时增大感受野,但是在先减小图片尺寸(卷积)再增大尺寸(上采样)的过程中一定有一些信息损失掉了,所以这里就有可以提高的空间。

接下来我要介绍的是DeepLab网络的一大亮点:Dilated/Atrous Convolution,它使用的采样方式是带有空洞的采样。在VGG16中使用不同采样率的空洞卷积,可以明确控制网络的感受野。

6.基于特征增强的分割方法

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

SLIC(simple linear iterative cluster,生成超像素的算法):啥是超像素?其实这个比较容易理解,就像上面说的“小方块”一样,我们平常处理图像的最小单位就是像素了,这就是像素级(pixel-level);而把像素级的图像划分成为区域级(district-level)的图像,把区域当成是最基本的处理单元,这就是超像素啦。算法思想。

PSPNet:Pyramid Scene Parsing Network 金字塔池化模块

在场景分割是,大多数的模型会使用FCN的架构,但是FCN在场景之间的关系和全局信息的处理能力存在问题,其典型问题有:1.上下文推断能力不强;2.标签之间的关系处理不好;3.模型可能会忽略小的东西。本文提出了一个具有层次全局优先级,包含不同子区域时间的不同尺度的信息,称之为金字塔池化模块。该模块融合了4种不同金字塔尺度的特征,第一行红色是最粗糙的特征–全局池化生成单个bin输出,后面三行是不同尺度的池化特征。为了保证全局特征的权重,如果金字塔共有N个级别,则在每个级别后使用1×1 1×11×1的卷积将对于级别通道降为原本的1/N。再通过双线性插值获得未池化前的大小,最终concat到一起。最终结果就是,在融合不同尺度的feature后,达到了语义和细节的融合,模型的性能表现提升很大,作者在很多数据集上都做过训练,最终结果是在MS-COCO数据集上预训练过的效果最好。

7.使用CRF/MRF的方法

        MRF全称是Marcov Random Field,马尔可夫随机场,其实是一种基于统计的图像分割算法,马尔可夫模型是指一组事件的集合,在这个集合中,事件逐个发生,并且下一刻事件的发生只由当前发生的事件决定,而与再之前的状态没有关系。而马尔可夫随机场,就是具有马尔可夫模型特性的随机场,就是场中任何区域都只与其临近区域相关,与其他地方的区域无关,那么这些区域里元素(图像中可以是像素)的集合就是一个马尔可夫随机场。

        CRF的全称是Conditional Random Field,条件随机场其实是一种特殊的马尔可夫随机场,只不过是它是一种给定了一组输入随机变量X的条件下另一组输出随机变量Y的马尔可夫随机场,它的特点是埃及设输出随机变量构成马尔可夫随机场,可以看作是最大熵马尔可夫模型在标注问题上的推广。在图像分割领域,运用CRF比较出名的一个模型就是全连接条件随机场(DenseCRF),CRF在运行中会有一个问题就是它只对相邻节点进行操作,这样会损失一些上下文信息,而全连接条件随机场是对所有节点进行操作,这样就能获取尽可能多的临近点信息,从而获得更加精准的分割结果。

【语义分割】 

CV之语义分割√:在计算机视觉领域,目前神经网络的应用主要有图像识别,目标定位与检测,语义分割图像识别就是告诉你图像是什么,目标定位与检测告诉你图像中目标在哪里,语义分割则是从像素级别回答上面两个问题。目前语义分割的应用领域主要有:地理信息系统、无人车驾驶、医疗影像分析(随着人工智能的崛起,将神经网络与医疗诊断结合也成为研究热点,智能医疗研究逐渐成熟。在智能医疗领域,语义分割主要应用有肿瘤图像分割,龋齿诊断等)、机器人等领域。

图像语义分割(semantic segmentation),从字面意思上理解就是让计算机根据图像的语义来进行分割,例如让计算机在输入下面左图的情况下,能够输出右图。语义在语音识别中指的是语音的意思,在图像领域,语义指的是图像的内容,对图片意思的理解,比如左图的语义就是三个人骑着三辆自行车;分割的意思是从像素的角度分割出图片中的不同对象,对原图中的每个像素都进行标注,比如右图中粉红色代表人,绿色代表自行车。

语义分割中的深度学习技术:全卷积神经网络 FCN(2015)所追求的是,输入是一张图片是,输出也是一张图片,学习像素到像素的映射,端到端的映射。也是深度学习应用于图像语义分割的开山之作,获得了CVPR2015的最佳论文。但还是无法避免有很多问题,比如,精度问题,对细节不敏感,以及像素与像素之间的关系,忽略空间的一致性等,后面的研究极大的改善了这些问题。主要使用了三种技术:

 其他:

 【综述】

全☆:语义分割(全像素语义分割)作为经典的计算机视觉问题(图像分类,物体识别检测,语义分割)。其涉及将一些原始数据(例如:平面图像)作为输入并将它们转换为具有突出显示的感兴趣区域的掩膜,其中图像中的每个像素根据其所属的对象被分配类别ID。早起的计算机视觉问题只发现边缘(线条和曲线)或渐变元素,但它们从完全按照人类感知的方式提供像素级别的图像理解。语义分割将属于同一目标的图像部分聚集在一起解决这个问题,从而扩展了其应用领域。值得注意的是,与其他的基于图像的任务相比,语义分割是完全不同且先进的。深度学习方法:

1、FCN主要贡献:

将端到端的卷积网络推广到语义分割中;

重新将预训练好的Imagenet网络用于分割问题中;

使用反卷积层进行上采样;

提出了跳跃连接来改善上采样的粗糙程度。

2、UNet主要贡献:

U-Net设计的就是应用于医学图像的分割,但由于医学影像处理本身的特殊性,能够使用用于训练的数据数量还是比较少的,本篇论文提出的方法有效的提升了使用少量数据集进行训练检测的效果. 提出了处理大尺寸图像的有效方法.

overlap-tile策略
随机弹性变形进行数据增强
使用了加权loss

http://t.csdn.cn/Yd8xk

语义分割(Semantic Segmentation):语义分割是当今计算机视觉领域的关键问题之一。从宏观上看,语义分割是一项高层次的任务,为实现场景的完整理解铺平了道路。场景理解作为一个核心的计算机视觉问题,其重要性在于越来越多的应用程序通过从图像中推断知识来提供营养。其中一些应用包括自动驾驶汽车、人机交互、虚拟现实等,近年来随着深度学习的普及,许多语义分割问题正在采用深层次的结构来解决,最常见的是卷积神经网络,在精度上大大超过了其他方法。以及效率。             什么是语义分割?语义分割是从粗推理到精推理的自然步骤:原点可以定位在分类,分类包括对整个输入进行预测;下一步是本地化/检测,它不仅提供类,还提供关于这些类的空间位置的附加信息;最后,语义分割通过对每个像素进行密集的预测、推断标签来实现细粒度的推理,从而使每个像素都被标记为其封闭对象矿石区域的类别。

一个通用的语义分割体系结构可以被广泛认为是一个编码器网络,然后是一个解码器网络:编码器通常是一个预先训练的分类网络,如vgg/resnet,然后是一个解码器网络。解码器的任务是将编码器学习到的识别特征(低分辨率)语义投影到像素空间(高分辨率)上,得到密集的分类。
与分类不同的是,深度网络的最终结果是唯一重要的,语义分割不仅需要在像素级别上进行区分,而且还需要一种机制将编码器不同阶段学习到的区分特征投影到像素空间上。不同的方法使用不同的机制作为解码机制的一部分。探讨三种主要方法:

1-基于区域的语义分割

 2-全卷积网络语义分割

 3-弱监督语义分割

 4.用全卷积网络进行语义分割

其他补充:

1、将关键点检测问题转化优化问题:主动形状模型(ASM)和主动表观模型(AAM):AAM在 ASM 基础上融入更多图像中的整体表观信息,用于更好的去描述全局的特征,提高检测鲁棒性和健壮性。 

主动形状模型:是一种较为成熟的人脸特征点定位方法。它用局部纹理模型在特征点周围进行局部搜索,用全局统计模型约束特征点集组成的形状,二者反复迭代,最终收敛至最优形状。主动形状模型在速度方面具有较大优势,一般应用于实时性要求较高的场合。                主动形状模型(ASM)最初由Cootes等人提出的,它在思想上类似于主动轮廓模型,即定义一个能量函数,通过调整模型参数使能量函数最小化。主动形状模型是一种应用广泛且发展成熟的人脸特征点定位方法。人脸特征点定位是人脸识别中的核心问题之一,它指的是在图像或图像序列的给定区域内搜索部分或所有人脸特征(如眼、鼻、嘴、耳等)的位置、关键点或轮廓线。在定位图像中的人脸特征点之前,人脸图像对计算机而言只是像素值的集合;只有定位特征点之后,计算机才能够进一步解释人脸图像。实际上,人脸特征点定位完成了从像素级别的低层语义向特征级别的高层语义的转化。

 AAM (Active  Appearance  Model)是广泛应用于模式识别领域的一种特征点提取方法[26]。基于 AAM 的人脸特征定位方法在建立人脸模型过程中,不但考虑局部特征信息,而且综合考虑到全局形状和纹理信息,通过对人脸形状特征和纹理特征进行统计分析,建立人脸混合模型,即为最终对应的 AAM 模型。在图像的匹配过程中,为了能够既快速又准确地进行人脸特征标定,在对被测试人脸对象 进行特征点定位时采取一种图像匹配拟合的方法,可形象概括为“匹配→比较→ 调整再匹配→再比较”的过程。

2、传统ML非端到端,DL端到端

非end2end:在传统的机器学习中,其学习流程通常由多个过程化化模块构成,这些模块各自负责相对独立的任务,但是其任务执行的结果往往会影响下一个模块的效果,最终影响到整个训练的效果,这种机器学习模型是非端到端的。在典型的自然语言处理问题中,包括分词、词性标注、句法分析、语义分析等多个独立步骤,先导步骤的效果往往会影响接下来的步骤结果;在传统语音识别系统中,包括特征提取模块、声学模型、发音词典、语言模型、解码器等模块,传统的语音识别中的语音模型和语言模型是分别训练的,单个模型的优化不一定能提高总体上的识别率。       

end2end:而端到端学习的思路是直接通过深度学习模型,在输入端输入数据,从输出端得到预测结果,与真实结果比较得到误差,将误差在模型中逐层反向传播并进行调整,直到模型收敛或达到预期效果结束训练。

理解适用场景端到端的缺点:把可能有用的人工设计的组件排除在外 

理解机器学习最开始的时候,人们并不是直接输入原始数据,获得最终结果;而是首先通过特征提取,对原始数据进行初步的处理,然后再对于得到的特征进行学习,得出分类or回归的结果。因此,在这种情况下(非端到端),特征的提取会对模型的最终表现有着巨大的影响。而特征描述符的书写又具有很大的经验成分,所以是一件比较困难的任务。        端到端的学习,就是把特征提取的任务也交给模型去做,直接输入原始数据或者经过些微预处理的数据,让模型自己进行特征提取。

表征学习Representation Learning机器学习算法的work与否不仅仅取决于算法的正确选用,也取决于数据的质量和有效的表示(representation)。针对不同类型的数据(text,image,video),不同的表示可能会导致有效信息的缺失或是曝露,这决定了算法能否有效地解决问题。表征学习的目的是对复杂的原始数据化繁为简,把原始数据的无效的或者冗余的信息剔除,把有效信息进行提炼,形成特征(feature)特征提取可以人为地手工处理,也可以借助特定的算法自动提取。简而言之,前者为特征工程,后者为表征学习。如果数据量较小,我们可以根据自身的经验和先验知识,人为地设计出合适的特征,用作下游的任务,比如分类;但数据量很大且复杂时,则需要依赖自动化的表征学习。

表征学习同样在人工智能领域有着相当重要的地位。 我们已经知道人类的信息处理过程与长期记忆和短期记忆密切相关。短期记忆是短期存储的记忆,长期记忆就是我们大脑中长期存储的知识,就像在图书馆中存储的海量文献。根据这个简单的信息处理模型,再加上计算机更快的计算速度和海量的存储空间,人工智能应该比人类更为强大才是。但至少到目前,我们看到的情况并非如此。这其中一个重要的原因就是我们还未能破解人类大脑究竟是如何对数据进行编码,和对知识进行存储的。处理外界信息的第一步就是要将其编码,投影到某一空间。比如说,当人类仅需要几个例子就可以区分猫和狗的不同,而机器却需要大量数据训练时,我们不由得想要探寻:人类是如何对图像进行编码的?他提取了哪些特征可以通过少量样本进行学习?为什么人类学习的知识更灵活,可以在更多方面应用,而机器学习的模型通用性往往很差?这正是表征学习探索的目标:寻找对数据更好的表示方式

Image的表征学习:代表的算法大致可分为三个研究方向:

  • 监督学习 Supervised learning,需要大量的标注数据来训练神经网络模型,利用模型的预测和数据的真实标签的cross-entropy损失进行反向传播,完成模型训练之后,移除最后一层fc层,把模型的输出作为数据的Representation。

  • 无监督学习 Unsupervised learning,如主成分分析(PCA)及自编码器(Autoencoder)通过对输入数据进行维度压缩,从而抛弃和合并冗余的信息,选择出最关键的浓缩信息

  • 自监督学习 Self-Supervised Learning,利用大规模的无标注的数据,选择合适的辅助任务(pretext)和自身的监督信号,通过这种构造的监督信号对网络进行训练,从而可以学习到对下游任务有价值的Representation。

2stage算不算端到端:所谓端到端的意思是图像输入模型处理后直接输出期望结果,且训练过程中可以直接更新模型参数至于他有几个阶段,哪怕多个stage只要能一把头梯度反传,同时优化多个模型也叫端到端。就比如gan相关的技术,又有鉴别器又有生成器,两个完全独立的模型在一个框架下可以同时优化,那他就是端到端的训练方式。再比如R-CNN不是端到端,这里面有个rpn网络需要先训练,训练好之后再训练后面的分类回归网络,完成一项目标并没有一次性训练就可以达到结果。在fast-RCNN之前的RCNN和SPPNet都不是端到端的训练,因为最后的类别分类和边框回归是分开进行的。

多任务和端到端学习

沙漏网络(Hourglass  Networks)

基于深度卷积神经网络构建的深度学习模型

猜你喜欢

转载自blog.csdn.net/sinat_40759442/article/details/127634907
今日推荐