[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-szq0214--DSOD":3,"tool-szq0214--DSOD":61},[4,18,28,37,45,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":24,"last_commit_at":25,"category_tags":26,"status":17},9989,"n8n","n8n-io\u002Fn8n","n8n 是一款面向技术团队的公平代码（fair-code）工作流自动化平台，旨在让用户在享受低代码快速构建便利的同时，保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点，帮助用户轻松连接 400 多种应用与服务，实现复杂业务流程的自动化。\n\nn8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”：既可以通过直观的可视化界面拖拽节点搭建流程，也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外，n8n 原生集成了基于 LangChain 的 AI 能力，支持用户利用自有数据和模型构建智能体工作流。在部署方面，n8n 提供极高的自由度，支持完全自托管以保障数据隐私和控制权，也提供云端服务选项。凭借活跃的社区生态和数百个现成模板，n8n 让构建强大且可控的自动化系统变得简单高效。",184740,2,"2026-04-19T23:22:26",[16,14,13,15,27],"插件",{"id":29,"name":30,"github_repo":31,"description_zh":32,"stars":33,"difficulty_score":10,"last_commit_at":34,"category_tags":35,"status":17},10095,"AutoGPT","Significant-Gravitas\u002FAutoGPT","AutoGPT 是一个旨在让每个人都能轻松使用和构建 AI 的强大平台，核心功能是帮助用户创建、部署和管理能够自动执行复杂任务的连续型 AI 智能体。它解决了传统 AI 应用中需要频繁人工干预、难以自动化长流程工作的痛点，让用户只需设定目标，AI 即可自主规划步骤、调用工具并持续运行直至完成任务。\n\n无论是开发者、研究人员，还是希望提升工作效率的普通用户，都能从 AutoGPT 中受益。开发者可利用其低代码界面快速定制专属智能体；研究人员能基于开源架构探索多智能体协作机制；而非技术背景用户也可直接选用预置的智能体模板，立即投入实际工作场景。\n\nAutoGPT 的技术亮点在于其模块化“积木式”工作流设计——用户通过连接功能块即可构建复杂逻辑，每个块负责单一动作，灵活且易于调试。同时，平台支持本地自托管与云端部署两种模式，兼顾数据隐私与使用便捷性。配合完善的文档和一键安装脚本，即使是初次接触的用户也能在几分钟内启动自己的第一个 AI 智能体。AutoGPT 正致力于降低 AI 应用门槛，让人人都能成为 AI 的创造者与受益者。",183572,"2026-04-20T04:47:55",[13,36,27,14,15],"语言模型",{"id":38,"name":39,"github_repo":40,"description_zh":41,"stars":42,"difficulty_score":10,"last_commit_at":43,"category_tags":44,"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":46,"name":47,"github_repo":48,"description_zh":49,"stars":50,"difficulty_score":24,"last_commit_at":51,"category_tags":52,"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,"2026-04-18T11:18:24",[14,15,13],{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":24,"last_commit_at":59,"category_tags":60,"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",[27,13,15,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":78,"owner_twitter":72,"owner_website":79,"owner_url":80,"languages":81,"stars":86,"forks":87,"last_commit_at":88,"license":89,"difficulty_score":90,"env_os":91,"env_gpu":92,"env_ram":93,"env_deps":94,"category_tags":103,"github_topics":104,"view_count":24,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":107,"updated_at":108,"faqs":109,"releases":150},10182,"szq0214\u002FDSOD","DSOD","DSOD: Learning Deeply Supervised Object Detectors from Scratch. In ICCV 2017.","DSOD 是一款专注于目标检测任务的开源深度学习框架，其核心理念是“从零开始训练深度监督的目标检测器”。传统检测模型通常依赖在 ImageNet 等大型数据集上预训练的权重来初始化，而 DSOD 成功打破了这一惯例，无需任何预训练模型即可直接训练出高性能的检测器。\n\n这一技术主要解决了两个关键问题：一是降低了对大规模标注预训练数据的依赖，使得在特定领域或数据稀缺场景下训练模型变得更加可行；二是简化了训练流程，避免了迁移学习中可能产生的域偏差问题。DSOD 基于经典的 SSD 架构，通过引入密集预测结构和深度监督机制，有效提升了特征提取能力和梯度传播效率。此外，后续更新还发现，适当增大批量大小（Batch Size）能显著提升其检测精度。\n\nDSOD 特别适合计算机视觉领域的研究人员、算法工程师以及希望深入理解目标检测底层原理的开发者使用。对于想要尝试不依赖预训练权重进行模型探索，或需要在自定义数据集上从头构建检测系统的团队，DSOD 提供了一个高效且极具参考价值的基准方案。虽然普通用户难以直接调用，但其思想对推动轻量化和定制化 AI 应用具有重要启发意义。","# DSOD: Learning Deeply Supervised Object Detectors from Scratch\n\r\n## Update (02\u002F26\u002F2019)\nWe observe that if we simply increase the batch size (bs) on each GPU from 4 (Titan X) to 12 (P40) for training BN layers, our DSOD300 can achieve much better performance without any other modifications (see comparisons below). We think if we have a better solution to tune BN layers' params, e.g., Sync BN [1] or Group Norm [2] when training detectors from scratch **with limited batch size**, the accuracy may be higher. This is also consistent with [3]. \n\n*We have also provided some preliminary results on exploring the factors of training two-stage detectors from scratch in our extended [paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F1809.09294) (v2) [4].*\n\nNew results on PASCAL VOC test set:\n\n| Method | VOC 2007 test *mAP* | # parameters | Models \r\n|:-------|:-----:|:-------:|:-------:|\r\n| DSOD300 (07+12) bs=4 on each GPU | 77.7 | 14.8M | [Download (59.2M)](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0B4cvsEOB5eUCaGU3MkRkOENRWWc) |\r\n| DSOD300 (07+12) bs=12 on each GPU | 78.9 | 14.8M | [Download (59.2M)](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1_ur6TYiLPUGsHoZQM1yxAZ2AXgSe-Qxm)|\r\n\n[1] Chao Peng, Tete Xiao, Zeming Li, Yuning Jiang, Xiangyu Zhang, Kai Jia, Gang Yu, and Jian Sun. \"Megdet: A large mini-batch object detector.\" In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 6181-6189. 2018.\n\n[2] Yuxin Wu, and Kaiming He. \"Group normalization.\" In Proceedings of the European Conference on Computer Vision (ECCV), pp. 3-19. 2018.\n\n[3] Kaiming He, Ross Girshick, and Piotr Dollár. \"Rethinking imagenet pre-training.\" In Proceedings of the IEEE International Conference on Computer Vision, pp. 4918-4927. 2019.\n\n[4] Zhiqiang Shen, Zhuang Liu, Jianguo Li, Yu-Gang Jiang, Yurong Chen, and Xiangyang Xue. \"Object detection from scratch with deep supervision.\" IEEE transactions on pattern analysis and machine intelligence (2019).\n\n-------------------------------------------------------------------------------------\n\r\nThis repository contains the code for the following paper \r\n\r\n[DSOD: Learning Deeply Supervised Object Detectors from Scratch](http:\u002F\u002Fopenaccess.thecvf.com\u002Fcontent_ICCV_2017\u002Fpapers\u002FShen_DSOD_Learning_Deeply_ICCV_2017_paper.pdf) (ICCV 2017).\r\n\r\n[Zhiqiang Shen](http:\u002F\u002Fwww.zhiqiangshen.com)\\*, [Zhuang Liu](https:\u002F\u002Fliuzhuang13.github.io\u002F)\\*, [Jianguo Li](https:\u002F\u002Fsites.google.com\u002Fsite\u002Fleeplus\u002F), [Yu-Gang Jiang](http:\u002F\u002Fwww.yugangjiang.info\u002F), [Yurong chen](https:\u002F\u002Fscholar.google.com\u002Fcitations?user=MKRyHXsAAAAJ&hl=en), [Xiangyang Xue](https:\u002F\u002Fscholar.google.com\u002Fcitations?user=DTbhX6oAAAAJ&hl=en). (\\*Equal Contribution)\r\n\r\nThe code is based on the [SSD](https:\u002F\u002Fgithub.com\u002Fweiliu89\u002Fcaffe\u002Ftree\u002Fssd) framework. \r\n\nOther Implementations:\n[[Pytorch]](https:\u002F\u002Fgithub.com\u002Fchenyuntc\u002Fdsod.pytorch) by Yun Chen, [[Pytorch]](https:\u002F\u002Fgithub.com\u002Fuoip\u002FSSD-variants) by uoip, [[Pytorch]](https:\u002F\u002Fgithub.com\u002Fqqadssp\u002FDSOD-Pytorch) by qqadssp, [[Pytorch]](https:\u002F\u002Fgithub.com\u002FEllinier\u002FDSOD-Pytorch-Implementation) by Ellinier , [[Mxnet]](https:\u002F\u002Fgithub.com\u002Fleocvml\u002FDSOD-gluon-mxnet) by Leo Cheng, [[Mxnet]](https:\u002F\u002Fgithub.com\u002Feureka7mt\u002Fmxnet-dsod) by eureka7mt, [[Tensorflow]](https:\u002F\u002Fgithub.com\u002FWindaway\u002FDSOD-Tensorflow) by Windaway.\n\n\r\nIf you find this helps your research, please cite:\r\n\r\n\t@inproceedings{Shen2017DSOD,\r\n\t\ttitle = {DSOD: Learning Deeply Supervised Object Detectors from Scratch},\r\n\t\tauthor = {Shen, Zhiqiang and Liu, Zhuang and Li, Jianguo and Jiang, Yu-Gang and Chen, Yurong and Xue, Xiangyang},\r\n\t\tbooktitle = {ICCV},\r\n\t\tyear = {2017}\n\t\t}\n\t\t\n     @article{shen2018object,\n           title={Object Detection from Scratch with Deep Supervision},\n           author={Shen, Zhiqiang and Liu, Zhuang and Li, Jianguo and Jiang, Yu-Gang and Chen, Yurong and Xue, Xiangyang},\n           journal={arXiv preprint arXiv:1809.09294},\n           year={2018}\n        }\r\n\r\n## Introduction\r\n\r\nDSOD focuses on the problem of training object detector from scratch (without pretrained models on ImageNet). \r\nTo the best of our knowledge, this is the first work that trains neural object detectors from scratch with state-of-the-art performance. \r\nIn this work, we contribute a set of design principles for this purpose. One of the key findings is the deeply supervised structure enabled by [dense layer-wise connections](https:\u002F\u002Fgithub.com\u002Fliuzhuang13\u002FDenseNet), plays a critical role in learning a good detection model. Please see our paper for more details.\r\n\r\n\u003Cdiv align=center>\r\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fszq0214_DSOD_readme_89280d10512c.jpg\" width=\"740\">\r\n\u003C\u002Fdiv>\r\n\r\n\u003Cdiv align=center>\r\nFigure 1: DSOD prediction layers with plain and dense structures (for 300×300 input).\r\n\u003C\u002Fdiv> \r\n\r\n## Visualization\r\n\r\n0. Visualizations of network structures (tools from [ethereon](http:\u002F\u002Fethereon.github.io\u002Fnetscope\u002Fquickstart.html), ignore the warning messages):\r\n\t- [DSOD300] (http:\u002F\u002Fethereon.github.io\u002Fnetscope\u002F#\u002Fgist\u002Fb17d01f3131e2a60f9057b5d3eb9e04d)\r\n\r\n## Results & Models\r\n\r\nThe tables below show the results on PASCAL VOC 2007, 2012 and MS COCO.\r\n\r\nPASCAL VOC test results:\r\n\r\n| Method | VOC 2007 test *mAP* | fps (Titan X) | # parameters | Models \r\n|:-------|:-----:|:-------:|:-------:|:-------:|\r\n| DSOD300_smallest (07+12) | 73.6 | - | 5.9M | [Download (23.5M)](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0B4cvsEOB5eUCNXZ3eWNRNHZTdFk) |\r\n| DSOD300_lite (07+12) | 76.7 | 25.8 | 10.4M | [Download (41.8M)](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0B4cvsEOB5eUCQVozLVhONS1EX2s) |\r\n| DSOD300 (07+12) | 77.7 | 17.4 | 14.8M | [Download (59.2M)](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0B4cvsEOB5eUCaGU3MkRkOENRWWc) |\r\n| DSOD300 (07+12+COCO) | 81.7 | 17.4 | 14.8M | [Download (59.2M)](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0B4cvsEOB5eUCa3lDWTNIa1BfMUU)|\r\n\r\n| Method | VOC 2012 test *mAP* | fps | # parameters| Models \r\n|:-------|:-----:|:-----:|:-------:|:-------:|\r\n| DSOD300 (07++12) | 76.3 | 17.4 | 14.8M | [Download (59.2M)](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0B4cvsEOB5eUCV2cyeU9qZVlhSEk) |\r\n| DSOD300 (07++12+COCO) | 79.3 | 17.4 | 14.8M | [Download (59.2M)](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0B4cvsEOB5eUCLXhGdlUtT3B2cDQ) |\r\n\r\nCOCO test-dev 2015 result (COCO has more object categories than VOC dataset, so the model size is slightly bigger.):\r\n\r\n| Method | COCO test-dev 2015 *mAP* (IoU 0.5:0.95) | Models\r\n|:-------|:-----:|:-----:|\r\n| DSOD300 (COCO trainval) | 29.3 | [Download (87.2M)](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0B4cvsEOB5eUCYXoxcGRCbVFMNms) |\r\n\r\n## Preparation \r\n\r\n0. Install SSD (https:\u002F\u002Fgithub.com\u002Fweiliu89\u002Fcaffe\u002Ftree\u002Fssd) following the instructions there, including: (1) Install SSD caffe; (2) Download PASCAL VOC 2007 and 2012 datasets; and (3) Create LMDB file. Make sure you can run it without any errors.\n\n\tOur PASCAL VOC LMDB files:\n\t\n\t| Method | LMDBs\r\n\t|:-------|:-----:|\r\n\t| Train on VOC07+12 and test on VOC07  | [Download](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1u6ngM9hEZabT2HyvzPdWpGgVTofD6jQ3) |\n\t| Train on VOC07++12 and test on VOC12 (Comp4)  | [Download](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1J2epI4zDFptw1RdpHAl0Z_Sphs14OtIE) |\n\t| Train on VOC12 and test on VOC12 (Comp3)  | [Download](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1r5DI3tVGXPYyKGAmBawKGkgROJQyh5i-) |\n\r\n1. Create a subfolder `dsod` under `example\u002F`, add files `DSOD300_pascal.py`, `DSOD300_pascal++.py`, `DSOD300_coco.py`, `score_DSOD300_pascal.py` and `DSOD300_detection_demo.py` to the folder `example\u002Fdsod\u002F`.\n2. Create a subfolder `grp_dsod` under `example\u002F`, add files `GRP_DSOD320_pascal.py` and `score_GRP_DSOD320_pascal.py` to the folder `example\u002Fgrp_dsod\u002F`.\r\n3. Replace the file `model_libs.py` in the folder `python\u002Fcaffe\u002F` with ours.\r\n\r\n## Training & Testing\r\n\r\n- Train a DSOD model on VOC 07+12:\r\n\r\n  ```shell\r\n  python examples\u002Fdsod\u002FDSOD300_pascal.py\r\n  ```\r\n\r\n- Train a DSOD model on VOC 07++12:\r\n\r\n  ```shell\r\n  python examples\u002Fdsod\u002FDSOD300_pascal++.py\r\n  ```\r\n  \r\n- Train a DSOD model on COCO trainval:\r\n\r\n  ```shell\r\n  python examples\u002Fdsod\u002FDSOD300_coco.py\r\n  ```\r\n  \r\n- Evaluate the model (DSOD):\r\n\r\n  ```shell\r\n  python examples\u002Fdsod\u002Fscore_DSOD300_pascal.py\r\n  ```\r\n  \r\n- Run a demo (DSOD):\r\n\r\n  ```shell\r\n  python examples\u002Fdsod\u002FDSOD300_detection_demo.py\r\n  ```\n  \n- Train a GRP_DSOD model on VOC 07+12:\r\n\r\n  ```shell\r\n  python examples\u002Fgrp_dsod\u002FGRP_DSOD320_pascal.py\r\n  ```\n  \n- Evaluate the model (GRP_DSOD):\r\n\r\n  ```shell\r\n  python examples\u002Fdsod\u002Fscore_GRP_DSOD320_pascal.py\r\n  ```\n  \r\n **Note**: You can modify the file `model_lib.py` to design your own network structure as you like.\r\n\r\n## Examples\r\n\r\n\u003Cdiv align=center>\r\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fszq0214_DSOD_readme_c5b212aeb3b5.jpg\" width=\"780\">\r\n\u003C\u002Fdiv>\r\n\r\n## Contact\r\n\r\nZhiqiang Shen (zhiqiangshen0214 at gmail.com) \r\n\r\nZhuang Liu (liuzhuangthu at gmail.com)\r\n\r\nAny comments or suggestions are welcome!\r\n","# DSOD：从头开始学习深度监督目标检测器\n\n## 更新（2019年2月26日）\n我们观察到，如果在训练BN层时，将每张GPU上的批量大小（bs）从4（Titan X）简单地增加到12（P40），我们的DSOD300无需任何其他修改就能获得更好的性能（见下文对比）。我们认为，如果能有更好的方法来调整BN层的参数，例如在**有限批量大小**下从头训练检测器时使用同步BN [1]或组归一化 [2]，那么精度可能会更高。这一点也与文献[3]一致。\n\n*我们还在扩展版[论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F1809.09294)（v2）[4]中提供了一些初步结果，探讨了从头训练两阶段检测器的影响因素。*\n\nPASCAL VOC测试集上的新结果：\n\n| 方法 | VOC 2007测试集 *mAP* | 参数量 | 模型 |\n|:-------|:-----:|:-------:|:-------:|\n| DSOD300 (07+12) 每张GPU上bs=4 | 77.7 | 14.8M | [下载（59.2M）](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0B4cvsEOB5eUCaGU3MkRkOENRWWc) |\n| DSOD300 (07+12) 每张GPU上bs=12 | 78.9 | 14.8M | [下载（59.2M）](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1_ur6TYiLPUGsHoZQM1yxAZ2AXgSe-Qxm)|\n\n[1] Chao Peng, Tete Xiao, Zeming Li, Yuning Jiang, Xiangyu Zhang, Kai Jia, Gang Yu, and Jian Sun. “Megdet：一种大规模小批量目标检测器。”载于IEEE计算机视觉与模式识别会议论文集，第6181–6189页，2018年。\n\n[2] Yuxin Wu 和 Kaiming He. “组归一化。”载于欧洲计算机视觉会议（ECCV）论文集，第3–19页，2018年。\n\n[3] Kaiming He、Ross Girshick 和 Piotr Dollár. “重新思考ImageNet预训练。”载于IEEE国际计算机视觉会议论文集，第4918–4927页，2019年。\n\n[4] Zhiqiang Shen、Zhuang Liu、Jianguo Li、Yu-Gang Jiang、Yurong Chen 和 Xiangyang Xue. “基于深度监督的从零开始目标检测。”IEEE模式分析与机器智能汇刊（2019年）。\n\n-------------------------------------------------------------------------------------\n\n本仓库包含以下论文的代码：\n\n[DSOD：从头开始学习深度监督目标检测器](http:\u002F\u002Fopenaccess.thecvf.com\u002Fcontent_ICCV_2017\u002Fpapers\u002FShen_DSOD_Learning_Deeply_ICCV_2017_paper.pdf)（ICCV 2017）。\n\n[Zhiqiang Shen](http:\u002F\u002Fwww.zhiqiangshen.com)\\*, [Zhuang Liu](https:\u002F\u002Fliuzhuang13.github.io\u002F)\\*, [Jianguo Li](https:\u002F\u002Fsites.google.com\u002Fsite\u002Fleeplus\u002F)、[Yu-Gang Jiang](http:\u002F\u002Fwww.yugangjiang.info\u002F)、[Yurong Chen](https:\u002F\u002Fscholar.google.com\u002Fcitations?user=MKRyHXsAAAAJ&hl=en)、[Xiangyang Xue](https:\u002F\u002Fscholar.google.com\u002Fcitations?user=DTbhX6oAAAAJ&hl=en)。（\\*同等贡献）\n\n代码基于[SSD](https:\u002F\u002Fgithub.com\u002Fweiliu89\u002Fcaffe\u002Ftree\u002Fssd)框架。\n\n其他实现：\n[[Pytorch]](https:\u002F\u002Fgithub.com\u002Fchenyuntc\u002Fdsod.pytorch)由Yun Chen实现，[[Pytorch]](https:\u002F\u002Fgithub.com\u002Fuoip\u002FSSD-variants)由uoip实现，[[Pytorch]](https:\u002F\u002Fgithub.com\u002Fqqadssp\u002FDSOD-Pytorch)由qqadssp实现，[[Pytorch]](https:\u002F\u002Fgithub.com\u002FEllinier\u002FDSOD-Pytorch-Implementation)由Ellinier实现，[[Mxnet]](https:\u002F\u002Fgithub.com\u002Fleocvml\u002FDSOD-gluon-mxnet)由Leo Cheng实现，[[Mxnet]](https:\u002F\u002Fgithub.com\u002Feureka7mt\u002Fmxnet-dsod)由eureka7mt实现，[[Tensorflow]](https:\u002F\u002Fgithub.com\u002FWindaway\u002FDSOD-Tensorflow)由Windaway实现。\n\n如果您觉得这有助于您的研究，请引用：\n\n\t@inproceedings{Shen2017DSOD,\n\t\ttitle = {DSOD：从头开始学习深度监督目标检测器},\n\t\tauthor = {Shen, Zhiqiang 和 Liu, Zhuang 以及 Li, Jianguo 和 Jiang, Yu-Gang 和 Chen, Yurong 和 Xue, Xiangyang},\n\t\tbooktitle = {ICCV},\n\t\tyear = {2017}\n\t}\n\n     @article{shen2018object,\n           title={基于深度监督的从零开始目标检测},\n           author={Shen, Zhiqiang 和 Liu, Zhuang 以及 Li, Jianguo 和 Jiang, Yu-Gang 和 Chen, Yurong 和 Xue, Xiangyang},\n           journal={arXiv预印本 arXiv:1809.09294},\n           year={2018}\n        }\n\n## 引言\n\nDSOD专注于从头训练目标检测器的问题（即不使用ImageNet上的预训练模型）。据我们所知，这是首篇以最先进水平从头训练神经网络目标检测器的工作。在这项工作中，我们提出了一套为此目的设计的原则。其中一个关键发现是，通过[密集层间连接](https:\u002F\u002Fgithub.com\u002Fliuzhuang13\u002FDenseNet)实现的深度监督结构，在学习良好的检测模型方面起着至关重要的作用。更多细节请参阅我们的论文。\n\n\u003Cdiv align=center>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fszq0214_DSOD_readme_89280d10512c.jpg\" width=\"740\">\n\u003C\u002Fdiv>\n\n\u003Cdiv align=center>\n图1：具有普通结构和密集结构的DSOD预测层（输入为300×300）。\n\u003C\u002Fdiv>\n\n## 可视化\n\n0. 网络结构可视化（工具来自[ethereon](http:\u002F\u002Fethereon.github.io\u002Fnetscope\u002Fquickstart.html)，请忽略警告信息）：\n\t- [DSOD300]（http:\u002F\u002Fethereon.github.io\u002Fnetscope\u002F#\u002Fgist\u002Fb17d01f3131e2a60f9057b5d3eb9e04d）\n\n## 结果与模型\n\n下表展示了在PASCAL VOC 2007、2012以及MS COCO数据集上的结果。\n\nPASCAL VOC测试结果：\n\n| 方法 | VOC 2007测试集 *mAP* | 帧率（Titan X） | 参数量 | 模型 |\n|:-------|:-----:|:-------:|:-------:|:-------:|\n| DSOD300_smallest (07+12) | 73.6 | - | 5.9M | [下载（23.5M）](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0B4cvsEOB5eUCNXZ3eWNRNHZTdFk) |\n| DSOD300_lite (07+12) | 76.7 | 25.8 | 10.4M | [下载（41.8M）](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0B4cvsEOB5eUCQVozLVhONS1EX2s) |\n| DSOD300 (07+12) | 77.7 | 17.4 | 14.8M | [下载（59.2M）](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0B4cvsEOB5eUCaGU3MkRkOENRWWc) |\n| DSOD300 (07+12+COCO) | 81.7 | 17.4 | 14.8M | [下载（59.2M）](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0B4cvsEOB5eUCa3lDWTNIa1BfMUU)|\n\n| 方法 | VOC 2012测试集 *mAP* | 帧率 | 参数量 | 模型 |\n|:-------|:-----:|:-----:|:-------:|:-------:|\n| DSOD300 (07++12) | 76.3 | 17.4 | 14.8M | [下载（59.2M）](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0B4cvsEOB5eUCV2cyeU9qZVlhSEk) |\n| DSOD300 (07++12+COCO) | 79.3 | 17.4 | 14.8M | [下载（59.2M）](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0B4cvsEOB5eUCLXhGdlUtT3B2cDQ) |\n\nCOCO test-dev 2015结果（COCO的数据类别比VOC多，因此模型规模略大）：\n\n| 方法 | COCO test-dev 2015 *mAP*（IoU 0.5–0.95） | 模型 |\n|:-------|:-----:|:-----:|\n| DSOD300 (COCO trainval) | 29.3 | [下载（87.2M）](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0B4cvsEOB5eUCYXoxcGRCbVFMNms) |\n\n## 准备工作\n\n0. 按照 SSD 的官方文档（https:\u002F\u002Fgithub.com\u002Fweiliu89\u002Fcaffe\u002Ftree\u002Fssd）中的说明安装 SSD，包括：(1) 安装 SSD 版本的 Caffe；(2) 下载 PASCAL VOC 2007 和 2012 数据集；以及 (3) 创建 LMDB 文件。请确保安装完成后能够正常运行且无任何错误。\n\n我们的 PASCAL VOC LMDB 文件：\n\n| 方法 | LMDB 文件 |\n|:-------|:-----:|\n| 在 VOC07+12 上训练，在 VOC07 上测试 | [下载](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1u6ngM9hEZabT2HyvzPdWpGgVTofD6jQ3) |\n| 在 VOC07++12 上训练，在 VOC12（Comp4）上测试 | [下载](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1J2epI4zDFptw1RdpHAl0Z_Sphs14OtIE) |\n| 在 VOC12 上训练，在 VOC12（Comp3）上测试 | [下载](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1r5DI3tVGXPYyKGAmBawKGkgROJQyh5i-) |\n\n1. 在 `example\u002F` 目录下创建子文件夹 `dsod`，并将文件 `DSOD300_pascal.py`、`DSOD300_pascal++.py`、`DSOD300_coco.py`、`score_DSOD300_pascal.py` 和 `DSOD300_detection_demo.py` 添加到 `example\u002Fdsod\u002F` 文件夹中。\n2. 在 `example\u002F` 目录下创建子文件夹 `grp_dsod`，并将文件 `GRP_DSOD320_pascal.py` 和 `score_GRP_DSOD320_pascal.py` 添加到 `example\u002Fgrp_dsod\u002F` 文件夹中。\n3. 将 `python\u002Fcaffe\u002F` 文件夹中的 `model_libs.py` 文件替换为我们的版本。\n\n## 训练与测试\n\n- 在 VOC 07+12 数据集上训练 DSOD 模型：\n\n  ```shell\n  python examples\u002Fdsod\u002FDSOD300_pascal.py\n  ```\n\n- 在 VOC 07++12 数据集上训练 DSOD 模型：\n\n  ```shell\n  python examples\u002Fdsod\u002FDSOD300_pascal++.py\n  ```\n\n- 在 COCO trainval 数据集上训练 DSOD 模型：\n\n  ```shell\n  python examples\u002Fdsod\u002FDSOD300_coco.py\n  ```\n\n- 评估 DSOD 模型：\n\n  ```shell\n  python examples\u002Fdsod\u002Fscore_DSOD300_pascal.py\n  ```\n\n- 运行 DSOD 模型的演示：\n\n  ```shell\n  python examples\u002Fdsod\u002FDSOD300_detection_demo.py\n  ```\n\n- 在 VOC 07+12 数据集上训练 GRP_DSOD 模型：\n\n  ```shell\n  python examples\u002Fgrp_dsod\u002FGRP_DSOD320_pascal.py\n  ```\n\n- 评估 GRP_DSOD 模型：\n\n  ```shell\n  python examples\u002Fdsod\u002Fscore_GRP_DSOD320_pascal.py\n  ```\n\n**注意**：您可以修改 `model_lib.py` 文件，根据自己的需求设计网络结构。\n\n## 示例\n\n\u003Cdiv align=center>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fszq0214_DSOD_readme_c5b212aeb3b5.jpg\" width=\"780\">\n\u003C\u002Fdiv>\n\n## 联系方式\n\n沈志强（zhiqiangshen0214 at gmail.com）\n\n刘壮（liuzhuangthu at gmail.com）\n\n欢迎提出任何意见或建议！","# DSOD 快速上手指南\n\nDSOD (Learning Deeply Supervised Object Detectors from Scratch) 是一个无需 ImageNet 预训练模型，直接从零开始训练的高性能目标检测框架。本项目基于 Caffe SSD 框架实现。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux (推荐 Ubuntu 14.04\u002F16.04)\n*   **核心框架**: Caffe (必须集成 SSD 分支)\n*   **硬件要求**: NVIDIA GPU (支持 CUDA)，显存建议 8GB 以上以获得更佳效果（原文指出增大 Batch Size 可显著提升性能）\n*   **依赖库**: Python 2.7\u002F3.x, OpenCV, LMDB, LevelDB, HDF5\n\n> **注意**：DSOD 官方代码基于 `weiliu89\u002Fcaffe` 的 SSD 分支。如果您尚未安装，需先完成 Caffe 及 SSD 分支的编译与配置。\n\n## 安装步骤\n\n### 1. 安装基础 Caffe-SSD 框架\n请严格按照 [SSD 官方仓库](https:\u002F\u002Fgithub.com\u002Fweiliu89\u002Fcaffe\u002Ftree\u002Fssd) 的说明进行安装，包括：\n1.  编译安装 Caffe-SSD。\n2.  下载 PASCAL VOC 2007 和 2012 数据集。\n3.  创建 LMDB 数据文件。\n*确保基础 SSD 示例能正常运行无误后，再进行下一步。*\n\n### 2. 部署 DSOD 代码\n将 DSOD 的核心文件复制到您的 Caffe-SSD 目录结构中：\n\n```bash\n# 假设当前位于 caffe-root 目录\n# 创建 dsod 示例文件夹并复制相关文件\nmkdir -p examples\u002Fdsod\ncp DSOD300_pascal.py DSOD300_pascal++.py DSOD300_coco.py score_DSOD300_pascal.py DSOD300_detection_demo.py examples\u002Fdsod\u002F\n\n# 创建 grp_dsod 示例文件夹（可选）\nmkdir -p examples\u002Fgrp_dsod\ncp GRP_DSOD320_pascal.py score_GRP_DSOD320_pascal.py examples\u002Fgrp_dsod\u002F\n```\n\n### 3. 替换核心库文件\n这是最关键的一步，必须用 DSOD 提供的版本替换原有的 `model_libs.py`，以支持深度监督结构：\n\n```bash\n# 备份原文件（可选）\ncp python\u002Fcaffe\u002Fmodel_libs.py python\u002Fcaffe\u002Fmodel_libs.py.bak\n\n# 替换为 DSOD 版本\ncp model_libs.py python\u002Fcaffe\u002F\n```\n\n## 基本使用\n\n以下命令均在 Caffe 根目录下执行。\n\n### 1. 训练模型\n使用 PASCAL VOC 07+12 数据集训练标准的 DSOD300 模型：\n\n```shell\npython examples\u002Fdsod\u002FDSOD300_pascal.py\n```\n\n*提示：若使用 VOC 07++12 数据集，请运行 `python examples\u002Fdsod\u002FDSOD300_pascal++.py`。*\n\n### 2. 评估模型\n训练完成后，使用测试集评估模型的 mAP：\n\n```shell\npython examples\u002Fdsod\u002Fscore_DSOD300_pascal.py\n```\n\n### 3. 运行演示\n使用预训练模型或您训练的模型对单张图片进行检测演示：\n\n```shell\npython examples\u002Fdsod\u002FDSOD300_detection_demo.py\n```\n\n### 4. 自定义网络\n如需修改网络结构（如调整 Dense Block 连接方式），可直接编辑 `python\u002Fcaffe\u002Fmodel_libs.py` 文件中的相关定义函数。","某医疗影像初创团队需要在缺乏公开预训练模型的情况下，从零开始训练一个能精准识别罕见皮肤病变的检测系统。\n\n### 没有 DSOD 时\n- **依赖外部数据风险高**：必须寻找与医疗场景高度匹配的大规模预训练模型，但通用数据集（如 ImageNet）的特征与皮肤纹理差异巨大，导致迁移效果差。\n- **训练收敛困难**：直接从随机初始化权重开始训练深层网络时，梯度容易消失或爆炸，模型难以收敛，甚至无法学到有效特征。\n- **算力资源浪费**：为了稳定训练，往往需要尝试各种复杂的预热策略或大幅降低学习率，导致实验周期漫长，GPU 空转率高。\n- **精度遭遇瓶颈**：即便勉强收敛，由于缺乏深层监督信号，模型对微小病灶的定位能力弱，漏检率居高不下。\n\n### 使用 DSOD 后\n- **彻底摆脱预训练依赖**：DSOD 通过深度监督机制，让网络能够直接从随机初始化状态高效学习，无需任何外部预训练权重即可在医疗专有数据上启动训练。\n- **加速模型收敛**：利用中间层的辅助损失函数引导梯度流动，显著缓解了深层网络的训练难度，使模型在更少迭代次数内达到稳定状态。\n- **提升小目标检测率**：深层监督增强了特征金字塔的表达能力，显著提升了对微小皮肤病变区域的定位精度，mAP 值从早期的不稳定状态提升至可用水平。\n- **简化调参流程**：不再需要设计复杂的预训练加载逻辑或特殊的初始化技巧，标准训练流程即可复现论文中提到的优异性能（如在 VOC 数据集上验证的鲁棒性）。\n\nDSOD 的核心价值在于打破了目标检测对大规模预训练模型的强依赖，让垂直领域的开发者能用有限的数据和算力，从零构建出高精度的专用检测器。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fszq0214_DSOD_c5b212ae.jpg","szq0214","Zhiqiang Shen","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fszq0214_cd583f0d.jpg",null,"CMU","Pittsburgh, USA","zhiqiangshen0214@gmail.com","http:\u002F\u002Fzhiqiangshen.com\u002F","https:\u002F\u002Fgithub.com\u002Fszq0214",[82],{"name":83,"color":84,"percentage":85},"Python","#3572A5",100,709,205,"2026-03-13T14:44:03","NOASSERTION",5,"Linux","需要 NVIDIA GPU (文中提及 Titan X, P40)，基于 Caffe 框架，需支持 CUDA (具体版本未说明)","未说明",{"notes":95,"python":96,"dependencies":97},"1. 该工具基于 weiliu89 的 Caffe SSD 框架，非 PyTorch 或 TensorFlow 原生实现，需先编译安装定制版 Caffe。\n2. 训练时批处理大小 (Batch Size) 对性能影响显著：在 Titan X 上建议每张卡 BS=4，在 P40 上建议 BS=12。\n3. 需预先准备 PASCAL VOC 或 MS COCO 数据集并转换为 LMDB 格式。\n4. 文中提供了其他框架 (PyTorch, Mxnet, Tensorflow) 的第三方实现链接，若需使用那些版本请参考对应仓库。","2.7 或 3.x (基于 Caffe SSD 框架，通常支持 Python 2.7\u002F3.5+，文中未明确指定)",[98,99,100,101,102],"Caffe (SSD 分支)","LMDB","OpenCV","NumPy","SciPy",[15],[105,106],"object-detection","from-scratch","2026-03-27T02:49:30.150509","2026-04-20T20:44:12.459424",[110,115,120,125,130,135,140,145],{"id":111,"question_zh":112,"answer_zh":113,"source_url":114},45692,"运行脚本时提示 'Couldn't find any detections' 怎么办？","请打开 DSOD300_pascal.py 文件，找到第 334 行，将相关参数设置为 False 即可解决问题。另外，也有用户反馈将 'accum_batch_size' 设置为 128（原为 4）后，检测评估结果恢复正常。","https:\u002F\u002Fgithub.com\u002Fszq0214\u002FDSOD\u002Fissues\u002F7",{"id":116,"question_zh":117,"answer_zh":118,"source_url":119},45693,"遇到 'out of memory' (显存不足) 错误如何解决？","尝试减小批处理大小（batch size）。具体操作是修改 DSOD300_pascal.py 文件第 283 行的 batchsize 参数。例如，对于 GTX1080 显卡，可能只能支持 Train batch_size: 4。","https:\u002F\u002Fgithub.com\u002Fszq0214\u002FDSOD\u002Fissues\u002F11",{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},45694,"如何克服 GPU 显存限制以进行训练？有什么技巧吗？","作者采用的技巧是设置 accum_batch_size=128，初始学习率 initial lr=0.001，并设置 stepvalue=[80000, 100000, 120000, 140000] 来从头训练 SSD300 (VGGNet 骨干)。如果采用 accum_batch_size 128，相比 64 能获得更好的精度。如果是从 COCO 模型微调，也可以使用较小的批处理大小。","https:\u002F\u002Fgithub.com\u002Fszq0214\u002FDSOD\u002Fissues\u002F9",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},45695,"如何实现断点续训（加载最近的快照继续训练）？","在 DSOD300_pascal.py 文件中，将第 24 行的 \"resume_training\" 设置为 True，并取消注释第 498 行，即可从最近的快照（snapshot）重新继续训练。","https:\u002F\u002Fgithub.com\u002Fszq0214\u002FDSOD\u002Fissues\u002F15",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},45696,"如何测量模型的推理时间（inference time）？","作者没有使用 caffe time 操作符，而是编写了一个循环（运行超过 5000 次），仅测量整个前向传播（forward pass）的时间（不包含数据预处理如调整输入大小等），然后计算平均值作为推理时间。","https:\u002F\u002Fgithub.com\u002Fszq0214\u002FDSOD\u002Fissues\u002F17",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},45697,"为什么测试视频时 DSOD300 占用的显存较高（约 1500M）？","这是因为在 DSOD 项目中，为了方便起见，并没有使用官方优化版的 DenseNet 实现，而是使用了朴素（naive）的实现版本，因此显存占用相对较高。","https:\u002F\u002Fgithub.com\u002Fszq0214\u002FDSOD\u002Fissues\u002F16",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},45698,"论文中 Dense-SSD 相比 VGG-SSD 似乎没有优势且速度更慢，原因是什么？","这是因为原始实验中 SSD 的批处理大小（batch size）设为 32，而实验中仅将其加倍到 64。作者建议对于从头训练的 SSD，应将 batch size 增加到 128，这样可以获得合理的性能提升。此外，对比时应注意区分普通预测层和密集预测层的差异。","https:\u002F\u002Fgithub.com\u002Fszq0214\u002FDSOD\u002Fissues\u002F10",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},45699,"如何准备 VOC2012 测试集的 lmdb 数据以进行训练？","可以参考 RefineDet 项目的代码来生成测试集 lmdb。参考链接：https:\u002F\u002Fgithub.com\u002Fsfzhang15\u002FRefineDet","https:\u002F\u002Fgithub.com\u002Fszq0214\u002FDSOD\u002Fissues\u002F24",[]]