| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> YOLOv5改进之十七:CNN+Transformer——融合Bottleneck Transformers -> 正文阅读 |
|
[人工智能]YOLOv5改进之十七:CNN+Transformer——融合Bottleneck Transformers |
??前 言:作为当前先进的深度学习目标检测算法YOLOv5,已经集合了大量的trick,但是还是有提高和改进的空间,针对具体应用场景下的检测难点,可以不同的改进方法。此后的系列文章,将重点对YOLOv5的如何改进进行详细的介绍,目的是为了给那些搞科研的同学需要创新点或者搞工程项目的朋友需要达到更好的效果提供自己的微薄帮助和参考。 解决问题:YOLOv5主干特征提取网络为CNN网络,CNN具有平移不变性和局部性,缺乏全局建模长距离建模的能力,引入自然语言处理领域的框架Transformer来形成CNN+Transformer架构,充分两者的优点,提高目标检测效果,本人经过实验,对小目标以及密集预测任务会有一定的提升效果。 原理: 作者单位:UC Berkeley, 谷歌 GitHub:https://github.com/leaderj1001/BottleneckTransformers ? ? ?BoTNet是一种简单却功能强大的backbone,该架构将自注意力纳入了多种计算机视觉任务,包括图像分类,目标检测和实例分割。通过仅在ResNet的最后三个bottleneck blocks中用全局自注意力替换空间卷积,并且不进行其他任何更改,在目标检测方面显著改善了基线,同时还减少了参数,从而使延迟最小化。 ? ? Transformer中的MHSA和BoTNet中的MHSA的区别: 归一化,Transformer使用 Layer Normalization,而BoTNet使用 Batch Normalization。 ? 方 法: 第一步修改common.py,增加CTR3模块。
第二步:将yolo.py中注册CTR3模块。
第三步:进行修改yaml文件
结 果:本人在多个数据集上做了大量实验,针对不同的数据集效果不同,以及不同位置添加,都会有一定的差异。 预告一下:下一篇内容将继续分享其他Transformer模块的融合。有兴趣的朋友可以关注一下我,有问题可以留言或者私聊我哦 PS:Transformer不仅仅是适用改进YOLOv5,也可以改进其他的YOLO网络以及目标检测网络,比如YOLOv3、v4、v6、v7等。 最后,希望能互粉一下,做个朋友,一起学习交流。 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:56:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |