美文网首页
【java】 虹软ArcFace 2.0 人脸信息识别(年龄、性

【java】 虹软ArcFace 2.0 人脸信息识别(年龄、性

作者: KEAIILIN | 来源:发表于2019-04-23 13:19 被阅读0次

    虹软产品地址:http://ai.arcsoft.com.cn/product/arcface.html

    虹软ArcFace功能简介

    人脸检测
    人脸跟踪
    人脸属性检测(性别、年龄)
    人脸三维角度检测
    人脸对比
    本文使用到的SDK为本人自己使用JNA做的封装,2.0的使用比1.x的版本使用更方便,api更集中更科学

    使用虹软2.0 javaSDK对人脸的年龄、性别等信息进行识别的步骤:

    人脸检测,获得图片中人脸位置
    调用ASFProcess方法,对人脸进行预处理(最大同时支持4张面部数据的处理)
    调用ASFGetAge 可以获得处理过的人脸年龄数据数组
    调用ASFGetGender 获得处理过的人脸性别数据数组
    示例代码:

    //第一步进行人脸位置检测
    MultiFaceInfo  detectedFaces = new MultiFaceInfo();
    ins.ASFDetectFaces(hEngine, img.width(), img.height(), ASVL_COLOR_FORMAT.ASVL_PAF_RGB24_B8G8R8,imgData, detectedFaces);
    
    //第二部进行信息预处理,此处需要告诉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角度数据等
    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);
    
    

    测试效果
    原图:


    11.jpg

    识别后的图[其中0表示男性 1 表示女性]:
    ![22.jpg](https://img.haomeiwen.com/i16498018/9951271a2b2bf0bf.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

    使用已经封装好的SDK进行人脸识别

    https://www.jianshu.com/p/96636db03792

    使用已经封装好的SDK进行人脸识别【人脸特征提取比对】

    https://www.jianshu.com/p/ab64464571da

    虹软ArcFace 2.0,java SDK使用、人脸信息识别(年龄、性别)

    https://www.jianshu.com/p/cfe90f82be97

    相关文章

      网友评论

          本文标题:【java】 虹软ArcFace 2.0 人脸信息识别(年龄、性

          本文链接:https://www.haomeiwen.com/subject/ahlvgqtx.html