本文已在飞桨公众号发布,查看请戳链接:
基于Transformer实现更精准的脑出血多标签分类

灵医智惠是百度旗下深耕医疗领域的AI医疗品牌,多年来一直致力于将AI能力深度赋能医疗行业,加速智慧医疗产业落地。在医疗影像分析领域,灵医智惠也具备了丰富的技术积累,并基于百度飞桨打造了AI影像能力中台EasyMIA(Easy Medical Images Analysis)。目前,EasyMIA已经覆盖眼底影像、CT、MRI、病理切片、皮肤影像等大健康场景下的多种影像分析能力。

背景介绍

颅内出血是严重的健康问题,需要快速的医疗手段介入。脑出血的多标签分类,是脑CT影像分析领域的重要研究方向之一。本次开源的颅内出血多标签分类能力(Intracranial Hemorrhage Detection, IHD)是EasyMIA平台上孵化出的一项业界领先的影像能力。与集成了20个模型的RSNA-IHD竞赛第一名方案相比,百度灵医智惠的模型只需要约1/4的参数和1/10的FLOPs,仅使用单个模型即可实现更精准的脑CT出血分类结果。IHD任务需要为输入的脑CT预测每个切片的出血类别。我们回顾了北美放射学会(RSNA)在 2019 年举办的 IHD 竞赛的top-5解决方案,几乎所有的获胜方案都依赖于2D卷积网络和序列模型(双向GRU或LSTM)来提取切片内和片间特征。在过去几年中,计算机视觉领域取得了很大进展,尤其是基于Transformer的模型在计算机视觉领域大放异彩。因此,我们引入了Transformer来更有效地提取IHD 任务的切片内和切片间的特征。

任务定义

为了鼓励脑出血多标签分类算法的研发,2019年,北美放射学会(Radiological Society of North America, RSNA)在Kaggle竞赛平台上举办了一场国际级算法竞赛(RSNA-IHD)。该竞赛要求参赛选手设计多标签(multi-label)图像分类算法,根据输入的CT切片,判断是否存在颅内出血、及每个具体出血类型。具体来看,根据出血部位的分布,脑出血可以分为5类:分别为硬膜外出血(EDH)、脑实质内出血(IPH)、脑室内出血(IVH)、蛛网膜下腔出血(SAH)、硬膜下出血(SDH)。选手设计的算法需要对每个CT切片,输出一个包含6个元素的概率向量,分别指示切片中是否存在出血和5类具体的出血类型。算法性能通过加权多标签对数损失(log-loss,越低越好)来评估。

图1 脑出血多标签分类及定义

方案选择

榜单中的领先方案

在竞赛中,涌现出许多出色的算法方案。这些方案均首先使用卷积模型提取切片内的图像特征(intra-slice features),接着由序列模型提取切片间特征(inter-slice features)。但是,这些方案存在以下两类问题:

  1. 这些方案在切片内、切片间特征提取阶段,均采用了大量模型集成融合的方案,以提升模型性能。因此,切片内与切片间特征提取过程(模型)是解耦的,无法在GPU上同时训练。这一现象导致了误差累积,限制了解决方案性能的上限。

  2. 大量模型集成融合的方案虽然有利于竞赛成绩的提升,但这类方案因模型数量众多而难以部署至临床环境,推理耗时较长,不利于快速诊断患者的病情。例如,RSNA-IHD竞赛的第一名在切片内特征提取阶段就融合了15个模型,总计参数量超过3.3亿,单次推理运算量超过180G FLOPs。作为对比,我们的方案整体参数量仅为0.86亿,单次推理仅需15G FLOPs。

表1 本文方案与竞赛获胜方案的模型数量与性能指标对比

我们的方案

为解决上述问题,百度灵医智惠影像算法团队基于自研的医疗影像分析平台EasyMIA,研发了基于Transformer的脑CT出血多标签分类方案。该方案在不使用模型集成方案的情况下,单模型即超越了竞赛排行榜第一名(详见表1)。

