kaolin

NVIDIAGameWorksApache-2.0活跃维护

基于 PyTorch 的 3D 深度学习加速库,提供可微渲染、光照、相机 API 和物理仿真等模块,帮研究者快速搭建 3D 重建与神经渲染实验。

A PyTorch Library for Accelerating 3D Deep Learning Research

v0.18.0发布于 2025-08-08 00:38 UTC5,195star +2 / 7 天628fork同步于 2026-11-10 05:35 UTC

怎么上手

由 README 提炼,执行前请确认
pip install kaolin==0.18.0 -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-{TORCH_VERSION}_cu{CUDA_VERSION}.html
硬件要求按 README 说明

README 未说明具体显存要求;安装命令按 PyTorch 与 CUDA 版本选择预编译 wheel,属于 GPU/CUDA 环境。

需要 CUDA
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

NVIDIA 出品的 PyTorch 3D 深度学习库,把 3D 研究中的可复用 GPU 模块打包成统一 API

基于 PyTorch 的 3D 深度学习加速库,提供可微渲染、光照、相机 API 和物理仿真等模块,帮研究者快速搭建 3D 重建与神经渲染实验。

核心能力

  • 用 Simplicits 对网格、splat、点云做表示无关的物理仿真
  • 支持 DIB-R、nvdiffrast、easy_render PBR 的可微渲染
  • 提供 GaussianSplatModel 与 PLY/USD 高斯 splat 读写和致密化
  • 用 GPU 八叉树 SPC 作为加速结构支持光线追踪与特征网格
  • 在网格、体素、点云、高斯之间做 GPU 快速转换

容易踩的坑

