日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

OpenCV: OpenCV人脸检测框可信度排序

發布時間:2023/12/31 pytorch 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCV: OpenCV人脸检测框可信度排序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??????? 參考文章:http://blog.csdn.net/hua_007/article/details/45368607


?????? 使用OpenCV進行人臉識別時,使用

casecade.detectMultiScale ?????? 函數,可輸出每個檢測框的置信度

代碼段:

const int numReserve = 4; std::vector<? int > rejLevel; std::vector<double>?? levelW; cascade.detectMultiScale( smallImg, eyes, rejLevel, levelW, 1.1, 3, 0, cv::Size(), cv::Size(), true); cout << "eyes size=:" << eyes.size() << endl;// 重新排序 std::vector<std::pair<float, int> > eyeConfi; for (int i = 0; i < (int)(eyes.size()); i++){eyeConfi.push_back(std::make_pair(levelW[i], i)); } std::qsort(&eyeConfi[0], eyeConfi.size(), sizeof(eyeConfi[0]), cmpMapWishchin);//重新獲取,只取前四個 for (int i = 0; i < (int)(eyes.size()) && i<numReserve ; i++) {cv::Rect eyeSin = eyes[eyeConfi[i].second];eyesFinal.push_back(eyeSin) ; }函數原型:

CV_WRAP virtual void detectMultiScale( const Mat& image,CV_OUT vector<Rect>& objects,vector<int>& rejectLevels,vector<double>& levelWeights,double scaleFactor=1.1,int minNeighbors=3, int flags=0,Size minSize=Size(),Size maxSize=Size(),bool outputRejectLevels=false );


cmp函數:

int cmpMapWishchin(const void *p1, const void *p2){int v = 1;std::pair<float, int > *pp1, *pp2;pp1 = (std::pair<float, int > *) p1;pp2 = (std::pair<float, int > *) p2;//最大值排序if (pp1->first - pp2->first < 0){v = 1;}else{v = -1;}return (v);}
函數的原理是這樣的(個人理解,有錯誤請指教):

首先一個level一個level地測試樣本,然后每一個level給一個對應的得分,也就是levelWeight,如果這個weight低于或者高于對應level的threshold,則被拋棄。

堅持到最后一個level并且在最后一個level仍然滿足threshold的框就是正確的臉(正樣本)。

所以,人臉的分應該是這樣:level越大,分數越高,在相同的level,levelWeight越大分數越高。

但是實際上真正的人臉都是能堅持到level20(最后一個level)的,所以只比對最后一個level的所有大于1的框的levelWeight進行比對就可以知道臉的得分啦~


試驗結果:

?? ??



創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的OpenCV: OpenCV人脸检测框可信度排序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。