我们提出一种以端到端方式提取切片内-切片间信息的模型方案。传统的CNN模型擅长提取局部特征,但不能有效地建立全局-长距离图像特征之间的关联。由于脑出血的类型与出血位置密切相关,我们放弃了CNN模型和RNN模型,而是选择改造后的Swin-Transformer网络构建切片内特征提取器、序列Transformer编码器构建切片间特征提取器。受益于Transformer系列模型较高的参数效率,片内和片间的特征提取在我们的解决方案中是完全端到端的,可以在单个现代GPU上运行。这不仅允许梯度信号直接反传到输入层,而且在模型推理期间只需要单次前向传播。

图2 端到端脑出血多标签分类模型架构图

方案详解

模型方案

我们的模型结构如上文图2所示。一组包含N张形状为切片的脑CT序列,选取3种不同的HU窗,经预处理后被组织为的4维张量。切片间特征提取器将N张2D图像变换为N个特征向量,进而在切片间提取器内交换特征信息,最后由分类器(Clas Head 2)输出判别决策。为了避免梯度消失的问题,提升收敛速度,我们对切片内特征连接了一个辅助分类器(Clas Head 1)。在推理时,仅使用Clas Head 2的输出作为模型判别结果。两个分类器均采用Binary Cross-Entropy作为损失函数。

预处理方案

由于颅内出血的类别与出血的位置相关,因此解决方案需要考虑切片中的大脑和颅骨信息。根据竞赛优胜方案的通用设定,我们为每个切片选择3个HU窗(HU值及窗位概念参考[2]),由窗位和窗宽描述:脑组织窗,出血窗,软组织窗。

图3 三种HU窗可视化

训练细节

本方案所有实验均在飞桨2.2.0环境中使用Nvidia-P40 GPU完成。片内与片间特征提取器使用SGD优化器和加权BCE损失函数完成训练,权重为,依序对应“任意”类别和其它5种出血类别。每一轮训练进程持续80,000次迭代(每个CT序列约轮询4次)。在最初300次迭代中,学习率由0线性增加至0.001,并在剩余迭代中沿Cosine曲线逐渐退火至0。

总结

我们提出了一种颅内出血多标签分类方案,仅使用单个模型,其性能即可优于RSNA-IHD竞赛第一名(集成20个模型),单次推理FLOPs减小超过10倍。片内和片间特征提取器以端到端的方式集成到一个模型中,避免了累积误差。但仍存在值得研究的问题,包括更精确的出血多标签分类,以及将所述解决方案扩展到其他切片型应用任务。我们已经发布源代码,希望能够帮助其他研究和工程人员取得更多突破。

更多阅读

  • 技术报告:

https://arxiv.org/abs/2205.07556

  • Github链接:

https://github.com/PaddlePaddle/Research/tree/master/CV/Effective%20Transformer-based%20Solution%20for%20RSNA%20Intracranial%20Hemorrhage%20Detection

  • AI Studio链接:

https://aistudio.baidu.com/aistudio/projectdetail/4047192

参考文献

【1】https://www.kaggle.com/competitions/rsna-intracranial-hemorrhage-detection/overview

【2】https://www.zhihu.com/question/33587197

关注【飞桨PaddlePaddle】公众号
获取更多技术内容~

