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