One-shot Learning of Object Categories

One-shot Learning of Object Categories

一.One-shotlearning是最近在計算機視覺領域一種研究解決目標分類任務的方法。然而大多數基於目標分類算法的機器學習需要成百上千的圖像或非常大的數據庫用於訓練,One-shotlearning主要目標是學習目標分類從一個或很少的訓練圖像。

本文主要關注lfeifei等人在2006年的文章,IEEETransactions on Pattern Analysis and Machine Intelligence,其中用到一種生成式的目標分類模型和變分貝葉斯的理論框架用於從少量的手動標記的數據中學習視覺目標的分類。另一篇文章, International Conference on Computer Vision and PatternRecognition(CVPR) 2000, 也會在下面進行討論。

二.動機

從很少的樣本中快速學習目標分類已被證明是可能的,而且估計一個小孩在六歲已經學到了所有一萬到三萬的目標類別。人類的這種成就不僅僅因爲他們的計算能力,還在於他們可以從已知的關於不同的已存在的種類的信息中合成並學習新的目標類別。下面的圖像解釋了從兩個不同的目標類得到兩個樣本的想法:1.一個未知的目標由熟悉的形狀構成,2.一個位置的無組織的形狀;假設人類使用從已知的類中存在的知識,在學習新東西時,對於人類來講識別前一個比後一個容易得多。這樣,在人工智能和計算世界中one-shoting主要的動機和原因是系統,可以像人類一樣從已有目標類別的先驗知識中學習和分類新的目標。

三.背景

正如許多分類系統一樣,one-shoting學習涉及三個主要的挑戰:

1.      表達:我們應該怎樣對目標和類別建模?

2.       學習:我們怎樣獲得這個模型?

3.       識別:給定一個新的圖像,我們怎樣檢測一個已知的目標在聚類中存在,即使是環境,燈光,或者視角改變?

然而,one shoting學習與單目標識別,甚至標準的類別識別算法有很大不同在於它強調知識轉化的重要性,制式轉換包括學習的類別的先驗知識,並且允許對小樣本數進行學習。

﹒模型參數的制知識換:one-shoting學習的一套算法通過模型參數的再利用實現知識轉換,通常利用已學到的類別和要學習的類別的相似性。目標的類別首先在於對大量樣本的學習(例如,不是以一種one-shoting學習的方式),新的目標種類通過對已經學到的類別的模型參數的轉換或選擇對一個類別的相關參數,正如 M. Fink, 2004。

﹒通過分享特徵的知識轉換:例外一種實現知識轉換的算法是通過分享部分或一類目標的特徵。在 CVPR 2005 by Bart and Ullman的文章中,一種算法通過從已學到的類別的塊最大化不定的人工信息中獲取特徵信息,然後將這些特種用到新的類別的學習中。以狗的分類爲例,可以從已知的馬的或牛的類別中one shot學習,因爲狗的類別中包含相似的分辨信息。

上下文信息的知識轉換:然而上面兩種制式轉換在oneshoting學習中起作用依賴於新的目標種類和它所基於的已知的目標種類的相似性,上下文信息的轉換反而可以吸收目標所在的場景的全局信息。NIPS 2004 by K. Murphy et al. 的論文用這種全局信息如條件隨機場中的頻率分佈的結構來識別目標。這種形式的算法有兩個優勢:首先,他們應該可以學習視覺上不相似的目標;然後,他們應該可以在沒有被手動裁剪或精心堆砌過的圖像的情況下使用,而應該是自然出現的情況。

四.理論

貝葉斯one shoting學習作爲一個參數化的星座模型的混合,表示出了圖像學習的前景和背景。在學習階段,這些模型的參數通過聯合密度參數後驗和變分貝葉斯最大期望(VBEM)實現。只有在這這個階段已經學到的目標類別超出了one shoting結構的範圍形成了通過上下文信息的變換的模型參數的選擇。對於新圖像的目標識別,學習過程中得到的後驗被用於貝葉斯決策結構來估計p(目標|測試,訓練)與p(背景聚類|測試,訓練)的比例。

貝葉斯結構

給定一個任務在查詢的圖像中找到一個特定的目標,貝葉斯one shoting學習算法的總體目標是比較該目標在圖像中的概率和僅僅背景聚類在圖像中的概率。如果前一個概率更高,算法就記錄目標在圖像中出現,如果後一個概率較高,算法就記錄目標在圖像中不出現。爲了計算這些概率,目標類別必須從包括該目標的1-5個訓練樣本中建模。

