专栏首页Jack-Cui偷天换日,逼真的天空置换算法

偷天换日,逼真的天空置换算法

一、前言

天空,是摄像中的一个关键元素。

游戏的天空,我们可以随意调节,可以是晴空万里,也可以是风雨交加。

现实的天空,我们也可以使用算法进行调整,算法效果逼真(效果如下):

偷天换日,逼真的天空置换算法

万里星空、皓月千里、电闪雷鸣,各种天气特效,算法一键生成。

甚至,可以生成电影特效中才有的,移动城堡,天空之城。

这么好玩的 AI 算法,你想学吗?

老规矩,今天,继续手把手教学。

算法原理、环境搭建、效果实现,一条龙服务,尽在下文!

二、SkyAR

SkyAR 是一种用于视频中天空置换与协调的视觉方法,该方法能够在风格可控的视频中自动生成逼真的天空背景。

该算法是一种完全基于视觉的解决方案,它的好处就是可以处理非静态图像,同时不受拍摄设备的限制,也不需要用户交互,可以处理在线或离线视频。

使用单卡 NVIDIA Titan XP GPU,SkyAR 处理 640 x 320 的视频,可以达到 24 fps 的实时处理速度。

算法主要由三个核心组成:

  • 天空抠图网络(Sky Matting Network):就是一种 Matting 图像分隔,用于检测视频帧中天空区域的视频,可以精确地获得天空蒙版。
  • 运动估计(Motion Estimation):恢复天空运动的运动估计器,使生成的天空与摄像机的运动同步。
  • 图像融合(Image Blending):将用户指定的天空模板混合到视频帧中。除此之外,还用于重置和着色,使混合结果在其颜色和动态范围内更具视觉逼真感。

完整框架如下图:

天空抠图网络:用来检测视频帧中的天空区域。与以往将此过程定义为二元像素级分类(前景 vs 天空)问题的方法不同,该研究设计了一种基于深度学习的由粗到细的预测 pipeline,以产生更精确的检测结果和更悦目的混合效果。

运动估计:用于恢复天空的移动。虚拟摄像机捕获的天空视频需要在真实摄像机的运动下进行渲染和同步。该研究假设天空以及天空中的物体(例如,太阳、云等)位于无穷远,并用 Affine 矩阵建模它们相对于前景的运动。

图像融合:在预测天空蒙版时,输出像素值越高,表示像素属于天空背景的概率越高。在常规方法中,通常利用图像遮罩方程,将新合成的视频帧与背景进行线性组合,以作为它们的像素级组合权重。

但由于前景色和背景色可能具有不同的色调和强度,因此直接进行上述方法可能会导致不切实际的结果。 因此,研究人员应用重新着色和重新照明技术将颜色和强度从背景转移到前景。

更详细的内容,可以直接看 paper:

论文地址:https://arxiv.org/abs/2010.11800

三、效果测试

Github 项目地址:https://github.com/jiupinjia/SkyAR

第一步,安装依赖库。

根据 Requirements.txt 安装依赖库即可,很简单。

第二步,下载训练好的模型权重文件。

下载地址(需翻墙):点击查看

第三步,配置文件修改。

在 config 目录下,有一些配置文件,可以根据自己的情况更改视频和天空模版。

{
  "net_G": "coord_resnet50",
  "ckptdir": "./checkpoints_G_coord_resnet50",

  "input_mode": "video",
  "datadir": "./test_videos/canyon.mp4",
  "skybox": "galaxy.jpg",

  "in_size_w": 384,
  "in_size_h": 384,
  "out_size_w": 845,
  "out_size_h": 480,

  "skybox_cernter_crop": 0.5,
  "auto_light_matching": false,
  "relighting_factor": 0.6,
  "recoloring_factor": 0.5,
  "halo_effect": true,

  "output_dir": "./eval_output",
  "save_jpgs": false
}

ckptdir 为权重文件的解压后的目录,datadir 为输入视频的目录,skybox 为使用的天空模版。

生成效果保存到 output_dir 目录中。

修改好配置文件,使用指令直接运行:

python skymagic.py --path .\config\config-canyon-galaxy.json

--path 指定使用的配置文件。

运行效果:

处理速度很快,一会儿就处理完了。

更多效果展示:

我将程序进行了打包,东西都已配置完成,可以直接使用。

下载地址(提取码:jack):

https://pan.baidu.com/s/1sjwSRmqswFaOXb7xbHKNVA

四、最后

