UnityVideo:港科大 & 清华 & 快手可灵联合开源的视频理解与生成框架

原创 发布日期:
64

一、UnityVideo 是什么

UnityVideo 是由香港科技大学(HKUST)、香港中文大学(CUHK)、清华大学(Tsinghua University)与快手科技可灵团队(Kling Team, Kuaishou Technology)联合研发的多模态多任务统一视频理解与生成框架。该框架基于统一 Transformer 骨干网络与联合训练策略,突破了传统视频生成模型任务割裂、跨模态融合低效、物理一致性差的痛点,可一站式实现文本到视频生成、可控视频生成、深度估计、法线估计等多项功能。UnityVideo 具备零样本泛化、细粒度控制、高效训练等核心优势,生成的视频内容兼具视觉保真度与时空连贯性,可广泛应用于内容创作、工业设计、教育培训等领域。

UnityVideo核心设计理念是“一个模型解决多类视频相关任务”,并非简单的多模型拼接,而是从底层架构实现了任务间的参数共享与知识迁移。UnityVideo 通过多模态编码器将文本、图像、视频等输入转换为标准化特征向量,再经由统一 Transformer 骨干网络完成特征深度融合,最后通过任务专用头输出对应结果。在训练阶段,该框架采用联合多任务训练策略,让模型在学习视频生成能力的同时,同步掌握深度估计、法线估计等世界感知能力,从而生成符合物理规律、时空连贯的高质量视频内容。

相比于传统单任务视频生成模型,UnityVideo 在数据利用效率上提升 30% 以上,且具备强大的零样本泛化能力,无需额外微调即可适配新的物体类别、风格类型与生成场景。目前,项目已发布 arXiv 论文(arXiv:2512.07831),开源了部分 OpenUni 数据集与预训练模型,成为兼具学术研究价值与工业落地潜力的开源工具。

二、功能特色

UnityVideo 的核心优势在于“统一化、多模态、强可控、高一致”,其功能特色可通过下表清晰呈现,覆盖从输入处理到输出生成的全流程:

功能维度 具体能力 技术亮点 应用价值
多模态输入处理 支持文本、图像、视频三大基础输入,兼容深度图、边缘图、姿态图等控制信号 自适应模态对齐模块,通过对比学习自动匹配不同模态的特征空间,消除跨模态语义鸿沟 满足多样化生成需求,例如“文本+参考图像生成定制视频”“基于现有视频进行风格迁移”
统一多任务处理 一站式实现视频生成、深度估计、法线估计、边缘检测四大核心任务 共享 Transformer 骨干网络+轻量级任务专用解码器,实现任务间知识迁移,避免模型冗余 一套框架替代多款单任务工具,降低研发与部署成本,提升开发效率 50% 以上
细粒度可控生成 基于深度、边缘、姿态信号实现精准控制,支持指定物体运动轨迹、场景结构、风格细节 交叉注意力机制绑定控制信号与内容特征,确保控制指令 1:1 落地,控制精度可达像素级 解决传统视频生成“不可控”难题,适配工业设计、动画制作等高精度需求场景
零样本泛化能力 无需额外微调,即可适配新物体、新风格、新场景的生成任务 基于大规模多模态数据集 OpenUni 预训练,学习通用世界知识与视觉规律 降低长尾场景适配成本,拓展模型应用边界,提升实用性与扩展性
高一致性视频输出 生成视频时空连贯,物体运动符合重力、透视等物理规律,无帧跳变、形态扭曲问题 引入世界感知损失函数,约束模型遵循现实物理规则,提升视频时间一致性 满足影视制作、广告创意等专业领域对视频质量的严苛要求

除上述核心功能外,UnityVideo 还具备高效训练特性:联合多任务学习策略让模型从不同任务中相互赋能,大幅提升数据利用效率,相比单任务模型训练时间缩短 25% 以上;同时支持分布式训练与混合精度训练,可灵活适配从消费级 GPU(如 RTX 3090)到企业级算力集群(如 A100 集群)的多种硬件环境。

UnityVideo:港科大 & 清华 & 快手可灵联合开源的视频理解与生成框架

三、技术细节

UnityVideo 的技术架构遵循“共享骨干+专用分支+协同优化”的设计原则,整体分为四大核心模块:多模态编码器、统一 Transformer 骨干网络、任务专用头、联合训练策略。四大模块层层递进,共同实现“多模态输入-统一特征表示-多任务输出-协同优化”的完整流程。

3.1 多模态编码器

