yolov5部署到iPhone或終端實(shí)踐全過(guò)程一
期待已久的檢測(cè)經(jīng)典又來(lái)來(lái)了一波強(qiáng)襲——yolov5。其實(shí)yolov5沒(méi)有完整的文件,現(xiàn)在最重要的應(yīng)該是把yolov4弄清楚,在目標(biāo)檢測(cè)領(lǐng)域中受益匪淺,可以在某些場(chǎng)景得到較高的提升。今天我們還是給大家分享yolov4,下一期我們將實(shí)踐得將yolov5部署到蘋果手機(jī)或者在終端通過(guò)攝像頭實(shí)時(shí)檢測(cè)!
知識(shí)回顧:Yolo 系列詳細(xì)干貨分析
一、技術(shù)回顧
有大量的特征被認(rèn)為可以提高卷積神經(jīng)網(wǎng)絡(luò)(CNN)的精度。需要在大型數(shù)據(jù)集上對(duì)這些特征的組合進(jìn)行實(shí)際測(cè)試,并對(duì)結(jié)果進(jìn)行理論驗(yàn)證。某些功能只對(duì)某些模型進(jìn)行操作,某些問(wèn)題只對(duì)某些模型進(jìn)行操作,或只對(duì)小規(guī)模數(shù)據(jù)集進(jìn)行操作;而某些功能(如批處理規(guī)范化和剩余連接)則適用于大多數(shù)模型、任務(wù)和數(shù)據(jù)集。本文假設(shè)這些通用特征包括加權(quán)剩余連接(WRC)、跨階段部分連接(CSP)、跨小批量規(guī)范化(CmBN)、自對(duì)抗訓(xùn)練(SAT)和Mish激活。本文使用了新功能:WRC、CSP、CmBN、SAT、誤激活、馬賽克數(shù)據(jù)增強(qiáng)、CmBN、DropBlock正則化和CIoU丟失,并將其中一些功能結(jié)合起來(lái),以達(dá)到以下效果:43.5%的AP(65.7%的AP50)用于MS COCO數(shù)據(jù)集,在Tesla V100上以65 FPS的實(shí)時(shí)速度。
二、創(chuàng)新點(diǎn)分析
Mosaic數(shù)據(jù)增強(qiáng)
把四張圖拼成一張圖來(lái)訓(xùn)練,變相的等價(jià)于增大了mini-batch。這是從CutMix混合兩張圖的基礎(chǔ)上改進(jìn);
Self-Adversarial Training
在一張圖上,讓神經(jīng)網(wǎng)絡(luò)反向更新圖像,對(duì)圖像做改變擾動(dòng),然后在這個(gè)圖像上訓(xùn)練。這個(gè)方法,是圖像風(fēng)格化的主要方法,讓網(wǎng)絡(luò)反向更新圖像來(lái)風(fēng)格化圖像。
Self-Adversarial Training (SAT) also represents a new data augmentation technique that operates in 2 forward backward stages. In the 1st stage the neural network alters the original image instead of the network weights. In this way the neural network executes an adversarial attack on itself, altering the original image to create the deception that there is no desired object on the image. In the 2nd stage, the neural network is trained to detect an object on this modified image in the normal way.
Cross mini-batch Normal
CmBN表示CBN修改的版本,如下圖所示,定義為 Cross mini-Batch Normalization(CMBN)。這只收集單個(gè)批次內(nèi)最小批次之間的統(tǒng)計(jì)數(shù)據(jù)。
modify SAM
從SAM的逐空間的attention,到逐點(diǎn)的attention;修改的PAN,把通道從相加(add)改變?yōu)閏oncat。
實(shí)驗(yàn)
以數(shù)據(jù)增強(qiáng)方法為例,雖然增加了訓(xùn)練時(shí)間,但可以讓模型泛化性能和魯棒性更好。例如下面的常見(jiàn)增強(qiáng)方法:
圖像擾動(dòng),
改變亮度、對(duì)比對(duì)、飽和度、色調(diào)
加噪聲
隨機(jī)縮放
隨機(jī)裁剪(random crop)
翻轉(zhuǎn)
旋轉(zhuǎn)
隨機(jī)擦除(random erase)
Cutout
MixUp
CutMix
通過(guò)實(shí)驗(yàn)看得出,用了很多tricks,簡(jiǎn)直就是目標(biāo)檢測(cè)最強(qiáng)萬(wàn)花筒,下表是對(duì)分類網(wǎng)絡(luò)的實(shí)驗(yàn):
CSPResNeXt-50 classifier accuracy
CSPDarknet-53 classifier accuracy
在YOLOv4檢測(cè)網(wǎng)絡(luò)上,對(duì)比了四個(gè)loss(GIoU、CIoU、DIoU、MSE),標(biāo)簽平滑,Cosine學(xué)習(xí)率,遺傳算法選超參數(shù),Mosaic數(shù)據(jù)增強(qiáng)等各種方法。下表是YOLOv4檢測(cè)網(wǎng)絡(luò)上的消融實(shí)驗(yàn)結(jié)果:
CSPResNeXt50-PANet-SPP, 512x512
使用不同與訓(xùn)練權(quán)重模型用于訓(xùn)練:
不同的mini-batch size結(jié)果:
最后,是在Maxwell、Pascal、Volta三個(gè)不同系列的GPU,在COCO 數(shù)據(jù)集上的結(jié)果對(duì)比:
最勁爆的是,在COCO數(shù)據(jù)集,與其他框架比較(速度和精度):
不久前我們也將yolov5部署到移動(dòng)端或者終端通過(guò)攝像頭進(jìn)行目標(biāo)實(shí)時(shí)檢測(cè)!有興趣可以查閱歷史!
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。