區(qū)域建議網(wǎng)絡(luò)(RPN)首先在faster rcnn中提出。
得到用來預(yù)測的feature map
圖片在輸入網(wǎng)絡(luò)后,依次經(jīng)過一系列卷積+ReLU得到的51×39×256維feature map,準(zhǔn)備后續(xù)用來選取proposal。
生成Anchors
anchor是固定尺寸的bbox。具體做法是:把feature map每個(gè)點(diǎn)映射回原圖的感受野的中心點(diǎn)當(dāng)成一個(gè)基準(zhǔn)點(diǎn),然后圍繞這個(gè)基準(zhǔn)點(diǎn)選取k個(gè)不同的尺寸和比例的anchor。對(duì)于W×H大小的卷積feature map(通常為2400),總共有W×H×k個(gè)錨點(diǎn)。默認(rèn)使用3個(gè)尺度和3個(gè)縱橫比,在每個(gè)滑動(dòng)位置上產(chǎn)生k=9個(gè)anchor。在feature map上的每個(gè)特征點(diǎn)預(yù)測多個(gè)region proposals。例如對(duì)于像素點(diǎn)個(gè)數(shù)為 51×39 的一幅feature map上就會(huì)產(chǎn)生 51×39×9 個(gè)候選框。雖然anchors是基于卷積特征圖定義的,但最終的 anchors是相對(duì)于原始圖片的。
圖1 九個(gè)候選框(anchor)示意圖
針對(duì)該像素點(diǎn)的每個(gè)候選框需要判斷其是不是目標(biāo)區(qū)域,如果是目標(biāo)區(qū)域,其邊框位置如何確定,具體過程如圖2所示,在RPN頭部 ,通過以下結(jié)構(gòu)生成 k個(gè)anchor。
圖 2 RPN 過程示意圖
如圖2所示,針對(duì)特征圖中的某一個(gè)位置的像素點(diǎn),對(duì)應(yīng)會(huì)有9個(gè)候選框。因?yàn)檩斎隦PN中有256個(gè)通道的特征圖,所以要同時(shí)對(duì)每個(gè)通道該位置的像素點(diǎn)都使用不同的3×3的滑動(dòng)窗口進(jìn)行卷積,最后將所有通道得到的該位置像素點(diǎn)的卷積值都加起來,得到一個(gè)新的特征值,最終使用256組這樣的3×3的卷積核,就會(huì)得到一個(gè)新的256維的向量,這個(gè)256維的向量就是用來預(yù)測該位置的像素點(diǎn)的,該像素點(diǎn)對(duì)應(yīng)的9個(gè)候選框共享這256維向量。
256維向量后面對(duì)應(yīng)兩條分支,一條目標(biāo)和背景的二分類(classification),通過1×1×256×18的卷積核得到 2k 個(gè)分?jǐn)?shù),k等于候選框的個(gè)數(shù)9,表示這9個(gè)anchor是背景的score和anchor是目標(biāo)的score。如果候選框是目標(biāo)區(qū)域,就去判斷該目標(biāo)區(qū)域的候選框位置在哪,這個(gè)時(shí)候另一條分支就過1×1×256×36的卷積核得到4k個(gè)坐標(biāo),每個(gè)框包含4個(gè)坐標(biāo)(x,y,w,h),就是9個(gè)候選區(qū)域?qū)?yīng)的框應(yīng)該偏移的具體位置Δxcenter,Δycenter,Δwidth,Δheight。如果候選框不是目標(biāo)區(qū)域,就直接將該候選框去除掉,不再進(jìn)行后續(xù)位置信息的判斷操作。
分類分支
考察訓(xùn)練集中的每張圖像(含有人工標(biāo)定的gt box) 的所有anchor劃分正負(fù)樣本:
(1)對(duì)每個(gè)標(biāo)定的gt box區(qū)域,與其重疊比例最大的anchor記為正樣本,保證每個(gè)gt至少對(duì)應(yīng)一個(gè)正樣本anchor
(2)對(duì)(1)中剩余的anchor,如果其與某個(gè)標(biāo)定區(qū)域重疊比例大于0.7,記為正樣本(每個(gè)gt可能會(huì)對(duì)應(yīng)多個(gè)正樣本anchor。但每個(gè)正樣本anchor只可能對(duì)應(yīng)一個(gè)gt;如果其與任意一個(gè)標(biāo)定的重疊比例都小于0.3,記為負(fù)樣本。
回歸分支
x,y,w,h分別表示box的中心坐標(biāo)和寬高,x, x_a ,x分別表示predicted box, anchor box, and ground truth box (y,w,h同理)t_i表示predict box相對(duì)于anchor box的偏移,t_i表示ground true box相對(duì)于anchor box的偏移,學(xué)習(xí)目標(biāo)就是讓前者接近后者的值。
在 RPN中部,分類分支(cls)和邊框回歸分支(bbox reg)分別對(duì)這堆a(bǔ)nchor進(jìn)行各種計(jì)算。在RPN末端,通過對(duì)兩個(gè)分支的結(jié)果進(jìn)行匯總,來實(shí)現(xiàn)對(duì)anchor的初步篩除(先剔除越界的anchor,再根據(jù)cls結(jié)果通過非極大值抑制(NMS)算法去重)和初步偏移(根據(jù)bbox reg結(jié)果),此時(shí)輸出的都bbox改頭換面叫 Proposal 了
偏移公式如下。An就是anchor的框,pro就是最終得出回歸后的邊界框,到這里我們的proposals就選好了:
非極大值抑制(Non-maximum suppression)
由于anchor一般是有重疊的overlap,因此,相同object的proposals也存在重疊。為了解決重疊proposal問題,采用NMS算法處理:兩個(gè)proposal間IoU大于預(yù)設(shè)閾值,則丟棄score較低的proposal。
IoU閾值的預(yù)設(shè)需要謹(jǐn)慎處理,如果IoU值太小,可能丟失objects的一些 proposals;如果IoU值過大,可能會(huì)導(dǎo)致objects出現(xiàn)很多proposals。IoU典型值為0.6。
Proposal選擇
NMS處理后,根據(jù)sore對(duì)top N個(gè)proposals排序。在Faster R-CNN論文中 N=2000,其值也可以小一點(diǎn),如50,仍然能得到好的結(jié)果。
審核編輯:湯梓紅
-
圖像處理
+關(guān)注
關(guān)注
27文章
1299瀏覽量
56833 -
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
7592瀏覽量
89065 -
MAP
+關(guān)注
關(guān)注
0文章
49瀏覽量
15156
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論