首页 > 热门 > 竖图列表

添加人脸识别API

竖图列表会员昵称: 印修关注投稿量:粉丝量:关注量:   2024-10-23 19:45:31A+A-

基于serengil/deepface 实现的人脸识别API

通过添加人脸识别-API,可以替代MT Photos服务端内置的人脸识别程序来进行人脸特征识别任务;

如果您的NAS CPU性能较低,可以先使用性能更强的电脑运行人脸识别API服务;

可以等完成第一次全量识别后,再切换回使用NAS上部署的人脸识别API服务,人脸识别API仅执行识别部分任务,识别的结果都会存储在MT Photos数据库中;

另外也可以使用更高效、更准确的insightface模型教程

https://github.com/MT-Photos/mt-photos-deepface/issues/16

https://gitee.com/mt-photos/mt-photos-deepface/issues/IAM6GM

1. 代码仓库

相关代码已开源在 https://github.com/MT-Photos/mt-photos-deepface

2. 安装

Windows可以使用Windows 一键安装包

镜像说明 DockerHub镜像仓库地址: https://hub.docker.com/r/mtphotos/mt-photos-deepface

镜像Tags说明:

  • latest:适用于支持avx指令集cpu,比如:Intel酷睿、至强处理器,以及AMD大多数的处理器;
  • noavx-latest: 适用于不支持avx指令集的cpu,比如:大多数的Intel赛扬、奔腾处理器;

以上镜像仅支持X86架构机型运行,不支持ARM架构机型

2.1 1.下载镜像

docker pull mtphotos/mt-photos-deepface:latest

当CPU不支持avx指令集时,请替换上方的 latest 为 noavx-latest

看不懂命令行?

5分钟了解Docker:https://mtmt.tech/docs/example/intro

2.1.1 镜像加速

提示:当无法访问DockerHub时,请使用以下命令拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/mtphotos/mt-photos-deepface:latest docker tag registry.cn-hangzhou.aliyuncs.com/mtphotos/mt-photos-deepface:latest mtphotos/mt-photos-deepface:latest

当CPU不支持avx指令集时,请替换上方的 latest 为 noavx-latest

第1条命令为拉取镜像

第2条命令为将镜像标记为Docker hub源,这样可以在图形化创建容器时使用

CUDA版本镜像

docker pull mtphotos/mt-photos-deepface:cuda-latest

CUDA 版本 12.3.0 以上,显卡驱动版本 >=545.23.06

提示:当无法访问DockerHub时,请使用以下命令拉取镜像

#下载镜像: docker pull registry.cn-hangzhou.aliyuncs.com/mtphotos/mt-photos-deepface:cuda-latest docker tag registry.cn-hangzhou.aliyuncs.com/mtphotos/mt-photos-deepface:cuda-latest mtphotos/mt-photos-deepface:cuda-latest #启动容器: docker run --gpus all -i -p 8066:8066 -e API_AUTH_KEY=mt_photos_ai_extra --name mt-photos-deepface mtphotos/mt-photos-deepface:cuda-latest

2.2 2. 创建容器

docker run -i -p 8066:8066 -e API_AUTH_KEY=mt_photos_ai_extra --name mt-photos-deepface mtphotos/mt-photos-deepface:latest

当CPU不支持avx指令集时,请替换上方的 latest 为 noavx-latest

如果识别速度很慢,可以使用环境变量: -e DETECTOR_BACKEND=mtcnn 来指定人脸检测模型为mtcnn,mtcnn识别速度会快一些,不过识别的准确度会低一些;

说明

  • -p 8066:8066 端口映射,访问容器的端口
  • -e API_AUTH_KEY=mt_photos_ai_extra 环境变量API_AUTH_KEY是容器内部用来验证请求来源的,请记得修改api_key
    • API_AUTH_KEY的值可以是一段字符串,比如051C78C4D217DB28
    • 在MT Photos后台添加API时需要填入这个API_AUTH_KEY

2.3 3、返回MT Photos添加人脸识别api

接口地址 填写 http://[nas的ip]:8066

API_AUTH_KEY 填写 mt_photos_ai_extra (这是默认值,如果上一步有修改过,用修改过的值)

API并发数 控制同时识别的任务数,填写1

人脸置信度阈值 如果人脸检测模型用的是默认的retinaface,建议填写0.99 ;如果是其他模式建议填写0.9;

人物匹配差异值阈值 如果人脸特征提取模型用的是默认的Facenet512,建议填写0.15;;

添加人脸识别API(pic1)

2.4 使用docker-compose创建MT Photos 和 AI、人脸识别API容器

docker-compose.yaml 模板文件:

version: "3" services:   mtphotos:     image: mtphotos/mt-photos:latest     container_name: mtphotos     restart: always     ports:       - 8063:8063     volumes:       - /volume1/docker/mt_photos/config:/config       - /volume1/photos/mt_photos_upload:/upload       - /volume1/xxx/其他需要映射的目录:/photos     environment:       - TZ=Asia/Shanghai       -.UTF-8     depends_on:       - mtphotos_ai       - mtphotos_face_api   mtphotos_ai:     image: mtphotos/mt-photos-ai:onnx-latest     container_name: mtphotos_ai     restart: always     ports:       - 8060:8000     environment:       - API_AUTH_KEY=mt_photos_ai_extra   mtphotos_face_api:     image: mtphotos/mt-photos-deepface:noavx-latest     container_name: mtphotos_face_api     restart: always     ports:       - 8066:8066     environment:       - API_AUTH_KEY=mt_photos_ai_extra

