
Nekomata Okayu © COVER Corp. / hololive production (Derivative Works Guidelines).
Shots carry the motion.
A dance camera has to keep the dancer visible, renew the view at cuts, and stay smooth within each shot. CuCaT models cuts and within-shot motion as separate events, each described by a performer-relative shot plan that artists can read and edit.
On the DCM benchmark it gives the best continuity and variation, keeps the dancer in frame almost always, and comes close to artist-made cameras in a user study.
Three properties of a dance camera
A rendered dance camera holds up only if three things are true at once. The key observation is that they live on different temporal scales, so a single homogeneous output stream can't satisfy all of them.
Visibility
The dancer stays in frame across the whole performance. This is a constraint defined relative to the performer's body in every frame.
Variation
New angles and framings keep the view from turning into one monotonic orbit. Variation happens at cuts, where the viewer's relation to the dancer resets.
Continuity
Motion inside a shot stays smooth enough that viewers can follow the choreography without fighting the camera. Continuity is defined only between cuts.
Semantic shot plan
Every event is a categorical shot plan defined relative to the performer. A deterministic solver turns it into an MMD camera. Try it below: each frame is a real render.
Method overview
Cut-structured keyframe selection
Pick cuts as frame pairs (f−1, f), then transitions inside each shot.
CNN + TransformerRole-aware shot-plan generation
Separate cut and transition heads on a shared Transformer.
separate categorical headsTrajectory optimization
CP-SAT picks one candidate per event, avoiding bounces and weak cuts.
CP-SAT, discreteInterpolation & MMD solve
Predict easing per keyframe and solve each plan into an MMD camera.
MLP + solverExample output
Predicted cuts and transitions for a DCM test clip, with the shot plan in effect.
Quantitative results
DCM benchmark, against dense, keyframe and token-based baselines.
−48.9% vs. best baseline
~20× lower
~67× lower
vs. DanceCamAnimator
| Continuity | Variation | Visibility | ||||
|---|---|---|---|---|---|---|
| Method | FIDk ↓ | Distk ↑ | FIDs ↓ | Dists ↑ | DMR ↓ | LCD ↓ |
| Ground truth | – | 3.275 | – | 1.731 | 1.42×10⁻³ | – |
| DanceCamera3D | 3.749 | 1.631 | 0.280 | 1.326 | 2.50×10⁻³ | 0.147 |
| DanceCamAnimator | 3.453 | 3.140 | 0.268 | 1.293 | 2.20×10⁻³ | 0.152 |
| TemMEGA‡ | 3.237 | 1.961 | 0.255 | 1.347 | 2.00×10⁻³ | 0.141 |
| CuCaT (ours) | 1.655 | 3.172 | 0.013 | 1.620 | 0.03×10⁻³ | 0.184 |
Dist: closer to GT is better. ‡ Numbers from the original paper.
User study · N = 21, 1–7 scale
Forced choice vs. CuCaT
Ablation study
each row removes or replaces one component+
Ablation study
each row removes or replaces one component| Variant | FIDk ↓ | Distk ↑ | FIDs ↓ | Dists ↑ | DMR ↓ | LCD ↓ |
|---|---|---|---|---|---|---|
| Full CuCaT | 1.655 | 3.172 | 0.013 | 1.620 | 0.03×10⁻³ | 0.184 |
| Representation | ||||||
| Unified event | 2.011 | 2.593 | 0.046 | 1.336 | 1.90×10⁻³ | 0.211 |
| Numerical camera rep. | 6.025 | 1.243 | 0.788 | 1.427 | 66.0×10⁻³ | 0.261 |
| Training | ||||||
| w/o budget allocation | 3.104 | 3.664 | 0.012 | 1.621 | 0.40×10⁻³ | 0.181 |
| No cut-conditioning | 5.257 | 1.687 | 0.0059 | 1.663 | 0 | 0.186 |
| Shared heads | 1.889 | 2.660 | 0.0040 | 1.662 | 0.30×10⁻³ | 0.192 |
| Losses | ||||||
| w/o pre-cut contrast | 5.017 | 1.730 | 0.012 | 1.644 | 0 | 0.183 |
| w/o smoothness | 1.798 | 3.284 | 0.011 | 1.637 | 0.03×10⁻³ | 0.182 |
| w/o distance–FoV joint | 4.250 | 1.872 | 0.343 | 1.659 | 0.33×10⁻³ | 0.228 |
| w/o visual-scale | 1.662 | 2.905 | 0.016 | 1.624 | 0 | 0.184 |
Qualitative results
Baseline on the left, CuCaT on the right. Same dance, same music.
Cite CuCaT
@inproceedings{lim2026cucat,
title = {CuCaT: Cut-Structured Camera Trajectory Generation for Dance Music Videos},
author = {Lim, SooBin and Noh, SeongRae and Kwon, Jeongyoun and Kim, YoungBeom and Kang, HyeongYeop},
booktitle = {SIGGRAPH Asia 2026 Conference Papers (SA Conference Papers '26)},
year = {2026},
publisher = {ACM},
address = {Kuala Lumpur, Malaysia},
doi = {10.1145/3829340.3842347}
}