com.aiwiown.face.domain.AppBizTokenModel Maven / Gradle / Ivy
package com.aiwiown.face.domain;
import com.aiwiown.face.ApiObject;
import com.aiwiown.face.internal.mapping.ApiField;
import java.io.File;
/**
* @ClassName : AppBizTokenModel
* @Description :
* @Author : dbin0123
* @Date: 2020-03-15 17:58
*/
public class AppBizTokenModel extends ApiObject {
private static final long serialVersionUID = 5335806078320445229L;
/**
* 活体验证流程的选择,目前仅取以下值:
*
* meglive:动作活体
* still:静默活体
* flash:炫彩活体,通过打光进行活体验证,炫彩活体相较于静默活体安全性更高,但通过率会略有降低。
* raw_image:不进行活体验证,仅使用上传的图片进行后续的比对
*/
@ApiField("liveness_type")
private String livenessType;
/**
* 确定本次比对为“KYC验证”或“人脸比对”。取值只为“1”或“0”,取其他值返回错误码400(BAD_ARGUMENTS)。
* 0:表示人脸比对,FaceID将使用客户自己提供的照片(参数image_ref[x])作为比对人脸照。
* 1:表示KYC验证,表示最终的用户照片将与参考照片进行比对。此外,如果没有“KYC验证”的权限,也不能设置此参数为“1”,否则返回错误码 403(AUTHORIZATION_ERROR:NO_DATA_SOURCE_PERMISSION)
*/
@ApiField("comparison_type")
private String comparisonType;
/**
* 需要核实对象的姓名,使用UTF-8编码。
*/
@ApiField("idcard_name")
private String idcardName;
/**
* 需要核实对象的证件号码,也就是一个18位长度的字符串。
*/
@ApiField("idcard_number")
private String idcardNumber;
/**
* 如果用户不使用参考数据进行比对,则上传此字段,用于标志本次识别对应的用户的唯一ID,要求不长于128字节。建议您对来自同一用户的比对请求使用同样的ID,这非常有利于您反查验证结果以及获得更好的监控报表体验
*/
@ApiField("uuid")
private String uuid;
/**
* 由客户提供的参照人脸照片。 如果在image_ref1、image_ref2中的任一张图片里没有找到人脸,将返回错误码400(NO_FACE_FOUND); 如果这些图片中任一张中有多张脸,将选择最大人脸进行比对。
*/
@ApiField(value = "image_ref1",isFile = true)
private File imageRef1;
/**
* 由客户提供的参照人脸照片。 如果在image_ref1、image_ref2中的任一张图片里没有找到人脸,将返回错误码400(NO_FACE_FOUND); 如果这些图片中任一张中有多张脸,将选择最大人脸进行比对。
*/
@ApiField(value = "image_ref2", isFile = true)
private File imageRef2;
/**
* “默认为空”。客户业务流水号,建议设置为您的业务相关的流水串号并且唯一,会在return时原封不动的返回给您的服务器,以帮助您确认对应业务的归属。此字段不超过128字节。
*/
@ApiField("biz_no")
private String bizNo;
/**
* 超时时间,示用户进入活体识别流程后的超时时间,若未在规定时间完成操作,则本次活体失败。
* 超时时间设定:单位 秒, ∈ [5, 60]
* 动作活体时,设置每个动作的超时时间,默认 10
* 静默活体时,设置照镜子的超时时间,默认 60
*/
@ApiField("liveness_timeout")
private String livenessTimeout;
/**
* 活体类型控制四选一:动作活体时(liveness_type = meglive)
* 配置动作活体时的动作个数:默认3个动作;默认 3, ∈ [1,3]
*/
@ApiField("liveness_action_count")
private String livenessActionCount;
/**
* 活体类型控制四选一:静默活体时(liveness_type = still)
* 表示静默活体是否进行闭眼检测,取值如下:
* 0:默认值,不进行睁闭眼检测;
* 1:开启睁闭眼检测,若用户全程闭眼,则活体检测失败。
*/
@ApiField("eyes_close_detection")
private String eyesCloseDetection;
/**
* 活体类型控制四选一:炫彩活体时(liveness_type = flash)
* 设置炫彩活体的超时时间,默认值为 120秒。表示用户进入活体识别流程后的超时时间,若未在规定时间完成操作,则本次活体失败。
* 超时时间设定:单位 秒, ∈ [60, 180]。若参数值超过限定范围,则返回BAD_ARGUMENTS错误。
*/
@ApiField("flash_liveness_timeout")
private String flashLivenessTimeout;
/**
* 活体类型控制四选一:无活体验证时(liveness_type = raw_image)
* 待比对的人脸照片。当以这种方式调用时,该方法会首先检测出image中有几张人脸,并且判断最大的那张人脸的图像质量是否足够后续的比对。您可以通过设置可选参数fail_when_multiple_faces 和 face_quality_threshold来定义人脸检测方面的行为。
*/
@ApiField(value = "image", isFile = true)
private File image;
/**
* 活体类型控制四选一:无活体验证时(liveness_type = raw_image)
* 对待比对照作人脸检测时发现有多张脸,是否立即返回错误,或者取最大的一张脸继续比对。本参数取值只能是 “1” 或 "0" (缺省值为“1”):
* “1”: 立即返回错误码400(MULTIPLE_FACES)
* “0”:取最大脸继续比对
*/
@ApiField("fail_when_multiple_faces")
private String failWhenMultipleFaces;
/**
* 活体类型控制四选一:无活体验证时(liveness_type = raw_image)
* 待比对照中(人脸面积最大的一张)人脸图像质量分的阈值(缺省值为30)。待比对照人脸图像质量低于该阈值就直接返回错误码400(LOW_QUALITY)。本参数只能传入0至100的整数,传入其他整数或非整数字符串均返回错误码400(BAD_ARGUMENTS)。
*/
@ApiField("face_quality_threshold")
private String faceQualityThreshold;
/**
* 活体类型控制四选一:无活体验证时(liveness_type = raw_image)
* 返回人脸检测结果。本参数取值只能是“1”或“0”(缺省值为“0”):
* “1”: 返回人脸检测结果(faces字段);
* “0”: 不返回人脸检测结果,只返回比对结果;
* 其他值:返回错误码400(BAD_ARGUMENTS)
* 注意:只要本参数设置为1,即使调用返回错误码400(LOW_QUALITY)、400(MULTIPLE_FACES)或400(NO_FACE_FOUND),返回结果里依然会包含faces字段。
*/
@ApiField("return_faces")
private String returnFaces;
/**
* 表示返回数据的详细程度,取值如下:
* 0:默认值,仅返回结论
* 1:返回结论与摘要信息
*/
@ApiField("verbose")
private String verbose;
/**
* 表示对比对结果的严格程度限制,请根据您的场景,选择安全规则,越严格,准确性要求越高,通过率也会相应下降。
*
* 1:宽松
* 2:常规(默认值)
* 3:严格
* 4:非常严格
*/
@ApiField("security_level")
private String securityLevel;
/**
* 表示云端算法判断为假脸后,是否依然进行比对结果
*
* 0:默认值,不开启比对。云端判断为假脸,则直接返回结果,不执行比对,可以节省成本
* 1:进行强制比对。云端判断为假脸后,但依然进行比对,此时result中将不返回假脸的结果,而返回比对的结果,风险情况您可以通过verification进行查看(需要设置verbose=1)。注:开启强制比对后,此条记录将被纳入计费逻辑。
*/
@ApiField("force_compare")
private String forceCompare;
/**
* 决定对于image_ref[x]参数对应的图片,当检测不出人脸时,是否旋转90度、180度、270度后再检测人脸。本参数取值只能是 “1” 或 "0" ;
*
* 1:默认值,要旋转检测
* 0:不旋转
* 其他值:返回错误码400(BAD_ARGUMENTS)
*
* 注意:设置此参数为1可能会轻微增加误检人脸的概率,如果您明确您的业务场景里不存在非正向的人脸图片、或概率极低,建议勿设置此参数。
*/
@ApiField("multi_oriented_detection")
private String multiOrientedDetection;
/**
* 表示活体SDK端严格等级(当前仅静默活体使用),取值如下:
* 0:严格模式,默认值
* 1:标准模式
* 2:极速模式
*/
@ApiField("liveness_level")
private String livenessLevel;
/**
* 表示活体SDK进入活体时是否将屏幕亮度调到最大,取值如下:
* 0:默认值,不做额外调整
* 1:调整到最大亮度
* 注意:本参数仅针对V3.3.3以上SDK中动作与静默生效
*/
@ApiField("maximum_brightness")
private String maximumBrightness;
public String getLivenessType() {
return livenessType;
}
public void setLivenessType(String livenessType) {
this.livenessType = livenessType;
}
public String getComparisonType() {
return comparisonType;
}
public void setComparisonType(String comparisonType) {
this.comparisonType = comparisonType;
}
public String getIdcardName() {
return idcardName;
}
public void setIdcardName(String idcardName) {
this.idcardName = idcardName;
}
public String getIdcardNumber() {
return idcardNumber;
}
public void setIdcardNumber(String idcardNumber) {
this.idcardNumber = idcardNumber;
}
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
public File getImageRef1() {
return imageRef1;
}
public void setImageRef1(File imageRef1) {
this.imageRef1 = imageRef1;
}
public File getImageRef2() {
return imageRef2;
}
public void setImageRef2(File imageRef2) {
this.imageRef2 = imageRef2;
}
public String getBizNo() {
return bizNo;
}
public void setBizNo(String bizNo) {
this.bizNo = bizNo;
}
public String getLivenessTimeout() {
return livenessTimeout;
}
public void setLivenessTimeout(String livenessTimeout) {
this.livenessTimeout = livenessTimeout;
}
public String getLivenessActionCount() {
return livenessActionCount;
}
public void setLivenessActionCount(String livenessActionCount) {
this.livenessActionCount = livenessActionCount;
}
public String getEyesCloseDetection() {
return eyesCloseDetection;
}
public void setEyesCloseDetection(String eyesCloseDetection) {
this.eyesCloseDetection = eyesCloseDetection;
}
public String getFlashLivenessTimeout() {
return flashLivenessTimeout;
}
public void setFlashLivenessTimeout(String flashLivenessTimeout) {
this.flashLivenessTimeout = flashLivenessTimeout;
}
public File getImage() {
return image;
}
public void setImage(File image) {
this.image = image;
}
public String getFailWhenMultipleFaces() {
return failWhenMultipleFaces;
}
public void setFailWhenMultipleFaces(String failWhenMultipleFaces) {
this.failWhenMultipleFaces = failWhenMultipleFaces;
}
public String getFaceQualityThreshold() {
return faceQualityThreshold;
}
public void setFaceQualityThreshold(String faceQualityThreshold) {
this.faceQualityThreshold = faceQualityThreshold;
}
public String getReturnFaces() {
return returnFaces;
}
public void setReturnFaces(String returnFaces) {
this.returnFaces = returnFaces;
}
public String getVerbose() {
return verbose;
}
public void setVerbose(String verbose) {
this.verbose = verbose;
}
public String getSecurityLevel() {
return securityLevel;
}
public void setSecurityLevel(String securityLevel) {
this.securityLevel = securityLevel;
}
public String getForceCompare() {
return forceCompare;
}
public void setForceCompare(String forceCompare) {
this.forceCompare = forceCompare;
}
public String getMultiOrientedDetection() {
return multiOrientedDetection;
}
public void setMultiOrientedDetection(String multiOrientedDetection) {
this.multiOrientedDetection = multiOrientedDetection;
}
public String getLivenessLevel() {
return livenessLevel;
}
public void setLivenessLevel(String livenessLevel) {
this.livenessLevel = livenessLevel;
}
public String getMaximumBrightness() {
return maximumBrightness;
}
public void setMaximumBrightness(String maximumBrightness) {
this.maximumBrightness = maximumBrightness;
}
}