Haar Feature-based Cascade Classifier是由Paul Viola提出,並且由Rainer Lienhar加強。

首先,一個分類器(Haar Feature-based Cascade Classifier)是由數百個相同物件的正樣本來做訓練(例如臉部或車),並且將它們縮小成特定大小,例如20x20。另外也訓練負樣本,負樣本則使用任意影像即可。

在分類器被訓練之後,它便可以被使用在和被訓練樣本相同大小的ROI上。當一個區域可能出現該物件時,分類器輸出1,否則輸出0。如果要搜尋整張圖裡面的所有物件,則要讓分類器以搜尋視窗(Search Window)搜尋整張圖。該分類器是經過特殊設計,因此他可以很容易的被縮放來尋找大小不一的目標物件,這比單純縮放目標影像有效的多。因此,欲尋找影像中未知大小的物件,則要以不同的大小去搜尋該影像多次。

該分類器之所以被稱為「階層式(Cascade)」,是因為該分類器包含了數個較為簡單的分類器,我們稱之為關卡。當候選物件通過層層關卡的過濾,我們便認定其為目標物件。而之所以被稱為「推進(Boosting)」,是因為每一個關卡中又使用了基於不同權重投票(Weighted voting)來設計的基本分類器(basic classifiers)

目前這些基本分類器,是具有至少兩個葉子(leaves)的決策樹(decision tree)。而Haar-like feature做為這些基本分類器的輸入值,而以OpenCV為例,其使用的Haar-like feature如下圖:

 

particular classifier使用的feature是用它的形狀(1a,2b等等)、在ROI內的位置,以及縮放大小指定。例如,在2c,其特徵的算法是將整個框選到的區域(黑色與白色包含的區域)的樣素值總和,減去黑色包含的區域像素值總和的三倍。以此做為積分圖。


創作者介紹

Frank's 資訊科技潮流站

finalfrank 發表在 痞客邦 PIXNET 留言(2) 人氣()


留言列表 (2)

發表留言
  • 訪客
  • 所以haar訓練的分類器都是固定的大小圖片嗎?
    圖片大小換了就要重新訓練?

    在固定大小內,對目前有的haar做全部的分析嗎?
    haar大小也是會一直變換來分析?

    謝謝
  • 訪客
  • 可以請問haar是對「pixel」去找嗎?
    可是要怎麼確定要找的目標會佔幾個pixel呢?

    目標的大小如果改變,訓練出的分類器不就沒有用了嗎?
    還是我哪邊沒有看懂呢?

    謝謝