多模态编码器是 UnityVideo 的“输入接口”,负责将不同类型的输入转换为标准化的特征向量,核心包含三个子编码器与一个模态对齐模块:

  1. 文本编码器:基于预训练大语言模型(如 BERT 系列)构建,将输入的文本描述转换为语义特征向量。该编码器不仅能捕捉文本中的核心概念(如物体、动作、场景),还能识别属性信息(如颜色、大小、风格),例如将“一只白色的兔子在雪地里跳跃”转换为包含“兔子-白色-雪地-跳跃”等关键语义的特征向量。

  2. 图像编码器:采用卷积神经网络(CNN)与 Vision Transformer(ViT)结合的混合结构。CNN 负责提取图像的细节纹理特征,ViT 负责捕捉图像的全局语义结构,两者优势互补,可高效处理参考图像与控制图像(如深度图、边缘图)。

  3. 视频编码器:基于 3D-CNN 与时空 Transformer 构建,针对输入的视频片段进行特征提取。该编码器重点捕捉视频中的时空动态信息,例如物体的运动轨迹、动作序列的变化规律,为视频生成任务提供动态参考。

  4. 模态对齐模块:这是解决跨模态融合低效问题的核心模块。通过对比学习的方式,让不同模态的特征在统一的语义空间中对齐,例如让“红色苹果”的文本特征与真实苹果图像的视觉特征距离更近,从而避免生成内容与文本描述脱节的问题。

3.2 统一 Transformer 骨干网络

统一 Transformer 骨干网络是 UnityVideo 的“核心大脑”,负责对多模态编码器输出的特征进行深度融合与高阶表示学习。该网络在传统 Transformer 结构的基础上进行了两大创新:

  1. 时空注意力并行计算:传统 Transformer 仅能捕捉空间维度的依赖关系,而 UnityVideo 的骨干网络引入了时空注意力机制,可同时计算空间维度(如物体在图像中的位置关系)与时间维度(如物体在视频中的运动变化)的注意力权重。例如在生成“兔子跳跃”的视频时,网络会同时关注兔子与雪地的空间位置关系,以及兔子跳跃动作的时间序列变化。

  2. 动态注意力掩码:根据不同任务的需求,动态调整注意力掩码的权重。例如在视频生成任务中,增强对参考图像的注意力权重;在深度估计任务中,增强对图像边缘特征的注意力权重。这种动态调整机制让模型能够自适应不同任务的特征需求,提升任务处理精度。

此外,骨干网络的参数在所有任务中共享,确保不同任务之间的知识迁移;同时引入轻量级适配器(Adapter)模块,让骨干网络能够快速适配不同任务的特征需求,避免灾难性遗忘。

3.3 任务专用头

任务专用头是 UnityVideo 的“输出终端”,针对不同的任务设计了专用的解码器结构,核心包含四类任务头:

  1. 视频生成头:基于扩散模型(Diffusion Model)设计,是视频生成任务的核心模块。它将骨干网络输出的融合特征作为条件输入,通过逐步去噪的方式生成高质量视频帧。为了提升视频的时空一致性,该任务头引入了帧间一致性约束,确保相邻帧之间的物体形态、位置、运动轨迹保持连贯,避免出现帧跳变问题。

  2. 深度估计头:采用编码器-解码器结构,将融合特征转换为与输入图像尺寸一致的深度图。深度图能够反映场景的三维结构,例如物体的远近关系、表面凹凸程度,为可控视频生成提供空间结构参考。

  3. 法线估计头:基于卷积神经网络设计,输出物体表面的法线方向图。法线方向图能够反映物体的几何形状,例如球体的曲面法线方向、立方体的平面法线方向,辅助模型理解物体的三维形态。

  4. 边缘检测头:采用多尺度特征融合策略,精准提取图像中的物体边缘信息。边缘信息是细粒度控制的关键,例如在生成“汽车行驶”的视频时,边缘检测头可帮助模型精准控制汽车的轮廓形态。

3.4 联合训练策略

联合训练策略是 UnityVideo 实现“多任务协同优化”的关键,其核心是多任务损失函数的加权融合。UnityVideo 设计了包含五类损失的联合损失函数,通过动态调整不同损失项的权重,平衡各任务的训练效果:

  1. 生成损失:采用扩散模型的去噪损失,衡量生成视频与真实视频的像素级差异,是提升视频视觉质量的核心损失项。

  2. 感知损失:采用预训练的视觉模型(如 VGG)提取特征,衡量生成视频与真实视频的感知差异。相比于像素级损失,感知损失更符合人类的视觉认知,可提升视频的主观视觉效果。

  3. 世界感知损失:这是 UnityVideo 的创新损失项,用于衡量生成视频的物理一致性。该损失项通过对比生成视频与真实视频的物理规律(如重力、透视、运动惯性),约束模型生成符合现实世界逻辑的视频内容。

  4. 模态估计损失:采用均方误差(MSE)衡量深度图、法线图的估计精度,确保模型的世界感知能力。

  5. 对齐损失:衡量不同模态特征之间的对齐程度,确保跨模态生成的准确性,避免出现“文不对视”的问题。

