Upload
czech0923
View
305
Download
0
Embed Size (px)
Citation preview
Haar-like feature介紹 OPENCV 分類器訓練方法及與其他 API 比較
楊念慈 (NIEN-TZU YANG)
什麼是 Haar-like 特徵 ?◦ Haar-like 特徵最早是由 Papageorgiou 等應用於人臉辨識, Viola 和 Jones在此基礎上,使用 3 類型的 4 種特徵上。
Haar-like 特徵◦ Haar-like 特徵藉由計算圖像灰階度變化,將白色區塊的灰階度加總,減去黑色區塊的灰階度加總,得到的值作為 “特徵值”。
Haar-like 特徵◦ 但是在一個 20*20 像素的圖片中,特徵值總共有大約 16 萬種組合,那要怎麼選出適合的特徵呢 ?
利用 AdaBoost 算法訓練◦ 最初的弱分類器可能只是一个最基本的 Haar-like 特徵,計算輸入圖像的 Haar like 特徵值,比較後判斷是否為人臉,但此結果與隨機亂猜差不多,此特徵是為弱分類器。◦ 接下來訓練弱分類器,使其優化,成為最優弱分類器。
◦ 經過 T 次疊代後產生 T 個最優弱分類器,將最優弱分類器聯集起來形成強分類器,既完成一個 stage 的分類器的訓練。 ( 關於疊代部分演算法可以參考附件 [1])◦ 多個強分類器聯集起來可以使人臉判別的更準確。◦ 補充:
◦ 弱分類器:指一個演算法對一組圖片的辨識率只比隨機亂猜好一點◦ 強分類器:指一個演算法對一組圖片的辨識率高
利用 AdaBoost 算法訓練◦ 舉例:◦ 假設特徵只有三個 Haar-like 特徵 (f1,f2,f3) ,形成的最優弱分類器如右圖◦ 訓練最優弱分類器的過程實際上就是在尋找適合的分類器的 threshold ,使該分類器對所有樣本的誤差最低,既代表此 threshold 下的錯誤樣本數目會越少。
Adaboost 大部分選出的結果◦ 下圖是 Adaboost 會找出來在人臉上面的特徵。◦ 接下來就可以將要分類的圖片使用訓練出來的分類器做辨別是否為人臉。
辨識結果比較IBM-VISUAL RECOGNITION&OPENCV
正樣本 – 柯文哲◦ 樣本總數 : 50 張
負樣本 – 非柯文哲◦ 樣本總數 : 50 張
測試樣本◦ 樣本總數: 50 張◦ 柯文哲 / 非柯文哲 : 各 25 張
檢測結果正樣本正確率 負樣本正確率 總體正確率
IBM Visual Recognition
21/25 8/25 58%
OpencvHarr-like feature
18/25 11/25 58%
經由幾個測出的範例,可以發現結果非常不準確,可能的原因在於:兩個方法 training 不會先偵測人臉位置,所以目前認為能改善結果的方法是先行將人臉裁切出來再丟去 training 。還有樣本數量太少也是可能的原因。
資料來源◦ [1] 淺析人臉檢測之 Haar 分類器方法:
◦ http://blog.csdn.net/zouxy09/article/details/7922923◦ [2]IBM Visual Recognition 實作教學:
◦ http://www.slideshare.net/areyliu
補充。詳細實作流程:
Opencv 的再另外一篇 slide : Opencv Visual Recognition。其他平台人臉辨識軟體:Microsoft –Project Oxford 的 face APIGoogle Cloud Platform 的 CLOUD VISION APIface++
THX