BerryNet:如何在樹莓派上實現深度學習智慧閘道
選自Github
機器之心編譯
參與:蔣思源
該項目在樹莓派 3 上使用深度學習使其成為一個智慧閘道。該設備並不需要聯網,所有的訓練和調試等都在樹莓派 3 本地完成。在 DT42,我們相信將深度學習應用於便捷設備在未來是一個大趨勢。
項目位址:https://github.com/DT42/BerryNet
圖1
圖 1 展示了該專案的軟體架構,我們使用 Node.js、MQTT 和 AI 引擎對圖像或視頻幀進行深度學習。
圖2
該智慧閘道的一個應用就是使用相機監測你想關注的地方。如圖 3,其顯示了 DT42 辦公室攝像頭的分析結果。這些視頻幀由 IP 相機捕捉,並將其發送到人工智慧引擎。人工智慧引擎的輸出結果將顯示在主控面板中。我們正在處理郵件和 IM 通知介面,
圖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
討論
如果對該專案的疑惑、建議或任何創意,都可以在該專案穀歌論壇討論:https://groups.google.com/a/dt42.io/d/forum/berrynet。