如果使用yaml同时部署 mtphotosmtphotos_aimtphotos_face_api,在MT Photos后台添加人脸识别API时, 接口地址可以填写 http://mtphotos_face_api:8066

2.5 yaml语法三大规则

2.5.0.1 规则一:缩进

yaml使用一个固定的缩进风格表示数据层结构关系,需要每个缩进级别由两个空格组成。一定不能使用tab键

2.5.0.2 规则二:冒号
services: image: mtphotos/mt-photos:latest

每个冒号后面一定要有一个空格(以冒号结尾不需要空格)

2.5.0.3 规则三:短横线

想要表示列表项,使用一个短横杠加一个空格。多个项使用同样的缩进级别作为同一个列表的一部分

environment:   - TZ=Asia/Shanghai   -.UTF-8   - PUID=1000   - PGID=100

2.6 Windows安装包

仅支持Win 10及以上系统

1、从下方网盘分享链接中下载 MT_Photos_Deepface_V1.0.0_Setup.exe

  • 阿里云盘」 https://www.aliyundrive.com/s/BisLTt6emaz
  • 百度网盘」 https://pan.baidu.com/s/1r77cbxNOngL07Oh2S7-umA?pwd=0101 提取码:0101
  • GitHub」 https://github.com/MT-Photos/mt-photos-deepface/releases/tag/windows_exe_1.0.0

2、下载后,双击MT_Photos_Deepface_V1.0.0_Setup.exe,等待安装完成

3、打开MT Photos Deepface,等待显示 Uvicorn running on http://0.0.0.0:8066

添加人脸识别API(pic2)

如果无法访问http://127.0.0.1:8066, 那么有可能是8066端口被占用了

请修改程序文件夹下 .env 文件中的 HTTP_PORT;比如 HTTP_PORT = 8067

如果需要修改api_key,请修改 .env 文件中的API_AUTH_KEY

.env文件修改之后,请关闭 mt-photos-deepface-server.exe,然后再重新打开

如果局域网内其他客户端无法访问,请在Windows防火墙中找到【允许应用通过防火墙】,在底部【允许其他应用】中添加mt-photos-deepface-server.exe

3. 自定义

3.1 自定义向量长度

如果人脸特征提取模型用的不是Facenet512,可以在API配置中点击 自定义向量长度 设置数据库中存储人脸特征字段的长度

3.2 自定义模型

  • -e DETECTOR_BACKEND=retinaface 自定义人脸检测模型
    • DETECTOR_BACKEND 可以是这些 'opencv', 'ssd', 'dlib', 'mtcnn', 'retinaface', 'mediapipe', 'yolov8', 'yunet', 'fastmtcnn'
  • -e RECOGNITION_MODEL=Facenet512 自定义人脸特征提取模型
    • RECOGNITION_MODEL 可以是这些:"VGG-Face", "Facenet", "Facenet512", "OpenFace", "DeepFace", "DeepID", "ArcFace", "Dlib", "SFace", "GhostFaceNet"

3.2.1 模型目录映射

镜像已内置 retinaface.h5 和 facenet512_weights.h5,如果不修改识别模型,不需要添加目录映射;

当指定了别的模型,容器内下载模型很慢,可以增加 /models 目录映射

-v /host_path:/models

然后将对应的预训练模型放到容器内的 /models/.deepface/weights/ 下;

比如 /models/.deepface/weights/retinaface.h5

预训练模型下载地址:https://github.com/serengil/deepface_models/releases/tag/v1.0


提示:在享受本文内容的同时,请注意版权归属 徐州鑫坤机电设备有限公司https://www.xzxkjd.com如果您觉得有价值欢迎分享但请务必注明出处,感谢您的理解,谢谢

以下部分内容需要登录查看 立即登录

点击这里复制本文地址 以上内容由用户上传和网络在徐州鑫坤机电设备有限公司整理呈现,如有侵权请联系站长:xzxkjd@qq.com !

1. 本网站可能包含第三方链接,请注意甄别,我们不对其内容负责。

2. 请遵守网络法律法规,在浏览网站时,不传播违法、不良信息,共同维护网络健康。否则后果自负!

3. 本网站内容受版权保护,未经许可,严禁转载!

4. 长时间浏览网站请注意适时休息,保护眼睛,保持身心健康。

5. 在浏览网站过程中,如有任何疑问或需要帮助,请随时联系我们的客服团队。

6. 如有好的内容可投稿申请发布我们收到会第一时间审核发布。

7. 请注意系统即将进行维护可能会影响部分功能的正常使用请提前规划好您的浏览时间,感谢您的理解,享受每一次在线体验

相关内容

加载中~

Copyright ©2012-2024徐州鑫坤机电设备有限公司版权所有
苏ICP备2023032739号-1ICP备2023032739号-2苏ICP备2023032739号-3X
苏公网安备 32038202000884号增值电信业务经营许可证:合字B1-20235517
开发中| 关键词| 网站地图| 网站地图| 网站地图| TAG集合

今日IP人数0今日浏览量(PV)0昨日IP人数0昨日浏览量(PV)07天IP人数07天浏览量(PV)0

网站已运行:

在线客服
服务热线

服务热线

0516-86596070

联系邮箱

服务热线

xzxkjd.@qq.com

微信咨询
我的网站名称
我的网站名称
交流群
返回顶部
X我的网站名称

截屏,微信识别二维码

微信号:xkyinxiu

(点击微信号复制,添加好友)

  打开微信

微信号已复制,请打开微信添加咨询详情!