[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-buaacyw--MeshAnythingV2":3,"tool-buaacyw--MeshAnythingV2":61},[4,18,26,36,44,52],{"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 真正成长为懂上",147882,2,"2026-04-09T11:32:47",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108111,"2026-04-08T11:23:26",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"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",[35,15,13,14],{"id":53,"name":54,"github_repo":55,"description_zh":56,"stars":57,"difficulty_score":10,"last_commit_at":58,"category_tags":59,"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,60],"视频",{"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":77,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":91,"forks":92,"last_commit_at":93,"license":94,"difficulty_score":95,"env_os":96,"env_gpu":97,"env_ram":98,"env_deps":99,"category_tags":109,"github_topics":111,"view_count":32,"oss_zip_url":79,"oss_zip_packed_at":79,"status":17,"created_at":118,"updated_at":119,"faqs":120,"releases":150},5998,"buaacyw\u002FMeshAnythingV2","MeshAnythingV2","[ICCV 2025] From anything to mesh like human artists. Official impl. of \"MeshAnything V2: Artist-Created Mesh Generation With Adjacent Mesh Tokenization\"","MeshAnythingV2 是一款能够像人类艺术家一样生成高质量 3D 网格模型的开源 AI 工具。它主要解决了现有自动化建模工具生成的模型拓扑结构混乱、布线不合理，难以直接用于专业生产流程的痛点。通过独特的“相邻网格标记化”（Adjacent Mesh Tokenization）技术，MeshAnythingV2 能深入理解网格的几何邻接关系，将粗糙或密集的输入网格重构为布线整洁、结构优化的艺术级模型。\n\n该工具特别适合 3D 设计师、游戏开发者以及计算机图形学研究人员使用。对于设计师而言，它可以作为强大的后处理助手，将其他生成式模型（如 Rodin）输出的高密度网格转化为低多边形、易编辑的专业资产；对于研究人员，它提供了复现前沿 ICCV 2025 研究成果的代码与预训练权重。无论是通过命令行处理单个文件还是批量文件夹，MeshAnythingV2 都能高效工作，并支持可选的 marching cubes 预处理以确保最佳效果。如果你追求既具备自动化效率又拥有手工建模般优良拓扑的 3D 内容创作，这款工具值得尝试。","\u003Cp align=\"center\">\n  \u003Ch3 align=\"center\">\u003Cstrong>MeshAnything V2:\u003Cbr> Artist-Created Mesh Generation\u003Cbr>With Adjacent Mesh Tokenization\u003C\u002Fstrong>\u003C\u002Fh3>\n\n\u003Cp align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Fbuaacyw.github.io\u002F\">Yiwen Chen\u003C\u002Fa>\u003Csup>1,2\u003C\u002Fsup>,\n    \u003Ca href=\"https:\u002F\u002Fyikaiw.github.io\u002F\">Yikai Wang\u003C\u002Fa>\u003Csup>3\u003C\u002Fsup>\u003Cspan class=\"note\">*\u003C\u002Fspan>,\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FLuo-Yihao\">Yihao Luo\u003C\u002Fa>\u003Csup>4\u003C\u002Fsup>,\n    \u003Ca href=\"https:\u002F\u002Fthuwzy.github.io\u002F\">Zhengyi Wang\u003C\u002Fa>\u003Csup>2,3\u003C\u002Fsup>,\n    \u003Cbr>\n    \u003Ca href=\"https:\u002F\u002Fscholar.google.com\u002Fcitations?user=2pbka1gAAAAJ&hl=en\">Zilong Chen\u003C\u002Fa>\u003Csup>2,3\u003C\u002Fsup>,\n    \u003Ca href=\"https:\u002F\u002Fml.cs.tsinghua.edu.cn\u002F~jun\u002Findex.shtml\">Jun Zhu\u003C\u002Fa>\u003Csup>2,3\u003C\u002Fsup>,\n    \u003Ca href=\"https:\u002F\u002Ficoz69.github.io\u002F\">Chi Zhang\u003C\u002Fa>\u003Csup>5\u003C\u002Fsup>\u003Cspan class=\"note\">*\u003C\u002Fspan>,\n    \u003Ca href=\"https:\u002F\u002Fguosheng.github.io\u002F\">Guosheng Lin\u003C\u002Fa>\u003Csup>1\u003C\u002Fsup>\u003Cspan class=\"note\">*\u003C\u002Fspan>\n    \u003Cbr>\n    \u003Csup>*\u003C\u002Fsup>Corresponding authors.\n    \u003Cbr>\n    \u003Csup>1\u003C\u002Fsup>S-Lab, Nanyang Technological University,\n    \u003Csup>2\u003C\u002Fsup>Shengshu,\n    \u003Cbr>\n    \u003Csup>3\u003C\u002Fsup>Tsinghua University,\n    \u003Csup>4\u003C\u002Fsup>Imperial College London,\n    \u003Csup>5\u003C\u002Fsup>Westlake University\n\u003C\u002Fp>\n\n\n\n\u003Cdiv align=\"center\">\n\n\u003Ca href='https:\u002F\u002Farxiv.org\u002Fabs\u002F2408.02555'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2408.02555-b31b1b.svg'>\u003C\u002Fa> &nbsp;&nbsp;&nbsp;&nbsp;\n \u003Ca href='https:\u002F\u002Fbuaacyw.github.io\u002Fmeshanything-v2\u002F'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FProject-Page-Green'>\u003C\u002Fa> &nbsp;&nbsp;&nbsp;&nbsp;\n\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002FYiwen-ntu\u002FMeshAnythingV2\u002Ftree\u002Fmain\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Weights-HF-orange\">\u003C\u002Fa> &nbsp;&nbsp;&nbsp;&nbsp;\n\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FYiwen-ntu\u002FMeshAnythingV2\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Gradio%20Demo-HF-orange\">\u003C\u002Fa>\n\n\u003C\u002Fdiv>\n\n\n\u003Cp align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbuaacyw_MeshAnythingV2_readme_1630f28c1eaf.gif\" alt=\"Demo GIF\" width=\"512px\" \u002F>\n\u003C\u002Fp>\n\n\n## Contents\n- [Contents](#contents)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Training](#training)\n- [Important Notes](#important-notes)\n- [Acknowledgement](#acknowledgement)\n- [BibTeX](#bibtex)\n\n## Installation\nOur environment has been tested on Ubuntu 22, CUDA 11.8 with A800.\n1. Clone our repo and create conda environment\n```\ngit clone https:\u002F\u002Fgithub.com\u002Fbuaacyw\u002FMeshAnythingV2.git && cd MeshAnythingV2\nconda create -n MeshAnythingV2 python==3.10.13 -y\nconda activate MeshAnythingV2\npip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu118\npip install -r requirements.txt\npip install -r training_requirements.txt # in case you want to train\npip install flash-attn --no-build-isolation\npip install -U gradio\n```\n\n## Usage\n\n### Implementation of Adjacent Mesh Tokenization and Detokenization\n```\n# We release our adjacent mesh tokenization implementation in adjacent_mesh_tokenization.py.\n# For detokenization please check the function adjacent_detokenize in MeshAnything\u002Fmodels\u002Fmeshanything_v2.py\npython adjacent_mesh_tokenization.py\n```\n\n\n### For text\u002Fimage to Artist-Create Mesh. We suggest using [Rodin](https:\u002F\u002Fhyperhuman.deemos.com\u002Frodin) to first achieve text or image to dense mesh. And then input the dense mesh to us.\n```\n# Put the output obj file of Rodin to rodin_result and using the following command to generate the Artist-Created Mesh.\n# We suggest using the --mc flag to preprocess the input mesh with Marching Cubes first. This helps us to align the inference point cloud to our training domain.\npython main.py --input_dir rodin_result --out_dir mesh_output --input_type mesh --mc\n```\n\n### Mesh Command line inference\n#### Important Notes: If your mesh input is not produced by Marching Cubes, We suggest you to preprocess the mesh with Marching Cubes first (simply by adding --mc).\n```\n# folder input\npython main.py --input_dir examples --out_dir mesh_output --input_type mesh\n\n# single file input\npython main.py --input_path examples\u002Fwand.obj --out_dir mesh_output --input_type mesh\n\n# Preprocess with Marching Cubes first\npython main.py --input_dir examples --out_dir mesh_output --input_type mesh --mc\n\n# The mc resolution is default to be 128. For some delicate mesh, this resolution is not sufficient. Raise this resolution takes more time to preprocess but should achieve a better result.\n# Change it by : --mc_level 7 -> 128 (2^7), --mc_level 8 -> 256 (2^8).\n# 256 resolution Marching Cube example.\npython main.py --input_dir examples --out_dir mesh_output --input_type mesh --mc --mc_level 8\n```\n\n### Point Cloud Command line inference\n```\n# Note: if you want to use your own point cloud, please make sure the normal is included.\n# The file format should be a .npy file with shape (N, 6), where N is the number of points. The first 3 columns are the coordinates, and the last 3 columns are the normal.\n\n# inference for folder\npython main.py --input_dir pc_examples --out_dir pc_output --input_type pc_normal\n\n# inference for single file\npython main.py --input_path pc_examples\u002Fgrenade.npy --out_dir pc_output --input_type pc_normal\n```\n\n### Local Gradio Demo \u003Ca href='https:\u002F\u002Fgithub.com\u002Fgradio-app\u002Fgradio'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fgradio-app\u002Fgradio'>\u003C\u002Fa>\n```\npython app.py\n```\n\n## Training\n\n### Step 1 Download Dataset\nWe provide part of our processed dataset from Objaverse. You can download it from https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FYiwen-ntu\u002FMeshAnythingV2\u002Ftree\u002Fmain\n\nAfter downloading, place `train.npz` and `test.npz` into the `dataset` directory.\n\nIf you prefer to process your own data, please refer to `data_process.py`.\n\n### Step 2 Download Point Cloud Encoder Checkpoints\n\nDownload Michelangelo's point encoder from https:\u002F\u002Fhuggingface.co\u002FMaikou\u002FMichelangelo\u002Ftree\u002Fmain\u002Fcheckpoints\u002Faligned_shape_latents and put it into `meshanything_train\u002Fmiche\u002Fcheckpoints\u002Faligned_shape_latents\u002Fshapevae-256.ckpt`.\n\n### Step 3 Training and Evaluation\n```\n# Training with MultiGPU\naccelerate launch --multi_gpu --num_processes 8 train.py  --batchsize_per_gpu 2 --checkpoint_dir training_trial\n\n# Evaluation\npython train.py --batchsize_per_gpu 2 --checkpoint_dir evaluation_trial --pretrained_weights gpt_output\u002Ftraining_trial\u002Fxxx_xxx.pth --test_only\n```\n\n## Important Notes\n- It takes about 8GB and 45s to generate a mesh on an A6000 GPU (depending on the face number of the generated mesh).\n- The input mesh will be normalized to a unit bounding box. The up vector of the input mesh should be +Y for better results.\n- Limited by computational resources, MeshAnything is trained on meshes with fewer than 1600 faces and cannot generate meshes with more than 1600 faces. The shape of the input mesh should be sharp enough; otherwise, it will be challenging to represent it with only 1600 faces. Thus, feed-forward 3D generation methods may often produce bad results due to insufficient shape quality. We suggest using results from 3D reconstruction, scanning, SDS-based method (like [DreamCraft3D](https:\u002F\u002Fgithub.com\u002Fdeepseek-ai\u002FDreamCraft3D)) or [Rodin](https:\u002F\u002Fhyperhuman.deemos.com\u002Frodin) as the input of MeshAnything.\n- Please refer to https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FYiwen-ntu\u002FMeshAnything\u002Ftree\u002Fmain\u002Fexamples for more examples.\n\n## Acknowledgement\n\nOur code is based on these wonderful repos:\n\n* [MeshAnything](https:\u002F\u002Fgithub.com\u002Fbuaacyw\u002FMeshAnything)\n* [MeshGPT](https:\u002F\u002Fnihalsid.github.io\u002Fmesh-gpt\u002F)\n* [meshgpt-pytorch](https:\u002F\u002Fgithub.com\u002Flucidrains\u002Fmeshgpt-pytorch)\n* [Michelangelo](https:\u002F\u002Fgithub.com\u002FNeuralCarver\u002FMichelangelo)\n* [transformers](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers)\n* [vector-quantize-pytorch](https:\u002F\u002Fgithub.com\u002Flucidrains\u002Fvector-quantize-pytorch)\n\n## BibTeX\n```\n@misc{chen2024meshanythingv2artistcreatedmesh,\n      title={MeshAnything V2: Artist-Created Mesh Generation With Adjacent Mesh Tokenization}, \n      author={Yiwen Chen and Yikai Wang and Yihao Luo and Zhengyi Wang and Zilong Chen and Jun Zhu and Chi Zhang and Guosheng Lin},\n      year={2024},\n      eprint={2408.02555},\n      archivePrefix={arXiv},\n      primaryClass={cs.CV},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2408.02555}, \n}\n```\n","\u003Cp align=\"center\">\n  \u003Ch3 align=\"center\">\u003Cstrong>MeshAnything V2：\u003Cbr>艺术家创作的网格生成\u003Cbr>结合邻接网格标记化\u003C\u002Fstrong>\u003C\u002Fh3>\n\n\u003Cp align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Fbuaacyw.github.io\u002F\">Yiwen Chen\u003C\u002Fa>\u003Csup>1,2\u003C\u002Fsup>,\n    \u003Ca href=\"https:\u002F\u002Fyikaiw.github.io\u002F\">Yikai Wang\u003C\u002Fa>\u003Csup>3\u003C\u002Fsup>\u003Cspan class=\"note\">*\u003C\u002Fspan>,\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FLuo-Yihao\">Yihao Luo\u003C\u002Fa>\u003Csup>4\u003C\u002Fsup>,\n    \u003Ca href=\"https:\u002F\u002Fthuwzy.github.io\u002F\">Zhengyi Wang\u003C\u002Fa>\u003Csup>2,3\u003C\u002Fsup>,\n    \u003Cbr>\n    \u003Ca href=\"https:\u002F\u002Fscholar.google.com\u002Fcitations?user=2pbka1gAAAAJ&hl=en\">Zilong Chen\u003C\u002Fa>\u003Csup>2,3\u003C\u002Fsup>,\n    \u003Ca href=\"https:\u002F\u002Fml.cs.tsinghua.edu.cn\u002F~jun\u002Findex.shtml\">Jun Zhu\u003C\u002Fa>\u003Csup>2,3\u003C\u002Fsup>,\n    \u003Ca href=\"https:\u002F\u002Ficoz69.github.io\u002F\">Chi Zhang\u003C\u002Fa>\u003Csup>5\u003C\u002Fsup>\u003Cspan class=\"note\">*\u003C\u002Fspan>,\n    \u003Ca href=\"https:\u002F\u002Fguosheng.github.io\u002F\">Guosheng Lin\u003C\u002Fa>\u003Csup>1\u003C\u002Fsup>\u003Cspan class=\"note\">*\u003C\u002Fspan>\n    \u003Cbr>\n    \u003Csup>*\u003C\u002Fsup>通讯作者。\n    \u003Cbr>\n    \u003Csup>1\u003C\u002Fsup>南洋理工大学S-Lab,\n    \u003Csup>2\u003C\u002Fsup>盛数,\n    \u003Cbr>\n    \u003Csup>3\u003C\u002Fsup>清华大学,\n    \u003Csup>4\u003C\u002Fsup>帝国理工学院,\n    \u003Csup>5\u003C\u002Fsup>西湖大学\n\u003C\u002Fp>\n\n\n\n\u003Cdiv align=\"center\">\n\n\u003Ca href='https:\u002F\u002Farxiv.org\u002Fabs\u002F2408.02555'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2408.02555-b31b1b.svg'>\u003C\u002Fa> &nbsp;&nbsp;&nbsp;&nbsp;\n \u003Ca href='https:\u002F\u002Fbuaacyw.github.io\u002Fmeshanything-v2\u002F'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FProject-Page-Green'>\u003C\u002Fa> &nbsp;&nbsp;&nbsp;&nbsp;\n\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002FYiwen-ntu\u002FMeshAnythingV2\u002Ftree\u002Fmain\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Weights-HF-orange\">\u003C\u002Fa> &nbsp;&nbsp;&nbsp;&nbsp;\n\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FYiwen-ntu\u002FMeshAnythingV2\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Gradio%20Demo-HF-orange\">\u003C\u002Fa>\n\n\u003C\u002Fdiv>\n\n\n\u003Cp align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbuaacyw_MeshAnythingV2_readme_1630f28c1eaf.gif\" alt=\"演示GIF\" width=\"512px\" \u002F>\n\u003C\u002Fp>\n\n\n## 目录\n- [目录](#contents)\n- [安装](#installation)\n- [使用](#usage)\n- [训练](#training)\n- [重要提示](#important-notes)\n- [致谢](#acknowledgement)\n- [BibTeX](#bibtex)\n\n## 安装\n我们的环境已在Ubuntu 22和CUDA 11.8（A800）上测试通过。\n1. 克隆我们的仓库并创建Conda环境\n```\ngit clone https:\u002F\u002Fgithub.com\u002Fbuaacyw\u002FMeshAnythingV2.git && cd MeshAnythingV2\nconda create -n MeshAnythingV2 python==3.10.13 -y\nconda activate MeshAnythingV2\npip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu118\npip install -r requirements.txt\npip install -r training_requirements.txt # 如果你想进行训练\npip install flash-attn --no-build-isolation\npip install -U gradio\n```\n\n## 使用\n\n### 邻接网格标记化与解标记化的实现\n```\n# 我们在adjacent_mesh_tokenization.py中发布了邻接网格标记化的实现。\n# 解标记化请查看MeshAnything\u002Fmodels\u002Fmeshanything_v2.py中的adjacent_detokenize函数。\npython adjacent_mesh_tokenization.py\n```\n\n\n### 对于文本\u002F图像到艺术家创作网格的转换，我们建议先使用[Rodin](https:\u002F\u002Fhyperhuman.deemos.com\u002Frodin)将文本或图像转化为密集网格，然后再将该密集网格输入给我们。\n```\n# 将Rodin的输出obj文件放入rodin_result目录，并使用以下命令生成艺术家创作的网格。\n# 我们建议使用--mc标志先用Marching Cubes对输入网格进行预处理。这有助于我们将推理点云对齐到我们的训练域。\npython main.py --input_dir rodin_result --out_dir mesh_output --input_type mesh --mc\n```\n\n### 网格命令行推理\n#### 重要提示：如果您的网格输入不是由Marching Cubes生成的，我们建议您先用Marching Cubes对其进行预处理（只需添加--mc即可）。\n```\n# 文件夹输入\npython main.py --input_dir examples --out_dir mesh_output --input_type mesh\n\n# 单个文件输入\npython main.py --input_path examples\u002Fwand.obj --out_dir mesh_output --input_type mesh\n\n# 先用Marching Cubes预处理\npython main.py --input_dir examples --out_dir mesh_output --input_type mesh --mc\n\n# Marching Cubes的分辨率默认为128。对于一些精细的网格，这个分辨率可能不够。提高分辨率会增加预处理时间，但通常能获得更好的效果。\n# 可以通过以下方式调整：--mc_level 7 -> 128 (2^7), --mc_level 8 -> 256 (2^8)。\n# 256分辨率Marching Cube示例。\npython main.py --input_dir examples --out_dir mesh_output --input_type mesh --mc --mc_level 8\n```\n\n### 点云命令行推理\n```\n# 注意：如果您想使用自己的点云，请确保包含法线信息。\n# 文件格式应为.npy文件，形状为(N, 6)，其中N是点的数量。前3列是坐标，后3列是法线。\n\n# 文件夹推理\npython main.py --input_dir pc_examples --out_dir pc_output --input_type pc_normal\n\n# 单个文件推理\npython main.py --input_path pc_examples\u002Fgrenade.npy --out_dir pc_output --input_type pc_normal\n```\n\n### 本地Gradio演示 \u003Ca href='https:\u002F\u002Fgithub.com\u002Fgradio-app\u002Fgradio'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fgradio-app\u002Fgradio'>\u003C\u002Fa>\n```\npython app.py\n```\n\n## 训练\n\n### 第一步：下载数据集\n我们提供了部分来自Objaverse的已处理数据集。您可以从https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FYiwen-ntu\u002FMeshAnythingV2\u002Ftree\u002Fmain下载。\n\n下载后，将`train.npz`和`test.npz`放入`dataset`目录。\n\n如果您更倾向于自行处理数据，请参考`data_process.py`。\n\n### 第二步：下载点云编码器检查点\n\n从https:\u002F\u002Fhuggingface.co\u002FMaikou\u002FMichelangelo\u002Ftree\u002Fmain\u002Fcheckpoints\u002Faligned_shape_latents下载米开朗基罗的点云编码器，并将其放入`meshanything_train\u002Fmiche\u002Fcheckpoints\u002Faligned_shape_latents\u002Fshapevae-256.ckpt`。\n\n### 第三步：训练与评估\n```\n# 多GPU训练\naccelerate launch --multi_gpu --num_processes 8 train.py  --batchsize_per_gpu 2 --checkpoint_dir training_trial\n\n# 评估\npython train.py --batchsize_per_gpu 2 --checkpoint_dir evaluation_trial --pretrained_weights gpt_output\u002Ftraining_trial\u002Fxxx_xxx.pth --test_only\n```\n\n## 重要提示\n- 在 A6000 GPU 上生成一个网格大约需要 8GB 显存和 45 秒（具体时间取决于生成网格的面数）。\n- 输入网格将被归一化到单位包围盒。为了获得更好的效果，输入网格的向上方向矢量应为 +Y。\n- 受计算资源限制，MeshAnything 模型仅在面数少于 1600 的网格上进行训练，无法生成面数超过 1600 的网格。输入网格的形状应足够清晰；否则，仅用 1600 个面难以准确表示。因此，基于前向传播的 3D 生成方法往往因形状质量不足而产生较差的结果。我们建议使用 3D 重建、扫描、基于 SDS 的方法（如 [DreamCraft3D](https:\u002F\u002Fgithub.com\u002Fdeepseek-ai\u002FDreamCraft3D)）或 [Rodin](https:\u002F\u002Fhyperhuman.deemos.com\u002Frodin) 的输出作为 MeshAnything 的输入。\n- 更多示例请参阅：https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FYiwen-ntu\u002FMeshAnything\u002Ftree\u002Fmain\u002Fexamples。\n\n## 致谢\n\n我们的代码基于以下优秀的开源项目：\n\n* [MeshAnything](https:\u002F\u002Fgithub.com\u002Fbuaacyw\u002FMeshAnything)\n* [MeshGPT](https:\u002F\u002Fnihalsid.github.io\u002Fmesh-gpt\u002F)\n* [meshgpt-pytorch](https:\u002F\u002Fgithub.com\u002Flucidrains\u002Fmeshgpt-pytorch)\n* [Michelangelo](https:\u002F\u002Fgithub.com\u002FNeuralCarver\u002FMichelangelo)\n* [transformers](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers)\n* [vector-quantize-pytorch](https:\u002F\u002Fgithub.com\u002Flucidrains\u002Fvector-quantize-pytorch)\n\n## BibTeX\n```\n@misc{chen2024meshanythingv2artistcreatedmesh,\n      title={MeshAnything V2: 基于邻接网格标记化的艺术家创作网格生成}, \n      author={陈艺文、王毅凯、罗一豪、王正一、陈子龙、朱俊、张驰、林国胜},\n      year={2024},\n      eprint={2408.02555},\n      archivePrefix={arXiv},\n      primaryClass={cs.CV},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2408.02555}, \n}\n```","# MeshAnythingV2 快速上手指南\n\nMeshAnythingV2 是一个能够将艺术家创作的网格（或点云）转化为高质量、低面数网格的生成模型。它特别适合作为 3D 重建、扫描或 Rodin 等前向生成模型的后续优化工具。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Ubuntu 22.04 (推荐)\n*   **GPU**: NVIDIA GPU (测试环境为 A800\u002FA6000)，显存建议 8GB 以上\n*   **CUDA 版本**: 11.8\n*   **Python 版本**: 3.10.13\n*   **依赖管理**: Conda\n\n## 安装步骤\n\n以下命令将克隆代码库并配置完整的运行环境。\n\n1.  **克隆仓库并创建 Conda 环境**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fbuaacyw\u002FMeshAnythingV2.git && cd MeshAnythingV2\n    conda create -n MeshAnythingV2 python==3.10.13 -y\n    conda activate MeshAnythingV2\n    ```\n\n2.  **安装 PyTorch (CUDA 11.8)**\n    ```bash\n    pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu118\n    ```\n\n3.  **安装项目依赖**\n    ```bash\n    pip install -r requirements.txt\n    # 如果不需要训练，可跳过下一行\n    pip install -r training_requirements.txt \n    pip install flash-attn --no-build-isolation\n    pip install -U gradio\n    ```\n\n4.  **下载预训练权重**\n    从 Hugging Face 下载权重文件并放置于项目目录（具体路径参考官方 HF 页面结构，通常需放入 `gpt_output` 或对应 checkpoint 目录）：\n    *   权重地址：https:\u002F\u002Fhuggingface.co\u002FYiwen-ntu\u002FMeshAnythingV2\u002Ftree\u002Fmain\n\n## 基本使用\n\n### 场景一：网格优化 (Mesh to Artist-Created Mesh)\n这是最常用的场景。建议输入由 **Rodin**、3D 扫描或重建算法生成的密集网格，模型将其转换为拓扑更优的低面数网格。\n\n**注意**：如果输入网格不是由 Marching Cubes 生成的，强烈建议添加 `--mc` 参数进行预处理，以对齐训练域。\n\n*   **处理文件夹内的所有网格文件**：\n    ```bash\n    python main.py --input_dir examples --out_dir mesh_output --input_type mesh --mc\n    ```\n\n*   **处理单个网格文件**：\n    ```bash\n    python main.py --input_path examples\u002Fwand.obj --out_dir mesh_output --input_type mesh --mc\n    ```\n\n*   **调整预处理精度**（默认分辨率 128，对于细节丰富的模型可提升至 256）：\n    ```bash\n    # --mc_level 8 对应 2^8 = 256 分辨率\n    python main.py --input_dir examples --out_dir mesh_output --input_type mesh --mc --mc_level 8\n    ```\n\n### 场景二：点云生成网格 (Point Cloud to Mesh)\n输入需为 `.npy` 格式，形状为 `(N, 6)`，其中前 3 列为坐标，后 3 列为法向量。\n\n*   **处理点云文件**：\n    ```bash\n    python main.py --input_path pc_examples\u002Fgrenade.npy --out_dir pc_output --input_type pc_normal\n    ```\n\n### 场景三：启动本地 Web 演示\n如果您希望通过图形界面进行操作，可以启动本地的 Gradio 服务：\n\n```bash\npython app.py\n```\n启动后在浏览器访问显示的本地地址即可。\n\n---\n**重要提示**：\n*   模型训练时限制在 1600 个面以内，因此生成的网格面数不会超过此限制。\n*   为了获得最佳效果，输入网格的上方向向量应为 **+Y** 轴。\n*   生成一个网格在 A6000 上大约需要 45 秒和 8GB 显存。","某独立游戏开发团队需要将概念原画快速转化为可直接用于引擎的低多边形（Low-Poly）资产，以加速原型迭代。\n\n### 没有 MeshAnythingV2 时\n- **拓扑结构混乱**：通过传统摄影测量或基础 AI 生成的模型面数过高且布线杂乱，充满三角面碎片，无法直接用于动画绑定。\n- **人工重修耗时**：美术人员必须手动进行重拓扑（Retopology），为一个简单道具花费数小时整理边线流向，严重拖慢生产管线。\n- **风格难以统一**：不同来源的资产拓扑风格各异，导致后续批量处理脚本失效，难以维持项目整体的“艺术家创作级”质感。\n- **细节丢失严重**：在强制减面优化性能时，往往牺牲了模型的关键轮廓特征，导致最终效果显得生硬且缺乏艺术感。\n\n### 使用 MeshAnythingV2 后\n- **自动生成优质拓扑**：MeshAnythingV2 利用相邻网格标记化技术，直接将高模输入转化为布线清晰、符合动画要求的低多边形网格，媲美人工重拓扑效果。\n- **流程效率飞跃**：团队只需将 Rodin 等工具生成的密集网格输入 MeshAnythingV2，几分钟内即可获得可用资产，将单道具处理时间从小时级压缩至分钟级。\n- **标准化艺术输出**：生成的模型具备一致的“艺术家创作”特征，边线流向自然合理，确保了整个游戏资产库的风格统一性与高质量。\n- **智能保真优化**：在大幅降低面数的同时，MeshAnythingV2 能精准保留物体的关键几何特征与轮廓细节，无需在性能与画质间做痛苦取舍。\n\nMeshAnythingV2 通过将复杂的网格重拓扑过程自动化并提升至艺术级标准，彻底解放了 3D 美术生产力，让从概念到可玩资产的转化变得前所未有的高效。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbuaacyw_MeshAnythingV2_3c8fea95.png","buaacyw","Yiwen Chen","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fbuaacyw_f9e173df.jpg","S-Lab, NTU SCSE PhD","Nanyang Technological University","Singapore","YIWEN002@e.ntu.edu.sg",null,"https:\u002F\u002Fbuaacyw.github.io\u002F","https:\u002F\u002Fgithub.com\u002Fbuaacyw",[83,87],{"name":84,"color":85,"percentage":86},"Python","#3572A5",99.8,{"name":88,"color":89,"percentage":90},"Shell","#89e051",0.2,973,66,"2026-04-07T04:35:31","NOASSERTION",4,"Linux","必需 NVIDIA GPU，测试环境为 A800\u002FA6000，显存需求约 8GB+，CUDA 11.8","未说明",{"notes":100,"python":101,"dependencies":102},"1. 官方仅在 Ubuntu 22 + CUDA 11.8 环境下测试。2. 生成一个网格约需 8GB 显存和 45 秒（基于 A6000）。3. 模型训练数据限制在 1600 个面以内，因此无法生成超过 1600 个面的网格，建议输入形状足够尖锐的网格（如来自 3D 重建、扫描或 Rodin 的结果）。4. 输入网格的法线方向建议为 +Y 轴以获得更好效果。5. 若输入网格非由 Marching Cubes 生成，建议使用 --mc 参数进行预处理，默认分辨率为 128，可调整为 256 以提高精度但会增加耗时。6. 点云推理输入需为 .npy 格式 (N, 6)，包含坐标和法线。","3.10.13",[103,104,105,106,107,108],"torch==2.1.1","torchvision==0.16.1","torchaudio==2.1.1","flash-attn","gradio","accelerate",[35,110,15],"其他",[112,113,114,115,116,117],"3d","3d-generation","generative-model","mesh","transformers","iccv2025","2026-03-27T02:49:30.150509","2026-04-10T06:32:19.476456",[121,126,131,135,140,145],{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},27185,"MeshAnything V2 生成的网格拓扑结构不如 V1，且平坦表面的面数过多怎么办？","可以通过增加 Marching Cube 的分辨率来改善结果。具体方法是在运行命令时添加 `--mc_level 8` 参数，将分辨率从默认的 128 提升到 256。\n示例命令：\n`python main.py --input_dir rodin --out_dir mesh_output --input_type mesh --batchsize_per_gpu 8 --mc --mc_level 8`\n调整后生成的网格质量会有显著提升。","https:\u002F\u002Fgithub.com\u002Fbuaacyw\u002FMeshAnythingV2\u002Fissues\u002F5",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},27186,"生成的网格是否包含颜色（纹理）信息？如何应用原始颜色？","目前生成的网格不包含颜色信息。维护者指出，简单地将原始纹理应用到新生成的网格上可能无法正常工作，因为原始纹理需要经过修改才能适配新网格。这被视为未来的工作方向，目前暂无直接解决方案。","https:\u002F\u002Fgithub.com\u002Fbuaacyw\u002FMeshAnythingV2\u002Fissues\u002F13",{"id":132,"question_zh":133,"answer_zh":134,"source_url":130},27187,"生成的网格是否包含光照信息？","不包含。生成的网格目前仅包含几何结构信息，没有内置的光照或照明数据。",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},27188,"训练过程中使用的旋转增强（Rotation Augmentation）具体是如何设置的？","旋转增强仅围绕 Y 轴进行。旋转角度是在 0 到 360 度之间均匀随机采样的。","https:\u002F\u002Fgithub.com\u002Fbuaacyw\u002FMeshAnythingV2\u002Fissues\u002F8",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},27189,"项目支持直接通过文本输入生成网格（Text-to-Mesh）吗？","代码库中的 `main.py` 目前不支持直接的文本输入类型。如果需要实现文本到网格的生成，需要结合其他工具（如 Rodin, https:\u002F\u002Fhyperhuman.deemos.com\u002Frodin）先生成中间结果，再输入到本模型中进行处理。","https:\u002F\u002Fgithub.com\u002Fbuaacyw\u002FMeshAnythingV2\u002Fissues\u002F4",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},27190,"代码仓库中是否包含 VQ-VAE 的训练代码？","根据现有信息，代码仓库中似乎未包含 VQ-VAE 的训练代码。用户在查阅代码后未能找到相关部分，且截至该 Issue 关闭前，作者尚未提供具体的训练代码或指导。","https:\u002F\u002Fgithub.com\u002Fbuaacyw\u002FMeshAnythingV2\u002Fissues\u002F24",[]]