天天看點

【小白學YOLO】YOLOv3網絡結構細緻解析

摘要:本文将詳細介紹Yolov3的網絡結構相關内容。

Yolov3 網絡結構

在部落格“Yolo發展曆史及網絡結構”中我們已經詳細的解釋了Yolov1的網絡結構,并簡要的提到了Yolov2與Yolov3對于網絡結構的改進,本篇部落格将詳細介紹Yolov3的網絡結構,内容比較簡單。

Yolov3網絡結構圖

【小白學YOLO】YOLOv3網絡結構細緻解析

從圖中可以看出,Yolov3主要有以下幾部分組成:

  • 輸入
  • 基礎網絡:基礎網絡是可以根據具體的需求選擇,作者原文用的是自己設計的:Darknet-53
  • YOLOv3網絡的三個分支:Y1,Y2,Y3

網絡部件介紹

DBL: 如圖1左下角所示,也就是代碼中的Darknetconv2d_BN_Leaky,是yolo_v3的基本元件。就是卷積+BN+Leaky relu。對于v3來說,BN和leaky relu已經是和卷積層不可分離的部分了(最後一層卷積除外),共同構成了最小元件。

resn:n代表數字,有res1,res2, … ,res8等等,表示這個res_block裡含有多少個res_unit。這是yolo_v3的大元件,yolo_v3開始借鑒了ResNet的殘差結構,使用這種結構可以讓網絡結構更深(從v2的darknet-19上升到v3的darknet-53,前者沒有殘差結構)。對于res_block的解釋,可以在圖1的右下角直覺看到,其基本元件也是DBL。

concat:張量拼接。将darknet中間層和後面的某一層的上采樣進行拼接。拼接的操作和殘差層add的操作是不一樣的,拼接會擴充張量的次元,而add隻是直接相加不會導緻張量次元的改變。

YOLOv3網絡的三個分支

【小白學YOLO】YOLOv3網絡結構細緻解析

多尺度檢測-Y1

适用目标:大目标

路徑:綠色線标注

輸出次元:13×13×255

輸出次元具體解釋:13×13:圖檔大小;255=(80+5)×3;80:識别物體種類數;5=x,y,w,h和c(置信度);3:每個點預測3個bounding box。

多尺度檢測-Y2

适用目标:中目标

路徑:黃色線标注

輸出次元:26×26×255

輸出次元具體解釋:26×26:圖檔大小;255=(80+5)×3;80:識别物體種類數;5=x,y,w,h和c(置信度);3:每個點預測3個bounding box。

多尺度檢測-Y3

适用目标:小目标

路徑:紫色線标注

輸出次元:52×52×255

輸出次元具體解釋:52×52:圖檔大小;255=(80+5)×3;80:識别物體種類數;5=x,y,w,h和c(置信度);3:每個點預測3個bounding box。

點選關注,第一時間了解華為雲新鮮技術~

繼續閱讀