【论文笔记】PoseGAN: A Pose-to-Image Translation Framework for Camera Localization

使用poseGAN的方式求解相机pose,不同于基于结构和learning求解相机pose的方式,本文使用基于几何的方式,相比较基于纹理回归的方式更加鲁棒。
【论文笔记】PoseGAN: A Pose-to-Image Translation Framework for Camera Localization
提出在室内场景很多2d-3d方法(dsac。。。)不太合适,因为Motion blur, strong illumination, texture-less or repetitive,而基于learning的相对较鲁棒但是精度不高。
 
贡献:1.第一次使用gan做定位问题。 2.模型比类似posenet这样的网络小70%(速度快)。 3.基于几何结构的比基于纹理的好很多。 4.poseGAN可以做很多任务,比如视频模糊、合成图等
 
本文:x表示图片,y表示pose。一共两部分框架,1个是生成器G,1个是判别器D,具体架构如下:
【论文笔记】PoseGAN: A Pose-to-Image Translation Framework for Camera Localization
  1. 可以看到生成器G,输入一个pose,输出一个128*128*3通道的image(因此每个场景都需要训练一个固有的模型)
  2. D判别器分为两部分一部分是根据image的信息判别图片是生成图还是真实图,另一个是根据pose的信息判别是生成图还是真实图。
 
3. PoseGAN for Camera Localization(判别器部分
【论文笔记】PoseGAN: A Pose-to-Image Translation Framework for Camera Localization,判别器输出的是两部分内容第一项是区别生成数据和真实数据(image的feature),第二项是计算pose和image之间的相似度(超参数feature,学习)
!!!!第二项指的是将image 和 pose 都映射到64维度(N表示的是batch size,也就是不同的image),然后计算cos相似度,文中提到这样的方式表达不好,因此使用类似posenet中的将image 的 feature直接压到6DOF上,直接计算pose误差,得到下:
                                【论文笔记】PoseGAN: A Pose-to-Image Translation Framework for Camera Localization
 
4. Loss Functions(判别器部分
    第一项要学会区分是生成数据还是真实数据【论文笔记】PoseGAN: A Pose-to-Image Translation Framework for Camera Localization【论文笔记】PoseGAN: A Pose-to-Image Translation Framework for Camera Localization,用kl散度和hinge loss进行判别(可以认为是简单的二分类问题)
    loss为:
    【论文笔记】PoseGAN: A Pose-to-Image Translation Framework for Camera Localization
【论文笔记】PoseGAN: A Pose-to-Image Translation Framework for Camera Localization
 
第二项的loss:
【论文笔记】PoseGAN: A Pose-to-Image Translation Framework for Camera Localization
目的是尽量降低生成的图片在转换成pose和真实pose之间的误差。
 
总目标方程:【论文笔记】PoseGAN: A Pose-to-Image Translation Framework for Camera Localization
 
 
生成器G loss方程为:
【论文笔记】PoseGAN: A Pose-to-Image Translation Framework for Camera Localization
 
总结:在训练的时候使用了pose->GAN生成的image->灌入判别网络。在test的时候直接将image x扔进判别网络。
            这样的好处可能是使用gan在图片空间约束了pose空间,形成对抗,A->B,B->A这样网络更加稳定,不会瞎学或者overfitting?????,感觉想法挺不错,效果也不错