opencv自帶人臉檢測演算法對比

2021-07-23 20:04:00 字數 2014 閱讀 7111

今天把opencv自帶的幾個frontface檢測器做了乙個效果比較

frontface檢測器如下:

haarcascade_frontalface_alt.xml

haarcascade_frontalface_alt_tree.xml

haarcascade_frontalface_alt2.xml

haarcascade_frontalface_default.xml

核心**:

//檢測器載入路徑

//char* cascade_name ="d://haarcascade_frontalface_alt.xml";      num = 63

//char* cascade_name ="d://haarcascade_frontalface_alt_tree.xml";   num=48

//char* cascade_name ="d://haarcascade_frontalface_alt2.xml";       num = 63

char* cascade_name ="d://haarcascade_frontalface_default.xml";     num= 80

//載入檢測器

cvhaarclassifiercascade* cascade = (cvhaarclassifiercascade*)cvload( cascade_name, 0, 0, 0 );

//呼叫檢測演算法

double t = (double)cvgettickcount();

cvseq* faces = cvhaardetectobjects( small_img, cascade, storage,

1.1, 2, 0/*cv_haar_do_canny_pruning*/,

cvsize(30, 30) );

t = (double)cvgettickcount() - t;

printf( "detection time = %gms\n", t/((double)cvgettickfrequency()*1000.) );

檢測器名稱

耗時(ms)

檢測結果(目標個數)

alt3333.56

63alt_gree

1423.51

48alt2

2243.31

63default

3996.380

使用haarcascade_frontalface_alt檢測器,所有人臉都檢測到了,但有多個誤檢,且耗時很長

使用haarcascade_frontalface_alt_tree檢測器,效果不錯,只有乙個漏檢,有兩個誤檢

使用haarcascade_frontalface_alt2檢測器,所有人臉都檢測到了,但有多個誤檢

使用haarcascade_frontalface_default檢測器,檢測效果較差

另外,我又用以上幾種檢測器測試了下面場景,效果都不是很好,其中,haarcascade_frontalface_alt_tree檢測器乙個也沒有檢測到,這個應該是opencv的訓練樣本的問題,用自帶的檢測器對於正臉的檢測率會高很多,而對於側臉的檢測效果很差,需要後期自己訓練模板來檢測。這是下一步的工作。

人臉檢測演算法

人臉識別各 參考 知乎乙個欄目 首先介紹一下常用人臉檢測的常用資料庫 每張影象的人臉數量偏少,平均1.8人臉 圖,絕大多數影象都只有一人臉 資料集完全公開,published methods通常都有 大部分都開源 且可以復現,可靠性高 unpublished methods沒有 沒有 無法確認它們的...

人臉檢測演算法

人臉識別各 參考 知乎乙個欄目 首先介紹一下常用人臉檢測的常用資料庫 fddb和wider face fddb總共2845張影象,5171張,人臉非約束環境,人臉的難度較大,有面部表情,雙下巴,光照變化,穿戴,誇張髮型,遮擋等難點,是目標最常用的資料庫。有以下特點 wider face wider ...

OpenCV自帶例程 人臉檢測

opencv自帶的例程中有人臉識別的例程,原始檔為 path opencv 3.4 1 samples cpp facedetect.cpp 通過cmake編譯之後生成可行性檔案,執行時需要指定分類器檔案,該檔案存放在 opencv 3.4.1 data haarcascades haarcasca...