配置: 運動偵測

關於

移動偵測監看您的攝影機串流是否有位移,使 Agent DVR 能夠只在實際發生狀況時進行錄影並發送警示。這樣做可以節省磁碟空間,讓影片檢視速度快得多,並且在有人進入您的車道或車輛駛到外面時通知您。

Agent DVR 中的移動偵測在啟動警報和協助AI 處理中起著關鍵作用。您可以設定 Agent DVR 在偵測到移動時或觸發警示時進行錄影。若要設定這些選項,請前往錄影中選單並參考模式設定。此外,移動偵測也可用來啟動各種動作。

請注意,移動偵測有時可能因為無法區別實際物體位移和環境因素(如風聲、雨或亮度變化)而導致誤報警示。若要縮小此類誤報警示,您可以透過將 Agent DVR 與 CodeProject.AI 整合來增強移動偵測的準確性,以進行更精密的警示過濾。

設定移動偵測

移動偵測區域讓您可以將偵測集中在重要的區域,例如門道、車道或花園小徑,同時忽略繁忙的區域,例如道路或搖曳的樹木,這些會導致誤報。

Agent DVR 中的動態偵測器區域控制項可以透過編輯攝影機並從右上角選單中選擇 偵測器來存取。若要設定偵測器,您首先要定義要監控的區域。Agent DVR 支援最多 9 個區域,每個區域以不同顏色表示,可以透過 [區域] 下拉式清單選擇。若要建立區域,請點擊筆工具 ,然後在影片預覽上繪製。使用滑鼠左鍵或觸控進行繪製,在桌面上,使用滑鼠右鍵擦除。筆尖工具 調整繪製筆尖的大小,而橡皮擦工具 移除繪製的區域。重設工具 可用於使用選定的區域填滿整個區域。Agent DVR 隨後會監控這些彩色區域是否有移動。

  • 已啟用:切換偵測器的使用。
  • 偵測器:選擇移動偵測器類型並使用 按鈕進行設定。各種動態偵測器在其各自的章節中進行說明。
  • 覆蓋層:在即時影像上顯示或隱藏動作偵測覆蓋層。
  • 顏色:調整動作偵測覆蓋層的顏色(不適用於所有偵測器)。
  • 模糊:在即時影像中對偵測到的物件進行像素化,對隱私保護很有用。
  • 逾時時間:設定攝影機在偵測到移動停止後保持移動狀態的持續時間(以秒為單位,介於 1 到 60 之間,預設值為 3)。這有助於減少快速重複事件。

使用區域

區域對於 AI 偵測器(人臉/車牌/物件辨識)和物件追蹤偵測器(例如繞線、速度、物件追蹤)至關重要。您可以在偵測器組態中選擇哪些區域將觸發警報,或為特定區域的警報指定 動作。

簡易偵測器在所有區域都偵測到足夠的移動時啟動警報。

某些偵測器類型不使用區域設定,例如 MQTT、ONVIF 或透過 API 呼叫觸發的移動偵測。

使用移動偵測區域

移動偵測區域是可設定的區域群組,您可以命名並儲存以供日後使用。若要將您目前的移動偵測區域組態儲存為新的區域,請點擊區域旁邊的編輯圖示。這些工具可讓您新增、編輯和刪除區域。

若要在將 PTZ 攝影機移動到 PTZ 預設位置時套用移動偵測區域(使用 Agent DVR 使用者介面):

  • 建立並儲存新的移動偵測區域組態,並指定特定名稱,例如「carpark」。
  • 新增動作:

    時間:「已套用 PTZ 預設值」
    選擇 PTZ 預設命令(例如「前往預設值 1」)。注意:您的攝影機必須支援 PTZ 預設值,此功能才能運作。
    點擊以新增工作項目:
    工作項目:「設定移動偵測區域」
    選擇您的新區域(「carpark」)。
    點擊確定兩次。現在,每當您選擇預設值,或 Agent DVR 透過排程或其他事件設定預設值時,這個移動偵測區域將自動套用。

您也可以使用排程器修改動態偵測器區域。此功能可讓您根據一天中的時間、星期或特定日期設定不同的移動偵測區域組態。

簡易偵測器

簡易模式

