基于樹形檢測器的多標志識別
外層循環(huán)i=1:N-1
內(nèi)層循環(huán)結(jié)束
p(Selectedidx)=1
將p和其局部最小fp值插入列表;
外層循環(huán)結(jié)束
輸出列表中最小fp值對應(yīng)的比特串。
有了生成的二叉樹和soft cascade結(jié)構(gòu),本文基本上完成了多類臺標的檢測和識別。其中一個重要參數(shù)是soft cascade的長度,如果選擇較短的cascade,檢測器看上去更接近并行cascade結(jié)構(gòu)的檢測器;如果選擇較長的cascade,分叉樹可能要面對很難區(qū)分的負樣本,從而降
低檢測性能。本文中,嘗試了很多種不同長度的soft cascade,然后挑選性能最好的一個。算法2如下:
算法2混合分叉樹分類器
輸入:訓(xùn)練好的soft cascade結(jié)構(gòu),查詢樹,N類正樣本數(shù)據(jù)集S,還有一個數(shù)量很大的背景圖像集B;
輸出:一個混合分叉樹分類器
(1)初始化:分叉樹的根節(jié)點用soft cascade結(jié)構(gòu)替代;
(2)樹的節(jié)點訓(xùn)練:
a.從S集和B集中,挑選出所有可以通過分叉樹當前節(jié)點E的父節(jié)點的樣本,確保正負樣本集p和n的規(guī)模相當;
b.如果背景圖像集規(guī)模不夠,終止該節(jié)點E的分叉,將E設(shè)為葉子節(jié)點;
(3)在查詢樹中搜索當前節(jié)點:
a.如果找到了,就根據(jù)查詢節(jié)點集合將正樣本集分成兩部分,然后用Vector Boosting訓(xùn)練一個節(jié)點分類器。
b.否則,就用Gentle Adaboost訓(xùn)練一個強分類器。
(4)對于當前節(jié)點E的每個孩子節(jié)點,循環(huán)使用步驟(2)和(3)進行訓(xùn)練生成。
3 實驗方案和結(jié)果
本文收集了6類臺標集合,每一類包含了200張圖像。而臺標圖像就是從這些圖像中裁剪出來的,然后縮放成24×24像素大小的塊,作為正樣本集。負樣本集則是從將臺標區(qū)域掩蓋掉后的圖像上收集的。首先進行了一個實驗,來解釋W(xué)FS樹的不同設(shè)計方案將會對算法性能帶來怎樣的影響,然后研究了soft cascade長度帶來的影響,最后拿隨機生成的樹與本文的樹進行對比。
本文首先使用了文獻中提到的方法訓(xùn)練一個普通檢測器,然后將其791個弱分類器組成了soft cascade。本文用這個soft cascade對一組測試圖像進行了測試,統(tǒng)計結(jié)果表示每幅圖像通過的平均特征數(shù)約為8。在實驗中,作者發(fā)現(xiàn)這個長度值設(shè)置在平均特征數(shù)的1倍和2倍之間比較合適。
本文使用了上述正樣本數(shù)據(jù)集和規(guī)模為1200的負樣本數(shù)據(jù)集來構(gòu)建查詢樹。最終生成的分叉樹如圖3所示。
正如分叉樹所示的,越相似的臺標,它們在樹里的位置越近。同時,本文也隨機地生成了另一個查詢樹。使用這兩棵樹和同樣的訓(xùn)練數(shù)據(jù)集,本文訓(xùn)練了兩個WFS樹檢測器。
評論