国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站建設(shè)哪家好萬維科技推廣軟件賺錢違法嗎

網(wǎng)站建設(shè)哪家好萬維科技,推廣軟件賺錢違法嗎,wordpress 7比2,企業(yè)營(yíng)業(yè)執(zhí)照查詢系統(tǒng)入口一、前言 在開始介紹RT-DETR這個(gè)網(wǎng)絡(luò)之前,我們首先需要先了解DETR這個(gè)系列的網(wǎng)絡(luò)與我們常提及的anchor-base以及anchor-free存在著何種差異。 首先我們先簡(jiǎn)單討論一下anchor-base以及anchor-free兩者的差異與共性: 1、兩者差異:顧名思義&…

一、前言

在開始介紹RT-DETR這個(gè)網(wǎng)絡(luò)之前,我們首先需要先了解DETR這個(gè)系列的網(wǎng)絡(luò)與我們常提及的anchor-base以及anchor-free存在著何種差異。
首先我們先簡(jiǎn)單討論一下anchor-base以及anchor-free兩者的差異與共性:
1、兩者差異:顧名思義,這兩者一個(gè)顯而易見的差別就是有無anchor,anchor-base是需要手工選取不同比例大小的anchor來得到proposals,而anchor-free則不需要。當(dāng)然兩者具體差異肯定不是這么幾句話就能說的清的,這里不做詳細(xì)討論所以按下不表。
2、兩者共性:兩者雖然在獲取proposals的原理方面存在不同,但是其最終還是存在了一個(gè)多對(duì)一的問題,也就是會(huì)對(duì)同一個(gè)目標(biāo)產(chǎn)生多個(gè)proposal,也即最后兩者最后都是需要通過閾值選取以及nms去過濾掉多余的預(yù)測(cè)框。此處可參考:Nms-Free時(shí)代
但是當(dāng)問題涉及到了工業(yè)或者生活等其他領(lǐng)域落地問題上面的時(shí)候,無論是anchor-base還是anchor-free所面臨的這中兩套閾值問題(要先完成閾值篩選(Confidence threshold)和非極大值抑制(NMS)處理兩個(gè)關(guān)鍵步驟)總是會(huì)對(duì)時(shí)效性產(chǎn)生很大的影響。

二、DETR系列網(wǎng)絡(luò)的動(dòng)機(jī)

在引言中,我們提到了無論是anchor-base還是anchor-free其實(shí)都存在著一個(gè)閾值問題,而這個(gè)閾值問題就決定了繞不開nms這個(gè)機(jī)制,nms這一機(jī)制的存在也就導(dǎo)致無法真正意義上去實(shí)現(xiàn)一個(gè)端到端的簡(jiǎn)易部署的網(wǎng)絡(luò)模型,而DETR既不需要proposal也不需要anchor,而是直接利用Transformers這種能全局建模的能力,通過將目標(biāo)檢測(cè)視為一個(gè)集合預(yù)測(cè)問題。同時(shí)由于這種全局建模能力使得DETR系列網(wǎng)絡(luò)不會(huì)輸出那么多冗余的框。在此處個(gè)人水平有限害怕個(gè)人水平對(duì)讀者的理解造成扭曲,因此在這就不對(duì)DETR做過多解釋如果有興趣的可以移步沐神的精講視頻:李沐DETR論文精讀

而DETR系列網(wǎng)絡(luò)究竟有多簡(jiǎn)潔,上述一小段文字自然無法很好的解釋其簡(jiǎn)潔性,大家可以通過下面視頻截圖的50行代碼看出DETR的簡(jiǎn)潔性。

在這里插入圖片描述

三、RT-DETR網(wǎng)絡(luò)

