當前位置:編程學習大全網 - 源碼下載 - YOLOv1詳解

YOLOv1詳解

從目標檢測任務(Object Detection Task)發展來看,主要有兩類方法。壹類是R-CNN系列及其類似算法,稱為two-stage,將目標檢測任務分為邊界框回歸和物體分類兩個模塊。雖然模型前面大量的提取特征以及候選框的選取都是單個網絡完成,但回歸和分類任務畢竟還是分開的,分開訓練造成網絡較難收斂,且預測時速度慢,但準確度較高。另壹類是本文描述以及後面會更新換代的YOLO算法,稱為one-stage,將目標檢測任務單純看做回歸任務。YOLOv1使用端到端的網絡訓練模型,速度快,但準確度相對低些,主要用於實時檢測,例如視頻目標檢測。

由於YOLOv1是端到端進行訓練,因此YOLOv1只有壹條單壹的網絡分支。YOLOv1輸入為 的圖像,經過壹個修改的GoogLeNet網絡(網絡到底什麽樣的其實不用管,只要知道是壹堆卷積和池化的堆疊即可),後面接壹些全連接層(同樣無所謂接什麽全連接層,看下參數或者源碼就直接懂了),最後接到壹個 的全連接層,直接reshape為 (這裏reshape成這樣是有意圖的,具體參見下面部分)。

YOLOv1將壹張圖像(例如 )劃分為 個網格(YOLOv1中 ,如下圖所示),壹*** 個網格。

損失函數有多個部分,我們現在把它們分開來說,後面直接挨個加起來即可。

第壹部分如下所示,計算預測邊界框和GT框中心點之間的差距。其中 表示第 個網格的第 個邊界框是否負責壹個物體,是為1,不是為0。

第二部分類似第壹部分,主要計算預測寬高和GT寬高損失。這裏加上根號表示大邊界框小偏差應該比小邊界框小偏差更重要。

第三部分計算對於每個邊界框的置信度分數與預測的置信度分數之間差距。 表示置信度分數, 表示預測的邊界框和對應GT框的IoU。

最後壹部分計算類概率損失, 表示當網格中沒有物體時不懲罰。

其中, , 。

論文原文: /hackernoon/understanding-yolo-f5a74bbc7967

NMS參考: /presentation/d/1aeRvtKG21KHdD5lg6Hgyhx5rPq_ZOsGjG5rJ1HP7BbA/pub?start=false&loop=false&delayms=3000#slide=id.p

  • 上一篇:淘娃源代碼
  • 下一篇:求35的源代碼
  • copyright 2024編程學習大全網