对医学图像分割未来发展方向的一些讨论
创建日期: 2020-02-19 23:59:39
实现医学图像的自动分割是一个非常有价值的工作,我也很看好这个方向的实用价值,特别是目前我国国民平均生活水平大幅上升、同时即将到来的人口老龄化时代,每个人对自身身体健康越来越关心,即使我国的医疗卫生体系已经快速发展,但还是不能满足巨大的的医疗资源需求(当然不包括莆田系)。现在是2020年2月中旬,新冠肺炎已基本得到有效控制,这次疫情导致从国家到个人都遭受了不同程度的损失,也是对国家可调配医疗资源的一次考验,想必疫情期间暴露出的许多问题大家也或多或少的听说过。但总的来说,这次疫情要比2003年SARS要严重得多,但我们能在短短一个多月的时间内控制此次疫情的蔓延,说明我国的医疗技术确实进步巨大。
前几天阿里达摩院做的一个利用肺部CT影像的基于深度学习的新冠肺炎诊断算法(ref="https://www.zhihu.com/question/372335557/answer/1024183653">如何看待阿里达摩院研发的新冠肺炎CT 影像 AI 诊断技术,平均识别不到 20 秒准确率达 96%?),并投入到疫情前线进行辅助诊断。这确实是一个好消息,说明这个行业拥有应用价值,但如果是相关专业内的研究人员应该明白,从技术上来说,5000多张CT(我目前还没找到正负样本比例)来训练一个准确率96%的模型并不困难,因为新冠肺炎的CT切片和正常肺部切片有明显的区别。但是单单准确率是无法说明算法的性能的,尤其是在医学影像分析领域,样本不平衡的问题,噪声干扰问题和漏检导致的严重后果是必须要考虑在内的。对于样本不平衡的任务,ROC曲线和AUC值、F1-Score更能说明性能。今后几年,医疗健康行业的风口或将到来。
本文基于本专栏里面的《基于深度学习的自然图像和医学图像分割》系列文章,总结一下当前或未来医学图像分割任务值得研究的一些问题,也可以说是还可以填的坑主要在哪方面。
- 网络结构设计
图像语义分割任务相关论文中,网络结构设计创新占了很大的比重(详见:基于深度学习的自然图像和医学图像分割:网络结构设计)。因为改网络结构效果显著而且可以方便地迁移其他任务(检测、分类等)的网络设计方法,门槛相比于设计loss函数要低很多,十分有利于量产papers =_=||。
通过对近几年的经典模型的分析,可以发现具有长/短跳跃连接(long/short skip connection)的编码器-解码器结构(Encode-Decode)是一个成功的整体架构(说的就是U-Net)。ResNet网络证明了网络深度对模型性能的提升效果以及残差结构对梯度传播的有效性。深层网络中跨层的跳跃连接可以促进梯度传播,从而较少了梯度弥散的风险,进而可以提高模型的分割性能。跳跃连接可以使模型提取更丰富的特征表示,但会以更高的资源占用为代价。网络结构设计的一个研究方向是优化跳跃连接方式及其传输的数据量,合理地使用跳跃连接。
此外,针对网络模块的设计也是非常值得探索的,近几年利用空洞卷积的特征金字塔广泛应用于分割问题。空洞卷积用少量参数即可获得较大的感受野,特征金字塔可以捕获不同scale的特征,利用这些已证明可靠性的基础操作,来设计特征提取模块非常值得研究,相对门槛也较低。
当然手工设计模型结构确实需要一定的经验,所以神经架构搜索(NAS)逐渐取代人工设计是不可避免的,而且2019年开始已经在很多件CV子领域内取得了比人工设计性能更优的成果。但是,NAS技术所需的硬件资源劝退了一大批实验室,只有大厂才有这个资格。一个可信的路线是:用NAS技术搜索小网络模块,然后人工组建深层网络再进行训练。这种思路相比于直接搜索整个网络可能是次优的,但值得一试。
还有一个方向是对卷积方式的设计。如空洞卷积、可变形卷积、self-attention等等,都是非常优秀的思路,但仍然没有跳出传统卷积方式的范畴。
而跳出传统卷积方式的就是图神经网络(GNN),尤其是图卷积神经网络(GCN),在非欧数据(点云体素等)处理上表现优异。在三维分割问题上是有研究价值的。(去年探索了一下这个方向,没人带的话确实不好开展研究,首先点云数据处理都是问题,遂放弃) - 2D序列模型/3D卷积模型设计
序列模型可以用来分割拥有时间轴的数据,例如相机视频,内窥镜视频等等。序列模型也可以应用于3D医学数据分割,但是使用3D卷积处理3D数据要比使用2D序列模型逐切片处理3D数据的更有优势。 因为在理想情况下,在3D数据中直接观察整个感兴趣对象(病灶或器官)可以更加准确地捕获对象的几何信息,而在逐切片处理3D数据时可能会丢失这些几何信息。 因此,一个可研究的方向是2D序列模型设计和3D卷积模型的设计,来处理点云、CT、MRI等三维数据。 - 损失函数设计
在医学图像分割任务中,研究人员已趋向于使用经典交叉熵和一个基于距离或重叠度度量加和的损失函数,此外有可能加入从先验知识得到的正则化项(详见:基于深度学习的医学图像分割:损失函数设计)。 特别对于医学数据,将领域知识或先验知识(例如在深层模型中明确编码不同器官的位置)结合起来更加明智。尽管基于重叠度的损失函数适用于类不平衡的情况,但是仅使用基于重叠度的损失函数会在分割小前景的情况下过度惩罚模型,导致训练的不稳定。 而同样针对小前景情况,交叉熵损失要更加稳定,可以得到更加合理地损失值。
损失函数设计相对而言是一个门槛比较高的方面,一般情况下我们可以直接使用比较成熟的基于交叉熵和重叠度融合的损失函数,例如Combo Loss。如果需要进行改进的话,可以在交叉熵损失函数或重叠度损失函数的基础上,加入由先验知识指导的正则化项。 另一个可尝试的途径是基于神经架构搜索的自动损失函数(或正则项)搜索。 - 其他相关研究方向
以下介绍一些(医学)图像分割其他相关方向及相应的文献资料。
医学图像的成像方式众多且存在大量噪声,而且医学图像数据量十分有限。一个值得研究的方向是使用在非医学图像上预训练的深度学习模型进行医学图像分割(迁移学习)。(Understanding transfer learning with applications to medical imaging)
创建用于医学图像分割的大型2D/3D医学基准数据集,例如Medical Segmentation Decathlon。这使得研究人员可以准确地比较不同的算法,并针对特定的数据集/问题不断进行改进。数据集制作一般个人是无法搞定的,只有大型机构才有这个资金来做。我们的话,拿来用用就好。(A large annotated medical image dataset for the development and evaluation of segmentation algorithms)
CNN拥有强大的特征提取能力,但会丢失对象边界应在何处的局部空间信息。 一些研究人员寻求传统的计算机视觉方法来克服此问题,例如条件随机场(CRF),但是CRF为模型增加计算时间。
用强化学习技术模仿人类进行描绘(分割)的方式,来进行自然(医学)图像语义分割。有点意思,不会。(Automatic seed generation with deep reinforcement learning for robust interactive segmentation. )
深度学习模型可解释性研究。例如研究分割模型性能提升的关键设计,可以指导新网络设计。
弱监督学习。精确标注的医学图像数据很难获取,使用图像级标签进行弱监督分割是一个值得研究的方向。
预处理模块设计。即修改网络的输入,利用预处理增强特征,有利于网络学习。(Learning normalized inputs for iterative estimation in medical image segmentation.)
对医学图像可利用的先验知识的研究,指导模型结构和损失函数的设计。
探索segmentation-free的方法,即根据目标问题绕过(回避)分割步骤。(Segmentation-free kidney localization and volume estimation using aggregated orthogonal decision CNNs)
参考文献:
Deep Semantic Segmentation of Natural and Medical Images: A Review