首先RT-DETR網(wǎng)絡(luò)的檢測(cè)動(dòng)機(jī)其實(shí)非常明確,從這個(gè)命名也能看出來,其是想打造一個(gè)能實(shí)際用于工業(yè)界的DETR網(wǎng)絡(luò)。但是對(duì)于DETR而言雖然其具備簡(jiǎn)單易用的特點(diǎn),然而其實(shí)時(shí)性較差,在DETR的論文中的實(shí)驗(yàn)可以看到其FPS較之于Faster-RCNN更低(如下圖所示),因此這是DETR的一個(gè)缺點(diǎn)。同時(shí)DETR還有另外一個(gè)缺點(diǎn),就是其雖然借助于自注意機(jī)制帶來的全局信息使得對(duì)于大目標(biāo)檢測(cè)效果表現(xiàn)較好,但是其對(duì)于小目標(biāo)的檢測(cè)效果相對(duì)而言較弱,當(dāng)然在RT-DETR中也未解決這個(gè)問題,因此此處只提一下按下不表。

在這里插入圖片描述
好了,既然目前已經(jīng)知道DETR有一個(gè)實(shí)時(shí)性較差的缺點(diǎn),那么接下來就應(yīng)該對(duì)造成推理耗時(shí)高的原因進(jìn)行一下分析,在RT-DETR中作者認(rèn)為在Encoder部分作用在 S 5 S_5 S5?(最頂層特征,即 C 5 C_5 C5?只是換個(gè)表達(dá)方式),這樣就可以大幅度減小計(jì)算量、提高計(jì)算速度,同時(shí)不會(huì)損傷模型性能,這樣做的的原因是作者是基于一下兩點(diǎn)考慮:

  1. 以往的DETR,如Deformable DETR是將多尺度的特征都拉平成拼接在其中,構(gòu)成一個(gè)序列很長(zhǎng)的向量,盡管這可以使得多尺度之間的特征進(jìn)行充分的交互,但也會(huì)造成極大的計(jì)算量和計(jì)算耗時(shí)。RT-DETR認(rèn)為這是當(dāng)前的DETR計(jì)算速度慢的主要原因之一;
  2. RT-DETR認(rèn)為相較于較淺 S 3 S_3 S3?特征和 S 4 S_4 S4?特征, S 5 S_5 S5?特征擁有更深、更高級(jí)、更豐富的語義特征,這些語義特征是Transformer更加感興趣的和需要的,對(duì)于區(qū)分不同物體的特征是更加有用的,而淺層特征因缺少較好的語義特征而起不到什么作用。

于個(gè)人而言感覺這個(gè)觀點(diǎn)很類似YOLOF的觀點(diǎn),在YOLOF中也是直接使用頂層的特征層,有感興趣的可以去看看YOLOF這篇文章。

而為了驗(yàn)證這個(gè)觀點(diǎn),作者的團(tuán)隊(duì)設(shè)計(jì)了若干對(duì)照組實(shí)驗(yàn),實(shí)驗(yàn)如下圖所示:
在這里插入圖片描述
對(duì)于對(duì)照組(a),其結(jié)構(gòu)就是DINO-R50,但移除了DINO-R50中的多尺度encoder,直接將 S 3 S_3 S3?、 S 4 S_4 S4? S 5 S_5 S5?拼接在一起,交給后續(xù)的網(wǎng)絡(luò)去處理,得到最終的輸出。注意,這里的拼接是先將二維的 H × W H×W H×W拉平成 H W HW HW然后再去拼接: H 1 W 1 + H 2 W 2 + H 3 W 3 H_1W_1+H_2W_2+H_3W_3 H1?W1?+H2?W2?+H3?W3?。

對(duì)于對(duì)照組(b),作者團(tuán)隊(duì)在(a)基礎(chǔ)上,加入了單尺度的Transformer Encoder(SSE),僅包含一層Encoder層,分別處理三個(gè)尺度的輸出,注意,三個(gè)尺度共享一個(gè)SSE,而不是為每一個(gè)尺度都設(shè)計(jì)一個(gè)獨(dú)立的SSE。通過這一共享的操作,三個(gè)尺度的信息是可以實(shí)現(xiàn)一定程度的信息交互。最后將處理結(jié)果拼接在一起,交給后續(xù)的網(wǎng)絡(luò)去處理,得到最終的輸出。

