标题: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相关推荐

  1. 论文笔记:SemStyle: Learning to Generate Stylised Image Captions using Unaligned Text

    SemStyle: Learning to Generate Stylised Image Captions using Unaligned Text 1.提出问题 早期关于多样性的图像描述模型的工作 ...

  2. 一款令人印象深刻的FCPX插件:3D Photo Animator (3D照片动画制作器)

    hello,大家好.今天小编给你带来一款FCPX插件:3D Photo Animator (3D照片动画制作器) 这是一个可以将风景人像平面图片转3D空间摄像机视觉差特效动画,它使用Z轴缓冲区深度技术 ...

  3. FCPX插件:3D照片动画制作器—3D Photo Animator

    3D Photo Animator for FCPX插件推荐给大家,这是一个可以将风景人像平面图片转3D空间摄像机视觉差特效动画,它使用Z轴缓冲区深度技术来拉伸图像并获得其拉伸的动画效果,例如冻结时间 ...

  4. 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 ...

  5. 35、StylizedNeRF Consistent 3D Scene Stylization as Stylized NeRF via 2D-3D Mutual Learning

    简介 主页:http://geometrylearning.com/StylizedNeRF/ 给定一组真实的照片(a)和一个风格图像(b),模型能够生成风格化的新视图©,通过学习风格化的NeRF在3 ...

  6. 3D Instance Embedding Learning With a Structure-Aware Loss Function for Point Cloud Segmentation

    Abstract 这封信提出了一个在点云上进行3D实例分割的框架.使用3D卷积神经网络作为主干,同时生成语义预测和实例嵌入.除了嵌入信息,点云还提供反映点之间关系的3D几何信息.考虑到这两种类型的信息 ...

  7. 论文阅读 CVPR2022:End-to-End Semi-Supervised Learning for Video Action Detection

    用于视频动作检测的端到端半监督学习 所提出的方法利用标记和未标记的样本进行端到端训练,而不需要任何迭代.我们在两个不同的数据集UCF101-24和JHMDB-21上进行了大量实验,证明了其有效性.此外 ...

  8. CVPR2022 3D目标检测(GLENet )增强型3D目标检测网络

    图 1:(a) 给定一个不完整 LiDAR 观测的对象,可能存在多个具有不同大小和形状的潜在合理的真实边界框. (b) 当注释来自 2D 图像和部分点时,标签过程中的模糊和不准确是不可避免的.在给定的 ...

  9. 论文学习:Learning to Generate Time-Lapse Videos Using Multi-StageDynamic Generative Adversarial Networks

    Welcome To My Blog 这篇论文收录于KDD2018,有关视频生成的,论文有个项目主页,题目翻译过来大致是:使用多阶段动态生成对抗网络学习生成time-lapse(延时)视频. 多阶段具 ...

最新文章

  1. socket PF_INET AF_INET 区别
  2. C++ 数据指针(-)
  3. 苹果新品又要来了 下周可能推出AirPods Studio
  4. [bbk2228] 第41集 - Chapter 11-SQL Statement Tuning(00)
  5. Python os.path() 模块os.path.exists()
  6. 圆柱与平面接触宽度_圆柱滚子轴承保持架锁爪变形引起的轴承故障
  7. lsb_release: command not found 解决
  8. 如何在solarwinds中自定义 OID
  9. 使用PowerShell 导出Exchange中的用户中用户信息到Office 365
  10. java中jdk多大_Java中JDK和JRE的区别
  11. 计算机及软件工程专业职称,有关软件工程师职称
  12. js关于鼠标划过事件
  13. 用什么样的姿势能拿到国际“AV”大赛的冠军?
  14. 简述igp和egp_igp egp
  15. 图解各种数据库数据源(ODBC)配置
  16. 香港公司银行开户需要注意。
  17. 高博SLAM基础课第五讲——PnP非线性优化
  18. Matlab——深度学习工具箱
  19. EasyRecovery15苹果IOS、Linux操作系统数据恢复工具
  20. 如何批量删除word中的中文和标点符号(word删除中文所有标点符号)

热门文章

  1. 射频中IM3、IIP3、OIP3、G、P1dB指标计算
  2. 数组和ArrayList的区别
  3. 一打开控制台窗口就中文输入_一起来玩SiFive的RISCV平台,玩转起来就免费得
  4. 【英语:基础进阶_核心词汇扩充】E4.常见词根拓词
  5. 计算机网络实验(华为eNSP模拟器)——第十一章 帧中继网络
  6. 汽车CAN通信解析(二)
  7. DLL load failed while importing _cvxcore解决办法
  8. 新手如何使用腾讯云云服务器详细教程
  9. Java实现获取long类型的随机数
  10. es6删除对象的某个属性