← 返回 2026-09-03

Kirin:从野外视频生成动物运动 Kirin: Animal Motion Generation from In-the-Wild Video

Brian Nlong Zhao, Zhuoyang Pan, James M. Rehg, Jiajun Wu, Shangzhe Wu 📅 2026-09-01 👍 3 2026-11-02 18:30
3D重建 动物运动生成 多模态数据集 扩散模型 网格动画

从野外视频重建动物3D运动,构建AiM3D数据集,用文本+图像双条件扩散模型自动生成3D动物动画。

前置知识

SMAL 参数化动物模型

SMAL 是四足动物版的 SMPL:一个共享拓扑的参数化网格模板,用 41 维形状系数 $\beta$ 控制体型胖瘦(从猫到马共用同一骨架拓扑),35 个关节的轴角姿态参数 $\theta$ 驱动骨骼,再经线性混合蒙皮得到网格顶点。给定 $(\beta, \theta)$ 即可确定性计算出整个网格,因此可以把 $\beta, \theta$ 当作优化变量,从 2D 关键点和实例掩码反推 3D 姿态。

本文的运动表示、重建目标函数、自动绑定全部建立在 SMAL 模板上,AiM3D 里的每条运动本质上就是随时间变化的 SMAL 参数序列。

扩散模型与 MDM

扩散模型通过前向过程逐步给数据加噪,再学习逆过程去噪来生成数据。MDM(Motion Diffusion Model)将其用于动作生成:把动作序列表示为张量 $x_0 \in \mathbb{R}^{T \times D}$,用 Transformer 作去噪器 $\mathcal{G}_\theta(x_t, t, z_c)$,条件特征 $z_c$ 经交叉注意力注入,训练目标为噪声预测损失 $\mathcal{L}_{DDPM} = \mathbb{E}\|\epsilon - \mathcal{G}_\theta(x_t, t, z_c)\|^2$。

Kirin 的生成骨干就是 MDM 的变体,其全部改动集中在条件分支的设计上,读懂架构图和损失函数都必须先理解 MDM。

Classifier-Free Guidance(CFG)

一种免分类器的条件引导技术:训练时以一定概率把条件替换为空(本文对文本、图像各自独立以 0.2 概率丢弃,称为 per-modality dropout),推理时将条件预测与无条件预测外推组合:$\mathcal{G}_{cfg}(x_t|t,c) = \mathcal{G}(x_t|t,c) + g\,[\mathcal{G}(x_t|t,c) - \mathcal{G}(x_t|t,\varnothing)]$,引导尺度 $g$ 控制对条件的遵循程度与采样多样性的权衡。

这是本文能同时支持仅文本、仅图像、文本+图像三种输入模式的关键机制,也解释了消融实验中图像条件为何影响多样性指标。

线性混合蒙皮(LBS)

