1. 程式人生 > >滑動窗加速方法——程明明bing演算法【論文翻譯】

滑動窗加速方法——程明明bing演算法【論文翻譯】

BING: Binarized Normed Gradients for Objectness Estimation at 300fps

Ming-Ming Cheng, Ziming Zhang, Wen-Yan Lin, Philip Torr, IEEE CVPR, 2014

基於二值化賦範梯度特徵的一般物件估計

摘要:

通過訓練通用的物件估計方法來產生一組候選物件視窗,能夠加速傳統的滑動視窗物件檢測方法。我們觀察到一般物件都會有定義完好的封閉輪廓,而且通過將相關影象視窗重置為固定大小,就可以通過梯度幅值進行區分。基於以上的觀察以及複雜度的考慮,為了明確訓練方法,我們將視窗固定為8*8的,並將梯度幅值轉化為一個簡單的64維的特徵來描述這個視窗。

我們進一步說明這個二值化賦範特性(BING),它可以很有效的用於一般物件估計。而且只需要一些原子操作(例如加法,按位移動等),我們使用的是PASCAL VOC 2007資料集,這是很有挑戰性的,實驗證明,我們的方法很高效的產生一系列類別獨立,高解析度的物件視窗,通過使用1000個建議視窗,我們的物件檢測準確度達到96.2%。通過增加建議視窗的數量或者考慮顏色空間來計算BING特徵,實驗結果可以提高到99.5%。

1.引言

作為計算機視覺的一個重要領域,物件檢測已經取得了巨大的進步。然而,大部分先進的檢測器,需要為每一類設計特定的分類器,並且需要評估許多影象視窗【17,25】。為了減少分類器的檢測視窗,訓練通用類別的物件檢測方法已經變得流行起來【2,3,21,22,48,49,57】。物件狀態通常表示一個影象視窗包含任意類別物件的概率值。一個通用類別的檢測方法可以很方便的用於改善預處理過程:1)減少了搜尋空間;2)通過使用強分類器來提高檢測準確度.然而,設計一個好的通用類別的方法是非常困難的,需要:

  1. 具備很好的檢測率,找到所有前景物件;
  2. 提出一些建議,用於減少物件檢測的計算時間;
  3. 達到很高的計算效率,很容易拓展到其他實時以及大規模的應用程式中;
  4. 具備很好的通用性,方便用於各個類別的檢測器中,這樣可以減少計算量

據我們所知,暫時還沒有任何方法可以同時滿足以上全部要求。

認知心理學以及神經生物學研究表明,人擁有強大的能力感知物件。通過對認知反應時間和訊號在生物途徑中的傳輸速度進行深入的研究和推理,形成了人類注意力理論假定,該假定認為人類視覺系統只詳細處理影象的某些區域性,而對影象的其餘部分幾 乎視而不見,這也意味著,在識別物件之前,人類視覺系統中會有一些簡單的機制來定位可能的物件。

本文中,我們提出了一個非常簡單而且魯棒性強的特徵(BING),通過使用物件狀態得分來協助檢測物件。我們的動機來自於物件普遍是獨立的,而且都具有很好定義的封閉輪廓【3,26,32】。我們觀察到將影象歸一化到一個相同的尺度(例如:8*8)上,一般物件的封閉輪廓和梯度範數之間具有強聯絡(見圖1(C))。為了能夠有效量化影象視窗中物件狀態,我們將其重置大小為8*8,組合該視窗的畫素梯度的幅值作為為一個64位的特徵,通過級聯的支援向量機框架學習一個通用的物件檢測方法。我們進一步說明這個二值化賦範特性(BING),它可以很有效的用於一般物件估計。而且只需要一些CPU原子操作(例如加法,按位移動等)。大部分現存的先進方法,一般採用複雜的分類特徵,而且需要採用加速方法以至於計算時間是可控的,相對於此,BING特徵是簡單樸素的。

