Guia técnico

Reconhecimento de gestos por WiFi CSI: como construir, treinar e validar

O reconhecimento de gestos por WiFi CSI pode classificar alguns movimentos da mão ou do corpo sem câmera, mas somente quando o caminho do sinal, os rótulos, o hardware e o teste são planejados como um único experimento.

Pessoa fazendo um gesto enquanto o sinal WiFi vira uma forma de onda CSI e classes de gestos
O reconhecimento começa nas mudanças do canal de rádio e termina com um modelo testado fora da sala onde foi treinado.

Sim, o Channel State Information pode conter mudanças repetíveis causadas por um gesto, e um classificador pode aprender essas mudanças. O desafio não é desenhar uma onda, mas coletar pacotes representativos, manter emissor e receptor estáveis, definir rótulos repetíveis e provar que o modelo não aprendeu apenas a sala, a pessoa ou a sessão.

Um primeiro projeto deve usar três a seis gestos deliberados, além de repouso ou desconhecido. Registre horários, pessoa, sessão, distância e condições da sala. Depois teste uma pessoa ou sala que não participou do treino. Para simples presença ou movimento, os guias específicos de presença e movimento são mais adequados.

WIDAR3 e SignFi ajudam a comparar pré-processamento e modelos, mas seus dispositivos, protocolos e ambientes podem ser diferentes. Cada resultado precisa estar ligado a uma fonte de sinal, uma regra de rotulagem e uma divisão de teste clara.

O que o reconhecimento de gestos por WiFi CSI realmente reconhece

CSI descreve como o canal sem fio muda entre subportadoras, antenas e momentos. Uma mão em movimento altera os caminhos múltiplos e as relações de fase. O modelo não enxerga um gesto legível; ele recebe uma janela de medições depois de limpeza, calibração, normalização e extração de características.

Uma tarefa com cinco gestos, um vocabulário de língua de sinais e reconhecimento de atividade em uma sala são problemas diferentes. Alta precisão com uma pessoa e uma sala não demonstra portabilidade.

  • Começar com três a seis gestos e uma classe de repouso ou desconhecido.
  • Retornar classe, confiança e estado desconhecido quando a janela for ambígua.
  • Separar presença, movimento, pose, identidade e gesto na especificação.

Do sinal capturado às classes de gestos

Um pipeline reproduzível documenta a fonte dos pacotes, o receptor CSI, as antenas, o canal e a sala. Preserve timestamps, participante, gesto, distância e sessão antes de aplicar filtros complexos.

O pré-processamento define a fronteira do modelo. Remova pacotes corrompidos, normalize com cuidado e aprenda parâmetros apenas nos dados de treino. Um filtro calculado sobre toda a gravação pode vazar informação do teste.

  • Guardar dados brutos ou minimamente processados para auditoria.
  • Registrar firmware, canal, largura de banda, antenas e cadência de pacotes.
  • Separar sessões antes de criar janelas sobrepostas.
Fluxo da captura CSI WiFi pela limpeza e rotulagem até classes de gestos separadas
Capturar, limpar, rotular, treinar e avaliar formam uma cadeia; uma falha em uma etapa pode parecer um problema do modelo.

Hardware: confirme acesso ao CSI, não apenas o nome comercial

Um ESP32 compatível com CSI é um ponto de partida de baixo custo quando placa, versão do ESP-IDF, firmware, origem dos pacotes e antenas estão documentados. A placa é um componente de captura, não um sensor de gestos pronto.

Um laptop Linux com placa de rede compatível oferece outro caminho de captura. Um Raspberry Pi pode hospedar logs, inferência ou visualização sem ser automaticamente um receptor CSI. Classifique cada projeto como ferramenta de captura, dataset, código de modelo ou aplicação.

  • Confirmar CSI real, e não somente RSSI ou um recurso comercial de sensing.
  • Fixar transmissor, receptor, canal e distância na primeira referência.
  • Usar o guia ESP32 CSI quando o caminho de hardware não estiver claro.

Datasets e rótulos: WIDAR3, SignFi e sua própria sala

Datasets públicos ajudam a reproduzir trabalhos e testar ideias de pré-processamento. WIDAR3 e SignFi oferecem contexto de pesquisa, mas hardware, amostragem, rótulos e ambientes podem divergir do seu sistema.

