Sì, il Channel State Information può contenere variazioni ripetibili causate da un gesto e un classificatore può impararle. La difficoltà non è disegnare un'onda, ma raccogliere pacchetti rappresentativi, mantenere stabile la configurazione, definire etichette ripetibili e dimostrare che il modello non ha memorizzato solo persona, stanza o sessione.
Un primo progetto dovrebbe limitarsi a tre-sei gesti intenzionali, più riposo o sconosciuto. Conserva orari, persona, sessione, distanza e condizioni della stanza, poi prova una persona o una stanza assente dal training. Per presenza o movimento generico, le guide dedicate sono più appropriate.
WIDAR3 e SignFi sono utili per confrontare preprocessing e modelli, ma dispositivi, campionamento e ambienti possono essere diversi. Ogni risultato deve essere legato a una sorgente del segnale, a una regola di etichettatura e a uno split di test chiaro.
Che cosa riconosce davvero il WiFi CSI
Il CSI descrive come il canale radio cambia tra sottoportanti, antenne e tempo. Una mano in movimento modifica i percorsi multipli e i rapporti di fase. Il modello non vede un gesto comprensibile: vede una finestra di misure dopo pulizia, calibrazione, normalizzazione ed estrazione delle caratteristiche.
Un compito con cinque gesti, un vocabolario di lingua dei segni e il riconoscimento di attività in una stanza sono problemi diversi. Un'elevata accuratezza con una persona e una stanza non dimostra la portabilità.
- Iniziare con tre-sei gesti e una classe riposo o sconosciuto.
- Restituire classe, confidenza e stato sconosciuto per finestre ambigue.
- Separare presenza, movimento, posa, identità e gesto nella specifica.
Dalla cattura alle classi di gesto
Una pipeline riproducibile documenta sorgente dei pacchetti, ricevitore CSI, antenne, canale e stanza. Conserva timestamp, partecipante, gesto, distanza e sessione prima di aggiungere filtri complessi.
Il preprocessing definisce il confine del modello. Rimuovi pacchetti corrotti, normalizza con attenzione e impara i parametri solo dai dati di training. Un filtro calcolato sull'intera registrazione può far trapelare informazioni dal test.
- Conservare dati grezzi o poco elaborati per l'audit.
- Registrare firmware, canale, banda, antenne e cadenza dei pacchetti.
- Separare le sessioni prima di creare finestre sovrapposte.
Hardware: verificare l'accesso CSI, non solo il nome commerciale
Un ESP32 compatibile con CSI è un punto di partenza economico se scheda, versione ESP-IDF, firmware, sorgente dei pacchetti e antenne sono documentati. La scheda è un componente di cattura, non un sensore di gesti completo.
Un laptop Linux con una scheda compatibile offre un altro percorso. Un Raspberry Pi può ospitare log, inferenza o visualizzazione senza essere automaticamente un ricevitore CSI. Classifica i progetti come strumento di cattura, dataset, codice modello o applicazione.
- Confermare la disponibilità del CSI reale, non solo dell'RSSI.
- Fissare trasmettitore, ricevitore, canale e distanza per la baseline.
- Usare la guida ESP32 CSI quando il percorso hardware non è chiaro.
Dataset ed etichette: WIDAR3, SignFi e la propria stanza
I dataset pubblici aiutano a riprodurre lavori e confrontare il preprocessing. WIDAR3 e SignFi forniscono contesto di ricerca, ma hardware, campionamento, etichette e ambienti possono differire dal tuo sistema.
Per l'uso reale servono più sessioni, velocità diverse, riposo, movimenti casuali e casi negativi. Conserva gli identificativi di persona e sessione e dividi i dati prima di creare finestre sovrapposte.
- Usare un'istruzione breve e identica per ogni gesto.
- Includere ventilatore, porta, animale, passaggio e stanza vuota come disturbi.
- Non presentare l'accuratezza pubblicata come garanzia per la propria stanza.
Preprocessing e addestramento del modello
Parti da una baseline trasparente: caratteristiche di ampiezza o fase, finestra fissa, classificatore semplice e matrice di confusione. Solo dopo confronta reti convoluzionali, ricorrenti o con attenzione.
L'augmentation può aumentare la robustezza ma non sostituisce la variazione reale. Tieni da parte una sessione finale e riporta macro-F1, recall per classe, latenza, predizioni sconosciute e falsi trigger nello stato di riposo.
- Dividere per sessione o partecipante prima delle finestre sovrapposte.
- Controllare la confusione tra gesti simili e classe riposo.
- Imparare i parametri di preprocessing solo dal training.
Validare tra persone e stanze
Il test più importante spesso non è un'altra finestra della stessa registrazione. Prova nuove persone, stanze, giorni, posizioni del ricevitore e movimenti negativi realistici per l'uso previsto.
Mantieni uguale l'istruzione, ma permetti velocità e postura naturali. Confronta recall per classe, falsi allarmi e fallimenti rappresentativi. Uno stato sconosciuto è meglio di una classe sicura per ogni finestra.
- Lo split nella stessa sessione serve al debug, non a provare la generalizzazione.
- Lo split per persona verifica se il modello ha imparato uno stile individuale.
- Casi negativi e sconosciuti verificano se il sistema sa rifiutare una classe.
Limiti, privacy e prossimo passo
Il CSI dipende da geometria, firmware, traffico radio, pareti, mobili, antenne e persone. Lo stesso gesto può cambiare in un'altra stanza e un movimento estraneo può sembrare una classe addestrata. Non descrivere il classificatore come telecamera, riconoscimento dell'identità o sistema medico senza prove specifiche.
Anche senza telecamera, il sensing radio può rivelare presenza, movimento e routine. Preferisci elaborazione locale, conservazione breve, consenso e stato sconosciuto. Per iniziare, scegli una cattura ESP32 o un dataset pubblico e definisci lo split per persona e stanza prima del training.
- Trattare vocabolario, stanza, persone e hardware come specifica del sistema.
- Non dedurre identità, salute o attività nascosta.
- Collegare ogni metrica allo split, al numero di sessioni e alla definizione di errore.
Riferimenti tecnici principali
FAQ sul riconoscimento dei gesti con WiFi CSI
Il riconoscimento dei gesti è uguale al rilevamento del movimento WiFi?
No. Il rilevamento cerca un cambiamento, mentre il riconoscimento assegna una finestra a una tra più classi definite.
Un ESP32 può riconoscere gesti da solo?
Un ESP32 compatibile può catturare il CSI, ma servono anche sorgente dei pacchetti, etichette, preprocessing, modello e validazione.
Quanti gesti deve avere il primo dataset?
Tre-sei gesti più riposo o sconosciuto sono un inizio gestibile. Aggiungi classi solo dopo test con nuove sessioni e persone.
Qual è il miglior dataset di gesti WiFi CSI?
Non esiste un dataset migliore per tutti. Scegli hardware, vocabolario, campionamento e diversità coerenti con la domanda, poi raccogli dati locali per l'impiego.
Perché il modello funziona in una stanza e fallisce in un'altra?
Percorsi multipli, mobili, antenne, traffico e persone cambiano il CSI. Senza test tra stanze il modello può imparare l'ambiente invece del gesto.
Il WiFi CSI può identificare una persona o diagnosticare la salute?
Un classificatore di gesti non dovrebbe essere usato così. Servono compiti specifici, prove, consenso, controlli di privacy e validazione indipendente.