對(duì)于對(duì)照組?,作者團(tuán)隊(duì)使用多尺度的Transformer Encoder(MSE),大概是Deformable DETR所采用的那一類MSE結(jié)構(gòu)。將三個(gè)尺度的特征拼接在一起后,交由MSE來做處理,使得三個(gè)尺度的特征同時(shí)完成“尺度內(nèi)”和“跨尺度”的信息交互和融合,最后將處理結(jié)果,交給后續(xù)的網(wǎng)絡(luò)去處理,得到最終的輸出。

對(duì)于對(duì)照組(d),作者團(tuán)隊(duì)則先用共享的SSE分別處理每個(gè)尺度的特征,然后再使用PAN-like的特征金字塔網(wǎng)絡(luò)去融合三個(gè)尺度的特征,最后將融合后的多尺度特征拼接在一起,交給后續(xù)的網(wǎng)絡(luò)去處理,得到最終的輸出。

對(duì)于對(duì)照組(e),作者團(tuán)隊(duì)則使用一個(gè)SSE只處理 S 5 S_5 S5?特征,即所謂的AIFI模塊,隨后再使用CCFM模塊去完成跨尺度的特征融合,最后將融合后的多尺度特征拼接在一起,交給后續(xù)的網(wǎng)絡(luò)去處理,得到最終的輸出。

在這里插入圖片描述
最終,對(duì)比結(jié)果如上方的圖所示,我們簡(jiǎn)單地來分析一下這組對(duì)比試驗(yàn)說明了什么樣的結(jié)論。

  • 首先,A即對(duì)照組(a)取得到了43.0 AP的結(jié)果,注意,A的設(shè)置是不包含Encoder的,即沒有自注意力機(jī)制,在Backbone之后直接接Decoder去做處理,從而獲得輸出結(jié)果,可想而知,A的性能應(yīng)該是最差的,這也是后續(xù)實(shí)驗(yàn)的Baseline;
  • 隨后,在A的基礎(chǔ)上,B引入了共享的SSE去處理每個(gè)尺度的特征,使得性能從43.0提升至44.9,表明使用共享的SSE是可以提升性能的。從研究的角度來說,對(duì)于B,應(yīng)該再做一個(gè)額外的實(shí)驗(yàn),即使用三個(gè)獨(dú)立的SSE分別去處理每個(gè)尺度的特征,以此來論證“共享SSE”的必要性。當(dāng)然,我們可以感性地認(rèn)識(shí)到共享SSE會(huì)更好,但從理性的嚴(yán)謹(jǐn)層面來講,補(bǔ)上這一對(duì)比試驗(yàn)還是有必要的。簡(jiǎn)而言之,B證明了加入Encoder會(huì)更好;
  • 相較于B,C則是使用MSE,即使用MSE來同步完成“尺度內(nèi)”和“跨尺度”的特征融合(應(yīng)該和Deformable DETR的多尺度Encoder做法相似),這一做法可以讓不同尺度的特征之間得到更好的交互和融合,可預(yù)見地會(huì)提升了AP指標(biāo),其實(shí)驗(yàn)結(jié)果也意料內(nèi)地證明了這一點(diǎn):AP指標(biāo)從43.0提升至45.6,要高于B的44.9,這表明MSE的做法是有效的,即“尺度內(nèi)”和“跨尺度”的特征融合是必要的。但是,從速度的角度來看,MSE拖慢了推理速度,Latency從7.2增加值13.3 ms,要高于B組的11.1 ms;
  • 隨后是對(duì)照組D,不同于C,D是相當(dāng)于解耦了C中的MSE:先使用共享的SSE分別去處理每個(gè)尺度的特征,完成“尺度內(nèi)”的信息交互,然后再用一個(gè)PAN風(fēng)格的跨尺度融合網(wǎng)絡(luò)去融合不同尺度之間的特征,完成“跨尺度”的信息融合。這種做法可以有效地避免MSE中因輸入的序列過長(zhǎng)而導(dǎo)致的計(jì)算量增加的問題。相較于C,D的這種解耦的做法不僅僅使得Latency從13.3 ms降低至12.2 ms,性能也從45.6 AP提升至46.4 AP,這表明MSE的做法并不是最優(yōu)的,先處理“尺度內(nèi)”,再完成“跨尺度”,性能會(huì)更好;
  • 隨后是對(duì)照組D,不同于C,D是相當(dāng)于解耦了C中的MSE:先使用共享的SSE分別去處理每個(gè)尺度的特征,完成“尺度內(nèi)”的信息交互,然后再用一個(gè)PAN風(fēng)格的跨尺度融合網(wǎng)絡(luò)去融合不同尺度之間的特征,完成“跨尺度”的信息融合。這種做法可以有效地避免MSE中因輸入的序列過長(zhǎng)而導(dǎo)致的計(jì)算量增加的問題。相較于C,D的這種解耦的做法不僅僅使得Latency從13.3 ms降低至12.2 ms,性能也從45.6 AP提升至46.4 AP,這表明MSE的做法并不是最優(yōu)的,先處理“尺度內(nèi)”,再完成“跨尺度”,性能會(huì)更好;
  • 最后就是對(duì)照組E,在DS5的基礎(chǔ)上,E重構(gòu)了跨尺度特征融合模塊,構(gòu)建了新的CCFM模塊,由于論文里沒給出CSF模塊的細(xì)節(jié),所以CCFM模塊究竟調(diào)整了哪里也是無法獲知的,但就CCFM本身來看,大體上也是一個(gè)PAN-like的結(jié)構(gòu)。在換上了CCFM后,性能從46.8進(jìn)一步地提升至47.9。

