查看原文
其他

我,开发者,在元宇宙里有一行自己的代码!

新智元 慧天地 2022-12-21

点击上方“慧天地”关注我们

文章转载自微信公众号新智元,版权归原作者及刊载媒体所有。

【导读】随着元宇宙热潮兴起,扩展现实领域也蓬勃发展。但对研究者而言,想要上手研究扩展现实领域,还需要耗费不少时间、精力去解决繁琐的环境配置、不同代码库的底层规范以及代码库之间串接的问题。

当前,无论学术界还是工业界,扩展现实领域有非常丰富的算法研究方向,并有许多算法得到好评。

然而由于这一领域中,还没有像计算机视觉领域一样建立完整的开源算法生态,且当前的每个算法库相对独立,同时也缺乏统一的底层基座。

图源:Arplanet

从0到1


为更好地解决上述问题,推动扩展现实领域算法更高效地研发、迭代和集成,上海人工智能实验室联合浙江大学、商汤科技共同于2022年9月1日在世界人工智能大会上,正式发布了OpenXRLab扩展现实开源平台。


OpenXRLab平台定位为一站式解决扩展现实领域算法需求的开源平台,目标和愿景是实现让扩展现实触手可及。

目前平台拥有三大优势:

第一,通过1个基础库提供统一的底层,同时支持C++和Python调用;

第二,提供了较为全面的算法覆盖,首次开源包含了3个应用平台共6大算法工具箱;

第三,代码库进行了模块化设计,易于单独使用,也方便串接起来联合使用。


平台官网:https://openxrlab.org.cn/


1+3平台架构


OpenXRlab开源平台可以进一步拆分为以下四个子平台,即1个基础平台和3个应用算法平台。


其中,XR基础平台为上层提供统一的接口,高效的计算,和便于部署的工具链。
而上层的3个应用算法平台专注不同的领域,又相互连接:

  • XR空间计算平台使得我们对世界感知从平面更加走向空间;
  • XR多模态人机交互平台可以成为我们和机器交互的工具;
  • XR渲染生成平台使我们从感知和交互走向创作。



从整体上看,XR领域的底层有各式各样的传感器和不同的操作系统,上层有丰富的应用比如AR/VR、数字孪生、数字人等等,OpenXRLab致力于在底层的硬件和上层的操作系统间架起一座桥梁,供研究员方便迭代新的算法,供开发者快速搭建应用原型。

为此,团队对外开源了1个基础库和6个代码库,其中空间计算3个(XRSLAM, XRSfM, SRLocalization),人机交互2个(XRMoCap, XRMoGen),渲染生成1个(XRNeRF)。

并且空间计算的3个代码库还可以串接起来,是首个可以实现基于端云协同的大尺度移动实时6DoF定位和AR效果的开源平台。

下面,我们就来更具体地看一下每个代码库的定位和特点。


7个代码库


XRPrimer

项目地址:https://github.com/openxrlab/xrprimer


XRPrimer是为XR算法提供统一的数据结构和数据处理接口的库。XRPrimer的取名是为了致敬计算机同学们耳熟能详的经典基础书籍《C++ Primer》。


作为基础库,它外层提供统一的数据结构和算法接口,同时支持C/C++和 Python 的调用,内部提供通用的算法和高效的计算,提供扩展,方便外部贡献。


同时,底层的库安装是否方便决定了用户的上手难易度,团队也谨慎选择了XRPrimer的第三方依赖,支持不同平台源码编译,也搭建了配套基础设置提供部分平台预编译库,使得安装更加简单。


XRSLAM


项目地址:https://github.com/openxrlab/xrslam


XRSLAM是一个基于多传感器融合的SLAM开源项目,是OpenXRLab空间计算平台的核心技术模块之一。


XRSLAM目前提供了一个基于优化的鲁棒实时的轻量级视觉惯性里程计,同时支持桌面平台和移动平台。


和其他SOTA系统相比,XRSLAM在精度和效率方面都具备很强的竞争力,且非常容易上手使用。作为AR领域的基础设施,团队提供了在iPhone端可实时交互的移动端应用。


基于XRSfM预先构建好的三维几何地图,XRSLAM可以结合XRLocalization实现云-端结合的实时AR定位导航效果。


未来XRSLAM还会持续迭代更新,将会加上全局地图和后端优化形成一个完整的视觉惯性SLAM系统,并且考虑支持双/多目相机和RGB-D相机等更多类型的传感器。


XRSfM


项目地址:https://github.com/openxrlab/xrsfm


XRSfM是一个开源的Structure-from-Motion(运动恢复结构)的代码仓库,属于OpenXRLab空间计算平台。


XRSfM能够从影像数据中恢复场景的稀疏点云结构和图像的相机位姿,重建结果可以支持后续的场景定位和稠密重建。


XRSfM实现了基于共视的高效匹配方法[1]和基于关键帧的高效集束调整,相较于其他开源SOTA系统,其重建速度具有数量级优势,并且提供了基于人工标志物的尺度估计功能,能够恢复出场景的真实尺度。


XRLocalization


项目地址:https://github.com/openxrlab/xrlocalization


