[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-MyNiuuu--MOFA-Video":3,"tool-MyNiuuu--MOFA-Video":64},[4,18,26,35,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,2,"2026-04-06T11:32:50",[14,15,13],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"last_commit_at":41,"category_tags":42,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[43,15,13,14],"语言模型",{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,52],"视频",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85013,"2026-04-06T11:09:19",[15,16,52,61,13,62,43,14,63],"插件","其他","音频",{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":80,"owner_email":81,"owner_twitter":81,"owner_website":82,"owner_url":83,"languages":84,"stars":97,"forks":98,"last_commit_at":99,"license":100,"difficulty_score":101,"env_os":102,"env_gpu":103,"env_ram":104,"env_deps":105,"category_tags":114,"github_topics":115,"view_count":32,"oss_zip_url":81,"oss_zip_packed_at":81,"status":17,"created_at":124,"updated_at":125,"faqs":126,"releases":155},5372,"MyNiuuu\u002FMOFA-Video","MOFA-Video","[ECCV 2024] MOFA-Video: Controllable Image Animation via Generative Motion Field Adaptions in Frozen Image-to-Video Diffusion Model.","MOFA-Video 是一款基于扩散模型的开源图像动画工具，能让静态图片“动”起来。它主要解决了传统图像生成视频过程中难以精确控制运动轨迹和面部表情的痛点，让用户只需提供一张参考图，配合简单的轨迹线或人脸关键点指引，即可生成自然流畅且符合预期的动态视频。\n\n该工具特别适合计算机视觉研究人员、AI 开发者以及需要制作动态素材的设计师使用。对于普通用户，其提供的 Gradio 演示界面也降低了体验门槛，无需深厚代码功底即可尝试。\n\nMOFA-Video 的核心技术亮点在于“冻结”了预训练的图像到视频扩散模型参数，仅通过适配生成的运动场来实现可控动画。这种设计不仅大幅降低了训练成本，还有效保留了原模型的高画质生成能力。它支持多种控制模式，包括基于轨迹的整体运动控制、基于关键点的精细面部表情驱动，以及两者结合的混合控制模式。作为 ECCV 2024 的入选论文成果，MOFA-Video 已开放完整的推理代码、训练脚本及预训练模型，为社区提供了高质量的可复现研究基线。","\n\n\n\n  \u003Ch2>🦄️ MOFA-Video: Controllable Image Animation via Generative Motion Field Adaptions in Frozen Image-to-Video Diffusion Model (ECCV 2024) \u003C\u002Fh2>\n\u003Cdiv>\n    \u003Ca href='https:\u002F\u002Fmyniuuu.github.io\u002F' target='_blank'>Muyao Niu\u003C\u002Fa> \u003Csup>1,2\u003C\u002Fsup> &nbsp;\n    \u003Ca href='https:\u002F\u002Fvinthony.github.io\u002Facademic\u002F' target='_blank'>Xiaodong Cun\u003C\u002Fa>\u003Csup>2,*\u003C\u002Fsup> &nbsp;\n    \u003Ca href='https:\u002F\u002Fxinntao.github.io\u002F' target='_blank'>Xintao Wang\u003C\u002Fa>\u003Csup>2\u003C\u002Fsup> &nbsp;\n    \u003Ca href='https:\u002F\u002Fyzhang2016.github.io\u002F' target='_blank'>Yong Zhang\u003C\u002Fa>\u003Csup>2\u003C\u002Fsup> &nbsp; \n    \u003Ca href='https:\u002F\u002Fscholar.google.com\u002Fcitations?user=4oXBp9UAAAAJ&hl=en' target='_blank'>Ying Shan\u003C\u002Fa>\u003Csup>2\u003C\u002Fsup> &nbsp;\n    \u003Ca href='https:\u002F\u002Fscholar.google.com\u002Fcitations?user=JD-5DKcAAAAJ&hl=en' target='_blank'>Yinqiang Zheng\u003C\u002Fa>\u003Csup>1,*\u003C\u002Fsup> &nbsp;\n\u003C\u002Fdiv>\n\u003Cdiv>\n    \u003Csup>1\u003C\u002Fsup> The University of Tokyo &nbsp; \u003Csup>2\u003C\u002Fsup> Tencent AI Lab &nbsp; \u003Csup>*\u003C\u002Fsup> Corresponding Author &nbsp; \n\u003C\u002Fdiv>\n\n\nIn *European Conference on Computer Vision (ECCV) 2024*\n\n\n\u003Ca href='https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.20222'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FArXiv-PDF-red'>\u003C\u002Fa> &nbsp; \u003Ca href='https:\u002F\u002Fmyniuuu.github.io\u002FMOFA_Video'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FProject-Page-Green'>\u003C\u002Fa> &nbsp; \u003Ca href='https:\u002F\u002Fhuggingface.co\u002FMyNiuuu\u002FMOFA-Video-Traj'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🤗 huggingface-MOFA_Traj-blue'>\u003C\u002Fa> &nbsp; \u003Ca href='https:\u002F\u002Fhuggingface.co\u002FMyNiuuu\u002FMOFA-Video-Hybrid'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🤗 huggingface-MOFA_Hybrid-yellow'>\u003C\u002Fa>\n\n\n\n## 🔥🔥🔥 New Features\u002FUpdates\n\n- (2024.08.07) We have released the inference script for keypoint-based facial image animation! Please refer to [Here](.\u002FMOFA-Video-Keypoint\u002FREADME.md) for more instructions.\n\n- (2024.07.15) We have released the training code for trajectory-based image animation! Please refer to [Here](.\u002FTraining\u002FREADME.md) for more instructions.\n\n- MOFA-Video will be appeared in *ECCV 2024!* 🇮🇹🇮🇹🇮🇹\n- We have released the Gradio inference code and the checkpoints for **Hybrid** Controls! Please refer to [Here](.\u002FMOFA-Video-Hybrid\u002FREADME.md) for more instructions. \n- *Free online demo via HuggingFace Spaces will be coming soon!*\n- If you find this work interesting, please do not hesitate to give a ⭐!\n\n## 📰 CODE RELEASE\n- [x] (2024.05.31) Gradio demo and checkpoints for trajectory-based image animation\n- [x] (2024.06.22) Gradio demo and checkpoints for image animation with hybrid control\n- [x] (2024.07.15) Training scripts for trajectory-based image animation\n- [x] (2024.08.07) Inference scripts and checkpoints for keypoint-based facial image animation\n- [ ] Training scripts for keypoint-based facial image animation\n\n\n\n## TL;DR\n\n\n\u003Cdiv align=\"center\">\n  \u003Ch3>\n    Image 🏞️ + Hybrid Controls 🕹️ = Videos 🎬🍿\n  \u003C\u002Fh3>\n\u003C\u002Fdiv>\n\n\n\u003Ctable align=\"center\">\n  \u003Ctr>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_5c2d6a75fe5b.gif\"\u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_dbf771aaf972.gif\"\u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_3597922f9ee6.gif\"\u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd colspan=\"3\" align=\"center\" style=\"border: none;\">\n      Trajectory + Landmark Control\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Ctable align=\"center\">\n  \u003Ctr>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_b580f0a21821.gif\"\u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_dd100e7effa0.gif\"\u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_47692ec20cb3.gif\"\u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_cc609d0ea5be.gif\"\u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd colspan=\"4\" align=\"center\" style=\"border: none;\">\n      Trajectory Control\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\n\u003Ctable align=\"center\">\n  \u003Ctr>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_3d213b069502.gif\" \u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_a749781116bf.gif\" \u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_195098894abb.gif\" \u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_c3fb1e63a7b4.gif\" \u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_3f3922c81bdb.gif\" \u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctr>\n    \u003Ctd colspan=\"5\" align=\"center\" style=\"border: none;\">\n      Landmark Control\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\n\u003Cdiv align=\"center\">\nCheck the gallery of our \u003Ca href='https:\u002F\u002Fmyniuuu.github.io\u002FMOFA_Video' target='_blank'>project page\u003C\u002Fa> for more visual results!\n\u003C\u002Fdiv>\n\n\n## Introduction\n\nWe introduce MOFA-Video, a method designed to adapt motions from different domains to the frozen Video Diffusion Model. By employing \u003Cu>sparse-to-dense (S2D) motion generation\u003C\u002Fu> and \u003Cu>flow-based motion adaptation\u003C\u002Fu>, MOFA-Video can effectively animate a single image using various types of control signals, including trajectories, keypoint sequences, AND their combinations.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_97df15a5778a.png\">\n\u003C\u002Fp>\n\nDuring the training stage, we generate sparse control signals through sparse motion sampling and then train different MOFA-Adapters to generate video via pre-trained SVD. During the inference stage, different MOFA-Adapters can be combined to jointly control the frozen SVD.\n\n\n\n## 🕹️ Image Animation with Hybrid Controls\n\n#### 1. Clone the Repository\n\n```\ngit clone https:\u002F\u002Fgithub.com\u002FMyNiuuu\u002FMOFA-Video.git\ncd .\u002FMOFA-Video\n```\n\n#### 2. Environment Setup\n\nThe demo has been tested on CUDA version of 11.7.\n\n```\ncd .\u002FMOFA-Video-Hybrid\nconda create -n mofa python==3.10\nconda activate mofa\npip install -r requirements.txt\npip install opencv-python-headless\npip install \"git+https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fpytorch3d.git\"\n```\n\n**IMPORTANT:** ⚠️⚠️⚠️ Gradio Version of **4.5.0** in the `requirements.txt` should be strictly followed since other versions may cause errors.\n\n\n#### 3. Downloading Checkpoints\n\n1. Download the checkpoint of CMP from [here](https:\u002F\u002Fhuggingface.co\u002FMyNiuuu\u002FMOFA-Video-Hybrid\u002Fresolve\u002Fmain\u002Fmodels\u002Fcmp\u002Fexperiments\u002Fsemiauto_annot\u002Fresnet50_vip%2Bmpii_liteflow\u002Fcheckpoints\u002Fckpt_iter_42000.pth.tar) and put it into `.\u002FMOFA-Video-Hybrid\u002Fmodels\u002Fcmp\u002Fexperiments\u002Fsemiauto_annot\u002Fresnet50_vip+mpii_liteflow\u002Fcheckpoints`.\n\n2. Download the `ckpts` [folder](https:\u002F\u002Fhuggingface.co\u002FMyNiuuu\u002FMOFA-Video-Hybrid\u002Ftree\u002Fmain\u002Fckpts) from the huggingface repo which contains necessary pretrained checkpoints and put it under `.\u002FMOFA-Video-Hybrid`. You may use `git lfs` to download the **entire** `ckpts` folder:\n\n    1) Download `git lfs` from https:\u002F\u002Fgit-lfs.github.com. It is commonly used for cloning repositories with large model checkpoints on HuggingFace.\n    2) Execute `git clone https:\u002F\u002Fhuggingface.co\u002FMyNiuuu\u002FMOFA-Video-Hybrid` to download the complete HuggingFace repository, which currently only includes the `ckpts` folder.\n    3) Copy or move the `ckpts` folder to the GitHub repository.\n\n    **NOTE:** If you encounter the error `git: 'lfs' is not a git command` on Linux, you can try [this solution](https:\u002F\u002Fgithub.com\u002Ftext2cinemagraph\u002Ftext2cinemagraph\u002Fissues\u002F1) that has worked well for my case.\n\n    Finally, the checkpoints should be orgnized as `.\u002FMOFA-Video-Hybrid\u002Fckpt_tree.md`. \n\n\n#### 4. Run Gradio Demo\n\n**Using audio to animate the facial part**\n\n```\ncd .\u002FMOFA-Video-Hybrid\npython run_gradio_audio_driven.py\n```\n\n🪄🪄🪄 The Gradio Interface is displayed as below. Please refer to the instructions on the gradio interface during the inference process!\n\n\u003Ctd align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_2d3583468d5d.png\"\u002F>\n\u003C\u002Ftd>\n\n**Using reference video to animate the facial part**\n\n```\ncd .\u002FMOFA-Video-Hybrid\npython run_gradio_video_driven.py\n```\n\n🪄🪄🪄 The Gradio Interface is displayed as below. Please refer to the instructions on the gradio interface during the inference process!\n\n\u003Ctd align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_d53b69062d3e.png\"\u002F>\n\u003C\u002Ftd>\n\n\n## 💫 Trajectory-based Image Animation \n\nPlease refer to [Here](.\u002FMOFA-Video-Traj\u002FREADME.md) for instructions.\n\n\n## Training your own MOFA-Adapter\n\nPlease refer to [Here](.\u002FTraining\u002FREADME.md) for more instructions.\n\n\n\n## Citation\n```\n@article{niu2024mofa,\n  title={MOFA-Video: Controllable Image Animation via Generative Motion Field Adaptions in Frozen Image-to-Video Diffusion Model},\n  author={Niu, Muyao and Cun, Xiaodong and Wang, Xintao and Zhang, Yong and Shan, Ying and Zheng, Yinqiang},\n  journal={arXiv preprint arXiv:2405.20222},\n  year={2024}\n}\n```\n\n## Acknowledgements\nWe sincerely appreciate the code release of the following projects: [DragNUWA](https:\u002F\u002Farxiv.org\u002Fabs\u002F2308.08089), [SadTalker](https:\u002F\u002Fgithub.com\u002FOpenTalker\u002FSadTalker), [AniPortrait](https:\u002F\u002Fgithub.com\u002FZejun-Yang\u002FAniPortrait), [Diffusers](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Fdiffusers), [SVD_Xtend](https:\u002F\u002Fgithub.com\u002Fpixeli99\u002FSVD_Xtend), [Conditional-Motion-Propagation](https:\u002F\u002Fgithub.com\u002FXiaohangZhan\u002Fconditional-motion-propagation), and [Unimatch](https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Funimatch).\n\n","\u003Ch2>🦄️ MOFA-Video：基于冻结图像到视频扩散模型中生成式运动场适配的可控图像动画（ECCV 2024）\u003C\u002Fh2>\n\u003Cdiv>\n    \u003Ca href='https:\u002F\u002Fmyniuuu.github.io\u002F' target='_blank'>牛牧瑶\u003C\u002Fa> \u003Csup>1,2\u003C\u002Fsup> &nbsp;\n    \u003Ca href='https:\u002F\u002Fvinthony.github.io\u002Facademic\u002F' target='_blank'>寸晓东\u003C\u002Fa>\u003Csup>2,*\u003C\u002Fsup> &nbsp;\n    \u003Ca href='https:\u002F\u002Fxinntao.github.io\u002F' target='_blank'>王新涛\u003C\u002Fa>\u003Csup>2\u003C\u002Fsup> &nbsp;\n    \u003Ca href='https:\u002F\u002Fyzhang2016.github.io\u002F' target='_blank'>张勇\u003C\u002Fa>\u003Csup>2\u003C\u002Fsup> &nbsp; \n    \u003Ca href='https:\u002F\u002Fscholar.google.com\u002Fcitations?user=4oXBp9UAAAAJ&hl=en' target='_blank'>殷珊\u003C\u002Fa>\u003Csup>2\u003C\u002Fsup> &nbsp;\n    \u003Ca href='https:\u002F\u002Fscholar.google.com\u002Fcitations?user=JD-5DKcAAAAJ&hl=en' target='_blank'>郑银强\u003C\u002Fa>\u003Csup>1,*\u003C\u002Fsup> &nbsp;\n\u003C\u002Fdiv>\n\u003Cdiv>\n    \u003Csup>1\u003C\u002Fsup> 东京大学 &nbsp; \u003Csup>2\u003C\u002Fsup> 腾讯AI实验室 &nbsp; \u003Csup>*\u003C\u002Fsup> 通讯作者 &nbsp; \n\u003C\u002Fdiv>\n\n\n在*欧洲计算机视觉大会（ECCV）2024*上\n\n\n\u003Ca href='https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.20222'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FArXiv-PDF-red'>\u003C\u002Fa> &nbsp; \u003Ca href='https:\u002F\u002Fmyniuuu.github.io\u002FMOFA_Video'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FProject-Page-Green'>\u003C\u002Fa> &nbsp; \u003Ca href='https:\u002F\u002Fhuggingface.co\u002FMyNiuuu\u002FMOFA-Video-Traj'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🤗 huggingface-MOFA_Traj-blue'>\u003C\u002Fa> &nbsp; \u003Ca href='https:\u002F\u002Fhuggingface.co\u002FMyNiuuu\u002FMOFA-Video-Hybrid'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🤗 huggingface-MOFA_Hybrid-yellow'>\u003C\u002Fa>\n\n\n\n## 🔥🔥🔥 新功能\u002F更新\n\n- (2024.08.07) 我们发布了基于关键点的人脸图像动画推理脚本！更多说明请参阅[这里](.\u002FMOFA-Video-Keypoint\u002FREADME.md)。\n\n- (2024.07.15) 我们发布了基于轨迹的图像动画训练代码！更多说明请参阅[这里](.\u002FTraining\u002FREADME.md)。\n\n- MOFA-Video 将亮相 *ECCV 2024!* 🇮🇹🇮🇹🇮🇹\n- 我们发布了 Gradio 推理代码以及 **混合** 控制的检查点！更多说明请参阅[这里](.\u002FMOFA-Video-Hybrid\u002FREADME.md)。\n- *免费的 HuggingFace Spaces 在线演示即将推出！*\n- 如果您对这项工作感兴趣，请不要犹豫，给个 ⭐ 吧！\n\n## 📰 代码发布\n- [x] (2024.05.31) 基于轨迹的图像动画的 Gradio 演示及检查点\n- [x] (2024.06.22) 混合控制下的图像动画的 Gradio 演示及检查点\n- [x] (2024.07.15) 基于轨迹的图像动画的训练脚本\n- [x] (2024.08.07) 基于关键点的人脸图像动画的推理脚本及检查点\n- [ ] 基于关键点的人脸图像动画的训练脚本\n\n\n\n## TL;DR\n\n\n\u003Cdiv align=\"center\">\n  \u003Ch3>\n    图像 🏞️ + 混合控制 🕹️ = 视频 🎬🍿\n  \u003C\u002Fh3>\n\u003C\u002Fdiv>\n\n\n\u003Ctable align=\"center\">\n  \u003Ctr>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_5c2d6a75fe5b.gif\"\u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_dbf771aaf972.gif\"\u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_3597922f9ee6.gif\"\u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd colspan=\"3\" align=\"center\" style=\"border: none;\">\n      轨迹 + 关键点控制\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Ctable align=\"center\">\n  \u003Ctr>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_b580f0a21821.gif\"\u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_dd100e7effa0.gif\"\u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_47692ec20cb3.gif\"\u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_cc609d0ea5be.gif\"\u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd colspan=\"4\" align=\"center\" style=\"border: none;\">\n      轨迹控制\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\n\u003Ctable align=\"center\">\n  \u003Ctr>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_3d213b069502.gif\" \u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_a749781116bf.gif\" \u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_195098894abb.gif\" \u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_c3fb1e63a7b4.gif\" \u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_3f3922c81bdb.gif\" \u002F>\n      \u003Cbr \u002F>\n    \u003C\u002Ftd>\n    \u003Ctr>\n    \u003Ctd colspan=\"5\" align=\"center\" style=\"border: none;\">\n      关键点控制\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\n\u003Cdiv align=\"center\">\n更多可视化效果请查看我们的\u003Ca href='https:\u002F\u002Fmyniuuu.github.io\u002FMOFA_Video' target='_blank'>项目页面\u003C\u002Fa>！\n\u003C\u002Fdiv>\n\n\n## 引言\n\n我们提出了 MOFA-Video，这是一种旨在将来自不同领域的运动适配到冻结的视频扩散模型中的方法。通过采用\u003Cu>稀疏到稠密（S2D）运动生成\u003C\u002Fu>和\u003Cu>基于光流的运动适配\u003C\u002Fu>, MOFA-Video 可以有效地利用各种类型的控制信号来为单张图像添加动画效果，这些控制信号包括轨迹、关键点序列，以及它们的组合。\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_97df15a5778a.png\">\n\u003C\u002Fp>\n\n在训练阶段，我们通过稀疏运动采样生成稀疏控制信号，然后训练不同的 MOFA 适配器，使其能够通过预训练的 SVD 生成视频。在推理阶段，可以将不同的 MOFA 适配器组合起来，共同控制冻结的 SVD。\n\n## 🕹️ 基于混合控制的图像动画\n\n#### 1. 克隆仓库\n\n```\ngit clone https:\u002F\u002Fgithub.com\u002FMyNiuuu\u002FMOFA-Video.git\ncd .\u002FMOFA-Video\n```\n\n#### 2. 环境配置\n\n该演示已在 CUDA 11.7 版本上测试通过。\n\n```\ncd .\u002FMOFA-Video-Hybrid\nconda create -n mofa python==3.10\nconda activate mofa\npip install -r requirements.txt\npip install opencv-python-headless\npip install \"git+https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fpytorch3d.git\"\n```\n\n**重要提示：** ⚠️⚠️⚠️ `requirements.txt` 文件中必须严格使用 Gradio 的 **4.5.0** 版本，否则可能会导致错误。\n\n\n#### 3. 下载检查点\n\n1. 从 [这里](https:\u002F\u002Fhuggingface.co\u002FMyNiuuu\u002FMOFA-Video-Hybrid\u002Fresolve\u002Fmain\u002Fmodels\u002Fcmp\u002Fexperiments\u002Fsemiauto_annot\u002Fresnet50_vip%2Bmpii_liteflow\u002Fcheckpoints\u002Fckpt_iter_42000.pth.tar) 下载 CMP 模型的检查点，并将其放置到 `.\u002FMOFA-Video-Hybrid\u002Fmodels\u002Fcmp\u002Fexperiments\u002Fsemiauto_annot\u002Fresnet50_vip+mpii_liteflow\u002Fcheckpoints` 目录下。\n\n2. 从 HuggingFace 仓库下载包含必要预训练检查点的 `ckpts` 文件夹 [链接](https:\u002F\u002Fhuggingface.co\u002FMyNiuuu\u002FMOFA-Video-Hybrid\u002Ftree\u002Fmain\u002Fckpts)，并将其放置在 `.\u002FMOFA-Video-Hybrid` 目录下。您可以使用 `git lfs` 下载整个 `ckpts` 文件夹：\n\n    1) 从 https:\u002F\u002Fgit-lfs.github.com 下载 `git lfs`。它通常用于克隆包含大型模型检查点的 HuggingFace 仓库。\n    2) 执行 `git clone https:\u002F\u002Fhuggingface.co\u002FMyNiuuu\u002FMOFA-Video-Hybrid` 来下载完整的 HuggingFace 仓库，目前该仓库仅包含 `ckpts` 文件夹。\n    3) 将 `ckpts` 文件夹复制或移动到 GitHub 仓库中。\n\n    **注意：** 如果在 Linux 系统上遇到 `git: 'lfs' is not a git command` 错误，可以尝试 [此解决方案](https:\u002F\u002Fgithub.com\u002Ftext2cinemagraph\u002Ftext2cinemagraph\u002Fissues\u002F1)，该方法对我有效。\n\n    最终，检查点应按照 `.\u002FMOFA-Video-Hybrid\u002Fckpt_tree.md` 的目录结构进行组织。\n\n\n#### 4. 运行 Gradio 演示\n\n**使用音频驱动面部动画**\n\n```\ncd .\u002FMOFA-Video-Hybrid\npython run_gradio_audio_driven.py\n```\n\n🪄🪄🪄 Gradio 界面如下所示。请在推理过程中参考 Gradio 界面中的说明！\n\n\u003Ctd align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_2d3583468d5d.png\"\u002F>\n\u003C\u002Ftd>\n\n**使用参考视频驱动面部动画**\n\n```\ncd .\u002FMOFA-Video-Hybrid\npython run_gradio_video_driven.py\n```\n\n🪄🪄🪄 Gradio 界面如下所示。请在推理过程中参考 Gradio 界面中的说明！\n\n\u003Ctd align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_readme_d53b69062d3e.png\"\u002F>\n\u003C\u002Ftd>\n\n\n## 💫 基于轨迹的图像动画\n\n请参阅 [此处](.\u002FMOFA-Video-Traj\u002FREADME.md) 获取说明。\n\n\n## 训练您自己的 MOFA 适配器\n\n请参阅 [此处](.\u002FTraining\u002FREADME.md) 获取更多说明。\n\n\n\n## 引用\n```\n@article{niu2024mofa,\n  title={MOFA-Video: Controllable Image Animation via Generative Motion Field Adaptions in Frozen Image-to-Video Diffusion Model},\n  author={Niu, Muyao and Cun, Xiaodong and Wang, Xintao and Zhang, Yong and Shan, Ying and Zheng, Yinqiang},\n  journal={arXiv preprint arXiv:2405.20222},\n  year={2024}\n}\n```\n\n## 致谢\n我们衷心感谢以下项目的代码开源：[DragNUWA](https:\u002F\u002Farxiv.org\u002Fabs\u002F2308.08089)、[SadTalker](https:\u002F\u002Fgithub.com\u002FOpenTalker\u002FSadTalker)、[AniPortrait](https:\u002F\u002Fgithub.com\u002FZejun-Yang\u002FAniPortrait)、[Diffusers](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Fdiffusers)、[SVD_Xtend](https:\u002F\u002Fgithub.com\u002Fpixeli99\u002FSVD_Xtend)、[Conditional-Motion-Propagation](https:\u002F\u002Fgithub.com\u002FXiaohangZhan\u002Fconditional-motion-propagation) 以及 [Unimatch](https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Funimatch)。","# MOFA-Video 快速上手指南\n\nMOFA-Video 是一个基于冻结图像到视频扩散模型（SVD）的可控图像动画工具。它支持通过**轨迹**、**人脸关键点**或**混合控制**（如音频\u002F参考视频驱动）将单张静态图片转化为动态视频。\n\n## 1. 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux (推荐) 或 Windows (部分命令可能需要调整)\n*   **GPU**: NVIDIA 显卡，显存建议 16GB 以上（运行混合控制模式时）\n*   **CUDA 版本**: 推荐 **11.7** (官方测试环境)\n*   **Python 版本**: **3.10**\n*   **依赖工具**: `git`, `conda`, `git-lfs` (用于下载大模型文件)\n\n> **注意**：国内用户建议在配置 conda 和 pip 时使用清华源或阿里源以加速下载。\n\n## 2. 安装步骤\n\n本指南以功能最全的 **混合控制模式 (Hybrid Controls)** 为例，支持音频或参考视频驱动人脸动画。\n\n### 2.1 克隆项目代码\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FMyNiuuu\u002FMOFA-Video.git\ncd .\u002FMOFA-Video\n```\n\n### 2.2 创建并激活虚拟环境\n\n```bash\ncd .\u002FMOFA-Video-Hybrid\nconda create -n mofa python=3.10\nconda activate mofa\n```\n\n### 2.3 安装依赖库\n\n**重要提示**：必须严格安装 `gradio==4.5.0`，其他版本可能导致报错。\n\n```bash\n# 推荐使用国内镜像源加速安装\npip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\npip install opencv-python-headless -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\npip install \"git+https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fpytorch3d.git\" -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n*如果 `pytorch3d` 安装失败，可尝试前往 [PyTorch3D 官网](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fpytorch3d\u002Fblob\u002Fmain\u002FINSTALL.md) 查找对应 CUDA 版本的预编译包进行安装。*\n\n### 2.4 下载模型权重\n\n你需要下载两部分模型文件：CMP 检测模型和 MOFA 主模型。\n\n#### A. 下载 CMP 模型\n下载链接：[cmp_checkpoint](https:\u002F\u002Fhuggingface.co\u002FMyNiuuu\u002FMOFA-Video-Hybrid\u002Fresolve\u002Fmain\u002Fmodels\u002Fcmp\u002Fexperiments\u002Fsemiauto_annot\u002Fresnet50_vip%2Bmpii_liteflow\u002Fcheckpoints\u002Fckpt_iter_42000.pth.tar)\n\n将其保存到以下路径（若文件夹不存在请手动创建）：\n`.\u002FMOFA-Video-Hybrid\u002Fmodels\u002Fcmp\u002Fexperiments\u002Fsemiauto_annot\u002Fresnet50_vip+mpii_liteflow\u002Fcheckpoints\u002Fckpt_iter_42000.pth.tar`\n\n#### B. 下载 MOFA 主模型 (ckpts 文件夹)\n由于模型文件较大，建议使用 `git lfs` 拉取整个 HuggingFace 仓库。\n\n1.  安装 git-lfs (如未安装):\n    ```bash\n    # Ubuntu\u002FDebian\n    sudo apt-get install git-lfs\n    # 或者通过 conda\n    conda install -c conda-forge git-lfs\n    ```\n2.  初始化并拉取：\n    ```bash\n    git lfs install\n    git clone https:\u002F\u002Fhuggingface.co\u002FMyNiuuu\u002FMOFA-Video-Hybrid\n    ```\n3.  移动文件：\n    将刚刚克隆下来的 `MOFA-Video-Hybrid\u002Fckpts` 文件夹复制到你最初克隆的 GitHub 项目目录中：\n    ```bash\n    # 假设你在根目录下操作\n    mv MOFA-Video-Hybrid\u002Fckpts .\u002FMOFA-Video-Hybrid\u002F\n    ```\n\n最终目录结构应参考项目内的 `.\u002FMOFA-Video-Hybrid\u002Fckpt_tree.md`。\n\n## 3. 基本使用\n\n安装完成后，可以通过 Gradio 界面轻松生成视频。\n\n### 场景一：使用音频驱动人脸 (Audio-Driven)\n\n适合制作说话头像视频。\n\n```bash\ncd .\u002FMOFA-Video-Hybrid\npython run_gradio_audio_driven.py\n```\n\n运行后，终端会输出一个本地访问地址（通常是 `http:\u002F\u002F127.0.0.1:7860`）。在浏览器打开该地址：\n1.  上传一张**人脸图片**。\n2.  上传一段**音频文件**。\n3.  点击生成，等待视频输出。\n\n### 场景二：使用参考视频驱动人脸 (Video-Driven)\n\n适合让静态图片模仿参考视频中的表情和动作。\n\n```bash\ncd .\u002FMOFA-Video-Hybrid\npython run_gradio_video_driven.py\n```\n\n在浏览器打开生成的地址：\n1.  上传一张**源人脸图片**。\n2.  上传一段**驱动视频**（包含面部动作）。\n3.  点击生成，源图片将模仿驱动视频的动作。\n\n---\n*注：如果你仅需使用轨迹控制（Trajectory-based）或关键点控制（Keypoint-based），请参考项目目录下 `.\u002FMOFA-Video-Traj\u002FREADME.md` 或 `.\u002FMOFA-Video-Keypoint\u002FREADME.md` 获取特定脚本。*","某独立游戏开发者需要为一款复古风格的角色扮演游戏快速制作大量 NPC 的动态立绘，要求角色能根据剧本做出特定的头部转动和表情变化。\n\n### 没有 MOFA-Video 时\n- **制作成本高昂**：传统流程需聘请原画师绘制逐帧动画或使用复杂的 3D 建模绑定，单个角色动效耗时数天且预算昂贵。\n- **动作控制僵硬**：现有的自动化工具难以精准控制面部关键点（如眼神方向、嘴角弧度），生成的视频往往表情失真或动作机械。\n- **轨迹定制困难**：无法让角色按照导演指定的复杂运动轨迹（如先低头再侧视）进行移动，只能依赖预设的简单模板。\n- **身份一致性差**：在生成动态视频时，角色的面部特征容易发生漂移或变形，导致“不像同一个人”，破坏游戏沉浸感。\n\n### 使用 MOFA-Video 后\n- **效率显著提升**：开发者仅需上传一张静态角色立绘，结合简单的轨迹或关键点提示，MOFA-Video 即可在分钟内生成高质量动画，无需额外建模。\n- **精细动作掌控**：利用其关键点控制功能，可精确驱动角色的眉眼口鼻，实现细腻的微表情演绎，完美契合剧情需求。\n- **自由轨迹定义**：通过混合控制模式，开发者能自定义角色头部的运动路径，轻松实现“先左顾后右盼”等复杂运镜效果。\n- **角色高度保真**：基于冻结图像到视频扩散模型的特性，MOFA-Video 在生成过程中严格锁定人物身份特征，确保动态视频中角色长相始终如一。\n\nMOFA-Video 将静态图像转化为可控动态视频的能力，让中小团队也能以极低成本实现电影级的角色动画表现。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMyNiuuu_MOFA-Video_5c2d6a75.gif","MyNiuuu","Muyao Niu","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FMyNiuuu_4ea510b0.png","Ph.D. Student at UTokyo.","The University of Tokyo","Tokyo",null,"myniuuu.github.io","https:\u002F\u002Fgithub.com\u002FMyNiuuu",[85,89,93],{"name":86,"color":87,"percentage":88},"Python","#3572A5",98.1,{"name":90,"color":91,"percentage":92},"Shell","#89e051",1.9,{"name":94,"color":95,"percentage":96},"CSS","#663399",0,767,50,"2026-03-16T03:08:44","NOASSERTION",4,"Linux","必需 NVIDIA GPU，CUDA 版本需为 11.7（文档明确测试环境），显存大小未说明（建议 8GB+ 以运行扩散模型）","未说明",{"notes":106,"python":107,"dependencies":108},"1. 必须严格使用 Gradio 4.5.0 版本，其他版本可能导致错误。2. 需要安装 pytorch3d（通过 git 源安装）。3. 下载模型权重时建议使用 git lfs 工具，若遇到 'git: lfs is not a git command' 错误需手动安装 git-lfs。4. 项目包含多种控制模式（轨迹、关键点、混合控制），需分别下载对应的检查点文件并放置于指定目录。","3.10",[109,110,111,112,113],"torch","pytorch3d","opencv-python-headless","gradio==4.5.0","git-lfs",[15,52],[116,117,118,119,120,121,122,123],"aigc","diffusion-models","eccv2024","generative-ai","generative-models","video-diffusion-model","controllable-generation","image2video","2026-03-27T02:49:30.150509","2026-04-08T13:02:30.216946",[127,132,137,142,146,151],{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},24370,"如何安装该项目？遇到 CUDA 内核错误或编译问题怎么办？","如果遇到 CUDA 内核错误，可以尝试以下两种方法：\n1. **降级 CUDA 版本**：将 CUDA 降级到 11.7\u002F11.8，并安装对应的 cupy 版本。命令参考：`pip install cupy-cuda11x` 和 `conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.8 -c pytorch -c nvidia`。\n2. **使用 CUDA 12x 并修改代码**：保持 CUDA 12.x，但需要修改 `MOFA-Video-Hybrid\u002Fmodels\u002Fsoftsplat.py` 文件。由于新版 CuPy 弃用了 `cupy.cuda.compile_with_cache`，请将第 225 行改为 `cupy._core.core.compile_with_cache`。\n注意：如果仍然遇到奇怪的 CUDA keyerror 128，可能是偶尔的内核错误，重试或检查环境兼容性。","https:\u002F\u002Fgithub.com\u002FMyNiuuu\u002FMOFA-Video\u002Fissues\u002F16",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},24371,"点击\"Add Trajectory\"按钮时报错 AttributeError: 'State' object has no attribute 'constructor_args'，如何解决？","这是 Gradio 版本兼容性问题。请确保安装指定版本的 Gradio：\n`pip install gradio==4.5.0`\n安装该版本后，错误即可解决。","https:\u002F\u002Fgithub.com\u002FMyNiuuu\u002FMOFA-Video\u002Fissues\u002F1",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},24372,"训练时 watershed sampler 中的 `nms_ks` 参数应该设置为多少？设置太小会有什么影响？","在训练过程中，官方设置的 `nms_ks` 值为 **15**。如果将其设置为 3（为了获取更多采样点），数值可能过小，导致难以仅凭这些点重建原始视频，从而影响模型训练效果。建议遵循官方设置使用 `nms_ks=15`。","https:\u002F\u002Fgithub.com\u002FMyNiuuu\u002FMOFA-Video\u002Fissues\u002F28",{"id":143,"question_zh":144,"answer_zh":145,"source_url":141},24373,"Watershed 算法无法在第一帧中静止的物体上采样，这会影响训练吗？","是的，Watershed 算法确实无法在初始帧中保持静止的物体上进行采样，导致稀疏流引导序列中缺乏对该物体的指导。但这通常不会显著影响模型训练，因为对每个移动部分都进行采样既非必要也不推荐。模型主要关注运动区域的引导。",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},24374,"如何从密集光流生成稀疏运动向量？对于 25 帧的视频应该生成多少个掩码（mask）？","假设你从初始帧选择了 10 个空间点来生成 25 帧的视频：\n1. **掩码数量**：你需要生成 **24 个掩码**（对应帧间变化）。\n2. **掩码内容**：根据前向扭曲（forward warping）概念，这 24 个掩码应该是相同的。掩码中那 10 个空间点的坐标标记为 1，其余坐标标记为 0。\n3. **计算方法**：将这 24 个掩码与前向密集光流图进行逐元素乘法（element-wise multiplication），即可得到对应的稀疏运动向量。","https:\u002F\u002Fgithub.com\u002FMyNiuuu\u002FMOFA-Video\u002Fissues\u002F19",{"id":152,"question_zh":153,"answer_zh":154,"source_url":150},24375,"是否有从驱动视频（driven-video）中提取关键点作为轨迹的推理脚本？","目前仓库中没有直接用于“从驱动视频提取关键点”的现成推理脚本。如果你希望使用开放域视频中提取的关键点作为轨迹控制的一组数据，可以参考项目中的相关函数自行修改代码来实现这一功能。具体实现需基于现有的光流和采样逻辑进行适配。",[]]