簡易偵測器可識別攝影機視場內任何類型的位移。它使用非常少的 CPU(只有 ONVIF 偵測器使用更少,它依賴於攝影機本身)。偵測到的位移會以紅色突出顯示,讓您可以輕鬆識別場景中的位移來源。對於大多數攝影機來說,這是一個不錯的預設值選擇,並且與 AI 伺服器搭配效果良好,可篩選掉誤報警報。

  • 進階設定:如需其他設定和選項,請參閱下方的進階設定區段。
  • 靈敏度:調整觸發偵測所需的位移等級。同時設定最小值和最大值可以精化偵測;例如,最大值設為 80 可幫助忽略大規模亮度變化。滑桿下方的數字代表變化的像素百分比。
  • 增益:對變化的像素套用倍數以增加或降低位移偵測的靈敏度。

HAAR 物件偵測器

此方法使用稱為 HAAR 級聯的檔案來識別影片進度中的物件。不過,搭配 AI 伺服器使用簡易偵測器可能會獲得更好的結果。

  • 幀大小:選擇用於處理的幀大小。較小的幀會減少 CPU 使用量,但準確度可能較低。
  • 偵測間隔:設定幀處理的頻率,單位為毫秒。例如,200 等於每秒 5 次,1000 等於每秒 1 次。
  • 寬度限制和高度限制:定義 Agent DVR 偵測的物件大小範圍,以幀寬度或高度的百分比表示。調整這些滑桿將在影片上顯示覆蓋層,指示所針對的物件大小範圍。
  • 使用 GPU:使用 GPU 進行處理的選項,僅在您的 GPU 支援 Cuda 且已安裝必要驅動程式時可用。
  • 檔案:選擇 HAAR 級聯檔案以設定物件偵測器。預設檔案提供用於偵測臉部和貓臉部。
  • 觸發條件和警號數量:根據偵測到的物件數量,設定 Agent DVR 以產生警報。例如,若要在識別到臉部時觸發警示,請將條件設定為「大於」,警號數量設定為 0。
  • 警示區域:指定要包含在監視區域中的移動偵測區域。
  • 檢查角落:如需詳細資訊,請參閱 檢查角落。

角落檢查

Agent DVR 使用精密的方法來判斷偵測到的物件是否應該根據您的區域組態觸發警報或動作。它的做法是檢查偵測物件的置中點,以及選擇性地檢查從物件邊界框擴展到各角落的網格。您可以設定一個百分比來調整此功能,該百分比代表從置中點到邊界框角落的距離,用於區域檢查。基本上,設定值為 0 表示只檢查置中點,100 表示檢查到所有角落,50 表示檢查置中點與邊界矩形各角落之間的中點。如果您收到許多事件通知,但物件似乎不在指定的區域內,那麼將「檢查角落」設定為 0 可能會很有幫助。

MQTT

您可以從 MQTT 伺服器啟動移動偵測。首先,確保您已正確設定 MQTT。然後,若要觸發物件偵測,只需將偵測器組態螢幕中指示的命令傳遞至 伺服器/指令 通道,其中伺服器是您的伺服器名稱(顯示在伺服器功能表中,您可以在設定中編輯)。此整合可實現更靈活且反應迅速的移動偵測系統,發揮 MQTT 伺服器的功能。

ONVIF

許多符合 ONVIF 標準的裝置都配備了自己的移動偵測功能。當您選擇此模式並將其與支援 ONVIF 的攝影機配對(在 Agent 中使用 ONVIF 連線類型)時,Agent DVR 將依賴裝置本身來提供移動偵測事件,並根據這些事件觸發動作。由於分析在攝影機上進行,這是對伺服器 CPU 負擔最輕的選項。如果您遇到此功能的任何問題,建議檢查日誌(可在本機伺服器的 /logs.html 存取),因為您的攝影機可能不支援 ONVIF 偵測。如需有關設定這些設定的詳細資訊,請參閱 伺服器 ONVIF 設定。

  • 事件逾時時間:在重設移動偵測狀態前等待的時間(以秒為單位)。將此值設定為高於您攝影機的事件通知間隔。

人偵測器

