虹軟產(chǎn)品地址:http://ai.arcsoft.com.cn/product/arcface.html
虹軟ArcFace功能簡介
- 人臉檢測
- 人臉跟蹤
- 人臉屬性檢測(性別黍氮、年齡)
- 人臉三維角度檢測
- 人臉對比
本文使用到的SDK為本人自己使用JNA做的封裝唐含,2.0的使用比1.x的版本使用更方便,api更集中更科學(xué)
使用虹軟2.0 javaSDK對人臉的年齡沫浆、性別等信息進行識別的步驟:
- 人臉檢測捷枯,獲得圖片中人臉位置
- 調(diào)用ASFProcess方法,對人臉進行預(yù)處理(最大同時支持4張面部數(shù)據(jù)的處理)
- 調(diào)用ASFGetAge 可以獲得處理過的人臉年齡數(shù)據(jù)數(shù)組
- 調(diào)用ASFGetGender 獲得處理過的人臉性別數(shù)據(jù)數(shù)組
示例代碼:
//第一步進行人臉位置檢測
MultiFaceInfo detectedFaces = new MultiFaceInfo();
ins.ASFDetectFaces(hEngine, img.width(), img.height(), ASVL_COLOR_FORMAT.ASVL_PAF_RGB24_B8G8R8,imgData, detectedFaces);
//第二部進行信息預(yù)處理专执,此處需要告訴sdk淮捆,你需要獲得哪些信息
int combinedMask = FaceEngine.ASF_AGE|FaceEngine.ASF_GENDER|FaceEngine.ASF_FACE3DANGLE;
ins.ASFProcess(hEngine, img.width(), img.height(), ASVL_COLOR_FORMAT.ASVL_PAF_RGB24_B8G8R8, imgData, detectedFaces, combinedMask);
//處理成功后,就可以嘗試獲得年齡本股、性別攀痊、人臉3d角度數(shù)據(jù)等
AgeInfo ageInfo = new AgeInfo();
ins.ASFGetAge(hEngine, ageInfo);
int[] ages = ageInfo.getAges();
GenderInfo genderInfo = new GenderInfo();
ins.ASFGetGender(hEngine, genderInfo);
int[] gender = genderInfo.getGenders();
Face3DAngle face3dAngle = new Face3DAngle();
ins.ASFGetFace3DAngle(hEngine, face3dAngle);
測試效果
原圖:
g4.jpg
識別后的圖[其中0表示男性 1 表示女性]:
feture.jpg
使用已經(jīng)封裝好的SDK進行人臉識別
http://www.reibang.com/p/96636db03792
使用已經(jīng)封裝好的SDK進行人臉識別【人臉特征提取比對】
http://www.reibang.com/p/ab64464571da
虹軟ArcFace 2.0,java SDK使用拄显、人臉信息識別(年齡苟径、性別)
http://www.reibang.com/p/cfe90f82be97
需要完整代碼,加qq:79295735