人脸识别程序:自动隐藏桌面内容,避免老板尴尬发现
创始人
2026-03-07 06:06:18
0

介绍

工作的时候肯定会浏览一些和工作无关的东西,别说你没做过。

被老板发现的话多桌面切换软件,那可就太丢脸了。当然,我可以立刻切换桌面,但这种行为太可疑了,有时候老板来了我都察觉不到。为了不显得那么刻意,我做了一个脸部识别程序,当老板过来时,自动隐藏桌面内容。

具体来说,我使用 Keras 实现了一个用于面部识别的神经网络,使用网络摄像头判断他是否正在靠近,然后切换图像。

任务

这个程序的目的是当检测到boss靠近时,自动切换电脑桌面。

场景如下:

切换桌面软件快捷键_切换桌面图标_多桌面切换软件

我和老板的座位相隔6-7米,他离开座位后大概需要4-5秒才能到达我的工作站。所以我必须在这个时间内切换桌面,时间很紧迫!

战略

您可能有很多方法可以做到这一点,以下是我的个人解决方案。

首先,利用深度学习技术,让电脑记住老板的脸;然后在我的工作站安装一个网络摄像头,一旦捕捉到老板的脸,就快速切换桌面。我觉得这是一个完美的策略,我们叫它“Boss Sensor”。

多桌面切换软件_切换桌面软件快捷键_切换桌面图标

系统结构

Boss Sensor的系统架构如下图所示。

多桌面切换软件_切换桌面图标_切换桌面软件快捷键

在此过程中使用了以下技术:

让我们一步一步地分析一下。

捕捉面部

首先,用网络摄像头捕捉镜头。

我用的是BUFFALO BSW20KM11BK。

切换桌面软件快捷键_切换桌面图标_多桌面切换软件

你也可以使用电脑软件自带的摄像头,但考虑到接下来的步骤,还是直接获取图像比较好。由于接下来需要进行面部识别,所以需要对图像进行裁剪。我使用 Python 和 OpenCV 来获取面部图像。以下是代码:

面部图像比预期的更清晰。

切换桌面软件快捷键_切换桌面图标_多桌面切换软件

人脸识别

接下来,我们使用机器学习来确保计算机能够识别老板的脸。

这个过程需要三个步骤:

让我们一步一步地分析一下。

图片集

第一的,

一开始我尝试从网络搜索和 Facebook 上收集图片,但数量不够。后来我拍摄了一段视频,将其分解成无数张图片。

图像预处理

我收集的图片已经够多了,但是除了脸部之外,还有很多不相关的部分,学习模型无法准确识别。我们只能将脸部单独裁剪掉。

我主要使用ImageMagick进行提取,人脸图像是通过ImageMagick裁剪得到的。

然后我收集了以下面部图像:

切换桌面图标_多桌面切换软件_切换桌面软件快捷键

我可能是世界上拥有老板照片最多的人,可能比他父母的照片还多。

接下来,构建学习模型。

建立机器学习模型

我使用 Keras 构建了一个卷积神经网络 (CNN),可用于训练。Keras 使用 TensorFlow 作为后端。如果只需要识别人脸,可以调用用于图像识别的 Web API,例如认知服务中的计算机视觉 API多桌面切换软件,但考虑到实时性,我决定自己编写。

下面是网络的架构。Keras 可以轻松显示架构。

======================================

层(类型)输出 ShapeParam# 连接到

======================================

convolution2d_1(Convolution2D)(无,32,64,64)896convolution2d_input_1[0][0]

activated_1(激活)(无,32,64,64)0convolution2d_1[0][0]

convolution2d_2(Convolution2D)(无,32,62,62)9248activation_1[0][0]

activated_2(激活)(无,32,62,62)0convolution2d_2[0][0]

maxpooling2d_1(MaxPooling2D)(无,32,31,31)0activation_2[0][0]

dropout_1(Dropout)(无,32,31,31)0maxpooling2d_1[0][0]

convolution2d_3(Convolution2D)(无,64,31,31)18496dropout_1[0][0]

activation_3(激活)(无,64,31,31)0convolution2d_3[0][0]

convolution2d_4(Convolution2D)(无,64,29,29)36928activation_3[0][0]

activated_4(激活)(无,64,29,29)0convolution2d_4[0][0]

