[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-maum-ai--faceshifter":3,"tool-maum-ai--faceshifter":61},[4,18,26,36,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},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",158594,2,"2026-04-16T23:34:05",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":76,"owner_website":77,"owner_url":78,"languages":79,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":10,"env_os":92,"env_gpu":93,"env_ram":94,"env_deps":95,"category_tags":104,"github_topics":105,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":109,"updated_at":110,"faqs":111,"releases":146},8246,"maum-ai\u002Ffaceshifter","faceshifter","Unofficial PyTorch Implementation for FaceShifter (https:\u002F\u002Farxiv.org\u002Fabs\u002F1912.13457)","FaceShifter 是一个基于 PyTorch 实现的开源换脸项目，源自学术界高保真换脸论文的非官方复现版本。它主要致力于解决传统换脸技术中常见的画质模糊、身份特征丢失以及无法有效处理遮挡（如头发、手部遮住脸部）等痛点，能够生成既清晰又自然的替换效果。\n\n该项目的核心技术亮点在于其实现了论文中的 AEI-Net 网络，这是换脸流程中的主干部分，专门负责在保留目标人物表情和姿态的同时，高精度地融合源人物的面部特征。虽然完整的论文方案包含两个网络，但 FaceShifter 聚焦于这一核心组件，为开发者提供了扎实的实验基础。\n\n需要注意的是，FaceShifter 并非面向普通用户的“一键式”应用。它更适合人工智能研究人员、算法工程师以及对深度学习有浓厚兴趣的开发者使用。使用者需要具备一定的编程基础，能够配置 Docker 环境、准备 FFHQ 或 CelebA-HQ 等专业数据集，并熟悉模型训练与推理流程。如果你希望深入研究换脸算法原理，或在此基础上构建更高级的应用（如作者后续推出的 HifiFace），FaceShifter 将是一个极具参考价值的起点。","# FaceShifter &mdash; Unofficial PyTorch Implementation\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmaum-ai_faceshifter_readme_c3a2ed54412a.jpg)\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmaum-ai_faceshifter_readme_f108ad5cdcc4.png)\n![issueBadge](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fmindslab-ai\u002Ffaceshifter)   ![starBadge](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fmindslab-ai\u002Ffaceshifter)   ![repoSize](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frepo-size\u002Fmindslab-ai\u002Ffaceshifter)  ![lastCommit](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flast-commit\u002Fmindslab-ai\u002Ffaceshifter) \n\nUnofficial Implementation of [FaceShifter: Towards High Fidelity And Occlusion Aware Face Swapping](https:\u002F\u002Farxiv.org\u002Fabs\u002F1912.13457) with [Pytorch-Lightning](https:\u002F\u002Fgithub.com\u002FPyTorchLightning\u002Fpytorch-lightning).\nIn the paper, there are two networks for full pipe-line, AEI-Net and HEAR-Net. We only implement the AEI-Net, which is main network for face swapping.\n\n### Take a look [HifiFace](https:\u002F\u002Fgithub.com\u002Fmindslab-ai\u002Fhififace), our implementation of a more recent face swapping model.\n\n## Datasets\n\n### Preparing Data\n\nYou need to download and unzip:\n- [FFHQ](https:\u002F\u002Fgithub.com\u002FNVlabs\u002Fffhq-dataset) \n- CelebA-HQ ([Unofficial Download Script](https:\u002F\u002Fgithub.com\u002Fsuvojit-0x55aa\u002FcelebA-HQ-dataset-download))\n- VGGFace ([Unofficial Download Script](https:\u002F\u002Fgithub.com\u002Fndaidong\u002Fvgg-faces-utils))\n\n### Preprocess Data\nPreprocessing code is mainly based on [Nvidia's FFHQ preprocessing code](https:\u002F\u002Fgithub.com\u002FNVlabs\u002Fffhq-dataset\u002Fblob\u002Fbb67086731d3bd70bc58ebee243880403726197a\u002Fdownload_ffhq.py#L259-L349).\nYou may modify our [preprocess](.\u002Fpreprocess) with multi-processing functions to finish pre-processing step much faster.\n```bash\n# build docker image from Dockerfile\ndocker build -t dlib:0.0 .\u002Fpreprocess\n# run docker container from image\ndocker run -itd --ipc host -v \u002FPATH_TO_THIS_FOLDER\u002Fpreprocess:\u002Fworkspace -v \u002FPATH_TO_THE_DATA:\u002FDATA -v \u002FPATH_TO_SAVE_DATASET:\u002FRESULT --name dlib --tag dlib:0.0\n# attach\ndocker attach dlib\n# preprocess with dlib\npython preprocess.py --root \u002FDATA --output_dir \u002FRESULT\n```\n\n## Training\n### Configuration\nThere is `yaml` file in the [`config`](.\u002Fconfig) folder.\nThey **must** be edited to match your training requirements (dataset, metadata, etc.).\n\n- [`config\u002Ftrain.yaml`](.\u002Fconfig\u002Ftrain.yaml): Configs for training AEI-Net.\n  - Fill in the blanks of: `dataset_dir`, `valset_dir`\n  - You may want to change: `batch_size` for GPUs other than 32GB V100, or `chkpt_dir` to save checkpoints in other disk.\n  \n### Using Docker\nWe provide a Dockerfile for easier training environment setup.\n```bash\ndocker build -t faceshifter:0.0 .\ndocker run -itd --ipc host --gpus all -v \u002FPATH_TO_THIS_FOLDER:\u002Fworkspace -v \u002FPATH_TO_DATASET:\u002FDATA --name FS --tag faceshifter:0.0\ndocker attach FS\n```\n\n### Pre-trained Arcface\nDuring the training process, pre-trained [Arcface](https:\u002F\u002Fopenaccess.thecvf.com\u002Fcontent_CVPR_2019\u002Fhtml\u002FDeng_ArcFace_Additive_Angular_Margin_Loss_for_Deep_Face_Recognition_CVPR_2019_paper.html)\nis required. We provide our pre-trained Arcface model; you can download at [this](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1TAb6WNfusbL2Iv3tfRCpMXimZE9tnSUn\u002Fview?usp=sharing) link\n\n### Command\nTo train the AEI-Net, run this command:\n\n```bash\npython aei_trainer.py -c \u003Cpath_to_config_yaml> -g \u003Cgpus> -n \u003Crun_name>\n# example command that might help you understand the arguments:\n# train from scratch with name \"my_runname\"\npython aei_trainer.py -c config\u002Ftrain.yaml -g 0 -n my_runname\n```\n\nOptionally, you can resume the training from previously saved checkpoint by adding `-p \u003Ccheckpoint_path>` argument.\n\n### Monitoring via Tensorboard\n\nThe progress of training with loss values and validation output can be monitored with Tensorboard.\nBy default, the logs will be stored at `log`, which can be modified by editing `log.log_dir` parameter at config yaml file.\n\n```bash\ntensorboard --log_dir log --bind_all # Scalars, Images, Hparams, Projector will be shown.\n```\n\n## Inference\nTo inference the AEI-Net, run this command:\n```bash\npython aei_inference.py --checkpoint_path \u003Cpath_to_pre_trained_file> --target_image \u003Cpath_to_target_image_file> --source_image \u003Cpath_to_source_image_file> --output_path \u003Cpath_to_output_image_file> --gpu_num \u003Cnumber of gpu>\n# example command that might help you understand the arguments:\n# train from scratch with name \"my_runname\"\npython aei_inference.py --checkpoint_path chkpt\u002Fmy_runname\u002Fepoch=0.ckpt --target_image target.png --source_image source.png --output_path output.png --gpu_num 0\n```\n\nWe probived [colab example](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1M99jX_nhZ74j_jdYIDtTvDKEE-XVoQnn?usp=sharing). You can use it with your own trained weight. \n\n## Results\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmaum-ai_faceshifter_readme_f780cc4a0020.gif)\n\n### Comparison with results from original paper\n#### Figure in the original paper\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmaum-ai_faceshifter_readme_028bf3b7cb69.jpg)\n#### Our Results\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmaum-ai_faceshifter_readme_b41d7a5804e7.png)\n\nReminds you that we __only implement the AEI-Net,__ and the results in the original paper were generated by AEI-Net and HEAR-Net.\n\nWe will soon release the FaceShifter in our cloud API service, [maum.ai](https:\u002F\u002Fmaum.ai\u002F?lang=en)\n\n## License\n\n[BSD 3-Clause License](https:\u002F\u002Fopensource.org\u002Flicenses\u002FBSD-3-Clause).\n\n## Implementation Author\n\nChangho Choi @ MINDs Lab, Inc. (changho@mindslab.ai)\n\n## Paper Information\n\n```bibtex\n@article{li2019faceshifter,\n  title={Faceshifter: Towards high fidelity and occlusion aware face swapping},\n  author={Li, Lingzhi and Bao, Jianmin and Yang, Hao and Chen, Dong and Wen, Fang},\n  journal={arXiv preprint arXiv:1912.13457},\n  year={2019}\n}\n```\n","# FaceShifter — 非官方 PyTorch 实现\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmaum-ai_faceshifter_readme_c3a2ed54412a.jpg)\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmaum-ai_faceshifter_readme_f108ad5cdcc4.png)\n![issueBadge](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fmindslab-ai\u002Ffaceshifter)   ![starBadge](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fmindslab-ai\u002Ffaceshifter)   ![repoSize](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frepo-size\u002Fmindslab-ai\u002Ffaceshifter)  ![lastCommit](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flast-commit\u002Fmindslab-ai\u002Ffaceshifter) \n\n基于 [Pytorch-Lightning](https:\u002F\u002Fgithub.com\u002FPyTorchLightning\u002Fpytorch-lightning) 的 [FaceShifter: 高保真且考虑遮挡的人脸交换](https:\u002F\u002Farxiv.org\u002Fabs\u002F1912.13457) 的非官方实现。论文中提出了用于完整流水线的两个网络：AEI-Net 和 HEAR-Net。我们仅实现了主要用于人脸交换的 AEI-Net。\n\n### 欢迎查看 [HifiFace](https:\u002F\u002Fgithub.com\u002Fmindslab-ai\u002Fhififace)，这是我们对更近期人脸交换模型的实现。\n\n## 数据集\n\n### 数据准备\n\n您需要下载并解压以下数据集：\n- [FFHQ](https:\u002F\u002Fgithub.com\u002FNVlabs\u002Fffhq-dataset) \n- CelebA-HQ（[非官方下载脚本](https:\u002F\u002Fgithub.com\u002Fsuvojit-0x55aa\u002FcelebA-HQ-dataset-download)）\n- VGGFace（[非官方下载脚本](https:\u002F\u002Fgithub.com\u002Fndaidong\u002Fvgg-faces-utils)）\n\n### 数据预处理\n预处理代码主要基于 [NVIDIA 的 FFHQ 预处理代码](https:\u002F\u002Fgithub.com\u002FNVlabs\u002Fffhq-dataset\u002Fblob\u002Fbb67086731d3bd70bc58ebee243880403726197a\u002Fdownload_ffhq.py#L259-L349)。您可以使用我们的 [preprocess](.\u002Fpreprocess) 脚本，并结合多进程功能来显著加快预处理速度。\n```bash\n# 从 Dockerfile 构建镜像\ndocker build -t dlib:0.0 .\u002Fpreprocess\n# 从镜像运行容器\ndocker run -itd --ipc host -v \u002FPATH_TO_THIS_FOLDER\u002Fpreprocess:\u002Fworkspace -v \u002FPATH_TO_THE_DATA:\u002FDATA -v \u002FPATH_TO_SAVE_DATASET:\u002FRESULT --name dlib --tag dlib:0.0\n# 进入容器\ndocker attach dlib\n# 使用 dlib 进行预处理\npython preprocess.py --root \u002FDATA --output_dir \u002FRESULT\n```\n\n## 训练\n### 配置\n在 [`config`](.\u002Fconfig) 文件夹中有一个 `yaml` 配置文件。**务必**根据您的训练需求（数据集、元数据等）进行修改。\n\n- [`config\u002Ftrain.yaml`](.\u002Fconfig\u002Ftrain.yaml)：用于训练 AEI-Net 的配置。\n  - 填写 `dataset_dir` 和 `valset_dir` 空缺。\n  - 您可能还需要调整 `batch_size`（针对非 32GB V100 显卡）或 `chkpt_dir`（将检查点保存到其他磁盘）。\n\n### 使用 Docker\n我们提供了一个 Dockerfile，以便更轻松地搭建训练环境。\n```bash\ndocker build -t faceshifter:0.0 .\ndocker run -itd --ipc host --gpus all -v \u002FPATH_TO_THIS_FOLDER:\u002Fworkspace -v \u002FPATH_TO_DATASET:\u002FDATA --name FS --tag faceshifter:0.0\ndocker attach FS\n```\n\n### 预训练的 Arcface\n在训练过程中，需要使用预训练的 [Arcface](https:\u002F\u002Fopenaccess.thecvf.com\u002Fcontent_CVPR_2019\u002Fhtml\u002FDeng_ArcFace_Additive_Angular_Margin_Loss_for_Deep_Face_Recognition_CVPR_2019_paper.html) 模型。我们提供了预训练的 Arcface 模型，您可以通过此链接下载：[点击下载](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1TAb6WNfusbL2Iv3tfRCpMXimZE9tnSUn\u002Fview?usp=sharing)\n\n### 命令\n要训练 AEI-Net，请运行以下命令：\n\n```bash\npython aei_trainer.py -c \u003Cpath_to_config_yaml> -g \u003Cgpus> -n \u003Crun_name>\n# 示例命令，帮助理解参数：\n# 从头开始训练，命名为 \"my_runname\"\npython aei_trainer.py -c config\u002Ftrain.yaml -g 0 -n my_runname\n```\n\n可选地，您可以通过添加 `-p \u003Ccheckpoint_path>` 参数从之前保存的检查点继续训练。\n\n### 使用 TensorBoard 监控\n训练进度、损失值和验证输出都可以通过 TensorBoard 进行监控。默认情况下，日志会存储在 `log` 目录下，您可以通过编辑 `config\u002Ftrain.yaml` 中的 `log.log_dir` 参数来更改存储路径。\n\n```bash\ntensorboard --log_dir log --bind_all # 将显示标量、图像、超参数和投影仪视图。\n```\n\n## 推理\n要对 AEI-Net 进行推理，请运行以下命令：\n```bash\npython aei_inference.py --checkpoint_path \u003Cpath_to_pre_trained_file> --target_image \u003Cpath_to_target_image_file> --source_image \u003Cpath_to_source_image_file> --output_path \u003Cpath_to_output_image_file> --gpu_num \u003Cnumber of gpu>\n# 示例命令，帮助理解参数：\n# 使用检查点 chkpt\u002Fmy_runname\u002Fepoch=0.ckpt，目标图为 target.png，源图为 source.png，输出图为 output.png，使用 GPU 0 号\npython aei_inference.py --checkpoint_path chkpt\u002Fmy_runname\u002Fepoch=0.ckpt --target_image target.png --source_image source.png --output_path output.png --gpu_num 0\n```\n\n我们还提供了 [Colab 示例](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1M99jX_nhZ74j_jdYIDtTvDKEE-XVoQnn?usp=sharing)，您可以使用它并加载自己的训练权重。\n\n## 结果\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmaum-ai_faceshifter_readme_f780cc4a0020.gif)\n\n### 与原论文结果的对比\n#### 原论文中的图示\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmaum-ai_faceshifter_readme_028bf3b7cb69.jpg)\n#### 我们的实验结果\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmaum-ai_faceshifter_readme_b41d7a5804e7.png)\n\n请注意，我们__仅实现了 AEI-Net__，而原论文中的结果是由 AEI-Net 和 HEAR-Net 共同生成的。\n\n我们很快将在我们的云 API 服务 [maum.ai](https:\u002F\u002Fmaum.ai\u002F?lang=en) 上发布 FaceShifter。\n\n## 许可证\n\n[BSD 3-Clause 许可证](https:\u002F\u002Fopensource.org\u002Flicenses\u002FBSD-3-Clause)。\n\n## 实现作者\n\nChangho Choi @ MINDs Lab, Inc. (changho@mindslab.ai)\n\n## 论文信息\n\n```bibtex\n@article{li2019faceshifter,\n  title={Faceshifter: Towards high fidelity and occlusion aware face swapping},\n  author={Li, Lingzhi and Bao, Jianmin and Yang, Hao and Chen, Dong and Wen, Fang},\n  journal={arXiv preprint arXiv:1912.13457},\n  year={2019}\n}\n```","# FaceShifter 快速上手指南\n\nFaceShifter 是一个高保真且具备遮挡感知能力的人脸交换模型。本指南基于其非官方 PyTorch 实现（仅包含核心的 AEI-Net 网络），帮助开发者快速搭建环境并运行推理。\n\n## 1. 环境准备\n\n### 系统要求\n- **操作系统**: Linux (推荐 Ubuntu 18.04+)\n- **GPU**: 支持 CUDA 的 NVIDIA 显卡 (建议显存 ≥ 8GB，训练需更高)\n- **Docker**: 强烈建议使用 Docker 部署以避免依赖冲突\n\n### 前置依赖与数据\n在开始之前，请准备好以下数据集并下载预训练权重：\n1. **数据集**: 需自行下载并解压 FFHQ, CelebA-HQ, VGGFace。\n2. **预训练 Arcface 模型**: 训练过程必需。\n   - 下载地址: [Google Drive Link](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1TAb6WNfusbL2Iv3tfRCpMXimZE9tnSUn\u002Fview?usp=sharing)\n   - *注：国内用户若无法访问 Google Drive，请自行寻找 Arcface 预训练权重替代。*\n\n## 2. 安装步骤\n\n本项目推荐使用 Docker 进行环境构建和数据处理，以确保一致性。\n\n### 步骤一：克隆代码\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fmindslab-ai\u002Ffaceshifter.git\ncd faceshifter\n```\n\n### 步骤二：数据预处理 (可选，如需重新训练)\n如果需要使用自定义数据或重新预处理，请构建预处理镜像并运行：\n```bash\n# 构建预处理镜像\ndocker build -t dlib:0.0 .\u002Fpreprocess\n\n# 运行容器 (请替换路径为实际数据路径)\ndocker run -itd --ipc host -v $(pwd)\u002Fpreprocess:\u002Fworkspace -v \u002FPATH_TO_THE_DATA:\u002FDATA -v \u002FPATH_TO_SAVE_DATASET:\u002FRESULT --name dlib --tag dlib:0.0\n\n# 进入容器执行预处理\ndocker attach dlib\npython preprocess.py --root \u002FDATA --output_dir \u002FRESULT\n```\n\n### 步骤三：构建训练\u002F推理环境\n构建主程序所需的 Docker 镜像：\n```bash\ndocker build -t faceshifter:0.0 .\n```\n\n启动容器并挂载必要目录：\n```bash\n# 请替换 \u002FPATH_TO_THIS_FOLDER 为当前项目绝对路径，\u002FPATH_TO_DATASET 为数据集路径\ndocker run -itd --ipc host --gpus all -v $(pwd):\u002Fworkspace -v \u002FPATH_TO_DATASET:\u002FDATA --name FS --tag faceshifter:0.0\n\n# 进入容器\ndocker attach FS\n```\n\n### 步骤四：配置文件调整\n进入容器后，编辑 `config\u002Ftrain.yaml` 以匹配你的环境：\n- 修改 `dataset_dir` 和 `valset_dir` 指向实际数据路径。\n- 根据显存大小调整 `batch_size`。\n- 确认 `chkpt_dir` 用于保存模型检查点。\n\n## 3. 基本使用\n\n### 场景 A：模型推理 (Face Swapping)\n假设你已经拥有训练好的检查点文件（`.ckpt`），或者想测试提供的示例权重。\n\n**命令示例：**\n```bash\npython aei_inference.py --checkpoint_path chkpt\u002Fmy_runname\u002Fepoch=0.ckpt --target_image target.png --source_image source.png --output_path output.png --gpu_num 0\n```\n**参数说明：**\n- `--checkpoint_path`: 预训练模型或你自己训练的 `.ckpt` 文件路径。\n- `--target_image`: 目标图像（提供姿态和表情的人脸）。\n- `--source_image`: 源图像（提供身份特征的人脸）。\n- `--output_path`: 换脸后的输出图片路径。\n- `--gpu_num`: 使用的 GPU 编号。\n\n> **提示**: 你也可以直接使用官方提供的 Colab 示例进行快速体验：[FaceShifter Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1M99jX_nhZ74j_jdYIDtTvDKEE-XVoQnn?usp=sharing)\n\n### 场景 B：开始训练 (可选)\n如果你需要从头训练 AEI-Net：\n\n```bash\npython aei_trainer.py -c config\u002Ftrain.yaml -g 0 -n my_runname\n```\n- `-c`: 配置文件路径。\n- `-g`: 使用的 GPU ID。\n- `-n`: 本次运行的名称（用于区分日志和检查点）。\n\n**断点续训：**\n```bash\npython aei_trainer.py -c config\u002Ftrain.yaml -g 0 -n my_runname -p \u003Ccheckpoint_path>\n```\n\n**监控训练进度：**\n在另一个终端窗口运行 Tensorboard：\n```bash\ntensorboard --log_dir log --bind_all\n```\n然后在浏览器访问对应端口查看 Loss 曲线和验证集生成效果。\n\n---\n*注意：本实现仅包含论文中的 AEI-Net（人脸交换核心网络），不包含 HEAR-Net（遮挡修复网络），因此部分极端遮挡情况下的效果可能与原论文略有差异。*","某影视后期团队在制作一部低成本历史短剧时，需要将现代演员的面部无缝替换到古代替身演员身上，以解决主演档期冲突问题。\n\n### 没有 faceshifter 时\n- 传统换脸算法无法识别遮挡物，当替身演员抬手或转头时，生成的面部会错误地覆盖在手部或背景上，导致画面穿帮。\n- 合成结果缺乏高保真度，肤色、光照与原始场景严重割裂，需要人工逐帧进行繁琐的调色和边缘修复。\n- 难以保持源人物的身份特征，生成的面孔往往丢失了主演的微表情细节，观众一眼就能看出是“假脸”。\n- 处理复杂角度（如大侧脸）时模型容易崩溃，导致项目不得不放弃大量已拍摄的动态镜头，重拍成本高昂。\n\n### 使用 faceshifter 后\n- 利用其独有的遮挡感知机制，faceshifter 能自动检测并保留替身演员的手部、头发等前景遮挡，确保合成逻辑自然真实。\n- 基于 AEI-Net 网络架构，生成的面部在纹理细节和光影融合上达到电影级高保真，大幅减少了后期人工修图的工作量。\n- 精准提取并迁移源人物的身份编码，即使在大笑或皱眉等剧烈表情下，依然能完美还原主演的个人特征。\n- 对多角度人脸具有极强的鲁棒性，团队成功复用了原本因角度刁钻而被废弃的素材，显著降低了重拍预算。\n\nfaceshifter 通过解决遮挡处理与高保真融合的两大难题，让中小团队也能以极低门槛实现专业级的影视换脸特效。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmaum-ai_faceshifter_c3a2ed54.jpg","maum-ai","maum.ai","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmaum-ai_65d1430b.png","maum.ai provides AI platform and various AI engines based on deep machine learning.",null,"http:\u002F\u002Fmaum.ai\u002F","https:\u002F\u002Fgithub.com\u002Fmaum-ai",[80,84],{"name":81,"color":82,"percentage":83},"Python","#3572A5",98.5,{"name":85,"color":86,"percentage":87},"Dockerfile","#384d54",1.5,646,122,"2026-04-11T07:36:38","BSD-3-Clause","Linux","必需 NVIDIA GPU。官方配置示例基于 32GB 显存的 V100，但支持通过修改配置文件适配其他显卡。运行命令中包含 '--gpus all' 参数，表明依赖 CUDA 环境。","未说明",{"notes":96,"python":94,"dependencies":97},"1. 该项目主要推荐使用 Docker 容器进行环境部署和数据预处理（依赖 dlib）。2. 训练前必须手动下载并准备 FFHQ、CelebA-HQ 和 VGGFace 数据集。3. 训练过程需要预先下载提供的 Arcface 预训练模型。4. 此实现仅包含论文中的 AEI-Net 网络，不包含 HEAR-Net。5. 需编辑 YAML 配置文件以匹配本地的数据集路径和 GPU 显存大小。",[98,99,100,101,102,103],"PyTorch","PyTorch-Lightning","Docker","dlib","TensorBoard","Arcface (预训练模型)",[15,14],[106,107,108],"pytorch","pytorch-lightning","face-swapping","2026-03-27T02:49:30.150509","2026-04-17T09:54:13.055286",[112,117,122,127,132,137,141],{"id":113,"question_zh":114,"answer_zh":115,"source_url":116},36919,"训练模型需要多长时间以及需要多少个 epoch？","训练时间取决于硬件环境。例如，使用两张 32G 显存的 V100 GPU 和 32 的 batch size，训练耗时超过一周。如果仅使用 CelebA-HQ 数据集，每个 epoch 大约需要 2-3 小时。","https:\u002F\u002Fgithub.com\u002Fmaum-ai\u002Ffaceshifter\u002Fissues\u002F4",{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},36920,"遇到 'CUDA out of memory'（显存不足）错误该如何解决？","该错误通常是因为 GPU 显存不足。即使将 batch_size 调整为 8、4、2 或 1 仍可能报错。建议在 Linux 终端运行 `watch nvidia-smi` 命令实时监控显存使用情况。如果显存确实不足，可能需要更换更高显存的显卡或优化模型配置。","https:\u002F\u002Fgithub.com\u002Fmaum-ai\u002Ffaceshifter\u002Fissues\u002F9",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},36921,"训练过程中 attr loss 降至接近 0 而 rec loss 停滞在 0.01 不再下降，生成的图像效果变差，这是什么原因？","这通常是模型发生了模式崩溃（mode collapse），导致生成器（G）和判别器（D）不再进行有效的对抗学习，陷入了错误的局部极小值。这种情况常发生在模型容量较大但 batch_size 较小或数据集较小时。解决方案包括：增大数据集规模、增加 batch_size，或者降低学习率（learning rate）。","https:\u002F\u002Fgithub.com\u002Fmaum-ai\u002Ffaceshifter\u002Fissues\u002F20",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},36922,"代码中的 ID Loss 实现与论文描述的余弦相似度（cosine similarity）不同，使用的是 bmm 或内积，这会影响结果吗？","对于单位向量而言，余弦相似度等于内积。代码中使用 bmm（批量矩阵乘法）来实现内积计算，这在数学上是等价的。该项目使用了 ArcFace 作为身份编码器，建议参考 ArcFace 论文以理解其原理。不过也有用户反馈改为显式的余弦格式可能在某些实验中提升性能。","https:\u002F\u002Fgithub.com\u002Fmaum-ai\u002Ffaceshifter\u002Fissues\u002F19",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},36923,"是否有 Google Colab 的使用示例？","维护者已添加了 Colab 示例代码（主要用于推理测试）。由于 Colab 提供的免费算力有限，在该平台上训练此模型非常困难，因此官方主要提供用于测试换脸质量的推理示例。","https:\u002F\u002Fgithub.com\u002Fmaum-ai\u002Ffaceshifter\u002Fissues\u002F2",{"id":138,"question_zh":139,"answer_zh":140,"source_url":116},36924,"训练时应该使用哪些数据集？","官方训练使用了 README 中提到的数据集组合，包括 FFHQ、CelebA-HQ 和 VGG Face。用户也可以根据需要添加其他人脸图像数据。",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},36925,"使用 2080Ti (11G) 显卡即使 batch size 设为 1 也显存溢出，正常训练需要多少显存？","这是一个常见问题，许多用户在使用 11G 显存显卡时即使将 batch size 设为 1 也会遇到 CUDA out of memory 错误。这表明该模型对显存需求较高，可能需要更大显存的 GPU（如 16G 或以上）才能顺利进行训练，或者需要对模型结构进行深度优化以减少显存占用。","https:\u002F\u002Fgithub.com\u002Fmaum-ai\u002Ffaceshifter\u002Fissues\u002F12",[]]