《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于樹形檢測(cè)器的多標(biāo)志識(shí)別
基于樹形檢測(cè)器的多標(biāo)志識(shí)別
電子科技
周蓉君 程有龍 中國科學(xué)技術(shù)大學(xué)
摘要: 本文首先采用了soft cascade結(jié)構(gòu)的頭結(jié)點(diǎn)分類器檢測(cè)出大量的背景圖像;然后,通過一個(gè)貪婪搜索算法構(gòu)建分叉樹分類器,,將不同的臺(tái)標(biāo)分類到正確的檢測(cè)線路中;最后,,使用普通cascade結(jié)構(gòu)來得到更加準(zhǔn)確的識(shí)別結(jié)果,。實(shí)驗(yàn)結(jié)果,本文的檢測(cè)器可以獲得較高的識(shí)別準(zhǔn)確度,。
Abstract:
Key words :

摘要:本文首先采用了soft cascade結(jié)構(gòu)的頭結(jié)點(diǎn)分類器檢測(cè)出大量的背景圖像,;然后,通過一個(gè)貪婪搜索算法構(gòu)建分叉樹分類器,,將不同的臺(tái)標(biāo)分類到正確的檢測(cè)線路中,;最后,使用普通cascade結(jié)構(gòu)來得到更加準(zhǔn)確的識(shí)別結(jié)果,。實(shí)驗(yàn)結(jié)果,,本文的檢測(cè)器可以獲得較高的識(shí)別準(zhǔn)確度。
關(guān)鍵詞:soft cascade,,joint boosting,,canny算子

0 引言
    自動(dòng)的電視臺(tái)標(biāo)檢測(cè)和識(shí)別已經(jīng)在多媒體領(lǐng)域獲得非常高的關(guān)注度。如今,,多數(shù)的手機(jī)都具備了攝像頭功能,所以人們可以隨心所欲地拍攝各種事物,,然后利用各種算法去分析處理獲得的圖像,。本文中,展示一個(gè)系統(tǒng)一利用手機(jī)內(nèi)置攝像頭幫助人們識(shí)別電視頻道信息,。日常觀看的電視頻道就有幾十個(gè)不同的臺(tái)標(biāo),,所以可以把這個(gè)問題看作是一個(gè)多類檢測(cè)問題,而單類的檢測(cè)即識(shí)別,,最終就實(shí)現(xiàn)了多類識(shí)別,。
    對(duì)于單類檢測(cè)問題,Viola和Jones給出了state-of-the-art算法,。他們先訓(xùn)練了一系列節(jié)點(diǎn)分類器去檢測(cè)圖像里的每一個(gè)子窗口,,只有那些能夠通過所有節(jié)點(diǎn)分類器的子窗口圖像才被認(rèn)為是正樣本。吳將Voila的工作簡單地拓展到了多視角人臉檢測(cè)" title="人臉檢測(cè)" target="_blank">人臉檢測(cè)上,,為每個(gè)獨(dú)立的人臉視角訓(xùn)練了一個(gè)不同的 cascade結(jié)構(gòu),,并且并行地運(yùn)用它們進(jìn)行檢測(cè)。但是當(dāng)正樣本的類型數(shù)量增加時(shí),,這個(gè)方案所花費(fèi)的檢測(cè)時(shí)間也是線性增長的,,而這個(gè)代價(jià)是我們無法負(fù)擔(dān)的。Torrobla提出了一種新的boosting框架,,命名為jointboosting,。他將N類分類問題轉(zhuǎn)化為N-1個(gè)兩類分類問題,然后自動(dòng)地共享相同的弱分類器,。盡管它的檢測(cè)器可以共享特征,,但是當(dāng)檢測(cè)目標(biāo)時(shí),,它仍然需要計(jì)算全部特征,所以它并不是一個(gè)快速檢測(cè)框架,。
    近些年來,,樹形檢測(cè)器被引入了多視角人臉檢測(cè)應(yīng)用中。許多研究者更加偏愛于這種樹形結(jié)構(gòu),,例如,,F(xiàn)leuret和Geman的scalar tree,Li等人的金字塔結(jié)構(gòu),,還有Huang chang的廣度優(yōu)先搜索樹,。在他們的工作里,Huang的工作最有新意,,他提出來一種新的輸出一個(gè)布爾矢量的boosting算法,,取名為vector boosting。由于它具有良好的性能,,本文選用它作為分叉樹的部分,。有別于多視角人臉的并行結(jié)構(gòu),經(jīng)驗(yàn)證明直接構(gòu)建一個(gè)由粗到精的樹是比較困難的,。故此,,本文設(shè)計(jì)了一種根據(jù)不同組合的誤報(bào)率來構(gòu)建分叉樹的方法。詳細(xì)的方案會(huì)在1.3中闡述,。
    本文的其他部分是這樣組織的:在1.1小節(jié)中,,本文介紹所采用的特征集,然后簡要地描述下普通cascade結(jié)構(gòu)和soft cascade結(jié)構(gòu),。在實(shí)驗(yàn)過程中,,作者測(cè)試了本文算法的精確度和檢測(cè)所需的平均特征數(shù)。

