张 宪 史沧红 李孝杰
1(成都信息工程大学计算机学院 成都 610103) 2(西南交通大学信息科学与技术学院 成都 611765)(zhangxian317@gmail.com)
在计算机视觉中,可视化图像关键特征区域是一个重要而需要深入研究的问题.视觉特征归因(visual feature attribution)是图像可视化的新兴问题.2018年Baumgartner等人[1]发表于CVPR(computer vision and pattern recognition)的会议论文将其定义为:检测和可视化图像中特定类别的特征区域.另外,视觉特征归因问题对于弱监督目标定位、理解疾病效应和数据中的重要隐藏信息起着非常重要的作用.特别在医学临床中,医生需要根据病人病理图像或影像数据人工获取病人的疾病信息.与区分明显的自然图像不同,正常人与患者的图像特征数据通常差异性较小,因此从大量的图像数据中寻找有用的病理信息无疑单调乏味、耗时且容易出错.本文主要解决了医学图像的病变特征的标注问题,即自动显示病变区域.
弱监督目标定位与分割[2]通常采用分析训练好的卷积神经网络分类器[2],结合类激活映射(class activation mapping, CAM)[3]、导向反向传播等方法获得最终的特征图[4],进而确定目标位置.但此类方法通常只提供判定图像属于某种类别的大概依据(范围),而不能实现精准定位.如在弱监督目标定位中[5-6]训练数据是弱标记的,即标签仅包括图像或视频中是否含有特定目标,而不提供该目标的具体位置信息.基于已有的数据标签信息,弱监督目标定位只有通过训练分类器结合分类特征图达到目标定位的目的.但是直接基于神经网络分类器完成该类任务,存在一定的缺陷.因为该类分类器只是针对某些显著特征区域而不是整幅图片进行分类.在训练期间,如果图像冗余信息具有更强的特征,则分类器可能会忽略掉具有低判别力的感兴趣特征.所以,此类方法最后可能得不到我们的期望目标.因此,如果图像包含多个目标的类别信息,则可能存在漏检、错检的问题.
目前,基于生成式对抗网络(generative adver-sarial networks, GAN)[7]的视觉特征归因图像生成方式已具有好的视觉效果.但是GAN网络很难让生成器网络G(x)和判别器网络D(x)达到负载均衡的效果,同时又存在梯度消失、难以训练的问题.为了解决GAN网络面临的问题和弥补传统方式只关注局部特征的缺陷,Baumgartner等人[1]使用Wasserstein距离来更好地训练G(x)和D(x),获得显著特征区域,提出了VA-GAN(visual attribu-tion wasserstein GAN)[1]网络来生成整幅图像的特征区域.同时,VA-GAN网络为了加速网络收敛,引入WGAN-GP的梯度惩罚[8](gradient penalty)来防止梯度消失或爆炸.虽然基于WGAN和WGAN-GP网络的VA-GAN能准确显示特征区域,但仍存在较大冗余信息.此外,WGAN在真实训练中依旧存在训练困难、收敛速度慢的问题.WGAN-GP在不同数据集中的适用性较差.
为解决上述问题,本文提出了一种基于生成对抗对特征的视觉特征归因网络.与VA-GAN网络通过确保生成更接近正常人的图像y0进而得到病变区域特征信息G(x1)不同,我们直接显式地鉴别判定生成病变区域特征.首先构造关键(如病变)特征区域对抗对,采用生成和鉴别对抗网络,将病人图像数据x1送入生成网络G(x1)生成正常图像y0,把构造的特征对抗对(adversarial pair, AP) (y0-x1,x1-x0)送入鉴别网络进行特征修正、正常与否鉴别,通过对抗学习生成关键特征区域.该种方式可有效去除病变区域特征的冗余信息,实现更精确的病变信息定位,有效解决了疾病特征可视化问题.此外,我们采用了Wasserstein距离约束具有关键特征的对抗对(y0-x1,x1-x0)服从相同的分布,使生成的病变特征y0-x1更接近于真实病变特征x0-x1,进而有效过滤冗余信息.同时该距离可解决传统生成对抗网络难以达到负载均衡的缺陷.另外使用梯度惩罚加速收敛过程.实验结果证明了我们网络的有效性.
目前,使图像关键区域特征可视化的网络有很多,其中,最具有代表性的为类激活映射图(class activation mapping, CAM)、GAN网络、WGAN网络、WGAN-GP网络和VA-GAN网络.这些网络结构在关键区域特征可视化取得了很好的效果.
1) 类激活映射图(class activation mapping, CAM)[9]
(1)
医学图像上的大量工作都是建立在CAM基础之上的.在医学领域通过CAM热力图来做特征区域的显示,从而判断病变区域,便于诊断.该类方法会受到其他噪声的干扰,导致病变区域定位不准确,即使没有噪声的干扰,也存在边缘模糊和标注范围不明确的问题.
2) GAN网络
GAN网络通常由2部分组成,生成器G(x)和判别器D(x).其中,生成器G(x)负责生成类似于真图的假图x1,判别器D(x)则通过学习真实图像x0与假图x1的特征来鉴别输入鉴别器的图片真假,两者通过相互博弈,在竞争中共同进步,直到生成器生成的图像与真实图像属于相同分布.经典GAN网络损失函数为
(2)
其中,x0为真图,x1为假图且x1=G(z),z为随机噪声.
基于GAN网络的生成思想,产生了越来越多应用.在医学图像的背景下,GAN[11]已应用于视网膜眼底图像中的超分辨率,用于半监督心脏分割,合成MR图像的计算机断层扫描图像和运动建模.针对原始GAN网络生成图像模糊问题,SRGAN利用感知损失(perceptual loss)和对抗损失(adversarial loss);使用SPResnet作为生成网络,再加上2个亚像素卷积层(sub-pixel convolution layers)被用来增大特征尺寸;判别器使用VGG19提取特征信息来提升恢复图片的真实感实现图像的超分辨率.与传统的GAN网络相比,CGAN (conditional genera-tive adversarial nets)[12]在生成器和判别器上多了一个标签的输入,使其变为条件概率公式,实现图像到图像的翻译,即CGAN就是根据条件生成指定要求的图像.为了完成从文本描述到图像的合成,StackGAN[13]以随机向量z和文本描述刻画的向量作为输入,采用标准的conditional GAN网络生成物体的基本形状和颜色;然后将生成结果和文本描述作为输入对抗生成高质量的图片.
3) WGAN(Wasserstein GAN)网络
WGAN网络由Gulrajani等人[8]于2017年基于Wasserstein距离[14]提出的用于生成对抗网络损失函数的新型方式,以解决传统GAN网络通过JS散度拉近2种分布(生成分布和真实分布)的不平衡问题.该方法通过近似Wasserstein距离,利用参数数值范围受限的判别神经网络来最大化可求解的Wasserstein距离形式优化生成器使得Wasserstein距离缩小,以有效拉近生成分布与真实分布.WGAN既解决了训练不稳定的问题,也提供了可靠的训练进程指标,而且该指标与生成样本的质量高度相关.WGAN与原始的GAN网络相比做了4点改动:
① 判别器最后一层去掉sigmod;
② 生成器和判别器的loss不取log;
③ 每次更新判别器的参数之后把它们的绝对值截断到不超过一个固定常数;
④ 不用基于动量的优化算法.
4) WGAN-GP网络
WGAN-GP网络与GAN网络相比较,WGAN加速了训练过程,但仍存在训练困难、收敛速度慢、效果提升不显著的问题.2017年,Gulrajani等人[8]指出直接采用weight clipping处理Lipschitz限制条件是造成WGAN上述问题的主要原因.Gulrajani等人[8]为了加速网络收敛,提出了WGAN-GP[8]的思想,使用梯度惩罚(gradient penalty, GP)来防止梯度消失或爆炸问题.WGAN-GP网络针对Lipschitz限制要求判别器的梯度不超过常数k,梯度惩罚则设置一个额外的loss项来实现梯度与k之间的联系,其目标函数如式(3)所示.另外,WGAN-GP模型是对每个样本独立施加梯度惩罚,所以在判别器的模型架构中不能使用批量归一化(batch normaliza-tion)约束,因为它会引入一批数据(batch)内部不同样本之间的相互依赖关系.
(3)
5) VA-GAN网络
VA-GAN网络是基于WGAN-GP网络结构,2018年Baumgartner等人[1]提出了一种视觉特征归因网络(VA-GAN)[1],以实现病变区域特征图生成功能.VA-GAN将图像分为2类xi,其中,i∈{0,1},0代表正常人,1代表病人.该方法首先通过将病人图像数据x1送到生成器G(x)中,生成病变MaskM(x1)特征图;其次,将该Mask添加到类别为“1”的病理图像上,构造出正常人图像y0=M(x1)+x1和真实正常人图像x0分别送入判别器D(x)中,通过对抗训练确保生成的Mask受到约束,使其与类别为“1”的图像叠加,更接近类别为“0”的图像,使y0和x0有相同的特征分布.最后通过(y0-x1)获得病变区域视觉归因特征图.图1为Baumgartner等人[1]提出的网络构架.
基于GAN的视觉特征归因网络是研究可视化图像的关键特征区域的一个重要研究问题.WGAN,VA-GAN等相关视觉特征归因网络已经具有很好的视觉效果.虽然使用WGAN-GP结构的VA-GAN在理论上解决了WGAN的缺陷,但我们发现VA-GAN在视觉特征归因上除了针对病变区域生成特征归因图,还产生了大量的冗余特征信息.所以为了重点关注病变特征,去除冗余特征,本文提出了一种更高效的基于生成对抗对特征的视觉特征归因网络.
Fig.1 The overall structure of VA-GAN图1 VA-GAN网络整体结构图
与VA-GAN网络通过确保生成更接近正常人的图像进而得到病变区域特征信息不同,我们直接显式地鉴别判定关键(病变)区域特征.该种方式可有效去除病变区域特征的冗余信息,生成更精确的病变信息.
我们的网络结构如图2所示.与生成对抗网络类似,该网络也由2部分组成:生成器G(x)和判别器D(x).G(x)基于传统的U-net网络模型[15],我们在生成器的每层卷积与反卷积之后采用batch normalization做约束,以加速网络的收敛性、防止梯度的消失与爆炸.同时,为了增强网络的训练效果,数据输入被规范为[-1,1]之间.实验采用的具体G(x)网络结构如图3所示.而D(x)鉴别器是经典卷积神经网络,由几层卷积加池化组成以方便提取高效特征.我们采用的D(x)网络结构如图4所示.
Fig.2 The framework of visual feature attribution based on adversarial feature pairs图2 基于生成对抗特征的网络框架图
Fig.3 The generator’s network structure G(x)图3 生成器网络结构G(x)
Fig.4 Discriminator network structure D(x)图4 判别器网络结构D(x)
与VA-GAN网络类似,将图像xi分为2类,其中i∈{0,1},0代表正常人,1代表病人.我们首先将病人图像数据xi送到生成器G(x)中,生成特征图G(xi)(即图2中的G(patient),同时结合病人图像数据x1生成新的图像y′(如式(4)所示).然后,将y′送入tanh函数中,生成正常人图像y0(如式(5)所示).其次,我们构造一种更能突出关键特征如病变区域的特征图Maskm0(如式(6)所示),进而建立病变区域特征对抗对(m0,x0-x1)作为鉴别网络的D(x)的输入做真假鉴别.通过病变区域对抗特征对互相博弈学习不断调整训练G(x)和D(x)网络,使生成的病变区域Maskm0更接近病变区域的归因特征图x0-x1(或服从病变区域图像分布).最后m0显示的就是病人的病变区域特征信息.其中,具体的结构展示和每个步骤的结果见附录A.
y′=x1+G(x1),
(4)
y0=tanh(y′),
(5)
m0=y0-x1,
(6)
其中,x1为病人图像,y0为生成的正常人图像,m0为得到的病变区域图像.
对抗对(adversarial pair, AP):针对Baumgartner等人[1]提出的VA-GAN视觉特征归因网络因考虑全局特征容易产生大量的冗余信息,我们构造了一种更能突出病变区域的特征对抗对(m0,x0-x1),以获得更精确的视觉定位信息.VA-GAN将整幅特征图像的所有信息y0和x0直接送入D(x)判别器中,通过不断学习x0的特征进而拉近y0与x0之间的分布.该种对抗生成方式虽然能生成病变区域的视觉效果归因特征图,但却产生了大量的冗余信息.
y0→D(x)←x0,
(7)
m0→D(x)←(x0-x1),
(8)
其中,y0为生成的正常人图像,x0为正常人的图像,m0为生成的病变区域,x1为病人.
因此为了重点关注病变特征,去除冗余特征信息,我们提出了一种更能突出病变区域的特征对抗对AP(m0,x0-x1),如式(8)所示用于鉴别器学习.
从式(7)和式(8)可直观地看出,(m0,x0-x1)包括较少的冗余信息,更能突出病人与正常人图像的差异性,通过m0和(x0-x1)特征对抗学习,使m0更接近病变区域(x0-x1)或两者服从相同分布.从实验中可以证明此种方式无论在视觉效果上,还是在实验指标上,此种网络均要优于VA-GAN.
与VA-GAN网络损失函数类似,将原始的WGAN网络损失函数改为
LGAN(M,D)=Ex~Pd(x|c=0)[D(x0-x1)]-
Ex~Pd(x|c=1)[D(m0)].
(9)
为了得到更精确的病变区域和去除冗余信息,我们采用L1范数对Maskm0进行稀疏正则化约束,即:
(10)
(11)
(12)
在具体实验中,根据VA-GAN网络我们设置λ=10,ε∈[0,1],ε是与m0维度相同的满足均匀分布的随机值.
LWGAN_GP=LWGAN+PPeanlty+λ0Lreg.
(13)
在实验中我们设置λ0=100.
为了验证所提网络结构的有效性,本文主要与相关方法CAM, WGAN,VA-GAN做对比实验.实验结果评价指标包括定性(视觉效果图)和定量指标:NCC(normalized cross correlation),PSNR(peak signal-to-noise ratio),SSIM(structural similarity),ED(欧氏距离)来衡量不同方法的效果差别.其中,定量指标是通过比较ground-truth label和M(x)(即生成的mask)的相似程度来对比的,各项指标介绍可参考文献[16-17].
实验在python 3.6.7,Ubuntu 16.04,Tensorflow 1.3.1平台下,使用型号为NVIDIA GeForce RTX 2080 TI的GPU上运行.可用于单体梯度计算的最大批量大小为2+2.为了获得更可靠的梯度估计,我们在执行训练步骤之前计算了总共6个minibatch的梯度.在实验中,我们以交替训练的方式优化判别器和生成器网络参数,但与常规GAN网络的训练方式不同,为了达到最接近优化的判别器,我们在每训练判别器5次之后再训练更新一次生成器.另外,对于刚开始的前25次迭代和每第100次迭代,我们会在训练100次判别器之后训练一次生成器.我们使用ADAM优化器来执行所有实验的更新步骤,优化器参数设置为β1=0,β2=0.9,学习率为10-4,优化器的其余参数均为默认的内部参数.最后,我们将λ值设为100作为权重映射正则化项.
受数据集限制,本文主要采用3种不同数据集、合成数据肺部病理数据和心脏病理数据的实验.
Fig.5 Description of synthetic data图5 合成数据实例
首先我们构建了合成数据集,生成了具有2个类别为10 000个112×112的合成图像数据集.图5为模拟健康对照组(设标签为0)和患者组(标签1)实例图像数据.在图5中第1行为Ground_Truth,第2行为真实数据.生成图像在2个类别中均匀分布.其中,合成数据的健康对照组(标签0)和患者(标签1)都是包含具有随机高斯噪声与高斯模糊滤波器卷积的图像.但是患者表现出2种疾病效果之一,即一种是正方形在右下方位置的病人图像(如图5(a))和一种在左上方的病人图像(如图5(b)),2种疾病都使用相同的数据标签(标签1),偏离中心点的位置最多为5个像素.
第2种数据集是肺部病变图像集.令原始肺部图像作为正常人,在正常肺部数据上添加随机噪声作为病理数据集,即异常图像.由于没有合适的病理图片数据源,我们使用肺部切片作为数据的正常图片.我们采用在肺部切片的随机区域使用椒盐噪声来构造病变区域,以此来达到病人与正常人切片成对出现的效果.为了证明VA-GAN-AP的鲁棒性,病理位置与之前的合成数据相比,更加具有随机性.肺部数据的效果图如图6所示:
Fig.6 Examples of lung data图6 肺部数据实例
第3种数据集是心脏病变图像数据,用于捕捉心肌的病变区域.心脏图像不同于肺部数据,而在心脏切片中,存在血池、动脉等其他更加丰富的冗余信息.其中,心脏切片如图7(a)所示,而心肌的位置为标红的环形区域如图7(b)所示.心肌的病变区域特征不如肺部数据和合成数据明显,其病变区域和Ground_Truth如图8所示.我们要做的工作就是在心肌中捕捉到病变区域.
Fig.7 Heart data图7 心脏数据
Fig.8 Examples of heart data图8 心脏数据实例
本次实验中除了我们自己的实验方法,对比实验包括CAM[4],WGAN[8],VA-GAN[1].CAM是将传统的分类器的Dense层去掉,换成全局平均池化(平均池化获得的权重值为wk),如式(1)所示,再乘以特征图反向叠加到原图得热力图,在此实验中,我们用Vgg16作为分类器,去掉所有Dense层.因为我们做的是二分类,所以将最后一层卷积的输出通道数改为2,对每层特征图做GAP,做二分类预测.最后权重乘以特征图反向叠加到原图得预测结果.WGAN网络是用Wasserstein距离来拉近病人于正常人的分布特征,在实验中,我们根据VA-GAN网络使用G(x)直接生成正常人的图像,在目标函数中,使用期望代替log项来近似Wasserstein距离.VA-GAN网络借用WGAN-GP的思想,在WGAN的基础上做了梯度惩罚,在实验中,G(x)生成mask,加上病人x1得到正常人y0,如式(7)所示,判别器D(x)判别正常人x0和生成的正常人y0之间的差异,最后由y0-x1得病变区域.这几类方法的实验结果和对比分析将会在下面给出.
在合成数据中,CAM, WGAN,VA-GAN的视觉结果如图9所示.因为CAM的最大池化层较少,所以其感知区域也会很小,这就意味着该特征图无法同时捕捉到2个正方向,所以其边缘信息丢失的比较严重.从图9中可看出,CAM对病变区域的捕捉已经完全丢失了边缘信息.而WGAN和VA-GAN产生了局部信息较清晰的效果图,且保留了其边缘信息的效果.
各网络对合成数据的NCC等各项定量评价指标值如表1~4所示.从实验的效果和实验指标可以看出,CAM可以大体上捕捉到病变区域的位置,但是对边缘细节信息的捕捉却不够明显.WGAN和VA-GAN的效果要明显优于CAM.而我们基于对抗特征的方法VA-GAN-AP的不管定性还是定量结果均更加接近ground-truth的效果,且我们的方法各项指标值均明显优于其他网络.
Table 1 NCC on the Synthetic Data表1 合成数据NCC评价指标
Table 2 PSNR on the Synthetic Data表2 合成数据PSNR评价指标
Table 3 SSIM on the Synthetic Data表3 合成数据SSIM评价指标
Table 4 ED on the Synthetic Data表4 合成数据ED评价指标
针对真实肺部数据集,CAM,WGAN,VA-GAN及我们网络的视觉结果如图10所示.由图10我们可以看出,CAM的病变区域的捕捉效果针对性太差,而WGAN和VA-GAN可较准确的捕捉到病变区域信息.肺部切片病理数据与合成数据相比而言,其病变区域的位置随机性更大,病变区域的大小也不尽相同,从视觉效果图上可以看出WGAN,VA-GAN和我们网络对病变区域的捕捉并没有受到这些因素的干扰,从而证明此种方法的鲁棒性很好,而我们的方法具有更精准的效果.
为了进一步验证各方法在肺部真实数据集上的可行性,我们采用了4种定量指标:NCC,PSNR,SSIM和欧氏距离,其定量结果如表5~8所示.从实验指标结果中可以看出,WGAN网络和VA-GAN网络要明显优于CAM网络.WGAN网络的NCC指标要比CAM网络高了0.5,我们提出网络的NCC为0.69,比CAM网络高0.58,比WGAN网络和VA-GAN网络高出0.2和0.23;WGAN网络和VA-GAN网络的PSNR和SSIM也分别比CAM网络高20和0.94,欧氏距离也明显优于CAM网络.
Table 5 NCC on the Lung Data表5 肺部数据NCC评价指标
Fig.10 Examples of visual attribution on lung data obtained by different methods图10 不同网络在肺部数据集上的视觉效果图
Fig.11 The Examples of visual attribution on heart data obtained by different methods图11 不同网络在心脏数据集上的视觉效果图
Table 6 PSNR on the Lung Data表6 肺部数据PSNR评价指标
Table 7 SSIM on the Lung Data表7 肺部数据SSIM评价指标
Table 8 ED on the Lung Data表8 肺部数据ED评价指标
心脏数据实验结果.针对真实肺部数据集,CAM网络、WGAN网络、VA-GAN网络及我们网络的视觉结果如图11所示.由图11可以看出,CAM网络的病变区域的捕捉效果针对性太差,而WGAN网络和VA-GAN网络也对病变区域的捕捉失去了准确性.心脏切片相对于肺部切片病理数据与合成数据相比而言,其病变区域的位置随机性更大,病变区域也更小,病变特征更加不明显,肉眼难以观察到,且除了心肌上的病变区域外,还有存在更加丰富的血池,动脉等冗余信息.从视觉效果图上可以看出WGAN网络和VA-GAN网络已经完全受到冗余信息的干扰,无法正确的捕捉到病变区域,而我们提出的VA-GAN-AP却能正确的捕捉到病变区域,去除冗余特征信息.从而证明此种方法的鲁棒性很好,而我们的方法具有更精准的效果.
为了进一步验证各方法在心脏真实数据集上的可行性,我们采用了4种定量指标:NCC,PSNR,SSIM, ED(欧氏距离),其定量结果如表9~12所示.从定量指标结果可以看出,WGAN网络和VA-GAN网络要明显优于CAM网络.WGAN网络的NCC指标要比CAM网络高了0.5,虽然我们网络
Table 9 NCC on the Heart Data表9 心脏数据NCC评价指标
Table 10 PSNR on the Heart Data表10 心脏数据PSNR评价指标
Table 11 SSIM on the Heart Data表11 肺部数据SSIM评价指标
Table 12 ED on the Heart Data表12 心脏数据ED评价指标
在NCC指标上值为0.058,只比VA-GAN网络高了1.0×10-4,但是在PSNR,SSIM,ED(欧氏距离)3处指标上和其他3种对比方法拉开了显著的差距.
本文实验共用了合成数据、肺部病理切片和心脏切片3种数据集.合成数据的病变区域为2个正方形区域,其位置偏离中心位置最多5个像素,是为了增加测试难度,但是对结果并没有显著影响.而使用肺部病理数据更是增加了病变区域的随机性,为训练增加了难度.从对肺部病理数据的实验结果来看,还是准确捕捉到了病变区域的位置.心脏数据是3种数据中冗余信息最丰富,病变特征信息最不明显,最难以捕捉心肌上病变区域的数据集,我们的网络均可捕捉到了病变区域.根据以上的实验过程和实验结果,可以知道无论是在合成数据中还是在肺部病理切片数据或者是在心脏切片数据中,WGAN和VA-GAN和我们网络的效果都比较客观.
在计算机视觉中,将输入图像的特定特征区域可视化是一个深入研究的问题.经过比对与分析,发现基于神经网络分类器进行特征分析的时候会产生冗余的特征信息.所以,为了弥补传统方式只关注局部特征的缺陷,且容易产生冗余病变区域特征,我们提出了一种基于生成特征对抗对的视觉特征归因网络.在合成数据和真实肺部图像上的实验结果验证了我们所提方法的有效性.我们的算法也有一些局限性,其中最大的局限性在于要求训练数据集(病人、正常人)数据成对存在,用于捕捉到病变区域.这也是我们的网络被称作基于生成特征对抗对的视觉特征归因网络,也是我们后续工作将要攻克的难题.