maxpooling2d_2(MaxPooling2D)(无,64,14,14)0activation_4[0][0]

dropout_2(Dropout)(无,64,14,14)0maxpooling2d_2[0][0]

flatten_1(扁平化)(无,12544)0dropout_2[0][0]

density_1(密集)(无,512)6423040flatten_1[0][0]

activation_5(激活)(无,512)0dense_1[0][0]

dropout_3(辍学)(无,512)0activation_5[0][0]

density_2(密集)(无,2)1026dropout_3[0][0]

activation_6(激活)(无,2)0dense_2[0][0]

======================================

总参数:6489634

以下是代码:

现在,只要老板出现在镜头里,就能被认出来。

切换桌面

一旦学习模型识别出老板正在接近,就该切换桌面了。我选择了下面的图片来假装我正在工作。

我选择这张图片是因为我是一名程序员。

切换桌面图标_多桌面切换软件_切换桌面软件快捷键

我只是给你看一张图片。

我想要图片全屏显示,所以用的是PyQt,代码如下:

一切都准备好了。

完成的产品

只要结合以上技巧就可以了。我已经尝试过了。

“老板离开座位,向我走了过来。”

切换桌面软件快捷键_切换桌面图标_多桌面切换软件

“OpenCV 检测到老板的脸并将信息传递给学习模型。”

多桌面切换软件_切换桌面图标_切换桌面软件快捷键

“确认是BOSS后就赶紧换桌面吧!ヽ('∇')ノワーイ”

切换桌面软件快捷键_切换桌面图标_多桌面切换软件

源代码

Boss Sensor源代码下载链接如下:

记得喜欢我 m(_ _)m

综上所述

这次我结合网络摄像头的实时图像采集和Keras的面部识别,成功识别出老板并隐藏桌面。

目前我使用OpenCV进行人脸检测,但是由于OpenCV的人脸检测准确率好像不是很好,所以想尝试使用Dlib来提高准确率,另外也想尝试自己的人脸检测模型。

由于从网络摄像头获取的图像的识别准确率不是很好,所以我会做一些改进。

相关内容

热门资讯

人... 本文目录导航: 人工智能AI软件哪个更适用 AI修图的好工具介绍个ai修图...
a... 本文目录导航: ai人工智能培训去哪家比拟好? 人工智能培训机构排名前十 ...
人... 本文目录导航: 人工默认哪些大学 人工默认专业排名前10有哪些学校 ...
学... 本文目录导航: 学习人工默认数学必定要很好么? 学习人工默认必定要良好的数...
人... 本文目录导航: 人工智能哪些大学 人工智能专业排名前10有哪些学校 ...
人... 本文目录导航: 人工智能为什么要用芯片? 人工智能须要哪些技术 ...
a... 本文目录导航: ai人工智能教育有哪些ai人工智能教育有哪些课程 松鼠AI...
人... 本文目录导航: 人工智能专业好务工吗? 人工智能专业务工如何 ...
用... 本文目录导航: 用这些Ai修图神器,小白秒变修图大神! ai修图收费 ...
秘... 本文目录导航: 秘塔ai搜查如何经常使用 ai人工智能在线经常使用方法ai...
务... 本文目录导航: 人工智能务工前景堪忧真的假的 务工前景好吗 人工智能务工太...
罕... 本文目录导航: 罕用的人工智能软件平台有哪些? 中国的ai软件有哪些 ...
人... 本文目录导航: 人工智能须要学哪些课程 ai须要学哪些课程 ...
人... 本文目录导航: 人工默认技术运行专升本可以吗? 人工默认专业可以专升本吗?...
a... 本文目录导航: ai智能教育究竟有没有用呢? 人工智能培训机构哪个好 ...
学... 本文目录导航: 学人工智能好务工吗 人工智能专业好找上班吗 ...
a... 本文目录导航: ai培训师怎样考ai培训师怎样做 人工智能证书含金量高吗?...
A... 本文目录导航: APP软件开发公司怎样选用 我要运营一款App软件,然而要...
山... 本文目录导航: 山东蓝光软件有限公司公司简介 西安易博软件有限责任公司公司...
招... 本文目录导航: 招聘启事模板15篇 软件工程师任务条件? ...