一千萬個為什麽

搜索

AI人臉檢測技術

任何人都可以使用面部檢測中的所有不同技術嗎?技術如神經網絡,支持向量機,特征臉等。

其他人在那裏?謝謝。

最佳答案

我要談的技術更多的是機器學習導向的方法;在我看來,雖然不是很近,但卻非常引人入勝:在Viola和Jones的文章“Robust Real-Time Face Detection”中對它進行了描述。我將OpenCV實現用於大學項目。

它基於類似哈爾的特征,其包括圖像的矩形區域內的像素強度的加法和減法。這可以使用稱為積分圖像的過程非常快速地完成,其中也存在GPGPU實現(有時稱為“前綴掃描”)。在線性時間內計算積分圖像之後,可以在恒定時間內評估任何類似哈爾的特征。特征基本上是采用圖像S的24×24子窗口並計算值特征(S)的函數;三元組(特征,閾值,極性)被稱為弱分類器,因為

polarity * feature(S) < polarity * threshold

對某些圖像保持正確,對其他圖像保持虛假;弱分類器預計比隨機猜測好一點(例如,它應該具有至少51-52%的準確度)。

極性為-1或+1。

特征空間很大(約160'000個特征),但有限。

盡管閾值原則上可以是任何數字,但是從訓練集的簡單考慮來看,如果有N個例子,則必須檢查每個極性和每個特征的N + 1閾值,以便找到保持的那個最準確的。因此,可以通過窮舉搜索三元組空間來找到最佳弱分類器。

基本上,可以通過使用稱為“自適應增強”或AdaBoost的算法叠代地選擇最佳可能的弱分類器來組裝強分類器;在每次叠代中,在前一次叠代中被錯誤分類的示例被更多地加權。強分類器的特征在於其自己的全局閾值,由AdaBoost計算。

幾個強分類器被組合成一個註意級聯的階段;註意級聯背後的想法是在第一階段丟棄明顯不是面部的24x24子窗口;強分類器通常只包含一些弱分類器(如30或40),因此計算速度非常快。每個階段都應該有很高的召回率,而假陽性率並不是很重要。如果有10個階段,每個階段有0.99召回和0.3個假陽性率,最終級聯將有0.9召回和極低的誤報率。出於這個原因,通常調整強分類器以增加回憶和誤報率。調整基本上涉及降低AdaBoost計算的全局閾值。

進入級聯結束的子窗口被認為是一個面。

必須測試初始圖像中的幾個子窗口,最終重疊,最終在重新縮放圖像之後。

再見,希望它很有趣;-)

達裏奧

轉載註明原文: AI人臉檢測技術