数据不够,用GAN来凑!

 

 

在计算机视觉领域,深度学习方法已全方位在各个方向获得突破,这从近几年CVPR 的论文即可看出。

 

但这往往需要大量的标注数据,比如最著明的ImageNet数据集,人工标注了100多万幅图像,尽管只是每幅图像打个标签,但也耗费了大量的人力物力。

 

说到标注这件事,打个标签其实还好,如果是针对图像分割任务,要对图像进行像素级标注,那标注的成本就太高了。跟专业的标注公司打过交道的朋友都知道,打标签、标关键点和标像素区域,所要付出的成本可大不同。

 

在医学影像领域,图像数据往往难以获取,而这又是一个对标注精度要求极高的领域。

 

最近几年,以GAN为代表的生成模型经常见诸报端,那能否用GAN破解标注数据不足的问题呢?

最近发现一篇论文Generating large labeled data sets for laparoscopic image processing tasks using unpaired image-to-image translation,来自德国国家肿瘤疾病中心等单位的几位作者,提出通过GAN对计算机合成的人体腹腔镜图像进行转换的方法,能够大批量得到与真实图像相似的合成图像,并在器官分割实验中,大大改进了真实图像的分割精度。非常值得一读。

 

下面是作者信息:

 

下图即为作者用计算机图形学方法合成的腹腔镜图像(A,下图第一列),和转换后的具有真实感的合成图像(Bsyn,下图第二列和第三列)。

 

CV君不是专业的医务人员,不过也可以看出转换后的图像的确比之前更具真实感。

 

 

方法介绍

 

作者使用Nvidia发布的MUNIT库进行图像转换,并进行了改进。

 

 

这是一个非成对数据的图像转换问题,作者使用一种循环loss,将A 域(模拟图)和B域(少部分真实图)进行循环的编码、生成、鉴别。

 

因为A 域内图像是计算机模拟出来的,所以天然的带有像素级标签。

 

作者的改进之处在于添加了MS-SSIM loss (Multi-Scale Structural Similarity,多尺度结构相似性损失函数),保证转换后图像结构相同。

 

另外,作者对编码器加入随机噪声,防止生成的纹理都完全相同。

 

下图为作者提供的训练数据的例子:

 

请注意,他们含有相似的目标,但很显然内容并不是匹配的,这样的训练数据是比较好找到的。

 

 

实验结果

 

作者用上述方法生成了10万幅图像,并在图像分割任务中验证了,这种合成数据对医学图像分割模型训练的价值。

 

下图对各种情况进行了分割结果比较:

 

Bv是原有真实数据,Bsyn是合成数据,I代表模型在Imagenet进行了预训练。

 

可见,使用这种合成数据大幅改进了分割精度。而在Imagenet数据集上预训练的结果更好。这种方法对你有什么启发?欢迎留言。

转载请注明:《数据不够,用GAN来凑!