提交修改
This commit is contained in:
parent
a06ef45358
commit
07a2e69405
@ -38,7 +38,7 @@ public class ACompareFaceRequest {
|
|||||||
* 示例值:
|
* 示例值:
|
||||||
* 98.5
|
* 98.5
|
||||||
*/
|
*/
|
||||||
private Float qualityScoreThreshold;
|
private Float qualityScoreThreshold = 98.5f;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,9 +1,20 @@
|
|||||||
package com.heyu.api.controller.face;
|
package com.heyu.api.controller.face;
|
||||||
|
|
||||||
|
|
||||||
|
import com.aliyun.facebody20191230.models.BlurFaceResponse;
|
||||||
|
import com.aliyun.facebody20191230.models.BlurFaceResponseBody;
|
||||||
|
import com.heyu.api.alibaba.handle.facebody.ABlurFaceHandle;
|
||||||
|
import com.heyu.api.alibaba.request.facebody.ABlurFaceRequest;
|
||||||
import com.heyu.api.controller.BaseController;
|
import com.heyu.api.controller.BaseController;
|
||||||
|
import com.heyu.api.data.annotation.CacheResult;
|
||||||
import com.heyu.api.data.annotation.NotIntercept;
|
import com.heyu.api.data.annotation.NotIntercept;
|
||||||
|
import com.heyu.api.data.utils.ApiR;
|
||||||
|
import com.heyu.api.data.utils.R;
|
||||||
|
import com.heyu.api.request.card.CharacterRecognizeRequest;
|
||||||
|
import com.heyu.api.request.face.CharacterRecognizeReq;
|
||||||
|
import com.heyu.api.resp.face.CharacterRecognizeResp;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
@ -23,13 +34,34 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/face")
|
@RequestMapping("/face")
|
||||||
@NotIntercept
|
@NotIntercept
|
||||||
public class BlurFaceController extends BaseController {
|
public class BlurFaceController extends BaseController {
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ABlurFaceHandle aBlurFaceHandle;
|
||||||
|
|
||||||
|
|
||||||
|
@RequestMapping("/mask")
|
||||||
|
@CacheResult
|
||||||
|
public R recognize(CharacterRecognizeReq request) {
|
||||||
|
CharacterRecognizeResp resp = new CharacterRecognizeResp();
|
||||||
|
ABlurFaceRequest aBlurFaceRequest = new ABlurFaceRequest();
|
||||||
|
aBlurFaceRequest.setImageBase64(request.getImageBase64());
|
||||||
|
aBlurFaceRequest.setImageUrl(request.getImageUrl());
|
||||||
|
ApiR<BlurFaceResponse> aR = aBlurFaceHandle.handle(aBlurFaceRequest);
|
||||||
|
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
|
||||||
|
|
||||||
|
BlurFaceResponseBody responseBody = aR.getData().getBody();
|
||||||
|
BlurFaceResponseBody.BlurFaceResponseBodyData responseBodyData = responseBody.getData();
|
||||||
|
|
||||||
|
|
||||||
|
resp.setOriginImageUrl(resp.getOriginImageUrl());
|
||||||
|
resp.setMaskImageURL(resp.getMaskImageURL());
|
||||||
|
|
||||||
|
return R.ok().setData(resp);
|
||||||
|
}
|
||||||
|
return R.error(aR.getErrorMsg());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,91 @@
|
|||||||
|
package com.heyu.api.controller.face;
|
||||||
|
|
||||||
|
|
||||||
|
import com.aliyun.facebody20191230.models.BodyPostureResponse;
|
||||||
|
import com.aliyun.facebody20191230.models.BodyPostureResponseBody;
|
||||||
|
import com.heyu.api.alibaba.handle.facebody.ABodyPostureHandle;
|
||||||
|
import com.heyu.api.alibaba.request.facebody.ABodyPostureRequest;
|
||||||
|
import com.heyu.api.controller.BaseController;
|
||||||
|
import com.heyu.api.data.annotation.CacheResult;
|
||||||
|
import com.heyu.api.data.annotation.NotIntercept;
|
||||||
|
import com.heyu.api.data.utils.ApiR;
|
||||||
|
import com.heyu.api.data.utils.R;
|
||||||
|
import com.heyu.api.request.face.BodyPostureReq;
|
||||||
|
import com.heyu.api.resp.face.BodyPostureBodiesResp;
|
||||||
|
import com.heyu.api.resp.face.BodyPostureResp;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
/***
|
||||||
|
* https://next.api.aliyun.com/api/facebody/2019-12-30/BodyPosture?RegionId=cn-shanghai&tab=DEBUG&lang=JAVA
|
||||||
|
*人体姿态关键点 BodyPosture
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* 人体姿态关键点能力可以获取人体的十八个关键点信息。包括:nose、neck、right_shoulder、right_elbow、right_wrist、left_shoulder、left_elbow、left_wrist、right_hip、right_knee、right_ankle、left_hip、left_knee、left_ankle、right_eye、left_eye、right_ear、left_ear。
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/face")
|
||||||
|
@NotIntercept
|
||||||
|
public class BodyPostureController extends BaseController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ABodyPostureHandle aBodyPostureHandle;
|
||||||
|
|
||||||
|
|
||||||
|
@RequestMapping("/mask")
|
||||||
|
@CacheResult
|
||||||
|
public R recognize(BodyPostureReq request) {
|
||||||
|
List<BodyPostureResp> resp = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
|
ABodyPostureRequest bodyPostureRequest = new ABodyPostureRequest();
|
||||||
|
bodyPostureRequest.setImageBase64(request.getImageBase64());
|
||||||
|
bodyPostureRequest.setImageUrl(request.getImageUrl());
|
||||||
|
|
||||||
|
ApiR<BodyPostureResponse> apiR = aBodyPostureHandle.handle(bodyPostureRequest);
|
||||||
|
if (apiR.isSuccess() && isSuccessStatusCode(apiR.getData().getStatusCode())) {
|
||||||
|
BodyPostureResponseBody responseBody = apiR.getData().getBody();
|
||||||
|
BodyPostureResponseBody.BodyPostureResponseBodyData responseBodyData = responseBody.getData();
|
||||||
|
|
||||||
|
List<BodyPostureResponseBody.BodyPostureResponseBodyDataOutputs> responseBodyDataOutputsList = responseBodyData.getOutputs();
|
||||||
|
if (CollectionUtils.isNotEmpty(responseBodyDataOutputsList)) {
|
||||||
|
for (BodyPostureResponseBody.BodyPostureResponseBodyDataOutputs bodyPostureResponseBodyDataOutputs : responseBodyDataOutputsList) {
|
||||||
|
BodyPostureResp bodyPostureResp = new BodyPostureResp();
|
||||||
|
bodyPostureResp.setHumanCount(bodyPostureResponseBodyDataOutputs.getHumanCount());
|
||||||
|
List<BodyPostureResponseBody.BodyPostureResponseBodyDataOutputsResults> results = bodyPostureResponseBodyDataOutputs.getResults();
|
||||||
|
if (CollectionUtils.isNotEmpty(results)) {
|
||||||
|
|
||||||
|
List<BodyPostureBodiesResp> bodyPostureBodiesResps = new ArrayList<>();
|
||||||
|
for (BodyPostureResponseBody.BodyPostureResponseBodyDataOutputsResults result : results) {
|
||||||
|
if (CollectionUtils.isNotEmpty(result.getBodies())) {
|
||||||
|
for (BodyPostureResponseBody.BodyPostureResponseBodyDataOutputsResultsBodies body : result.getBodies()) {
|
||||||
|
|
||||||
|
BodyPostureBodiesResp bodyPostureBodiesResp = new BodyPostureBodiesResp();
|
||||||
|
bodyPostureBodiesResp.setConfident(body.getConfident());
|
||||||
|
bodyPostureBodiesResp.setLabel(body.getLabel());
|
||||||
|
bodyPostureBodiesResps.add(bodyPostureBodiesResp);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return R.ok().setData(resp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return R.error(apiR.getErrorMsg());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,76 @@
|
|||||||
|
package com.heyu.api.controller.face;
|
||||||
|
|
||||||
|
|
||||||
|
import com.aliyun.facebody20191230.models.CompareFaceResponse;
|
||||||
|
import com.aliyun.facebody20191230.models.CompareFaceResponseBody;
|
||||||
|
import com.heyu.api.alibaba.handle.facebody.ACompareFaceHandle;
|
||||||
|
import com.heyu.api.alibaba.request.facebody.ACompareFaceRequest;
|
||||||
|
import com.heyu.api.controller.BaseController;
|
||||||
|
import com.heyu.api.data.annotation.CacheResult;
|
||||||
|
import com.heyu.api.data.annotation.NotIntercept;
|
||||||
|
import com.heyu.api.data.utils.ApiR;
|
||||||
|
import com.heyu.api.data.utils.R;
|
||||||
|
import com.heyu.api.request.face.CharacterRecognizeReq;
|
||||||
|
import com.heyu.api.request.face.CompareFaceReq;
|
||||||
|
import com.heyu.api.resp.face.CompareFaceResp;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.AbstractPropertyAccessor;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.time.chrono.IsoChronology;
|
||||||
|
|
||||||
|
/****
|
||||||
|
* https://next.api.aliyun.com/api/facebody/2019-12-30/CompareFace?tab=DEMO&lang=JAVA
|
||||||
|
*
|
||||||
|
* 人脸比对
|
||||||
|
*
|
||||||
|
* CompareFace
|
||||||
|
*
|
||||||
|
* 功能描述
|
||||||
|
* 人脸比对 1:1 能力基于您输入的两张图片,分别挑选两张图片中的最大人脸进行比较,判断是否为同一人。
|
||||||
|
*
|
||||||
|
* 两张人脸图片对比:比对两张图片中人脸的相似度,返回这两个人脸的矩形框坐标、人脸五点关键点坐标、比对的置信度,以及不同误识率的置信度阈值。
|
||||||
|
* 支持多种图片类型:支持生活照、证件照、身份证芯片照、带网纹照等类型的人脸对比。
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/face")
|
||||||
|
@NotIntercept
|
||||||
|
public class CompareFaceController extends BaseController {
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ACompareFaceHandle aCompareFaceHandle;
|
||||||
|
|
||||||
|
@RequestMapping("/compare")
|
||||||
|
@CacheResult
|
||||||
|
public R recognize(CompareFaceReq req) {
|
||||||
|
|
||||||
|
CompareFaceResp resp = new CompareFaceResp();
|
||||||
|
|
||||||
|
ACompareFaceRequest aCompareFaceRequest = new ACompareFaceRequest();
|
||||||
|
aCompareFaceRequest.setUrlA(req.getImageUrlA());
|
||||||
|
aCompareFaceRequest.setUrlB(req.getImageUrlB());
|
||||||
|
aCompareFaceRequest.setBase64A(req.getImageBase64A());
|
||||||
|
aCompareFaceRequest.setBase64B(req.getImageBase64B());
|
||||||
|
|
||||||
|
ApiR<CompareFaceResponse> aR = aCompareFaceHandle.handle(aCompareFaceRequest);
|
||||||
|
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
|
||||||
|
|
||||||
|
CompareFaceResponseBody responseBody = aR.getData().getBody();
|
||||||
|
CompareFaceResponseBody.CompareFaceResponseBodyData responseBodyData = responseBody.getData();
|
||||||
|
|
||||||
|
resp.setConfidence(responseBodyData.getConfidence());
|
||||||
|
resp.setQualityScoreA(responseBodyData.getQualityScoreA());
|
||||||
|
resp.setQualityScoreA(responseBodyData.getQualityScoreB());
|
||||||
|
resp.setMessageTips(responseBodyData.getMessageTips());
|
||||||
|
resp.setIsMaskA(responseBodyData.getIsMaskA());
|
||||||
|
resp.setIsMaskB(responseBodyData.getIsMaskB());
|
||||||
|
return R.ok().setData(resp);
|
||||||
|
}
|
||||||
|
return R.error(aR.getErrorMsg());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -22,6 +22,7 @@ import java.io.IOException;
|
|||||||
public class PostCodeQueueSimpleRabbitListener {
|
public class PostCodeQueueSimpleRabbitListener {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ApiPostCodeDao apiPostCodeDao;
|
private ApiPostCodeDao apiPostCodeDao;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import lombok.Data;
|
|||||||
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class CommonRequest extends BaseRequest {
|
public class CommonReq extends BaseRequest {
|
||||||
/**
|
/**
|
||||||
* 图片的url
|
* 图片的url
|
||||||
*/
|
*/
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
package com.heyu.api.request.face;
|
||||||
|
|
||||||
|
|
||||||
|
import com.heyu.api.request.CommonReq;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/***
|
||||||
|
*
|
||||||
|
* https://next.api.aliyun.com/api/facebody/2019-12-30/BodyPosture?RegionId=cn-shanghai&tab=DEMO&lang=JAVA
|
||||||
|
*人体姿态关键点
|
||||||
|
*
|
||||||
|
* BodyPosture
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class BodyPostureReq extends CommonReq {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,20 @@
|
|||||||
|
package com.heyu.api.request.face;
|
||||||
|
|
||||||
|
|
||||||
|
import com.heyu.api.request.CommonReq;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/***
|
||||||
|
* https://next.api.aliyun.com/api/facebody/2019-12-30/BlurFace?tab=DOC&lang=JAVA&RegionId=cn-shanghai
|
||||||
|
*
|
||||||
|
*人脸信息脱敏
|
||||||
|
*
|
||||||
|
* BlurFace
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CharacterRecognizeReq extends CommonReq {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
package com.heyu.api.request.face;
|
||||||
|
|
||||||
|
import com.heyu.api.data.dto.BaseRequest;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/****
|
||||||
|
|
||||||
|
* https://next.api.aliyun.com/api/facebody/2019-12-30/CompareFace?tab=DOC&lang=JAVA
|
||||||
|
*
|
||||||
|
*人脸比对
|
||||||
|
*
|
||||||
|
* CompareFace
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CompareFaceReq extends BaseRequest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图片的url
|
||||||
|
*/
|
||||||
|
private String imageUrlA;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* base 64 编码
|
||||||
|
*/
|
||||||
|
private String imageBase64A;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图片的url
|
||||||
|
*/
|
||||||
|
private String imageUrlB;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* base 64 编码
|
||||||
|
*/
|
||||||
|
private String imageBase64B;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,7 +1,7 @@
|
|||||||
package com.heyu.api.request.tax;
|
package com.heyu.api.request.tax;
|
||||||
|
|
||||||
|
|
||||||
import com.heyu.api.request.CommonRequest;
|
import com.heyu.api.request.CommonReq;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
/***
|
/***
|
||||||
@ -11,7 +11,7 @@ import lombok.Data;
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class ARecognizeVATInvoiceReq extends CommonRequest {
|
public class ARecognizeVATInvoiceReq extends CommonReq {
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package com.heyu.api.request.tax;
|
package com.heyu.api.request.tax;
|
||||||
|
|
||||||
|
|
||||||
import com.heyu.api.request.CommonRequest;
|
import com.heyu.api.request.CommonReq;
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* https://next.api.aliyun.com/api/ocr/2019-12-30/RecognizeQuotaInvoice?tab=DEMO
|
* https://next.api.aliyun.com/api/ocr/2019-12-30/RecognizeQuotaInvoice?tab=DEMO
|
||||||
@ -12,7 +12,7 @@ import com.heyu.api.request.CommonRequest;
|
|||||||
* RecognizeQuotalnvoice
|
* RecognizeQuotalnvoice
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class RecognizeQuotaInvoiceReq extends CommonRequest {
|
public class RecognizeQuotaInvoiceReq extends CommonReq {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
package com.heyu.api.request.tax;
|
package com.heyu.api.request.tax;
|
||||||
|
|
||||||
|
|
||||||
import com.heyu.api.request.CommonRequest;
|
import com.heyu.api.request.CommonReq;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* https://next.api.aliyun.com/api/ocr/2019-12-30/RecognizeTicketInvoice
|
* https://next.api.aliyun.com/api/ocr/2019-12-30/RecognizeTicketInvoice
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class RecognizeTicketInvoiceReq extends CommonRequest {
|
public class RecognizeTicketInvoiceReq extends CommonReq {
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,30 @@
|
|||||||
|
package com.heyu.api.resp.face;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/***
|
||||||
|
* 检测到的人体关键点信息。
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class BodyPostureBodiesResp {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关键点置信度。
|
||||||
|
*
|
||||||
|
* 示例值:
|
||||||
|
* 0.91309475898742676
|
||||||
|
*/
|
||||||
|
private Float confident;
|
||||||
|
|
||||||
|
|
||||||
|
/***
|
||||||
|
* 关键点的标签。包括如下类型:nose、neck、right_shoulder、right_elbow、right_wrist、left_shoulder、left_elbow、left_wrist、right_hip、right_knee、right_ankle、left_hip、left_knee、left_ankle、right_eye、left_eye、right_ear、left_ear。
|
||||||
|
*
|
||||||
|
* 示例值:
|
||||||
|
* nose
|
||||||
|
*/
|
||||||
|
private String label;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,33 @@
|
|||||||
|
package com.heyu.api.resp.face;
|
||||||
|
|
||||||
|
|
||||||
|
import com.heyu.api.data.dto.BaseResp;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/***
|
||||||
|
* https://next.api.aliyun.com/api/facebody/2019-12-30/BodyPosture?RegionId=cn-shanghai&tab=DOC&lang=JAVA
|
||||||
|
*
|
||||||
|
* 人体姿态关键点 BodyPosture
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class BodyPostureResp extends BaseResp {
|
||||||
|
|
||||||
|
|
||||||
|
/***
|
||||||
|
* 人体的个数。
|
||||||
|
*
|
||||||
|
* 示例值:
|
||||||
|
* 1
|
||||||
|
*/
|
||||||
|
private Integer humanCount;
|
||||||
|
|
||||||
|
|
||||||
|
/***
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private List<BodyPostureBodiesResp> bodiesRespList;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,37 @@
|
|||||||
|
package com.heyu.api.resp.face;
|
||||||
|
|
||||||
|
|
||||||
|
import com.heyu.api.data.dto.BaseResp;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class CharacterRecognizeResp extends BaseResp {
|
||||||
|
|
||||||
|
|
||||||
|
/***
|
||||||
|
* 原来图片
|
||||||
|
*
|
||||||
|
* 脱敏后的图片 URL 地址。展开详情
|
||||||
|
*
|
||||||
|
* 示例值:
|
||||||
|
* http://viapi-cn-shanghai-dha-segmenter.oss-cn-shanghai.aliyuncs.com/upload/result_FaceBlur/2020-8-5/invi_FaceBlur_015966077063461060948_IBdDsq.jpg?Expires=1596609506&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=x8n3jq1X91Sq7BKWE4vRHSu6g9****
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private String originImageUrl;
|
||||||
|
|
||||||
|
|
||||||
|
/***
|
||||||
|
*
|
||||||
|
* 脱敏后的图片 Mask 地址。展开详情
|
||||||
|
*
|
||||||
|
* 示例值:
|
||||||
|
* http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/person-image-cartoonizer/59697D68-2A6E-4553-89BD-0FADD07881E8_7ee5_20201027-070958.jpg?Expires=1603784400&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSR****&Signature=ut2kn46Lz%2FRwqJ9jWJ0RBDut12****
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private String maskImageURL;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,85 @@
|
|||||||
|
package com.heyu.api.resp.face;
|
||||||
|
|
||||||
|
|
||||||
|
import com.heyu.api.data.dto.BaseRequest;
|
||||||
|
import com.heyu.api.data.dto.BaseResp;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/***
|
||||||
|
* https://next.api.aliyun.com/api/facebody/2019-12-30/CompareFace?tab=DEMO&lang=JAVA
|
||||||
|
*
|
||||||
|
* 人脸比对
|
||||||
|
*
|
||||||
|
* CompareFace
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CompareFaceResp extends BaseResp {
|
||||||
|
|
||||||
|
|
||||||
|
/***
|
||||||
|
* 两张图片中的最大人脸属于同一个人的置信度,取值范围 0~100。供参考的三个阈值是 61,69 和 75,分别对应千分之一,万分之一和十万分之一误识率。阈值设置越高,误识率越低,通过率也越低,对安全性要求越高的场合,可以设置更高的阈值。如果某张图片中没有人脸,则报错误信息。
|
||||||
|
*
|
||||||
|
* 示例值:
|
||||||
|
* 88.4831771850586
|
||||||
|
*/
|
||||||
|
private Float confidence;
|
||||||
|
|
||||||
|
|
||||||
|
/****
|
||||||
|
* 输入图像 A 的质量分。
|
||||||
|
*
|
||||||
|
* 示例值:
|
||||||
|
* 99.65772247314453
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Float qualityScoreA;
|
||||||
|
|
||||||
|
/***
|
||||||
|
* 输入图像 B 的质量分。
|
||||||
|
*
|
||||||
|
* 示例值:
|
||||||
|
* 98.01177978515625
|
||||||
|
*/
|
||||||
|
private Float qualityScoreB;
|
||||||
|
|
||||||
|
|
||||||
|
/***
|
||||||
|
* 提示信息,纯文字描述,以下提示信息单独出现或是几条提示信息的组合。 质量相关提示(某张人脸质量分小于请求参数质量分阈值时会出现):
|
||||||
|
*
|
||||||
|
* imageA quality score less threshold:图像 A 的质量分小于输入参数设置的阈值。
|
||||||
|
* imageB quality score less threshold:图像 B 的质量分小于输入参数设置的阈值。
|
||||||
|
* 人脸尺寸相关提示(检测到人脸且人脸宽或高小于 50 像素时会有该提示信息。出现该提示信息时,请尽可能输入像素数大于 64x64 的人脸,并请酌情参考返回的对比置信度 Confidence 值):
|
||||||
|
*
|
||||||
|
* face in imageA is too small:图像 A 中的人脸太小。
|
||||||
|
* face in imageB is too small:图像 B 中的人脸太小。
|
||||||
|
* 示例值:
|
||||||
|
* imageB quality score less threshold
|
||||||
|
*/
|
||||||
|
private String messageTips;
|
||||||
|
|
||||||
|
|
||||||
|
/***
|
||||||
|
*图片 A 中的人脸是否戴口罩。
|
||||||
|
*
|
||||||
|
* 0:不戴口罩。
|
||||||
|
* 1:戴口罩。
|
||||||
|
* 注意 请注意,该值为 Long 类型,在某些语言中可能存在精度丢失的风险,请小心使用。
|
||||||
|
* 示例值:
|
||||||
|
* 0
|
||||||
|
*/
|
||||||
|
private Long isMaskA;
|
||||||
|
|
||||||
|
|
||||||
|
/***
|
||||||
|
* 图片 B 中的人脸是否戴口罩。
|
||||||
|
*
|
||||||
|
* 0:不戴口罩。
|
||||||
|
* 1:戴口罩。
|
||||||
|
* 注意 请注意,该值为 Long 类型,在某些语言中可能存在精度丢失的风险,请小心使用。
|
||||||
|
* 示例值:
|
||||||
|
* 0
|
||||||
|
*/
|
||||||
|
private Long isMaskB;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user