基於深度學習的目標檢測算法綜述

相比與傳統檢測方法,基於深度學習的目標檢測算法其優勢在於無需進行人工的特徵設計、良好的特徵表達能力以及優良的檢測精度。

基於深度學習的目標檢測算法分類

依據設計思想,主要分爲兩種:基於區域提名的目標檢測算法(二階檢測算法)和基於端到端(end-to-end)的學習的目標檢測算法(一階檢測算法)。

二階段檢測算法:第一步:生成可能包含物體的候選區域(Region Proposal),第二步:對候選區域做進一步的分類和校準,得到最終的檢測結果。代表是:R-CNN,SPPNet,Fast R-CNN, Faster R-CNN.

一階段檢測算法:直接給出最終結果,沒有生成候選區域的步驟。yolo,SSD

下面這個圖,我覺得特別棒,對於目前各種先進算法的基本思想區別一目瞭然。

基於區域提名的目標檢測算法

R-CNN綜述:

該算法主要包括區域提名、歸一化處理、特徵提取、分類及迴歸等步驟。

第一步:先通過選擇性搜索算法(Selective Search)生成候選區域(Proposal)。

        這個算法的思想是:可能存在物體的區域應該具有某種相似性或連續性的區域。所以,第一步,它首先用分割算法將圖像分割成很多小的區域,這些區域爲最基礎的子區域,然後根據這些區域之間相似性進行區域合併,衡量相似性的標準可以是顏色、紋理和大小等。不斷疊加這種小區域,直到全部合併到一塊,然後給每個區域做一個外切的矩形,就得到了可能是物體的區域方框。

第二步:將候選區域進行尺度歸一化。

強制將這些候選區域放大到同一個尺寸,因爲在下一步中我們通過卷積神經網絡提取出來的特徵,R-CNN採用的是使用多個SVM進行對這些特徵分類。所以對於卷積神經網絡,我們必須要求輸出的向量維度一樣,這樣SVM纔可以進行分類。爲了保證輸出維度相同,卷積神經網絡的輸入圖片大小需要一致。

第三步:使用CNN網絡提取候選區域的目標特徵表達,之後還級聯一個全連接層。輸入一個高維向量,使用SVM進行物體的分類,這樣就檢測出這個物體,並會預測出這個物體屬於這個類型的概率。

第四步:檢測出物體以後,需要對物體畫邊框,由於我們第一步已經有了候選區域的邊框,但是這個邊框並不夠好,我們還要根據訓練數據中標記的框去校正第一步生成的框。

 

端到端的學習目標檢測算法

yolo綜述:

該算法基於一個單獨的end-to-end網絡,完成從原始圖像的輸入到物體位置和類別的輸出。不需要像二階算法顯示地求region proposal。同時yolo將物體檢測作爲一個迴歸問題進行求解,輸入圖像經過一次inference,便可以得到圖像中所有物體的位置和其所屬類別及相應的置信率。

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