讀古今文學網 > 刷臉背後:人臉檢測 人臉識別 人臉檢索 > 8.3 各種人臉檢測算法的對比分析 >

8.3 各種人臉檢測算法的對比分析

本書在前面章節已經介紹了6種人臉檢測算法及兩款商業軟件,分別是DPM、LAEO、CNN Facial Point Detection、Viola&Jones、DDFD和Fast R-CNN,以及VeriLook和Face++。為瞭解這些算法的檢測效果,本書進行了大規模的測試實驗。該大規模測試的算法有4個,分別是DPM、LAEO、CNN Facial Point Detection和Viola&Jones,不包括DDFD,因為DDFD噪聲太多。大規模測試的數據集有4個,兩個公開的數據集LFW和FDDB;兩個自己收集的數據集Wanwan1(100張圖片,每張圖片都是人的側臉)、Wanwan2(100張圖片,每張圖片都是360°人臉)。關於這4個數據集的介紹,請參考本書第1章的內容。

每個算法分別在這4個數據集上進行測試,大規模測試結束後,統計每個算法在各個數據集上檢測後的TP和FP數量。TP即True Positive,表示已檢測到的並且是人臉的圖片數量;FP即False Positive,表示已檢測到的但不是人臉的圖片數量。圖8-15所示為某個算法的檢測結果,該圖片檢測結果的TP=1,FP=1。

圖8-15 某個算法的檢測結果

表8-1中統計了每個數據集上人臉的數量,以及每個算法在該數據集上檢測到的TP數量和FP數量。

表8-1 人臉檢測結果對比

根據表8-1,我們可以計算出每個算法在各個數據集上的檢測率和檢錯率。表8-2統計了各個算法在4個數據集上檢測完成所需的時間,以及在各個數據集上的檢測率。表8-3統計了每個算法在各個數據集上的檢錯率。

例如,DPM在LFW數據集上的檢測率為:534/601×100%=88.85%,DPM在LFW數據集上的檢錯率為:61/601×100%=10.15%。

表8-2 各算法的檢測率及運行時間

表8-3 各算法的檢錯率匯總

註:由於LFW數據集中有13 233張圖片,FDDB數據集中有28 736張圖片,圖片數量太多,在統計檢測數量和檢錯數量時,本書只統計了LFW和FDDB數據集中的前500張圖片。運行時間仍然是4個數據集全部運行完成所花費的時間。

綜合表8-2和表8-3可知,DPM在各個數據集上的檢測率都是最高的,但是它的檢錯率也比較高,並且運行時間太長。所以,DPM的優勢為:適合各種角度的人臉檢測,如正臉、側臉、360°人臉;缺點為:運行時間長,是CNN Facial Point Detection的64倍。

CNN Facial Point Detection在數據集LFW、FDDB和Wanwan1上的檢測率僅比DPM低一點,但它的檢錯率幾乎為0,並且運行時間最短,2個小時就能檢測完將近5萬張圖片。所以,CNN Facial Point Detection的優勢為:檢測時間短,對於正臉和側臉檢測效果好,錯檢率幾乎為0;缺點是:不適合檢測360°人臉。

Viola&Jones在LFW和FDDB數據集上檢測率一般,但在Wanwan1和Wanwan2數據集上檢測率非常低。Viola&Jones檢測時間非常短,和CNN Facial Point Detection不相上下。所以,Viola&Jones的優點為:適合檢測正臉,檢測時間短,檢錯率也較低;缺點是:不適合檢測側臉和360°人臉。

LAEO在各個數據集上的檢測率都比DPM低,並且運行時間長,是CCN Facial Point Detection運行時間的61倍,和DPM的運行時間不相上下。所以,LAEO的優點是:可以檢測各個角度的人臉;缺點是:運行時間長,和其他算法相比,檢測率低。