AI Face Detect API

CUTOS人脸识别服务功能:

  • 支持人脸捕获、注册、搜索、注销、比对
安装

npm install @cutos/ai-face-detect

引入依赖
import {Face} from '@cutos/ai-face-detect'

模型文件资源路径配置

1.自动安装(推荐)

在执行 npm install 时,安装脚本会自动下载模型文件,并将其复制到项目目录:

public/cutos-ai-face-models/

开发者无需额外操作,安装完成后即可使用。

2.手动安装

若自动安装失败或需要手动操作,可按以下步骤完成:

(1)在依赖包目录中找到已下载的模型文件:

/node_modules/@cutos/ai-face-detect/cutos-ai-face-models/

(2)将该目录完整复制到项目public/cutos-ai-face-models/目录下,最终目录结构应如下所示:

public/
├── cutos-ai-face-models/   # 模型文件目录
│   ├── blaze_face_short_range.tflite
│   ├── vision_wasm_internal.js
│   └── vision_wasm_internal.wasm
├── config.json
├── index.html
└── thumbnail.png

Face

构造函数,创建人脸识别服务实例

const faceInstance = new Face();

Face.init

初始化人脸识别网关服务

faceInstance.init(gwClient);
  • gwClient:人脸识别网关服务的实例。

Face.detectSingleFace

识别摄像头画面中的单张人脸

faceInstance.detectSingleFace(videoElement);
  • videoElement: <video> 元素
举例:
//index.html
<video class="cam-video" autoplay muted playsinline id="cam"></video>
...
//main.js
const $cam = document.querySelector('#cam')
const result = await faceInstance.detectSingleFace($cam);
console.log(result)
  • 返回结果示例:
{
  "face": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAA",
  "fullFrame": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAA",
  "score": 0.9609517455101013
}
  • result.face:检测到的人脸图像
  • result.fullFrame:摄像头捕捉到的原始图像 Blob
  • result.score:捕捉人脸的置信度(0-1),推荐0.9以上为检测人脸成功

Face.register

注册人脸图像

faceInstance.register(fullFrame)
  • fullFrame:base64格式图像
举例:
const id = await faceInstance.register('data:image/jpeg;base64,/9jtUgA.../Z);')
console.log(id)
  • 返回结果示例:
"f956ac67-0dd8-4dc4-ae5b-55f37d99bc6b" //注册成功后返回 ID

Face.search

搜索已注册人脸

faceInstance.search(fullFrame)
  • fullFrame:base64格式图像
举例:
const result = await faceInstance.search('data:image/jpeg;base64,/9jtUgA.../Z);');
console.log(result)
  • 返回结果示例:
{
  "id": "f956ac67-0dd8-4dc4-ae5b-55f37d99bc6b",
  "payload": {},
  "score": 0.9953916239059821
}
  • result.id:匹配到的 ID
  • result.score:匹配分数

Face.unregister

注销人脸 ID

faceInstance.unregister(id);
举例:
const id = await faceInstance.unregister("f956ac67-0dd8-4dc4-ae5b-55f37d99bc6b");
console.log(id)
  • 返回结果示例:
"f956ac67-0dd8-4dc4-ae5b-55f37d99bc6b" //注销成功后返回 ID

Face.compare

人脸比对

faceInstance.compare(image1, image2);
  • image1:人脸图片1的base64格式图像
  • image2:人脸图片2的base64格式图像
举例:
const score = await faceInstance.compare('data:image/jpeg;base64,/9j/4...', 'data:image/jpeg;base64,/9j/4...');
console.log(score)
  • 返回结果示例:
0.9973043918609619 //推荐0.9以上认为匹配成功

results matching ""

    No results matching ""