近期CVPR2019的最新論文CenterNet在一篇文章中就提出了一個能夠解決目標檢測、姿態(tài)檢測、3D單目檢測的掉炸天網(wǎng)絡熏挎,一時間激起來了千層波浪擅威。這幾乎是未來目標檢測一個全新的領(lǐng)域,或者說擯棄了一樣老舊的目標檢測思路景描,開始了一個新的紀元。
讓我們來看一下這篇論文能夠做的:
首先速度很快。
幾乎是一個全能的網(wǎng)絡芒粹。但是在這絢麗的表面背后,我們來窺探一下它的內(nèi)部運作原理大溜,以及它存在的問題化漆,從而才可以從某些方面去完善優(yōu)化它。
原理
One stage detectors 在圖像上滑動復雜排列的可能bbox(即錨點),然后直接對框進行分類钦奋,而不會指定框中內(nèi)容座云。
Two-stage detectors 對每個潛在框重新計算圖像特征,然后將那些特征進行分類锨苏。
這是以往的目標檢測方法所采用的理論方法基礎疙教。無論是one stage 或者是 two stage 都存在一個后處理:后處理,即 NMS(非極大值抑制)伞租,通過計算Bbox間的IOU來刪除同個目標的重復檢測框贞谓。這種后處理很難區(qū)分和訓練,因此現(xiàn)有大多檢測器都不是端到端可訓練的葵诈。
本文通過目標中心點來呈現(xiàn)目標(見圖2)裸弦,然后在中心點位置回歸出目標的一些屬性,例如:size, dimension, 3D extent, orientation, pose作喘。 而目標檢測問題變成了一個標準的關(guān)鍵點估計問題理疙。我們僅僅將圖像傳入全卷積網(wǎng)絡,得到一個熱力圖泞坦,熱力圖峰值點即中心點窖贤,每個特征圖的峰值點位置預測了目標的寬高信息。
模型訓練采用標準的監(jiān)督學習,推理僅僅是單個前向傳播網(wǎng)絡赃梧,不存在NMS這類后處理滤蝠。不存在后處理是CenterNet類似網(wǎng)絡一個巨大特點,也是一個非常好的優(yōu)點授嘀,現(xiàn)有的目標檢測方法在nms階段就得浪費大量的時間物咳。
在于此同時,我們也感到很熟悉蹄皱,這種方法與現(xiàn)在的姿態(tài)檢測是不是非常相似览闰?
- 都是通過預測熱力圖峰值點來對關(guān)鍵點進行定位;
- 都是端到端的熱力圖峰值點訓練方式
但是二者也存在這很大的差別巷折,最重要的一點压鉴,CenterNet將這種方法進行了橫向與縱向的擴張。這一點尤為重要盔几,泛華之后的應用帶來的是不同領(lǐng)域的嘗試和結(jié)合晴弃,結(jié)果證明,他們的嘗試取得了非常不錯的結(jié)果逊拍。
對于3D BBox檢測上鞠,我們直接回歸得到目標的深度信息,3D框的尺寸芯丧,目標朝向芍阎;
對于人姿態(tài)估計,我們將關(guān)節(jié)點(2D joint)位置作為中心點的偏移量缨恒,直接在中心點位置回歸出這些偏移量的值谴咸。
關(guān)于3D關(guān)鍵點檢測,這個圖非常重要骗露,它演示了像物體的長岭佳、寬、高是如何預測的萧锉。
除此之外珊随,我們額外關(guān)注一下這個網(wǎng)絡的loss設計:
其中Y_xyc是一個高斯核,對應的是GT和預測值的誤差柿隙。
推理
網(wǎng)絡的實際輸出是熱力圖上的每個類別的峰值叶洞,這與PoseNet以及其他所有的姿態(tài)檢測網(wǎng)絡類似,但當我們知道了這些峰值之后禀崖,如何回歸出需要的box呢衩辟?
做法是將熱力圖上的所有響應點與其連接的8個臨近點進行比較,如果該點響應值大于或等于其八個臨近點值則保留波附,最后我們保留所有滿足之前要求的前100個峰值點艺晴。
3d檢測部分:
3D檢測是對每個目標進行3維bbox估計昼钻,每個中心點需要3個附加信息:depth, 3D dimension, orientation财饥。我們?yōu)槊總€信息分別添加head.
其中depth非常難回歸换吧,需要做一些處理轉(zhuǎn)換,眾所周知钥星,當我們知道了物體的距離,3D尺寸满着,旋轉(zhuǎn)角度之后谦炒,物體的空間位置也就隨之確定了。這對于從單目中直接得到物體的真實距離非常重要7缋宁改!
更多
關(guān)于更多的論文解讀與討論,可以登錄Mana未來社區(qū):
http://ft.manaai.cn
進行關(guān)注魂莫,國內(nèi)最大的AI代碼市場已經(jīng)上線:
http://manaai.cn
歡迎大家的關(guān)注