日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

PP-yoloE论文的理解

發(fā)布時(shí)間:2024/1/1 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PP-yoloE论文的理解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

1.簡(jiǎn)單回顧PP-YOLOv2

2.本文的貢獻(xiàn)

2.1?anchor free

2.2 Backbone and Neck

2.2.1 ESE的原始架構(gòu)?

2.3?TAL和T-head

2.3.1?TAL

2.4 Efficient Task-aligned Head(ET-head)?

2.4.1?varifocal loss (VFL)

2.4.2?distribution focal loss(DFL)

3. 實(shí)驗(yàn)

3.1 與sota檢測(cè)器相比

涉及到的論文


出自:百度 2022.44.2

論文:https://arxiv.org/pdf/2203.16250.pdf

代碼:https://github.com/PaddlePaddle/PaddleDetection

?PP-YOLOE的整體框架圖:

1.簡(jiǎn)單回顧PP-YOLOv2

論文:https://arxiv.org/abs/2104.10419

代碼:https://github.com/paddlepaddle/paddledetection

主干ResNet50-vd,deformable convolution,PAN neck with SPP layer and DropBlock【7】,lightweight IOU aware head。 主干激活使用relu,neck 激活使用mish。 loss函數(shù)有分類(lèi)loss,回歸loss和目標(biāo)loss,且PP-yolov2使用了IoU loss和Iou aware loss;

2.本文的貢獻(xiàn)

①anchor-free

②powerful backbone and neck equipped with CSPRepResStage

③ET-head

④TAL動(dòng)態(tài)label assign

2.1?anchor free

原因:基于anchor的方法摻雜太多人工設(shè)定,且同一組anchor參數(shù)無(wú)法適用于所有數(shù)據(jù)集;

細(xì)節(jié):anchor free方法參考FCOS【25】,PPYOLOE中的anchor free方法,主要就是將之前anchor base中預(yù)測(cè)相較于anchor的xywh,改進(jìn)為預(yù)測(cè)ltrb(left,top,right,bottom),并將ltrb結(jié)果乘上當(dāng)前特征圖的stride。

結(jié)果:速度略有提升,且ap下降0.3;

2.2 Backbone and Neck

提出了RepResBlock:

使用了resdiual connections和dense connection,將這種模塊用于backbone和neck中;

參考TreeBlock【20】,作者提出了RepResBlock,訓(xùn)練階段如fig3(b),推理階段如圖3(c),簡(jiǎn)化的TreeBlock如fig3(a),將concat替換成element-wise add operation就得到了fig3(b)作者的backbone命名為CSPRepResBlock,包括三個(gè)卷積和四個(gè)RepResBlock,如fig3(d) 通過(guò)ESE(Effective Squeeze and Extraction) layer施加通道注意力。?

2.2.1 ESE的原始架構(gòu)?

SE(Squeeze-and-Excitation(SE))結(jié)構(gòu):

?

ESE結(jié)構(gòu):

區(qū)別:se有兩個(gè)fc,ese只有一個(gè)fc;

2.3?TAL和T-head

物體檢測(cè)方法的2個(gè)局限性: ? ?

①分類(lèi)和定位的獨(dú)立性。分類(lèi)和定位一般用的是2個(gè)獨(dú)立的分支,這樣使得2個(gè)任務(wù)之間缺乏交互,在預(yù)測(cè)的時(shí)候就會(huì)出現(xiàn):得分高的預(yù)測(cè)位置不準(zhǔn),位置準(zhǔn)的預(yù)測(cè)得分不高。 ?

?②任務(wù)無(wú)關(guān)的樣本分配:對(duì)于分類(lèi)最優(yōu)的anchor和對(duì)于定位最優(yōu)的anchor往往并不是同一個(gè)。

解決辦法:TOOD提出任務(wù)對(duì)齊頭(Task-aligned head, T-head)和新的任務(wù)對(duì)齊學(xué)習(xí)(Task-aligned Learning, TAL)來(lái)更明確地對(duì)齊兩個(gè)任務(wù); 操作流程:首先,T-head對(duì)FPN特征進(jìn)行預(yù)測(cè)。然后,計(jì)算每個(gè)定位點(diǎn)的任務(wù)對(duì)齊度量,TAL根據(jù)此度量為T(mén)-head生成學(xué)習(xí)信號(hào)。最后,T-head對(duì)分類(lèi)和定位的分布進(jìn)行相應(yīng)的調(diào)整。其中,最對(duì)齊的錨通過(guò)概率圖prob (probability map)獲得更高的分類(lèi)得分,通過(guò)學(xué)習(xí)偏移獲得更準(zhǔn)確的錨框預(yù)測(cè)。

2.3.1?TAL

