人臉識別入門學習(二) VJ人臉檢測器的基本組成

2021-10-01 20:14:07 字數 1417 閱讀 9134

入門學習第一篇(人臉識別的基本概念)介紹了人臉識別的各個基本環節和基本概念,但同時又指出了,只用這些簡單的概念是無法精準卻高效地進行人臉識別。vj人臉檢測器的出現對人臉識別具有重大意義,極大地加快了人臉識別的速度,後人對人臉識別的研究大都基於vj人臉檢測器,對vj中的基本環節做改進。

採用harr特徵來描述視窗,並具備高效率的特徵計算方法:積分圖

高效的分類器學習方法:adaboost

高效的分類策略設計:級聯結構的設計

harr特徵是在視窗中選取乙個矩形區域,將其分為黑白兩塊,並分別對這兩塊中所有畫素點的灰度求和,再將兩個灰度和相減,得到乙個harr特徵的值。

harr反映了影象上某塊區域的相對明暗變化,能為區分人臉和非人臉提供有效資訊。例如眼睛就比周圍的**更暗一些,通過harr特徵就可以很有效的表現出來。但是由於harr特徵需要多次計算矩陣區域內的畫素灰度和,因此其速度其實並不快。所以引入了積分圖來加快harr特徵的計算。

積分圖是一張和輸入影象大小一樣的圖,但積分圖上每個畫素點所儲存的資訊不再是原影象上畫素點的灰度,而是從左上角到這個點所選定的矩形區域內所有畫素點的灰度之和。例如:

採用積分圖有兩個好處:一是計算某區域所有畫素點的灰度之和時,不再需要考慮區域大小,只需要進行有限次加減運算即可;二是由於相鄰視窗之間有著極大的重疊部分,積分圖可以比較大量的重複計算,只在最開始時計算一次即可。

人臉檢測的速度也與分類的速度有關。分類的速度取決於分類器的複雜度,也就是將特徵向量轉化為該視窗的類別標籤的計算過程複雜度。複雜的分類器判斷準確率高,但是時間代價也更大;簡單的分類器時間代價小,但準確率會有所下降。adaboost兼顧了速度和準確度,既然要速度,那就是用簡單的分類器,又同時要準確度,那就將多個簡單的分類器組合起來,聚弱為強,將多個弱分類器組合成乙個強分類器。即保證了準確度又提高了效率。這就是使用adaboost方法來訓練分類器的核心理念。

造**臉識別速度慢的根本原因在於輸入規模過大,一張動輒需要檢測幾十上百萬個視窗,而且其中大部分視窗是不含人臉的。如果我們能通過一種方法來粗略的剔除掉一些顯而易見不包含人臉的視窗,那麼我們需要仔細檢測的視窗數就會減少很多,效率提高很多。基於這樣的想法,vj採用了一種級聯的結構來達到逐步減少輸入規模的目的。

vj人臉檢測器將多個分類器級聯起來,從前往後分類器的複雜程度逐漸增大。每個視窗都先在前面簡單的分類器中進行判斷,若判定為不是人臉視窗,則直接丟棄,不發給後面的分類器,每一級分類器都可能會剔除掉一些視窗,使得系統只需要花費較小的代價就能排除大部分的非人臉視窗,以此來達到逐步降低輸入規模的目的。這樣的方式比所有視窗都使用一種分類器要更加靈活高效。

人臉識別之人臉檢測

人臉識別分為人臉檢測 人臉預處理 蒐集和學習人臉以及人臉識別四個部分,此部分將人臉檢測。本文基於opencv進行的。在opencv中常用的人臉檢測器有基於lbp的特徵檢測 基於haar的特徵檢測,兩者的區別 前者比後者快好幾倍且不需要許可協議,但很多haar檢測器需要許可協議。基於haar的臉部檢測...

人臉識別和人臉檢測的區別

網上很多帖子 部落格在談人臉識別 人臉檢測,其實很多都弄混了,現在來糾正一下。觀點只代表作者本人 人臉識別是對已知人臉進行分類的過程。就像我們看到其他人一樣能夠分辨出誰是自己的朋友誰不是。人臉識別通常包括以下四個步驟 1 人臉檢測 是在影象中定位人臉區域的過程。也就是關心是不是人臉,至於關心是誰不是...

opencv 人臉檢測 模型訓練 人臉識別

人臉檢測 模型訓練 人臉識別 2018 08 15 今天給大家帶來一套人臉識別乙個小案例,主要是幫助小夥伴們解決如何入門opencv人臉識別的問題,現在的ai行業比較火熱,ai技術的使用比較廣泛。就拿現在的只能手機來說吧,現在很多智慧型手機都必須有人臉識別解鎖 拍照自動美顏 拍照物體識別等等功能,這...