近期CVPR2019的最新論文CenterNet在一篇文章中就提出了一個(gè)能夠解決目標(biāo)檢測、姿態(tài)檢測、3D單目檢測的掉炸天網(wǎng)絡(luò),一時(shí)間激起來了千層波浪。這幾乎是未來目標(biāo)檢測一個(gè)全新的領(lǐng)域,或者說擯棄了一樣老舊的目標(biāo)檢測思路,開始了一個(gè)新的紀(jì)元。
讓我們來看一下這篇論文能夠做的:

首先速度很快。

幾乎是一個(gè)全能的網(wǎng)絡(luò)。但是在這絢麗的表面背后,我們來窺探一下它的內(nèi)部運(yùn)作原理,以及它存在的問題,從而才可以從某些方面去完善優(yōu)化它。
原理
One stage detectors 在圖像上滑動復(fù)雜排列的可能bbox(即錨點(diǎn)),然后直接對框進(jìn)行分類,而不會指定框中內(nèi)容。
Two-stage detectors 對每個(gè)潛在框重新計(jì)算圖像特征,然后將那些特征進(jìn)行分類。
這是以往的目標(biāo)檢測方法所采用的理論方法基礎(chǔ)。無論是one stage 或者是 two stage 都存在一個(gè)后處理:后處理,即 NMS(非極大值抑制),通過計(jì)算Bbox間的IOU來刪除同個(gè)目標(biāo)的重復(fù)檢測框。這種后處理很難區(qū)分和訓(xùn)練,因此現(xiàn)有大多檢測器都不是端到端可訓(xùn)練的。
本文通過目標(biāo)中心點(diǎn)來呈現(xiàn)目標(biāo)(見圖2),然后在中心點(diǎn)位置回歸出目標(biāo)的一些屬性,例如:size, dimension, 3D extent, orientation, pose。 而目標(biāo)檢測問題變成了一個(gè)標(biāo)準(zhǔn)的關(guān)鍵點(diǎn)估計(jì)問題。我們僅僅將圖像傳入全卷積網(wǎng)絡(luò),得到一個(gè)熱力圖,熱力圖峰值點(diǎn)即中心點(diǎn),每個(gè)特征圖的峰值點(diǎn)位置預(yù)測了目標(biāo)的寬高信息。
模型訓(xùn)練采用標(biāo)準(zhǔn)的監(jiān)督學(xué)習(xí),推理僅僅是單個(gè)前向傳播網(wǎng)絡(luò),不存在NMS這類后處理。不存在后處理是CenterNet類似網(wǎng)絡(luò)一個(gè)巨大特點(diǎn),也是一個(gè)非常好的優(yōu)點(diǎn),現(xiàn)有的目標(biāo)檢測方法在nms階段就得浪費(fèi)大量的時(shí)間。

在于此同時(shí),我們也感到很熟悉,這種方法與現(xiàn)在的姿態(tài)檢測是不是非常相似?
- 都是通過預(yù)測熱力圖峰值點(diǎn)來對關(guān)鍵點(diǎn)進(jìn)行定位;
- 都是端到端的熱力圖峰值點(diǎn)訓(xùn)練方式
但是二者也存在這很大的差別,最重要的一點(diǎn),CenterNet將這種方法進(jìn)行了橫向與縱向的擴(kuò)張。這一點(diǎn)尤為重要,泛華之后的應(yīng)用帶來的是不同領(lǐng)域的嘗試和結(jié)合,結(jié)果證明,他們的嘗試取得了非常不錯(cuò)的結(jié)果。
對于3D BBox檢測,我們直接回歸得到目標(biāo)的深度信息,3D框的尺寸,目標(biāo)朝向;
對于人姿態(tài)估計(jì),我們將關(guān)節(jié)點(diǎn)(2D joint)位置作為中心點(diǎn)的偏移量,直接在中心點(diǎn)位置回歸出這些偏移量的值。

關(guān)于3D關(guān)鍵點(diǎn)檢測,這個(gè)圖非常重要,它演示了像物體的長、寬、高是如何預(yù)測的。
除此之外,我們額外關(guān)注一下這個(gè)網(wǎng)絡(luò)的loss設(shè)計(jì):

其中Y_xyc是一個(gè)高斯核,對應(yīng)的是GT和預(yù)測值的誤差。
推理
網(wǎng)絡(luò)的實(shí)際輸出是熱力圖上的每個(gè)類別的峰值,這與PoseNet以及其他所有的姿態(tài)檢測網(wǎng)絡(luò)類似,但當(dāng)我們知道了這些峰值之后,如何回歸出需要的box呢?
做法是將熱力圖上的所有響應(yīng)點(diǎn)與其連接的8個(gè)臨近點(diǎn)進(jìn)行比較,如果該點(diǎn)響應(yīng)值大于或等于其八個(gè)臨近點(diǎn)值則保留,最后我們保留所有滿足之前要求的前100個(gè)峰值點(diǎn)。
3d檢測部分:
3D檢測是對每個(gè)目標(biāo)進(jìn)行3維bbox估計(jì),每個(gè)中心點(diǎn)需要3個(gè)附加信息:depth, 3D dimension, orientation。我們?yōu)槊總€(gè)信息分別添加head.
其中depth非常難回歸,需要做一些處理轉(zhuǎn)換,眾所周知,當(dāng)我們知道了物體的距離,3D尺寸,旋轉(zhuǎn)角度之后,物體的空間位置也就隨之確定了。這對于從單目中直接得到物體的真實(shí)距離非常重要?。?/p>
更多
關(guān)于更多的論文解讀與討論,可以登錄Mana未來社區(qū):
http://ft.manaai.cn
進(jìn)行關(guān)注,國內(nèi)最大的AI代碼市場已經(jīng)上線:
http://manaai.cn
歡迎大家的關(guān)注