背景
很多医疗影像数据集(尤其 3D 造影)的格式都是无损的 .dcm 或 .nii 格式,存储着每一个体素位置的具体值。压缩技术也常常只是用 gzip 将 .nii 压缩为 .nii.gz。相较于有损压缩图片格式,这种数据存储方式会占用大量的存储空间。
这里以 BraTS 2019 数据集 为例进行说明,几种不同形态的数据存储格式的大小如下:
- 无压缩的 .nii 格式:26G
- 7zma 无损压缩:2.1G
- gzip 无损压缩:2.7G
- 图像样本使用质量为 90 的 JPEG,分割样本使用 PNG:522M
但问题是像 JPEG 一样的有损图像压缩算法,是否会对模型的训练和最终性能有影响呢?尤其是医疗影像本来就受信息量少和边缘模糊的影响,JPEG 造成的伪影是否又会加剧这一点?
JPEG 压缩概述
JPEG 压缩算法的具体技术细节不是我们所关心的。这里我们主要讨论 JPEG 质量(0~100)对于图片实际质量和体积的影响。
很多信息源都会认为,90 以上的质量为“高质量”,80-90 为中质量,70-80 为低质量。根据 GIMP Chat 上的一篇帖子,JPEG 质量在 85 之后的体积减小速率会放缓,因此可以认为 85 是 JPEG 质量的“甜点”。
已有工作
《Understanding How Image Quality Affects Deep Neural Networks》 使用 ImageNet 的验证集进行实验发现,JPEG 质量从 100 下降到 20,模型的性能都没有发生显著的变化。只有将 JPEG 下降到 20 以下时,模型的准确度才会有比较明显的下降。但 JPEG 的压缩效率也是有边际效应的,因此基本上可以认定模型的性能和正常范围内的 JPEG 质量无关。
医疗影像实验
在医疗影像上考虑 JPEG 质量,与上述已有工作的不同主要有两点:
- 医疗影像的特性(信息量少和边缘模糊)
- 分割任务的特性(对边缘更敏感)
没有找到高引用量的相关文章,因此自己尝试了在 BraTS 数据集上用 U-Net 进行分割,JPEG 质量从 10 到 90。得到结果如下:
可以看出,医疗影像分割任务对于 JPEG 质量的敏感程度比自然图像分类任务更低。这可能是因为分割任务的监督更强(像素级监督),导致模型从低质量的图像中也可以学到掩码信息。