15
Haar-like feature 介介 OPENCV 介介介介介介介介介介介 API 介介 介介介 (NIEN-TZU YANG)

Haar like feature

Embed Size (px)

Citation preview

Page 1: Haar like feature

Haar-like feature介紹 OPENCV 分類器訓練方法及與其他 API 比較

楊念慈 (NIEN-TZU YANG)

Page 2: Haar like feature

什麼是 Haar-like 特徵 ?◦ Haar-like 特徵最早是由 Papageorgiou 等應用於人臉辨識, Viola 和 Jones在此基礎上,使用 3 類型的 4 種特徵上。

Page 3: Haar like feature

Haar-like 特徵◦ Haar-like 特徵藉由計算圖像灰階度變化,將白色區塊的灰階度加總,減去黑色區塊的灰階度加總,得到的值作為 “特徵值”。

Page 4: Haar like feature

Haar-like 特徵◦ 但是在一個 20*20 像素的圖片中,特徵值總共有大約 16 萬種組合,那要怎麼選出適合的特徵呢 ?

Page 5: Haar like feature

利用 AdaBoost 算法訓練◦ 最初的弱分類器可能只是一个最基本的 Haar-like 特徵,計算輸入圖像的 Haar like 特徵值,比較後判斷是否為人臉,但此結果與隨機亂猜差不多,此特徵是為弱分類器。◦ 接下來訓練弱分類器,使其優化,成為最優弱分類器。

◦ 經過 T 次疊代後產生 T 個最優弱分類器,將最優弱分類器聯集起來形成強分類器,既完成一個 stage 的分類器的訓練。 ( 關於疊代部分演算法可以參考附件 [1])◦ 多個強分類器聯集起來可以使人臉判別的更準確。◦ 補充:

◦ 弱分類器:指一個演算法對一組圖片的辨識率只比隨機亂猜好一點◦ 強分類器:指一個演算法對一組圖片的辨識率高

Page 6: Haar like feature

利用 AdaBoost 算法訓練◦ 舉例:◦ 假設特徵只有三個 Haar-like 特徵 (f1,f2,f3) ,形成的最優弱分類器如右圖◦ 訓練最優弱分類器的過程實際上就是在尋找適合的分類器的 threshold ,使該分類器對所有樣本的誤差最低,既代表此 threshold 下的錯誤樣本數目會越少。

Page 7: Haar like feature

Adaboost 大部分選出的結果◦ 下圖是 Adaboost 會找出來在人臉上面的特徵。◦ 接下來就可以將要分類的圖片使用訓練出來的分類器做辨別是否為人臉。

Page 8: Haar like feature

辨識結果比較IBM-VISUAL RECOGNITION&OPENCV

Page 9: Haar like feature

正樣本 – 柯文哲◦ 樣本總數 : 50 張

Page 10: Haar like feature

負樣本 – 非柯文哲◦ 樣本總數 : 50 張

Page 11: Haar like feature

測試樣本◦ 樣本總數: 50 張◦ 柯文哲 / 非柯文哲 : 各 25 張

Page 12: Haar like feature

檢測結果正樣本正確率 負樣本正確率 總體正確率

IBM Visual Recognition

21/25 8/25 58%

OpencvHarr-like feature

18/25 11/25 58%

經由幾個測出的範例,可以發現結果非常不準確,可能的原因在於:兩個方法 training 不會先偵測人臉位置,所以目前認為能改善結果的方法是先行將人臉裁切出來再丟去 training 。還有樣本數量太少也是可能的原因。

Page 13: Haar like feature

資料來源◦ [1] 淺析人臉檢測之 Haar 分類器方法:

◦ http://blog.csdn.net/zouxy09/article/details/7922923◦ [2]IBM Visual Recognition 實作教學:

◦ http://www.slideshare.net/areyliu

Page 14: Haar like feature

補充。詳細實作流程:

Opencv 的再另外一篇 slide : Opencv Visual Recognition。其他平台人臉辨識軟體:Microsoft –Project Oxford 的 face APIGoogle Cloud Platform 的 CLOUD VISION APIface++

Page 15: Haar like feature

THX