小罗碎碎念
知识星球答疑
今天在知识星球里收到了一个用户的提问,我觉得这个问题比较具有代表性,所以专门写一篇推送分析一下数据增强在医学影像中的应用。
提问的人没有给出具体的包,所以我只能介绍一下我自己处理数据增强问题的思路。
我会更关注模型,其次才是包——我首选的模型会是CycleGan,因为它可以处理不配对的数据,只要是两种不同的风格数据即可,适用范围很广。
具体哪个包好用,需要根据自己数据集的情况来定。功能基本类似,没有太大区别。效率的话,只要你别用太古老或者巨复杂的模型,就基本取决于你的数据量,自己用小批量数据实测一下就行。
数据增强的应用场景
数据增强最常出现的应用场景就是解决医学数据稀缺以及数据不平衡的问题——数据增强可以利用有限的数据生成更多的样本,减少过拟合的风险。提到这里,我想再和大家提一个我之前重点分析过的研究方向——虚拟染色。
上图中第二个方框提到的推送,是虚拟染色方向最新一批的研究成果,非常具有代表性。我们想要研究病理图像的数据增强,虚拟染色是一个无法绕过的方向,毕竟模型的架构基本都聚焦于生成对抗网络。
为了让大家更好的理解数据增强在病理图像中的应用,本期推文将依次介绍数据增强在自然图像处理领域的应用以及在医学图像领域(影像+病理都有)的应用,同时我也会推荐一些论文和入门书籍。
一、论文及入门书籍推荐
1-1:论文推荐
中文
专门研究数据增强的研究相对较少,我们如果看国内的文献,一般来源就是毕业论文和会议期刊。
学位论文和期刊各挑了一篇,两篇都是以医学图像数据的增强做标题,但是都涉及到了眼底照片的处理(其中学位论文还涉及到了肺部CT和脑部MRI图像的处理)。
外文
这一部分在检索文献时,我设定的检索条件比较苛刻——要求标题中必须含有augmentation,所以最终在剔除部分低质文献后,仅剩余15篇文献。
其中第二篇文章属于意外惊喜,是关于打标签增强的——也就是说辅助你更快速高效的给病理切片打标签。
今年6月发表的一篇顶刊还引用了这篇文献,所以我第二篇推文就是关于这篇文献的分析。
1-2:书籍推荐
这一部分论文少,那么对应的书肯定也很少,好在还是找到了两本。
《GANs for Data Augmentation in Healthcare》
这本书详细介绍了 GANs 在医学图像合成、疾病诊断、数据分类等多个方面的应用,如利用 GANs 生成视网膜血管图像、检测肺炎和 COVID-19、诊断脑肿瘤等。
书中涵盖了不同类型的 GANs 模型,如 DCGAN、WGAN 等,以及各种数据增强技术,包括几何变换、循环一致性对抗网络等,讨论了它们的原理、优势和局限性。
通过数据增强,能够为医学图像分析提供更多的训练数据,改善模型的性能,从而提高疾病诊断的准确性。
《Data Augmentation with Python》
这本书主要介绍了如何利用各种技术来扩展图像、文本、音频和表格数据的数据集,以提高深度学习模型的准确性。
详细介绍了数据增强的概念、作用和重要性,包括在深度学习项目中如何通过数据增强来提高模型的性能。同时,还介绍了数据增强的基本方法和技术,以及如何选择合适的增强方法和参数。
最主要的是书中提供了大量的 Python 代码示例,帮助读者更好地理解和掌握数据增强技术。读者可以通过运行这些代码示例,亲身体验数据增强的过程,并根据自己的需求进行修改和扩展。
二、数据增强在自然图像领域的应用
2-1:背景介绍
图像增强中的数据扭曲方法最早应用于LeNet-5网络中,用于手写数字分类。
自2014年生成对抗网络(GANs)的引入,2015年的神经风格迁移,以及2017年的神经架构搜索(NAS)以来,各种GAN扩展如DCGANs、CycleGANs和渐进式增长GANs等相继发表。
神经风格迁移在2016年由Johnson等人通过感知损失的发展得到加速。将NAS的元学习概念应用于数据增强的研究逐渐增多,包括2017年的Neural Augmentation、Smart Augmentation和2018年的AutoAugment。
大多数增强方法旨在改善图像识别模型,图像识别是指模型根据输入图像预测输出标签(如“狗”或“猫”)。然而,这些成果可扩展到其他计算机视觉任务,如由YOLO、R-CNN、fast R-CNN、faster R-CNN引领的目标检测,以及包括U-Net在内的语义分割算法。
2-2:举例分析
黑色素瘤分类
这张图片展示了在黑色素瘤分类领域中,由Mikolajczyk和Grochowski提出的几种颜色增强技术的效果。
这些技术通常用于图像处理和计算机视觉任务,以提高模型对图像变化的鲁棒性。
下面是对每种增强技术的详细分析:
-
Contrast +20%:
- 对比度增强是一种图像处理技术,用于增加图像中不同区域之间的亮度差异。
- 在这张图片中,对比度增加20%意味着图像的亮部变得更亮,暗部变得更暗,从而使得图像的细节更加突出。
-
Hist.equalization:
- 直方图均衡化是一种图像处理技术,用于改善图像的对比度。
- 它通过重新分配图像的亮度值,使得整个图像的亮度分布更加均匀,从而增强图像的对比度。
- 在这张图片中,直方图均衡化可能使得原本不明显的区域变得更加清晰。
-
White balance:
- 白平衡是一种调整图像颜色的技术,目的是确保图像中的白色区域看起来是真正的白色。
- 这通常涉及到调整图像的色温和色调,以模拟在特定光照条件下的自然颜色。
- 在这张图片中,白平衡可能使得图像的颜色更加自然,减少了由于光源颜色引起的偏差。
-
Sharpen:
- 锐化是一种图像处理技术,用于增强图像的边缘和细节。
- 它通过增加图像中相邻像素之间的差异来实现,使得图像看起来更加清晰。
- 在这张图片中,锐化可能使得黑色素瘤的边缘更加明显,有助于分类算法更准确地识别和分类。
这些颜色增强技术在黑色素瘤分类中非常重要,因为它们可以帮助模型更好地理解和区分不同的皮肤病变,提高诊断的准确性。
通过增强图像,可以减少由于光照、角度和拍摄条件变化带来的影响,使得模型更加鲁棒。
颜色增强
这张图片展示了由Wu等人测试的颜色增强技术的例子,这些技术可用于图像识别、分类或其他计算机视觉任务中,以提高模型对颜色变化的鲁棒性。
下面是对每种颜色增强技术的详细分析:
-
Original photo:
- 这是原始照片,没有经过任何颜色增强处理,作为比较的基准。
-
Red color casting:
- 这种增强技术将整个图像的颜色偏向红色。这可以模拟在特定光照条件下拍摄的照片,例如在红光下。
-
Green color casting:
- 类似于红色增强,这种技术将整个图像的颜色偏向绿色。这可以用于模拟在绿光下拍摄的照片。
-
Blue color casting:
- 这种技术将整个图像的颜色偏向蓝色,模拟在蓝光下拍摄的照片。
-
RGB all changed:
- 在这种增强中,图像的红色、绿色和蓝色通道都被改变,可能是通过调整每个通道的强度来实现的。
-
Vignette:
- 暗角效果,图像的边缘变暗,而中心保持不变。这种效果可以模拟镜头的光学特性或特定的艺术效果。
-
More vignette:
- 比普通暗角效果更强烈的暗角,边缘的暗度更明显。
-
Blue casting + vignette:
- 结合了蓝色增强和暗角效果,图像整体偏向蓝色,同时边缘变暗。
这些颜色增强技术可以帮助模型在训练过程中学习到在不同颜色条件下的特征,从而提高其在实际应用中的泛化能力。
例如,在安全监控、自动驾驶或医疗影像分析等领域,图像可能会因为光照条件、设备差异或病理变化而出现颜色变化,颜色增强技术可以帮助模型更好地适应这些变化。
随机擦除
随机擦除是一种数据增强技术,通过在图像中随机选择区域并将其像素值设置为零(或其他值)来模拟缺失数据的情况,从而提高模型的鲁棒性。
以下是对每种技术的详细分析:
-
Input Image:
- 这是未经任何处理的原始输入图像,用于对象检测任务。图中显示了两匹马,周围有边界框标记。
-
Image-aware Random Erasing:
- 这种技术在图像中随机选择区域进行擦除,但不考虑图像中的对象。擦除的区域可能覆盖整个图像的任何部分,包括背景和对象。
- 在图中,可以看到擦除的区域(灰色方块)随机分布在图像中,有些可能覆盖了马的部分区域。
-
Object-aware Random Erasing:
- 这种技术在擦除时考虑了图像中的对象。擦除的区域会尽量避免覆盖对象的关键部分,或者在对象内部进行擦除。
- 在图中,擦除的区域(灰色方块)被限制在对象的边界框内,确保不会影响对象的整体识别。
-
Image and Object-aware Random Erasing:
- 这种技术结合了图像感知和对象感知的随机擦除。它在擦除时既考虑了图像的整体结构,也考虑了对象的位置和形状。
- 在图中,擦除的区域(灰色方块)被精心选择,以避免覆盖对象的关键特征,同时在图像的背景和对象之间进行平衡。
这些技术在对象检测任务中非常重要,因为它们可以帮助模型学习在部分信息缺失的情况下如何识别和定位对象。
通过这种方式,模型可以变得更加鲁棒,能够更好地处理现实世界中的各种情况,例如遮挡、光照变化或图像质量差异。
三、数据增强在医学影图像领域的应用
3-1:背景介绍
深度学习在医学成像中的应用自2012年以来一直广受欢迎。
2017年Esteva等人展示了皮肤癌检测的研究,达到皮肤科医生水平。Yi等人的综述详细记录了GAN在医学成像中的应用,包括CT降噪、加速磁共振成像、PET降噪以及超分辨率GAN在视网膜血管分割中的应用。
GAN基于图像合成的数据增强由Frid-Adar等人在2018年用于肝脏病变分类,将分类性能从传统增强方法的78.6%灵敏度和88.4%特异性提高到85.7%灵敏度和92.4%特异性。
3-2:应用场景
数据增强在医学图像领域具有重要应用,主要包括以下几个应用场景。
数据扩充
通过应用各种变换,如翻转、旋转、缩放等,增加训练数据的多样性,使模型能够学习到更多的特征,从而提高模型的准确性和泛化能力。
例如,在皮肤癌检测中,通过生成合成图像来扩充数据集,有助于提高模型对不同类型皮肤癌的识别能力。
解决数据问题
-
处理稀缺数据:医学图像数据往往稀缺,数据增强可以利用有限的数据生成更多的样本,减少过拟合的风险。例如,在脑肿瘤检测中,由于脑肿瘤病例相对较少,数据增强技术可以帮助生成更多的训练样本。
-
应对数据不平衡:医学图像数据中不同类别之间的样本数量可能不平衡,数据增强可以通过合成新的样本,平衡不同类别的数据分布,提高模型的性能。
提升图像质量
- 增强图像特征:使用数据增强技术,如生成对抗网络(GANs),可以生成具有更高质量和分辨率的医学图像,有助于医生更准确地诊断疾病。例如,GANs可以用于生成合成的MRI或CT图像,以补充有限的真实数据。
- 改善图像分割效果:在医学图像分割任务中,数据增强可以帮助模型更好地学习图像的特征和结构,提高分割的准确性。
3-3:举例分析
参考文献
由于不同中心的扫描仪、组织处理、染色和图像采集协议的差异,导致图像存在细微变化,传统的卷积神经网络对这种领域偏移非常敏感。
数据增强是一种流行的方法来改善领域泛化,但手动调整增强参数耗时且可能导致次优的泛化性能。
研究选择了四种来自通用计算机视觉的最先进的自动增强方法,并调查它们在组织病理学中改善领域泛化的能力。研究分析了这些方法在来自25个中心的两个不同任务上的表现:淋巴结中的肿瘤转移检测和乳腺癌组织类型分类。
研究结果表明,在肿瘤转移检测任务中,大多数自动增强方法达到了与最先进的手动增强相当的性能。在乳腺癌组织类型分类任务中,领先的自动增强方法显著优于最先进的手动数据增强。
乳腺癌核心针活检和切除手术样本在不同中心的染色变化
这些样本来自BRCA-TCGA(乳腺癌队列的临床、基因组学和转录组学分析)数据集。
图中每个方框包含四个图像,分别代表不同中心的样本,中心用两个字母的缩写表示。
-
染色差异:不同中心的染色方法可能导致颜色和对比度的显著差异。这可能影响病理学家对组织结构和细胞特征的观察。
-
组织结构:每个中心的样本展示了不同的组织结构和细胞密度。这些差异可能与染色技术、组织固定方法或样本处理过程有关。
-
诊断影响:染色的一致性对于病理诊断至关重要。染色差异可能导致对肿瘤特征的误判,如肿瘤边界、细胞核大小和形状等。
-
标准化需求:为了提高诊断的准确性和可比性,需要在不同中心之间实现染色技术的标准化。
-
数据集多样性:BRCA-TCGA数据集包含了来自不同中心的样本,这增加了数据的多样性,有助于研究者理解不同条件下的生物学变化。
-
研究应用:这种染色变化的分析对于开发自动化图像分析算法至关重要,因为算法需要能够适应不同中心的染色风格。
-
质量控制:不同中心的染色质量控制标准可能不同,这可能影响研究结果的一致性和可靠性。
传统学习VS元学习
这张图对比了传统学习和元学习(meta-learning)在训练分类器时的不同方法,特别是在数据增强(data augmentation)超参数的选择上。
传统学习(Conventional Learning)
-
数据增强(Data Augmentation):在传统学习中,数据增强的超参数是由人类手动选择的。这些超参数决定了如何对原始数据进行变换,以增加数据集的多样性,帮助模型更好地泛化。
-
分类卷积神经网络(Classification CNN):增强后的数据被输入到分类卷积神经网络中。
-
梯度下降优化器(Gradient Descent Optimizer):网络通过梯度下降算法来最小化损失函数(Loss),从而优化网络参数(θ)。
-
损失函数(Loss):损失函数衡量模型预测与实际标签之间的差异,梯度下降算法通过最小化这个损失来训练模型。
元学习(Meta Learning)
-
增强搜索空间(Augmentation Search Space):在元学习中,数据增强的超参数不是手动选择的,而是在一个有限的搜索空间中通过迭代优化来找到。
-
元优化器(Meta Optimizer):元优化器负责在增强搜索空间中寻找最优的数据增强超参数。
-
元损失(Meta Loss):元损失是一个目标函数,用于评估不同数据增强策略的效果。元优化器通过最小化元损失来找到最佳的超参数。
-
训练最终模型:找到对应于元损失函数最优点的数据增强超参数后,这些超参数被用来训练最终的模型。
比较与分析
- 自动化与手动:传统方法中数据增强超参数的选择是手动的,而元学习方法是自动化的,通过算法来寻找最优解。
- 搜索空间:元学习方法引入了搜索空间的概念,允许在多个可能的增强策略中进行选择。
- 优化过程:在传统学习中,优化过程直接针对模型参数;而在元学习中,首先优化数据增强策略,然后再用这些策略来训练模型。
- 灵活性与效率:元学习方法可能更灵活,因为它可以自动调整以适应不同的数据集和任务,但可能需要更多的计算资源来执行搜索和优化过程。
四种自动数据增强方法之间的对比
下表总结了四种自动数据增强方法在三个主要组件上的差异:搜索空间表示(Search space representation)、元优化器(Meta optimizer)和元目标(Meta objective)。
Method | Search space representation | Meta optimizer | Meta objective |
---|---|---|---|
RandAugment | magnitude & num. of sequential transforms | grid-search | validation metric |
PBA | data augmentation schedules | Population-based training | validation metric |
Fast Autoaugment | data augmentation policies | Bayesian optimization | validation loss |
DADA | data augmentation policies | gradient descent | validation loss |
以下是每种方法的详细分析:
-
RandAugment
- 搜索空间表示:RandAugment的搜索空间由一系列变换的幅度(magnitude)和数量(num. of sequential transforms)组成。这意味着它考虑了不同数据增强操作的强度和应用的顺序。
- 元优化器:使用网格搜索(grid-search)来找到最佳的增强参数。网格搜索是一种穷举搜索方法,它尝试所有可能的参数组合来找到最优解。
- 元目标:使用验证集上的性能指标(validation metric)作为优化目标。这通常是指模型在验证集上的准确率或其他性能指标。
-
Population-Based Augmentation (PBA)
- 搜索空间表示:PBA的搜索空间由数据增强的时间表(data augmentation schedules)组成,这可能涉及到在训练过程中不同阶段应用不同的增强策略。
- 元优化器:采用基于种群的训练(Population-based training),这是一种进化算法,通过维护一个参数的种群并迭代地改进它们来寻找最优解。
- 元目标:同样使用验证集上的性能指标作为优化目标。
-
Fast Autoaugment
- 搜索空间表示:Fast Autoaugment的搜索空间由数据增强策略(data augmentation policies)组成,这些策略是一系列数据增强操作的组合。
- 元优化器:使用贝叶斯优化(Bayesian optimization),这是一种全局优化策略,通过构建目标函数的概率模型来选择新的参数点进行评估。
- 元目标:使用验证集上的损失(validation loss)作为优化目标,这与性能指标相比,可能更直接地反映了模型的预测误差。
-
DADA (Data Augmentation by Distribution Alignment)
- 搜索空间表示:DADA的搜索空间同样由数据增强策略组成,但可能更侧重于通过分布对齐来提高数据增强的效果。
- 元优化器:使用梯度下降(gradient descent),这是一种常见的优化算法,通过迭代地调整参数以减少损失函数的值。
- 元目标:与Fast Autoaugment类似,DADA也使用验证集上的损失作为优化目标。
3-4:性能对比
这两张表格展示了在两个不同数据集上,使用不同自动增强方法训练的模型的性能。
表3:CAMELYON17数据集上的肿瘤转移检测任务
- 无增强(No augmentation):平均AUROC为0.672,表现最差。
- 手动基线(Manual baseline):平均AUROC为0.966,是所有方法中最高的,表明手动选择的增强策略在这一任务上非常有效。
- PBA:平均AUROC为0.930,表现也非常好,接近手动基线。
- Fast Autoaugment:平均AUROC为0.961,略低于PBA,但仍然表现优异。
- RandAugment:平均AUROC为0.967,与Fast Autoaugment相近,略高于PBA。
- DADA:平均AUROC为0.963,与RandAugment相近,表现同样出色。
表4:TIGER数据集上的乳腺癌组织类型分类任务
- 无增强(No augmentation):平均AUROC为0.749,表现一般。
- 手动基线(Manual baseline):平均AUROC为0.799,表现良好。
- PBA:平均AUROC为0.805,略高于手动基线。
- Fast Autoaugment:平均AUROC为0.799,与手动基线相近。
- RandAugment(转移):平均AUROC为0.808,略高于Fast Autoaugment。
- RandAugment(调整):平均AUROC为0.827,是所有方法中最高的,表明经过调整的RandAugment在这一任务上表现最佳。
- DADA:平均AUROC为0.801,与Fast Autoaugment相近,但略低于RandAugment(调整)。
综合分析
-
自动增强方法的有效性:在两个数据集上,自动增强方法(如RandAugment、Fast Autoaugment和DADA)通常能够达到或接近手动选择增强策略的性能,这表明自动增强方法在不同任务和数据集上具有很好的适应性和有效性。
-
数据集差异:CAMELYON17数据集上,手动基线的表现略优于自动增强方法,而在TIGER数据集上,经过调整的RandAugment表现最佳。这可能与数据集的特性和增强方法的适应性有关。
-
增强方法的调整:RandAugment在TIGER数据集上经过调整后,性能有显著提升,这表明对增强方法进行针对性调整可以进一步提高模型性能。
-
一致性:在两个数据集上,无增强的模型性能都相对较低,这强调了数据增强在提高模型性能中的重要性。
-
标准差:表格中的标准差提供了模型性能的波动范围,较小的标准差意味着模型性能更稳定。
由于时间原因,更详细的内容,请大家阅读推文中推荐的文献和书籍。也欢迎大家加入我的星球,提出自己在学习过程中遇到的问题,我们一起成长!
标签:24,增强,12,模型,图像处理,图像,集上,AUROC,数据 From: https://blog.csdn.net/qq_45404805/article/details/144429102