此方法採用專門設計用於偵測行人的專用演算法。不過,您可能會發現使用簡易偵測器並整合用於警示過濾的 AI 能提供更好的效果。

  • 使用 GPU: 決定是否使用 GPU 進行處理,只有在您的 GPU 支援 Cuda 且已安裝必要驅動程式時才可用。
  • 幀大小: 選擇用於處理的幀大小。請注意,較小的幀對 CPU 的消耗較少,但可能會產生較不準確的結果。
  • 偵測間隔: 設定幀處理的頻率,單位為毫秒。例如,200 等於每秒 5 次,而 1000 等於每秒 1 次。
  • 觸發條件和警號數量: 根據偵測到的人數設定產生警示的條件。例如,若要在偵測到人員時觸發警示,請將條件設定為「大於」並在警號數量欄位中輸入 0。
  • 警示區域: 選擇應在偵測區域內監控的特定移動偵測區域。
  • 檢查角落: 如需更詳細的設定,請參閱檢查角落。
  • 置信度: 偵測計數所需的最低置信度等級。

Reolink

某些 Reolink 攝影機提供一個 API 端點,Agent DVR 可以輪詢該端點以接收移動偵測或 AI 警示狀態。如果您的攝影機支援此功能,您可以使用此偵測器。若要檢查您的攝影機是否具有此功能,請嘗試存取 URL:http://[IP ADDRESS]/api.cgi?cmd=GetMdState&channel=0&rs=Get&user=[USERNAME]&password=[PASSWORD](將 [IP ADDRESS]、[USERNAME] 和 [PASSWORD] 替換為您的攝影機 IP 位址和登入認證)。成功連線將傳回 JSON 格式的文字,而不是錯誤頁面。

  • 間隔:決定 Agent DVR 輪詢您的攝影機以取得警示或移動偵測資料的頻率。
  • 通道:要輪詢的通道。獨立攝影機使用 0;NVR 上的通道可能不同。
  • 模式:在「移動偵測」和「AI」之間選擇。兩種模式都會在 Agent DVR 中觸發動態偵測器事件,可用於錄影(將錄影模式設定為偵測)。「AI」選項在攝影機識別特定物件類別(例如 dog_cat、face、people、vehicle)時觸發移動偵測。
  • 使用 SSL:透過 HTTPS 連線至攝影機。

您可以設定動作以在偵測到標記為 dog_cat、face、people 或 vehicle 的物件時執行工作。

注意:若要啟用 AI 功能,您可能需要在攝影機的網際網路介面中啟用追蹤,並設定最小和最大物件大小參數。Agent DVR 之後將使用 Reolink 識別的物件標記您的錄影片段。

Hikvision

Hikvision 攝影機提供 ISAPI 端點,Agent DVR 可以監控該端點以接收動態或 AI 警示狀態。如果您的攝影機支援此功能,您可以使用此偵測器。檢查您攝影機的文件以查看是否支援此功能。

  • 使用 SSL:是否為連線使用 SSL。
  • 通訊埠:Agent 將根據「使用 SSL」使用通訊埠 80 或 443,但您可以在此覆寫該設定。
  • 通道:您的攝影機正在使用的通道 - 對於攝影機來說通常是 1,但如果您有 Hikvision NVR,可能會有所不同
  • 靈敏度:動態偵測器的值範圍為 0 (靈敏度最低) 到 100 (靈敏度最高)。

注意:當此偵測器啟動時,Agent DVR 會在攝影機上啟用動態偵測,並對其套用上述「靈敏度」值。它不會變更攝影機上的任何其他設定 - 偵測區域、排程和智慧事件組態保持原樣。如果您不想變更靈敏度,請將滑桿設定為與攝影機上已配置的值相符。如果您根本不想讓 Agent DVR 寫入攝影機,請改用ONVIF 偵測器,該偵測器僅監聽事件。

這些攝影機也可以偵測其他事件 (例如越線偵測、入侵、逗留或區域入口)。Agent DVR 將每個事件對應到具名的類別,並引發使用該類別名稱標記的「AI 物件偵測到」事件,例如:越線偵測、入侵偵測、區域入口、區域出口、逗留、停泊、無人看管的行李。在「AI 物件偵測到」下新增動作,並使用這些標籤進行篩選。若要查看您的攝影機產生的事件,請在「伺服器設定」中將「日誌紀錄」設定為「偵錯」,並檢查伺服器功能表中的日誌。

若要僅在偵測到人時取得警示:在攝影機自己的網頁 UI 中,啟用智慧事件 (例如入侵偵測或越線偵測),並將目標類型設定為「人」(在 AcuSense 模型上),然後在「AI 物件偵測到」上新增動作,並按該事件的標籤進行篩選。或者,使用 Agent DVR 自己的物件辨識與人物篩選器 - 這適用於任何偵測器和任何攝影機。

