摘要
由Image/Video Captioning、VQA等图像理解任务的不断往前发展,以及目前智能医疗的兴起,有些学者自然而然地想到图像理解是否可以应用到医学领域,因此根据CT、核磁等图像自动生成诊断报告(病例),这个任务被提了出来。
2018年是医学报告生成任务的兴起年,截止到目前,总共有4篇医学诊断报告生成的文章被发表在各个领域的顶级会议上。
美国NIH吕乐(现在好像去英伟达了)课题组的王潇崧[1]等学者在今年的顶会CVPR上投了一篇文章TieNet Text-Image Embedding Network for Common Thorax Disease Classification and Reporting in Chest X-rays。
美国CMU的Baoyu Jing[2]等学者(智能医疗公司Petuum)在今年的NLP顶级会议ACL上发表了一篇文章On the Automatic Generation of Medical Imaging Reports。
同样由美国CMU的Christy Y. Li[3]等学者在今年NIPS上发表了一篇文章Hybrid Retrieval-Generation Reinforced Agent for Medical Image Report Generation。他还在2019年AAAI上发表了一篇文章Knowledge-driven Encode, Retrieve, Paraphrase for Medical Image Report Generation。
美国宾夕法尼亚大学的Yuan Xue[4]等学者在今年医学顶会MICCAI上发表了一篇文章Multimodal Recurrent Model with Attention for Automated Radiology Report Generation。
正文
下面介绍一下各个论文的模型,主要是基于编码器-解码器结构。
1. TieNet[1]
Xiaosong Wangl et al,TieNet Text-Image Embedding Network for Common Thorax Disease Classification and Reporting in Chest X-rays, CVPR 2018
模型
这篇论文的任务是对胸腔常见疾病的分类和诊断报告的生成,实际上主要是多标签分类。这篇论文的框架既可以当作由报告预测常见疾病(文本分类)、由CT图像预测常见疾病(图像分类)以及使用报告和图像预测疾病(Text-Image Embedding);而且还可以用Class Activations辅助生成Saliency Map用来检测出疾病的位置,以及根据CT图像生成诊断报告。因此,这篇论文可以看作是多标签分类+目标检测+生成医学报告的多任务模型,当然核心是分类任务预测疾病标签。
论文框架是根据输入的CT图像和报告文本,先用pretrain好的CNN(如ResNet)提取图像特征,然后经过一个额外的Transition Layer得到 D ∗ D ∗ C D*D*C D∗D∗C的feature maps X X X。接着采用Attention机制经过RNN对报告文本编码得到text embedding X ‾ A E T E \overline{X}_{AETE} XAETE; 然后采用Saliency Weighted Global Average Pooling得到蕴含文本信息的image embedding X ^ S W − G A P \hat{X}_{SW-GAP} X^SW−GAP。最后根据image和text embeddin预测疾病的标签。
论文模型的损失函数是多标签分类的交叉熵损失和RNN的生成报告的交叉熵损失。
实验
根据AUC实验结果,发现只基于报告文本预测疾病标签(
R
R
R)的结果0
0.976
0.976
0.976比只基于图像预测疾病标签(
I
I
I)的结果
0.745
0.745
0.745高很多。同时基于图像和报告文本(
I
+
R
I+R
I+R)的结果
0.989
0.989
0.989最高,但是也仅仅比只基于图像的高出1个点。因此可以发现文本分类比图像分类任务要简单很多,至少在上面Chest X-ray14、Hand-labeled和OpenI这几个胸透X光片数据集上是这样。
2.Automatic Report Generation[2]
Baoyu Jing et al, On the Automatic Generation of Medical Imaging Reports, ACL 2018
模型
这篇论文任务主要是由医学图像自动生成诊断报告,同时还可以预测标签Tags(这些Tags由医学报告文本得到,并不是简单的疾病标签,可以看作是医学报告的关键词)。论文任务可以看作文本生成+多标签分类的多任务模型,核心是生成式模型。
论文框架是根据输入的医学图像,先用在ImageNet上pretrain好的CNN(如VGG19、ResNet等)提取出图像特征(Visual Features),然后再经过一个多标签分类网络(MLC)预测出文本标签(Tags),然后选取概率最大前M个标签,根据Tag Vocabulary得到M个标签对应的word embedding 向量即语义特征(Semantic Features);接着对图像特征和语义特征使用Attention模型和Sentence LSTM得到S个context vector(这个向量同时包含图像信息和语义信息)和由Stop Control得到的控制变量(判断是否生成这句诊断报告);对每个context vector,使用Topic Genetor得到topic vector,再用Word LSTM对这个topic进行解码,生成一句诊断报告。遍历S个context vector即会生成S句诊断报告,由于Stop Control的作用,即最多生成S句。
论文框架是一个编码器-解码器结构,对生成诊断报告来说,简单理解是由CNN和Sentence LSTM编码得到若干个中间表征(如上述的topic vector),再有Word LSTM解码这个表征得到若干句诊断报告,即一个层次化的LSTM(Hierarchical LSTM)框架。由于论文框架是个多任务模型,加了预测标签的多标签网络(MLC)和判断生成句子数量的控制(Stop Control),因此看上去会复杂一些。
论文模型的损失函数是多标签分类的交叉熵损失、预测生成诊断报告句子数量的二分类的交叉熵损失和RNN生成诊断报告的交叉熵损失以及正则化损失。
实验
论文数据集是IU X-Ray胸透X光片数据集和PEIR Gross数据集。注意的是IU X-Ray数据集是(图像-诊断报告)形式,诊断报告有若干句组成,而PEIR Gross的诊断报告只有一句。实验评测指标是机器翻译领域和Image Caption领域常用的BLEU、METEOR、ROUGE、CIDER等评测标准。由实验结果来看,论文方法在IU X-Ray比Image Caption经典的模型结果高很多;但是在PEIR Gross上比Image Caption经典的模型高一点点。因为Image Caption任务的数据形式(图像-描述)中描述只有一句,且比较短。
3.Hybrid Retrieval-Generation Reinforced Agent[3]
Christy Y. Li et al,Hybrid Retrieval-Generation Reinforced Agent for Medical Image Report Generation,NIPS 2018
模型
这篇论文的主要任务是有医学图像生成诊断报告,采用了检索和强化学习混合的方法。
论文框架是根据输入的医学图像,先用pretrian好的CNN(如DenseNet、VGG19等)提取出图像特征(Visual Features),然后经过一个图像编码器(Image Encoder)得到context vector;接着用句子解码器(Sentence Decoder)对context vector进行解码得到若干个topic(代表了句子的信息);对于每个topic可以用模板库(Template Database)或者生成模式(Generation Module)进行强化学习,得到一句诊断报告。
论文框架大体上也是一种层次化RNN(Hierarchical RNN)结构,只是在解码topic生成句子的时候用强化学习选择了是用模板库检索还是用RNN生成。
实验
论文数据集都是胸透X光片数据集,只是CX-CHR是中文胸透X光片、IU X-Ray是英文。从实验结果来看,在两个数据集上都比Image Caption经典模型结果高很多点。但是在IU X-Ray数据集上,实验结果比上一篇论文Baoyu Jing[2]的低很多。值得一提的是,这两篇论文都是CMU课题组和Petuum公司的。
4.Multimodal Recurrent Model[4]
Yuan Xue et at,Multimodal Recurrent Model with Attention for Automated Radiology Report Generation,MICCAI 2018
模型
这篇论文任务是由医学图像自动生成诊断报告,采用了递归的Attention模型。
论文框架是对于输入的医学图像,使用预训练好的CNN(图像编码器Image Encoder,如ResNet等)得到图像特征(Visual Features)。接着使用RNN(语句解码器Sentence Decoder)得到诊断报告。详细流程是使用CNN的较后的全连接层的features由RNN(Sentence Decoder)生成第一句诊断报告;使用CNN最后一层卷积层的feature maps(当作医学图像各个区域的特征)和语句编码器(Sentence Encoder)编码器上一句诊断报告得到的语义特征(Semantic Features),两者使用Attention机制得到 v a t t v_{att} vatt,再有RNN(Sentence Decoder)生成这一句诊断报告。
论文框架直观上理解就是医生第一眼观察了检查图像,得到了一句总体性描述诊断(如"No acute disease.");接着观察了图像中的心脏部位,根据上一句的总体描述,得到了第二句诊断(如"The heart is normal in size.");然后观察了图像中的肺部部位,根据上一句的心脏描述,得到了第三句诊断(如"The lungs are clear.");… …就这样一句一句,一份诊断报告被医生写了出来,当然论文这个逻辑可能并不十分贴切医生现实中下诊断的推理。
实验
论文实验结果也是在IU X-Ray这个胸透X光片数据集上,实验结果比Image Caption经典模型Vanilla CNN-RNN高很多,比层次化RNN模型Hierarchical generation差不多。
5.KERP[5]
Christy Y. Li et al,Knowledge-driven Encode, Retrieve, Paraphrase for Medical Image Report Generation,AAAI 2019
模型
这篇论文使用NLP的知识图谱技术做医学报告生成,鉴于博主对知识图谱不太了解,因此不做细说。
实验
这篇论文比较了Jing Baoyu[2]的方法CoAtt,是这篇论文自己复现的,BLEU-4结果是0.154;这篇论文还比较了作者自己另一篇论文HRGR-Agent[3]。同时比较了Captioning的CNN-RNN方法等。
总结
2018年是智能医疗的兴起年,很多智能医疗公司成立。国内比较出名的如腾讯觅影、阿里健康等,他们在一些常见疾病检测上取得了很大成功(如肺结节检测、皮肤病分割等)。但是在自动生成诊断报告上国内学者研究得较少。
对于一个智能、智慧的检测疾病并且可以下诊断的医疗系统。首先,肯定要根据检查的图像(CT、核磁等)检测出病变的位置,这是近几年很多医学影像分析的学者在做的事情,例如疾病检测(Detection)、疾病分割(Segmentation),而且进展很快。其次,这个医疗系统可以像医生一样给出诊断报告,例如今年陆陆续续有学者在做的这个医学诊断报告生成的研究。
对于检查出来的图像,如果能检测出病变位置并且可以给出诊断病例,这样是具有很大实用价值的,而且非常有意义。
目前来看,这个任务还存在许多问题:
- 数据非常缺失,以上几片论文全是在IU X-Ray这个小规模数据集,而且现在缺少带bounding box的图像和诊断报告。
- 数据的不确定性,医生下的诊断会有正常(没有疾病)的描述和异常(存在疾病)的描述语句,对于正常的描述,不同的医生做诊断可能会有相似的风格;对于异常的描述,不同的医生做诊断差异很大。
- 诊断报告的语句次序其实没有太大关系的,举例来说,医生先说心脏正常或异常,再说肺部正常或异常,对报告的整体语义是没有太大影响的。
- 评测指标的不适用性,目前采用的评测指标是Machine Translation或Captioning任务的评测指标,如BLEU、CIDEr,其实这些评测指标是不符合这个任务的,原因比如前面第3条所说的。
- 已知论文结果的不确定性,目前的论文都没有release代码,而且它们相互之间实验结果差距很大;其次,一些论文只是单纯的用比较火的技术迁移到这个任务,含蓄的说可能或许大概是没有太大意义的,但是至少吸引了一些研究者做这个任务。
注:图像生成自然语言的论文-https://github.com/wangleihitcs/Papers
注:医学报告生成项目源码
参考文献
[1]Wang X, Peng Y, Lu L, et al. Tienet: Text-image embedding network for common thorax disease classification and reporting in chest x-rays[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 9049-9058.
[2]Jing B, Xie P, Xing E. On the automatic generation of medical imaging reports[J]. arXiv preprint arXiv:1711.08195, 2017.
[3]Li C Y, Liang X, Hu Z, et al. Hybrid Retrieval-Generation Reinforced Agent for Medical Image Report Generation[J]. arXiv preprint arXiv:1805.08298, 2018.
[4]Xue Y, Xu T, Long L R, et al. Multimodal Recurrent Model with Attention for Automated Radiology Report Generation[C]//International Conference on Medical Image Computing and Computer-Assisted Intervention. Springer, Cham, 2018: 457-466.
[5]Li C Y, Liang X, Hu Z, et al. Knowledge-driven Encode, Retrieve, Paraphrase for Medical Image Report Generation[J]. arXiv preprint arXiv:1903.10122, 2019.