ddz16/CamDistill-4B

Model

0

stars

7

commits

1

linked in READMEs

Aug 14, 2026

updated

camera-movement
distillation
endpoints_compatible
image-text-to-text
qwen3-vl
qwen3_vl
safetensors
transformers
video-text-to-text
video-understanding
Browse cluster: Multimodal Model Compression & Optimization

README

CamDistill-4B

Camera-movement understanding model trained with Camera Token Distillation on top of Qwen/Qwen3-VL-4B-Instruct. A lightweight Camera Token Module learns geometry-aware camera tokens (distilled from VGGT) and injects them into the language model. Given a video, it outputs structured JSON describing every camera-movement segment.

⚠️ This model cannot be loaded with plain 🤗 Transformers. It contains an extra Camera Token Module and a patched forward pass. Loading it as a standard Qwen3VLForConditionalGeneration would silently drop those weights and produce incorrect results. Use the CamDistill repo, which registers the required custom model type through a plugin.

Usage

Clone the CamDistill repo, then run (camera tokens are generated internally — no online VGGT required):

python camera_movement_sft/infer_single.py \
    --model ddz16/CamDistill-4B \
    --video /path/to/video.mp4 \
    --variant camdistill

See the repo's README for environment setup and batch evaluation.

Contributors

ddz16

6 commits

nielsr

1 commits

ddz16/CamDistill-4B

Model

0

stars

7

commits

1

linked in READMEs

Aug 14, 2026

updated

camera-movement
distillation
endpoints_compatible
image-text-to-text
qwen3-vl
qwen3_vl
safetensors
transformers
video-text-to-text
video-understanding
Browse cluster: Multimodal Model Compression & Optimization

README

CamDistill-4B

Camera-movement understanding model trained with Camera Token Distillation on top of Qwen/Qwen3-VL-4B-Instruct. A lightweight Camera Token Module learns geometry-aware camera tokens (distilled from VGGT) and injects them into the language model. Given a video, it outputs structured JSON describing every camera-movement segment.

⚠️ This model cannot be loaded with plain 🤗 Transformers. It contains an extra Camera Token Module and a patched forward pass. Loading it as a standard Qwen3VLForConditionalGeneration would silently drop those weights and produce incorrect results. Use the CamDistill repo, which registers the required custom model type through a plugin.

Usage

Clone the CamDistill repo, then run (camera tokens are generated internally — no online VGGT required):

python camera_movement_sft/infer_single.py \
    --model ddz16/CamDistill-4B \
    --video /path/to/video.mp4 \
    --variant camdistill

See the repo's README for environment setup and batch evaluation.

Contributors

ddz16

6 commits

nielsr

1 commits