paddle 48 将ODConv与ppyoloe的backbone进行结合(实现更轻量化的模型)
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、代码部分
<
相关文章
- windows 安装Elasticsearch、实现数据的插入以及使用kibana工具进行监控es数据
- 如何将BI 工具与业务系统进行单点登录对接,实现用户权限通用
- php实现网站访客数量统计的方法(简单实现,不能防刷新)
- 降本增效成架构师必备技能:酷家乐如何实现全年数据库成本零增长
- Spring Cloud Security配置JWT和OAuth2的集成实现单点登录-示例
- 使用xshell实现代理功能并navicat for MySQL 进行测试
- js实现返回页面顶部功能详解编程语言
- Java实现图片倒影代码详解编程语言
- Oracle 定时任务实现数据库定期备份(oracle定时备份)
- 【Oracle规则引擎:实现业务流程自动化】(oracle规则引擎)
- Linux下实现菜刀管理功能(linux运行菜刀)
- Linux指定IP访问:实现网络安全性(linux指定ip访问)
- 管理Linux下实现高效的并发连接管理(linux并发连接)
- PHP实现在Linux系统中进行文件操作(php写linux文件)
- linux驱动下链表实现的神奇之处(linux 驱动 链表)
- MySQL实现一列数值相加操作(mysql一列和相加)
- 实现Redis实时监控的最佳方案(如何进行redis监控)
- 简单易用的Redis集群实现高可用的运行模式(redis集群运行模式)
- Redis锁实现的安全保障(redis锁是锁什么)
- 实现分布式锁的Redis锁思路(redis 锁思路)
- Redis实现快速索引值删除(redis通过索引删值)
- 基于Redis实现有效的排行榜系统(redis进行排行榜)
- 存储Redis实现持久化存储的实践研究(redis进行持久话)
- js下用gb2312编码解码实现方法
- php数组对百万数据进行排除重复数据的实现代码
- PHP查询数据库中满足条件的记录条数(两种实现方法)
- 文字溢出实现溢出的部分再放入一个新生成的div中具体代码
- 两种不同的方法实现js对checkbox进行全选和反选
- 基于WebClient实现Http协议的Post与Get对网站进行模拟登陆和浏览实例