OpenFace适配鲲鹏开源验证任务心得

举报
yd_258621122 发表于 2024/12/13 09:09:58 2024/12/13
【摘要】 一、任务需求 首先看了一下任务计划书:https://bbs.huaweicloud.cn/blogs/442276 , 让OpenFace能够在Kunpeng CPU上高效运行,确保项目在平台上具备良好的兼容性和性能,旨在为研究人员和开发者提供一个高效、准确且容易使用的工具,用于构建和评估人脸识别系统。

OpenFace适配鲲鹏开源验证任务心得

一、任务需求

首先看了一下任务计划书:https://bbs.huaweicloud.cn/blogs/442276

OpenFace能够在Kunpeng CPU上高效运行,确保项目在平台上具备良好的兼容性和性能,旨在为研究人员和开发者提供一个高效、准确且容易使用的工具,用于构建和评估人脸识别系统。

 

二、开发过程

明确任务目的和demo要求后,先获取源码,OpenFacegithub网址: https://github.com/cmusatyalab/openface。首先创建一个进行开发过程的虚拟环境,conda activate -n openface python=3.9,然后使用git clone https://github.com/cmusatyalab/openface.git 获取开源代码,这个任务所需要的权重文件不需要去下载,只需要在开源代码openface目录下,运行./models/get-models.sh即可获得权重。

 

1.鲲鹏CPUOpenEuler 验证推理

1)安装依赖

首先安装opencv包,pip install opencv-python,还需要openface包,在openface目录下面运行python setup.py install,即可完成openface包的安装,然后就是安装dlib包,这安装时需要注意,要指定特定的版本,因为最新的版本会报错,所以使用pip install dlib==19.17.0,这个步骤完成之后并不是成功安装了,还需要 conda install -c anaconda blas lapack
conda install -c conda-forge dlib
才能完全安装好dlib,不进行这一步,会报错dlib缺少特殊符号。

2)运行推理代码

运行代码之前,需要先确定好源码中所用到的模型的具体路径,有三个模型文件,如下:

cpu1.png

cpu2.png

cpu3.png

使用find // -name xxx来查找到具体路径。然后运行命令:

python compare_new.py /dev/shm/dbc/openface/openface/images/examples/lennon-1.jpg /dev/shm/dbc/openface/openface/images/examples/lennon-2.jpg

或者运行

python compare_new.py /dev/shm/dbc/openface/openface-master/images/examples/{lennon*,clapton*}

第一个命令是对指定的两张人脸照片进行比对,会获得欧式距离,第二个命令是对指定路径下的所有图片都进行两两比对,来获得相似数值,当距离值大于1时,说明两个图片不是同一个人,当值小于1时,说明是同一个人。

需要注意的是,openface的开源代码原来是基于Luatorch版本进行的,所以进行推理时直接使用.t7权重进行推理是不适用于pytorch框架的,所以需要使用的权重是.pt文件。

 

三、结果

 

1验证截图

OpenFace是一个开源的、基于深度学习的人脸识别和分析工具,本次进行的推理是对数据下的一些图片进行欧式距离计算,来判断是否为同一个人,最后会输出具体数值。

 

1.1 CPU推理

测试数据下的图片是这样的

5.png


在之前的基础上,所有环境和参数都修改好之后,运行推理命令就会获得如下结果:

cpu4.png


从图中可以看出,所获得的欧式距离判断基本上都是正确的。

 

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。