🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付

AI 可以讓 WIFI 實現監控室內人體位置和姿態,無需攝像頭?

最近一個叫 wifi-densepose 的專案登上了趨勢榜,這個專案看起來就很反直覺,它主要是通過分析室內已有的 WiFi 信號來感知人的位置和姿態,從而實現「無攝像頭」的監控

簡單來說,就是透過 CSI(Channel State Information) 數據來替代原本的 RSSI,具體原理大概是:

  • 當 WiFi 信號在室內傳播時,會遇到牆壁、家具和人體,人體作為障礙物,會引起信號的反射、折射和散射
  • 人的不同動作(如走動、坐下、舉手)會以特定的方式改變 WiFi 信號的幅度(Amplitude)和相位(Phase),所以可以通過算法得到一個人的「指紋」
  • 專案甚至表示可以捕捉微小的動作,如呼吸(4-60 BPM)和心跳,技術上是通過分析信號頻率的微小偏移(微多普勒)實現的

image

那到這裡你應該看出來了,它的關鍵不在於硬體,而在於其複雜的 AI 神經網路算法,因為這裡的核心是需要將無線信號「翻譯」成了視覺元素:

  • 模式轉換:需要有一個轉換實現,接收 WiFi 信號數據,通過編碼器轉換為 2D 的「類視覺特徵圖」
  • DensePose 整合:文件說的是用一種改進的 DensePose-RCNN 模型,原本這種模型是為攝像頭設計的,但在這裡它被訓練來識別由 WiFi 信號生成的特徵,並將這些特徵映射到人體表面的 keypoints(關鍵點)上
  • 即時處理:通過 Rust 系統可以將處理延遲控制在 50 毫秒以內,實現每秒 30 幀的即時姿態追蹤
  • 除此之外,用多個路由器的情況下,形成交叉覆蓋區域來提高精度,通過 MIMO 從不同角度「觀察」人體

image

所以從代碼層面,它的核心流程:

  • CSI 數據採集:系統利用 WiFi 設備獲取底層的 CSI 數據,這個數據主要是記錄了信號在多徑傳播中(被牆壁、人體反射後)的幅度 (Amplitude) 和相位 (Phase) 的變化
  • 信號預處理
    • 去噪與歸一化:移除環境雜波干擾
    • Hamming Window 處理:減少頻譜洩漏,使信號更穩定
    • 相位校準:處理 WiFi 信號固有的相位偏移問題
  • 模式轉換:模型接收 CSI 原始張量,通過編碼器映射為類似視覺特徵的 2D 圖像張量
  • DensePose:利用深度學習中的 DensePose Head 架構(densepose_head.py),對生成的特徵圖進行兩類回歸:
    • 人體部位分割:識別軀幹、四肢等不同部位
    • UV 坐標回歸:將人體表面映射到 2D 坐標系,實現精細到皮膚表面的 3D 姿態擬合

image

看完了大家覺得如何?看起來很高大上,實際上就是對特徵數據的暴力整合,也就是這個專案的核心其實是訓練數據

為什麼這個信號特徵是睡著,為什麼這個信號特徵是蹲著,這些標籤都需要數據提供。

但是,從開源代碼上看,其中需要進行 WiFi 信號處理和姿態預測的核心功都還沒實現,所以我突然很好奇,這個專案是怎麼飈升到趨勢榜的。

因為從原理上我們可以看出來,計算 WiFi 感知對於軀幹定位較準,但在肢體(手指、四肢末端)的細節捕捉肯定沒辦法精準,除非你有大量的精確特徵數據,而且原理對環境依賴相當敏感,也就是環境發生變化,你數據就要進行校準,不然無法剔除靜態物體的反射干擾。

最重要的是,當室內的人的數量多一點時,信號散射會極度混亂。

所以作者怎麼解決這些問題呢?嗯,作者沒有解決

是的,作者沒有解決或者沒有開源這些能力,儘管 README 檔案和文檔充寫了很多功能,指標數據也寫得很好看,但是代碼裡很多都沒有實現,而且有一堆 mock 數據,作者沒有提供數據集,你不用 mock 就要自己去標註和做數據。

image

最過分的是,真實硬體介面是「佔位符」,RouterInterface 中的真實 CSI 採集函數 _collect_real_csi_data() 直接打印警告並返回 None完全沒有實際實現

image

CSI 解析器也用隨機數代替真實數據 ESP32CSIParser 的 amplitude/phase 解析直接用 np.random.rand 生成隨機數,註解寫著 "simplified for now":

image

就算是在非 mock 模式下,estimate_poses() 方法內部仍也是用 np.random.randn 生成隨機 CSI 數據:

image

訓練權重和數據也沒有,看下來的感覺就是:

整個代碼庫就像是 Vibe Coding 寫的樣板代碼,幾乎看到完整實現的核心功能

再深挖可以發現,這個專案大概率是基於 "DensePose From WiFi"(ArXiv:2301.00250)的論文實現,而這個過程作者應該是直接讓 AI 復現論文,只是沒有數據集和更新資訊的情況下,AI 根本復現不了,就復現了一個高大上的 README,和一個工程原型殼子。

所以,最後一個問題:大家 star 和 fork 的時候都不看代碼實現嗎?直接一個 README 就嗨起來了?感覺這更像是一場 AI 的「皇帝的新衣」

專案地址

github.com/ruvnet/wifi…


原文出處:https://juejin.cn/post/7611424094525931561


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝22  
637
🥈
我愛JS
💬3  
10
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付