聊聊我做 NeRF-3D重建性能优化经历

这篇具有很好参考价值的文章主要介绍了聊聊我做 NeRF-3D重建性能优化经历。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

聊聊我做 NeRF-3D重建性能优化经历

我们新推出大淘宝技术年度特刊《长期主义,往往从一些小事开始——工程师成长总结专题》,专题收录多位工程师真诚的心路历程与经验思考,覆盖终端、服务端、数据算法、技术质量等7大技术领域,欢迎一起沟通交流。

本文为此系列第四篇内容。

第一篇:负责淘宝业务前端开发9年,聊聊我的心得

第二篇:“技术开发最应该做什么?”,聊聊我在服务端开发5年的理解和收获

第三篇:聊聊我在淘宝做性能分析的经历

本文作者尘漠加入大淘宝到现在也有5年了,一路走来很开心,他认为在这里可以让他静心做技术研究。以下是尘漠的自述——


在淘宝前三年,我主要偏向研究 2d计算机视觉算法,相比于研究GAN、Transformer等热门课题,我更偏向解决一些算法在工业界落地遇到的常见问题,如深度学习模型训练中,常遇到训练数据不足、数据有噪声等问题,所以我更感兴趣噪声标签识别、主动学习等类型算法,也发表了简单实用的O2U-Net[5] (ICCV 2019) 噪声识别算法;另外算法推理性能提升,也是工业应用常见问题,比如在手机端部署CNN模型,需要提升模型推理效率,可能需要模型压缩、剪枝技术,也是我感兴趣的方向之一。

这两年随着元宇宙的爆发,内部团队项目的调整,我也转而开始加入到 元宇宙数字世界构建探索中,开始探索低成本高质量3D建模应用。2022年双十一,淘宝Meta 团队推出的 低成本高质量3D建模工具-Object Drawer首次将学术界神经渲染3D建模算法(NeRF[1])在工业界规模化落地,实现了十几种品类的低成本建模(成本下降了70%)。我的工作职责主要是Object Drawer性能优化,下面聊一聊性能优化经历。

聊聊我做 NeRF-3D重建性能优化经历

背景

电商商品3D化,可以使得用户在APP中,实时浏览3D商品模型,更直观地了解商品的外观颜色、形状结构、物理材质等信息,为用户带来更好的消费体验,为虚实结合带来更多可能,后续也可以用于AR\VR等内容生产。然而商品3D化存在:人工设计 3D建模成本太高,传统3D重建算法稳定性又很差。

2020年,谷歌提出神经辐射场3D建模方法NeRF[1],可以渲染出较高质量的图片,不需要人工修模,3D建模成本较低,为大规模3D模型生产带来了新思路。

聊聊我做 NeRF-3D重建性能优化经历

NeRF

起初淘宝Meta 团队主要致力于 提升 NeRF重建效果(布料细节清晰度、商品文字清晰度等提升),使其渲染清晰度达到工业落地标准;然而由于NeRF存在推理速度慢等较大缺陷(服务器V100 GPU显卡,渲染一张高清图 需要1min),所以NeRF在淘宝落地主要在静态出图、AI内容创作做应用尝试,无法扩展到3D交互相关应用。

2020年底,由于项目调整,主管列出团队内一些急需解决的难题供选择。其中一个便是NeRF 算法性能优化,目标是 解决NeRF 3D模型到手机实时渲染的瓶颈问题,使其未来可以扩展到3D AR/VR等更多应用。问题难点:NeRF起初渲染速度非常慢,服务器 V100 GPU显卡上,渲染一张1080p图超过一分钟;如果要做到手机实时渲染,渲染速度预估需提升10000倍以上。

