0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

纯随机数学无限生成逼真3D世界火了!

CVer 来源:量子位(QbitAI) 2023-06-20 14:47 次阅读

谁说生成图像、视频一定要靠AI

普林斯顿大学新出的神器,可无限生成逼真3D世界,特别强调“No AI”。

b16ffd0a-0f28-11ee-962d-dac502259ad0.png

浅浅感受一下这个效果:

b1c39546-0f28-11ee-962d-dac502259ad0.gif

b5fccd1c-0f28-11ee-962d-dac502259ad0.gif

bd3ec1d4-0f28-11ee-962d-dac502259ad0.gif

不要以为生成的只是一段视频,其实背后是一套完整的3D资产,基于建模软件Blender打造。

此时所有blender用户一起跟我:啊?

bf7a71dc-0f28-11ee-962d-dac502259ad0.png

如此一来,我们就能用参数来控制细节:

bfa537d2-0f28-11ee-962d-dac502259ad0.gif

或者拿到相应的光流图、3D场景光流图、深度图、全景分割图等等,轻松hold住各种CV任务。

c6a4b7ba-0f28-11ee-962d-dac502259ad0.gif

最最重要的是,它还免费、开源!

妈妈真的再也不用担心我找不到高质量的3D数据投喂AI了……

100%基于随机数学的3D数据生成器

尽管AI发展迅猛,但目前CV领域的许多任务仍然缺乏高质量的数据,3D尤甚。

一个解决办法是用合成数据。事实证明,在这类数据上训练的模型在零样本的真实图像上也可以表现得很好。

但问题是,现有的大多数免费3D合成数据工具基本局限于单一场景:要么是自动驾驶相关,要么就是那种位于室内环境中的人造物体。

因此,为了扩大覆盖范围,尤其是真实世界里的自然场景,作者基于Blender打造了这个基于随机数学规则无限生成各种场景的Infinigen。

c953dec8-0f28-11ee-962d-dac502259ad0.png

Infinigen主要利用Blender的“基元”(或原语),设计了一个程序规则库,通过编码完成真实自然场景各个对象的生成。

论文主要介绍了Infinigen的程序体系,包括:

Node Transpiler(节点转换器),可以自动将Blender节点图转化为Python代码,方便非程序员用户使用Infinigen。

如下图所示,它生成的代码更通用,既允许我们随机化输入参数,也允许随机化图结构。

c98ee784-0f28-11ee-962d-dac502259ad0.png

Generator Subsystems(生成器子系统),Infinigen的生成器是是一个个基于概率的程序,每个程序专门用于生成一个子对象(比如山脉或鱼类)。每个对象都有一组高级参数(比如山的总高度),用户可以使用Python API来调整这些参数,以实现对数据生成的细粒度控制。

Material Generators(材料生成器),一共有50个,每个都由一个能指定颜色和反射率的随机着色器和一个生成相应精细几何细节的局部几何生成器组成。

如下图由所示,它能保证非常真实的几何细节。

c9d5e92c-0f28-11ee-962d-dac502259ad0.png

Terrain Generators(地形生成器),如下图所示,该生成器可以通过反复挤压生成巨石,使用Blender的内置插件生成小石块。

ca07ecba-0f28-11ee-962d-dac502259ad0.png

并帮助Infinigen通过使用FLIP模拟动力学流体,使用Blender的粒子系统模拟天气。

ca5746ca-0f28-11ee-962d-dac502259ad0.png

Plants & Underwater Object Generators(植物和水下物体发生器),包括使用用随机游走等算法对树木生长进行建模,从而形成一个覆盖各种树木、灌木甚至仙人掌的3D世界。

cb470bce-0f28-11ee-962d-dac502259ad0.png

又或者是使用差异化生长、拉普拉斯生长和反应扩散制造各种珊瑚、使用几何节点图生成树叶、花朵、海藻、海带、软体动物和水母。

还有各种子生成器(比如生物生成器)就不一一介绍了。

cbbcc60c-0f28-11ee-962d-dac502259ad0.png

除了这些,Infinigen还包括一个图像渲染与Ground Truth提取程序,主要用于生成下图这些类型的图像。

其中对于前者,系统使用了Blender基于自然规律的路径跟踪渲染器Cycles来渲染图像。

cc3e69e6-0f28-11ee-962d-dac502259ad0.png

作者介绍,虽然使用Blender开发了Infinigen的程序规则,不过程序生成的很大一部分是在Blender之外完成的。

另外,他们也表示,构建Infinigen是一项极大量的软件工程,光是它代码库的主分支就囊括了40485行代码。

最后,Infinigen在2个Intel Xeon Silver 4114 @ 2.20GHz CPU和1个NVidia GPU上进行了基准测试,生成一对1080p图像的时间(wall time)为3.5小时。

下表是它与现有合成数据集或生成器的比较。

cc9db216-0f28-11ee-962d-dac502259ad0.png

作者表示,从中可以看出,Infinigen最大的优点就是不需要任何外部参考资源库就能程序化地生成无限的自然3D数据,别的都不行。

团队介绍

Infinigen将在本周三的CVPR会议上进行Poster展示。

它的作者全部来自普林斯顿大学Vision & Learning Lab。

三位共同一作,其中一位叫Ma Zeyu,普林斯顿大学博士三年级在读,2020年本科毕业于清华大学电子工程专业。

通讯作者为普林斯顿大学计算机科学系副教授邓嘉。

