首页

人脸识别项目

更新-260317 | 发布-260316

从一个想法到实现的过程,供参考。

想法

想做一个人脸识别项目,识别摄像头拍到的人脸是张三还是李四。项目做出来后可用于:

思考如何实现

真的能做到刷脸开门刷脸打卡等,肯定还有很多功能要做的。比如要接喇叭说:你好!张三。核心功能还是:有个人脸库(存放若干人脸照片),和待识别图片比对,从而识别出是张三李四。

当前约定在华为开发板1 上实现。可能当前阶段还用不到 vibe coding 相关工具比如 Claude Code。先问问 deepseek 和 豆包,比如:

人脸识别系统

1、基于昇腾 200I DK A2 开发板。
2、请推荐人脸识别模型,小型、轻量即可。
3、将模型转换成开发板要求的 om 模型,由我用 ATC 工具来做。
4、识别最多10张不同的脸。
5、用 Python 实现。
6、要使用开发板的 ACL 语言,以便使用开发板的 NPU 算力做推理

请给出样例代码。

AI 给了 3 个模型:

在开发板上执行给的代码,也不大对。

继续和AI交流,比如用一个模型,……。AI推荐 MobileFaceNet。在上网搜索,得到一个开源项目:夜雨飘零/Pytorch-MobileFaceNet↗

本地电脑体验

夜雨飘零/Pytorch-MobileFaceNet↗ 貌似可以直接运行。在 macOS 笔记本上启动 终端,新建空目录,在空目录中执行 git clone 下载源码:

mkdir ailab
cd ailab
git clone git@gitee.com:yeyupiaoling/Pytorch-MobileFaceNet.git

主要做了以下操作,就可在 macOS 笔记本上跑通:

执行以下命令得到推理结果:

python3 infer.py --image_path=dataset/test.jpg

infer_result

开源项目说明中 --image_path=temp/test.jpg,应改为 --image_path=dataset/test.jpg

弹出的图片窗口,可按空格后关闭。

开发板体验

新建用户

在开发板上新建用户 gdv2,从零开始。该步骤可选,不是必须。

创建环境

以下均以新建用户 gdv2(或其他用户名) 运行。执行以下命令切换到 gdv2 用户:

su - gdv2

开发板上已安装 conda。用 conda 创建新的虚拟环境,用于体验人脸识别。新建的虚拟环境可少一些这样那样环境相关的问题,同时不干扰其他已正常运行的其他项目,建议要新建虚拟环境来体验人脸识别。

体验人脸识别

执行以下命令,下载源代码:

mkdir ailab # 新建目录,名称随意
cd ailab
git clone git@gitee.com:yeyupiaoling/Pytorch-MobileFaceNet.git

对源代码做修改:

执行以下命令体验人脸识别:

python3 infer.py --image_path=dataset/test.jpg

可用本地电脑上的 MobaXterm(仅支持 Windows) 软件打开结果图片文件查看。或者使用 scp 命令将结果图片文件复制到本地电脑后查看。

还可以做以下操作体验更多:

使用 NPU 推理

开发板体验 只是把开发板当做普通计算机使用。还要进一步用到开发板的 AI 算力(NPU),以加快推理(识别)速度。

可参考以下资料,对上述程序做修改,使用到开发板的 NPU 算力做推理:

  1. 华为开发者套件简介