帮助无"windows Hello"摄像头的电脑,在开机/解锁时,进行人脸识别
本分支推荐普通用户使用,相对足够方便和安全,如果您注重更高安全性,希望接入windows登录密码凭据系统,请移步CredentialProvider分支。
- 人脸识别
- 侧脸识别
- 活体检测(防止照片解锁)
- 备用解锁方式(可关闭)
- 数据持久化
- 开机自启/解锁自启
- 多用户识别
运行时,键鼠将禁止使用(防止任务管理器退出),必须在一分钟内人脸识别成功(每0.5秒一次检测,共120次),自动解锁,否则锁定计算机。
上图为透明度为0.5时,显示屏状态,透明度可调。
此外,本程序在人脸识别时并不会展示当前人脸,正如上图,您可以根据需求自行修改代码。
直接前往 Release 页面下载已经打包好的 exe 程序,解压后即可使用。
安全提示: Release 版本由 GitHub Actions 自动编译打包,构建过程完全透明可追溯,确保软件安全性。
如果您想从源码运行或进行开发,请按以下步骤操作:
- 创建 conda 环境
conda create -n Smile2Unlock python=3.11.9 -y
conda activate Smile2Unlock- 通过 conda 安装 dlib (CPU版本,避免CUDA错误)
conda install "dlib=20.0.0=*cpu*" -c conda-forge -y- 通过 pip 安装其他必要库
pip install -r requirements.txt注意: 所有依赖的具体版本已固定在
requirements.txt文件中,确保环境可复现。
- Release 版本: 运行
generate_db.exe在 GUI 界面录入人脸 - 源码运行: 在 conda 环境中运行
python generate_db.py
本流程仅需一次,如需更换人脸,直接删除 db 文件夹下对应文件即可。
- Release 版本: 直接运行
smile2unlock_entry.exe - 源码运行: 在 conda 环境中运行
python smile2unlock_entry.py
参考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,自动生成
|----db\ 人脸数据库
|----generate_db.py 录入程序,项目核心程序
|----log\ 日志文件
|----README.md README
|----resources\ 第三方人脸识别资源文件
|----smile2unlock_entry.bat 最后导入计划库的可执行程序
|----smile2unlock_entry.py 检测程序,项目核心程序 程序入口!!!
|----src\ 源码目录
|----config.py 配置程序
|----hook.py 使用tk生成透明白布,并禁用键鼠
|----logger.py 生成日志程序
|----login.py 登录程序
|----util.py 工具函数
|----Silent_Face_Anti_Spoofing\ 第三方活体检测模块
•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)




