新闻详情

新闻详情

首页 / 资讯中心 / 详情

ViMax的CharacterExtractor角色提取:一段剧本如何变成结构化“角色卡“

发布时间:2026/10/2 13:27:40来源:尧图网络
ViMax的CharacterExtractor角色提取:一段剧本如何变成结构化“角色卡“
ViMax的CharacterExtractor角色提取一段剧本如何变成结构化角色卡【免费下载链接】ViMaxViMax: Agentic Video Generation (Director, Screenwriter, Producer, and Video Generator All-in-One)项目地址: https://gitcode.com/GitHub_Trending/ai/ViMaxViMax 是一个集导演、编剧、制片人和视频生成器于一体的开源视频生成系统。本文聚焦它流程里一个容易被忽略的环节CharacterExtractor 如何从故事文本里自动识别关键人物并把每个人的外貌整理成结构化角色卡供后续角色肖像和视频生成直接使用。为什么视频生成前要先做角色提取把文字变成视频难点往往不在能不能出画面而在画面里的人像不像同一个人。剧本里同一个角色可能一会儿叫名字、一会儿是她、一会儿是年轻女子很多故事对人物外貌只字未提或只提了一半。这些情况如果靠人工整理角色设定既慢又容易前后不一致而后续每一镜头的图像生成都依赖这份设定来维持角色一致性。CharacterExtractor 就是干这件事的它读一遍完整文本输出一份角色清单清单里每个人的外观特征都是补齐过的、可画进画面的。角色提取整体流程从一段文本到 characters.json实现位于 agents/character_extractor.py思路比想象中朴素——没有复杂的 NLP 规则核心就是一次带严格约束的大模型调用打包输入整段剧本或故事被包进SCRIPT标签和一段系统提示词一起发给大模型。系统提示词给模型定了身份——顶级电影剧本分析专家——并附上一组硬性指导规则下一节展开。约束输出输出格式不是自由文本而是预先定义好的 JSON 结构。模型必须返回一个角色列表每个角色包含哪些字段在提示词里就已写好。校验落盘返回的 JSON 用 Pydantic 模型做校验Pydantic 是 Python 里常用的数据验证库字段不对会直接报错转换成CharacterInScene对象后由流水线写成characters.json存进工作目录供 pipelines/idea2video_pipeline.py 和 pipelines/script2video_pipeline.py 中的角色肖像生成环节读取。失败重试整个调用挂了 tenacity 的装饰器最多重试 3 次单次网络波动或输出小故障不会让整条流水线停摆。角色对象本身的字段定义在 interfaces/character.py 的CharacterInScene里idx编号、identifier_in_scene本场景中的称呼、is_visible该角色在这个场景里是否露面、static_features和dynamic_features下面细说。值得看的设计同一角色的多个称呼会被合并系统提示词里明确要求所有指向同一实体的名字必须归到同一个角色下并从中选一个最合适的作为标识文本里没给名字的允许用那位年轻女子咖啡店服务员这类基于身份或体貌特征的说法来代称如果是真实名人则保留其真实姓名。这样年轻女子她那位顾客就不会被拆成三个人。静态特征与动态特征分开记这是角色卡最有实用性的拆分静态特征指长相、体型这类基本不变的东西动态特征指服装、配饰、随身物品这类随场景换的东西。分开记录意味着同一角色换装出镜时生成端可以只改动态部分。同时规则明确禁止把性格、身份、人物关系写进这两类特征——角色卡只负责画得出来的事。没描写的特征会被合理补全且要求互相区分剧本里没写或只写了一半的外貌模型需要基于上下文设计出合理、具体、可视觉化的特征——比如写清衣服颜色和大眼睛高鼻梁这类具体体貌而不是含糊的形容词。更关键的一条是在合理范围内不同角色的外形要刻意做得有区分度避免生成出一批脸长一样的角色。输出解析对脏 JSON有容错LLM 返回的 JSON 有时会带尾随逗号这类小瑕疵。项目用的是 utils/robust_json_parser.py 里一个容忍尾随逗号的 Pydantic 解析器而不是默认解析器减少模型答对了但格式崩了的失败率。快速跑起来三步启用角色提取克隆仓库并安装依赖git clone https://gitcode.com/GitHub_Trending/ai/ViMax cd ViMax uv sync然后在 configs/script2video.yaml 里填好对话模型、图像生成器、视频生成器的 API key在main_script2video.py中填上剧本、用户要求和画风运行脚本即可。角色提取会在流程中自动执行结果以characters.json的形式保存在工作目录默认.working_dir/script2video下不需要单独调用。能用来做什么剧本分析快速拆解剧本里的人物清单为分镜和镜头设计打底游戏开发自动生成 NPC 的角色设定档案动画制作为 2D/3D 动画提供统一的角色原型虚拟形象根据文本描述直接产出虚拟角色的外观描述角色提取只是文生视频链条的第一块拼图但它决定了后面所有镜头里人物像不像同一个人。把这一步做扎实ViMax 整条流水线的输出质量才有稳定的基础。【免费下载链接】ViMaxViMax: Agentic Video Generation (Director, Screenwriter, Producer, and Video Generator All-in-One)项目地址: https://gitcode.com/GitHub_Trending/ai/ViMax创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

