[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-autonomousvision--shape_as_points":3,"tool-autonomousvision--shape_as_points":64},[4,17,26,40,48,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},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,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,2,"2026-04-03T11:11:01",[13,14,15],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":23,"last_commit_at":32,"category_tags":33,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,34,35,36,15,37,38,13,39],"数据工具","视频","插件","其他","语言模型","音频",{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":10,"last_commit_at":46,"category_tags":47,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,38,37],{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":10,"last_commit_at":54,"category_tags":55,"status":16},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",74939,"2026-04-05T23:16:38",[38,14,13,37],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":23,"last_commit_at":62,"category_tags":63,"status":16},2471,"tesseract","tesseract-ocr\u002Ftesseract","Tesseract 是一款历史悠久且备受推崇的开源光学字符识别（OCR）引擎，最初由惠普实验室开发，后由 Google 维护，目前由全球社区共同贡献。它的核心功能是将图片中的文字转化为可编辑、可搜索的文本数据，有效解决了从扫描件、照片或 PDF 文档中提取文字信息的难题，是数字化归档和信息自动化的重要基础工具。\n\n在技术层面，Tesseract 展现了强大的适应能力。从版本 4 开始，它引入了基于长短期记忆网络（LSTM）的神经网络 OCR 引擎，显著提升了行识别的准确率；同时，为了兼顾旧有需求，它依然支持传统的字符模式识别引擎。Tesseract 原生支持 UTF-8 编码，开箱即用即可识别超过 100 种语言，并兼容 PNG、JPEG、TIFF 等多种常见图像格式。输出方面，它灵活支持纯文本、hOCR、PDF、TSV 等多种格式，方便后续数据处理。\n\nTesseract 主要面向开发者、研究人员以及需要构建文档处理流程的企业用户。由于它本身是一个命令行工具和库（libtesseract），不包含图形用户界面（GUI），因此最适合具备一定编程能力的技术人员集成到自动化脚本或应用程序中",73286,"2026-04-03T01:56:45",[13,14],{"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":75,"owner_avatar_url":76,"owner_bio":77,"owner_company":77,"owner_location":77,"owner_email":77,"owner_twitter":77,"owner_website":77,"owner_url":78,"languages":79,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":92,"env_os":93,"env_gpu":94,"env_ram":95,"env_deps":96,"category_tags":104,"github_topics":105,"view_count":23,"oss_zip_url":77,"oss_zip_packed_at":77,"status":16,"created_at":114,"updated_at":115,"faqs":116,"releases":146},3401,"autonomousvision\u002Fshape_as_points","shape_as_points","[NeurIPS'21] Shape As Points: A Differentiable Poisson Solver","Shape As Points（SAP）是一款专为三维几何处理设计的开源算法库，核心功能是将离散的点云数据高效转化为高质量的三维网格表面。它主要解决了传统重建方法在面对噪声大、存在异常值或缺乏法线方向的点云时，难以生成平滑且拓扑正确模型的难题。\n\n该项目的技术亮点在于提出了一种“可微分的泊松求解器”。不同于传统固定流程，SAP 将表面重建过程数学化并可微分，这意味着它既能作为独立的优化算法直接处理数据，也能作为一个模块嵌入到深度学习网络中进行端到端训练。这种特性使其在抗噪性和处理复杂几何结构方面表现卓越，曾荣获 NeurIPS 2021 口头报告奖。\n\nShape As Points 非常适合计算机视觉与图形学领域的研究人员、算法工程师以及需要处理激光雷达或扫描数据的开发者使用。如果你正在探索从无序点云到高保真三维模型的自动化重建方案，或者希望将几何先验知识融入神经网络训练，这款工具提供了坚实的代码实现与理论支持。虽然其部署需要一定的编程基础（如 Python 和 PyTorch），但其清晰的文档和示例脚本能帮助用户快速上手验证效果。","# Shape As Points (SAP)\n\n### [**Paper**](https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.03452) | [**Project Page**](https:\u002F\u002Fpengsongyou.github.io\u002Fsap) | [**Short Video (6 min)**](https:\u002F\u002Fyoutu.be\u002FFL8LMk_qWb4) | [**Long Video (12 min)**](https:\u002F\u002Fyoutu.be\u002FTgR0NvYty0A)  \u003Cbr>\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fautonomousvision_shape_as_points_readme_49585c479eee.gif)\n\nThis repository contains the implementation of the paper:\n\nShape As Points: A Differentiable Poisson Solver  \n[Songyou Peng](https:\u002F\u002Fpengsongyou.github.io\u002F), [Chiyu \"Max\" Jiang](https:\u002F\u002Fwww.maxjiang.ml\u002F), [Yiyi Liao](https:\u002F\u002Fyiyiliao.github.io\u002F), [Michael Niemeyer](https:\u002F\u002Fm-niemeyer.github.io\u002F), [Marc Pollefeys](https:\u002F\u002Fwww.inf.ethz.ch\u002Fpersonal\u002Fpomarc\u002F) and [Andreas Geiger](http:\u002F\u002Fwww.cvlibs.net\u002F)  \n**NeurIPS 2021 (Oral)**  \n\n\nIf you find our code or paper useful, please consider citing\n```bibtex\n@inproceedings{Peng2021SAP,\n author    = {Peng, Songyou and Jiang, Chiyu \"Max\" and Liao, Yiyi and Niemeyer, Michael and Pollefeys, Marc and Geiger, Andreas},\n title     = {Shape As Points: A Differentiable Poisson Solver},\n booktitle = {Advances in Neural Information Processing Systems (NeurIPS)},\n year      = {2021}}\n```\n\n\n## Installation\nFirst you have to make sure that you have all dependencies in place.\nThe simplest way to do so, is to use [anaconda](https:\u002F\u002Fwww.anaconda.com\u002F). \n\nYou can create an anaconda environment called `sap` using\n```\nconda env create -f environment.yaml\nconda activate sap\n```\n\nNext, you should install [PyTorch3D](https:\u002F\u002Fpytorch3d.org\u002F) (**>=0.5**) yourself from the [official instruction](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fpytorch3d\u002Fblob\u002Fmaster\u002FINSTALL.md#3-install-wheels-for-linux).  \n\nAnd install [PyTorch Scatter](https:\u002F\u002Fgithub.com\u002Frusty1s\u002Fpytorch_scatter):\n```sh\nconda install pytorch-scatter -c pyg\n```\n\n\n## Demo - Quick Start\n\nFirst, run the script to get the demo data:\n\n```bash\nbash scripts\u002Fdownload_demo_data.sh\n```\n\n### Optimization-based 3D Surface Reconstruction\n\nYou can now quickly test our code on the data shown in the teaser. To this end, simply run:\n\n```python\npython optim_hierarchy.py configs\u002Foptim_based\u002Fteaser.yaml\n```\nThis script should create a folder `out\u002Fdemo_optim` where the output meshes and the optimized oriented point clouds under different grid resolution are stored.\n\nTo visualize the optimization process on the fly, you can set `o3d_show: Frue` in [`configs\u002Foptim_based\u002Fteaser.yaml`](https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Fshape_as_points\u002Ftree\u002Fmain\u002Fconfigs\u002Foptim_based\u002Fteaser.yaml).\n\n### Learning-based 3D Surface Reconstruction\nYou can also test SAP on another application where we can reconstruct from unoriented point clouds with either **large noises** or **outliers** with a learned network.\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fautonomousvision_shape_as_points_readme_78aa84cc40a0.gif)\n\nFor the point clouds with large noise as shown above, you can run:\n```python\npython generate.py configs\u002Flearning_based\u002Fdemo_large_noise.yaml\n```\nThe results can been found at `out\u002Fdemo_shapenet_large_noise\u002Fgeneration\u002Fvis`.\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fautonomousvision_shape_as_points_readme_d94b35267017.gif)\nAs for the point clouds with outliers, you can run:\n```python\npython generate.py configs\u002Flearning_based\u002Fdemo_outlier.yaml\n```\nYou can find the reconstrution on `out\u002Fdemo_shapenet_outlier\u002Fgeneration\u002Fvis`.\n\n\n## Dataset\n\nWe have different dataset for our optimization-based and learning-based settings.\n\n### Dataset for Optimization-based Reconstruction\nHere we consider the following dataset: \n- [Thingi10K](https:\u002F\u002Farxiv.org\u002Fabs\u002F1605.04797) (synthetic)\n- [Surface Reconstruction Benchmark (SRB)](https:\u002F\u002Fgithub.com\u002Ffwilliams\u002Fdeep-geometric-prior) (real scans)\n- [MPI Dynamic FAUST](https:\u002F\u002Fdfaust.is.tue.mpg.de\u002F) (real scans)\n\nPlease cite the corresponding papers if you use the data.\n\nYou can download the processed dataset (~200 MB) by running:\n```bash\nbash scripts\u002Fdownload_optim_data.sh\n```\n\n### Dataset for Learning-based Reconstruction  \nWe train and evaluate on [ShapeNet](https:\u002F\u002Fshapenet.org\u002F).\nYou can download the processed dataset (~220 GB) by running:\n```bash\nbash scripts\u002Fdownload_shapenet.sh\n``` \nAfter, you should have the dataset in `data\u002Fshapenet_psr` folder.\n\nAlternatively, you can also preprocess the dataset yourself. To this end, you can: \n* first download the preprocessed dataset (73.4 GB) by running [the script](https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Foccupancy_networks#preprocessed-data) from Occupancy Networks.\n* check [`scripts\u002Fprocess_shapenet.py`](https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Fshape_as_points\u002Ftree\u002Fmain\u002Fscripts\u002Fprocess_shapenet.py), modify the base path and run the code\n\n\n## Usage for Optimization-based 3D Reconstruction  \n\nFor our optimization-based setting, you can consider running with a coarse-to-fine strategy:\n```python\npython optim_hierarchy.py configs\u002Foptim_based\u002FCONFIG.yaml\n```\nWe start from a grid resolution of 32^3, and increase to 64^3, 128^3 and finally 256^3.\n\nAlternatively, you can also run on a single resolution with:\n\n```python\npython optim.py configs\u002Foptim_based\u002FCONFIG.yaml\n```\nYou might need to modify the `CONFIG.yaml` accordingly.\n\n## Usage for Learning-based 3D Reconstruction\n\n### Mesh Generation \nTo generate meshes using a trained model, use\n```python\npython generate.py configs\u002Flearning_based\u002FCONFIG.yaml\n```\nwhere you replace `CONFIG.yaml` with the correct config file.\n\n#### Use a pre-trained model\nThe easiest way is to use a pre-trained model. You can do this by using one of the config files with postfix `_pretrained`.\n\nFor example, for 3D reconstruction from point clouds with outliers using our model with 7x offsets, you can simply run:\n```python\npython generate.py configs\u002Flearning_based\u002Foutlier\u002Fours_7x_pretrained.yaml\n```\n\nThe script will automatically download the pretrained model and run the generation. You can find the outputs in the `out\u002F...\u002Fgeneration_pretrained` folders.\n\n**Note** config files are only for generation, not for training new models: when these configs are used for training, the model will be trained from scratch, but during inference our code will still use the pretrained model.\n\nWe provide the following pretrained models:\n```\nnoise_small\u002Fours.pt\nnoise_large\u002Fours.pt\noutlier\u002Fours_1x.pt\noutlier\u002Fours_3x.pt\noutlier\u002Fours_5x.pt\noutlier\u002Fours_7x.pt\noutlier\u002Fours_3plane.pt\n```\n\n\n### Evaluation\nTo evaluate a trained model, we provide the script [`eval_meshes.py`](https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Fshape_as_points\u002Fblob\u002Fmain\u002Feval_meshes.py). You can run it using:\n```python\npython eval_meshes.py configs\u002Flearning_based\u002FCONFIG.yaml\n```\nThe script takes the meshes generated in the previous step and evaluates them using a standardized protocol. The output will be written to `.pkl` and `.csv` files in the corresponding generation folder that can be processed using [pandas](https:\u002F\u002Fpandas.pydata.org\u002F).\n\n### Training\n\nFinally, to train a new network from scratch, simply run:\n```python\npython train.py configs\u002Flearning_based\u002FCONFIG.yaml\n```\nFor available training options, please take a look at `configs\u002Fdefault.yaml`.\n\n","# 形状即点云 (SAP)\n\n### [**论文**](https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.03452) | [**项目主页**](https:\u002F\u002Fpengsongyou.github.io\u002Fsap) | [**短视频 (6 分钟)**](https:\u002F\u002Fyoutu.be\u002FFL8LMk_qWb4) | [**长视频 (12 分钟)**](https:\u002F\u002Fyoutu.be\u002FTgR0NvYty0A)  \u003Cbr>\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fautonomousvision_shape_as_points_readme_49585c479eee.gif)\n\n本仓库包含论文的实现：\n\n形状即点云：一种可微分的泊松求解器  \n[彭松友](https:\u002F\u002Fpengsongyou.github.io\u002F)、[蒋驰宇 \"Max\"](https:\u002F\u002Fwww.maxjiang.ml\u002F)、[廖一依](https:\u002F\u002Fyiyiliao.github.io\u002F)、[迈克尔·尼迈耶](https:\u002F\u002Fm-niemeyer.github.io\u002F)、[马克·波勒费斯](https:\u002F\u002Fwww.inf.ethz.ch\u002Fpersonal\u002Fpomarc\u002F) 和 [安德烈亚斯·盖格](http:\u002F\u002Fwww.cvlibs.net\u002F)  \n**NeurIPS 2021（口头报告）**  \n\n\n如果您觉得我们的代码或论文有用，请考虑引用以下内容：\n```bibtex\n@inproceedings{Peng2021SAP,\n author    = {Peng, Songyou and Jiang, Chiyu \"Max\" and Liao, Yiyi and Niemeyer, Michael and Pollefeys, Marc and Geiger, Andreas},\n title     = {Shape As Points: A Differentiable Poisson Solver},\n booktitle = {Advances in Neural Information Processing Systems (NeurIPS)},\n year      = {2021}}\n```\n\n\n## 安装\n首先，您需要确保所有依赖项都已安装。最简单的方法是使用 [anaconda](https:\u002F\u002Fwww.anaconda.com\u002F)。\n\n您可以创建一个名为 `sap` 的 anaconda 环境，方法如下：\n```\nconda env create -f environment.yaml\nconda activate sap\n```\n\n接下来，您需要自行安装 [PyTorch3D](https:\u002F\u002Fpytorch3d.org\u002F) (**≥0.5**)，请参考其[官方安装指南](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fpytorch3d\u002Fblob\u002Fmaster\u002FINSTALL.md#3-install-wheels-for-linux)。\n\n此外，还需安装 [PyTorch Scatter](https:\u002F\u002Fgithub.com\u002Frusty1s\u002Fpytorch_scatter)：\n```sh\nconda install pytorch-scatter -c pyg\n```\n\n\n## 演示 - 快速入门\n\n首先，运行脚本以获取演示数据：\n```bash\nbash scripts\u002Fdownload_demo_data.sh\n```\n\n### 基于优化的三维表面重建\n\n现在您可以快速在预告片中展示的数据上测试我们的代码。只需运行以下命令：\n```python\npython optim_hierarchy.py configs\u002Foptim_based\u002Fteaser.yaml\n```\n该脚本将在 `out\u002Fdemo_optim` 文件夹中生成输出网格以及不同网格分辨率下的优化定向点云。\n\n若想实时可视化优化过程，可在 [`configs\u002Foptim_based\u002Fteaser.yaml`](https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Fshape_as_points\u002Ftree\u002Fmain\u002Fconfigs\u002Foptim_based\u002Fteaser.yaml) 中将 `o3d_show: True` 设置为开启。\n\n### 基于学习的三维表面重建\n\n您还可以在另一个应用场景中测试 SAP，即利用训练好的网络从无方向性的点云中进行重建，这些点云可能含有 **大量噪声** 或 **离群点**。\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fautonomousvision_shape_as_points_readme_78aa84cc40a0.gif)\n\n对于如上所示的含大量噪声的点云，您可以运行：\n```python\npython generate.py configs\u002Flearning_based\u002Fdemo_large_noise.yaml\n```\n结果将保存在 `out\u002Fdemo_shapenet_large_noise\u002Fgeneration\u002Fvis` 目录下。\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fautonomousvision_shape_as_points_readme_d94b35267017.gif)\n而对于含有离群点的点云，则可运行：\n```python\npython generate.py configs\u002Flearning_based\u002Fdemo_outlier.yaml\n```\n重建结果将位于 `out\u002Fdemo_shapenet_outlier\u002Fgeneration\u002Fvis` 目录中。\n\n## 数据集\n\n我们为基于优化和基于学习的设置准备了不同的数据集。\n\n### 基于优化重建的数据集\n\n我们考虑以下数据集：\n- [Thingi10K](https:\u002F\u002Farxiv.org\u002Fabs\u002F1605.04797)（合成数据）\n- [表面重建基准 (SRB)](https:\u002F\u002Fgithub.com\u002Ffwilliams\u002Fdeep-geometric-prior)（真实扫描数据）\n- [MPI 动态 FAUST](https:\u002F\u002Fdfaust.is.tue.mpg.de\u002F)（真实扫描数据）\n\n如果您使用这些数据，请务必引用相应的论文。\n\n您可以通过运行以下命令下载处理后的数据集（约 200 MB）：\n```bash\nbash scripts\u002Fdownload_optim_data.sh\n```\n\n### 基于学习重建的数据集\n\n我们在 [ShapeNet](https:\u002F\u002Fshapenet.org\u002F) 上进行训练和评估。您可以通过运行以下命令下载处理后的数据集（约 220 GB）：\n```bash\nbash scripts\u002Fdownload_shapenet.sh\n``` \n执行后，数据将存储在 `data\u002Fshapenet_psr` 文件夹中。\n\n或者，您也可以自行预处理数据集。为此，您可以：\n* 首先下载预处理过的数据集（73.4 GB），方法是运行 [Occupancy Networks 项目中的脚本](https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Foccupancy_networks#preprocessed-data)。\n* 查看 [`scripts\u002Fprocess_shapenet.py`](https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Fshape_as_points\u002Ftree\u002Fmain\u002Fscripts\u002Fprocess_shapenet.py)，修改基础路径并运行代码。\n\n\n## 基于优化的三维重建用法  \n\n对于基于优化的设置，您可以采用由粗到精的策略：\n```python\npython optim_hierarchy.py configs\u002Foptim_based\u002FCONFIG.yaml\n```\n我们从 32^3 的网格分辨率开始，逐步增加到 64^3、128^3，最后达到 256^3。\n\n或者，您也可以在单一分辨率下运行：\n```python\npython optim.py configs\u002Foptim_based\u002FCONFIG.yaml\n```\n您可能需要相应地调整 `CONFIG.yaml` 文件。\n\n## 基于学习的三维重建用法\n\n### 网格生成\n要使用训练好的模型生成网格，请运行：\n```python\npython generate.py configs\u002Flearning_based\u002FCONFIG.yaml\n```\n其中，将 `CONFIG.yaml` 替换为正确的配置文件。\n\n#### 使用预训练模型\n最简单的方式是使用预训练模型。您可以选择带有 `_pretrained` 后缀的配置文件。\n\n例如，要使用我们的具有 7 个偏移量的模型从含有离群点的点云中进行 3D 重建，只需运行：\n```python\npython generate.py configs\u002Flearning_based\u002Foutlier\u002Fours_7x_pretrained.yaml\n```\n\n该脚本会自动下载预训练模型并执行生成操作。生成结果将保存在 `out\u002F...\u002Fgeneration_pretrained` 文件夹中。\n\n**注意**：配置文件仅用于生成，不用于训练新模型。当这些配置文件用于训练时，模型将从零开始训练，但在推理阶段，我们的代码仍将使用预训练模型。\n\n我们提供了以下预训练模型：\n```\nnoise_small\u002Fours.pt\nnoise_large\u002Fours.pt\noutlier\u002Fours_1x.pt\noutlier\u002Fours_3x.pt\noutlier\u002Fours_5x.pt\noutlier\u002Fours_7x.pt\noutlier\u002Fours_3plane.pt\n```\n\n\n### 评估\n为了评估训练好的模型，我们提供了 [`eval_meshes.py`](https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Fshape_as_points\u002Fblob\u002Fmain\u002Feval_meshes.py) 脚本。您可以使用以下命令运行它：\n```python\npython eval_meshes.py configs\u002Flearning_based\u002FCONFIG.yaml\n```\n该脚本会读取上一步生成的网格，并按照标准化协议对其进行评估。评估结果将以 `.pkl` 和 `.csv` 文件的形式写入对应的生成文件夹中，这些文件可以使用 [pandas](https:\u002F\u002Fpandas.pydata.org\u002F) 进行处理。\n\n### 训练\n\n最后，要从头训练一个新的网络，只需运行：\n```python\npython train.py configs\u002Flearning_based\u002FCONFIG.yaml\n```\n有关可用的训练选项，请参阅 `configs\u002Fdefault.yaml` 文件。","# Shape As Points (SAP) 快速上手指南\n\nShape As Points (SAP) 是一个基于可微分泊松求解器的 3D 表面重建工具，支持从无序点云（含噪声或离群点）中重建高质量网格。本项目包含基于优化和基于学习两种重建模式。\n\n## 环境准备\n\n*   **操作系统**: Linux (推荐，PyTorch3D 在 Windows 上安装较复杂)\n*   **核心依赖**:\n    *   Python (建议通过 Anaconda 管理)\n    *   PyTorch\n    *   PyTorch3D (版本 >= 0.5)\n    *   PyTorch Scatter\n*   **硬件要求**: 需要 NVIDIA GPU 以加速计算和训练。\n\n## 安装步骤\n\n### 1. 创建 Conda 环境\n首先确保已安装 [Anaconda](https:\u002F\u002Fwww.anaconda.com\u002F)。使用项目提供的配置文件创建名为 `sap` 的环境：\n\n```bash\nconda env create -f environment.yaml\nconda activate sap\n```\n\n### 2. 安装 PyTorch3D\nConda 环境可能未包含特定版本的 PyTorch3D，请根据 [官方安装指南](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fpytorch3d\u002Fblob\u002Fmaster\u002FINSTALL.md#3-install-wheels-for-linux) 手动安装 **>=0.5** 版本。\n*(注：国内用户若无法访问 Facebook 源，可尝试在清华或中科大镜像站搜索对应的 whl 包进行安装)*\n\n### 3. 安装 PyTorch Scatter\n使用以下命令安装散射操作库：\n\n```sh\nconda install pytorch-scatter -c pyg\n```\n*(注：若 `-c pyg` 下载缓慢，可尝试添加 `-c conda-forge` 或使用国内镜像源配置)*\n\n## 基本使用\n\n### 1. 获取演示数据\n运行脚本下载示例数据：\n\n```bash\nbash scripts\u002Fdownload_demo_data.sh\n```\n\n### 2. 模式一：基于优化的 3D 重建 (无需训练)\n适合对单个点云模型进行高精度重建。运行以下命令处理演示数据：\n\n```python\npython optim_hierarchy.py configs\u002Foptim_based\u002Fteaser.yaml\n```\n*   **输出位置**: `out\u002Fdemo_optim` 文件夹将包含不同网格分辨率下的优化点云和最终网格。\n*   **实时可视化**: 如需在优化过程中实时查看效果，请编辑 `configs\u002Foptim_based\u002Fteaser.yaml`，将 `o3d_show` 设置为 `True`。\n\n### 3. 模式二：基于学习的 3D 重建 (抗噪\u002F抗离群点)\n适合处理含有大量噪声或离群点的点云。\n\n**处理大噪声点云：**\n```python\npython generate.py configs\u002Flearning_based\u002Fdemo_large_noise.yaml\n```\n结果位于：`out\u002Fdemo_shapenet_large_noise\u002Fgeneration\u002Fvis`\n\n**处理含离群点点云：**\n```python\npython generate.py configs\u002Flearning_based\u002Fdemo_outlier.yaml\n```\n结果位于：`out\u002Fdemo_shapenet_outlier\u002Fgeneration\u002Fvis`\n\n> **提示**: 上述 `generate.py` 命令默认会自动下载预训练模型。如需指定特定预训练模型（如针对 7 倍离群点的模型），可使用：\n> ```python\n> python generate.py configs\u002Flearning_based\u002Foutlier\u002Fours_7x_pretrained.yaml\n> ```","某自动驾驶感知团队正在处理车载激光雷达采集的原始点云数据，试图从含有大量动态物体干扰和传感器噪声的稀疏点云中重建高精度的 3D 道路及障碍物表面模型。\n\n### 没有 shape_as_points 时\n- **法线估计困难**：原始点云缺乏方向信息，传统算法在噪声干扰下难以准确估算表面法线，导致重建曲面出现严重翻转或破裂。\n- **抗噪能力薄弱**：面对车辆行驶产生的离群点和大幅抖动，现有泊松重建方法容易将噪声误判为几何特征，生成充满伪影的粗糙网格。\n- **流程不可微分**：重建过程是黑盒操作，无法嵌入端到端的深度学习网络中进行联合优化，限制了模型在复杂场景下的自适应能力。\n- **人工干预繁琐**：工程师需花费大量时间手动清洗数据或调整阈值参数，难以满足实时性要求。\n\n### 使用 shape_as_points 后\n- **自动定向优化**：shape_as_points 通过可微分泊松求解器，直接从无向点云中联合优化点的位置与法线方向，无需预计算法线即可生成拓扑正确的曲面。\n- **鲁棒去噪重建**：即使在存在大幅噪声和离群点的极端条件下，该工具仍能平滑拟合潜在表面，有效过滤干扰并保留关键几何细节。\n- **支持端到端训练**：得益于完全可微分的特性，shape_as_points 可作为神经网络的一层插入架构中，让模型自动学习如何从含噪数据中恢复最佳形状。\n- **自动化流水线**：显著减少了对人工调参的依赖，实现了从原始脏数据到高质量网格的自动化快速产出。\n\nshape_as_points 的核心价值在于将传统的几何重建问题转化为可学习的优化任务，彻底解决了噪声环境下从无向点云到高质量水密网格的生成难题。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fautonomousvision_shape_as_points_78aa84cc.gif","autonomousvision","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fautonomousvision_e0fa4bb2.png",null,"https:\u002F\u002Fgithub.com\u002Fautonomousvision",[80,84],{"name":81,"color":82,"percentage":83},"Python","#3572A5",99.7,{"name":85,"color":86,"percentage":87},"Shell","#89e051",0.3,633,50,"2026-04-04T14:01:41","MIT",4,"Linux","需要 NVIDIA GPU (因依赖 PyTorch3D)，具体型号和显存未说明，需安装对应版本的 CUDA","未说明 (学习版数据集下载约 220GB，建议大内存)",{"notes":97,"python":98,"dependencies":99},"1. 强烈建议使用 Anaconda 创建名为 'sap' 的环境。2. PyTorch3D 需严格按照官方指令手动安装，且版本需大于等于 0.5。3. 基于学习的方法需要下载 ShapeNet 数据集（处理后约 220GB），基于优化的方法数据集较小（约 200MB）。4. 可视化优化过程需在配置文件中开启 Open3D 显示选项。","未说明 (通过 conda environment.yaml 定义)",[100,101,102,103],"PyTorch","PyTorch3D>=0.5","pytorch-scatter","Open3D (o3d)",[14,37],[106,107,108,109,110,111,112,113],"hybrid-representation","poisson-solver","points","implicit-representation","3d-reconstruction","surface-reconstruction","spectral-methods","neural-fields","2026-03-27T02:49:30.150509","2026-04-06T08:09:04.193561",[117,122,127,132,137,141],{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},15636,"如何评估基于优化的方法生成的网格结果？","对于所有方法（包括基于优化的方法），代码将 Chamfer Distance (CD) 缩放了 10 倍。这是为了遵循现有的评估协议，并使不同方法之间的差异更明显（例如 0.44 比 0.04 更具信息量）。虽然这对于某些数据集的优化方法来说可能不太合理，但建议保持此缩放比例以便与论文结果和其他方法进行公平比较。F-score 和法线一致性通常与论文结果一致，但原始的 Chamfer L1 距离会比论文中显示的值小 10 倍。","https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Fshape_as_points\u002Fissues\u002F5",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},15637,"安装 PyTorch3D 时遇到版本不匹配或找不到指定版本的问题怎么办？","README 中的 pip 安装命令可能因 PyTorch3D 的版本更新而失效。如果无法通过提供的链接安装 PyTorch3D 0.6.0，请手动前往 PyTorch3D 官方 GitHub 页面按照最新指示安装版本 0.6 或更高（如 0.6.1）。注意：代码不兼容 0.3.0 版本。此外，如果出现 'libcudart.so' 缺失错误，通常是因为安装了非 CUDA 版本或系统 CUDA 驱动过旧，需要更新操作系统、NVIDIA 驱动并确保安装的是支持 CUDA 的版本。","https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Fshape_as_points\u002Fissues\u002F7",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},15638,"在 Ubuntu 22.04 上使用 conda 安装依赖失败如何解决？","由于依赖项版本冲突，原有的 environment.yaml 可能已失效。建议采用以下更新后的安装步骤（截至 2025 年 3 月）：\n1. 创建环境并安装基础包：使用 python=3.10，并在 pip 部分指定 torch==2.5.0, torchvision==0.20.0 (cu124)。\n2. 手动安装 PyTorch3D：运行 `FORCE_CUDA=1 pip install \"git+https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fpytorch3d.git@stable\"`。\n3. 安装 pytorch-scatter：运行 `pip install torch-scatter -f https:\u002F\u002Fdata.pyg.org\u002Fwhl\u002Ftorch-2.5.0+cu124.html`。\n另外，有用户建议使用 mamba 替代 conda 以加快解析速度，并按特定顺序先安装 pytorch3d 再安装其他 SAP 依赖。","https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Fshape_as_points\u002Fissues\u002F17",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},15639,"加载 DTU 数据集时提示缺少 'uv_creation' 函数怎么办？","项目中用于多视图重建的相关代码（包括 PixelNeRFDTUDataset 中的部分功能）尚未经过清理和正式发布，目前仅作为调试参考。因此，'uv_creation' 等函数未包含在公开代码库中。维护者建议开发者将这些代码仅作为逻辑参考，自行编写相应的数据加载和处理代码来实现多视图图像重建功能。","https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Fshape_as_points\u002Fissues\u002F6",{"id":138,"question_zh":139,"answer_zh":140,"source_url":136},15640,"初始化 SAP2Image 类时，图像尺寸参数 (H, W) 的顺序应该如何确定？","在构建 UV 映射或初始化相关类时，需注意图像坐标系的定义。如果在数据处理中看到使用了 `(rgb.shape[1], rgb.shape[0])`（即宽，高），这是因为某些图形学操作或 UV 生成逻辑可能需要特定的坐标顺序。具体到 `SAP2Image` 类的初始化，应确保传入的尺寸顺序与该类内部期望的 (Width, Height) 或 (Height, Width) 保持一致。建议检查 `SAP2Image` 的源码定义，通常若涉及像素坐标映射，需确认其是否遵循 (H, W) 标准还是 (W, H) 惯例，以避免坐标错位。",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},15641,"运行代码时出现 'Segmentation fault (core dumped)' 错误，特别是开启 o3d_show 选项时？","当在 YAML 配置文件中将 `o3d_show` 设置为 `True` 时出现段错误，通常是由于 Open3D 在无头服务器环境（headless server）中尝试创建可视化窗口导致的，或者是因为 Open3D 版本与系统图形库不兼容。解决方法包括：\n1. 在无显示器环境下运行时，将 `o3d_show` 设为 `False` 以禁用实时可视化。\n2. 如果必须调试可视化，确保系统安装了正确的 OpenGL 驱动，或在本地有图形界面的机器上运行。\n3. 尝试更新或重新编译 Open3D 以确保与当前 Python 和 CUDA 版本兼容。","https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Fshape_as_points\u002Fissues\u002F14",[]]