| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> U-Net++(Redesigning Skip Connections to ExploitMultiscale Features in Image Segmentation)论文详解 -> 正文阅读 |
|
[人工智能]U-Net++(Redesigning Skip Connections to ExploitMultiscale Features in Image Segmentation)论文详解 |
目录 5.Cell, EM, and Brain Tumor数据集上的效果 1.论文下载地址https://arxiv.org/pdf/1807.10165.pdf 注:由于本人自己设备的问题和很多理论不完善,以下所有的结论和知识点都来自论文本身。 2.提出背景主要是由于之前的模型U-Net和FCN都存在一定的缺点,所以针对这些缺点进行改进: 缺点; ? ? (1)选择的模型最佳深度是先验未知的,需要广泛的结构搜索或者各种深度模型的集成; ? ? (2)设计的跳跃连接(skip connection)推行了一个没有必要地限制融合架构,仅在编码(encode)和解码(decode)子网络中相同尺度的特征图上强制进行聚合。 改进思路: ? ? ? (1)以有效的方式减轻未知网络深度不同深度的U形网的集合,部分共享使用深度超视差同时进行编码器和共学习; ? ? ? (2) 重新设计跳过连接以聚合的功能解码器子网络的不同语义尺度涉及高度灵活的特征融合方案; ? ? ? (3)设计一个 用于加快UNet++推理速度的剪枝方案。 3.主要贡献(1)引入了一个内置的不同深度的U-Net++集合,能够提高不同大小目标的分割性能,这是在对固定的U-Net的改进。 (2)重新设计了跳跃连接(skip connection),在解码器中实现了灵活的特征融合,主要是针对U-Net中限制跳跃连接的改进,U-Net只能融合相同比例的特征图。 (3)修剪一个经过训练的U-Net++,在保持其性能的同时加快其推理的速度。 (4)同时训练嵌入在U-Net++架构中的多深度的U型网络,激励了组成U型网之间的协作学习,所以比单独训练相同架构的U型网络性能好得多。 (5)U-Net++对多个主干编码器的可扩性,并且对各种医学生成模式的适用性,包括CT,MRI和电子显微镜。 4.网络结构其中: (1)每一个黄色的圆圈表示一个卷积块; (2)向下(↘)的 箭头下采样(sub-sampling),向上(↗)的箭头表示上采样(up-sampling); (3)虚线箭头表示跳跃连接(skip connection); (4)从a-d表示不同深度的U型网路结构,U-Nete表示系统结构,由不同深度的U-Net网络组成的一个统一的结构(共享相同的编码器)。在U-Nete网络中为每一个U型单独定义一个损失函数进行训练。并且我们使用的deep supervision不同于其他的深层图像分类和图像分割网络中监督。但是这种结构的设计还是存在缺点,第一:解码器是断开的,也就是较的U-网不向总体中较浅的U-网的解码器提供监督信号;第二:U-Nete中的使用的跳跃连接是不必要的限制,要求网络将解码器特征图与来自编码器的相同比例的特征图进行结合。所以引入了下面的U-Net+和U-Net++. (5)其中的f图是通过U-Nete通过丢弃原始跳跃连接,并用跳跃连接连接每两个相邻结点来构建,使得较深的解码器能够向较浅的解码器发送监督信号; (6)其中的g图通过连接解码器从U-Nete来构建,形成了密集连接的跳跃连接,使得密集特征能够沿着跳跃连接传播,从而能够在解码器节点处更加灵活地进行特征融合;如果从水平放向来看的话,U-Net++解码器中的每个节点都以相同的分辨率组合了来自其所有先前节点的多尺度特征;如果从垂直放向来看,集成了来自其先前节点的不同分辨率的多尺度特征。 注:由于U-Net++多尺度特征聚合逐渐综合了分割,从而提高了准确性并加速了收敛的速度。 (7)公式 5.Cell, EM, and Brain Tumor数据集上的效果其中: U-Net L^d:其中d(depth)表示在U-Net基础上的深度; DS:表示 深度监督训练之后的平均投票数。 IoU:用来评估其平均的性能对比。 6.深度监督(deep supervision)主要是将1x1卷积以及随后的Sigmoid激活函数附加到节点,x^(0,1),x^(0,2),x^(0,3),x^(0,4)的输出,在给定的数据集中观察到的类的数量。之后为每个语义尺度定义一个像素交叉熵损失函数和soft-dice系数损失组成的混合分割损失,这样就可以利用到平滑梯度和处理类不平衡问题。 7.模型修枝有了深度监督(deep supervision)支持模型修枝,所以U-Net++可以部署到以下两种模式中: ? ? ? ?(1)整体模式:其中分段收集来自所有分割分支的分割结果,然后进行平均。 ? ? ? ?(2)修枝模式:其中分段仅从一个分割分支总选择分割输出,分支的选择决定了模型的范围修枝和速度增益。 如图所示:各种在修枝结构的分割分支结果的选择 注:修枝期间删除的节点为灰色?。 不同修枝水平下的U-Net++的复杂度,也就是参数量大小,推理时间,IoU的比较。 ?由于引入了深度监督(deep supervision),可以获得深度d处已训练的U-Net+较浅版本,所以可以完全移除深度d+1的解码器,这样的修枝可以显著的降低推理的时间,但是分割的性能有所下降。比如U-Net++ L3的推理时间平均减少了32.2%,内存占用75.6%,而IoU性能仅下降0.6%,如果继续修剪的话,会导致IoU显著的降低。 8.实验中的数据集实验的数据集: 实验在数据集上的结果: 详细数据集的介绍: (1)电子显微镜(Electron Microscopy)该分割数据集由分割挑战提供,作为ISBI 2012的一部分;其中数据集由30张连续切片电子显微镜下图像组成(果蝇初龄幼虫腹神经图);每一张分割图像都带有一个完全标注的白色细胞和黑色细胞膜。标注的分割图像划分为24张训练集图像,验证集3张图像,测试集3张图像。训练都是基于96x96个小块来完成,并且这些小块通过滑动窗口选择来重叠小块大小的一半,也就是说在推理的过程中通过在重叠区域投票来汇总跨片的预测。 (2)细胞(Cell)数据集是采用细胞CT成像系统采集的,都是通过专家手动分割收集的图像。所以在数据集中的每一张分割图像都是带有两个二进制单元标签。在本文中选择354张图像的子集。其中212张分割图像作为训练集,70张分割图像作为验证集,72张分割图像作为测试集。 (3)细胞核(Nuclei)该数据集是由Data Science Bowl 2018分割挑战提供的,其中数据集来自不同模态的670个分割的细胞核图片组成。这也是在本实验中唯一使用实例标注的数据集。其中每一个核仁都用不同的颜色标注。分割图片随机的分配50%作为训练集,20%作为验证集和30%作为测试集,这里也是使用滑动窗口从图像中提取96x96个块,以32像素的步距用于训练和验证模型,以1像素的步距作为测试。 (4)Brain Tumor该数据集由BraTS 2013提供的,使用所有来自患者的MR图像的Flair, T1, T1c, and T2扫描20个高等级(HG)和10个低等级(LG)来训练模型,产生66,348个切片,通过重新缩放切片来对图像进行预处理256,256张。数据集中的30名患者被随机的分配到五个文件夹中,每个文件夹都有来自6名患者的图像,其中3个用于训练,1个用于验证和1个用于测试。真实的分割中有四种不同的标记:necrosis, edema, non-enhancing tumor, and enhancing tumor.所有的四个标签认为是正样本,而其他的标签视为负样本进行评估。 (5)Liver数据集由MICCAI 2017 LiTS Challenge提供,由331次CT扫描组成。其中训练集包含100名患者,验证集包含15名患者,测试集包含15名患者的子集。分割提供了两个不同的标签:liver and lesion(肝脏和病变),在本文中将Liver视为正阳本,lesion视为负样本。 (6)Lung Nodule数据集由Lung Image Database Consortium image collection (LIDC-IDRI)提供。并由七个学术中心和八个医学成像公司收集的1018个病例组成。训练集包含510,验证集包含100和测试集包含408.其中的每个病例都是3D扫描的,节点被标记为体积二元标签。按照1-1-1的间距对其进行了重新采样,每个Lung Nodule周围提取64x64x64。用于模型的训练和评估。 9.基准和实施为了作比较,使用原始的U-Net,制定宽U-Net架构,V-Net和用于2D分割任务的定制宽V-Net架构。以下是对比的结果: ?注:使用Dice和IoU进行评估。 10.实验结果(1)语义分割结果?对比了U-Net,wide U-Net,U-Net+和U-Net++的在六个分割任务上的参数量和IoU测量结果,可以发现wide U-Net始终优于U-Net。主要是因为wide?U-Net的参数量比U-Net大的原因。对于六个任务 neuronal structure (↑0.62±0.10, ↑0.55±0.01), cell (↑2.30±0.30, ↑2.12±0.09), nuclei(↑1.87±0.06, ↑1.71±0.06), brain tumor (↑2.00±0.87, ↑1.86±0.81), liver (↑2.62±0.09, ↑2.26±0.02)and lung nodule (↑5.06±1.42, ↑3.12±0.88),使用deep supervision和average vote。对U-Net++进行改进之后,结果提升了0.8%,其中neuronal structure和lung nodule的提升最明显。 ? ? 进一步对vgg19 ,?resnet-152 ?and densenet-201结构进行了研究。 通过增加了一个解码器子网络,并对U-Net++重新设计的连接改为了U-Net普通skip connection。 为了作比较,也使用前面提到的主干架构训练了U-Net和U-Net+.使用的主要数据集是EM,Cell,Nuclei,Brain Tumor and Liver五大数据集。可以看到U-Net++总是比U-Net+和U-Net要好。 (2)实例分割结果实例分割包括分割和区分所有目标。也就是说实例分割是将图像中的所有目标(不管是不是同类的目标)都进行分割。 ?这里使用Mask-RCNN作为实例分割的基准模型,Mask-RCNN使用特征金字塔网路(FPN)作为主干,在多个尺度上生成目标预选,然后通过分割分支输出所收集的预选的分割mask。对Mask-RCNN的主要修改是通过U-Net++重新设计的skip connection替换FPN中的普通的skip connection,称之为Mask-RCNN++。 ? ?在Mask-RCNN中使用Resnet101作为主干网络。选择了nuclei数据集。可以看到Mask-RCNN都要比其他的模型都要好。 (3)模型修枝的嵌入式和隔离式训练首先训练U-Net++有两种方式: ? ? ?第一种:嵌入式训练,首先训练完整的U-Net++模型,然后再深度d处修枝可以得到U-Net++ L^d; ? ? ?第二种:隔离式训练,在不与更深的编码器和解码器进行任何交互式的情况下,隔离式训练U-Net++ L^d. ?子网络的嵌入式训练包括deep supervision,只训练所有图中的节点(黄色的和灰色的),但是在推理的时候只使用黄色的子网络。相比于隔离式训练,只是从图中移除灰色节点,仅基于黄色的子网络进行训练和测试。 ? ?可以发现对U-Net++的嵌入式训练比单独训练相同架构会产生更高的性能模型。也就表名深层下游的监督信号能够训练更高性能的浅层模型,这一点也和知识蒸馏有关,在知识蒸馏中,深度教师网络学习的知识由浅层深度的学生网络学习。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:37:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |