Skip to content

dullspear/Smile2Unlock

Repository files navigation

logo

Smile2Unlock

帮助无"windows Hello"摄像头的电脑,在开机/解锁时,进行人脸识别

Platform Win Apache-2.0

注意

本分支推荐普通用户使用,相对足够方便和安全,如果您注重更高安全性,希望接入windows登录密码凭据系统,请移步CredentialProvider分支。

支持

  • 人脸识别
  • 侧脸识别
  • 活体检测(防止照片解锁)
  • 备用解锁方式(可关闭)
  • 数据持久化
  • 开机自启/解锁自启
  • 多用户识别
202406101920647

运行时,键鼠将禁止使用(防止任务管理器退出),必须在一分钟内人脸识别成功(每0.5秒一次检测,共120次),自动解锁,否则锁定计算机。

上图为透明度为0.5时,显示屏状态,透明度可调。

此外,本程序在人脸识别时并不会展示当前人脸,正如上图,您可以根据需求自行修改代码。

安装

方式一: 使用 Release 版本 (推荐)

直接前往 Release 页面下载已经打包好的 exe 程序,解压后即可使用。

安全提示: Release 版本由 GitHub Actions 自动编译打包,构建过程完全透明可追溯,确保软件安全性。

方式二: 从源码手动安装

如果您想从源码运行或进行开发,请按以下步骤操作:

  1. 创建 conda 环境
conda create -n Smile2Unlock python=3.11.9 -y
conda activate Smile2Unlock
  1. 通过 conda 安装 dlib (CPU版本,避免CUDA错误)
conda install "dlib=20.0.0=*cpu*" -c conda-forge -y
  1. 通过 pip 安装其他必要库
pip install -r requirements.txt

注意: 所有依赖的具体版本已固定在 requirements.txt 文件中,确保环境可复现。


使用指南

1. 导入人脸数据

  • Release 版本: 运行 generate_db.exe 在 GUI 界面录入人脸
  • 源码运行: 在 conda 环境中运行 python generate_db.py

本流程仅需一次,如需更换人脸,直接删除 db 文件夹下对应文件即可。

2. 启动程序

  • Release 版本: 直接运行 smile2unlock_entry.exe
  • 源码运行: 在 conda 环境中运行 python smile2unlock_entry.py

3. 加入开机自启

参考windows锁屏时启动某个程序(使用win任务计划库)_windows 计划任务 用户登录时运行 锁屏状态执行吗-CSDN博客

202406102010831

值得注意的是 请务必指定bat文件夹路径(在“起始于”中填写文件夹)

202406102005548

完成后,您可以在右侧运行中尝试运行。

4. 其他配置

您可以在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\	第三方活体检测模块

流程图

1. generate_db.py

202406102023562

2. smile2unlock_entry.py

202406102024455

参考

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)

About

为不支持windows Hello的摄像头 提供人脸识别解锁电脑 QQ群:702645243

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors