[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-bubbliiiing--faster-rcnn-pytorch":3,"tool-bubbliiiing--faster-rcnn-pytorch":62},[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,2,"2026-04-10T11:39:34",[14,15,13],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":32,"last_commit_at":41,"category_tags":42,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[43,13,15,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},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",[52,15,13,14],"语言模型",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"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,61],"视频",{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":68,"readme_en":69,"readme_zh":70,"quickstart_zh":71,"use_case_zh":72,"hero_image_url":73,"owner_login":74,"owner_name":75,"owner_avatar_url":76,"owner_bio":77,"owner_company":78,"owner_location":78,"owner_email":78,"owner_twitter":78,"owner_website":79,"owner_url":80,"languages":81,"stars":86,"forks":87,"last_commit_at":88,"license":89,"difficulty_score":10,"env_os":90,"env_gpu":91,"env_ram":90,"env_deps":92,"category_tags":96,"github_topics":78,"view_count":32,"oss_zip_url":78,"oss_zip_packed_at":78,"status":17,"created_at":97,"updated_at":98,"faqs":99,"releases":135},6713,"bubbliiiing\u002Ffaster-rcnn-pytorch","faster-rcnn-pytorch","这是一个faster-rcnn的pytorch实现的库，可以利用voc数据集格式的数据进行训练。","faster-rcnn-pytorch 是一个基于 PyTorch 框架高效实现的 Faster R-CNN 目标检测开源项目。它专注于解决图像中多物体的精准定位与分类问题，支持直接使用标准的 VOC 数据集格式进行训练，同时也提供了便捷的流程让用户自定义数据集来识别特定物体。\n\n这款工具非常适合计算机视觉领域的开发者、研究人员以及希望深入理解两阶段（Two-Stage）检测算法的学生使用。对于需要快速搭建高精度检测模型或进行算法对比实验的团队，它也是一个理想的起点。普通用户若具备基础的 Python 环境配置能力，也可利用其预训练权重直接体验强大的物体检测功能。\n\n在技术亮点方面，faster-rcnn-pytorch 不仅提供了 ResNet 和 VGG 等多种主干网络供灵活选择，还持续更新以适应现代训练需求。最新版本引入了自适应学习率调整、多种优化器（如 Adam、SGD）支持以及 Cosine 退火策略，显著提升了模型收敛速度与最终精度。此外，项目代码中包含详尽的中文注释，并集成了视频检测、FPS 测速及批量预测等实用功能，极大地降低了从理论复现到实际部署的门槛，帮助用户更轻松","faster-rcnn-pytorch 是一个基于 PyTorch 框架高效实现的 Faster R-CNN 目标检测开源项目。它专注于解决图像中多物体的精准定位与分类问题，支持直接使用标准的 VOC 数据集格式进行训练，同时也提供了便捷的流程让用户自定义数据集来识别特定物体。\n\n这款工具非常适合计算机视觉领域的开发者、研究人员以及希望深入理解两阶段（Two-Stage）检测算法的学生使用。对于需要快速搭建高精度检测模型或进行算法对比实验的团队，它也是一个理想的起点。普通用户若具备基础的 Python 环境配置能力，也可利用其预训练权重直接体验强大的物体检测功能。\n\n在技术亮点方面，faster-rcnn-pytorch 不仅提供了 ResNet 和 VGG 等多种主干网络供灵活选择，还持续更新以适应现代训练需求。最新版本引入了自适应学习率调整、多种优化器（如 Adam、SGD）支持以及 Cosine 退火策略，显著提升了模型收敛速度与最终精度。此外，项目代码中包含详尽的中文注释，并集成了视频检测、FPS 测速及批量预测等实用功能，极大地降低了从理论复现到实际部署的门槛，帮助用户更轻松地掌握核心算法细节。","## Faster-Rcnn：Two-Stage目标检测模型在Pytorch当中的实现\n---\n\n## 目录\n1. [仓库更新 Top News](#仓库更新)\n2. [性能情况 Performance](#性能情况)\n3. [所需环境 Environment](#所需环境)\n4. [文件下载 Download](#文件下载)\n5. [预测步骤 How2predict](#预测步骤)\n6. [训练步骤 How2train](#训练步骤)\n7. [评估步骤 How2eval](#评估步骤)\n8. [参考资料 Reference](#Reference)\n\n## Top News\n**`2022-04`**:**进行了大幅度的更新，支持step、cos学习率下降法、支持adam、sgd优化器选择、支持学习率根据batch_size自适应调整、新增图片裁剪。**   \nBiliBili视频中的原仓库地址为：https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Ffaster-rcnn-pytorch\u002Ftree\u002Fbilibili\n\n**`2021-10`**:**进行了大幅度的更新，增加了大量注释、增加了大量可调整参数、对代码的组成模块进行修改、增加fps、视频预测、批量预测等功能。**   \n\n## 性能情况\n| 训练数据集 | 权值文件名称 | 测试数据集 | 输入图片大小 | mAP 0.5:0.95 | mAP 0.5 |\n| :-----: | :-----: | :------: | :------: | :------: | :-----: |\n| VOC07+12 | [voc_weights_resnet.pth](https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Ffaster-rcnn-pytorch\u002Freleases\u002Fdownload\u002Fv1.0\u002Fvoc_weights_resnet.pth) | VOC-Test07 | - | - | 80.36\n| VOC07+12 | [voc_weights_vgg.pth](https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Ffaster-rcnn-pytorch\u002Freleases\u002Fdownload\u002Fv1.0\u002Fvoc_weights_vgg.pth) | VOC-Test07 | - | - | 77.46\n\n## 所需环境\ntorch == 1.2.0\n\n## 文件下载\n训练所需的voc_weights_resnet.pth或者voc_weights_vgg.pth以及主干的网络权重可以在百度云下载。  \nvoc_weights_resnet.pth是resnet为主干特征提取网络用到的；  \nvoc_weights_vgg.pth是vgg为主干特征提取网络用到的；   \n链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1S6wG8sEXBeoSec95NZxmlQ      \n提取码: 8mgp    \n\nVOC数据集下载地址如下，里面已经包括了训练集、测试集、验证集（与测试集一样），无需再次划分：  \n链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1-1Ej6dayrx3g0iAA88uY5A    \n提取码: ph32   \n\n## 训练步骤\n### a、训练VOC07+12数据集\n1. 数据集的准备   \n**本文使用VOC格式进行训练，训练前需要下载好VOC07+12的数据集，解压后放在根目录**  \n\n2. 数据集的处理   \n修改voc_annotation.py里面的annotation_mode=2，运行voc_annotation.py生成根目录下的2007_train.txt和2007_val.txt。   \n\n3. 开始网络训练   \ntrain.py的默认参数用于训练VOC数据集，直接运行train.py即可开始训练。   \n\n4. 训练结果预测   \n训练结果预测需要用到两个文件，分别是frcnn.py和predict.py。我们首先需要去frcnn.py里面修改model_path以及classes_path，这两个参数必须要修改。   \n**model_path指向训练好的权值文件，在logs文件夹里。   \nclasses_path指向检测类别所对应的txt。**   \n完成修改后就可以运行predict.py进行检测了。运行后输入图片路径即可检测。   \n\n### b、训练自己的数据集\n1. 数据集的准备  \n**本文使用VOC格式进行训练，训练前需要自己制作好数据集，**    \n训练前将标签文件放在VOCdevkit文件夹下的VOC2007文件夹下的Annotation中。   \n训练前将图片文件放在VOCdevkit文件夹下的VOC2007文件夹下的JPEGImages中。   \n\n2. 数据集的处理  \n在完成数据集的摆放之后，我们需要利用voc_annotation.py获得训练用的2007_train.txt和2007_val.txt。   \n修改voc_annotation.py里面的参数。第一次训练可以仅修改classes_path，classes_path用于指向检测类别所对应的txt。   \n训练自己的数据集时，可以自己建立一个cls_classes.txt，里面写自己所需要区分的类别。   \nmodel_data\u002Fcls_classes.txt文件内容为：      \n```python\ncat\ndog\n...\n```\n修改voc_annotation.py中的classes_path，使其对应cls_classes.txt，并运行voc_annotation.py。  \n\n3. 开始网络训练  \n**训练的参数较多，均在train.py中，大家可以在下载库后仔细看注释，其中最重要的部分依然是train.py里的classes_path。**  \n**classes_path用于指向检测类别所对应的txt，这个txt和voc_annotation.py里面的txt一样！训练自己的数据集必须要修改！**  \n修改完classes_path后就可以运行train.py开始训练了，在训练多个epoch后，权值会生成在logs文件夹中。  \n\n4. 训练结果预测  \n训练结果预测需要用到两个文件，分别是frcnn.py和predict.py。在frcnn.py里面修改model_path以及classes_path。  \n**model_path指向训练好的权值文件，在logs文件夹里。  \nclasses_path指向检测类别所对应的txt。**  \n完成修改后就可以运行predict.py进行检测了。运行后输入图片路径即可检测。  \n\n## 预测步骤\n### a、使用预训练权重\n1. 下载完库后解压，在百度网盘下载frcnn_weights.pth，放入model_data，运行predict.py，输入  \n```python\nimg\u002Fstreet.jpg\n```\n2. 在predict.py里面进行设置可以进行fps测试和video视频检测。  \n### b、使用自己训练的权重\n1. 按照训练步骤训练。  \n2. 在frcnn.py文件里面，在如下部分修改model_path和classes_path使其对应训练好的文件；**model_path对应logs文件夹下面的权值文件，classes_path是model_path对应分的类**。  \n```python\n_defaults = {\n    #--------------------------------------------------------------------------#\n    #   使用自己训练好的模型进行预测一定要修改model_path和classes_path！\n    #   model_path指向logs文件夹下的权值文件，classes_path指向model_data下的txt\n    #   如果出现shape不匹配，同时要注意训练时的model_path和classes_path参数的修改\n    #--------------------------------------------------------------------------#\n    \"model_path\"    : 'model_data\u002Fvoc_weights_resnet.pth',\n    \"classes_path\"  : 'model_data\u002Fvoc_classes.txt',\n    #---------------------------------------------------------------------#\n    #   网络的主干特征提取网络，resnet50或者vgg\n    #---------------------------------------------------------------------#\n    \"backbone\"      : \"resnet50\",\n    #---------------------------------------------------------------------#\n    #   只有得分大于置信度的预测框会被保留下来\n    #---------------------------------------------------------------------#\n    \"confidence\"    : 0.5,\n    #---------------------------------------------------------------------#\n    #   非极大抑制所用到的nms_iou大小\n    #---------------------------------------------------------------------#\n    \"nms_iou\"       : 0.3,\n    #---------------------------------------------------------------------#\n    #   用于指定先验框的大小\n    #---------------------------------------------------------------------#\n    'anchors_size'  : [8, 16, 32],\n    #-------------------------------#\n    #   是否使用Cuda\n    #   没有GPU可以设置成False\n    #-------------------------------#\n    \"cuda\"          : True,\n}\n```\n3. 运行predict.py，输入  \n```python\nimg\u002Fstreet.jpg\n```\n4. 在predict.py里面进行设置可以进行fps测试和video视频检测。  \n\n## 评估步骤 \n### a、评估VOC07+12的测试集\n1. 本文使用VOC格式进行评估。VOC07+12已经划分好了测试集，无需利用voc_annotation.py生成ImageSets文件夹下的txt。\n2. 在frcnn.py里面修改model_path以及classes_path。**model_path指向训练好的权值文件，在logs文件夹里。classes_path指向检测类别所对应的txt。**  \n3. 运行get_map.py即可获得评估结果，评估结果会保存在map_out文件夹中。\n\n### b、评估自己的数据集\n1. 本文使用VOC格式进行评估。  \n2. 如果在训练前已经运行过voc_annotation.py文件，代码会自动将数据集划分成训练集、验证集和测试集。如果想要修改测试集的比例，可以修改voc_annotation.py文件下的trainval_percent。trainval_percent用于指定(训练集+验证集)与测试集的比例，默认情况下 (训练集+验证集):测试集 = 9:1。train_percent用于指定(训练集+验证集)中训练集与验证集的比例，默认情况下 训练集:验证集 = 9:1。\n3. 利用voc_annotation.py划分测试集后，前往get_map.py文件修改classes_path，classes_path用于指向检测类别所对应的txt，这个txt和训练时的txt一样。评估自己的数据集必须要修改。\n4. 在frcnn.py里面修改model_path以及classes_path。**model_path指向训练好的权值文件，在logs文件夹里。classes_path指向检测类别所对应的txt。**  \n5. 运行get_map.py即可获得评估结果，评估结果会保存在map_out文件夹中。\n\n## Reference\nhttps:\u002F\u002Fgithub.com\u002Fchenyuntc\u002Fsimple-faster-rcnn-pytorch  \nhttps:\u002F\u002Fgithub.com\u002Feriklindernoren\u002FPyTorch-YOLOv3  \nhttps:\u002F\u002Fgithub.com\u002FBobLiu20\u002FYOLOv3_PyTorch  \n","## Faster R-CNN：基于 PyTorch 的两阶段目标检测模型实现\n---\n\n## 目录\n1. [仓库更新 Top News](#仓库更新)\n2. [性能情况 Performance](#性能情况)\n3. [所需环境 Environment](#所需环境)\n4. [文件下载 Download](#文件下载)\n5. [预测步骤 How2predict](#预测步骤)\n6. [训练步骤 How2train](#训练步骤)\n7. [评估步骤 How2eval](#评估步骤)\n8. [参考资料 Reference](#Reference)\n\n## Top News\n**`2022-04`**:**进行了大幅度的更新，支持step、cos学习率下降法、支持adam、sgd优化器选择、支持学习率根据batch_size自适应调整、新增图片裁剪。**   \nBiliBili视频中的原仓库地址为：https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Ffaster-rcnn-pytorch\u002Ftree\u002Fbilibili\n\n**`2021-10`**:**进行了大幅度的更新，增加了大量注释、增加了大量可调整参数、对代码的组成模块进行修改、增加fps、视频预测、批量预测等功能。**   \n\n## 性能情况\n| 训练数据集 | 权值文件名称 | 测试数据集 | 输入图片大小 | mAP 0.5:0.95 | mAP 0.5 |\n| :-----: | :-----: | :------: | :------: | :------: | :-----: |\n| VOC07+12 | [voc_weights_resnet.pth](https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Ffaster-rcnn-pytorch\u002Freleases\u002Fdownload\u002Fv1.0\u002Fvoc_weights_resnet.pth) | VOC-Test07 | - | - | 80.36\n| VOC07+12 | [voc_weights_vgg.pth](https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Ffaster-rcnn-pytorch\u002Freleases\u002Fdownload\u002Fv1.0\u002Fvoc_weights_vgg.pth) | VOC-Test07 | - | - | 77.46\n\n## 所需环境\ntorch == 1.2.0\n\n## 文件下载\n训练所需的voc_weights_resnet.pth或者voc_weights_vgg.pth以及主干的网络权重可以在百度云下载。  \nvoc_weights_resnet.pth是resnet为主干特征提取网络用到的；  \nvoc_weights_vgg.pth是vgg为主干特征提取网络用到的；   \n链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1S6wG8sEXBeoSec95NZxmlQ      \n提取码: 8mgp    \n\nVOC数据集下载地址如下，里面已经包括了训练集、测试集、验证集（与测试集一样），无需再次划分：  \n链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1-1Ej6dayrx3g0iAA88uY5A    \n提取码: ph32   \n\n## 训练步骤\n### a、训练VOC07+12数据集\n1. 数据集的准备   \n**本文使用VOC格式进行训练，训练前需要下载好VOC07+12的数据集，解压后放在根目录**  \n\n2. 数据集的处理   \n修改voc_annotation.py里面的annotation_mode=2，运行voc_annotation.py生成根目录下的2007_train.txt和2007_val.txt。   \n\n3. 开始网络训练   \ntrain.py的默认参数用于训练VOC数据集，直接运行train.py即可开始训练。   \n\n4. 训练结果预测   \n训练结果预测需要用到两个文件，分别是frcnn.py和predict.py。我们首先需要去frcnn.py里面修改model_path以及classes_path，这两个参数必须要修改。   \n**model_path指向训练好的权值文件，在logs文件夹里。   \nclasses_path指向检测类别所对应的txt。**   \n完成修改后就可以运行predict.py进行检测了。运行后输入图片路径即可检测。   \n\n### b、训练自己的数据集\n1. 数据集的准备  \n**本文使用VOC格式进行训练，训练前需要自己制作好数据集，**    \n训练前将标签文件放在VOCdevkit文件夹下的VOC2007文件夹下的Annotation中。   \n训练前将图片文件放在VOCdevkit文件夹下的VOC2007文件夹下的JPEGImages中。   \n\n2. 数据集的处理  \n在完成数据集的摆放之后，我们需要利用voc_annotation.py获得训练用的2007_train.txt和2007_val.txt。   \n修改voc_annotation.py里面的参数。第一次训练可以仅修改classes_path，classes_path用于指向检测类别所对应的txt。   \n训练自己的数据集时，可以自己建立一个cls_classes.txt，里面写自己所需要区分的类别。   \nmodel_data\u002Fcls_classes.txt文件内容为：      \n```python\ncat\ndog\n...\n```\n修改voc_annotation.py中的classes_path，使其对应cls_classes.txt，并运行voc_annotation.py。  \n\n3. 开始网络训练  \n**训练的参数较多，均在train.py中，大家可以在下载库后仔细看注释，其中最重要的部分依然是train.py里的classes_path。**  \n**classes_path用于指向检测类别所对应的txt，这个txt和voc_annotation.py里面的txt一样！训练自己的数据集必须要修改！**  \n修改完classes_path后就可以运行train.py开始训练了，在训练多个epoch后，权值会生成在logs文件夹中。  \n\n4. 训练结果预测  \n训练结果预测需要用到两个文件，分别是frcnn.py和predict.py。在frcnn.py里面修改model_path以及classes_path。  \n**model_path指向训练好的权值文件，在logs文件夹里。  \nclasses_path指向检测类别所对应的txt。**  \n完成修改后就可以运行predict.py进行检测了。运行后输入图片路径即可检测。  \n\n## 预测步骤\n### a、使用预训练权重\n1. 下载完库后解压，在百度网盘下载frcnn_weights.pth，放入model_data，运行predict.py，输入  \n```python\nimg\u002Fstreet.jpg\n```\n2. 在predict.py里面进行设置可以进行fps测试和video视频检测。  \n### b、使用自己训练的权重\n1. 按照训练步骤训练。  \n2. 在frcnn.py文件里面，在如下部分修改model_path和classes_path使其对应训练好的文件；**model_path对应logs文件夹下面的权值文件，classes_path是model_path对应分的类**。  \n```python\n_defaults = {\n    #--------------------------------------------------------------------------#\n    #   使用自己训练好的模型进行预测一定要修改model_path和classes_path！\n    #   model_path指向logs文件夹下的权值文件，classes_path指向model_data下的txt\n    #   如果出现shape不匹配，同时要注意训练时的model_path和classes_path参数的修改\n    #--------------------------------------------------------------------------#\n    \"model_path\"    : 'model_data\u002Fvoc_weights_resnet.pth',\n    \"classes_path\"  : 'model_data\u002Fvoc_classes.txt',\n    #---------------------------------------------------------------------#\n    #   网络的主干特征提取网络，resnet50或者vgg\n    #---------------------------------------------------------------------#\n    \"backbone\"      : \"resnet50\",\n    #---------------------------------------------------------------------#\n    #   只有得分大于置信度的预测框会被保留下来\n    #---------------------------------------------------------------------#\n    \"confidence\"    : 0.5,\n    #---------------------------------------------------------------------#\n    #   非极大抑制所用到的nms_iou大小\n    #---------------------------------------------------------------------#\n    \"nms_iou\"       : 0.3,\n    #---------------------------------------------------------------------#\n    #   用于指定先验框的大小\n    #---------------------------------------------------------------------#\n    'anchors_size'  : [8, 16, 32],\n    #-------------------------------#\n    #   是否使用Cuda\n    #   没有GPU可以设置成False\n    #-------------------------------#\n    \"cuda\"          : True,\n}\n```\n3. 运行predict.py，输入  \n```python\nimg\u002Fstreet.jpg\n```\n4. 在predict.py里面进行设置可以进行fps测试和video视频检测。  \n\n## 评估步骤 \n### a、评估VOC07+12的测试集\n1. 本文使用VOC格式进行评估。VOC07+12已经划分好了测试集，无需利用voc_annotation.py生成ImageSets文件夹下的txt。\n2. 在frcnn.py里面修改model_path以及classes_path。**model_path指向训练好的权值文件，在logs文件夹里。classes_path指向检测类别所对应的txt。**  \n3. 运行get_map.py即可获得评估结果，评估结果会保存在map_out文件夹中。\n\n### b、评估自己的数据集\n1. 本文使用VOC格式进行评估。  \n2. 如果在训练前已经运行过voc_annotation.py文件，代码会自动将数据集划分成训练集、验证集和测试集。如果想要修改测试集的比例，可以修改voc_annotation.py文件下的trainval_percent。trainval_percent用于指定(训练集+验证集)与测试集的比例，默认情况下 (训练集+验证集):测试集 = 9:1。train_percent用于指定(训练集+验证集)中训练集与验证集的比例，默认情况下 训练集:验证集 = 9:1。\n3. 利用voc_annotation.py划分测试集后，前往get_map.py文件修改classes_path，classes_path用于指向检测类别所对应的txt，这个txt和训练时的txt一样。评估自己的数据集必须要修改。\n4. 在frcnn.py里面修改model_path以及classes_path。**model_path指向训练好的权值文件，在logs文件夹里。classes_path指向检测类别所对应的txt。**  \n5. 运行get_map.py即可获得评估结果，评估结果会保存在map_out文件夹中。\n\n## Reference\nhttps:\u002F\u002Fgithub.com\u002Fchenyuntc\u002Fsimple-faster-rcnn-pytorch  \nhttps:\u002F\u002Fgithub.com\u002Feriklindernoren\u002FPyTorch-YOLOv3  \nhttps:\u002F\u002Fgithub.com\u002FBobLiu20\u002FYOLOv3_PyTorch","# Faster R-CNN PyTorch 快速上手指南\n\n本指南基于 `faster-rcnn-pytorch` 开源项目，帮助开发者快速完成环境配置、模型训练与预测。\n\n## 1. 环境准备\n\n### 系统要求\n- **Python**: 建议 Python 3.6+\n- **PyTorch**: `torch == 1.2.0` (或兼容版本)\n- **硬件**: 支持 CUDA 的 NVIDIA GPU（可选，无 GPU 可设置 `cuda=False`）\n\n### 前置依赖\n确保已安装基础深度学习库。推荐使用国内镜像源加速安装：\n\n```bash\npip install torch==1.2.0 torchvision==0.4.0 -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\npip install opencv-python pillow numpy -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n## 2. 安装步骤\n\n### 第一步：克隆仓库\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Ffaster-rcnn-pytorch.git\ncd faster-rcnn-pytorch\n```\n\n### 第二步：下载权重与数据集\n项目提供百度网盘下载链接，适合国内用户快速获取预训练权重和数据集。\n\n1. **下载预训练权重** (任选其一放入 `model_data\u002F` 目录):\n   - ResNet50 主干: [voc_weights_resnet.pth](https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Ffaster-rcnn-pytorch\u002Freleases\u002Fdownload\u002Fv1.0\u002Fvoc_weights_resnet.pth)\n   - VGG 主干: [voc_weights_vgg.pth](https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Ffaster-rcnn-pytorch\u002Freleases\u002Fdownload\u002Fv1.0\u002Fvoc_weights_vgg.pth)\n   - *百度网盘备用*: 链接: `https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1S6wG8sEXBeoSec95NZxmlQ` 提取码: `8mgp`\n\n2. **下载 VOC 数据集** (可选，用于直接训练):\n   - 包含训练集、验证集和测试集。\n   - *百度网盘*: 链接: `https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1-1Ej6dayrx3g0iAA88uY5A` 提取码: `ph32`\n   - 解压后置于项目根目录。\n\n## 3. 基本使用\n\n### 场景 A：直接使用预训练模型进行预测\n\n1. **配置文件修改**  \n   打开 `frcnn.py`，确保 `_defaults` 中的路径指向下载的权重文件：\n   ```python\n   _defaults = {\n       \"model_path\"    : 'model_data\u002Fvoc_weights_resnet.pth',\n       \"classes_path\"  : 'model_data\u002Fvoc_classes.txt',\n       \"backbone\"      : \"resnet50\",\n       \"confidence\"    : 0.5,\n       \"nms_iou\"       : 0.3,\n       \"cuda\"          : True,\n   }\n   ```\n\n2. **运行预测**  \n   执行以下命令，输入图片路径即可检测：\n   ```bash\n   python predict.py\n   ```\n   根据提示输入图片路径（例如：`img\u002Fstreet.jpg`）。\n   > 注：也可在 `predict.py` 中修改代码以进行 FPS 测试或视频检测。\n\n---\n\n### 场景 B：训练自己的数据集 (VOC 格式)\n\n1. **数据准备**  \n   将数据集整理为 VOC 格式：\n   - 图片放入：`VOCdevkit\u002FVOC2007\u002FJPEGImages`\n   - 标签放入：`VOCdevkit\u002FVOC2007\u002FAnnotations`\n   \n   创建类别文件 `model_data\u002Fcls_classes.txt`，每行一个类别名称：\n   ```text\n   cat\n   dog\n   person\n   ```\n\n2. **生成训练索引**  \n   修改 `voc_annotation.py`：\n   - 设置 `classes_path` 指向刚才创建的 `cls_classes.txt`。\n   - 设置 `annotation_mode=2`。\n   \n   运行脚本生成训练列表：\n   ```bash\n   python voc_annotation.py\n   ```\n\n3. **开始训练**  \n   修改 `train.py` 中的 `classes_path` 确保与上一步一致，然后运行：\n   ```bash\n   python train.py\n   ```\n   训练生成的权值文件将保存在 `logs\u002F` 文件夹中。\n\n4. **验证训练结果**  \n   参照“场景 A\"的步骤，将 `frcnn.py` 中的 `model_path` 修改为 `logs\u002F` 下新生成的权值文件，运行 `predict.py` 即可看到自定义模型的检测效果。","某智慧交通团队正在开发一套城市路口违章车辆自动识别系统，需要从监控视频流中精准定位并分类卡车、轿车及公交车。\n\n### 没有 faster-rcnn-pytorch 时\n- **算法复现困难**：团队需从零编写复杂的两阶段检测代码，处理锚框生成与特征金字塔匹配极易出错，研发周期长达数月。\n- **数据格式繁琐**：缺乏对 VOC 标准格式的原生支持，人工转换自定义标注数据耗时耗力，且容易引入标签对齐错误。\n- **训练调优黑盒**：缺少灵活的学习率衰减策略（如 Step\u002FCosine）和优化器切换功能，模型难以收敛到高精度，mAP 值长期停滞在 60% 以下。\n- **部署验证低效**：无法直接进行视频流 FPS 测试或批量图片预测，每次验证效果都需手动截图分析，严重拖慢迭代速度。\n\n### 使用 faster-rcnn-pytorch 后\n- **开箱即用高效**：直接调用成熟的 PyTorch 实现，内置 ResNet\u002FVGG 主干网络，将核心算法验证时间从数月缩短至数天。\n- **数据接入顺畅**：利用自带的 `voc_annotation.py` 脚本，一键将团队自定义的车辆标注转换为训练所需的 txt 索引，无缝衔接训练流程。\n- **性能显著提升**：通过配置自适应学习率和 Adam 优化器，模型在少量 Epoch 内迅速收敛，车辆检测 mAP@0.5 提升至 80% 以上。\n- **全流程可视化**：直接运行 `predict.py` 即可对监控视频进行实时检测并输出 FPS 数据，快速评估模型在边缘设备上的落地可行性。\n\nfaster-rcnn-pytorch 通过提供高度模块化且易扩展的代码框架，让团队从繁琐的底层造轮子中解放出来，专注于业务场景的精度优化与落地。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbubbliiiing_faster-rcnn-pytorch_c4639921.png","bubbliiiing","Bubbliiiing","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fbubbliiiing_ad57dd39.jpg","Bubbliiiing哔哩哔哩空间： \r\nhttps:\u002F\u002Fspace.bilibili.com\u002F472467171   ",null,"https:\u002F\u002Fblog.csdn.net\u002Fweixin_44791964","https:\u002F\u002Fgithub.com\u002Fbubbliiiing",[82],{"name":83,"color":84,"percentage":85},"Python","#3572A5",100,1829,368,"2026-04-09T12:25:33","MIT","未说明","可选（配置项 cuda 可设为 False），未指定具体型号或显存大小，需支持所选 PyTorch 版本的 CUDA 环境",{"notes":93,"python":90,"dependencies":94},"代码中通过 'cuda' 参数控制是否使用 GPU，无 GPU 时可设置为 False。训练和预测需准备 VOC 格式数据集或按相同格式整理自定义数据集。预训练权重和数据集需从百度网盘手动下载。",[95],"torch==1.2.0",[15],"2026-03-27T02:49:30.150509","2026-04-12T05:25:51.518588",[100,105,110,115,120,125,130],{"id":101,"question_zh":102,"answer_zh":103,"source_url":104},30302,"加载预训练模型或自己训练的权重时出现 'size mismatch' 报错怎么办？","这通常是因为当前代码中设置的类别数量（num_classes）与权重文件中保存的类别数量不一致导致的。例如，权重是基于 20 类训练的，但代码默认配置可能是其他数值。解决方法：检查并修改配置文件中的类别数量，确保其与训练该权重时使用的类别数完全一致，然后重新运行。如果是加载官方预训练权重，请确保未随意修改数据集类别配置。","https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Ffaster-rcnn-pytorch\u002Fissues\u002F2",{"id":106,"question_zh":107,"answer_zh":108,"source_url":109},30303,"训练过程中解冻主干网络后出现 'Killed' 或内存溢出（OOM）错误如何解决？","这是因为在训练循环中 Loss 张量没有及时转换为标量数值，导致计算图累积占用大量显存\u002F内存。解决方案是将代码中累加 loss 的语句从 `loss += loss_value` 修改为 `loss += float(loss_value)` 或 `loss += loss_value.item()`。这样可以断开梯度追踪，防止内存泄漏。","https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Ffaster-rcnn-pytorch\u002Fissues\u002F27",{"id":111,"question_zh":112,"answer_zh":113,"source_url":114},30304,"为什么 VGG 主干网络的 ROI Pool size 设为 7，而 ResNet50 设为 14？","这与网络结构的下采样倍数有关。VGG 网络在提取特征后直接下采样到了 7x7 的尺寸，因此 ROI Pool size 设为 7。而 ResNet50 的 Layer4 输出特征图较大，且其 Head 部分包含额外的下采样操作（max_pool），为了最终得到一致的 7x7 特征用于分类和回归，ResNet50 的 ROI Pool size 需要设为 14（14x14 经过后续下采样变为 7x7）。","https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Ffaster-rcnn-pytorch\u002Fissues\u002F57",{"id":116,"question_zh":117,"answer_zh":118,"source_url":119},30305,"Faster R-CNN 中分类器的回归层通道数为什么是 class_nums * 4？为什么要对每个类别单独做回归？","这是 Faster R-CNN 的标准设计。网络需要对每个候选框预测属于各个类别的概率，同时针对每个类别预测对应的边界框偏移量（dx, dy, dw, dh）。因为不同类别的物体形状分布可能不同，所以针对每个类别都独立预测一套回归参数，故通道数为 类别数 * 4。虽然也有共享回归参数的变体，但原版及本库采用 per-class regression 以获得更好效果。","https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Ffaster-rcnn-pytorch\u002Fissues\u002F7",{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},30306,"使用默认超参数训练能否达到作者展示的精度？如果达不到可能是什么原因？","理论上使用默认超参数和数据集可以达到较高精度。如果效果差异大，通常原因包括：1. 数据集格式转换有误（如标注坐标、类别索引不对应）；2. 学习率、Batch Size 等关键参数被意外修改；3. 预训练权重未正确加载。建议仔细检查数据预处理流程，确认 `classes_path` 和 `train_path` 配置正确，并对比训练日志中的 Loss 下降曲线是否正常。","https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Ffaster-rcnn-pytorch\u002Fissues\u002F128",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},30307,"代码结构看起来比较杂乱，是否影响使用？","代码结构旨在保持简洁和易用性，方便用户快速上手。虽然部分实现可能为了兼容性或历史原因显得不够模块化，但核心功能（数据加载、训练、预测）是完整的。用户只需按照文档修改配置文件（如路径、类别），即可直接运行。作者也提供了 TF2 版本等其他实现供参考，建议重点关注配置项而非过度纠结内部结构。","https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Ffaster-rcnn-pytorch\u002Fissues\u002F19",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},30308,"为什么我测试得到的 mAP 比作者说明文档中的数值还要高？","这种情况通常是正常的。原因可能包括：1. 随机种子不同导致初始化和数据增强效果有差异；2. 评估代码版本更新，修复了旧版 bug 或优化了计算逻辑；3. 硬件或深度学习框架版本差异带来的微小数值波动。只要结果在合理范围内波动，无需担心，以实际测试结果为准。","https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Ffaster-rcnn-pytorch\u002Fissues\u002F90",[136,141,146],{"id":137,"version":138,"summary_zh":139,"released_at":140},214661,"v3.1","## 重要更新\n- 修复了类别转换的问题，修复了RoI数量不对齐的问题。\n- 支持阶梯式和余弦退火两种学习率衰减策略。\n- 支持选择Adam和SGD优化器。\n- 支持多种预测模式：单张图片预测、文件夹批量预测、视频预测、图片裁剪以及各类目标数量统计。\n- 增加了多GPU训练功能。","2022-04-22T12:02:29",{"id":142,"version":143,"summary_zh":144,"released_at":145},214662,"v2.0","## 重要更新\n- 更新train.py文件，增加了大量的注释，并新增多个可调参数。\n- 更新predict.py文件，增加了大量的注释，新增了帧率显示、视频预测、批量预测等功能。\n- 更新frcnn.py文件，增加了大量的注释，并新增先验框选择、置信度阈值、非极大值抑制等参数。\n- 将get_dr_txt.py、get_gt_txt.py和get_map.py文件合并，通过一个文件实现数据集的评估。\n- 更新voc_annotation.py文件，新增多个可调参数。\n- 更新summary.py文件，用于可视化网络结构。","2022-03-04T05:12:33",{"id":147,"version":148,"summary_zh":149,"released_at":150},214663,"v1.0","Faster R-CNN 的权重","2020-10-23T05:17:08"]