如何界定 AI 用于医学图像分析时的范畴,设置相关的任务及采用合理的模型方法?医学图像分析中目标检测任务的普遍性,使得开发目标检测集成框架显得必要。
近日,在雷锋网 AI 研习社公开课上,深圳市宜远智能科技有限公司负责人吴博剖析了目标检测已有的框架,重点分享如何对目标检测框架进行改造,以便在医学图像分析中产生更好的效果。公开课回放视频可点击文末阅读原文观看。
吴博
学术背景:先后在清华大学、中国香港浸会大学求学,并在英国利兹大学完成博士后,师从计算机视觉专家唐远炎教授等人。在 ICML/ACL 等顶级会议发表过多篇人工智能论文。
工业界经验:2017 年创立医疗 AI 公司——宜远智能,该公司集结了 20 多名人工智能博士以及众多海内外医学顾问,为医疗健康领域提供 AI 增强解决方案,并与多家知名医院达成合作,并推出成型产品。创立宜远智能之前,吴博曾在爱立信大数据研究院任职,还曾主导过百亿级虚拟品电商、数字货币系统的业务及数据架构建设与运营。
分享主题:目标检测集成框架在医学图像 AI 辅助分析中的应用
分享提纲:
- 医学图像分析的任务类型和对象
- 目标检测已有框架用于医学图像分析的流程
- 如何与医生合作做好 AI
AI 科技评论将其分享内容整理如下:
今天给大家讲一下目标检测集成框架在医学图像 AI 辅助分析中的应用。
医学图像分析任务类型和研究对象
医学图像分析的任务类型主要有:
分类与识别:这是最简单最直接的任务类型。左边的图是吴恩达教授之前做的一个 X 光模型,这个模型中主要做分类,判断是否有肺炎等病症。图像分类与识别是常见的图像分析(MIA: Medical Image Analysis) 任务,是图像检索的基本单元。
像 ImageNet 被 AlexNet、VGG、GoogleNet、ResNet、SENet 等深度神经网络从 72% 的准确率,逐步提升到 97.75%,超越人眼 94.9% 的水平。而医学图像的分类也非常具有现实意义,比如可以判断人是有病还是无病、以及是哪类病,像 Nature、Science 杂志就发表过皮肤癌、胸片、眼底照等医学场景的图像分类模型。
但在实操过程中,我们发现将医学影像当成一个分类问题来处理,任务设置未免过于宏大和粗放。深度学习的模型具有黑盒模型的特点,特点就是端到端(end to end)一步到位,从输入到输出而不管中间的过程,虽然也能实现较好的结果,却往往令人对整个学习过程,知其然而不知其所以然。并且,将医学影像简单当成一个分类问题,也算不上解决医疗问题,虽然其可视为一定程度的计算机辅助诊断(CAD: Computer Aided Diagnose),但归因以及可解释性得缺陷,并不足以让医生全盘参考
目标检测:这个任务类型也很普遍,并且现在越发普及,意义越来越重大。我们从 CAD 的历史和发展进程中,可以看到目标检测与医学图像分析之间的联系。CAD 分为两类:
计算机辅助诊断 (CADx: Computer Aided Diagnose) :对病症进行分类、识别、预测
计算机辅助检测 (CADe:Computer Aided DETection):主要做对图像内病灶/病变 (lesion) 的检测。从归因到果的角度来说,CADe 可能在做医学图像分析时更切合实际。CADe 更接近目标检测。
而 ImageNet 2013 年推出目标检测挑战,在四万张互联网图片中检测 200 类物体,mAP 从 0. 2258 提升到 2017 年 0.7322,这个水平也几乎达到了人类的水平。
分割:这也是常规的医学图像分析中的一类任务。分割主要包括:语义分割 (semantic segmentation)、实例分割 (instance segmentation)。医学图像分析则涉及到器官分割勾画 (organ and substructure segmentation),还有病变/病灶分割 (lesion segmentation) 等。而医学影像分割跟常规图像的语义分割、实例分割不太一样。我们得看法是,把分割问题当作目标检测来处理,也方便借力于目标检测领域方法的蓬勃发展。
【关于医学影像分割的不同点和难点的更多讲解,请回看视频 00:13:10 处】
我们也探索一下医学图像分析的研究对象。
我们在研究医学图像分析时,也针对医学影像学这个名词参考了很多论文,并进行了咨询、学习和了解。其中,医学影像学的一个权威定义为:医学影像学(Medical Imaging)研究借助于介质(如 X 射线、电磁场、超声波、内窥镜等)把人体内部组织器官以影像方式表现出来,从而方便对人体健康状况进行评价。
广义而言,医学影像学包括成像技术/设备、图像处理技术,以及日益重要的医学图像分析。所以文献中,MIA 与医学影像学(Medical imaging)常交替使用。
而医学图像分析涵盖的图像类别,也不仅限于「内部组织器官」,还包括体表皮肤、五官、外部关节特征等的拍摄图像,显微查看及扫描的组织与细胞病理图像等。放射影像因为数字化程度高,格式标准,其分析处理最为流行;但其他图像领域,成像设备、处理分析都在日新月异发展,数字化程度升高,使得 AI 介入成为可能,且愈发体现出价值与意义。
在下图中,我们可以看到医学图像分析的类型以及对应的特点:
【关于医学图像分析的类型及特点的讲解,请回看视频 00:23:35 处】
目标检测已有框架用于医学图像分析的流程
进入到今天分享的第二个部分——目标检测。我们主要讲一下相关流程和经验。
在进行目标检测之前,需要做好目标检测训练数据准备 。从医院、医疗机构、医生以及数据源中,我们会积累、整理以及清洗很多数据。其中,清洗是一个非常复杂和庞大的一个环节。而数据准备的重点,主要是标注。
下图展示了用第三方工具 LabelImg 来标注足球场的视频:
医学图像领域还涉及到复杂的审核、内部影像管理,单纯的开源工具无法满足这些任务的需求,需要自研和自建一些工具。
在图像 AI 领域,标注极耗成本和时间,所以 AI 反过来辅助标注也是有价值的做法。
接下来讲今天的主要部分——目标检测框架及流程。
我们比较推荐 Detectron 这个框架:
【关于 Detectron 框架的更多讲解,请回看视频 00:37:15 处】
实验过程中,我们也对照 Detectron 尝试了其他一些非集成的算法,也发现了 Detectron 本身存在的一些问题,比如医学图像领域有时需要将分割和目标检测穿插使用,而 Detectron 框架无法实现二者的穿插使用。针对医学图像领域以及 Detectron 自身存在的一些问题,我们内部优化出一个框架——eWingDET 框架。它的特点和优势包括:
第一,支持 bbox 和 mask 两种识别目标的任意切换,支持 backbone 网络的自由更换,支持多种类的图像增强方式,支持 2D、3D 图像的目标检测。
第二,以 tensorflow 为内核,以 Faster-RCNN/Mask-RCNN 为核心,可进行 python 端多 GPU 训练,兼容 Horvod 分布式框架。
第三,训练好的模型可以直接在前端使用 C 在 CPU 上进行 inference,产出结果。
第四,自定制对模型性能的评价函数,加入了 FPN,提升了对小目标检测的性能,如 CT 中钙化病灶目标的检测。
医学图像的算法也好,模型也罢,怎样将其变成一个比较完备的系统,落地到医院的系统部署方式,往往更具有现实意义。
我们的医学图像 AI 也会落地到医院,进行合作,对外赋能。比如通过医学图像 AI as a Service(AIaaS) 平台集成多类医学图像分析功能,经审核合资格的机构用户与专业用户,可以进入到该平台,使用模型体验、API 调用等服务。平台根据模型体验和 API 调用的次数,进行额度扣除。而用户也可因为帮助改善模型和提供算力,获得额度奖赏。
案例分享
案例 1:牙齿根管识别
案例 2:目标检测用于皮肤图像分析
关于皮肤图像分析的案例,我会讲到银屑病 AI、面部皮肤病 AI 以及面部皮肤 AI 副产品,即皱纹斑点等目标检测处理这三个案例。
我们做得比较好的还有用于肺结节 CT 分析的 3D 目标检测,下面我也跟大家简单分享一下。
3D 目标检测在肺结节 CT 分析中的应用,表明目标检测的集成框架和方法除了可以用于比较浅层次的皮肤识别领域,还能在医学图像识别中比较大型的、难度比较大的场景中使用。肺结节识别采用的是 3D Faster RCNN 的 RPN 网络,它能减少需要调节的网络参数,既没有后续的全连接做分类,也不需要在后面接一套 3D CNN 来做降假阳。
【关于 3D 目标检测用于肺结节 CT 分析的讲解,请回看视频 00:72:20】
如何与医生合作做好 AI
最后分享一下如何跟医生做好 AI 合作,我们看重的 AI 工程师的能力主要有以下几个:
第一个,和医生协作的能力(这一能力与 EQ 有关)。传统的机器器学习中,往往只需要跟设备和代码打交道,而医学影像研发需要经常和医生沟通,把医生的思路不断地模拟成代码。其中的很多思路和方法都无法从论文里面得来,和医生的协作往往是 AI 研究人员需要具备的能力。
第二个,从数据中找寻优化模型思路的能力,即问题解决能力(这一能力与 IQ 有关)。医学影像数据,每个医院都不一样,主要体现在医院的场景、拍摄手法等。很多时候,甚至每个病种的数据都没有前人的工作可参考。这就需要我们花大量的时间泡在数据里面,寻找数据里面的规律,来优化模型。控制好数据敏感性,防止 garbage in garbage out,从而能控制好数据,就能控制效果。
AI 工程师这一能力的天分体现在:每次接触的数据都不同,判断思路路都不同的情况下,能迅速的找到解决问题的关键。而进一步的天分还体现在能抽象推出标准、实用新框架的能力。
而且需要注意的是,机器学习是【法】,深度学习是【术】,AI 工程师不能太痴迷于工具,而忽略问题的本质。
第三个,把 paper 新思路和新框架引入 实际工作的能力(这一能力跟勤奋有关)。因为新的框架替换旧的框架,带来的往往是门槛的提升,不 follow 就落后,所以我们一定要紧跟最新的前沿进展。不过这种能力,往往只能解决公开数据集的问题。对于我们碰到的实际复杂多变的医学图像,肯定是不够的,很容易会陷入到坑里面去。
对本次分享做一下总结:
第一,我们讲了一下医学图像分析的方法和流派之分,在我们实际工作中,目标检测这种方法的作用凌驾于其他方法之上。我们通常不会选择优先去解决图像分类、重构以及分割问题,而更多地将其当做目标检测问题。虽然这一方法论比较固定,但实际用于医学影像分析时,应用面也非常宽泛。
第二,分享了目标检测的全流程,包括框架的学习、模型打造后怎样跟医疗机构对接的问题等。
最后,分享了怎样跟医生做好 AI 合作,进而分享了 AI 工程师应该具备的几个能力以及需要进行哪些方向的修炼。