配置: 運動偵測

關於

在Agent中,運動偵測在啟動警報和促進AI處理方面起著關鍵作用。您可以配置Agent在偵測到運動時或觸發警報時進行錄製。要設置這些選項,請導航到錄製菜單並參考模式設置。此外,運動偵測還可用於激活各種操作

需要注意的是,由於運動偵測無法區分實際物體運動和環境因素(如風、雨或亮度變化),因此有時可能會導致虛假警報。為了減少此類虛假警報,您可以通過將Agent與CodeProject.AI整合以提高運動偵測的準確性,從而實現更複雜的警報過濾。

設置動態偵測

在Agent中,可以通過編輯攝像機並從右上角菜單中選擇檢測器來訪問運動檢測區域控制。要設置檢測器,首先需要定義要監視的區域。Agent支持最多9個區域,每個區域由不同的顏色表示,可以通過區域下拉菜單進行選擇。要創建一個區域,請單擊筆工具並在視頻預覽上繪製。使用左鍵或觸摸進行繪製,在桌面上使用右鍵進行擦除。筆尖工具可以調整繪製筆尖的大小,橡皮擦工具可以刪除已繪製的區域。重置工具可用於將整個區域填充為所選區域。然後,Agent會監視這些彩色區域以檢測運動。

  • 啟用:切換檢測器的使用。
  • 檢測器:選擇運動檢測器類型並使用“…”按鈕進行配置。各種運動檢測器在各自的部分中有詳細說明。
  • 顏色:調整運動檢測覆蓋的顏色(不適用於所有檢測器)。
  • 超時:設置在檢測到運動停止後攝像機保持運動狀態的持續時間(以秒為單位,介於1和60之間,默認值為3)。
使用區域

區域對於AI檢測器(人臉/車牌/物體識別)和物體跟踪檢測器(如警戒線、速度、物體跟踪)非常重要。您可以在檢測器配置中選擇哪些區域將觸發警報,或為特定區域的警報指定操作

簡單檢測器會在所有區域檢測到足夠運動時觸發警報。

某些檢測器類型不使用區域設置,例如MQTT、ONVIF或通過API調用觸發的運動。

使用動態區域

運動區域是可配置的區域組,您可以為其命名並保存以供將來使用。要將當前的運動區域配置保存為新區域,請點擊 區域 旁邊的編輯圖標。這些工具允許您添加、編輯和刪除區域。

在將 PTZ 攝像機移動到 PTZ 預設位置時應用運動區域(使用 Agent UI):

  • 創建並保存一個具有特定名稱(例如 "carpark")的新運動區域配置。
  • 添加一個新的 操作

    如果:「PTZ 預設應用」
    選擇 PTZ 預設命令(例如「前往預設 1」)。注意:您的攝像機必須支持 PTZ 預設才能正常工作。
    點擊添加任務:
    任務:「設置運動檢測區域」
    選擇您的新區域(「carpark」)。
    點擊兩次確定。現在,每當您選擇該預設位置,或者如果 Agent 通過排程或其他事件設置該預設位置,此運動區域將自動應用。

您還可以使用 排程器 修改運動檢測器區域。此功能根據白天、星期或特定日期的不同,允許使用不同的運動區域配置。

簡易偵測器

簡單

簡單的檢測器專注於識別攝像機視野內的任何移動。它是檢測器中最節能的選項,僅次於ONVIF檢測器。檢測到的移動以紅色突出顯示,讓您可以輕鬆辨別場景中的移動來源。

  • 進階:有關其他設置和選項,請參閱下面的進階部分
  • 靈敏度:調整觸發檢測所需的運動級別。設定最小值和最大值可以精確檢測,例如,最大值為80可以幫助忽略大範圍的亮度變化。滑塊下的數字表示像素變化的百分比。
  • 增益:對變化的像素應用乘法器,以增加或降低運動檢測的靈敏度。

HAAR 物件偵測器

此方法使用稱為HAAR級聯的文件來識別視頻中的物體。然而,您可以通過使用簡單的物體檢測器並設置AI伺服器來獲得更好的結果。

  • 幀大小:選擇用於處理的幀大小。較小的幀可以減少CPU使用率,但可能不太準確。
  • 檢測間隔:設置幀處理的頻率,以毫秒為單位。例如,200表示每秒5次,1000表示每秒1次。
  • 寬度限制和高度限制:定義Agent檢測的物體的大小範圍,以幀的寬度或高度的百分比表示。調整這些滑塊將在視頻上顯示疊加,指示正在定位的物體的大小範圍。
  • 使用GPU:選擇是否使用GPU進行處理,僅在您的GPU支持Cuda並安裝了必要的驅動程序時可用。
  • 文件:選擇HAAR級聯文件以配置物體檢測器。提供了用於檢測人臉和貓臉的默認文件。
  • 警報條件和警報數量:根據檢測到的物體數量配置Agent生成警報。例如,要在識別到一張臉時觸發警報,將條件設置為“大於”並將警報數量設置為0。
  • 警報區域(v4.4.8.0+):指定要包含在監控區域中的運動區域。
  • 檢查角落:有關詳細信息,請參閱檢查角落

