資料介紹
描述
介紹
警告:目前 Home Assistant 中的 Tensorflow 集成存在問題,這是由于在多個平臺上支持 Tensorflow 的復雜性而出現的。除非您對調試安裝問題非常有信心,否則我不建議您嘗試遵循本指南。另請注意,Hassbian 不再由 Home Assistant 維護。
TensorFlow是一種流行的開源機器學習框架,可用于圖像處理中的廣泛應用,特別是用于對象檢測。家庭自動化項目中有許多對象檢測應用,例如在攝像頭輸入中定位車輛或寵物等對象,然后根據這些對象的存在執行操作(使用自動化)。Home-Assistant是一個流行的開源 Python 3 家庭自動化平臺,可以在 Raspberry Pi 上運行。TensorFlow 對象檢測在一些設置后可在 Home-Assistant 中使用,允許人們在他們的家庭自動化項目中開始使用對象檢測,而無需大驚小怪。Home-Assistant 文檔提供了開始使用 TensorFlow的說明對象檢測,但所描述的過程比典型的家庭助手組件要復雜一些。如文檔所述,此組件需要下載文件,在您的計算機上編譯,并添加到 Home Assistant 配置目錄。我在 GitHub 上托管了一些代碼來簡化設置過程,本指南將介紹熟悉的 Raspberry Pi 硬件上的簡化設置過程。
家庭助理設置
我在 Raspberry Pi 4 上使用 Home-Assistant 0.98 版的 Hassbian 部署,但請注意,其他 Home-Assistant 部署的步驟應該相同(警告,Hassio 還不允許安裝 TensorFlow,所以不要嘗試它)。關于硬件的說明,TensorFlow 模型需要大約 1 GB 的 RAM,因此雖然可以在 RPI3 上運行,但體驗太差了,我什至不建議嘗試。作為最低要求,我推薦具有 > 2GB RAM 的 RPI4。
有關設置的更多信息,請參閱Hassbian 文檔,但基本過程是:
您可以通過連接到 Pi 的鍵盤來完成整個 TensorFlow 設置,但我建議通過 Hassbian 腳本安裝Cloud9 Web IDE。此 IDE 允許您從網絡上的任何計算機通過 Home-Assistant 前端執行 TensorFlow 設置過程。按照此處的說明安裝 Cloud9 ,然后導航到http://hassbian.local:8181您現在可以使用面板 iframe在 Home-Assistant GUI 上顯示 Cloud9 IDE ,通過添加到 Home-Assistant configuration.yaml文件進行配置(通過 Cloud9 IDE 編輯):
panel_iframe:
cloud9:
title: cloud9
icon: mdi:wrench
url: http://hassbian.local:8181/ide.html
編輯文件后,最好使用配置驗證工具。要使用它,從側面板,配置 -> 常規 -> 檢查配置(在配置驗證下))。
如果您從配置檢查工具中獲得確定,則需要重新啟動 Home-Assistant 以使更改生效(從側面板配置 -> 常規 -> 重新啟動(在服務器管理下))。重新啟動時,您應該看到以下內容:
TensorFlow 設置
確保您正在運行 Home-Assistant 的最新版本。我建議您閱讀TensorFlow 組件文檔以了解設置過程,但在本指南中,我們跳過了幾個步驟,因為我在 GitHub 上提供了所需的代碼。
第 1 步:安裝 TensorFlow。我們需要 TensorFlow 可用于 Home-Assistant。從 Cloud9 IDE 中的命令行:
-
sudo apt-get install libatlas-base-dev libopenjp2-7 libtiff5
-
從 Pi 切換到 homeassistant 用戶 ->
sudo -u homeassistant -H -s
-
激活homeassistant python環境->
cd /srv/homeassistant/
然后source bin/activate
-
從 pypi -> 安裝 tensorflow
pip3 install tensorflow==1.13.2
(檢查當前版本要求)
第 2 步:從我的 GitHub 獲取 TensorFlow 需要的文件。在任何計算機上,導航到:https ://github.com/robmarkcole/tensorflow_files_for_home_assistant_component并下載 ZIP 文件或克隆存儲庫。使用 Cloud9 IDE 將tensorflow/object_detection
存儲庫中的文件夾復制到 Home-Assistant 的配置文件夾中。生成的文件夾結構如圖 2 所示。
第 3 步:為目標檢測選擇合適的模型。我給這個步驟一個單獨的部分。
型號選擇
TensorFlow“模型”是具有擴展名的二進制文件,.pb
其中包含 TensorFlow 將用于執行對象檢測的神經網絡的權重。這是您無需擔心的細節,但需要的是選擇合適的模型并將其放置在配置目錄中。正如組件文檔所建議的那樣,互聯網上有一系列可用的模型,或者您甚至可以創建自己的模型。一般來說,模型的準確性和速度之間需要權衡取舍。由于 Raspberry Pi 的 CPU 和 RAM 有限,我們應該選擇輕量級的型號,例如為手機設計的型號。TensorFlow 模型動物園提供可下載模型的列表,因此請導航至動物園自述文件并選擇模型。在這里,我們將遵循文檔建議并選擇ssd_mobilenet_v2_coco
模型。從命令行,并注意到我們仍在使用homeassistant
用戶配置文件:
TENSORFLOW_DIR="/home/homeassistant/c9workspace/homeassistant/tensorflow"
cd $TENSORFLOW_DIR
curl -OL http://download.tensorflow.org/models/object_detection/ssd_mobilenet_v2_coco_2018_03_29.tar.gz
tar -xzvf ssd_mobilenet_v2_coco_2018_03_29.tar.gz
請注意,我們設置環境變量TENSORFLOW_DIR
以確保將下載的文件放在本文中配置說明所需的位置。現在我們有一個可用的模型文件,我們可以配置 TensorFlow 組件。
TensorFlow 組件配置
您將需要一個相機源來提供圖像。我只是設置了一個local_file 相機,但您可以使用任何相機源。請注意您的相機的 entity_id(我的是camera.local_file
)并將以下內容添加到您的 configuration.yaml 文件中:
image_processing:
- platform: tensorflow
scan_interval: 20000
source:
- entity_id: camera.local_file
model:
graph: /home/homeassistant/c9workspace/homeassistant/tensorflow/ssd_mobilenet_v2_coco_2018_03_29/frozen_inference_graph.pb
再次檢查您的配置更改是否有效并重新啟動 Home-Assistant。
TensorFlow 組件使用
現在是有趣的部分,使用 TensorFlow 組件!請注意,在重新啟動時 Home-Assistant 將在其日志中發出有關未安裝 OpenCV 的警告,您可以忽略此,因為 TensorFlow 可以改用 Pillow。另請注意,我們進行了配置scan_interval: 20000
,這意味著 TensorFlow 圖像處理不會自動執行(默認每 10 秒一次),而是僅在我們通過調用scan
服務觸發它時執行,您可以從 Home-Assistant 前端的服務開發人員工具中執行此操作. 下圖向您展示了 TensorFlow 組件如何顯示其結果:
?
您現在可以在 Home-Assistant自動化中使用對象檢測數據。Home-Assistant論壇是獲取自動化想法的好地方,請查看。
概括
在本文中,我們介紹了設置 Home-Assistant 以使用 TensorFlow 執行對象檢測的過程,然后在相機圖像上執行對象檢測。希望這將使您能夠以最小的麻煩將尖端的 AI 技術投入到您的家庭自動化項目中的生產中。
故障排除
- 當我使用 Tensorflow 時,Home-Assistant 崩潰了,為什么?您可能沒有足夠的可用內存,因為模型需要約 1 GB 的 RAM。終止 pi 上的一些進程,然后重試
使用碼頭工人?
社區成員創建了輪子以在此處的 Alpine linux docker 容器中安裝 tensorflow
- 使用Tensorflow的Raspberry Pi Covid口罩檢測器
- 使用Teachable Machine和Python輕松進行對象檢測
- 使用Sipeed MaiX板進行對象檢測(Kendryte K210)
- 使用MTCNN和用于ESP32-S3的TensorFlow Lite進行人臉檢測
- Home Assistant添加ESPHome設備(IO控制繼電器)
- 使用Arduino和TensorFlow進行喚醒詞檢測
- 使用TensorFlow對自平衡機器人進行手勢控制
- 使用MobileNet Single Shot Detector進行對象檢測
- Windows下利用Anaconda安裝Tensorflow教程
- 深度學習在視頻對象分割中的應用及相關研究 9次下載
- 什么是TensorFlow數據流圖?詳細TensorFlow數據流圖(動圖)免費下載 9次下載
- 人工智能深度學習之TensorFlow的介紹,安裝和基礎的詳細資料概述 25次下載
- DAQ_Assistant的使用 0次下載
- 面向對象軟件自動生成在檢測系統中的應用
- 一種對虛擬對象進行控制的系統設計
- OpenCV4.8 C++實現YOLOv8 OBB旋轉對象檢測 1108次閱讀
- YOLOv8實現旋轉對象檢測 1342次閱讀
- TensorFlow Lite實現移植到ART-Pi Smart 1927次閱讀
- 如何在LiDAR點云上進行3D對象檢測 2032次閱讀
- 基于樹莓派的TensorFlow對象檢測系統設計方案 1423次閱讀
- 如何用TensorFlow進行機器學習研究 1889次閱讀
- TensorFlow安裝手冊之如何利用pip安裝 TensorFlow 1.2w次閱讀
- Keras和TensorFlow究竟哪個會更好? 2.1w次閱讀
- TensorFlow都有哪些功能,大家是否都全部了解呢? 2.1w次閱讀
- TensorFlow Lite是TensorFlow針對移動和嵌入式設備的輕量級解決方案 2.5w次閱讀
- TensorFlow是什么?如何啟動并運行TensorFlow? 1.6w次閱讀
- TensorFlow發表推文正式發布TensorFlow v1.9 3020次閱讀
- 如何結合TensorFlow目標檢測API和OpenCV分析足球視頻 6235次閱讀
- TensorFlow的框架結構解析 7032次閱讀
- tensorflow 訓練模型之目標檢測入門知識與案例解析 1.6w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多