您的位置 首页 java

Face-Search阿里云视觉智能开放平台的人脸搜索

《开源精选》是我们分享 git hub、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的 Face-Search 阿里云 视觉智能开放平台的人脸搜索,项目中使用的模型均为开源模型,项目支持milvus和proxima向量存储库,并具有较高的自定义能力。

人脸搜索M:N

  • 项目使用纯 Java 开发,免去使用 Python 带来的服务不稳定性。
  • 1:N是通过采集某人的人像后,从海量的人像数据底库中找到与当前使用者人脸数据相符合的图像,通过数据库的比对找出”你是谁”,常见的办公楼宇的人脸考勤门禁、社区门禁、工地考勤、会签等等场景。
  • M:N 是通过计算机对场景内所有人进行面部识别并与人像数据库进行比对的过程。M:N作为一种动态人脸比对,其使用率非常高,能充分应用于多种场景,例如公共安防,迎宾,机器人应用等。

项目简介

整体架构图

  • 项目使用组件

1、spring boot

2、onnx

3、milvus

4、proxima

  • 深度学习模型

1、insightface

2、PCN

人脸数据管理

1、创建一个人脸数据

接口地址 : /visual/face/create

请求方式 POST

consumes : [“application/json”]

produces : [“*/*”]

请求示例

 {
"namespace": "",
"collectionName": "",
"sampleId": "",
"imageBase64": "",
"faceScoreThreshold": 0,
"minConfidenceThresholdWithThisSample": 0,
"maxConfidenceThresholdWithOtherSample": 0,
"faceData": [
{
"key": "",
"value": {}
}
]
}  

参数名称

参数说明

in

是否必须

数据类型

schema

face

face

body

true

FaceDataReqVo

FaceDataReqVo

响应示例 :

 {
"code": 0,
"message": "",
"data": {
"namespace": "",
"collectionName": "",
"sampleId": "",
"faceId": "",
"faceScore": 0,
"faceData": [
{
"key": "",
"value": {}
}
]
}
}  

参数名称

参数说明

类型

schema

code

返回代码

integer (int32)

integer(int32)

message

返回信息

string

data

数据信息

FaceDataRepVo

FaceDataRepVo

搜索客户端

  • Java依赖,未发布到中央仓库,需要自行编译发布到私有仓库
 <dependency>
    <groupId>com.visual.face.search</groupId>
    <artifactId>face-search-client</artifactId>
    <version>1.0.0</version>
</dependency>  

项目部署

  • docker 部署,脚本目录:face-search/scripts
 1、使用milvus作为向量搜索引擎
  docker-compose -f docker-compose-milvus.yml --compatibility up -d

2、使用proxima作为向量搜索引擎
   docker-compose -f docker-compose-proxima.yml --compatibility up -d  
  • 项目编译
 1、克隆项目
  git clone 
2、项目打包
   cd face-search && sh scripts/docker_build.sh  

性能优化

  • 项目中为了提高人脸的检出率,使用了主要和次要的人脸检测模型,目前实现了两种人脸检测模型insightface和PCN,在docker的服务中,默认主服务为PCN,备用服务为insightface。insightface的效率高,但针对于旋转了大角度的人脸检出率不高,而pcn则可以识别大角度旋转的图片,但效率低一些。若图像均为正脸的图像,建议使用insightface为主模型,pcn为备用模型,如何切换,请查看部署参数。
  • 在测试过程中,针对milvus和proxima,发现proxima的速度比milvus稍快,但稳定性没有milvus好,线上服务使用时,还是建议使用milvus作为向量检索引擎。

更多内容:

文章来源:智云一二三科技

文章标题:Face-Search阿里云视觉智能开放平台的人脸搜索

文章地址:https://www.zhihuclub.com/197537.shtml

关于作者: 智云科技

热门文章

网站地图