[CVPR2022]3D Photo Stylization: Learning to Generate Stylized Novel Views from a Single Image
标题:3D Photo Stylization: Learning to Generate Stylized Novel Views from a Single Image
链接:https://arxiv.org/pdf/2112.00169
本文做的是基于单图的新视角合成中的风格迁移。之前的工作在做新视角合成的风格迁移时需要多视角图片,而本文只需要一张图。主要思路是先提取2D图片的深度,然后进行深度图补全以恢复所有视角中的深度信息。之后将深度转化为点云再提取点云特征,并迁移到目标图的风格上去。本文的创新点有两个,一个是提出了一个GCN用来提取大规模的点云特征,另一个是提出了一个基于点的多视角一致性损失。
模型结构
可以看到,这里模型分为了三个大步骤,构建点云,基于点云的风格迁移,渲染。
构建点云
模型中输入的就是一张2D图,作者先使用LeReS模型提取了图片的深度信息,然后使用[3d photography using context-aware layered depth inpainting.]中提到的方法补全了基于层次化的深度图,简而言之就是补全了所有的3D信息。
在获得了所有3D信息之后,作者还对点云按照NDC的方式做了归一化,这一步是为了得到更锐利的重建结果。
基于点云的风格迁移&渲染
可以看到这里也分为三个步骤,先是提取点云特征,然后做风格迁移,最后做渲染。
提取点云特征
这里作者自己设计了一个GCN用于高效的处理大规模点云数据。主要的思路是用了max-relative convolution来节省计算和储存的开销,并且在聚合阶段将基于knn的动态图转换成基于半径的球形查询来进一步减少开销。另外,作者还是用了类似于VGG的层次形结构,避免了重复值的存储。
风格迁移
这里坐着使用的是AdaAttN,本质上就是结合了adain和attention的一个方式,简单来说就是直接对特征图通过做attention的方式来改变特征图的均值和方差从而改变风格(adain的想法)。
渲染
这里用的就是一个UNet,接收点云特征以及相机参数,输出对应的2D图像。
训练
训练分为了两步,第一步是使用3DPhoto生成的多视角图(主要因为没有现成的数据库)来训练模型的新视角生成能力。使用的损失包括像素损失,VGG特征损失,多视角一致性损失(这个损失是指在不同视角下同一个点云的颜色应当一样)
第二部是在编码器固定的情况下训练模型的风格迁移能力,使用的损失包括AdaAttn损失(就是风格迁移损失)和多视角一致性损失
[CVPR2022]3D Photo Stylization: Learning to Generate Stylized Novel Views from a Single Image相关推荐
- 论文笔记:SemStyle: Learning to Generate Stylised Image Captions using Unaligned Text
SemStyle: Learning to Generate Stylised Image Captions using Unaligned Text 1.提出问题 早期关于多样性的图像描述模型的工作 ...
- 一款令人印象深刻的FCPX插件:3D Photo Animator (3D照片动画制作器)
hello,大家好.今天小编给你带来一款FCPX插件:3D Photo Animator (3D照片动画制作器) 这是一个可以将风景人像平面图片转3D空间摄像机视觉差特效动画,它使用Z轴缓冲区深度技术 ...
- FCPX插件:3D照片动画制作器—3D Photo Animator
3D Photo Animator for FCPX插件推荐给大家,这是一个可以将风景人像平面图片转3D空间摄像机视觉差特效动画,它使用Z轴缓冲区深度技术来拉伸图像并获得其拉伸的动画效果,例如冻结时间 ...
- HTML+CSS做出3D照片效果(HTML+CSS for 3D photo effect)
2022.10.14大家好,我最近看到一个关于用HTML+CSS实现的3D照片觉得非常好看,如图: Hello everyone, I recently saw a 3D photo about us ...
- 35、StylizedNeRF Consistent 3D Scene Stylization as Stylized NeRF via 2D-3D Mutual Learning
简介 主页:http://geometrylearning.com/StylizedNeRF/ 给定一组真实的照片(a)和一个风格图像(b),模型能够生成风格化的新视图©,通过学习风格化的NeRF在3 ...
- 3D Instance Embedding Learning With a Structure-Aware Loss Function for Point Cloud Segmentation
Abstract 这封信提出了一个在点云上进行3D实例分割的框架.使用3D卷积神经网络作为主干,同时生成语义预测和实例嵌入.除了嵌入信息,点云还提供反映点之间关系的3D几何信息.考虑到这两种类型的信息 ...
- 论文阅读 CVPR2022:End-to-End Semi-Supervised Learning for Video Action Detection
用于视频动作检测的端到端半监督学习 所提出的方法利用标记和未标记的样本进行端到端训练,而不需要任何迭代.我们在两个不同的数据集UCF101-24和JHMDB-21上进行了大量实验,证明了其有效性.此外 ...
- CVPR2022 3D目标检测(GLENet )增强型3D目标检测网络
图 1:(a) 给定一个不完整 LiDAR 观测的对象,可能存在多个具有不同大小和形状的潜在合理的真实边界框. (b) 当注释来自 2D 图像和部分点时,标签过程中的模糊和不准确是不可避免的.在给定的 ...
- 论文学习:Learning to Generate Time-Lapse Videos Using Multi-StageDynamic Generative Adversarial Networks
Welcome To My Blog 这篇论文收录于KDD2018,有关视频生成的,论文有个项目主页,题目翻译过来大致是:使用多阶段动态生成对抗网络学习生成time-lapse(延时)视频. 多阶段具 ...
最新文章
- socket PF_INET AF_INET 区别
- C++ 数据指针(-)
- 苹果新品又要来了 下周可能推出AirPods Studio
- [bbk2228] 第41集 - Chapter 11-SQL Statement Tuning(00)
- Python os.path() 模块os.path.exists()
- 圆柱与平面接触宽度_圆柱滚子轴承保持架锁爪变形引起的轴承故障
- lsb_release: command not found 解决
- 如何在solarwinds中自定义 OID
- 使用PowerShell 导出Exchange中的用户中用户信息到Office 365
- java中jdk多大_Java中JDK和JRE的区别
- 计算机及软件工程专业职称,有关软件工程师职称
- js关于鼠标划过事件
- 用什么样的姿势能拿到国际“AV”大赛的冠军?
- 简述igp和egp_igp egp
- 图解各种数据库数据源(ODBC)配置
- 香港公司银行开户需要注意。
- 高博SLAM基础课第五讲——PnP非线性优化
- Matlab——深度学习工具箱
- EasyRecovery15苹果IOS、Linux操作系统数据恢复工具
- 如何批量删除word中的中文和标点符号(word删除中文所有标点符号)