美文网首页
【Linux】Face Recognition的封装

【Linux】Face Recognition的封装

作者: BillBong | 来源:发表于2018-10-20 14:48 被阅读0次

    写了一个linux下的Face Recognition的封装,当作是练习。

    语言: C++的封装,结合opencv,使用方便。
    下载源码:
    https://github.com/zacario-li/FaceRecognition-with-ArcSoftLib

    整体来说,ArcSoft的提供的FaceEngine已经很好用了,接口非常简洁,不过对于一个不熟悉的使用者来说,还是会对ArcSoft那些接口的参数类型感到头晕,至少我一开始就是这样的。
    基于这样的想法,我才有了对该FaceEngine封装的想法。

    封装的思路如下:

    1. 基于C++,避免不必要的内存泄漏
    2. 基于OpenCV,但凡跟图像扯上关系,难免用上通用型的计算机视觉库,所以选择OpenCV
    3. 基于最简单的使用逻辑,整个封装一共4个主要函数: Start(), Stop(), BuildFeatureList(), GetFaceIDScore();

    当然还配套了一些附加功能的函数,这个主要是为了自己使用方便。上述public函数设计,使用极其简单,但凡有点软件基础的都能轻松使用。

    P.S. 给AcrSoft的FaceEngine一点建议:

    1. 文档中,对于LPAFD_FSDK_FACERES, AFR_FSDK_FACEMODEL 两个类型定义的解释很少,很容易让用户产生误解。
    2. 在我看来,像AFR_FSDK_FACEMODEL.pbFeature 这个指针,从接口中带出来Feature数据,看起来像是存储在arcsoft库中的某个全局变量中的,这个就要求用户获取到feature后,必须立马copy到其它内存区域。这一点,文档中并没有提及。

    summary:

    1. 优化接口使用方式,用尽量简便的接口提供给用户。
    2. 添加代码注释,对于sample代码的设计给出详细的解释,并标注上一般使用可能会遇到的问题

    ArcSoft的FaceEngine免费给大家用,真的是佛心,希望ArcSoft越来越好。

    相关文章

      网友评论

          本文标题:【Linux】Face Recognition的封装

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