YOLO系列概述(yolov1至yolov7)
參考:
- 睿智的目標檢測53——Pytorch搭建YoloX目標檢測平臺
- YoloV7
yolo的發(fā)展歷史
首先我們來看一下yolo系列的發(fā)展歷史,yolo v1和yolox是anchor free的方法,yolov2,yolov3,一直到y(tǒng)olov7是anchor base的方法。首選我們來回顧下每個版本的yolo都做了些什么
yolo v1是將 416 ? 416 416*416 416?416的圖片,分成了 7 ? 7 7*7 7?7的網(wǎng)格,每個網(wǎng)格默認回歸兩個object,也就是最終預(yù)測一個長度為SS(B*5+C)的向量,這里 s = 7 , b = 2 s=7,b=2 s=7,b=2,c是class的類別數(shù)量。
那么這里引入一個問題,為什么yolox也是anchor free的方法性能好,而yolo v1性能偏弱呢?這里主要是因為yolox與centernet類似,通過預(yù)測中心點,使得模型的預(yù)測更為準確。對于yolox會有一個featuremap表示某個位置是中心點的概率,而中心點比起長寬更能表示一個物體的特征。
我們再來看yolov2,因為此時faster rcnn的興起,在faster rcnn中 最后一層featuremap每個位置可以回歸9個anchor,而anchor作為先驗知識發(fā)揮了巨大的作用,因此引入了yolov2中,當(dāng)然yolov2也提出了一些訓(xùn)練模型的技巧,比如先訓(xùn)練分類等等。并且因為anchor的存在,在一定程度上解決了yolo的小目標問題。
yolov2之后就到了yolov3,當(dāng)時fpn的誕生,又進一步解決了小目標問題,由于對于小目標來說經(jīng)過多層卷機之后feature可能就不見了或者很小了,那么就考慮到,淺層的特征范圍還比較大,如果能把淺層特征和深層特征concat到一起,就既有了表層特征又有了語義特征,因為fpn的加入 yolov3取得了較好的性能。
yolov4和yolov5值得一提的除了backbone改進之外,在數(shù)據(jù)增強上也做了創(chuàng)新,比如mosaic,mixup等方法的引入。其中mosaic指的就是將四張圖片拼接成一張用于目標檢測,這種方法的優(yōu)點在于豐富的背景信息有助于檢測,而mixup是將兩張圖片加和到一起。并且neck部分,作者也用了panet的方法,不僅僅通過兩次上采樣cancat,在此基礎(chǔ)上又用了兩次下采樣。這樣可以將特征更有效的融合到一起。
yolox和yolov7將在后面詳細介紹.
yolox
首先,yolox在backbone部分引入的focus網(wǎng)絡(luò),類似于pooling的策略,但是他沒有像maxpooling一樣把小的feature丟掉,而是隔一個位置取一個值后堆疊到channel中,因為我們知道通道數(shù)越高,表征能力越強。
再次我們看一下作者用silu替換了relu,silu的優(yōu)勢在于它是全局可導(dǎo)的,不存在不可導(dǎo)的0點。
另外,在backbone部分,我們可以得到的啟示就是,怎樣將小的conv+bn+silu組成的基本卷積結(jié)構(gòu)構(gòu)造成不同類型的殘差結(jié)構(gòu)。
另外,在head部分,作者認為yolov3中的類別和坐標放到一個
1
?
1
1*1
1?1卷積得到,會相互影響。因此把它分成兩個分支。
最后,SimOTA就是一個動態(tài)分配正樣本的算法,將預(yù)測框中十個iou最大的值加起來,近似得到的值就是將用來訓(xùn)練的正樣本數(shù)量。這一方法也在后續(xù)的yolo中被使用。
yolov7
22年夏天,又有大神提出了yolov7,可以看到同等fps下,ap比yolox可以提高5個點,那么我們就來看看有什么創(chuàng)新。
首先在backbone中,我們可以看到,其實作者改進的E-ELAN只是將原來4倍通道提高到了8倍,所以這也印證了我們之前說的,高通道有更強的特征表達能力。而E-ELAN沒有采用殘差的加和方式,而是采用了堆疊的方式,毫無疑問計算量更大,但是表征力更強,如果考慮輕量化,或許可以考慮改成加和的方式。文章來源:http://www.zghlxwxcb.cn/news/detail-447620.html
另外在檢測頭部分采用的rep網(wǎng)絡(luò),當(dāng)訓(xùn)練時,有三個分支,分別是 1 ? 1 1*1 1?1卷積, 3 ? 3 3*3 3?3卷積,和只有bn三個分支,但是預(yù)測時候,只保留主分支 3 ? 3 3*3 3?3分支,這就比較像dropout,它會讓一部分節(jié)點失活,或許可以起到跟dropout同樣的作用,減少過擬合。文章來源地址http://www.zghlxwxcb.cn/news/detail-447620.html
到了這里,關(guān)于YOLO系列概述(yolov1至yolov7)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!