安装 URL 中的 TORCH_VERSION 和 CUDA_VERSION 必须替换成与本机 torch/CUDA 匹配的版本,否则找不到 wheel;web client-server 框架目前只在 web_framework_prerelease 分支,未合入 master。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.18.0
  1. v0.18.0最新正式版2025-08-08 · 2025-08-08 00:38 UTC

    Changelogs

    Features

    • Make kaolin compatible with numpy>=2.0 (#887 )
    • Add conversion from polyscope camera to kaolin camera (#899 )
    • Implement camera trajectories interpolation (#898 )
    • Reformat Simplicits, add collisions to physics submodule (#903 , #906 , #907 )
    • Add gaussians to voxelgrids, improve gaussians densifier (#904 )

    Fixes

    • Support for empty case of sg inner product (#893 )
    • Fix issues with spc query (#859 )
    • Fix USD issues (#905 )

    Misc

    • Avoid Warp init at import (#862 )
    • Add compatibility to Blackwell architecture, pytorch up to 2.8.0 and cuda up to 12.9 (#875 , #915 )
    • Change Flexicubes to Apache V2.0 (#883 , #884 )

    Contributors (in last name alphabetic order):

    • Clement Fuji Tsang (@Caenorst )
    • Charles Loop (@charlesloop / @charlesloopNV )
    • Vismay Modi (@itsvismay )
    • Or Perel (@orperel )
    • Masha Shugrina (@shumash )
    • @omahs
    • @KingHacker9000
  2. v0.17.02024-11-20 · 2024-11-20 14:47 UTC
    查看更新说明

    Changelogs

    Features

    • Added support for GLTF transmittance (#834 )
    • Implemented new volume densifying function of 3D Gaussian Splatting (#836 , #837 )
    • Improved simplicits features with NVIDIA Warp (#831 , #833 )
    • Added compression features to visualizers (#828 )

    Fixes

    • Fix quaternions examples

    Misc

    • Nvdiffrast default context is now CUDA
    • Extended support to python 3.12 and pytorch 2.5.1
    • Added new tutorials notebooks with INRIA splats
    • Updated physics tutorial notebooks with densification function

    Contributors (in last name alphabetic order):

    • Clement Fuji Tsang (@Caenorst )
    • Charles Loop (@charlesloop / @charlesloopNV )
    • Vismay Modi (@itsvismay )
    • Or Perel (@orperel )
    • Masha Shugrina (@shumash )
    • Alex Zook (@zookae )
  3. v0.16.02024-07-25 · 2024-07-25 07:13 UTC
    查看更新说明

    Changelogs

    Features

    • Added easy_render module for quick rendering of meshes with PBR materials from gltf, usd, obj imports (#800 , #797 )
    • Added new math module with new quaternions math features (#805 )
    • Added new physics module with Simplicits method (#806 , #812 )
    • Implemented new functions for generating rays from camera (#811 )
    • Implemented conversion function from gaussian-rendering cameras to kaolin Camera class (#813 )

    Misc

    • Support extended to pytorch 2.4.0 and cuda 12.4
    • Now generating wheels for cpu only

    Contributors (in alphabetical order):

    • Clement Fuji Tsang (@Caenorst )
    • Vismay Modi (@itsvismay )
    • Or Perel (@orperel )
    • Masha Shugrina (@shumash )
    • Alex Zook (@zookae )
  4. v0.15.02023-12-20 · 2023-12-20 15:54 UTC
    查看更新说明

    Changelogs:

    Features:

    Add methods and property to simplify camera transformation (#751) Allow camera width and height to be modified without modifying FOV (#751) Support .obj files with R G B defined (#760) Make arguments optional in PBRMaterials and add helper methods, and improve import / export of materials for USD (#762) Add GLTF loader (#763) Add translation movement in turntable visualizer (#767) Improve API of usd and obj loaders for triangulation (#774) Add optional canvas as argument to visualizers (#775) Add vertex tangents to the mesh class (#763)

    Bugfix:

    Fix drifting bug in turntable visualizer (#767)

    Misc:

    Added support for pytorch 2.1.0 and 2.1.1 (#765) Added support for cuda 12.1 (#765)

    Contributors (by last name Alphabetical order):

    Sanja Fidler Clement Fuji Tsang Or Perel Tianchang (Frank) Shen Masha Shugrina Alexander Zook @mikerjacobi

  5. v0.14.02023-07-26 · 2023-07-26 15:39 UTC
    查看更新说明

    Changelogs:

    Features:

    Added mesh to spc conversions (#696) Added interactive visualizers (#704, #723, ##742) Added high-level SurfaceMesh class (#740)

    Bugfix:

    Fixed trilinear interpolation gradient when the point is not on voxel (#684) Simplified and fix material importation from USD and OBJ (#708, #718, #724) Fixed UV bug in examples using nvdiffrast (#742)

    Misc:

    Added support for pytorch 2.0.0 and 2.0.1 (#717, #741) Added support for python 3.10 Dropped support for python 3.7

    Contributors (by last name alphabetical order):

    Sanja Fidler Clement Fuji Tsang Charles Loop Or Perel Masha Shugrina Alexander Zook

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Kaolin: A PyTorch Library for Accelerating 3D Deep Learning Research

    TL;DR — Kaolin is NVIDIA's PyTorch library of reusable, GPU-optimized modules distilled from 3D deep learning research.

    • Representation-agnostic physics (meshes, splats, point clouds) with Simplicits
    • Differentiable rendering (DIB-R, nvdiffrast, easy_render PBR)
    • First-class 3D Gaussian splats (PLY/USD I/O, densification, gsplat bridge)
    • GPU octree acceleration structure: Structured Point Clouds (SPC)
    • Conversions between 3D representations, quaternion ops, and USD I/O

    Documentation Version License NVIDIA Kaolin

    Kaolin packages reusable building blocks from NVIDIA 3D research into a cohesive PyTorch API — continuously improving representation-agnostic physics simulation, fast conversions between representations, quaternion math, batched mesh and splat containers, I/O, visualization and more. See kaolin.readthedocs.io for tutorials and API reference, and developer.nvidia.com/kaolin for the NVIDIA Kaolin hub.

    SIGGRAPH 2026

    Join us in Los Angeles! Two sessions showcasing new Kaolin capabilities. Full details here.

    Talk — Any Representation, Any Hardware, All Interactions

    Accelerating Interactive Prototypes Over Cutting Edge AI & 3D Research

    Sun 19 Jul 2026, 3:00–3:20 pm PDT · Room 408 A

    Maria Shugrina (NVIDIA / University of Toronto)

    Introduces Kaolin's new web client-server framework (kaolin/visualize/dash) for rapid prototyping of interactive browser interfaces over emerging AI and 3D research — patterns distilled from building interactive tools at SIGGRAPH technical papers, Real-Time Live, and Labs. Available on the web_framework_prerelease branch (not yet merged to master).

    Schedule →

    Hands-on Lab — From 3D Captures to Simulated Digital Environments

    Thu 23 Jul 2026, 10:15–11:45 am PDT · Concourse Hall

    Clement Fuji Tsang, Vismay Modi, Maria Shugrina (NVIDIA)

    A capture-to-simulation pipeline for in-the-wild 3D Gaussian Splat scenes: segment objects, predict volumetric mechanical properties, run mixed splat–mesh physics — powered by recent Kaolin features. Export shareable USD files with Kaolin's custom physics schema.

    Bring your laptop and follow along hands-on. Full Conference badge required.

    Schedule →

    Features

    Physics (Simplicits)

    Simulate meshes, splats, and point clouds with collisions. Warp-accelerated, representation-agnostic.

    Docs · Mesh · Splat · 3DGRUT

    3D Gaussian Splats

    GaussianSplatModel, PLY/USD I/O, densification, gsplat camera converters.

    Tutorial · Simulate · Interactive viz

    Differentiable Rendering

    DIB-R, nvdiffrast, easy_render PBR, spherical harmonics and spherical gaussians lighting.

    Docs · DIB-R · Easy render · Camera · Lighting

    Structured Point Clouds

    GPU octree acceleration structure with ray tracing and feature grids.

    Docs · Tutorial · API

    USD Pipeline

    Import/export meshes, point clouds, gaussians, and physics materials with Kaolin's custom schema.

    API · Checkpoints · GLTF viz

    Visualization

    Jupyter 3D viewer, Timelapse checkpoints, and web client-server framework.

    Docs · Interactive · Checkpoints · Web framework branch

    Conversions

    Fast GPU conversions between meshes, voxel grids, point clouds, gaussians, and more.

    Docs · DMTet · FlexiCubes

    Quaternions

    Differentiable quaternion and rigid-transform utilities for 3D deep learning.

    Docs · Tutorial · API

    Surface Meshes

    Batched SurfaceMesh container with auto-computed attributes and I/O.

    Docs · Tutorial · Easy render

    Experimental: Newton coupling — Simplicits soft bodies with rigid bodies, MPM, and articulated robots (rigid · MPM · Franka).

    See the tutorial index and API reference at kaolin.readthedocs.io.

    Installation

    Starting with v0.12.0, Kaolin supports installation with pre-built wheels:

    # Replace TORCH_VERSION and CUDA_VERSION with your torch / cuda versions
    pip install kaolin==0.18.0 -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-{TORCH_VERSION}_cu{CUDA_VERSION}.html
    

    For example, kaolin 0.18.0 with PyTorch 2.8.0 and CUDA 12.8:

    pip install kaolin==0.18.0 -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-2.8.0_cu128.html
    

    See the installation guide for the full torch/CUDA compatibility matrix and source install instructions.

    python -c "import kaolin; print(kaolin.__version__)"
    

    Quickstart

    import kaolin
    print(kaolin.__version__)
    

    Load a 3D Gaussian splat from PLY or USD:

    import kaolin
    from kaolin.rep import GaussianSplatModel
    
    gs = kaolin.io.import_gaussiancloud("scene.ply")
    print(gs)  # GaussianSplatModel with positions, scales, rotations, opacities, ...
    

    Simulate a mesh with Simplicits — see the physics tutorial.

    Render a mesh with the easy PBR API:

    import kaolin as kal
    
    mesh = kal.io.obj.import_mesh("model.obj")
    camera = kal.render.easy_render.default_camera(512)
    lighting = kal.render.easy_render.default_lighting()
    result = kal.render.easy_render.render_mesh(camera, mesh, lighting=lighting)
    

    News

    Unreleased (master or staging)

    Recent work on master since v0.18.0:

    • FreeForm / RKPM (CVPR 2026) — mesh-free, reduced-order deformable simulation for meshes and Gaussian splats. Builds skinning eigenmodes with a Reproducing Kernel Particle Method (RKPM) basis instead of per-shape neural-field optimization — about 40× faster training and lower error vs. FEM. Now integrated in Kaolin Simplicits.
    • Web client-server framework (kaolin/visualize/dash) — rapid prototyping of interactive Web UIs over AI and 3D research (web_framework_prerelease branch; SIGGRAPH 2026 talk)
    • GaussianSplatModel and PointSamples tensor-container API
    • PLY/USD gaussian I/O with feature preservation
    • USD physics schema — materials, skinned physics, subset features
    • gsplat batched camera converters
    • Newton coupling — soft bodies with rigid/MPM/Franka (notebooks)
    • Simplicits Easy API save/load redesign and collision friction fixes
    • FlexiCubes now Apache 2.0 at kaolin/ops/conversions/flexicubes/

    v0.18.0 highlights

    See release notes for details.

    Tutorials

    Notebooks live under examples/tutorial/. Highlights by topic:

    Physics

    Gaussians

    Rendering

    Structured Point Clouds

    Visualization

    Full index: tutorial index.

    Ecosystem

    Projects built with Kaolin:

    • FreeForm / RKPM — mesh-free reduced-order simulation via RKPM skinning eigenmodes (CVPR 2026)
    • VoMP — feed-forward volumetric mechanical property fields for splats, meshes, and NeRFs (ICLR 2026)
    • ArtisanGS — interactive Gaussian splat selection and segmentation with AI + human in the loop
    • TRON — relightable 3D Gaussian reconstructions with a single-step neural renderer
    • 3DGRUT — ray tracing and hybrid rasterization of Gaussian particles
    • 3DGUT — joint mesh and Gaussian splat rendering (CVPR 2025 oral)
    • Diffusion Texture Painting — interactive diffusion-based texture painting on 3D meshes (SIGGRAPH 2024)
    • NVIDIA Kaolin Wisp — neural fields engine (NeRF, NGLOD, instant-ngp)
    • gsplat — CUDA Gaussian splatting with Kaolin camera bridge
    • NVIDIA Newton — physics engine with experimental Kaolin coupling
    • Neural Geometric LOD (nglod) — SPC ray tracing
    • FlexiCubes — gradient-based mesh extraction (SIGGRAPH 2023)
    • DefTet — deformable tetrahedral mesh reconstruction
    • DIB-R — single-image 3D reconstruction
    • gradSim — differentiable simulation
    • Text2Mesh — text-driven mesh stylization

    Contributing

    Please review our contribution guidelines.

    License

    Kaolin is released under the Apache License 2.0. A default import kaolin gives you the full Apache-licensed library.

    The kaolin/non_commercial/ package is legacy only — kept for backward compatibility with older import paths (e.g. the pre-Apache FlexiCubes copy). New code should use the Apache-licensed modules under kaolin/ops/, kaolin/rep/, and the rest of the package tree.

    Citation

    If you use Kaolin in your research, please cite:

    @software{KaolinLibrary,
      author  = {Tsang, Clement Fuji and Shugrina, Maria and Lafleche, Jean-Francois and Perel, Or and Loop, Charles and Takikawa, Towaki and Modi, Vismay and Zook, Alexander and Wang, Jiehan and Chen, Wenzheng and Shen, Tianchang and Gao, Jun and Jatavallabhula, Krishna Murthy and Smith, Edward and Rozantsev, Artem and Fidler, Sanja and State, Gavriel and Gorski, Jason and Xiang, Tommy and Li, Jianing and Li, Michael and Lebaredian, Rev},
      title   = {{Kaolin: A PyTorch Library for Accelerating 3D Deep Learning Research}},
      version = {0.18.0},
      date    = {2024-11-20},
      url     = {https://github.com/NVIDIAGameWorks/kaolin}
    }
    

    Contributors

    Current team: Clement Fuji Tsang (Technical Lead), Maria (Masha) Shugrina (Manager), Charles Loop, Vismay Modi, Or Perel

    Other major contributors: Alexander Zook, Donglai Xiang, Wenzheng Chen, Sanja Fidler, Jun Gao, Jason Gorski, Jean-Francois Lafleche, Rev Lebaredian, Jianing Li, Michael Li, Krishna Murthy Jatavallabhula, Artem Rozantsev, Tianchang (Frank) Shen, Edward Smith, Gavriel State, Towaki Takikawa, Jiehan Wang, Tommy Xiang