【论文笔记】Generative Adversarial Frontal View to Bird View Synthesis - 论文阅读笔记

【论文笔记】Generative Adversarial Frontal View to Bird View Synthesis

这篇论文是一篇发表在3DV会议上的文章,提出了基于GAN进行视角迁移与生成的方法,针对的场景是基于正面视角frontal view来生成俯视图bird view。作者提出了名为Bridge GAN的模型,结合homography,实现了由Frontal view生成Bird view。
这一领域的研究并不多,大概可以归纳为视角生成或跨域(Cross-Domain)图像生成的问题。由于正视图和俯视图的差异很大,面临着较大的信息缺失,单纯的依靠GAN来生成可能精度不会很高,或者很依赖于训练集场景(更换场景可能就不好使了)这篇文章的作者加入了单应性变换homograph来辅助。
论文提到的BridgeGAN结构图如下图所示:
在这里插入图片描述
这里X,Y,Z分别是homography view,bird view和frontal view。BridgeGAN分别为这三种图像设计了编码单元、解码单元以及判别器,同时生成过程中编解码之间增加了共享部分shared layers。
论文索引信息:Zhu Xinge, Yin Zhichao, Shi Jianping, Li Hongsheng, Lin Dahua. (2018). Generative Adversarial Frontal View to Bird View Synthesis.
论文arXiv连接:https://arxiv.org/abs/1808.00327
作者分享的源码地址如下,该项目基于pytorch
https://github.com/xinge008/BridgeGAN

算法介绍

本文提出的BridgeGAN算法,引入了单应性变换homography。因此这个网络的输入由homography view,bird view和frontal view三部分组成,首先对三个输入图像分别进过各自的编码单元encoder进行编码,也就是特征提取,然后将三组feature map拼接起来,通过共享层shared layers,接着讲得到的特征图分别经过三种生成单元,生成图像。每个生成单元,都要生成X,Y,Z也就是homography view,bird view和frontal view三个部分,因此这部分可以得到9个输出,也就是xx(从homo生成homo), xy(homo->bird),xz(homo->frontal),以及yx, yy, yz, zx, zy, zz。模型还包含3个判别器,分别对x,y,z进行判别。
同时算法设计了cycle循环一致损失项,实现bird->homo->bird homo->bird->homo front->bird->front bird->front->bird的循环生成。
算法设计了语义特征层面的损失函数,用resnet分别提取生成bird、循环生成的bird以及原图的特征,比较特征向量间的差异。
其损失函数包括:
L = L G A N + L c y c + L c f c L=L_{GAN}+L_{cyc}+L_{cfc} L=LGAN+Lcyc+LcfcGAN损失函数、cycle consistency 损失 和feature层面的损失函数。
在这里插入图片描述
GAN Loss在实现上对discriminator采用了PatchGAN思路输入一个m*n的概率块并于ALL-1 ALL-0做交叉熵的形式求解判别器给出的loss。GAN loss也包括bird-homo front-homo两对生成单元的4组损失。
在这里插入图片描述
循环一致cycle loss同样考虑上述两对生成单元的cycle loss,这里用的是L1 loss计算生成图与原图的差异。
在这里插入图片描述
特征层面相似度选用resnet50提取特征,并计算特征向量间的L2 loss。
在这里插入图片描述
网络实现细节如上图。

实现细节

论文算法实现细节上,三个domain的图像经过encode之后,其拼接方式不同于我们一般的沿channel维度(在pytorch的cat函数中dim=1),而是沿batch size维度拼接(在pytorch的cat函数中dim=0)。这样做实际上不同于我们将cat的部分信息交互,实际上网络处理上沿batch size拼接相当于各部分共用相同参数的网络,信息之间没有交互。文章认为,这样有利于实现相同的中间表达
同时在shared layer包括enc_shared 和 dec_shared两部分,enc_shared后会添加一个高斯噪声,并在生成模型前向传播时输出enc_shared的结果,用于一部分loss的计算。

Homo生成方面通过特征点匹配和RANSAC选取匹配点,计算单应性变换矩阵H,X=HZ将front变到homo。

实验结果

数据集选择方面使用了SVA datasets,是一个通过相关工具在GTAV中获取图像用于辅助驾驶的数据集,原数据集图像大小1920x1080,本文作者首先截掉了正视图中那些俯视图看不到的无关信息,并重新调整大小,输入网络的图像大小均为320x192.
评价指标选择了SSIM PSNR和一个基于神经网络(文章选用了AlexNet)评价图像相似度的LPIPS指标。
结果与pix2pix cycleGAN 等生成的结果进行了对比
在这里插入图片描述
结果上看本文取得的效果更好。
本文也进行了一些ablation实验,去掉cycle loss、feature loss或者homo图,结果显示均有所下降,但影响最大的是homo。

还有一些讨论不在这里赘述了。总的来说,bird-front视角的cross domain生成问题只有少部分研究者关注,且关注于航拍图像生成地面(全景)图的研究数量更多。其中大多借助语义信息实现。front->bird的难度较大,目前关注度较低,也没有相关的真实数据集。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值