最近浅浅折腾了下debian12上的面容识别解锁功能,网上能搜索到的大部分教程都不适用于debian12,所以在这里分享一下
测试平台:amd64 rog幻14 2022,理论上有相机的都可以使用
howdy的github主页:https://github.com/boltgolt/howdy
1. 安装依赖:
由于debian12的python库不允许通过pip管理,所以这里要取消掉这个限制(目前没有其他办法解决依赖问题)
# sudo mv /usr/lib/python3.x/EXTERNALLY-MANAGED /usr/lib/python3.x/EXTERNALLY-MANAGED.backup
#注意,这是不安全的选项,执行操作后将可以直接使用pip管理python库,可能会对系统造成影响
#安装python依赖库
sudo apt-get update && sudo apt-get install -y \
python3 python3-pip python3-setuptools python3-wheel \
cmake make build-essential \
libpam0g-dev libinih-dev libevdev-dev \
python3-dev libopencv-dev python3-opencv
sudo apt reinstall python3-numpy
2.安装howdy:
howdy在debian12上release版本已经失效,需要用作者重新打包的3.0测试版及python3-dlib库,下载链接:
https://github.com/DingoBits/howdy/releases/tag/3.0.0-git20230625.c17a834
稳定版选择12 测试版选择13,选错了可能会遇到依赖问题
完成以上依赖项安装后,开始安装howdy,安装过程中可能出现下载不了以下三个文件的错误(需要科学上网),也可以手动进行下载,链接:
https://github.com/davisking/dlib-models/raw/master/dlib_face_recognition_resnet_model_v1.dat.bz2
https://github.com/davisking/dlib-models/raw/master/mmod_human_face_detector.dat.bz2
https://github.com/davisking/dlib-models/raw/master/shape_predictor_5_face_landmarks.dat.bz2
下载完成后cp到这两个路径,如果没有就创建一下,然后重新进行安装
/etc/howdy/dlib-data
/usr/lib/security/howdy/dlib-data
安装完成后终端输入howdy验证
❯ howdy
current active user:
usage: howdy [-U USER] [--plain] [-h] [-y] command [arguments...]
Command line interface for Howdy face authentication.
positional arguments:
command The command option to execute, can be one of
the following: add, clear, config, disable,
list, remove, snapshot, set, test or version.
arguments Optional arguments for the add, disable, remove
and set commands.
options:
-U USER, --user USER Set the user account to use.
-y Skip all questions.
--plain Print machine-friendly output.
-h, --help Show this help message and exit.
For support please visit
https://github.com/boltgolt/howdy
命令 | 描述 |
---|---|
add | 为用户添加新的面部模型 |
clear | 删除用户的所有面部模型 |
config | 在默认编辑器中打开配置文件 |
disable | 禁用或启用 howdy |
list | 列出用户所有已保存的面部模型 |
remove | 删除用户的特定型号 |
snapshot | 拍摄相机输入的快照 |
test | 测试摄像头和识别方法 |
version | 打印当前版本号 |
3.安装红外摄像头驱动linux-enable-ir-emitter(没有红外摄像头略过即可)
github链接
https://github.com/EmixamPP/linux-enable-ir-emitter
#安装linux-enable-ir-emitter
wget https://github.com/EmixamPP/linux-enable-ir-emitter/releases/download/5.2.4/linux-enable-ir-emitter-5.2.4.systemd.x86-64.tar.gz
sudo tar -C / --no-same-owner -h -xzf linux-enable-ir-emitter*.tar.gz
安装完成后,执行如下命令:
sudo linux-enable-ir-emitter configure
sudo linux-enable-ir-emitter boot enable
此时红外摄像头会不停闪烁
按照终端内提示操作即可
然后复制这里的摄像头路径,后面需要用到
4.配置howdy
sudo howdy config
找到device_path = none ,将none改为刚刚复制的摄像头路径,如果是普通摄像头,一般写/dev/video0即可
sudo howdy add
添加人脸信息
sudo howdy test
弹出视频框,测试摄像头是否识别正常,如果正常识别,会有一个绿圈
5.配置完成
使用sudo 锁屏 进入tty 打开timeshift或者商店卸载软件测试是否正常调用摄像头识别。