TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head for Object Detection on Drone-captu
TPH-YOLOv5
文章目录
- TPH-YOLOv5
- 参考
- Introduciton
- Structure
- CSPDarknet53
- Transformer
- CBAM
- Ms-testing and model ensemble.
- Self-trained classifier
- 效果
参考
- TPH-YOLOv5:基于Transformer的改进YOLOv5的无人机目标检测
- YOLOv4: Optimal Speed and Accuracy of Object Detection
- self-attention与Transformer补充
- 注意力模型CBAM
Introduciton
TPH-YOLOv5的整体架构如上所示,YOLOv5我没怎么看过,不过我们可以直接看它的结构
- 首先Backbone部分,前8块和之前区别不大,作者的描述是CSPDarknet53 backbone with three transformer encoder blocks at the end,也就是它其实在CSPDarknet53点基础上在SPP模块的后面添加了三个Transformer层
- 接下来Neck部分,明显是参考了PANet的结构,只不过用上了CBAM和Transformer的结构
- 然后是Header部分,用的是魔改的TPH(transformer prediction heads),作者的意思是从Transformer开始到检测输出这段都叫TPH,在我看来其实就是用了Transformer模块然后把这块强行叫做TPH模块,可能就类似‘拍了拍 Transformer’?\手动狗头
Structure
CSPDarknet53
- 关于这部分,可以参考YOLOv4中对应部分,其实说白了就是在一堆残差块边上再加上一个残差边(可以看做大号残差)
- YOLOv4: Optimal Speed and Accuracy of Object Detection
Transformer
关于这部分,也有一篇相关记录,是看李宏毅老师的课的笔记,个人觉得李老师讲的很清楚(只看encoder部分即可)
- self-attention与Transformer补充
这里可以对比下原图和作者给出的Encoder的区别
可以看到还是有一丢丢不一样的,比如embedding后原版是直接进Multi-Head Attention的,而作者是先做了LayerNorm(这个东东没有详细提,应该是类似BN的Norm,可参考下图),然后作者的版本还多了一个Dropout的操作,这玩意在我的理解为多个subnetwork防止过拟合同时提高检测性能
CBAM
全称是Convolutional block attention module,这玩意的论文还没看,在补了,可以先参考这个:
- 注意力模型CBAM
目前的理解是使得网络的注意力集中在某些channel和spatial上,以提高检测精度
Ms-testing and model ensemble.
- 这玩意就是多尺度检测+合并
Self-trained classifier
- 所谓Self-trained classifier就是把这部分额外摘出来用相关数据做图像分类的task train一遍,然后合并回去,这。。。
效果
TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head for Object Detection on Drone-captu相关推荐
- 深度学习论文: TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head 及其PyTorch实现
深度学习论文: TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head for Object Detection on Dro ...
- 【Transformer】DETR: End-to-End Object Detection with Transformers
文章目录 一.背景和动机 二.方法 2.1 目标检测集合的 loss 2.2 DETR 结构 三.效果 四.全景分割 五.代码 论文链接:https://arxiv.org/abs/2005.1287 ...
- Integral Migrating Pre-trained Transformer Encoder-decoders for Visual Object Detection(imTED)
Arxiv上一篇基于MAE 用于目标检测的文章,是在查找小样本文章的时候发现的,因为与自己的idea有点相似,所以仔细读了一遍,代码还未开源.其中有个作者Peng Zhiliang ,不知道是不是复现 ...
- 【目标检测】yolo系列:从yolov1到yolov5之YOLOv5训练自己数据集(v6.0)
一.源码下载及requirments 源码下载地址:https://github.com/ultralytics/yolov5 (持续更新中) 本人所用环境如下: pytorch:1.8(因为cuda ...
- 【深度学习】网络架构设计:CNN based和Transformer based
从DETR到ViT等工作都验证了Transformer在计算机视觉领域的潜力,那么很自然的就需要考虑一个新的问题,图像的特征提取,究竟是CNN好还是Transformer好? 其中CNN的优势在于参数 ...
- 【论文阅读笔记】基于分类器预测置信度的集成选择| Ensemble Selection based on Classifier Prediction Confidence
基于分类器预测置信度的集成选择 | Ensemble Selection based on Classifier Prediction Confidence [摘要] 集成选择是集成学习中研究最多的课 ...
- 2018_Semantic SLAM Based on Object Detection and Improved Octomap_note
注释 (2022/4/15 上午9:14:24) "ABSTRACT" (Zhang 等., 2018, p. 1) (pdf) 提出了什么: "In this pape ...
- 论文阅读-ViTDet:Exploring Plain Vision Transformer Backbones for Object Detection
目录 A.写在前面 B.有个工作我得说说 C.摘要拆分 D.先看看结果 E.代码细节 1.MaskRCNN部分的修改 2.数据增强部分 3.SFP的实现 F.参考文献 A.写在前面 ViTDet[1] ...
- Center and Scale Prediction: A Box-free Approach for Object Detection
Center and Scale Prediction: A Box-free Approach for Object Detection 中心和尺度预测:一种 box-free 的物体检测方法 无锚 ...
最新文章
- VUE的本地应用-V- html
- Kotlinkotlin二进制与十六进制之间的转化
- CV之CycleGAN:CycleGAN算法相关思路配图、论文集合
- UIAutomator 2
- 最新最全产品删除页代码
- scrum流程 规划 冲刺_Scrum –困难的部分2:更快地冲刺
- Linux软件 github,Linux下使用GitHub记
- 你觉得Mate30 5G可以用到四年吗?
- [转]论acm与泡妞
- 孤零零好可怜的光棍节
- java repl_Java REPL – jshell
- SM4算法的C++实现(代码)
- unity 实现PPT动画效果切换图片
- 【记录】codeReview总结
- Vue输入框快速调出数字键盘
- RIP和IGRP实验
- vivo电池损耗指令代码_「值得收藏」手机上的神奇代码,除了*#*#6485#*#*,还有这些...
- easyui打印功能实现打印解决方案
- AD19——1:1打印PCB原理图(查看封装是否适合实际器件)
- Pulsar 社区周报| 2020-12-12 ~ 2020-12.18
热门文章
- graylog+kafka+zookeeper(单机测试及源码),graylog收集kafka(脚本创建发布订阅方式)存储的消息(四)
- 使用浏览器转化ASCII码为字符
- java 家谱管理系统_家谱管理系统
- DDD的模式与实践案例
- MFC下的汉字串拼音首字母提取
- Centos7 安装coturn部署一套 STUN/TURN 服务 webRTC打洞服务器
- ORACLE LPAD()函数
- 非线性最小二乘法 python_[数值计算] 数据拟合——非线性最小二乘法
- Veritas NetBackup8.1.1设置备份
- win 7系统出现计算机内存不足,win7系统计算机内存不足的解决方法