超越YOLOv4的目標檢測算法-PP-YOLO

點擊上方AI算法與圖像處理」,選擇加"星標"或「置頂」
git

重磅乾貨,第一時間送達github

來源:深度學習與計算機視覺web

PP-YOLO的實驗評估指標比現有最早進的對象檢測模型YOLOv4表現出更好的性能,然而,本文並不打算介紹一種新型的目標檢測器,而更像是一個食譜,告訴你如何逐步創建一個更好的探測器。
讓咱們一塊兒看看。

YOLO發展史

YOLO最初是由Joseph Redmon提出,是用於檢測目標的算法。目標檢測是一種計算機視覺技術,它經過在目標周圍畫一個邊界框來定位和標記對象,並肯定一個給定的框所屬的類標籤。YOLO和大型NLP transformers不一樣,它設計得很小,可爲設備上的部署提供實時推理速度。
YOLO-9000是Joseph Redmon提出的第二個「YOLOv2」目標探測器,它改進了探測器,並強調了該檢測器可以推廣到世界上任何物體的能力。
YOLOv3對檢測網絡作了進一步的改進,並開始將目標檢測過程歸入主流。咱們如今也在發佈關於如何在PyTorch中訓練YOLOv三、如何在Keras中訓練YOLOv3的教程,並將YOLOv3的性能與EfficientDet(另外一種最早進的檢測器)進行比較。
而後約瑟夫·雷德曼出於倫理考慮退出了目標探測的研究。
固然,開源社區接過了指揮棒,繼續推進YOLO技術的發展。
YOLOv4由Alexey AB在他的YOLO Darknet存儲庫中發表。YOLOv4主要是其餘已知計算機視覺技術的集合,經過研究過程進行了組合和驗證。請看這裏來深刻了解YOLOv4。
  • https://blog.roboflow.ai/a-thorough-breakdown-of-yolov4/
以下所示,咱們也提供了一些關於如何在Darknet中訓練YOLOv4的很好的訓練教程。
  • https://blog.roboflow.ai/training-yolov4-on-a-custom-dataset/
YOLOv5採用了Darknet(基於C)的訓練環境,並將網絡轉換爲Pytorch。改進的訓練技術進一步提升了模型的性能,並建立了一個很是好用的開箱即用的對象檢測模型。從那之後,咱們一直鼓勵使用Roboflow的開發人員經過這個YOLOv5訓練教程將他們的注意力轉向YOLOv5,以造成他們的自定義對象檢測器。

PP表明什麼?

PP是百度編寫的深度學習框架PaddlePaddle的縮寫。
若是你不熟悉Paddle,那咱們就在同一條船上了。paddle最初是用Python編寫的,它看起來相似於PyTorch和TensorFlow。深刻研究paddle框架是頗有趣,但這超出了本文的範圍。

PP-YOLO貢獻

PP-YOLO的論文讀起來很像YOLOv4論文,由於它是計算機視覺中已知的技術的彙總。新穎的貢獻是證實這些技術的集成可提升性能,並提供消融研究,以研究每一步對模型的幫助程度。
在咱們深刻研究PP-YOLO的貢獻以前,先回顧一下YOLO檢測器的體系結構。

解剖YOLO檢測器

YOLO檢測器分爲三個主要部分。
YOLO Backbone:YOLO Backbone(骨幹)是一個卷積神經網絡,它將圖像像素合併在一塊兒以造成不一樣粒度的特徵。骨幹網絡一般在分類數據集(一般爲ImageNet)上進行預訓練。
YOLO Neck:YOLO Neck(上面選擇了FPN)在傳遞到預測頭以前對ConvNet圖層表示進行組合和混合。
YOLO Head:這是網絡中進行邊界框和類預測的部分。它由關於類,框和對象的三個YOLO損失函數進行訓練。

如今,讓咱們深刻了解PP YOLO作出的貢獻。

更換骨幹網

第一種PP YOLO技術是用Resnet50-vd-dcn ConvNet骨幹替換YOLOv3 Darknet53骨幹。Resnet是一個更流行的骨幹,它的執行優化了更多的框架,而且其參數少於Darknet53。經過交換此骨幹能夠看到mAP的改進,這對PP YOLO來講是一個巨大的勝利。

模型參數的EMA

PP-YOLO跟蹤網絡參數的指數移動平均,以保持模型權重的陰影預測時間。這已經被證實能夠提升推理的準確性。

更大的批量

PP-YOLO將批量大小從64增長到192,固然若是有GPU內存限制,這是很難實現。

DropBlock正則化

PP-YOLO在FPN頸部實現DropBlock正則化(在過去,這一般發生在骨幹)。在網絡的給定步驟中,DropBlock會隨機刪除一部分訓練特徵,以指示模型不依賴於關鍵特徵進行檢測。

IOU損失

