AI Face Detect API

CUTOS人脸识别服务功能:

  • 支持浏览器原生摄像头调用
  • 支持 CUTOS 客户端初始化连接
  • 支持人脸注册、搜索、注销、比对
  • 支持人脸图像展示与实时识别
  • 支持配置自定义服务网关地址和客户端地址
安装

npm install @cutos/core

npm install @cutos/gw-client

npm install @mediapipe/tasks-vision

引入依赖
import { CoreAPI } from "@cutos/core";
import { Face } from './lib/cutos-ai-face.js';
import { config } from './lib/config';

Face

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

const faceInstance = new Face();

Face.init

初始化人脸识别网关服务

faceInstance.init([gwUrl]);
  • gwUrl:人脸识别服务器地址.
    • 不传参数:连接设备对应服务器
    • 传入目标服务器IP:用于跨服务器获取服务

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 = 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 = 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 = 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 = 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 = 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 ""