EdgeYOLO:邊緣設備上實時運行的目標檢測器及Pytorch實現
本文經計算機視覺研究院公眾號授權轉載,轉載請聯系出處。
代碼地址:https://github.com/LSH9832/edgeyolo
01 概述
研究者開發了一種增強的數據增強方法來有效抑制訓練過程中的過擬合,并設計了一種混合隨機損失函數來提高小目標的檢測精度。受FCOS的啟發,提出了一種更輕、更高效的解耦頭,可以在不損失精度的情況下提高推理速度。提出的基線模型在MS COCO2017數據集中可以達到50.6%的AP50:95和69.8%的AP50準確度,在VisDrone2019 DET數據集可以達到26.4%的AP50:95和44.8%的AP50準確度,并且它滿足邊緣計算設備Nvidia Jetson AGX Xavier的實時性要求(FPS≥30)。
02 介紹
在常見的目標檢測數據集(如MS COCO2017)上,使用兩階段策略的模型比使用一階段策略的要好一點。盡管如此,由于兩階段框架的內部限制,它遠遠不能滿足傳統計算設備的實時性要求,并且在大多數高性能計算平臺上可能面臨同樣的情況。相比之下,單級目標檢測器可以在實時指標和性能之間保持平衡。因此,他們更受研究人員的關注,YOLO系列算法以高速迭代更新。從YOLOv1到YOLOv3的更新主要是對底層框架結構的改進,YOLO的大多數后期主流版本都專注于提高精度和推理速度。
此外,他們的優化測試平臺主要是具有高性能GPU的大型工作站。然而,他們最先進的模型在這些邊緣計算設備上通常以令人不滿意的低FPS運行。為此,一些研究人員提出了參數較少、結構較輕的網絡結構,如MobileNet和ShuffleNet,以取代原有的骨干網絡,從而在移動設備和邊緣設備上實現更好的實時性能,但要犧牲一定的精度。在今天分享中,研究者的目標是設計一種具有良好精度并可以在邊緣設備上實時運行的物體檢測器。
如下圖所示,研究者還為計算能力較低的邊緣計算設備設計了更輕、參數更少的模型,這些設備也顯示出更好的性能。
03 新框架
隨機數據擴充不可避免地會導致一些標簽無效,例如(a)中第二張圖的右下角和第三張圖的左下角。雖然有方框,但它們不能提供有效的目標信息。標簽數量過少會對訓練產生明顯的負面影響,可以通過增加(b)中的有效方框數量來避免這種影響。
Enhanced-Mosaic & Mixup
常用的數據增強策略如下(a)和(b)所示,但是(a)和(b)由于數據變換,容易包含不含有效目標的圖像,此外這種情況的概率隨著每個原始圖像中標簽數量的減少而逐漸增加。
作者因此提出的方法(c):
- 首先,對多組圖像使用Mosaic方法(可以根據數據集中單個圖片中標簽的平均數量的豐富程度來設置組數)
- 然后,通過Mixup方法將最后一個簡單處理的圖像與Mosaic處理的圖像混合(最后一幅圖像的原始圖像邊界在變換后的最終輸出圖像的邊界內)
Lite-Decoupled Head
解耦頭首先在FCOS中提出,然后用于其他Anchor-Free目標檢測器,如YOLOX。在最后幾個網絡層使用解耦結構可以加速網絡收斂并提高回歸性能。但是由于解耦頭采用了導致額外推理成本的分支結構,因此YOLOv6提出了具有更快推理速度的高效解耦頭,這將中間3×3卷積層的數量減少到僅一層,同時保持與輸入特征圖相同的更大數量的通道。
但是這種額外的推理成本隨著通道和輸入大小的增加也變得更加明顯。因此引入重參化的技術增強學習能力的同時加快推理。
04 實驗
representative results in VisDrone2019-DET-val
representative results on MS COCO2017-val