爱吧机器人网 » 技术 > 模式识别 > 正文

人脸识别妙用:老板来了就自动切换桌面(含源码)

本文由 伯乐在线 - Ivyw 翻译,黄利民 校稿。未经许可,禁止转载!

简介

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

这时被老板发现就太尴尬了。当然,我也可以马上切换桌面,但这种举动太可疑了,而且有的时候我根本没注意到老板来了。为了表现得不是那么刻意,我做了个人脸识别程序,老板过来的时候自动隐藏桌面内容。

具体来说,我用 Keras 来实现面部识别的神经网络,用网络摄像头来判断他是否正在接近,然后切换画面。

任务

这个程序的目的是在发现老板接近时自动切换电脑桌面。

场景如下:

老板和我的座位之间隔着 6、7 米,他离开座位后大概 4、5 秒钟到达我的工位。因此必须在这个时间内切换好桌面,时间紧迫!

策略

可能你们会有很多办法,以下是我的个人对策。

首先,让电脑用深度学习的技术记住老板的脸;然后在我的工位安装一个网络摄像头,一旦捕捉到老板的脸就迅速切换桌面。我认为这是个很完美的策略,姑且称它为 Boss Sensor(老板识别器)吧。

系统架构

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

  • 网络摄像头捕捉实时画面。
  • 学习模型对捕捉画面的面部进行检测和识别。
  • 识别出老板的面部后,切换桌面。

这个过程用到了如下技术:

  • 捕捉面部画面
  • 面部识别
  • 切换桌面

让我们一步一步分解一下。

捕捉面部画面

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

我用的是 BUFFALO BSW20KM11BK

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

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

面部识别

接下来,我们用机器学习来确保电脑可以识别出老板的脸。
这个过程需要分三步:

  1. 图像收集
  2. 图像预处理
  3. 构建机器学习模型

让我们一步一步分解一下。

图像收集

首先,

  • 从 Google 搜索图像
  • 从 Facebook 收集图像
  • 拍摄视频

最开始,我试着从网页搜索和 Facebook 收集图像,但数量远远不够。后来我拍摄了一段视频并把视频分解成无数个图像。

图像预处理

我收集到了足够多的图片,但是里面除去面部还有很多无关的部分,所以学习模型无法准确识别。我们把面部单独剪裁出来即可。

我主要使用 ImageMagick 进行提取。通过 ImageMagick 切割来获得面部图像。

然后我收集到了如下的面部图像:

可能我是世界上收藏老板照片最多的人,估计比他爸妈还要多。

接下来构建学习模型。

构建机器学习模型

我用 Keras 来搭建卷积神经网络(CNN),CNN 可以用来进行训练。Keras 的后端使用了 TensorFlow。如果你只需要识别面部,可以调用 Web API 进行图像识别,如 Cognitive Services 中的 Computer Vision API,但是考虑到实时性,我决定自己编写。

以下是网络的架构。Keras 可以很方便地展示出架构。

这是代码:

现在,如果老板出现在摄像机镜头里就可以被识别出来了。

切换桌面

当学习模型识别出老板在接近后,就需要切换桌面了。我选择了下面这张图像来假装我在工作。

选择这样的图片是因为我是个程序员。

我展示的仅仅是一张图片。

我希望图片可以全屏展示,所以使用了 PyQt,代码如下:

万事俱备了。

成品

把上面的技术整合起来就大功告成了,我已经试验过了。

“老板离开座位后向我靠近。”

“OpenCV 检测到了老板的面部并把信息传送给学习模型。”

“确定是老板后迅速切换桌面!ヽ(‘ ∇‘ )ノ ワーイ”

源代码

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

  • BossSensor:https://github.com/Hironsan/BossSensor

记得赞我哦m(_ _)m

结论

这一次,我把 Web 相机的实时图像采集和 Keras 的面部识别结合起来,成功地识别老板并隐藏桌面。

目前,我用 OpenCV 进行面部检测,但由于 OpenCV 中面部检测的准确性似乎不太好,我想尝试使用 Dlib 来提高准确性。另外,我还想尝试一下自己的面部检测模型。

由于对从网络摄像机获取的图像的识别精度不太好,我还会做些改进。