好玩的 AI 算法有很多,关注我带你玩转各种好玩的算法,我是 Jack Cui,我们下期见!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 不重启JVM,替换掉已经加载的类,偷天换日?

    在遥远的希艾斯星球爪哇国塞沃城中,两名年轻的程序员正在为一件事情苦恼,程序出问题了,一时看不出问题出在哪里,于是有了以下对话:

    搜云库技术团队
  • 骚操作 | 不重启 JVM,替换掉已经加载的类,偷天换日?

    在遥远的希艾斯星球爪哇国塞沃城中,两名年轻的程序员正在为一件事情苦恼,程序出问题了,一时看不出问题出在哪里,于是有了以下对话:

    芋道源码
  • 《夏日乐园》|过山车、潜水艇还有蝙蝠战车!炎炎夏日里的VR专属游乐场

    游戏开始后,玩家将置身于一个颇为引人入胜的游乐场场景中,逼真的场景塑造加上颇具夏日味道的绚丽色彩,再配以欢欣惬意的音乐,仿佛真的来到了周末的游乐场。除了依旧属于...

    VRPinea
  • 我是一个流氓软件线程

    我是一个流氓软件线程,我不像那些病毒和木马,我只是通过人类的电脑赚一点小钱,并不会偷信息破坏电脑,但即便如此,那些安全软件还是不肯放过我。

    轩辕之风
  • 来源自rnnoise,但非rnn

    https://files.cnblogs.com/files/cpuimage/denoise.zip

    cpuimage
  • 生成对抗网络 – Generative Adversarial Networks | GAN

    我们在《一文看懂深度学习(概念+优缺点+典型算法)》中讲过,深度学习最特别最厉害的地方就是能够自己学习特征提取。

    easyAI
  • 本周新鲜事:有的技术线负责人,我0点打电话,都睡觉了,很会养生。

    大家知道 VIVO 上周发布了一款很有逼格的手机 VIVO NEX,这款手机有个很炫的功能就是采用升降前置摄像头配置,就是你拍照的时候会从手机顶部弹出一个镜头进...

    Dawnzhang
  • 盘点|2020 VR游戏回顾,几家欢乐几家愁

    (VRPinea 1月20日讯)回看2020一整年,VR游戏那叫一个层出不穷啊,从上半年疫情期间推出的VR游戏天花板《半条命:爱莉克斯》,到下半年的VR游戏黑马...

    VRPinea
  • 从塞班到iOS!这个行业,谁不是在坚持着?

    大学毕业,兴致勃勃成为一代塞班开发,放眼班上其他人什么Java,前端Web,PHP还有一些转型的。顿时感觉自己特有优越感。当时也不论薪资几何,就是特别高兴,因为...

    iOSSir
  • 创始人不能只低头看路 还要防“贼”

    我一直以为作为创始人写好自已的文章,运营好自已的产品,服务好自已的客户,一切就万事大吉了,可是还有一点就是要谨防熟人作案,恶意抢注你的商标你的域名,我希望每一个...

    人称T客
  • PHP丨PHP基础知识之数据类型之间相互转换

    转换变量或者值的类型,转换成其他数据类型的方法主要分为两大类:自动转换和强制转换。

    大脸猫
  • .netcore 整合 log4net

      前两天,曾经的一个同事咨询我,怎样将log4net以中间件的形式整合到core里边去。我不假思索的回答,这种问题应该有人做过吧,他说没有。于是,我去博客园搜...

    guokun
  • C语言(数据类型)

    编程语言中的数据类型,那是一个刚开始接触代码的初学者会学习的第一个概念,但是我们对这个概念真的理解彻底吗?我看不一定。

    用户2617681
  • 天空是无限制的:基于语义的天空替换Sky is not limit:semantic aware sky replacement

    第一个图片是输入图片,后面三个是不同风格的天空替换后的结果 这篇文章是给出一张输入的图片,论文中提出的方法自动的生成一组风格化天空图,我们首先使用了FCN全卷积...

    水球喵子
  • 程序员面试字节跳动,被怼了~

    人们都说,这个世界上有两种人注定单身,一种是太优秀的,另一种是太平凡的。 我一听呀?那我这岂不是就不优秀了吗,于是毅然决然和女朋友分了手。 人们都说,互联网...

    Java技术栈
  • 程序员「在知乎装逼被怼」,决定用『面试』证明自己

    https://www.zhihu.com/question/31225105/answer/582508111

    好好学java
  • 换天造物,秒变科幻大片!华人学者推出视频修复AI新玩法

    前几日,Adobe Max 大会刚刚结束,Photoshop 2021版便登上了国外各大媒体版面。

    AI科技评论
  • 程序员的笑话/漫画集锦-爆笑星期天

      (这是根据真实事情改编的哦。)   1. 发帖   一个女程序员 twitter 上发了一条 tweet:   昨晚梦见男朋友和别的女人在逛街,梦里我的第一...

    小莹莹
  • 我偷偷监听了他们的通信流量···

    我是一个监听软件,主人花了好几个晚上才把我开发出来,我的使命是监听网络中的所有流量然后报告给他。

    轩辕之风

扫码关注云+社区

领取腾讯云代金券