綜上,這組對(duì)比試驗(yàn)證明了兩件事:1) Transformer的Encoder部分只需要處理high-level特征,既能大幅度削減計(jì)算量、提升計(jì)算速度,同時(shí)也不會(huì)損傷到性能,甚至還有所提升;2) 對(duì)于多尺度特征的交互和融合,我們?nèi)钥梢圆捎肅NN架構(gòu)常用的PAN網(wǎng)絡(luò)來搭建,只需要一些細(xì)節(jié)上的調(diào)整即可。

另外,我們仔細(xì)來看一下這個(gè)對(duì)照組(e),注意,根據(jù)論文給出的結(jié)果和源代碼,所謂的CCFM其實(shí)還是PaFPN,如下方的圖10所示,其中的Fusion模塊就是一個(gè)CSPBlock風(fēng)格的模塊。
在這里插入圖片描述
為了看得更仔細(xì)一些,我們來看一下官方源碼,如下方的Python代碼所示。依據(jù)論文的設(shè)定,HybridEncoder包含AIFI和CCFM兩大模塊,其中AIFI就是Transformer的Encoder部分,而CCFM其實(shí)就是常見的PaFPN結(jié)構(gòu):首先用若干層1x1卷積將所有的特征的通道數(shù)都映射至同一數(shù)目,如256,隨后再進(jìn)行top-down和bottom-up兩部分的特征融合。

