最基礎知識 SS IOU NMS

2021-09-28 22:21:36 字數 3331 閱讀 8802

參考以下博文

這篇主要是對目標檢測基礎知識介紹

用來記錄一些很基礎的知識

這篇博文對一些基礎知識的講解很清晰

滑窗法、ss

這倆圖沒乙個看懂的

傳統的目標檢測框架,主要包括三個步驟:

(1)利用不同尺寸的滑動視窗框住圖中的某一部分作為候選區域;

(2)提取候選區域相關的視覺特徵。比如人臉檢測常用的harr特徵;行人檢測和普通目標檢測常用的hog特徵等;

(3)利用分類器進行識別,比如常用的svm模型。

那麼候選框是如何產生的?又是如何進行篩選的呢?

物體候選框獲取當前主要使用影象分割與區域生長技術。區域生長(合併)主要由於檢測影象中存在的物體具有區域性區域相似性(顏色、紋理等)。目標識別與影象分割技術的發展進一步推動有效提取影象中資訊。 根據目標候選區域的提取方式不同,

傳統目標檢測演算法可以分為基於滑動視窗的目標檢測演算法和基於選擇性搜尋的目標檢測演算法。滑窗法(sliding window)作為一種經典的物體檢測方法,個人認為不同大小的視窗在影象上進行滑動時候,進行卷積運算後的結果與已經訓練好的分類器判別存在物體的概率。選擇性搜尋(selective search)是主要運用影象分割技術來進行物體檢測

對滑窗法的理解1.給出2.利用不同大小和不同比例(寬高比)的視窗在上進行滑動3.對每個視窗執行分類器(在滑動的時候,分類器是事先訓練好的)。執行分類器的結果是對每個視窗給乙個分類概率,如果該視窗所獲得的分類概率較大,則認為在這個視窗中檢測到了物體。最後會得到很多這樣檢測到物體的視窗,這些視窗中會有重疊部分4.用nms篩選,獲取檢測到的物體。

優點:傻白甜操作

缺點:需要設定不同視窗來適應不同大小的物體。全域性搜尋效率低(對全域性搜尋效率低的理解:假設最壞的情況是,此中所有的目標都大小不一樣,當設定乙個視窗時,從演算法來說,是要對整張圖進行搜尋,但對這個設定好的視窗來說,在這次流程中只能檢測到乙個目標,因為別的目標都和視窗大小不合適。然後換個視窗,再來,,,,,重複直到所有目標被檢測到)。另一方面,每個視窗滑動之後要進入分類器裡給概率,處理結果需要被儲存嗎?還是說只將概率最大的視窗留下?感覺一定程度上會有儲存資源的浪費。

對滑窗法的總結:這個演算法找region,本質是對整張圖窮舉所有的子區域,也就是說類似窮舉進行影象子區域的搜尋(這裡的影象子區域是滑窗法中的每乙個視窗)

窮舉的優勢:不會漏掉目標

缺點:大部分子區域是沒有物體的

針對這個缺點,學界大佬想到只對影象中最有可能包含物體的區域進行搜素來提高計算效率。提出選擇性搜尋演算法

對選擇性搜尋的理解,

selective search

對影象做分割

根據產生的小區域的相似性(顏色、紋理、大小等)進行區域合併

不斷迭代,每次對合併的子區域做外切矩形(bounding boxed)

形成候選框
優點:計算效率比滑窗法高、對各種不同大小的物體有良好的適應性、合併區域的多樣性,提高了檢測物體的概率

疑惑:這裡的指標是人工手動確定的嗎?

檢測評估的乙個指標:iou(intersection over union)

即**框和人工標註框的重合度

為了評價bounding-box

regression模型對目標物體的標註效果,主要是用來評價定位精度的。

矩形框a、b的乙個重合度iou計算公式為:

iou=(a∩b)/(a∪b)

就是矩形框a、b的重疊面積佔a、b並集的面積比例:

iou=si/(sa+sb-si)

候選邊界框(bounding boxes)

預先找出圖中目標可能出現的位置,即候選區域(region proposal)。利用影象中的紋理、邊緣、顏色等資訊,可以保證在選取較少視窗(幾千甚至幾百)的情況下保持較高的召回率(recall)。

感覺一句話概括就是 :region

proposal是乙個區域,bounding box就是這個區域的4條邊,而這4條邊就是用乙個4維向量來表示的。當然,ground

truth的4條邊也叫bounding box,即bounding

box代表了乙個區域的相對位置。有待商榷

非極大值抑制 nms

比如,我們會從一張中找出n多個可能包含物體的bounding-box,然後為每個矩形框計算其所屬類別的概率。

找出的多個判斷為汽車類別的邊界矩形框

正如上面的所示,假如我們想定位乙個車輛,最後演算法就找出了一堆的方框,每個方框都對應乙個屬於汽車類別的概率。我們需要判別哪些矩形框是沒用的。採用的方法是非極大值抑制:先假設有6個矩形框,根據分類器類別分類概率做排序,從小到大分別屬於車輛的概率分別為a、b、c、d、e、f。

(1)從最大概率矩形框f開始,分別判斷a~e與f的重疊度iou是否大於某個設定的閾值;

(2)假設b、d與f的重疊度超過閾值,那麼就扔掉b、d;並標記第乙個矩形框f,是我們保留下來的。

(3)從剩下的矩形框a、c、e中,選擇概率最大的e,然後判斷e與a、c的重疊度,重疊度大於一定的閾值,那麼就扔掉;並標記e是我們保留下來的第二個矩形框。

如此迴圈往復知道沒有剩餘的矩形框,然後找到所有被保留下來的矩形框,就是我們認為最可能包含汽車的矩形框。

r-cnn演算法中nms的具體做法:

假設有20類,2000個建議框,最後輸出向量維數2000*20,則每列對應一類,一行是各個建議框的得分,nms演算法步驟如下:

① 對2000×20維矩陣中每列按從大到小進行排序;

② 從每列最大的得分建議框開始,分別與該列後面的得分建議框進行iou計算,若iou>閾值,則剔除得分較小的建議框,否則認為影象中存在多個同一類物體;

③ 從每列次大的得分建議框開始,重複步驟②;

④ 重複步驟③直到遍歷完該列所有建議框;

⑤ 遍歷完2000×20維矩陣所有列,即所有物體種類都做一遍非極大值抑制;

⑥ 最後剔除各個類別中剩餘建議框得分少於該類別閾值的建議框。

有個問題:這樣處理完之後還是乙個矩陣嗎?

傳統目標檢測使用的滑動視窗+手工設計特徵? 可不嘛

到此為止講完了對region proposal的提取

MySQL最基礎知識記錄

一.安裝 rpm方式 rpm ivf mysql tar方式 tar xzvf mysql x.xx.tar.gz cd mysqlp x.xx 生成makefile congigure make 編譯 make install mysql install db 二.啟動 關閉 service my...

IT人員必學最基礎知識(三 ) 編碼理解

上篇說的二進位制等之間的轉換,而要完成這些轉換,需要人為的定製一些規則,這就是第一篇提到的ascii碼,bcd碼和國標碼。1,ascii碼,即美國標準資訊交換碼 american standard code for information interchanger 包括了32個通用字元,10個十進位...

匯程式設計序最基礎知識記錄

section text global main main mov eax,4 mov ebx,1 mov ecx,msg mov edx,len int 80h mov eax,1 int 80h msg db hello world 0xa,it s too long n r n t 0,123...