XRLocalization是一个基于高精地图的视觉定位工具箱,属于OpenXRLab空间计算平台。


XRLocalization采用模块化的设计,并提供了一套层次化视觉定位算法,使其能够在大尺度场景下实现高效、精准且鲁棒的定位。


该框架支持使用不同的特征检测、特征匹配和图像检索方法,以及离线和在线两种定位模式。


其中,局部特征目前支持SuperPoint[2]和D2Net[3], 图像检索目前支持NetVLAD[4],特征匹配目前支持最近邻搜索和GAM[5, 6]算法。


该项目将提供更多的基础模块算法以及更多的视觉定位pipeline,为学术研究和工业应用提供灵活的代码工具。


XRMoCap


项目地址:https://github.com/openxrlab/xrmocap


XRMoCap是一个多视角的动作捕捉工具箱,属于OpenXRLab多模态人机交互平台。


XRMoCap目前有3大特点:


第一,它同时支持了单人和多人的多目动作捕捉,可以支持大于2个视角的任意数量的标定后相机作为输入,并且提供了一系列高效选择相机和关键点的策略,其中单人工具箱由HuMMan[7]原作者添加。


第二,它同时支持输出3D关键点和人体参数化模型,3D关键点和人体参数化模型是当前人体的2种主流表示形式,也提供了它们互相转换和优化的算法。


第三,它将基于优化和基于学习的算法融入在统一的框架中,支持了MvPose[8], MvPose Tracking[9], MvP[10], 4D Association[11]等多个经典算法。用户可以通过修改配置文件,快速构建和测试一个多视角动作捕捉的算法原型。


XRMoGen


项目地址:https://github.com/openxrlab/xrmogen


XRMoGen是一个多模态人体动作生成的工具箱,属于OpenXRLab多模态人机交互平台。目前,该框架以音乐生成舞蹈为切入点,构建人体动作生成代码库。


XRMoGen的亮点有3个:


第一个是代码结构清晰,易读性高,提供了较为详细的使用文档。


第二个是框架容易上手。由于动作生成代码库相对比较繁杂,XRMoGen试图将不同算法的代码风格统一到一个框架下,实现对算法的抽象,达到用户易上手易扩展的目的。


第三个是复现了该领域的2个经典算法:DanceRevolution[12]和Bailando[13]。其中Bailando[13]由原作者添加,不仅效果与SOTA相当,代码结构也更加清晰易拓展。


XRNeRF


项目地址:https://github.com/openxrlab/xrnerf


XRNeRF是基于PyTorch的通用型模块化神经渲染框架,属于OpenXRLab渲染生成平台。


XRNeRF集成了4个面向场景和3个面向人体的NeRF前沿算法,其中场景算法包括NeRF[14], Mip-NeRF[15], KiloNeRF[16]和Instance-NGP[17],人体算法包括NeuralBody[18], AnimNeRF[19]和GNR[20],人体算法均为原作者支持开发。


针对当前开源NeRF代码库线性流程、模块化程度低、二次开发难度大的问题,XRNeRF具有如下特点:模块化程度高、标准的数据处理管线、模块化的网络构建方法。


仅需要修改配置文件,就可以完成对数据处理管线和网络构建的修改,支持高便捷性地实现新算法搭建。


除了易于使用和拓展的模块化设计,XRNeRF在所有复现算法上,平均指标与官方代码库对齐,可视化效果也与源代码库对齐。


从1到N


XR的各种硬件正在高速发展,新算法也层出不穷。对算法的研究者和开发者来说,保持高度热度的同时,未来还有大量的工作需要完成。


OpenXRLab的开源只是迈出了一小步,这个领域的发展道阻且长。非常欢迎更多有热情的社区小伙伴加入进来,一同成为这个方向的贡献者!


团队表示,欢迎任何形式的贡献,可以在wishlist中添加想要复现的算法,可以在issue中报告问题,也可以PR提交修改,甚至还可以加入他们。


当XR真正走进千家万户时,团队希望里面能有他们的一行代码。

代码库地址:https://github.com/openxrlab


后续,团队也将接连推出各个代码库更加详细的设计介绍和使用教程。


参考文献:

[1] Ye, Z., Zhang, G., & Bao, H. (2020, May). Efficient covisibility-based image matching for large-scale SfM. In 2020 IEEE International Conference on Robotics and Automation (ICRA) (pp. 8616-8622). IEEE.

[2] DeTone, D., Malisiewicz, T., & Rabinovich, A. (2018). Superpoint: Self-supervised interest point detection and description. In Proceedings of the IEEE conference on computer vision and pattern recognition workshops (pp. 224-236).

[3] Dusmanu, M., Rocco, I., Pajdla, T., Pollefeys, M., Sivic, J., Torii, A., & Sattler, T. (2019). D2-net: A trainable CNN for joint detection and description of local features. arXiv preprint arXiv:1905.03561.

[4] Arandjelovic, R., Gronat, P., Torii, A., Pajdla, T., & Sivic, J. (2016). NetVLAD: CNN architecture for weakly supervised place recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 5297-5307).

