C# 离线人脸识别Demo 使用ArcFace 2.0开发完成

环境: win7以上 VS2013以上 sdk版本:ArcFace v2.0 x86 x64平台Debug、Release配置都已经过编译 下载地址:https://github.com/ArcsoftEscErd/ArcfaceDemo_CSharp.git 配置过程:git

  1. 到虹软官网下载SDK2.0版本,点击访问下载
  2. 解压下载的x86或x64的zip包,本Demo以x64为例 在这里插入图片描述
  3. 选择平台,如: 在这里插入图片描述 ,将libarcsoft_face.dll和libarcsoft_face_engine.dll放到bin\x64\Debug下在这里插入图片描述
  4. 修改工程下App.config配置文件中的APP_ID和对应的SDKKEY64的值 5.
  5. 点击启动或者F5启动;
  6. 其余详细信息请阅读项目中doc目录下的说明文档;

常见问题: 1.后引擎初始化失败
(1)请选择对应的平台,如x64,x86
(2)删除bin下面对应的asf_install.dat,freesdk_132512.dat;
(3)请确保App.config下的appid,和appkey与当前sdk一一对应。github

2.SDK支持那些格式的图片人脸检测?
目前SDK支持的图片格式有jpg,jpeg,png,bmp等。数据库

3.使用人脸检测功能对图片大小有要求吗?
推荐的图片大小最大不要超过2M,由于图片过大会令人脸检测的效率不理想,固然图片也不宜太小,不然会致使没法检测到人脸。数组

4.使用人脸识别引擎提取到的人脸特征信息是什么?
人脸特征信息是从图片中的人脸上提取的人脸特征点,是byte[]数组格式。app

5.SDK人脸比对的阈值设为多少合适?
推荐值为0.8,用户可根据不一样场景适当调整阈值。指针

6.可不能够将人脸特征信息保存起来,等须要进行人脸比对的时候直接拿保存好的人脸特征进行比对?
能够,当人脸个数比较多时推荐先存储起来,在使用时直接进行比对,这样能够大大提升比对效率。存入数据库时,请以Blob的格式进行存储,不能以string或其余格式存储。图片

7.在.Net项目中出现堆栈溢出问题,如何解决?
.Net平台设置的默认堆栈大小为256KB,SDK中须要的大小为512KB以上,推荐调整堆栈的方法为:
new Thread(new ThreadStart(delegate {
ASF_MultiFaceInfo multiFaceInfo = FaceUtil.DetectFace(pEngine, imageInfo);
}), 1024 * 512).Start();ip

8.X86模式下批量注册人脸有内存溢出或图片空指针
请增长虚拟内存或每次批量注册人脸控制在20张图片范围内内存

9.图片中有人脸,可是检测时未检测到人脸
(1)请调整detectFaceScaleVal的值;
(2)请确认图片的宽度是否为4的倍数;
(3)请确认图片是否经过ImageUtil.ReadBMP方法进行数据调整。文档

相关文章
相关标签/搜索