[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-chrischoy--3D-R2N2":3,"tool-chrischoy--3D-R2N2":64},[4,18,26,35,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,2,"2026-04-06T11:32:50",[14,15,13],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"last_commit_at":41,"category_tags":42,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[43,15,13,14],"语言模型",{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,52],"视频",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85013,"2026-04-06T11:09:19",[15,16,52,61,13,62,43,14,63],"插件","其他","音频",{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":80,"owner_email":80,"owner_twitter":81,"owner_website":82,"owner_url":83,"languages":84,"stars":93,"forks":94,"last_commit_at":95,"license":96,"difficulty_score":97,"env_os":98,"env_gpu":99,"env_ram":100,"env_deps":101,"category_tags":110,"github_topics":80,"view_count":32,"oss_zip_url":80,"oss_zip_packed_at":80,"status":17,"created_at":111,"updated_at":112,"faqs":113,"releases":142},4824,"chrischoy\u002F3D-R2N2","3D-R2N2","Single\u002Fmulti view image(s) to voxel reconstruction using a recurrent neural network","3D-R2N2 是一款基于循环神经网络的开源项目，旨在将单张或多张物体二维图像还原为三维体素模型。传统方法通常将单视图和多视图重建视为两个独立问题，需采用不同策略处理，而 3D-R2N2 创新性地提出了统一框架，能够灵活应对任意数量的输入视角。\n\n该工具的核心亮点在于其首创的\"3D 卷积 LSTM\"模块。这一设计使得网络对输入图像的顺序具有不变性，用户可以按任意顺序提供照片，系统均能智能地选择性更新可见区域，同时保留被遮挡部分的结构信息，从而实现高精度的三维重构。项目提供了预训练模型及基于 ShapeNet 数据集的处理流程，支持浅层网络与深度残差网络两种架构。\n\n3D-R2N2 主要面向计算机视觉领域的研究人员、AI 开发者以及从事三维建模探索的技术人员。对于希望深入理解从 2D 到 3D 生成式模型原理，或需要构建自定义三维重建流水线的团队来说，这是一个极具参考价值的基准工具。需要注意的是，由于涉及复杂的深度学习环境配置（如 Theano、GPU 加速等），它更适合具备一定编程基础和算法背景的极客用户，而非普通大众消费者。","# 3D-R\u003Csup>2\u003C\u002Fsup>N\u003Csup>2\u003C\u002Fsup>: 3D Recurrent Reconstruction Neural Network\n\nThis repository contains the source codes for the paper [Choy et al., 3D-R2N2: A Unified Approach for Single and Multi-view 3D Object Reconstruction, ECCV 2016](http:\u002F\u002Farxiv.org\u002Fabs\u002F1604.00449). Given one or multiple views of an object, the network generates voxelized ( a voxel is the 3D equivalent of a pixel) reconstruction of the object in 3D.\n\n## Citing this work\n\nIf you find this work useful in your research, please consider citing:\n\n```\n@inproceedings{choy20163d,\n  title={3D-R2N2: A Unified Approach for Single and Multi-view 3D Object Reconstruction},\n  author={Choy, Christopher B and Xu, Danfei and Gwak, JunYoung and Chen, Kevin and Savarese, Silvio},\n  booktitle = {Proceedings of the European Conference on Computer Vision ({ECCV})},\n  year={2016}\n}\n```\n\n## News\n\n- [2020-01-25] Using a dense ocupancy grid for 3D reconstruction requires a large amount of memory and computation. We present a new auto-diff library for sparse tensors that can reconstruct objects in high resolution. Please refer to the [3D sparsity pattern reconstruction page](https:\u002F\u002Fstanfordvl.github.io\u002FMinkowskiEngine\u002Fdemo\u002Fsparse_tensor_reconstruction.html) for 3D reconstruction using a sparse tensor.\n\n## Project Page\n\nThe project page is available at [http:\u002F\u002Fcvgl.stanford.edu\u002F3d-r2n2\u002F](http:\u002F\u002Fcvgl.stanford.edu\u002F3d-r2n2\u002F).\n\n## Overview\n\n![Overview](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchrischoy_3D-R2N2_readme_045be81a0041.png)\n*Left: images found on Ebay, Amazon, Right: overview of `3D-R2N2`*\n\nTraditionally, single view reconstruction and multi-view reconstruction are disjoint problems that have been dealt using different approaches. In this work, we first propose a unified framework for both single and multi-view reconstruction using a `3D Recurrent Reconstruction Neural Network` (3D-R2N2).\n\n| 3D-Convolutional LSTM     | 3D-Convolutional GRU    | Inputs (red cells + feature) for each cell (purple) |\n|:-------------------------:|:-----------------------:|:---------------------------------------------------:|\n| ![3D-LSTM](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchrischoy_3D-R2N2_readme_73246a9d470b.png) | ![3D-GRU](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchrischoy_3D-R2N2_readme_7fb75a859d8f.png) | ![3D-LSTM](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchrischoy_3D-R2N2_readme_2f6a8f0fafcb.png)                      |\n\nWe can feed in images in random order since the network is trained to be invariant to the order. The critical component that enables the network to be invariant to the order is the `3D-Convolutional LSTM` which we first proposed in this work. The `3D-Convolutional LSTM` selectively updates parts that are visible and keeps the parts that are self-occluded.\n\n![Networks](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchrischoy_3D-R2N2_readme_b3a25405e7fd.png)\n*We used two different types of networks for the experiments: a shallow network (top) and a deep residual network (bottom).*\n\n\n## Results\n\nPlease visit the result [visualization page](http:\u002F\u002F3d-r2n2.stanford.edu\u002Fviewer\u002F) to view 3D reconstruction results interactively.\n\n\n## Datasets\n\nWe used [ShapeNet](http:\u002F\u002Fshapenet.cs.stanford.edu) models to generate rendered images and voxelized models which are available below (you can follow the installation instruction below to extract it to the default directory).\n\n- ShapeNet rendered images [http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FShapeNetRendering.tgz](http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FShapeNetRendering.tgz)\n- ShapeNet voxelized models [http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FShapeNetVox32.tgz](http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FShapeNetVox32.tgz)\n- Trained ResidualGRUNet Weights [http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FResidualGRUNet.npy](http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FResidualGRUNet.npy)\n\n\n## Installation\n\nThe package requires python3. You can follow the direction below to install virtual environment within the repository or install anaconda for python 3.\n\n- Download the repository\n\n```\ngit clone https:\u002F\u002Fgithub.com\u002Fchrischoy\u002F3D-R2N2.git\n```\n\n- Setup the anaconda virtual environment and installing requirements ([How to use anaconda](https:\u002F\u002Fconda.io\u002Fdocs\u002Fuser-guide\u002Finstall\u002Findex.html))\n\n```\ncd 3D-R2N2\nconda create -n py3-theano python=3.6\nsource activate py3-theano\nconda install pygpu\npip install -r requirements.txt\n```\n- copy the theanorc file to the `$HOME` directory\n\n```\ncp .theanorc ~\u002F.theanorc\n```\n\n\n### Running demo.py\n\n- Install meshlab (skip if you have another mesh viewer). If you skip this step, demo code will not visualize the final prediction.\n\n```\nsudo apt-get install meshlab\n```\n\n- Run the demo code and save the final 3D reconstruction to a mesh file named `prediction.obj`\n\n```\npython demo.py prediction.obj\n```\n\nThe demo code takes 3 images of the same chair and generates the following reconstruction.\n\n| Image 1         | Image 2         | Image 3         | Reconstruction                                                                            |\n|:---------------:|:---------------:|:---------------:|:-----------------------------------------------------------------------------------------:|\n| ![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchrischoy_3D-R2N2_readme_a4afd42f9483.png) | ![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchrischoy_3D-R2N2_readme_d5d83dd0e975.png) | ![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchrischoy_3D-R2N2_readme_619ac63bca43.png) | \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchrischoy_3D-R2N2_readme_a760f82b5843.png\" height=\"127px\"> |\n\n- Deactivate your environment when you are done\n\n```\ndeactivate\n```\n\n\n### Training the network\n\n- Activate the virtual environment before you run the experiments.\n\n```\nsource py3\u002Fbin\u002Factivate\n```\n\n- Download datasets and place them in a folder named `ShapeNet`\n\n```\nmkdir ShapeNet\u002F\nwget http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FShapeNetRendering.tgz\nwget http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FShapeNetVox32.tgz\ntar -xzf ShapeNetRendering.tgz -C ShapeNet\u002F\ntar -xzf ShapeNetVox32.tgz -C ShapeNet\u002F\n```\n\n- Train and test the network using the training shell script\n\n```\n.\u002Fexperiments\u002Fscript\u002Fres_gru_net.sh\n```\n\n**Note**: The initial compilation might take awhile if you run the theano for the first time due to various compilations. The problem will not persist for the subsequent runs.\n\n\n## Using cuDNN\n\nTo use `cuDNN` library, you have to download `cuDNN` from the nvidia [website](https:\u002F\u002Fdeveloper.nvidia.com\u002Frdp\u002Fcudnn-download). Then, extract the files to any directory and append the directory to the environment variables like the following. Please replace the `\u002Fpath\u002Fto\u002FcuDNN\u002F` to the directory that you extracted `cuDNN`.\n\n```\nexport LD_LIBRARY_PATH=\u002Fpath\u002Fto\u002FcuDNN\u002Flib64:$LD_LIBRARY_PATH\nexport CPATH=\u002Fpath\u002Fto\u002FcuDNN\u002Finclude:$CPATH\nexport LIBRARY_PATH=\u002Fpath\u002Fto\u002FcuDNN\u002Flib64:$LD_LIBRARY_PATH\n```\n\nFor more details, please refer to [http:\u002F\u002Fdeeplearning.net\u002Fsoftware\u002Ftheano\u002Flibrary\u002Fsandbox\u002Fcuda\u002Fdnn.html](http:\u002F\u002Fdeeplearning.net\u002Fsoftware\u002Ftheano\u002Flibrary\u002Fsandbox\u002Fcuda\u002Fdnn.html)\n\n\n## Follow-up Paper\n\nGwak et al., [Weakly supervised 3D Reconstruction with Adversarial Constraint](https:\u002F\u002Farxiv.org\u002Fabs\u002F1705.10904), [project website](http:\u002F\u002Fcvgl.stanford.edu\u002Fmcrecon\u002F)\n\nSupervised 3D reconstruction has witnessed a significant progress through the use of deep neural networks. However, this increase in performance requires large scale annotations of 2D\u002F3D data. In this paper, we explore inexpensive 2D supervision as an alternative for expensive 3D CAD annotation. Specifically, we use foreground masks as weak supervision through a raytrace pooling layer that enables perspective projection and backpropagation. Additionally, since the 3D reconstruction from masks is an ill posed problem, we propose to constrain the 3D reconstruction to the manifold of unlabeled realistic 3D shapes that match mask observations. We demonstrate that learning a log-barrier solution to this constrained optimization problem resembles the GAN objective, enabling the use of existing tools for training GANs. We evaluate and analyze the manifold constrained reconstruction on various datasets for single and multi-view reconstruction of both synthetic and real images.\n\n\n## License\n\nMIT License\n","# 3D-R\u003Csup>2\u003C\u002Fsup>N\u003Csup>2\u003C\u002Fsup>: 三维递归重建神经网络\n\n本仓库包含论文 [Choy 等人，3D-R2N2：单视图与多视图三维物体重建的统一方法，ECCV 2016](http:\u002F\u002Farxiv.org\u002Fabs\u002F1604.00449) 的源代码。给定一个或多个物体视图，该网络会生成物体的体素化（体素是像素的三维等价物）三维重建结果。\n\n## 引用本工作\n\n如果您在研究中使用了本工作，请考虑引用：\n\n```\n@inproceedings{choy20163d,\n  title={3D-R2N2: A Unified Approach for Single and Multi-view 3D Object Reconstruction},\n  author={Choy, Christopher B and Xu, Danfei and Gwak, JunYoung and Chen, Kevin and Savarese, Silvio},\n  booktitle = {Proceedings of the European Conference on Computer Vision ({ECCV})},\n  year={2016}\n}\n```\n\n## 最新消息\n\n- [2020-01-25] 使用密集占用网格进行三维重建需要大量的内存和计算资源。我们提出了一种用于稀疏张量的新自动微分库，能够以高分辨率重建物体。请参阅 [3D 稀疏模式重建页面](https:\u002F\u002Fstanfordvl.github.io\u002FMinkowskiEngine\u002Fdemo\u002Fsparse_tensor_reconstruction.html)，了解如何使用稀疏张量进行三维重建。\n\n## 项目主页\n\n项目主页位于 [http:\u002F\u002Fcvgl.stanford.edu\u002F3d-r2n2\u002F](http:\u002F\u002Fcvgl.stanford.edu\u002F3d-r2n2\u002F)。\n\n## 概述\n\n![概述](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchrischoy_3D-R2N2_readme_045be81a0041.png)\n*左：在 eBay 和 Amazon 上找到的图像；右：`3D-R2N2` 的概览*\n\n传统上，单视图重建和多视图重建是两个独立的问题，通常采用不同的方法来解决。在本工作中，我们首次提出了一种统一的框架，利用 `3D 递归重建神经网络`（3D-R2N2）同时处理单视图和多视图重建任务。\n\n| 3D 卷积 LSTM     | 3D 卷积 GRU    | 每个单元的输入（红色单元 + 特征）（紫色） |\n|:-------------------------:|:-----------------------:|:---------------------------------------------------:|\n| ![3D-LSTM](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchrischoy_3D-R2N2_readme_73246a9d470b.png) | ![3D-GRU](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchrischoy_3D-R2N2_readme_7fb75a859d8f.png) | ![3D-LSTM](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchrischoy_3D-R2N2_readme_2f6a8f0fafcb.png)                      |\n\n由于网络经过训练对输入顺序具有不变性，因此我们可以按任意顺序输入图像。使网络具备顺序不变性的关键组件是我们在本工作中首次提出的 `3D 卷积 LSTM`。该网络会选择性地更新可见部分，并保持自我遮挡的部分不变。\n\n![网络结构](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchrischoy_3D-R2N2_readme_b3a25405e7fd.png)\n*我们为实验使用了两种不同类型的网络：浅层网络（顶部）和深层残差网络（底部）。*\n\n\n## 结果\n\n请访问结果 [可视化页面](http:\u002F\u002F3d-r2n2.stanford.edu\u002Fviewer\u002F)，以交互方式查看三维重建结果。\n\n\n## 数据集\n\n我们使用了 [ShapeNet](http:\u002F\u002Fshapenet.cs.stanford.edu) 模型生成渲染图像和体素化模型，这些数据可在下方获取（您可以按照下面的安装说明将其解压到默认目录）。\n\n- ShapeNet 渲染图像 [http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FShapeNetRendering.tgz](http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FShapeNetRendering.tgz)\n- ShapeNet 体素化模型 [http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FShapeNetVox32.tgz](http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FShapeNetVox32.tgz)\n- 训练好的 ResidualGRUNet 权重 [http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FResidualGRUNet.npy](http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FResidualGRUNet.npy)\n\n\n## 安装\n\n本包需要 Python 3。您可以在仓库内按照以下步骤安装虚拟环境，或者直接安装 Anaconda 以使用 Python 3。\n\n- 克隆仓库\n\n```\ngit clone https:\u002F\u002Fgithub.com\u002Fchrischoy\u002F3D-R2N2.git\n```\n\n- 设置 Anaconda 虚拟环境并安装依赖项（[Anaconda 使用指南](https:\u002F\u002Fconda.io\u002Fdocs\u002Fuser-guide\u002Finstall\u002Findex.html)）\n\n```\ncd 3D-R2N2\nconda create -n py3-theano python=3.6\nsource activate py3-theano\nconda install pygpu\npip install -r requirements.txt\n```\n\n- 将 theanorc 文件复制到 `$HOME` 目录\n\n```\ncp .theanorc ~\u002F.theanorc\n```\n\n\n### 运行 demo.py\n\n- 安装 MeshLab（如果您已有其他网格查看器，可跳过此步骤）。若跳过此步骤，演示代码将无法可视化最终预测结果。\n\n```\nsudo apt-get install meshlab\n```\n\n- 运行演示代码并将最终的三维重建保存为名为 `prediction.obj` 的网格文件\n\n```\npython demo.py prediction.obj\n```\n\n演示代码使用同一把椅子的 3 张图像，生成如下重建结果。\n\n| 图像 1         | 图像 2         | 图像 3         | 重建结果                                                                            |\n|:---------------:|:---------------:|:---------------:|:-----------------------------------------------------------------------------------------:|\n| ![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchrischoy_3D-R2N2_readme_a4afd42f9483.png) | ![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchrischoy_3D-R2N2_readme_d5d83dd0e975.png) | ![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchrischoy_3D-R2N2_readme_619ac63bca43.png) | \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchrischoy_3D-R2N2_readme_a760f82b5843.png\" height=\"127px\"> |\n\n- 完成后请停用您的环境\n\n```\ndeactivate\n```\n\n\n### 训练网络\n\n- 在运行实验之前，请先激活虚拟环境。\n\n```\nsource py3\u002Fbin\u002Factivate\n```\n\n- 下载数据集并将其放置在名为 `ShapeNet` 的文件夹中\n\n```\nmkdir ShapeNet\u002F\nwget http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FShapeNetRendering.tgz\nwget http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FShapeNetVox32.tgz\ntar -xzf ShapeNetRendering.tgz -C ShapeNet\u002F\ntar -xzf ShapeNetVox32.tgz -C ShapeNet\u002F\n```\n\n- 使用训练脚本训练和测试网络\n\n```\n.\u002Fexperiments\u002Fscript\u002Fres_gru_net.sh\n```\n\n**注意**：如果您是首次运行 Theano，由于涉及多种编译操作，初始编译可能需要较长时间。后续运行时不会出现此问题。\n\n\n## 使用 cuDNN\n\n要使用 `cuDNN` 库，您需要从 NVIDIA [官网](https:\u002F\u002Fdeveloper.nvidia.com\u002Frdp\u002Fcudnn-download) 下载 cuDNN。然后将文件解压到任意目录，并将该目录添加到环境变量中，如下所示。请将 `\u002Fpath\u002Fto\u002FcuDNN\u002F` 替换为您解压 cuDNN 的实际路径。\n\n```\nexport LD_LIBRARY_PATH=\u002Fpath\u002Fto\u002FcuDNN\u002Flib64:$LD_LIBRARY_PATH\nexport CPATH=\u002Fpath\u002Fto\u002FcuDNN\u002Finclude:$CPATH\nexport LIBRARY_PATH=\u002Fpath\u002Fto\u002FcuDNN\u002Flib64:$LD_LIBRARY_PATH\n```\n\n更多详情请参阅 [http:\u002F\u002Fdeeplearning.net\u002Fsoftware\u002Ftheano\u002Flibrary\u002Fsandbox\u002Fcuda\u002Fdnn.html](http:\u002F\u002Fdeeplearning.net\u002Fsoftware\u002Ftheano\u002Flibrary\u002Fsandbox\u002Fcuda\u002Fdnn.html)。\n\n## 后续论文\n\nGwak 等人，《基于对抗约束的弱监督 3D 重建》（https:\u002F\u002Farxiv.org\u002Fabs\u002F1705.10904），[项目网站](http:\u002F\u002Fcvgl.stanford.edu\u002Fmcrecon\u002F)\n\n通过使用深度神经网络，有监督的 3D 重建取得了显著进展。然而，这种性能的提升需要大规模的 2D\u002F3D 数据标注。在本文中，我们探索了一种低成本的 2D 监督方法，以替代昂贵的 3D CAD 标注。具体而言，我们利用前景掩码作为弱监督信号，通过一个光线追踪池化层实现透视投影和反向传播。此外，由于从掩码进行 3D 重建是一个不适定问题，我们提出将 3D 重建约束在与掩码观测匹配的未标注真实 3D 形状流形上。我们证明，求解这一约束优化问题的对数障碍法类似于 GAN 的目标函数，从而可以利用现有的 GAN 训练工具。我们在多个数据集上评估并分析了流形约束重建方法，适用于单视图和多视图的合成图像及真实图像的 3D 重建。\n\n\n## 许可证\n\nMIT 许可证","# 3D-R2N2 快速上手指南\n\n3D-R2N2 (3D Recurrent Reconstruction Neural Network) 是一个统一的深度学习框架，用于从单张或多张二维图像重建三维物体（体素化模型）。该项目基于 ECCV 2016 论文，核心创新在于提出了 3D 卷积 LSTM 结构，能够按任意顺序处理输入图像并逐步完善三维重建。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux (推荐 Ubuntu，演示代码依赖 `apt-get` 安装 MeshLab)\n*   **Python 版本**: Python 3.6 (项目基于 Theano，对版本较敏感)\n*   **硬件要求**: NVIDIA GPU (可选但强烈推荐，需安装 CUDA 和 cuDNN 以加速训练和推理)\n*   **前置依赖**:\n    *   Git\n    *   Anaconda 或 Miniconda (用于管理虚拟环境)\n    *   MeshLab (用于可视化生成的 `.obj` 网格文件)\n\n> **注意**：本项目主要依赖 `Theano` 和 `pygpu`。由于 Theano 已停止维护，建议在独立的虚拟环境中运行以避免依赖冲突。国内用户若遇到 `conda` 下载慢的问题，可配置清华或中科大镜像源。\n\n## 安装步骤\n\n### 1. 克隆代码库\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fchrischoy\u002F3D-R2N2.git\ncd 3D-R2N2\n```\n\n### 2. 创建并激活虚拟环境\n使用 Conda 创建名为 `py3-theano` 的环境并安装基础依赖：\n```bash\nconda create -n py3-theano python=3.6\nsource activate py3-theano\nconda install pygpu\npip install -r requirements.txt\n```\n\n### 3. 配置 Theano\n将项目提供的配置文件复制到用户主目录：\n```bash\ncp .theanorc ~\u002F.theanorc\n```\n\n### 4. 安装可视化工具 (Linux)\n如果不安装 MeshLab，演示脚本将无法显示最终的三维重建结果：\n```bash\nsudo apt-get install meshlab\n```\n\n### 5. (可选) 配置 cuDNN 加速\n如果您拥有 NVIDIA GPU 并希望启用 cuDNN 加速，请下载对应版本的 cuDNN 并设置环境变量：\n```bash\n# 请将 \u002Fpath\u002Fto\u002FcuDNN\u002F 替换为您实际解压 cuDNN 的路径\nexport LD_LIBRARY_PATH=\u002Fpath\u002Fto\u002FcuDNN\u002Flib64:$LD_LIBRARY_PATH\nexport CPATH=\u002Fpath\u002Fto\u002FcuDNN\u002Finclude:$CPATH\nexport LIBRARY_PATH=\u002Fpath\u002Fto\u002FcuDNN\u002Flib64:$LD_LIBRARY_PATH\n```\n\n## 基本使用\n\n### 运行演示示例 (Demo)\n项目提供了一个简单的演示脚本，它使用三张同一物体的不同视角图片生成三维重建模型。\n\n运行以下命令，程序将下载预训练权重，处理示例图片，并输出名为 `prediction.obj` 的网格文件：\n```bash\npython demo.py prediction.obj\n```\n运行完成后，您可以使用 MeshLab 打开 `prediction.obj` 查看重建效果。\n\n### 训练网络 (进阶)\n如果您希望从头训练模型，需要先下载数据集。\n\n1.  **激活环境**：\n    ```bash\n    source activate py3-theano\n    ```\n    *(注：若之前已激活可跳过此步)*\n\n2.  **下载数据集**：\n    创建目录并下载 ShapeNet 渲染图和体素模型：\n    ```bash\n    mkdir ShapeNet\u002F\n    wget http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FShapeNetRendering.tgz\n    wget http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FShapeNetVox32.tgz\n    tar -xzf ShapeNetRendering.tgz -C ShapeNet\u002F\n    tar -xzf ShapeNetVox32.tgz -C ShapeNet\u002F\n    ```\n    > **提示**：国内用户若 `wget` 速度较慢，可尝试使用迅雷等工具下载后手动放入 `ShapeNet` 目录。\n\n3.  **开始训练**：\n    运行提供的实验脚本（首次运行因需编译 Theano 代码，耗时可能较长）：\n    ```bash\n    .\u002Fexperiments\u002Fscript\u002Fres_gru_net.sh\n    ```\n\n### 退出环境\n使用完毕后，退出虚拟环境：\n```bash\ndeactivate\n```","一家二手家具电商平台希望让用户仅凭商品照片就能在网页上 360 度预览家具的立体形态，以提升购买转化率。\n\n### 没有 3D-R2N2 时\n- 商家必须聘请专业建模师或使用昂贵扫描仪，为每件二手家具手动创建 3D 模型，成本高昂且耗时数天。\n- 面对用户上传的单一角度模糊照片，传统算法无法推断被遮挡的背面结构，导致重建失败或需要强制要求多张特定角度照片。\n- 不同拍摄角度和顺序的图片需要繁琐的预处理和对齐步骤，难以适应电商场景中随意拍摄的非标准化图片流。\n- 无法快速响应海量新增 SKU，导致平台 3D 展示覆盖率极低，新技术难以规模化落地。\n\n### 使用 3D-R2N2 后\n- 系统直接利用循环神经网络，将单张或多张商品图自动转化为体素（Voxel）模型，将建模时间从几天缩短至秒级，大幅降低人力成本。\n- 凭借 3D 卷积 LSTM 核心组件，即使只有一张图片也能合理“脑补”出物体背面的几何结构，成功处理自遮挡问题，输出完整的立体模型。\n- 网络对输入图片的顺序具有不变性，无需严格校准拍摄角度或顺序，完美适配用户随手上传的各种非标准照片。\n- 实现了从图片到 3D 资产的自动化流水线，使得平台能够低成本地为成千上万件二手商品快速生成可交互的 3D 预览内容。\n\n3D-R2N2 通过统一的深度学习框架，打破了单视图与多视图重建的界限，让从二维图片到三维实体的转化变得高效、鲁棒且易于规模化。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fchrischoy_3D-R2N2_045be81a.png","chrischoy","Chris Choy","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fchrischoy_83fbdaf6.png","Sr. Research Scientist @NVIDIA. Previously Ph.D. from Stanford Vision and Learning Lab @StanfordVL (SVL), Stanford AI Lab, SAIL.","NVIDIA",null,"realChrisChoy","http:\u002F\u002Fchrischoy.org","https:\u002F\u002Fgithub.com\u002Fchrischoy",[85,89],{"name":86,"color":87,"percentage":88},"Python","#3572A5",99.5,{"name":90,"color":91,"percentage":92},"Shell","#89e051",0.5,1412,295,"2026-03-12T06:29:43","MIT",4,"Linux","需要 NVIDIA GPU (通过 Theano\u002Fpygpu 和 cuDNN 支持)，具体型号和显存未说明，但文中提到高分辨率重建需要大量显存","未说明 (文中仅提及密集占用网格需要大量内存)",{"notes":102,"python":103,"dependencies":104},"1. 该项目基于较旧的 Theano 框架，需配置 .theanorc 文件。2. 必须安装 NVIDIA cuDNN 并配置相应的环境变量 (LD_LIBRARY_PATH 等)。3. 演示脚本运行前需安装 MeshLab 用于可视化，否则无法查看结果。4. 首次运行编译可能耗时较长。5. 新闻部分提到针对高分辨率重建有新的稀疏张量库 (MinkowskiEngine)，但主仓库仍使用旧版密集网格方法。","3.6",[105,106,107,108,109],"theano","pygpu","cuda","cuDNN","meshlab",[15,62],"2026-03-27T02:49:30.150509","2026-04-07T11:35:32.250063",[114,119,124,129,134,138],{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},21925,"运行 demo.py 时遇到维度不匹配错误（ValueError: need same dimensions for dim 1），特别是使用自定义图像时怎么办？","这通常是因为输入图像的通道数不是 3。建议在交互式 Python 会话（如 ipython）中加载图像，检查其维度。如果图像有 4 个通道（例如包含 Alpha 通道），请使用 Python 切片操作 `[:, :, :3]` 强制将其转换为 3 通道图像后再输入网络。","https:\u002F\u002Fgithub.com\u002Fchrischoy\u002F3D-R2N2\u002Fissues\u002F9",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},21926,"在激活虚拟环境后运行 demo.py 出现编译错误（relocation R_X86_64_32S ... recompile with -fPIC），如何解决？","这个问题通常发生在 Python 版本过低或未正确编译时。确保使用的 Python 版本不低于 2.7.9（推荐 3.5+）。如果使用 pyenv 管理 Python，需要在编译安装 Python 时添加 `--enable-shared` 选项。参考命令：在安装插件 python-build 时配置该选项，重新编译 Python 环境即可解决链接错误。","https:\u002F\u002Fgithub.com\u002Fchrischoy\u002F3D-R2N2\u002Fissues\u002F2",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},21927,"运行脚本时提示 FileNotFoundError: [Errno 2] No such file or directory: 'curl'，如何修复？","这是因为系统中未安装 curl 工具，而脚本依赖它来下载预训练模型。在 Ubuntu\u002FDebian 系统上，请运行以下命令安装：\n`sudo apt-get install curl`\n如果仍然有问题，可以尝试安装相关开发库：\n`sudo apt install libcurl4-openssl-dev libssl-dev`","https:\u002F\u002Fgithub.com\u002Fchrischoy\u002F3D-R2N2\u002Fissues\u002F32",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},21928,"无法访问斯坦福大学域名下的数据集和预训练模型链接（需要登录权限），在哪里可以公开下载？","维护者已更新 README 并提供了直接下载链接，无需登录即可访问：\n1. ShapeNet 渲染图像：http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FShapeNetRendering.tgz\n2. ShapeNet 体素化模型：http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FShapeNetVox32.tgz\n3. 训练好的 ResidualGRUNet 权重：http:\u002F\u002Fcvgl.stanford.edu\u002Fdata2\u002FResidualGRUNet.npy","https:\u002F\u002Fgithub.com\u002Fchrischoy\u002F3D-R2N2\u002Fissues\u002F35",{"id":135,"question_zh":136,"answer_zh":137,"source_url":118},21929,"提供的 ShapeNet 渲染图像尺寸为 (137, 137, 4)，但网络需要 (127, 127, 3)，如何处理数据集以适配网络？","你需要对图像进行预处理以匹配网络输入要求。主要步骤包括：\n1. 裁剪或调整大小：将图像从 137x137 调整为 127x127。\n2. 通道处理：原始图像可能有 4 个通道（RGBA），需要使用切片 `[:, :, :3]` 去除 Alpha 通道，只保留 RGB 三个通道。\n建议在数据加载阶段加入这些预处理逻辑。",{"id":139,"question_zh":140,"answer_zh":141,"source_url":128},21930,"遇到 cuDNN 编译错误（fatal error: cudnn.h: No such file or directory）或权限错误（You don't have permission to create output\u002F...）怎么办？","针对 cuDNN 头文件缺失：确保已正确安装 CUDA 和 cuDNN，并且环境变量配置正确，编译器能找到 `cudnn.h`。\n针对输出目录权限错误：脚本试图在当前目录下创建 `output\u002FResidualGRUNet` 文件夹但失败。请手动创建该目录并赋予写入权限，或者以具有相应权限的用户身份运行脚本。例如：\n`mkdir -p output\u002FResidualGRUNet`\n`chmod 777 output\u002FResidualGRUNet`（注意安全性）或直接以 sudo 运行（不推荐用于生产环境）。",[]]