「电子稻草人」防止外人入侵! 基于TensorFlow的实时目标检测,低功耗无延迟
想要「电子稻草人」帮你看门却不想支棱高昂的设备? 树莓派和Tensorflow可能能帮你解决这个问题。而且,所需的设备很简单:树莓派、电脑和一个摄像头。
DIY家庭报警系统,只需树莓派,电脑和一个摄像头
稻草人设计之初的目的是为了吓唬乌鸦等飞行禽类,以保护庄园不受入侵。
Christian Hollinger将自己的设备亲切的称为「Scarecrow-Cam」,原因是这个设备确实很好的解决了「防止入侵」这个问题。
这个设备将树莓派和Tensorflow结合在一块。树莓派支持的分布式(边缘)计算相机设置,该设置运行Tensorflow对象检测模型来确定是否有人在相机上。
插件模型根据检测到的情况进行操作,例如播放音频,打开灯光等。 让我们看一下这个设备在实际测试中的表现。
设置好了整个设备,它包括一个树莓派,一个摄像头和一个小音响。小音响的作用是来进行反馈。
从实验可以看到,检测人脸大约需要1秒钟的时间,这其实和摄像机的角度有关,并且还伴有一些网络延迟。但是实验效果还是很好的。
利用树莓派,Tensorflow和摄像头,我们完成了可疑人员的捕捉可警告的工作。
技术解析:由树莓派驱动的摄像头如何发出警报
这款摄影机使用带有相机模块的树莓派4来检测视频。
它可以连续运行,不需要依靠移动传感器来触发。
树莓派4外形 为了检测物体,它使用了Google 的Tensor Flow Object Detection API。
这个库使测试者可以在开箱即用的情况下使用对象检测,而无需手动训练和调整模型,或者进行云部署。通过OpenCV可与摄影机对话。
比如你遇到了一个问题:旧RasPi运行的是Raspbian的32位版本。Tensorflow不适用于32位操作系统(如果允许的话,可能有替代方法)。
此外,尽管新的树莓派是一台功能强大的小型计算机,但它可以与现代计算机相称,尤其是在树莓派3或更早的版本。
为了解决这个问题,我们将通过 Pi 上的网络将视频流传输到功能更强大的机器上,例如家用服务器,NAS,计算机,旧笔记本电脑,并在那里处理信息。
这是一个称为边缘计算的概念。
我们实际上是通过在物理上靠近边缘节点的机器上进行繁重的操作,来使用低功率的小型机器来实现低延迟通信。
在这种情况下,运行Tensorflow对象检测。这样,我们避免了往返互联网的麻烦,也不必为AWS或GCP等上的云计算付费。
为了实现这一目标,这款摄像机将使用VidGear,特别是NetGear API,该API旨在使用ZeroMQ通过网络流式传输视频。只是提防一个错误,要求用户使用开发分支。
一旦检测到有人在视频流中,就可以使用ZeroMQ向Raspberry发送信号,播放一些非常响亮,令人讨厌的音频,以警告恐吓人们。
使用实时视频流和机器学习进行对象检测不是什么新鲜的技术,但是引入树莓派将机器学习和计算机视觉结合确实是很新颖的。
如果在家中识别到潜在威胁,并发出警报,这样的简单设备将具有很高的实用性。
我有话说: