Plurato123 commited on
Commit
fc7e765
·
verified ·
1 Parent(s): 8b9fd85

Simplify model card to a concise paper overview

Browse files
Files changed (1) hide show
  1. README.md +5 -72
README.md CHANGED
@@ -29,83 +29,16 @@ tags:
29
  <a href="https://plurato.github.io/OctLLM-page/"><img src="https://img.shields.io/badge/Project%20Page-Website-2e7d32?logo=googlechrome&amp;logoColor=white" alt="Project Page"></a>
30
  </p>
31
 
32
- Official model weights for **Octrees as an Explicit 3D Language**. OctLLM represents 3D shapes as Sparse Octree (S-Octree) token sequences, supporting **text-to-3D, image-to-3D, and 3D understanding** in a single model.
33
 
34
  <p align="center">
35
  <img src="https://huggingface.co/Plurato123/OctLLM/resolve/main/assets/teaser.gif" width="100%" alt="OctLLM generated meshes, 3D descriptions, and sparse octrees">
36
  </p>
37
 
38
- ## Overview
39
 
40
- OctLLM gives a vision-language model an explicit, structured 3D representation. S-Octrees encode geometry as occupancy tokens anchored to 3D coordinates and octree depth. Trainable 3D branches process mesh tokens alongside a frozen Qwen2.5-VL backbone, with the two streams interacting through shared self-attention. For generation, occupancy completion and pretrained TRELLIS decoders turn the predicted octrees into textured meshes.
41
 
42
- - **Text-to-3D:** generate a textured 3D asset from a text description.
43
- - **Image-to-3D:** generate a textured 3D asset from an input image.
44
- - **3D understanding:** describe a 3D shape or answer questions about its geometry.
45
 
46
- <p align="center">
47
- <img src="https://plurato.github.io/OctLLM-page/assets/images/method-overview.webp" width="100%" alt="OctLLM pipeline: text or image to S-Octree, occupancy completion, and mesh decoding; S-Octree to a natural-language description">
48
- </p>
49
-
50
- ## Demo
51
-
52
- The video below demonstrates image-to-3D, text-to-3D, 3D understanding, and language interaction.
53
-
54
- <video controls muted loop playsinline preload="metadata" width="100%" poster="https://plurato.github.io/OctLLM-page/assets/images/interaction-poster.webp" src="https://plurato.github.io/OctLLM-page/assets/videos/interaction.mp4"></video>
55
-
56
- Explore more results in the [interactive 3D gallery](https://plurato.github.io/OctLLM-page/#generation), or watch [how OctLLM builds an octree and reconstructs a mesh](https://plurato.github.io/OctLLM-page/#process).
57
-
58
- ## Model files
59
-
60
- The root contains the OctLLM model, tokenizer, processor, and all five model
61
- shards, including the 3D router, position embeddings, and mesh token weights.
62
- `completion/model.safetensors` contains the occupancy completion model used
63
- by the paper's `legacy` completion mode.
64
-
65
- Keep the complete checkpoint, including all shards, `config.json`, tokenizer files, and processor files. Text-to-3D additionally uses [TRELLIS-text](https://huggingface.co/microsoft/TRELLIS-text-xlarge) and [CLIP ViT-L/14](https://huggingface.co/openai/clip-vit-large-patch14); image-to-3D uses [TRELLIS-image](https://huggingface.co/microsoft/TRELLIS-image-large). These weights are obtained separately from their upstream repositories. 3D understanding and text/image chat only require the OctLLM checkpoint.
66
-
67
- ## Quick start
68
-
69
- Use the [official OctLLM implementation](https://github.com/octree-nn/octllm.git): the custom 3D components require its loading code. Installation requires **Linux x86_64**, **conda**, and an **NVIDIA GPU**. See the [installation guide](https://github.com/octree-nn/octllm#installation) for the full environment setup.
70
-
71
- ```bash
72
- git clone https://github.com/octree-nn/octllm.git
73
- cd octllm
74
- bash setup.sh
75
- conda activate OctLLM
76
-
77
- hf download Plurato123/OctLLM --local-dir checkpoints/OctLLM
78
- export OCTLLM_WEIGHTS_DIR="$(pwd)/checkpoints/OctLLM"
79
-
80
- python inference.py --prompt "Explain what an octree is." --no-mesh
81
- ```
82
-
83
- `OCTLLM_WEIGHTS_DIR` points both OctLLM and occupancy completion to the downloaded directory. To try image-to-3D with a bundled example, run:
84
-
85
- ```bash
86
- python inference.py \
87
- --prompt "Generate a 3D mesh based on this image:" \
88
- --image ./assets/examples/deer.png \
89
- --cuda-device 0 \
90
- --output-dir outputs/demo --output-name image_asset
91
- ```
92
-
93
- For 3D understanding:
94
-
95
- ```bash
96
- python inference.py \
97
- --mesh ./assets/examples/understanding/airplane.glb \
98
- --prompt "Describe this 3D asset in detail:" \
99
- --no-mesh --cuda-device 0
100
- ```
101
-
102
- Generation saves a textured `.glb`, an S-Octree `.tokens.txt` sequence, and response metadata in `.json`. See the [inference guide](https://github.com/octree-nn/octllm#inference) for text-to-3D examples, custom image preparation, and sampling settings.
103
-
104
- ## More resources
105
-
106
- - [Project page and method overview](https://plurato.github.io/OctLLM-page/)
107
- - [Data preparation](https://github.com/octree-nn/octllm/tree/main/dataset_toolkits)
108
- - [Training](https://github.com/octree-nn/octllm/tree/main/configs)
109
- - [Evaluation](https://github.com/octree-nn/octllm/tree/main/evaluation)
110
-
111
- The paper link and citation information will be added with the paper release.
 
29
  <a href="https://plurato.github.io/OctLLM-page/"><img src="https://img.shields.io/badge/Project%20Page-Website-2e7d32?logo=googlechrome&amp;logoColor=white" alt="Project Page"></a>
30
  </p>
31
 
32
+ Official model weights for **Octrees as an Explicit 3D Language**.
33
 
34
  <p align="center">
35
  <img src="https://huggingface.co/Plurato123/OctLLM/resolve/main/assets/teaser.gif" width="100%" alt="OctLLM generated meshes, 3D descriptions, and sparse octrees">
36
  </p>
37
 
38
+ OctLLM unifies **text-to-3D, image-to-3D, and 3D understanding** through an explicit 3D language. It represents shapes as **Sparse Octree (S-Octree)** sequences: occupancy tokens anchored to 3D coordinates and octree depth. This structured representation connects geometry generation and understanding within a single model.
39
 
40
+ To learn the 3D modality, OctLLM adds trainable branches alongside a frozen Qwen2.5-VL backbone. Mesh tokens and text/image tokens follow separate processing pathways and interact through shared self-attention. Generated octrees are completed by a 3D U-Net and decoded into textured meshes with pretrained TRELLIS decoders. The video below demonstrates generation, 3D understanding, and language interaction.
41
 
42
+ <video controls muted loop playsinline preload="metadata" poster="https://plurato.github.io/OctLLM-page/assets/images/interaction-poster.webp" src="https://plurato.github.io/OctLLM-page/assets/videos/interaction.mp4"></video>
 
 
43
 
44
+ This repository contains the OctLLM checkpoint and occupancy completion weights. Use the [official implementation](https://github.com/octree-nn/octllm.git) for installation and inference; its loading code is required for the custom 3D components. More results are available on the [project page](https://plurato.github.io/OctLLM-page/).