出于对模型推理效率优化方向感兴趣,外加喜欢挑战有难度的任务,我最终选择了解决NeRF推理性能优化。由于NeRF手机实时渲染,在当时并没有论文可以参考,算法推理效率需提升一万倍,所以只能尽力尝试推理加速各种方案。主管没给太大的压力与干涉,实验方案选择上没有任何约束,一句话:只要你认为有效的方案,都可以尝试。这使得我在算法优化工作中,更敢于去尝试有挑战的任务,更敢于去突破业界前沿。

一个人研究一个方向,没有内卷,静心实验研究,大胆尝试自认为有效的方案,这便是我得追求。

聊聊我做 NeRF-3D重建性能优化经历

由浅入深尝试

由于我以前经历主要涉及 2D 计算机视觉相关算法,对于3D几何相关算法不太熟悉。所以对于算法推理速度优化,起初会偏向选择自己比较熟悉的方案进行尝试,比如神经网络推理加速通用的方案,网络剪枝、8bit量化、蒸馏等方法。经过了半年了实验,最终把神经网络常见的算法加速推理方法都尝试了一遍,最终效率仅提升200 倍左右的效率,离提升10000倍的目标仍遥不可及。后来又折腾了两个月,目标没什么大进展,慢慢意识到如果不对NeRF算法做较大改动,提出具有创新性的方法,效率基本不大可能有四个数量级的提升,因此我开始静下心来,学习3D模型表示、图形渲染等基础3D技术。

随着对3D模型表示、渲染有了进一步深入了解,业界前沿也有了一些推理加速的方法可以参考(Fast-NeRF、PlenOctree[3])。在综合考虑效率、内存占用、存储空间等问题上,我结合了PlenOctree[3] +SNeRG[4] 优点,提出了 采用 Octree+Tiny-MLP数据结构,并对MLP模型做了效率优化,在普通Android上1080p渲染效率做到了6FPS左右。推理效率提升了三个数量级,问题得到大幅度缓解,但还需要继续提升5倍以上的推理速度,才可以实现NeRF手机实时交互。

聊聊我做 NeRF-3D重建性能优化经历

nerf 模型体素离散化

基于体素表示的推理加速方法,也会引入新的挑战:空间换时间策略,会引入新的问题,模型存储空间、内存占用变大,比如1024*1024*1024分辨率体素,结合前沿方法,经过模型量化、剪枝后,存储空间依旧达到300M;内存占用更是直接打爆手机,基本在2G以上。另外相比于学术研究NeRF  360视角渲染开源数据集来说,720 电商商品展示 在模型大小、内存占用都会更大。

PlenOctree[3] +SNeRG[4]

目标

6FPS

30FPS

>1500M

50M

>300M

5M

聊聊我做 NeRF-3D重建性能优化经历

走不寻常的路,多个问题一起思考解决

如前所述,经过了第一阶段的模型优化,虽然推理效率问题大幅缓解,然而也带来了新的挑战问题。存储空间、内存都很大,效率也需要进一步提升,三个问题都很艰巨。正常的思维是三个问题逐一解决,分开思考、逐个击破,然而在考虑到分开解决存在研发周期过长、同时各性能难以平衡问题,研发周期过长,每个问题解决可能需要花好几个月的时间探索。我最终选择探索三个问题一起解决方案,相比于逐个解决,虽然难度加大,但可以把三个问题综合考虑、更好的平衡效果,缩短研发周期。

基于体素表示的神经辐射场,要提升效率、内存、存储三者性能,真正的难点在于其基本只有一条路可以走:减少体素点数,其可供参考的资料较少,需要靠自己摸索实验。

从2D图片压缩启发,我发现人类视觉上看,一张渲染图片是否清晰,取决于一张图片的边缘区域是否清晰。于是第一阶段优化,我们提出了 HrSRG[2](ECCV 2022)的方法:3D体模型分层表示+感知损失+GAN,在提升纹理清晰度的同时,使得模型推理效率模型达到state-of-the-art。在高端手机上可实时渲染,720商品展示模型大小40M左右(相比于学术开源数据360展示更加复杂)

聊聊我做 NeRF-3D重建性能优化经历

