Phantom 视频生成的流程
flyfish
Phantom 视频生成的实践
Phantom 视频生成的流程
Phantom 视频生成的命令
Wan2.1 图生视频 支持批量生成
Wan2.1 文生视频 支持批量生成、参数化配置和多语言提示词管理
Wan2.1 加速推理方法
Wan2.1 通过首尾帧生成视频
AnyText2 在图片里玩文字而且还是所想即所得
Python 实现从 MP4 视频文件中平均提取指定数量的帧
Phantom通过跨模态对齐实现主体一致的视频生成,是一个统一的视频生成框架,适用于单主体和多主体参考,基于现有的文本到视频和图像到视频架构构建。它通过重新设计联合文本-图像注入模型,利用文本-图像-视频三元组数据实现跨模态对齐。此外,它强调在人类生成过程中保持主体一致性,同时增强ID保留的视频生成。
给的文字描述和图片 / 视频等素材,生成一个里面的主体(比如人物、物体)始终保持一致的视频,举个简单的例子帮助理解:
假设有一张宠物猫的照片(主体是这只猫),然后想生成一个视频,让这只猫 “在沙滩上追蝴蝶,同时嘴里叼着一朵花”。
传统方法:可能需要找动画师手动设计猫的动作、沙滩场景,还要确保猫的外观和照片完全一致。
用 Phantom 技术:只需要把猫的照片和文字描述(“在沙滩追蝴蝶,叼花”)喂给系统。
系统会自动 “对齐” 照片里的猫和文字描述的动作,生成一个视频里的猫始终和照片长得一样,动作也符合描述的连贯视频。
1. 单主体 vs. 多主体
单主体
指在视频生成任务中,参考对象为单一实体(如一个人、一只动物或一个物体)。
- 目标:生成以该单一主体为核心的视频,确保其外观、动作、姿态等特征在视频序列中保持一致。
- 应用场景:个人虚拟形象生成、单一产品展示视频等。
多主体
指参考对象包含两个或多个实体(如多个人物、动物群体或多个物体)。
- 挑战:需要同时处理多个主体的交互关系、空间位置、各自特征的一致性,以及整体场景的协调性。
- 应用场景:多人互动场景生成、群演视频生成、多物体动态模拟等。
2. 跨模态对齐(Cross-Modal Alignment)
定义
跨模态指不同类型的数据模态(如文本、图像、视频、音频等),对齐指建立不同模态数据之间的语义对应关系。
- 在Phantom框架中,通过文本-图像-视频三元组数据训练模型,使模型能够理解:
- 文本描述(如“穿红色外套的人跳舞”)、
- 参考图像(含主体视觉特征)、
- 目标视频(含动态时序信息)
之间的关联,实现跨模态的语义统一。
技术实现
- 重新设计联合文本-图像注入模型,让模型在生成视频时,既能捕捉文本的语义信息,又能对齐参考图像的视觉特征,最终生成符合两者描述的视频内容。
- 目的:解决传统模型中不同模态数据“语义割裂”的问题,提升生成视频的语义准确性和视觉一致性。
3. 主体一致性(Subject Consistency)
定义
在视频生成过程中,确保同一主体在不同帧画面中保持视觉特征和行为逻辑的连贯性,避免出现主体外观突变、形态扭曲或动作矛盾等问题。
- 关键维度:
- 外观一致性:主体的颜色、形状、纹理、服装、面部特征等不变(如同一人物的发型、肤色在视频中保持一致)。
- 动作一致性:主体的运动轨迹、姿态变化符合物理规律和语义逻辑(如行走动作的连贯性,避免“瞬间移动”)。
Phantom的技术重点
通过强化对参考图像中主体特征的建模(如使用图像编码器提取主体特征向量),并在视频生成过程中持续“锚定”这些特征,确保主体在时序上的一致性,尤其适用于长视频或复杂动作场景。
4. 增强ID保留的视频生成(Enhanced ID-Preserving Video Generation)
定义
ID保留指保留主体的身份特征(Identity,简称ID),如人脸身份、独特外观标识(如胎记、特殊服装)或品牌标志等。
- 增强ID保留:通过技术手段提升模型对主体身份特征的捕捉和再现能力,即使在不同视角、光照或动作下,也能稳定保留主体的身份信息。
2个核心模型
1. 基础视频生成模型(Wan2.1-T2V-1.3B)
- 作用:
- 核心生成引擎:负责根据文本描述生成视频的基础内容,包括场景、动作、光影等整体效果。
- 时空建模:通过扩散Transformer(Diffusion Transformer)和时空变分自动编码器(VAE)处理视频的时间序列和空间细节,确保帧与帧之间的连贯性。
- 效率优化:1.3B参数版本专为消费级GPU设计,仅需8.19GB显存即可运行,适合快速生成480P分辨率的视频。
- 关键参数关联:
ckpt_dir
指向该模型的路径(./Wan2.1-T2V-1.3B
),决定了基础生成能力的强弱。size
(832×480)和frame_num
(81帧)直接影响该模型的计算量和输出规格。
2. 跨模态对齐模型(Phantom-Wan-1.3B)
- 作用:
- 主体一致性保障:从参考图像中提取主体特征(如人物、物体),并强制视频生成过程中主体外观、姿态与参考图像保持一致,避免传统AI常见的“变脸”“物体变形”问题。
- 多模态融合:联合处理文本提示和参考图像,通过跨模态对齐技术(如文本-图像-视频三元组训练),让生成的视频既符合文字描述,又忠实于参考图像的主体特征。
- 精细化控制:支持多主体生成(如多人互动),并能保留服装、表情、物品细节等复杂特征,适合广告、影视预演等专业场景。
- 关键参数关联:
phantom_ckpt
指向该模型的路径(./Phantom-Wan-1.3B/Phantom-Wan-1.3B.pth
),是实现主体一致性的核心。sample_guide_scale_img
(5.0)和sample_guide_scale_text
(7.5)通过调整图像和文本的引导强度,平衡参考图像与文本描述的权重。
用一张猫的照片生成“猫在草地上跳跃”的视频来拆解整个技术流程
一、文本编码:让计算机“理解”文字含义
输入:
- 文本提示:“一只灰色短毛猫在绿色草地上跳跃,尾巴翘起,背景有蒲公英”
- 模型:基础视频生成模型中的 T5文本编码器(属于NLP领域的预训练模型)
处理流程:
分词与编码:
T5先将文本拆分成最小语义单元(如“灰色”“短毛猫”“跳跃”),转化为 token序列(类似计算机能理解的“密码”)。- 例如:“猫”→ token ID=123,“草地”→ token ID=456。
语义特征提取:
T5通过多层Transformer神经网络,分析token之间的关系(如“猫”是主语,“跳跃”是动作),生成一个 768维的语义向量(可理解为文本的“数字指纹”)。- 这个向量包含了文本的核心信息:主体(猫)、动作(跳跃)、场景(草地、蒲公英)、外观(灰色短毛)。
输出:
一个包含文本语义的 语义特征向量,用于指导后续视频生成。
二、图像特征提取:锁定参考图像中的主体
输入:
- 参考图像:一张灰色短毛猫的照片(主体明确,背景简单)
- 模型:跨模态对齐模型(Phantom-Wan中的图像编码器,基于CNN或ViT架构)
处理流程:
主体检测与分割:
模型首先通过 目标检测算法(如YOLO)定位图像中的主体(猫),并用 语义分割 提取主体掩码(mask),将猫与背景分离。- 输出:仅包含猫的区域,背景被屏蔽(如图中绿色部分为主体)。
视觉特征提取:
对主体区域进行特征编码,提取 颜色、纹理、轮廓、姿态 等视觉信息:- 颜色特征:灰色毛发的RGB均值、尾巴的毛色分布。
- 纹理特征:毛发的细腻程度、瞳孔的纹路。
- 空间特征:猫的体型比例(头身比)、跳跃时的姿态(如四肢弯曲角度,基于参考图像的预设动作)。
特征压缩:
通过卷积神经网络将视觉特征压缩为 512维的图像特征向量,确保后续生成的视频中猫的外观与该向量匹配。
输出:
一个包含主体视觉特征的 图像特征向量 和 主体掩码,用于强制生成视频的主体与参考图像一致。
三、联合生成:让文字描述与图像主体“合二为一”
核心逻辑:
基础模型(Wan2.1-T2V)负责“创作”视频内容,跨模态模型(Phantom-Wan)负责“监督”主体一致性,两者通过 损失函数 实时交互。
步骤1:基础模型生成视频初稿
输入:
- 文本语义向量(来自T5)
- 随机噪声(作为生成起点,类似画家的“草稿”)
模型架构:
- 扩散Transformer(Diffusion Transformer):处理视频的时空维度(宽度×高度×帧数),逐帧去除噪声,生成初步视频。
- 过程:
从纯噪声开始,经过50步采样(由sample_steps
控制),逐步生成符合“猫在草地跳跃”的画面,包括:- 背景:绿色草地、飘动的蒲公英(由文本语义驱动)。
- 动作:猫的跳跃轨迹、尾巴摆动(由文本语义和扩散模型的动态建模能力生成)。
输出:
一版“自由创作”的视频,但此时猫的外观可能与参考图像不一致(如毛色变浅、体型变化)。
步骤2:跨模态模型修正主体特征
输入:
- 基础模型生成的视频帧
- 图像特征向量(来自参考图像)
- 主体掩码(标记猫的区域)
修正机制:
- 特征匹配:
在每帧视频中,使用图像编码器提取当前帧中猫的特征向量,与参考图像的特征向量计算 余弦相似度。- 若相似度低(如毛色偏差大),则通过反向传播调整扩散模型的参数,强制特征接近。
- 空间引导:
利用主体掩码,仅在猫的区域应用特征修正(避免影响背景)。例如:- 背景的蒲公英由文本驱动自由生成,不被图像特征干扰。
- 猫的身体区域必须严格匹配参考图像的颜色和轮廓。
- 特征匹配:
输出:
经过修正的视频帧,猫的外观与参考图像一致,动作和场景符合文本描述。
四、时空优化:让视频流畅自然
1. 时空压缩(VAE模块)
- 作用:
生成的视频原始数据量巨大(81帧×832×480像素),通过 变分自动编码器(VAE) 压缩时空维度:- 编码器:将高分辨率视频压缩为低维隐变量(latent variables),减少计算量。
- 解码器:在生成后期将隐变量还原为高分辨率视频,保留细节。
- 优势:
压缩后的数据量可减少90%以上,使扩散模型能更高效地处理时空连贯性。
2. 动态优化(扩散Transformer)
- 核心问题:
确保相邻帧之间的动作连贯(如猫的跳跃轨迹平滑,不会突然“闪现”)。 - 技术手段:
- 时间注意力机制:模型在生成第t帧时,会关注第t-1帧和t+1帧的动作,通过 时序损失函数 强制动作连续。
- 空间一致性约束:同一主体在不同帧中的位置、姿态变化符合物理规律(如跳跃时的抛物线轨迹)。
3. 最终输出
经过50步采样(由sample_steps
决定)和时空优化后,生成 81帧、832×480分辨率 的连贯视频,其中:
- 主体(猫)与参考图像完全一致(毛色、体型、姿态)。
- 场景(草地、蒲公英)与文本描述一致,动态流畅自然。
参数如何影响流程?
sample_guide_scale_img=5.0
:
控制图像特征对生成的“约束力”。数值越大,视频主体越接近参考图像(可能牺牲动作多样性)。sample_guide_scale_text=7.5
:
控制文本语义对生成的“引导力”。数值越大,场景和动作越贴合文字描述(可能导致主体轻微变形)。frame_num=81
:
决定扩散模型需要处理的时间维度长度,数值越大,时序优化难度越高,生成耗时越长。
两个模型如何“分工吵架”?
- 基础模型(Wan2.1-T2V):像“创意画家”,擅长根据文字想象场景和动作,但容易让主体“走样”(比如把灰猫画成白猫)。
- 跨模态模型(Phantom-Wan):像“严格监工”,拿着参考图像不断挑刺:“这里毛色不对!”“这里体型变了!”,强迫画家修正。
- 最终结果:一幅“创意”与“写实”平衡的作品,既有画家的想象力(草地、蒲公英),又符合监工的要求(猫必须和照片一样)。