前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >帮你偷懒的“老板探测器”,简直是机器学习年底最佳应用

帮你偷懒的“老板探测器”,简直是机器学习年底最佳应用

作者头像
AI科技大本营
发布2018-04-26 10:12:59
6990
发布2018-04-26 10:12:59
举报
文章被收录于专栏:AI科技大本营的专栏

在漫长的无心工作的“年底”里,你们大概需要动用深度学习技能来假装好好工作:当老板快要走到身后,让电脑自动隐藏“工作不宜”的窗口。

付出这么多努力就为了工作时开个小差?

好像是的……

AHOGRAMMER发布了这样一个名为“老板传感器”的制作教程:

定义任务

这个程序的任务就是当老板接近的时候,自动隐藏“工作不宜”窗口。

老板和我的座位距离约6-7米,如果我在看“工作不宜”的东西,当老板离开座位,有4-5秒的时间切换界面。

策略

  1. 用深度学习训练一个模型,让电脑能认出老板的脸。
  2. 在桌上安装一个摄像头,当摄像头捕捉到老板的脸,让电脑自动隐藏“工作不宜”窗口。

老板探测器的系统架构如下:

  • Camera:一个实时捕捉图像的摄像头。
  • Recognize:一个训练过的模型,能识别面部特征。
  • Hide Screen:如果识别的结果是老板,隐藏“工作不宜”窗口。

因此,这个系统需要以下能力:

  • 拍摄脸部照片
  • 识别脸部照片
  • 切换电脑窗口

我们来逐个解决。

拍摄脸部照片

我选择了BUFFALO BSW20KM11BK摄像头。

摄像头有自带的拍照程序,但是考虑到后续的处理,需要在拍照时自动切出脸部图片,因此我选择用了Python和OpenCV来拍照。

得到的脸部照片质量比我预想的要好。

识别老板的脸

接下来,我们用机器学习算法让计算机认出老板的脸。分为以下三步:

  1. 收集图片
  2. 处理图片
  3. 建立机器学习模型

让我们一步一步来看。

收集图片

首先,我们需要收集大量照片供算法学习,我用下面的收集方法:

  • Google图片搜索
  • Facebook上的相册
  • 拍视频

起初,我通过网络搜索和Facebook收集了图片,但是数量不够,于是我又拍摄了视频,然后转换成大量的图片。

处理图片

我们收集了大量包括人脸的图片,但是学习算法还不能直接用,因为图片里包含太多不是人脸的部分。因此,我们需要把脸部剪切出来。

我主要用ImageMagick来做脸部提取的工作,得到了下面这些脸部照片:

现在可以开始学习了。

建立机器学习模型

我们用Keras来建立卷积神经网络(CNN),然后用TensorFlow来做它的后端。如果你只想识别人脸,可以用Computer Vision API等图像识别的Web API。但是这次我决定自己写一个实时的识别。

这个网络的架构如下:

现在,当老板出现在摄像头范围内,就能自动被识别出来了。

切换电脑窗口

现在,当训练过的模型识别出老板的脸,我们需要切换窗口来假装工作:作为一个程序员,我选择切换到这张图片:

我用PyQt来全屏展示这张图片。


试用效果

老板离开座位:

OpenCV探测到人脸,把图像放进训练过的模型:

窗口自动切换到假装工作的图片啦ヽ(‘ ∇‘ )ノ ワーイ


作者 | HIRONSAN @ AHOGRAMMER编译 | 夏乙 @ AI100 题图来自Unsplash

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-12-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 定义任务
  • 策略
  • 拍摄脸部照片
  • 识别老板的脸
    • 收集图片
      • 处理图片
        • 建立机器学习模型
        • 切换电脑窗口
        • 试用效果
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档