百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

天大、清华提出基于单RGB相机的全新三维表示方法NeurIPS 2022

toyiye 2024-06-21 12:08 9 浏览 0 评论

编辑:LRS 好困

【新智元导读】人体三维重建突破30FPS,「实时」元宇宙技术难题又解决一个!


随着深度学习的发展,基于单张RGB图像的人体三维重建取得了持续进展。


但基于现有的表示方法,如参数化模型、体素栅格、三角网格和隐式神经表示,难以构筑兼顾高质量结果和实时速度的系统。


针对上述问题,天津大学团队联合清华大学与英国卡迪夫大学在NIPS2022的工作中提出一种高效灵活的三维几何表示——傅里叶占有率场(FOF)


项目主页:http://cic.tju.edu.cn/faculty/likun/projects/FOF

代码链接:http://github.com/fengq1a0/FOF

FOF将三维物体压缩为垂直于视线方向的二维向量场,离散化后可与二维卷积神经网络相兼容,从而跨越了三维几何与二维图像之间的鸿沟。

FOF非常灵活,可以高效地与三角网格相互转换。这使得人体参数化模型可以直接作为单目重建的几何先验,极大地提升了重建精度。

基于FOF,研究团队构建了第一个30+FPS的高质量实时单RGB相机的人体三维重建框架,推动了3DTV、全息会议等应用的发展。

作者还展示了基于FOF的单RGB相机人体三维重建(基线版本)的实时demo,旋转跳跃、抖腿都不在话下。


傅里叶占有率场


方法动机

现有单RGB相机人体重建方法大多以深度隐式表示为基础,此类方法需要在空间中采样大量的点,提取相应特征后交与MLP处理,从而获得对应点的占有率值。

这一过程极其耗时,同时可能产生不鲁棒的结果。

从整体上看,将特征向量与坐标作为MLP的输入,输出函数的值,这一过程实质上是使用特征向量表示相应的函数。

与神经网络相比,在赋范线性空间下使用广义傅里叶级数的系数向量对某一类函数进行近似表示是更为简单高效的方法。

以此为基本出发点,作者提出了一种全新三维表示——傅里叶占有率场(FOF)。

图1 傅里叶占有率场表示(FOF)

方法思路

首先,如图1所示,该工作将三维人体规范化到中,表示为占有率场:

对于确定的,为关于的一维函数,简记为。若能将使用向量表示,则可将转化为二维向量场。

不难发现满足迪利克雷条件,因此可以使用收敛的傅里叶级数对进行展开:

采用级数的前项获得的近似,进而获得的近似。这一过程可写为:

其中是前项基函数,是级数的前项系数构成的向量,是傅里叶占有率场(FOF)。

此外,转化为三角网格时所用的marching cubes算法包含了均匀采样的过程,滤除了信号的高频部分。仅保留低频级数项的设计也与之相契合。

图2所示的实验结果说明了仅需少量项数的傅里叶级数,重构的几何体便能够获得相当高的精度。

图2 不同阶次(N)FOF表示的三维重建结果

FOF与三角网格之间的转换

作者使用marching cubes算法将占有率场转化为三角网格。如上一节所述,在此之前只需使用一个张量乘法便可以获得近似的占有率场。

与使用MLP的深度隐式表示相比,FOF表示方法有着极高的效率优势。

同时,将三角网格转化为FOF也非常高效。首先使用类似于光栅化的过程求出每条直线穿过各层三角网格表面的深度值,而后使用积分公式便能直接求出各项系数:

在训练过程中,为了节省空间,仅保存每条直线上经过的几何表面。具体的傅里叶占有率场在数据预处理时进行计算。

重建网络设计及变种

图3 基于FOF的单RGB图像三维重建框架

如图3所示,得益于FOF的二维形式,仅需一个image-to-image网络便可完成单图像人体三维重建。在该文的实现中,重构网络使用了HRNet-W32-V2作为backbone,并设计了简单的解码器头。

同时,得益于FOF的灵活性,参数化模型如SMPL,可直接转化为FOF一起作为网络的输入。

此外,估计出正反法线图作为网络的输入也有助于提升重建结果的精度。两种变体分别命名为FOF-SMPL和FOF-NORMAL。

需要注意的是,除网络输入的通道数外,整体网络无需再做其它修改。得益于FOF的良好特性,网络训练仅使用L1 loss作为监督便可收敛良好。

实验结果

作者在Twindom和THuman2.0混合而成的数据集上与ICON[1]、PIFu[2]、PIFuHD[3]三种方法进行了对比。

如图4图5所示,在定性比较上,该方法及变种取得了高质量的重建结果。

FOF-SMPL对不同的服装、不同的姿势都非常鲁棒。该方法的运行速度远超其他方法,其中基线版本FOF-Base实现了实时重建。

图4 不同姿势定性对比

图5 不同服装定性对比

在定量比较方面,如表1所示,FOF-SMPL的几何误差(倒角距离和点到面距离)最小,获得了最好的几何准确度。

同时,基线方案FOF也取得了十分优秀的结果。在视觉效果上(法线误差),FOF-SMPL仅略次于网络更加复杂,参数量更大,运行时间更长的PIFuHD。

表1 不同方法定量对比结果

作者介绍


冯桥,论文一作,天津大学21级硕士研究生。


主要研究方向:计算机视觉、计算机图形学。


个人主页:https://fengq1a0.github.io


刘烨斌,清华大学教授。


主要研究方向:三维视觉、计算摄像学。


个人主页:http://www.liuyebin.com/


来煜坤,英国卡迪夫大学教授。