Task Alignment Learning:為了進(jìn)一步指導(dǎo)T-Head做出與任務(wù)對(duì)齊的預(yù)測(cè)提出TAL。

它包括一個(gè)分配策略和新?lián)p失的函數(shù);

分配策略 ①Task-aligned Sample Assignment:

1)對(duì)齊良好的錨點(diǎn)應(yīng)能聯(lián)合精確定位預(yù)測(cè)出較高的分類(lèi)分?jǐn)?shù);

2)不對(duì)齊的錨應(yīng)具有較低的分類(lèi)評(píng)分,并隨后予以抑制。

②Anchor alignment metric:分類(lèi)得分和IoU的高階組合來(lái)衡量任務(wù)對(duì)齊程度,?

?

其中:s和u分別表示分類(lèi)分?jǐn)?shù)和IOU值

③Training sample assignment:選擇t值最大的m個(gè)錨點(diǎn)為正樣本,而使用其余的錨點(diǎn)作為負(fù)樣本;?

損失函數(shù)

t^是對(duì)t的歸一化

2.4 Efficient Task-aligned Head(ET-head)?

解決的點(diǎn):分類(lèi)和定位的任務(wù)沖突 ? ?

YOLOX使用了decopled head 該方法的缺點(diǎn):導(dǎo)致分類(lèi)任務(wù)和定位任務(wù)分離,使得兩個(gè)任務(wù)獨(dú)立; 缺乏特定任務(wù)學(xué)習(xí);

解決方法:參考TOOD【5】,優(yōu)化得到ET-head 改進(jìn)點(diǎn): ?

?①相比較TOOD,使用ESE block替換layer attention。 ? ?

②分類(lèi)分支添加了shortcut。 ? ?

③分類(lèi)分支使用varifocal loss (VFL),優(yōu)點(diǎn):這種實(shí)現(xiàn)使得iou高的正樣本對(duì)損耗的貢獻(xiàn)相對(duì)較大,促使模型更加關(guān)注高質(zhì)量樣本; ?

?④回歸分支使用distribution focal loss(DFL)。

最終loss:

結(jié)果:map提升0.5;

2.4.1?varifocal loss (VFL)

focal loss:

其中a用來(lái)均衡正負(fù)樣本的權(quán)重,y為gt,前景類(lèi)的預(yù)測(cè)概率p∈[0,1],(1-p)的r次和p的r次用來(lái)調(diào)制每個(gè)樣本的權(quán)重。使困難樣本有更高的權(quán)重; VFL從focal loss中借鑒了樣本加權(quán)思想來(lái)解決類(lèi)不平衡問(wèn)題;

VFL loss:

其中p是預(yù)測(cè)的IACS(分類(lèi))得分,q是目標(biāo)IoU得分。 對(duì)于訓(xùn)練中的正樣本,將q設(shè)置為生成的bbox和gt box之間的IoU;而對(duì)于負(fù)樣本,q為0。

2.4.2?distribution focal loss(DFL)

參考:《Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Detection》 -清華大學(xué),南京大學(xué) https://blog.csdn.net/qq_52302919/article/details/125304230 ? https://zhuanlan.zhihu.com/p/310229973?

3. 實(shí)驗(yàn)

實(shí)驗(yàn)數(shù)據(jù):MS COCO-2017(80個(gè)類(lèi)別,118000張圖片)

數(shù)據(jù)處理細(xì)節(jié):random crop,random horizontal filp,color distortion,和multi-scale;

參數(shù)設(shè)置細(xì)節(jié):SGD,momentum=0.9,weight decay=5e-4,cosine learning rate schedule,epochs=300,warmup epochs=5,base learning rate=0.01,batch size=64;exponential moving average(EMA) 硬件設(shè)備:8*32G V100 GPU

3.1 與sota檢測(cè)器相比

科普性相關(guān)信息

一文看懂Label Assignment--標(biāo)簽分配最新論文總結(jié) - 知乎

涉及到的論文

《Bag of Tricks for Image Classification with Convolutional Neural Networks》

可學(xué)習(xí)的各種訓(xùn)練策略(文中用于分類(lèi)):

1.學(xué)習(xí)率的調(diào)整

當(dāng)batch_size=256時(shí),初始化lr=0.1,當(dāng)batch_size=b,則學(xué)習(xí)率調(diào)整為

? ?

如:b=128,

2.學(xué)習(xí)率熱身效應(yīng)

在訓(xùn)練初期使用較小的學(xué)習(xí)率進(jìn)行熱身,逐漸增大到設(shè)置的學(xué)習(xí)率,則前m個(gè)batches使用warm up使用的學(xué)習(xí)率:

? ? ,1<=i<=qm

3.使的網(wǎng)絡(luò)初始階段更容易訓(xùn)練

Zero γ(可查看原文)

4.只對(duì)卷積層和全連接層的weight的weights使用weight decay

