目標檢測算法之一 YOLO初步講解

目前目標檢測算法有很多,譬如:R-CNN,Faster R-CNN,DPM,RPN等等,YOLO也是其中之一,YOLO是當前目標檢測算法中發展最爲迅速的一個。YOLO結合了GooleNet modification和卷積神經網絡的知識,可以對圖像中的物體進行分類和定位。卷積神經網絡對於物體分類來說效果是很好的,YOLO利用卷積層提取物體特徵,通過全連接層進行分類和定位。接下來,我將大概講一下YOLO的原理。

YOLO算法屬於迴歸問題。

第一步:將圖像劃分爲S*S的柵格(grid cell),如左下圖,這裏分成了7*7的grid cell。柵格的任務是:檢測中心落在該柵格中的物體(注意,柵格中心未必與物體的中心重合,這個一定要明確,對後面的理解纔不會產生影響)。

        

第二步:一個grid cell 可以預測B個bounding boxes(包圍盒,以下簡稱bbox),包括預測bbox的confidence scores。bbox有五個預測值,分別是x,y(代表預測的bbox的中心與grid cell 邊界的值),w,h(代表預測的bbox的width/height相對於整個圖像width,height的比例),confidence(代表預測的bbox和ground truth box的IOU值)。

confidence = Pr(object) * IOU 

一個bbox對應一個confidence score,如果grid cell裏面沒有object,confidence就是0,如果有,則confidence score等於預測的box和ground truth的IOU值,見上面公式。

在此解釋一下IOU的意思,ground truth box是物體實際的位置,而IOU=bbox與ground truth box的交集/二者的並集,即交併比(重疊度),如右上圖。

第三步:每個grid cell 還要預測C個conditional class probability (條件類別概率),即Pr (Class|Object)。即預測出,在grid cell包含object的條件下,該object屬於某個類的概率。

注意,一個grid cell只需要預測一組(C個)類的概率,而不需要考慮bbox的數量。因爲一個grid cell預測的B個bbox框住的都是同一個物體。也就是說,類別概率是針對grid cell的。

在本文中取S=7,B=2,C=20(因爲PASCAL 數據集有20個類別),所以最後有7*7*30(30=B*5+C,每個bbox有5個預測值)個tensor


測試階段:將每個grid cell的conditional class probability與每個bbox的confidence相乘:

                 Pr(Class | Object) * Pr(Object) * IOU = Pr(Class) * IOU

想知道這個乘法到底是怎樣實現的嗎?先看下圖

     

每個bbox的confidence和每個類別的score相乘,得到每個bbox屬於哪一類的confidence score。也就是說最後會得到20*(7*7*2)=20*98的score矩陣,括號裏面是bbox的數量,20代表類別。接下來的操作都是20個類別輪流進行:在某個類別中(即矩陣的某一行),將得分少於閾值(0.2)的設置爲0,然後再按得分從高到低排序。最後再用NMS算法去掉重複率較大的bbox(NMS:針對某一類別,選擇得分最大的bbox,然後計算它和其它bbox的IOU值,如果IOU大於0.5,說明重複率較大,該得分設爲0,如果不大於0.5,則不改;這樣一輪後,在選擇剩下的score裏面最大的那個bbox,然後計算該bbox和其它bbox的IOU,重複以上過程直到最後)。最後每個bbox的20個score取最大的score,如果這個score大於0,那麼這個bbox就是這個socre對應的類別(矩陣的行),如果小於0,說明這個bbox裏面沒有物體,跳過即可。

前面提到了YOLO主要採用GoogLeNet,卷積層用來提取特徵,全連接層用來預測圖像位置和類別概率值。如下圖網絡設計:



YOLO網絡雖然借鑑了GoogLeNet分類網絡結構,但是YOLO未使用inception module,而是使用1x1卷積層(此處1x1卷積層的存在是爲了跨通道信息整合)+3x3卷積層簡單替代。

以上是對YOLO原理的初步理解,關於YOLO的損失函數,我們下次再講。


參考鏈接:https://blog.csdn.net/u014380165/article/details/72616238

                 https://blog.csdn.net/hrsstudy/article/details/70305791

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章