角落檢查

Agent 使用一種複雜的方法來判定是否應該根據您的區域配置來觸發警報或動作。它通過檢查檢測到的物體的中心點以及(可選)擴展到物體邊界框角落的網格來實現這一點。您可以通過設置一個表示從中心點到邊界框角落的距離的百分比來調整此功能,從而調整此功能。基本上,設置為 0 表示只檢查中心點,100 表示檢查所有角落,50 表示檢查中心點和邊界矩形的每個角之間的中點。如果您收到許多事件通知,而物體似乎不在指定的區域內,那麼將「檢查角落」設置為 0 可能會有益。

MQTT

您有能力從您的MQTT伺服器啟動運動偵測。首先,請確保您已適當設置MQTT。然後,要觸發物件偵測,只需將顯示在偵測器配置畫面中的命令傳遞到SERVER/commands通道,其中SERVER是您的伺服器名稱(顯示在您可以在設置中編輯的伺服器選單中)。此整合可實現更多功能且反應更快的運動偵測系統,充分利用您的MQTT伺服器的功能。

ONVIF

許多支援ONVIF的設備都配備了自己的運動偵測功能。當您選擇此模式並將其與支援ONVIF的攝像機配對(在Agent中使用ONVIF連接類型),Agent將依賴於設備本身提供的運動偵測事件並根據其觸發動作。如果您在使用此功能時遇到任何問題,建議檢查日誌(在本地伺服器上的/logs.html可訪問),因為您的攝像機可能不支援ONVIF偵測。有關配置這些設置的更多信息,請參閱伺服器ONVIF設置

人員偵測器

這種方法使用了一種專門設計用於檢測行人的算法。然而,您可能會發現使用簡單的物體檢測器並集成Deepstack AI 進行警報過濾會獲得更好的結果。

  • 使用 GPU:決定是否使用 GPU 進行處理,僅在您的 GPU 支持 Cuda 且已安裝必要的驅動程序時可用。
  • 幀大小:選擇處理的幀大小。請注意,較小的幀對 CPU 的需求較低,但可能產生較不準確的結果。
  • 檢測間隔:設定幀處理的頻率,以毫秒為單位。例如,200 表示每秒 5 次,而 1000 表示每秒一次。
  • 警報條件和警報數量:根據檢測到的物體數量配置生成警報的標準。例如,要在識別到人臉時觸發警報,將條件設置為“大於”並在警報數量字段中輸入 0。
  • 警報區域(v4.4.8.0+):選擇應在檢測區域內進行監控的特定運動區域。
  • 檢查角落:有關更詳細的設置,請參閱檢查角落

Reolink

一些 Reolink 攝影機提供一個 API 端點,Agent 可以輪詢以接收運動或 AI 警報狀態。如果您的攝影機支援此功能,您可以利用此偵測器。要檢查您的攝影機是否具有此功能,請嘗試訪問以下 URL:`http://[IP ADDRESS]/api.cgi?cmd=GetMdState&channel=0&rs=Get&user=[USERNAME]&password=[PASSWORD]`(將 `[IP ADDRESS]`、`[USERNAME]` 和 `[PASSWORD]` 替換為您攝影機的 IP 地址和登錄憑證)。成功連接將返回 JSON 格式的文本,而不是錯誤頁面。

  • 間隔: 確定 Agent 輪詢您的攝影機以獲取警報或運動數據的頻率。
  • 模式: 選擇 '運動' 和 'AI' 之間。兩種模式都會觸發 Agent 中的運動檢測事件,可用於錄製(將錄製模式設置為檢測)。'AI' 選項將在攝影機識別特定對象類別(例如 dog_cat、face、people、vehicle)時觸發運動檢測。

您可以配置動作以在偵測到被標記為 dog_cat、face、people 或 vehicle 的對象時執行任務,從版本 4.6.6.0 開始。

注意:要啟用 AI 功能,您可能需要在攝影機的 Web UI 中啟用追踪並設置最小和最大對象大小參數。然後,Agent 將使用 Reolink 識別的對象標記您的錄製。

速度偵測

此方法利用您提供的場景信息來追蹤移動物體,估計它們的速度,並在物體移動過快或過慢時生成警報。

  • 進階設置:有關更詳細的設置,請參閱下方的進階部分
  • 寬度限制和高度限制:定義場景中物體檢測的大小範圍,值以場景寬度或高度的百分比表示。調整這些滑塊將在視頻上顯示疊加,指示物體的目標大小範圍。
  • 最小移動距離:根據場景寬度的百分比設置物體被視為運動的最小距離。
  • 最小時間:指定物體必須保持運動的時間長度,以十分之一秒為單位(例如,1 = 0.1秒,10 = 1秒)。
  • 速度測量:選擇首選的速度測量單位以進行疊加。
  • 速度限制:確定速度檢測的下限和上限。超出此範圍的運動將觸發運動檢測事件。
  • 水平和垂直距離:輸入場景的總距離(以米為單位)。Agent使用此測量值來計算移動物體的速度。
  • 警報區域(v4.4.8.0+):選擇包含在監控區域中的運動區域。
  • 檢查角落:有關其他設置,請參閱檢查角落

