1 Star 0 Fork 512

梦中观雨 / face-search

forked from open-visual / face-search 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

人脸搜索M:N

  • 本项目是阿里云视觉智能开放平台的人脸1:N的开源替代,项目中使用的模型均为开源模型,项目支持milvus和proxima向量存储库,并具有较高的自定义能力。

  • 项目使用纯Java开发,免去使用Python带来的服务不稳定性。

  • 1:N是通过采集某人的人像后,从海量的人像数据底库中找到与当前使用者人脸数据相符合的图像,通过数据库的比对找出"你是谁",常见的办公楼宇的人脸考勤门禁、社区门禁、工地考勤、会签等等场景。

  • M:N 是通过计算机对场景内所有人进行面部识别并与人像数据库进行比对的过程。M:N作为一种动态人脸比对,其使用率非常高,能充分应用于多种场景,例如公共安防,迎宾,机器人应用等。

  • 欢迎大家贡献代码,如果你觉得项目还不错,请给个star。

项目简介

  • 整体架构图

输入图片说明

  • 项目使用组件

    1、spring boot

    2、onnx

    3、milvus

    4、proxima

  • 深度学习模型

    1、insightface

    2、PCN

版本1.1.0更新

项目文档

搜索客户端

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

   使用restful接口:文档-1.1.0

项目部署

  • 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 https://gitee.com/open-visual/face-search.git
2、项目打包
   cd face-search && sh scripts/docker_build.sh
  • 部署参数
参数 描述 默认值 可选值
VISUAL_SWAGGER_ENABLE 是否开启swagger true
SPRING_DATASOURCE_URL 数据库地址
SPRING_DATASOURCE_USERNAME 数据库用户名
SPRING_DATASOURCE_PASSWORD 数据库密码
VISUAL_ENGINE_SELECTED 向量存储引擎 proxima proxima,milvus
VISUAL_ENGINE_PROXIMA_HOST PROXIMA地址 VISUAL_ENGINE_SELECTED=proxima时生效
VISUAL_ENGINE_PROXIMA_PORT PROXIMA端口 16000 VISUAL_ENGINE_SELECTED=proxima时生效
VISUAL_ENGINE_MILVUS_HOST MILVUS地址 VISUAL_ENGINE_SELECTED=milvus时生效
VISUAL_ENGINE_MILVUS_PORT MILVUS端口 19530 VISUAL_ENGINE_SELECTED=milvus时生效
VISUAL_MODEL_FACEDETECTION_NAME 人脸检测模型名称 PcnNetworkFaceDetection PcnNetworkFaceDetection,InsightScrfdFaceDetection
VISUAL_MODEL_FACEDETECTION_BACKUP_NAME 备用人脸检测模型名称 InsightScrfdFaceDetection PcnNetworkFaceDetection,InsightScrfdFaceDetection
VISUAL_MODEL_FACEKEYPOINT_NAME 人脸关键点模型名称 InsightCoordFaceKeyPoint InsightCoordFaceKeyPoint
VISUAL_MODEL_FACEALIGNMENT_NAME 人脸对齐模型名称 Simple106pFaceAlignment Simple106pFaceAlignment,Simple005pFaceAlignment
VISUAL_MODEL_FACERECOGNITION_NAME 人脸特征提取模型名称 InsightArcFaceRecognition InsightArcFaceRecognition

性能优化

  • 项目中为了提高人脸的检出率,使用了主要和次要的人脸检测模型,目前实现了两种人脸检测模型insightface和PCN,在docker的服务中,默认主服务为PCN,备用服务为insightface。insightface的效率高,但针对于旋转了大角度的人脸检出率不高,而pcn则可以识别大角度旋转的图片,但效率低一些。若图像均为正脸的图像,建议使用insightface为主模型,pcn为备用模型,如何切换,请查看部署参数。

  • 在测试过程中,针对milvus和proxima,发现proxima的速度比milvus稍快,但稳定性没有milvus好,线上服务使用时,还是建议使用milvus作为向量检索引擎。

项目演示

交流群

  • 钉钉交流群

    关注微信公众号回复:钉钉群

  • 微信交流群

    关注微信公众号回复:微信群

  • 微信公众号:关注一下,是对我最大的支持

微信公众号

MIT License Copyright (c) 2021 divenswu Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

本项目是阿里云视觉智能开放平台的人脸搜索1:N的开源替代,项目中使用的模型均为开源模型,项目支持milvus和proxima向量存储库,并具有较高的自定义能力。 展开 收起
Java
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/mengzhongguanyu/face-search.git
git@gitee.com:mengzhongguanyu/face-search.git
mengzhongguanyu
face-search
face-search
master

搜索帮助