深入浅出Transformer在目标检测之外的应用
时间:2025-03-19 12:20:11
DETR网络平台结构,add/Norm/残差连接被省略
3.1 Transformer encoder
先为用一个1*1卷积降低CNN合成的外观上给定(b,2048,h,w ==> b,256,h,w),于是又揭后下序幕于是又加给定脱氧核糖核酸(b,256,h,w ==> h*w,b,256),常称src;然后立即好一个相同形似的positional embedding(算出方法参看:_encoding.py#L12),常称pos_embed。于是又次反复6次Self-attention和FFN,其中都Self-attention的k=fc(src+pos_embed),q=fc(src+pos_embed),v=fc(src);FFN就是两层fc。转换成常称memory。
3.2 Transformer decoder
立即100个object queries,形似为(100,256),函数调用为0,常称tgt。立即其相关联的相同形似的positional embedding,随机函数调用,常称query_embed。操练时两者都扩充为(100,b,256)。于是又次反复6次Self-attention、Cross-attention和FFN,其中都Self-attention的k=fc(tgt+query_embed),q=fc(tgt+query_embed),v=fc(tgt);Cross-attention的k=fc(tgt+query_embed),q=fc(memory+pos_embed),v=fc(memory)。
一般化上阐释,Cross-attention就是每个query根据各自有用的地区从截所示中都合成具体数据,而Self-attention就是所有query商议决定谁当老大(前景),谁当小弟(背景)。
我还想简单解释一下object queries (tgt) 和其相关联的positional embedding (query_embed)的函数调用:object query装有的是截所示上的球体数据,在进入decoder在此之前数学方法本来对截所示上的球体一无所知,所以笔记将他函数调用为0。positional embedding装有的是每个query所关注的前面和地区,笔记希望这100个query能尽可能微小的散布到整张截所示,所以选用随机函数调用。
其他诸如Prediction FFN、Bipartite matching loss、Deep supervision等细微,比较容易阐释,这内都就不赘述了。
DETR并不是对传统anchor-based detectors的降维打击。相反,DETR本来连续函数速度慢、扫描精确度差、运行效率低等解决办法。
碎碎念:CVPR2022收录了有数4篇DETR具体的扫描期刊,用transformer好好object detection算得一个很promising的深入研究正向了,或许关注。
得益于Transformer带来的实时感官野和抽样时有数据互相交换的能力,DETR解锁了微小分布幅度化 (sparse sampling) 和故又称到故又称扫描 (end-to-end detection) 两个习得。
然而原始DETR也本来一个比较引人请求注意的缺陷,就是须要并不长的操练心率才能连续函数(在COCO数据库集上要训500个epoch)。DETR的基本上后续指导工作都尝试针对这个缺陷好好出简化。
4 为何DETR不能连续函数?
根据笔记的设想,每个object query可能会根据各自有用的地区通过Transformer decoder内都的Cross-attention layer从截所示中都合成相应的球体外观上。
这个合成外观上的过程包含两个方式中,一个是key (image features) 对于query (object queries) 的十分相似度反之亦然,一个是依据反之亦然结果对value (image features) 进行计幅度平均。
然而期望很粗犷,现实很骨感。解决办法就出在这第一个方式中上:由于query embedding是随机函数调用的,object queries和image features在数学方法操练的初期无法正确反之亦然。
一般化上阐释,一把项链 (object query) 后下一把锁(截所示上某一特定地区的球体)。但是由于项链是随机函数调用的,引致它本来后下不了任何一把锁(截所示上任意前面的外观上对于object query的十分相似反之亦然度都大大降低)。结果就是Cross-attention layer本来完全微小地合成了整张截所示的外观上,而不是有针对性的合成特定地区内的球体外观上。可以所想,在这之后的object query不仅采集了期望球体的外观上,还采集了截所示背景和其他不具体球体的外观上,因此用它来定义和导向期望球体还是很困难的。
换个出发点考虑,Cross-attention可以所想于是又加是一种多半的RoIAlign:从截所示中都依据kq具体性 (attention map) 区分出有用地区 (region of interest) 并收集相应外观上。DETR不能连续函数的诱因就是由于object query和image feature时有的不倒置 (misalignment),引致无法有针对性的收集特定地区的球体外观上,而是收集到了截所示上其他很杂乱的外观上。
简单必需一下为什么基于CNN的扫描器并未这个解决办法:Two-stage detectors是并不需要利用RoIAlign系统设计倒置了region proposal和image features;对于One-stage detectors,anchor box的中都心是依据所处外观上的image coordinate主角的,个数是依据所处圆顶的feature scale主角的,所以大略也是倒置的(参看AlignDet[1])。
5 一系列简化指导工作
Deformable DETR[2]:既然原始的Cross-attention layer自由度太高,并未办法focus到特定地区,那就为每个object query主角须要关注的中都心点 (reference point),并且重申的Deformable attention也只幅度化中都心点附近的N个截所示外观上,这样既减缓了连续函数又降低了算出幅度。并且由于Deformable attention的算出幅度与外观上所示个数毫无关系,还可以选用多外观上所示来冗余小期望的扫描。
SMCA DETR[3]:在算出Cross-attention在此之前,每个query先为预测一下要扫描球体的前面和吋(却是anchor的香气了),于是又根据预测的球体前面和吋降解一个相关联的高斯热所示 (Gaussian-like weight map),并溶入Cross-attention内都kq十分相似度反之亦然算出中都。这样,每个query合成的外观上就被容许在球体的中都心附近,连续函数速度也因此给予提升。
Anchor DETR[4]:顾名思义,并不需要将anchor point的前面编码方式为object query,并且encoder和decoder共用一套前面编码方式的方式 (Sine encoding + MLP)。这样encoder和decoder的前面大部分 (positional embedding) 就是倒置的,每个query合成的外观上也就集中都在anchor point附近了。此外,为了扫描同一前面的有所不同球体,笔记还重申为每个anchor point移除有所不同的方式而(multiple patterns,一般是3种,却是类似于每个前面设置个数和吋比有所不同的3种anchor box)。
DAB DETR[5]:相比Anchor DETR好好了两个方面的冗余,一是将anchor box(包括前面吋4个给定)编码方式为object query,而不是无论如何编码方式anchor point的前面数据;二是应用于了cascade思想,四边不断精修anchor box(上一层的转换成的作为下一层的转换成)。或许请求注意的是笔记利用所预测的box吋全面性容许了Cross-attention内都的kq十分相似度反之亦然算出,使降解的请求注意力所示只能最优有所不同前面、有所不同、有所不同吋比的球体。
SAM DETR[6]:为了在语义空时有上倒置object queries和image features,笔记并不需要在Cross-attention layer前加了一个RoIAlign系统设计,即先为从image features内都挤出球体外观上,于是又重新幅度化8个突出点 (salient points re-sampling),用以降解语义倒置的query embedding和positional embedding。这内都有个小小的疑问,Cross-attention就是为了合成image feature上各个query所相关联的球体外观上,进行笔记的这些系统设计以后,原先为的Cross-attention还有必要吗?
概述一下,由于object query和image feature时有(前面上的和语义上的)不倒置,引致Transformer decoder中都的Cross-attention layer不能准确地反之亦然到待扫描球体所相关联的外观上地区,object query也因此采集到了很多除期望球体限于的毫无关系外观上,之后引致DETR连续函数缓慢。纸片概述的几个指导工作都是通过有所不同的方式容许了object query的幅度化地区,使得网络平台只能快速的地聚焦于球体地区,所以减缓了操练。
6 Future direction
探讨object query的数幅度对于扫描精确度的影响。理论上100早就远远大于截所示上可能出现的球体个数了,然而格外多的query还是可能会带来格外高扫描精确度。一般化上探究,越少的query可能会引致各个query的搜索范围变大,并且不能扫描同一前面的多个期望;不必要的query又可能会引致不能抑制多个query连续函数到同一球体的情况。那么多少才是恰当的query数幅度呢?四边需求的query数幅度相同吗?
由于须要准确导向球体,DETR必须只能很好地编码方式外观上的绝对/相比前面关系。DETR现在所选用地Positional embedding并不一定最佳方案?或许该在Transformer内都塞一些卷积层,或者是否只能从query based patch localization出发点,构造一个自监督操练构建?
还有one to one的克罗地亚首页反之亦然还并未人动过,这可能会就可能会也是造于是又加DETR连续函数慢的诱因呢?大家觉得怎么样呢 :-)
参看文献:
[1] End-to-End Object Detection with Transformers [2] Attention Is All You Need [3] Focal Loss for Dense Object Detection [4] FCOS: Fully Convolutional One-Stage Object Detection [5] Objects as Points。长期便秘是因为什么原因导致的脉血康成分
双瑞醋因胶囊什么时候吃
小孩开胃健脾吃什么
金奥康奥美拉唑胶囊用法用量
谈咳宁乙酰半胱氨酸颗粒是治什么病
乌梅人丹可以治口臭吗
类风湿关节炎特效药
支原体肺炎吃什么药止咳化痰
手指僵硬是怎么回事
- .吉林机场至莫斯科客改货包机航线成功首航
- .考试用品忘在酒店、准考证没有人盖章……中招的小麻烦也不少
- .留学“背景提升”乱象背后:智商税、功利心、难以捉摸的利益链
- .保研要从什么时候开始打算?
- .志愿填写 | 7大志愿填写注意事项
- .妈妈用枣辅导数学分析,枣都不开心了!没开窍的孩子其实都卡在这件事上!
- .职业大学本科应该注意什么?
- .教育部:全国已累计排查发现“假注销、确运营”培训机构464个,已全部关停取缔
- .彭山考生速看!高考查分方式暂定!就在今晚10点!
- .【知名211】南京艺术学院2022年设计学类招生计划,附往年录取线
- .教育部发布预警 谨防“价钱志愿填报指导”陷阱
- .智艺考资讯|专业平行志愿是如何投档参加考试的?
- .教育部:11家违规校外培训机构被停止使用
- .2022高考总分今起陆续公布,这些招生变化要了解
- .“寒窗苦读20年,凭啥不让我当!”985硕士裸辞放下豪言壮语
- .为啥整天说辞职的人,至今还在上班?背后的真相,小白不会懂
- .过年前,如果见到这3种情况,说明你早该离职了,错不了
- .职场不得不严防,这3个忠告,老实人越早知道越好
- .绝不会“巴结”领导,就真的混不好?过来人实话实说,值得一看
- .2022年各省市联招填报志愿说明及问答