物體追蹤

此檢測器識別並追蹤移動物體,根據其在場景中存在的時間和移動距離觸發運動檢測事件。

  • 進階:有關更詳細的設置和選項,請參閱下面的進階部分
  • 寬度限制和高度限制:指定物體檢測的大小範圍,值以場景寬度或高度的百分比給出。調整這些滑塊將在視頻上疊加目標物體大小範圍的可視化表示。
  • 最小移動距離:定義物體必須移動的最小距離,相對於場景的寬度。
  • 最小時間:設置物體必須保持運動的最小時間長度,以十分之一秒為單位(例如,1 = 0.1秒,10 = 1秒)。
  • 顯示總數:在實時視頻中添加計數器以跟踪移動物體。
  • 熱度圖:通過為追蹤的物體添加線條,可視化隨時間變化的運動模式。
  • 警報區域(v4.4.8.0+):選擇應包含在監控區域中的運動區域。
  • 檢查角落:有關詳細信息,請參閱檢查角落

當 Agent 監視和追蹤場景中的運動時,它會在檢測到的物體周圍顯示彩色矩形。顏色的含義如下:

  • 白色:剛檢測到的物體,正在考慮中。
  • 黃色:連續幾幀檢測到的物體。
  • 橙色:物體已移動至少運動設置中指定的最小時間。
  • 紅色:物體已滿足所有追蹤要求,觸發運動檢測事件。

行程線

此檢測器能夠識別和追蹤移動物體,當它們穿過場景中預定義的觸發線時,會觸發運動檢測事件。要添加觸發線,只需在實時視頻上點擊並拖動。您可以根據需要創建多個觸發線。要刪除觸發線,只需將其點之一拖出場景即可。

  • 進階:有關更詳細的設置和選項,請參閱下面的進階部分
  • 寬度限制和高度限制:設定要檢測的物體的大小範圍,值以場景寬度或高度的百分比表示。調整這些滑塊將在視頻上疊加目標大小範圍的視覺表示。
  • 最小行進距離:指定物體必須移動的最小距離,相對於場景的寬度。
  • 最小時間:定義物體必須保持運動的最小時間長度,以十分之一秒為單位(例如,1 = 0.1秒,10 = 1秒)。
  • 重複觸發:啟用此功能可允許物體多次觸發同一個觸發線。默認情況下,物體只能觸發一次觸發線。
  • 計數:顯示物體穿過觸發線的次數,以及穿越的方向。選項包括計算左邊、右邊、兩側或總穿越次數。
  • 警報:配置系統在觸發線以指定方向或任意方向被穿越時生成警報。
  • 警報區域(v4.4.8.0+):選擇包含在監控區域中的運動區域。
  • 檢查角落:有關詳細信息,請參閱檢查角落

透過 API

要使用API調用來啟動攝像機的運動檢測,您需要指定對象類型(ot)和對象ID(oid)。例如,對於一個攝像機(ot=2)並且ID為1(oid=1 — 編輯設備時在編輯控制項的頂部顯示此ID),API調用的格式如下:
http://localhost:8090/command/detect?ot=2&oid=1

高級設定

檢測器的默認設置通常適用於大多數場景,但如果需要,您可以對其進行微調以提高性能。

  • 分析器:當前可用的分析器是CNT背景減除器,以其高準確性和低CPU使用率而聞名。
  • 幀大小:選擇處理的幀大小。較小的幀可以減少CPU使用率,但可能會降低準確性。
  • 跟踪器:選擇用於物體跟踪的OpenCV跟踪器。選項包括:
    • Mosse:該跟踪器提供最低的CPU使用率,但準確性最低(默認)。
    • KCF:比Mosse更準確,但稍微更耗CPU。
    • CSRT:最準確的選項,但也使用最多的CPU。適用於具有挑戰性的跟踪情況。
  • 最大物體數量:設定同時跟踪的物體數量上限。物體越多,CPU使用率越高。
  • 檢測間隔:定義運動檢測的幀處理頻率,以毫秒為單位(例如,200表示每秒5次,1000表示每秒1次)。
  • 跟踪間隔:設定跟踪器的處理頻率。較高的間隔可能會丟失快速移動的物體(例如,200表示每秒5次,1000表示每秒1次)。
  • 像素穩定性:確定將像素視為穩定的樣本數量以及像素保持相同顏色的最大“信用”。這些設置對於有效的背景減除和運動檢測至關重要。 更多信息
  • 使用歷史記錄:啟用此功能以了解場景中持續移動的物體。通常建議除非必要,否則保持禁用。
  • 並行處理:在運動檢測算法中啟用並行處理。建議保持啟用。
  • 跟踪超時:指定等待物體重新出現的時間(以秒為單位),然後停止跟踪它。
  • 運動超時:設定等待靜止物體再次移動的持續時間(以秒為單位),然後停止其跟踪。