a.JPG

1 檢測(cè)器框架
    在實(shí)驗(yàn)中,,本文采用了一架攝像機(jī)來拍攝電視節(jié)目的全屏幕圖像,。考慮到此方法的通用性,,不假設(shè)關(guān)于臺(tái)標(biāo)位置的先驗(yàn)信息(盡管臺(tái)標(biāo)通常會(huì)出現(xiàn)在屏幕的上部),。為了可以檢測(cè)出臺(tái)標(biāo),本文先使用了一個(gè)分類器對(duì)大量的不同尺度和位置的子窗口進(jìn)行掃描,。因?yàn)槎鄶?shù)的子窗
口都是背景,,而背景的輪廓特征不明顯,所以可以將任務(wù)分割成兩個(gè)部分:首先是盡可能早的拒判掉非臺(tái)標(biāo)的子窗口,,然后是區(qū)別每個(gè)臺(tái)標(biāo)屬于哪個(gè)頻道,。接下來描述下算法的第一部分。
1.1 通用檢測(cè)器
    Viola在他的人臉檢測(cè)中成功地運(yùn)用了adaboost結(jié)構(gòu)和由haar特征構(gòu)成的弱分類器,。OpenCV也給出了該算法的代碼,。許多目標(biāo)檢測(cè)的問題也經(jīng)常用到Viola的檢測(cè)框架,,有時(shí)也只是用別的特征集替換了haar特征。
    如圖2所示,,電視臺(tái)標(biāo)的主要屬性就是它的輪廓特征,。在行人檢測(cè)中,基于梯度方向直方圖(HOG)的特征是一種描述輪廓的十分有效的特征,。這個(gè)特征的缺點(diǎn)是它的輸出是一個(gè)矢量,,所以需要用一個(gè)基于支持向量機(jī)的弱分類器,但是它要花費(fèi)大量的計(jì)算時(shí)間,。文獻(xiàn)提出了一個(gè)EHOG特征,,它只輸出一個(gè)值,并可以很容易地被Adaboost算法使用,。
