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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

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

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

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


?????? 使用OpenCV進(jìn)行人臉識(shí)別時(shí),使用

casecade.detectMultiScale ?????? 函數(shù),可輸出每個(gè)檢測(cè)框的置信度

代碼段:

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);//重新獲取,只取前四個(gè) for (int i = 0; i < (int)(eyes.size()) && i<numReserve ; i++) {cv::Rect eyeSin = eyes[eyeConfi[i].second];eyesFinal.push_back(eyeSin) ; }函數(shù)原型:

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函數(shù):

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);}
函數(shù)的原理是這樣的(個(gè)人理解,有錯(cuò)誤請(qǐng)指教):

首先一個(gè)level一個(gè)level地測(cè)試樣本,然后每一個(gè)level給一個(gè)對(duì)應(yīng)的得分,也就是levelWeight,如果這個(gè)weight低于或者高于對(duì)應(yīng)level的threshold,則被拋棄。

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

所以,人臉的分應(yīng)該是這樣:level越大,分?jǐn)?shù)越高,在相同的level,levelWeight越大分?jǐn)?shù)越高。

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


試驗(yàn)結(jié)果:

?? ??



創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。