主要研究方向:计算机图形学,几何处理,图像处理和计算机视觉。


个人主页:http://users.cs.cf.ac.uk/Yukun.Lai/


杨敬钰,天津大学教授。


主要研究方向:计算机视觉、智能图像/视频处理、计算成像与三维重建。


个人主页:http://tju.iirlab.org/yjy


李坤,通讯作者,天津大学副教授、博导。


主要研究方向:计算机视觉、计算机图形学。


个人主页:http://cic.tju.edu.cn/faculty/likun


参考资料:

[1] Yuliang Xiu, Jinlong Yang, Dimitrios Tzionas, and Michael J. Black. ICON: Implicit Clothed humans Obtained from Normals. In Proc. CVPR, 2022.

[2] Shunsuke Saito, Zeng Huang, Ryota Natsume, Shigeo Morishima, Angjoo Kanazawa, and Hao Li. PIFu: Pixel-aligned implicit function for high-resolution clothed human digitization. In Proc. ICCV, 2019.

[3] Shunsuke Saito, Tomas Simon, Jason Saragih, and Hanbyul Joo. PIFuHD: Multi-level pixel-aligned implicit function for high-resolution 3d human digitization. In Proc. CVPR, 2020.

相关推荐

Asterisk-ARI对通道中的DTMF事件处理

Asterisk通道中关于DTMF处理是一个非常重要的功能。通过DTMF可以实现很多的业务处理。现在我们介绍一下关于ARI对通道中的DTMF处理,我们通过自动话务员实例来说明Asterisk如何创建一...

PyQt5 初次使用(pyqt5下载官网)

本篇文章默认已安装Python3,本篇文章默认使用虚拟环境。安装pipinstallPyQt5PyQt一些图形界面开发工具QtDesigner、国际化翻译工具Liguist需要另外...

Qt开发,使用Qt for Python还是Qt C++ Qt开发,使用Qt for

Qt开发使用QtforPython还是QtC++?1.早些年写过一个PyQt5的项目,最近几年重构成QtC++了,其中有个人原因,如早期代码写得烂,...

最简单方法!!用python生成动态条形图

最近非常流行动态条形图,在B站等视频网站上,此类视频经常会有上百万的播放量,今天我们通过第三方库:bar_chart_race(0.2版本)来实现动态条形图的生成;生成的效果如图:问题:...

Asterisk通道和ARI接口的通信(aau通道数)

Asterisk通道和ARI详解什么是通道Asterisk中,通道是介于终端和Asterisk自己本身的一个通信媒介。它包含了所有相关信息传递到终端,或者从终端传递到Asterisk服务器端。这些信...

Python GUI-长链转短链(长链接转化成短链接java)

当我们要分享某一个链接给别人,或是要把某个链接放入帖子中时,如果链接太长,则会占用大量空间,而且很不美观。这时候,我们可以结束长链转短链工具进行转换。当然可以直接搜索在线的网站进行转换,但我们可以借此...

Python 的hash 函数(python的hash函数)

今天在看python的hash函数源码的时候,发现针对不同的数据类型python实现了不同的hash函数,今天简单介绍源码中提到的hash函数。(https://github.com/pyth...

8款Python GUI开源框架,谁才是你的菜?

作为Python开发者,你迟早都会用到图形用户界面来开发应用。本文千锋武汉Python培训小编将推荐一些PythonGUI框架,希望对你有所帮助。1、Python的UI开发工具包Kivy...

python适合开发桌面软件吗?(python可不可以开发桌面应用软件)

其实Python/Java/PHP都不适合用来做桌面开发,Java还是有几个比较成熟的产品的,比如大名鼎鼎的Java集成开发环境IntelliJIDEA、Eclipse就是用Java开发的,不过PH...

CryptoChat:一款功能强大的纯Python消息加密安全传输工具

关于CryptoChatCryptoChat是一款功能强大的纯Python消息加密安全传输工具,该工具专为安全研究专家、渗透测试人员和红蓝队专家设计,该工具可以完全保证数据传输中的隐私安全。该工具建立...

为什么都说Python简单,但我觉得难?

Python普遍被大家认为是编程语言中比较简单的一种,但有一位电子信息的学生说自己已经学了C语言,但仍然觉得Python挺难的,感觉有很多疑问,像迭代器、装饰器什么的……所以他提出疑问:Python真...

蓝牙电话-关联FreeSwitch中继SIP账号通过Rest接口

蓝牙电话-关联FreeSwitch中继SIP账号通过Rest接口前言上一篇章《蓝牙电话-与FreeSwitch服务器和UA坐席的通话.docx》中,我们使用开源的B2B-UA当中经典的FreeSWIT...

技术分享|Sip与WebRTC互通-SRProxy开源库讲解

SRProxy介绍目前WebRTC协议跟SIP协议互通场景主要运用在企业呼叫中心、企业内部通信、电话会议(PSTN)、智能门禁等场景,要想让WebRTC与SIP互通,要解决两个层面的...

全网第N篇SIP协议之GB28181注册 JAVA版本

鉴于网上大部分关于SIP注册服务器编写都是C/C++/python,故开此贴,JAVA实现也贴出分享GB28181定义了了基于SIP架构的视频监控互联规范,而对于多数私有协议实现的监控系统...

「linux专栏」top命令用法详解,再也不怕看不懂top了

在linux系统中,我们经常使用到的一个命令就是top,它主要是用来显示系统运行中所有的进程和进程对应资源的使用等信息,所有的用户都可以使用top命令。top命令内容量丰富,可令使用者头疼的是无法全部...

取消回复欢迎 发表评论:

请填写验证码