爲了實現這個想法,使I爲查詢的圖像,其中包括了前景類別的一個樣本Ofg或僅僅包括了一個一般的背景類別Obg。使It爲訓練圖像的樣本用作前景分類。決定I是否包括前景類別中的一個目標,或者僅僅從背景類別聚類取決於:

 

這裏類別的後驗 和 是由貝葉斯理論支撐,產生一個似然比和目標種類先驗的比。如果R超過一個特定的閾值T就決定圖像I分別以參數和 包括來自前景和背景目標的類別。前景參數模型是從訓練圖像以及學到的類的先驗信息的學習階段學到的。我們假設圖像的背景模型是均勻的,省略類別先驗的常數 ,對和 參數化產生:

 

已經將和 簡化爲 和 。

給定訓練圖像的模型參數的後驗分佈, 在算法的學習過程中被估計,在估計時,one shoting嚴重偏離了傳統的貝葉斯估計模型,近似整數爲 ,贊成用變分方法可以使用已學到的分類中獲得鮮豔信息。然而對於背景模型,以及從大量訓練樣本中學到的類別,通常使用傳統的最大似然估計。

目標分類

對於每一個查詢的圖像I和每一個訓練樣本It,用星羣模型來表達。爲了獲得給定圖像的這種模型,圖像中N個感興趣的區域首先通過 Kadir brady saliencydetector來檢測。每個區域用圖像中的一個位置來表達,Xi和它的外觀Ai,使 ,Xt和At類似的表達關於訓練圖像,對於R的表達成爲:

和 的似然表達爲星羣模型的混合。一個典型的星羣模型有P(3-7)個部分,但是有N(~100)個感興趣的區域。這樣一個P維向量h分配一個感興趣的區域(N中的一個)到每一個模型(對於P個部分)。這樣對於模型,h定義一個假設(將感興趣的區域分配到模型部分的假設),並且一個完整的星羣模型通過對假設空間H中所有假設h求和得到,最終似然函數寫作:

 

不同的w表達部分的不同結構,然而不同的h表達給定一個參數w,區域到部分的不同分配。模型形狀和外觀是相互獨立的的假設允許考慮似然表達 作爲外觀和形狀兩個分離的似然。

外觀

每個特徵在特徵空間中用一個點表示(在下面完成討論),“每個部分p在星羣模型中都一個均值和精確參數爲 的高斯密度”。上面描述的外觀似然函數是由給定的假設h和混合成分w的模型的部分的高斯的和計算的。

形狀

一個給定混合成分w和假設h的形狀是通過特徵的位置的聯合高斯密度來表示的。這些特徵在建模部分的相對位置時通過一個2(P-1)維高斯變換到一個尺度和變換不變的空間。這樣,我們獲得了形狀的似然,完成 的表達。爲了減少假設空間H中假設的個數,僅僅考慮排序約束的假設,其中每個部分的x座標是單調增加的。這樣減少了H中P!個假設。

聯合密度

爲了計算R,必須評估積分 ,但是通過解析的方法是困難的。目標的種類信息給定關於 的信息,所以需要解決的是 , 的後驗,以及找到一個足夠的近似使積分容易處理。前面通過中心在 處得 函數近似後驗,將問題中的積分壓縮成 。這個 通常用最大似然 或最大後驗 過程估計。然而,因爲在one-shoting學習中,用到很少的訓練樣本,分佈很難被well-peaked,正如 函數近似中的假設。這樣代替傳統的近似,貝葉斯one-shoting學習算法努力尋找 的一個參數形式這樣 的學習就是可行的。算法採用一個標準的Wishart分佈作爲 的聯合先驗分佈,在學習過程中,具有與最大似然相同計算複雜度的變分貝葉斯被用於學習分佈的超參數。然後,因爲 是高斯的乘積,正如在目標分類模型中選擇的,積分退化成一個多變量Student’s分佈,它可以被計算。

五.實現

特徵檢測和表達

爲了檢測一個圖像中的特徵這樣它可以通過一個星羣模型來表達, Kadir Brady featuredetector 被用在灰度圖像上,找到圖像的突出區域。這些區域然後被聚類,產生許多特徵以及形狀參數X,X由聚類中心組成。選擇 Kadir Brady featuredetector 主要是因爲它產生較少的,更突出的區域,恰恰與像多尺度的Harris等的特徵檢測,產生大量的,無意義的區域。

