1. 程式人生 > >[深度學習]Object detection物體檢測之YOLO v1(6)

[深度學習]Object detection物體檢測之YOLO v1(6)

目錄

與以往rcnn,SPPNet,fast rcnn,faster rcnn的不同

YOLO的特點

YOLO的流程

YOLO的網路結構圖

YOLO的loss function

YOLO的侷限

YOLO的實驗結果


論文全稱:《You Only Look Once: Unified, Real-Time Object Detection》

論文地址:https://arxiv.org/pdf/1506.02640.pdf

之前介紹的rcnn,SPPNet,fast rcnn,faster rcnn都是屬於two stage的物體檢測演算法,包括了區域提取和目標檢測。從這一篇開始,是one stage的演算法,它是一種end-to-end的演算法,在確保精度保持基本不變的前提下可以大大提高檢測的速度。

與以往rcnn,SPPNet,fast rcnn,faster rcnn的不同

  1. YOLO是一個迴歸問題,只要輸入一張圖片便可完整得到檢測框和分類的類別,以及屬於該類別的置信度。而rcnn/fast rcnn/faster rcnn將檢測結果分為兩部分求解:物體類別(分類問題),物體位置即bounding box(迴歸問題)。
  2. YOLO把region proposal和classification都整合在一個網路之中,沒有一個顯式的region proposal的過程。因此YOLO可以直接從檢測效能上進行端到端優化。而rcnn SPPNet fast rcnn是屬於兩個模組的組合(使用selective search挑選候選框),faster rcnn是利用RPN(region proposal network)代替了selective search,但是要不斷來回訓練RPN和分類的網路,因為他們共享卷積引數

YOLO的特點

  1. 統一架構使得檢測速度非常快,能夠達到實時的要求。在 Titan X 的 GPU 上 能夠達到 45 幀每秒。YOLO的一個小版本Fast YOLO處理了速度達到驚人的155幀每秒,同時仍然達到了其他實時探測器mAP的兩倍。
  2. YOLO產生更多的定位錯誤,背景錯誤(把背景錯認為物體)比較少
  3. 泛化能力強。YOLO學習了物件的一般表示。在將自然影象推廣到其他領域(如藝術品)時,它優於其他檢測方法,包括DPM和R-CNN。
  4. YOLO v1在精確度上仍落後於最先進的檢測系統。雖然它可以快速識別影象中的物件,但它很難精確定位某些物件,尤其是小物件。

YOLO的流程

  1. 對輸入的影象resize
  2. 卷積神經網路提取特徵
  3. 根據置信度使用非最大值抑制取出部分候選框

YOLO將一張image分成S*S個格子,。每一個格子預測B個bounding  boxes的位置座標,以及他們的置信度和分類的概率。

這些置信度得分反映了模型對框中包含物件的信心程度,以及它認為框所預測的準確性。下面就是置信度的公式:

如果格中不存在物件,那麼confidence應該為零。否則,我們希望confidence等於預測框和ground truth之間的交集(IOU)。

每個邊界框由5個預測組成:x、y、w、h和confidence。(x, y)座標表示框的中心相對於網格單元的邊界。寬度和高度是相對於整個影象進行預測的。最後,confidence預測表示預測框與任何ground truth之間的IOU。

每個格還預測C條件類的概率,。每個格有一組類概率,不管bounding boxes的數量是多少。

在測試時,將條件類的概率和單個bounding box的置信度預測相乘,

這樣不僅反映每個bounding box是否含有object,還反映了object屬於那種類別的概率。

YOLO的網路結構圖

YOLO的loss function

損失函式的設計目標就是讓座標(x,y,w,h),confidence,classification 這個三個方面達到很好的平衡。

圖

YOLO的侷限

  1. YOLO對邊界框預測施加了強烈的空間約束,因為每個網格單元格只能預測兩個框,並且只能有一個類。這種空間約束限制了模型能夠預測相鄰物件的數量。模型在處理以群體形式出現的小物體時遇到了困難,比如成群的鳥。
  2. 由於YOLO是從資料中學會預測邊界框,所以它很難推廣到新的或不常見的縱橫比或配置物件。模型還使用了相對粗糙的特性來預測邊框,因為YOLO的架構有多個從輸入影象向下取樣的層(卷積層)。
  3. 損失函式對待小bounding boxes和大bounding boxes中的錯誤是一樣的。大bounding box裡的小錯誤通常是良性的,但小bounding box裡的小錯誤對IOU的影響要大得多。

YOLO的實驗結果

參考:

https://zhuanlan.zhihu.com/p/24916786?utm_source=qq&utm_medium=social

https://zhuanlan.zhihu.com/p/25236464