基于Transformer实现更精准的脑出血多标签分类相关推荐

  1. 【论文写作分析】之一 《基于混合注意力Seq2seq模型的选项多标签分类》

    [1] 参考论文信息   论文名称:<基于混合注意力Seq2seq模型的选项多标签分类>   发布期刊:<计算机工程与应用>   期刊信息:CSCD扩展   论文写作分析摘要: ...

  2. 基于ERNIE的汽车之家评论多标签分类

    本项目对应PaddlePaddle链接,欢迎fork与讨论: 基于ERNIE的汽车之家评论多标签分类 1. 项目背景 汽车之家是全球最大的汽车论坛,上面累积了丰富的汽车数据,如汽车详情参数.用车感受. ...

  3. Python基于深度学习多标签分类模型实现云状识别

    其实这个比赛早在19年的时候就结束,比赛名为<Understanding Clouds from Satellite Images>,原来的任务其实不仅要识别出来类型还要能够分割出来具体的 ...

  4. CVPR2021(Oral) 商汤、港中文实现单目人脸重建新突破: 基于生成网络的渲染器!几何形状更精准!渲染效果更真实!...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 近日,商汤-港中文联合实验室提出基于风格化对抗生成器的人脸渲染器,用于取代传统图形学基于栅格化的渲染器 ...

  5. CVPR2021(Oral) 商汤、港中文实现单目人脸重建新突破: 基于生成网络的渲染器!几何形状更精准!渲染效果更真实!

    近日,商汤-港中文联合实验室提出基于风格化对抗生成器的人脸渲染器,用于取代传统图形学基于栅格化的渲染器来进行3D模型的重建.该方法构建了一种从输入3D模型到生成图像的平滑梯度,同时可以以低精度建模获得 ...

  6. 计算机视觉 马尔_基于视觉AI的智能车牌识别相机,识别更精准功能更强大

    原标题:基于视觉AI的智能车牌识别相机,识别更精准功能更强大 通常来说,车牌识别相机是通过对图像的识别判断从而完成车辆信息采集的,市面上常见的车牌识别相机大部分采用的是OCR识别和视觉AI智能识别. ...

  7. 大盘点!自动驾驶中基于Transformer的单目BEV感知

    点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 今天自动驾驶之心很荣幸邀请到Garfield,为大家分享自动驾驶中基于Transformer的单目BEV感知! ...

  8. 计算机视觉怎样实现自我超越?更大规模更精准的数据

    最新发布的<2021中国人工智能应用趋势报告>强调,数据.算力和算法是支撑人工智能发展的"三驾马车",为模型训练提供基本资料的「数据」,是人工智能的根基. 随着互联网. ...

  9. 完全基于Transformer的目标检测器,ICLR匿名论文实现视觉、检测统一

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源丨机器之心 编辑丨极市平台 导读 一种新的集成视觉和检测 Tra ...

最新文章

  1. 面对新型肺炎疫情,AI能做什么?
  2. 2分钟在线做出一张普氏分析图(Procrustes Analysis)
  3. 8.2.1.2 How MySQL Optimizes WHERE Clauses MySQL 优化WHERE 子句
  4. Windows核心编程 第27章 硬件输入模型和局部输入状态
  5. python中统计列表各个元素的个数
  6. python dataframe是什么_python – 逐个构建DataFrame的最快方法是什么?
  7. spring源码分析之spring-core-env
  8. 《MonoTouch开发实践指南》一3.6 小结
  9. myeclipse连接hadoop集群编程及问题解决
  10. SpringBoot中整合Mail实现发送模板邮件
  11. XML能否替换HTML,XML DOM
  12. ProxySQL MySQL MGR8配置
  13. mysql数据库内置函数大全_MySQL数据库——内置函数
  14. vue获取本地php数据,Vue-cli项目获取本地json文件数据的实例
  15. linux 端口qos,linux的qos机制 - cgroup篇 (2)
  16. linux cat cd,linux 文件系统命令 cat cd chmod
  17. java实现mysql增量备份_企业级MySQL备份原理
  18. 【机器学习】DBSCAN聚类算法
  19. 七夕节送女朋友什么礼物最好、七夕最走心的礼物清单
  20. 笔记本电脑怎么关闭触摸板

热门文章

  1. Android APP SSLPinning证书绑定绕过
  2. linux删除文件夹下所有文件_本地文件快速搜索+批量删除空文件夹
  3. 小孩学python有意义吗-Python真好玩:教孩子学编程
  4. php一句话工作原理,一句话木马的工作原理
  5. Unity学习路线是什么样的?
  6. scratch一起学案例——《跳跃的小猫》
  7. 2 算术运算指令【微机原理】
  8. Paint 全面解析
  9. L2行情接口使用技巧分享
  10. 动力学库-pinocchio总览