l.jpg

    因此在本文的臺(tái)標(biāo)檢測(cè)器中,,使用了EHOG特征。對(duì)于一副訓(xùn)練圖像,,計(jì)算一個(gè)塊Rb里的梯度直方圖,,然后在n個(gè)方向分別統(tǒng)計(jì)梯度幅度的總和。
   c.JPG
    n是HOG特征的維數(shù)(在中,,n=9),,本文中設(shè)置為6。
    然后,,本文使用了中定義的主方向梯度D概念,D是上述區(qū)間集的一個(gè)子集,,即m.jpg,,并計(jì)算對(duì)應(yīng)D方向的EHOG特征:
   d.JPG
    為了快速地計(jì)算特征,本文也應(yīng)用了積分直方圖方法,。
    本文采用了EHOG特征和gentle adaboost訓(xùn)練了一個(gè)普通cascade結(jié)構(gòu),,然后在所有樁分類器中收集全部的弱分類器,并用校正算法重新排序它們,,得到一個(gè)新的“soft cascade”檢測(cè)器,。
   e.JPG
    本文定義為前t個(gè)弱分類器的響應(yīng)值的和。運(yùn)用了校正算法后,,可以得到一個(gè)跡數(shù)組trace=(r1,,r2,…,,rN),。當(dāng)對(duì)一個(gè)樣本x做決策時(shí),加上每一個(gè)弱分類器的響應(yīng)值ht(x),,然后就將ht(x)和rt進(jìn)行比較,,如果低于,,就立刻拒絕該樣本。Soft cascade結(jié)構(gòu)的性能要優(yōu)于Viola的Cascade,,在獲得相當(dāng)?shù)臋z測(cè)性能時(shí),,它需要較少的特征數(shù)。這些將會(huì)在后面的實(shí)驗(yàn)中展示,。
    第一層的普通檢測(cè)器可以拒判大量的背景圖像,,卻還不能區(qū)別不同類的臺(tái)標(biāo)。為了做進(jìn)一步處理,,仍需要一個(gè)可以解決多類別分類問題的算法結(jié)構(gòu),。
1.2 分叉樹
    在Huang的工作里,他構(gòu)建了一棵由粗到精標(biāo)注了人臉的不同視角的樹,。分叉樹上的每個(gè)節(jié)點(diǎn)分類器采用了矢量boosting算法訓(xùn)練得到,,依靠假設(shè)輸出空間的矢量化來解決多類問題。舉例說明,,在一個(gè)節(jié)點(diǎn)分類器上,,有四個(gè)可能的輸出矢量((0,O),,(0,,1),(1,,0),,(1,1)):(0,,0)代表著該樣本的檢測(cè)將終止于當(dāng)前節(jié)點(diǎn),。(0,1),,(1,,0),(1,,1)代表著該樣本將會(huì)通過哪個(gè)孩子節(jié)點(diǎn),。
    在文獻(xiàn)中,相鄰的視角在分叉樹里的距離也很近,。全部15個(gè)不同視角是根據(jù)旋轉(zhuǎn)角度平分成15份得到的,。由于在本文的多臺(tái)標(biāo)檢測(cè)中沒有關(guān)于某兩個(gè)臺(tái)標(biāo)是近鄰的先驗(yàn)知識(shí),所以不能依靠經(jīng)驗(yàn)來構(gòu)建一棵由粗到精的分叉樹,。例如,,當(dāng)面對(duì)圖2中的6類臺(tái)標(biāo)時(shí),在分叉樹的根節(jié)點(diǎn)上,,不知道該如何將它們劃分成兩個(gè)子節(jié)點(diǎn),。如果將明顯不同的臺(tái)標(biāo)放在同一個(gè)節(jié)點(diǎn)里,,訓(xùn)練算法將會(huì)耗費(fèi)更多的特征才能獲得一個(gè)相對(duì)較好的分類?;谶@樣的想法,,作者認(rèn)為一個(gè)較好的劃分應(yīng)該是在固定的迭代次數(shù)上利用矢量boosting訓(xùn)練得到一個(gè)更好的分類結(jié)果。
    假設(shè)有N類正樣本集,,在第一層分叉節(jié)點(diǎn)上,,就有2N-1-1種組合數(shù)可以將一個(gè)包含N類的集合劃分成兩個(gè)正樣本子集。
    如果盲目地尋找一個(gè)合適的樹,,總的時(shí)間復(fù)雜度會(huì)是log(N)*2N,,這是無法實(shí)現(xiàn)的。為了解決這個(gè)問題,,以下本文將引入一個(gè)貪婪搜索算法,。
    在一個(gè)二維矢量boosting算法里,正樣本數(shù)據(jù)被標(biāo)示為(O,,1)或者(1,,0),負(fù)樣本數(shù)據(jù)被標(biāo)示為(-1,,-1),。本文用{S1,S2,,…,,SN}來表示所有的數(shù)據(jù),那么左邊子節(jié)點(diǎn)的數(shù)據(jù)集就是,,右邊子節(jié)點(diǎn)的數(shù)據(jù)集就是f.JPG,,這里Dleft和Dright是(1,2,,…,N)的子集,。
    本文設(shè)置檢測(cè)率為O.995,,迭代次數(shù)為10。誤報(bào)率被用來評(píng)估算法性能,。在矢量boosting算法中,,判決準(zhǔn)則如下:
   h.JPG
    對(duì)于本文的6類臺(tái)標(biāo)數(shù)據(jù)集,將給出節(jié)點(diǎn)劃分的算法流程,,這里一個(gè)二進(jìn)制串001001表示一種劃分模式,,0代表進(jìn)入左子節(jié)點(diǎn),1代表進(jìn)入右子節(jié)點(diǎn),。
    算法1劃分節(jié)點(diǎn)集合的貪婪搜索算法
    輸入:{S1,,S2,,…,SN}
    輸出:劃分模式p
    初始化p:p={00,,…,,0};
    初始化一個(gè)包含比特串的空列表,;
    外層循環(huán)i=1:N-1
     i.JPG
    內(nèi)層循環(huán)結(jié)束
    p(Selectedidx)=1
    將p和其局部最小fp值插入列表,;
    外層循環(huán)結(jié)束
    輸出列表中最小fp值對(duì)應(yīng)的比特串。
    有了生成的二叉樹和soft cascade結(jié)構(gòu),,本文基本上完成了多類臺(tái)標(biāo)的檢測(cè)和識(shí)別,。其中一個(gè)重要參數(shù)是soft cascade的長度,如果選擇較短的cascade,,檢測(cè)器看上去更接近并行cascade結(jié)構(gòu)的檢測(cè)器,;如果選擇較長的cascade,分叉樹可能要面對(duì)很難區(qū)分的負(fù)樣本,,從而降