YOLO損失函數不能很好地轉換爲mAP指標,該指標在計算中大量使用了Union上的Intersection,所以在考慮到最終預測的狀況下修改訓練損失函數是頗有用的。這個修改措施也用在YOLOv4中。

IoU Aware

PP-YOLO網絡添加了一個預測分支,以預測給定對象的模型估計的IOU。在決定是否預測對象時包含此IoU Aware可提升性能。

電網靈敏度

舊的YOLO模型不能很好地在錨框區域的邊界附近進行預測,爲了不這個問題,能夠稍微修改框座標的定義。YOLOv4中也有這種技術。

矩陣非最大抑制

非最大抑制是一種刪除冗餘的候選對象來進行分類的技術。矩陣非最大抑制是一種並行排序這些候選預測的技術,它加快了計算速度。

CoordConv

CoordConv受ConvNets中一個問題的啓發,即ConvNets僅將(x,y)座標映射到一個熱像素空間。CoordConv解決方案是使卷積網絡能夠訪問其本身的輸入座標。CoordConv干預措施上方標有黃色菱形。有關更多詳細信息,請參見CordConv文件。
  • https://arxiv.org/pdf/1807.03247.pdf

SPP

空間金字塔池化是骨幹層以後的一個額外塊,用於混合和合並空間特徵,這還在YOLOv4和YOLOv5中實現。

更好的預訓練骨幹

PP YOLO的做者提煉出更大的ResNet模型做爲骨幹。更好的預訓練模型也能夠改善下游的轉移學習。

PP-YOLO是最早進的嗎?

PP-YOLO優於2020年4月23日發佈的YOLOv4結果。
  • YOLOv4: https://arxiv.org/pdf/2004.10934.pdf
做者的意圖彷佛不僅是「引入一種新穎的新型檢測器」,而是代表仔細調整對象檢測器以最大化性能的過程。在此處引用做者的文章介紹:
本文的重點是如何堆疊一些幾乎不影響效率的有效技巧以得到更好的性能,本文無心介紹一種新穎的目標檢測器,它更像一個食譜,它告訴你如何逐步構建更好的檢測器。咱們發現了一些對YOLOv3檢測器有效的技巧,能夠節省開發人員的反覆試驗時間。最終的PP-YOLO模型以比YOLOv4更快的速度將COCO的mAP從43.5%提升到45.2%
PP-YOLO將YOLOv3模型在COCO對象檢測任務上從38.9 mAP提高到44.6 mAP,並將推理FPS從58增長到73。文章中說明了這些指標,優於YOLOv4和EfficientDet的當前發佈結果。
在以YOLOv5爲基準對PP-YOLO進行基準測試時,YOLOv5彷佛仍在V100上具備最快的推理精度(AP與FPS),可是,YOLOv5論文仍然有待發布,此外研究代表,在YOLOv5 Ultralytics存儲庫上訓練YOLOv4體系結構的性能要優於YOLOv5,而且以可移植的方式,使用YOLOv5進行訓練的YOLOv4的性能將優於此處發佈的PP-YOLO結果。這些結果仍有待正式發佈,但能夠追溯到GitHub上的討論。
  • https://github.com/ultralytics/yolov5/issues/6
值得注意的是,在YOLOv4中使用的許多技術(如架構搜索和數據擴充)並無在ppyolo中使用,這意味着,隨着更多這些技術的結合和集成,目標檢測的最新技術仍有發展的空間。
毋庸置疑,這是實施計算機視覺技術使人激動人心的時刻。

我應該從YOLOv4或YOLOv5切換到PP-YOLO嗎?

PP-YOLO模型顯示了最早進的目標檢測的前景,但與其餘對象檢測器相比,改進是漸進的,它是在一個新的框架中進行編寫的。在這個階段中,最好的作法是經過在本身的數據集上訓練PP-YOLO來提升本身的實驗效果。
同時,我建議你查看如下YOLO教程,讓你的對象探測器成爲現實:
  • 如何在Darknet中訓練YOLOv4
    • https://blog.roboflow.ai/training-yolov4-on-a-custom-dataset/
  • 如何在PyTorch中訓練YOLOv5
    • https://blog.roboflow.ai/how-to-train-yolov5-on-a-custom-dataset/
參考連接:https://towardsdatascience.com/pp-yolo-surpasses-yolov4-object-

歡迎加入學習交流羣!


下載1:OpenCV黑魔法算法


AI算法與圖像處理」公衆號後臺回覆:OpenCV黑魔法,便可下載小編精心編寫整理的計算機視覺趣味實戰教程微信



下載2 CVPR2020

AI算法與圖像處公衆號後臺回覆: CVPR2020 便可下載1467篇CVPR 2020論文
 
           
           
           
            
            
                     
            
 
           
我的微信(若是沒有備註不拉羣!
請註明: 地區+學校/企業+研究方向+暱稱


以爲有趣就點亮在看吧網絡


本文分享自微信公衆號 - AI算法與圖像處理(AI_study)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。架構

相關文章
相關標籤/搜索