然而如果要真正达到业务落地要求,我需要进一步做到低端手机实时渲染,同时模型需要进一步压缩到5M的模型大小,进而我提出了:3D 体素模型高频检测算法,对低频区域用更少得体素点来表示,高频区域用更多的体素来表示。在结合HrSRG[2]+体模型高频检测算法后,可以把一个6000w个点 NeRF 3d体素模型,减少到200w个点,存储空间和模型大小会减少到原来的1/30,效率也会有大幅度提升。相比于前沿方法PlenOctree[3]、SNeRG[4]等方法,该方法可以实现大幅度压缩,且清晰度更为清晰,同时能够把效率、推理速度、内存三者性能都能得到大幅度提升,达到了手机上5M模型,同时低端手机能够实时渲染的要求:

聊聊我做 NeRF-3D重建性能优化经历

在效果上,可以更好的保持纹理清晰度,对于商品特征细节信息上,相比于NeRF达到更高精度还原:

聊聊我做 NeRF-3D重建性能优化经历

Object Drawer细小文字还原

聊聊我做 NeRF-3D重建性能优化经历

展望未来

即使目前目标任务基本完成,达到业务上线要求,我依旧喜欢更进一步精细打磨算法性能,比如NeRF[1] 体素表示现在模型大小压缩到5M左右,精益求精,未来还是希望进一步能够压缩到1M以内,NeRF[1]在低端机实时渲染效率依旧需要进一步提升到50FPS以上,每向前走一步都是成长。

聊聊我做 NeRF-3D重建性能优化经历
参考文档

1、NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

2、《 Digging into Radiance Grid for Real-Time View Synthesis with Detail Preservation》

3、《PlenOctrees for Real-time Rendering of Neural Radiance Fields》

4、《Baking Neural Radiance Fields for Real-Time View Synthesis》

5、《O2U-Net: A Simple Noisy Label Detection Approach for Deep Neural Networks  》

聊聊我做 NeRF-3D重建性能优化经历
团队介绍

大淘宝技术Meta团队,目前负责面向消费场景的3D/XR基础技术建设和创新应用探索,创造以手机及XR 新设备为载体的消费购物新体验。团队在端智能、端云协同、商品三维重建、3D引擎、XR引擎等方面有着深厚的技术积累,先后发布深度学习引擎MNN、端侧实时视觉算法库PixelAI、商品三维重建工具Object Drawer、端云协同系统Walle等。团队在OSDI、MLSys、CVPR、ICCV、NeurIPS、TPAMI等顶级学术会议和期刊上发表多篇论文。欢迎视觉算法、3D/XR引擎、深度学习引擎研发、终端研发等领域的优秀人才加入,共同走进3D数字新时代。简历请投递至: chengfei.lcf@alibaba-inc.com

¤ 拓展阅读 ¤

3DXR技术 | 终端技术 | 音视频技术

服务端技术 | 技术质量 | 数据算法文章来源地址https://www.toymoban.com/news/detail-496146.html

