PP-YOLOE-R | 手把手教你將PP-YOLOE用于旋轉(zhuǎn)目標(biāo)檢測,順帶達(dá)成SOTA性能!

arXiv:https://arxiv.org/abs/2211.02386
code: https://github.com/PaddlePaddle/PaddleDetection
任意方向目標(biāo)檢測是遙感圖像目標(biāo)檢測與自然場景文字檢測中最基本的任務(wù)。本文提出了一種高效的Anchor-free 旋轉(zhuǎn)目標(biāo)檢測方案PP-YOLOE-R,通過引入大量的有用tricks,所提方案達(dá)成如下性能(DOTA1.0):
單尺度訓(xùn)練/測試:PP-YOLOE-R-l/x分別取得了78.14mAP與78.28mAP;
多尺度訓(xùn)練/測試:PP-YOLOE-R-l/x分別取得了80.02mAP與80.73mAP.
總而言之,PP-YOLOE-R超過了所有Anchor-free方案,具有與兩階段Anchor-based方案相當(dāng)?shù)男阅堋4送?,PP-YOLOE-R具有部署友好特性,在TensorRT與FP16加持下,PP-YOLOE-R-s/m/l/x在RTX2080Ti上推理速度可達(dá)69.8/55.1/48.3/37.1FPS。與其他方案的性能對比可參考下圖。

本文方案

上圖給出了PP-YOLOE_R架構(gòu)示意圖,與PP-YOLOE整體架構(gòu)類似,可以理解為:PP-YOLOE-R是PP-YOLOE針對旋轉(zhuǎn)目標(biāo)檢測任務(wù)進(jìn)行的適配與升級。

Baseline 在基線模型方面,首先將FCOSR一文的FCOSR Assigner與ProbIoU 損失引入到PP-YOLOE中作為全文的基線模型。骨干部分與Neck部分采用了PP-YOLOE的配置,未作調(diào)整;在檢測頭方面,對回歸分支進(jìn)行了調(diào)整以適配旋轉(zhuǎn)目標(biāo)檢測任務(wù):。該基線模型取得了75.61mAP(單尺度訓(xùn)練/測試)。
Rotated Task Alignment Learning TOOD一文提出的TAL由assign與loss兩部分構(gòu)成,其assign部分構(gòu)建一個(gè)任務(wù)對齊度量準(zhǔn)則選擇正樣本,定義如下:
在旋轉(zhuǎn)任務(wù)對齊學(xué)習(xí)(RTAL)過程中,正樣本選擇過程可以充分利用GT的幾何特性,引入了SkewIoU替換上式的。通過使用RTAL,模型檢測指標(biāo)提升到了77.24mAP。
Decouple Angle Prediction Head "解耦"無疑是一種很有效的思路,在這里同樣適用。一般來講,的預(yù)測要比更難,且所需特征也存在差異。通過引入解耦角度預(yù)測分支,模型檢測指標(biāo)提升0.54mAP達(dá)到了77.78mAP。
Angle Prediction with DFL ProbIoU采用回歸損失對進(jìn)行聯(lián)合優(yōu)化。為計(jì)算ProbIoU,旋轉(zhuǎn)框需要轉(zhuǎn)換為高斯框。當(dāng)旋轉(zhuǎn)框接近正方形時(shí),旋轉(zhuǎn)角度無法有效決定。為解決該問題,作者引入了DFL預(yù)測角度。具體來說,我們對角度進(jìn)行離散化處理并得到積分形式的預(yù)測,描述如下:
注:在本文中,作者采用了OpenCV關(guān)于旋轉(zhuǎn)框的定義并設(shè)置。通過引入DFL,模型檢測性能提升了0.23mAP達(dá)到了78.01mAP。
Leanable Gating Unit for RepVGG RepVGG是一種非常好的漲點(diǎn)方案,作者進(jìn)一步引入了可學(xué)習(xí)門限單元以控制前一層的信息量。該設(shè)計(jì)主要是針對小目標(biāo)與稠密目標(biāo)而設(shè)計(jì),以使其自適應(yīng)融合不同感受野特征。
注:分別表示卷積。在PP-YOLOE中,RepResBlock并未使用短連接分支,即每個(gè)RepResBlock金輝引入一個(gè)可學(xué)習(xí)參數(shù),而在推理階段,該參數(shù)可以合并到卷積中,故不會對參數(shù)量與速度產(chǎn)生任何影響。通過引入可學(xué)習(xí)門限單元,模型檢測性能提升了0.13mAP達(dá)到了78.14mAP。

此外,作者還嘗試將ProbIoU損失替換為KLD損失(它具有尺度不變性,非常適用于Anchor-free方案),但是出現(xiàn)了大幅性能下降,見上表。

上圖給出了本文方案與其他旋轉(zhuǎn)目標(biāo)檢測方案的性能對比,可以看到:
單尺度訓(xùn)練/測試:PP-YOLOE-R-l/x分別取得了78.14mAP與78.28mAP,幾乎超越了其他所有旋轉(zhuǎn)目標(biāo)檢測;
多尺度訓(xùn)練/測試:PP-YOLOE-R-l/x分別取得了80.02mAP與80.73mAP。PP-YOLOE-x超越了所有Anchor-free方案,僅比兩階段Anchor-based最優(yōu)方案低0.2mAP。
多尺度訓(xùn)練/測試:PP-YOLOE-R-s與PP-YOLOE-R-m可以取得79.42mAP與79.71mAP,同樣是非常優(yōu)異的結(jié)果(考慮到參數(shù)量與FLOPs)。
值得一提的是,在保持高性能的同時(shí),PP-YOLOE-R并未使用特殊的算子(如DeformConv、Rotated RoI Align),這使得它可以在不同硬件平臺上進(jìn)行部署,PP-YOLOE-R可以輕松的采用TensorRT進(jìn)行加速,而其他SOTA方案大部分不支持TensorRT加速。當(dāng)輸入為,開啟FP16后,PP-YOLOE-R-s/m/l/x在RTX2080Ti上推理速度可達(dá)69.8/55.1/48.3/37.1FPS。
推薦閱讀
優(yōu)于ConvNeXt,南開&清華開源基于大核注意力的VAN架構(gòu) CVPR2022 | RepLKNet: 大核卷積+結(jié)構(gòu)重參數(shù)讓CNN再次偉大 RepVGG|讓你的ConVNet一卷到底,plain網(wǎng)絡(luò)首次超過80%top1精度 Timm助力ResNet煥發(fā)“第二春”,無蒸餾且無額外數(shù)據(jù),性能高達(dá)80.4% Apple提出更小、更快、更高性能的端側(cè)實(shí)時(shí)Transformer類輕量型MobileViT MobileNeXt來了!打破常規(guī),逆殘差模塊超強(qiáng)改進(jìn),精度速度雙超MobileNetV2 “文藝復(fù)興” ConvNet卷土重來!FAIR重新設(shè)計(jì)純卷積新架構(gòu) Transformer的終章還是新起點(diǎn)?MetaFormer才是你真正需要的
