Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

BerryNet:如何在树莓派上实现深度学习智能网关

该项目在树莓派 3 上使用深度学习使其成为一个智能网关。该设备并不需要联网,所有的训练和调试等都在树莓派 3 本地完成。在 DT42,我们相信将深度学习应用于便捷设备在未来是一个大趋势。因为这样不仅能节省数据传输和储存的成本,而且还能在无需连接云端的情况下使设备根据图像或视频中显示的事件进行响应。


项目地址:https://github.com/DT42/BerryNet

640-9.jpeg

图1


图 1 展示了该项目的软件架构,我们使用 Node.js、MQTT 和 AI 引擎对图像或视频帧进行深度学习。到目前为止,该系统由两个人工智能引擎提供支持,即分类引擎和目标检测引擎。图 2 展示了分类和目标检测之间的差别。


640-10.jpeg

图2


该智能网关的一个应用就是使用相机监测你想关注的地方。如图 3,其显示了 DT42 办公室摄像头的分析结果。这些视频帧由 IP 相机捕捉,并将其发送到人工智能引擎。人工智能引擎的输出结果将显示在主控面板中。我们正在处理邮件和 IM 通知接口,因此当 IP 摄像头捕捉到目标(如狗),系统将采用邮件或其他形式通知用户。


0-2.gif

图3


人工智能引擎


目前支持的人工智能引擎利用了以下几个项目的研究:

  • TensorFlow

  • Darkflow

  • Darknet

该系统目前支持的分类模型为 Inception v3,目标检测模型为 TinyYOLO。


安装


$ git clone https://github.com/DT42/BerryNet.git

$ cd BerryNet

$ ./configure


开始和停止 BerryNet 


BerryNet 由系统(systemd)控制,你可以通过 berry-manager 控制 BerryNet:


$ berrynet-manager [start | stop | status | log]


配置


所有配置都在 config.js 中:

  • 选择人工智能引擎

  • 目前有两种类型的人工智能引擎:目标分类和目标检测。

  • 配置 IP 相机快照的访问接口

  • MQTT topics


主控面板


在树莓派 3 上打开主控面板(通过触摸屏)

打开浏览器并输入统一资源定位符:http://localhost:8080/index.html#source=dashboard.json

主控面板默认配置文件将会加载。

在任意电脑的浏览器上打开主控面板

打开浏览器并输入统一资源定位符:http://:8080/index.html#source=dashboard.json

点击数据源,并将 MQTT 代理的 IP 地址更改为网关的 IP 地址。

如要获得更多详细的主控面板配置信息,请参考 freeboard 项目:https://github.com/Freeboard/freeboard


提供图像输入


通过 Pi 相机捕捉图像


$ mosquitto_pub -h localhost -t berrynet/event/camera -m snapshot_picam


通过配置 IP 相机捕捉图像


$ mosquitto_pub -h localhost -t berrynet/event/camera -m snapshot_ipcam


提供本地图像


$ mosquitto_pub -h localhost -t berrynet/event/localImage -m <image_path>


讨论


如果对该项目的疑惑、建议或任何创意,都可以在该项目谷歌论坛讨论:https://groups.google.com/a/dt42.io/d/forum/berrynet。

入门工程实现智能网关计算机视觉
1
树莓派性能能跑得起来速度学习吗,这个只是简单的物体识别,还是可以的