博客專欄

EEPW首頁 > 博客 > yolov5部署到iPhone或終端實踐全過程一

yolov5部署到iPhone或終端實踐全過程一

發(fā)布人:CV研究院 時間:2021-04-27 來源:工程師 發(fā)布文章

期待已久的檢測經典又來來了一波強襲——yolov5。其實yolov5沒有完整的文件,現(xiàn)在最重要的應該是把yolov4弄清楚,在目標檢測領域中受益匪淺,可以在某些場景得到較高的提升。今天我們還是給大家分享yolov4,下一期我們將實踐得將yolov5部署到蘋果手機或者在終端通過攝像頭實時檢測!

一、技術回顧

有大量的特征被認為可以提高卷積神經網絡(CNN)的精度。需要在大型數(shù)據(jù)集上對這些特征的組合進行實際測試,并對結果進行理論驗證。某些功能只對某些模型進行操作,某些問題只對某些模型進行操作,或只對小規(guī)模數(shù)據(jù)集進行操作;而某些功能(如批處理規(guī)范化和剩余連接)則適用于大多數(shù)模型、任務和數(shù)據(jù)集。本文假設這些通用特征包括加權剩余連接(WRC)、跨階段部分連接(CSP)、跨小批量規(guī)范化(CmBN)、自對抗訓練(SAT)和Mish激活。本文使用了新功能:WRC、CSP、CmBN、SAT、誤激活、馬賽克數(shù)據(jù)增強、CmBN、DropBlock正則化和CIoU丟失,并將其中一些功能結合起來,以達到以下效果:43.5%的AP(65.7%的AP50)用于MS COCO數(shù)據(jù)集,在Tesla V100上以65 FPS的實時速度。

1.png

二、創(chuàng)新點分析

 Mosaic數(shù)據(jù)增強

把四張圖拼成一張圖來訓練,變相的等價于增大了mini-batch。這是從CutMix混合兩張圖的基礎上改進;

2.png

Self-Adversarial Training

在一張圖上,讓神經網絡反向更新圖像,對圖像做改變擾動,然后在這個圖像上訓練。這個方法,是圖像風格化的主要方法,讓網絡反向更新圖像來風格化圖像。

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.

3.png

Cross mini-batch Normal

CmBN表示CBN修改的版本,如下圖所示,定義為 Cross mini-Batch Normalization(CMBN)。這只收集單個批次內最小批次之間的統(tǒng)計數(shù)據(jù)。

4.png

modify SAM

5.png6.png

從SAM的逐空間的attention,到逐點的attention;修改的PAN,把通道從相加(add)改變?yōu)閏oncat。

 實驗 

7.png

以數(shù)據(jù)增強方法為例,雖然增加了訓練時間,但可以讓模型泛化性能和魯棒性更好。例如下面的常見增強方法:

圖像擾動,

改變亮度、對比對、飽和度、色調

加噪聲

隨機縮放

隨機裁剪(random crop)

翻轉

旋轉

隨機擦除(random erase)

Cutout

MixUp

CutMix

通過實驗看得出,用了很多tricks,簡直就是目標檢測最強萬花筒,下表是對分類網絡的實驗:

CSPResNeXt-50 classifier accuracy

8.png

CSPDarknet-53 classifier accuracy

9.png

在YOLOv4檢測網絡上,對比了四個loss(GIoU、CIoU、DIoU、MSE),標簽平滑,Cosine學習率,遺傳算法選超參數(shù),Mosaic數(shù)據(jù)增強等各種方法。下表是YOLOv4檢測網絡上的消融實驗結果:

CSPResNeXt50-PANet-SPP, 512x512

10.png11.png

使用不同與訓練權重模型用于訓練:

12.png

不同的mini-batch size結果:

13.png

最后,是在Maxwell、Pascal、Volta三個不同系列的GPU,在COCO 數(shù)據(jù)集上的結果對比:

14.png

最勁爆的是,在COCO數(shù)據(jù)集,與其他框架比較(速度和精度):

15.png16.png17.png18.png

下一期,我們一起來看看怎么將yolov5部署到移動端或者終端通過攝像頭進行目標實時檢測!

*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。



關鍵詞: 深度學習

相關推薦

技術專區(qū)

關閉