DeepFace适配鲲鹏开源验证任务心得
DeepFace适配鲲鹏开源验证任务心得
首先看了一下任务计划书:https://bbs.huaweicloud.com/blogs/440178,主要目的是将 DeepFace 项目适配至华为的 Kunpeng(鲲鹏)处理器,确保其在硬件平台上的高效运行,也就是说验证DeepFace能不能在 Kunpeng(鲲鹏)处理器中运行。
开发过程
明确目的后开始熟悉模型,DeepFace的github网址:https://github.com/serengil/deepface
git clone https://github.com/serengil/deepface.git
在云堡垒机上,创建python虚拟环境
conda create -n deepface python=3.9
conda activate deepface #激活环境
安装deepface
直接命令安装 pip install deepface
也可以通过源码安装(源码安装可能有些的功能特性还未在pip中发布)
cd deepface
pip install -e .
安装完deepface库,就可以导入使用了
from deepface import DeepFace
如果验证两张人脸是否是同一个人。调用如下函数接口
result = DeepFace.verify(
img1_path = “img1.jpg”,
img2_path = “img2.jpg”,
)
如果验证,人脸属性分析,调用如下函数接口,获取年龄,性别,种族,表情
Objs = DeepFace.analyze(
img_path = “img1.jpg”,
actions = [‘age’,’gender’,’race’,’emotion’],
)
同时,安装好了deepface,也可以在终端,通过命令行交互方式验证,如下:
#人脸验证,需要输入两张图片
deepface verify -img1_path tests/dataset/img1.jpg -img2_path tests/dataset/img2.jpg
#人脸熟悉分析
deepface analyze -img_path tests/dataset/img1.jpg
测试数据文件存放目录为 deepface/tests/dataset/
注意事项
*** 安装过程中,会自动安装环境所需要的依赖包,如tensorflow, kears, numpy,opencv-python等,如果提示缺少某个包,pip安装就可以。
*** numpy版本建议安装1.26左右的,不要安装2.0及以上的,会有兼容问题。
***调用过程中,模型权重文件会自动下载到本地 /root/.deepface/weights/ 目录下,也可以手动下载。模型支持多种格式,如tensorflow,onnx,pytorch,h5等。
*** 下载安装依赖包或者权重文件时,如果国外网络限制的话,可以替换为国内镜像源。
*** 所有的deepface功能,都可以接受人脸检测后端和人脸对齐,通过参数选择,支持的人脸检测器模型有:OpenCV,SSD, Dlib,MTCNN,RetinaFace,MediaPipe,Yolo,YuNet等。
*** deepface是一个混合的人脸识别的包。当前包含了许多先进的识别模型,如:VGG-Face,FaceNet,OpenFace,DeepFace,DeepID,ArcFace,Dlib等。可以通过参数选择。默认是使用VGG-Face model。
1 验收材料
1.1 交付件清单
- DEMO仓库地址: https://gitcode.com/pan123/deepface/blob/main/README.md
- 博客的地址: https://bbs.huaweicloud.com/blogs/440258
验收细则 |
评分说明 |
是否为验收必选项 |
结果(通过/不通过) |
功能开发:完成与华为三大根技术生态(鲲鹏云、昇腾云、鸿蒙)适配的功能开发 |
基于鲲鹏、Euler系统完成验证。 |
是 |
|
代码质量:适配华为三大根技术生态的代码质量经过工具检测达标 |
推送给开源社区的代码符合开源社区关于代码风格、功能、自动化测试等要求。 |
否 |
|
提供相关文档,比如部署文档、使用文档、配置文档等 |
根据社区要求,完善相关的开发指南和部署指导 |
否 |
|
合入到开源项目主仓:代码推送上游社区 |
代码合并到当前主干分支。 |
否 |
|
Deomo设计&开发:完成功能演示Demo的开发 |
提供DEMO仓库地址。 |
是 |
|
Demo部署&验证:完成功能演示DEMO基于华为云鲲鹏环境的部署和功能验证 |
提供DEMO部署验证结果的关键截图进行举证。提供DEMO运行环境和资源的截图举证。 |
是 |
|
发布博客:发布博客介绍适配心得。 |
提供博客的地址。 |
是 |
|
制作单机版无高危开源镜像。 |
上架云商店。 |
否 |
|
单机版镜像上架时支持模板部署。 |
|
否 |
|
制作集群版无高危开源镜像 |
上架云商店。 |
否 |
|
集群版镜像上架时支持模板部署 |
|
否 |
|
2 资源清单
产品名称 |
CPU架构 |
实例类型 |
公共镜像 |
镜像版本 |
备注 |
弹性云服务器 |
鲲鹏计算Kunpeng-920 |
鲲鹏通用计算增强型kc1 |
Huawei Cloud EulerOS |
Huawei Cloud EulerOS 2.0 Arm 64bit sdi5 for ECS BareMetal With Uniagent(150GiB) |
推荐 |
产品名称 |
CPU架构 |
操作系统 |
云堡垒机 |
鲲鹏计算Kunpeng-920 |
Huawei Cloud EulerOS 2.0 (aarch64) |
3 验证结果
3.1 人脸提取
获取人脸所在的坐标位置和检测到人脸的置信度分数。
验证结果保存图像
3.2 人脸特征向量化
人脸特征向量化,得到512维的向量。
3.3 人脸相似性判断(2张人脸是否为同一个人)
获取2张人脸向量,然后计算2个向量的相似度,可用余弦公式或欧式距离。
3.4 人脸查找
从人脸向量特征数据库中,计算匹配相似度,从而判断出是否找到。
3.5 人脸属性分析(表情,性别,年龄,种族)
程序会自动下载4个模型(分别对应年龄,性别,种族,表情),模型会根据预测分数判断。
3.6 人脸活体识别(真假人脸,静态活体识别)
人脸活体识别,判断真假人脸,静态活体识别,根据活体分数判断。
3.7 web端部署
由于服务器无固定公网IP,所以本地浏览器无法访问地址。
- 点赞
- 收藏
- 关注作者
评论(0)