阿里云人脸检测

This commit is contained in:
2024-12-05 18:41:09 +08:00
parent aaa29c36d8
commit 1915d45d20
2 changed files with 17 additions and 6 deletions

View File

@ -9,6 +9,7 @@ import com.aliyuncs.facebody.model.v20191230.AddFaceResponse;
import com.aliyuncs.facebody.model.v20191230.DeleteFaceEntityRequest; import com.aliyuncs.facebody.model.v20191230.DeleteFaceEntityRequest;
import com.aliyuncs.facebody.model.v20191230.SearchFaceRequest; import com.aliyuncs.facebody.model.v20191230.SearchFaceRequest;
import com.aliyuncs.facebody.model.v20191230.SearchFaceResponse; import com.aliyuncs.facebody.model.v20191230.SearchFaceResponse;
import com.ycwl.basic.config.FaceDetectConfig;
import com.ycwl.basic.mapper.pc.DeviceMapper; import com.ycwl.basic.mapper.pc.DeviceMapper;
import com.ycwl.basic.mapper.pc.FaceMapper; import com.ycwl.basic.mapper.pc.FaceMapper;
import com.ycwl.basic.mapper.pc.FaceSampleMapper; import com.ycwl.basic.mapper.pc.FaceSampleMapper;
@ -21,6 +22,7 @@ import com.ycwl.basic.model.pc.faceSample.resp.FaceSampleRespVO;
import com.ycwl.basic.model.task.resp.AddFaceRespVo; import com.ycwl.basic.model.task.resp.AddFaceRespVo;
import com.ycwl.basic.model.task.resp.SearchFaceRespVo; import com.ycwl.basic.model.task.resp.SearchFaceRespVo;
import com.ycwl.basic.service.task.TaskFaceService; import com.ycwl.basic.service.task.TaskFaceService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.DefaultAcsClient;
@ -43,9 +45,12 @@ public class TaskFaceServiceImpl implements TaskFaceService {
private static final String DATE_FORMAT="yyyyMMddHHmmssSSS"; private static final String DATE_FORMAT="yyyyMMddHHmmssSSS";
@Autowired @Autowired
private DeviceMapper deviceMapper; private DeviceMapper deviceMapper;
@Autowired
private FaceDetectConfig faceDetectConfig;
private IAcsClient getClient() { private IAcsClient getClient() {
DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai","LTAIDySvOV8yC7VZ","RgO5bwRnHrsyDak0IaLEF6iTRo7469"); DefaultProfile profile = DefaultProfile.getProfile(
faceDetectConfig.getRegion(),faceDetectConfig.getAccessKeyId(), faceDetectConfig.getAccessKeySecret());
IAcsClient client = new DefaultAcsClient(profile); IAcsClient client = new DefaultAcsClient(profile);
return client; return client;
} }
@ -71,12 +76,13 @@ public class TaskFaceServiceImpl implements TaskFaceService {
faceEntity.setScore(matchList.get(0).getQualitieScore()); faceEntity.setScore(matchList.get(0).getQualitieScore());
List<SearchFaceResponse.Data.MatchListItem.FaceItemsItem> faceItems = matchList.get(0).getFaceItems().stream() List<SearchFaceResponse.Data.MatchListItem.FaceItemsItem> faceItems = matchList.get(0).getFaceItems().stream()
.filter(faceItemsItem -> faceItemsItem.getConfidence() > 50).collect(Collectors.toList()); .filter(faceItemsItem -> faceItemsItem.getConfidence() > 50).collect(Collectors.toList());
faceEntity.setMatchSampleIds( List<Long> faceSampleIds = faceItems.stream()
faceItems.stream() .map(SearchFaceResponse.Data.MatchListItem.FaceItemsItem::getExtraData)
.map(SearchFaceResponse.Data.MatchListItem.FaceItemsItem::getExtraData) .map(Long::parseLong)
.collect(Collectors.joining(",")) .collect(Collectors.toList());
); faceEntity.setMatchSampleIds(StringUtils.joinWith(",", faceSampleIds));
faceMapper.update(faceEntity); faceMapper.update(faceEntity);
respVo.setSampleListIds(faceSampleIds);
respVo.setScore(matchList.get(0).getQualitieScore()); respVo.setScore(matchList.get(0).getQualitieScore());
return respVo; return respVo;
} catch (Exception e) { } catch (Exception e) {

View File

@ -94,4 +94,9 @@ aliYunOss:
bucketName: "frametour-assets" bucketName: "frametour-assets"
objectName: "user-faces/" objectName: "user-faces/"
url: "https://frametour-assets.oss-cn-shanghai.aliyuncs.com/" url: "https://frametour-assets.oss-cn-shanghai.aliyuncs.com/"
region: "cn-shanghai"
#阿里云人脸检测
aliYunFace:
accessKeyId: "LTAI5tMwrmxVcUEKoH5QzLHx"
accessKeySecret: "ZCIP8aKx1jwX1wkeYIPQEDZ8fPtN1c"
region: "cn-shanghai" region: "cn-shanghai"