低檢測(cè)性能,。本文中,嘗試了很多種不同長度的soft cascade,,然后挑選性能最好的一個(gè),。算法2如下:
    算法2混合分叉樹分類器
    輸入:訓(xùn)練好的soft cascade結(jié)構(gòu),查詢樹,,N類正樣本數(shù)據(jù)集S,,還有一個(gè)數(shù)量很大的背景圖像集B;
    輸出:一個(gè)混合分叉樹分類器
    (1)初始化:分叉樹的根節(jié)點(diǎn)用soft cascade結(jié)構(gòu)替代,;
    (2)樹的節(jié)點(diǎn)訓(xùn)練:
    a.從S集和B集中,,挑選出所有可以通過分叉樹當(dāng)前節(jié)點(diǎn)E的父節(jié)點(diǎn)的樣本,確保正負(fù)樣本集p和n的規(guī)模相當(dāng),;
    b.如果背景圖像集規(guī)模不夠,,終止該節(jié)點(diǎn)E的分叉,將E設(shè)為葉子節(jié)點(diǎn),;
    (3)在查詢樹中搜索當(dāng)前節(jié)點(diǎn):
    a.如果找到了,,就根據(jù)查詢節(jié)點(diǎn)集合將正樣本集分成兩部分,然后用Vector Boosting訓(xùn)練一個(gè)節(jié)點(diǎn)分類器,。
    b.否則,,就用Gentle Adaboost訓(xùn)練一個(gè)強(qiáng)分類器。
    (4)對(duì)于當(dāng)前節(jié)點(diǎn)E的每個(gè)孩子節(jié)點(diǎn),,循環(huán)使用步驟(2)和(3)進(jìn)行訓(xùn)練生成,。

