Loading

Il sistema di sorveglianza domestica definitivo: rilevamento di persone con IA locale gratuito 3

Sotto il trigger, l’unica casella che vuoi controllare è catturare un’immagine dell’elenco di avvisi, e sotto record selezionerai “quando attivato” e poi ti concederai almeno 5 secondi di buffer video di pre-trigger. Per quanto posso dire, il pretrigger video è memorizzato nella RAM, quindi questo non dovrebbe essere troppo faticoso per il tuo disco, ma se hai un sistema con RAM bassa con telecamere 4K potresti incorrere in problemi, ho scoperto che 5 secondi di pretrigger sono sufficienti per le telecamere che individueranno le persone, ma io uso 10 secondi per il rilevamento dell’auto.

Ripeti questo processo per aggiungere ciascuno degli stream della videocamera ad alta risoluzione.

Potresti aver notato che abbiamo impostato queste telecamere per registrare su trigger, ma poi abbiamo disabilitato il rilevamento del movimento, che è il modo principale per attivare una telecamera, e questo perché il programma AI si occuperà di attivare la telecamera, quindi consente ottenere quella configurazione.

Il programma AI ha due componenti: il server di visione artificiale che elabora le immagini utilizzando un’API e un programma personalizzato realizzato da GentlePumpkin che controlla la cartella aiinput per file specifici e invia quelle immagini per essere elaborate dal server di visione artificiale.

Il server di visione artificiale che utilizzeremo si chiama “DeepStack by DeepQuest AI” e ha prezzi sia a pagamento che gratuiti. Utilizzeremo la versione gratuita, ma è comunque necessario registrarsi sul loro sito Web per ottenere un codice di attivazione … Anche se è necessario registrarsi per ottenere un codice di attivazione, tutte le immagini vengono elaborate localmente e non vengono utilizzati servizi cloud. Dopo esserti registrato a DeepStack utilizzando il link dalla descrizione puoi ottenere la tua chiave di attivazione dall’interfaccia web facendo clic su dashboard.

Sono disponibili due opzioni principali per l’installazione del server deepstack, come programma Windows o come contenitore Docker. L’enorme svantaggio dell’utilizzo del programma Windows è che non c’è modo di avviare automaticamente il programma dopo un riavvio perché non può essere eseguito come servizio ed è necessario fare clic su pulsanti specifici per avviare il server, quindi per affidabile e di cui abbiamo bisogno per utilizzare il container docker. Puoi installare Docker per Windows per farlo, ma se stai già eseguendo l’assistente domestico in una macchina virtuale, c’è un’altra opzione: puoi installare contenitori Docker aggiuntivi nell’istanza dell’assistente domestico, poiché HassOS utilizza Docker, devi solo accedere installando l’addon portainer dal repository dei componenti aggiuntivi della community.

Un rapido avvertimento: questo ti dà un accesso molto più ampio di quello che sei abituato ad avere nell’assistente domestico e la probabilità di rompere tutto è alta se sbagli qualcosa, quindi assicurati di avere un backup della tua macchina virtuale e sappi che Non è per i deboli di cuore.

Dopo aver installato portainer, attiva l’interruttore in alto per disattivare la modalità provvisoria e premi start. Dopo aver dato alcuni secondi al caricamento, premi open webUI per accedere all’interfaccia di portainer.

Fai clic su principale, quindi su contenitori e aggiungi contenitore.

Assegna al tuo contenitore un nome descrittivo come deepstack e quindi per l’immagine, la estrarremo dal server docker inserendo deepquestai / deepstack.

Dobbiamo inviare comandi a questo server, quindi dobbiamo mappare una porta, premere la pubblicazione manuale della porta di rete. Ho usato la porta 83, quindi fai clic su Pubblica nuova porta di rete e mappa la porta 83 sull’host sulla porta 5000 sul contenitore.

Infine, fai clic sul criterio di riavvio e impostalo su sempre, quindi premi il contenitore di distribuzione. Se tutto è andato bene, ora dovresti avere un server di visione artificiale in esecuzione sull’indirizzo IP della tua macchina virtuale dell’assistente domestico sulla porta 83 che si avvierà automaticamente ogni volta che la tua macchina virtuale è in esecuzione.

Accedi al tuo server deepstack inserendo quell’indirizzo in un browser web e dovrai inserire il tuo codice di attivazione dalla dashboard del sito web deepstack. Il codice di attivazione scade dopo due anni, ma non è chiaro cosa accadrà a quel punto … Si spera che dovrai solo incollare un codice di attivazione aggiornato.

Successivamente dobbiamo configurare il programma che fornisce le immagini dell’iride blu al server di visione. Prendi il file zip per l’ultima versione dello strumento ha dal link nella descrizione e decomprimilo da qualche parte in modo permanente sul tuo computer con iride blu. Lo configurerai come un servizio di Windows in un secondo momento in modo che si avvii automaticamente al riavvio del computer, ma per ora, impostalo. Quindi fai doppio clic su aitool.exe per avviarlo.