ccc3d518-0f28-11ee-962d-dac502259ad0.png

目前,Infinigen的代码已经上线GitHub,短短两天已有850个标星。

cd1f5e60-0f28-11ee-962d-dac502259ad0.png

论文地址:
https://arxiv.org/abs/2306.09310
项目主页:
https://infinigen.org/
GitHub地址:
https://github.com/princeton-vl/infinigen

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 3D
    3D
    +关注

    关注

    9

    文章

    2857

    浏览量

    107294
  • AI
    AI
    +关注

    关注

    87

    文章

    29927

    浏览量

    268232
  • 数据集
    +关注

    关注

    4

    文章

    1205

    浏览量

    24629

原文标题:纯随机数学无限生成逼真3D世界火了!普林斯顿华人一作|CVPR 2023

文章出处:【微信号:CVer,微信公众号:CVer】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    概率随机数生成【子模块】

    本帖最后由 ZHZJK 于 2014-1-7 17:04 编辑 你还在用系统自带的随机数生成函数吗你还在为模拟数值虚假而烦恼吗而个人编写了一个按照概率生成随机数子模块将会解决这
    发表于 12-31 16:49

    概率论_随机数学基础课程中的内容

    随机数学基础课程中的内容,有助于大家理解书本上的内容
    发表于 12-10 18:08 0次下载

    神经网络的伪随机数生成方法

    为了克服有限精度效应对混沌系统的退化影响,改善所生成随机序列的统计性能,设计了一种新的基于六维CNN(细胞神经网络)的64 bit伪随机数生成方法。在该方法中,通过控制六维CNN在每次
    发表于 02-02 15:49 0次下载

    随机数生成算法

    在计算机上用数学的方法产生随机数列是目前通用的方法,它的特点是占用的内存少,速度快.用数学方法产生的随机数列是根据确定的算法推算出来的,严格说来并不是
    发表于 04-03 10:25 6次下载

    C语言中随机数生成代码

    C语言中随机数生成完整代码:
    的头像 发表于 02-20 09:21 1w次阅读

    人工智能系统VON,生成逼真3D图像

    研究团队写道:“我们的关键思想是将图像生成过程分解为三个要素:形状、视角和纹理,这种分离的3D表示方式使我们能够在对抗学习框架下从3D和2D视觉数据收集中学习模型。与现有的2
    的头像 发表于 12-07 09:28 7738次阅读

    如何使用随机数生成器来生成私钥

    ,尤其重要。 说到随机,有两个必须要搞清楚的概念:“真随机数生成器”(TRNG)和伪随机数生成器(PRNG)
    发表于 03-18 10:40 5012次阅读
    如何使用<b class='flag-5'>随机数</b><b class='flag-5'>生成</b>器来<b class='flag-5'>生成</b>私钥

    谷歌发明的由2D图像生成3D图像技术解析

    谷歌发明的由2D图像生成3D图像的技术,利用3D估计神经网络图像信息的补全以及预测,融合了拍摄角度、光照等信息,让生成
    的头像 发表于 12-24 12:55 4698次阅读
    谷歌发明的由2<b class='flag-5'>D</b>图像<b class='flag-5'>生成</b><b class='flag-5'>3D</b>图像技术解析

    如何利用SystemVerilog仿真生成随机数

    采用SystemVerilog进行仿真则更容易生成随机数,而且对随机数具有更强的可控性。对于随机变量,在SystemVerilog中可通过rand或randc加数据类型的方式定义。ra
    的头像 发表于 10-30 10:33 1.1w次阅读
    如何利用SystemVerilog仿真<b class='flag-5'>生成</b><b class='flag-5'>随机数</b>

    YIE002开发探索10-随机数生成

    生成器1 随机数生成器构建2 YIE002-STM32的随机数生成器编程2.1 随机数
    发表于 01-17 13:06 2次下载
    YIE002开发探索10-<b class='flag-5'>随机数</b><b class='flag-5'>生成</b>器

    用于生成随机数的电子骰子

    电子发烧友网站提供《用于生成随机数的电子骰子.zip》资料免费下载
    发表于 07-06 10:58 4次下载
    用于<b class='flag-5'>生成</b><b class='flag-5'>随机数</b>的电子骰子

    Arduino Lotto随机数生成

    电子发烧友网站提供《Arduino Lotto随机数生成器.zip》资料免费下载
    发表于 11-02 10:59 0次下载
    Arduino Lotto<b class='flag-5'>随机数</b><b class='flag-5'>生成</b>器

    随机数生成器开源分享

    电子发烧友网站提供《随机数生成器开源分享.zip》资料免费下载
    发表于 11-11 11:57 0次下载
    <b class='flag-5'>随机数</b><b class='flag-5'>生成</b>器开源分享

    技术分享 | 随机数生成过慢导致系统阻塞怎么办?

    /dev/random和/dev/urandom是linux上的随机数生成器,是个字符设备,为系统提供随机数随机数主要应用在加密方面,没有加密的操作都是可预测且不安全的。linux上
    的头像 发表于 08-15 09:20 2165次阅读
    技术分享 | <b class='flag-5'>随机数</b><b class='flag-5'>生成</b>过慢导致系统阻塞怎么办?

    如何使用雪花算法生成真正的随机数

    以前用rand和srand生成过伪随机数,伪随机数的序列是固定的,今天学习生成真正的随机数生成
    的头像 发表于 10-09 10:05 1261次阅读