3 實(shí)驗(yàn)方案和結(jié)果
    本文收集了6類臺(tái)標(biāo)集合,每一類包含了200張圖像。而臺(tái)標(biāo)圖像就是從這些圖像中裁剪出來的,,然后縮放成24×24像素大小的塊,,作為正樣本集。負(fù)樣本集則是從將臺(tái)標(biāo)區(qū)域掩蓋掉后的圖像上收集的,。首先進(jìn)行了一個(gè)實(shí)驗(yàn),,來解釋W(xué)FS樹的不同設(shè)計(jì)方案將會(huì)對(duì)算法性能帶來怎樣的影響,然后研究了soft cascade長度帶來的影響,,最后拿隨機(jī)生成的樹與本文的樹進(jìn)行對(duì)比,。
    本文首先使用了文獻(xiàn)中提到的方法訓(xùn)練一個(gè)普通檢測(cè)器,然后將其791個(gè)弱分類器組成了soft cascade,。本文用這個(gè)soft cascade對(duì)一組測(cè)試圖像進(jìn)行了測(cè)試,,統(tǒng)計(jì)結(jié)果表示每幅圖像通過的平均特征數(shù)約為8。在實(shí)驗(yàn)中,,作者發(fā)現(xiàn)這個(gè)長度值設(shè)置在平均特征數(shù)的1倍和2倍之間比較合適,。
    本文使用了上述正樣本數(shù)據(jù)集和規(guī)模為1200的負(fù)樣本數(shù)據(jù)集來構(gòu)建查詢樹。最終生成的分叉樹如圖3所示,。

o.jpg
    正如分叉樹所示的,,越相似的臺(tái)標(biāo),它們?cè)跇淅锏奈恢迷浇?。同時(shí),,本文也隨機(jī)地生成了另一個(gè)查詢樹。使用這兩棵樹和同樣的訓(xùn)練數(shù)據(jù)集,,本文訓(xùn)練了兩個(gè)WFS樹檢測(cè)器,。
3.1 soft cascade的長度
    當(dāng)選擇好查詢樹,本文就可以開始訓(xùn)練檢測(cè)器了,。作者嘗試了不同的soft cascade的長度,。本文調(diào)整葉子節(jié)點(diǎn)上分類器的閾值,確保兩個(gè)檢測(cè)器擁有相同的分類結(jié)果,。
3.2 檢測(cè)器的精確度
    在本文的框架里,,第一部分是整個(gè)結(jié)構(gòu)的核心。在soft cascade中設(shè)置不同的alpha參數(shù)值,,然后對(duì)將作為根節(jié)點(diǎn)分類器的soft casca-de嘗試不同的長度,。接著,調(diào)整每個(gè)葉子節(jié)點(diǎn)分類器上的閾值,,可以得到如圖4的ROC曲線。本文的soft cascade加WFS樹結(jié)構(gòu)的臺(tái)標(biāo)檢測(cè)精確度要優(yōu)于Huang的WFS樹,。與此同時(shí),,本文框架使用的特征數(shù)也比Huang的要少。

a.JPG
b.jpg

    對(duì)于識(shí)別同一家電視臺(tái)的不同頻道,本文也采用了改進(jìn)后的WFS結(jié)構(gòu),。本文收集了9個(gè)不同的CCTV頻道中央一至中央九,,訓(xùn)練了一個(gè)CCTV系列檢測(cè)器,它可以檢測(cè)并識(shí)別出CCTV標(biāo)志及其右側(cè)區(qū)域里的數(shù)字符號(hào),。本文實(shí)驗(yàn)的結(jié)果數(shù)據(jù)如表1:

k.JPG

4 結(jié)語
    本文實(shí)現(xiàn)了一個(gè)基于多層樹形分類器結(jié)構(gòu)的多臺(tái)標(biāo)識(shí)別方法,,此方法具有對(duì)多類別標(biāo)志識(shí)別的通用性。本文雖然在檢測(cè)樣本的平均特征數(shù)上有進(jìn)一步減少,,提高了算法的速度,,并且在分叉樹的葉子每個(gè)節(jié)點(diǎn)上增加了一個(gè)單類別cascade,降低了誤檢率,。但是這種查詢樹結(jié)構(gòu)在增加新類型臺(tái)標(biāo)時(shí),,需要重新生成和訓(xùn)練,花費(fèi)大量時(shí)間,。如果能找到一種增量學(xué)習(xí)算法,,在增加新類別時(shí),只需要對(duì)原有的查詢樹做局部修改,,而不用全盤推翻重新計(jì)算,,則該框架將更具實(shí)用性。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。