在训练过程中,模型采用动态权重调整策略:训练初期,增加模态估计损失与对齐损失的权重,让模型先学习到基础的世界感知能力与跨模态对齐能力;训练后期,增加生成损失与感知损失的权重,提升视频生成的视觉质量。

四、应用场景

UnityVideo 凭借其“多任务、强可控、高一致”的核心优势,可广泛应用于内容创作、工业设计、教育培训、智能安防、游戏开发等多个领域,具体应用场景如下:

4.1 影视与广告内容创作

在影视制作和广告创意领域,UnityVideo 可大幅降低视频制作的成本与周期,提升内容创作效率:

  • 剧本可视化:编剧只需输入文本剧本(如“一个红色的小球从桌子上滚落,掉到地上弹起三次”),UnityVideo 即可生成对应的视频片段,帮助导演快速预览剧本的视觉效果,减少前期筹备时间。

  • 广告素材生成:广告设计师可输入产品描述文本+产品参考图像,生成产品的动态展示视频;同时,通过深度图控制,可精准调整产品的展示角度和场景布局,满足不同广告投放渠道的需求。

  • 特效制作:通过边缘检测和姿态控制,生成符合要求的角色动作特效或场景特效,例如电影中的魔法特效、科幻片中的飞船飞行特效,替代部分传统的手工特效制作流程,降低特效制作成本。

4.2 工业设计与数字孪生

在工业设计领域,UnityVideo 可用于产品的虚拟展示与数字孪生建模,提升产品研发效率:

  • 产品动态演示:工业设计师可输入产品的 3D 模型参数或参考图像,生成产品的功能演示视频,例如展示汽车的开门动作、家电的操作流程、机械零件的装配过程等,帮助客户直观了解产品功能。

  • 数字孪生场景构建:结合深度估计和法线估计能力,生成与真实工厂、车间一致的数字孪生场景视频。该视频可用于工业生产的监控与管理,例如模拟生产线的运行状态,提前发现潜在的生产故障。

4.3 教育培训与科普内容制作

在教育培训领域,UnityVideo 可用于生成生动形象的教学视频,提升学习体验:

  • 学科知识可视化:例如输入“地球绕太阳公转的过程”的文本描述,生成对应的天文现象视频;输入“植物光合作用的步骤”,生成微观生物过程的动画视频。可视化的教学内容能够帮助学生快速理解抽象的学科知识。

  • 职业技能培训:生成工业操作、实验流程的演示视频,例如“实验室化学试剂的混合步骤”“机械零件的组装流程”“电工接线的规范操作”等。这些视频可用于职业技能培训,帮助学员快速掌握操作规范,降低实训成本。

4.4 智能安防与监控分析

在智能安防领域,UnityVideo 可辅助监控视频的分析与处理,提升安防系统的智能化水平:

  • 异常行为检测:通过视频编码器捕捉监控视频中的时空动态特征,结合边缘检测和姿态估计,识别异常行为(如物体移动、人员摔倒、车辆逆行等),并及时发出预警。

  • 监控视频增强:对模糊的监控视频进行修复与增强,生成清晰、连贯的视频片段。例如将夜间低光照的监控视频增强为清晰的彩色视频,提升安防分析的准确性。

4.5 游戏开发与虚拟角色制作

在游戏开发领域,UnityVideo 可用于游戏场景和角色的快速生成,加速游戏研发进程:

  • 游戏场景生成:输入游戏场景的文本描述(如“一个充满科幻风格的未来城市,空中有飞行汽车穿梭,街道上有机器人巡逻”),生成对应的游戏场景视频,为游戏策划提供参考,快速迭代游戏场景设计方案。

  • 虚拟角色动作生成:通过姿态控制信号,生成虚拟角色的动作序列视频,例如跑步、跳跃、攻击、防御等动作。这些动作序列可直接导入游戏引擎,加速游戏角色的动画制作流程。

  • UnityVideo:港科大 & 清华 & 快手可灵联合开源的视频理解与生成框架

五、使用方法

