当前位置:首页 > 新闻 > 正文

目标检测集成框架在医学图像AI辅助分析中的应用

发布时间: 2018-08-10 14:49   作者: 吴志力 吴宇   来源: 人工智能杂志

  一直以来,医疗影像诊断都是医疗中的一项重要工作。从广义上来说,医疗影像学包括成像技术/设备、图像处理技术,以及日益重要的医学图像分析。而医学图像分析涵盖的图像类别,也不仅限于“内部组织器官”,还包括体表皮肤、五官、外部关节特征等的拍摄图像,显微查看及扫描的组织与细胞病理图像等。基于此,本文将探讨目标检测类的深度神经网络方法在医学图像分析上的运用,以及释放出的巨大潜力。

  一、简介

  图像分类与识别是常见的图像分析任务,同时也是图像检索的基本单元。近十年来这些任务的效果得到全面提升。比如ImageNet作为图像分类识别领域最负盛名的数据集,已经被AlexNet、VGG、GoogleNet、ResNet、SENet等深度神经网络从72%的准确率,逐步提升到97.75%,超越人眼94.9%的水平。这些神经网络以结构深、层数多而被冠以“深度”之名,也催生了“深度学习”的AI流派,但它们为何会在图像分类上实现超乎常人的效果,假说众多,却并无定论。它们就像从图片输入到分类输出中间位置的黑盒模型,以端到端(end to end)一步到位的方式实现良好的结果,却令人知其然不知其所以然。

  虽然深度神经网络用于图像分类有黑盒模型硬伤,但凭借效果好、普及面极其广泛,在医学图像的分类(比如分为有病无病、或者哪类病)上也变得流行,像皮肤癌[1]、胸片[2]、眼底照[3]的场景。这些研究的普遍特点是将ImageNet上成功的神经网络加以简单利用或衍生,以便在医学图像的分类上取得好的效果。

  基于深度神经网络对医学图像进行疾病分类,也可视为一定程度的计算机辅助诊断(CAD: Computer Aided Diagnose),但因为深度神经网络不擅长把分类结论归因到医学图像的具体特征,也难以给出准确的影像描述,得出的分类或诊断结论欠缺可解释性,并不足以让医生全盘参考。

  深度神经网络在医学图像分类与诊断可解释性上的弱点,促使我们反思一步到位实现诊断的任务设置是否合理。实际上,CAD除了指代计算机辅助诊断(CADx: Computer Aided Diagnose),也包含计算机辅助检测(CADe:Computer Aided DETection),后者常指对图像内病灶/病变(lesion)的检测。可以说,CADx更为抽象和宏观,CADe更为具体和微观。无独有偶,在通用的图像分析领域,除了分类,目标检测(Object Detection)也是核心任务之一,并且后者的应用面日益增加。目标检测,简而言之是确定图像内各个物体的位置、边界与类别。相比常规的图像分类识别,目标检测更精细,计算量更大。通过把任务设置为对各个局部目标的检测,实现对更具体局部的定位,积累微观特征与证据后,对整体图片分类的结论,更直观可印证、可信度更高。

  本文把图像分割视为特殊的目标检测。虽然语义分割(semantic segmentation)和实例分割(instance segmentation)等可视作与分类、目标检测并列的图像分析任务,但从目标检测角度来看待图像分割,把分割任务视为边界及位置更为精准的目标检测,也是行之有效的做法,业界还涌现了Mask R-CNN等优秀算法。医学图像的分割任务也很常见,包括器官分割勾画(organ and substructure segmentation),以及病变/病灶分割(lesion segmentation)等。但医学图像的分割有其特殊性,体现在 1)三维成像(如CT)或二维图像上多层投影/重影叠加导致(如X光片)分割难度大;2)病灶/病变是从正常组织变化而来,分割边界模糊。在基于深度学习的目标检测这一成熟框架下处理医学图像分割,也是化繁为简的做法。

  目标检测可以通过在目标周围绘制适当大小的边界框(bbox:bounding box)或者曲线形的边界(mask)来进行定位。在自动驾驶、智能监控、面部识别应用中,快速、精准的目标检测系统日益受到重视。相应的目标检测算法框架,也经历过R-CNN、Fast R-CNN、Faster R-CNN[4]、Mask R-CNN[5]等演变。但现有的目标检测框架中:1)bbox和mask两种识别目标是相互独立的,数据标注不能复用,数据处理环节与网络结构耦合严重,不能做到灵活调整。2)目标检测相比分类,模型训练所需的GPU计算量大,在推断(inference)环节,依赖GPU容易有并发瓶颈,需要以较小代价在CPU和GPU上进行运算,产出结果。3)医学图像内细微、不明显、立体形态的病灶的检测,对常规目标检测提出挑战,需要相应的损失函数和模型改造。

  本文重点讨论目标检测类的深度神经网络方法在医学图像分析上的运用。将特别讨论我们为了克服上述三类问题,研发的目标检测集成框架eWingDET。它通过集成和优化Faster R-CNN和Mask R-CNN等算法,可以实现医学图像的目标检测与分割。

  本文涵盖的范畴是基于AI的医学图像分析(MIA:Medical Image Analysis)。在文献中,MIA与医疗影像学(Medical imaging)常交替使用[6]。狭义而言,医疗影像学(Medical Imaging)研究借助于介质(如X射线、电磁场、超声波、内窥镜等)把人体内部组织器官以影像方式表现出来,方便对人体健康状况进行评价。但广义而言,医疗影像学包括成像技术/设备、图像处理技术,以及日益重要的医学图像分析。医学图像分析涵盖的图像类别,也不仅限于“内部组织器官”,还包括体表皮肤、五官、外部关节特征等的拍摄图像,显微查看及扫描的组织与细胞病理图像等。随着互联网技术、移动终端、穿戴式设备的发展,这些医学相关的图像,通过存储和远程传输后,进行人力判读或者AI分析,都具有现实意义。本文探讨的案例也是针对广义的医学图像而言,将包括CT影像、口腔X光片、宫颈液基细胞病理图像和皮肤图像等。

  二、eWingDET目标检测集成框架

  必要性与创新性

  目标检测是比分类识别更细致和多元的任务。深度学习对图像中的目标检测带来了巨大提升。ImageNet 2013年推出目标检测挑战,在4万张互联网图片中检测200类物体,第一年的精度(Mean Averaged Precision (mAP))才0.2258。但到2017年最后一届比赛,深度学习已将这一精度提高到0.7322。

  目前业界已有的目标检测框架中,bbox和mask两种识别目标是相互独立的,数据处理环节与网络结构耦合严重,不能做到灵活调整。宜远集成了一套自己的目标检测框架,支持bbox和mask两种识别目标的任意切换,支持backbone网络的自由更换,支持多种类的图像增强方式,支持2D、3D图像的目标检测。该框架的实现,以tensorflow为内核,以Faster R-CNN/Mask R-CNN为核心,可进行python端多GPU训练。训练好的模型可以直接在前端使用C++在CPU上进行运算,产出结果。并且自定制了对模型性能的评价函数,加入了FPN[7],提升了对小目标检测的性能,如CT中钙化病灶目标的检测。

  eWingDET目标检测框架整体流程

 

  eWingDET框架的使用流程如图1所示。针对图像分析需求,基于标记的数据,在eWingDET框架内选择合适的backbone网络结构,通过参数调优选择最优模型。将图像预处理及模型Inference模块C++工程化,待检测图片接入到eWingDET框架进行推断计算,进行后处理后输出结果。

  训练环节

  图2是eWingDET集成框架训练环节架构图。我们所采用的目标检测方法是Faster/Mask R-CNN这类的两阶段(2-stage)检测方法。两阶段方法可以简单描述为以下两个过程:一、基于图像提出若干个可能包含物体的区域,称之为Region Proposal;二、在所提出的区域中,判别哪些区域中包含着什么物体目标,以及目标的对应区域。

  当输入一张图像时,会先经过backbone网络结构,提取出图像的特征向量,后面的目标检测都是基于提取出来的特征向量进行的。Backbone网络结构通常是使用经典有效的CNN网络结构,如ResNet、Inception-Net、MobileNet[8],但会配合使用多组预训练好的网络权重。在第一阶段中,会预先生成众多的anchor(各种不同大小、不同比例的候选区域),将anchor与特征向量结合,每个anchor对应会产出一个概率(判断此anchor是前景还是背景的概率)以及四个数值(此anchor与真实的区域的差距)。然后挑选出前景概率大的anchor,组成Region Proposal,作为下一个阶段的输入。

  因为Region Proposal可能会存在大小尺寸、长宽比例不一致的情况,所以需要对所有的Region Proposal进行ROI Pooling或ROI Align,得到统一的尺寸,以便输入到第二阶段的分类器部分。

  在第二阶段中,将Region Proposal输入到分类网络中,得出每个Proposal具体类别的概率以及根据此Proposal定位得到真实目标的范围。

  在宜远的eWingDET目标检测框架中,我们将数据处理环节与网络结构定义环节进行抽象、分离,可根据具体情况自由结合使用,并且可以容易地进行新结构的扩展。比如BackBone网络结构支持:Inception Net、Inception-ResNet、ResNet、ResNeXt、Xception Net、MobileNet、ShuffleNet、SqueezeNet、SENet等。

  推断环节

  针对新的待测数据进行推断时,我们首先将模型训练环节中得到的最优模型权重与网络结构进行合并,生成freezed网络的pb文件并加密。然后根据具体的需求或任务,编写或复用已完成的c++数据处理模块。最后结合pb文件一起接入到eWingDET目标检测c++框架中,编译生成可执行文件。

  启动推断运算时,可将待检测图像传入,调用CPU/GPU执行网络运算,对运算结果进行数据后处理之后,即可得到被检测出的目标。

  图3展示了eWingDET集成框架的inference类,该类抽象出Command和Strategy两种对象,Command实现具体的inference步骤、数据准备步骤或数据预处理步骤,由strategy将command进行组合,并向外提供功能。通过该inference类,可以灵活地实现多类网络架构在bbox和mask上的目标检测分割效果,并且可以兼容CPU及GPU的计算,而且CPU和GPU都经过了代码和编译优化。

  医学图像AIaaS研究平台

  所有医学图像模型轻型化、CPU兼容化后,可以快速接入到我们的医学图像AI as a Service(AIaaS)研究平台。该平台集成了多类医学图像分析功能,经审核合格的机构用户与专业用户,可以进入到平台,进行模型体验、API调用等服务。平台根据模型体验和API调用的次数,进行额度扣除。但用户也可因为帮助改善模型和提供算力,获得额度奖赏(图4)。

 

  以上内容精选于《人工智能》杂志第五期

  本文作者

  吴志力

  英国利兹大学博士后。曾在爱立信大数据研究院任职,在多家公司任数据变现业务负责人,在ICML/ACL等顶级会议发表多篇人工智能论文。作为深圳市宜远智能科技创始人,联合多名人工智能博士、来自腾讯的AI算法人才、众多海内外医学顾问,专注为专业人员及机构提供医学图像AI分析平台服务及工具,以及为大中型医疗健康综合体提供AI增强解决方案。

  吴 宇

  深圳市宜远智能科技有限公司技术负责人/联合创始人。曾就职于腾讯最好的广告点击率预估团队,从事朋友圈图像深度学习模型研发,还拥有Fujitsu中国研发中心(语音识别研究)以及新浪微博(亿级广告推荐算法开发)的从业背景。带领团队在阿里天池肺CT的AI识别等比赛中取得过多个奖项。

  欲阅读完整文章,可通过以下方式购买《人工智能》杂志!

  订阅2018年《人工智能》杂志6期共计360元

  银行转账:北京赛迪出版传媒有限公司

  开户行及账号:北京银行北洼路支行20000030565000007701154

  银行转账,请备注:人工智能

  接收详细信息请发到:aiview@ccidmedia.com;或是添加客服微信:13601092749

收藏