我們已經在PASCAL VOC2007資料集上,廣義的評價了我們的方法。實驗結果顯示,我們的方法很有效(在一個簡單的桌面CPU中達到300fps)的產生了一系列資料驅動,類別獨立,高分辨的物件視窗,通過使用1000個視窗(約為整個滑動視窗的0.2%),檢測率達到96.2%。使用5000個建議視窗以及3個不同的顏色空間,我們的方法可以達到99.5%。借鑑【3,22,48】,我們也核實了方法的通用性。我們訓練了6個已知類別,然後在14個未知類別上進行測試,得到了很好的效果(圖3)。相對於其他流行的方法,BING特徵能夠使我們達到更好的檢測率,而且速率提高了1000多倍。實現了之前我們提到的關於一個好的檢測器的要求。

2.相關工作

能夠在識別一個物件之前察覺它,非常接近自底向上的視覺顯著性。根據顯著性定義,我們廣義的將相關領域的研究氛圍三個類別:區域性區域預測、顯著性物件檢測,物件狀態建議。

區域性區域檢測: 該模型旨在預測人眼移動的顯著點【4,37】。啟發於神經生物學研究早期的視覺系統,Itti等人【36】提出了第一個用於顯著性檢測的計算模型,此模型利用了多尺度影象特徵的中心-周圍的差異。Ma和Zhang【42】 提出了另一種區域性對比度分析方法來產生顯著性影象,並用模糊增長模型對其進行擴充套件。Harel等人【29】提出了歸一化中心分佈特徵來突出顯著部分。 儘管幾句區域性區域檢測模型以及取得了卓越的發展,但其傾向於在邊緣部分產生高顯著性值,而不是均勻地突出整個物件,因此,這種方法不適合用於物件檢測。

顯著性物件檢測: 該模型旨在檢測當前視野中最引人注意的物件,然後分割提取整個部分【5,40】。Liu等人【41】通過在CRF框架中引入區域性,區域的,全域性顯著性測量。Achanta等人【1】提出了頻率調諧方法。Cheng等人【11,14】提出了基於全域性對比度分析和迭代圖分割的顯著性物件檢測。更多的最新研究也試著基於過濾框架【46】產生一些高分辨的顯著性圖,採用一些效果比較好的資料【12】,或者是使用分層結構【55】。這些顯著性物件分割在簡單的情景影象分析【15,58】、內容感知編輯【13,56,60】中可以達到很好的效果。而且可以作為一個便宜的工具處理大規模的網路影象或者是通過自動篩選結果構建魯棒性好的應用程式【7,8,16,31,34,35】。然而,這些方法很少能夠運用於包含多物件的複雜影象,但現實生活中,這樣的圖片確實最有意義的。(例如:VOC【23】)

物件狀態建議: 該方法並不做決定,而是提供一定數量(例如:1000)包含所有類別物件的視窗【3,22,48】。通過產生粗糙分割集【6,21】,作為物件狀態建議已經被證實為一個減少分類器搜尋空間的有效方式,而且可以採用強分類器提高準確率。然後,這兩種方法計算量大,平均一張圖片需要2-7分鐘。Alexe等人【3】提出了一個線索綜合性的方法來達到更好、更有效的預測效果。Zhang等人【57】採用方向梯度特徵提出了一個級聯的排序SVM方法。Uijlings等人【48】提出了一個可選擇性的搜尋方法老獲得更好的預測效果。我們提出了一個簡單直觀的方法,相對於其他方法,達到了更好的檢測效果,而且快於其他流行的方法1000多倍。

另外,對於一個有效的滑動視窗物件檢測方法,保證計算量可控是非常重要的【43,51】。Lampert等人【39】提出了一個優雅的分支定界方法用於檢測。但是,這些方法只能用於加速分類器,而且是使用者已經提供了一個好的邊框。一些其他有效的分類器【17】和近似核方法【43,51】也已經被提出。這些方法旨在減小估計單個視窗的計算量,自然也能結合物件性建議進而減小損失。

3.方法

啟發於能夠在識別物件之間感知它【20,38,47,54】的人類視覺系統,我們引入了一個64維的梯度幅值特徵,二值化的梯度幅值特徵(BING)很有效的獲取到影象視窗的物件狀態。