UnityVideo 目前已开源部分核心资源(包括预训练模型、部分 OpenUni 数据集、推理代码),开发者可根据自身需求进行部署和使用。以下是详细的使用步骤,涵盖环境准备、模型与数据集下载、推理运行、训练微调四个核心环节:

5.1 环境准备

5.1.1 硬件要求

UnityVideo 对硬件的要求根据使用场景有所不同,具体推荐配置如下:

使用场景 推荐 GPU 配置 显存要求 CPU 配置 内存要求
推理运行 NVIDIA RTX 3090/4090 ≥ 24GB Intel i7 或同等 AMD 处理器 ≥ 32GB
微调训练 NVIDIA A100 ≥ 40GB Intel i9 或同等 AMD 处理器 ≥ 64GB
全量训练 NVIDIA A100 × 8(分布式) ≥ 40GB/卡 Intel Xeon 系列 ≥ 128GB

5.1.2 软件环境配置

  1. 克隆仓库 首先,将 UnityVideo 的 GitHub 仓库克隆到本地:

    git clone https://github.com/dvlab-research/UnityVideo.git
    cd UnityVideo
  2. 创建虚拟环境 使用 Conda 创建并激活虚拟环境,避免依赖冲突:

    conda create -n unityvideo python=3.10
    conda activate unityvideo
  3. 安装依赖包 安装项目所需的核心依赖包,包括 PyTorch、Transformers、Diffusers 等:

    pip install -r requirements.txt

    注意:需根据自身的 CUDA 版本安装对应的 PyTorch 版本,以确保 GPU 加速功能正常使用。

5.2 模型与数据集下载

5.2.1 预训练模型下载

