作者:歐敏銓
來介紹一款開源的網路錄影機 (NVR) 系統- Frigate,這是一款專為開源智慧家庭平台 – Home Assistant )設計的完整本地端 NVR,具有 AI 物件偵測功能。
它使用 OpenCV 和 TensorFlow 在本地端為 IP 攝影機執行即時的物件偵測,其設計目標是在本地端就能處理影像的偵測,從而讓攝影資料不會外傳,確保隱私。為了達成此目標,其系統透過僅在必要的時間和地點去偵測物件(如下圖),以最大限度地減少資源的使用,並最大限度地提高效能。
Frigate的運作需搭配本地端的硬體,包括能輸出 H.264 視訊和 AAC 音訊的攝影機,以及運算用的工作站(Server)及偵測加速器(Detector)。攝影機建議能支援多個子串流以允許使用不同的解析度進行偵測、串流和錄製而無需重新編碼;至於本地端的工作站,任何配備 Intel CPU 並能夠運行 Debian 的設備都應該可以正常工作。
預設情況下,Frigate 將使用單一 CPU 偵測器類型,並利用 CPU 運行 TensorFlow Lite 模型,無需硬體加速。不過,官方強調用CPU偵測只能滿足一般性的測試目的,並建議使用硬體加速偵測器來獲得更好的效能。偵測器是一種經過最佳化的設備,可以有效地運行推理來偵測物件。使用建議的偵測器意味著偵測之間的延遲會更短,並且每秒可以運行更多的偵測。
在AI物件偵測的推論運算中,將 TensorFlow 卸載到偵測器的速度要快一個數量級,並且會顯著減少 CPU 負載。自 0.12 起,Frigate 支援多種具有不同推理速度和效能的不同偵測器類型,包括Google Coral TPU(官方首選)、Intel OpenVINO及NVIDIA TensorRT。
在實測上,Seeed Studio作者Kasun Thushara分別在Raspberry Pi 4及Raspberry Pi 5上運行Frigate NVR(評測文章),他在執行過程中觀察到,在Raspberry Pi 4上的運作表現堪稱平穩,能順利進行物件辨識,但FPS 有點低。它在 30fps 的 1080p 視訊串流場景中,推理速度為177.96ms。相較之下,在Raspberry Pi 5上運行Frigate NVR時,同樣是30fps 的 1080p 視訊串流場景中,推論速度是34.3ms,比Raspberry Pi 4明顯快了很多。
小結
不少朋友已熟悉Home Assistant這款開源的智慧家庭系統,如今有了Frigate,可以說是如虎添翼,把AI的影像偵測功能也整進來了,不僅如此,Frigate也提供對應的Lovelace Card(介面如下),大家不妨來試用看看。
延伸閱讀
Frigate提供的家庭助理(Home Assistant)官方整合資源
Frigate Home Assistant Integration(Github)
Frigate NVR on Raspberry Pi 5: Empowering Localized Security
- 完美重現鋼鐵人的方舟反應爐 - 2024/09/19
- 【白皮書導讀】嵌入式AI落地,ARM NPU工作架構剖析 - 2024/01/09
- AI PC市場大餅浮現,Intel、AMD為開發者做好準備了? - 2023/12/20