kocasariumut/FaceAnything

Official Implementation for "Face Anything: 4D Face Reconstruction from Any Image Sequence" (ECCV 2026, Oral (Spotlight))

What it is

Face Anything 是一款研究级的前馈神经网络模型,能够将任何脸部图像集合(照片连拍、视频或甚至是单张图片)转换为时间一致的 4D 重建——一个随时间移动的 3D 几何结构,并带有密集的逐像素对应关系。核心概念是canonical facial point prediction:每个像素都被映射到共享的标准人脸空间中的归一化坐标,将追踪和重建转换为单一的密集映射问题。

What you get out of it

在输入序列上运行提供的 run_inference.py 会产生一系列视觉化产物:

  • 彩色点云视频(环绕相机)显示重建的人脸。
  • 追踪视频,其中每个点在帧间保持一致的颜色,视觉化密集对应关系。
  • 标准颜色渲染图,根据其标准坐标为每个点着色。
  • 深度、法线和原始图视频,用于分析或下游任务使用。
  • 一个“大巡礼”视频,平滑地在所有模态之间转换。
  • 逐帧 PLY files(几何、标准图、追踪)和相机内参/外参 (cameras.npz/json)。
  • 一个 raw_predictions.npz 文件,包含模型的原始输出(深度、姿态、标准图、置信度、有效性遮罩)。

所有这些都会自动写入输出文件夹;你可以使用 --outputs 标志来选择子集。

How to get it running

  1. Clone the repo 并运行提供的 install.sh。该脚本会创建一个 Conda 环境,安装 PyTorch 2.9 (CUDA 12.8) 并安装其他 Python 依赖项,并下载约 15 GB 的模型权重。
  2. GPU requirement – 模型需要 CUDA 兼容的 GPU;它仅在 Python 3.11 上测试过。
  3. Checkpoint – 脚本会从 Google Drive 或 Hugging-Face repo 取得 checkpoint.pt。你也可以手动将文件放在 checkpoints/ 下。
  4. Run inference 使用单个命令:
    python run_inference.py --input <path> --output <out_dir>
    
    <path> 可以是单张图片、图片文件夹或视频文件。 n5. Optional flags 允许你控制分辨率、处理模式 (all-at-once vs one-by-one)、背景移除(通过 Robust Video Matting),哪些输出物生成,环绕风格,等。

When you'd want to use it

  • Research 關於 4D 人臉動態、表情轉移或動畫製作,其中需要密集且時間一致的幾何結構。
  • Content creation 游戏或 AR/VR 领域,其中需要快速从普通素材转换到 3D 人脸模型,是一个很实用的用例。
  • Dataset generation – 作者们发布了针对精选的 “FaceAnything NeRSemble” 数据集提供的标准图(可通过申请表单取得)。

Limitations & practical notes

  • 模型是**前馈式(feed-forward)**的;它不进行迭代式精炼,因此与多视角 SfM 流程相比,可能缺失极高频的细节。
  • Memory vs detail trade-off: all-at-once 提供更平滑的时间一致性,但表面较粗糙;one-by-one 产生更精细的几何结构,但以牺牲一致性与更高的 GPU 显存使用量为代价。
  • 许可证是 CC-BY-NC 4.0,因此未经许可禁止商业用途。

Citation

@article{kocasari2026face,
  title={Face Anything: 4D Face Reconstruction from Any Image Sequence},
  author={Kocasari, Umut and Giebenhain, Simon and Shaw, Richard and Nießner, Matthias},
  journal={arXiv preprint arXiv:2604.19702},
  year={2026}
}

相关

  • 项目
  • 项目
  • 项目
  • 项目