zl程序教程

您现在的位置是:首页 >  其它

当前栏目

paddle 48 将ODConv与ppyoloe的backbone进行结合(实现更轻量化的模型)

实现 进行 模型 结合 48 Paddle Backbone 轻量化
2023-09-14 09:01:36 时间

ODCONV是Intel提出的一种极差即用的动态卷积,在小模型上涨点效果较为明显(在大模型上涨点效果略微退化),可被用于轻量化模型的性能优化。常见的轻量化模型有NanoDet、PicoDet和yolo-tiny系列模型等。NanoDet、PicoDet是针对轻量化部署所设计的,而各种yolo-tiny系列则是在提出新的yolo系列模型时所附带的轻量模型。

轻量化模型在设计网络时对FLOPs极为关注,在设计backbone时都是选用mobilenet、ghostnet、shufflenet、Xception系列等结构,以便于减轻特征提取时的计算量;同时在选择neck时也是选用较少参数的实现原则。虽然这些思路是值得参考的,但是在最新的模型结构发展中提出了重参数化、CSPNet等极具创新的设计,也可以大幅度的降低模型的flop,这使的各种yolo-tiny模型在基于neck、head和锚框分配机制的改良下可以与轻量化模型一较长短。而最新提出的动态卷积,尤其是ODCONV,为常规轻量模型性能的再次提升带来了曙光。

ODCONV在卷积核的输入通道、输出通道、核空间和核数量4个尺度上全方位的加权了conv对特征提取的加强,从而使卷积核能发挥出更为强大的效果。故,可以将ODConv用于轻量化的yolo模型中,提升模型的性能。这里基于paddledetection中的ppyoloe模型进行改进,将其backbone中的RepResCSPNet中的常规卷积替换为ODCONV。ODCONV的更多介绍可以参考 https://hpg123.blog.csdn.net/article/details/128881748?spm=1001.2014.3001.5502

目前ODConv所实现的动态卷积并不支持导出为onnx,后续博主会补充改进以支持onnx导出部署

1、代码部分

<