Para implantação, colete repetições em velocidades diferentes, repouso, movimentos acidentais e casos negativos. Preserve identificadores de pessoa e sessão, e faça a divisão antes de criar janelas sobrepostas.

  • Escrever uma instrução curta e igual para cada gesto.
  • Incluir ventilador, porta, animal, passagem e sala vazia como interferências.
  • Não tratar a precisão publicada como garantia para sua sala.

Pré-processamento e treinamento do modelo

Comece com uma linha de base fácil de inspecionar: características de amplitude ou fase, janela fixa, classificador simples e matriz de confusão. Só depois compare redes convolucionais, recorrentes ou modelos de atenção.

Aumento de dados pode ajudar, mas não substitui variação real. Reserve uma sessão final e informe macro-F1, recall por classe, latência, previsões desconhecidas e falsos acionamentos durante o repouso.

  • Dividir por sessão ou participante antes de usar janelas sobrepostas.
  • Inspecionar confusões entre gestos parecidos e a classe de repouso.
  • Aprender parâmetros de pré-processamento apenas no treino.

Como validar entre pessoas e salas

O teste mais importante geralmente não é outra janela da mesma gravação. Teste uma nova pessoa, sala, dia, posição do receptor e movimentos negativos que representem o uso pretendido.

Mantenha a instrução do gesto, mas permita velocidade e postura naturais. Compare recall por classe, falsos alarmes e falhas representativas. Um estado desconhecido é melhor que uma classe confiante em toda janela.

  • Divisão dentro da sessão serve para depuração, não para provar generalização.
  • Divisão por pessoa testa se o modelo aprendeu um estilo individual.
  • Casos negativos e desconhecidos testam se o sistema consegue recusar uma classe.
Duas salas e participantes conectados por rastros WiFi para ilustrar validação entre ambientes
O teste com novas pessoas e salas verifica se o mesmo gesto continua reconhecível quando o canal de rádio muda.

Limites, privacidade e o próximo passo

CSI depende de geometria, firmware, tráfego, paredes, móveis, antenas e pessoas. O mesmo gesto pode mudar em outra sala e outro movimento pode parecer uma classe treinada. Não descreva um classificador de gestos como câmera, reconhecimento de identidade ou sistema médico sem evidência específica.

Mesmo sem câmera, o sensing de rádio pode revelar presença, movimento e rotina. Prefira processamento local, retenção curta, consentimento e estado desconhecido. Para começar, escolha uma captura ESP32 ou dataset público e defina a divisão por pessoa e sala antes do treino.

  • Tratar vocabulário, sala, pessoas e hardware como parte da especificação.
  • Não inferir identidade, saúde ou atividade escondida.
  • Ligar cada métrica à divisão, ao número de sessões e à definição de falha.

Referências técnicas principais

FAQ de reconhecimento de gestos por WiFi CSI

Reconhecimento de gestos é igual a detecção de movimento WiFi?

Não. Detecção de movimento procura uma mudança, enquanto reconhecimento associa uma janela a uma de várias classes definidas.

Um ESP32 consegue reconhecer gestos sozinho?

Um ESP32 compatível consegue capturar CSI, mas ainda são necessários fonte de pacotes, rótulos, pré-processamento, modelo e validação.

Quantos gestos o primeiro dataset deve ter?

Três a seis gestos mais repouso ou desconhecido são um começo administrável. Adicione classes depois de testar novas sessões e pessoas.

Qual é o melhor dataset de gestos WiFi CSI?

Não existe um melhor universal. Escolha hardware, vocabulário, amostragem e diversidade compatíveis com a pergunta, e use dados locais para implantação.

Por que o modelo funciona em uma sala e falha em outra?

Caminhos múltiplos, móveis, antenas, tráfego e pessoas mudam o CSI. Sem testes de sala, o modelo pode aprender o ambiente em vez do gesto.

WiFi CSI pode identificar uma pessoa ou diagnosticar saúde?

Um classificador de gestos não deve ser usado para isso. Essas afirmações exigem tarefas próprias, evidência, consentimento, controles de privacidade e validação independente.