写在前面的话:
这篇论文是北美放射学会(RSNA)在Kaggle平台上托管的肺炎区域检测挑战赛取得第二名成绩的解决方案。因为笔者需要用到其中的图像增强方案,因此本篇博客只介绍了数据集和图像增强,关于模型的改进和其它改进点没有涉及。
论文地址:https://arxiv.org/abs/2005.13899
代码地址:https://github.com/tatigabru/kaggle-rsna
比赛地址:https://www.kaggle.com/c/rsna-pneumonia-detection-challenge
(数据集可在比赛地址下载)
摘要
肺炎是造成儿童死亡的主要原因,同时也是全世界造成死亡人数最多的原因之一。肺炎的检测通常是由训练有素的专家对胸部X线片进行检查,这个过程很繁琐,不同放射科医生之间经常出现分歧。
计算机辅助诊断系统具有提高诊断准确性的潜力,这篇论文提出了一种基于单级检测器(SSD)、squeeze-and-excitation deep convolution neural networks、数据增强和多任务学习的肺炎区域检测计算方法。
介绍
肺炎检测通常是通过由训练有素的专家检查胸部X线片(CXR)进行的,通常表现为CXR上不透明度增加的区域或多个区域,诊断通过临床病史、生命体征和实验室检查进一步证实。
肺炎在CXR上的诊断是复杂的,因为肺部存在其他情况,如液体超载,出血,体积损失,肺癌,辐射后或手术改变。比较患者在不同时间点的CXR,并与临床病症和病史相联系,有助于做出诊断。
为了提高诊断服务的有效性和准确性,在过去十年中计算机辅助诊断系统在肺炎检测上得到了广泛的应用。
数据集
组成:26684名患者的正面X线图像。
每张图像都贴上一个类别,3个类别:正常(Normal)、无肺不透明/不正常(No Lung Opacity / Not Normal)、肺不透明(Lung Opacity)。
类别的介绍:
正常(Normal):没有发现任何病理,包括但不限于肺炎、气胸、肺不张等。
无肺不透明/不正常(No Lung Opacity / Not Normal):肺部有可见的浑浊区域但与肺炎无关。
肺不透明(Lung Opacity):肺部有模糊的白色云团,与肺炎有关;并且肺部浑浊的区域用边界框标注出来。
数据集的类别分布:
数据集中三个类别的分布非常均衡。
拓展知识:
通常,正常人的肺部充满空气。 当某人患有肺炎时,肺部的空气被其他物质所取代,如液体、细菌、免疫系统细胞等。
肺混浊是指优先衰减X射线束的区域,因此在CXR上该区域应该更不透明,这表明该区域的肺组织可能不健康。
图像预处理与增强
采用512×512的图像分辨率。
图像增强有以下操作:
- 轻度旋转(最高旋转6度)
- 平移、缩放、裁剪
- 水平翻转
- 对某些图像进行模糊、噪声、伽马变化的操作
- 限制亮度/伽马增强的数量
对图像进行图像增强如下图:
进行数据增强的消融实验
- No augmentations:在对图像进行调整分辨率和归一化的操作后,不进行任何数据增强
- Light augmentations:仿射和透视变换(scale=0.1, shear=2.5)、图像旋转(angle=5.0)
- Heavy augmentations:随机水平翻转、仿射和透视变换(scale=0.15, shear=4.0)、图像旋转(angle=6.0)、偶尔的高斯噪声、高斯模糊、加性噪声
- Heavy augmentations without rotation:随机水平翻转、仿射和透视变换(scale=0.15, shear=4.0)、偶尔的高斯噪声、高斯模糊、加性噪声
- Heavy augmentations with custom rotation:随机水平翻转、仿射和透视变换(scale=0.15, shear=4.0)、偶尔的高斯噪声、高斯模糊、加性噪声、自定义的旋转(angle=6.0)
实验结果:
第4种数据增强方案(Heavy augmentations without rotation)取得了最佳效果。如下两幅图。
边界框的旋转方式
为了减少旋转对边界框大小的影响,论文中提出了一种自定义的旋转方式:
没有旋转角,而是在每个边上旋转了两个点,分别从边角起1/3和2/3边的长度(总共8个点),并计算了旋转点的最小值/最大值作为新的边界框。
进行边界框旋转方式的消融实验
- 一般的旋转方式(旋转角)
- 自定义的旋转方式(旋转边上的点)
- 不进行旋转
实验结果:
自定义的旋转方式取得了最佳效果。
注意:
虽然自定义的旋转方式改进了结果,但不加旋转的图像增强方案(Heavy augmentations without rotation)取得了最佳效果。