虹软

如何使用 python 接入虹软 ArcFace SDK

此生再无相见时 提交于 2019-12-02 14:30:11
公司需要在项目中使用人脸识别SDK,并且对信息安全的要求非常高,在详细了解市场上几个主流人脸识别SDK后,综合来看虹软的Arcface SDK比较符合我们的需求,它提供了免费版本,并且可以在离线环境下使用,这一点非常符合我们对安全性的要求。但有个遗憾的事情,我们的项目主要使用了Python语言,虹软官方并没有提供Python版本的SDK,因此我自己使用Python封装了Arcface C++ SDK,便于在项目中使用,这里将主要过程写出来供大家探讨下。 1.环境说明 a.注意Win64环境的Python必须使用ArcFace C++(Win64) SDK,如果平台不一致, 否则可能会出现以下错误。 [size=1em] 1 OSError: [WinError 193] %1 不是有效的 Win32 应用程序 b.由于SDK中涉及到内存操作,本文使用了ctypes包和cdll包提供的以下几种方式 [size=1em] 1 2 3 4 5 c_ubyte_p = POINTER(c_ubyte) memcpy = cdll.msvcrt.memcpy malloc = cdll.msvcrt.malloc malloc.restype = c_void_p free = cdll.msvcrt.free 2.Arcface SDK基本数据结构封装 在封装数据结构时,一定要注意参数类型

使用虹软ArcFac,java 离线SDK 进行人脸识别

余生颓废 提交于 2019-11-30 18:03:07
公司项目需要人脸识别登录,需要支持离线识别,所以无法使用在线的人脸识别的API,于是使用到了离线SDK来对比识别人脸相识度. 获取人脸抓拍的图片需要对接设备,这里不做记录,假设我们已经获取到了人脸图片,只调用SDK将抓拍的人脸图片与已有的进行人脸库图片对比,具体步骤如下: 1. 注册账号,实名认证 https://ai.arcsoft.com.cn/ucenter/user/userlogin 2. 创建应用,在我的应用里面添加SDK,下载sdk到本地 3. 解压SDK,将SDK下的libs文件夹的库文件放到jdk下的lib文件夹下 4. 将SDK libs文件夹下的jar文件导入项目,然后buildpath 5. 编写测试代码,进行人脸比对 package net.nblh.faceRecognition.util.faceCompare; import static com.arcsoft.face.toolkit.ImageFactory.getRGBData; import java.io.File; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import com.arcsoft.face.EngineConfiguration; import com

人脸识别Demo解析C#

試著忘記壹切 提交于 2019-11-27 21:40:28
概述 不管你注意到没有,人脸识别已经走进了生活的角角落落,钉钉已经支持人脸打卡,火车站实名认证已经增加了人脸自助验证通道,更别提各个城市建设的『智能城市』和智慧大脑了。在人脸识别业界,通常由人脸识别提供商和人脸识别应用接入方组成,从头到尾研发人脸识别技术需要极强的专用技术知识和数学算法功底,对于大多数企业来说,选择人工智能AI公司现成的人脸识别技术引擎是一个比较适合的解决方法。虹软公司在2017年开放了人脸识别平台1.0版本,经过三年的技术迭代和更新,目前已经推出了2.2版本,主打离线,免费,适合场景比较广泛。为了方便开发者接入,虹软官方提供了各个语言版本的Demo程序,由于虹软并没有提供C#版本的SDK,因此,他们提供的C#版本的SDK就更有参考价值了。 虹软Demo的下载地址如下: https://github.com/ArcsoftEscErd/ArcfaceDemo_CSharp_2.2 在开始之前,建议你下载它。 什么是人脸识别 人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。 而人脸识别的过程可以简的概括为:检测人脸框->提取人脸特征信息->人脸库检索匹配信息三个过程。 人脸识别的应用场景