Deep Neural Networks for Object Detection Thinking
這篇文章純粹是以自己觀點來看這篇論文,局限于自己的知識水平和能力,肯定有多多少少的錯誤,Note會單獨寫一篇文章,一篇Note,一篇thinking
問題的提出:
? 不僅僅分類,而且要精確的定位
論文的目的:
? 通過DNN的回歸解決object detection問題,通過一個公式,用 bb mask目標的回歸問題來解決物件檢測,而且還提出了多尺度 inference程序,能將低成本,將低解析度轉為高解析度的物件檢測,
論文提出的挑戰:
論文的亮點:
deep regression 實作localization問題
解決多目標檢測的魯棒性問題
對于DNN定位器的multi-scale Refinement
論文的方法:
? 整體思路:通過DNN網路從視窗中生成一些mask,然后對這些mask進行合并,生成高質量的mask,然后利用簡單bounding box 從mask從提取檢測
1、DNN網路生成object mask,什么是 mask?
? mask是物件邊界框的 binary mask,和影像一樣的大小,檢測到物件的位置則表示1,否則0,mask可能從一部分的物件框中得到的,這是后面提出的精確定位方法所導致的,將BB分為full, left,,,,等等,然后分別形成對應的mask,
2、DNN網路的輸出是mask,輸出的大小與輸入的大小差距很大,如何轉化稱為輸入影像大小的mask形態
3、如何從mask提取檢測,這個程序是如何的?最終得到什么?
論文detail
1、通過DNN作為檢測
? 對alex的分類網路進行修改,來實作定位,改變就是將最后一層的softmax改為regression層,這一層就能生成物件二進制的mask,因為mask是由網路生成的,而網路的輸出size是固定的,故得到預測mask固定大小為 d*d=N,N是像素的總數量,再對mask大小進行調整成影像的大小,最終生成的mask可以表示多個物件,在這個mask中,1代表存在于給定類的BB中,否則為0
損失函式:
m
i
n
Θ
∑
(
x
,
m
)
∈
D
∣
∣
(
D
i
a
g
(
m
)
+
λ
I
)
1
/
2
(
D
N
N
(
x
;
Θ
)
?
m
)
∣
∣
2
2
min_{Θ}\sum_{(x,m)∈D}{||(Diag(m) + λI)^{1/2}(DN N(x; Θ) ? m)||_2^2}
minΘ?(x,m)∈D∑?∣∣(Diag(m)+λI)1/2(DNN(x;Θ)?m)∣∣22?
m是truth mask,D是包含二進制mask表達的BB物件的訓練影像集合,
2、通過mask的精確目標檢測
2.1提出三個要解決問題:
- 單個物件掩碼可能不足以消除相鄰物件的歧義
- 由于輸出大小的限制,我們生成的mask比原始影像的大小小得多,
- 由于我們使用完整的影像作為輸入,小物體將影響很少的輸入神經元,因此很難識別,
2.2 對于魯棒性定位的多個mask
? 之前對一個bb物件,得到一個mask,現在用網路,對一個bb物件得到多個mask,一般是portion :top,bottom等,
m
h
(
i
,
j
;
b
b
)
=
a
r
e
a
(
b
b
(
h
)
∩
T
(
i
,
j
)
)
/
a
r
e
a
(
T
(
i
,
j
)
)
(
1
)
m^h(i, j;bb) =area(bb(h) ∩ T(i, j)) / area(T(i, j)) (1)
mh(i,j;bb)=area(bb(h)∩T(i,j))/area(T(i,j))(1)
T(i,j)表示網路預測的矩形框,bb則是真實的矩形框
2.3從DNN輸出的目標定位
? 對每個影像的bb集合進行評估,通過引入Score公式來對BB進行評分,一個對整個m,一個是對應部分的m,
? 通過這種方式,計算預測bb集合,然后再根據兩個過濾方法來刪減,1、設定score閾值來進行過濾 2、通過應用興趣類所訓練的分類器并且保留正向分類到當前檢測器的類別來進一步過濾(就是看bb內物件是不是興趣類來進行刪減),再應用NMS
3 對于DNN分類器的多尺度精煉
? 論文講述兩種方法解決網路輸出的解析度問題,1、在多個尺度和幾個大子視窗中使用DNN localizer 2、在頂部推導bb中使用DNN localizer,流程如演算法1所示,
這里要對流程提出幾個問題:
3.1、文中反復提及的多個scale是指window還是影像?分別是什么?
? 演算法中,可以看到,無論是影像還是視窗都采用了多個scale,但是不同的是,影像的scale是計算得來的,而視窗則是生成的,這里就有疑問,視窗是如何生成的?,mask是DNN網路生成的,但是視窗是如何來的呢?我提出推測,視窗應該是標簽給出的BB或者是預測后的BB,由此可以看出,scale是指不同影像,視窗是固定了的,
3.2、對演算法1流程通俗理解?
? 首先計算幾個合適的影像尺度,然后對每個不同影像尺度進行處理,生成視窗(這個有疑惑,沒講如何生成)我認為視窗應該是本來就存在的,要莫是標簽,要莫是預測后的視窗,然后對視窗進行部分選擇,分別放入網路中訓練得到mask,再將這些mask合并,對選擇框進行score計算,過濾后放入檢測集合中
3.3、對演算法2流程的理解?
? 這個流程是refinement,遍歷有演算法1得到的檢測框集合,放大BB然后得到修改后的影像,對處理后影像進行DNN處理,對計算得到最高score的BB放入refined檢測框中
?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/218815.html
標籤:其他
上一篇:中國開源燃燒!Zilliz 獲全球開源基礎軟體最大單筆融資 4300 萬美元
下一篇:實驗二
