[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-dog-qiuqiu--FastestDet":3,"tool-dog-qiuqiu--FastestDet":61},[4,18,26,36,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},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",159267,2,"2026-04-17T11:29:14",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"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,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"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",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,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":76,"owner_website":76,"owner_url":79,"languages":80,"stars":93,"forks":94,"last_commit_at":95,"license":96,"difficulty_score":32,"env_os":97,"env_gpu":98,"env_ram":99,"env_deps":100,"category_tags":108,"github_topics":109,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":113,"updated_at":114,"faqs":115,"releases":150},8500,"dog-qiuqiu\u002FFastestDet","FastestDet",":zap: A newly designed ultra lightweight anchor free target detection algorithm， weight only 250K parameters， reduces the time consumption by 10% compared with yolo-fastest, and the post-processing is simpler","FastestDet 是一款专为边缘设备设计的超轻量级目标检测算法。它致力于解决在算力有限的硬件（如手机、嵌入式开发板）上运行检测模型时，速度与精度难以兼顾的痛点。相比前代知名轻量模型 Yolo-fastest，FastestDet 在保持极低参数量（仅约 250K）的同时，将推理速度提升了约 10%，并显著简化了后处理流程，使其更易于工程部署。\n\n该工具特别适合需要在移动端或 IoT 设备上实现实时视觉应用的开发者与研究人员。其核心技术亮点在于采用了无锚框（Anchor-Free）设计、单尺度检测头以及动态正负样本分配策略。这些创新不仅去除了繁琐的锚框计算，还通过引入基于 Smooth L1 的 IOU 感知损失函数，有效提升了检测精度（mAP）。此外，FastestDet 支持 NCNN、RKNN 等多种主流推理框架，在 ARM CPU、NPU 及 x86 平台上均有优秀的性能表现，且数据标注格式兼容经典的 Darknet Yolo 标准，极大降低了用户的使用门槛和迁移成本。","***2022.7.14:Optimize loss, adopt IOU aware based on smooth L1, and the AP is significantly increased by 0.7***\n# :zap:FastestDet:zap:\n[![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002F508635170.svg)](https:\u002F\u002Fzenodo.org\u002Fbadge\u002Flatestdoi\u002F508635170)\n![image](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fdog-qiuqiu\u002FFastestDet)\n![image](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fdog-qiuqiu\u002FFastestDet?style=flat)\n![image](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fdog-qiuqiu_FastestDet_readme_53d909b3fa0f.png)\n* ***Faster! Stronger! Simpler!***\n* ***It has better performance and simpler feature map post-processing than Yolo-fastest***\n* ***The performance is 10% higher than Yolo-fastest***\n* ***The coco evaluation index increased by 1.2% compared with the map0.5 of Yolo-fastestv2***\n* ***算法介绍：https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F536500269 交流qq群:1062122604***\n# Evaluating indicator\u002FBenchmark\nNetwork|mAPval 0.5|mAPval 0.5:0.95|Resolution|Run Time(4xCore)|Run Time(1xCore)|Params(M)\n:---:|:---:|:---:|:---:|:---:|:---:|:---:\n[yolov5s](https:\u002F\u002Fgithub.com\u002Fultralytics\u002Fyolov5)|56.8%|37.4%|640X640|395.31ms|1139.16ms|7.2M\n[yolov6n](https:\u002F\u002Fgithub.com\u002Fmeituan\u002FYOLOv6)|-|30.8%|416X416|109.24ms|445.44ms|4.3M\n[yolox-nano](https:\u002F\u002Fgithub.com\u002FMegvii-BaseDetection\u002FYOLOX)|-|25.8%|416X416|76.31ms|191.16ms|0.91M\n[nanodet_m](https:\u002F\u002Fgithub.com\u002FRangiLyu\u002Fnanodet)|-|20.6%|320X320|49.24ms|160.35ms|0.95M\n[yolo-fastestv1.1](https:\u002F\u002Fgithub.com\u002Fdog-qiuqiu\u002FYolo-Fastest\u002Ftree\u002Fmaster\u002FModelZoo\u002Fyolo-fastest-1.1_coco)|24.40%|-|320X320|26.60ms|75.74ms|0.35M\n[yolo-fastestv2](https:\u002F\u002Fgithub.com\u002Fdog-qiuqiu\u002FYolo-FastestV2\u002Ftree\u002Fmain\u002Fmodelzoo)|24.10%|-|352X352|23.8ms|68.9ms|0.25M\nFastestDet|25.3%|13.0%|352X352|23.51ms|70.62ms|0.24M\n* ***Test platform Radxa Rock3A RK3568 ARM Cortex-A55 CPU，Based on [NCNN](https:\u002F\u002Fgithub.com\u002FTencent\u002Fncnn)***\n* ***CPU lock frequency 2.0GHz***\n# Improvement\n* Anchor-Free\n* Single scale detector head\n* Cross grid multiple candidate targets\n* Dynamic positive and negative sample allocation\n# Multi-platform benchmark\nEquipment|Computing backend|System|Framework|Run time(Single core)|Run time(Multi core)\n:---:|:---:|:---:|:---:|:---:|:---:\nRadxa rock3a|RK3568(arm-cpu)|Linux(aarch64)|ncnn|70.62ms|23.51ms\nRadxa rock3a|RK3568(NPU)|Linux(aarch64)|rknn|28ms|-\nQualcomm|Snapdragon 835(arm-cpu)|Android(aarch64)|ncnn|32.34ms|16.24ms\nIntel|i7-8700(X86-cpu)|Linux(amd64)|ncnn|4.51ms|4.33ms\n# How to use\n## Dependent installation\n* PiP(Note pytorch CUDA version selection)\n  ```\n  pip install -r requirements.txt\n  ```\n## Test\n* Picture test\n  ```\n  python3 test.py --yaml configs\u002Fcoco.yaml --weight weights\u002Fweight_AP05:0.253207_280-epoch.pth --img data\u002F3.jpg\n  ```\n\u003Cdiv align=center>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fdog-qiuqiu_FastestDet_readme_38dd8e54b84d.png\"> \u002F>\n\u003C\u002Fdiv>\n\n## How to train\n### Building data sets(The dataset is constructed in the same way as darknet yolo)\n* The format of the data set is the same as that of Darknet Yolo, Each image corresponds to a .txt label file. The label format is also based on Darknet Yolo's data set label format: \"category cx cy wh\", where category is the category subscript, cx, cy are the coordinates of the center point of the normalized label box, and w, h are the normalized label box The width and height, .txt label file content example as follows:\n  ```\n  11 0.344192634561 0.611 0.416430594901 0.262\n  14 0.509915014164 0.51 0.974504249292 0.972\n  ```\n* The image and its corresponding label file have the same name and are stored in the same directory. The data file structure is as follows:\n  ```\n  .\n  ├── train\n  │   ├── 000001.jpg\n  │   ├── 000001.txt\n  │   ├── 000002.jpg\n  │   ├── 000002.txt\n  │   ├── 000003.jpg\n  │   └── 000003.txt\n  └── val\n      ├── 000043.jpg\n      ├── 000043.txt\n      ├── 000057.jpg\n      ├── 000057.txt\n      ├── 000070.jpg\n      └── 000070.txt\n  ```\n* Generate a dataset path .txt file, the example content is as follows：\n  \n  train.txt\n  ```\n  \u002Fhome\u002Fqiuqiu\u002FDesktop\u002Fdataset\u002Ftrain\u002F000001.jpg\n  \u002Fhome\u002Fqiuqiu\u002FDesktop\u002Fdataset\u002Ftrain\u002F000002.jpg\n  \u002Fhome\u002Fqiuqiu\u002FDesktop\u002Fdataset\u002Ftrain\u002F000003.jpg\n  ```\n  val.txt\n  ```\n  \u002Fhome\u002Fqiuqiu\u002FDesktop\u002Fdataset\u002Fval\u002F000070.jpg\n  \u002Fhome\u002Fqiuqiu\u002FDesktop\u002Fdataset\u002Fval\u002F000043.jpg\n  \u002Fhome\u002Fqiuqiu\u002FDesktop\u002Fdataset\u002Fval\u002F000057.jpg\n  ```\n* Generate the .names category label file, the sample content is as follows:\n \n  category.names\n  ```\n  person\n  bicycle\n  car\n  motorbike\n  ...\n  \n  ```\n* The directory structure of the finally constructed training data set is as follows:\n  ```\n  .\n  ├── category.names        # .names category label file\n  ├── train                 # train dataset\n  │   ├── 000001.jpg\n  │   ├── 000001.txt\n  │   ├── 000002.jpg\n  │   ├── 000002.txt\n  │   ├── 000003.jpg\n  │   └── 000003.txt\n  ├── train.txt              # train dataset path .txt file\n  ├── val                    # val dataset\n  │   ├── 000043.jpg\n  │   ├── 000043.txt\n  │   ├── 000057.jpg\n  │   ├── 000057.txt\n  │   ├── 000070.jpg\n  │   └── 000070.txt\n  └── val.txt                # val dataset path .txt file\n\n  ```\n### Build the training .yaml configuration file\n* Reference.\u002Fconfigs\u002Fcoco.yaml\n  ```\n  DATASET:\n    TRAIN: \"\u002Fhome\u002Fqiuqiu\u002FDesktop\u002Fcoco2017\u002Ftrain2017.txt\"  # Train dataset path .txt file\n    VAL: \"\u002Fhome\u002Fqiuqiu\u002FDesktop\u002Fcoco2017\u002Fval2017.txt\"      # Val dataset path .txt file \n    NAMES: \"dataset\u002Fcoco128\u002Fcoco.names\"                   # .names category label file\n  MODEL:\n    NC: 80                                                # Number of detection categories\n    INPUT_WIDTH: 352                                      # The width of the model input image\n    INPUT_HEIGHT: 352                                     # The height of the model input image\n  TRAIN:\n    LR: 0.001                                             # Train learn rate\n    THRESH: 0.25                                          # ？？？？\n    WARMUP: true                                          # Trun on warm up\n    BATCH_SIZE: 64                                        # Batch size\n    END_EPOCH: 350                                        # Train epichs\n    MILESTIONES:                                          # Declining learning rate steps\n      - 150\n      - 250\n      - 300\n  ```\n### Train\n* Perform training tasks\n  ```\n  python3 train.py --yaml configs\u002Fcoco.yaml\n  ```\n### Evaluation\n* Calculate map evaluation\n  ```\n  python3 eval.py --yaml configs\u002Fcoco.yaml --weight weights\u002Fweight_AP05:0.253207_280-epoch.pth\n  ```\n* COCO2017 evaluation\n  ```\n  creating index...\n  index created!\n  creating index...\n  index created!\n  Running per image evaluation...\n  Evaluate annotation type *bbox*\n  DONE (t=30.85s).\n  Accumulating evaluation results...\n  DONE (t=4.97s).\n  Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.130\n  Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.253\n  Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.119\n  Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.021\n  Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.129\n  Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.237\n  Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.142\n  Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.208\n  Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.214\n  Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.043\n  Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.236\n  Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.372\n\n  ```\n# Deploy\n## Export onnx\n* You can export .onnx by adding the --onnx option when executing test.py\n  ```\n  python3 test.py --yaml configs\u002Fcoco.yaml --weight weights\u002Fweight_AP05:0.253207_280-epoch.pth --img data\u002F3.jpg --onnx\n  ```\n## Export torchscript\n* You can export .pt by adding the --torchscript option when executing test.py\n  ```\n  python3 test.py --yaml configs\u002Fcoco.yaml --weight weights\u002Fweight_AP05:0.253207_280-epoch.pth --img data\u002F3.jpg --torchscript\n  ```\n## NCNN\n* Need to compile ncnn and opencv in advance and modify the path in build.sh\n  ```\n  cd example\u002Fncnn\u002F\n  sh build.sh\n  .\u002FFastestDet\n  ```\n## onnx-runtime\n* You can learn about the pre and post-processing methods of FastestDet in this Sample\n  ```\n  cd example\u002Fonnx-runtime\n  pip install onnx-runtime\n  python3 runtime.py\n  ```\n# Citation\n* If you find this project useful in your research, please consider cite:\n  ```\n  @misc{=FastestDet,\n        title={FastestDet: Ultra lightweight anchor-free real-time object detection algorithm.},\n        author={xuehao.ma},\n        howpublished = {\\url{https:\u002F\u002Fgithub.com\u002Fdog-qiuqiu\u002FFastestDet}},\n        year={2022}\n  }\n  ```\n# Reference\n* https:\u002F\u002Fgithub.com\u002FTencent\u002Fncnn\n","***2022年7月14日：优化损失函数，采用基于平滑L1的IOU感知方法，AP显著提升0.7个百分点***\n# :zap:FastestDet:zap:\n[![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002F508635170.svg)](https:\u002F\u002Fzenodo.org\u002Fbadge\u002Flatestdoi\u002F508635170)\n![image](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fdog-qiuqiu\u002FFastestDet)\n![image](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fdog-qiuqiu\u002FFastestDet?style=flat)\n![image](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fdog-qiuqiu_FastestDet_readme_53d909b3fa0f.png)\n* ***更快！更强！更简单！***\n* ***相比Yolo-fastest，性能更好且特征图后处理更简单***\n* ***性能比Yolo-fastest高出10%***\n* ***与Yolo-fastestv2的map0.5相比，COCO评估指标提升了1.2%***\n* ***算法介绍：https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F536500269 交流qq群:1062122604***\n# 评估指标\u002F基准\n网络|mAPval 0.5|mAPval 0.5:0.95|分辨率|运行时间(4核)|运行时间(1核)|参数量(M)\n:---:|:---:|:---:|:---:|:---:|:---:|:---:\n[yolov5s](https:\u002F\u002Fgithub.com\u002Fultralytics\u002Fyolov5)|56.8%|37.4%|640X640|395.31ms|1139.16ms|7.2M\n[yolov6n](https:\u002F\u002Fgithub.com\u002Fmeituan\u002FYOLOv6)|-|30.8%|416X416|109.24ms|445.44ms|4.3M\n[yolox-nano](https:\u002F\u002Fgithub.com\u002FMegvii-BaseDetection\u002FYOLOX)|-|25.8%|416X416|76.31ms|191.16ms|0.91M\n[nanodet_m](https:\u002F\u002Fgithub.com\u002FRangiLyu\u002Fnanodet)|-|20.6%|320X320|49.24ms|160.35ms|0.95M\n[yolo-fastestv1.1](https:\u002F\u002Fgithub.com\u002Fdog-qiuqiu\u002FYolo-Fastest\u002Ftree\u002Fmaster\u002FModelZoo\u002Fyolo-fastest-1.1_coco)|24.40%|-|320X320|26.60ms|75.74ms|0.35M\n[yolo-fastestv2](https:\u002F\u002Fgithub.com\u002Fdog-qiuqiu\u002FYolo-FastestV2\u002Ftree\u002Fmain\u002Fmodelzoo)|24.10%|-|352X352|23.8ms|68.9ms|0.25M\nFastestDet|25.3%|13.0%|352X352|23.51ms|70.62ms|0.24M\n* ***测试平台为Radxa Rock3A RK3568 ARM Cortex-A55 CPU，基于[NCNN](https:\u002F\u002Fgithub.com\u002FTencent\u002Fncnn)***\n* ***CPU主频锁定为2.0GHz***\n# 改进点\n* 无锚框\n* 单尺度检测头\n* 跨网格多候选目标\n* 动态正负样本分配\n# 多平台基准测试\n设备|计算后端|系统|框架|单核运行时间|多核运行时间\n:---:|:---:|:---:|:---:|:---:|:---:\nRadxa rock3a|RK3568(arm-cpu)|Linux(aarch64)|ncnn|70.62ms|23.51ms\nRadxa rock3a|RK3568(NPU)|Linux(aarch64)|rknn|28ms|-\nQualcomm|Snapdragon 835(arm-cpu)|Android(aarch64)|ncnn|32.34ms|16.24ms\nIntel|i7-8700(X86-cpu)|Linux(amd64)|ncnn|4.51ms|4.33ms\n# 使用方法\n## 依赖安装\n* PiP（注意选择PyTorch CUDA版本）\n  ```\n  pip install -r requirements.txt\n  ```\n## 测试\n* 图片测试\n  ```\n  python3 test.py --yaml configs\u002Fcoco.yaml --weight weights\u002Fweight_AP05:0.253207_280-epoch.pth --img data\u002F3.jpg\n  ```\n\u003Cdiv align=center>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fdog-qiuqiu_FastestDet_readme_38dd8e54b84d.png\"> \u002F>\n\u003C\u002Fdiv>\n\n## 训练方法\n### 数据集构建（数据集构建方式与Darknet YOLO相同）\n* 数据集格式与Darknet YOLO一致，每张图片对应一个.txt标签文件。标签格式也遵循Darknet YOLO的数据集标签格式：“类别 cx cy wh”，其中类别为类别下标，cx、cy为归一化标签框中心点坐标，w、h为归一化标签框的宽和高。.txt标签文件内容示例如下：\n  ```\n  11 0.344192634561 0.611 0.416430594901 0.262\n  14 0.509915014164 0.51 0.974504249292 0.972\n  ```\n* 图片与其对应的标签文件同名并存放在同一目录中。数据文件结构如下：\n  ```\n  .\n  ├── train\n  │   ├── 000001.jpg\n  │   ├── 000001.txt\n  │   ├── 000002.jpg\n  │   ├── 000002.txt\n  │   ├── 000003.jpg\n  │   └── 000003.txt\n  └── val\n      ├── 000043.jpg\n      ├── 000043.txt\n      ├── 000057.jpg\n      ├── 000057.txt\n      ├── 000070.jpg\n      └── 000070.txt\n  ```\n* 生成数据集路径.txt文件，示例内容如下：\n\ntrain.txt\n  ```\n  \u002Fhome\u002Fqiuqiu\u002FDesktop\u002Fdataset\u002Ftrain\u002F000001.jpg\n  \u002Fhome\u002Fqiuqiu\u002FDesktop\u002Fdataset\u002Ftrain\u002F000002.jpg\n  \u002Fhome\u002Fqiuqiu\u002FDesktop\u002Fdataset\u002Ftrain\u002F000003.jpg\n  ```\nval.txt\n  ```\n  \u002Fhome\u002Fqiuqiu\u002FDesktop\u002Fdataset\u002Fval\u002F000070.jpg\n  \u002Fhome\u002Fqiuqiu\u002FDesktop\u002Fdataset\u002Fval\u002F000043.jpg\n  \u002Fhome\u002Fqiuqiu\u002FDesktop\u002Fdataset\u002Fval\u002F000057.jpg\n  ```\n* 生成.names类别标签文件，示例内容如下：\n\ncategory.names\n  ```\n  人\n  自行车\n  汽车\n  摩托车\n  ...\n  \n  ```\n* 最终构建的训练数据集目录结构如下：\n  ```\n  .\n  ├── category.names        # .names类别标签文件\n  ├── train                 # 训练数据集\n  │   ├── 000001.jpg\n  │   ├── 000001.txt\n  │   ├── 000002.jpg\n  │   ├── 000002.txt\n  │   ├── 000003.jpg\n  │   └── 000003.txt\n  ├── train.txt              # 训练数据集路径.txt文件\n  ├── val                    # 验证数据集\n  │   ├── 000043.jpg\n  │   ├── 000043.txt\n  │   ├── 000057.jpg\n  │   ├── 000057.txt\n  │   ├── 000070.jpg\n  │   └── 000070.txt\n  └── val.txt                # 验证数据集路径.txt文件\n\n  ```\n### 构建训练.yaml配置文件\n* 参考.\u002Fconfigs\u002Fcoco.yaml\n  ```\n  DATASET:\n    TRAIN: \"\u002Fhome\u002Fqiuqiu\u002FDesktop\u002Fcoco2017\u002Ftrain2017.txt\"  # 训练数据集路径.txt文件\n    VAL: \"\u002Fhome\u002Fqiuqiu\u002FDesktop\u002Fcoco2017\u002Fval2017.txt\"      # 验证数据集路径.txt文件 \n    NAMES: \"dataset\u002Fcoco128\u002Fcoco.names\"                   # .names类别标签文件\n  MODEL:\n    NC: 80                                                # 检测类别数\n    INPUT_WIDTH: 352                                      # 模型输入图像宽度\n    INPUT_HEIGHT: 352                                     # 模型输入图像高度\n  TRAIN:\n    LR: 0.001                                             # 训练学习率\n    THRESH: 0.25                                          # ？？？？\n    WARMUP: true                                          # 开启预热\n    BATCH_SIZE: 64                                        # 批量大小\n    END_EPOCH: 350                                        # 训练轮次\n    MILESTIONES:                                          # 学习率衰减步骤\n      - 150\n      - 250\n      - 300\n  ```\n### 训练\n* 执行训练任务\n  ```\n  python3 train.py --yaml configs\u002Fcoco.yaml\n  ```\n\n### 评估\n* 计算地图评估\n  ```\n  python3 eval.py --yaml configs\u002Fcoco.yaml --weight weights\u002Fweight_AP05:0.253207_280-epoch.pth\n  ```\n* COCO2017 评估\n  ```\n  创建索引中…\n  索引创建完成！\n  创建索引中…\n  索引创建完成！\n  正在进行逐张图像的评估…\n  评估标注类型 *bbox*\n  完成（耗时30.85秒）。\n  累积评估结果中…\n  完成（耗时4.97秒）。\n  平均精度（AP）@[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.130\n  平均精度（AP）@[ IoU=0.50      | area=   all | maxDets=100 ] = 0.253\n  平均精度（AP）@[ IoU=0.75      | area=   all | maxDets=100 ] = 0.119\n  平均精度（AP）@[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.021\n  平均精度（AP）@[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.129\n  平均精度（AP）@[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.237\n  平均召回率（AR）@[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.142\n  平均召回率（AR）@[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.208\n  平均召回率（AR）@[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.214\n  平均召回率（AR）@[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.043\n  平均召回率（AR）@[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.236\n  平均召回率（AR）@[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.372\n\n  ```\n# 部署\n## 导出 onnx\n* 在执行 test.py 时添加 --onnx 选项即可导出 .onnx 文件\n  ```\n  python3 test.py --yaml configs\u002Fcoco.yaml --weight weights\u002Fweight_AP05:0.253207_280-epoch.pth --img data\u002F3.jpg --onnx\n  ```\n## 导出 torchscript\n* 在执行 test.py 时添加 --torchscript 选项即可导出 .pt 文件\n  ```\n  python3 test.py --yaml configs\u002Fcoco.yaml --weight weights\u002Fweight_AP05:0.253207_280-epoch.pth --img data\u002F3.jpg --torchscript\n  ```\n## NCNN\n* 需要提前编译 ncnn 和 opencv，并修改 build.sh 中的路径\n  ```\n  cd example\u002Fncnn\u002F\n  sh build.sh\n  .\u002FFastestDet\n  ```\n## onnx-runtime\n* 可以在此示例中了解 FastestDet 的预处理和后处理方法\n  ```\n  cd example\u002Fonnx-runtime\n  pip install onnx-runtime\n  python3 runtime.py\n  ```\n# 引用\n* 如果您在研究中发现本项目有用，请考虑引用：\n  ```\n  @misc{=FastestDet,\n        title={FastestDet：超轻量级无锚点实时目标检测算法。},\n        author={xuehao.ma},\n        howpublished = {\\url{https:\u002F\u002Fgithub.com\u002Fdog-qiuqiu\u002FFastestDet}},\n        year={2022}\n  }\n  ```\n# 参考文献\n* https:\u002F\u002Fgithub.com\u002FTencent\u002Fncnn","# FastestDet 快速上手指南\n\nFastestDet 是一款超轻量级、无锚框（Anchor-Free）的实时目标检测算法。相比 Yolo-fastest，它在保持极简结构的同时，实现了更高的检测精度（mAP 提升约 10%）和更简单的特征图后处理流程，非常适合在 ARM CPU、NPU 等资源受限的边缘设备上部署。\n\n## 环境准备\n\n*   **操作系统**: Linux (推荐 Ubuntu), Android, 或 macOS\n*   **Python 版本**: Python 3.6+\n*   **深度学习框架**: PyTorch (建议安装带有 CUDA 支持的版本以加速训练)\n*   **硬件要求**:\n    *   **训练**: 建议使用支持 CUDA 的 GPU。\n    *   **推理**: 支持 x86 CPU, ARM CPU (如 RK3568, Snapdragon), NPU 等。\n\n## 安装步骤\n\n1.  **克隆项目代码**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fdog-qiuqiu\u002FFastestDet.git\n    cd FastestDet\n    ```\n\n2.  **安装依赖库**\n    建议使用国内镜像源（如清华源）加速 `pip` 安装过程。请确保已安装对应 CUDA 版本的 PyTorch。\n    ```bash\n    pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n    ```\n\n## 基本使用\n\n### 1. 快速测试（图片推理）\n\n下载预训练权重后，即可对单张图片进行推理测试。以下命令将加载模型并输出检测结果图。\n\n```bash\npython3 test.py --yaml configs\u002Fcoco.yaml --weight weights\u002Fweight_AP05:0.253207_280-epoch.pth --img data\u002F3.jpg\n```\n\n*   `--yaml`: 配置文件路径。\n*   `--weight`: 预训练权重文件路径。\n*   `--img`: 待检测图片路径。\n\n### 2. 模型导出（部署准备）\n\n若需部署到移动端或嵌入式设备，可导出为 ONNX 或 TorchScript 格式。\n\n**导出为 ONNX:**\n```bash\npython3 test.py --yaml configs\u002Fcoco.yaml --weight weights\u002Fweight_AP05:0.253207_280-epoch.pth --img data\u002F3.jpg --onnx\n```\n\n**导出为 TorchScript (.pt):**\n```bash\npython3 test.py --yaml configs\u002Fcoco.yaml --weight weights\u002Fweight_AP05:0.253207_280-epoch.pth --img data\u002F3.jpg --torchscript\n```\n\n### 3. 开始训练（自定义数据集）\n\nFastestDet 的数据集格式与 Darknet YOLO 一致。\n\n**数据准备结构示例：**\n```text\n.\n├── category.names        # 类别名称文件\n├── train                 # 训练集图片与标签\n│   ├── 000001.jpg\n│   ├── 000001.txt\n│   └── ...\n├── train.txt             # 训练集图片路径列表\n├── val                   # 验证集图片与标签\n│   ├── 000043.jpg\n│   ├── 000043.txt\n│   └── ...\n└── val.txt               # 验证集图片路径列表\n```\n\n**配置文件修改：**\n编辑 `configs\u002Fcoco.yaml`，修改 `DATASET` 部分的路径指向你的数据文件，并设置 `NC` (类别数量)。\n\n**启动训练：**\n```bash\npython3 train.py --yaml configs\u002Fcoco.yaml\n```\n\n**评估模型：**\n训练完成后，使用以下命令计算 mAP：\n```bash\npython3 eval.py --yaml configs\u002Fcoco.yaml --weight weights\u002Fyour_best_weight.pth\n```","某嵌入式开发团队正在为基于 RK3568 芯片的工业巡检机器人开发实时缺陷检测系统，需在资源受限的边缘端实现高帧率运行。\n\n### 没有 FastestDet 时\n- 模型参数量过大（如 YOLOv5s 达 7.2M），导致内存占用高，机器人主控芯片频繁出现内存溢出报警。\n- 推理延迟严重，单核 CPU 下耗时超过 1000ms，无法满足产线高速流转下的实时反馈需求。\n- 后处理逻辑复杂，锚框（Anchor）机制引入了大量冗余计算，进一步拖慢了整体检测速度。\n- 在低算力设备上部署困难，不得不降低输入分辨率，导致小目标缺陷漏检率居高不下。\n\n### 使用 FastestDet 后\n- 模型权重仅 250K 参数，内存占用极低，完美适配机器人有限的硬件资源，系统运行稳定无溢出。\n- 推理速度显著提升，在同等单核 CPU 环境下耗时降至约 70ms，实现了流畅的实时视频流检测。\n- 采用无锚框（Anchor-Free）设计与简化的后处理流程，大幅减少了无效计算，算法逻辑更加轻量高效。\n- 保持了 352x352 的较高输入分辨率，结合优化的损失函数，使微小裂纹等缺陷的检出精度提升了 1.2%。\n\nFastestDet 通过极致的轻量化设计与高效的推理性能，成功解决了边缘设备在实时目标检测中“跑得动”与“测得准”难以兼得的核心难题。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fdog-qiuqiu_FastestDet_ec23866c.png","dog-qiuqiu","duoduo.cat","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fdog-qiuqiu_0b145a30.jpg","qiuqiuqiuqiu ...球",null,"Shenzhen","dogqiuqiu@outlook.com","https:\u002F\u002Fgithub.com\u002Fdog-qiuqiu",[81,85,89],{"name":82,"color":83,"percentage":84},"Python","#3572A5",86.2,{"name":86,"color":87,"percentage":88},"C++","#f34b7d",13.6,{"name":90,"color":91,"percentage":92},"Shell","#89e051",0.2,856,153,"2026-04-13T04:27:26","BSD-3-Clause","Linux, Android","非必需。训练阶段依赖 PyTorch（README 提示需注意 CUDA 版本选择），推理阶段主要基于 CPU (NCNN) 或 NPU (RKNN)，支持 ARM Cortex-A55 及 x86 架构。","未说明",{"notes":101,"python":102,"dependencies":103},"1. 该工具主打轻量级和边缘端部署，推理后端主要支持 NCNN (CPU) 和 RKNN (NPU)。2. 训练数据格式需遵循 Darknet Yolo 标准。3. 部署到 NCNN 需预先编译 ncnn 和 opencv 库。4. 支持导出 ONNX 和 TorchScript 格式。","3.x (示例命令使用 python3)",[104,105,106,107],"torch","ncnn","opencv","onnx-runtime",[15,14],[110,111,112],"computer-vision","deep-learning","object-detection","2026-03-27T02:49:30.150509","2026-04-18T00:45:43.074951",[116,121,126,131,136,141,146],{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},38054,"在 Windows 系统上训练时，为什么模型权重文件无法保存或生成空文件？","这是因为代码中生成的文件名包含冒号（:），而冒号在 Windows 文件命名规则中是非法字符，导致文件保存失败且不会报错。\n解决方法：需要修改代码中保存模型权重的部分，去掉文件名中的冒号。通常是将时间戳格式中的冒号替换为下划线或其他合法字符。","https:\u002F\u002Fgithub.com\u002Fdog-qiuqiu\u002FFastestDet\u002Fissues\u002F40",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},38055,"将自定义类别的模型转换为 NCNN 格式后，输出维度错误或精度大幅下降怎么办？","这通常是因为 ONNX 导出时保留了 COCO 数据集的默认类别数（80 类，输出通道 85），而不是你训练的自定义类别数。\n原因及解决方法：\n1. onnx2ncnn 对 crop 算子转换存在 Bug。\n2. 方法一（推荐）：使用 pnnx 工具进行转换（项目 example 中采用的方法）。\n3. 方法二：先对导出的 ONNX 模型进行 onnx-sim 简化操作，然后再使用 onnx2ncnn 进行转换。","https:\u002F\u002Fgithub.com\u002Fdog-qiuqiu\u002FFastestDet\u002Fissues\u002F14",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},38056,"如何获取该项目的网络结构示意图？","网络结构示意图并未直接放在 GitHub 仓库中，作者将其发布在了知乎专栏文章中。请查看项目 README 文件中提供的知乎链接以获取详细的网络结构图。","https:\u002F\u002Fgithub.com\u002Fdog-qiuqiu\u002FFastestDet\u002Fissues\u002F17",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},38057,"项目缺少 requirements.txt 依赖文件，具体的环境依赖有哪些？","项目已补全依赖文件，主要包含以下核心库（版本仅供参考，建议根据实际 torch 版本调整）：\n- torch==1.12.0\n- torchvision==0.13.0\n- opencv-python==4.6.0.66\n- numpy==1.23.0\n- PyYAML==6.0\n- pycocotools==2.0.4\n- matplotlib==3.5.2\n- tqdm==4.64.0\n完整列表可参考仓库根目录下的 requirements.txt 文件。","https:\u002F\u002Fgithub.com\u002Fdog-qiuqiu\u002FFastestDet\u002Fissues\u002F2",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},38058,"是否有 NCNN 的实现版本或推理示例？","有的。社区用户已经完成了 NCNN 的实现工作。\n你可以访问以下仓库获取完整的 NCNN 部署代码和示例：\nhttps:\u002F\u002Fgithub.com\u002Fpengyang1225\u002FFastestDet_NCNN","https:\u002F\u002Fgithub.com\u002Fdog-qiuqiu\u002FFastestDet\u002Fissues\u002F4",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},38059,"预训练模型（Backbone）的权重来源是什么？","项目中使用的 ShuffleNetV2 Backbone 预训练权重来自 PyTorch 官方，通常是基于 ImageNet 数据集预训练的权重。这些权重在 shufflenet.py 文件中加载，用于加快模型的收敛速度。","https:\u002F\u002Fgithub.com\u002Fdog-qiuqiu\u002FFastestDet\u002Fissues\u002F9",{"id":147,"question_zh":148,"answer_zh":149,"source_url":125},38060,"使用 PNNX 转换模型时出现 Segmentation fault (core dumped) 或生成异常大的 bin 文件怎么办？","这通常是由于 ONNX 模型中存在某些算子（如 prim::Constant）未被正确识别或处理导致的。\n建议步骤：\n1. 确保使用的是最新版本的 PNNX。\n2. 尝试先对 ONNX 模型运行 onnx-sim 进行简化，消除冗余节点。\n3. 检查转换命令中的 inputshape 是否正确指定。\n如果问题依旧，参考 Issue #14 中提到的使用 onnx-sim 预处理后再转换的方案。",[151],{"id":152,"version":153,"summary_zh":154,"released_at":155},306236,"v1.0","第一次提交","2022-07-02T01:54:28"]