Π RuView: Seu Roteador WiFi Agora é um Sensor — Sem Câmeras, Sem Hardware Novo

59.2K estrelas e crescendo. Isso é o que este projeto em trending realmente faz.


Seu roteador WiFi está constantemente inundando seu espaço com ondas de rádio. Quando alguém cruza uma sala, senta ou simplesmente respira, essas ondas ricocheteiam de forma diferente. Isso é física — e está sendo estudada em laboratórios acadêmicos há mais de uma década. O que o π RuView faz é empacotar essa capacidade em um pipeline open-source que qualquer desenvolvedor pode executar hoje, com hardware que custa menos de 10 dólares.

O repo — da ruvnet — ultrapassou as 59.2K estrelas esta semana e está gerando tração séria no GitHub Trending. Aqui explicamos o que realmente faz, como o pipeline funciona, e onde é genuinamente útil versus onde o projeto é honesto sobre suas limitações.


O que é Channel State Information — e por que importa

WiFi padrão te dá RSSI: um único número que representa a intensidade do sinal. Grosseiro, ruidoso, não muito útil para sensing.

Channel State Information (CSI) é diferente. Roteadores 802.11 modernos transmitem através de dezenas de frequências subportadoras simultaneamente (essa é a parte OFDM da sua especificação WiFi). O CSI captura dados de amplitude e fase em todas essas subportadoras — te dando um snapshot rico e de alta dimensionalidade de como o ambiente de RF se parece em qualquer momento dado.

Quando um corpo humano entra nesse ambiente, perturba o sinal de formas mensuráveis. Quando você respira, o deslocamento do peito cria uma mudança de fase cíclica. Quando você se move, a variância de amplitude aumenta em subportadoras específicas. O pipeline do RuView captura essas perturbações e as converte em dados estruturados.


O hardware: um ESP32-S3, não um rack de servidores

A camada de sensing roda em microcontroladores ESP32-S3 — amplamente disponíveis, custam alguns dólares cada um. O ESP32-S3 expõe dados CSI brutos via seu firmware, que o RuView captura e transmite a um pipeline de processamento.

Uma limitação importante que o projeto esclarece desde o início: o ESP32-C3 e o ESP32 original não são suportados. Ambos são single-core e não têm a margem de processamento necessária para DSP de CSI em tempo real. Você precisa especificamente da variante S3.

Um único nó ESP32-S3 te dá detecção básica de presença e monitoramento de sinais vitais. Para resolução espacial — saber onde alguém está, não apenas que há alguém — o projeto recomenda dois ou mais nós, ou adicionar um dispositivo Cognitum Seed para cobertura multi-antena.


O que o pipeline realmente detecta

Uma vez que o CSI está sendo capturado, o RuView o processa através de uma cadeia de etapas:

Detecção de presença — Há alguém na sala? Funciona através de paredes, em escuridão total, sem necessidade de linha de visão direta.

Monitoramento de sinais vitais — A frequência respiratória é extraída via análise de fase em subportadoras estáveis, usando contagem de picos no sinal cíclico de deslocamento do peito. A extração de frequência cardíaca também está implementada.

Detecção de movimento — Variância de amplitude CSI medida em uma janela deslizante de 20 frames. Dispara captura adaptativa quando movimento é detectado.

Tomografia RF — Usando RSSI por nó, o RuView retroprojeta dados de sinal em uma grade de ocupação 8×8×4 — um mapa 3D grosseiro de onde a perturbação do sinal se concentra.

Estimação de pose (experimental) — Essa é a capacidade mais ambiciosa e a que tem os avisos mais claros. A precisão de pose sem câmera se encontra atualmente em aproximadamente PCK@20 ≈ 2,5% com labels proxy. O projeto é explícito a respeito: o treinamento com ground-truth de câmera aponta para 35%+ de PCK@20, mas as fases de coleta de dados e avaliação ainda estão pendentes. Nenhum resultado medido com supervisão de câmera foi publicado. Framing honesto, e vale saber disso antes de construir expectativas em torno disso.


A stack de inferência

A camada de ML roda inferência baseada em ONNX no dispositivo. O pipeline de processamento de sinal está implementado em Rust, com crates individuais para cada etapa:

  • wifi-densepose-signal — Processamento de sinal CSI (seis algoritmos state-of-the-art)
  • wifi-densepose-nn — Inferência neural via ONNX, PyTorch e Candle
  • wifi-densepose-vitals — Extração de sinais vitais
  • wifi-densepose-hardware — Suporte para sensores ESP32 e Intel 5300

O backbone de IA — chamado RuVector — trata atenção, algoritmos de grafos e compressão edge-AI para transformar o CSI bruto ruidoso em input estruturado e limpo para a rede neural.

O caminho mais rápido para ter uma instância rodando é Docker:

docker pull ruvnet/wifi-densepose:latest
docker run -p 3000:3000 ruvnet/wifi-densepose:latest

Ou compile a partir do código-fonte em Rust com ./install.sh --profile rust --yes.


Casos de uso que valem a pena levar a sério

O projeto identifica vários verticais onde o sensing WiFi tem vantagens genuínas sobre câmeras e LIDAR:

Cuidado de idosos e acessibilidade — Detecção de quedas e monitoramento de presença sem instalar câmeras em espaços privados. Uma alternativa real que preserva privacidade.

Segurança industrial — Aplicação de zonas de exclusão ao redor de maquinário pesado. Detecta trabalhadores em áreas perigosas mesmo através de equipamentos e prateleiras.

Robótica — O campo CSI atua como uma camada de consciência espacial que funciona onde o LIDAR falha: através de poeira, fumaça, névoa, e ao redor de cantos. Robôs colaborativos podem detectar humanos atrás de obstruções e frear automaticamente antes do contato.

Smart home — Detecção de presença sem um serviço de câmeras por assinatura. Seu roteador já está lá.

Para desenvolvedores latino-americanos em particular: o custo de hardware é mínimo (as placas ESP32-S3 estão amplamente disponíveis e são baratas), a inferência roda no dispositivo (sem custos de API na nuvem), e a arquitetura privacy-first evita completamente as preocupações de soberania de dados.


O que esperar de forma realista

RuView é um projeto de engenharia sério, mas também está em estágio inicial em vários fronts:

  • A precisão de estimação de pose não está pronta para produção. Os 2,5% de PCK@20 são honestos e o projeto o diz claramente. É um objetivo de pesquisa, não uma feature que já funciona.
  • A resolução espacial com um único nó é limitada. A detecção de presença funciona bem com um nó; localização requer múltiplos.
  • O modelo WiFlow é um placeholder. O renderer de skeleton existe; o wiring para inferência ONNX real é um follow-up planejado segundo a documentação.

Nada disso desqualifica o projeto. Significa que você precisa construir em torno das capacidades que sim estão validadas — presença, frequência respiratória, movimento — e tratar a estimação de pose como um item do roadmap.


Por que está em trending

59.2K estrelas em um curto período aponta para algo real tocando um nervo. A combinação de zero requisitos de hardware novo, vantagens genuínas de privacidade sobre câmeras, e uma implementação em Rust bem documentada é convincente. As aplicações de robótica e segurança industrial também estão atraindo interesse de comunidades muito fora da multidão típica de home-automation.

A física subjacente está na literatura acadêmica há anos. O que o RuView faz é torná-la acessível para qualquer um que tenha um ESP32-S3, um roteador e um terminal.

GitHub: github.com/ruvnet/RuView