在SGD中優(yōu)化中相當(dāng)于L2正則,作者認(rèn)為并不是所有的參數(shù)weight decay;

5.其他策略

(使用廣泛,不一一細(xì)講了):

1.提升模型的訓(xùn)練速度,FP16和FP32的混合訓(xùn)練;

2.ResNet網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化;

3.Cosine Learning Rate Decay;

4.Label Smoothing

5.Knowledge Distillation

6.Mixup Training

參考:https://www.jianshu.com/p/02a76ac73d48

《Dropblock:A regularization method for convolutional networks:Advaces in neural information process system》

dropblock:一種正則化方法,在ImageNet分類(lèi)任務(wù)中,使用Resnet-50精度提升了1.6%個(gè)點(diǎn),在coco檢測(cè)任務(wù)中,精度提升了1.6%。

SPP layer :將不同尺寸使用max pooling輸出為固定長(zhǎng)度的尺寸

Relu激活:又稱(chēng)為修正線(xiàn)性單元(Rectified Linear Unit),是一種分段線(xiàn)性函數(shù),其彌補(bǔ)了sigmoid函數(shù)以及tanh函數(shù)的梯度消失問(wèn)題。

函數(shù):

ReLU函數(shù)的優(yōu)點(diǎn):
1. 在輸入為正數(shù)的時(shí)候(對(duì)于大多數(shù)輸入 z 空間來(lái)說(shuō)),不存在梯度消失問(wèn)題。
2. 計(jì)算速度要快很多。ReLU函數(shù)只有線(xiàn)性關(guān)系,不管是前向傳播還是反向傳播,都比sigmod和tanh要快很多。(sigmod和tanh要計(jì)算指數(shù),計(jì)算速度會(huì)比較慢)
ReLU函數(shù)的缺點(diǎn):
當(dāng)輸入為負(fù)時(shí),梯度為0,會(huì)產(chǎn)生梯度消失問(wèn)題。

參考鏈接:https://zhuanlan.zhihu.com/p/139696588

mish激活:

一種自正則的非單調(diào)神經(jīng)激活函數(shù),平滑的激活函數(shù)允許更好的信息深入神經(jīng)網(wǎng)絡(luò),從而得到更好的準(zhǔn)確性和泛化。根據(jù)論文實(shí)驗(yàn),該函數(shù)在最終準(zhǔn)確度上比Swish(+0.494%)和ReLU(+ 1.671%)都有提高。

函數(shù):

圖形來(lái)自于:https://wenku.baidu.com/view/9cbad2976adc5022aaea998fcc22bcd126ff4236.html?

IOU loss的使用:

標(biāo)檢測(cè)任務(wù)的損失函數(shù)由Classificition Loss和Bounding Box Regeression Loss兩部分構(gòu)成。

Bounding Box Regression Loss Function的演進(jìn)路線(xiàn)是:
Smooth L1 Loss --> IoU Loss --> GIoU Loss --> DIoU Loss --> CIoU Loss

Iou loss提出前,大家主要通過(guò)4個(gè)坐標(biāo)點(diǎn)獨(dú)立回歸Bounding box(bbox,邊界框),這樣做的缺點(diǎn)有:

目標(biāo)檢測(cè)的評(píng)價(jià)方式是使用IoU,而實(shí)際回歸坐標(biāo)框的時(shí)候使用4個(gè)坐標(biāo)點(diǎn),二者是不等價(jià)的,如下圖所示;
L1或者L2 Loss相同的框,其IoU 不是唯一的
通過(guò)4個(gè)坐標(biāo)點(diǎn)回歸坐標(biāo)框的方式,是假設(shè)4個(gè)點(diǎn)相互獨(dú)立的,沒(méi)有考慮其相關(guān)性,實(shí)際4個(gè)坐標(biāo)點(diǎn)具有一定的相關(guān)性
基于L1和L2的距離的loss對(duì)于尺度 不具有 不變性
————————————————
版權(quán)聲明:本文為CSDN博主「尋找永不遺憾」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_45377629/article/details/124911293

?《Fcos:Fully convolutional one-stage object detection》

提出的無(wú)anchor的網(wǎng)絡(luò)結(jié)構(gòu):

分類(lèi)使用fcoal loss,回歸使用iou loss;center-ness大小為0-1,用BCE loss計(jì)算。用于抑制FCOS產(chǎn)生的低質(zhì)量的bbox,尤其是那些離目標(biāo)中心較遠(yuǎn)的locations?;

residual connections:

殘差鏈接主要是為了解決梯度消失問(wèn)題;

dense connections :

密集連接主要是使用更多的感受野擴(kuò)大中間特征;

總結(jié)

以上是生活随笔為你收集整理的PP-yoloE论文的理解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。