基于UNet+网络进行细胞图像识别与分割
Posted 卓晴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于UNet+网络进行细胞图像识别与分割相关的知识,希望对你有一定的参考价值。
- 作者:王祥鹤
§01 数据处理流程
随着技术发展,细胞图像能够为人们提供越来越丰富的信息,但是这些信息难以直接地被获取,因此通过机器学习方法进行图像分割,智能化地提取细胞图像中的细胞及其所包含的信息,便是本次综合论文的任务要求。
即本次人工神经网络期末论文选取了细胞实例分割这一领域,采用pytorch
框架下的UNet3+
网络,实现细胞识别与分割的人工神经网络模型参数学习,以及最终的测试集结果与可视化,完成这次综合论文的学习、实践与探索。
▲ 图1.1 细胞Mask
本次综合论文采用UNet3+
网络,对于遇见的问题,需要做的预处理包括数据增强及GroundTruth
标签处理,分别是为了增强模型泛化能力、匹配网络输入以及将实例分割与语义分割问题相转化,以更好地使用UNet3+
网络对当前的输入图片与细胞分割问题进行处理。中途还遇见了包括GPU
使用、文件格式匹配以及输入图像大小与网络输入匹配等多方面问题,具体实现方案及问题处理详见正文部分。
综合论文整体流程图如下:
▲ 图1.2 论文中的数据处理流程
§02 文献调研
2.1 R-CNN算法
Mask R-CNN
算法,其将整张输入图片输入CNN
进行特征提取,在最后一层卷积特征图上,通过FPN(Feature Pyramid Network)
生成ROI(Region of Interest)
,每张图约300
个建议窗口;最后通过ROIAlign
层使建议窗口生成固定大小的featuremap
,得到softmax
分类、每类的bounding box
回归与ROI
的二进制掩码Mask
等三个输出向量。
Mask R-CNN
算法的优点在于其综合了分类、回归与分割等三个任务一同进行,同时其在原本Faster-RCNN
的框架下,经过多阶段的优化,得到了更好的处理结果;然而,采用FPN
会带来巨大的搜索空间,也必然带来数据处理时间与资源上消耗的提升,此即其不足之处之一。
▲ 图2.1.1 Mask R-CNN算法结构
2.2 系列算法
UNet
算法,相比FCN
算法稍晚提出,采用Encoder-Decoder
结果,将整张图片输入深度学习网络,进行多次卷积、池化等操作,同时采取上采样、下采样以及多尺度跳跃连接等操作,使得网络呈现一个U
型,也因此得名。
UNet
算法适用于数据较大的医学图像处理,因医学影像的语义较简单、结构较固定,其优点在于数据量较小时的较好表现,以及多模态特征适用性和良好的可解释性;但其并未从多尺度中表达足够信息,因此本次大作业采取UNet3+
网络,采用全尺度跳跃连接和深度监督,可以减少网络参数、提高计算效率,同时提升其对于不同规模器官的适用性,获得更准确的分割结果。
▲ 图2.2.1 UNET系列算法
§03 算法实现
3.1 数据处理流程
对输入图片进行80%
与20%
的训练集与验证集划分,并分别做如下数据增强处理:
对于训练集,对于输入图片与GroundTruth
整体进行随机剪裁,并以给定概率随机水平翻转以及随机的45
°旋转,以提高模型最终的泛化能力,并将其进行Resize
操作;对于输入图像本身,进行包括对比度、饱和度等的颜色增强,并将其转为Tensor
格式;对于验证集,整体输入行Resize
操作,对于图像本身转为Tensor
格式。
3.2 算法原理
整体的网络输入为待处理图像,输出为分割后的结果;每层的输入为上一层经卷积激活并池化后的结果,输出为处理后图像。整体步骤如下图所示,对于输入图像进行共计五层的卷积和激活、四层的池化和四层上采样操作,同时进行全尺度跳跃连接,并在含深度监督的版本中,使用GroundTruth
对上采样部分进行Deep Supervision
,卷积核与卷积池化等参数,见下图及代码注释。
▲ 图3.2.1 算法网络结构
3.3 实现过程
如流程图所示,模型训练以及模型测试和结果可视化,其主要具体实现过程分别如下,采用如图与代码所示的模型与函数。
▲ 图3.3.1 算法实现过程
3.4 实验结果与分析
由验证集准确率及测试集得分可知,整体模型的准确率与泛化能力均较强,通过可视化结果与提供demo
的对比也可得出这一点。
§04 实验总结
本次综合论文中,不论是对算法的理论学习,还是对于UNet3+
网络的研究与实际编写,以及进行数据增强与实际程序编写的实践,都使我受益匪浅。
在理论分析中,我再度深入调研了各种网络,并在对于医学影像表现较好的UNet
系列中,决定采用UNet3+
网络进行详细分析,与深入研究;对于程序部分,我先搭建好了程序的整体框架,在验证UNet3+
算法对该问题的有效性之后,开始寻找一个个参数的调优方式。从学习率𝛼𝛼、随机概率𝑝𝑝等等参数中,一次次寻找计算量和训练效果之间的平衡,最终得到了较为理想的模型。
▲ 图4.1 用于分割的Cell数据集合
4.1 数据连接
- 数据标注:<https://cloud.tsinghua.edu.cn/f/8849ed2d8bb041c4a556/>
- 测试结果:<https://cloud.tsinghua.edu.cn/f/597333a1ca9b4cdba8f5/>
- 可视化结果:<https://cloud.tsinghua.edu.cn/f/1d54d98175e140a4b789/>
▲ 图4.1.1 Visual数据集合
● 相关图表链接:
- 图1.1 细胞Mask
- 图1.2 论文中的数据处理流程
- 图2.1.1 Mask R-CNN算法结构
- 图2.2.1 UNET系列算法
- 图3.2.1 算法网络结构
- 图3.3.1 算法实现过程
- 图4.1 用于分割的Cell数据集合
- 图4.1.1 Visual数据集合
以上是关于基于UNet+网络进行细胞图像识别与分割的主要内容,如果未能解决你的问题,请参考以下文章