與 ONVIF 偵測器相比:ONVIF 報告通用的動態開/關,且永不修改攝影機的組態,而 Hikvision 偵測器會顯示攝影機的各個智慧事件類型,以便您可以分別對它們採取行動。在 Hikvision 攝影機上,如果您想要攝影機的 AI 事件,請使用此偵測器;如果您只想要基本動態偵測,請使用 ONVIF。

速度檢測

此方法採用您提供的場景資訊來追蹤移動物件、估算其速度,並在物件移動過快或過慢時產生警示。

  • 進階設定:如需更多詳細設定,請參考下方的進階設定區段。
  • 寬度限制和高度限制:定義場景中物件偵測的尺寸範圍,數值以場景寬度或高度的百分比表示。調整這些滑桿會在影片上顯示覆蓋層,指示物件的目標尺寸範圍。
  • 最小移動距離:設定物件必須移動的最小距離才能視為移動中,以場景寬度的百分比為基礎。
  • 最短時間:指定物件必須保持移動的時間持續時間才能被追蹤,以十分之一秒為單位(例如,1 = 0.1 秒,10 = 1 秒)。
  • 速度單位:選擇覆蓋層的首選速度測量單位。
  • 速度限制:確定速度偵測的下限和上限。超出此範圍的移動將觸發移動偵測事件。
  • 水平和垂直距離:輸入場景中的總距離(以公尺為單位)。Agent DVR 使用此測量值來計算移動物件的速度。
  • 警示區域:選擇監控區域中包含的移動偵測區域。
  • 檢查角落:如需其他設定,請參考檢查角落。

物件追蹤

此偵測器識別並追蹤移動中的物件,根據物件在場景中的停留時間及其移動距離來觸發移動偵測事件。

  • 進階設定:如需更詳細的設定和選項,請參考下方的進階設定區段。
  • 寬度限制和高度限制:指定物件偵測的尺寸範圍,數值以場景寬度或高度的百分比表示。調整這些滑桿時,會在影片上覆蓋顯示目標物件尺寸範圍的視覺表示。
  • 最小移動距離:定義物件被識別為移動物件所必須移動的最小距離,相對於場景的寬度。
  • 最短時間:設定物件被視為移動所需的最短時間持續時間,單位為十分之一秒(例如:1 = 0.1 秒,10 = 1 秒)。
  • 顯示總數:在即時影像中新增計數器,以追蹤移動物件。
  • 熱力圖:透過在追蹤物件上新增線條,將移動模式在一段時間內視覺化。
  • 警示區域:選擇應納入監控區域的移動偵測區域。
  • 檢查角落:如需其他資訊,請參考檢查角落。

當 Agent DVR 監控及追蹤場景中的移動時,會在偵測到的物件周圍顯示彩色矩形。這些顏色的含義如下:

  • 白色:物件剛被偵測到且正在評估中。
  • 黃色:物件在多個影格中被偵測到。
  • 橘子色:物件的移動時間至少符合追蹤設定中指定的最短時間。
  • 紅色:物件符合所有追蹤需求以觸發移動偵測事件。

絆線

此偵測器可識別並追蹤移動物件,當物件穿過場景中預先定義的絆線時會觸發移動偵測事件。將其用於線條穿越偵測,例如當有人穿過圍籬線或從大門進入時獲得警示。若要新增絆線,只需在即時影像上點擊並拖曳。您最多可以建立 10 條絆線。若要移除絆線,請點擊並拖曳其中一個點移出場景。