區域是從圖像中得到並且重新排成11*11個像素的小塊,每個小塊表示成121維的空間。用主成分分析的方法降維,並且外觀參數A,由每個塊的前十個主要成分形成。

學習

爲了獲得形狀和外觀先驗,用最大似然學習三個類別(貓,臉和飛機),然後用這些目標類別的模型參數估計希望的先驗的超參數。

給定一列訓練樣本,算法對樣本進行特徵檢測,並且從星羣區域確定模型的超參數。假設指標h分配特徵給部分,阻止線性模型的近似形式的表達,所以後驗 通過變分貝葉斯期望最大估計,執行大約100次以後直到參數收斂。用這種方式學習一類包括四個部分的模型,少於十個訓練圖像大約需要在2.8GHz的機器中執行少於一分鐘。

六.實驗結果

摩托樣例

﹒從Caltech4數據庫中選擇6個訓練樣本, Kadir Brady detector 被使用,給定X他,通過PCA得到下面樣本。

﹒接着,先驗模型參數從30個模型 中計算,3個學到的類別中從每個得到10個;有斑點的貓,臉和飛機。先驗編碼模型缺少視覺連續性的知識,佔據參數空間連續模型的一個不同的部分。

在學習中,基於後驗 的先驗朝向對應於連續模型的參數空間的部分。僅僅用到一個混合模型,使 ,後驗估計下面給出。

﹒最後,下面的圖像表示學到的摩托部分的形狀和外觀,以及對應的特徵。

﹒爲了識別測試,上面的模型用到50幅圖像包括摩托,50幅不包括摩托。下面的圖像表示ROC曲線,測量錯誤檢測的概率,以及同樣的識別樣本。

與ml和map的比較

七.通過分享變換的強度從一個樣本學習

貝葉斯oneshoting學習算法的一個備選, Erik Miller, NicholasMatsakis, and Paul Viola at ICCV 2000的文章中給出的算法,用模型參數的知識變換學習新的目標分類,與前面已學到的類別的外觀相似。在他們的文章中,圖像用文本或形狀表示,或者已經被變換的隱含圖像,由 定義。

固定

然而矢量化定義過程將一幅圖像形成對應的另一幅,文章作者創造一個新的詞固定作爲每一個圖像序列與另一個的聯立的矢量。對於一類特定類別的訓練圖像,固定迭代變換每一幅圖像最小化圖像的聯合像素熵E,

這裏V(p)是由所有圖像中一個特定的像素p定義的二進制隨機變量,H()是變量分離的熵函數, 是圖像的像素序列的索引。

固定算法由一列圖像Ii和對應的變換矩陣Ui開始,他們在算法的最後會將Ii的變換表示成它的隱圖像ILi。這些隱圖像Ili最小化聯合像素的熵得到。這樣固定算法就是估計變換Ui。

算法的步驟:

﹒初始化Ui

﹒計算已有圖像序列的聯合像素熵

﹒對於每一個圖像Ii,通過所有可能的變換A(比例,x變換,y變換,x尺度,y尺度,x剪切,y剪切)迭代,檢測AUi是否減少聯合像素熵。如果是,使 。

﹒重複前一步直到收斂。

在算法最後, , 將隱圖像變換成原來的觀測圖像。固定被用於一列0和一列2。

分類

爲了將該模型用於分類,我們必須用給定觀測的圖像的最大後驗概率估計模型。貝葉斯原則的一個應用是 ,通過變換T給定一個困難的積分參數化,然後尋找最好的變換T。也就是,將最好的圖像投影到隱圖像的變換。一旦找到這個變換,測試圖像可以變換成它的隱圖像,基於圖像間 Hausdorff 距離的最小鄰域分類被用於對隱圖像進行分類,作爲屬於一類特殊的類別Cj。

爲了找到優化T,作者提出對於固定過程將測試圖像I插入到圖像集中。因爲我們假設測試圖像是從一類Cj中得到,固定將會提供一個對應的 將I投影到她的隱圖像。因圖像就可以被分類了。

單樣本分類

給定一列從一類固定圖像中得到的變換Bi,作者將他們的理論擴展到對於一個新的類別Cj僅包括一個訓練樣本It的情況。按順序對It運用所有的變換Bi,產生c的一列人工數據。這個人功序列可以通過不僅從一個,而是很多已知的類別中借用變換變得更大。一旦數據序列I被得到,c的一個測試樣本可以被一個標準的分類過程進行分類。主要的假設是類別足夠相似,一類的變換可以用到其他類。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章