Android SDK开发

目前我们的应用内使用了 ArcFace 的人脸检测功能,其他的我们并不了解,所以这里就和大家分享一下我们的集成过程和一些使用心得

集成
ArcFace FD 的集成过程非常简单
在 ArcFace FD 的文档上有说明支持的系统为 5.0 及以上系统,但其实在 4.4 系统上也是可以跑的,

if (engine == null) { // && Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
    try {
        engine = new AFD_FSDKEngine();
        AFD_FSDKError err = engine.AFD_FSDK_InitialFaceEngine(
                "XXXX",
                "XXXX",
                AFD_FSDKEngine.AFD_OPF_0_HIGHER_EXT, 12, 3);
        if (err.getCode() != 0) {
            engine.AFD_FSDK_UninitialFaceEngine();
            engine = null;
        }
    } catch (Exception e) {
        e.printStackTrace();
        engine = null;
    }
}

我觉得 ArcFace 的优势除了多角度检测之外,另外一个是他的每次检测并不是独立,即这一次的检测结果会指导下一次的检测 (我猜测的->_->)

所以 ArcFace 在检测到人脸之后,识别的时间会大幅减少,而 Seeta FD 的检测每次都是独立的,所以在无人脸的情况下,Seeta 的检测速度要快于 ArcFace, 但是检测到人脸之后,因为应用整体的计算量增加,导致 Seeta 的检测速度降低的非常明显,大大慢于 ArcFace, (所以二者是不是可以结合一下...)

AFD_FSDKError err = engine.AFD_FSDK_StillImageFaceDetection(
        data, width, height, AFD_FSDKEngine.CP_PAF_NV21, result);

优化
不得不说 ArcFace FD 的错误率是有待优化的,虽然 ArcFace 没有提供任何可以调节的参数,但是还是可以稍微优化一下!

因为从摄像头出来的 yuv 数据是横向的,而 ArcFace 只有 AFD_OPF_0_HIGHER_EXT 这个扩展选项,优先检测 0 度方向, 但是这个方向一般是没有人脸的,所以如果直接进行检测,我们觉得这个可能会增加检测的错误率(猜的->_->),所以处理方法是将 yuv 旋转到手机竖屏方向(当然这个操作不是直接由 CPU 来处理,而是从 Camera 的外部纹理上开始做操作)再拿去检测,这样会减少一点错误率(从用户反馈得出),虽然错误率依然很高(特别对于带栅格的物体)希望虹软能继续优化!

另外一个是目前 ArcFace 还没有支持 Android 8.x 系统,所以这种情况下,我们会启用备选的其他方案来进行人脸检测!

最后希望虹软能把 ArcFace 越做越好 _ 因为只有产品足够好才会不断的有人为你做免费宣传
查看更多分享戳☞ArcFace Android 人脸检测集成分享

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • From:郭霖 前言 目前更多开发者热衷于应用开发,极少数的开发者才有机会从事SDK开发工作,而市面上关于SDK开...
    胡二囧阅读 4,594评论 3 7
  • 自从前段时间离职后,因为个人的事情一直没有选择再工作,也导致原有的文章并没有按时产出.最近个人的事情整理的也差不多...
    涅槃1992阅读 10,819评论 18 61
  • 这段时间接手了**魔盒的支付模块和供三方应用调用的支付SDK模块,这才发现SDK开发跟应用版本开发的理念不太相同。...
    溪西阅读 11,838评论 4 21
  • 因为学游泳的时候被淹过两次,所以深知被水呛的滋味,说什么都是不肯再下水的。 今年的寒假被朋友组团带上...
    美生活阅读 2,394评论 0 0
  • 梦穴(目录) 梦穴(一) “这里是一栋废弃的老医院。”女人低声说道,“你知道十五年前那件骇人听闻的医生倒卖病人器官...
    张蒸发阅读 3,311评论 0 0