本文独家改进: 支持百度飞浆resnet各个版本, rtdetr-r18、rtdetr-r34、rtdetr-r50、rtdetr-r101等
layers | parameters | gradients | GFLOPs | |
---|---|---|---|---|
rtdetr-r18 | 421 | 20184464 | 20184464 | 58.6 |
rtdetr-r34 | 501 | 30292624 | 30292624 | 88.9 |
rtdetr-r50 | 629 | 42944620 | 42944620 | 134.8 |
rtdetr-r101 | 867 | 76661740 | 76661740 | 257.7 |
rtdetr-l | 673 | 32970732 | 32970732 | 108.3 |
rtdetr-x | 867 | 67468108 | 67468108 | 232.7 |
论文: https://arxiv.org/pdf/2304.08069.pdf
RT-DETR (Real-Time DEtection TRansformer) ,一种基于 DETR 架构的实时端到端检测器,其在速度和精度上取得了 SOTA 性能
为什么会出现:
YOLO 检测器有个较大的待改进点是需要 NMS 后处理,其通常难以优化且不够鲁棒,因此检测器的速度存在延迟。为避免该问题,我们将目光移向了不需要 NMS 后处理的 DETR,一种基于 Transformer 的端到端目标检测器。然而,相比于 YOLO 系列检测器,DETR 系列检测器的速度要慢的多,这使得"无需 NMS "并未在速度上体现出优势。上述问题促使我们针对实时的端到端检测器进行探索,旨在基于 DETR 的优秀架构设计一个全新的实时检测器,从根源上解决 NMS 对实时检测器带来的速度延迟问题。
RT-DETR是第一个实时端到端目标检测器。具体而言,我们设计了一个高效的混合编码器,通过解耦尺度内交互和跨尺度融合来高效处理多尺度特征,并提出了IoU感知的查询选择机制,以优化解码器查询的初始化。此外,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作者团队认为只需将Encoder作用在S5 特征上,既可以大幅度地减小计算量、提高计算速度,又不会损伤到模型的性能。为了验证这一点,作者团队设计了若干对照组,如下图所示。
实验结果:
DETR类在COCO上常用的尺度都是800x1333,以往都是以Res50 backbone刷上45 mAP甚至50 mAP为目标,而RT-DETR在采用了YOLO风格的640x640尺度情况下,也不需要熬时长训几百个epoch 就能轻松突破50mAP,精度也远高于所有DETR类模型。
YOLOv8版本目前只支持rtdetr-l、rtdetr-x两个版本
Paddle官方支持 rtdetr-r18、rtdetr-r34、rtdetr-r50、rtdetr-r101等版本
https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/rtdetr
class Resnet_Blocks(nn.Module):
def __init__(self, ch_in, ch_out, block, count, stage_num, act='relu', variant='d'):
super().__init__()
self.blocks = nn.ModuleList()
for i in range(count):
self.blocks.append(
block(
ch_in,
ch_out,
stride=2 if i == 0 and stage_num != 2 else 1,
shortcut=False if i == 0 else True,
variant=variant,
act=act)
)
if i == 0:
ch_in = ch_out * block.expansion
def forward(self, x):
out = x
for block in self.blocks:
out = block(out)
return out
详见:
https://cv2023.blog.csdn.net/article/details/134407373
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。