虚拟在左,真实在右:德国学者用AI合成一亿像素逼真3D图像,可任意旋转
来源:AI科技评论
编译:杏花
编辑:青暮
近日,来自德国埃尔兰根-纽伦堡大学的学者提出了一种新颖的神经网络方法,用于3D图像的场景细化和新视图合成。
只需要输入点云和相机参数的初始估计,就可以输出由任意相机角度合成的图像,360度旋转都不是问题。
研究人员表示,高效的单像素点光栅化让他们能够实时显示超过 1 亿个像素点的点云场景。
一亿个像素点是什么概念?说白了,这些3D图像太逼真了。
再看看合成图和原图的对比,简直和拍照没啥区别。
这项研究最近在推特上收到了很大的关注,网友纷纷回应:impressive!
同时,也有网友表示,这项研究确实利用了大规模动态输入点云的优势,而这原本是“超级难”的问题。
如下图所示,给定一组RGB图像和初始3D重建(图左),该渲染方法能够合成新的帧,并优化场景参数(图右)。
论文地址:https://arxiv.org/pdf/2110.06635v1.pdf
用神经网络自动学习合成高清3D图像已有成效,但之前还难以做到大动态的视角变换,他们是怎么实现的呢?
1
秘密:点云输入和可微优化
合成逼真的虚拟环境是计算机图形学和计算机视觉研究的热门领域之一。
其中,3D 形状的编码形式是非常关键的部分,人们通常会考虑三角形网格、体素网格、隐函数和点云,每种表示法都有各自的优缺点。
从左到右,分别是点云、体素、三角网格形式的兔子3D图像。
为了有效渲染不透明表面,人们通常选择三角形网格。
体素网格常用于容量表示,而隐函数适用于精确描述非线性分析表面(比如a^2+b^2+c^2=1,就是一个单位球面)。
另一方面,点云具有易于使用的优点,因为不必考虑拓扑性质,非常便于作为3D图像合成的中间输出阶段。不必考虑拓扑性质是指,无论是圆环还是球体,其表示形式都是一样的。
在2000年左右,点云渲染,尤其是点散布,已在计算机图形学中得到广泛研究。
与此同时,人们越来越关注基于图像的渲染技术。也就是基于粗略的、重建的3D模型以及已有的一组物体图像,来合成新的视图。
这些方法存在输入不精确的问题,例如,如果几何图形包含孔或输入图像没有完全对齐,则会出现伪影。
而基于神经图像的渲染方法使用神经网络来去除这些伪影,可以生成前所未有的如照片般逼真的高质量新视图。
图源:https://arxiv.org/pdf/2008.05511.pdf
Aliev等人则表明,将传统的点光栅化器与深度神经网络配对也是可行的。
图源:https://arxiv.org/pdf/1906.08240.pdf(Aliev et al.)
这一发现对3D重建尤其有益,因为其通常使用密集点云作为初始输出。因此,我们可以跳过不必要的、可能出现错误的三角测量,直接可视化重建的场景。
在本文中,研究人员的方法建立在 Aliev 等人的管道之上,并以多种方法对其进行改进。
图2:基于点的HDR神经渲染管道概览。
如上图所示,由纹理点云和环境图组成的场景被光栅化为一组具有多种分辨率的稀疏神经图像。
深度神经网络重建HDR图像。
然后通过一个基于物理的可微色调映射器将其转换为给定新视点场景的 LDR图像。
在训练阶段,可以同时优化矩形框中的所有参数以及神经网络。
在整个管道中,他们特别添加了一个物理的、可微分的相机模型和一个可微分的色调映射器,并提出了一个公式,以更好地近似单像素点光栅化的空间梯度。
可微分的好处是,不仅可以优化神经点特征,还可以在训练阶段校正不精确的输入。
因此,系统可以根据神经渲染网络的视觉损失来调整这些参数:
相机模型
相机角度
点云位置
点云颜色
环境贴图
渲染网络权重
渐晕
相机响应函数
每张图像的曝光和白平衡
得益于此,图像的渲染质量得到了显著提升。
此外,该方法能够合成任意的高动态范围成像(HDR,即大幅度的曝光变化)和LDR(低动态范围成像,容易缺失图像细节)设置,并校正曝光不足或过度曝光的视图(如下图所示)。
同时,深度神经网络内部的参数数量也显著减少,因为亮度和颜色变化由物理上正确的传感器模型单独处理。
如下表所示,与其他可微渲染器相比,本文的方法效率高出大约两个数量级。
表I:RTX 2080 Ti上1920×1080图像的正向和反向渲染时间(以毫秒为单位)。
因此,渲染性能提高了,过拟合伪影也减少了。
总而言之,这篇论文的研究成果如下:
• 用于场景细化和可视化的端到端可训练的基于点的神经渲染管道。
• 使用伪影几何概念的单像素点碎片的可微分光栅化器。
• 可模拟数码摄影镜头和传感器效果的基于物理的可微分色调映射器。
• 用于大型点云的高效多层渲染的随机点丢弃技术。
最后,该研究已开源:https://github.com/darglein/ADOP
图11:在罗马船只数据集上合成的新视图。使用与参考照片相同的曝光值对图像进行渲染。在右列中,每个像素的误差都是可视化的。
2
管道详解
我们再详细介绍一下模型管道。
管道的第一步是可微分光栅化器(图2左)。
它通过使用相机参数将每个点投影到图像空间,将其呈现为单个像素大小的碎片。
如果该像素点通过一个测试,它就会在神经网络输出图像中占据一个描述符。所有未被点着色的像素都由从背景颜色填充。
由于我们将点渲染为单个像素大小的碎片,输出的图像可能会非常稀疏,这取决于点云的空间分辨率和相机距离。
因此,以不同的比例渲染多个图层,使输出图像密集化,并处理遮挡和照明问题。
神经渲染器(图2中间)采用多分辨率神经图像生成单个HDR输出图像。
它由一个四层全卷积U-Net和跳跃连接组成,其中较低分辨率的输入图像连接到中间特征张量。使用平均池化执行下采样,并通过双线性插值对图像进行上采样。
研究人员主要使用门控卷积,它最初是为填孔任务而开发的,因此非常适合稀疏点输入。
总体而言,该网络架构类似于 Aliev等人提出的架构,只减少了一层,并进行了一些修改,以支持HDR成像。
首先,去掉批归一化层,因为它们将中间图像的均值和标准差归一化为固定值。这会使得总传感器辐照度(类似光强概念)丢失,并且无法从3D点传播到最终图像。
此外,如果场景的亮度范围相当大(大于 1 : 400),会以对数方式存储神经点描述符。否则,神经描述符将线性存储。对于对数描述符,在光栅化过程中将其转换为线性空间,以便卷积操作仅使用线性亮度值。
管道中的最后一步(图2右侧)是可学习的色调映射操作符,它将渲染的HDR图像转换为 LDR。
该色调映射器模拟数码相机的物理镜头和传感器特性。因此,它最适合捕捉智能手机、数码单反相机和摄像机的LDR图像。
3
局限性
尽管合成效果如此惊艳,在实验中,研究人员也发现了一些局限性。
其中一个限制是,由于不同参数的数量巨大,不容易寻找合适的超参数。必须平衡纹理颜色、结构参数、色调映射设置和神经网络权重的学习速率。为了找到适合所有场景的可行设置,需要进行广泛的网格搜索。
另一个限制是,点位置的优化对于中到大的学习率是不稳定的。因此,该管道需要合理的初始点云,例如,通过多视图立体系统或 LiDaR 扫描仪。
研究人员认为这个问题是由光栅化过程中的梯度逼近引起的。它适用于相机模型和相机角度优化,因为数千个点的空间梯度在一个优化器步骤中得到平均。然而,对于位置点梯度,仅使用单个近似梯度来更新其坐标。因此需要非常低的学习率来平均点梯度随时间的变化。
最后,由于是单像素点渲染,当相机离物体太近或点云非常稀疏时,可能会出现孔。这是因为神经网络结构只能填补一定大小阈值的洞。在实验中,研究人员通过人为地增加点密度来减少这个问题。然而,这并不是一个普遍可行的解决方案,因为在自由视图环境中,用户仍然可以任意移动相机以靠近物体表面。研究人员表示,他们未来的工作应该会从这里开始,例如,可以尝试在放大过程中动态生成具有内插神经描述符的新点。
参考资料:
https://twitter.com/ak92501/status/1448489762990563331
视频:https://www.youtube.com/watch?v=zVf0HqzHY3U
未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)大脑研究计划,构建互联网(城市)大脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。每日推荐范围未来科技发展趋势的学习型文章。目前线上平台已收藏上千篇精华前沿科技文章和报告。
如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”
虚拟在左,真实在右:德国学者用AI合成一亿像素逼真3D图像,可任意旋转相关推荐
- 美摄科技受邀LVSon2020大会 分享《AI合成虚拟人物的技术框架与挑战》
摘要:作为智能视音频解决方案解决方案的服务商,美摄科技致力于为移动互联网.智能手机.智能硬件.传统广电及通信运营商等行业机构提供最前沿的整体视音频解决方案,为开发者与行业合作伙伴提供高效.稳定的底层技 ...
- 左牵Uber右联大众,黄教主带领320家车企一统自动驾驶江湖
本文由 「AI前线」原创,原文链接:左牵Uber右联大众,黄教主带领320家车企一统自动驾驶江湖 译者|Vincent,Debra 编辑|Emily AI 前线导读:"美国时间 1 月 7 ...
- 【 C 】对左值与右值的一些个人思考
今天重温C语言的指针,看的书是<C和指针>,关于左值和右值以及指针表达式的内容看得甚是迷惑与煎熬,怎么会这么难理解,指针表达式又是作为左值又一会作为右值,而且二者有着不一样的含义,为什么当 ...
- 4.1 c++左值和右值、类型转换
左值和右值 c++的表达式不是右值就是左值. 一个左值表达式的求值结果是一个对象或一个函数,然而以常量对象为代表的某些左值实际上不能作为赋值语句的左侧运算对象.此外,虽然某些表达式的求值结果是对象,但 ...
- java中的左值右值_快速了解C/C++的左值和右值
最近在segmentfault上看到一个提问<c++隐式的类类型转换问题>:一时不知怎么回答,查阅相关资料后整理了本文,以供参考学习. 定义 早期的C给出的定义:左值是一个表达式,可能出现 ...
- 左值、右值、左值引用和右值引用
文章目录 左值和右值 什么是左值和右值? 举例说明 程序分析 左值引用和右值引用 什么是左值引用和右值引用? 左值引用 右值引用 (important!!!) 左值和右值的转换 左值变右值 右值变左值 ...
- oracle in的用法_oracle 左连接、右连接、全外连接、内连接、以及 (+) 号用法
Oracle中的连接可分为,内连接(INNER JOIN).外连接(OUTER JOIN).全连接(FULL JOIN),不光是 Oracle,其他很多的数据库也都有这3种连接查询方式. Oracle ...
- R语言ggplot2可视化使用vjust和hjust参数对齐图像中的文本注释信息(左对齐、右对齐、居中)实战
R语言ggplot2可视化使用vjust和hjust参数对齐图像中的文本注释信息(左对齐.右对齐.居中)实战 目录
- 将选定的文本对象左对齐、右对齐或对中
;; ;;程序名称:对象水平对齐程序 ;;执行命令:TXTAL ;;程序功能:将选定的对象左对齐.右对齐或对中. ;; (defun c:TXTAL(/ selobjs oldcmdecho) ;定义 ...
最新文章
- python3 随机数模块 得到一个10位随机数
- [RDLC]报表根据字段列动态加载图片(二)
- 纪中B组模拟赛总结(2020.2.7)
- 任正非:华为欲出售5G技术制造竞争对手
- centos 7 yum命令安装 Nginx、PHP 7、MySQL 57 、redis
- JSP 获取Request 经常使用參数
- C++实现双人对战五子棋(附源码)
- Docker安装Adguardhome
- 保姆级笔记-佳能Canon LBP2900在Win10安装驱动
- Parallel()
- 淘宝店铺图片轮播在线制作技巧
- enable 华为交换机ntdp_华为交换机常用命令
- 中美创客大赛历年获奖作品展
- 关于ubuntu 16.04 无法从挂起唤醒及无法关机、卡在关机界面的解决办法
- 什么是 PM,什么是 SCM,和 NVM 什么关系?
- BP神经网络能做什么?
- 稀疏矩阵的三元组顺序表存储表示及基本操作
- MySQL安装教程(详细)
- 记录一个c3po连接池APPARENT DEADLOCK解决方法
- 文华财经期货多空趋势指标公式,期货幅图高抛低吸逃顶抄底精准买卖点信号系统
热门文章
- 作者为何要写《简约之美》这本书?程序员们又能从中学到什么呢?
- 跨平台工具、组件和框架的汇总
- 数据分享 | LSTM神经网络架构和原理及其在Python中的预测应用(附视频)
- ​谷歌大神Jeff Dean领衔,万字展望5大AI趋势
- BDD100K:最经典大规模、多样化的自动驾驶视频数据集
- 2019微信数据报告新鲜出炉!
- The Proposal of Service Oriented Data Mining System for Solving Real-Life Classification--阅读笔记
- 绩点1.8成功逆袭!复旦博士林田成为华为第20位「天才少年」
- 市值破400亿美元! 2021最火爆的「元宇宙」让互联网走到尽头?
- Google AI与Deepmind强强联合,加速神经网络稀疏化进程