到了这里,关于聊聊我做 NeRF-3D重建性能优化经历的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【性能优化】聊聊性能优化那些事

    针对于互联网应用来说,性能优化其实就是一直需要做的事情,因为系统响应慢,是非常影响用户的体验,可能回造成用户流失。所以对于性能非常重要。最近正好接到一个性能优化的需求,需要对所负责的系统进行性能提升。目前接口耗时基本在30S左右,争取可以提升到

    2024年02月10日
    浏览(42)
  • 记一次卡顿的性能优化经历实操

    本篇的性能优化不是八股文类的优化方案,而是针对具体场景,具体分析,从排查卡顿根因到一步步寻找解决方案,甚至是规避等方案来最终解决性能问题的经历实操 所以,解决方案可能不通用,不适用于你的场景,但这个解决过程是如何一步步去处理的,解决思路是怎么样

    2024年02月02日
    浏览(29)
  • 【三维重建】NeRF原理+代码讲解

    NeRF是2020年ECCV论文,任务是 做新视角的合成 ,是借助深度学习技术的计算机图形学任务,实现了摄像机级别的逼真的新视图合成。仅仅2年时间,相关work和论文就已经大量涌现。 论文 :https://arxiv.org/abs/2003.08934 TensorFlow代码 :https://github.com/bmild/nerf PyToch代码 :https://github.

    2024年02月01日
    浏览(33)
  • 基于Nerf的三维重建算法Neus初探

    目录 介绍 安装 训练开源数据 训练自己的数据 作者提出了一种新的神经表面重建方法,称为NeuS,用于从2D图像输入中以高保真度重建对象和场景。在NeuS中,我们建议将曲面表示为有符号距离函数(SDF)的零级集,并开发一种新的体绘制方法来训练神经SDF表示。我们观察到,

    2024年02月09日
    浏览(36)
  • Nerf神经辐射场三维重建0基础学习

    前言 本期内容为对Nerf神经辐射场的网络结构以及其使用的体渲染技术的一个介绍。文章会同步更新到公众号 AI知识物语 ,并且后续有需要也会更新响应的讲解视频到B站,同名 出门吃三碗饭 开讲! 简单介绍Nerf Nerf是2020年的一篇ECCV论文,其贡献就是通过提供2维信息来渲染

    2024年02月09日
    浏览(27)
  • 神经辐射场(NERF)模型:一个令人惊叹的三维场景重建方法

      在计算机图形学、计算机视觉和增强现实等领域,三维场景重建一直是一个热门话题。近年来,神经网络模型的出现已经彻底改变了这个领域,而其中最引人注目的就是 NERF(神经辐射场)模型。在这篇文章中,我们将深入探讨这个令人惊叹的三维场景重建方法。     简单

    2024年02月07日
    浏览(31)
  • 基于神经辐射场(Neural Radiance Fileds, NeRF)的三维重建- 简介

       Nerf(neural Radiance Fileds) 为2020年ICCV上提出的一个基于隐式表达的三维重建方法,使用2D的 Posed Imageds 来生成(表达)复杂的三维场景。现在越来越多的研究人员开始关注这个潜力巨大的领域,也有方方面面关于 Nerf 的工作在不断被提出。   Nerf 为输入为稀疏的、多角

    2024年02月09日
    浏览(35)
  • NeRF必读:NeuS--三维重建的milestone以及脑补的作者脑回路

    NeRF从2020年发展至今,仅仅三年时间,而Follow的工作已呈井喷之势,相信在不久的将来,NeRF会一举重塑三维重建这个业界,甚至重建我们的四维世界(开头先吹一波)。NeRF的发展时间虽短,有几篇工作却在我研究的领域开始呈现万精油趋势: PixelNeRF----泛化法宝 MipNeRF----近远

    2024年02月09日
    浏览(27)
  • 【三维重建】【深度学习】【数据集】基于COLMAP制作自己的NeRF(LLFF格式)数据集

    提示:最近开始在【三维重建】方面进行研究,记录相关知识点,分享学习中遇到的问题已经解决的方法。 LLFF格式是NeRF网络模型训练使用的数据集格式之一,本文基于COLMAP软件展示从LLFF格式数据集的制作到开始模型训练的完整流程。NeRF(神经辐射场)通过输入同一场景不同视角下

    2024年02月10日
    浏览(34)
  • 数字人解决方案——RAD-NeRF真人视频的三维重建数字人源码与训练方法

    1.真人视频三维重建数字人源码是基于NeRF改进的RAD-NeRF, NeRF(Neural Radiance Fields) 是最早在2020年ECCV会议上的Best Paper,其将隐式表达推上了一个新的高度,仅用 2D 的 posed images 作为监督,即可表示复杂的三维场景。 NeRF其输入稀疏的多角度带pose的图像训练得到一个神经辐射场

    2024年02月06日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包