Source-linked AI summary
CameraCtrl: Enabling Camera Control for Text-to-Video Generation
Hao He, Yinghao Xu, Yuwei Guo, Gordon Wetzstein, Bo Dai, Hongsheng Li, Ceyuan Yang
TL;DR
Existing video-generation models lack precise camera-pose control, despite the importance of controllability for customized video creation. CameraCtrl adds a plug-and-play camera-control module using geometric camera conditioning and studies training-data choices; experiments show effective control across video-generation models, with data similar in appearance to the base model and diverse camera poses providing the best trade-off between generalizability and controllability.
Problem
Existing video-generation models lack precise control over camera viewpoints, limiting a capability important for applications and cinematic expression.
Method
CameraCtrl uses a plug-and-play camera-pose module with Plücker embeddings as conditioning while leaving other base-model modules untouched.
Results
CameraCtrl achieves accurate camera control across general, personalized, and image-to-video generation settings and is compatible with other visual controllers.
Takeaways & Limitations
Training data with similar appearance to the base model and diverse camera-pose distributions, such as RealEstate10K, offers the best trade-off between generalizability and controllability.
Takeaways & Limitations
CameraCtrl raises privacy and misleading-content risks that require ethical oversight and more advanced deepfake detectors.
Abstract
from arXiv · showhide
Controllability plays a crucial role in video generation, as it allows users to create and edit content more precisely. Existing models, however, lack control of camera pose that serves as a cinematic language to express deeper narrative nuances. To alleviate this issue, we introduce CameraCtrl, enabling accurate camera pose control for video diffusion models. Our approach explores effective camera trajectory parameterization along with a plug-and-play camera pose control module that is trained on top of a video diffusion model, leaving other modules of the base model untouched. Moreover, a comprehensive study on the effect of various training datasets is conducted, suggesting that videos with diverse camera distributions and similar appearance to the base model indeed enhance controllability and generalization. Experimental results demonstrate the effectiveness of CameraCtrl in achieving precise camera control with different video generation models, marking a step forward in the pursuit of dynamic and customized video storytelling from textual and camera pose inputs.
1 INTRODUCTION
CameraCtrl addresses limited camera-viewpoint control in video generation with a plug-and-play module that supports multiple video-generation settings. The method combines camera-pose conditioning with dataset analysis to improve controllability and applicability across models.
- Motivation: Existing video-generation models lack precise camera-viewpoint control, although camera movement is important for applications and cinematic emphasis.Prior approaches such as AnimateDiff support specific camera movements but struggle to generalize precisely.
- CameraCtrl: CameraCtrl introduces flexible and precise camera-viewpoint controllability for video diffusion models.The method is implemented as a plug-and-play camera-control module.
- CameraCtrl: The plug-and-play module adapts to various video-generation models and supports general T2V, personalized T2V, and I2V generation.It also works alongside visual controllers such as SparseCtrl for image-and-text-conditioned generation with camera movement control.
- Training data: CameraCtrl includes a comprehensive analysis of datasets for training the camera-control module.The analysis is intended to inform future research on camera control.
2 RELATED WORK
Recent controllable video-generation work supplements text or image conditioning with signals such as depth, skeleton sequences, and sketches. These signals aim to provide stronger control over scene and human motion than text or image conditioning alone.
- Controllable video generation: Text or image conditioning alone can be ambiguous and often provides weak control for video diffusion models.This motivates the use of additional control signals.
- Controllable video generation: Existing methods use depth and skeleton sequences to control scene or human motion in generated videos.These approaches provide enhanced guidance beyond text or image inputs.
- Controllable video generation: Sketch images are also used as control signals for video generation.The related-work discussion identifies sketch-based conditioning as another route to enhanced guidance.
3 CAMERACTRL
CameraCtrl adds camera-pose conditioning to pretrained video diffusion models through a dedicated encoder and injection strategy. It uses Plücker embeddings, temporal feature fusion, and camera-aware dataset selection to support precise control.
- Overview: CameraCtrl frames precise camera control around representing 3D camera movement, injecting conditions without compromising frame quality or temporal consistency.The design addresses camera representation and integration into existing video generators.
- Overview: The method follows the video diffusion objective while training a camera encoder Φc to use camera poses as an additional control signal.The encoder is trained on top of the existing generator rather than replacing its diffusion objective.
- Camera pose representation: Plücker embeddings encode each pixel’s camera-center origin and ray direction, providing geometric, pixel-wise, and more uniformly scaled pose information.For each frame, the embedding has shape 6×h×w, and the trajectory is represented as a sequence P ∈R^n×6×h×w.
- Camera fusion: A camera encoder extracts multi-scale Plücker features, which CameraCtrl integrates into the U-Net’s temporal attention layers at corresponding scales.The framework combines camera and latent features through element-wise addition and a learnable linear fusion layer before temporal attention.
- Camera encoder: Using camera features alone avoids appearance leakage observed when image features are also provided to the camera encoder.The image-latent input can make the model rely on appearance bias from the training data.
- Training data: Dataset selection balances broad camera-pose distributions against appearance similarity to the base model’s training data.Objaverse offers controllable, diverse cameras but an appearance gap, whereas real-world datasets may have narrower camera distributions.
4 EXPERIMENTS
CameraCtrl is evaluated against prior methods, through ablations, and across multiple video-generation settings. Results support precise camera control, compatible plug-and-play integration, and benefits from suitable camera-control training data.
- Comparisons with Other Methods: CameraCtrl outperforms AnimateDiff with MotionLoRA and MotionCtrl on camera-control accuracy and user preference.The comparison covers TransErr, RotErr, and user preference in T2V and I2V settings.
- Comparisons with Other Methods: CameraCtrl follows camera trajectories more accurately than MotionCtrl, distinguishing camera movement from scene rotation and capturing small directional changes.In qualitative comparisons, MotionCtrl misses small leftward motion while CameraCtrl follows both forward and left movements.
- Ablation Study: CameraCtrl uses Plücker embeddings to represent camera pose and injects the resulting features into the video diffusion model.The ablation study examines camera representation, encoder architecture, feature-injection location, and datasets.
- Ablation Study: The T2I-Adaptor with temporal attention provides stronger camera control than the evaluated ControlNet configurations.ControlNet produces suboptimal appearance quality by FVD, while temporal attention improves camera control for T2I-Adaptor models.
- Ablation Study: Injecting camera features into temporal attention layers yields better outcomes because camera motion produces global view changes across frames.This design aligns camera conditioning with the temporal dynamics of video generation.
- Ablation Study: Datasets with similar appearance distributions and diverse camera trajectories improve controllability and generalization.RealEstate10K performs better than MVImageNet, while Objaverse presents difficulty for meaningful camera-error evaluation because COLMAP extracts insufficient poses.
- Applications: CameraCtrl generalizes across personalized T2V models and SVD, and integrates with SparseCtrl for combined video control.Applications include AnimateDiff, RealisticVision, ToonYou, SVD, and SparseCtrl using RGB or sketch conditioning.
5 DISCUSSION
CameraCtrl uses Plücker embeddings and a plug-and-play camera control module to improve precise viewpoint control across video diffusion settings. The paper also studies training data and notes ethical risks associated with enhanced controllability.
- 5 DISCUSSION: CameraCtrl represents camera parameters with Plücker embeddings and trains a plug-and-play control module while preserving the base model.The representation encodes geometric information for camera poses.
- 5 DISCUSSION: Training data with base-model-like appearance and diverse camera poses provides the best reported trade-off between generalizability and controllability.RealEstate10K is given as an example of such data.
- 5 DISCUSSION: CameraCtrl is presented as effective for precise camera viewpoint control in video generation.
- 5 DISCUSSION: Enhanced camera control may raise privacy and misleading-content concerns, motivating ethical oversight and improved deepfake detectors.
C MORE DISCUSSIONS ON DATASET SELECTION
The dataset study compares Objaverse, MVImageNet, and RealEstate10K by appearance and camera-trajectory diversity. It favors RealEstate10K because it combines varied scenes with complex, diverse trajectories, while experiments suggest pose-distribution complexity remains a bottleneck.
- C MORE DISCUSSIONS ON DATASET SELECTION: The candidate datasets are Objaverse, MVImageNet, and RealEstate10K.
- C MORE DISCUSSIONS ON DATASET SELECTION: Objaverse offers highly complex camera poses but mainly contains isolated objects on white backgrounds, limiting cross-domain generalization.The trained model controlled trajectories well for Objaverse-like videos but generalized poorly elsewhere.
- C MORE DISCUSSIONS ON DATASET SELECTION: MVImageNet contains backgrounds and complex individual trajectories, but its mostly horizontal rotations provide insufficient trajectory diversity.The authors associate this lack of diversity with convergence toward a fixed pattern.
- C MORE DISCUSSIONS ON DATASET SELECTION: RealEstate10K combines indoor and outdoor scenes with complex trajectories and substantial variation across trajectories.
- C MORE DISCUSSIONS ON DATASET SELECTION: Training with RealEstate10K and ACID did not improve camera-control accuracy, indicating that camera-pose-distribution complexity may be the current bottleneck.
D.1 CAMERA ENCODER Φc ARCHITECTURE.
The camera encoder processes Plücker embedding sequences through convolutional and multi-scale ResNet components with temporal attention. Its temporal attention blocks combine positional encoding, normalization, self-attention, and an MLP.
- D.1 CAMERA ENCODER Φc ARCHITECTURE.: The camera encoder takes Plücker embedding sequences as input and outputs multi-scale camera features.The input tensor dimensions encode batch size, frame count, channels, height, and width.
- D.1 CAMERA ENCODER Φc ARCHITECTURE.: The encoder contains a pixel-unshuffle layer, a convolution layer, and four encoder scales.Each scale uses ResNet blocks, with scale 1 excepted from downsampling.
- D.1 CAMERA ENCODER Φc ARCHITECTURE.: Each encoder scale applies temporal attention after its ResNet processing to model relationships across video frames.
- D.1 CAMERA ENCODER Φc ARCHITECTURE.: The temporal attention block adds temporal positional embeddings, applies layer normalization and multi-head self-attention, then uses another normalization and an MLP.The equations describe residual additions around the attention and MLP operations.
D.2 TRAINING.
Training uses generated text prompts and different base video generators for T2V and I2V settings, while camera trajectories can be extracted or custom-designed. Evaluation accounts for instability and scale ambiguity in COLMAP-based pose extraction.
- D.2 TRAINING.: LAVIS generates text prompts for video clips from Objaverse, MVImageNet, RealEstate10K, and ACID.
- D.2 TRAINING.: AnimateDiffV3 serves as the T2V base, with an image LoRA trained on RealEstate10K before camera-control training.The image LoRA can be removed after the camera control model is trained.
- D.2 TRAINING.: Stable Video Diffusion serves as the I2V base, on which the camera encoder and merge linear layer are trained directly.
- D.2 TRAINING.: Camera trajectories can be extracted from existing videos with COLMAP or manually designed for desired camera movements.
- D.2 TRAINING.: Generated-video pose evaluation excludes clips where COLMAP fails and rescales estimated translations to address scale ambiguity.The scale correction affects TransErr but not RotErr.
E DETAILS OF USER STUDY
The user study evaluates camera-control quality when direct pose metrics are unreliable for short videos. Results from complex RealEstate10K trajectories further support CameraCtrl’s camera-trajectory control.
- User study motivation: COLMAP cannot stably extract precise camera poses from short videos, limiting direct evaluation with TransErr and RotErr.The evaluated clips contain 16 frames in T2V and 14 frames in I2V.
- I2V user study: The I2V user study compares MotionCtrl and CameraCtrl on complex camera trajectories extracted from RealEstate10K.Users choose which video has better camera-trajectory conditioning performance.
- I2V user study: The study reports these I2V comparisons in the User Preference Rate column of Table 1.The passage states that the results further demonstrate CameraCtrl’s superiority in controlling camera trajectories.
F.1 EXTRA ABLATION STUDY
The extra ablations examine camera-feature injection, camera representation, and metric lower bounds. Qualitative results favor Plücker-based representation choices and show why COLMAP-derived errors require calibration.
- Camera feature injection: Injecting camera features into both the U-Net encoder and decoder is evaluated against injecting them only into the encoder.The experiment uses TransErr and RotErr to assess the effect of the injection place.
- Camera representation: The camera-representation comparison evaluates raw camera matrices, ray directions with camera origin, and Plücker embeddings under the same trajectory and text prompt.The three representations correspond to the rows shown in Figure 7.
- Camera representation: Raw camera matrices ignore a final rightward movement, while the hybrid representation produces an abrupt shift in the last frames.The tested trajectory primarily moves forward before shifting rightward at the end.
- Metric calibration: COLMAP-based TransErr and RotErr require lower-bound estimates because COLMAP is not perfectly accurate.The estimates are obtained by running COLMAP on 16-frame RealEstate10K test clips and comparing estimated with ground-truth poses.
G.1 QUALITATIVE COMPARISONS IN THE T2V SETTING
Qualitative comparisons show CameraCtrl more faithfully follows specified camera trajectories while maintaining content consistency. The comparisons cover AnimateDiff and MotionCtrl in T2V and I2V settings using matched prompts and trajectories.
- AnimateDiff comparison: AnimateDiff sometimes generates pan-up motion instead of the specified pan-down movement, whereas CameraCtrl follows the desired movement.The comparison uses matched conditions for the illustrated rows.
- AnimateDiff comparison: CameraCtrl maintains consistent contents while following the condition trajectory, unlike cases where AnimateDiff loses object consistency.The passage also notes that AnimateDiff can sometimes produce the desired movement but not preserve the object throughout the video.
- MotionCtrl comparison: MotionCtrl is less sensitive to small translation or rotation components and focuses mainly on the dominant forward translation in T2V comparisons.The comparison pairs adjacent rows using the same text prompt and camera trajectory.
- MotionCtrl comparison: In I2V comparisons, MotionCtrl ignores small initial rotations or produces less camera movement than CameraCtrl for more extensive trajectories.Both methods use SVD as the base video diffusion model, excluding differences from the base generator.
H.1 VISUALIZATION RESULTS OF VARIOUS DOMAIN T2V VIDEOS
CameraCtrl generates videos across RealEstate10K, natural-scene, personalized, and image-to-video settings while closely following supplied camera trajectories. The visualizations also show alignment with captions or condition images.
- RealEstate10K domain: With RealEstate10K captions and trajectories, CameraCtrl generates domain videos whose camera movement closely follows control poses and whose content aligns with text prompts.The results use an image LoRA model trained on RealEstate10K.
- Original T2V domain: Using the same text prompts with different camera trajectories, CameraCtrl generates nearly the same scene while closely following each trajectory.These visualizations cover natural objects and scenes in the original T2V model domain.
- Personalized domains: CameraCtrl controls camera poses with personalized generators such as RealisticVision and ToonYou for stylized objects and scenes.The passage highlights uncommon color schemes in landscapes and coastlines among the showcased results.
- Image-to-video domain: With SVD as the base generator, CameraCtrl produces I2V videos whose viewpoints follow input trajectories and whose content aligns with condition images.The passage describes the viewpoints as strictly following the camera trajectory input.
H.3 INTEGRATING CAMERACTRL WITH OTHER VIDEO CONTROL METHOD
CameraCtrl integrates with other video-control settings and enables camera trajectories to align with content and structural conditions. It also supports controllable movement intensity and intrinsic-based translation or zoom, while large rotations remain a failure case.
- CameraCtrl integrates with SparseCtrl so generated content follows RGB images or sketch maps while camera trajectories align with the conditioned trajectories.
- CameraCtrl supports natural, stylized, and cartoon video generation, including personalized generators such as RealisticVision and ToonYou.
- CameraCtrl controls movement intensity by changing the interval between translation vectors of adjacent camera poses.Larger intervals produce more intense movement, while smaller intervals produce more gradual movement.
- Adjusting principal-point parameters cx and cy produces camera translation, while changing focal lengths fx and fy produces zoom-in or zoom-out effects.
- Large camera rotations remain difficult: desired 100-degree vertical and 150-degree horizontal rotations are generated as substantially smaller rotations.The paper attributes this limitation partly to insufficient large-rotation trajectories in the RealEstate10K training dataset.
- CameraCtrl also integrates with Stable Video Diffusion for image-to-video control and with SparseCtrl for combined camera and structural conditioning.