SDB:面部识别

跳转到:导航搜索

在 openSUSE 上测试

推荐文章

Icon-manual.png

相关文章

Icon-help.png



Icon-warning.png
警告:本指南和软件包仅适用于 x86_64 发行版。

情况

您拥有内置摄像头(以及可选的红外发射器),并希望基于 howdy 软件包为 openSUSE 使用 Windows Hello™ 风格的面部认证。

流程

使用 YaST 或 Zypper 安装需要以 root 用户身份登录。

添加 RPM 仓库

YaST

  1. 打开 YaST 控制中心,然后单击软件仓库。
  2. 单击添加并下一步。
  3. 输入名称“dmafanasyev”,并根据您的 openSUSE 版本设置仓库 URL(将 [leap_version] 替换为 15.4 等)。
openSUSE Leap
https://download.opensuse.org/repositories/home:/dmafanasyev/[leap_version]/
openSUSE Tumbleweed
https://download.opensuse.org/repositories/home:/dmafanasyev/openSUSE_Tumbleweed

Zypper

根据您的 openSUSE 版本在终端中运行

openSUSE Leap
# sudo zypper addrepo --refresh https://download.opensuse.org/repositories/home:/dmafanasyev/[leap_version]/ dmafanasyev

openSUSE Tumbleweed
# sudo zypper addrepo --refresh https://download.opensuse.org/repositories/home:/dmafanasyev/openSUSE_Tumbleweed/ dmafanasyev

使用 OCI 安装 python3-dlib

  1. https://software.opensuse.net.cn/ymp/home:badshah400:howdy/openSUSE_Tumbleweed/python311-dlib.ymp?base=openSUSE%3AFactory&query=python311-dlib

安装

YaST

  1. 转到 YaST 控制中心并单击软件管理。
  2. 查看 > 仓库 > dmafanasyev
  3. 选择 howdy 软件包
  4. 按接受

Zypper

在终端中运行

# sudo zypper in howdy

配置

Howdy

以 root 用户身份登录,并使用您喜欢的文本编辑器(例如 mcedit、nano 或 vi)打开文件 /usr/lib64/security/howdy/config.ini。例如,对于 mcedit

# sudo mcedit /usr/lib64/security/howdy/config.ini

设置参数 device_path

device_path = <the path to the device to capture frames from>

对于最简单的情况,这是摄像头的路径(对于您的笔记本电脑,索引 0 可能不同)

device_path = /dev/video0

但最好使用红外发射器,因为它也能在黑暗的地方正常工作。尝试路径中的不同索引以找到合适的值。例如,这可能是索引 2

device_path = /dev/video2

您可以根据配置文件中的注释更改其他参数。例如,设置

detection_notice = true

以打印正在尝试进行面部检测。

最后一步使用命令添加面部模型

# sudo howdy add

或者,如果您使用 kde plasma

# kdesu howdy add

为了提高面部识别的准确性,添加大约 3-5 个模型是一个好主意。

PAM

现在您需要告诉可插拔身份验证模块 (PAM) 系统使用面部身份验证。目录 /etc/pam.d//usr/etc/pam.d/ 包含不同系统服务的身份验证配置文件。最有趣的是

  • /etc/pam.d/common-auth - 通过 SDDM(系统启动后在桌面环境启动之前显示的登录屏幕)通过图形用户界面登录的配置

以 root 用户身份登录,使用您喜欢的文本编辑器(例如 mcedit、nano 或 vi)打开感兴趣的服务配置文件,并在第一行插入以下字符串

auth     sufficient     pam_python3.so /usr/lib64/security/howdy/pam.py

同时编辑文件 /usr/lib64/security/howdy/pam.py,将

import ConfigParser 替换为 import configparser

config = ConfigParser.ConfigParser 替换为 config = configparser.ConfigParser

您可以运行以下命令来执行此操作:

sed -i 's|import ConfigParser|import configparser|g' /usr/lib64/security/howdy/pam.py

sed -i 's|config = ConfigParser.ConfigParser|config = configparser.ConfigParser|g' /usr/lib64/security/howdy/pam.py

已知问题

  • 在某些情况下,howdy 无法识别您的面部。如果这在屏幕解锁或终端模式登录期间发生,您可以尝试再次操作。但在 SDDM 中,只有一次尝试有效,而下次什么也不会发生。作为解决方法,您可以输入“Ctrl + Alt + Backspace”来重新启动图形界面并再次尝试。
  • 每次系统更新后,位于 /usr/etc/pam.d 的身份验证配置文件中的修改都会被重置。因此,您需要在每次软件包更新后重新配置系统服务以使用 Howdy(请参阅 PAM 部分)。

参见

外部链接