期待已久的偵測經典又來了一波強襲-YOLOv5。其中,YOLOv5沒有完整的文件,現在最重要的應該是把YOLOv4弄清楚,在目標檢測領域中受益匪淺,可以在某些場景得到較高的提升。今天我們還是給大家分析YOLOv4,下一期我們將實踐得將YOLOv5部署到蘋果手機或在終端通過攝像頭實時檢測!
有大量的特徵被認為可以提高卷積神經網路(CNN)的精確度。需要在大型資料集上對這些特徵的組合進行實際測試,並對結果進行理論驗證。某些功能只對某些模型進行操作,某些問題只對某些模型進行操作,或只對小規模資料集進行操作;而某些功能(如批次規範化和剩餘連接)則適用於大多數模型、任務和資料集。本文假設這些通用特徵包括加權剩餘連結(WRC)、跨階段連結(CSP)、跨小批量規範化(CMbN)、自對抗訓練(SAT)和Mish活化。本文使用了新功能:WRC、CSP、CMbN、SAT、錯誤激活、馬賽克資料增強、CMbN、DropBlock正則化和CIoU丟失,並將其中一些功能結合起來,以達到以下效果:43.5%的AP(65.7%的AP50),使用MS+COCO資料集,在Tesla V100上即時速度為65 FPS。
Mosaic資料增強
把四張圖拼成一張圖來訓練,變相的等價於增加了mini-batch。這是從CutMix混合兩張圖的基礎上改進;
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 als the original netage inweight the . 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 ified in the normal way.
#Cross mini-batch Normal
CmBN表示CBN修改的版本,如下圖所示,定義為Cross mini-Batch Normalization(CMBN)。這只收集單一批次內最小批次之間的統計資料。
modify SAM
從SAM的逐空間的attention,到逐點的attention;修改的PAN,把通道從相加(add)改變為concat。
#以資料增強方法為例,雖然增加了訓練時間,但可以讓模型泛化性能和魯棒性更好。例如下面的常見增強方法:
#透過實驗看得出,用了很多tricks,簡直就是目標偵測最強萬花筒,下表是對分類網路的實驗:
CSPResNeXt-50 classifier accuracy CSPDarknet-53 classifier accuracy##CSPDarknet-53 classifier accuracy
在YOLOv4偵測網路上,比較了四個loss(GIoU、CIoU、DIoU、MSE),標籤平滑,Cosine學習率,遺傳演算法選超參數,Mosaic資料增強等各種方法。下表是YOLOv4檢測網路上的消融實驗結果:
CSPResNeXt50-PANet-SPP, 512x512
##使用不同與訓練權重模型來訓練:
# #不同的mini-batch size結果:最後,是在Maxwell、Pascal、Volta三個不同系列的GPU,在COCO 資料集上的結果比較:
以上是yolov部署到iPhone或終端實務全過程的詳細內容。更多資訊請關注PHP中文網其他相關文章!