帮助无"windows Hello"摄像头的电脑,在开机/解锁时,进行人脸识别
本分支推荐普通用户使用,相对足够方便和安全,如果您注重更高安全性,希望接入windows登录密码凭据系统,请移步CredentialProvider分支。
- 人脸识别
- 侧脸识别
- 活体检测(防止照片解锁)
- 备用解锁方式(可关闭)
- 数据持久化
- 开机自启/解锁自启
- 多用户识别
运行时,键鼠将禁止使用(防止任务管理器退出),必须在一分钟内人脸识别成功(每0.5秒一次检测,共120次),自动解锁,否则锁定计算机。
上图为透明度为0.5时,显示屏状态,透明度可调。
此外,本程序在人脸识别时并不会展示当前人脸,正如上图,您可以根据需求自行修改代码。
您可以手动git clone本项目,并按以下步骤安装必备库,或直接前往release界面使用已经打包好的exe程序
由于环境错综复杂,本项目也不提供requirements.txt
推荐按照以下步骤使用
1.创建 conda 环境
conda create -n Smile2Unlock python=3.11.9 -y
2.通过 conda 安装 dlib
conda install dlib=19.24.4 -c conda-forge -y
3.通过 pip 安装其他必要库
pip install cmake==3.29.3 face_recognition opencv-contrib-python==4.9.0.80 pynput screeninfo numpy==1.26.4 torch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2
总结:该版本测试成功,仅供参考:
python=3.11.9 创建conda指定版本,推荐该版本
cmake=3.29.3 最新版皆可,无严格版本限制
dlib=19.24.4 特殊的,只有此库使用conda安装
face-recognition=1.3.0
opencv-contrib-python=4.9.0.80
pynput=1.7.7
screeninfo=0.8.1
torch=2.2.2
torchaudio=2.2.2
torchvision=0.17.2
numpy=1.26.4
在进入conda环境后,运行 python generate_db.py 在gui界面录入即可
本流程仅需一次,如改人脸需要删除,在db文件夹下直接删除即可。
如果您仅需运行程序,使用 python smile2unlock_entry.py 而如果您想生成本地可执行文件,请自行修改smile2unlock_entry.bat 文件
可以直接运行,查看效果
参考windows锁屏时启动某个程序(使用win任务计划库)_windows 计划任务 用户登录时运行 锁屏状态执行吗-CSDN博客
值得注意的是 请务必指定bat文件夹路径(在“起始于”中填写文件夹)
完成后,您可以在右侧运行中尝试运行。
您可以在config.json中启动特殊按键,1为启动(默认),0为关闭,当开启时,你可以按下“分钟的十分位”来强制关闭人脸识别,比如“20:13”可以按数字“1”。
如果您有任何不理解的地方,请加入QQ群:702645243。
您可以在config.json中设置透明度,1为完全透明,0为完全不透明,默认0.5
pyinstaller --clean --noconfirm .\smile2unlock.spec
|----config.json 配置json,自动生成
|----config.py 配置程序
|----db\ 人脸数据库
|----smile2unlock_entry.bat 最后导入计划库的可执行程序
|----smile2unlock_entry.py 检测程序,项目核心程序 程序入口!!!
|----generate_db.py 录入程序,项目核心程序
|----hook.py 使用tk生成透明白布,并禁用键鼠
|----log\ 日志文件
|----logger.py 生成日志程序
|----login.py 登录程序
|----README.md README
|----resources\ 第三方人脸识别资源文件
|----src\ 第三方人脸识别资源文件
1.generate_db.py
<img width="458" height="655" alt="202406102023562" src="https://github.com/user-attachments/assets/482650f0-8b26-402c-849a-c199e970a405" />
2.smile2unlock_entry.py
<img width="1571" height="2257" alt="202406102024455" src="https://github.com/user-attachments/assets/cfe6ca65-2ba5-4f6c-acf5-773d4c554767" />
•Yiqingde/Lock-Unlock-Laptop-PC-Screen-Using-Face-Recognition-Opencv-Tensorflow
•saksham-jain/Lock-Unlock-Laptop-PC-Screen-Using-Face-Recognition (github.com)
•computervisioneng/face-attendance-system (github.com)
•minivision-ai/Silent-Face-Anti-Spoofing: 静默活体检测(Silent-Face-Anti-Spoofing) (github.com)
