壁の向こうの人の姿勢や心拍をWiFi電波で透視!カメラ不要の次世代センシング — wifi-densepose

ruvnet/wifi-denseposeRust20.8k

wifi-denseposeは、普通のWiFi電波を使って、カメラや身に着けるセンサーなしで人の姿勢推定・呼吸数・心拍数の検出・存在検知を行うシステムです。WiFiルーターが部屋中に飛ばしている電波が人体に当たって散乱するパターンを解析することで、壁越しでも人の動きやバイタルサイン(生命兆候)を読み取れます。約1,000円のESP32チップ数台と既存のWiFiルーターだけで動作し、プライバシーを守りながら介護施設の見守り、災害時の生存者捜索、店舗の人流分析など幅広い場面で活用できます。Rust言語で書かれた高速処理エンジンにより毎秒54,000フレームを処理でき、Dockerで30秒で起動可能です。

🔥 なぜ話題?

カメラによる監視にはプライバシー問題(GDPR・個人情報保護法など)がつきまとう中、WiFi電波だけで映像を一切使わずに人の存在や健康状態を検知できるという画期的なアプローチが注目を集めています。さらに、災害救助での壁越し生存者探知やスマートホーム自動化など応用範囲が非常に広く、安価なハードウェアとDocker一発起動の手軽さも話題の要因です。

💡 こう使える!

高齢の親御さんが一人暮らしをしている部屋に、約1,000円のESP32チップを2〜3台設置するだけで、カメラを置かずにプライバシーを守りながら、夜間の呼吸が正常かどうかや転倒の有無をリアルタイムで見守り、異常があればすぐにアラートを受け取ることができます。

ユースケース: カメラを使わずにWiFi電波だけで、人の存在・姿勢・呼吸・心拍を壁越しでもリアルタイムに検知する見守り・安全監視システムとして使えます。

  • カメラ不要・WiFi電波だけで壁越しに人の姿勢17関節と呼吸・心拍を検出
  • 約1,000円のESP32チップ数台で構築可能、Dockerなら30秒で起動
  • Rust実装でPython版より810倍高速(毎秒54,000フレーム処理)
  • 災害時の瓦礫越し生存者探知(WiFi-Mat)やSTARTトリアージ分類に対応
  • 自己学習AIがラベルなしのWiFiデータだけで学習し、部屋が変わっても再訓練不要
GitHubで見る →

WiFi DensePose turns commodity WiFi signals into real-time human pose estimation, vital sign monitoring, and presence detection — all without a single pixel of video.

技術情報

言語

Rust

ライセンス

MIT

最終更新

2026-03-02

スター数

20,848

フォーク数

2,483

Issue数

23

トピック

denseposedensepose-controlnetwifi

技術詳細

アーキテクチャ・動作原理

WiFiルーターが発する電波が人体に当たり散乱するパターンを、CSI(Channel State Information:WiFi信号のサブキャリアごとの振幅・位相データ)として取得し、信号処理とAIで人の姿勢・バイタルサイン(生命兆候)を復元するシステム。

処理パイプライン

  1. ESP32メッシュ(4-6ノード)がチャンネル1/6/11でCSIをTDMプロトコルで取得
  2. マルチバンド融合:3チャンネル×56サブキャリア=168仮想サブキャリア
  3. マルチスタティック融合:N×(N-1)リンクをアテンション重み付きで統合
  4. コヒーレンスゲートで測定値の品質管理
  5. 信号処理:Hampelフィルタ、SpotFi位相補正、フレネルゾーンモデリング、BVP、スペクトログラム
  6. AIバックボーン(RuVector):アテンション、グラフアルゴリズム、圧縮、フィールドモデル
  7. ニューラルネットワーク:17体キーポイント+バイタルサイン出力

対応ハードウェア

オプションハードウェアコストCSI対応機能
ESP32メッシュ(推奨)ESP32-S3 × 3-6台 + WiFiルーター約$54あり姿勢・呼吸・心拍・動作・存在
研究用NICIntel 5300 / Atheros AR9580$50-100あり3x3 MIMO対応フルCSI
一般WiFiPC/ノートPC$0なしRSSI(信号強度)のみの簡易存在検知

パフォーマンス

指標数値
処理速度54,000フレーム/秒(Rust版)
Python版比の高速化810倍
フレーム処理遅延100マイクロ秒未満
存在検知遅延1ミリ秒未満
呼吸検出範囲6-30 BPM
心拍検出範囲40-120 BPM
壁越し探知最大5m深さ
Dockerイメージサイズ132 MB(Rust版)
テスト数1,100以上

