如何使用 python 接入虹软 ArcFace SDK
公司需要在项目中使用人脸识别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基本数据结构封装 在封装数据结构时,一定要注意参数类型