# 起步

# 功能简介

基于人脸识别技术,通过电脑摄像头实时扫描检测考试学员的脸部、眼部信息,可自动高效地检测到非本人考试、考试时窥屏、东张西望以及界面上切换考试页面去查资料的场景。AI云监考目前仅支持PC端考试场景。

# 引入SDK

<script id="escloud-inspection-sdk-script" src="//service-cdn.qiqiuyun.net/js-sdk-v2/escloud-inspection-sdk.js" async></script>

# 初始化SDK

<div id="capture" style="width: 480px; height: 360px; border: 1px solid #ccc;"></div>

<script>
    window.onESCloudSDKReady = function (SDK) {
    if (SDK.TYPE != 'Inspection') {
        return ;
    }

    const sdk = new SDK({
        id: "capture",
        token: "<token>",
    })
}
</script>
  • 参数 id 为图像采集区域的 DOM 元素 ID;
  • 参数 token 为调用云监考服务的授权Token。

Token 生成举例(PHP):

<?php
use Firebase\JWT\JWT;

$payload = [
    'aud' => 'inspection-service',
    'exp' => time() + 600,
    'subject_no' => 'test_exam_1', // 场次编号,即业务系统中本次考试的的编号
    'user_no' => 'test_user_1',  // 用户编号
];

$token = JWT::encode($payload, '<SecretKey>', 'HS256', '<AccessKey>');

# 采集人脸

在考试之前需要采集一张考生本人的人像,作为考试时供 AI 引擎识别使用。

sdk.captureRealFaces();

调用此方法之后,SDK会启动摄像头采集人像。可以通过监听 capture_real_face.captured 事件,来获取采集到的人脸,保存到业务数据库中去,AI云监考不保存采集的人脸信息。

sdk.on('capture_real_face.captured', function (data) {
    console.log(data.capture); // 即人脸的图像数据
    // POST 到业务服务器,保存人脸数据;
})

# 监考

sdk.setRealFace("<人脸图片地址>");
sdk.start();

# 开发测试 Demo

参见: https://inspection-service.qiqiuyun.net/demo