本文主要是介绍【GAN】StainGAN,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
论文:https://arxiv.org/abs/1804.01601
代码:https://github.com/xtarx/StainGAN(非官方,其实可以直接使用cyclegan的代码)
一、背景
1、染色:染色成分(主要是苏木精和曙红)的加入使天然透明组织成分变得更加可区分(苏木精染核呈深紫色,曙红染其他结构呈粉红色)
2、差异:由于组织结构变化、染色过程的不同、仪器设备不同等均会导致呈现的图像有颜色上的差异。
3、染色归一化方法
(1)色谱匹配:基于通道的lab空间变换。忽略了不同染料对于不同结构的不同影响,可能导致错误的颜色映射。(笔者测试表明,该方法可能把白色的背景转成粉色)
(2)染色分离:每个通道单独归一化,强依赖人工挑选的较好的目标颜色模板。
(3)单纯基于学习的方法:等价于样式转换问题,也就是可以采用GAN实现目标。
二、贡献点
1、作者比较若干染色方法,认为自己的方法结果最优
2、不需要人工挑选模板的过程,较少随机性,也解放人力
3、提供了对于同类问题的对比手段
三、方法
基于CycleGAN(主要针对无配对样本可供训练,而是两个颜色域相互转换)
两组生成判别器,方向相反。
实现过程和原理不予赘述。
四、结果
1、数据集 MITOS-ATYPIA 14 challenge 的一部分数据
2、数据集 Camelyon 16
使用含有三个卷积层的简单网络分类,对比不同染色手段的结果。
个人总结:
1、从实现时间上来看,如果数据量很大,亲测Reinhard的方法就已经吃不消了,更何况是本文方法。Google发了一篇文章,目前是Camelyon 16任务二最好的结果,明确说明染色归一化不会提升效果,这时候看到这篇文章确实有点打脸。或许此方法适用于小数据集,毕竟Camelyon 16 裁剪后数据太多。
2、本来看到摘要说好于目前最好的结果还小小激动了一下,结果发现只是对比了染色的方法。这就存在两个问题,第一,强依赖人工选择目标染色图片的方法作者对比的时候是否选择了合适的图像有待讨论,第二,作者不光需要对比归一化后数据集的分布情况,还需要对比不同染色手段是否影响最终的任务(分类或分割),当然,作者在Camelyon 16确实对比了,但是……
3、Camelyon 16 是公开数据集,且公开了测试集和标签。作者仅仅采用极为简单的网络对比了不同染色手段的结果,这种实验是不完备的,因为其分类结果过差,孰优孰劣没有比较意义,现已知评测最佳结果针对WSI的AUC是0.99,而作者针对小图像却只有0.79。不禁让人怀疑,是否因为方法过于粗糙才导致了染色归一化的明显影响,而精细的方法对于归一化并不敏感呢。。。此方法是否复杂且无用呢……
虽然批判了这么多,但这个方法确实是个很好的切入点,也是染色归一化的新颖方法,没准将来用得到……
这篇关于【GAN】StainGAN的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!