新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于樹形檢測器的多標志識別

        基于樹形檢測器的多標志識別

        作者: 時間:2011-01-11 來源:網絡 收藏

        1.1 通用檢測器
        Viola在他的人臉檢測中成功地運用了adaboost結構和由haar特征構成的弱分類器。OpenCV也給出了該算法的代碼。許多目標檢測的問題也經常用到Viola的檢測框架,有時也只是用別的特征集替換了haar特征。
        如圖2所示,電視臺標的主要屬性就是它的輪廓特征。在行人檢測中,基于梯度方向直方圖(HOG)的特征是一種描述輪廓的十分有效的特征。這個特征的缺點是它的輸出是一個矢量,所以需要用一個基于支持向量機的弱分類器,但是它要花費大量的計算時間。文獻提出了一個EHOG特征,它只輸出一個值,并可以很容易地被Adaboost算法使用。
        l.jpg

        因此在本文的臺標檢測器中,使用了EHOG特征。對于一副訓練圖像,計算一個塊Rb里的梯度直方圖,然后在n個方向分別統計梯度幅度的總和。
        c.JPG
        n是HOG特征的維數(在中,n=9),本文中設置為6。
        然后,本文使用了中定義的主方向梯度D概念,D是上述區間集的一個子集,即m.jpg,并計算對應D方向的EHOG特征:
        d.JPG
        為了快速地計算特征,本文也應用了積分直方圖方法。
        本文采用了EHOG特征和gentle adaboost訓練了一個普通cascade結構,然后在所有樁分類器中收集全部的弱分類器,并用校正算法重新排序它們,得到一個新的“soft cascade”檢測器。
        e.JPG
        本文定義為前t個弱分類器的響應值的和。運用了校正算法后,可以得到一個跡數組trace=(r1,r2,…,rN)。當對一個樣本x做決策時,加上每一個弱分類器的響應值ht(x),然后就將ht(x)和rt進行比較,如果低于,就立刻拒絕該樣本。Soft cascade結構的性能要優于Viola的Cascade,在獲得相當的檢測性能時,它需要較少的特征數。這些將會在后面的實驗中展示。
        第一層的普通檢測器可以拒判大量的背景圖像,卻還不能區別不同類的臺標。為了做進一步處理,仍需要一個可以解決多類別分類問題的算法結構。
        1.2 分叉樹
        在Huang的工作里,他構建了一棵由粗到精標注了人臉的不同視角的樹。分叉樹上的每個節點分類器采用了矢量boosting算法訓練得到,依靠假設輸出空間的矢量化來解決多類問題。舉例說明,在一個節點分類器上,有四個可能的輸出矢量((0,O),(0,1),(1,0),(1,1)):(0,0)代表著該樣本的檢測將終止于當前節點。(0,1),(1,0),(1,1)代表著該樣本將會通過哪個孩子節點。
        在文獻中,相鄰的視角在分叉樹里的距離也很近。全部15個不同視角是根據旋轉角度平分成15份得到的。由于在本文的多臺標檢測中沒有關于某兩個臺標是近鄰的先驗知識,所以不能依靠經驗來構建一棵由粗到精的分叉樹。例如,當面對圖2中的6類臺標時,在分叉樹的根節點上,不知道該如何將它們劃分成兩個子節點。如果將明顯不同的臺標放在同一個節點里,訓練算法將會耗費更多的特征才能獲得一個相對較好的分類。基于這樣的想法,作者認為一個較好的劃分應該是在固定的迭代次數上利用矢量boosting訓練得到一個更好的分類結果。
        假設有N類正樣本集,在第一層分叉節點上,就有2N-1-1種組合數可以將一個包含N類的集合劃分成兩個正樣本子集。
        如果盲目地尋找一個合適的樹,總的時間復雜度會是log(N)*2N,這是無法實現的。為了解決這個問題,以下本文將引入一個貪婪搜索算法。
        在一個二維矢量boosting算法里,正樣本數據被標示為(O,1)或者(1,0),負樣本數據被標示為(-1,-1)。本文用{S1,S2,…,SN}來表示所有的數據,那么左邊子節點的數據集就是,右邊子節點的數據集就是f.JPG,這里Dleft和Dright是(1,2,…,N)的子集。
        本文設置檢測率為O.995,迭代次數為10。誤報率被用來評估算法性能。在矢量boosting算法中,判決準則如下:
        h.JPG
        對于本文的6類臺標數據集,將給出節點劃分的算法流程,這里一個二進制串001001表示一種劃分模式,0代表進入左子節點,1代表進入右子節點。
        算法1劃分節點集合的貪婪搜索算法
        輸入:{S1,S2,…,SN}
        輸出:劃分模式p
        初始化p:p={00,…,0};
        初始化一個包含比特串的空列表;


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 邵武市| 鹤壁市| 古交市| 泰州市| 安西县| 沅陵县| 桐庐县| 额尔古纳市| 南城县| 黄陵县| 冀州市| 兴义市| 鄯善县| 介休市| 石楼县| 卓资县| 兴业县| 潮安县| 华坪县| 自治县| 中宁县| 天门市| 漯河市| 滁州市| 钟祥市| 泰来县| 澎湖县| 南川市| 临海市| 阿克| 郁南县| 民勤县| 乾安县| 毕节市| 河北区| 绥滨县| 文水县| 桐庐县| 上犹县| 淮安市| 五河县|