[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-tianzhi0549--FCOS":3,"tool-tianzhi0549--FCOS":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 真正成长为懂上",148568,2,"2026-04-09T23:34:24",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108111,"2026-04-08T11:23:26",[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},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":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"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",[35,15,13,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":77,"owner_website":79,"owner_url":80,"languages":81,"stars":102,"forks":103,"last_commit_at":104,"license":105,"difficulty_score":10,"env_os":106,"env_gpu":107,"env_ram":108,"env_deps":109,"category_tags":115,"github_topics":116,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":124,"updated_at":125,"faqs":126,"releases":162},6033,"tianzhi0549\u002FFCOS","FCOS","FCOS: Fully Convolutional One-Stage Object Detection (ICCV'19)","FCOS 是一款高效的目标检测开源算法，全称为“全卷积单阶段目标检测”。它旨在解决传统检测方法中依赖复杂的锚框（Anchor Boxes）机制所带来的计算冗余和超参数调节难题。通过彻底摒弃锚框设计，FCOS 将目标检测任务转化为直接的像素级预测问题，从而实现了更简洁的架构和更快的训练推理速度。\n\n这款工具特别适合计算机视觉领域的研究人员、算法工程师以及需要部署实时检测系统的开发者使用。其核心技术亮点在于“完全无锚框”设计，这不仅简化了模型调优过程，还显著提升了性能。在同等硬件条件下，FCOS 的训练时间比经典的 Faster R-CNN 更短，推理速度更快，同时在 COCO 数据集上取得了更高的检测精度。此外，该项目提供了基于 Detectron2 和 MMDetection 等多种主流框架的实现版本，并支持导出 ONNX 模型，方便用户进行工程化落地或二次开发。无论是追求学术前沿探索，还是构建工业级实时应用，FCOS 都是一个兼具高性能与易用性的优秀选择。","# FCOS: Fully Convolutional One-Stage Object Detection\n\nThis project hosts the code for implementing the FCOS algorithm for object detection, as presented in our paper:\n\n    FCOS: Fully Convolutional One-Stage Object Detection;\n    Zhi Tian, Chunhua Shen, Hao Chen, and Tong He;\n    In: Proc. Int. Conf. Computer Vision (ICCV), 2019.\n    arXiv preprint arXiv:1904.01355 \n\nThe full paper is available at: [https:\u002F\u002Farxiv.org\u002Fabs\u002F1904.01355](https:\u002F\u002Farxiv.org\u002Fabs\u002F1904.01355). \n\nImplementation based on Detectron2 is included in [AdelaiDet](https:\u002F\u002Fgithub.com\u002Faim-uofa\u002FAdelaiDet#coco-object-detecton-baselines-with-fcos).\n\n**A real-time model with 46FPS and 40.3 in AP on COCO minival is also available [here](https:\u002F\u002Fgithub.com\u002Faim-uofa\u002FAdelaiDet\u002Fblob\u002Fmaster\u002Fconfigs\u002FFCOS-Detection\u002FREADME.md#fcos-real-time-models).**\n\n## Highlights\n- **Totally anchor-free:**  FCOS completely avoids the complicated computation related to anchor boxes and all hyper-parameters of anchor boxes.   \n- **Better performance:** The very simple one-stage detector achieves much better performance (38.7 vs. 36.8 in AP with ResNet-50) than Faster R-CNN. Check out more models and experimental results [here](#models).\n- **Faster training and testing:** With the same hardwares and backbone ResNet-50-FPN, FCOS also requires less training hours (6.5h vs. 8.8h) than Faster R-CNN. FCOS also takes 12ms less inference time per image than Faster R-CNN (44ms vs. 56ms).\n- **State-of-the-art performance:** Our best model based on ResNeXt-64x4d-101 and deformable convolutions achieves **49.0%** in AP on COCO test-dev (with multi-scale testing).\n\n## Updates\n   - FCOS with Fast And Diverse (FAD) neural architecture search is avaliable at [FAD](https:\u002F\u002Fgithub.com\u002FMalongTech\u002Fresearch-fad). (30\u002F10\u002F2020)\n   - Script for exporting [ONNX models](https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Ftree\u002Fmaster\u002Fonnx). (21\u002F11\u002F2019)\n   - New NMS (see [#165](https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fpull\u002F165)) speeds up ResNe(x)t based models by up to 30% and MobileNet based models by 40%, with exactly the same performance. Check out [here](#models). (12\u002F10\u002F2019)\n   - New models with much improved performance are released. The best model achieves **49%** in AP on COCO test-dev with multi-scale testing. (11\u002F09\u002F2019)\n   - FCOS with VoVNet backbones is available at [VoVNet-FCOS](https:\u002F\u002Fgithub.com\u002Fvov-net\u002FVoVNet-FCOS). (08\u002F08\u002F2019)\n   - A trick of using a small central region of the BBox for training improves AP by nearly 1 point [as shown here](https:\u002F\u002Fgithub.com\u002Fyqyao\u002FFCOS_PLUS). (23\u002F07\u002F2019)\n   - FCOS with HRNet backbones is available at [HRNet-FCOS](https:\u002F\u002Fgithub.com\u002FHRNet\u002FHRNet-FCOS). (03\u002F07\u002F2019)\n   - FCOS with AutoML searched FPN (R50, R101, ResNeXt101 and MobileNetV2 backbones) is available at [NAS-FCOS](https:\u002F\u002Fgithub.com\u002FLausannen\u002FNAS-FCOS). (30\u002F06\u002F2019)\n   - FCOS has been implemented in [mmdetection](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection). Many thanks to [@yhcao6](https:\u002F\u002Fgithub.com\u002Fyhcao6) and [@hellock](https:\u002F\u002Fgithub.com\u002Fhellock). (17\u002F05\u002F2019)\n\n## Required hardware\nWe use 8 Nvidia V100 GPUs. \\\nBut 4 1080Ti GPUs can also train a fully-fledged ResNet-50-FPN based FCOS since FCOS is memory-efficient.  \n\n## Installation\n#### Testing-only installation \nFor users who only want to use FCOS as an object detector in their projects, they can install it by pip. To do so, run:\n```\npip install torch  # install pytorch if you do not have it\npip install git+https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS.git\n# run this command line for a demo \nfcos https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fraw\u002Fmaster\u002Fdemo\u002Fimages\u002FCOCO_val2014_000000000885.jpg\n```\nPlease check out [here](fcos\u002Fbin\u002Ffcos) for the interface usage.\n\n#### For a complete installation \nThis FCOS implementation is based on [maskrcnn-benchmark](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmaskrcnn-benchmark). Therefore the installation is the same as original maskrcnn-benchmark.\n\nPlease check [INSTALL.md](INSTALL.md) for installation instructions.\nYou may also want to see the original [README.md](MASKRCNN_README.md) of maskrcnn-benchmark.\n\n## A quick demo\nOnce the installation is done, you can follow the below steps to run a quick demo.\n    \n    # assume that you are under the root directory of this project,\n    # and you have activated your virtual environment if needed.\n    wget https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_imprv_R_50_FPN_1x.pth?download=true -O FCOS_imprv_R_50_FPN_1x.pth\n    python demo\u002Ffcos_demo.py\n\n\n## Inference\nThe inference command line on coco minival split:\n\n    python tools\u002Ftest_net.py \\\n        --config-file configs\u002Ffcos\u002Ffcos_imprv_R_50_FPN_1x.yaml \\\n        MODEL.WEIGHT FCOS_imprv_R_50_FPN_1x.pth \\\n        TEST.IMS_PER_BATCH 4    \n\nPlease note that:\n1) If your model's name is different, please replace `FCOS_imprv_R_50_FPN_1x.pth` with your own.\n2) If you enounter out-of-memory error, please try to reduce `TEST.IMS_PER_BATCH` to 1.\n3) If you want to evaluate a different model, please change `--config-file` to its config file (in [configs\u002Ffcos](configs\u002Ffcos)) and `MODEL.WEIGHT` to its weights file.\n4) Multi-GPU inference is available, please refer to [#78](https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fissues\u002F78#issuecomment-526990989).\n5) We improved the postprocess efficiency by using multi-label nms (see [#165](https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fpull\u002F165)), which saves 18ms on average. The inference metric in the following tables has been updated accordingly.\n\n## Models\nFor your convenience, we provide the following trained models (more models are coming soon).\n\n**ResNe(x)ts:**\n\n*All ResNe(x)t based models are trained with 16 images in a mini-batch and frozen batch normalization (i.e., consistent with models in [maskrcnn_benchmark](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmaskrcnn-benchmark)).*\n\nModel | Multi-scale training | Testing time \u002F im | AP (minival) | Link\n--- |:---:|:---:|:---:|:---:\nFCOS_imprv_R_50_FPN_1x | No | 44ms | 38.7 | [download](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_imprv_R_50_FPN_1x.pth?download=true)\nFCOS_imprv_dcnv2_R_50_FPN_1x | No | 54ms | 42.3 | [download](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_imprv_dcnv2_R_50_FPN_1x.pth?download=true)\nFCOS_imprv_R_101_FPN_2x | Yes | 57ms | 43.0 | [download](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_imprv_R_101_FPN_2x.pth?download=true)\nFCOS_imprv_dcnv2_R_101_FPN_2x | Yes | 73ms | 45.6 | [download](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_imprv_dcnv2_R_101_FPN_2x.pth?download=true)\nFCOS_imprv_X_101_32x8d_FPN_2x | Yes | 110ms | 44.0 | [download](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_imprv_X_101_32x8d_FPN_2x.pth?download=true)\nFCOS_imprv_dcnv2_X_101_32x8d_FPN_2x | Yes | 143ms | 46.4 | [download](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_imprv_dcnv2_X_101_32x8d_FPN_2x.pth?download=true)\nFCOS_imprv_X_101_64x4d_FPN_2x | Yes | 112ms | 44.7 | [download](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_imprv_X_101_64x4d_FPN_2x.pth?download=true)\nFCOS_imprv_dcnv2_X_101_64x4d_FPN_2x | Yes | 144ms | 46.6 | [download](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_imprv_dcnv2_X_101_64x4d_FPN_2x.pth?download=true)\n\n*Note that `imprv` denotes `improvements` in our paper Table 3. These almost cost-free changes improve the performance by ~1.5% in total. Thus, we highly recommend to use them. The following are the original models presented in our initial paper.*\n\nModel | Multi-scale training | Testing time \u002F im | AP (minival) | AP (test-dev) | Link\n--- |:---:|:---:|:---:|:---:|:---:\nFCOS_R_50_FPN_1x | No | 45ms | 37.1 | 37.4 | [download](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_R_50_FPN_1x.pth?download=true)\nFCOS_R_101_FPN_2x | Yes | 59ms | 41.4 | 41.5 | [download](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_R_101_FPN_2x.pth?download=true)\nFCOS_X_101_32x8d_FPN_2x | Yes | 110ms | 42.5 | 42.7 | [download](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_X_101_32x8d_FPN_2x.pth?download=true)\nFCOS_X_101_64x4d_FPN_2x | Yes | 113ms | 43.0 | 43.2 | [download](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_X_101_64x4d_FPN_2x.pth?download=true)\n\n**MobileNets:**\n\n*We update batch normalization for MobileNet based models. If you want to use SyncBN, please install pytorch 1.1 or later.*\n\nModel | Training batch size | Multi-scale training | Testing time \u002F im | AP (minival) | Link\n--- |:---:|:---:|:---:|:---:|:---:\nFCOS_syncbn_bs32_c128_MNV2_FPN_1x | 32 | No | 26ms | 30.9 | [download](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_syncbn_bs32_c128_MNV2_FPN_1x.pth?download=true)\nFCOS_syncbn_bs32_MNV2_FPN_1x | 32 | No | 33ms | 33.1 | [download](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_syncbn_bs32_MNV2_FPN_1x.pth?download=true)\nFCOS_bn_bs16_MNV2_FPN_1x | 16 | No | 44ms | 31.0 | [download](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_bn_bs16_MNV2_FPN_1x.pth?download=true)\n\n[1] *1x and 2x mean the model is trained for 90K and 180K iterations, respectively.* \\\n[2] *All results are obtained with a single model and without any test time data augmentation such as multi-scale, flipping and etc..* \\\n[3] *`c128` denotes the model has 128 (instead of 256) channels in towers (i.e., `MODEL.RESNETS.BACKBONE_OUT_CHANNELS` in [config](https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fblob\u002Fmaster\u002Fconfigs\u002Ffcos\u002Ffcos_syncbn_bs32_c128_MNV2_FPN_1x.yaml#L10)).* \\\n[4] *`dcnv2` denotes deformable convolutional networks v2. Note that for ResNet based models, we apply deformable convolutions from stage c3 to c5 in backbones. For ResNeXt based models, only stage c4 and c5 use deformable convolutions. All models use deformable convolutions in the last layer of detector towers.* \\\n[5] *The model `FCOS_imprv_dcnv2_X_101_64x4d_FPN_2x` with multi-scale testing achieves 49.0% in AP on COCO test-dev. Please use `TEST.BBOX_AUG.ENABLED True` to enable multi-scale testing.*\n\n## Training\n\nThe following command line will train FCOS_imprv_R_50_FPN_1x on 8 GPUs with Synchronous Stochastic Gradient Descent (SGD):\n\n    python -m torch.distributed.launch \\\n        --nproc_per_node=8 \\\n        --master_port=$((RANDOM + 10000)) \\\n        tools\u002Ftrain_net.py \\\n        --config-file configs\u002Ffcos\u002Ffcos_imprv_R_50_FPN_1x.yaml \\\n        DATALOADER.NUM_WORKERS 2 \\\n        OUTPUT_DIR training_dir\u002Ffcos_imprv_R_50_FPN_1x\n        \nNote that:\n1) If you want to use fewer GPUs, please change `--nproc_per_node` to the number of GPUs. No other settings need to be changed. The total batch size does not depends on `nproc_per_node`. If you want to change the total batch size, please change `SOLVER.IMS_PER_BATCH` in [configs\u002Ffcos\u002Ffcos_R_50_FPN_1x.yaml](configs\u002Ffcos\u002Ffcos_R_50_FPN_1x.yaml).\n2) The models will be saved into `OUTPUT_DIR`.\n3) If you want to train FCOS with other backbones, please change `--config-file`.\n4) If you want to train FCOS on your own dataset, please follow this instruction [#54](https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fissues\u002F54#issuecomment-497558687).\n5) Now, training with 8 GPUs and 4 GPUs can have the same performance. Previous performance gap was because we did not synchronize `num_pos` between GPUs when computing loss. \n\n## ONNX\nPlease refer to the directory [onnx](onnx) for an example of exporting the model to ONNX.\nA converted model can be downloaded [here](https:\u002F\u002Fcloudstor.aarnet.edu.au\u002Fplus\u002Fs\u002F38fQAdi2HBkn274\u002Fdownload).\nWe recommend you to use PyTorch >= 1.4.0 (or nightly) and torchvision >= 0.5.0 (or nightly) for ONNX models.\n\n## Contributing to the project\nAny pull requests or issues are welcome.\n\n## Citations\nPlease consider citing our paper in your publications if the project helps your research. BibTeX reference is as follows.\n```\n@inproceedings{tian2019fcos,\n  title   =  {{FCOS}: Fully Convolutional One-Stage Object Detection},\n  author  =  {Tian, Zhi and Shen, Chunhua and Chen, Hao and He, Tong},\n  booktitle =  {Proc. Int. Conf. Computer Vision (ICCV)},\n  year    =  {2019}\n}\n```\n```\n@article{tian2021fcos,\n  title   =  {{FCOS}: A Simple and Strong Anchor-free Object Detector},\n  author  =  {Tian, Zhi and Shen, Chunhua and Chen, Hao and He, Tong},\n  booktitle =  {IEEE T. Pattern Analysis and Machine Intelligence (TPAMI)},\n  year    =  {2021}\n}\n```\n\n\n# Acknowledgments\nWe would like to thank [@yqyao](https:\u002F\u002Fgithub.com\u002Fyqyao) for the tricks of center sampling and GIoU.  We also thank [@bearcatt](https:\u002F\u002Fgithub.com\u002Fbearcatt) for his suggestion of positioning the center-ness branch with box regression (refer to [#89](https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fissues\u002F89#issuecomment-516877042)).    \n\n## License\n\nFor academic use, this project is licensed under the 2-clause BSD License - see the LICENSE file for details. For commercial use, please contact the authors. \n","# FCOS：全卷积单阶段目标检测\n\n本项目托管了用于实现目标检测FCOS算法的代码，该算法在我们的论文中有所介绍：\n\n    FCOS：全卷积单阶段目标检测；\n    Zhi Tian、Chunhua Shen、Hao Chen 和 Tong He；\n    载于：国际计算机视觉会议（ICCV）论文集，2019年。\n    arXiv 预印本 arXiv:1904.01355\n\n完整论文可在以下链接获取：[https:\u002F\u002Farxiv.org\u002Fabs\u002F1904.01355](https:\u002F\u002Farxiv.org\u002Fabs\u002F1904.01355)。\n\n基于 Detectron2 的实现包含在 [AdelaiDet](https:\u002F\u002Fgithub.com\u002Faim-uofa\u002FAdelaiDet#coco-object-detecton-baselines-with-fcos) 中。\n\n**一个在 COCO minival 上以 46FPS 和 40.3 AP 运行的实时模型也可在此处获得 [这里](https:\u002F\u002Fgithub.com\u002Faim-uofa\u002FAdelaiDet\u002Fblob\u002Fmaster\u002Fconfigs\u002FFCOS-Detection\u002FREADME.md#fcos-real-time-models)。**\n\n## 亮点\n- **完全无锚点：** FCOS 完全避免了与锚框相关的复杂计算以及所有锚框超参数。\n- **更优性能：** 这种非常简单的单阶段检测器在性能上远超 Faster R-CNN（AP 为 38.7 对 36.8，使用 ResNet-50）。更多模型和实验结果请参见 [此处](#models)。\n- **更快的训练和推理：** 在相同的硬件和骨干网络 ResNet-50-FPN 下，FCOS 的训练时间也比 Faster R-CNN 更短（6.5 小时对 8.8 小时）。FCOS 每张图像的推理时间也比 Faster R-CNN 少 12 毫秒（44 毫秒对 56 毫秒）。\n- **最先进性能：** 我们基于 ResNeXt-64x4d-101 和可变形卷积的最佳模型，在 COCO test-dev 数据集上实现了 **49.0%** 的 AP（采用多尺度测试）。\n\n## 更新\n   - 基于快速多样（FAD）神经架构搜索的 FCOS 可在 [FAD](https:\u002F\u002Fgithub.com\u002FMalongTech\u002Fresearch-fad) 中找到。（2020年10月30日）\n   - 用于导出 [ONNX 模型](https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Ftree\u002Fmaster\u002Fonnx) 的脚本。（2019年11月21日）\n   - 新的 NMS（见 [#165](https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fpull\u002F165)）使基于 ResNe(x)t 的模型加速高达 30%，基于 MobileNet 的模型加速 40%，且性能完全相同。详情请参见 [此处](#models)。（2019年10月12日）\n   - 发布了性能大幅提升的新模型。最佳模型在 COCO test-dev 数据集上采用多尺度测试时，AP 达到 **49%**。（2019年9月11日）\n   - 基于 VoVNet 骨干网络的 FCOS 可在 [VoVNet-FCOS](https:\u002F\u002Fgithub.com\u002Fvov-net\u002FVoVNet-FCOS) 中找到。（2019年8月8日）\n   - 一种利用边界框中心小区域进行训练的技巧，可将 AP 提升近 1 个百分点 [如这里所示](https:\u002F\u002Fgithub.com\u002Fyqyao\u002FFCOS_PLUS)。（2019年7月23日）\n   - 基于 HRNet 骨干网络的 FCOS 可在 [HRNet-FCOS](https:\u002F\u002Fgithub.com\u002FHRNet\u002FHRNet-FCOS) 中找到。（2019年7月3日）\n   - 基于 AutoML 搜索的 FPN（R50、R101、ResNeXt101 和 MobileNetV2 骨干）的 FCOS 可在 [NAS-FCOS](https:\u002F\u002Fgithub.com\u002FLausannen\u002FNAS-FCOS) 中找到。（2019年6月30日）\n   - FCOS 已被实现于 [mmdetection](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection) 中。特别感谢 [@yhcao6](https:\u002F\u002Fgithub.com\u002Fyhcao6) 和 [@hellock](https:\u002F\u002Fgithub.com\u002Fhellock)。（2019年5月17日）\n\n## 必要硬件\n我们使用 8 张 Nvidia V100 GPU。\\\n不过，4 张 1080Ti GPU 也可以训练一个完整的基于 ResNet-50-FPN 的 FCOS，因为 FCOS 内存效率很高。\n\n## 安装\n#### 仅用于测试的安装 \n对于只想在其项目中将 FCOS 用作目标检测器的用户，可以通过 pip 安装。操作步骤如下：\n```\npip install torch  # 如果尚未安装 PyTorch，请先安装\npip install git+https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS.git\n# 运行此命令行以进行演示\nfcos https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fraw\u002Fmaster\u002Fdemo\u002Fimages\u002FCOCO_val2014_000000000885.jpg\n```\n有关接口使用的详细信息，请参阅 [此处](fcos\u002Fbin\u002Ffcos)。\n\n#### 完整安装 \n本 FCOS 实现基于 [maskrcnn-benchmark](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmaskrcnn-benchmark)。因此，安装方式与原 maskrcnn-benchmark 相同。\n\n请参阅 [INSTALL.md](INSTALL.md) 获取安装说明。您也可以查看 maskrcnn-benchmark 的原始 [README.md](MASKRCNN_README.md)。\n\n## 快速演示\n安装完成后，您可以按照以下步骤运行快速演示。\n    \n    # 假设您位于本项目的根目录下，\n    # 并且如果需要已激活虚拟环境。\n    wget https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_imprv_R_50_FPN_1x.pth?download=true -O FCOS_imprv_R_50_FPN_1x.pth\n    python demo\u002Ffcos_demo.py\n\n\n## 推理\n在 coco minival 分割上的推理命令行：\n\n    python tools\u002Ftest_net.py \\\n        --config-file configs\u002Ffcos\u002Ffcos_imprv_R_50_FPN_1x.yaml \\\n        MODEL.WEIGHT FCOS_imprv_R_50_FPN_1x.pth \\\n        TEST.IMS_PER_BATCH 4    \n\n请注意：\n1) 如果您的模型名称不同，请将 `FCOS_imprv_R_50_FPN_1x.pth` 替换为您自己的模型文件。\n2) 如果遇到内存不足错误，请尝试将 `TEST.IMS_PER_BATCH` 减少至 1。\n3) 如果您想评估其他模型，请将 `--config-file` 更改为相应配置文件（位于 [configs\u002Ffcos](configs\u002Ffcos) 中），并将 `MODEL.WEIGHT` 更改为对应的权重文件。\n4) 多 GPU 推理可用，请参阅 [#78](https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fissues\u002F78#issuecomment-526990989)。\n5) 我们通过使用多标签 NMS 改进了后处理效率（见 [#165](https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fpull\u002F165)），平均节省了 18 毫秒。下表中的推理指标已相应更新。\n\n## 模型\n为了您的方便，我们提供了以下训练好的模型（更多模型即将推出）。\n\n**ResNe(x)t系列：**\n\n*所有基于 ResNe(x)t 的模型均采用每批次 16 张图像进行训练，并使用冻结的批归一化层（即与 [maskrcnn_benchmark](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmaskrcnn-benchmark) 中的模型一致）。*\n\n模型 | 多尺度训练 | 推理时间 \u002F 图像 | AP (minival) | 链接\n--- |:---:|:---:|:---:|:---:\nFCOS_imprv_R_50_FPN_1x | 否 | 44ms | 38.7 | [下载](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_imprv_R_50_FPN_1x.pth?download=true)\nFCOS_imprv_dcnv2_R_50_FPN_1x | 否 | 54ms | 42.3 | [下载](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_imprv_dcnv2_R_50_FPN_1x.pth?download=true)\nFCOS_imprv_R_101_FPN_2x | 是 | 57ms | 43.0 | [下载](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_imprv_R_101_FPN_2x.pth?download=true)\nFCOS_imprv_dcnv2_R_101_FPN_2x | 是 | 73ms | 45.6 | [下载](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_imprv_dcnv2_R_101_FPN_2x.pth?download=true)\nFCOS_imprv_X_101_32x8d_FPN_2x | 是 | 110ms | 44.0 | [下载](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_imprv_X_101_32x8d_FPN_2x.pth?download=true)\nFCOS_imprv_dcnv2_X_101_32x8d_FPN_2x | 是 | 143ms | 46.4 | [下载](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_imprv_dcnv2_X_101_32x8d_FPN_2x.pth?download=true)\nFCOS_imprv_X_101_64x4d_FPN_2x | 是 | 112ms | 44.7 | [下载](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_imprv_X_101_64x4d_FPN_2x.pth?download=true)\nFCOS_imprv_dcnv2_X_101_64x4d_FPN_2x | 是 | 144ms | 46.6 | [下载](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_imprv_dcnv2_X_101_64x4d_FPN_2x.pth?download=true)\n\n*请注意，`imprv` 表示我们在论文表 3 中提到的“改进”。这些几乎无需额外成本的改动总共将性能提升了约 1.5%。因此，我们强烈建议使用它们。以下是我们在最初论文中提出的原始模型。*\n\n模型 | 多尺度训练 | 推理时间 \u002F 图像 | AP (minival) | AP (test-dev) | 链接\n--- |:---:|:---:|:---:|:---:|:---:\nFCOS_R_50_FPN_1x | 否 | 45ms | 37.1 | 37.4 | [下载](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_R_50_FPN_1x.pth?download=true)\nFCOS_R_101_FPN_2x | 是 | 59ms | 41.4 | 41.5 | [下载](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_R_101_FPN_2x.pth?download=true)\nFCOS_X_101_32x8d_FPN_2x | 是 | 110ms | 42.5 | 42.7 | [下载](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_X_101_32x8d_FPN_2x.pth?download=true)\nFCOS_X_101_64x4d_FPN_2x | 是 | 113ms | 43.0 | 43.2 | [下载](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_X_101_64x4d_FPN_2x.pth?download=true)\n\n**MobileNet系列：**\n\n*我们为基于 MobileNet 的模型更新了批归一化层。如果您希望使用 SyncBN，请安装 PyTorch 1.1 或更高版本。*\n\n模型 | 训练批次大小 | 多尺度训练 | 推理时间 \u002F 图像 | AP (minival) | 链接\n--- |:---:|:---:|:---:|:---:|:---:\nFCOS_syncbn_bs32_c128_MNV2_FPN_1x | 32 | 否 | 26ms | 30.9 | [下载](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_syncbn_bs32_c128_MNV2_FPN_1x.pth?download=true)\nFCOS_syncbn_bs32_MNV2_FPN_1x | 32 | 否 | 33ms | 33.1 | [下载](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_syncbn_bs32_MNV2_FPN_1x.pth?download=true)\nFCOS_bn_bs16_MNV2_FPN_1x | 16 | 否 | 44ms | 31.0 | [下载](https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_bn_bs16_MNV2_FPN_1x.pth?download=true)\n\n[1] *1x 和 2x 分别表示模型分别训练了 9 万次和 18 万次迭代。* \\\n[2] *所有结果均基于单个模型得出，未使用任何测试时的数据增强方法，如多尺度、翻转等。* \\\n[3] *`c128` 表示模型在塔层中具有 128 个通道（而非 256 个通道），即 [配置文件](https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fblob\u002Fmaster\u002Fconfigs\u002Ffcos\u002Ffcos_syncbn_bs32_c128_MNV2_FPN_1x.yaml#L10) 中的 `MODEL.RESNETS.BACKBONE_OUT_CHANNELS`。* \\\n[4] *`dcnv2` 表示可变形卷积网络 v2。需要注意的是，对于基于 ResNet 的模型，我们在骨干网络的 c3 到 c5 阶段应用可变形卷积；而对于基于 ResNeXt 的模型，则仅在 c4 和 c5 阶段使用可变形卷积。所有模型都在检测器塔的最后一层使用可变形卷积。* \\\n[5] *带有多尺度测试的模型 `FCOS_imprv_dcnv2_X_101_64x4d_FPN_2x` 在 COCO test-dev 上达到了 49.0% 的 AP。请使用 `TEST.BBOX_AUG.ENABLED True` 来启用多尺度测试。*\n\n## 训练\n\n以下命令行将在 8 张 GPU 上使用同步随机梯度下降法（SGD）训练 FCOS_imprv_R_50_FPN_1x：\n\n    python -m torch.distributed.launch \\\n        --nproc_per_node=8 \\\n        --master_port=$((RANDOM + 10000)) \\\n        tools\u002Ftrain_net.py \\\n        --config-file configs\u002Ffcos\u002Ffcos_imprv_R_50_FPN_1x.yaml \\\n        DATALOADER.NUM_WORKERS 2 \\\n        OUTPUT_DIR training_dir\u002Ffcos_imprv_R_50_FPN_1x\n        \n请注意：\n1) 如果您希望使用较少的 GPU，请将 `--nproc_per_node` 改为所需的 GPU 数量。其他设置无需更改。总批次大小并不依赖于 `nproc_per_node`。如果要更改总批次大小，请修改 [configs\u002Ffcos\u002Ffcos_R_50_FPN_1x.yaml](configs\u002Ffcos\u002Ffcos_R_50_FPN_1x.yaml) 中的 `SOLVER.IMS_PER_BATCH`。\n2) 模型将保存到 `OUTPUT_DIR`。\n3) 如果您想使用其他骨干网络训练 FCOS，请更改 `--config-file`。\n4) 如果您想在自己的数据集上训练 FCOS，请遵循此说明 [#54](https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fissues\u002F54#issuecomment-497558687)。\n5) 目前，使用 8 张 GPU 和 4 张 GPU 进行训练的效果相同。此前性能差距的原因在于我们在计算损失时未同步各 GPU 之间的 `num_pos` 值。\n\n## ONNX\n请参阅 [onnx](onnx) 目录，以获取将模型导出为 ONNX 格式的示例。转换后的模型可在此处下载：[这里](https:\u002F\u002Fcloudstor.aarnet.edu.au\u002Fplus\u002Fs\u002F38fQAdi2HBkn274\u002Fdownload)。我们建议您使用 PyTorch >= 1.4.0（或 nightly 版本）以及 torchvision >= 0.5.0（或 nightly 版本）来处理 ONNX 模型。\n\n## 参与项目\n欢迎提交任何拉取请求或问题。\n\n## 引用\n如果本项目对您的研究有所帮助，请考虑在您的出版物中引用我们的论文。BibTeX 引用如下所示。\n```\n@inproceedings{tian2019fcos,\n  title   =  {{FCOS}: 全卷积式单阶段目标检测},\n  author  =  {田志、沈春华、陈浩、何通},\n  booktitle =  {国际计算机视觉会议 (ICCV) 论文集},\n  year    =  {2019}\n}\n```\n```\n@article{tian2021fcos,\n  title   =  {{FCOS}: 一种简单而强大的无锚点目标检测器},\n  author  =  {田志、沈春华、陈浩、何通},\n  booktitle =  {IEEE 模式分析与机器智能汇刊 (TPAMI)},\n  year    =  {2021}\n}\n```\n\n# 致谢\n我们感谢[@yqyao](https:\u002F\u002Fgithub.com\u002Fyqyao)提供的中心采样和GIoU技巧。同时，我们也感谢[@bearcatt](https:\u002F\u002Fgithub.com\u002Fbearcatt)提出的将中心度分支与边界框回归相结合的建议（参见[#89](https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fissues\u002F89#issuecomment-516877042)）。\n\n## 许可证\n\n本项目面向学术用途，采用两条款BSD许可证——详情请参阅LICENSE文件。如需商业使用，请联系作者。","# FCOS 快速上手指南\n\nFCOS (Fully Convolutional One-Stage Object Detection) 是一种完全无锚框（Anchor-free）的单阶段目标检测算法，具有训练快、推理快且性能优越的特点。\n\n## 环境准备\n\n*   **操作系统**: Linux (推荐 Ubuntu)\n*   **GPU**: 支持 CUDA 的 NVIDIA GPU (官方使用 8x V100，但 4x 1080Ti 也可训练 ResNet-50 版本)\n*   **Python**: 3.6+\n*   **核心依赖**:\n    *   PyTorch >= 1.2 (推荐 >= 1.4 以支持 ONNX 导出)\n    *   torchvision >= 0.4.0\n    *   GCC >= 4.9\n    *   OpenCV\n    *   CUDA >= 9.0\n\n> **注意**: 本项目基于 `maskrcnn-benchmark` 架构，安装前请确保已正确安装对应版本的 PyTorch 和 CUDA 工具包。国内用户建议使用清华或阿里镜像源加速 pip 和 conda 包的下载。\n\n## 安装步骤\n\n### 方式一：仅推理安装（推荐快速体验）\n如果您只需在项目中调用 FCOS 进行目标检测，无需重新训练，可直接通过 pip 安装：\n\n```bash\n# 安装 PyTorch (如未安装)\npip install torch\n\n# 安装 FCOS\npip install git+https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS.git\n\n# 运行演示验证安装\nfcos https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fraw\u002Fmaster\u002Fdemo\u002Fimages\u002FCOCO_val2014_000000000885.jpg\n```\n\n### 方式二：完整安装（含训练功能）\n如需训练模型或修改源码，需从源码编译安装。此过程与 `maskrcnn-benchmark` 一致：\n\n```bash\n# 1. 克隆仓库\ngit clone https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS.git\ncd FCOS\n\n# 2. 创建虚拟环境 (可选但推荐)\npython -m venv venv\nsource venv\u002Fbin\u002Factivate\n\n# 3. 安装依赖\npip install -r requirements.txt\n\n# 4. 编译安装\npython setup.py build develop\n```\n*注：若编译过程中遇到 CUDA 相关错误，请检查 `torch.version.cuda` 与系统 `nvcc --version` 是否匹配。*\n\n## 基本使用\n\n### 1. 下载预训练模型\n首先下载官方提供的改进版 ResNet-50 预训练权重：\n\n```bash\nwget https:\u002F\u002Fhuggingface.co\u002Ftianzhi\u002FFCOS\u002Fresolve\u002Fmain\u002FFCOS_imprv_R_50_FPN_1x.pth?download=true -O FCOS_imprv_R_50_FPN_1x.pth\n```\n*(HuggingFace 在国内访问通常较为稳定，如遇网络问题可尝试配置代理)*\n\n### 2. 运行快速演示\n在项目根目录下运行以下命令，对示例图片进行检测：\n\n```bash\npython demo\u002Ffcos_demo.py\n```\n程序将自动加载默认配置和刚才下载的权重，输出检测结果图像。\n\n### 3. 执行推理评估\n若需在 COCO minival 数据集上进行推理测试：\n\n```bash\npython tools\u002Ftest_net.py \\\n    --config-file configs\u002Ffcos\u002Ffcos_imprv_R_50_FPN_1x.yaml \\\n    MODEL.WEIGHT FCOS_imprv_R_50_FPN_1x.pth \\\n    TEST.IMS_PER_BATCH 4\n```\n\n**参数说明：**\n*   `MODEL.WEIGHT`: 指定您的模型权重文件路径。\n*   `TEST.IMS_PER_BATCH`: 每批次处理的图片数。若显存不足（OOM），请将其改为 `1`。\n*   `--config-file`: 如需切换其他骨干网络（如 ResNet-101, MobileNet 等），请更改此处对应的 yaml 配置文件。","某智慧物流团队正在开发一套自动分拣系统，需要实时识别传送带上不同尺寸的包裹以控制机械臂抓取。\n\n### 没有 FCOS 时\n- **调参繁琐**：传统检测器依赖复杂的锚框（Anchor）机制，工程师需花费大量时间手动调整锚框尺寸和比例以适应各种包裹形状。\n- **推理延迟高**：在同等硬件下，现有模型单张图像推理耗时约 56ms，难以满足高速传送带对实时性的严苛要求。\n- **训练效率低**：模型收敛缓慢，每次迭代更新需耗时近 9 小时，严重拖累了算法优化和上线节奏。\n- **小目标漏检**：对于堆叠或远距离的小件包裹，基于锚框的方法容易因匹配不当导致漏检，影响分拣准确率。\n\n### 使用 FCOS 后\n- **无需锚框**：FCOS 完全摒弃了锚框设计，消除了相关超参数调优工作，让团队能直接聚焦于业务逻辑优化。\n- **速度显著提升**：得益于更简洁的架构，单图推理时间缩短至 44ms（提升约 21%），轻松跟上高速流水线节奏。\n- **训练大幅加速**：在相同 ResNet-50 骨干网下，训练时间从 8.8 小时缩减至 6.5 小时，算法迭代周期明显缩短。\n- **精度更高**：作为全卷积单阶段检测器，FCOS 在 COCO 数据集上 AP 值优于 Faster R-CNN，有效降低了小包裹的漏检率。\n\nFCOS 通过去除锚框束缚，以更低的计算成本和更快的训练速度，为工业级实时物体检测提供了更高精度的解决方案。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftianzhi0549_FCOS_de4df748.png","tianzhi0549","Tian Zhi","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ftianzhi0549_f15ae581.png","PhD in Computer Science.","The University of Adelaide",null,"zhi.tian@outlook.com","https:\u002F\u002Fzhitian.xyz\u002F","https:\u002F\u002Fgithub.com\u002Ftianzhi0549",[82,86,90,94,98],{"name":83,"color":84,"percentage":85},"Python","#3572A5",77,{"name":87,"color":88,"percentage":89},"Cuda","#3A4E3A",18.2,{"name":91,"color":92,"percentage":93},"C++","#f34b7d",2.8,{"name":95,"color":96,"percentage":97},"C","#555555",1.6,{"name":99,"color":100,"percentage":101},"Dockerfile","#384d54",0.5,3345,628,"2026-04-09T14:06:55","NOASSERTION","Linux","需要 NVIDIA GPU。官方使用 8x V100，但 4x GTX 1080Ti 也可训练完整模型（显存需求较低）。具体 CUDA 版本未说明，需匹配 PyTorch 版本。","未说明",{"notes":110,"python":108,"dependencies":111},"该实现基于 maskrcnn-benchmark，安装步骤与其相同。若使用 MobileNet 模型并需要同步批归一化 (SyncBN)，需安装 PyTorch 1.1 或更高版本。若需导出 ONNX 模型，推荐 PyTorch >= 1.4.0 和 torchvision >= 0.5.0。训练时若减少 GPU 数量无需更改其他设置，但若遇显存不足可减小测试批大小 (TEST.IMS_PER_BATCH)。",[112,113,114],"torch","torchvision","maskrcnn-benchmark",[14,15],[117,118,119,120,121,122,123],"fcos","object-detection","one-stage","anchor-free","pytorch","computer-vision","iccv2019","2026-03-27T02:49:30.150509","2026-04-10T07:46:35.264882",[127,132,137,142,147,152,157],{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},27322,"训练时 Loss 出现 NaN 是什么原因？如何解决？","通常是因为训练批次大小（batch size）太小（例如为 1）。当计算 sigmoid_focal_loss 时，`torch.log()` 可能会输出 `inf`（例如 `torch.log(torch.tensor(1e-49))`），导致 loss 变为 NaN。建议将 batch size 设置为 >= 8。如果必须使用小 batch size，可以修改 `fcos_core\u002Flayers\u002Fsigmoid_focal_loss.py` 第 49 行附近的代码，添加裁剪操作：`p = torch.clamp(torch.sigmoid(logits), min=eps, max=1 - eps)`，并将 eps 设置为 `1e-7`。","https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fissues\u002F6",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},27323,"如何训练自己的 COCO 格式数据集？","虽然 FCOS 的代码结构与 MMDetection 不同（特别是 `datasets\u002Fcoco.py` 文件），但基本流程相似。你需要确保数据集已转换为 COCO 格式，并修改配置文件中的数据集路径和类别信息。如果遇到预训练模型加载错误（如维度不匹配），可能需要运行 `FCOS\u002Ftools\u002Fremove_solver_states.py` 脚本来移除预训练模型中与当前任务不匹配的权重（例如分类头的权重），然后再开始训练。","https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fissues\u002F54",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},27324,"为什么无锚框（Anchor-free）的 FCOS 推理速度比有锚框的 Faster R-CNN 慢？","尽管 FCOS 是无锚框设计，但其推理时间的瓶颈通常在于头部塔（head towers）的计算。具体来说，FCOS 的头部分支包含多个卷积层用于预测分类、回归和中心度，这部分计算量较大。可以通过分析 `maskrcnn_benchmark\u002Fmodeling\u002Frpn\u002Ffcos\u002Ffcos.py` 中的 head 实现来进一步优化或确认具体耗时模块。","https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fissues\u002F108",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},27325,"如何将 FCOS 模型转换为 TensorFlow 或 ONNX 格式？","官方暂未提供直接的转换脚本。根据社区讨论，转换过程较为复杂。模型主要包含 `self.backbone` 和 `self.rpn` 两个模块（不包含 NMS）。输出包括 box_cls, box_regression, centerness 和 locations（用于后续 NMS）。由于 `self.head` 包含卷积操作且逻辑较复杂，直接导出 ONNX 可能遇到困难。目前建议参考社区用户的尝试，手动构建转换逻辑或将模型分为 backbone 和 head 分别处理，但官方尚未提供标准的 Demo 代码。","https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fissues\u002F57",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},27326,"网络输出的边界框偏移量（l*, r*, t*, b*）是否经过图像尺寸归一化？","不，FCOS 的输出并不是直接归一化到图像尺寸的偏移量。在计算 IoU Loss 时，回归分支的输出值涉及对数空间的操作。具体的损失计算方式为 `torch.abs(log(reg_target) - log(reg_pred)).mean()`。由于 `reg_pred` 在计算过程中经过了 `exp()` 操作，因此 `log(exp(reg_pred))` 等于 `reg_pred` 本身。如果你在复现时发现性能下降，请确保回归分支的代码逻辑与官方实现完全一致。","https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fissues\u002F36",{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},27327,"FCOS 是否有实例分割（Instance Segmentation）的计划或实现？","是的，论文中提到该检测器可以扩展到实例分割任务。虽然主仓库可能未直接集成完整的实例分割训练代码，但社区已有相关实现或计划。维护者表示会将相关信息添加到 README 中以方便用户查找。用户可以关注官方更新或搜索社区基于 FCOS 扩展的实例分割版本（如 FCOS-Inst）。","https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fissues\u002F94",{"id":158,"question_zh":159,"answer_zh":160,"source_url":161},27328,"运行 `python setup.py build develop` 安装时遇到编译错误怎么办？","安装错误通常与环境配置有关，特别是 CUDA 版本、GCC 编译器版本与 PyTorch 版本的兼容性。日志中显示的 `gcc` 命令参数表明正在编译 CUDA 扩展。请确保：1. 安装了与当前 PyTorch 版本匹配的 CUDA Toolkit；2. 环境变量 `CUDA_HOME` 已正确设置；3. GCC 版本不过新（某些新版 GCC 不支持旧版 CUDA）。如果问题持续，尝试清理构建缓存（`rm -rf build`）后重新运行安装命令，或检查完整的报错日志以定位缺失的头文件或链接库。","https:\u002F\u002Fgithub.com\u002Ftianzhi0549\u002FFCOS\u002Fissues\u002F71",[]]