[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-minivision-ai--photo2cartoon":3,"tool-minivision-ai--photo2cartoon":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 真正成长为懂上",151314,2,"2026-04-11T23:32:58",[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":77,"owner_twitter":76,"owner_website":78,"owner_url":79,"languages":80,"stars":85,"forks":86,"last_commit_at":87,"license":88,"difficulty_score":89,"env_os":90,"env_gpu":91,"env_ram":90,"env_deps":92,"category_tags":101,"github_topics":102,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":108,"updated_at":109,"faqs":110,"releases":151},6782,"minivision-ai\u002Fphoto2cartoon","photo2cartoon","人像卡通化探索项目 (photo-to-cartoon translation project)","photo2cartoon 是一款由小视科技开源的人像卡通化项目，旨在将真实照片自动转换为风格可爱的卡通肖像。它主要解决了传统图像转换中难以兼顾“身份特征保持”与“风格化渲染”的痛点：既能让生成的卡通形象拥有大眼睛、小下巴等萌系特征，又能确保用户一眼就能认出画中人是自己，避免了普通滤镜导致的脸型失真或身份模糊。\n\n该项目非常适合 AI 开发者、算法研究人员以及希望集成卡通化功能的工程师使用。虽然普通用户可通过其关联的小程序体验效果，但开源代码更侧重于提供训练和部署的完整流程。\n\n在技术层面，photo2cartoon 基于 U-GAT-IT 架构进行了多项创新。针对非成对数据训练难的问题，它引入了 Face ID Loss，利用预训练人脸识别模型约束生成结果的身份一致性；同时提出了独特的 Soft-AdaLIN 归一化方法，巧妙融合照片与卡通的特征统计量，使过渡更自然。此外，模型还增加了 Hourglass 模块以增强特征重建能力，并配套了完善的人脸检测、校正及背景去除预处理流程，显著降低了训练门槛，是研究非成对图像翻译的优质范例。","\u003Cdiv align='center'>\r\n  \u003Cimg src='https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fminivision-ai_photo2cartoon_readme_759cffe4302d.png'>\r\n\u003C\u002Fdiv>\r\n\r\n# 人像卡通化 (Photo to Cartoon)\r\n\r\n**中文版** | [English Version](README_EN.md)\r\n\r\n该项目为[小视科技](https:\u002F\u002Fwww.minivision.cn\u002F)卡通肖像探索项目。您可使用微信扫描下方二维码或搜索“AI卡通秀”小程序体验卡通化效果。\r\n\r\n\u003Cdiv>\r\n  \u003Cimg src='https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fminivision-ai_photo2cartoon_readme_7c0e1f749077.jpg' height='150px' width='150px'>\r\n\u003C\u002Fdiv>\r\n\r\n也可以前往我们的ai开放平台进行在线体验：[https:\u002F\u002Fai.minivision.cn\u002F#\u002Fcoreability\u002Fcartoon](https:\u002F\u002Fai.minivision.cn\u002F#\u002Fcoreability\u002Fcartoon)\r\n\r\n技术交流QQ群：937627932\r\n\r\n**Updates**\r\n- `2021.12.2`: [在Replicate平台体验](https:\u002F\u002Fbeta.replicate.ai\u002Fhao-qiang\u002Fphoto2cartoon)\r\n- `2020.12.2`: 开源基于paddlepaddle的项目[photo2cartoon-paddle](https:\u002F\u002Fgithub.com\u002Fminivision-ai\u002Fphoto2cartoon-paddle)。\r\n- `2020.12.1`: 增加onnx测试模型, 详情请见 [test_onnx.py](.\u002Ftest_onnx.py)。\r\n\r\n## 简介\r\n人像卡通风格渲染的目标是，在保持原图像ID信息和纹理细节的同时，将真实照片转换为卡通风格的非真实感图像。我们的思路是，从大量照片\u002F卡通数据中习得照片到卡通画的映射。一般而言，基于成对数据的pix2pix方法能达到较好的图像转换效果，但本任务的输入输出轮廓并非一一对应，例如卡通风格的眼睛更大、下巴更瘦；且成对的数据绘制难度大、成本较高，因此我们采用unpaired image translation方法来实现。\r\n\r\nUnpaired image translation流派最经典方法是CycleGAN，但原始CycleGAN的生成结果往往存在较为明显的伪影且不稳定。近期的论文U-GAT-IT提出了一种归一化方法——AdaLIN，能够自动调节Instance Norm和Layer Norm的比重，再结合attention机制能够实现精美的人像日漫风格转换。\r\n\r\n与夸张的日漫风不同，我们的卡通风格更偏写实，要求既有卡通画的简洁Q萌，又有明确的身份信息。为此我们增加了Face ID Loss，使用预训练的人脸识别模型提取照片和卡通画的ID特征，通过余弦距离来约束生成的卡通画。\r\n\r\n此外，我们提出了一种Soft-AdaLIN（Soft Adaptive Layer-Instance Normalization）归一化方法，在反规范化时将编码器的均值方差（照片特征）与解码器的均值方差（卡通特征）相融合。\r\n\r\n模型结构方面，在U-GAT-IT的基础上，我们在编码器之前和解码器之后各增加了2个hourglass模块，渐进地提升模型特征抽象和重建能力。\r\n\r\n由于实验数据较为匮乏，为了降低训练难度，我们将数据处理成固定的模式。首先检测图像中的人脸及关键点，根据人脸关键点旋转校正图像，并按统一标准裁剪，再将裁剪后的头像输入人像分割模型去除背景。\r\n\r\n\u003Cdiv align='center'>\r\n  \u003Cimg src='https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fminivision-ai_photo2cartoon_readme_d296ff1797a6.png'>\r\n\u003C\u002Fdiv>\r\n\r\n## Start\r\n\r\n### 安装依赖库\r\n项目所需的主要依赖库如下：\r\n- python 3.6\r\n- pytorch 1.4\r\n- tensorflow-gpu 1.14\r\n- face-alignment\r\n- dlib\r\n- onnxruntime\r\n\r\n### Clone：\r\n```\r\ngit clone https:\u002F\u002Fgithub.com\u002Fminivision-ai\u002Fphoto2cartoon.git\r\ncd .\u002Fphoto2cartoon\r\n```\r\n\r\n### 下载资源\r\n[谷歌网盘](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1lsQS8hOCquMFKJFhK_z-n03ixWGkjT2P) | [百度网盘](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1MsT3-He3UGipKhUi4OcCJw) 提取码:y2ch\r\n\r\n1. 人像卡通化预训练模型：photo2cartoon_weights.pt(20200504更新)，存放在`models`路径下。\r\n2. 头像分割模型：seg_model_384.pb，存放在`utils`路径下。\r\n3. 人脸识别预训练模型：model_mobilefacenet.pth，存放在`models`路径下。（From: [InsightFace_Pytorch](https:\u002F\u002Fgithub.com\u002FTreB1eN\u002FInsightFace_Pytorch)）\r\n4. 卡通画开源数据：`cartoon_data`，包含`trainB`和`testB`。\r\n5. 人像卡通化onnx模型：photo2cartoon_weights.onnx [谷歌网盘](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1PhwKDUhiq8p-UqrfHCqj257QnqBWD523\u002Fview?usp=sharing)，存放在`models`路径下。\r\n\r\n### 测试\r\n将一张测试照片（亚洲年轻女性）转换为卡通风格：\r\n```\r\npython test.py --photo_path .\u002Fimages\u002Fphoto_test.jpg --save_path .\u002Fimages\u002Fcartoon_result.png\r\n```\r\n\r\n### 测试onnx模型\r\n```\r\npython test_onnx.py --photo_path .\u002Fimages\u002Fphoto_test.jpg --save_path .\u002Fimages\u002Fcartoon_result.png\r\n```\r\n\r\n### 训练\r\n**1.数据准备**\r\n\r\n训练数据包括真实照片和卡通画像，为降低训练复杂度，我们对两类数据进行了如下预处理：\r\n- 检测人脸及关键点。\r\n- 根据关键点旋转校正人脸。\r\n- 将关键点边界框按固定的比例扩张并裁剪出人脸区域。\r\n- 使用人像分割模型将背景置白。\r\n\r\n\u003Cdiv align='center'>\r\n  \u003Cimg src='https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fminivision-ai_photo2cartoon_readme_9a69838d543d.jpg'>\r\n\u003C\u002Fdiv>\r\n\r\n我们开源了204张处理后的卡通画数据，您还需准备约1000张人像照片（为匹配卡通数据，尽量使用亚洲年轻女性照片，人脸大小最好超过200x200像素），使用以下命令进行预处理：\r\n\r\n```\r\npython data_process.py --data_path YourPhotoFolderPath --save_path YourSaveFolderPath\r\n```\r\n\r\n将处理后的数据按照以下层级存放，`trainA`、`testA`中存放照片头像数据，`trainB`、`testB`中存放卡通头像数据。\r\n\r\n```\r\n├── dataset\r\n    └── photo2cartoon\r\n        ├── trainA\r\n            ├── xxx.jpg\r\n            ├── yyy.png\r\n            └── ...\r\n        ├── trainB\r\n            ├── zzz.jpg\r\n            ├── www.png\r\n            └── ...\r\n        ├── testA\r\n            ├── aaa.jpg \r\n            ├── bbb.png\r\n            └── ...\r\n        └── testB\r\n            ├── ccc.jpg \r\n            ├── ddd.png\r\n            └── ...\r\n```\r\n\r\n**2.训练**\r\n\r\n重新训练:\r\n```\r\npython train.py --dataset photo2cartoon\r\n```\r\n\r\n加载预训练参数:\r\n```\r\npython train.py --dataset photo2cartoon --pretrained_weights models\u002Fphoto2cartoon_weights.pt\r\n```\r\n\r\n多GPU训练(仍建议使用batch_size=1，单卡训练):\r\n```\r\npython train.py --dataset photo2cartoon --batch_size 4 --gpu_ids 0 1 2 3\r\n```\r\n\r\n## Q&A\r\n#### Q：为什么开源的卡通化模型与小程序中的效果有差异？\r\n\r\nA：开源模型的训练数据收集自互联网，为了得到更加精美的效果，我们在训练小程序中卡通化模型时，采用了定制的卡通画数据（200多张），且增大了输入分辨率。此外，小程序中的人脸特征提取器采用自研的识别模型，效果优于本项目使用的开源识别模型。\r\n\r\n#### Q：如何选取效果最好的模型？\r\n\r\nA：首先训练模型200k iterations，然后使用FID指标挑选出最优模型，最终挑选出的模型为迭代90k iterations时的模型。\r\n\r\n#### Q：关于人脸特征提取模型。\r\n\r\nA：实验中我们发现，使用自研的识别模型计算Face ID Loss训练效果远好于使用开源识别模型，若训练效果出现鲁棒性问题，可尝试将Face ID Loss权重置零。\r\n\r\n#### Q：人像分割模型是否能用与分割半身像？\r\nA：不能。该模型是针对本项目训练的专用模型，需先裁剪出人脸区域再输入。\r\n\r\n## Tips\r\n我们开源的模型是基于亚洲年轻女性训练的，对于其他人群覆盖不足，您可根据使用场景自行收集相应人群的数据进行训练。我们的[开放平台](https:\u002F\u002Fai.minivision.cn\u002F#\u002Fcoreability\u002Fcartoon)提供了能够覆盖各类人群的卡通化服务，您可前往体验。如有定制卡通风格需求请联系商务:18852075216。\r\n\r\n## 参考\r\nU-GAT-IT: Unsupervised Generative Attentional Networks with Adaptive Layer-Instance Normalization for Image-to-Image Translation [[Paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F1907.10830)][[Code](https:\u002F\u002Fgithub.com\u002Fznxlwm\u002FUGATIT-pytorch)]\r\n\r\n[InsightFace_Pytorch](https:\u002F\u002Fgithub.com\u002FTreB1eN\u002FInsightFace_Pytorch)\r\n\r\n","\u003Cdiv align='center'>\r\n  \u003Cimg src='https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fminivision-ai_photo2cartoon_readme_759cffe4302d.png'>\r\n\u003C\u002Fdiv>\r\n\r\n# 人像卡通化 (Photo to Cartoon)\r\n\r\n**中文版** | [English Version](README_EN.md)\r\n\r\n该项目为[小视科技](https:\u002F\u002Fwww.minivision.cn\u002F)卡通肖像探索项目。您可使用微信扫描下方二维码或搜索“AI卡通秀”小程序体验卡通化效果。\r\n\r\n\u003Cdiv>\r\n  \u003Cimg src='https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fminivision-ai_photo2cartoon_readme_7c0e1f749077.jpg' height='150px' width='150px'>\r\n\u003C\u002Fdiv>\r\n\r\n也可以前往我们的ai开放平台进行在线体验：[https:\u002F\u002Fai.minivision.cn\u002F#\u002Fcoreability\u002Fcartoon](https:\u002F\u002Fai.minivision.cn\u002F#\u002Fcoreability\u002Fcartoon)\r\n\r\n技术交流QQ群：937627932\r\n\r\n**Updates**\r\n- `2021.12.2`: [在Replicate平台体验](https:\u002F\u002Fbeta.replicate.ai\u002Fhao-qiang\u002Fphoto2cartoon)\r\n- `2020.12.2`: 开源基于paddlepaddle的项目[photo2cartoon-paddle](https:\u002F\u002Fgithub.com\u002Fminivision-ai\u002Fphoto2cartoon-paddle)。\r\n- `2020.12.1`: 增加onnx测试模型, 详情请见 [test_onnx.py](.\u002Ftest_onnx.py)。\r\n\r\n## 简介\r\n人像卡通风格渲染的目标是，在保持原图像ID信息和纹理细节的同时，将真实照片转换为卡通风格的非真实感图像。我们的思路是，从大量照片\u002F卡通数据中习得照片到卡通画的映射。一般而言，基于成对数据的pix2pix方法能达到较好的图像转换效果，但本任务的输入输出轮廓并非一一对应，例如卡通风格的眼睛更大、下巴更瘦；且成对的数据绘制难度大、成本较高，因此我们采用unpaired image translation方法来实现。\r\n\r\nUnpaired image translation流派最经典方法是CycleGAN，但原始CycleGAN的生成结果往往存在较为明显的伪影且不稳定。近期的论文U-GAT-IT提出了一种归一化方法——AdaLIN，能够自动调节Instance Norm和Layer Norm的比重，再结合attention机制能够实现精美的人像日漫风格转换。\r\n\r\n与夸张的日漫风不同，我们的卡通风格更偏写实，要求既有卡通画的简洁Q萌，又有明确的身份信息。为此我们增加了Face ID Loss，使用预训练的人脸识别模型提取照片和卡通画的ID特征，通过余弦距离来约束生成的卡通画。\r\n\r\n此外，我们提出了一种Soft-AdaLIN（Soft Adaptive Layer-Instance Normalization）归一化方法，在反规范化时将编码器的均值方差（照片特征）与解码器的均值方差（卡通特征）相融合。\r\n\r\n模型结构方面，在U-GAT-IT的基础上，我们在编码器之前和解码器之后各增加了2个hourglass模块，渐进地提升模型特征抽象和重建能力。\r\n\r\n由于实验数据较为匮乏，为了降低训练难度，我们将数据处理成固定的模式。首先检测图像中的人脸及关键点，根据人脸关键点旋转校正图像，并按统一标准裁剪，再将裁剪后的头像输入人像分割模型去除背景。\r\n\r\n\u003Cdiv align='center'>\r\n  \u003Cimg src='https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fminivision-ai_photo2cartoon_readme_d296ff1797a6.png'>\r\n\u003C\u002Fdiv>\r\n\r\n## Start\r\n\r\n### 安装依赖库\r\n项目所需的主要依赖库如下：\r\n- python 3.6\r\n- pytorch 1.4\r\n- tensorflow-gpu 1.14\r\n- face-alignment\r\n- dlib\r\n- onnxruntime\r\n\r\n### Clone：\r\n```\r\ngit clone https:\u002F\u002Fgithub.com\u002Fminivision-ai\u002Fphoto2cartoon.git\r\ncd .\u002Fphoto2cartoon\r\n```\r\n\r\n### 下载资源\r\n[谷歌网盘](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1lsQS8hOCquMFKJFhK_z-n03ixWGkjT2P) | [百度网盘](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1MsT3-He3UGipKhUi4OcCJw) 提取码:y2ch\r\n\r\n1. 人像卡通化预训练模型：photo2cartoon_weights.pt(20200504更新)，存放在`models`路径下。\r\n2. 头像分割模型：seg_model_384.pb，存放在`utils`路径下。\r\n3. 人脸识别预训练模型：model_mobilefacenet.pth，存放在`models`路径下。（From: [InsightFace_Pytorch](https:\u002F\u002Fgithub.com\u002FTreB1eN\u002FInsightFace_Pytorch)）\r\n4. 卡通画开源数据：`cartoon_data`，包含`trainB`和`testB`。\r\n5. 人像卡通化onnx模型：photo2cartoon_weights.onnx [谷歌网盘](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1PhwKDUhiq8p-UqrfHCqj257QnqBWD523\u002Fview?usp=sharing)，存放在`models`路径下。\r\n\r\n### 测试\r\n将一张测试照片（亚洲年轻女性）转换为卡通风格：\r\n```\r\npython test.py --photo_path .\u002Fimages\u002Fphoto_test.jpg --save_path .\u002Fimages\u002Fcartoon_result.png\r\n```\r\n\r\n### 测试onnx模型\r\n```\r\npython test_onnx.py --photo_path .\u002Fimages\u002Fphoto_test.jpg --save_path .\u002Fimages\u002Fcartoon_result.png\r\n```\r\n\r\n### 训练\r\n**1.数据准备**\r\n\r\n训练数据包括真实照片和卡通画像，为降低训练复杂度，我们对两类数据进行了如下预处理：\r\n- 检测人脸及关键点。\r\n- 根据关键点旋转校正人脸。\r\n- 将关键点边界框按固定的比例扩张并裁剪出人脸区域。\r\n- 使用人像分割模型将背景置白。\r\n\r\n\u003Cdiv align='center'>\r\n  \u003Cimg src='https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fminivision-ai_photo2cartoon_readme_9a69838d543d.jpg'>\r\n\u003C\u002Fdiv>\r\n\r\n我们开源了204张处理后的卡通画数据，您还需准备约1000张人像照片（为匹配卡通数据，尽量使用亚洲年轻女性照片，人脸大小最好超过200x200像素），使用以下命令进行预处理：\r\n\r\n```\r\npython data_process.py --data_path YourPhotoFolderPath --save_path YourSaveFolderPath\r\n```\r\n\r\n将处理后的数据按照以下层级存放，`trainA`、`testA`中存放照片头像数据，`trainB`、`testB`中存放卡通头像数据。\r\n\r\n```\r\n├── dataset\r\n    └── photo2cartoon\r\n        ├── trainA\r\n            ├── xxx.jpg\r\n            ├── yyy.png\r\n            └── ...\r\n        ├── trainB\r\n            ├── zzz.jpg\r\n            ├── www.png\r\n            └── ...\r\n        ├── testA\r\n            ├── aaa.jpg \r\n            ├── bbb.png\r\n            └── ...\r\n        └── testB\r\n            ├── ccc.jpg \r\n            ├── ddd.png\r\n            └── ...\r\n```\r\n\r\n**2.训练**\r\n\r\n重新训练:\r\n```\r\npython train.py --dataset photo2cartoon\r\n```\r\n\r\n加载预训练参数:\r\n```\r\npython train.py --dataset photo2cartoon --pretrained_weights models\u002Fphoto2cartoon_weights.pt\r\n```\r\n\r\n多GPU训练(仍建议使用batch_size=1，单卡训练):\r\n```\r\npython train.py --dataset photo2cartoon --batch_size 4 --gpu_ids 0 1 2 3\r\n```\r\n\r\n## Q&A\r\n#### Q：为什么开源的卡通化模型与小程序中的效果有差异？\r\n\r\nA：开源模型的训练数据收集自互联网，为了得到更加精美的效果，我们在训练小程序中卡通化模型时，采用了定制的卡通画数据（200多张），且增大了输入分辨率。此外，小程序中的人脸特征提取器采用自研的识别模型，效果优于本项目使用的开源识别模型。\r\n\r\n#### Q：如何选取效果最好的模型？\r\n\r\nA：首先训练模型200k iterations，然后使用FID指标挑选出最优模型，最终挑选出的模型为迭代90k iterations时的模型。\r\n\r\n#### Q：关于人脸特征提取模型。\r\n\r\nA：实验中我们发现，使用自研的识别模型计算Face ID Loss训练效果远好于使用开源识别模型，若训练效果出现鲁棒性问题，可尝试将Face ID Loss权重置零。\r\n\r\n#### Q：人像分割模型是否能用与分割半身像？\r\nA：不能。该模型是针对本项目训练的专用模型，需先裁剪出人脸区域再输入。\r\n\r\n## Tips\r\n我们开源的模型是基于亚洲年轻女性训练的，对于其他人群覆盖不足，您可根据使用场景自行收集相应人群的数据进行训练。我们的[开放平台](https:\u002F\u002Fai.minivision.cn\u002F#\u002Fcoreability\u002Fcartoon)提供了能够覆盖各类人群的卡通化服务，您可前往体验。如有定制卡通风格需求请联系商务:18852075216。\r\n\r\n## 参考\r\nU-GAT-IT: Unsupervised Generative Attentional Networks with Adaptive Layer-Instance Normalization for Image-to-Image Translation [[Paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F1907.10830)][[Code](https:\u002F\u002Fgithub.com\u002Fznxlwm\u002FUGATIT-pytorch)]\r\n\r\n[InsightFace_Pytorch](https:\u002F\u002Fgithub.com\u002FTreB1eN\u002FInsightFace_Pytorch)","# photo2cartoon 快速上手指南\n\n本项目由小视科技开源，旨在将真实人像照片转换为卡通风格图像。模型在保持人物身份特征（ID）和纹理细节的同时，生成简洁 Q 萌的卡通画像。\n\n## 1. 环境准备\n\n### 系统要求\n- **操作系统**: Linux \u002F macOS \u002F Windows\n- **Python 版本**: 3.6\n- **GPU**: 推荐配备 NVIDIA GPU 以加速推理和训练\n\n### 前置依赖\n请确保已安装以下核心库：\n- `pytorch` >= 1.4\n- `tensorflow-gpu` == 1.14 (用于部分预处理工具)\n- `face-alignment`\n- `dlib`\n- `onnxruntime` (可选，用于 ONNX 模型测试)\n\n> **提示**：建议使用国内镜像源加速 Python 包安装，例如清华源或阿里源。\n> ```bash\n> pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple \u003Cpackage_name>\n> ```\n\n## 2. 安装步骤\n\n### 克隆项目\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fminivision-ai\u002Fphoto2cartoon.git\ncd .\u002Fphoto2cartoon\n```\n\n### 下载资源文件\n项目依赖预训练模型和数据集，请通过以下国内镜像链接下载所需文件，并按指定目录存放：\n\n**下载地址（百度网盘）**：[点击下载](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1MsT3-He3UGipKhUi4OcCJw) (提取码: `y2ch`)\n\n**文件存放结构**：\n1. **人像卡通化主模型** (`photo2cartoon_weights.pt`) -> 放入 `models\u002F` 目录\n2. **头像分割模型** (`seg_model_384.pb`) -> 放入 `utils\u002F` 目录\n3. **人脸识别预训练模型** (`model_mobilefacenet.pth`) -> 放入 `models\u002F` 目录\n4. *(可选)* **ONNX 模型** (`photo2cartoon_weights.onnx`) -> 放入 `models\u002F` 目录\n\n## 3. 基本使用\n\n### 快速测试（PyTorch 版本）\n将一张测试照片（推荐亚洲年轻女性，人脸清晰）转换为卡通风格。\n\n```bash\npython test.py --photo_path .\u002Fimages\u002Fphoto_test.jpg --save_path .\u002Fimages\u002Fcartoon_result.png\n```\n\n### 快速测试（ONNX 版本）\n如果您希望使用轻量级的 ONNX 模型进行推理：\n\n```bash\npython test_onnx.py --photo_path .\u002Fimages\u002Fphoto_test.jpg --save_path .\u002Fimages\u002Fcartoon_result.png\n```\n\n### 数据预处理（如需自行训练）\n若需准备自己的训练数据，请先对照片进行人脸检测、校正、裁剪及背景去除处理：\n\n```bash\npython data_process.py --data_path YourPhotoFolderPath --save_path YourSaveFolderPath\n```\n\n处理后的数据需按照 `dataset\u002Fphoto2cartoon\u002FtrainA`, `trainB`, `testA`, `testB` 的目录结构存放，方可启动训练。","某初创社交应用团队希望为用户生成专属的“日漫风格”头像，以提升社区活跃度和个性化体验。\n\n### 没有 photo2cartoon 时\n- **开发成本高昂**：团队需从零收集成对的真实照片与卡通画数据，但此类数据绘制难度大、版权成本高，且难以满足“非一一对应”的风格转换需求（如卡通眼睛更大、下巴更瘦）。\n- **生成效果失真**：若直接使用基础的 CycleGAN 模型，生成的图像往往存在明显伪影，人脸身份信息丢失严重，导致用户无法辨认出是自己。\n- **流程繁琐低效**：缺乏自动化的预处理机制，开发人员需手动编写代码进行人脸检测、旋转校正及背景去除，耗时耗力且难以统一标准。\n\n### 使用 photo2cartoon 后\n- **数据门槛降低**：利用 photo2cartoon 支持的无配对图像翻译（Unpaired Image Translation）技术，团队仅需准备少量网络公开的卡通图和用户照片即可训练，大幅降低了数据获取成本。\n- **身份特征保留**：借助模型内置的 Face ID Loss 和 Soft-AdaLIN 归一化方法，生成的卡通头像在保持 Q 萌画风的同时，精准保留了用户的面部识别特征，避免了“换脸”尴尬。\n- **自动化流水线**：photo2cartoon 集成了完整的人脸关键点检测与背景分割预处理流程，输入原始照片即可一键输出标准化的高质量卡通图，显著提升了开发效率。\n\nphoto2cartoon 通过创新的无配对学习与身份约束机制，让低成本、高保真的人像卡通化落地成为可能。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fminivision-ai_photo2cartoon_759cffe4.png","minivision-ai","Minivision_AI","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fminivision-ai_7a7b384e.png","",null,"ai@minivision.cn","https:\u002F\u002Fwww.minivision.cn\u002F","https:\u002F\u002Fgithub.com\u002Fminivision-ai",[81],{"name":82,"color":83,"percentage":84},"Python","#3572A5",100,4019,769,"2026-04-11T17:31:10","MIT",4,"未说明","需要 NVIDIA GPU (依赖 tensorflow-gpu 1.14)，具体显存大小和 CUDA 版本未说明",{"notes":93,"python":94,"dependencies":95},"项目基于较旧的框架版本（PyTorch 1.4, TF 1.14），需注意兼容性。训练数据建议为亚洲年轻女性照片。模型运行前需手动下载预训练权重、分割模型及人脸识别模型（约数百 MB）。人像分割模型仅适用于裁剪后的人脸区域，不支持半身像直接分割。","3.6",[96,97,98,99,100],"pytorch==1.4","tensorflow-gpu==1.14","face-alignment","dlib","onnxruntime",[15,14],[103,104,105,106,107],"cartoon","deep-learning","computer-vision","gan","avatar-generator","2026-03-27T02:49:30.150509","2026-04-12T09:10:53.434901",[111,116,121,126,131,136,141,146],{"id":112,"question_zh":113,"answer_zh":114,"source_url":115},30582,"是否提供了 ONNX 格式的模型导出？","维护者已经上传了 ONNX 格式的模型文件（model.onnx），可以直接下载使用，无需自行导出。","https:\u002F\u002Fgithub.com\u002Fminivision-ai\u002Fphoto2cartoon\u002Fissues\u002F38",{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},30576,"为什么使用官方预训练模型生成的卡通人像效果很差，或者男性照片被女性化了？","开源的预训练模型是基于亚洲女性数据训练的，因此输入男性照片可能会导致结果偏女性化，且风格可能不符合所有用户预期。如果需要不同性别或年龄段的效果，建议体验项目方的小程序。若需自定义风格，可以收集特定风格的数据集重新训练模型。","https:\u002F\u002Fgithub.com\u002Fminivision-ai\u002Fphoto2cartoon\u002Fissues\u002F1",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},30577,"如何在同一环境中同时安装 PyTorch 1.4 和 TensorFlow 1.14（CUDA 版本冲突问题）？","建议使用 Conda 配置环境。实际上，PyTorch 1.0+ 和 TensorFlow 1.12+ 通常都可以运行本项目。如果只是为了测试功能，可以直接安装 CPU 版本的库，以避免 CUDA 版本冲突。项目主要的依赖库包括 tensorflow、pytorch、face-alignment（依赖 dlib）、numpy 和 opencv 等，缺少哪个补装哪个即可。","https:\u002F\u002Fgithub.com\u002Fminivision-ai\u002Fphoto2cartoon\u002Fissues\u002F31",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},30578,"转换后的卡通人脸肤色发白，如何改善？","有两种解决方法：\n1. 将训练数据中的卡通画肤色调成想要的颜色，然后重新训练模型。\n2. 在生成结果后，使用图像处理方法添加滤镜进行后期调整。","https:\u002F\u002Fgithub.com\u002Fminivision-ai\u002Fphoto2cartoon\u002Fissues\u002F30",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},30579,"是否有移动端应用或支持移动端实时离线计算？","目前该项目暂时没有提供移动端应用。原始的 UGATIT 模型未经修改直接在手机上运行速度很慢。类似抖音的特效可能使用了针对手机优化的极小网络结构，并限制了训练数据集（如只生成少量固定的卡通形象）来实现实时性，但这会牺牲生成的多样性。","https:\u002F\u002Fgithub.com\u002Fminivision-ai\u002Fphoto2cartoon\u002Fissues\u002F28",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},30580,"如何选取效果最好的模型？训练数据中真人照和卡通画的比例是多少？","通常先训练模型（如 20 万步），然后使用 FID 指标挑选出最优模型（例如迭代 9 万步时的模型），而不是直接训练到默认的最大步数，因为中间某个阶段的模型效果可能最好。\n关于数据比例：在训练小程序模型时，约为每类人群绘制 200 张卡通画，收集 1000 张真人照（比例约 1:5）。这是因为真人照场景更丰富且易获取，希望模型能覆盖更多输入场景，具体最佳比例未做过多实验。","https:\u002F\u002Fgithub.com\u002Fminivision-ai\u002Fphoto2cartoon\u002Fissues\u002F13",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},30581,"如何加载预训练权重进行微调（Finetune），而不是从 0 迭代开始训练？","需要修改代码以从预训练权重的文件名中解析出已训练的步数（step）。可以参考 models\u002FUGATIT_sadalin_hourglass.py 文件中的相关逻辑（第 137-146 行），通过更改预训练权重的命名规则或直接从中获取 step 值，从而让训练从上一次的检查点继续，而不是重置为 0。","https:\u002F\u002Fgithub.com\u002Fminivision-ai\u002Fphoto2cartoon\u002Fissues\u002F40",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},30583,"训练时是否必须按照关键点旋转人脸进行裁剪？","根据关键点校正人脸裁切可以使五官位置更统一，一定程度上降低训练难度。但由于模型较为鲁棒，即使不按照关键点旋转人脸（例如面对旋转的人脸），模型也能较好地生成卡通画，不是强制必须的步骤。","https:\u002F\u002Fgithub.com\u002Fminivision-ai\u002Fphoto2cartoon\u002Fissues\u002F14",[]]