自人脸识别免费SDK——ArcFace3.0上线以来,凭借对人脸识别、活体检测、年龄检测、性别检测等核心算法模型进行全面升级,大幅提升算法鲁棒性,显著降低接入门槛,同时支持Windows、iOS、Android(包含Android10)、Linux,在性能和开发效率上进行了整体提升,又保持着了免费、离线的初心,成为广大开发者落地AI应用的利器。

在实际使用中,开发者往往会提出一系列细节问题,为帮助开发者快速上手,本节《人脸识别技术公开课—Windows c++专场》将以技术解析和专项答疑等形式帮助开发者解决难题。

虹软技术公开课-Windows c++专场-虹软视觉开放平台​ai.arcsoft.com.cn

要点01【3分钟跑通C++ 人脸识别demo】

SampleCode配置过程

课程基于虹软人脸识别SDK包中提供的示例代码,以实操的形式介绍了如何快速接入使用。接入过程在课程视频中有详细介绍。建议观看视频后自行尝试配置,即可对虹软人脸识别技术有一个初步的了解。

Demo配置过程:

虹软人脸识别SDK包中还包含可视化的Demo工程,根据如下步骤配置完成后,可运行调试,了解调用逻辑以及算法效果。

【1】从ArcFace SDK 包中获取Demo,用VS2015启动项目。

【2】替换ArcFace SDK头文件和库文件。

【3】将从官网获取的APPID/SDKKEY配置到setting.ini文件中。

【4】将OpenCV和ArcFace DLL文件拷贝到执行目录下。

【5】运行提示缺失系统库,根据提示将缺失的系统库拷贝到执行目录下。

要点02【ArcFace重点接口及参数介绍】

重要接口:InitEngine接口

初始化接口可以说是最重要的接口,若初始化失败则其他接口无法正常调用,同时,初始化中的参数设置也与算法能够呈现出的效果息息相关。

初始化失败时,根据错误码查询原因即可。参数设置是开发者最关心的核心问题,也是保障在实际应用场景中最大化发挥算法效果的关键。视频中主要介绍以下几个参数在实际场景下如何应用。

detectMode: 检测模式

detectFaceOrientPriority人脸检测角度优先级

detectFaceScaleVal数值越大,能检测越小的人脸

combinedMask根据功能选择组合方式,功能选择越多,占用的内存越大

重要参数Ⅰ步长

含义:步长可以理解为一个图像通道中一行像素的字节数。

作用:新版本引入步长的概念。老用户都知道之前版本的接口图像传输方式,对宽度有四字节对齐的要求。新版本引入图像ASF_ImageData图像数据结构体,将之前的图像参数封装在一起,并引入步长参数,主要为兼容更高字节对齐的图像。

以下是一张大小为1000x554的图片,以不同步长解析的结果:

重要参数ⅡcompareModel参数

含义:目前支持生活照和证件照两种比对模式。

作用:在ARCFace 3.0产品中新增比对模式的选择,避免用户需要既接入人证模块场景,又要引入人证SDK。

重要参数ⅢcombinedMask参数

Process接口中combinedMask参数,与初始化接口中该参数的含义不一样。Process接口中的参数与初始化接口中该参数存在依赖关系,且有自身的取值范围。如下图所示,结合视频课程可以帮助开发者理解得更深刻。

要点03【门禁系统业务流程解析】

下图为常见多人脸门禁场景的逻辑流程图,可以从以下角度进行分析:

【线程角度】

主线程:包含人脸追踪以及画面预览功能。

FR线程:开启多个线程对多人脸同时进行特征提取以及比对。

【优化策略】

FaceID:根据FaceID标识一个人,从进入画面到离开画面,对这一人脸只做一次识别即可,大大降低系统资源占用。

尝试次数:同一张人脸,特征提取失败可以做有限次数的尝试,提高交互效果。

要点04【常见问题答疑】

Ⅰ多线程调用问题

a) 同一个引擎可以使用多线程调用不同算法。

b) 多线程调用同一个算法接口需要启用不同的引擎。

Ⅱ VIDEO和IMAGE模式的区别

VIDEO模式

a) 对视频流中的人脸进行追踪,人脸框平滑过渡,不会出现跳框的现象。

b) 用于预览帧数据的人脸追踪,处理速度快,可避免出现卡顿问题。

c) 在视频模式引入faceId,该值用于标记一张人脸,当一个人脸从进入画面到离开画面,faceId 值不变。可用于业务中优化程序性能。

IMAGE模式

a) 针对单张图片进行人脸检测精度更高。

b) 在注册人脸库时,我们建议使用精度更高的IMAGE模式。

Ⅲ Windows版本在进行IMAGE模式人脸检测时,回传的faceId数组为何为空?

faceId是用来标识一个人从进入画面直到离开画面的这段时间,对人脸追踪的一个标识,所以对单张静态图片来说,faceId在image模式下几乎没有实际意义的。

Ⅳ 如何将人脸识别1:1比对进行开发改为1:N搜索?

人脸库可以在程序启动时进行特征提取或者将人脸特征值保存在数据库,程序启动后读入缓存中,如果人脸库在数据不大的话,比如1000内(这个1000的值也只是举例,具体需要根据设备性能以及业务场景界定这个数据),可以在识别照特征提取后通过循环进行1:N的比对。在人脸库比较大的时候,比如10000左右,并且设备性能也比较好,可以采用多线程进行比对。

