[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-sfzhang15--RefineDet":3,"tool-sfzhang15--RefineDet":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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,2,"2026-04-18T11:18:24",[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":79,"owner_email":80,"owner_twitter":80,"owner_website":81,"owner_url":82,"languages":83,"stars":120,"forks":121,"last_commit_at":122,"license":123,"difficulty_score":124,"env_os":125,"env_gpu":126,"env_ram":127,"env_deps":128,"category_tags":146,"github_topics":147,"view_count":32,"oss_zip_url":80,"oss_zip_packed_at":80,"status":17,"created_at":149,"updated_at":150,"faqs":151,"releases":182},9435,"sfzhang15\u002FRefineDet","RefineDet","Single-Shot Refinement Neural Network for Object Detection, CVPR, 2018","RefineDet 是一款专为物体检测任务设计的高效开源深度学习模型，由中科院团队在 2018 年 CVPR 会议上提出。它旨在解决传统检测算法中“精度”与“速度”难以兼得的痛点：两阶段方法（如 Faster R-CNN）虽然准确但推理缓慢，而单阶段方法（如 YOLO、SSD）速度快却往往牺牲了检测精度。\n\nRefineDet 的创新之处在于其独特的“单次精炼”架构。它巧妙地结合了锚框细化模块和特征金字塔结构，通过两个紧密相连的子网络，先对初始锚框进行粗略调整，再进行精细分类与定位。这种设计使其在保持单阶段方法高效特性的同时，显著提升了检测准确率。实验数据显示，在标准的 VOC2007 测试集上，RefineDet512 版本的平均精度均值（mAP）高达 81.8%，超越了当时的主流两阶段模型，同时在泰坦 X 显卡上仍能维持每秒 24 帧的实时处理速度。\n\n这款工具非常适合计算机视觉领域的研究人员、算法工程师以及需要部署高性能检测系统的开发者使用。如果你正在寻找一个既能满足实时性要求，又能在复杂场景下提供高精度识别结果的基线模型，RefineDet 是一个值得深入研究和应用的选择。项目","RefineDet 是一款专为物体检测任务设计的高效开源深度学习模型，由中科院团队在 2018 年 CVPR 会议上提出。它旨在解决传统检测算法中“精度”与“速度”难以兼得的痛点：两阶段方法（如 Faster R-CNN）虽然准确但推理缓慢，而单阶段方法（如 YOLO、SSD）速度快却往往牺牲了检测精度。\n\nRefineDet 的创新之处在于其独特的“单次精炼”架构。它巧妙地结合了锚框细化模块和特征金字塔结构，通过两个紧密相连的子网络，先对初始锚框进行粗略调整，再进行精细分类与定位。这种设计使其在保持单阶段方法高效特性的同时，显著提升了检测准确率。实验数据显示，在标准的 VOC2007 测试集上，RefineDet512 版本的平均精度均值（mAP）高达 81.8%，超越了当时的主流两阶段模型，同时在泰坦 X 显卡上仍能维持每秒 24 帧的实时处理速度。\n\n这款工具非常适合计算机视觉领域的研究人员、算法工程师以及需要部署高性能检测系统的开发者使用。如果你正在寻找一个既能满足实时性要求，又能在复杂场景下提供高精度识别结果的基线模型，RefineDet 是一个值得深入研究和应用的选择。项目基于 Caffe 框架构建，提供了完整的训练、评估代码及预训练模型，便于用户快速复现论文结果或进行二次开发。","# Single-Shot Refinement Neural Network for Object Detection\n\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-BSD-blue.svg)](LICENSE)\n\nBy [Shifeng Zhang](http:\u002F\u002Fwww.cbsr.ia.ac.cn\u002Fusers\u002Fsfzhang\u002F), [Longyin Wen](http:\u002F\u002Fwww.cbsr.ia.ac.cn\u002Fusers\u002Flywen\u002F), [Xiao Bian](https:\u002F\u002Fsites.google.com\u002Fsite\u002Fcvbian\u002F), [Zhen Lei](http:\u002F\u002Fwww.cbsr.ia.ac.cn\u002Fusers\u002Fzlei\u002F), [Stan Z. Li](http:\u002F\u002Fwww.cbsr.ia.ac.cn\u002Fusers\u002Fszli\u002F).\n\n### Introduction\n\nWe propose a novel single-shot based detector, called RefineDet, that achieves better accuracy than two-stage methods and maintains comparable efficiency of one-stage methods. You can use the code to train\u002Fevaluate the RefineDet method for object detection. For more details, please refer to our [paper](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1711.06897.pdf).\n\n\u003Cp align=\"left\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsfzhang15_RefineDet_readme_e4648d6529f1.jpg\" alt=\"RefineDet Structure\" width=\"777px\">\n\u003C\u002Fp>\n\n| System | VOC2007 test *mAP* | **FPS** (Titan X) | Number of Boxes | Input resolution\n|:-------|:-----:|:-------:|:-------:|:-------:|\n| [Faster R-CNN (VGG16)](https:\u002F\u002Fgithub.com\u002FShaoqingRen\u002Ffaster_rcnn) | 73.2 | 7 | ~6000 | ~1000 x 600 |\n| [YOLO (GoogLeNet)](http:\u002F\u002Fpjreddie.com\u002Fdarknet\u002Fyolo\u002F) | 63.4 | 45 | 98 | 448 x 448 |\n| [YOLOv2 (Darknet-19)](http:\u002F\u002Fpjreddie.com\u002Fdarknet\u002Fyolo\u002F) | 78.6 | 40 | 1445 | 544 x 544 |\n| [SSD300* (VGG16)](https:\u002F\u002Fgithub.com\u002Fweiliu89\u002Fcaffe\u002Ftree\u002Fssd) | 77.2 | 46 | 8732 | 300 x 300 |\n| [SSD512* (VGG16)](https:\u002F\u002Fgithub.com\u002Fweiliu89\u002Fcaffe\u002Ftree\u002Fssd) | 79.8 | 19 | 24564 | 512 x 512 |\n| RefineDet320 (VGG16) | 80.0 | 40 | 6375 | 320 x 320 |\n| RefineDet512 (VGG16) | **81.8** | 24 | 16320 | 512 x 512 |\n\n\n\u003Cp align=\"left\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsfzhang15_RefineDet_readme_796e1b3159ae.jpg\" alt=\"RefineDet results on multiple datasets\" width=\"770px\">\n\u003C\u002Fp>\n\n_Note: RefineDet300+ and RefineDet512+ are evaluated with the multi-scale testing strategy.  The code of the multi-scale testing has also been released in this repository._\n\n### Citing RefineDet\n\nPlease cite our paper in your publications if it helps your research:\n\n    @inproceedings{zhang2018single,\n      title = {Single-Shot Refinement Neural Network for Object Detection},\n      author = {Zhang, Shifeng and Wen, Longyin and Bian, Xiao and Lei, Zhen and Li, Stan Z.},\n      booktitle = {CVPR},\n      year = {2018}\n    }\n\n### Contents\n1. [Installation](#installation)\n2. [Preparation](#preparation)\n3. [Training](#training)\n4. [Evaluation](#evaluation)\n5. [Models](#models)\n\n### Installation\n1. Get the code. We will call the cloned directory as `$RefineDet_ROOT`.\n  ```Shell\n  git clone https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet.git\n  ```\n\n2. Build the code. Please follow [Caffe instruction](http:\u002F\u002Fcaffe.berkeleyvision.org\u002Finstallation.html) to install all necessary packages and build it.\n  ```Shell\n  cd $RefineDet_ROOT\n  # Modify Makefile.config according to your Caffe installation.\n  # Make sure to include $RefineDet_ROOT\u002Fpython to your PYTHONPATH.\n  cp Makefile.config.example Makefile.config\n  make all -j && make py\n  ```\n\n### Preparation\n1. Download [fully convolutional reduced (atrous) VGGNet](https:\u002F\u002Fgist.github.com\u002Fweiliu89\u002F2ed6e13bfd5b57cf81d6). By default, we assume the model is stored in `$RefineDet_ROOT\u002Fmodels\u002FVGGNet\u002F`.\n\n2. Download [ResNet-101](https:\u002F\u002Fgithub.com\u002FKaimingHe\u002Fdeep-residual-networks). By default, we assume the model is stored in `$RefineDet_ROOT\u002Fmodels\u002FResNet\u002F`.\n\n3. Follow the [data\u002FVOC0712\u002FREADME.md](https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fblob\u002Fmaster\u002Fdata\u002FVOC0712\u002FREADME.md) to download VOC2007 and VOC2012 dataset and create the LMDB file for the VOC2007 training and testing.\n\n4. Follow the [data\u002FVOC0712Plus\u002FREADME.md](https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fblob\u002Fmaster\u002Fdata\u002FVOC0712Plus\u002FREADME.md) to download VOC2007 and VOC2012 dataset and create the LMDB file for the VOC2012 training and testing.\n\n5. Follow the [data\u002Fcoco\u002FREADME.md](https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fblob\u002Fmaster\u002Fdata\u002Fcoco\u002FREADME.md) to download MS COCO dataset and create the LMDB file for the COCO training and testing.\n\n### Training\n1. Train your model on PASCAL VOC.\n  ```Shell\n  # It will create model definition files and save snapshot models in:\n  #   - $RefineDet_ROOT\u002Fmodels\u002FVGGNet\u002FVOC0712{Plus}\u002Frefinedet_vgg16_{size}x{size}\u002F\n  # and job file, log file, and the python script in:\n  #   - $RefineDet_ROOT\u002Fjobs\u002FVGGNet\u002FVOC0712{Plus}\u002Frefinedet_vgg16_{size}x{size}\u002F\n  python examples\u002Frefinedet\u002FVGG16_VOC2007_320.py\n  python examples\u002Frefinedet\u002FVGG16_VOC2007_512.py\n  python examples\u002Frefinedet\u002FVGG16_VOC2012_320.py\n  python examples\u002Frefinedet\u002FVGG16_VOC2012_512.py\n  ```\n  \n2. Train your model on COCO.\n  ```Shell\n  # It will create model definition files and save snapshot models in:\n  #   - $RefineDet_ROOT\u002Fmodels\u002F{Network}\u002Fcoco\u002Frefinedet_{network}_{size}x{size}\u002F\n  # and job file, log file, and the python script in:\n  #   - $RefineDet_ROOT\u002Fjobs\u002F{Network}\u002Fcoco\u002Frefinedet_{network}_{size}x{size}\u002F\n  python examples\u002Frefinedet\u002FVGG16_COCO_320.py\n  python examples\u002Frefinedet\u002FVGG16_COCO_512.py\n  python examples\u002Frefinedet\u002FResNet101_COCO_320.py\n  python examples\u002Frefinedet\u002FResNet101_COCO_512.py\n  ```\n  \n3. Train your model form COOC to VOC (Based on VGG16).\n  ```Shell\n  # It will extract a VOC model from a pretrained COCO model.\n  ipython notebook convert_model_320.ipynb\n  ipython notebook convert_model_512.ipynb\n  # It will create model definition files and save snapshot models in:\n  #   - $RefineDet_ROOT\u002Fmodels\u002FVGGNet\u002FVOC0712{Plus}\u002Frefinedet_vgg16_{size}x{size}_ft\u002F\n  # and job file, log file, and the python script in:\n  #   - $RefineDet_ROOT\u002Fjobs\u002FVGGNet\u002FVOC0712{Plus}\u002Frefinedet_vgg16_{size}x{size}_ft\u002F\n  python examples\u002Frefinedet\u002Ffinetune_VGG16_VOC2007_320.py\n  python examples\u002Frefinedet\u002Ffinetune_VGG16_VOC2007_512.py\n  python examples\u002Frefinedet\u002Ffinetune_VGG16_VOC2012_320.py\n  python examples\u002Frefinedet\u002Ffinetune_VGG16_VOC2012_512.py\n  ```\n\n### Evaluation\n1. Build the Cython modules.\n  ```Shell\n  cd $RefineDet_ROOT\u002Ftest\u002Flib\n  make -j\n  ```\n  \n2. Change the ‘self._devkit_path’ in [`test\u002Flib\u002Fdatasets\u002Fpascal_voc.py`](https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fblob\u002Fmaster\u002Ftest\u002Flib\u002Fdatasets\u002Fpascal_voc.py) to yours.\n\n3. Change the ‘self._data_path’ in [`test\u002Flib\u002Fdatasets\u002Fcoco.py`](https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fblob\u002Fmaster\u002Ftest\u002Flib\u002Fdatasets\u002Fcoco.py) to yours.\n\n4. Check out [`test\u002Frefinedet_demo.py`](https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fblob\u002Fmaster\u002Ftest\u002Frefinedet_demo.py) on how to detect objects using the RefineDet model and how to plot detection results.\n  ```Shell\n  # For GPU users\n  python test\u002Frefinedet_demo.py\n  # For CPU users\n  python test\u002Frefinedet_demo.py --gpu_id -1\n  ```\n\n5. Evaluate the trained models via [`test\u002Frefinedet_test.py`](https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fblob\u002Fmaster\u002Ftest\u002Frefinedet_test.py).\n  ```Shell\n  # You can modify the parameters in refinedet_test.py for different types of evaluation:\n  #  - single_scale: True is single scale testing, False is multi_scale_testing.\n  #  - test_set: 'voc_2007_test', 'voc_2012_test', 'coco_2014_minival', 'coco_2015_test-dev'.\n  #  - voc_path: where the trained voc caffemodel.\n  #  - coco_path: where the trained voc caffemodel.\n  # For 'voc_2007_test' and 'coco_2014_minival', it will directly output the mAP results.\n  # For 'voc_2012_test' and 'coco_2015_test-dev', it will save the detections and you should submitted it to the evaluation server to get the mAP results.\n  python test\u002Frefinedet_test.py\n  ```\n\n### Models\nWe have provided the models that are trained from different datasets. To help reproduce the results in [Table 1, Table 2, Table 4](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1711.06897.pdf), most models contain a pretrained `.caffemodel` file, many `.prototxt` files, and python scripts.\n\n1. PASCAL VOC models (VGG-16):\n   * 07+12: [RefineDet320](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1rj6ikGCJg_rOlt0gUCXkjHzPkjpvzxXV), [RefineDet512](https:\u002F\u002Fdrive.google.com\u002Fopen?id=10Fwymi1HizebH3qnyZmecXRvtBc1HCop)\n   * 07++12: [RefineDet320](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1d1T_tTImZynD88CoB0OF0rdFXgp4E_le), [RefineDet512](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1h9IrfBHKnO1tQq3PWmo0TLhQcx7lUHhj)\n   * COCO: [RefineDet320](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1dl-eyCZgDv_UwxGb2c1Usaqq2u2u7sqz), [RefineDet512](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1vJ8CZlOocsF5cASr3k2Or1vQx-hTfxs6)\n   * 07+12+COCO: [RefineDet320](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1c8umLHI-x68uxT7CcCirFPhykPkyYUzC), [RefineDet512](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1-d4w152HsEaYgWY7v4_6zqxxQIijlHjX)\n   * 07++12+COCO: [RefineDet320](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1pti47J-oE7Os02vNvO0JIrQp3_FQR70v), [RefineDet512](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1ZwnO_F1Pqdg1xyNSa-0XPEuh7knel9L_)\n\n2. COCO models:\n   * trainval35k (VGG-16): [RefineDet320](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1BIVvkSQM8DarpeqOpjgPpDxUoFq9ZxKM), [RefineDet512](https:\u002F\u002Fdrive.google.com\u002Fopen?id=16j7gmHvd82LSog52kBXUUYyLx26mOV_6)\n   * trainval35k (ResNet101): [RefineDet320](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1yrCfPIyKNsD9aBnn5iooFoX414FzXvzH), [RefineDet512](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1KWdfrowNIJqJF0j-ZxkQpkbAcPPbwAS1)\n\n_Note: If you can not download  pre-trained models through the above links, you can download them through [BaiduYun](http:\u002F\u002Fpan.baidu.com\u002Fs\u002F1gf8J7Yr)._\n","# 用于目标检测的单次精炼神经网络\n\n[![许可证](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-BSD-blue.svg)](LICENSE)\n\n作者：[张士峰](http:\u002F\u002Fwww.cbsr.ia.ac.cn\u002Fusers\u002Fsfzhang\u002F)、[温龙银](http:\u002F\u002Fwww.cbsr.ia.ac.cn\u002Fusers\u002Flywen\u002F)、[边晓](https:\u002F\u002Fsites.google.com\u002Fsite\u002Fcvbian\u002F)、[雷震](http:\u002F\u002Fwww.cbsr.ia.ac.cn\u002Fusers\u002Fzlei\u002F)、[李斯坦](http:\u002F\u002Fwww.cbsr.ia.ac.cn\u002Fusers\u002Fszli\u002F)。\n\n### 简介\n\n我们提出了一种新颖的基于单次检测器的方法，称为RefineDet，它在准确率上优于两阶段方法，同时保持与单阶段方法相当的效率。您可以使用该代码来训练\u002F评估RefineDet目标检测方法。更多详细信息，请参阅我们的[论文](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1711.06897.pdf)。\n\n\u003Cp align=\"left\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsfzhang15_RefineDet_readme_e4648d6529f1.jpg\" alt=\"RefineDet 结构\" width=\"777px\">\n\u003C\u002Fp>\n\n| 系统 | VOC2007 测试 *mAP* | **FPS** (Titan X) | 检测框数量 | 输入分辨率 |\n|:-------|:-----:|:-------:|:-------:|:-------:|\n| [Faster R-CNN (VGG16)](https:\u002F\u002Fgithub.com\u002FShaoqingRen\u002Ffaster_rcnn) | 73.2 | 7 | ~6000 | ~1000 x 600 |\n| [YOLO (GoogLeNet)](http:\u002F\u002Fpjreddie.com\u002Fdarknet\u002Fyolo\u002F) | 63.4 | 45 | 98 | 448 x 448 |\n| [YOLOv2 (Darknet-19)](http:\u002F\u002Fpjreddie.com\u002Fdarknet\u002Fyolo\u002F) | 78.6 | 40 | 1445 | 544 x 544 |\n| [SSD300* (VGG16)](https:\u002F\u002Fgithub.com\u002Fweiliu89\u002Fcaffe\u002Ftree\u002Fssd) | 77.2 | 46 | 8732 | 300 x 300 |\n| [SSD512* (VGG16)](https:\u002F\u002Fgithub.com\u002Fweiliu89\u002Fcaffe\u002Ftree\u002Fssd) | 79.8 | 19 | 24564 | 512 x 512 |\n| RefineDet320 (VGG16) | 80.0 | 40 | 6375 | 320 x 320 |\n| RefineDet512 (VGG16) | **81.8** | 24 | 16320 | 512 x 512 |\n\n\n\u003Cp align=\"left\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsfzhang15_RefineDet_readme_796e1b3159ae.jpg\" alt=\"RefineDet 在多个数据集上的结果\" width=\"770px\">\n\u003C\u002Fp>\n\n_注意：RefineDet300+ 和 RefineDet512+ 是使用多尺度测试策略进行评估的。多尺度测试的代码也已在此仓库中发布。_\n\n### 引用 RefineDet\n\n如果我们的工作对您的研究有所帮助，请在您的出版物中引用我们的论文：\n\n    @inproceedings{zhang2018single,\n      title = {Single-Shot Refinement Neural Network for Object Detection},\n      author = {Zhang, Shifeng and Wen, Longyin and Bian, Xiao and Lei, Zhen and Li, Stan Z.},\n      booktitle = {CVPR},\n      year = {2018}\n    }\n\n### 目录\n1. [安装](#installation)\n2. [准备](#preparation)\n3. [训练](#training)\n4. [评估](#evaluation)\n5. [模型](#models)\n\n### 安装\n1. 获取代码。我们将克隆后的目录称为 `$RefineDet_ROOT`。\n  ```Shell\n  git clone https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet.git\n  ```\n\n2. 编译代码。请按照 [Caffe 安装说明](http:\u002F\u002Fcaffe.berkeleyvision.org\u002Finstallation.html) 安装所有必要的软件包并完成编译。\n  ```Shell\n  cd $RefineDet_ROOT\n  # 根据您的 Caffe 安装情况修改 Makefile.config。\n  # 确保将 $RefineDet_ROOT\u002Fpython 添加到您的 PYTHONPATH 中。\n  cp Makefile.config.example Makefile.config\n  make all -j && make py\n  ```\n\n### 准备\n1. 下载 [全卷积缩减版（空洞）VGGNet](https:\u002F\u002Fgist.github.com\u002Fweiliu89\u002F2ed6e13bfd5b57cf81d6)。默认情况下，我们认为该模型存储在 `$RefineDet_ROOT\u002Fmodels\u002FVGGNet\u002F`。\n\n2. 下载 [ResNet-101](https:\u002F\u002Fgithub.com\u002FKaimingHe\u002Fdeep-residual-networks)。默认情况下，我们认为该模型存储在 `$RefineDet_ROOT\u002Fmodels\u002FResNet\u002F`。\n\n3. 按照 [data\u002FVOC0712\u002FREADME.md](https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fblob\u002Fmaster\u002Fdata\u002FVOC0712\u002FREADME.md) 下载 VOC2007 和 VOC2012 数据集，并为 VOC2007 的训练和测试创建 LMDB 文件。\n\n4. 按照 [data\u002FVOC0712Plus\u002FREADME.md](https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fblob\u002Fmaster\u002Fdata\u002FVOC0712Plus\u002FREADME.md) 下载 VOC2007 和 VOC2012 数据集，并为 VOC2012 的训练和测试创建 LMDB 文件。\n\n5. 按照 [data\u002Fcoco\u002FREADME.md](https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fblob\u002Fmaster\u002Fdata\u002Fcoco\u002FREADME.md) 下载 MS COCO 数据集，并为 COCO 的训练和测试创建 LMDB 文件。\n\n### 训练\n1. 在 PASCAL VOC 上训练您的模型。\n  ```Shell\n  # 这将创建模型定义文件，并将快照模型保存在：\n  #   - $RefineDet_ROOT\u002Fmodels\u002FVGGNet\u002FVOC0712{Plus}\u002Frefinedet_vgg16_{size}x{size}\u002F\n  # 同时生成作业文件、日志文件以及 Python 脚本，存放于：\n  #   - $RefineDet_ROOT\u002Fjobs\u002FVGGNet\u002FVOC0712{Plus}\u002Frefinedet_vgg16_{size}x{size}\u002F\n  python examples\u002Frefinedet\u002FVGG16_VOC2007_320.py\n  python examples\u002Frefinedet\u002FVGG16_VOC2007_512.py\n  python examples\u002Frefinedet\u002FVGG16_VOC2012_320.py\n  python examples\u002Frefinedet\u002FVGG16_VOC2012_512.py\n  ```\n  \n2. 在 COCO 上训练您的模型。\n  ```Shell\n  # 这将创建模型定义文件，并将快照模型保存在：\n  #   - $RefineDet_ROOT\u002Fmodels\u002F{Network}\u002Fcoco\u002Frefinedet_{network}_{size}x{size}\u002F\n  # 同时生成作业文件、日志文件以及 Python 脚本，存放于：\n  #   - $RefineDet_ROOT\u002Fjobs\u002F{Network}\u002Fcoco\u002Frefinedet_{network}_{size}x{size}\u002F\n  python examples\u002Frefinedet\u002FVGG16_COCO_320.py\n  python examples\u002Frefinedet\u002FVGG16_COCO_512.py\n  python examples\u002Frefinedet\u002FResNet101_COCO_320.py\n  python examples\u002Frefinedet\u002FResNet101_COCO_512.py\n  ```\n  \n3. 从 COCO 微调至 VOC（基于 VGG16）。\n  ```Shell\n  # 这将从预训练的 COCO 模型中提取出 VOC 模型。\n  ipython notebook convert_model_320.ipynb\n  ipython notebook convert_model_512.ipynb\n  # 这将创建模型定义文件，并将快照模型保存在：\n  #   - $RefineDet_ROOT\u002Fmodels\u002FVGGNet\u002FVOC0712{Plus}\u002Frefinedet_vgg16_{size}x{size}_ft\u002F\n  # 同时生成作业文件、日志文件以及 Python 脚本，存放于：\n  #   - $RefineDet_ROOT\u002Fjobs\u002FVGGNet\u002FVOC0712{Plus}\u002Frefinedet_vgg16_{size}x{size}_ft\u002F\n  python examples\u002Frefinedet\u002Ffinetune_VGG16_VOC2007_320.py\n  python examples\u002Frefinedet\u002Ffinetune_VGG16_VOC2007_512.py\n  python examples\u002Frefinedet\u002Ffinetune_VGG16_VOC2012_320.py\n  python examples\u002Frefinedet\u002Ffinetune_VGG16_VOC2012_512.py\n  ```\n\n### 评估\n1. 构建 Cython 模块。\n  ```Shell\n  cd $RefineDet_ROOT\u002Ftest\u002Flib\n  make -j\n  ```\n  \n2. 将 [`test\u002Flib\u002Fdatasets\u002Fpascal_voc.py`](https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fblob\u002Fmaster\u002Ftest\u002Flib\u002Fdatasets\u002Fpascal_voc.py) 中的 `self._devkit_path` 修改为您的路径。\n\n3. 将 [`test\u002Flib\u002Fdatasets\u002Fcoco.py`](https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fblob\u002Fmaster\u002Ftest\u002Flib\u002Fdatasets\u002Fcoco.py) 中的 `self._data_path` 修改为您的路径。\n\n4. 查看 [`test\u002Frefinedet_demo.py`](https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fblob\u002Fmaster\u002Ftest\u002Frefinedet_demo.py)，了解如何使用 RefineDet 模型进行目标检测以及如何绘制检测结果。\n  ```Shell\n  # 对于 GPU 用户\n  python test\u002Frefinedet_demo.py\n  # 对于 CPU 用户\n  python test\u002Frefinedet_demo.py --gpu_id -1\n  ```\n\n5. 通过 [`test\u002Frefinedet_test.py`](https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fblob\u002Fmaster\u002Ftest\u002Frefinedet_test.py) 评估训练好的模型。\n  ```Shell\n  # 您可以修改 refinedet_test.py 中的参数以进行不同类型的评估：\n  #  - single_scale: True 表示单尺度测试，False 表示多尺度测试。\n  #  - test_set: 'voc_2007_test', 'voc_2012_test', 'coco_2014_minival', 'coco_2015_test-dev'。\n  #  - voc_path: 训练好的 VOC Caffe 模型所在路径。\n  #  - coco_path: 训练好的 COCO Caffe 模型所在路径。\n  # 对于 'voc_2007_test' 和 'coco_2014_minival'，将直接输出 mAP 结果。\n  # 对于 'voc_2012_test' 和 'coco_2015_test-dev'，会保存检测结果，您需要将其提交到评估服务器以获取 mAP 结果。\n  python test\u002Frefinedet_test.py\n  ```\n\n### 模型\n我们提供了从不同数据集训练得到的模型。为了帮助复现 [表 1、表 2、表 4](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1711.06897.pdf) 中的结果，大多数模型都包含一个预训练的 `.caffemodel` 文件、多个 `.prototxt` 文件以及 Python 脚本。\n\n1. PASCAL VOC 模型（VGG-16）：\n   * 07+12：[RefineDet320](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1rj6ikGCJg_rOlt0gUCXkjHzPkjpvzxXV)，[RefineDet512](https:\u002F\u002Fdrive.google.com\u002Fopen?id=10Fwymi1HizebH3qnyZmecXRvtBc1HCop)\n   * 07++12：[RefineDet320](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1d1T_tTImZynD88CoB0OF0rdFXgp4E_le)，[RefineDet512](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1h9IrfBHKnO1tQq3PWmo0TLhQcx7lUHhj)\n   * COCO：[RefineDet320](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1dl-eyCZgDv_UwxGb2c1Usaqq2u2u7sqz)，[RefineDet512](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1vJ8CZlOocsF5cASr3k2Or1vQx-hTfxs6)\n   * 07+12+COCO：[RefineDet320](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1c8umLHI-x68uxT7CcCirFPhykPkyYUzC)，[RefineDet512](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1-d4w152HsEaYgWY7v4_6zqxxQIijlHjX)\n   * 07++12+COCO：[RefineDet320](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1pti47J-oE7Os02vNvO0JIrQp3_FQR70v)，[RefineDet512](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1ZwnO_F1Pqdg1xyNSa-0XPEuh7knel9L_)\n\n2. COCO 模型：\n   * trainval35k（VGG-16）：[RefineDet320](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1BIVvkSQM8DarpeqOpjgPpDxUoFq9ZxKM)，[RefineDet512](https:\u002F\u002Fdrive.google.com\u002Fopen?id=16j7gmHvd82LSog52kBXUUYyLx26mOV_6)\n   * trainval35k（ResNet101）：[RefineDet320](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1yrCfPIyKNsD9aBnn5iooFoX414FzXvzH)，[RefineDet512](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1KWdfrowNIJqJF0j-ZxkQpkbAcPPbwAS1)\n\n_注意：如果您无法通过上述链接下载预训练模型，可以通过 [百度网盘](http:\u002F\u002Fpan.baidu.com\u002Fs\u002F1gf8J7Yr) 下载。_","# RefineDet 快速上手指南\n\nRefineDet 是一种新型的单阶段目标检测器，兼具两阶段方法的高精度和单阶段方法的高效性。本指南将帮助开发者快速完成环境搭建、模型训练与评估。\n\n## 1. 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux (推荐 Ubuntu 14.04\u002F16.04)\n*   **深度学习框架**: [Caffe](http:\u002F\u002Fcaffe.berkeleyvision.org\u002F) (必须支持 Python 接口)\n*   **依赖库**:\n    *   Python 2.7 或 3.x\n    *   CUDA & cuDNN (用于 GPU 加速)\n    *   Cython, NumPy, Matplotlib\n    *   LevelDB, LMDB, OpenCV\n*   **硬件**: 建议配备 NVIDIA GPU (如 Titan X)，显存越大越有利于训练大分辨率模型。\n\n> **注意**：本项目基于 Caffe 框架开发，请务必先按照 [Caffe 官方安装指南](http:\u002F\u002Fcaffe.berkeleyvision.org\u002Finstallation.html) 完成 Caffe 及其所有依赖的安装。\n\n## 2. 安装步骤\n\n### 2.1 获取代码\n克隆仓库到本地，我们将该目录称为 `$RefineDet_ROOT`。\n```Shell\ngit clone https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet.git\ncd RefineDet\n```\n> **国内加速**：如果 GitHub 克隆速度慢，可使用 Gitee 镜像（如有）或配置代理。\n\n### 2.2 编译代码\n进入项目根目录，配置并编译 Caffe 代码。\n```Shell\n# 复制配置文件示例\ncp Makefile.config.example Makefile.config\n\n# 【重要】编辑 Makefile.config\n# 1. 根据您的 Caffe 安装路径修改 INCLUDE_DIRS 和 LIBRARY_DIRS\n# 2. 确保开启 Python 层支持 (WITH_PYTHON_LAYER := 1)\n# 3. 将 $RefineDet_ROOT\u002Fpython 添加到您的 PYTHONPATH 环境变量中\nexport PYTHONPATH=$RefineDet_ROOT\u002Fpython:$PYTHONPATH\n\n# 编译所有模块及 Python 接口\nmake all -j && make py\n```\n\n### 2.3 准备预训练模型与数据\n您需要下载骨干网络预训练模型和数据集。\n\n1.  **下载骨干网络模型**：\n    *   [VGGNet (FCN reduced)](https:\u002F\u002Fgist.github.com\u002Fweiliu89\u002F2ed6e13bfd5b57cf81d6) -> 存放至 `$RefineDet_ROOT\u002Fmodels\u002FVGGNet\u002F`\n    *   [ResNet-101](https:\u002F\u002Fgithub.com\u002FKaimingHe\u002Fdeep-residual-networks) -> 存放至 `$RefineDet_ROOT\u002Fmodels\u002FResNet\u002F`\n    > **国内加速**：上述模型通常可在百度网盘找到备份，或在国内 AI 社区（如 PaddlePaddle Model Zoo、ModelScope 等）搜索对应权重的 Caffe 版本。\n\n2.  **准备数据集**：\n    按照 `data\u002F` 目录下各子文件夹的 `README.md` 指示，下载 VOC2007\u002F2012 或 MS COCO 数据集，并转换为 LMDB 格式。\n    *   VOC 数据集说明：`data\u002FVOC0712\u002FREADME.md`\n    *   COCO 数据集说明：`data\u002Fcoco\u002FREADME.md`\n\n## 3. 基本使用\n\n### 3.1 训练模型\n以在 PASCAL VOC 数据集上训练 VGG16  backbone 的 RefineDet320 模型为例：\n\n```Shell\n# 运行训练脚本\n# 该脚本会自动生成模型定义文件，并将快照保存在 models\u002F 目录，日志保存在 jobs\u002F 目录\npython examples\u002Frefinedet\u002FVGG16_VOC2007_320.py\n```\n\n若需在 COCO 数据集上训练（例如 ResNet101 backbone）：\n```Shell\npython examples\u002Frefinedet\u002FResNet101_COCO_320.py\n```\n\n### 3.2 模型评估与演示\n在进行评估前，需先编译测试所需的 Cython 模块：\n```Shell\ncd $RefineDet_ROOT\u002Ftest\u002Flib\nmake -j\ncd $RefineDet_ROOT\n```\n\n#### 运行演示 (Detection Demo)\n使用预训练模型对图片进行目标检测并可视化结果：\n```Shell\n# GPU 用户\npython test\u002Frefinedet_demo.py\n\n# CPU 用户\npython test\u002Frefinedet_demo.py --gpu_id -1\n```\n*提示：使用前请检查 `test\u002Frefinedet_demo.py` 中的模型路径和图片路径配置。*\n\n#### 计算 mAP (Evaluation)\n使用测试脚本评估模型性能：\n```Shell\npython test\u002Frefinedet_test.py\n```\n*注意：运行前需修改 `test\u002Flib\u002Fdatasets\u002Fpascal_voc.py` 和 `test\u002Flib\u002Fdatasets\u002Fcoco.py` 中的 `_devkit_path` 和 `_data_path` 为您本地的数据集路径。*\n\n### 3.3 使用预训练模型\n作者提供了在 VOC 和 COCO 上训练的多种模型（VGG16\u002FResNet101, 320\u002F512 输入分辨率）。\n*   **下载地址**：参考原文 \"Models\" 章节提供的 Google Drive 链接。\n*   **国内下载**：如果无法访问 Google Drive，请使用文中提供的百度网盘链接 (提取码通常在原仓库 Issue 或百度盘分享页中)。\n*   **使用方法**：将下载的 `.caffemodel` 文件放入对应的 `models\u002F` 目录，然后直接运行上述评估或演示命令。","某智慧物流园区的技术团队正致力于升级其自动化分拣系统，需要在高速传送带上实时精准识别各类尺寸不一的包裹。\n\n### 没有 RefineDet 时\n- **小件漏检率高**：传统单阶段检测器（如早期 SSD）在处理远处或小型包裹时精度不足，导致部分小件货物未被识别而错分。\n- **大件定位不准**：两阶段检测器虽然精度尚可，但在面对紧密堆叠的大件货物时，边界框回归不够精细，常出现框选重叠或偏移。\n- **实时性瓶颈**：为了保证准确率采用复杂的两阶段模型，推理速度仅约 7 FPS，无法匹配传送带的高速流转需求，造成积压。\n- **资源消耗过大**：为弥补精度缺陷被迫提升输入分辨率至 1000x600 以上，显著增加了显存占用和计算延迟。\n\n### 使用 RefineDet 后\n- **大小目标兼顾**：RefineDet 凭借独特的细化机制，在 320x320 分辨率下即可将 mAP 提升至 80.0%，有效解决了小包裹漏检难题。\n- **边界框更精准**：通过两次渐进式回归优化，对紧密堆叠货物的定位更加严密，大幅减少了因框选不准导致的机械臂抓取失败。\n- **速度与精度双赢**：在 Titan X 显卡上推理速度达到 40 FPS，既保持了单阶段模型的高效，又超越了当时主流两阶段模型的精度。\n- **部署成本降低**：无需依赖超高分辨率输入即可实现 81.8% 的顶尖精度（512 输入），降低了硬件门槛并提升了系统响应速度。\n\nRefineDet 成功打破了物体检测中“速度”与“精度”不可兼得的僵局，让高速物流分拣实现了真正的实时高精度智能化。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsfzhang15_RefineDet_09ff1042.png","sfzhang15","Shifeng Zhang","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fsfzhang15_3a44ae72.jpg","I am a fifth-year bachelor-straight-to-PhD student and my research interest includes object detection, face detection, pedestrian detection and video detection.","CBSR, NLPR, CASIA","Beijing, China",null,"http:\u002F\u002Fwww.cbsr.ia.ac.cn\u002Fusers\u002Fsfzhang\u002F","https:\u002F\u002Fgithub.com\u002Fsfzhang15",[84,88,92,96,100,104,108,112,116],{"name":85,"color":86,"percentage":87},"C++","#f34b7d",77,{"name":89,"color":90,"percentage":91},"Python","#3572A5",12.8,{"name":93,"color":94,"percentage":95},"Cuda","#3A4E3A",6,{"name":97,"color":98,"percentage":99},"CMake","#DA3434",2.2,{"name":101,"color":102,"percentage":103},"MATLAB","#e16737",0.7,{"name":105,"color":106,"percentage":107},"Makefile","#427819",0.6,{"name":109,"color":110,"percentage":111},"Shell","#89e051",0.3,{"name":113,"color":114,"percentage":115},"C","#555555",0.2,{"name":117,"color":118,"percentage":119},"Dockerfile","#384d54",0.1,1427,386,"2026-03-04T02:11:28","NOASSERTION",5,"Linux","需要 NVIDIA GPU (文中测试环境为 Titan X)，需支持 CUDA (具体版本取决于安装的 Caffe)","未说明",{"notes":129,"python":130,"dependencies":131},"该项目基于古老的 Caffe 框架（非 PyTorch\u002FTensorFlow），安装难度较大，需手动编译 Caffe 并修改 Makefile.config。代码主要依赖 Python 2 或早期 Python 3 环境。需预先下载 VGG16 和 ResNet-101 的预训练模型文件。数据集需转换为 LMDB 格式方可使用。","2.7 或 3.x (取决于 Caffe 编译配置，文中提及使用 ipython notebook)",[132,133,134,135,136,137,138,139,140,141,142,143,144,145],"Caffe (必须编译支持 Python 接口)","CUDA","cuDNN","OpenCV","Boost","ATLAS\u002FOpenBLAS\u002FMKL","glog","gflags","hdf5","lmdb","leveldb","snappy","protobuf","Cython",[15],[148],"object-detection","2026-03-27T02:49:30.150509","2026-04-19T09:26:12.993245",[152,157,162,167,172,177],{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},42338,"如何在 Windows 系统下运行该项目？","在 Windows 下运行时，模型加载可能会出错（只加载第一层），原因是 io.cpp 中的 ReadProtoFromBinaryFile 函数默认未以二进制方式读取文件。解决方法是修改该函数，将 `int fd = open(filename, O_RDONLY);` 改为以二进制模式打开文件。具体代码修改可参考相关 Issue 中的截图说明。修复后模型可正常加载并显示结果。","https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fissues\u002F136",{"id":158,"question_zh":159,"answer_zh":160,"source_url":161},42339,"训练时出现 loss=nan 或 loss=0 怎么办？","loss 变为 nan 或 0 通常与 batch_size 设置不当有关，尤其是在单 GPU 训练时。建议尝试调整 batch_size，确保显存能够容纳输入图像数量。此外，若使用 MobileNetV2 等非官方支持的主干网络，可能需要添加归一化层并设置合适的缩放值，以使初始 loss 正常。","https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fissues\u002F119",{"id":163,"question_zh":164,"answer_zh":165,"source_url":166},42340,"遇到 CUDNN_STATUS_BAD_PARAM 错误如何解决？","该错误通常是因为某些层在 cuDNN 5.0 中不被支持。解决方案有两种：1）在对应层的配置中添加 `engine: CAFFE`，强制使用非 cuDNN 实现；2）升级 cuDNN 至 7.0 或更高版本。实测表明两种方案在速度上差异不大。","https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fissues\u002F138",{"id":168,"question_zh":169,"answer_zh":170,"source_url":171},42341,"为什么 RefineDet 要采用两阶段回归（two-stage regression）？","RefineDet 通过两阶段回归（ARM 和 ODM）模拟两阶段检测器的优势，包括两阶段分类、两阶段回归和两阶段特征提取。虽然两个回归阶段使用相同的特征，但这种设计有助于逐步细化边界框，提升检测精度，优于仅使用单阶段回归（如只用 ODM）。","https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fissues\u002F6",{"id":173,"question_zh":174,"answer_zh":175,"source_url":176},42342,"多尺度训练\u002F测试（multi-scale training\u002Ftesting）是如何实现的？","多尺度测试用于减少输入尺寸对公平比较的影响。实现方式通常是在测试时随机选择多个预设尺度之一进行推理，而非对所有尺度都训练多次。训练时也可随机采样不同尺度的输入图像，只需训练一次即可覆盖多种尺度情况。","https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fissues\u002F22",{"id":178,"question_zh":179,"answer_zh":180,"source_url":181},42343,"转换后的 VOC LMDB 数据集无法用 Excel 或 Access 打开是否正常？","是的，这是正常的。LMDB 是一种键值存储数据库格式，专为高效读取设计，不能用 Excel 或 Access 直接打开。只要训练脚本能正常读取该数据集且无报错，就说明转换成功。训练中出现 loss=nan 应检查 batch_size、学习率或数据预处理是否正确。","https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet\u002Fissues\u002F98",[]]