蒙皮动画的标准技术:每个网格顶点对若干关节绑定权重 $w_j(v)$,顶点在时刻 $t$ 的位置为 $\tilde{v}_t = \sum_{j=1}^{J} w_j(v)(G_{j,t} B_j^{-1})\tilde{v}$,其中 $G_{j,t} = FK_j(\beta', \theta_t)$ 是当前帧全局关节变换,$B_j$ 是绑定姿态下的前向运动学变换(用于求逆)。关节动一个角度,相关顶点按权重跟着动。

Kirin 的自动绑定管线就是把 SMAL 的蒙皮权重经 k-NN 插值迁移到 image-to-3D 生成的任意网格上,再用 LBS 逐帧驱动,公式直接对应论文式 (7)(8)。

6D 旋转表示与 SO(3) 测地距离

轴角或欧拉角直接优化会遇到奇异点和回绕问题,深度学习常用连续的 6D 表示 $r \in \mathbb{R}^{35 \times 6}$,再经标准映射 $\rho(\cdot)$ 转回旋转矩阵 $R = \rho(r) \in SO(3)^{35}$。两帧旋转的差异用测地距离 $d_{SO(3)}(R_{t-1}, R_t)$ 度量,它是流形上的真实角距,对时间平滑正则特别合适。

论文重建目标函数(式 1)中的平滑项就是用测地距离约束相邻帧与隔帧旋转,这是理解运动提取步骤的数学基础。

研究动机

动物运动建模远落后于人体运动研究,根源是数据。人体可以在实验室用动捕设备大规模采集精确 3D 动作,但把绝大多数物种带进动捕棚既不现实也不自然——野外和濒危物种更是完全不可能,动物在受限环境下也很少表现出真实行为。现有替代数据各有硬伤:DeformingThings4D、Truebones Zoo、AniMo 这类数据集由美术师手工制作或从游戏引擎提取,成本高且只覆盖行走、进食、睡觉等少量预定义动作,无法涵盖野生行为的多样性;面向视频的数据方面,BADJA 仅有 11 条带 3D 姿态的序列,AnimalKingdom 只提供单帧姿态没有运动,COP3D 几乎都是 stationary 宠物的环绕镜头且限于猫狗,APT-36K 只有十五帧的短片段,最大的 AiM 虽有近 3 万条互联网视频,却完全没有 3D 运动标注。高质量运动数据的稀缺成为动物运动研究的主要瓶颈,动画、生物力学、行为分析等下游应用全部受限。

本文的目标是本文的目标是把互联网上海量的野外动物视频转化为可用于生成与动画的高质量 3D 运动资源,并做成一个端到端的完整系统 Kirin。具体分三步:第一,增强现有 3D 动物重建方法,使其能从大规模野外视频中恢复精确、时序平滑的 SMAL 基运动序列,并用视觉语言模型自动生成行为描述文本,从而构建首个四足动物的视频-文本-运动三元组对齐数据集 AiM3D;第二,在该数据集上训练一个同时以文本和图像为条件的动物运动生成模型,使生成结果既遵循文字描述的动作(如「马先扬起后腿再落地」),又符合参考图像中动物的物种、体型与形态;第三,接入现成的 image-to-3D 模型与自动绑定流程,让用户只需一张动物照片加一句文字,就能得到可直接渲染的 3D 动画网格序列。

与已有工作不同的是,同方向的已有工作都只覆盖了拼图的一角。Ponymation 从单一马类别的网络视频学习无条件 3D 生成模型(VAE 架构),不支持任何条件输入且限于一个物种;AiM 提供了 23 类四足动物的大规模视频数据集,但只做重建基准,不学习运动生成;OmniMotionGPT 和 AniMo 依赖人工制作或从游戏提取的动作数据,存在明显域差距;Puppeteer、MotionAvatar 通过视频生成模型间接提取运动来驱动网格动画,但依赖合成运动源,生成视频的时序不一致常导致失败。Kirin 的独特切入点是把「重建→数据→条件生成→自动绑定」做成全链条:首次构建对齐 video-text-motion 的大规模四足数据集,首次把图像条件引入动物运动生成以弥补短文本对形态描述的欠指定问题,并用实验证明从真实视频学习的运动先验比从生成视频提取运动更稳定可靠。

核心方法

整体直觉是:动物动作数据稀缺,但野外视频海量;先用可靠的参数化模板把 2D 视频「抬升」成 3D 运动,再让生成模型在大规模数据上学到运动先验。技术路线分三段。第一段运动重建:以 SMAL 为模板,用 AniMer 做逐帧初始化,用 Grounded-SAM2 掩码与 ViTPose++ 2D 关键点做监督,对序列共享形状 $\beta$ 与每帧 6D 旋转联合优化,全局平移则解耦给 3D 点跟踪器 SpatialTrackerV2 单独估计。第二段运动生成:在 MDM 变体(DistilBERT 文本编码器 + Transformer 解码器)上增加 DINOv3 图像条件分支,文本 token $z_{text}$、图像特征 $z_{img}$ 与时间步嵌入 $z_t$ 投影对齐后逐元素相加成 $z_c \in \mathbb{R}^{l \times d}$,经交叉注意力注入每个解码块,扩散生成 $x_0 \in \mathbb{R}^{T \times D}$。第三段动画:Rodin 把参考图变成 T-pose 纹理网格,经 SMAL 模板拟合 + 蒙皮权重迁移 + LBS 让生成的关节运动驱动任意网格,输出可渲染动画。

核心创新有三点。其一,重建端把全局平移与局部姿态解耦:动物在裁剪居中的视频上只优化骨骼姿态(投影对齐 + SO(3) 测地距离平滑约束),全局位移则交给 SpatialTrackerV2 在未裁剪原视频上以 3D 点轨迹估计,再按裁剪框尺寸与 SMAL 头尾距离之比确定尺度因子 $s$ 缩放对齐后合并——全局位移噪声不再干扰关节级优化,这是在大规模无约束视频上稳定重建的关键。其二,生成端首次引入图像条件:文本对「狗在小跑」这类描述严重欠指定,高瘦的灵缇和短腿的柯基可行运动学完全不同;DINOv3 全局图像特征与文本 token、时间步嵌入相加融合,让扩散模型学到 shape-aware、species-aware 的运动先验,这是与 MDM 及所有已有动物运动生成方法的本质区别。其三,绑定端用 SMAL 模板拟合 T-pose 资产并经 k-NN 迁移蒙皮权重,实现零人工的全自动 rig。

方法步骤详情

第一步,运动提取。输入 AiM 数据集约 3 万条野外动物视频:每帧用 Grounded-SAM2 取实例掩码 $M_t$、ViTPose++ 取 2D 关键点 $P_t$,AniMer 前馈给出 SMAL 逐帧初始估计;序列级优化固定弱透视相机($f=1000$),只优化序列共享形状 $\beta$ 与每帧 6D 旋转 $r_t \in \mathbb{R}^{35 \times 6}$,目标 $\mathcal{L} = \lambda_{proj}\mathcal{L}_{proj} + \lambda_{smooth}\mathcal{L}_{smooth}$——前者是按置信度×可见性加权的投影关键点 L1 误差,后者约束相邻帧与隔帧的 SO(3) 测地距离($\lambda_{proj}=1.0, \lambda_{smooth}=100, \alpha=0.2$);Adam 学习率 $\eta=0.001$、20 epoch,A40 上 <1s/帧。全局平移在未裁剪原视频上由 SpatialTrackerV2 跟踪动物掩码内 10×10 网格采样点的 3D 轨迹估计,再按尺度因子 $s$ 对齐到 SMAL 骨架尺度后合并。输出 29,979 条运动序列(230 测试 / 29,749 训练)。第二步,标注:Gemini 2.5 Flash 每条视频生成 6 条行为描述,共 179,874 条。第三步,生成模型训练:冻结的 DistilBERT 与 DINOv3 分别提取文本 token 与图像全局特征,与时间步嵌入广播相加成 $z_c \in \mathbb{R}^{l \times d}$,逐块交叉注意力注入;文本、图像各以 0.2 概率独立 dropout,最小化标准 DDPM 噪声预测损失。第四步,动画:Rodin 从参考图生成 T-pose 网格,双向 Chamfer + 边长损失拟合 SMAL 得形状 $\hat{\beta}$ 与绑定旋转 $\hat{\theta}_{bind}$,k-NN(k=10)迁移蒙皮权重,最后 LBS 逐帧驱动网格。

技术新颖性

技术新颖性体现在三个层面。数据层面:AiM3D 是首个大规模四足 video-text-motion 对齐数据集(29,979 条序列、179,874 条描述、23 个物种类别),此前最大的 BADJA、AnimalKingdom、COP3D、AiM 要么缺 3D 运动要么缺文本;重建管线把 AniMer 的噪声逐帧预测转化为时序稳定、像素对齐的运动,近实时速度(<1s/帧)下 PCK@0.1 达 0.751,显著超过 AniMer(0.537)与 3D-Fauna(0.470)。模型层面:把 MDM 的单一文本条件扩展为文本+图像双流融合,做法极简(线性投影后逐元素相加)但有效——FID 从基线的 30 以上降至 6.248,并首次支持图像-only 的动物运动生成(MModality 5.804,高于真值 3.934,说明同一图像可采样出多样合理动作)。系统层面:SMAL 模板拟合 + 蒙皮迁移 + LBS 构成全自动 rig 管线,把「一张图 + 一句话」直接变成可渲染 3D 动画,优于依赖视频生成模型间接提取运动的 Puppeteer。

Our framework takes an animal image and a text description of the desired motion as input, and generates a 3D animated mesh sequence of the animal.
Fig. 1: Our framework takes an animal image and a text description of the desired motion as input, and generates a 3D animated mesh sequence of the animal.
Left: Overview of Kirin generation pipeline. Right: Overview of the motion generation architecture.
Fig. 2: Left: Overview of Kirin generation pipeline. Right: Overview of the motion generation architecture.

实验结果

论文有四组关键实验。其一,AiM3D 测试集运动生成(Table 1,10 次评估取均值与 95% 置信区间):AniMo 无论用原始 AniMo4D 数据还是重训于 AiM3D,FID 均超 30(30.043 / 30.516)、R-Precision Top-3 仅约 0.089;Kirin 纯文本版 FID 11.889、Top-3 0.097;文本+图像版全面提升——Top-3 提至 0.130(约 46% 提升)、FID 降至 6.248(约 5 倍改善)、MM-Dist 6.218,Diversity 4.319 接近真值 3.934,证明图像条件同时提升真实感与文本-动作对齐;图像-only 版 MModality 5.804 高于真值 3.934,说明同一图像可采样出多样合理动作。其二,外部 OOD 集 AnimalML3D(Table 2,1,260 条人工动作,所有方法均未训练):Kirin FID 138.145 优于 AniMo 的 150.671 / 155.687,MM-Dist 12.128 最低,验证数据集带来的泛化。其三,重建基准(Table 3):<1s/帧下 PCK@0.1 0.751、KT-PCK@0.1 0.614、MPJVE 0.037,全面超过同速度的 AniMer(0.537 / 0.566 / 0.038);IoU 0.698 虽低于 30s/帧的 SMALify(0.867),但 KT 指标显示 3D 一致性远优于纯 2D 过拟合方法。其四,数据人工验证:100 条测试样本中 86% 重建达标(物理合理、无抖动),描述均分 4.62/5、无 0-1 分样本,90 条全对中 75 条描述多样;与 AnimalKingdom 标注相比的 InternVideo2 R-precision 更高。

Comparison with baselines on AiM3D test set.
Table 1: Comparison with baselines on AiM3D test set.
Comparison with baselines on AnimalML3D data.
Table 2: Comparison with baselines on AnimalML3D data.
Benchmark comparison of 4D animal reconstruction methods.
Table 3: Benchmark comparison of 4D animal reconstruction methods.
Visual comparison of generated skeletal motion with the baseline.
Fig. 3: Visual comparison of generated skeletal motion with the baseline.
Visual comparison of generated mesh animation with the baseline.
Fig. 4: Visual comparison of generated mesh animation with the baseline.
查看结构化数据
任务指标本文基线提升
文本+图像条件动物运动生成(AiM3D 测试集) FID ↓ 6.248(text+image) AniMo 30.043(AniMo4D 数据)/ 30.516(重训于 AiM3D) 约 4.8-4.9 倍降低
动物运动生成(AiM3D 测试集) R-Precision Top-3 ↑ 0.130(text+image)/ 0.097(text-only) AniMo 0.089 / 0.088 text+image 相对基线约 46%,text-only 约 9%
动物运动生成(AiM3D 测试集) MM-Dist ↓ 6.218(text+image) AniMo 8.564 / 8.659 降低约 27%
OOD 运动生成(AnimalML3D,均未参与训练) FID ↓ 138.145 AniMo 150.671(AniMo4D)/ 155.687(AiM3D) 约 8%-11% 降低,MM-Dist 12.128 同为最优
4D 动物运动重建(AiM 基准) PCK@0.1 ↑ 0.751(<1s/帧) SMALify 0.954(~30s/帧)、AniMer 0.537、3D-Fauna 0.470 前馈速度档位中最高,较 AniMer 提升约 40%
4D 动物运动重建(AiM 基准) MPJVE ↓ 0.037 SMALify 0.023、4D-Fauna 0.044、AniMer 0.038 以近实时速度逼近优化式方法的时序平滑度

局限与改进

作者坦承的主要失败模式集中在重建端:纯顶视、前视、后视的运动视频因腿部不可见或被遮挡,导致重建缺失腿部动作;极快的动物运动和不稳定的相机运动会造成重建抖动。文本方面存在视角歧义:100 个验证样本中 3 个出现动作类型错误(如行走被描述为站立)、7 个出现左右转向混淆,多因相机视角与动物视角难以区分。此外我观察到几处隐含局限:所有生成指标(R-Precision、FID、MM-Dist)的真值都来自同一重建管线而非真实动捕,指标衡量的是「与重建分布的距离」,绝对值可能偏乐观;Table 1 中图像-only 配置无法计算 R-Precision 与 MM-Dist,图像条件对文本对齐的贡献难以单独量化;加图像条件后 Diversity 与 MModality 略降(4.693→4.319),说明视觉约束收紧了采样多样性;SMAL 模板限定了四足拓扑,灵长类、鸟类等物种无法表达;100 样本的人工验证规模也偏小。

独立分析的弱点

弱点一:模板依赖。SMAL 的 35 关节四足拓扑决定整个框架只能处理「类四足」物种,对灵长类攀爬、鸟类飞行、蛇类爬行完全失效;改进方向是多模板自动路由,或采用拓扑无关的运动表示(如关节位置序列)替代固定骨架。弱点二:真值循环。训练与评估的运动「真值」均来自同一重建管线,FID 6.248 的绝对意义有限——它度量的是与 SMAL 重建分布的距离而非与真实动物运动的距离;可引入少量动捕或多视角采集的金标准子集做校准评估。弱点三:图像条件信息瓶颈。DINOv3 全局特征 $z_{img} \in \mathbb{R}^{1 \times d}$ 把整图压缩为单一向量,对「短腿柯基 vs 长腿灵缇」这类细粒度形态差异的表达能力存疑;可用部位级分割 token 或多尺度特征替代。弱点四:动画管线误差累积——Rodin 网格拓扑任意,k-NN 蒙皮迁移在尾巴、耳朵等细长部位易出错,LBS 缺乏接触与体积约束,rearing、跳跃等剧烈动作可能出现蒙皮塌陷;可加物理后处理或学习式蒙皮精修。弱点五:单动物假设由 AiM 数据构造保证,打斗、群跑等多动物交互场景不在覆盖范围。

未来方向

作者明确承诺发布全部代码与 AiM3D 数据集,这会直接催生后续研究。可延伸的方向包括:其一,条件扩展——用短视频片段(而非单帧)做运动风格条件,或引入地形、音频等环境上下文,让同一动作适应不同场景;其二,物种扩展——组合 SMAL、SMPL、鸟类等多模板或采用拓扑无关表示,把覆盖范围从 23 类四足扩展到更广的动物界;其三,物理一致性——当前纯运动学生成不保证接触与动量守恒,可用可微仿真器对扩散输出做物理精调,消除滑步、悬空等伪影;其四,科学下游——作者提到生物力学与行为分析,把 AiM3D 用于动物步态异常检测、野生动物监测中的行为识别有直接应用价值;其五,与视频生成的双向互补——论文对 Puppeteer 的失败分析表明生成视频的时序不一致是瓶颈,反过来用 Kirin 生成的可靠 3D 运动去控制视频扩散模型(motion-conditioned video generation)是自然的下一步;其六,数据飞轮——用生成模型合成新动作样本,经人工筛选回流训练集,继续扩大运动覆盖。

复现评估

作者承诺「All code and datasets will be released」,项目主页为 kirin-ani.github.io。数据侧:运动提取建立在公开的 AiM 数据集上,重建只需单张 A40、不到 1 秒/帧,全量约 3 万条序列估计十几个 GPU 小时;文本标注用 Gemini 2.5 Flash API(约 3 万视频 × 6 条),成本可控。模型侧:所有依赖组件——MDM、DistilBERT、DINOv3、AniMer、Grounded-SAM2、ViTPose++、SpatialTrackerV2——均有公开实现或权重;扩散模型规模与人体 MDM 相当,单卡数天量级可训练,但论文未给出训练 GPU 时数、batch size 等细节,需等代码发布。动画侧依赖商业 image-to-3D 服务 Rodin,不开源,复现时可用 TRELLIS 等替代但效果可能有差异。整体复现难度中等:工程链条长(重建→标注→训练→绑定四段),关键超参(平滑权重、尺度因子 $s$ 的详细公式在补充材料)对质量影响大;对只关心生成指标的读者,直接使用发布的 AiM3D 数据集训练生成模型是最短路径。

相似论文推荐