Как видеть сквозь стены без камер и магии

02 Jun, 2026

Представьте, что ваш домашний роутер превратился в рентгеновское зрение. Нет, это не сюжет из «Черного зеркала» и не очередная теория заговора. Оказывается, Wi-Fi волны, которыми пронизана любая современная квартира, реагируют на каждое движение человеческого тела. Они рассеиваются, отражаются и меняют фазу, когда вы просто проходите мимо или даже когда у вас бьется сердце. Проект RuView — это попытка превратить этот шум в осмысленные данные: позы людей, их пульс и частоту дыхания.

Что это вообще такое

RuView (или WiFi DensePose) — это опенсорсный стек технологий, который анализирует CSI (Channel State Information) сигналы обычного Wi-Fi. Если говорить просто, CSI — это подробный отчет о том, как каждая поднесущая частота сигнала «чувствовала» себя, пока летела от передатчика к приемнику.

Разработчики проекта взяли идею из научной работы CMU «DensePose From WiFi» и довели ее до состояния рабочего инструмента. Главная фишка здесь в приватности. Система видит скелет человека и его жизненные показатели, но при этом не использует ни одного пикселя видео. Для больниц, домов престарелых или умных домов это идеальный компромисс между безопасностью и невмешательством в личную жизнь.

Железо и порог входа

Сразу предупрежу: запустить это на старом ноутбуке с первой попавшейся Wi-Fi картой не получится. Обычный потребительский софт скрывает CSI данные, поэтому нужно специфическое железо.

Самый бюджетный и популярный вариант — контроллеры ESP32-S3. Набор из 3–6 таких модулей обойдется примерно в 50 долларов. Расставляете их по комнате, и они начинают стримить данные в Rust-бэкенд. Если хочется чего-то более серьезного, проект поддерживает исследовательские сетевые карты вроде Intel 5300.

Реклама

Интересно, что авторы предусмотрели режим симуляции. Можно скачать репозиторий, запустить докер-контейнер и покрутить пайплайн на синтетических данных, чтобы понять, как работают алгоритмы, прежде чем бежать в магазин за микроконтроллерами.

Как работает магия внутри

Проект недавно переписали на Rust, и это дало дикий прирост производительности. Раньше пайплайн на Python был узким местом, теперь же обработка одного кадра занимает микросекунды.

Вот как выглядит путь сигнала:

  1. ESP32 захватывает сырые пакеты и отправляет их по UDP.
  2. Бэкенд на Rust очищает фазу сигнала (алгоритм SpotFi) и убирает импульсные помехи фильтром Хампеля.
  3. Данные прогоняются через графовую нейросеть. Она сопоставляет искажения радиоволн с 17 ключевыми точками человеческого тела.
  4. На выходе мы получаем Pose estimation в реальном времени.

Кстати, о нейронках. В проекте используется RuVector — это набор инструментов для работы с графами и вниманием (attention). Он помогает системе «понимать», какие поднесущие частоты сейчас несут полезную информацию о движении, а какие просто бьются о шкаф.

Что умеет RuView

Помимо того, что система рисует ваш скелет на экране, у нее есть несколько по-настоящему крутых применений.

Мониторинг здоровья без датчиков

Система умеет вычленять микро-колебания сигнала, вызванные движением грудной клетки. Она определяет частоту дыхания (6–30 вдохов в минуту) и пульс (40–120 ударов). Причем человеку не нужно ничего на себя надевать. Я вижу в этом огромный потенциал для систем слежения за состоянием спящих младенцев или пожилых людей.

Работа в экстремальных условиях

Есть модуль WiFi-Mat, заточенный под спасательные операции. Wi-Fi сигнал проходит сквозь бетон, дерево и гипсокартон. В теории, спасатели могут развернуть такую сеть над завалами после землетрясения, чтобы найти живых людей по их дыханию. Система даже пытается проводить автоматическую сортировку пострадавших (триаж) по степени тяжести их состояния.

Самообучение в новых комнатах

Одна из главных бед подобных систем — чувствительность к обстановке. Передвинули диван — и нейронка «сломалась». В RuView завезли проект MERIDIAN. Это механизм адаптации, который позволяет модели подстраиваться под новую геометрию помещения за считанные секунды без переобучения с нуля.

Попробовать в деле

Если у вас под рукой есть Docker, запустить демо можно одной командой:

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

После этого по адресу http://localhost:3000 откроется интерфейс. Без ESP32-S3 вы не увидите живой поток, но сможете оценить структуру API и возможности визуализации.

Для тех, кто хочет встроить это в свой проект, есть готовые крейты на Rust. Можно забрать только обработку сигналов (wifi-densepose-signal) или только модуль для работы с витальными знаками (wifi-densepose-vitals).

RuView — это не просто забавная игрушка, а мощный фреймворк на стыке радиофизики и глубокого обучения. Проект активно живет, README постоянно обновляется (там сейчас больше 30 документов с описанием архитектурных решений), а переход на Rust сделал технологию пригодной для реального Edge-использования.

Кому стоит заглянуть в репозиторий:

  • Разработчикам систем умного дома, которые устали от ложных срабатываний PIR-датчиков.
  • Специалистам по Computer Vision, которые ищут альтернативы камерам в вопросах приватности.
  • Всем, кто хочет посмотреть на нестандартное использование Rust в связке с DSP и нейронками.

Проект выглядит амбициозно, и хотя для полноценного запуска придется немного повоевать с прошивкой ESP32, результат того стоит. Возможность видеть «цифровой след» человека без единой линзы — это то будущее, которое уже наступило.