Skip to content

初始化SDK ​

方法名 ​

initSdk

用法 ​

  • 用法如下:
    js
    module.initSdk({
      params: {
        //最大人脸个数检查
        maxDetectNum: 10,
        //人脸大小检测,默认为60px。可传入大于50px的数值,小于此大小的人脸不予检测
        minFaceSize: 60,
        //人脸置信度,用于表征被检测到的物体是人脸的概率,该阈值设置越高检测越严格,建议在0.3-0.8区间内调整阈值
        faceThreshold: 0.5
      },
      complete: (res) => {
        console.log(res)
        if (res.code == 0) {
          let data = res.data || {};
          let type = data.type;
          if (type == "initModelSuccess") {
            this.showMessage("模型加载成功,欢迎使用")
          } else if (type == "initModelFail") {
            this.showMessage("模型加载失败,请尝试重启应用")
          } else if (type == "initDbComplete") {
            this.showMessage("数据库加载完成")
          } else if (type == "initDbFail") {
            this.showMessage("数据库加载失败")
          }
        } else {
          this.showMessage(res.message)
        }
      }
    })
    js
    module.initSdk({
      params: {
        //最大人脸个数检查
        maxDetectNum: 10,
        //人脸大小检测,默认为60px。可传入大于50px的数值,小于此大小的人脸不予检测
        minFaceSize: 60,
        //人脸置信度,用于表征被检测到的物体是人脸的概率,该阈值设置越高检测越严格,建议在0.3-0.8区间内调整阈值
        faceThreshold: 0.5
      },
      complete: (res : LevenResult) => {
        if (res.code == 0) {
          let data = res.data;
          let type = data.getString("type")!;
          if (type == "initModelSuccess") {
            showMessage("模型加载成功,欢迎使用")
          } else if (type == "initModelFail") {
            showMessage("模型加载失败,请尝试重启应用")
          } else if (type == "initDbComplete") {
            showMessage("数据库加载完成")
          } else if (type == "initDbFail") {
            showMessage("数据库加载失败")
          }
        } else {
          showMessage(res.message)
        }
      }
    })
  • 参数说明
    参数名参数类型是否必填默认值参数描述
    paramsObject是无接口请求参数
    params.isMultiIdentifyBoolean否false是否进行多人脸识别
    params.trackIntervalInteger否MAX_VALUE设置人脸快速检测(人脸跟踪)全量检测间隔时间
    params.maxDetectNumInteger否10最大人脸个数检查
    params.minFaceSizeInteger否0人脸大小检测,默认为0。可传入大于50px的数值,小于此大小的人脸不予检测
    params.notRGBFaceThresholdFloat否0.5RGB人脸置信度,判断检测的人像不像人脸,默认0.5f,越小则会把类似人脸的物体识别为人脸,越大越准确
    params.notNIRFaceThresholdFloat否0.5NIR人脸置信度,判断检测的人像不像人脸,默认0.5f,越小则会把类似人脸的物体识别为人脸,越大越准确
    params.isInitLiveBoolean否true是否初始化活体模型(这里设置为false所有活体模型均不会初始化和使用)
    params.isInitRGBLiveBoolean否true是否初始化rgb活体模型
    params.isInitNIRLiveBoolean否true是否初始化nir活体模型
    params.isInitDepthLiveBoolean否true是否初始化depth活体模型
    params.isInitRGBMaskLiveBoolean否true是否初始化rgb多音子模型(增加单目rgb活体识别效果,但会降低活体通过率并提升活体耗时)
    params.isInitDetectBoolean否true是否初始化人脸检测模型(建议开启)
    params.isInitTrackBoolean否true是否初始化快速人脸检测模型(设置为false无法进行人脸框跟踪绘制)
    params.isInitCropBoolean否true是否初始化抠图功能
    params.isInitFeatureBoolean否true是否初始化特征提取模型
    params.isInitGazeBoolean否true是否初始化注意力模型
    params.isInitMouthMaskBoolean否true是否初始化口罩检测模型
    params.isInitSafetyHatBoolean否true是否初始化安全帽检测模型
    params.isInitDarkBoolean否true是否初始化暗光回复模型
    successFunction否无执行成功的函数
    failFunction否无执行失败的函数
    completeFunction否无执行完成的函数,不管成功还是失败都会执行

回调 ​

  • 示例
    json
    {
      "data": {
        "successCount": 22,
        "type": "initDbProgress",
        "progress": 0.59090906,
        "finishCount": 13
      },
      "message": "",
      "code": 0
    }
  • 回调说明:
    参数名参数类型参数描述
    messageString消息提示
    dataObject数据对象
    data.typeString初始化类型,类型如下:
    initModelSuccess:初始化模型成功
    initModelFail:初始化模型失败
    initDbStart开始加载数据库
    initDbProgress数据库加载进度
    initDbComplete数据库加载完成(初始化结束)
    initDbFail数据库加载失败
    data.errorCodeInteger失败状态码,initModelFail时返回
    data.errorMsgString失败描述,initModelFail时返回
    data.finishCountInteger数据库已加载的数量,initDbProgress initDbFail时返回
    data.successCountInteger数据库加载成功的数量,initDbProgress initDbComplete initDbFail时返回
    data.progressFloat数据库加载完成的百分比(<=1),initDbProgress时返回
    codeInteger返回类型,0.成功,其他:失败