CineMPC: A Fully Autonomous Drone Cinematography System Incorporating Zoom, Focus, Pose, and Scene Composition
Pablo Pueyo, Juan Dendarieta, Eduardo Montijano, Ana C. Murillo, Mac Schwager
TL;DR
CineMPC tackles autonomous cinematography by jointly optimizing drone pose and camera intrinsics (focus, zoom, aperture) within a nonlinear Model Predictive Control loop guided by RGB-D perception. It introduces a perception-informed pipeline that tracks multiple dynamic targets and re-optimizes trajectories at each time step to satisfy artistic and technical objectives. The contributions include a four-term MPC cost for depth of field, image composition, camera–target relative pose, and intrinsics, a low-level controller for smooth execution, and a ROS-based modular implementation validated in photorealistic simulation and real flights with occlusion and collision handling. The work demonstrates rich cinematographic capabilities previously unattainable with extrinsics-only control and provides open-source code for community use.
Abstract
We present CineMPC, a complete cinematographic system that autonomously controls a drone to film multiple targets recording user-specified aesthetic objectives. Existing solutions in autonomous cinematography control only the camera extrinsics, namely its position, and orientation. In contrast, CineMPC is the first solution that includes the camera intrinsic parameters in the control loop, which are essential tools for controlling cinematographic effects like focus, depth-of-field, and zoom. The system estimates the relative poses between the targets and the camera from an RGB-D image and optimizes a trajectory for the extrinsic and intrinsic camera parameters to film the artistic and technical requirements specified by the user. The drone and the camera are controlled in a nonlinear Model Predicted Control (MPC) loop by re-optimizing the trajectory at each time step in response to current conditions in the scene. The perception system of CineMPC can track the targets' position and orientation despite the camera effects. Experiments in a photorealistic simulation and with a real platform demonstrate the capabilities of the system to achieve a full array of cinematographic effects that are not possible without the control of the intrinsics of the camera. Code for CineMPC is implemented following a modular architecture in ROS and released to the community.