Nella scheda delle impostazioni, vai al percorso d’ingresso e vai alla cartella aiinput che hai impostato in blue iris, quindi per l’URL del deepstack inserirai l’indirizzo ip se la tua macchina virtuale è due punti 83, che è la porta su cui è in esecuzione il servizio su. Quindi configurerai una telecamera facendo clic su aggiungi telecamera. Dagli un nome e poi dove dice che il file d’input inizia con, inserirai il nome della telecamera a bassa risoluzione che abbiamo impostato con l’iride blu, quindi annkesd in questo caso, se non sei sicuro di cosa sarai tu puoi semplicemente guardare la cartella aiinput per vedere quali prefissi hanno i tuoi file.

Seleziona gli oggetti che desideri rilevare e lascia i tuoi limiti di confidenza a 0 e 100%, li aggiusteremo in seguito quando avremo alcuni dati. Ho scelto di non usare il timer di cooldown, ma puoi impostarlo per analizzare solo un’immagine da quella telecamera in un periodo di tempo specifico, questo sarebbe utile se hai risorse di sistema limitate e noti un elevato utilizzo della CPU. L’ultima cosa di cui hai bisogno è il tuo URL di trigger, che utilizza l’API blue iris per attivare una telecamera specifica alimentandola con il comando “trigger” con il nome della telecamera, il nome utente e la password come attributi. Se non ottieni questo URL corretto, non funzionerà nulla, quindi controlla il tuo comando inserendolo in un normale browser web, se è corretto dovresti ottenere una risposta come questa e la tua videocamera HD dovrebbe iniziare a registrare. Premi salva e provalo. Dovresti vedere la pagina Panoramica che passa dall’esecuzione all’elaborazione dell’immagine. Se sembra essere bloccato nella fase di elaborazione dell’immagine, è probabile che tu abbia un problema con l’URL del tuo server deepstack o il tuo server deepstack potrebbe non essere in esecuzione.

Nell’URL della cronologia puoi vedere le immagini che vengono inviate al server AI e quali oggetti sono stati rilevati insieme a quanto fosse sicura l’IA che fosse effettivamente quel tipo di oggetto. Se noti troppi falsi positivi, puoi aumentare il limite di confidenza inferiore, ma ti consiglio di farti un’idea di ciascuna fotocamera e dei livelli di confidenza che genera prima di modificare quei valori.

Un problema in cui mi sono imbattuto personalmente è stato il rilevamento di oggetti che non erano la causa del movimento, ad esempio, volevo rilevare le auto con la mia telecamera del cortile anteriore del secondo piano, ma ha sempre rilevato le auto parcheggiate nel vialetto del mio vicino, con conseguente molti falsi movimenti. La buona notizia è che è abbastanza facile creare una maschera per un’area specifica, che bloccherà i trigger dagli oggetti in quell’area. C’è un buon tutorial per farlo nel post di GentlePumpkin, ma il risultato è che la visione artificiale funziona ancora, ma non attiva la fotocamera se l’oggetto si trova in una zona mascherata.

Ti consiglio di controllare nella scheda della cronologia per i primi due giorni in cui stai eseguendo il server per vedere quali problemi potrebbe avere la visione artificiale con la tua configurazione specifica e quando ti senti sicuro della precisione del rilevamento puoi impostare lo strumento AI su eseguito come un servizio in background che verrà avviato immediatamente ogni volta che il computer si riavvia, ancora una volta, il metodo esatto per questo è delineato in dettaglio nel post di GentlePumpkin.

Ora che il rilevamento del movimento non sarà ingannato da ombre, ragnatele, pioggia o alberi in movimento, puoi utilizzare in modo affidabile quei dati nelle automazioni. L’iride blu può inviare e ricevere messaggi MQTT, consentendoti di ottenere queste informazioni nel nodo rosso o persino impostare sensori binari nell’assistente domestico. Per configurare MQTT in blue iris fai clic sul menu principale, quindi digital io e iot, quindi premi il pulsante di configurazione nella sezione MQTT e inserisci le credenziali del tuo broker MQTT. Quindi, per inviare effettivamente un messaggio, dobbiamo andare alle impostazioni della videocamera a piena risoluzione che vogliamo monitorare, fare clic sugli avvisi, selezionare “spara quando questa videocamera è attivata” e quindi in azioni, andremo su avviso e aggiungi un argomento e un payload MQTT, quindi premi ok e puoi testarlo premendo l’icona del fulmine.

Per impostare un sensore di movimento nell’assistente domestico possiamo aggiungere una voce al file di configurazione sotto sensore binario, impostare la classe del dispositivo su movimento, inserire l’argomento MQTT per quella telecamera e poiché stiamo inviando solo gli eventi di movimento positivo, noi è necessario disporre di un “ritardo alla disattivazione” per un certo numero di secondi. Puoi modificarlo a tuo piacimento, ma ho usato 30 secondi senza un nuovo evento di movimento per tornare allo stato “cancella”.

Una volta nell’assistente domestico puoi utilizzare questo sensore di movimento binario per fare qualsiasi numero di cose come inviare notifiche utilizzabili, avvisare gli intrusi o controllare le luci esterne solo quando è buio e un essere umano è stato rilevato, le possibilità sono infinite.

Lascia un commento