為了找到影象中的一般物件,我們掃描一個定義好的量化視窗(依據尺度或者是縱橫比)。每一個視窗通過一個線性模型 R64獲得得分

s=<w,gl(1)

l=(i,x,y) (2)

sl代表過濾器得分gl代表NG特徵l表示座標i表示尺度(x,y)表示視窗位置。運用非最大抑制(NMS),我們為每個尺度提供一些建議視窗。相對於其他視窗(例如:100*100),一些尺度(例如:10*500)的視窗包含物件的可能性是很小的。因此我們定義物件狀態得分(校準過濾器得分):

o= vi*sl+ti (3)

其中viti R,針對不同尺度i的視窗,得到不同的獨立學習係數。使用校準函式(3)是非常快的,通常只需要在最終的建議視窗重排之後進行。

3.1 梯度幅值(NG)和物件狀態

物件一般是具有很好定義封閉輪廓和中心的【3,26,32】。重置視窗的時候,就相當於將現實中的物件縮小到一個固定大小,因為在封閉的輪廓中,影象梯度變化很小,所以它是一個很好的可區分特徵,就像是圖1中,輪船和人在顏色,形狀,紋理,光照等方面都有很大的不同,他們在梯度空間都存在共性。為了有效地利用觀察結果,我們首先將輸入影象重置為不同尺度的,在不同的尺度下計算梯度。然後再隔點取8*8大小的框,作為一個對應影象的64維的NG特徵。

我們採用的NG特徵,是一個密集的且緊湊的objectness特性,有以下幾點優勢:首先,由於歸一化了支援域,所以無論物件視窗如何改變位置,尺度以及縱橫比,它對應的NG特徵基本不會改變。也就是說,NG特徵是對於位置,尺度,縱橫比是不敏感的,這一點是對於任意類別物件檢測是很有用的。

圖1 儘管物件(紅色)和背景(綠色),在影象空間(a)呈現出了很大的不同,通過一個適當的尺度和縱橫比,我們將其分別重置為固定大小(b),他們對應的NG特徵(c)表現出很大的共性,基於NG特徵,我們學習了一個簡單的64D線性模型(d),用來篩選物件視窗。

這種不敏感的特性是一個好的物件檢測方法應該具備的。第二,NG特徵的緊湊性,使得計算和核實更加有效率,而且能夠很好的應用在實時應用程式中。

NG特徵的缺點就是識別能力不夠。但一般而言,會採用檢測器來最終缺點結果的誤報率。第4部分,我們將展示實驗結果,在很具有挑戰的VOC2007資料集上,包含了96.2%的物件視窗。

3.2 objectness度量

為了對影象視窗進行學習,我們採用了兩級級聯SVM。

  1. 我們通過式(1)學習一個線性SVM[24]。採用包含前景物件的視窗和隨機選擇的簡單背景視窗作為訓練集的正負樣本;
  2. 用上面得到的線性SVM學習vi,ti, 對不同的尺度i的訓練影象我們通過式(1)進行估計,然後採用已選的視窗作為訓練樣例,計算過濾器得分作為一維特徵,然後用訓練影象註釋來核實標記。

討論:如圖1,線性模型w與生物學上的靈長類動物的體系結構【27,38,54】的多尺度中心周圍模式設定很類似,模型沿著邊框區域具有更大的權重用來區分周圍的背景。相對於手動設計中心周圍模式【36】,我們的學習模型w能夠獲取到更加複雜也更加自然的前景。比如,低層面的物件相對於高層面的部分要更加阻塞。也就表示模型w中會給予低層次的物件更低的置信度。

3.3 二值化梯度幅值(BING)

為了能夠利用二值化近似模型【28,59】中的優點,我們提出了一個NG特徵的加速版,二值化梯度幅值,加速特徵提取和測試過程。我們學習的線性模型wR64可以近似表示為一系列基向量的組合

其中Nw表示基向量的個數,αj{-1,1}64表示基向量,βjR表示校準係數。αj可以進一步表示為二值向量和它的補:

