Cunqi Wu1,
Peng Zhouโ ,1,
Jie Qin1,
Qi Tian2,
โ Corresponding author.
1Nanjing University of Aeronautics and Astronautics,
2Huawei Technologies Ltd.
[2026-04] ๐ฅ We release the code of 100Editor and the 3D editing software of 100Editor๏ผ
[2026-02] ๐ 100Editor has been accepted to CVPR 2026(Findings)!
100Editor comes with an interactive desktop software that wraps the full pipeline โ reconstruction, segmentation, and every editing mode โ into a single GUI. Below are four editing modes in action.
Semantic Editing |
Additive Editing |
Subtractive Editing |
Non-rigid (Drag) Editing |
๐ More detailed operation walkthroughs and additional features are covered in the Documentation.
- Perform a deeper cleanup and refactoring of the codebase, along with thorough testing, so that 100Editor becomes easier to use, maintain, and customize for everyone๐.
- Provide more complete installation and configuration instructions.
Our environment has been tested on an NVIDIA RTX 4090 GPU with Ubuntu 22.04 and CUDA 12.4.
- Clone our repository
git clone https://github.com/Devin100086/100Editor.git --recursive
- create environment and install dependencies
# Create an environment
conda create -n 100Editor python=3.11
# Install dependencies
pip install torch==2.4.1+cu124 torchvision==0.19.1+cu124 torchaudio==2.4.1+cu124 --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt
pip install -e third_party/BrushNet
pip install -e third_party/LeftRefill
pip install -e third_party/sam2
pip install -e third_party/threestudio
pip install -e src/trainer/origin/submodules/diff-gaussian-rasterization
pip install -e src/editor/gaussiansplatting/submodules/acc-diff-gaussian-rasterization-editor
pip install -e third_party/gaussiansplatting/submodules/diff-gaussian-rasterization
pip install -e third_party/dreamgaussian/add_diff-gaussian-rasterization
pip install -e src/trainer/origin/submodules/fused-ssim
pip install -e src/trainer/origin/submodules/simple-knn
- Download the required model checkpoints
sh ./scripts/download.sh
For video-captured scenes, preprocessing is required before 3DGS training, including frame extraction and Structure-from-Motion (SfM). Both steps can be completed within our software. For additional implementation details, you can also refer to the official Gaussian Splatting repository.
Use the following command to reconstruct a target 3DGS scene:
bash scripts/train/train_3dgs.sh \
[--use-depth-loss] \
[--use-appearance-embedding] \
<scene_path> \
<output_dir> \
<checkpoint_iter>Arguments:
| Argument | Description | Required |
|---|---|---|
--use-depth-loss |
Enable depth supervision during training. | No |
--use-appearance-embedding |
Enable appearance embedding optimization. | No |
<scene_path> |
Path to the input scene directory. | Yes |
<output_dir> |
Directory for checkpoints, logs, and outputs. | Yes |
<checkpoint_iter> |
Iteration to load as the initialization checkpoint. | Yes |
The application also supports 3DGS training through the GUI. It includes support for training with the gsplat library and provides multiple training strategy options. For more details, refer to the GUI training documentation.
Use the following command to perform semantic editing on a scene:
python launch.py \
--config configs/edit_configs/edit-n2n.yaml \
--train --gpu 0 \
exp_root_dir="runtime/experiments/edit/semantic" \
data.source="/path/to/scene" \
system.camera_update_per_step=500 \
data.max_view_num=20 \
system.per_editing_step=100000 \
system.prompt_processor.prompt="[your editing instruction]" \
system.gs_source="/path/to/point_cloud.ply" \
system.batch=trueFor local semantic editing, add a segmentation prompt:
python launch.py \
--config configs/edit_configs/edit-n2n.yaml \
--train --gpu 0 \
exp_root_dir="runtime/experiments/edit/semantic" \
data.source="/path/to/scene" \
data.use_original_resolution=true \
system.camera_update_per_step=500 \
data.max_view_num=20 \
system.per_editing_step=100000 \
system.prompt_processor.prompt="[your editing instruction]" \
system.seg_prompt="[Objects for local editing]" \
system.gs_source="/path/to/point_cloud.ply" \
system.batch=trueArguments:
| Argument | Description | Required |
|---|---|---|
--config configs/edit_configs/edit-n2n.yaml |
Path to the semantic editing config file. | Yes |
--train |
Run in training mode. | Yes |
--gpu 0 |
GPU device index used for training. | Yes |
exp_root_dir="runtime/experiments/edit/semantic" |
Root directory for experiment logs, checkpoints, and exports. | No |
data.source="/path/to/scene" |
Path to the input scene directory. | Yes |
data.use_original_resolution=true |
Use the original image resolution instead of the fixed training resolution. | No |
system.camera_update_per_step=500 |
Number of training steps between batch-view refreshes in batch mode. | No |
system.per_editing_step=100000 |
Interval for regenerating per-view edited targets during training. Use a large value (or 0) to reduce frequent updates. |
No |
data.max_view_num=20 |
Maximum number of training views sampled for semantic editing. | No |
system.prompt_processor.prompt="[your editing instruction]" |
Text instruction for semantic editing. | Yes |
system.seg_prompt="[Objects for local editing]" |
Segmentation prompt describing the local target region. | No (Yes for local editing) |
system.gs_source="/path/to/point_cloud.ply" |
Path to the source 3DGS PLY checkpoint. | Yes |
system.batch=true |
Enable batch-view editing workflow. | Yes |
For advanced parameter tuning, refer to the scripts under scripts/semantic, where additional optimization and control options are provided.
In addition to semantic editing, the software supports additive editing, subtractive editing, and non-rigid editing. The GUI also provides interactive segmentation tools for more precise local editing. For detailed usage instructions, refer to the software documentation.
For subtractive editing, the original paper used the gemini-2.0-flash image editing model. Since this model is no longer officially available, our implementation uses Qwen-Image-Edit-Max for single-view object removal. For API setup instructions, see the API Guide. The service can be accessed through the API Platform.
For evaluation, we report CLIP and MEt3R scores. See the Evaluation Guide for detailed instructions.
We sincerely appreciate these excellent open-source projects.
| Project | Link |
|---|---|
| Gaussian Splatting | graphdeco-inria/gaussian-splatting |
| GaussianEditor | buaacyw/GaussianEditor |
| DGE | silent-chen/DGE |
| InstructPix2Pix | timothybrooks/instruct-pix2pix |
| BrushEdit | TencentARC/BrushEdit |
| dreamgaussian | dreamgaussian/dreamgaussian |
| VidToMe | lixirui142/VidToMe |
| splatviz | Florian-Barthel/splatviz |
@InProceedings{Wu_2026_CVPR,
author = {Wu, Cunqi and Zhou, Peng and Qin, Jie and Tian, Qi},
title = {100Editor: 100+ Views per Batch and Minute-Scale View-Consistent 3D Editing},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) Findings},
month = {June},
year = {2026},
pages = {8449-8460}
}





