「电子稻草人」防止外人入侵! 基于TensorFlow的实时目标检测,低功耗无延迟

2020-06-29 15:15:03 浏览数 (1)

新智元报道

编辑:雅新、舒婷

【新智元导读】如何DIY一个家庭报警系统?树莓派和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发送信号,播放一些非常响亮,令人讨厌的音频,以警告恐吓人们。

使用实时视频流和机器学习进行对象检测不是什么新鲜的技术,但是引入树莓派将机器学习和计算机视觉结合确实是很新颖的。如果在家中识别到潜在威胁,并发出警报,这样的简单设备将具有很高的实用性。

参考链接:https://chollinger.com/blog/2019/12/tensorflow-on-edge-or-building-a-smart-security-camera-with-a-raspberry-pi/

0 人点赞