OpenRig开源驾驶舱:用铝型材自制千元级模拟赛车支架 2026/10/2 14:14:45

OpenRig开源驾驶舱:用铝型材自制千元级模拟赛车支架

如果你也厌倦了那种把方向盘夹在桌沿、一打方向桌子就跟着晃的凑合玩法,OpenRig 大概能给你一个在家里搭起真正赛车模拟驾驶舱的低成本答案。这个项目最初就是一套对外开放的驾驶舱图纸——骨架用标准铝型材,安装只用内六角扳手和电钻,不碰焊…

阅读更多 →
OpenRig开源座舱搭建实战:铝型材DIY模拟赛车平台的完整攻略 2026/10/2 14:14:45

OpenRig开源座舱搭建实战:铝型材DIY模拟赛车平台的完整攻略

最近一直在琢磨家里那套模拟赛车设备到底怎么升级。以前用桌椅板凳拼出来的“临时驾驶舱”,跑跑公路赛还行,一上真实山道就露馅:刹车踏板会往前跑、方向盘顶在桌子边缘、座椅随着身体一起晃,玩两个小时下来腰先罢工。后来在社群翻…

阅读更多 →
Linux read 命令详解:从标准输入读取变量的 shell 交互基石 2026/10/2 14:14:39

Linux read 命令详解:从标准输入读取变量的 shell 交互基石

文档教程 【免费下载链接】linux-command Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux 项目地址: https://gitcode.com/GitHub_Trending/linux/linux-command 点击查看 免费下载 read 是 Linux Shell 内置命…

阅读更多 →
2514张头盔检测数据集:VOC转YOLO训练与mAP提升避坑指南 2026/10/2 14:14:38

2514张头盔检测数据集:VOC转YOLO训练与mAP提升避坑指南

简介:这份资源面向计算机视觉开发者、交通安全算法研究者及高校相关课题学生,提供摩托车与电动车骑乘人员佩戴头盔的检测数据集,可用于目标检测模型训练、头盔合规性识别与智能交通场景落地。压缩包共收录2000个文件,以VOC格式的X…

阅读更多 →
GitHub Trending高效阅读指南:筛选优质开源项目与避坑实践 2026/10/2 14:14:19

GitHub Trending高效阅读指南:筛选优质开源项目与避坑实践

每天早上打开 GitHub Trending 已经成了我进入工作状态前的固定动作。与其说是看项目,不如说是在观察整个开源社区今天把注意力放在哪里——2026年9月30日的日榜也不例外。榜单上 AI 应用类仓库依旧占据相当篇幅,数据工程、开发者工具、命令行效率插件也…

阅读更多 →
皮安级微弱电流测量全解析:从漏电流抑制到嵌入式皮安计模块实践 2026/10/2 14:14:19

皮安级微弱电流测量全解析:从漏电流抑制到嵌入式皮安计模块实践

一说到"测电流",很多工程师觉得这是基本功。但如果目标变成1皮安——也就是10的负12次方安培——事情的性质就完全变了。1皮安意味着每秒只有大约600万个电子流过检测点,而一段PCB走线表面粘了点助焊剂残留、一块绝缘材料吸了潮、甚至连接器内…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