文章: Scalable Object Detection using Deep Neural Networks
作者: Dumitru Erhan, Christian Szegedy, Alexander Toshev, and Dragomir Anguelov
核心亮點(diǎn)
(1) 回歸問題:
將物體檢測(cè)問題定義為輸出多個(gè)bounding box的回歸問題. 同時(shí)每個(gè)bounding box會(huì)輸出關(guān)于是否包含目標(biāo)物體的置信度, 使得模型更加緊湊和高效
(2) 損失函數(shù):
將訓(xùn)練bounding box檢測(cè)器作為整個(gè)網(wǎng)絡(luò)訓(xùn)練過(guò)程的一部分, 也就是說(shuō)在損失函數(shù)中包含了關(guān)于bounding box的損失項(xiàng). 通過(guò)聯(lián)合訓(xùn)練, 不僅利用了神經(jīng)網(wǎng)絡(luò)強(qiáng)大的特征表示能力, 而且將檢測(cè)器的訓(xùn)練集成到了網(wǎng)絡(luò)中
(3) 無(wú)類別監(jiān)督訓(xùn)練
作者將本文的目標(biāo)邊框檢測(cè)器在無(wú)監(jiān)督的樣本下訓(xùn)練, 由于本方法主要完成的功能就是畫框, 并不會(huì)輸出框中包含的物體類別, 因此訓(xùn)練的時(shí)候無(wú)需知道樣本的類別信息. 這也使得該方法的計(jì)算復(fù)雜度與類別信息幾乎無(wú)關(guān), 可以輕易的推廣到未知的類別當(dāng)中. (當(dāng)然也可以進(jìn)行相關(guān)類別的訓(xùn)練, 對(duì)每個(gè)類別都訓(xùn)練一個(gè)檢測(cè)器, 模型的總參數(shù)會(huì)隨著類別數(shù)線性增加)
關(guān)鍵技術(shù)
作者將bounding box的檢測(cè)過(guò)程集成到了神經(jīng)網(wǎng)絡(luò)中, 使其轉(zhuǎn)變成了一個(gè)回歸問題, 通過(guò)BP算法優(yōu)化下面的損失函數(shù)即可獲得預(yù)測(cè)的框, 相比于SS算法, 計(jì)算復(fù)雜度更低.
當(dāng)且僅當(dāng)?shù)?
個(gè)預(yù)測(cè)框與第
個(gè)真實(shí)框匹配.
和
分別是預(yù)測(cè)框和真實(shí)框的歸一化后的坐標(biāo),
代表置信度:
利用BP算法分別對(duì) 和
求導(dǎo), 以便更新相關(guān)參數(shù)使其損失函數(shù)值更低.
論文細(xì)節(jié)
背景介紹
在(2014年)之前的工作中, 對(duì)于目標(biāo)檢測(cè)任務(wù)都是對(duì)整個(gè)圖片進(jìn)行檢測(cè), 無(wú)法檢測(cè)出同一張圖片中的多個(gè)目標(biāo)物. 于是, 本文就提出了一種目標(biāo)檢測(cè)模型, 可以在一張圖片中預(yù)測(cè)多個(gè)bounding boxes, 并且每個(gè)box都對(duì)應(yīng)了包含某個(gè)類別物體的置信度.
作者使用了一個(gè)單一的DNN網(wǎng)絡(luò), 來(lái)生成候選區(qū)域框, 并且每個(gè)區(qū)域框都會(huì)帶有一個(gè)置信度, 代表這框內(nèi)包含物體的可能性大小.
Model: 模型最后一層的神經(jīng)元的輸出值代表著每個(gè)框的坐標(biāo)和對(duì)應(yīng)的置信度.
Bounding Box: 將左上角和右下角的坐標(biāo)分別作為四個(gè)神經(jīng)元的輸出值. 這些坐標(biāo)都是經(jīng)過(guò)歸一化的.
Confidence: 每個(gè)Box對(duì)應(yīng)的置信度會(huì)單獨(dú)作為一個(gè)神經(jīng)元節(jié)點(diǎn)輸出.
在預(yù)測(cè)階段, 可以利用該模型輸出 個(gè)bounding box預(yù)測(cè)結(jié)果, 同時(shí)可以利用NMS算法得到置信度更高的Box集合, 然后將這些集合送到分類器中進(jìn)行分類.
訓(xùn)練目標(biāo): 假設(shè)對(duì)于一個(gè)訓(xùn)練樣本, 具有 個(gè)已經(jīng)標(biāo)注好的GT bounding box. 然后, 檢測(cè)器會(huì)生成
個(gè)預(yù)測(cè)的bounding box,
的值一般遠(yuǎn)遠(yuǎn)大于
. 因此, 我們僅僅需要優(yōu)化
中與
個(gè)GT匹配度最高的一個(gè)子集合. 優(yōu)化的時(shí)候, 我們盡可能的提高這些子集合內(nèi)部的預(yù)測(cè)框的置信度, 同時(shí)降低其他那些不在子集合里面的框的置信度. 對(duì)此, 形式化描述為下面的函數(shù):
上式中, 當(dāng)且僅當(dāng)?shù)?
個(gè)預(yù)測(cè)框與第
個(gè)真實(shí)框匹配.
和
分別是預(yù)測(cè)框和真實(shí)框的歸一化后的坐標(biāo).
此外, 我們還希望對(duì)預(yù)測(cè)框的置信度進(jìn)行優(yōu)化, 將匹配框的置信度最大化, 這個(gè)過(guò)程轉(zhuǎn)換成最小化下面的式子:
從上式可以看到, 當(dāng)且僅當(dāng)預(yù)測(cè)框
可以匹配到某個(gè)真實(shí)框. 在這種情況下,
將王越來(lái)越大的方向優(yōu)化. 上面這個(gè)式子正式交叉熵.
結(jié)合上面的兩個(gè)公式, 最終的損失函數(shù)如下所示, 其中 用于調(diào)節(jié)兩部分的權(quán)重:
優(yōu)化: 對(duì)于每一個(gè)訓(xùn)練樣本, 都希望按照如下最優(yōu)化問題求得 (也就是最優(yōu)化預(yù)測(cè)框與真實(shí)框的匹配方案) :
由于標(biāo)記物體的數(shù)量非常少, 所以上面公式的計(jì)算復(fù)雜度并不高. 對(duì)于上面的公式, 可以利用BP算法分別對(duì) 和
求導(dǎo), 以便更新相關(guān)參數(shù)使其損失函數(shù)值更低.
Training Details:
使用了三個(gè)小改動(dòng), 進(jìn)一步提升了精度的速度