α二值化之後得到的b可以被直接用於測試,而且只需要按位與和位元組統計操作【28】

關鍵過程就是如何二值化以及有效的計算NG特徵。我們近似採用梯度幅值(以及轉化為01位元組)的前Ng位來作二值化。

圖2 變數說明:BING特徵bx,y,它的最後一行是rx,y,最後一個元素bx,y注意出現在式(2)和式(5)中的下標i, x, y, l, k,這些是定位整個向量而不是向量元素的索引。我們可以用一個簡單的原子變數(INT64和BYTE)表示BING特徵和它的最後一行,這樣能夠更有效的進行特徵計算。

因此,64維 NG特徵gl值可以通過前Ng位二值化梯度幅值(BING)近似表示

注意:這些BING特徵擁有不同的權重,依據它原本不同的位元組位。獲取8*8的BING特徵一般需要遍歷64位,依據8*8 BING特徵的兩個特徵,我們提出了一個快速的特徵計算方法,能夠只使用一些簡單的原子操作(按位或和按位移動)避免迴圈計算。

第一,BING特徵bx,y以及它的最後一行rx,y可以儲存在一個簡單的INT64和一個BYTE變數中;第二,相鄰的BING特徵以及他們的行之間擁有一個簡單的累積關係。如圖2,將rx-1,y按位移動1位,這1位將自動進位到rx,y ,插入bx,y的過程可以用按位或來實現。同樣,將bx-1,y按位移動8位,這8位將自動進位到bx,y ,自動插入rx,y

我們的BING特徵有效的利用了整體影象之間的累積性質【52】。與之前的方法在任意矩形範圍內計算一些值不同的是,我們採用一些原子操作在一個固定8*8大小範圍內計算一系列二進位制模式。

一個影象視窗對應的BING特徵bk,l的過濾器得分,見式(1),可以表示為:

其中,Cj,k可以通過一些快速的按位操作以及SSE指令操作計算得到。

實現細節:我們使用一維的標識[-1,0,1],來定義水平方向和垂直方向上的影象梯度gxgy當計算梯度幅值是採用min(|gx|+|gy|,255),然後將其存入一個BYTE中。

4.實驗評估

我們在VOC2007資料集上實驗評估了我們的方法,使用的是DR和WIN的評估標準,與3個現存最先進的方法建議質量、通用性以及效率上做了對比。正如【3,48】,一系列高檢測率的粗糙集對於有效物件檢測是足夠了的,,而且它允許使用複雜的特徵和補充線索來得到比傳統方法更好的質量和更高的效率。在對比試驗中,我們採用的對應作者公佈的實現方式和建議的引數設定。

圖3 不同方法關於#WIN和DR的權衡曲線。我們的方法使用1000建議視窗,達到了96.2%DR,使用5000個建議視窗可以達到99.5DR.其他三個方法我們採用了相同的評估標準,可以看出來優於一些其他的方法【6,21,25,30,50】,顯著性測量【33,36】,特徵點檢測【44】以及HOG檢測【17】.

