[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-multimodallearning--pytorch-mask-rcnn":3,"tool-multimodallearning--pytorch-mask-rcnn":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":68,"owner_company":68,"owner_location":68,"owner_email":68,"owner_twitter":68,"owner_website":68,"owner_url":77,"languages":78,"stars":95,"forks":96,"last_commit_at":97,"license":98,"difficulty_score":99,"env_os":100,"env_gpu":101,"env_ram":100,"env_deps":102,"category_tags":112,"github_topics":68,"view_count":23,"oss_zip_url":68,"oss_zip_packed_at":68,"status":16,"created_at":113,"updated_at":114,"faqs":115,"releases":155},2991,"multimodallearning\u002Fpytorch-mask-rcnn","pytorch-mask-rcnn",null,"pytorch-mask-rcnn 是一个基于 PyTorch 框架实现的 Mask R-CNN 模型，旨在让开发者能够高效地进行图像实例分割与目标检测。它不仅能精准识别图像中物体的位置并画出边界框，还能进一步生成每个物体独立的像素级掩膜，从而清晰区分同一类别下的不同个体，有效解决了传统检测算法无法精细描绘物体轮廓的难题。\n\n该项目主要面向人工智能研究人员、计算机视觉开发者以及需要定制深度学习能力的高校师生。其核心亮点在于复现了经典的特征金字塔网络（FPN）与 ResNet101 骨干架构，并针对 CUDA 环境优化了非极大值抑制（NMS）和 RoIAlign 等关键算子，确保了在 GPU 上的推理速度与精度。作为对 Matterport 版 Keras 实现的 PyTorch 移植，它为习惯使用 PyTorch 生态的用户提供了训练和评估 MS COCO 数据集的完整代码流程，支持从预训练权重微调或从头训练，是学习和部署高质量实例分割任务的实用开源参考。","# pytorch-mask-rcnn\n\n\nThis is a Pytorch implementation of [Mask R-CNN](https:\u002F\u002Farxiv.org\u002Fabs\u002F1703.06870) that is in large parts based on Matterport's\n[Mask_RCNN](https:\u002F\u002Fgithub.com\u002Fmatterport\u002FMask_RCNN). Matterport's repository is an implementation on Keras and TensorFlow.\nThe following parts of the README are excerpts from the Matterport README. Details on the requirements, training on MS COCO\nand detection results for this repository can be found at the end of the document.\n\nThe Mask R-CNN model generates bounding boxes and segmentation masks for each instance of an object in the image. It's based\non Feature Pyramid Network (FPN) and a ResNet101 backbone.\n\n![Instance Segmentation Sample](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmultimodallearning_pytorch-mask-rcnn_readme_d305be4e08c8.png)\n\nThe next four images visualize different stages in the detection pipeline:\n\n\n##### 1. Anchor sorting and filtering\nThe Region Proposal Network proposes bounding boxes that are likely to belong to an object. Positive and negative anchors\nalong with anchor box refinement are visualized.\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmultimodallearning_pytorch-mask-rcnn_readme_467e5eca7a69.png)\n\n\n##### 2. Bounding Box Refinement\nThis is an example of final detection boxes (dotted lines) and the refinement applied to them (solid lines) in the second stage.\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmultimodallearning_pytorch-mask-rcnn_readme_e1af83f44a6f.png)\n\n\n##### 3. Mask Generation\nExamples of generated masks. These then get scaled and placed on the image in the right location.\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmultimodallearning_pytorch-mask-rcnn_readme_875868bf3ca0.png)\n\n\n##### 4. Composing the different pieces into a final result\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmultimodallearning_pytorch-mask-rcnn_readme_211670ba645c.png)\n\n## Requirements\n* Python 3\n* Pytorch 0.3\n* matplotlib, scipy, skimage, h5py\n\n## Installation\n1. Clone this repository.\n\n        git clone https:\u002F\u002Fgithub.com\u002Fmultimodallearning\u002Fpytorch-mask-rcnn.git\n\n    \n2. We use functions from two more repositories that need to be build with the right `--arch` option for cuda support.\nThe two functions are Non-Maximum Suppression from ruotianluo's [pytorch-faster-rcnn](https:\u002F\u002Fgithub.com\u002Fruotianluo\u002Fpytorch-faster-rcnn)\nrepository and longcw's [RoiAlign](https:\u002F\u002Fgithub.com\u002Flongcw\u002FRoIAlign.pytorch).\n\n    | GPU | arch |\n    | --- | --- |\n    | TitanX | sm_52 |\n    | GTX 960M | sm_50 |\n    | GTX 1070 | sm_61 |\n    | GTX 1080 (Ti) | sm_61 |\n\n        cd nms\u002Fsrc\u002Fcuda\u002F\n        nvcc -c -o nms_kernel.cu.o nms_kernel.cu -x cu -Xcompiler -fPIC -arch=[arch]\n        cd ..\u002F..\u002F\n        python build.py\n        cd ..\u002F\n\n        cd roialign\u002Froi_align\u002Fsrc\u002Fcuda\u002F\n        nvcc -c -o crop_and_resize_kernel.cu.o crop_and_resize_kernel.cu -x cu -Xcompiler -fPIC -arch=[arch]\n        cd ..\u002F..\u002F\n        python build.py\n        cd ..\u002F..\u002F\n\n3. As we use the [COCO dataset](http:\u002F\u002Fcocodataset.org\u002F#home) install the [Python COCO API](https:\u002F\u002Fgithub.com\u002Fcocodataset\u002Fcocoapi) and\ncreate a symlink.\n\n        ln -s \u002Fpath\u002Fto\u002Fcoco\u002Fcocoapi\u002FPythonAPI\u002Fpycocotools\u002F pycocotools\n    \n4. Download the pretrained models on COCO and ImageNet from [Google Drive](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1LXUgC2IZUYNEoXr05tdqyKFZY0pZyPDc).\n\n## Demo\n\nTo test your installation simply run the demo with\n\n    python demo.py\n\nIt works on CPU or GPU and the result should look like this:\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmultimodallearning_pytorch-mask-rcnn_readme_33b1809f7fa7.png)\n\n## Training on COCO\nTraining and evaluation code is in coco.py. You can run it from the command\nline as such:\n\n    # Train a new model starting from pre-trained COCO weights\n    python coco.py train --dataset=\u002Fpath\u002Fto\u002Fcoco\u002F --model=coco\n\n    # Train a new model starting from ImageNet weights\n    python coco.py train --dataset=\u002Fpath\u002Fto\u002Fcoco\u002F --model=imagenet\n\n    # Continue training a model that you had trained earlier\n    python coco.py train --dataset=\u002Fpath\u002Fto\u002Fcoco\u002F --model=\u002Fpath\u002Fto\u002Fweights.h5\n\n    # Continue training the last model you trained. This will find\n    # the last trained weights in the model directory.\n    python coco.py train --dataset=\u002Fpath\u002Fto\u002Fcoco\u002F --model=last\n\nIf you have not yet downloaded the COCO dataset you should run the command\nwith the download option set, e.g.:\n\n    # Train a new model starting from pre-trained COCO weights\n    python coco.py train --dataset=\u002Fpath\u002Fto\u002Fcoco\u002F --model=coco --download=true\n\nYou can also run the COCO evaluation code with:\n\n    # Run COCO evaluation on the last trained model\n    python coco.py evaluate --dataset=\u002Fpath\u002Fto\u002Fcoco\u002F --model=last\n\nThe training schedule, learning rate, and other parameters can be set in coco.py.\n\n## Results\n\nCOCO results for bounding box and segmentation are reported based on training\nwith the default configuration and backbone initialized with pretrained\nImageNet weights. Used metric is AP on IoU=0.50:0.95.\n\n|    | from scratch | converted from keras | Matterport's Mask_RCNN | Mask R-CNN paper |\n| --- | --- | --- | --- | --- |\n| bbox | t.b.a. | 0.347 | 0.347 | 0.382 |\n| segm | t.b.a. | 0.296 | 0.296 | 0.354 |\n\n\n","# PyTorch-Mask-RCNN\n\n\n这是一个基于 PyTorch 的 Mask R-CNN 实现，其大部分代码源自 Matterport 的 [Mask_RCNN](https:\u002F\u002Fgithub.com\u002Fmatterport\u002FMask_RCNN)。Matterport 的仓库是基于 Keras 和 TensorFlow 的实现。以下 README 中的部分内容摘自 Matterport 的 README。关于本仓库的依赖要求、在 MS COCO 数据集上的训练以及检测结果的详细信息，请参阅文档末尾。\n\nMask R-CNN 模型为图像中每个对象实例生成边界框和分割掩码。它基于特征金字塔网络（FPN）和 ResNet101 主干网络。\n\n![实例分割示例](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmultimodallearning_pytorch-mask-rcnn_readme_d305be4e08c8.png)\n\n接下来的四张图片展示了检测流程中的不同阶段：\n\n\n##### 1. 锚框排序与过滤\n区域建议网络会提出可能属于目标对象的候选边界框。图中展示了正锚框、负锚框以及锚框的精炼过程。\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmultimodallearning_pytorch-mask-rcnn_readme_467e5eca7a69.png)\n\n\n##### 2. 边界框精炼\n这是第二阶段中最终检测框（虚线）及其精炼结果（实线）的示例。\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmultimodallearning_pytorch-mask-rcnn_readme_e1af83f44a6f.png)\n\n\n##### 3. 掩码生成\n生成的掩码示例。这些掩码随后会被缩放并放置到图像的正确位置上。\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmultimodallearning_pytorch-mask-rcnn_readme_875868bf3ca0.png)\n\n\n##### 4. 将各个部分组合成最终结果\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmultimodallearning_pytorch-mask-rcnn_readme_211670ba645c.png)\n\n## 需求\n* Python 3\n* PyTorch 0.3\n* matplotlib, scipy, skimage, h5py\n\n## 安装\n1. 克隆本仓库。\n\n        git clone https:\u002F\u002Fgithub.com\u002Fmultimodallearning\u002Fpytorch-mask-rcnn.git\n\n    \n2. 我们使用了另外两个仓库中的函数，需要以正确的 `--arch` 选项进行编译以支持 CUDA。这两个函数分别是 ruotianluo 的 [pytorch-faster-rcnn](https:\u002F\u002Fgithub.com\u002Fruotianluo\u002Fpytorch-faster-rcnn) 仓库中的非极大值抑制函数，以及 longcw 的 [RoiAlign](https:\u002F\u002Fgithub.com\u002Flongcw\u002FRoIAlign.pytorch) 函数。\n\n    | 显卡 | arch |\n    | --- | --- |\n    | TitanX | sm_52 |\n    | GTX 960M | sm_50 |\n    | GTX 1070 | sm_61 |\n    | GTX 1080 (Ti) | sm_61 |\n\n        cd nms\u002Fsrc\u002Fcuda\u002F\n        nvcc -c -o nms_kernel.cu.o nms_kernel.cu -x cu -Xcompiler -fPIC -arch=[arch]\n        cd ..\u002F..\u002F\n        python build.py\n        cd ..\u002F\n\n        cd roialign\u002Froi_align\u002Fsrc\u002Fcuda\u002F\n        nvcc -c -o crop_and_resize_kernel.cu.o crop_and_resize_kernel.cu -x cu -Xcompiler -fPIC -arch=[arch]\n        cd ..\u002F..\u002F\n        python build.py\n        cd ..\u002F..\u002F\n\n3. 由于我们使用 [COCO 数据集](http:\u002F\u002Fcocodataset.org\u002F#home)，请安装 [Python COCO API](https:\u002F\u002Fgithub.com\u002Fcocodataset\u002Fcocoapi) 并创建一个符号链接。\n\n        ln -s \u002Fpath\u002Fto\u002Fcoco\u002Fcocoapi\u002FPythonAPI\u002Fpycocotools\u002F pycocotools\n    \n4. 从 [Google Drive](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1LXUgC2IZUYNEoXr05tdqyKFZY0pZyPDc) 下载 COCO 和 ImageNet 上的预训练模型。\n\n## 演示\n\n要测试您的安装是否成功，只需运行演示脚本：\n\n    python demo.py\n\n该脚本可以在 CPU 或 GPU 上运行，输出结果应如下所示：\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmultimodallearning_pytorch-mask-rcnn_readme_33b1809f7fa7.png)\n\n## 在 COCO 数据集上训练\n训练和评估代码位于 coco.py 文件中。您可以通过命令行运行如下命令：\n\n    # 从 COCO 预训练权重开始训练新模型\n    python coco.py train --dataset=\u002Fpath\u002Fto\u002Fcoco\u002F --model=coco\n\n    # 从 ImageNet 权重开始训练新模型\n    python coco.py train --dataset=\u002Fpath\u002Fto\u002Fcoco\u002F --model=imagenet\n\n    # 继续训练之前已经训练过的模型\n    python coco.py train --dataset=\u002Fpath\u002Fto\u002Fcoco\u002F --model=\u002Fpath\u002Fto\u002Fweights.h5\n\n    # 继续训练最近一次保存的模型。此命令会自动在模型目录中查找最新的权重文件。\n    python coco.py train --dataset=\u002Fpath\u002Fto\u002Fcoco\u002F --model=last\n\n如果您尚未下载 COCO 数据集，请在运行命令时设置下载选项，例如：\n\n    # 从 COCO 预训练权重开始训练新模型\n    python coco.py train --dataset=\u002Fpath\u002Fto\u002Fcoco\u002F --model=coco --download=true\n\n您还可以通过以下命令运行 COCO 评估代码：\n\n    # 对最近一次训练的模型进行 COCO 评估\n    python coco.py evaluate --dataset=\u002Fpath\u002Fto\u002Fcoco\u002F --model=last\n\n训练计划、学习率及其他参数可在 coco.py 文件中进行设置。\n\n## 结果\n\n基于默认配置以及使用预训练 ImageNet 权重初始化主干网络的训练，报告了 COCO 数据集上的边界框和分割结果。使用的指标是 IoU=0.50:0.95 下的 AP 值。\n\n|    | 从零开始 | 从 Keras 转换而来 | Matterport 的 Mask_RCNN | Mask R-CNN 论文 |\n| --- | --- | --- | --- | --- |\n| bbox | 待定 | 0.347 | 0.347 | 0.382 |\n| segm | 待定 | 0.296 | 0.296 | 0.354 |","# pytorch-mask-rcnn 快速上手指南\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux (推荐)\n*   **Python**: 3.x\n*   **深度学习框架**: PyTorch 0.3\n*   **系统依赖**: CUDA (需根据显卡型号选择对应的 arch 编译选项)\n*   **Python 库依赖**:\n    *   `matplotlib`\n    *   `scipy`\n    *   `skimage`\n    *   `h5py`\n    *   `pycocotools` (COCO API)\n\n> **注意**：本项目基于较早期的 PyTorch 版本 (0.3)，若使用新版 PyTorch 可能需要修改代码以适配 API 变化。\n\n## 安装步骤\n\n### 1. 克隆项目代码\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fmultimodallearning\u002Fpytorch-mask-rcnn.git\ncd pytorch-mask-rcnn\n```\n\n### 2. 编译 CUDA 扩展\n本项目依赖两个需要编译的 CUDA 模块：非极大值抑制 (NMS) 和 RoIAlign。\n**重要**：请根据您的 GPU 型号替换下方命令中的 `[arch]` 参数：\n\n| GPU 型号 | arch 参数 |\n| :--- | :--- |\n| TitanX | sm_52 |\n| GTX 960M | sm_50 |\n| GTX 1070 \u002F 1080 (Ti) | sm_61 |\n\n**编译 NMS 模块：**\n```bash\ncd nms\u002Fsrc\u002Fcuda\u002F\n# 请将 [arch] 替换为您的实际架构，例如 sm_61\nnvcc -c -o nms_kernel.cu.o nms_kernel.cu -x cu -Xcompiler -fPIC -arch=[arch]\ncd ..\u002F..\u002F\npython build.py\ncd ..\u002F\n```\n\n**编译 RoIAlign 模块：**\n```bash\ncd roialign\u002Froi_align\u002Fsrc\u002Fcuda\u002F\n# 请将 [arch] 替换为您的实际架构，例如 sm_61\nnvcc -c -o crop_and_resize_kernel.cu.o crop_and_resize_kernel.cu -x cu -Xcompiler -fPIC -arch=[arch]\ncd ..\u002F..\u002F\npython build.py\ncd ..\u002F..\u002F\n```\n\n### 3. 配置 COCO API\n安装 Python COCO API 并创建软链接（假设您已下载 cocoapi 到本地）：\n```bash\n# 请将 \u002Fpath\u002Fto\u002Fcoco\u002Fcocoapi\u002FPythonAPI\u002Fpycocotools\u002F 替换为您的实际路径\nln -s \u002Fpath\u002Fto\u002Fcoco\u002Fcocoapi\u002FPythonAPI\u002Fpycocotools\u002F pycocotools\n```\n\n### 4. 下载预训练模型\n从 Google Drive 下载在 COCO 和 ImageNet 上预训练的权重文件，并将其放置在项目适当位置（具体加载路径需在代码中确认或参考 demo 脚本）：\n*   下载地址：[Google Drive Link](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1LXUgC2IZUYNEoXr05tdqyKFZY0pZyPDc)\n\n## 基本使用\n\n### 运行演示脚本\n安装完成后，运行以下命令测试环境是否配置成功。该脚本支持 CPU 或 GPU 运行，将输出带有实例分割结果的图像。\n\n```bash\npython demo.py\n```\n\n### 训练与评估 (基于 COCO 数据集)\n所有训练和评估逻辑均在 `coco.py` 中。以下是常用命令示例：\n\n**开始新训练 (使用 COCO 预训练权重):**\n```bash\npython coco.py train --dataset=\u002Fpath\u002Fto\u002Fcoco\u002F --model=coco\n```\n\n**开始新训练 (使用 ImageNet 预训练权重):**\n```bash\npython coco.py train --dataset=\u002Fpath\u002Fto\u002Fcoco\u002F --model=imagenet\n```\n\n**断点续训:**\n```bash\n# 指定权重文件\npython coco.py train --dataset=\u002Fpath\u002Fto\u002Fcoco\u002F --model=\u002Fpath\u002Fto\u002Fweights.h5\n\n# 或自动查找上次训练的权重\npython coco.py train --dataset=\u002Fpath\u002Fto\u002Fcoco\u002F --model=last\n```\n\n**自动下载数据集并训练:**\n如果尚未下载 COCO 数据集，可添加 `--download=true` 参数：\n```bash\npython coco.py train --dataset=\u002Fpath\u002Fto\u002Fcoco\u002F --model=coco --download=true\n```\n\n**执行评估:**\n```bash\npython coco.py evaluate --dataset=\u002Fpath\u002Fto\u002Fcoco\u002F --model=last\n```\n\n> **提示**: 学习率、训练轮次等超参数可直接在 `coco.py` 文件中进行调整。","某智慧农业团队正在开发一套无人机作物病害监测系统，需要从航拍图像中精准识别并分割每一片受感染的叶片区域。\n\n### 没有 pytorch-mask-rcnn 时\n- **分割精度不足**：传统目标检测框只能圈出病害大致范围，无法区分叶片与健康背景的具体边界，导致面积统计误差大。\n- **多实例混淆**：当多片病叶重叠或紧密相邻时，模型难以区分独立个体，常将多片叶子误判为一个整体对象。\n- **框架迁移困难**：团队熟悉 PyTorch 生态，但主流高精度实现多基于 TensorFlow\u002FKeras，重写代码耗时且易引入 Bug。\n- **训练流程繁琐**：缺乏针对 COCO 数据集的现成训练脚本，数据预处理和锚框（Anchor）调整需从零摸索。\n\n### 使用 pytorch-mask-rcnn 后\n- **像素级精准分割**：利用 Mask R-CNN 的掩码生成能力，直接输出每片病叶的精确轮廓，面积计算精度提升至像素级别。\n- **实例分离清晰**：通过特征金字塔网络（FPN）和优化的锚框机制，完美分离重叠叶片，确保单株病害独立计数。\n- **原生 PyTorch 支持**：直接复用基于 PyTorch 的成熟实现，无缝对接团队现有的数据处理流水线，无需跨框架适配。\n- **开箱即用训练**：调用内置的 `coco.py` 脚本即可加载预训练权重启动微调，大幅缩短从数据准备到模型部署的周期。\n\npytorch-mask-rcnn 让农业团队在熟悉的 PyTorch 环境中，以最低成本实现了工业级的实例分割精度，显著提升了病害量化分析的效率。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmultimodallearning_pytorch-mask-rcnn_d305be4e.png","multimodallearning","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmultimodallearning_339f4232.png","https:\u002F\u002Fgithub.com\u002Fmultimodallearning",[79,83,87,91],{"name":80,"color":81,"percentage":82},"Python","#3572A5",84.6,{"name":84,"color":85,"percentage":86},"C","#555555",9.6,{"name":88,"color":89,"percentage":90},"Cuda","#3A4E3A",5.7,{"name":92,"color":93,"percentage":94},"C++","#f34b7d",0.1,2063,551,"2026-03-24T08:26:17","NOASSERTION",4,"未说明","需要 NVIDIA GPU（用于编译 CUDA 扩展），支持型号包括 TitanX (sm_52), GTX 960M (sm_50), GTX 1070\u002F1080(Ti) (sm_61)，需手动指定架构编译，显存大小未说明",{"notes":103,"python":104,"dependencies":105},"该工具基于较旧的 PyTorch 0.3 版本。安装时需要手动编译两个 CUDA 扩展（NMS 和 RoIAlign），必须根据显卡型号指定正确的 --arch 参数（如 sm_61）。需下载 COCO API 并创建软链接，预训练模型需从 Google Drive 手动下载。","3",[106,107,108,109,110,111],"pytorch==0.3","matplotlib","scipy","skimage","h5py","pycocotools",[14],"2026-03-27T02:49:30.150509","2026-04-06T08:45:18.902363",[116,121,126,131,136,141,146,150],{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},13798,"如何解决 PyTorch 0.4+ 版本中出现的 'KeyError: unexpected key' 或 'IndexError: too many indices' 错误？","这是由于 PyTorch 0.4 引入了标量（scalars），导致空张量的维度从 0 变为 1。解决方法是修改 `model.py` 第 568 行附近的代码：将 `if torch.nonzero(gt_class_ids \u003C 0).size()` 改为 `if torch.nonzero(gt_class_ids \u003C 0).nelement()`。这可以兼容新版本 PyTorch 的张量维度变化。","https:\u002F\u002Fgithub.com\u002Fmultimodallearning\u002Fpytorch-mask-rcnn\u002Fissues\u002F3",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},13799,"编译 NMS (非极大值抑制) 模块时出现指针类型不兼容警告，导致运行时报错 'can't find nms.gpu_nms'，如何解决？","这是因为代码中的 `unsigned long long` 类型与当前编译器环境不兼容。需要手动修改源码，将 `nms_kernel.cu`、`nms_kernel.h` 以及 `nms_cuda.c` 文件中的 `unsigned long long` 类型替换为 `int64_t`，然后重新编译即可解决该问题。","https:\u002F\u002Fgithub.com\u002Fmultimodallearning\u002Fpytorch-mask-rcnn\u002Fissues\u002F84",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},13800,"如何在多 GPU 环境下训练模型？直接使用 DataParallel 似乎无效。","原仓库未直接实现多 GPU 支持。用户可以参考 Issue #19 中由 @hli2020 实现的多 GPU 版本。如果自行修改，需要在网络类初始化的合适位置添加 `model = torch.nn.DataParallel(model, device_ids=range(torch.cuda.device_count()))` 代码，但需注意该仓库的数据加载和梯度更新逻辑可能需要额外调整才能完美支持多卡并行。","https:\u002F\u002Fgithub.com\u002Fmultimodallearning\u002Fpytorch-mask-rcnn\u002Fissues\u002F10",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},13801,"该项目是否支持 PyTorch 1.0 或更高版本？","当前仓库的代码主要针对旧版 PyTorch (0.3\u002F0.4)，不再积极维护以支持 PyTorch 1.0+。建议用户直接切换到官方 TorchVision 库中的 Mask R-CNN 实现，该实现原生支持新版 PyTorch，性能良好且包含易于修改的示例代码（如行人检测）。","https:\u002F\u002Fgithub.com\u002Fmultimodallearning\u002Fpytorch-mask-rcnn\u002Fissues\u002F96",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},13802,"为什么设置的 BATCH_SIZE 大于 1 时没有生效，或者训练速度没有提升？","原因可能有两点：1. 数据加载器（dataloader）未正确处理批次数据的形状拼接，导致实际批大小仍为 1；2. 梯度更新逻辑存在问题，原代码中在最后一个样本处理前就执行了 `optimizer.zero_grad()` 和 `optimizer.step()`，导致无法累积梯度。若要支持大 Batch Size，需确保数据能正确堆叠，并调整梯度清零和更新的时机（例如在累积完一个完整 batch 后再 step）。此外，在某些配置下，增大 Batch Size 可能会因显存带宽或计算密度问题导致单张图片处理时间增加，总耗时未必线性减少。","https:\u002F\u002Fgithub.com\u002Fmultimodallearning\u002Fpytorch-mask-rcnn\u002Fissues\u002F7",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},13803,"从头开始训练（不使用预训练权重）的效果为何比 Matterport 版本差很多？","从头训练效果较差（约低 8%）通常是因为训练调度（training schedule）不够优化，或者代码中仍存在细微差异。在单 GPU 上训练 COCO 数据集非常耗时，难以快速调整超参数。建议尝试复现 Matterport 版本的训练策略，或者使用其提供的预训练模型进行微调，而不是完全从头训练。","https:\u002F\u002Fgithub.com\u002Fmultimodallearning\u002Fpytorch-mask-rcnn\u002Fissues\u002F4",{"id":147,"question_zh":148,"answer_zh":149,"source_url":145},13804,"代码中是否缺少 `.cuda()` 调用导致 GPU 张量错误？","是的，部分用户报告 FPN、RPN、分类器和掩码网络等模块可能缺少 `.cuda()` 调用，导致权重不在 GPU 上而报错。检查 `model.py` 中相关层的初始化（如第 1456, 1468, 1471, 1474 行附近），确保所有子模块在创建后都正确调用了 `.cuda()` 或移动到了指定设备。",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},13805,"如何获得接近论文水平的训练结果（mAP）？","默认配置下的训练结果可能较低（如 mAP 26.5）。要达到更高精度（如 37.3 bbox \u002F 32.5 segm），需要结合 CVPR 当年的 Mask R-CNN 扩展改进，采用早停策略（early stopping），并将默认的训练轮数（epochs）加倍。同时，确保使用优化的学习率调度方案。","https:\u002F\u002Fgithub.com\u002Fmultimodallearning\u002Fpytorch-mask-rcnn\u002Fissues\u002F9",[]]