上一篇:人脸识别锁pk指纹锁,谁更胜一筹?
下一篇:人脸识别专家王国田:到底什么是人工智能、机器学习和机器视觉
精选推荐
助力卷积神经网络时空特征学习 史上最大行人重识别视频数据集被提出
助力卷积神经网络时空特征学习 史上最大行人重识别视频数据集被提出

[2017-12-25]  本文提出了一个大型的、长序列的、用于行人重识别的视频数据集,简称LVreID。与现有的同类数据集相比,该数据集具有以下特点:1)长序列:平均每段视频序列长为200帧,包含丰......

美国Natilus公司试飞水上无人货机 设计简单成本降低
美国Natilus公司试飞水上无人货机 设计简单成本降低

[2017-12-28]  Natilus创业公司成立于2014年,其梦想是建造大型无人机,以半价提供比船舶快得多国际货运。在十二月份,Natilus计划在旧金山湾测试一个9米翼展的小型原型无人机的水上滑行能力......

新型轻便机器人套装重5kg,辅助跑步和步行
新型轻便机器人套装重5kg,辅助跑步和步行

[2019-10-23]  虽然步行对大多数人来说似乎不是负担,但对有些人来说,这项简单的运动往往会让人感到筋疲力尽。比如手术或中风后恢复的患者、帕金森氏症患 ...

英国首台月球车是个小型四腿机器人 将于2021年登月
英国首台月球车是个小型四腿机器人 将于2021年登月

[2019-10-12]  探测器将用四条腿探测月球表面,并将数据传回着陆器,后者将把数据传回地球图 詹姆斯温斯皮尔英国即将成为继美国、俄罗斯、中国之后的又一 ...

[2018-01-26]  纽约时报的报道,德国的研究人员已经开发出一种长约七分之一英寸的机器人,首先看起来不过是一小块橡皮条。然后它开始移动。机器人走路,跳跃,爬行,滚动和游泳。它甚至爬出......

MIT用深度学习处理3D点云数据 应用于无人汽车等领域
MIT用深度学习处理3D点云数据 应用于无人汽车等领域

[2019-10-23]  如果你见过自动驾驶汽车,也许会对车顶上那个一直在旋转的圆柱体感到好奇。这是一个雷达传感器,无人驾驶汽车依靠它在现实世界中进行导航。 ...

集群机器人领域最新研究:一种用于探测未知环境的微型无人机群
集群机器人领域最新研究:一种用于探测未知环境的微型无人机群

[2019-10-26]  (图:无人机扩散至不同方向来探索环境。当一个无人机注意到另一个无人机在它的首选方向,它将试图飞到另一个方向。若首选方向冲突,低优先 ...

美国普渡大学研发快动作软体机器人,灵感来自变色龙舌头捕食
美国普渡大学研发快动作软体机器人,灵感来自变色龙舌头捕食

[2019-10-31]  本文图片均来自:Ramses v Martinez 普渡大学变色龙、蝾螈和许多蟾蜍利用积蓄的弹性能量,向距离1 5倍体长的毫无防备的昆虫伸出粘糊糊的舌 ...

本周栏目热点

生物识别技术那么多,为啥偏偏“刷脸”火了

[1970-01-01]   你走到一家自助银行前,摄像头通过刷脸,自动识别你的身份为你开门;你站到ATM机前输入密码,再在摄像 ...

谷歌为何力推虹膜技术 分析其背后的价值链条-模式识别

[2015-12-11]   指纹识别、人脸识别技术正在趋于成熟,也正在被应用到更丰富的场景,逐渐改变我们生活的方方面面。但在 ...

刷脸支付?机器人还没炼成“火眼金睛”

[2016-07-12]   不久前,李世石与AlphaGo的人机大战,宣示了 人工智能 的强大,最近,支付宝也策划了人与机器的又一场大战: 人脸识别 。面对千篇一律 ...

宝马联合三星与松下 研发智能语音识别系统

[2015-12-28]   据美国媒体Autoevolution12月22日报道,宝马、三星和松下三家公司近日与语音识别公司Nuance合作开发新 ...

新剪刀手识别技术 虽然现在还不是很准确-模式识别

[2016-03-11]   在几年前的时候,指纹识别看上去还是一项非常高端的技术。的确,这可以让我们在工作和生活当中的很多事 ...