本次公开课程视频完整内容,请点击下方链接:

虹软技术公开课-Windows c++专场-虹软视觉开放平台​ai.arcsoft.com.cn

android人脸识别demo_零门槛解决Windows人脸识别应用开发难题相关推荐

  1. 无法识别设备powerstate_win7系统无法识别usb设备如何解决 电脑无法识别usb设备解决步骤【图文】...

    相信很多用户都遇到过电脑无法识别usb设备的情况,其实出现这种情况的主要原因是因为硬件的问题,比如usb设备本身损坏和借口损坏,软件驱动问题usb驱动异常,那么win7系统无法识别usb设备怎么办呢? ...

  2. 解决windows未识别的网络问题

    最近一直要把笔记本搬到各个地方去测试服务器,出现了几次未识别的网络的情况.记录一下解决的办法. 原因1:ip地址配置不正确. 一般在企业里为了方便管理,使用的都是静态IP地址,那么你更换到一个地方后, ...

  3. 解决Windows 2003识别不了的移动硬盘

    笔者接上IBM的移动硬盘后,虽然任务栏右下方出现了移动硬盘的图标,信息显示也是正常,但是在"我的电脑"中就是显示不出驱动器的盘符.借了块朋友的"纽曼"移动硬盘也 ...

  4. 手机usb无法被电脑识别_6种方法解决电脑无法识别移动硬盘

    为了方便数据的转移和便携性存储,移动硬盘应运而生,当我们在使用过程中有时会遇到电脑系统无法识别移动硬盘的情况,接下来小编就分享下相关的解决方法. 1.系统或者系统自带驱动原因 1.开机时按F8进入安全 ...

  5. 万万没想到,AI算法开发、OCR应用已经进入零门槛时代!

    资源如何最大化利用是每一位企业经营者需要重要考虑的问题. 在会议室.休闲区等公共空间人员流动量大的情况下,如何实现公共空间诸如空调.灯光.新风等设备的能效管理,是每位场地管理者普遍面临的棘手问题.怎样 ...

  6. 联想小新pro无法人脸识别自动开机的解决方法

    联想小新pro无法人脸识别自动开机的解决方法 联想小新pro无法人脸识别自动开机,只能输入PIN解锁. 文章目录 联想小新pro无法人脸识别自动开机的解决方法 一.问题 二.解决方法 一.问题 打开电 ...

  7. android seetaface6_中科视拓宣布开源SeetaFace6人脸识别算法(附相关课程)

    3月31日,中科视拓宣布开放SeetaFace6人脸识别算法. 2016年9月和2019年8月,中科视拓分别开源了SeetaFace1.0人脸识别引擎.SeetaFace2.0商用级人脸识别算法.Se ...

  8. 开源代码准确率99%+,人脸识别问题真的被解决了吗?

    人脸识别作为当下人工智能落地最广泛的技术之一,已经被广泛应用于金融.安防反恐.教育.社交娱乐.门禁/考勤.交通.智能商业等众多行业.早在2018年,我国的人脸识别市场规模就已经高达151.7亿元(数据 ...

  9. 【问题解决】解决eclipse不识别Android手机的问题

    [问题&解决]解决eclipse不识别Android手机的问题 参考文章: (1)[问题&解决]解决eclipse不识别Android手机的问题 (2)https://www.cnbl ...

最新文章

  1. java如何读取excel文件
  2. 基于keras的深度学习基本概念讲解
  3. android 之Activity的五种传值方式 (在从当前Activity跳转到目标Activity时的传值方式)
  4. IM推送保障及网络优化详解(二):如何做长连接加推送组合方案
  5. java 静态方法 实例方法的区别_java 静态方法和实例方法的区别
  6. win10系统使用Anaconda安装opencv(python)
  7. android px pd sp区别,【求助】我用北京索莱宝质粒小量提取试剂盒提的质粒,电泳图...
  8. shell 脚本加密
  9. Guice之Servlet基础
  10. 15 MM配置-BP业务伙伴-定义供应商主记录的编号范围
  11. How do you simple use git repository
  12. bugku 杂项 流量分析(cnss)
  13. 智能楼宇一卡通系统QY-LY04A
  14. PowerBuilder 生成条形码
  15. 微信高级群发接口 {errcode:40008,errmsg:invalid message type hint: [aRIDBA0726age9]}
  16. 程序员面试金典--疯狂刷
  17. 微信计步器怎么不计步_微信计步器怎么用?微信计步器在哪里?
  18. 苹果市场金融类app上架ios1.2 ,5.2.1或3.21被拒原因解析
  19. 云免流usb共享电脑_云免流usb共享电脑
  20. 【Android组件化】javaPoet的使用

热门文章

  1. Linux的proc文件系统详解
  2. HDU 下沙的沙子有几粒
  3. (转)告别程序员生涯,一点感慨,与诸君共勉
  4. 学成在线--2.CMS前端页面查询开发
  5. java中的多线程有什么意义_Java多线程与并发面试题(小结)
  6. mysql正在运行安全文件怎么办_MySQL服务器运行的安全文件化选项,所以它不能执行该语句什么情? 爱问知识人...
  7. python后端数据发送到前端_Python Django 前后端数据交互 之 后端向前端发送数据...
  8. 托福试卷真题_干货解答考生疑惑,自考真题考过了还会在出吗?
  9. Elastic Stack简介
  10. 【解决】如何打开.ipynb文件