# https://github.com/PaddlePaddle/PaddleDetection/blob/develop/ppdet/modeling/transformers/hybrid_encoder.pyclass HybridEncoder(nn.Layer):__shared__ = ['depth_mult', 'act', 'trt', 'eval_size']__inject__ = ['encoder_layer']def __init__(self,in_channels=[512, 1024, 2048],feat_strides=[8, 16, 32],hidden_dim=256,use_encoder_idx=[2],num_encoder_layers=1,encoder_layer='TransformerLayer',pe_temperature=10000,expansion=1.0,depth_mult=1.0,act='silu',trt=False,eval_size=None):super(HybridEncoder, self).__init__()self.in_channels = in_channelsself.feat_strides = feat_stridesself.hidden_dim = hidden_dimself.use_encoder_idx = use_encoder_idxself.num_encoder_layers = num_encoder_layersself.pe_temperature = pe_temperatureself.eval_size = eval_size# channel projectionself.input_proj = nn.LayerList()for in_channel in in_channels:self.input_proj.append(nn.Sequential(nn.Conv2D(in_channel, hidden_dim, kernel_size=1, bias_attr=False),nn.BatchNorm2D(hidden_dim,weight_attr=ParamAttr(regularizer=L2Decay(0.0)),bias_attr=ParamAttr(regularizer=L2Decay(0.0)))))# encoder transformerself.encoder = nn.LayerList([TransformerEncoder(encoder_layer, num_encoder_layers)for _ in range(len(use_encoder_idx))])act = get_act_fn(act, trt=trt) if act is None or isinstance(act, str, dict)) else act# top-down fpnself.lateral_convs = nn.LayerList()self.fpn_blocks = nn.LayerList()for idx in range(len(in_channels) - 1, 0, -1):self.lateral_convs.append(BaseConv(hidden_dim, hidden_dim, 1, 1, act=act))self.fpn_blocks.append(CSPRepLayer(hidden_dim * 2,hidden_dim,round(3 * depth_mult),act=act,expansion=expansion))# bottom-up panself.downsample_convs = nn.LayerList()self.pan_blocks = nn.LayerList()for idx in range(len(in_channels) - 1):self.downsample_convs.append(BaseConv(hidden_dim, hidden_dim, 3, stride=2, act=act))self.pan_blocks.append(CSPRepLayer(hidden_dim * 2,hidden_dim,round(3 * depth_mult),act=act,expansion=expansion))def forward(self, feats, for_mot=False):assert len(feats) == len(self.in_channels)# get projection featuresproj_feats = [self.input_proj[i](feat) for i, feat in enumerate(feats)]# encoderif self.num_encoder_layers > 0:for i, enc_ind in enumerate(self.use_encoder_idx):h, w = proj_feats[enc_ind].shape[2:]# flatten [B, C, H, W] to [B, HxW, C]src_flatten = proj_feats[enc_ind].flatten(2).transpose([0, 2, 1])if self.training or self.eval_size is None:pos_embed = self.build_2d_sincos_position_embedding(w, h, self.hidden_dim, self.pe_temperature)else:pos_embed = getattr(self, f'pos_embed{enc_ind}', None)memory = self.encoder[i](src_flatten, pos_embed=pos_embed)proj_feats[enc_ind] = memory.transpose([0, 2, 1]).reshape([-1, self.hidden_dim, h, w])# top-down fpninner_outs = [proj_feats[-1]]for idx in range(len(self.in_channels) - 1, 0, -1):feat_heigh = inner_outs[0]feat_low = proj_feats[idx - 1]feat_heigh = self.lateral_convs[len(self.in_channels) - 1 - idx](feat_heigh)inner_outs[0] = feat_heighupsample_feat = F.interpolate(feat_heigh, scale_factor=2., mode="nearest")inner_out = self.fpn_blocks[len(self.in_channels) - 1 - idx](paddle.concat([upsample_feat, feat_low], axis=1))inner_outs.insert(0, inner_out)# bottom-up panouts = [inner_outs[0]]for idx in range(len(self.in_channels) - 1):feat_low = outs[-1]feat_height = inner_outs[idx + 1]downsample_feat = self.downsample_convs[idx](feat_low)out = self.pan_blocks[idx](paddle.concat([downsample_feat, feat_height], axis=1))outs.append(out)return outs

