使用了免費(fèi)的人臉識(shí)別算法,感覺(jué)還是很不錯(cuò)的,但是初次接觸的話會(huì)對(duì)一些接口的參數(shù)有些疑問(wèn)的。這里分享一下我對(duì)一些參數(shù)的驗(yàn)證結(jié)果(這里以windows版本為例,linux、android基本一樣),希望能更好的幫助各位接入虹軟的人臉識(shí)別算法。
本文主要分析以下兩個(gè)參數(shù):
? detectFaceMaxNum
? combinedMask
detectMode參數(shù)介紹
在引擎初始化的時(shí)候,需要選擇video或image模式,在接口頭文件中定義了宏ASF_DETECT_MODE_VIDEO、ASF_DETECT_MODE_IMAGE,根據(jù)需要的模式傳入即可。video模式對(duì)應(yīng)人臉追蹤算法(FT),image模式對(duì)應(yīng)人臉檢測(cè)算法(FD),關(guān)于FT/FD算法的區(qū)別可以參考虹軟AI 人臉識(shí)別SDK接入 — 參數(shù)優(yōu)化篇(1) 通過(guò)測(cè)試數(shù)據(jù),個(gè)人感覺(jué)image模式下的數(shù)據(jù)更能準(zhǔn)確的體現(xiàn)算法的能力,下面關(guān)于其他參數(shù)的介紹均在image模式下進(jìn)行;
測(cè)試機(jī)器硬件配置:
? 處理器:Intel(R)Corei5-7400 CPU @ 3.00GHZ 300GHZ
? 安裝內(nèi)存(RAM):16.00GB(15.9GB可用)
? 系統(tǒng)類(lèi)型:win-10 64位操作系統(tǒng)
1.1 推薦值
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),新城企業(yè)網(wǎng)站建設(shè),新城品牌網(wǎng)站建設(shè),網(wǎng)站定制,新城網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,新城網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。初始化接口中detectFaceMaxNum參數(shù)的設(shè)置決定ASFDetectFaces(FT/FD)接口單幀圖片允許檢測(cè)的大人臉數(shù),官網(wǎng)推薦大值不超過(guò)50,雖然可以設(shè)置更大的值,但是沒(méi)有必要,下面數(shù)據(jù)可以說(shuō)明;
1.2 檢測(cè)到的人臉數(shù)對(duì)應(yīng)的性能消耗
測(cè)試用例:
通過(guò)以上數(shù)據(jù)可以看出,image模式下圖片中人臉數(shù)越多單次檢測(cè)的耗時(shí)會(huì)越長(zhǎng),video模式下圖片中人臉數(shù)越多單次檢測(cè)的耗時(shí)也會(huì)有略微增加。綜上,detectFaceMaxNum參數(shù)的設(shè)置多少并不影響內(nèi)存的分配以及性能的消耗,僅是設(shè)置算法單幀檢測(cè)的大人臉數(shù)。
2.1 內(nèi)存占用
combinedMask參數(shù)是初始化引擎時(shí)傳入不同屬性功能組合,傳入的屬性越多引擎分配的內(nèi)存越大。實(shí)際應(yīng)用情況下,傳入必需的屬性組合即可,傳入多余屬性只會(huì)占用內(nèi)存。
下表數(shù)據(jù)是在測(cè)試其他參數(shù)固定,只修改mask參數(shù)時(shí)初始化接口內(nèi)存的占用情況(數(shù)據(jù)取自windows任務(wù)管理器):
ASFInitEngine(ASF_DETECT_MODE_IMAGE, ASF_OP_0_ONLY, 32, 5, combinedMask, &handle);
2.2 ASFInitEngine接口與ASFProcess接口中combinedMask參數(shù)的關(guān)系
官方文檔對(duì)ASFProcess接口中combinedMask參數(shù)的解釋?zhuān)?
初始化中參數(shù)combinedMask與ASF_AGE | ASF_GENDER | ASF_FACE3DANGLE | ASF_LIVENESS交集的子集;
舉例說(shuō)明:
例1:ASFInitEngine接口中傳入全屬性,則ASFProcess接口可以傳入ASF_AGE、ASF_GENDER、 ASF_FACE3DANGLE、 ASF_LIVENESS四種屬性的任意組合。
例2:ASFInitEngine接口中傳入ASF_FACE_DETECT | ASF_FACERECOGNITION | ASF_AGE | ASF_GENDER ,則ASFProcess接口只能傳入ASF_AGE、 ASF_GENDER兩種屬性的任意組合。
2.3 cpu占用
cpu占用受設(shè)備以及測(cè)試條件影響比較大,根據(jù)使用情況ASF_AGE | ASF_GENDER | ASF_FACE3DANGLE對(duì)應(yīng)的算法對(duì)cpu的消耗是比較少的,但ASF_LIVENESS是比較消耗cpu資源的,需要根據(jù)自身設(shè)備做對(duì)應(yīng)處理。
2.4 ASFProcess接口不同屬性的性能
測(cè)試用例:
LARGE_INTEGER litmp;
LONGLONG QPart = 0, QPart1 = 0, QPart2 = 0;
QueryPerformanceFrequency(&litmp); //獲得時(shí)鐘頻率
QPart = litmp.QuadPart;
//獲得開(kāi)始時(shí)CPU嘀噠聲
QueryPerformanceCounter(&litmp);//獲得時(shí)鐘初始值
QPart1 = litmp.QuadPart;
//這里要計(jì)算的的代碼執(zhí)行的時(shí)間
for (int i = 0; i<100; i++)
{
res = ASFProcess(handle, cutImg1->width, cutImg1->height, ASVL_PAF_RGB24_B8G8R8, (MUInt8*)cutImg1->imageData, &detectedFaces1, processMask);
}
QueryPerformanceCounter(&litmp); //獲得時(shí)鐘終止值
QPart2 = litmp.QuadPart;
//計(jì)算時(shí)間差(ms)
double time = (double)(QPart2 - QPart1) / (double)QPart * 1000;
printf("time = %lf\n", time);
測(cè)試結(jié)果
綜上所述,年齡、性別、3d角度的檢測(cè)是非??斓?,活體檢測(cè)相對(duì)較慢。在實(shí)際應(yīng)用中僅需要檢測(cè)ASF_AGE、ASF_GENDER、 ASF_FACE3DANGLE的話,可以放在主線程中處理,但如果需要檢測(cè)ASF_LIVENESS建議單開(kāi)線程去處理,這樣在video模式下不會(huì)出現(xiàn)卡幀的情況,界面顯示比較流暢。
如果想要下載虹軟sdk可以到:
https://ai.arcsoft.com.cn/product/arcface.html?utm_source=it&utm_medium=referral
當(dāng)前文章:虹軟AI人臉識(shí)別SDK接入—參數(shù)優(yōu)化篇-創(chuàng)新互聯(lián)
新聞來(lái)源:http://www.rwnh.cn/article34/cepise.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、網(wǎng)站策劃、網(wǎng)站制作、外貿(mào)建站、動(dòng)態(tài)網(wǎng)站、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容