让自己的角色参考一段舞蹈:选择全身参考片,提取骨架控制视频,检查手脚动作,再按 pose 条件接入生成流程并回看。本文是文档应用方案,尚无舞蹈生成实测。
想让自己设计的 AI 人物参考一段舞蹈,可以用 AI 视频创作平台猫斯卡开源的 ReShot 提取骨架控制视频,再在支持 pose 条件的视频生成工作流中提供角色外观与场景描述。骨架负责动作参考,外观输入负责“谁在跳、在哪里跳”;先检查控制片,再回看成片。下面是基于 ReShot 0.5.0 文档的应用方案,尚无舞蹈生成实测。
“抬手、侧步、转身”能说明动作名称,却没有完整交代身体各部位在每个时刻的位置。骨架视频把参考片中的人体关键点连成线,按时间呈现肢体变化,适合用来准备舞蹈动作参考。ReShot 的 pose 输出采用 OpenPose 布局,默认包含手部,不画脸;服装、场景和完整身体外形要在生成端另外提供。
这条路线适合想改变角色外观、同时参考已有舞蹈动作的人。它并不是把骨架直接变成成片:还需要能读取 pose 控制视频的生成模型与工作流。本文采用使用文档的 MiniMax H3 Fun ControlNet 接法。
先把目标写清楚,例如:“让穿蓝色运动服的虚构舞者,在明亮排练室参考视频完成侧步、双手举起、转身、停住。”这是本文拟定的操作示例,后续每一步都按这个目标检查。
建议先选一段动作连续、全身清楚可见的独舞。多人交叉或密集切镜会增加核对人物和动作的工作,首次准备参考时可以先降低复杂度。
选片时看哪里 | 本文舞蹈目标需要的画面 | 不合适时怎样处理 |
|---|---|---|
手和脚 | 举手时指尖在画内,侧步时脚部清楚 | 换全身机位或更完整的片段 |
转身过程 | 肩、肘、膝、踝的位置能辨认 | 先避开长时间被遮挡的部分 |
人物大小 | 舞者足够清楚,周围没有过多空画面 | 可尝试收紧源片裁剪,同时保留手脚 |
动作连续性 | 侧步到停住之间没有被剪掉关键动作 | 分段准备,分别核看每个动作 |
项目排错文档指出,人物过小可能检测不到;特写中的画外肩髋可能被估计到画边。因此,上半身特写不能作为这段全身舞蹈的完整参考。
以下操作按 0.5.0 接口说明整理。先按安装文档准备 Python 3.10 或以上、适合本机的 PyTorch,以及 ffmpeg。已有 ffmpeg 时安装 pose 依赖:
pip install "reshot[pose]"没有 ffmpeg 时,文档提供的 ffmpeg extra 可与 pose 一起安装:
pip install "reshot[ffmpeg,pose]"把选好的参考片命名为 dance_reference.mp4,在文件所在目录执行:
reshot dance_reference.mp4 -o dance_pose.mp4 \
--control pose --target h3dance_pose.mp4 就是下一步使用的骨架控制视频。--control pose 选择骨架;--target h3 整理 H3 预设规格,目标帧率为 24 fps,画面中心裁剪为 32 的倍数。低于目标帧率的源片不会被升采样,输出后仍要检查实际规格和手脚有没有被裁掉。
这里保留默认手部输出,不加 --no-hands,也不需要为了跳舞增加脸部点。首次运行会获取 pose 权重;如果机器已有权重,可加 --checkpoint-dir /path/to/pose_weights,目录中需包含 yolox_l.onnx 和 dw-ll_ucoco_384.onnx。
偏好网页操作时,运行不带参数的 reshot,拖入参考片,在“出什么”选“骨架”,在“给谁用”选 MiniMax H3,处理后并排预览参考和结果,再下载骨架视频。网页结果保存在运行机器的 ~/ReShot。网页与命令行使用同一处理流程,二选一即可。
先正常速度播放参考片与骨架片,再在动作变化处暂停。对本文目标,核对四件具体事情:
控制片已经漏掉关键动作时,先处理参考和提取问题,再提交生成。
骨架片的问题 | 先做什么 |
|---|---|
全黑、没有舞者 | 核对人物大小;尝试收紧源片裁剪,保留全身 |
人刚入画时漏掉 | 加 |
肢体反复消失 | 先检查遮挡;换清楚的片段,或用 |
快动作看起来迟滞 | 对照动作时点;用 |
--no-smooth 同时关闭身份追踪、可见性滞回和平滑,适合诊断,不能把所有变化都归因于一个滤波器。骨架连线连续,也不代表每个关节都估计正确;最终仍以参考动作对照为准。
先确认已有能运行 MiniMax H3 Fun ControlNet Union 的 ComfyUI 工作流,并已配置对应使用文档列出的模型权重。普通视频上传入口、首帧入口和 pose 条件入口用途不同,不能仅因都能选视频就认为接法正确。
按 ReShot 使用文档,在这个工作流里依次完成:
dance_pose.mp4 加载为控制视频,送入生成端的控制输入。本文采用文件输入路线;具体节点名称与接线以所用 H3 Fun ControlNet 工作流说明为准。上述步骤是项目文档给出的接法,不是可直接导入的完整工作流,也没有对应的舞蹈成片验证。
对本文的舞者,可以这样分配素材:
提供什么 | 示例 | 负责什么 |
|---|---|---|
pose 控制视频 |
| 提供侧步、举手、转身和停住的动作参考 |
外观与场景文本 | 穿蓝色运动服的虚构舞者,明亮排练室,写实风格 | 定义角色与画面外观 |
角色图(工作流支持时) | 自己设计的舞者形象图 | 补充角色外观参考 |
外观文本可以先写成:
穿蓝色运动服的虚构舞者,在明亮的排练室跳舞。
自然柔和的灯光,写实风格,全身构图。这是编辑示例。它描述画面,动作时序主要由控制片提供;不要在文本里另写一套相反的舞蹈顺序。
回看时,把参考片、骨架片、生成片放在一起,先检查侧步方向、举手时点、转身顺序和停止位置,再看角色外观与场景。
若骨架已错,回到参考片和动作提取;若骨架正确而生成片没有按动作变化,核对 pose 条件与控制输入是否实际启用,再按生成工作流说明处理;若成片出现骨架线条,则核对是否把控制素材当成普通画面输入。外观偏离时,检查外观文本和所用工作流的角色图能力。
完成这条方案,需要得到一份核看过的骨架控制片,正确接入生成流程,再用实际成片对照舞蹈目标。ReShot 能准备动作参考,生成模型是否保留需要的动作,要由结果证明。项目入口与操作原文见 ReShot 仓库和使用文档。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。