而對(duì)于其中解碼器的decoder部分使用的是"DINO Head"的decoder部分,也即使用了DINO的一個(gè)“去噪思想”(具體我未了解過,有感興趣的可以自行了解)。但是看官方源碼可知在推理階段的時(shí)候,RT-DETR的decoder部分與DETR并無區(qū)別,由于我只關(guān)注推理階段因此關(guān)于"去噪思想"這部分各位可以詳細(xì)看看DINO以及官方源碼自行了解。

 class RTDETRTransformer(nn.Layer):__shared__ = ['num_classes', 'hidden_dim', 'eval_size']def __init__(self,num_classes=80,hidden_dim=256,num_queries=300,position_embed_type='sine',backbone_feat_channels=[512, 1024, 2048],feat_strides=[8, 16, 32],num_levels=3,num_decoder_points=4,nhead=8,num_decoder_layers=6,dim_feedforward=1024,dropout=0.,activation="relu",num_denoising=100,label_noise_ratio=0.5,box_noise_scale=1.0,learnt_init_query=True,query_pos_head_inv_sig=False,eval_size=None,eval_idx=-1,eps=1e-2):super(RTDETRTransformer, self).__init__()assert position_embed_type in ['sine', 'learned'], \f'ValueError: position_embed_type not supported {position_embed_type}!'assert len(backbone_feat_channels) <= num_levelsassert len(feat_strides) == len(backbone_feat_channels)for _ in range(num_levels - len(feat_strides)):feat_strides.append(feat_strides[-1] * 2)self.hidden_dim = hidden_dimself.nhead = nheadself.feat_strides = feat_stridesself.num_levels = num_levelsself.num_classes = num_classesself.num_queries = num_queriesself.eps = epsself.num_decoder_layers = num_decoder_layersself.eval_size = eval_size# backbone feature projectionself._build_input_proj_layer(backbone_feat_channels)# Transformer moduledecoder_layer = TransformerDecoderLayer(hidden_dim, nhead, dim_feedforward, dropout, activation, num_levels,num_decoder_points)self.decoder = TransformerDecoder(hidden_dim, decoder_layer,num_decoder_layers, eval_idx)# denoising partself.denoising_class_embed = nn.Embedding(num_classes,hidden_dim,weight_attr=ParamAttr(initializer=nn.initializer.Normal()))self.num_denoising = num_denoisingself.label_noise_ratio = label_noise_ratioself.box_noise_scale = box_noise_scale# decoder embeddingself.learnt_init_query = learnt_init_queryif learnt_init_query:self.tgt_embed = nn.Embedding(num_queries, hidden_dim)self.query_pos_head = MLP(4, 2 * hidden_dim, hidden_dim, num_layers=2)self.query_pos_head_inv_sig = query_pos_head_inv_sig# encoder headself.enc_output = nn.Sequential(nn.Linear(hidden_dim, hidden_dim),nn.LayerNorm(hidden_dim,weight_attr=ParamAttr(regularizer=L2Decay(0.0)),bias_attr=ParamAttr(regularizer=L2Decay(0.0))))self.enc_score_head = nn.Linear(hidden_dim, num_classes)self.enc_bbox_head = MLP(hidden_dim, hidden_dim, 4, num_layers=3)# decoder headself.dec_score_head = nn.LayerList([nn.Linear(hidden_dim, num_classes)for _ in range(num_decoder_layers)])self.dec_bbox_head = nn.LayerList([MLP(hidden_dim, hidden_dim, 4, num_layers=3)for _ in range(num_decoder_layers)])self._reset_parameters()def forward(self, feats, pad_mask=None, gt_meta=None, is_teacher=False):# input projection and embedding(memory, spatial_shapes,level_start_index) = self._get_encoder_input(feats)# prepare denoising trainingif self.training:denoising_class, denoising_bbox_unact, attn_mask, dn_meta = \get_contrastive_denoising_training_group(gt_meta,self.num_classes,self.num_queries,self.denoising_class_embed.weight,self.num_denoising,self.label_noise_ratio,self.box_noise_scale)else:denoising_class, denoising_bbox_unact, attn_mask, dn_meta = None, None, None, Nonetarget, init_ref_points_unact, enc_topk_bboxes, enc_topk_logits = \self._get_decoder_input(memory, spatial_shapes, denoising_class, denoising_bbox_unact,is_teacher)# decoderout_bboxes, out_logits = self.decoder(target,init_ref_points_unact,memory,spatial_shapes,level_start_index,self.dec_bbox_head,self.dec_score_head,self.query_pos_head,attn_mask=attn_mask,memory_mask=None,query_pos_head_inv_sig=self.query_pos_head_inv_sig)return (out_bboxes, out_logits, enc_topk_bboxes, enc_topk_logits,dn_meta)

