算是开了一个新的栏目?
一直看论文不分享,只输入,不输出,效果总感觉不太好。
那就尽量每天分享一篇自己的阅读笔记?我看好多大佬都是这么操作的。
今天先看看能不能找到一个合适的模式,便于记录,也能让更好的理解文章的思路?
行文逻辑用平时汇报的思路?
北航的团队,这个团队和我们组的研究方向不太相关,所以之前不熟。
IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 29, 2020 5163
知乎搜了一下,顶刊
目前还没有。
新视角合成(novel view synthesis),这个操作我之前都没想过会有用。
然后我们的项目可能会用上,多番搜索之后发现了这篇。
看了一下他们的介绍,可以用于**数据增强、虚拟现实(VR)**上面。
emmm,姑且有用吧。
给定一张pose-a 的汽车A的RGB图,和一张pose-b的另一辆汽车B的RGB图,根据pose-b,生成一张汽车A的新图。(看第三行的图,比较明显。)
将视角转换(perspective transformation)和生成模型结合起来,将细节纹理信息和生成模型都利用上了。
(considering the complementary properties of the perspective transformation and GAN, a natural idea is to leverage their respective strengths.)
在利用视角转换的时候,有一个先验知识–汽车是方块状的,所有汽车都有特定的一些关键点。
有这些特征点,才能进行视角转换…
GAN和CGAN炼就完事儿了。
我到现在都还没自己练过。
先用多张图,显式的生成3D场景,然后再合成新视角视图。有点费劲。
这个是新的概念,我需要去看一下参考文献【12】–《View synthesis by appearance flow》–ECCV2016。
先来一张插图:
一句话介绍:将原图和旋转矩阵(3*4)输入,输出一个“流场–那个箭头一样的东西”,将这个和原图结合,进行双线性采样,生成新图。
至于流场如何训练,双线性采样如何计算,我目前的理解是,将新图与真图进行loss最小化(看他有ground truth,那么应该是可以直接有监督训练的?)
整体来说就是生成一个原图的像素该怎么变换的一个趋势图。
但是看最终的效果图,发现图像的线条畸变比较严重。
这个是利用了传统的几何方法,限度比较明显,遮挡问题可以通过多视角输入来弥补,但应该仍然有不少的问题。
参考[14]–“Transformationgrounded image generation network for novel 3D view synthesis”,在【12】的基础上加了一个完成网络,用了生成对抗等花里胡哨的技术,进一步优化。
19年最新的【34】就更花哨了,用了已知物体的3D模型,以及各种操作,就不解析了,反正很复杂。
3D模型和相机的视角比较难获取,但是可以用之前已有的方案去pose 提取。这样极大的提高了应用范围。
这篇文章介绍的主要是人体的姿态转换,大家用一些生成模型,将输入的原图和姿态产生新的图。
引文【40】和这篇工作的主要区别在于,【40】针对的是非刚体(non-rigid objects),比如人体和衣服。这篇主要是针对汽车等刚体。
且之前大家用的都是仿射变换(affine transformation),变换矩阵23,只能将一个平行四边形变成另外一个平行四边形。他们用的是视角转换(perspective transformation),变换矩阵33,有8个参数,可以将一个不规则四边形变换为另一个四边形。其实这里我不太理解具体含义。
这个没什么好说的。
详细的见下图,输入为当前视角图s和目标视角图t,输出为目标图中姿态的视角图的汽车。
详细的信息流用语言描述感觉很奇怪,直接看下文就好了。
指出几个需要关注的点:
用的已知的模型-stack hourglass,文中将汽车分为20个关键点,8个四边形。
然后 P s P_s Ps指的是关键点,实际用的是Response Maps,就是关键点提取中的heat map,用高斯map 表示,一般一张图代表一个关键点,维度和原图一样大小,原图有该点则正常显示,没有则是黑图。
因此 R s R_s Rs是一个image_sizeimage_size20的图。
这个loss是风格迁移网络中的一个概念,对中间的特征图也进行约束,目的是为了让生成图的风格和目标图尽可能的相似。
约束目标是:
PTC是将源图的四边形区域 r s i r_si rsi和目标图对应的 r t i r_ti rti做一个映射,映射矩阵为 T i T_i Ti,源四边形的内容通过这个 T i T_i Ti转换之后,就可以拿到一个新的图。
我写了一个简单的demo,去实现透视变换的脚本。
https://github.com/kaixindelele/image-perspective-transformation-
可以试试,操作起来真滴蛮方便的!:
作者列出了四个讨论,还是蛮有意思的,研究做的非常细致。
The output of the encoder is a vector, whose dimension is too low to maintain all the details of the input image.
Because GAN is optimized on some training set, the generated images are, to some extent, biased towards the training data.
For example, the GAN generated images usually have a visible license plate, because the license plates of most training images are visible.
The feature maps of the encoder, which have thesame spatial distribution with the ones of the decoder, are strong constraints while the misaligned ones are not qualified for strong constraints.