[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-dougsm--ggcnn":3,"tool-dougsm--ggcnn":64},[4,17,27,35,43,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},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 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"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,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"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,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"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,26,54],{"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":79,"owner_email":79,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":87,"forks":88,"last_commit_at":89,"license":90,"difficulty_score":10,"env_os":91,"env_gpu":92,"env_ram":92,"env_deps":93,"category_tags":97,"github_topics":98,"view_count":10,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":102,"updated_at":103,"faqs":104,"releases":134},1109,"dougsm\u002Fggcnn","ggcnn","Generative Grasping CNN from \"Closing the Loop for Robotic Grasping: A Real-time, Generative Grasp Synthesis Approach\" (RSS 2018)","GG-CNN是一款面向机器人抓取任务的轻量级生成式卷积神经网络工具，基于2018年RSS会议论文实现。它通过单次前向传播即可在深度图像的每个像素点预测抓取质量与姿态参数，特别擅长处理动态环境中移动物体的实时抓取需求。传统方法常因计算效率或闭环控制能力不足导致抓取失败，而GG-CNN利用全卷积架构和端到端训练策略，将处理速度提升至毫秒级，同时保持高精度的抗干扰能力。\n\n该工具主要服务于机器人研究者和自动化系统开发者，尤其适合需要部署实时抓取解决方案的场景。例如工业机械臂在动态传送带上的分拣任务，或服务机器人面对随机移动物体时的操作场景。用户可通过PyTorch框架快速部署预训练模型，支持Cornell和Jacquard两种主流抓取数据集的即插即用处理。\n\n技术层面，GG-CNN采用编码器-解码器结构实现像素级预测，其核心创新在于将抓取参数生成过程完全融入网络前向计算。改进版GG-CNN2模型进一步优化了特征提取能力，配合反卷积层的空间信息恢复机制，在保持轻量化的同时提升了小物体抓取的鲁棒性。开源实现中提供的预训练权重和完整文档，帮助用户无需从头训练即可获得可靠的抓取建议。","**Note:** This is a cleaned-up, PyTorch port of the GG-CNN code.  For the original Keras implementation, see the `RSS2018` branch.  \nMain changes are major code clean-ups and documentation, an improved GG-CNN2 model, ability to use the Jacquard dataset and simpler evaluation.    \n\n\n# Generative Grasping CNN (GG-CNN)\n\nThe GG-CNN is a lightweight, fully-convolutional network which predicts the quality and pose of antipodal grasps at every pixel in an input depth image.  The lightweight and single-pass generative nature of GG-CNN allows for fast execution and closed-loop control, enabling accurate grasping in dynamic environments where objects are moved during the grasp attempt.\n\nThis repository contains the implementation of the Generative Grasping Convolutional Neural Network (GG-CNN) from the paper:\n\n**Closing the Loop for Robotic Grasping: A Real-time, Generative Grasp Synthesis Approach**\n\n*[Douglas Morrison](http:\u002F\u002Fdougsm.com), [Peter Corke](http:\u002F\u002Fpetercorke.com), [Jürgen Leitner](http:\u002F\u002Fjuxi.net)*\n\nRobotics: Science and Systems (RSS) 2018\n\n[arXiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F1804.05172) | [Video](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=7nOoxuGEcxA)\n\nIf you use this work, please cite:\n\n```text\n@inproceedings{morrison2018closing,\n\ttitle={{Closing the Loop for Robotic Grasping: A Real-time, Generative Grasp Synthesis Approach}},\n\tauthor={Morrison, Douglas and Corke, Peter and Leitner, J\\\"urgen},\n\tbooktitle={Proc.\\ of Robotics: Science and Systems (RSS)},\n\tyear={2018}\n}\n```\n\n**Contact**\n\nAny questions or comments contact [Doug Morrison](mailto:doug.morrison@roboticvision.org).\n\n## Installation\n\nThis code was developed with Python 3.6 on Ubuntu 16.04.  Python requirements can installed by:\n\n```bash\npip install -r requirements.txt\n```\n\n## Datasets\n\nCurrently, both the [Cornell Grasping Dataset](http:\u002F\u002Fpr.cs.cornell.edu\u002Fgrasping\u002Frect_data\u002Fdata.php) and\n[Jacquard Dataset](https:\u002F\u002Fjacquard.liris.cnrs.fr\u002F) are supported.\n\n### Cornell Grasping Dataset\n\n1. Download the and extract [Cornell Grasping Dataset](http:\u002F\u002Fpr.cs.cornell.edu\u002Fgrasping\u002Frect_data\u002Fdata.php). \n2. Convert the PCD files to depth images by running `python -m utils.dataset_processing.generate_cornell_depth \u003CPath To Dataset>`\n\n### Jacquard Dataset\n\n1. Download and extract the [Jacquard Dataset](https:\u002F\u002Fjacquard.liris.cnrs.fr\u002F).\n\n## Pre-trained Models\n\nSome example pre-trained models for GG-CNN and GG-CNN2 can be downloaded from [here](https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fggcnn\u002Freleases\u002Ftag\u002Fv0.1).  The models are trained on the Cornell grasping\ndataset using the depth images.  Each zip file contains 1) the full saved model from `torch.save(model)` and 2) the weights state dict from `torch.save(model.state_dict())`. \n\nFor example loading GG-CNN (replace ggcnn with ggcnn2 as required):\n\n```bash\n# Enter the directory where you cloned this repo\ncd \u002Fpath\u002Fto\u002Fggcnn\n\n# Download the weights\nwget https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fggcnn\u002Freleases\u002Fdownload\u002Fv0.1\u002Fggcnn_weights_cornell.zip\n\n# Unzip the weights.\nunzip ggcnn_weights_cornell.zip\n\n# Load the weights in python, e.g.\npython\n>>> import torch\n\n# Option 1) Load the model directly.\n# (this may print warning based on the installed version of python)\n>>> model = torch.load('ggcnn_weights_cornell\u002Fggcnn_epoch_23_cornell')\n>>> model\n\nGGCNN(\n  (conv1): Conv2d(1, 32, kernel_size=(9, 9), stride=(3, 3), padding=(3, 3))\n  (conv2): Conv2d(32, 16, kernel_size=(5, 5), stride=(2, 2), padding=(2, 2))\n  (conv3): Conv2d(16, 8, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))\n  (convt1): ConvTranspose2d(8, 8, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))\n  (convt2): ConvTranspose2d(8, 16, kernel_size=(5, 5), stride=(2, 2), padding=(2, 2), output_padding=(1, 1))\n  (convt3): ConvTranspose2d(16, 32, kernel_size=(9, 9), stride=(3, 3), padding=(3, 3), output_padding=(1, 1))\n  (pos_output): Conv2d(32, 1, kernel_size=(2, 2), stride=(1, 1))\n  (cos_output): Conv2d(32, 1, kernel_size=(2, 2), stride=(1, 1))\n  (sin_output): Conv2d(32, 1, kernel_size=(2, 2), stride=(1, 1))\n  (width_output): Conv2d(32, 1, kernel_size=(2, 2), stride=(1, 1))\n)\n\n\n# Option 2) Instantiate a model and load the weights.\n>>> from models.ggcnn import GGCNN\n>>> model = GGCNN()\n>>> model.load_state_dict(torch.load('ggcnn_weights_cornell\u002Fggcnn_epoch_23_cornell_statedict.pt'))\n\n\u003CAll keys matched successfully>\n\n```\n\n## Training\n\nTraining is done by the `train_ggcnn.py` script.  Run `train_ggcnn.py --help` to see a full list of options, such as dataset augmentation and validation options.\n\nSome basic examples:\n\n```bash\n# Train GG-CNN on Cornell Dataset\npython train_ggcnn.py --description training_example --network ggcnn --dataset cornell --dataset-path \u003CPath To Dataset>\n\n# Train GG-CNN2 on Jacquard Datset\npython train_ggcnn.py --description training_example2 --network ggcnn2 --dataset jacquard --dataset-path \u003CPath To Dataset>\n```\n\nTrained models are saved in `output\u002Fmodels` by default, with the validation score appended.\n\n## Evaluation\u002FVisualisation\n\nEvaluation or visualisation of the trained networks are done using the `eval_ggcnn.py` script.  Run `eval_ggcnn.py --help` for a full set of options.\n\nImportant flags are:\n* `--iou-eval` to evaluate using the IoU between grasping rectangles metric.\n* `--jacquard-output` to generate output files in the format required for simulated testing against the Jacquard dataset.\n* `--vis` to plot the network output and predicted grasping rectangles.\n\nFor example:\n\n```bash\npython eval_ggcnn.py --network \u003CPath to Trained Network> --dataset jacquard --dataset-path \u003CPath to Dataset> --jacquard-output --iou-eval\n```\n\n\n## Running on a Robot\n\nOur ROS implementation for running the grasping system see [https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fmvp_grasp](https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fmvp_grasp).\n\nThe original implementation for running experiments on a Kinva Mico arm can be found in the repository [https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fggcnn_kinova_grasping](https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fggcnn_kinova_grasping).\n","**注意**：这是 GG-CNN 代码的清理版 PyTorch 实现。原始 Keras 版本请参见 `RSS2018` 分支。  \n主要改进包括代码清理与文档完善、改进的 GG-CNN2 模型、支持使用 Jacquard 数据集以及简化评估流程。\n\n# 生成式抓取卷积神经网络（Generative Grasping CNN，GG-CNN）\n\nGG-CNN 是一种轻量级全卷积网络，可对输入深度图像的每个像素预测对极抓取（antipodal grasps）的质量和姿态。其轻量级单次前向生成特性（single-pass generative nature）支持快速执行和闭环控制（closed-loop control），使机械臂在抓取过程中物体被移动的动态环境中仍能实现精确抓取。\n\n本仓库实现了论文《Closing the Loop for Robotic Grasping: A Real-time, Generative Grasp Synthesis Approach》中的生成式抓取卷积神经网络（GG-CNN）：\n\n**闭环机械抓取：一种实时生成式抓取合成方法**  \n*[Douglas Morrison](http:\u002F\u002Fdougsm.com), [Peter Corke](http:\u002F\u002Fpetercorke.com), [Jürgen Leitner](http:\u002F\u002Fjuxi.net)*  \nRobotics: Science and Systems (RSS) 2018  \n\n[arXiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F1804.05172) | [视频演示](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=7nOoxuGEcxA)\n\n如需引用本工作，请使用：\n\n```text\n@inproceedings{morrison2018closing,\n\ttitle={{Closing the Loop for Robotic Grasping: A Real-time, Generative Grasp Synthesis Approach}},\n\tauthor={Morrison, Douglas and Corke, Peter and Leitner, J\\\"urgen},\n\tbooktitle={Proc.\\ of Robotics: Science and Systems (RSS)},\n\tyear={2018}\n}\n```\n\n**联系**  \n如有疑问请联系 [Doug Morrison](mailto:doug.morrison@roboticvision.org)\n\n## 安装\n\n本代码基于 Python 3.6 在 Ubuntu 16.04 环境开发。依赖包可通过以下命令安装：\n\n```bash\npip install -r requirements.txt\n```\n\n## 数据集\n\n当前支持 [Cornell Grasping Dataset](http:\u002F\u002Fpr.cs.cornell.edu\u002Fgrasping\u002Frect_data\u002Fdata.php) 和 [Jacquard Dataset](https:\u002F\u002Fjacquard.liris.cnrs.fr\u002F)。\n\n### Cornell Grasping Dataset\n\n1. 下载并解压 [Cornell Grasping Dataset](http:\u002F\u002Fpr.cs.cornell.edu\u002Fgrasping\u002Frect_data\u002Fdata.php)。\n2. 运行以下命令将 PCD 文件转换为深度图像：\n```bash\npython -m utils.dataset_processing.generate_cornell_depth \u003C数据集路径>\n```\n\n### Jacquard Dataset\n\n1. 下载并解压 [Jacquard Dataset](https:\u002F\u002Fjacquard.liris.cnrs.fr\u002F)。\n\n## 预训练模型\n\nGG-CNN 和 GG-CNN2 的示例预训练模型可从 [此处](https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fggcnn\u002Freleases\u002Ftag\u002Fv0.1) 下载。模型使用 Cornell 数据集的深度图像训练，每个压缩包包含：1) 通过 `torch.save(model)` 保存的完整模型；2) 通过 `torch.save(model.state_dict())` 保存的权重参数字典。\n\n加载模型示例（GG-CNN，GG-CNN2 请替换对应名称）：\n\n```bash\n# 进入仓库目录\ncd \u002Fpath\u002Fto\u002Fggcnn\n\n# 下载权重\nwget https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fggcnn\u002Freleases\u002Fdownload\u002Fv0.1\u002Fggcnn_weights_cornell.zip\n\n# 解压权重\nunzip ggcnn_weights_cornell.zip\n\n# Python 加载示例\npython\n>>> import torch\n\n# 方式1) 直接加载模型\n# (可能因Python版本产生警告)\n>>> model = torch.load('ggcnn_weights_cornell\u002Fggcnn_epoch_23_cornell')\n>>> model\n\nGGCNN(\n  (conv1): Conv2d(1, 32, kernel_size=(9, 9), stride=(3, 3), padding=(3, 3))\n  (conv2): Conv2d(32, 16, kernel_size=(5, 5), stride=(2, 2), padding=(2, 2))\n  (conv3): Conv2d(16, 8, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))\n  (convt1): ConvTranspose2d(8, 8, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))\n  (convt2): ConvTranspose2d(8, 16, kernel_size=(5, 5), stride=(2, 2), padding=(2, 2), output_padding=(1, 1))\n  (convt3): ConvTranspose2d(16, 32, kernel_size=(9, 9), stride=(3, 3), padding=(3, 3), output_padding=(1, 1))\n  (pos_output): Conv2d(32, 1, kernel_size=(2, 2), stride=(1, 1))\n  (cos_output): Conv2d(32, 1, kernel_size=(2, 2), stride=(1, 1))\n  (sin_output): Conv2d(32, 1, kernel_size=(2, 2), stride=(1, 1))\n  (width_output): Conv2d(32, 1, kernel_size=(2, 2), stride=(1, 1))\n)\n\n\n# 方式2) 实例化模型并加载权重\n>>> from models.ggcnn import GGCNN\n>>> model = GGCNN()\n>>> model.load_state_dict(torch.load('ggcnn_weights_cornell\u002Fggcnn_epoch_23_cornell_statedict.pt'))\n\n\u003CAll keys matched successfully>\n```\n\n## 训练\n\n通过 `train_ggcnn.py` 脚本执行训练。运行 `train_ggcnn.py --help` 查看完整参数列表（包括数据增强和验证选项）。\n\n基础示例：\n\n```bash\n# 在Cornell数据集训练GG-CNN\npython train_ggcnn.py --description training_example --network ggcnn --dataset cornell --dataset-path \u003C数据集路径>\n\n# 在Jacquard数据集训练GG-CNN2\npython train_ggcnn.py --description training_example2 --network ggcnn2 --dataset jacquard --dataset-path \u003C数据集路径>\n```\n\n默认模型保存路径为 `output\u002Fmodels`，文件名包含验证得分。\n\n## 评估\u002F可视化\n\n通过 `eval_ggcnn.py` 脚本执行网络评估或可视化。运行 `eval_ggcnn.py --help` 查看完整参数。\n\n重要参数说明：\n* `--iou-eval`：使用抓取矩形交并比（IoU）评估\n* `--jacquard-output`：生成Jacquard数据集要求的模拟测试输出文件\n* `--vis`：绘制网络输出和预测抓取矩形\n\n示例命令：\n\n```bash\npython eval_ggcnn.py --network \u003C模型路径> --dataset jacquard --dataset-path \u003C数据集路径> --jacquard-output --iou-eval\n```\n\n## 机器人部署\n\n我们的 ROS 抓取系统实现请参见 [https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fmvp_grasp](https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fmvp_grasp)。  \nKinva Mico 机械臂的原始实现可在 [https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fggcnn_kinova_grasping](https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fggcnn_kinova_grasping) 获取。","# GGCNN 快速上手指南\n\n## 环境准备\n- **系统要求**：Ubuntu 16.04 + Python 3.6\n- **前置依赖**：\n  ```bash\n  # 推荐使用国内镜像加速安装\n  pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n  ```\n\n## 安装步骤\n```bash\n# 1. 克隆仓库\ngit clone https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fggcnn.git\ncd ggcnn\n\n# 2. 安装依赖（已加速）\npip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n\n# 3. 下载预训练模型（示例）\nwget https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fggcnn\u002Freleases\u002Fdownload\u002Fv0.1\u002Fggcnn_weights_cornell.zip\nunzip ggcnn_weights_cornell.zip\n```\n\n## 基本使用\n### 数据集准备\n```bash\n# Cornell 数据集转换（需先下载PCD文件）\npython -m utils.dataset_processing.generate_cornell_depth \u003C数据集路径>\n\n# Jacquard 数据集（直接解压使用）\n# 下载地址: https:\u002F\u002Fjacquard.liris.cnrs.fr\u002F\n```\n\n### 模型加载示例\n```python\n# 方式1: 直接加载模型\nmodel = torch.load('ggcnn_weights_cornell\u002Fggcnn_epoch_23_cornell')\n\n# 方式2: 加载状态字典\nfrom models.ggcnn import GGCNN\nmodel = GGCNN()\nmodel.load_state_dict(torch.load('ggcnn_weights_cornell\u002Fggcnn_epoch_23_cornell_statedict.pt'))\n```\n\n### 训练示例\n```bash\n# 使用Cornell数据集训练GG-CNN\npython train_ggcnn.py --description training_example \\\n                      --network ggcnn \\\n                      --dataset cornell \\\n                      --dataset-path \u003C数据集路径>\n\n# 使用Jacquard数据集训练GG-CNN2\npython train_ggcnn.py --description training_example2 \\\n                      --network ggcnn2 \\\n                      --dataset jacquard \\\n                      --dataset-path \u003C数据集路径>\n```\n\n### 评估与可视化\n```bash\n# 使用IoU评估并生成Jacquard格式输出\npython eval_ggcnn.py --network \u003C模型路径> \\\n                     --dataset jacquard \\\n                     --dataset-path \u003C数据集路径> \\\n                     --jacquard-output \\\n                     --iou-eval\n```\n\n## 扩展使用\n- **机器人部署**：参考 [ROS实现](https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fmvp_grasp)\n- **Kinova机械臂适配**：[Kinova实验代码](https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fggcnn_kinova_grasping)\n\n> 注意：GitHub资源下载较慢时，可尝试使用 [GitHub镜像加速服务](https:\u002F\u002Fghproxy.com\u002F) 或 [Gitee同步仓库](https:\u002F\u002Fgitee.com\u002F)","电商仓库的机器人分拣系统需要对杂乱堆放的包裹进行快速抓取。操作员正在调试机械臂的视觉引导模块，目标是让机器人在包裹被传送带持续移动的动态场景中实现高效分拣。\n\n### 没有 ggcnn 时\n- 传统抓取检测算法需要多阶段处理（分割→特征提取→抓取规划），导致300ms以上的延迟，无法匹配传送带的移动速度\n- 对透明胶带包裹或反光表面的包裹抓取成功率低于40%，需要人工干预调整姿态\n- 每新增一类特殊形状包裹（如细长信件、气泡袋），需要重新采集200+张标注样本并耗时3天重训练模型\n- 动态场景中包裹被机械臂触碰移位时，无法实时调整抓取策略，导致23%的抓取尝试失败\n- 部署的嵌入式设备因运行复杂模型出现过热降频，影响系统稳定性\n\n### 使用 ggcnn 后\n- 单次前向推理（\u003C15ms）直接生成像素级抓取质量图，与传送带运动实现闭环控制，吞吐量提升5倍\n- 通过预测抓取点的置信度和姿态角，对反光表面包裹的抓取成功率提升至82%，误检率下降64%\n- 利用GG-CNN2的深度图像处理能力，仅需50张未标注样本通过数据增强即可适配新包裹类型，训练时间缩短至6小时\n- 在机械臂触碰包裹导致位移时，基于实时更新的深度图像动态调整抓取策略，失败率降低至7%\n- 轻量级网络结构（\u003C1MB参数）在Jetson Xavier设备上运行功耗降低40%，温度稳定在55℃以下\n\nggcnn通过单次推理生成实时抓取策略的能力，解决了动态分拣场景中效率、适应性和稳定性三大核心痛点。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fdougsm_ggcnn_2f8261e1.png","dougsm","Doug Morrison","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fdougsm_6e367dd0.jpg","Creating robots that see... and do!",null,"https:\u002F\u002Fdougsm.com","https:\u002F\u002Fgithub.com\u002Fdougsm",[83],{"name":84,"color":85,"percentage":86},"Python","#3572A5",100,616,153,"2026-04-02T15:04:10","BSD-3-Clause","Linux","未说明",{"notes":94,"python":95,"dependencies":96},"需通过PCD文件转换生成Cornell数据集深度图像，预训练模型需下载约5GB文件。支持ROS机器人系统集成，训练时需指定数据集路径。","3.6",[92],[54,13],[99,100,101],"robotics","grasping","deep-learning","2026-03-27T02:49:30.150509","2026-04-06T07:13:03.333569",[105,110,115,120,125,130],{"id":106,"question_zh":107,"answer_zh":108,"source_url":109},4998,"Cornell数据集路径设置错误导致FileNotFoundError如何解决？","确保数据集目录结构包含原始的01、02、03等子文件夹。训练时应提供包含这些子文件夹的根目录路径（如.\u002Fcornell_dataset\u002F），程序会自动加载每个子文件夹中的数据。","https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fggcnn\u002Fissues\u002F12",{"id":111,"question_zh":112,"answer_zh":113,"source_url":114},4999,"使用Kinect实时图像进行抓取检测时矩形框未定位在物体上如何解决？","需使用裁剪后的图像输入模型，确保图像仅包含目标物体和简单背景。使用eval_ggcnn.py脚本自动裁剪，或参考https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fggcnn\u002Fblob\u002Fmaster\u002Feval_ggcnn.py中的可视化函数绘制抓取矩形。","https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fggcnn\u002Fissues\u002F25",{"id":116,"question_zh":117,"answer_zh":118,"source_url":119},5000,"运行evaluate.py时提示'hdf5'文件找不到如何处理？","检查预训练模型和数据集的下载路径是否正确，需手动下载dataset_rotated_width_zoom_*.hdf5文件并放置在指定目录。可参考download_pretrained_ggcnn.sh脚本配置路径。","https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fggcnn\u002Fissues\u002F8",{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},5001,"如何从模型输出的Q\u002FAngle图像获取论文中的6D抓取参数(g=(p, phi, w, q))？","通过`dataset_processing.grasp.detect_grasps`函数解析网络输出，使用`Grasp.plot`方法可视化结果。自定义数据需遵循Cornell\u002FJacquard数据集格式以复用评估代码。","https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fggcnn\u002Fissues\u002F28",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},5002,"加载epoch_29_model.hdf5模型文件时出现KeyError如何修复？","修改数据生成脚本为增量写入模式（hdf5），避免一次性加载全部数据到内存。检查h5py文件读写权限及数据键名是否与代码中的`f['test\u002Fimg_id']`匹配。","https:\u002F\u002Fgithub.com\u002Fdougsm\u002Fggcnn\u002Fissues\u002F2",{"id":131,"question_zh":132,"answer_zh":133,"source_url":119},5003,"TensorFlow版本兼容性导致AttributeError: 'NoneType'对象无属性'TF_NewStatus'如何解决？","升级TensorFlow至1.15.x或迁移至PyTorch版本（推荐）。检查Keras与TensorFlow版本兼容性，参考官方issue #8652的修复方案：https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftensorflow\u002Fissues\u002F8652",[135],{"id":136,"version":137,"summary_zh":138,"released_at":139},104521,"v0.1","Attached pre-trained weights for GG-CNN on the Cornell Grasping Dataset using depth data only.\r\n","2020-06-17T23:16:43"]