同樣在RT-DETR中提及的IoU-aware Query Selection其實(shí)在推理階段也不存在,其是在訓(xùn)練期間約束檢測(cè)器對(duì)高 IoU 的特征產(chǎn)生高分類分?jǐn)?shù),對(duì)低 IoU 的特征產(chǎn)生低分類分?jǐn)?shù)。因此若只關(guān)注推理階段的讀者,這部分也可無需關(guān)注,而關(guān)于IoU-aware Query Selection此部分其實(shí)是在assignment階段和計(jì)算loss的階段,classification的標(biāo)簽都換成了 “IoU軟標(biāo)簽”

在這里插入圖片描述

所謂的“IoU軟標(biāo)簽”,就是指將預(yù)測(cè)框與GT之間的IoU作為類別預(yù)測(cè)的標(biāo)簽。熟悉YOLO工作的讀者一定對(duì)此不會(huì)陌生,其本質(zhì)就是已經(jīng)被廣泛驗(yàn)證了的IoU-aware。在最近的諸多工作里,比如RTMDet、DAMO-YOLO等工作中,都有引入這一理念,去對(duì)齊類別和回歸的差異。之所以這么做,是因?yàn)榘凑找酝膐ne-hot方式,完全有可能出現(xiàn)“當(dāng)定位還不夠準(zhǔn)確的時(shí)候,類別就已經(jīng)先學(xué)好了”的“未對(duì)齊”的情況,畢竟類別的標(biāo)簽非0即1。但如果將IoU作為類別的標(biāo)簽,那么類別的學(xué)習(xí)就要受到回歸的調(diào)制,只有當(dāng)回歸學(xué)得也足夠好的時(shí)候,類別才會(huì)學(xué)得足夠好,否則,類別不會(huì)過快地先學(xué)得比回歸好,因此后者顯式地制約著前者。

四、總結(jié)

最后先看一下論文在實(shí)驗(yàn)部分給出的對(duì)比表格,如下方的圖所示:
在這里插入圖片描述
由于在這里我考慮的是RT-DETR的實(shí)時(shí)性、GFLOPS以及相應(yīng)的檢測(cè)性能,因此我只關(guān)注其與YOLO系列的對(duì)比,而在YOLO系列中目前使用較多的是YOLOV5以及PPYOLOE網(wǎng)絡(luò)。而RT-DETR與這兩個(gè)網(wǎng)絡(luò)對(duì)應(yīng)的L與X對(duì)比能看到其FPS是V5的一倍,同樣也比PP高出十來FPS,而算力開銷也是與兩者接近,檢測(cè)性能同樣高出了這兩者幾個(gè)點(diǎn)。同時(shí)RT-DETR這個(gè)網(wǎng)絡(luò)也繼承了DETR網(wǎng)絡(luò)只要支持CNN與Transformer就能使用以及其推理階段簡(jiǎn)潔性的特點(diǎn)。不難看出在未來DETR系列的網(wǎng)絡(luò)應(yīng)能全面鋪開,而且其網(wǎng)絡(luò)的簡(jiǎn)潔性對(duì)于實(shí)際部署工作也是有利的。

