今天把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...