大神接棒,YOLOv4來了!

作者| Amusi
編輯 | 叢 末
今天刷屏的動態一定是 YOLOv4!

本文 Amusi 會跟大家說一下在別處看不到內容(大神接棒),歡迎繼續閱讀!
之前,YOLO系列(v1-v3)作者 Joe Redmon 宣佈不再繼續CV方向的研究,引起學術圈一篇譁然。YOLO之父宣佈退出CV界,坦言無法忽視自己工作帶來的負面影響
推文連結:https://twitter.com/jeremyphoward/status/1230610470991589376
Amusi 特意去谷歌學術上搜索了一下YOLOv1-v3的引用量,累計破16000+!
1
大神接棒,YOLOv4來了!
當大家以為再也見不到YOLOv4的時候,然鵝今天YOLOv4來了!
YOLOv4的作者陣容裡並沒有Joe Redmon,也驗證了大神曾說不再繼續CV研究的這條訊息。但都木有YOLO之父Joe Redmon的論文,其名字為什麼還敢叫YOLOv4呢,不怕被噴麼?
這裡Amusi 花點時間跟大家介紹一下這個有趣的事情。
先說說:大神接棒的事情
停更兩年之久的的YOLO github官網正式更新 README,那麼更新了什麼呢?接著往下看
YOLO官網:https://github.com/pjreddie/darknet

YOLO官方github正式加入YOLOv4的論文和程式碼連結,也意味著YOLOv4得到了Joe Redmon的認可,也代表著YOLO的停更與交棒
關於YOLOv4,Amusi 曾寫過這樣一篇文章來預宣傳(現在想想,應該是全網第一個這樣介紹的):等待YOLOv4的期間,它還在更新
YOLOv4的一作是 Alexey Bochkovskiy,用過YOLO的同學,特別是用過Windows版YOLO的同學對這個名字一定很熟悉!

因為他就是darknet另一個github版本的維護者,也就是YOLOv4的程式碼庫:

https://github.com/AlexeyAB/darknet
據Amusi 猜測推斷,Alexey Bochkovskiy 是一名獨立研究員,這裡更願意稱為之YOLO接棒者,YOLO社群推動者。這裡對Alexey不過多贅述,想了解的同學可以看一下:等待YOLOv4的期間,它還在更新
值得一提的是,這個版本的darknet的提交數已經來到 1777 次。試想一下,你一天提交一次更新,那麼就需要你連續近5年不停更!
我們一般只會用兩個字來形容這種人:碼怪
2
YOLOv4 正文

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

程式碼:https://github.com/AlexeyAB/darknet
大家一定被文章開頭的圖片吸引了,位於圖中靠右上角的YOLOv4 多麼"亮眼",越靠右上角意味著AP越高、速度FPS越快!而且YOLO被大家追捧的原因之一就是:快而準。

YOLOv4 在COCO上,可達43.5% AP,速度高達 65 FPS!
YOLOv4的特點是集大成者,俗稱堆料。但最終達到這麼高的效能,一定是不斷嘗試、不斷堆料、不斷調參的結果,給作者點贊。下面看看堆了哪些料:

  • Weighted-Residual-Connections (WRC)
  • Cross-Stage-Partial-connections (CSP)
  • Cross mini-Batch Normalization (CmBN)
  • Self-adversarial-training (SAT)
  • Mish-activation
  • Mosaic data augmentation
  • CmBN
  • DropBlock regularization
  • CIoU loss
本文的主要貢獻如下:
1. 提出了一種高效而強大的目標檢測模型。它使每個人都可以使用1080 Ti或2080 Ti GPU 訓練超快速和準確的目標檢測器(牛逼!)。
2. 在檢測器訓練期間,驗證了SOTA的Bag-of Freebies 和Bag-of-Specials方法的影響。
3. 改進了SOTA的方法,使它們更有效,更適合單GPU訓練,包括CBN [89],PAN [49],SAM [85]等。文章將目前主流的目標檢測器框架進行拆分:input、backbone、neck 和 head具體如下圖所示:
  • 對於GPU,作者在卷積層中使用:CSPResNeXt50 / CSPDarknet53
  • 對於VPU,作者使用分組卷積,但避免使用(SE)塊-具體來說,它包括以下模型:EfficientNet-lite / MixNet / GhostNet / MobileNetV3
作者的目標是在輸入網路解析度,卷積層數,引數數量和層輸出(filters)的數量之間找到最佳平衡。文中稱:CSPDarknet53在檢測上的表現要優於CSPResNext50,關於CSP,不瞭解的同學可以看一下這篇文章:《增強CNN學習能力的Backbone:CSPNet
總結一下YOLOv4框架:
  • Backbone:CSPDarknet53
  • Neck:SPP,PAN
  • Head:YOLOv3
YOLOv4 = CSPDarknet53+SPP+PAN+YOLOv3
其中YOLOv4用到相當多的技巧:
  • 用於backbone的BoF:CutMix和Mosaic資料增強,DropBlock正則化,Class label smoothing
  • 用於backbone的BoS:Mish啟用函式,CSP,MiWRC
  • 用於檢測器的BoF:CIoU-loss,CmBN,DropBlock正則化,Mosaic資料增強,Self-Adversarial 訓練,消除網格敏感性,對單個ground-truth使用多個anchor,Cosine annealing scheduler,最佳超引數,Random training shapes
  • 用於檢測器的Bos:Mish啟用函式,SPP,SAM,PAN,DIoU-NMS
看看YOLOv4部分元件:
感受一下YOLOv4實驗的充分性(調參的藝術)
感受一下效能炸裂的YOLOv4實驗結果
論文篇幅很長,高達17頁,乾貨滿滿!推薦大家閱讀原文和原始碼進行深入理解。
跟我一起喊:大神接棒,YOLOv4 來了!

AI 科技評論系列直播
1、ACL 2020 - 復旦大學系列解讀
直播主題:不同粒度的抽取式文字摘要系統
主講人:王丹青、鐘鳴
直播時間:4月 25 日,(週一晚) 20:00整。
直播主題:結合詞典命名實體識別【ACL 2020 - 復旦大學系列解讀之(二)】
主講人:馬若恬, 李孝男
直播時間:4月 26 日,(週一晚) 20:00整。
直播主題:ACL 2020 | 基於對抗樣本的依存句法模型魯棒性分析
【ACL 2020 - 復旦大學系列解讀之(三)】
主講人:曾捷航
直播時間:4月 27 日,(週一晚) 20:00整。
2、ICLR 2020 系列直播
直播主題:ICLR 2020丨Action Semantics Network: Considering the Effects of Actions in Multiagent Systems
主講人:王維壎
回放連結:http://mooc.yanxishe.com/open/course/793
直播主題:ICLR 2020丨透過負取樣從專家資料中學習自我糾正的策略和價值函式
主講人:羅雨屏
回放連結:http://mooc.yanxishe.com/open/course/802(回時間:4月25日上午10點
直播主題:ICLR 2020丨分段線性啟用函式塑造了神經網路損失曲面
主講人:何鳳翔
直播時間:4月24日 (週五晚) 20:00整
如何加入?
掃碼關注[ AI研習社頂會小助手] 微訊號,傳送關鍵字“ICLR 2020+直播” 或 “ACL 2020+直播”,即可進相應直播群,觀看直播和獲取課程資料。

相關文章