論文地址:Bottom-up Object Detection by Grouping Extreme and Center Points
發(fā)表時間:2019.1.23
github:https://github.com/xingyizhou/ExtremeNet
這篇文章是由德克薩斯大學(xué)提出夭拌,號稱是目前(2019-01-26)One-stage目標(biāo)檢測最強算法 ExtremeNet望忆。
Abstract
隨著深度學(xué)習(xí)的出現(xiàn),目標(biāo)檢測從一個自底而上的問題發(fā)展到一個自上而下的識別問題。最先進的算法列舉了一個幾乎詳盡的目標(biāo)對象位置列表,并將每個位置分類為:目標(biāo)對象或非目標(biāo)對象。在本文中,我們展示了自底向上方法仍然具有競爭力谤专。我們使用標(biāo)準(zhǔn)關(guān)鍵點估計網(wǎng)絡(luò)檢測對象的四個極點(最上面、最左邊午绳、最下面置侍、最右邊)和一個中心點。如果這五個關(guān)鍵點是幾何對齊的拦焚,我們將它們分組到一個邊界框中蜡坊。因此,目標(biāo)檢測是一個純粹的基于外觀的關(guān)鍵點估計問題赎败,沒有區(qū)域分類和隱式特征學(xué)習(xí)秕衙。該方法的性能與最先進的基于區(qū)域檢測方法相當(dāng),在COCO test-dev上的box AP為43:2%僵刮。此外据忘,我們估計的極點直接生成一個粗糙的八邊形掩模,在COCO上Mask AP為18:9%搞糕,比vanilla bbox的Mask AP要好得多勇吊。極點引導(dǎo)分割進一步改善這到34:6%的Mask AP。
1. Introduction
自上而下的算法目前在目標(biāo)檢測領(lǐng)域占據(jù)主導(dǎo)地位窍仰,常用的做法是將目標(biāo)檢測任務(wù)轉(zhuǎn)化為矩形區(qū)域分類任務(wù)汉规,如one stage檢測和two stage檢測腐芍。然而斥杜,矩形框(box)并不是一個比較好的對象表示剖煌,主要有一下三個缺點:
① 大多數(shù)的目標(biāo)對象不是軸對稱的鸠儿,它們的外接矩形框包含許多不必要的背景信息(圖1);
② 自上而下的目標(biāo)檢測算法羅列了大量可能的矩形框位置悟民,并沒有真正理解目標(biāo)圖片的視覺語法信息;
③ 矩形框不能很好的表示目標(biāo)對象篷就,難以表示目標(biāo)對象的細(xì)節(jié)信息(如形狀和姿勢)
通過檢測對象的四個極點(最上射亏、最左,最底竭业、最右)智润,本文提出了一種自底而上的目標(biāo)檢測框架ExtremeNet。ExtremeNet使用最新的關(guān)鍵點檢測框架未辆,通過預(yù)測每個對象類別的4個peak heatmaps來找到極點窟绷,通過每個類別的一個center heatmap來預(yù)測對象中心,作為x維和y維上兩個box的邊緣平均值咐柜。然后兼蜈,用基于幾何的方式將極點分組到具體對象中。四個極點每個對應(yīng)一個heatmap拙友,當(dāng)且僅當(dāng)它們的幾何中心已被預(yù)測在center heatmap上为狸,且得分高于預(yù)定義的閾值時才會被分組到同一對象上。論文羅列了極點的所有O(n4)組合遗契,并選擇有效的那個(極點數(shù)n通常比較蟹簟),如圖2.
本文不是第一個提出使用深度關(guān)鍵點預(yù)測來進行目標(biāo)檢測任務(wù)的牍蜂,CornerNet就提出了預(yù)測矩形框的兩個角點corner(左上和右下)漾根,并使用associative embedding feature將角點組合到相應(yīng)的矩形框中。本文是受到Papadopoulos等人[33]的啟發(fā)鲫竞,他們提出通過單擊四個極點來標(biāo)注邊界框辐怕,這個標(biāo)注收集信息的速度大約是邊框的四倍,并且提供了比邊框更豐富的信息贡茅。本文與CornerNet有兩點不同:
1.關(guān)鍵點定義
CornerNet預(yù)測bbox的左上右下一對角點秘蛇,是另一種形式的矩形框,存在自頂向下檢測算法所面臨的的一些問題顶考。另角點經(jīng)常落在對象外部赁还,沒有足夠的對象特征。ExtremeNet的極點在對象上驹沿,是視覺可分的艘策,有一致的局部外觀特征(如人的最上面的是頭)。
2.關(guān)鍵點組合
CornerNet的角點是幾何組合渊季。ExtremeNet是完全基于外觀的特征的組合朋蔫,無需學(xué)習(xí)任何復(fù)雜的特征罚渐。
另外,極點與目標(biāo)掩碼object masks有緊密的聯(lián)系驯妄,與矩形框相比荷并,直接連接極點提供了更細(xì)粒度的對象掩碼信息。本文實驗證明青扔,將一個簡單的八邊形擬合到極值點可以得到一個很好的目標(biāo)掩碼估計源织。本文可以進一步與DeepExtremeCut結(jié)合,將極點標(biāo)注轉(zhuǎn)換為指定對象的分割掩碼微猖。直接將本文的極點預(yù)測作為對DeepExtremeCut[29]的指導(dǎo)谈息,可以得到接近最先進的實例分割結(jié)果。
2. Related Work
Two-stage object detectors凛剥。two-stage檢測算法分為兩步:一是生成大量未知類別的候選bbox并裁剪侠仇;二是使用圖片分類模塊對裁剪區(qū)域特征進行分類。detection-by-classification的思想是很直觀的犁珠,到目前為止一直保持最好的效果逻炊。
one-stage object detections。one-stage檢測算法可看作是類別明確的區(qū)域或anchor建議網(wǎng)絡(luò)犁享,并直接為每個anchor分配一個類別標(biāo)簽嗅骄。ExtremeNet屬于one-stage檢測方法。ExtremeNet不是在O(h2w2)空間中設(shè)置anchor饼疙,而是檢測O(hw)空間中框的五個點溺森。ExtremeNet只預(yù)測每個像素位置作為關(guān)鍵點的概率,而不是在每個像素位置設(shè)置默認(rèn)大小和比例的anchor窑眯。center heatmap可以看做不回歸矩形框的大小比例不可知的區(qū)域建議網(wǎng)絡(luò)屏积。
Deformable Part Model。作為自底而上的檢測方法磅甩,本文組合極點和中心點的思想和Deformable Part Model有關(guān)炊林。
Grouping in bottom-up human pose estimation。在自底向上的多人姿勢估計算法中卷要,找到哪些點屬于同一個人是很重要的渣聚。目前有很多方法,比如學(xué)習(xí)每個點的關(guān)聯(lián)特征僧叉、學(xué)習(xí)位關(guān)鍵點投射人類骨骼樹上的父關(guān)節(jié)奕枝,作為每個關(guān)鍵點的二維特征、學(xué)習(xí)了作為相對于對象中心的偏移量的特征等瓶堕。相比這些算法隘道,本文利用極點和中心點的幾何結(jié)構(gòu)進行分組,僅僅基于外觀特征,很容易學(xué)習(xí)谭梗。
Implicit keypoint detection忘晤。流行的關(guān)鍵點檢測方法適用于定義良好的語義關(guān)鍵點,例如人類關(guān)節(jié)激捏。StarMap[53]使用單個heatmap混合所有類型的關(guān)鍵點進行一般關(guān)鍵點檢測设塔。極值點和中心點是一種一般的隱式關(guān)鍵點,但具有更顯式的幾何性質(zhì)远舅。
3. Preliminaries(預(yù)熱)
Extreme and center points壹置。常見做法會用左上和右下兩點標(biāo)注矩形框。由于兩個角點經(jīng)常位于對象外部表谊,這會導(dǎo)致效果不準(zhǔn)確,并且需要多次調(diào)整盖喷,整個過程平均花費時間較長爆办。本文則直接用極點代替矩形框。若四個極點為课梳,則中心點為:
Keypoint detection距辆。目前效果最好的關(guān)鍵點估計網(wǎng)絡(luò)是104層的HourglassNetwork,該網(wǎng)絡(luò)采用完全卷積的方式進行訓(xùn)練暮刃。HourglassNetwork為每個輸出通道回歸一個寬為W跨算、高為H的heatmap:
訓(xùn)練時的label為多峰高斯熱圖multi-peak Gaussian heatmap ,其中每個關(guān)鍵點定義高斯核的平均值椭懊。標(biāo)準(zhǔn)差要么是固定的诸蚕,要么與對象大小成正比。高斯熱圖在L2 loss的情況下會作為回歸目標(biāo)氧猬,在邏輯回歸的情況下作為weight map來減少正樣本點附近像素點的懲罰背犯。
CornetNet。CornerNet使用HourglassNetwork作為檢測器進行關(guān)鍵點估計盅抚,為矩形框的兩個角點預(yù)測兩套熱圖漠魏。為了平衡正樣本點和負(fù)樣本點,CornerNetwork在訓(xùn)練時使用了修正的focal loss:
其中α和β是超參數(shù)妄均,訓(xùn)練期間固定α=2柱锹、β=4,N是圖片中對象的數(shù)量丰包。
為了極點的sub-pixel準(zhǔn)確度禁熏,CornerNetwork為每個角點回歸了類別未知的關(guān)鍵點偏移量△(α)。這個回歸過程恢復(fù)了HourglassNetwork下采樣過程中丟失的信息邑彪。The offset map is trained with smooth L1 Loss [11] SL1 on ground truth extreme point locations:
其中匹层,s是下采樣因子(HourglassNetwork的s=4),為關(guān)鍵點坐標(biāo)。
接著升筏,CornerNet使用關(guān)聯(lián)特征將角點分組撑柔,本文沿用了CornerNet的網(wǎng)絡(luò)架構(gòu)和loss,但沒有沿用關(guān)聯(lián)特征您访。
Deep Extreme Cut铅忿。DeepExtremeCut (DEXTRE)是一種基于極點的圖像分割算法,該算法取了四個極點并裁剪這四個極點組成的矩形框的圖片區(qū)域作為輸入灵汪,利用語義分割網(wǎng)絡(luò)對相應(yīng)對象進行類別不確定的前景分割檀训。DeepExtremeCut學(xué)習(xí)了匹配輸入極點的分割掩碼。
4. ExtremeNet for Object detection
ExtremeNet采用HourglassNetwork檢測每個類別的5個關(guān)鍵點(四個極點享言、一個中心點)峻凫,沿用了CornerNet訓(xùn)練配置、loss和偏移量預(yù)測部分览露。偏移量預(yù)測部分是類別未知的荧琼,但極點是類別明確的。偏移量預(yù)測是針對極點的差牛,中心點是沒有偏移量預(yù)測的命锄。ExtremeNet網(wǎng)絡(luò)輸出5xC個heatmaps和4x2個偏移量maps(如圖3),其中C是類別數(shù)量偏化。一旦極點明確了脐恩,網(wǎng)絡(luò)就用幾何的方式將他們分組到檢測中。
4.1. Center Grouping
極點位于對象不同的邊上侦讨,這使得組合變得比較復(fù)雜驶冒,比如關(guān)聯(lián)特征沒有足夠的全局特征來分組關(guān)鍵點。本文通過利用極點的擴散性韵卤,提出了一個不同的分組方法只怎。
本文分組算法的輸入是每個類別的五個heatmaps:一個中心heatmap和上下左右四個極點。已知一個heatmap怜俐,本文通過檢測所有的峰值點來抽取相應(yīng)的關(guān)鍵點身堡。一個峰值點是值大于的任意像素點,在周圍的3x3像素窗口是局部最大值拍鲤,這個過程叫做ExtrectPeak贴谎。
已知從熱力圖中抽取的四個極點
,可計算出幾何中心
季稳。如果中心點
被預(yù)測在center map
中擅这,且分?jǐn)?shù)較高,則認(rèn)為這四個極點是一個有效檢測:
(
為閾值)景鼠。接著仲翎,以暴力方式羅列出所有的關(guān)鍵點
痹扇,分別從每一類中抽取檢測。如圖4溯香,實驗中設(shè)置
上述的暴力分組算法時間復(fù)雜度為鲫构,其中
為每個基礎(chǔ)方向抽取的極點數(shù)量。補充的材料中提出一種比我們更快的時間復(fù)雜度為
的算法玫坛,然而很難在GPU上加速结笨,且當(dāng)
時在MS COCO數(shù)據(jù)集上的效果比我們的算法要慢。
4.2. Ghost box suppression
中心點分組可能對相同大小的三個等間距共線對象給出高置信度的false-positive檢測湿镀。這里位于中間的對象有兩個選擇炕吸,檢測出正確的小框,或預(yù)測一個包含相鄰對象極點的比較大的框勉痴,這些false-positive檢測被稱作ghost boxes赫模。在我們的實驗中,這些ghost boxes是不常見的蒸矛,但卻是我們分組中的唯一錯誤類型瀑罗。
我們提出了一種簡單的后處理方法來相處ghost boxes。根據(jù)定義一個ghost box包含許多其他小的檢測對象莉钙,我們采用soft nms解決這個問題。若某個box所包含的所有框的分?jǐn)?shù)總和大于其自身的3倍筛谚,則最終分?jǐn)?shù)除以2磁玉。soft nms類似于標(biāo)準(zhǔn)的基于重疊的nms,但懲罰的是ghost boxes驾讲,而不是重疊的boxes蚊伞。
4.3. Edge aggregation
極點不總是唯一定義的,若極點來自物體的垂直或水平邊(如汽車頂部)吮铭,則沿邊緣任何一點都可被認(rèn)為是極點时迫。因此我們的網(wǎng)絡(luò)在對象的任一對齊邊上產(chǎn)生弱響應(yīng),而不是單一的強峰值響應(yīng)谓晌。這種弱響應(yīng)存在兩個問題:①弱響應(yīng)可能低于峰值選擇閾值掠拳,將完全錯過極點;②即使檢測到關(guān)鍵點纸肉,它的分值也低于一個輕微旋轉(zhuǎn)對象的強峰值響應(yīng)溺欧。
我們使用邊緣聚合來解決這個問題。對于每個提取為局部最大值的極點柏肪,我們在垂直方向(左右極點)或水平方向(頂部和底部極點)匯總其得分姐刁。然后對所有單調(diào)遞減的分?jǐn)?shù)進行聚合,并在聚合方向上的局部最小值處停止聚合烦味。特別地聂使,使為極點,
為該點的垂直或水平線段。若
,則兩個最近的局部最小值為
和
柏靶,其中
,
弃理。邊緣聚合更新關(guān)鍵點的值為
,其中
是聚合權(quán)重。在我們的實驗中宿礁,設(shè)置
案铺,如圖5.
4.4. Extreme Instance Segmentation
極點相比簡單的邊界框攜帶更多的關(guān)于對象的信息,其標(biāo)注值至少是極值的兩倍(8 vs 4)梆靖。我們提出一種使用極值點來近似對象掩碼的簡單方法控汉,方法是創(chuàng)建一個以極值點為中心的八邊形。具體地說返吻,對于一個極值點姑子,我們在其對應(yīng)的邊的兩個方向上將其擴展到整個邊長度的1/4的一段。當(dāng)它遇到一個角點時测僵,線段被截斷街佑。然后我們把這四個部分的端點連接起來形成八邊形。
為了進一步細(xì)化邊界框分割捍靠,我們使用了DeepExtremeCut[29]沐旨,這是一個經(jīng)過訓(xùn)練的深度網(wǎng)絡(luò),可以將手動提供的極點轉(zhuǎn)換為實例分割掩碼榨婆。在本工作中磁携,我們簡單地將DeepExtremeCut[29]的手工輸入替換為極點預(yù)測,執(zhí)行2個階段的實例分割良风。具體地說谊迄,對于預(yù)測的每個邊界框,需要裁剪邊界框區(qū)域烟央,使用預(yù)測的極值點繪制高斯圖统诺,然后將串聯(lián)的圖像提供給預(yù)先訓(xùn)練的DeepExtremeCut模型。DeepExtremeCut[29]是類別未知的疑俭,因此我們直接使用檢測到的類別和ExtremeNet的得分粮呢,沒有進一步的后處理。
5. Experiments
作者在MS COCO上做實驗進行算法評估钞艇。
5.1. Extreme point annotations
在COCO數(shù)據(jù)集中沒有直接的極點標(biāo)注鬼贱,不過對于對象分割掩碼有完整的標(biāo)注,因此香璃,可以在多邊形掩碼標(biāo)注中找到作為極值點的極點这难。如果多邊形的一條邊平行于軸,或者有小于的誤差姻乓,邊緣的中點則為中心點嵌溢。
5.2. Training details
本文是基于CornerNet實現(xiàn)的,沿用了CornerNet的超參數(shù):
1)輸入和輸出分辨率分別為511x511蹋岩、128x128赖草;
2)數(shù)據(jù)增強使用了翻轉(zhuǎn)、0.6到1.3的隨機縮放剪个、隨機裁剪和隨機顏色抖動秧骑;
3)使用Adam優(yōu)化方式,學(xué)習(xí)率為2.5e-4扣囊;
4)CornerNet在10個GPU上訓(xùn)練了500k次迭代乎折,相當(dāng)于在一個GPU上訓(xùn)練140天∏中考慮到GPU資源的限制骂澄,作者在CornerNet預(yù)訓(xùn)練模型上微調(diào)網(wǎng)絡(luò),隨機初始化head layers惕虑,在5個GPU上迭代250k次坟冲,batch size設(shè)為24,在200k次迭代時學(xué)習(xí)率縮降10倍溃蔫。
5.3. Testing details
對于每個輸入圖像健提,網(wǎng)絡(luò)為極點生成4個c通道的heatmaps,為中心點生成1個c通道heatmap伟叛,以及4個2通道的offset maps私痹。本文將邊緣聚合應(yīng)用于每個極點的heatmap,并將中心點的heatmap乘以2痪伦,以修正整體尺度變化侄榴。然后將中心分組算法應(yīng)用于heatmap雹锣,在ExtrectPeak中最多提取40個top點网沾,以保持枚舉效率。通過在offset maps的相應(yīng)位置添加偏移量蕊爵,以細(xì)化預(yù)測的邊界框坐標(biāo)辉哥。
與CornerNet一樣,輸入圖片分辨率可以不同攒射,不會resize到固定大小醋旦。測試時數(shù)據(jù)增強方式為圖片翻轉(zhuǎn),在本文實驗中会放,額外使用了5個多尺度(0.5,0.75,1,1.25,1.5)增強饲齐。最后,使用soft-NMS過濾檢測結(jié)果咧最。測試時捂人,一張圖片耗時322ms御雕,其中網(wǎng)絡(luò)前向傳播耗時13ms,分組耗時150ms滥搭,剩余時間消耗在NMS后處理上酸纲。
5.5. Stateoftheart comparisons
圖6為ExtremeNet和目前比較好的方法在COCO test-dev上的對比結(jié)果。
ExtremeNet在小目標(biāo)和大小居中的目標(biāo)上的效果比CornerNet要好瑟匆,對于大目標(biāo)闽坡,中心點響應(yīng)圖不夠精確,這是因為幾個像素的移動可能就會造成檢測和false-negative之間的差異愁溜。
結(jié)論
極點和分組的思想很新穎疾嗅,但是大目標(biāo)檢測效果不夠準(zhǔn)確,且效率太低祝谚。