
# RT-DETR_HGNetV2 ## 1. 模型简介 RT-DETR 是第一个实时端到端目标检测模型。RT-DETR-L 在 COCO val2017 上实现了 53.0% 的 AP,在 T4 GPU 上实现了 114FPS,RT-DETR-X 实现了 54.8% 的 AP和 74FPS,在速度和精度方面都优于相同规模的所有 YOLO 检测器。RT-DETR-R50 实现了 53.1% 的 AP 和 108FPS,RT-DETR-R101 实现了 54.3% 的 AP 和 74FPS,在精度上超过了全部使用相同骨干网络的 DETR 检测器。 下图展示了 RT-DETR 模型的测试效果: <img src="https://user-images.githubusercontent.com/17582080/238573637-3184a08e-aa4d-49cf-9079-f3695c4cc1c3.png" style="height: 400px"> 更多关于 PaddleDetection 的内容,可以点击 [PaddleDetection 仓库](https://github.com/PaddlePaddle/PaddleDetection) 进行了解。 ## 2. 技术方案 RT-DETR 设计了一个高效的混合编码器,通过解耦尺度内交互和跨尺度融合来高效处理多尺度特征,并提出了 IoU 感知的查询选择机制,以优化解码器查询的初始化。此外,RT-DETR 支持通过使用不同的解码器层来灵活调整推理速度,而不需要重新训练,这有助于实时目标检测器的实际应用。详细的技术实现可参考阅读:[RT-DETR](https://arxiv.org/abs/2304.08069)。 ## 3. 如何使用 ### 3.1 数据准备 在完成数据标注工作后,请按照[数据集规范说明](https://ai.baidu.com/ai-doc/AISTUDIO/Clkg7m4y9#%E7%9B%AE%E6%A0%87%E6%A3%80%E6%B5%8B%E4%BB%BB%E5%8A%A1)检查数据组织格式是否满足要求。如果不满足,请参照规范说明进行调整,否则将导致后面的数据校验环节无法通过。 完成数据准备后,点击右上角【创建模型产线】。 在 AI Studio 云端,可以通过挂载数据集的方式来使用自己的数据。模型产线创建和修改窗口可以挂载和管理数据集,如下图所示。数据集挂载成功后,需在开发者模式中查看并解压挂载的数据集,数据集路径查看方式为【开发者模式】-左侧【资源管理器】,在目录 `AISTUDIO/data` 下,数据集解压方式为【开发者模式】-左侧【菜单】-【终端】-【新建终端】,在【终端】中通过命令行方式解压,并将解压后的数据集路径拷贝到【工具箱模式】-【数据校验】-【数据集路径】。**注意:在 AI Studio 云端,`data` 目录不持久化存储,如需持久化存储,需要将数据解压至其它目录。** <div align=center> <img src="https://github.com/PaddlePaddle/PaddleClas/assets/12560511/144c59db-0354-403e-9b7d-83c3f84d6de1" style="height: 400px"><img src="https://github.com/PaddlePaddle/PaddleClas/assets/12560511/9078fb3e-3c37-40f5-aeed-4139d23daa14" style="height: 400px"> </div> 在本地端-工具箱模式中,您可以直接在【工具箱模式】-【数据校验】-【数据集路径】中填写本地数据路径来使用自己的数据集。 在配置完成【数据集路径】后,即可点击【开始校验】按钮进行数据集校验。 更多详细说明,请参考[在线文档](https://ai.baidu.com/ai-doc/AISTUDIO/Zlist35hy#%E6%95%B0%E6%8D%AE%E6%A0%A1%E9%AA%8C)。 ### 3.2 模型训练 PaddleX提供 `工具箱模式` 和 `开发者模式` 两种开发模式: - `工具箱模式` 推荐 AI 开发经验较少的开发者使用,高阶开发者也可以使用这个模式来提高开发效率。工具箱模式利用 gradio 搭建 webui 工具链,可以实现无代码 AI 模型开发。主要包含数据校验、模型训练、评估测试和模型部署四个环节。可以根据实际需求选择模型结构、骨干网络及对应的训练参数、优化策略,使得任务效果最佳。关于工具箱模式的完整使用请参考[在线文档](https://ai.baidu.com/ai-doc/AISTUDIO/Zlist35hy)。**注意:工具箱模式中的训练轮次、批大小、学习率等参数的默认值仅适用于官方提供的示例数据集,对于自己的数据集,需要进行针对性的调整。可以参考参数设置经验,例如学习率对训练效果影响较大,建议放缩进行多次尝试,对于难度较大的任务,可以适当增加训练轮次数以获得更佳效果。** <img src="https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/introduction/RT-DETR_HGNetV2_l.png" style="height: 400px"> - `开发者模式` 推荐 AI 开发经验较丰富度的开发者使用,集成了 VSCode IDE 环境,并内置飞桨统一模型开发 API——UAPI,可以使用统一的 API 接口进行开发,仅需 5 行命令即可完成基础模型训练、推理、评估导出以及多模型组合预测。同时,在开发者模式中可以编辑工具箱模式的源码,以实现工具箱模式 DIY。关于开发者模式的完整使用请参考[在线文档](https://ai.baidu.com/ai-doc/AISTUDIO/Mlist5jov)。 <img src="https://github.com/PaddlePaddle/PaddleClas/assets/12560511/d5180b04-8bba-4856-8336-b6fdb9d41d8e" style="height: 800px"> ### 3.3 模型部署 使用工具箱或开发者模式完成模型训练后,就可以在工具箱模式进行模型部署了。需注意,目前必须经过导出预测模型后才会产生用于部署的静态图模型。目前提供了模型在不同操作系统、不同部署硬件、不同接口语言条件下的部署包 SDK 获取方式。 <img src="https://github.com/PaddlePaddle/PaddleSeg/assets/108920665/8b2a21b6-195f-4ce9-aad0-f2adcf3457f8" style="height: 400px"> 本模型目前的部署支持情况如下: | 操作系统 | Windows | Windows | Windows | Windows | Linux | Linux | Linux | Linux | | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | | 部署硬件 | NV GPU | NV GPU | X86 CPU | X86 CPU | NV GPU | NV GPU | X86 CPU | X86 CPU | | 接口语言 | C++ | Python | C++ | Python | C++ | Python | C++ | Python | | 支持情况 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 根据实际业务需求选择所需要的操作系统、部署硬件、接口语言等条件后,获取 FastDeploy 部署包,**完成之后到开发者模式下进行下载(文件右击选择下载即可)**,其中包括部署代码和预测模型。 最后就可以参考部署包里面的 README 使用说明,在目标硬件上进行部署啦。 **注意:如果需要更新预测模型,可以直接修改部署包中的预测模型。**