方向:絆線具有方向性,由箭頭表示 (v7.7.4.0+)。沿著絆線從開始繪製的點指向箭頭的方向看,左側和右側是絆線的兩側;編輯器將其標記為 L 和 R。物件穿過到左側是左側穿越,穿過到右側是右側穿越。若要交換哪一側是哪一側,請拖曳絆線的兩個端點以交換它們,或將其刪除並以相反方向重新繪製。這對水平、垂直和對角線絆線的工作方式相同。v7.7.4.0 之前繪製的絆線保持它們原有的左側/右側行為。

  • 進階設定:如需更詳細的設定和選項,請參考下方的進階設定區段。
  • 寬度限制和高度限制:設定要偵測的物件尺寸範圍,其值以場景寬度或高度的百分比表示。調整這些滑桿會在影片上覆蓋一個目標尺寸範圍的視覺表示。
  • 最小移動距離:指定物件必須移動的最小距離才能被識別為移動物件,相對於場景的寬度。
  • 最短時間:定義物件必須處於移動狀態才能被追蹤的最小時間持續時間,以十分之一秒為單位(例如 1 = 0.1 秒,10 = 1 秒)。
  • 重複觸發:啟用此選項可允許物件多次觸發同一條絆線。根據預設值,物件只能觸發一次絆線。
  • 計數方向:計數物件朝此方向穿過絆線的次數:左側、右側、兩者皆是 (分別計算左側和右側計數) 或總計 (一個合併計數)。計數顯示在即時影像上每條絆線旁邊,可以匯出 (請參閱下方)。設為「無」以停用計數。
  • 重設計數:將所有穿越計數器重設為零。當攝影機重新啟動時,計數器也會重設。
  • 警示方向:當絆線朝此方向被穿過時產生警示,或兩者皆是以取得任何方向。設為「無」以在不警示的情況下計數。
  • 警示區域:選擇監控區域中包含的移動偵測區域。
  • 檢查角落:如需其他資訊,請參考檢查角落。

計數人員和匯出計數

若要計數通過門道或閘門的人員 (或車輛),將計數方向設為兩者皆是,並在門道上繪製絆線,使得「進入」在一側,「離開」在另一側;編輯器中的 L 和 R 標籤顯示哪一側是哪一側。當被追蹤物件的中心越過絆線時,會記錄穿越。在物件符合最短時間和最小移動距離要求之前發生的穿越會被保留,並在物件符合要求後立即計算,因此靠近場景邊緣的絆線仍然有效,但請盡可能在兩側給予絆線足夠的空間,並為繁忙的門道保持最小移動距離和最短時間較低。(v7.7.4.0+)

計數可用於三個位置:

  • 動作標籤:在攝影機上的任何動作中使用 {TRIPCOUNT}、{TRIPCOUNTLEFT}、{TRIPCOUNTRIGHT} 和 {TRIPJSON},例如警示事件上的 MQTT 或呼叫網址 (URL) 工作。將上方的警示方向設為您想要執行的方向,並在攝影機的警報分頁上,將重設模式設為間隔 (間隔為 1 秒),以便連續穿越不會合併成一個警示 (預設 60 秒會忽略在一分鐘內跟隨的任何人)。
  • MQTT 事件:在攝影機上啟用 MQTT 事件後,每次計數的穿越都會將訊息發佈到 SERVER/cameras/NAME/tripwire (包含絆線編號、方向和執行總計),目前的總計會發佈 (保留) 到 SERVER/cameras/NAME/tripwire_left、tripwire_right 和 tripwire_total。請參閱自動 MQTT。
  • Home Assistant:啟用 Home Assistant 探索後,攝影機會取得計數左側、計數右側和計數總計感測器。

若要從自動化 (例如午夜) 重設計數器,請呼叫 API 指令 resettripwires,例如

http://localhost:8090/command/resettripwires?ot=2&oid=1
或透過 MQTT 傳送 cmd=resettripwires&ot=2&oid=1。

通過 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 使用量,但準確度最低。
  • CSRT: 最準確的選項,但使用更多 CPU(預設值)。
  • 最大物件數量: 設定同時追蹤的物件數量限制。物件越多,CPU 使用量越高。
  • 偵測間隔: 定義用於移動偵測的幀處理頻率,以毫秒為單位(例如,200 表示每秒 5 次,1000 表示每秒 1 次)。
  • 追蹤間隔: 設定追蹤器處理頻率。較高的間隔可能會遺漏快速移動的物件(例如,200 表示每秒 5 次,1000 表示每秒 1 次)。
  • 像素穩定性: 決定像素被視為穩定所需的樣本數,以及像素因保持相同顏色而可獲得的最大「積分」。這些設定對於有效的背景消除和移動偵測至關重要。 更多資訊
  • 使用歷史記錄: 啟用此選項以識別場景中持續移動的物件。除非必要,否則通常建議保持停用狀態。
  • 平行處理: 在移動偵測演算法中啟用平行處理。建議保持啟用狀態。
  • 追蹤逾時設定: 指定等待物件重新出現的時間(以秒為單位),逾時後停止追蹤。
  • 超時設定: 設定等待靜止物件再次移動的持續時間(以秒為單位),逾時後停止追蹤。
提示!影像中的噪聲可能會影響追蹤結果。將幀大小設定為小型可模糊化噪聲並改善追蹤結果。