[5] Yu, H., Ye, W., Feng, Y., Bao, H., & Zhang, G. (2020, November). Learning bipartite graph matching for robust visual localization. In 2020 IEEE International Symposium on Mixed and Augmented Reality (ISMAR) (pp. 146-155). IEEE.

[6] Yu, H., Feng, Y., Ye, W., Jiang, M., Bao, H., & Zhang, G (2022). Improving feature-based visual localization by geometry-aided matching. ArXiv preprint arXiv:2211.08712.

[7] Cai, Z., Ren, D., Zeng, A., Lin, Z., Yu, T., Wang, W., ... & Liu, Z. (2022). HuMMan: multi-modal 4D human dataset for versatile sensing and modeling. In European Conference on Computer Vision. Springer, Cham.

[8] Dong, J., Jiang, W., Huang, Q., Bao, H., & Zhou, X. (2019). Fast and robust multi-person 3D pose estimation from multiple views. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 7792-7801).

[9] Dong, J., Fang, Q., Jiang, W., Yang, Y., Huang, Q., Bao, H., & Zhou, X. (2021). Fast and robust multi-person 3d pose estimation and tracking from multiple views. IEEE Transactions on Pattern Analysis and Machine Intelligence.

[10] Zhang, J., Cai, Y., Yan, S., & Feng, J. (2021). Direct multi-view multi-person 3d pose estimation. Advances in Neural Information Processing Systems, 34, 13153-13164.

[11] Zhang, Y., An, L., Yu, T., Li, X., Li, K., & Liu, Y. (2020). 4D association graph for realtime multi-person motion capture using multiple video cameras. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition (pp. 1324-1333).

[12] Huang, R., Hu, H., Wu, W., Sawada, K., Zhang, M., & Jiang, D. (2020). Dance revolution: Long-term dance generation with music via curriculum learning. arXiv preprint arXiv:2006.06119.

[13] Siyao, L., Yu, W., Gu, T., Lin, C., Wang, Q., Qian, C., ... & Liu, Z. (2022). Bailando: 3D dance generation by actor-critic GPT with choreographic memory. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 11050-11059).

[14] Mildenhall, B., Srinivasan, P. P., Tancik, M., Barron, J. T., Ramamoorthi, R., & Ng, R. (2021). NeRF: Representing scenes as neural radiance fields for view synthesis. Communications of the ACM, 65(1), 99-106.

[15] Barron, J. T., Mildenhall, B., Tancik, M., Hedman, P., Martin-Brualla, R., & Srinivasan, P. P. (2021). Mip-NeRF: A multiscale representation for anti-aliasing neural radiance fields. In Proceedings of the IEEE/CVF International Conference on Computer Vision (pp. 5855-5864).

[16] Reiser, C., Peng, S., Liao, Y., & Geiger, A. (2021). Kilonerf: Speeding up neural radiance fields with thousands of tiny mlps. In Proceedings of the IEEE/CVF International Conference on Computer Vision (pp. 14335-14345).

[17] Müller, T., Evans, A., Schied, C., & Keller, A. (2022). Instant neural graphics primitives with a multiresolution hash encoding. arXiv preprint arXiv:2201.05989.

[18] Peng, S., Zhang, Y., Xu, Y., Wang, Q., Shuai, Q., Bao, H., & Zhou, X. (2021). Neural body: Implicit neural representations with structured latent codes for novel view synthesis of dynamic humans. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 9054-9063).

[19] Peng, S., Dong, J., Wang, Q., Zhang, S., Shuai, Q., Zhou, X., & Bao, H. (2021). Animatable neural radiance fields for modeling dynamic human bodies. In Proceedings of the IEEE/CVF International Conference on Computer Vision (pp. 14314-14323).

[20] Cheng, W., Xu, S., Piao, J., Qian, C., Wu, W., Lin, K. Y., & Li, H. (2022). Generalizable Neural Performer: Learning Robust Radiance Fields for Human Novel View Synthesis. arXiv preprint arXiv:2204.11798.




荐读

国家地球系统科学数据中心发布黎夏教授主持的国家重点研发计划项目数据集

关于开展2023年青年测绘地理信息科技创新人才评选工作的通知

关于2022年中国测绘学会团体标准(第二批)立项的公告

《慧天地》敬告

《慧天地》公众号聚焦国内外时空信息科技前沿、行业发展动态、跨界融合趋势,发现企业核心竞争力,传播测绘地理信息文化,为时空信息类相关专业学子提供日常学习、考研就业一站式服务,打造政产学研金服用精准对接的平台。

《慧天地》借鉴《读者》办刊理念,把时空信息领域的精华内容汇聚到平台上。我们高度重视版权,对于精选的每一篇推文,都会在文章开头显著注明出处,以表达对作者和推文引用平台版权的充分尊重和感谢;对于来源于网络作者不明的优质作品,转载时如出现侵权,请后台留言,我们会及时删除。感谢大家一直以来对《慧天地》的关注和支持!


——《慧天地》运营团队

投稿、转载、商务等合作请联系

微信号:huitiandi321

邮箱:geomaticshtd@163.com

编辑:李德翔  审核:张世奥指导:万剑华教授

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存