使用树莓派打造面部识别安全设备

清单

硬件部分

Raspberry Pi 2 Model B

PIR运动传感器(通用)

Microsoft LifeCam 3000 HD摄像头

伺服马达FS5103R

5V电源

电阻器 1k欧姆

软件应用程序及在线服务

Microsoft Windows 10 IoT Core

Microsoft Visual Studio 2015

Microsoft Project Oxford

Microsoft Azure

Microsoft Azure云存储服务

动手实践

关于项目:

该设备使用Microsoft Project Oxford面部识别方案,检测访问者是否为房子的所有者,通过验证之后会立马打开房门,否则系统将向房屋所有者绑定的移动设备推送一条警告信息,并询问是否给该访问者开门。

使用/集成的服务

Azure storage云存储服务

Microsoft Project Oxford: 面部识别API

使用ASP.Net SignalR将所有者的行为发送给树莓派

使用WNS向移动设备发送通知信息

组件

Raspberry Pi 2 Model B x1

RIP传感器 x1

微软LifeCam 3000 HD x1

伺服马达 FS5103R x1

电池组 x1

1kΩ电阻 x1

电路图以及线路图

14817893813869

14817893927566

Pin分配

14817894206623

 

移动侦测,捕捉图像以及访问者分析

首次运行该应用程序,默认会创建一个IsActive属性为真的PIRProximitySensor类实例。
该实例用于RIP传感器与应用程序之间的连接。如果IsActive属性设置为真,当传感器检测到一个动作发生时会触发MotionDetected事件,然后要求连接到传感器的GPIO pin number执行对应的操作。移动侦测的捕捉影片命令会将获取到的访问者面部图像,发送到Project Oxford服务器进行识别。如果确认为该房屋的所有者,伺服马达将打开房门;否则将获取到的访问者面部图像发送到绑定的移动设备。如果房屋所有者选择打开房门,命令将通过后端服务的SignalR推送给树莓派,然后打开房门。
当在识别访问者过程以及传感器进行必要操作期间,IsActive属性不能被设置为假。关闭房门之后该属性重新设置回真,激活识别系统。

芝麻开门

我们使用伺服马达控制房门。向马达发送2毫秒脉冲时,马达会旋转180°门就打开了;向马达发送1毫秒脉冲时,马达会旋转回0°,门再次关闭。 伺服马达的位置是由脉冲长度决定。转动系统预期至少每隔20毫秒收到一个脉冲,如果脉冲超过1毫秒,伺服马达将转到0°;如果为1.5毫秒脉冲,其转到90°位置;如果是2毫秒,将会转到180°位置。

14817894345998

Project Oxford: Face API

Face API是一个基于云计算的API,其提供了当前最先进的人脸检测识别的算法。Face API的主要功能可以分为两类:其一对人脸进行检测提取其特征提取,其二便是人脸识别 戳这里访问该项目主页。

如何部署以及工作

按照上面图表连接好电路之后,从HomeVisitsManager.VisitsController项目的方案平台选择ARM,之后从模拟器列表选择远程机器并输入你的树莓派IP和凭证,最后运行该方案;多个项目同时运行(所有者的windows phone应用,后端服务以及物联网设备)

引用:

伺服马达:http://razzpisampler.oreilly.com/ch05.html

人脸检测和识别:https://www.projectoxford.ai/doc/face/How-To/identifyperson

项目代码

https://github.com/IslamKHALIL/Home-Visits-Manager

参考来源:hackster,FB小编鸢尾编译,转载请注明来自FreeBuf(FreeBuf.COM)