主要機能一覧

  • 姿勢推定: CSIサブキャリア振幅/位相からDensePose UVマップを生成(17関節キーポイント)
  • バイタルサイン検出: 呼吸(バンドパス0.1-0.5Hz)・心拍(バンドパス0.8-2.0Hz)をFFTピークで検出
  • 複数人同時追跡: 1アクセスポイントで約3-5人、マルチAPで線形にスケール
  • 自己学習AI(ADR-024): ラベルなしの生WiFiデータから対照学習で自己学習、55KBモデル(ESP32で動作)
  • クロス環境汎化(MERIDIAN): 一度訓練すれば別の部屋でも再訓練不要
  • 災害対応(WiFi-Mat): 瓦礫越しの生存者検出、STARTトリアージ分類
  • RVFモデルコンテナ: Ed25519署名付きバイナリパッケージ、3段階プログレッシブ読み込み
  • WASM対応: ブラウザ内でも実行可能

Rustワークスペース構成

15個のクレートで構成され、すべてcrates.ioに公開済み:

  • wifi-densepose-core — 基盤型・トレイト
  • wifi-densepose-signal — CSI信号処理(SpotFi, Hampel, Fresnel等6アルゴリズム)
  • wifi-densepose-nn — ニューラル推論(ONNX, PyTorch, Candle)
  • wifi-densepose-vitals — バイタルサイン抽出
  • wifi-densepose-mat — 災害対応モジュール
  • wifi-densepose-hardware — ESP32/Intel 5300/Atherosセンサーインターフェース
  • その他9クレート(API、CLI、WASM、DB等)

対応環境

  • OS: Linux(Ubuntu 18.04+)、macOS(10.15+)、Windows 10+
  • Rust: 1.70以上(推奨1.85+)
  • Python: 3.8以上(レガシーv1用)
  • メモリ: 最低4GB RAM、推奨8GB以上
  • GPU: オプション(NVIDIA CUDA / Apple Metal)

API

  • REST API(Axum): /api/v1/sensing/latest, /api/v1/vital-signs, /api/v1/pose/current
  • WebSocket: ws://localhost:3001/ws/sensing でリアルタイムストリーミング
  • ESP32からのUDP受信: ポート5005

ライセンス

MITライセンス(商用利用可能)

インストール・クイックスタート

Dockerで最速起動(推奨)

# イメージをダウンロードして起動(30秒で完了)
docker pull ruvnet/wifi-densepose:latest
docker run -p 3000:3000 ruvnet/wifi-densepose:latest
# ブラウザで http://localhost:3000 を開く

ソースからビルド(Rust版)

git clone https://github.com/ruvnet/wifi-densepose.git
cd wifi-densepose/rust-port/wifi-densepose-rs
cargo build --release
cargo test --workspace

ガイド付きインストーラー

# 対話式でハードウェア検出・プロファイル選択
./install.sh

# 非対話式(Rustプロファイル)
./install.sh --profile rust --yes

Python版(レガシー)

pip install wifi-densepose
pip install wifi-densepose[gpu]   # GPU対応版

過去のトレンド履歴

関連リポジトリ

学習し続ける次世代AI OS — もうスマホを買い替える時代は終わり! — ruvector

ruvnet/ruvectorRust2.0k

RuVectorは従来のアプリやシステムとは根本的に違う「自己学習型OS(基本ソフト)」です。あなたの使い方を覚えて自動でどんどん賢くなり、検索結果が時間と共に向上し、AIモデルをクラウドに頼らず手元

ruvnet/RuView

ruvnet/RuViewRust43.6k

ターミナルから呼べるAIプログラマー!OpenAI公式のコーディングエージェント — codex

openai/codexRust72.3k

Codex CLIは、OpenAIが提供するターミナル(コマンド入力画面)上で動くAIコーディングエージェント(プログラミングを手伝ってくれるAIアシスタント)です。パソコンのターミナルで「codex

コードだけじゃない!研究・執筆・自動化まで何でもこなすオープンソースAIエージェント — goose

aaif-goose/gooseRust38.6k

gooseは、あなたのパソコン上で動く汎用AIエージェント(人間の代わりに作業を進めてくれるAIアシスタント)です。プログラミングだけでなく、調べ物、文章作成、データ分析、日常的な作業の自動化など幅広

コード提案だけじゃない!インストール・実行・編集・テストまで全自動のAIエージェント — goose

block/gooseRust37.5k

gooseは、自分のパソコン上で動くオープンソースのAIエージェント(自律的に作業をこなすAIアシスタント)です。単なるコード補完ではなく、プロジェクトをゼロから構築したり、コードを書いて実行したり、