FactorPortrait: Controllable Portrait Animation via Disentangled Expression, Pose, and Viewpoint

Jiapeng Tang, Kai Li, Chengxiang Yin, Liuhao Ge, Fei Jiang +6 more
12/12/2025
cs.CV

No confident code implementation found for this paper.

Abstract

We introduce FactorPortrait, a video diffusion method for controllable portrait animation that enables lifelike synthesis from disentangled control signals of facial expressions, head movement, and camera viewpoints. Given a single portrait image, a driving video, and camera trajectories, our method animates the portrait by transferring facial expressions and head movements from the driving video while simultaneously enabling novel view synthesis from arbitrary viewpoints. We utilize a pre-trained image encoder to extract facial expression latents from the driving video as control signals for animation generation. Such latents implicitly capture nuanced facial expression dynamics with identity and pose information disentangled, and they are efficiently injected into the video diffusion transformer through our proposed expression controller. For camera and head pose control, we employ Plücker ray maps and normal maps rendered from 3D body mesh tracking. To train our model, we curate a large-scale synthetic dataset containing diverse combinations of camera viewpoints, head poses, and facial expression dynamics. Extensive experiments demonstrate that our method outperforms existing approaches in realism, expressiveness, control accuracy, and view consistency.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{tang2025factorportrait,
  title  = {FactorPortrait: Controllable Portrait Animation via Disentangled Expression, Pose, and Viewpoint},
  author = {Jiapeng Tang and Kai Li and Chengxiang Yin and Liuhao Ge and Fei Jiang and Jiu Xu and Matthias Nießner and Christian Häne and Timur Bagautdinov and Egor Zakharov and Peihong Guo},
  year   = {2025},
  eprint = {2512.11645},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2512.11645v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2512.11645.svg)](https://codeofpaper.com/paper/2512.11645)

Discussion