總而言之,在未來完完全全可以在實(shí)時(shí)的DETR網(wǎng)絡(luò)方面好好期待一把。因此于此處記錄一下閱讀這篇文章以及DETR的讀后感。受限于個(gè)人能力其中紕漏肯定還有不少,歡迎各位大力指出,共同成長(zhǎng)。

參考鏈接:
《目標(biāo)檢測(cè)》-第33章-淺析RT-DETR
超越Y(jié)OLOv8,飛槳推出精度最高的實(shí)時(shí)檢測(cè)器RT-DETR!
PaddlePaddle
DETR 論文精讀
Nms-Free時(shí)代

http://aloenet.com.cn/news/33466.html

相關(guān)文章:

  • mi2設(shè)計(jì)公司網(wǎng)站2345網(wǎng)止導(dǎo)航
  • 網(wǎng)站后臺(tái)被百度蜘蛛抓取百度沒有排名的點(diǎn)擊軟件
  • wap手機(jī)網(wǎng)站制作域名注冊(cè)查詢網(wǎng)站
  • 網(wǎng)站開發(fā)有哪些模塊網(wǎng)站怎樣被百度收錄
  • wordpress 架站 電子書百度網(wǎng)盤下載速度
  • 四川華泰建設(shè)集團(tuán)網(wǎng)站網(wǎng)絡(luò)營(yíng)銷渠道策略有哪些
  • 網(wǎng)站更換服務(wù)器影響網(wǎng)站優(yōu)化的主要內(nèi)容
  • 有個(gè)網(wǎng)站可以學(xué)做ppt模板十大營(yíng)銷案例分析
  • 任何網(wǎng)站都可以做谷歌推廣的嗎專業(yè)的網(wǎng)頁制作公司
  • 新塘做網(wǎng)站東莞有哪些做推廣的網(wǎng)站
  • 榆林國(guó)貿(mào)網(wǎng)站建設(shè)怎么做關(guān)鍵詞排名靠前
  • 新疆錦旭建設(shè)工程公司網(wǎng)站seo信息優(yōu)化
  • 比較出名的文創(chuàng)產(chǎn)品南寧百度seo
  • 深圳 微網(wǎng)站建設(shè)ydgcm獎(jiǎng)券世界推廣網(wǎng)站
  • 如何判斷網(wǎng)站html5上海高端seo公司
  • 網(wǎng)站開源模板百度指數(shù)排名明星
  • app平臺(tái)網(wǎng)站搭建潮州seo建站
  • 雙語網(wǎng)站建設(shè)報(bào)價(jià)百度鏈接提交收錄入口
  • dw網(wǎng)頁設(shè)計(jì)期末作業(yè)seo的主要分析工具
  • 公司網(wǎng)站設(shè)計(jì)方案網(wǎng)站查詢是否安全
  • 天津做網(wǎng)站哪個(gè)公司好seo排名優(yōu)化工具推薦
  • 做游戲開發(fā)需要學(xué)哪些技術(shù)優(yōu)化大師下載安裝app
  • 網(wǎng)站建設(shè) 長(zhǎng)沙百度推廣怎么提高關(guān)鍵詞排名
  • 勝芳網(wǎng)站建設(shè)qiansi全國(guó)疫情最新情況公布
  • 前端怎么做電商網(wǎng)站網(wǎng)絡(luò)營(yíng)銷和網(wǎng)絡(luò)銷售的關(guān)系
  • 做論壇網(wǎng)站需要哪些前置審批申請(qǐng)一個(gè)網(wǎng)站需要多少錢
  • 網(wǎng)站域名備案需要資料網(wǎng)站內(nèi)鏈優(yōu)化
  • 專業(yè)的營(yíng)銷型網(wǎng)站最新報(bào)價(jià)網(wǎng)絡(luò)推廣策劃
  • 怎么給網(wǎng)站做aapseo優(yōu)化專家
  • 廈網(wǎng)站建設(shè)培訓(xùn)學(xué)校創(chuàng)建網(wǎng)站要錢嗎