Temporally Grounded Compositional Camera Motion Understanding via Geometric Knowledge Distillation
Paper • 2608.10932 • Published
How to use ddz16/CamSFT-8B with Transformers:
# Load model directly
from transformers import AutoProcessor, AutoModelForMultimodalLM
processor = AutoProcessor.from_pretrained("ddz16/CamSFT-8B")
model = AutoModelForMultimodalLM.from_pretrained("ddz16/CamSFT-8B", device_map="auto")Camera-movement understanding model, supervised fine-tuned from Qwen/Qwen3-VL-8B-Instruct.
Given a video, it outputs structured JSON describing every camera-movement segment — time span,
basic-movement type / direction / speed, and special techniques.
The CamDistill repo provides a one-line entry point that applies the official prompt and the exact video settings used for training and evaluation:
python camera_movement_sft/infer_single.py \
--model ddz16/CamSFT-8B \
--video /path/to/video.mp4
CamSFT is a standard Qwen3-VL model, so it can be loaded directly:
from transformers import Qwen3VLForConditionalGeneration, AutoProcessor
model = Qwen3VLForConditionalGeneration.from_pretrained(
"ddz16/CamSFT-8B", dtype="bfloat16", device_map="auto"
)
processor = AutoProcessor.from_pretrained("ddz16/CamSFT-8B")
The exact system/user prompt and the video preprocessing (fps, max frames, resolution) are provided in the CamDistill repo; using them is required to reproduce the paper's results.
Base model
Qwen/Qwen3-VL-8B-Instruct