这个SDK设计为完全本地运行(On-Premise),所有数据处理都在你自己的设备上完成,以确保隐私安全。

下面是针对其核心 Python SDK 的部署步骤,适用于Windows和Linux系统。

1. 环境准备

部署的核心是创建一个干净且独立的Python环境,推荐使用Anaconda进行管理。

  • 下载并安装Anaconda:访问 Anaconda官网 下载并安装,它是管理Python环境和依赖包的推荐工具。

  • 创建并激活Conda环境:打开终端或命令行,执行以下命令,创建一个名为 facesdk 的环境并指定Python版本为3.9:

    1
    2
    conda create -n facesdk python=3.9
    conda activate facesdk

    请确保Python版本为3.9或更高,这是SDK运行的基础。

2. 获取代码并安装依赖

  • 克隆或下载仓库:将你提供的GitHub仓库克隆到本地,或直接下载ZIP压缩包并解压。

  • 安装核心依赖:进入项目根目录(即包含 requirements.txt 文件的文件夹),运行以下命令来安装所有必需的Python库:

    1
    pip install -r requirements.txt

3. 测试安装 (可选)

在开始编写代码前,可以先运行一个简单的测试脚本来验证安装是否成功:

1
python run.py

这个脚本会执行一个基础的示例,如果环境配置正确,它应该能正常运行而不会报错。

4. 编写你的第一个识别程序

安装完成后,你可以按照以下步骤,在你的Python代码中调用SDK。

第一步:导入SDK并初始化
在你的Python文件开头,导入 FaceRecognition 类并创建其实例。

1
2
3
4
from face_recognition_sdk import FaceRecognition

# 初始化SDK
face_sdk = FaceRecognition()

第二步:提取人脸特征
使用 GetImageInfo 方法处理一张包含人脸的图片,它将返回检测到的人脸信息,其中最重要的就是用于比较的 embedding(特征向量)。

1
2
3
4
5
6
7
8
9
# 获取图像中的人脸信息
image_path = "path/to/your/image.jpg"
# faceMaxCount参数可控制最多检测的人脸数量
faces_info = face_sdk.GetImageInfo(image_path, faceMaxCount=1)

if faces_info:
# 提取第一张人脸的特征向量
feature1 = faces_info[0]['embedding']
print("人脸特征提取成功!")

第三步:比较两张人脸
要判断两张照片是否为同一个人,可以分别提取它们的特征向量,然后使用 get_similarity 方法计算相似度。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 假设你有两张图片 person1.jpg 和 person2.jpg
faces1 = face_sdk.GetImageInfo("person1.jpg", faceMaxCount=1)
faces2 = face_sdk.GetImageInfo("person2.jpg", faceMaxCount=1)

if faces1 and faces2:
feature1 = faces1[0]['embedding']
feature2 = faces2[0]['embedding']

# 计算相似度,返回值范围是0-100
similarity = face_sdk.get_similarity(feature1, feature2)
print(f"两张人脸的相似度为: {similarity}%")

# 根据阈值(默认75)判断是否为同一人
is_same_person = similarity >= 75
print(f"是否为同一人: {is_same_person}")

5. 其他部署场景与注意事项

除了这个Python版本,Faceplugin还提供了面向其他平台的SDK,部署方式略有不同,你可以根据需求参考:

  • Web前端 (JavaScript/React):通过npm安装,例如 npm install faceplugin,并需要在项目中复制预训练的权重文件。
  • 移动端 (Android):需要将 libfacesdk 文件夹复制到项目根目录,并在 settings.gradlebuild.gradle 文件中添加相应的依赖配置。
  • 核心文件路径:在Linux环境下部署时,你或许需要手动修改 face_util/faceutil.py 文件,确保它正确加载了 libFaceUtil.so 文件。

如果你需要部署到其他平台(如Web、Android、iOS),或者想了解活体检测、人脸属性分析等高级功能,随时可以告诉我,我会继续为你提供更详细的指导。