錨框 Anchor box綜述

2021-10-23 14:33:11 字數 2190 閱讀 8872

anchor boxes是學習卷積神經網路用於目標識別過程中最重要且最難理解的乙個概念。這個概念最初是在faster r-cnn中提出,此後在ssd、yolov2、yolov3等優秀的目標識別模型中得到了廣泛的應用,這裡就詳細介紹一下anchor boxes到底是什麼?有什麼作用?在**起作用?

問題1:為什麼需要anchor box?

要了解為什麼需要anchor box需要首先了解一下在此之前的一些目標識別方法。

這是比較原始的目標檢測方法,給定乙個固定尺寸的視窗,根據設定的步伐,一步一步的從左至右、從上至下滑動,把每個視窗輸入到卷積神經網路中進行**和分類,這樣做有兩個缺點:

由於視窗尺寸固定,因此不適合形變較大的物體

視窗較多,運算量大

這是r-cnn系列中核心的思想,以faster r-cnn為例,模型中使用了兩個神經網路,乙個是是cnn,乙個是rpn(regional proposal),區域建議網路不負責影象的分類,它只負責選取出影象中可能屬於資料集其中一類的候選區域。接下來就是把rpn產生的候選區域輸入到分類網路中進行最終的分類。

anchor box第一次是出現在faster r-cnn的**裡,要理解anchor box 首先要理解兩個問題。

主要有兩個原因:

為什麼使用不同尺寸和不同長寬比?

為了得到更大的交並比(intersection over union, iou)。

以訓練階段為例。

對於計算機視覺,比較容易理解的是真實標籤(ground truth),人為為每個目標標記的標籤。但是在加入anchor box思想之後,在訓練集中,我們將每個錨框視為乙個訓練樣本。因此,為了訓練目標模型,需要標記每個anchor box的標籤,這裡的標籤包括兩個部分:

有多個anchor box,到底該選取哪乙個呢?這是就要通過交並比進行選擇。試想一下,如果用乙個固定尺寸的anchor,那麼對於anchor的標記就沒有了針對性。

舉例說明一下,圖中棕色的為行人的真實標籤,黃色的為車輛的真實標籤,紅色的框是從feature map對映的anchor box,這樣的話通過交並比就很難獲取feature map中每個單元對應的標籤。

這樣的話,可以用anchor box1與行人的交並比比較大,可以用於訓練和**行人,anchor box 2與汽車的交並比較大,可以用於訓練和**汽車。使用不同長寬比和尺寸的anchor box,這樣更加具有針對性。

訓練階段在什麼時候觸發anchor box?

在模型的**階段,怎麼才能獲得**的邊界框呢?

首先在影象中生成多個anchor box,然後根據訓練好的模型引數去**這些anchor box的類別和偏移量,進而得到**的邊界框。由於閾值和anchor box數量選擇的問題,同乙個目標可能會輸出多個相似的**邊界框,這樣不僅不簡潔,而且會增加計算量,為了解決這個問題,常用的措施是使用非極大值抑制(non-maximum suppression,nms)。

nms就是乙個抑制冗餘的反覆迭代-遍歷的過程。

目標檢測入門 錨框先驗框

先驗框的生成 參考先驗框是提前設定好的一系列檢測框 大小和尺寸都是提前定好了的 為什麼要設定先驗框?之前目標檢測基本概念中介紹了目標檢測的乙個基本思路 先確立眾多候選框,再對候選框進行分類和微調,從而完成目標檢測。這就是設定先驗框的原因。為了覆蓋更多可能的情況,在圖中的同乙個位置,會設定幾個不同尺度...

AngularJs中錨點的使用,及錨點偏移量設定

angularjs中關於錨點的使用,及錨點偏移量設定 有很多人在使用ng view時都用到了 號做route,所以如果在頁面上需要用到錨點的時候就會比較頭疼了。這個時候可以使用ng的anchorscroll。使用了ng的anchorscroll後確實可以達到錨點跳轉的作用了,但是問題又來了,我如果頁...

錨具ovm是什麼意思 OVM錨具

錨具 系列錨具由工作夾片 工作錨板 錨墊板和螺旋筋組成。工作夾 片是錨固體系的關鍵零件,其形式為二片式,用優質合金鋼製造 用 彈簧圈將兩片夾片套合在一起,便於工作夾片的安裝施工,工作錨板 上的錐孔與工作夾片配合,利用錐孔的楔緊原理將鋼絞線錨固,錨墊板和螺旋筋做為錨下承載件,在預製結構時埋入混凝土中。...