Configurazione: Rilevamento del movimento
Informazioni
Il rilevamento del movimento monitora i flussi della tua telecamera per individuare movimenti in modo che Agent DVR possa registrare e avvisare solo quando accade effettivamente qualcosa. Questo consente di risparmiare spazio su disco, rende la visione dei filmati molto più rapida e può notificarti nel momento in cui qualcuno entra nel tuo vialetto o un veicolo si avvicina.
Il rilevamento del movimento in Agent DVR svolge un ruolo cruciale nell'avvio di Avvisi e nella facilitazione dell'elaborazione AI. Puoi configurare Agent DVR per registrare al rilevamento del movimento o quando viene attivato un avviso. Per configurare queste opzioni, vai al menu Registrazione e consulta l'impostazione Modalità. Inoltre, il rilevamento del movimento può essere utilizzato per attivare varie Azioni.
È importante notare che il rilevamento del movimento può talvolta causare falsi avvisi a causa della sua incapacità di distinguere tra il movimento effettivo degli oggetti e fattori ambientali come il vento, la pioggia o le variazioni di luminosità. Per ridurre tali falsi avvisi, puoi migliorare l'accuratezza del rilevamento del movimento integrando Agent DVR con CodeProject.AI per un filtraggio degli avvisi più sofisticato.
Configurazione del rilevamento del movimento
Le zone di movimento ti permettono di concentrare il rilevamento sulle aree che contano, come una porta d'ingresso, un vialetto o un sentiero del giardino, ignorando aree affollate come strade o alberi che si muovono al vento che causano falsi allarmi.
Il controllo dell'area del rilevatore di movimento in Agent DVR è accessibile modificando una videocamera e selezionando Detector dal menu in alto a destra. Per configurare un rilevatore, inizi definendo le zone da monitorare. Agent DVR supporta fino a 9 zone, ciascuna rappresentata da un colore diverso, selezionabile tramite il menu a discesa Zone. Per creare una zona, fai clic sullo strumento penna e disegna sull'anteprima video. Usa il pulsante sinistro del mouse o il tocco per disegnare, e su desktop, il pulsante destro del mouse per cancellare. Lo strumento nib regola la dimensione della punta di disegno, mentre lo strumento gomma rimuove le aree disegnate. Lo strumento ripristina può essere utilizzato per riempire l'intera area con la zona selezionata. Agent DVR monitora quindi queste aree colorate per il movimento.
- Enabled: Attiva o disattiva l'uso del rilevatore.
- Detector: Scegli un tipo di rilevatore di movimento e configuralo usando il pulsante . I vari rilevatori di movimento sono spiegati nelle loro rispettive sezioni.
- Overlay: Mostra o nascondi l'overlay di rilevamento del movimento sul video dal vivo.
- Color: Regola il colore dell'overlay di rilevamento del movimento (non applicabile per tutti i rilevatori).
- Blur: Pixelizza gli oggetti rilevati nel video dal vivo, utile per la privacy.
- Timeout: Imposta la durata (in secondi, tra 1 e 60, il valore predefinito è 3) per la quale la videocamera rimane in uno stato di movimento dopo che il rilevamento del movimento si ferma. Questo aiuta a ridurre gli eventi che si ripetono rapidamente.
Utilizzo delle zone
Le zone sono fondamentali per i rilevatori AI (Riconoscimento volti/LPR/Oggetti) e i rilevatori di tracciamento degli oggetti (come tripwire, velocità, tracciamento degli oggetti). Puoi selezionare quali zone attiveranno un allarme nella configurazione del rilevatore, o specificare Azioni per gli allarmi in zone specifiche.
Il rilevatore semplice attiva un allarme se viene rilevato movimento sufficiente in tutte le zone.
Alcuni tipi di rilevatore non utilizzano le impostazioni della zona, come MQTT, ONVIF, o movimento attivato tramite chiamate API.
Utilizzando Aree di Movimento
Le aree di movimento sono gruppi configurabili di zone che puoi nominare e salvare per un uso futuro. Per salvare la tua configurazione corrente delle zone di movimento come una nuova area, fai clic sull'icona di modifica accanto a Area. Questi strumenti ti consentono di aggiungere, modificare ed eliminare aree.
Per applicare un'area di movimento quando sposti la tua telecamera PTZ in una posizione preimpostata PTZ (usando l'interfaccia utente di Agent):
- Crea e salva una nuova configurazione della zona di movimento con un nome specifico, come "parcheggio".
- Aggiungi una nuova Azione:
Se: "Applicata preimpostazione PTZ"
Seleziona il Comando di Preimpostazione PTZ (ad es., "Vai a Preimpostazione 1"). Nota: La tua telecamera deve supportare le preimpostazioni PTZ affinché ciò funzioni.
Fai clic per Aggiungere un Compito:
Compito: "Imposta Area Rilevamento Movimento"
Seleziona la tua nuova area ("parcheggio").
Fai clic su OK due volte. Ora, ogni volta che selezioni la preimpostazione, o se Agent imposta la preimpostazione tramite la pianificazione o un altro evento, questa area di movimento verrà applicata automaticamente.
Puoi anche modificare l'area del rilevatore di movimento utilizzando il Programmatore. Questa funzione consente diverse configurazioni delle zone di movimento a seconda dell'ora del giorno, della settimana o di date specifiche.
Semplice Rilevatore
Semplice
Il rilevatore semplice identifica qualsiasi tipo di movimento nel campo visivo della telecamera. Utilizza molto poca CPU (solo il rilevatore ONVIF, che si affida alla telecamera stessa, ne utilizza meno). I movimenti rilevati sono evidenziati in rosso, permettendoti di discernere facilmente la fonte del movimento nella scena. È una buona scelta predefinita per la maggior parte delle telecamere e si abbina bene con un server AI per filtrare i falsi allarmi.
- Avanzate: Per impostazioni e opzioni aggiuntive, consulta la sezione avanzata sottostante.
- Sensibilità: Regola il livello di movimento necessario per attivare il rilevamento. L'impostazione di valori minimi e massimi può affinare il rilevamento; ad esempio, un valore massimo di 80 potrebbe aiutare a ignorare i cambiamenti di luminosità su larga scala. I numeri sotto il cursore rappresentano la percentuale di pixel modificati.
- Guadagno: Applica un moltiplicatore ai pixel modificati per aumentare o diminuire la sensibilità del rilevamento del movimento.
Rilevatore di Oggetti HAAR
Questo metodo utilizza file noti come cascate HAAR per riconoscere oggetti nel flusso video. Tuttavia, potresti ottenere risultati migliori utilizzando il rilevatore semplice insieme a un AI Server.
- Dimensione Frame: Seleziona la dimensione del frame per l'elaborazione. Frame più piccoli riducono l'utilizzo della CPU ma potrebbero essere meno accurati.
- Intervallo Rilevamento: Imposta la frequenza di elaborazione dei frame, in millisecondi. Ad esempio, 200 equivale a 5 volte al secondo e 1000 equivale a una volta al secondo.
- Limiti Larghezza e Limiti Altezza: Definisci l'intervallo di dimensioni degli oggetti da rilevare per Agent DVR, espresso come percentuale della larghezza o altezza del frame. La regolazione di questi cursori visualizzerà una sovrapposizione sul video, indicando l'intervallo di dimensioni degli oggetti target.
- Usa GPU: Opzione per utilizzare la GPU per l'elaborazione, disponibile solo se la tua GPU supporta Cuda e i driver necessari sono installati.
- File: Scegli il file Cascata HAAR per configurare il rilevatore di oggetti. File predefiniti sono forniti per il rilevamento di volti e volti di gatti.
- Condizione Avviso e Numero Avviso: Configura Agent DVR per generare avvisi in base al rilevamento di oggetti a seconda del numero di oggetti rilevati. Ad esempio, per attivare un avviso al riconoscimento di un volto, imposta la condizione su "Più Di" e il Numero Avviso su 0.
- Zone Avviso: Specifica le zone di movimento da includere nell'area di monitoraggio.
- Controlla Angoli: Per ulteriori dettagli, consulta Verifica Angoli.
Verifica degli angoli
Agent utilizza un metodo sofisticato per determinare se gli oggetti rilevati dovrebbero attivare avvisi o azioni in base alla configurazione della zona. Fa ciò controllando il punto centrale dell'oggetto rilevato e, facoltativamente, una griglia che si espande fino agli angoli del rettangolo delimitatore dell'oggetto. È possibile regolare questa funzione impostando una percentuale che rappresenta la distanza dal punto centrale all'angolo del rettangolo delimitatore per i controlli di zona. Fondamentalmente, un'impostazione di 0 significa che viene controllato solo il punto centrale, 100 controlla fino a tutti gli angoli e 50 controlla fino ai punti medi tra il centro e ciascun angolo del rettangolo delimitatore. Se ricevi numerose notifiche di eventi in cui l'oggetto non sembra trovarsi all'interno della zona designata, impostare il Controllo degli angoli su 0 potrebbe essere vantaggioso.
MQTT
Possiedi la capacità di avviare il rilevamento del movimento dal tuo server MQTT. Per prima cosa, assicurati di aver configurato MQTT correttamente. Successivamente, per attivare il rilevamento degli oggetti, passa semplicemente il comando indicato nella schermata di configurazione del rilevatore al canale SERVER/comandi dove SERVER è il nome del tuo server (visualizzato nel menu del server che puoi modificare nelle Impostazioni). Questa integrazione consente un sistema di rilevamento del movimento più versatile e reattivo, sfruttando le capacità del tuo server MQTT.
ONVIF
Molti dispositivi compatibili con ONVIF dispongono di funzionalità di rilevamento del movimento integrate. Quando selezioni questa modalità e la abbini a una telecamera compatibile con ONVIF (utilizzando il tipo di connessione ONVIF in Agent), Agent DVR si affiderà al dispositivo stesso per fornire eventi di rilevamento del movimento e attivare azioni in base a quelli. Poiché l'analisi avviene sulla telecamera, questa è l'opzione più leggera per la CPU del server. Se riscontri problemi con questa funzionalità, è consigliabile controllare i log (accessibili su /logs.html sul server locale) poiché è possibile che la tua telecamera non supporti il rilevamento ONVIF. Per ulteriori informazioni sulla configurazione di queste impostazioni, fai riferimento a impostazioni ONVIF del Server.
- Event Timeout: Tempo in secondi da attendere prima di ripristinare lo stato del movimento. Impostarlo su un valore superiore all'intervallo di notifica degli eventi della telecamera.
Rilevatore di persone
Questo metodo utilizza un algoritmo specializzato progettato specificamente per rilevare i pedoni. Tuttavia, potresti scoprire che utilizzare il rilevatore semplice e integrare l'IA per il filtro degli avvisi fornisce risultati migliori.
- Usa GPU: Decidi se utilizzare la GPU per l'elaborazione, disponibile solo se la tua GPU supporta Cuda e i driver necessari sono installati.
- Dimensione frame: Seleziona la dimensione del frame per l'elaborazione. Tieni presente che i frame più piccoli richiedono meno CPU ma potrebbero produrre risultati meno accurati.
- Intervallo di rilevamento: Imposta la frequenza di elaborazione dei frame, in millisecondi. Ad esempio, 200 equivale a 5 volte al secondo, mentre 1000 equivale a una volta al secondo.
- Condizione di avviso e numero di avviso: Configura i criteri per generare avvisi in base al numero di persone rilevate. Ad esempio, per attivare un avviso quando viene rilevata una persona, impostare la condizione su "Più di" e immettere 0 nel campo Numero di avviso.
- Zone di avviso: Scegli le zone di movimento specifiche che devono essere monitorate all'interno dell'area di rilevamento.
- Controlla angoli: Per impostazioni più dettagliate, consulta Controllo degli angoli.
- Confidenza: Il livello di confidenza minimo richiesto affinché un rilevamento conti.
Reolink
Alcune telecamere Reolink offrono un endpoint API che Agent DVR può interrogare per ricevere stati di movimento o avvisi AI. Se la tua telecamera supporta questa funzione, puoi utilizzare questo rilevatore. Per verificare se la tua telecamera ha questa capacità, prova ad accedere all'URL: http://[IP ADDRESS]/api.cgi?cmd=GetMdState&channel=0&rs=Get&user=[USERNAME]&password=[PASSWORD] (sostituisci [IP ADDRESS], [USERNAME] e [PASSWORD] con l'indirizzo IP e le credenziali di accesso della tua telecamera). Una connessione riuscita restituirà testo in formato JSON anziché una pagina di errore.
- Intervallo: Determina la frequenza con cui Agent DVR interroga la tua telecamera per avvisi o dati di movimento.
- Canale: Il canale da interrogare. Utilizza 0 per telecamere standalone; i canali possono differire su un NVR.
- Modalità: Seleziona tra "Motion" e "AI". Entrambe le modalità attivano eventi del rilevatore di movimento in Agent DVR, che possono essere utilizzati per la registrazione (imposta la modalità di registrazione su Detect). L'opzione "AI" attiva il rilevamento del movimento se la telecamera identifica classi di oggetti specifiche (come dog_cat, face, people, vehicle).
- Usa SSL: Connettiti alla telecamera tramite HTTPS.
Puoi configurare azioni per eseguire attività quando vengono rilevati oggetti etichettati come dog_cat, face, people o vehicle.
Nota: Per abilitare la funzione AI, potrebbe essere necessario attivare il tracciamento nell'interfaccia web della telecamera e impostare i parametri di dimensione minima e massima dell'oggetto. Agent DVR etichettherà quindi le tue registrazioni con gli oggetti identificati da Reolink.
Hikvision
Le telecamere Hikvision offrono un endpoint ISAPI che Agent DVR può monitorare per ricevere gli stati degli avvisi di movimento o AI. Se la tua telecamera supporta questa funzione, puoi utilizzare questo rilevatore. Consulta la documentazione della tua telecamera per verificare se è supportata.
- Use SSL: Se utilizzare o meno SSL per la connessione.
- Port: Agent utilizzerà la porta 80 o 443 a seconda di Use SSL, ma puoi eseguire l'override qui.
- Channel: Il canale utilizzato dalla tua telecamera - per le telecamere sarebbe 1, ma se hai un NVR Hikvision potrebbe essere diverso
- Sensitivity: Valore tra 0 (meno sensibile) e 100 (più sensibile) per il rilevatore di movimento.
Queste telecamere possono anche rilevare altri eventi (come line crossing, intrusion, loitering o region entrance). Agent DVR mappa ogni evento a una categoria denominata e genera un evento "AI Object Found" taggato con quel nome di categoria, ad esempio: Line Crossing Detection, Intrusion Detection, Region Entrance, Region Exit, Loitering, Parking, Unattended Baggage. Aggiungi un action sotto "AI Object Found" e utilizza questi tag per filtrarlo. Per vedere quali eventi genera la tua telecamera, imposta Logging su Debug in Server Settings e controlla i log nel menu server.
rilevamento della velocità
Questo metodo utilizza le informazioni sulla scena fornite da te per tracciare oggetti in movimento, stimare la loro velocità e generare avvisi se gli oggetti si muovono troppo velocemente o troppo lentamente.
- Avanzate: Per impostazioni più dettagliate, consulta la sezione avanzata sottostante.
- Limiti di larghezza e limiti di altezza: Definisci l'intervallo di dimensioni per il rilevamento degli oggetti nella scena, con valori espressi come percentuale della larghezza o dell'altezza della scena. Regolando questi cursori verrà visualizzato un overlay sul video, indicando l'intervallo di dimensioni target degli oggetti.
- Movimento minimo: Imposta la distanza minima che un oggetto deve percorrere per essere considerato in movimento, basata su una percentuale della larghezza della scena.
- Tempo minimo: Specifica la durata per la quale un oggetto deve essere in movimento per essere tracciato, in decimi di secondo (ad esempio, 1 = 0,1 secondi, 10 = 1 secondo).
- Misurazione della velocità: Seleziona l'unità di misurazione della velocità preferita per l'overlay.
- Limiti di velocità: Determina i limiti inferiore e superiore del rilevamento della velocità. I movimenti al di fuori di questo intervallo attiveranno gli eventi di rilevamento del movimento.
- Distanza orizzontale e verticale: Inserisci la distanza totale attraverso la scena in metri. Agent DVR utilizza questa misurazione per calcolare la velocità degli oggetti in movimento.
- Zone di avviso: Scegli quali zone di movimento sono incluse nell'area di monitoraggio.
- Verifica angoli: Per impostazioni aggiuntive, consulta Verifica angoli.
Tracciamento oggetti
Questo rilevatore identifica e traccia gli oggetti in movimento, attivando eventi di rilevamento del movimento in base alla durata della loro presenza nella scena e alla distanza percorsa.
- Avanzate: Per impostazioni e opzioni più dettagliate, fare riferimento alla sezione avanzata di seguito.
- Limiti di larghezza e limiti di altezza: Specificare l'intervallo di dimensioni per il rilevamento degli oggetti, con valori espressi come percentuale della larghezza o altezza della scena. La regolazione di questi cursori sovrapporrà una rappresentazione visiva dell'intervallo di dimensioni dell'oggetto mirato sul video.
- Movimento minimo: Definire la distanza minima che un oggetto deve percorrere per essere riconosciuto come oggetto in movimento, relativa alla larghezza della scena.
- Tempo minimo: Impostare la durata minima di tempo che un oggetto deve stare in movimento per essere considerato per il tracciamento, in decimi di secondo (ad esempio, 1 = 0,1 secondi, 10 = 1 secondo).
- Visualizza totale: Aggiungere un contatore al flusso video in diretta per tenere traccia degli oggetti in movimento.
- Mappa termica: Visualizzare i pattern di movimento nel tempo aggiungendo linee agli oggetti tracciati.
- Zone di avviso: Scegliere quali zone di movimento devono essere incluse nell'area di monitoraggio.
- Controlla angoli: Per ulteriori informazioni, consultare Controllo degli angoli.
Mentre Agent DVR monitora e traccia il movimento nella scena, visualizza rettangoli colorati attorno agli oggetti rilevati. I colori hanno i seguenti significati:
- Bianco: Oggetto appena rilevato e in fase di valutazione.
- Giallo: Oggetto rilevato per più fotogrammi.
- Arancione: L'oggetto si è mosso per almeno il tempo minimo specificato nelle impostazioni di tracciamento.
- Rosso: L'oggetto ha soddisfatto tutti i requisiti di tracciamento per attivare un evento di rilevamento del movimento.
Cavi di viaggio
Questo rilevatore riconosce e traccia gli oggetti in movimento, attivando eventi di rilevamento del movimento quando attraversano i fili di attivazione predefiniti nella scena. Usalo per il rilevamento dell'attraversamento di linee, ad esempio per ricevere un avviso quando qualcuno attraversa una recinzione o entra da un cancello. Per aggiungere fili di attivazione, fai semplicemente clic e trascina sul video live. Puoi creare fino a 10 fili di attivazione. Per rimuovere un filo di attivazione, fai clic e trascina uno dei suoi punti fuori dalla scena.
- Avanzate: Per impostazioni e opzioni più dettagliate, fare riferimento alla sezione avanzata di seguito.
- Limiti di larghezza e limiti di altezza: Imposta l'intervallo di dimensioni degli oggetti da rilevare, con valori espressi come percentuale della larghezza o dell'altezza della scena. La regolazione di questi cursori sovrapporrà una rappresentazione visiva dell'intervallo di dimensioni target sul video.
- Movimento minimo: Specifica la distanza minima che un oggetto deve percorrere per essere riconosciuto come oggetto in movimento, rispetto alla larghezza della scena.
- Tempo minimo: Definisci la durata minima in cui un oggetto deve essere in movimento per essere tracciato, in decimi di secondo (ad esempio, 1 = 0,1 secondi, 10 = 1 secondo).
- Attivazione ripetuta: Abilita questa opzione per consentire a un oggetto di attivare lo stesso filo di attivazione più volte. Per impostazione predefinita, un oggetto può attivare un filo di attivazione una sola volta.
- Conteggio: Mostra un conteggio del numero di volte in cui gli oggetti hanno attraversato il filo di attivazione, insieme alla direzione dell'attraversamento. Le opzioni includono il conteggio degli attraversamenti verso sinistra, verso destra, in entrambe le direzioni o il conteggio totale.
- Avviso: Configura il sistema per generare un avviso se il filo di attivazione viene attraversato in una direzione specificata o in qualsiasi direzione.
- Zone di avviso: Scegli quali zone di movimento sono incluse nell'area di monitoraggio.
- Controlla angoli: Per ulteriori informazioni, consultare Controllo degli angoli.
Via API
Per avviare il rilevamento movimento per una telecamera utilizzando una chiamata API, è necessario definire il tipo di oggetto (ot) e l'ID oggetto (oid). Ad esempio, per una telecamera (ot=2) con ID 1 (oid=1; questo ID viene visualizzato nella parte superiore del controllo di modifica durante la modifica di un dispositivo), la chiamata API deve essere strutturata come segue:
http://localhost:8090/command/detect?ot=2&oid=1Impostazioni Avanzate
Le impostazioni predefinite per i rilevatori sono generalmente adatte alla maggior parte delle scene, ma puoi ottimizzarle per migliorare le prestazioni se necessario.
- Analyzer: L'analyzer attualmente disponibile è il sottrattore di sfondo CNT, noto per la sua elevata precisione e il basso utilizzo della CPU.
- Frame Size: Seleziona la dimensione del frame per l'elaborazione. Frame più piccoli riducono l'utilizzo della CPU e possono migliorare il tracciamento grazie alla riduzione del rumore.
- Tracker: Scegli il tracker OpenCV per il tracciamento degli oggetti. Le opzioni includono:
- MOSSE: Questo tracker offre il minor utilizzo della CPU ma è il meno accurato.
- CSRT: L'opzione più accurata, ma utilizza anche più CPU (predefinita).
- Max Objects: Imposta un limite al numero di oggetti da tracciare contemporaneamente. Più oggetti significano un utilizzo della CPU più elevato.
- Detect Interval: Definisci la frequenza dell'elaborazione dei frame per il rilevamento del movimento, in millisecondi (ad es. 200 per 5 volte al secondo, 1000 per una volta al secondo).
- Track Interval: Imposta la frequenza di elaborazione del tracker. Un intervallo maggiore potrebbe perdere oggetti in movimento veloce (ad es. 200 per 5 volte al secondo, 1000 per una volta al secondo).
- Pixel Stability: Determina il numero di campioni affinché un pixel sia considerato stabile e il 'credito' massimo che un pixel può ottenere per mantenere lo stesso colore. Queste impostazioni sono cruciali per un'efficace sottrazione dello sfondo e rilevamento del movimento. Ulteriori informazioni
- Use History: Abilita questa opzione per imparare gli oggetti in movimento costante nella scena. È generalmente consigliato mantenerla disabilitata se non necessaria.
- Parallel Process: Attiva l'elaborazione parallela nell'algoritmo di rilevamento del movimento. È consigliabile mantenerla abilitata.
- Tracking Timeout: Specifica il tempo di attesa (in secondi) affinché un oggetto riappaia prima di smettere di tracciarlo.
- Movement Timeout: Imposta la durata (in secondi) di attesa affinché un oggetto fermo si muova di nuovo prima di smettere il suo tracciamento.