大神接棒,YOLOv4来了!
文章來(lái)源于CVer,作者Amusi
前言
今天刷屏的動(dòng)態(tài)一定是 YOLOv4!
本文 Amusi 會(huì)跟大家說(shuō)一下在別處看不到內(nèi)容(大神接棒),歡迎繼續(xù)閱讀!
之前,YOLO系列(v1-v3)作者 Joe Redmon 宣布不再繼續(xù)CV方向的研究,引起學(xué)術(shù)圈一篇嘩然。YOLO之父宣布退出CV界,坦言無(wú)法忽視自己工作帶來(lái)的負(fù)面影響
推文鏈接:https://twitter.com/jeremyphoward/status/1230610470991589376
Amusi 特意去谷歌學(xué)術(shù)上搜索了一下YOLOv1-v3的引用量,累計(jì)破16000+!
大神接棒,YOLOv4來(lái)了!
當(dāng)大家以為再也見不到Y(jié)OLOv4的時(shí)候,然鵝今天 YOLOv4 來(lái)了!
YOLOv4的作者陣容里并沒有Joe Redmon,也驗(yàn)證了大神曾說(shuō)不再繼續(xù)CV研究的這條消息。但都木有YOLO之父Joe Redmon的論文,其名字為什么還敢叫YOLOv4呢,不怕被噴么?
這里Amusi 花點(diǎn)時(shí)間跟大家介紹一下這個(gè)有趣的事情。
先說(shuō)說(shuō):大神接棒的事情
停更兩年之久的的YOLO github官網(wǎng)正式更新 README,那么更新了什么呢?接著往下看
YOLO官網(wǎng):https://github.com/pjreddie/darknet
YOLO官方github正式加入YOLOv4的論文和代碼鏈接,也意味著YOLOv4得到了Joe Redmon的認(rèn)可,也代表著YOLO的停更與交棒。
關(guān)于YOLOv4,Amusi 曾寫過這樣一篇文章來(lái)預(yù)宣傳(現(xiàn)在想想,應(yīng)該是全網(wǎng)第一個(gè)這樣介紹的):等待YOLOv4的期間,它還在更新
YOLOv4的一作是 Alexey Bochkovskiy,用過YOLO的同學(xué),特別是用過Windows版YOLO的同學(xué)對(duì)這個(gè)名字一定很熟悉!
因?yàn)樗褪莇arknet另一個(gè)github版本的維護(hù)者,也就是YOLOv4的代碼庫(kù):
https://github.com/AlexeyAB/darknet
據(jù)Amusi 猜測(cè)推斷,Alexey Bochkovskiy 是一名獨(dú)立研究員,這里更愿意稱為之YOLO接棒者,YOLO社區(qū)推動(dòng)者。這里對(duì)Alexey不過多贅述,想了解的同學(xué)可以看一下:等待YOLOv4的期間,它還在更新
值得一提的是,這個(gè)版本的darknet的提交數(shù)已經(jīng)來(lái)到 1777 次。試想一下,你一天提交一次更新,那么就需要你連續(xù)近5年不停更!
我們一般只會(huì)用兩個(gè)字來(lái)形容這種人:碼怪!
YOLOv4 正文
YOLOv4: Optimal Speed and Accuracy of Object Detection
論文:https://arxiv.org/abs/2004.10934
代碼:https://github.com/AlexeyAB/darknet
大家一定被文章開頭的圖片吸引了,位于圖中靠右上角的YOLOv4 多么"亮眼",越靠右上角意味著AP越高、速度FPS越快!而且YOLO被大家追捧的原因之一就是:快而準(zhǔn)。
YOLOv4 在COCO上,可達(dá)43.5% AP,速度高達(dá) 65 FPS!
YOLOv4的特點(diǎn)是集大成者,俗稱堆料。但最終達(dá)到這么高的性能,一定是不斷嘗試、不斷堆料、不斷調(diào)參的結(jié)果,給作者點(diǎn)贊。下面看看堆了哪些料:
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
本文的主要貢獻(xiàn)如下:
1. 提出了一種高效而強(qiáng)大的目標(biāo)檢測(cè)模型。它使每個(gè)人都可以使用1080 Ti或2080 Ti GPU 訓(xùn)練超快速和準(zhǔn)確的目標(biāo)檢測(cè)器(牛逼!)。
2. 在檢測(cè)器訓(xùn)練期間,驗(yàn)證了SOTA的Bag-of Freebies 和Bag-of-Specials方法的影響。
3. 改進(jìn)了SOTA的方法,使它們更有效,更適合單GPU訓(xùn)練,包括CBN [89],PAN [49],SAM [85]等。文章將目前主流的目標(biāo)檢測(cè)器框架進(jìn)行拆分:input、backbone、neck 和 head 具體如下圖所示:
對(duì)于GPU,作者在卷積層中使用:CSPResNeXt50 / CSPDarknet53
對(duì)于VPU,作者使用分組卷積,但避免使用(SE)塊-具體來(lái)說(shuō),它包括以下模型:EfficientNet-lite / MixNet / GhostNet / MobileNetV3
作者的目標(biāo)是在輸入網(wǎng)絡(luò)分辨率,卷積層數(shù),參數(shù)數(shù)量和層輸出(filters)的數(shù)量之間找到最佳平衡。文中稱:CSPDarknet53在檢測(cè)上的表現(xiàn)要優(yōu)于CSPResNext50,關(guān)于CSP,不了解的同學(xué)可以看一下這篇文章:
增強(qiáng)CNN學(xué)習(xí)能力的Backbone:CSPNet
總結(jié)一下YOLOv4框架:
Backbone:CSPDarknet53
Neck:SPP,PAN
Head:YOLOv3
YOLOv4 = CSPDarknet53+SPP+PAN+YOLOv3
其中YOLOv4用到相當(dāng)多的技巧:
用于backbone的BoF:CutMix和Mosaic數(shù)據(jù)增強(qiáng),DropBlock正則化,Class label smoothing
用于backbone的BoS:Mish激活函數(shù),CSP,MiWRC
用于檢測(cè)器的BoF:CIoU-loss,CmBN,DropBlock正則化,Mosaic數(shù)據(jù)增強(qiáng),Self-Adversarial 訓(xùn)練,消除網(wǎng)格敏感性,對(duì)單個(gè)ground-truth使用多個(gè)anchor,Cosine annealing scheduler,最佳超參數(shù),Random training shapes
用于檢測(cè)器的Bos:Mish激活函數(shù),SPP,SAM,PAN,DIoU-NMS
看看YOLOv4部分組件:
感受一下YOLOv4實(shí)驗(yàn)的充分性(調(diào)參的藝術(shù))
感受一下性能炸裂的YOLOv4實(shí)驗(yàn)結(jié)果
論文篇幅很長(zhǎng),高達(dá)17頁(yè),干貨滿滿!推薦大家閱讀原文和源碼進(jìn)行深入理解。
跟我一起喊:大神接棒,YOLOv4 來(lái)了!
論文下載
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)在線手冊(cè)深度學(xué)習(xí)在線手冊(cè)AI基礎(chǔ)下載(pdf更新到25集)本站qq群1003271085,加入微信群請(qǐng)回復(fù)“加群”獲取一折本站知識(shí)星球優(yōu)惠券,復(fù)制鏈接直接打開:https://t.zsxq.com/yFQV7am喜歡文章,點(diǎn)個(gè)在看總結(jié)
以上是生活随笔為你收集整理的大神接棒,YOLOv4来了!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习中常见的损失函数
- 下一篇: 【算法知识】详解归并排序算法