我,開發者,在元宇宙里有一行自己的代碼!
新智元報道
【新智元導讀】隨著元宇宙熱潮興起,擴展現實領域也蓬勃發展。但對研究者而言,想要上手研究擴展現實領域,還需要耗費不少時間、精力去解決繁瑣的環境配置、不同代碼庫的底層規范以及代碼庫之間串接的問題。
圖源:Arplanet
從0到1
為更好地解決上述問題,推動擴展現實領域算法更高效地研發、迭代和集成,上海人工智能實驗室聯合浙江大學、商湯科技共同于2022年9月1日在世界人工智能大會上,正式發布了OpenXRLab擴展現實開源平臺。
平臺官網:https://openxrlab.org.cn/
1+3平臺架構
OpenXRlab開源平臺可以進一步拆分為以下四個子平臺,即1個基礎平臺和3個應用算法平臺。
-
XR空間計算平臺使得我們對世界感知從平面更加走向空間; -
XR多模態人機交互平臺可以成為我們和機器交互的工具; -
XR渲染生成平臺使我們從感知和交互走向創作。
7個代碼庫
項目地址: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提交修改,甚至還可以加入他們。
代碼庫地址: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.
本文來自微信公眾號“新智元”(ID:AI_era),作者:新智元,36氪經授權發布。
