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

在漫长的无意工做的“年末”里,大家大概须要动用深度学习技能来伪装好好工做:当老板快要走到身后,让电脑自动隐藏“工做不宜”的窗口。

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

好像是的……

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
相关文章
相关标签/搜索