[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-NVIDIA--retinanet-examples":3,"tool-NVIDIA--retinanet-examples":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 真正成长为懂上",142651,2,"2026-04-06T23:34:12",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[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":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":77,"owner_twitter":77,"owner_website":78,"owner_url":79,"languages":80,"stars":105,"forks":106,"last_commit_at":107,"license":108,"difficulty_score":10,"env_os":109,"env_gpu":110,"env_ram":111,"env_deps":112,"category_tags":122,"github_topics":123,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":131,"updated_at":132,"faqs":133,"releases":166},4704,"NVIDIA\u002Fretinanet-examples","retinanet-examples","Fast and accurate object detection with end-to-end GPU optimization","retinanet-examples 是 NVIDIA 推出的高性能目标检测工具包，专注于提供快速且精准的单阶段物体识别方案。它有效解决了传统检测模型在速度与精度之间难以兼顾的痛点，特别是在处理实时视频流或大规模数据时，能够显著降低延迟并提升吞吐量。\n\n这套工具非常适合计算机视觉开发者、算法研究人员以及需要部署高效检测系统的工程师使用。无论是进行模型训练、推理评估，还是将模型导出至生产环境，retinanet-examples 都能提供流畅的支持。\n\n其核心优势在于实现了端到端的 GPU 全链路优化。它深度整合了 PyTorch 框架，并利用 NVIDIA Apex 支持混合精度与分布式训练，大幅缩短训练时间；通过 DALI 加速数据预处理，消除数据读取瓶颈；更关键的是，它原生支持 TensorRT 和 DeepStream，能将模型高效转化为高性能推理引擎，轻松应对实时视频分析场景。此外，该工具还独特地支持旋转边界框检测，使其在处理倾斜物体（如航拍图像中的车辆或文字）时表现更加出色。用户可根据实际需求，灵活选择从 MobileNetV2 到 ResNet152 等不同骨干网络，在准确","retinanet-examples 是 NVIDIA 推出的高性能目标检测工具包，专注于提供快速且精准的单阶段物体识别方案。它有效解决了传统检测模型在速度与精度之间难以兼顾的痛点，特别是在处理实时视频流或大规模数据时，能够显著降低延迟并提升吞吐量。\n\n这套工具非常适合计算机视觉开发者、算法研究人员以及需要部署高效检测系统的工程师使用。无论是进行模型训练、推理评估，还是将模型导出至生产环境，retinanet-examples 都能提供流畅的支持。\n\n其核心优势在于实现了端到端的 GPU 全链路优化。它深度整合了 PyTorch 框架，并利用 NVIDIA Apex 支持混合精度与分布式训练，大幅缩短训练时间；通过 DALI 加速数据预处理，消除数据读取瓶颈；更关键的是，它原生支持 TensorRT 和 DeepStream，能将模型高效转化为高性能推理引擎，轻松应对实时视频分析场景。此外，该工具还独特地支持旋转边界框检测，使其在处理倾斜物体（如航拍图像中的车辆或文字）时表现更加出色。用户可根据实际需求，灵活选择从 MobileNetV2 到 ResNet152 等不同骨干网络，在准确率与推理速度之间找到最佳平衡点。","# NVIDIA Object Detection Toolkit (ODTK)\n\n**Fast** and **accurate** single stage object detection with end-to-end GPU optimization.\n\n## Description\n\nODTK is a single shot object detector with various backbones and detection heads. This allows performance\u002Faccuracy trade-offs.\n\nIt is optimized for end-to-end GPU processing using:\n* The [PyTorch](https:\u002F\u002Fpytorch.org) deep learning framework with [ONNX](https:\u002F\u002Fonnx.ai) support\n* NVIDIA [Apex](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fapex) for mixed precision and distributed training\n* NVIDIA [DALI](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FDALI) for optimized data pre-processing\n* NVIDIA [TensorRT](https:\u002F\u002Fdeveloper.nvidia.com\u002Ftensorrt) for high-performance inference\n* NVIDIA [DeepStream](https:\u002F\u002Fdeveloper.nvidia.com\u002Fdeepstream-sdk) for optimized real-time video streams support\n\n## Rotated bounding box detections\n\nThis repo now supports rotated bounding box detections. See [rotated detections training](TRAINING.md#rotated-detections) and [rotated detections inference](INFERENCE.md#rotated-detections) documents for more information on how to use the `--rotated-bbox` command. \n\nBounding box annotations are described by `[x, y, w, h, theta]`. \n\n## Performance\n\nThe detection pipeline allows the user to select a specific backbone depending on the latency-accuracy trade-off preferred.\n\nODTK **RetinaNet** model accuracy and inference latency & FPS (frames per seconds) for [COCO 2017](http:\u002F\u002Fcocodataset.org\u002F#detection-2017) (train\u002Fval) after full training schedule. Inference results include bounding boxes post-processing for a batch size of 1. Inference measured at `--resize 800` using `--with-dali` on a FP16 TensorRT engine.\n\nBackbone |  mAP @[IoU=0.50:0.95] | Training Time on [DGX1v](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fdata-center\u002Fdgx-1\u002F) | Inference latency FP16 on [V100](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fdata-center\u002Ftesla-v100\u002F) | Inference latency INT8 on [T4](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fdata-center\u002Ftesla-t4\u002F) | Inference latency FP16 on [A100](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fdata-center\u002Fa100\u002F) | Inference latency INT8 on [A100](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fdata-center\u002Fa100\u002F)\n--- | :---: | :---: | :---: | :---: | :---: | :---:\n[ResNet18FPN](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fretinanet-examples\u002Freleases\u002Fdownload\u002F19.04\u002Fretinanet_rn18fpn.zip) | 0.318 | 5 hrs  | 14 ms;\u003C\u002Fbr>71 FPS | 18 ms;\u003C\u002Fbr>56 FPS | 9 ms;\u003C\u002Fbr>110 FPS | 7 ms;\u003C\u002Fbr>141 FPS\n[MobileNetV2FPN](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fretinanet-examples\u002Freleases\u002Fdownload\u002Fv0.2.3\u002Fretinanet_mobilenetv2fpn.pth) | 0.333 | | 14 ms;\u003C\u002Fbr>74 FPS | 18 ms;\u003C\u002Fbr>56 FPS | 9 ms;\u003C\u002Fbr>114 FPS | 7 ms;\u003C\u002Fbr>138 FPS\n[ResNet34FPN](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fretinanet-examples\u002Freleases\u002Fdownload\u002F19.04\u002Fretinanet_rn34fpn.zip) | 0.343 | 6 hrs  | 16 ms;\u003C\u002Fbr>64 FPS | 20 ms;\u003C\u002Fbr>50 FPS | 10 ms;\u003C\u002Fbr>103 FPS | 7 ms;\u003C\u002Fbr>142 FPS\n[ResNet50FPN](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fretinanet-examples\u002Freleases\u002Fdownload\u002F19.04\u002Fretinanet_rn50fpn.zip) | 0.358 | 7 hrs  | 18 ms;\u003C\u002Fbr>56 FPS | 22 ms;\u003C\u002Fbr>45 FPS | 11 ms;\u003C\u002Fbr>93 FPS | 8 ms;\u003C\u002Fbr>129 FPS\n[ResNet101FPN](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fretinanet-examples\u002Freleases\u002Fdownload\u002F19.04\u002Fretinanet_rn101fpn.zip) | 0.376 | 10 hrs | 22 ms;\u003C\u002Fbr>46 FPS | 27 ms;\u003C\u002Fbr>37 FPS | 13 ms;\u003C\u002Fbr>78 FPS | 9 ms;\u003C\u002Fbr>117 FPS\n[ResNet152FPN](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fretinanet-examples\u002Freleases\u002Fdownload\u002F19.04\u002Fretinanet_rn152fpn.zip) | 0.393 | 12 hrs | 26 ms;\u003C\u002Fbr>38 FPS | 33 ms;\u003C\u002Fbr>31 FPS | 15 ms;\u003C\u002Fbr>66 FPS | 10 ms;\u003C\u002Fbr>103 FPS\n\n## Installation\n\nFor best performance, use the latest [PyTorch NGC docker container](https:\u002F\u002Fngc.nvidia.com\u002Fcatalog\u002Fcontainers\u002Fnvidia:pytorch). Clone this repository, build and run your own image:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fnvidia\u002Fretinanet-examples\ndocker build -t odtk:latest retinanet-examples\u002F\ndocker run --gpus all --rm --ipc=host -it odtk:latest\n```\n\n## Usage\n\nTraining, inference, evaluation and model export can be done through the `odtk` utility. \nFor more details, including a list of parameters, please refer to the [TRAINING](TRAINING.md) and [INFERENCE](INFERENCE.md) documentation.\n\n### Training\n\nTrain a detection model on [COCO 2017](http:\u002F\u002Fcocodataset.org\u002F#download) from pre-trained backbone:\n```bash\nodtk train retinanet_rn50fpn.pth --backbone ResNet50FPN \\\n    --images \u002Fcoco\u002Fimages\u002Ftrain2017\u002F --annotations \u002Fcoco\u002Fannotations\u002Finstances_train2017.json \\\n    --val-images \u002Fcoco\u002Fimages\u002Fval2017\u002F --val-annotations \u002Fcoco\u002Fannotations\u002Finstances_val2017.json\n```\n\n### Fine Tuning\n\nFine-tune a pre-trained model on your dataset. In the example below we use [Pascal VOC](http:\u002F\u002Fhost.robots.ox.ac.uk\u002Fpascal\u002FVOC\u002Fvoc2012\u002Findex.html) with [JSON annotations](https:\u002F\u002Fstorage.googleapis.com\u002Fcoco-dataset\u002Fexternal\u002FPASCAL_VOC.zip):\n```bash\nodtk train model_mydataset.pth --backbone ResNet50FPN \\\n    --fine-tune retinanet_rn50fpn.pth \\\n    --classes 20 --iters 10000 --val-iters 1000 --lr 0.0005 \\\n    --resize 512 --jitter 480 640 --images \u002Fvoc\u002FJPEGImages\u002F \\\n    --annotations \u002Fvoc\u002Fpascal_train2012.json --val-annotations \u002Fvoc\u002Fpascal_val2012.json\n```\n\nNote: the shorter side of the input images will be resized to `resize` as long as the longer side doesn't get larger than `max-size`. During training, the images will be randomly randomly resized to a new size within the `jitter` range.\n\n### Inference\n\nEvaluate your detection model on [COCO 2017](http:\u002F\u002Fcocodataset.org\u002F#download):\n```bash\nodtk infer retinanet_rn50fpn.pth --images \u002Fcoco\u002Fimages\u002Fval2017\u002F --annotations \u002Fcoco\u002Fannotations\u002Finstances_val2017.json\n```\n\nRun inference on [your dataset](#datasets):\n```bash\nodtk infer retinanet_rn50fpn.pth --images \u002Fdataset\u002Fval --output detections.json\n```\n\n### Optimized Inference with TensorRT\n\nFor faster inference, export the detection model to an optimized FP16 TensorRT engine:\n```bash\nodtk export model.pth engine.plan\n```\n\nEvaluate the model with TensorRT backend on [COCO 2017](http:\u002F\u002Fcocodataset.org\u002F#download):\n```bash\nodtk infer engine.plan --images \u002Fcoco\u002Fimages\u002Fval2017\u002F --annotations \u002Fcoco\u002Fannotations\u002Finstances_val2017.json\n```\n\n### INT8 Inference with TensorRT\n\nFor even faster inference, do INT8 calibration to create an optimized INT8 TensorRT engine:\n```bash\nodtk export model.pth engine.plan --int8 --calibration-images \u002Fcoco\u002Fimages\u002Fval2017\u002F\n```\nThis will create an INT8CalibrationTable file that can be used to create INT8 TensorRT engines for the same model later on without needing to do calibration.\n\nOr create an optimized INT8 TensorRT engine using a cached calibration table:\n```bash\nodtk export model.pth engine.plan --int8 --calibration-table \u002Fpath\u002Fto\u002FINT8CalibrationTable\n```\n\n## Datasets\n\nRetinaNet supports annotations in the [COCO JSON format](http:\u002F\u002Fcocodataset.org\u002F#format-data).\nWhen converting the annotations from your own dataset into JSON, the following entries are required:\n```\n{\n    \"images\": [{\n        \"id\" : int,\n        \"file_name\" : str\n    }],\n    \"annotations\": [{\n        \"id\" : int,\n        \"image_id\" : int, \n        \"category_id\" : int,\n        \"bbox\" : [x, y, w, h]   # all floats\n        \"area\": float           # w * h. Required for validation scores\n        \"iscrowd\": 0            # Required for validation scores\n    }],\n    \"categories\": [{\n        \"id\" : int\n    ]}\n}\n```\n\nIf using the `--rotated-bbox` flag for rotated detections, add an additional float `theta` to the annotations. To get validation scores you also need to fill the `segmentation` section.\n```\n        \"bbox\" : [x, y, w, h, theta]    # all floats, where theta is measured in radians anti-clockwise from the x-axis.\n        \"segmentation\" : [[x1, y1, x2, y2, x3, y3, x4, y4]]\n                                        # Required for validation scores.\n```\n\n## Disclaimer\n\nThis is a research project, not an official NVIDIA product.\n\n## Jetpack compatibility\n\nThis branch uses TensorRT 7. If you are training and inferring models using PyTorch, or are creating TensorRT engines on Tesla GPUs (eg V100, T4), then you should use this branch.\n\nIf you wish to deploy your model to a Jetson device (eg - Jetson AGX Xavier) running Jetpack version 4.3, then you should use the `19.10` branch of this repo.\n\n## References\n\n- [Focal Loss for Dense Object Detection](https:\u002F\u002Farxiv.org\u002Fabs\u002F1708.02002).\n  Tsung-Yi Lin, Priya Goyal, Ross Girshick, Kaiming He, Piotr Dollár.\n  ICCV, 2017.\n- [Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour](https:\u002F\u002Farxiv.org\u002Fabs\u002F1706.02677).\n  Priya Goyal, Piotr Dollár, Ross Girshick, Pieter Noordhuis, Lukasz Wesolowski, Aapo Kyrola, Andrew Tulloch, Yangqing Jia, Kaiming He.\n  June 2017.\n- [Feature Pyramid Networks for Object Detection](https:\u002F\u002Farxiv.org\u002Fabs\u002F1612.03144).\n  Tsung-Yi Lin, Piotr Dollár, Ross Girshick, Kaiming He, Bharath Hariharan, Serge Belongie.\n  CVPR, 2017.\n- [Deep Residual Learning for Image Recognition](http:\u002F\u002Farxiv.org\u002Fabs\u002F1512.03385).\n  Kaiming He, Xiangyu Zhang, Shaoqing Renm Jian Sun.\n  CVPR, 2016.\n","# NVIDIA 对象检测工具包 (ODTK)\n\n**快速**且**准确**的单阶段对象检测，具备端到端 GPU 优化。\n\n## 描述\n\nODTK 是一种单次通过的对象检测器，支持多种骨干网络和检测头。这使得用户可以在性能与精度之间进行权衡。\n\n它针对端到端 GPU 处理进行了优化，使用了以下技术：\n* [PyTorch](https:\u002F\u002Fpytorch.org) 深度学习框架，并支持 [ONNX](https:\u002F\u002Fonnx.ai)\n* NVIDIA [Apex](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fapex)，用于混合精度和分布式训练\n* NVIDIA [DALI](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FDALI)，用于优化的数据预处理\n* NVIDIA [TensorRT](https:\u002F\u002Fdeveloper.nvidia.com\u002Ftensorrt)，用于高性能推理\n* NVIDIA [DeepStream](https:\u002F\u002Fdeveloper.nvidia.com\u002Fdeepstream-sdk)，用于优化的实时视频流支持\n\n## 旋转边界框检测\n\n此仓库现已支持旋转边界框检测。有关如何使用 `--rotated-bbox` 命令的更多信息，请参阅 [旋转检测训练](TRAINING.md#rotated-detections) 和 [旋转检测推理](INFERENCE.md#rotated-detections) 文档。\n\n边界框标注由 `[x, y, w, h, theta]` 描述。\n\n## 性能\n\n检测流水线允许用户根据所需的延迟-精度权衡选择特定的骨干网络。\n\nODTK **RetinaNet** 模型在完成完整训练计划后，针对 [COCO 2017](http:\u002F\u002Fcocodataset.org\u002F#detection-2017)（训练\u002F验证集）的精度、推理延迟和 FPS（每秒帧数）。推理结果包括对批量大小为 1 的边界框后处理。推理在 `--resize 800` 下，使用 `--with-dali` 并基于 FP16 TensorRT 引擎进行测量。\n\n骨干网络 | mAP @[IoU=0.50:0.95] | 在 [DGX1v](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fdata-center\u002Fdgx-1\u002F) 上的训练时间 | 在 [V100](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fdata-center\u002Ftesla-v100\u002F) 上的 FP16 推理延迟 | 在 [T4](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fdata-center\u002Ftesla-t4\u002F) 上的 INT8 推理延迟 | 在 [A100](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fdata-center\u002Fa100\u002F) 上的 FP16 推理延迟 | 在 [A100](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fdata-center\u002Fa100\u002F) 上的 INT8 推理延迟\n--- | :---: | :---: | :---: | :---: | :---: | :---:\n[ResNet18FPN](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fretinanet-examples\u002Freleases\u002Fdownload\u002F19.04\u002Fretinanet_rn18fpn.zip) | 0.318 | 5 小时 | 14 ms；\u003C\u002Fbr>71 FPS | 18 ms；\u003C\u002Fbr>56 FPS | 9 ms；\u003C\u002Fbr>110 FPS | 7 ms；\u003C\u002Fbr>141 FPS\n[MobileNetV2FPN](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fretinanet-examples\u002Freleases\u002Fdownload\u002Fv0.2.3\u002Fretinanet_mobilenetv2fpn.pth) | 0.333 | — | 14 ms；\u003C\u002Fbr>74 FPS | 18 ms；\u003C\u002Fbr>56 FPS | 9 ms；\u003C\u002Fbr>114 FPS | 7 ms；\u003C\u002Fbr>138 FPS\n[ResNet34FPN](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fretinanet-examples\u002Freleases\u002Fdownload\u002F19.04\u002Fretinanet_rn34fpn.zip) | 0.343 | 6 小时 | 16 ms；\u003C\u002Fbr>64 FPS | 20 ms；\u003C\u002Fbr>50 FPS | 10 ms；\u003C\u002Fbr>103 FPS | 7 ms；\u003C\u002Fbr>142 FPS\n[ResNet50FPN](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fretinanet-examples\u002Freleases\u002Fdownload\u002F19.04\u002Fretinanet_rn50fpn.zip) | 0.358 | 7 小时 | 18 ms；\u003C\u002Fbr>56 FPS | 22 ms；\u003C\u002Fbr>45 FPS | 11 ms；\u003C\u002Fbr>93 FPS | 8 ms；\u003C\u002Fbr>129 FPS\n[ResNet101FPN](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fretinanet-examples\u002Freleases\u002Fdownload\u002F19.04\u002Fretinanet_rn101fpn.zip) | 0.376 | 10 小时 | 22 ms；\u003C\u002Fbr>46 FPS | 27 ms；\u003C\u002Fbr>37 FPS | 13 ms；\u003C\u002Fbr>78 FPS | 9 ms；\u003C\u002Fbr>117 FPS\n[ResNet152FPN](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fretinanet-examples\u002Freleases\u002Fdownload\u002F19.04\u002Fretinanet_rn152fpn.zip) | 0.393 | 12 小时 | 26 ms；\u003C\u002Fbr>38 FPS | 33 ms；\u003C\u002Fbr>31 FPS | 15 ms；\u003C\u002Fbr>66 FPS | 10 ms；\u003C\u002Fbr>103 FPS\n\n## 安装\n\n为获得最佳性能，请使用最新的 [PyTorch NGC Docker 容器](https:\u002F\u002Fngc.nvidia.com\u002Fcatalog\u002Fcontainers\u002Fnvidia:pytorch)。克隆此仓库，构建并运行您自己的镜像：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fnvidia\u002Fretinanet-examples\ndocker build -t odtk:latest retinanet-examples\u002F\ndocker run --gpus all --rm --ipc=host -it odtk:latest\n```\n\n## 使用方法\n\n训练、推理、评估和模型导出均可通过 `odtk` 工具完成。\n有关更多详细信息，包括参数列表，请参阅 [训练](TRAINING.md) 和 [推理](INFERENCE.md) 文档。\n\n### 训练\n\n使用预训练的骨干网络，在 [COCO 2017](http:\u002F\u002Fcocodataset.org\u002F#download) 数据集上训练检测模型：\n```bash\nodtk train retinanet_rn50fpn.pth --backbone ResNet50FPN \\\n    --images \u002Fcoco\u002Fimages\u002Ftrain2017\u002F --annotations \u002Fcoco\u002Fannotations\u002Finstances_train2017.json \\\n    --val-images \u002Fcoco\u002Fimages\u002Fval2017\u002F --val-annotations \u002Fcoco\u002Fannotations\u002Finstances_val2017.json\n```\n\n### 微调\n\n在您的数据集上微调预训练模型。在下面的例子中，我们使用 [Pascal VOC](http:\u002F\u002Fhost.robots.ox.ac.uk\u002Fpascal\u002FVOC\u002Fvoc2012\u002Findex.html) 数据集，并采用 [JSON 标注](https:\u002F\u002Fstorage.googleapis.com\u002Fcoco-dataset\u002Fexternal\u002FPASCAL_VOC.zip)：\n```bash\nodtk train model_mydataset.pth --backbone ResNet50FPN \\\n    --fine-tune retinanet_rn50fpn.pth \\\n    --classes 20 --iters 10000 --val-iters 1000 --lr 0.0005 \\\n    --resize 512 --jitter 480 640 --images \u002Fvoc\u002FJPEGImages\u002F \\\n    --annotations \u002Fvoc\u002Fpascal_train2012.json --val-annotations \u002Fvoc\u002Fpascal_val2012.json\n```\n\n注意：输入图像的短边将被调整为 `resize` 大小，但长边不会超过 `max-size`。在训练过程中，图像会随机缩放到 `jitter` 范围内的新尺寸。\n\n### 推理\n\n在 [COCO 2017](http:\u002F\u002Fcocodataset.org\u002F#download) 数据集上评估您的检测模型：\n```bash\nodtk infer retinanet_rn50fpn.pth --images \u002Fcoco\u002Fimages\u002Fval2017\u002F --annotations \u002Fcoco\u002Fannotations\u002Finstances_val2017.json\n```\n\n在您的数据集上运行推理：\n```bash\nodtk infer retinanet_rn50fpn.pth --images \u002Fdataset\u002Fval --output detections.json\n```\n\n### 使用 TensorRT 进行优化推理\n\n为了加快推理速度，可将检测模型导出为优化后的 FP16 TensorRT 引擎：\n```bash\nodtk export model.pth engine.plan\n```\n\n使用 TensorRT 后端在 [COCO 2017](http:\u002F\u002Fcocodataset.org\u002F#download) 数据集上评估模型：\n```bash\nodtk infer engine.plan --images \u002Fcoco\u002Fimages\u002Fval2017\u002F --annotations \u002Fcoco\u002Fannotations\u002Finstances_val2017.json\n```\n\n### 使用 TensorRT 进行 INT8 推理\n\n若需更快速的推理，可进行 INT8 校准以创建优化后的 INT8 TensorRT 引擎：\n```bash\nodtk export model.pth engine.plan --int8 --calibration-images \u002Fcoco\u002Fimages\u002Fval2017\u002F\n```\n\n这将生成一个 INT8CalibrationTable 文件，以后可用于为同一模型创建 INT8 TensorRT 引擎，而无需再次校准。\n\n或者，使用缓存的校准表创建优化后的 INT8 TensorRT 引擎：\n```bash\nodtk export model.pth engine.plan --int8 --calibration-table \u002Fpath\u002Fto\u002FINT8CalibrationTable\n```\n\n## 数据集\n\nRetinaNet 支持 [COCO JSON 格式](http:\u002F\u002Fcocodataset.org\u002F#format-data)的标注。将您自己的数据集标注转换为 JSON 格式时，需要包含以下字段：\n```\n{\n    \"images\": [{\n        \"id\" : int,\n        \"file_name\" : str\n    }],\n    \"annotations\": [{\n        \"id\" : int,\n        \"image_id\" : int, \n        \"category_id\" : int,\n        \"bbox\" : [x, y, w, h]   # 全部为浮点数\n        \"area\": float           # w * h。用于计算验证分数时必需\n        \"iscrowd\": 0            # 用于计算验证分数时必需\n    }],\n    \"categories\": [{\n        \"id\" : int\n    ]}\n}\n```\n\n如果使用 `--rotated-bbox` 标志进行旋转目标检测，则需要在标注中添加额外的浮点数 `theta`。若要获得验证分数，还需填写 `segmentation` 部分。\n```\n        \"bbox\" : [x, y, w, h, theta]    # 全部为浮点数，其中 theta 以弧度表示，从 x 轴逆时针方向测量。\n        \"segmentation\" : [[x1, y1, x2, y2, x3, y3, x4, y4]]\n                                        # 用于计算验证分数时必需。\n```\n\n## 免责声明\n\n这是一个研究项目，并非 NVIDIA 的官方产品。\n\n## Jetpack 兼容性\n\n本分支使用 TensorRT 7。如果您使用 PyTorch 训练和推理模型，或者在 Tesla GPU（例如 V100、T4）上创建 TensorRT 引擎，则应使用此分支。\n\n如果您希望将模型部署到运行 Jetpack 4.3 版本的 Jetson 设备（例如 Jetson AGX Xavier），则应使用本仓库的 `19.10` 分支。\n\n## 参考文献\n\n- [密集目标检测中的焦点损失](https:\u002F\u002Farxiv.org\u002Fabs\u002F1708.02002)。\n  林宗毅、普里亚·戈亚尔、罗斯·吉尔希克、何凯明、皮奥特·多拉尔。\n  ICCV，2017 年。\n- [准确的大批量 SGD：1 小时内训练 ImageNet](https:\u002F\u002Farxiv.org\u002Fabs\u002F1706.02677)。\n  普里亚·戈亚尔、皮奥特·多拉尔、罗斯·吉尔希克、彼得·诺德胡伊斯、卢卡什·韦索洛夫斯基、阿波·基罗拉、安德鲁·图洛克、贾扬青、何凯明。\n  2017 年 6 月。\n- [用于目标检测的特征金字塔网络](https:\u002F\u002Farxiv.org\u002Fabs\u002F1612.03144)。\n  林宗毅、皮奥特·多拉尔、罗斯·吉尔希克、何凯明、巴拉特·哈里哈兰、塞尔日·贝隆吉。\n  CVPR，2017 年。\n- [用于图像识别的深度残差学习](http:\u002F\u002Farxiv.org\u002Fabs\u002F1512.03385)。\n  何凯明、张祥宇、任少卿、孙健。\n  CVPR，2016 年。","# RetinaNet Examples (NVIDIA ODTK) 快速上手指南\n\n本指南基于 NVIDIA 目标检测工具包 (ODTK)，帮助开发者快速部署和使用高性能的 RetinaNet 模型进行单阶段物体检测。\n\n## 环境准备\n\n为了获得最佳性能，强烈建议使用 NVIDIA 提供的 **PyTorch NGC Docker 容器**。该容器已预装 PyTorch、ONNX、Apex、DALI 和 TensorRT 等必要依赖。\n\n*   **系统要求**：\n    *   Linux 操作系统\n    *   NVIDIA GPU (支持 CUDA)\n    *   已安装 NVIDIA Docker (`nvidia-docker2` 或 Docker 支持 `--gpus` 参数)\n*   **前置依赖**：\n    *   Docker Engine\n    *   NVIDIA Container Toolkit\n\n> **注意**：本项目为研究性质代码，非 NVIDIA 官方正式产品。若需部署至 Jetson 设备 (如 Jetson AGX Xavier) 且运行 Jetpack 4.3，请使用 `19.10` 分支；其他 Tesla GPU (V100, T4, A100) 训练及推理请使用主分支 (基于 TensorRT 7)。\n\n## 安装步骤\n\n通过克隆仓库并构建 Docker 镜像即可完成安装。国内用户若拉取 NGC 镜像较慢，可先配置 Docker 国内加速源。\n\n1.  **克隆代码仓库**：\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fnvidia\u002Fretinanet-examples\n    ```\n\n2.  **构建 Docker 镜像**：\n    ```bash\n    docker build -t odtk:latest retinanet-examples\u002F\n    ```\n\n3.  **启动容器**：\n    ```bash\n    docker run --gpus all --rm --ipc=host -it odtk:latest\n    ```\n\n## 基本使用\n\n进入容器后，所有操作（训练、推理、评估、模型导出）均通过 `odtk` 命令行工具完成。数据标注需遵循 **COCO JSON 格式**。\n\n### 1. 模型训练 (Training)\n\n使用预训练的骨干网络在 COCO 2017 数据集上训练检测模型：\n\n```bash\nodtk train retinanet_rn50fpn.pth --backbone ResNet50FPN \\\n    --images \u002Fcoco\u002Fimages\u002Ftrain2017\u002F --annotations \u002Fcoco\u002Fannotations\u002Finstances_train2017.json \\\n    --val-images \u002Fcoco\u002Fimages\u002Fval2017\u002F --val-annotations \u002Fcoco\u002Fannotations\u002Finstances_val2017.json\n```\n\n### 2. 模型微调 (Fine Tuning)\n\n在自定义数据集（如下方的 Pascal VOC 示例）上微调预训练模型：\n\n```bash\nodtk train model_mydataset.pth --backbone ResNet50FPN \\\n    --fine-tune retinanet_rn50fpn.pth \\\n    --classes 20 --iters 10000 --val-iters 1000 --lr 0.0005 \\\n    --resize 512 --jitter 480 640 --images \u002Fvoc\u002FJPEGImages\u002F \\\n    --annotations \u002Fvoc\u002Fpascal_train2012.json --val-annotations \u002Fvoc\u002Fpascal_val2012.json\n```\n\n### 3. 模型推理 (Inference)\n\n对验证集或自定义图片目录进行推理：\n\n```bash\n# 评估 COCO 验证集\nodtk infer retinanet_rn50fpn.pth --images \u002Fcoco\u002Fimages\u002Fval2017\u002F --annotations \u002Fcoco\u002Fannotations\u002Finstances_val2017.json\n\n# 推理自定义数据集并输出结果\nodtk infer retinanet_rn50fpn.pth --images \u002Fdataset\u002Fval --output detections.json\n```\n\n### 4. 高性能推理 (TensorRT 加速)\n\n将模型导出为优化的 TensorRT 引擎以大幅提升推理速度：\n\n**导出 FP16 引擎：**\n```bash\nodtk export model.pth engine.plan\n```\n\n**导出 INT8 引擎 (需校准)：**\n```bash\n# 创建校准表并生成引擎\nodtk export model.pth engine.plan --int8 --calibration-images \u002Fcoco\u002Fimages\u002Fval2017\u002F\n\n# 或使用已有的校准表生成引擎\nodtk export model.pth engine.plan --int8 --calibration-table \u002Fpath\u002Fto\u002FINT8CalibrationTable\n```\n\n**使用 TensorRT 引擎进行推理：**\n```bash\nodtk infer engine.plan --images \u002Fcoco\u002Fimages\u002Fval2017\u002F --annotations \u002Fcoco\u002Fannotations\u002Finstances_val2017.json\n```\n\n> **提示**：如需支持旋转框检测，请在训练和推理命令中添加 `--rotated-bbox` 参数，并确保标注格式包含 `[x, y, w, h, theta]`。","某智慧港口运营团队正致力于升级集装箱码头监控系统，需实时识别并定位作业区域内不同角度的集装箱与吊装设备，以自动化调度流程。\n\n### 没有 retinanet-examples 时\n- **推理延迟高**：传统检测模型在高清视频流上处理速度慢，单帧耗时超过 50ms，无法满足毫秒级实时调度需求，导致机械臂响应滞后。\n- **倾斜目标漏检**：港口集装箱常因堆放角度问题呈现倾斜状态，普通水平框检测工具无法精准标注，造成大量漏检或定位偏差。\n- **资源利用率低**：缺乏针对 NVIDIA GPU 的端到端优化，显存占用高且无法有效利用混合精度训练，导致训练周期长达数天，迭代效率极低。\n- **部署复杂**：从模型训练到边缘设备（如 Jetson 或 T4 服务器）部署需手动转换格式，流程繁琐且容易出错，难以快速上线。\n\n### 使用 retinanet-examples 后\n- **实时高性能推理**：借助 TensorRT 和 DALI 加速，在 T4 显卡上实现 INT8 量化推理，延迟低至 18ms（约 56 FPS），确保视频流分析零卡顿。\n- **支持旋转框检测**：原生支持 `[x, y, w, h, theta]` 格式的旋转边界框，精准捕捉倾斜集装箱，显著提升了复杂堆叠场景下的识别准确率。\n- **训练效率飞跃**：利用 Apex 进行分布式混合精度训练，将 ResNet50 骨干网络的训练时间压缩至 7 小时以内，大幅加快模型迭代速度。\n- **一站式部署流程**：提供从 PyTorch 训练到 ONNX\u002FTensorRT 导出的完整流水线，配合 DeepStream 轻松集成实时视频流，实现“训练即部署”。\n\nretinanet-examples 通过全链路 GPU 优化与旋转检测能力，将港口视觉系统的实时性与准确度提升至工业级标准，真正实现了高效自动化作业。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FNVIDIA_retinanet-examples_c5a3c1bd.png","NVIDIA","NVIDIA Corporation","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FNVIDIA_7dcf6000.png","",null,"https:\u002F\u002Fnvidia.com","https:\u002F\u002Fgithub.com\u002FNVIDIA",[81,85,89,93,97,101],{"name":82,"color":83,"percentage":84},"Python","#3572A5",46,{"name":86,"color":87,"percentage":88},"C++","#f34b7d",35.9,{"name":90,"color":91,"percentage":92},"Cuda","#3A4E3A",16.5,{"name":94,"color":95,"percentage":96},"CMake","#DA3434",1.1,{"name":98,"color":99,"percentage":100},"Shell","#89e051",0.5,{"name":102,"color":103,"percentage":104},"Dockerfile","#384d54",0,899,265,"2026-03-28T15:26:54","BSD-3-Clause","Linux","必需 NVIDIA GPU。支持 DGX-1v, V100, T4, A100 等型号；需配合 TensorRT 7 使用；Jetson 设备需特定分支 (19.10) 以兼容 Jetpack 4.3。","未说明",{"notes":113,"python":114,"dependencies":115},"强烈建议使用最新的 PyTorch NGC Docker 容器进行部署以获得最佳性能。该工具主要针对端到端 GPU 处理进行了优化，支持混合精度训练和分布式训练。若需在 Jetson 设备（如 AGX Xavier）上部署，请使用仓库的 `19.10` 分支而非主分支（主分支基于 TensorRT 7，适用于 Tesla GPU）。支持旋转边界框检测功能。","未说明 (隐含于 PyTorch NGC 容器中)",[116,117,118,119,120,121],"PyTorch","NVIDIA Apex","NVIDIA DALI","NVIDIA TensorRT","NVIDIA DeepStream","ONNX",[14,15],[124,125,126,127,128,129,130],"deep-learning","object-detection","python","neural-network","retinanet","pytorch","tensorrt","2026-03-27T02:49:30.150509","2026-04-07T08:18:33.413090",[134,139,144,149,154,158,162],{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},21388,"训练或验证时出现 \"No detections\"（无检测结果）错误怎么办？","此问题通常由版本兼容性或数据加载器差异引起。\n1. 如果是升级到 v0.2.5 后出现的问题，该问题已在 master 分支修复，根源是 PyTorch 的一个 issue (#52663)。\n2. 如果在使用 DALI 加速时遇到此问题，可能是因为数据集太小，DALI 的初始化开销超过了其加速收益，导致指标异常。可以尝试禁用 DALI 或更换更轻量的骨干网络（如 MobileNetV2FPN）。\n3. 确认推理模式（infer）是否正常，如果推理正常仅训练\u002F验证报错，通常是内部计算逻辑或环境配置问题，建议更新到最新代码库。","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fretinanet-examples\u002Fissues\u002F219",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},21389,"将 ONNX 模型转换为 TensorRT engine (.plan) 时报错 \"nbInputs > 0 && nbInputs \u003C MAX_CONCAT_INPUTS\" 或段错误如何解决？","这通常是由于 PyTorch、TensorRT 版本不匹配或批量处理模式（batch mode）设置不当引起的。\n1. **版本匹配**：确保使用匹配的容器版本。例如，安装 `torch==1.3.0a0` 和 `torchvision==0.5.0a0`（对应 nvcr.io\u002Fnvidia\u002Fpytorch:19.10-py3）可解决部分旧版本问题。\n2. **TensorRT 7+ 适配**：如果迁移到 20.01 PyTorch 容器（预装 TRT7），需要将插件从 `IPluginV2` 切换到 `IPluginV2Ext`，并将隐式批量（implicit batch）改为显式批量（explicit batch）。请参考相关 commit (91d558dd) 进行修改。\n3. **环境要求**：对于 TRT7，建议使用 CUDA 10.2 及驱动版本 440。","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fretinanet-examples\u002Fissues\u002F83",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},21390,"如何解析 RetinaNet ONNX 模型的输出张量以获取置信度、边界框和类别？","直接解析原始的 10 个输出张量非常复杂，因为它们包含不同尺度的锚点预测。\n推荐方案：\n1. **使用官方工具**：不要手动解析张量，直接使用 retinanet 库提供的推理命令，它会自动处理后处理（解码和 NMS）：\n   `retinanet infer engine.plan --images \u002Fpath\u002Fto\u002Fimages --output detections.json`\n2. **DeepStream 集成**：如果在 Jetson 上部署且无法使用 Python 库，建议按照官方指南构建 DeepStream 插件。需要安装 gstreamer 相关依赖并编译 sample 代码，让 DeepStream 引擎自动处理输出解析。","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fretinanet-examples\u002Fissues\u002F86",{"id":150,"question_zh":151,"answer_zh":152,"source_url":153},21391,"检测非常小的物体（如植物上的蚜虫）效果不佳，应该调整参数还是更换算法？","RetinaNet 可以处理小物体，但需要针对性调整：\n1. **数据增强**：增加数据增强策略以提高模型对小目标的鲁棒性。\n2. **类别合并**：如果不同类别的物体在视觉上极度相似（如绿色和粉色蚜虫），考虑将它们合并为一个类别进行训练，以减少混淆。\n3. **骨干网络**：尝试使用专门优化的骨干网络，或者检查标注是否只包含了清晰可见的目标（避免标注模糊或极小的目标造成噪声）。\n4. **算法选择**：如果经过上述调整仍无效，且目标极小，可以考虑转向分割算法（Segmentation），但这通常是最后的手段。","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fretinanet-examples\u002Fissues\u002F158",{"id":155,"question_zh":156,"answer_zh":157,"source_url":143},21392,"如何在特定 Docker 容器中正确安装和运行 RetinaNet？","强烈建议使用 NVIDIA NGC 提供的预配置 PyTorch 容器，以避免依赖冲突。\n1. **拉取容器**：使用命令 `docker pull nvcr.io\u002Fnvidia\u002Fpytorch:19.09-py3` 或 `19.10-py3`。\n2. **内部安装**：在容器启动后，再在容器内部安装 retinanet 代码库。\n3. **避免手动配置**：不要试图在基础系统上手动匹配所有 CUDA、cuDNN 和 PyTorch 版本，直接使用官方容器是最稳定的方法。",{"id":159,"question_zh":160,"answer_zh":161,"source_url":153},21393,"验证集和测试集的 Focal Loss 是如何计算的？如何修改损失函数？","Focal Loss 通常在训练过程中计算用于反向传播。关于修改损失函数（例如添加边界框中心精度项）：\n1. **文件定位**：需要在定义模型损失计算的核心 Python 文件中添加自定义项（通常在 `retinanet\u002Fmodel.py` 或相关的 loss 计算模块中）。\n2. **注意事项**：修改损失函数需要重新编译或确保导出逻辑支持自定义算子。如果是为了微调特定案例，建议先深入理解现有的 focal loss 实现逻辑，再在对应的 loss 函数定义处插入新的计算项。",{"id":163,"question_zh":164,"answer_zh":165,"source_url":148},21394,"在 Jetson Nano\u002FXavier 上进行推理时，如何获取边界框数据？","在 Jetson 设备上，由于构建 Docker 或安装 DALI 可能遇到困难，推荐以下路径：\n1. **使用 TensorRT Engine**：先将模型转换为 `.plan` 文件。\n2. **调用命令行工具**：使用 `retinanet infer` 命令直接输出 JSON 格式的检测结果，这是在嵌入式设备上最简便的方法。\n3. **DeepStream**：如果需要通过 C++ 或 GStreamer 管道获取数据，需编译 DeepStream 插件示例。确保安装了 `libgstreamer1.0-0`, `gstreamer1.0-tools` 等依赖，并参考官方提供的 Dockerfile 指令安装必要的库（如 libssl, ffmpeg 等）。",[167,172,177,182,187],{"id":168,"version":169,"summary_zh":170,"released_at":171},127422,"v0.2.5","### 新增\r\n* `odtk export` 命令新增 `--dynamic-batch-opts` 选项。\r\n  * 该参数允许在导出 TensorRT 引擎时指定优化配置文件的批大小范围（最小值、最优值、最大值）。\n\n### 变更\r\n* 更新了 TensorRT 插件，以支持动态批大小（详见 https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Ftensorrt\u002Fdeveloper-guide\u002Findex.html#work_dynamic_shapes 和 https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Ftensorrt\u002Fapi\u002Fc_api\u002Fclassnvinfer1_1_1_i_plugin_v2_dynamic_ext.html）。","2020-06-28T03:23:11",{"id":173,"version":174,"summary_zh":175,"released_at":176},127423,"v0.2.3","本次发布新增以下内容：\n\n* `MobileNetV2FPN` 主干网络\n* 现在可以使用 `odtk export model.pth model.plan --rotated-bbox` 将旋转边界框检测模型导出为 ONNX 和 TensorRT 格式。\n* 当使用 ODTK 0.2.2 版本或更高版本训练的模型运行 `odtk infer` 或 `odtk export` 命令时，`--rotated-bbox` 标志会自动应用。","2020-06-28T03:23:33",{"id":178,"version":179,"summary_zh":180,"released_at":181},127424,"v0.2.0","版本 0.2.0 引入了旋转检测功能。\n\n### 新增\n* `train arguments`:\n  * `--rotated-bbox`: 训练模型时预测的是旋转边界框 `[x, y, w, h, theta]`，而不是轴对齐的边界框 `[x, y, w, h]`。\n* `infer arguments`:\n  * `--rotated-bbox`: 使用旋转模型进行推理。\n\n### 变更\n项目已恢复为名称 **Object Detection Toolkit** (ODTK)，以更好地反映该仓库的多网络特性。\n* `retinanet` 已被替换为 `odtk`。所有子命令保持不变。\n\n### 限制\n* 使用 `--rotated-bbox` 标志训练的模型无法导出为 ONNX 或 TensorRT Engine。\n* PyTorch 会抛出两条警告，可忽略：\n\n警告 1：NCCL 监视器\n```\n[E ProcessGroupNCCL.cpp:284] NCCL 监视器线程已终止\n```\n\n警告 2：保存状态警告\n```\n\u002Fopt\u002Fconda\u002Flib\u002Fpython3.6\u002Fsite-packages\u002Ftorch\u002Foptim\u002Flr_scheduler.py:201: UserWarning: 保存或加载调度器时，请同时保存或加载优化器的状态。\n  warnings.warn(SAVE_STATE_WARNING, UserWarning)\n```","2020-03-12T23:25:08",{"id":183,"version":184,"summary_zh":185,"released_at":186},127425,"v0.1.1","本次发布新增了图像增强功能（亮度、对比度、色调、饱和度）以及四种角度的旋转增强。\n\n新增参数：\n* `--augment-rotate`：将训练图像随机旋转 0°、90°、180° 或 270°。\n* `--augment-brightness`（浮点数）：随机调整图像的亮度。该值设置了一个正态分布的标准差，增强程度将从该分布中随机选取。默认值：0.05\n* `--augment-contrast`（浮点数）：随机调整图像的对比度。该值设置了一个正态分布的标准差，增强程度将从该分布中随机选取。默认值：0.05\n* `--augment-hue`（浮点数）：随机调整图像的色调。该值设置了一个正态分布的标准差，增强程度将从该分布中随机选取。默认值：0.01\n* `--augment-saturation`（浮点数）：随机调整图像的饱和度。该值设置了一个正态分布的标准差，增强程度将从该分布中随机选取。默认值：0.05\n* `--regularization-l2`（浮点数）：设置优化器的 L2 正则化系数。默认值：0.0001","2020-03-12T23:24:59",{"id":188,"version":189,"summary_zh":190,"released_at":191},127426,"19.04","此预发布版本与 NVIDIA GPU Cloud (NGC) PyTorch 19.04 容器版本相对应，包含了基于该项目创建的预训练 RetinaNet 模型的首个迭代版本：\n* ResNet18FPN 主干网络\n* ResNet34FPN 主干网络\n* ResNet50FPN 主干网络\n* ResNet101FPN 主干网络\n* ResNet152FPN 主干网络\n\n\n\n","2019-05-31T22:56:55"]