建議質量對比:參照【3,48,57】,我們在資料集VOC2007上採用DR-WIN評估測試集,該資料集包含4952張20個類別的帶有邊框註釋影象。數量巨大,種類繁多,視角、尺度、位置、阻塞、光照等都有不同,這些特點非常符合我們識別所有物件的要求。圖3展示了資料統計對比,對比的方法有:OBN【3】,SEL【48】,以及CSVM【57】。正如【48】,通過收集不同引數設定下的結果,可以增加建議視窗的離散度,也能提高檢測率DR,當然也需要提高建議視窗的數量(#WIN)。SEL【48】組合了80個不同引數設定的結果,達到了99.1%的DR和使用了10000多個建議視窗。我們的方法達到99.5%的DR,但只需要5000個建議視窗,而且僅僅收集了3個顏色空間的結果(RGB,HSV,GRAY)。如同DR-#WIN資料分析展示的那樣,我們簡單的方法在總體上達到了更好的效果,速率上比最流行的的方法【3,22,48】提升了3個數量級(見表格1),我們舉例闡述了一些不同複雜度下的結果,如圖4.

通用性測試:參照【3】,為了證明我們的方法具有通用性,採用包含未訓練類別的物件影象進行測試。我們採用6個類別的物件訓練我們的方法,通過剩下的14個類別進行測試。圖3中,訓練和測試是通過BING和BING-generic表示的。正如我們看到了那樣,兩個曲線基本一致,證明了我們方法的通用性。

最近的工作【18】能夠在20秒內檢測100000物件類別,主要採用的是減低傳統多類別計算複雜度從O(LC)O(L),L表示推薦視窗的數量,C表示分類器的數量。我們的方法可以得到任意類別(訓練過的以及未訓練的)的高質量的推薦視窗,可以通過減小L來顯著減少計算複雜度。

計算時間:見表1,我們的方法可以在300fps的視訊中,提供高效率的提供高質量的物件視窗,其他的方法對一張圖片都需要幾秒。這些方法通常是作為現存最先進的演算法,而且很難大幅度的提升速度。我們在2501張圖片上的訓練需要很少的時間(包括載入XML檔案,總共20S),而現有的先進的方法【6,21】測試一張圖片通常需要多於2分鐘.

如表2,通過採用二進位制近似的方法學習線性過濾器和BING特徵提取,計算每個影象視窗的得分只需要一些原子操作。

Table 2:在不同階段,計算objectness所需要進行的原子運算元目:

計算梯度幅值,提取BING特徵,獲得objectness得分

在每個標準化的尺度和縱橫比下,定位的數量相當於ONN代表影象中的畫素數.因此,在所有尺寸和縱橫比的影象中,計算得分的複雜度也是O(N)。在每一個潛在的位置上,提取BING特徵和計算得分可以利用它鄰近的2個位置(例如:左和上)。這意味著空間複雜度也是O(N)。我們在同一個Intel i7-3940XM CPU上,對比其他基準方法【3,2,,48,57】的執行時間。

如表3,我們可以進一步意識到,不同的近似對結果質量的影響,通過對比我們在其他試驗中採用Nw=2Ng=4.

Table 3:在不同近似層下的,平均檢測結果(DR,使用1000個建議視窗),控制(NwNg),N/A表示沒有近似

圖4在VOC2007上的真實的測試樣例

5.結論以及將來的工作

我們呈現了一個非常簡單,快速而且高質量的objectness方法,通過採用BING特徵,計算任意尺度和縱橫比的影象視窗中,我們僅僅需要一些原子操作(加,按位等)。通過最廣泛的基準(VOC2007)和DR-#WIN評估標準進行結果評價,結果表明,與其他現存先進方法【3,22,48】相比,我們的方法不僅表現突出,而且速度上提升了3個數量級。

侷限性: 與其他objectness方法【3,57】和滑動視窗【17,25】一樣,我們都預測了一系列的物件矩形邊框,因此,也有相似的侷限性,對於一些類別的物件,一個矩形框並不能很好的集中實體,以便用來進行區域分割【6,21,33,45】,例如蛇。

進一步的工作:由於我們的方法具備高質量以及高效率的特性,所以它很適合實時多類別的物件檢測和大規模影象收集應用程式(如:ImageNet【19】)。由於使用的簡單的二進位制操作,而且空間效率高,使得我們的方法可以在普通的裝置上執行【28,59】。

我們的加速策略主要是減少視窗數量,這個可以通過其他的加速技術(通常旨在減少分類時間)來實現。將我們的方法和【18】的方法的進行組合將是很有趣的這樣能夠在一個機器上實時檢測數以千計類別的物件。我們的方法解決了基於物件檢測方法【53】的效率屏障,使得能夠進行實時的高質量的物件檢測。

通過使用簡單的BING特徵,我們能夠使用一小部分(1000)的建議視窗得到涵蓋幾乎(96.2%)所有的物件區域。引入新的線索進一步降低建議視窗的數量,以便維持高效率的物件檢測,以及在更多的應用程式【9】上使用BING特徵,將是很值得研究的。