Bench3DS³ checkpoints
Evaluated 23-class industrial semantic-segmentation weights for Bench3DS³.
Weights are here. Training configs stay in the Git repo
(configs/models/). These files are slim Pointcept checkpoints
(epoch, state_dict, best_metric_value; VoLT also keeps
ema_state_dict). Optimizer / scheduler states are stripped, so
train.sh -r true resume is not supported. test.sh -w inference and
train.sh -w fine-tuning are.
Repo: https://gitlab.lrz.de/bench3ds3/isaac_sim_data_collector
Docs: docs/usage/models/checkpoints_en.md
Methods
| Method | File | Config | Exp dir | Docker | Val epoch / metric |
|---|---|---|---|---|---|
| PTv3 | ptv3-base/model.pth |
semseg-pt-v3m1-0-base |
ptv3_base_23cls_gpu1 |
pointcept | 47 / 0.9064272889718135 |
| LitePT | litept-small/model.pth |
semseg-litept-v1m1-0-small |
litept_small_23cls_gpu1 |
pointcept | 68 / 0.9161536735904534 |
| OA-CNN | oacnn-base/model.pth |
semseg-oacnn-v1m1-0-base |
oacnn_base_23cls_gpu1_run_2 |
pointcept | 93 / 0.8989892319211662 |
| OctFormer | octformer-base/model.pth |
semseg-octformer-v1m1-0-base |
octformer_base_23cls_gpu1 |
pointcept | 100 / 0.7835706366509076 |
| PTv3+CAC | ptv3-cac/model.pth |
semseg-cac-v1m1-0-base |
semseg-cac-v1m1-0-base |
pointcept | 50 / 0.8942121746552055 |
| Sonata+Linear | sonata-lin/model.pth |
semseg-sonata-industrial-lin |
sonata_industrial_lin |
pointcept | 112 / 0.788238835478426 |
| Sonata+FT | sonata-ft/model.pth |
semseg-sonata-industrial-ft |
sonata_industrial_ft |
pointcept | 112 / 0.9101897111058175 |
| DiTR | ditr-aligned/model.pth |
semseg-pt-v3m1-0-image |
injection_aligned_23cls_gpu1 |
ditr | 58 / 0.8728377743924077 |
| VoLT | volt-small-ft/model.pth |
semseg-volt-small-ft |
semseg-volt-small-ft |
volt | 98 / 0.9250934182924747 |
The validation metric is the training-run best_metric_value, not a paper
test-set number. Reproduce with the GitLab configs before citing.
Download one method
pip install -U huggingface_hub
hf download min99ian/bench3ds3-checkpoints ptv3-base/model.pth --local-dir ./weights
Place it where Pointcept/DiTR/Volt expect model_best.pth:
mkdir -p exp/industrial/ptv3_base_23cls_gpu1/model
cp weights/ptv3-base/model.pth exp/industrial/ptv3_base_23cls_gpu1/model/model_best.pth
Test
sh scripts/test.sh -g 1 -d industrial \
-c semseg-pt-v3m1-0-base \
-n ptv3_base_23cls_gpu1 \
-w model_best
Fine-tune
train.sh -w loads state_dict and starts a new run (new optimizer).
Copy the config from the Git repo, point data_root at your set, use a new
-n, and pass the downloaded file to -w:
sh scripts/train.sh -g 1 -d industrial \
-c semseg-pt-v3m1-0-base \
-n ptv3_ft_mydataset \
-w /path/to/weights/ptv3-base/model.pth
DiTR still needs the frozen DINOv2-small encoder at runtime (not stored in
the task checkpoint). VoLT test.sh loads state_dict; ema_state_dict is
included for completeness.
Classes (train-id order)
barcode, bracket, cardboard_box, cnc_machine, container, conveyor,
fire_extinguisher, floor, floor_decal, forklift, lamp, pallet,
pallet_trolley, pillar, rack, robot, robot_stand, safety_fence, shelf,
sign, table, wall, workpiece