UnityVideo 的预训练模型已发布在 Hugging Face 模型库,开发者可通过以下两种方式下载:

  • 方式一:通过 Hugging Face Hub 下载 安装 huggingface_hub 工具后,直接下载模型:

    pip install huggingface_hub
    huggingface-cli download JackAILab/UnityVideo --local-dir ./pretrained_models
  • 方式二:通过项目页面下载 访问 UnityVideo 的项目页面(https://jackailab.github.io/Projects/UnityVideo),下载对应版本的预训练模型,并解压到 ./pretrained_models 目录下。

5.2.2 数据集下载

UnityVideo 的训练基于开源的 OpenUni 数据集,该数据集包含大量的文本-图像-视频-模态估计标注数据,是模型实现多任务学习与零样本泛化的关键。开发者可通过 Hugging Face 数据集库下载:

huggingface-cli download JackAILab/OpenUni --local-dir ./datasets/OpenUni

5.3 推理运行

UnityVideo 提供了简单易用的推理脚本,支持文本到视频生成、图像引导视频生成、可控视频生成等多种任务。以下是文本到视频生成的示例:

  1. 编写推理配置文件./configs/inference 目录下创建 text2video_config.yaml 文件,配置关键参数:

    model_path: ./pretrained_models # 预训练模型路径
    text_prompt: "一只可爱的金毛犬在阳光下的草地上叼着飞盘奔跑,尾巴高高翘起" # 文本描述
    video_length: 16 # 生成视频的帧数
    resolution: [512, 512] # 生成视频的分辨率
    guidance_scale: 7.5 # 引导尺度,控制生成内容与文本的匹配度
    seed: 42 # 随机种子,确保结果可复现
    output_path: ./outputs/text2video # 视频输出路径
  2. 运行推理脚本 执行以下命令,启动文本到视频生成推理:

    python scripts/inference.py --config ./configs/inference/text2video_config.yaml
  3. 查看生成结果 推理完成后,生成的视频文件会保存在 ./outputs/text2video 目录下,开发者可使用 VLC、PotPlayer 等视频播放器直接查看。

对于可控视频生成(如基于深度图控制),只需在配置文件中添加深度图的路径参数:

control_type: depth # 控制类型:depth/edge/pose
control_image_path: ./examples/depth_map.png # 控制深度图路径

5.4 训练微调

如果开发者需要针对特定场景进行模型微调(如生成特定风格的视频),可按照以下步骤操作:

  1. 编写训练配置文件./configs/train 目录下创建 finetune_config.yaml 文件,配置训练参数:

    model_path: ./pretrained_models # 预训练模型路径
    dataset_path: ./datasets/OpenUni # 数据集路径
    task: text2video # 微调任务
    batch_size: 4 # 批次大小
    learning_rate: 1e-5 # 学习率
    max_epochs: 10 # 训练轮数
    save_path: ./finetuned_models # 微调模型保存路径
  2. 启动训练脚本 执行以下命令,启动模型微调:

    python scripts/train.py --config ./configs/train/finetune_config.yaml

    注意:微调训练需要较高的显存支持,建议使用 NVIDIA A100 或同等算力的 GPU。

UnityVideo:港科大 & 清华 & 快手可灵联合开源的视频理解与生成框架

六、常见问题解答

Q1:UnityVideo 生成的视频帧数有限,如何生成更长的视频?

A1:目前 UnityVideo 预训练模型支持的最大帧数为 32 帧,若需要生成更长的视频,可采用帧扩展策略:先生成一段 32 帧的基础视频,再以该视频的最后 8 帧作为参考帧,输入模型继续生成后续的 32 帧视频片段;同时,可在配置文件中调整模型的时空注意力窗口大小,提升长视频的帧间一致性。此外,项目团队已在 GitHub 仓库的 Issues 中明确表示,未来会优化模型架构,支持更长帧数的直接生成。

Q2:运行推理时出现“显存不足”的错误,如何解决?

A2:可通过以下三种方式解决显存不足问题:

  1. 降低生成分辨率:将配置文件中的 resolution[512, 512] 调整为 [256, 256],显存占用可减少 75% 左右,适合显存较小的消费级 GPU。

  2. 启用梯度检查点:在推理配置文件中添加 gradient_checkpointing: true 参数,以牺牲少量推理速度为代价,降低显存占用,该方法可减少约 30% 的显存使用量。

  3. 使用 CPU 推理:虽然 CPU 推理速度较慢,但可完全避免显存限制,只需在运行脚本时添加 --device cpu 参数即可。

Q3:生成的视频与文本描述不符,如何提升匹配度?

A3:可通过调整以下三个关键参数提升文本与视频的匹配度:

  1. 提高引导尺度:将配置文件中的 guidance_scale 参数从 7.5 调整为 10-15,增强模型对文本描述的遵循程度,但需注意参数过高可能导致视频内容过度拟合文本,出现视觉失真问题。

  2. 优化文本描述:文本描述需尽可能详细,包含物体、动作、场景、属性等关键信息,例如将“小猫玩球”优化为“一只黑白相间的小猫在客厅的地毯上玩彩色的毛线球,爪子轻轻拍打毛线球”。

  3. 使用图像引导:添加参考图像作为引导,通过图像与文本的双重约束,提升生成内容的准确性。例如在生成“特定款式的连衣裙”视频时,可添加连衣裙的参考图像。

Q4:UnityVideo 是否支持自定义数据集的训练?

A4:支持。开发者只需将自定义数据集整理为与 OpenUni 数据集相同的格式(包含文本标注、视频文件、深度图/法线图标注),并修改训练配置文件中的 dataset_path 参数,即可基于自定义数据集进行训练。同时,建议在训练时使用预训练模型作为初始化权重,以提升训练效率和模型性能,避免从零开始训练导致的收敛速度慢、效果差等问题。

Q5:UnityVideo 的许可证是什么?是否可以用于商业用途?

A5:UnityVideo 基于 Apache-2.0 许可证发布,该许可证允许开发者自由使用、修改、分发代码,无论是个人项目还是商业项目,都无需支付任何费用;但在分发修改后的代码时,需要保留原始的许可证声明和版权信息,同时在产品文档中注明使用了 UnityVideo 开源框架。

七、相关链接

  1. GitHub 仓库https://github.com/dvlab-research/UnityVideo

  2. 项目主页https://jackailab.github.io/Projects/UnityVideo

  3. Hugging Face 模型库https://huggingface.co/JackAILab/UnityVideo

  4. Hugging Face 数据集库https://huggingface.co/datasets/JackAILab/OpenUni

  5. arXiv 论文https://arxiv.org/abs/2512.07831

八、总结

UnityVideo 是一款由香港科技大学、香港中文大学、清华大学与快手科技可灵团队联合研发的多模态多任务统一视频理解与生成框架,它通过统一 Transformer 骨干网络、多模态特征融合与联合训练策略,实现了文本到视频生成、可控视频生成、深度估计等多项任务的一体化处理,不仅解决了传统视频生成模型任务单一、跨模态匹配度低的问题,还通过世界感知机制提升了生成视频的物理一致性与时空连贯性,在内容创作、工业设计、教育培训等多个领域具有极高的应用价值;同时,项目提供了完善的开源资源与易用的使用脚本,降低了开发者的入门门槛,为视频生成领域的学术研究和工业应用提供了强有力的技术支撑。

打赏
THE END
作者头像
人工智能研究所
发现AI神器,探索AI技术!