RuView ที่ใช้ ESP32 สำหรับตรวจจับการมีอยู่ ท่าทาง และสัญญาณชีพผ่าน WiFi

RuView เป็นการพัฒนาแบบโอเพ่นซอร์สของเทคโนโลยี “WiFi DensePose” โดยใช้โหนด ESP32 หลายตัว เพื่อแปลงสัญญาณ WiFi ให้กลายเป็นการตรวจจับท่าทางมนุษย์แบบเรียลไทม์ การติดตามสัญญาณชีพ และการตรวจจับการมีอยู่ของบุคคล โดยไม่ต้องพึ่งพากล้องวิดีโอ

WiFi DensePose เป็นเทคนิคด้านการตรวจจับ (sensing) ที่เริ่มมีการศึกษาในงานวิจัยทางวิชาการ โดยอาศัยสัญญาณ WiFi ในการสร้างแบบจำลองท่าทางของมนุษย์ขึ้นมาใหม่, RuView ได้นำเทคนิคนี้มาพัฒนาโดยใช้ภาษา Rust หรือ Python และอาศัยเราเตอร์ WiFi ร่วมกับโหนด ESP32 หลายตัว เพื่อทำการติดตามท่าทางของร่างกาย ตรวจจับอัตราการหายใจ และวัดอัตราการเต้นของหัวใจได้ แม้กระทั่งทะลุกำแพง แต่โปรเจกต์นี้ก็มีประเด็นถกเถียง เนื่องจากมีบางส่วนตั้งข้อสงสัยว่าเทคโนโลยีดังกล่าวอาจไม่เป็นความจริง

Ruview

โซลูชันนี้อาศัยการเปลี่ยนแปลงของ Channel State Information (CSI) ที่เกิดจากการเคลื่อนไหวของมนุษย์ เพื่อนำมาสร้างแบบจำลองตำแหน่งของร่างกาย อัตราการหายใจ อัตราการเต้นของหัวใจ และการตรวจจับการมีอยู่ของบุคคลแบบเรียลไทม์ โดยใช้เทคนิค “การประมวลผลสัญญาณตามหลักฟิสิกส์ และ machine learning”

นั่นหมายความว่าคุณจำเป็นต้องใช้อุปกรณ์ฮาร์ดแวร์ที่รองรับ Channel State Information (CSI) เนื่องจากอุปกรณ์ WiFi สำหรับผู้บริโภคทั่วไปไม่ได้รองรับฟีเจอร์นี้ทั้งหมด โดยคำอธิบายของโปรเจกต์ได้ระบุตัวเลือกฮาร์ดแวร์ไว้ดังนี้ :

  • ESP32 Mesh (แนะนำ) – ใช้ ESP32-S3 จำนวน 3–6 ตัว ร่วมกับเราเตอร์ WiFi ค่าใช้จ่ายประมาณ $54 (~1,800฿) เฉพาะโหนด ESP32 สำหรับรองรับการตรวจจับท่าทาง การหายใจ การเต้นของหัวใจ การเคลื่อนไหว และการมีอยู่ของบุคคล
  • การ์ดเครือข่ายสำหรับงานวิจัย (Research NIC) เช่น Intel 5300 หรือ Atheros AR9580 ค่าใช้จ่ายประมาณ $50 (~1,650฿) ถึง $100 (~3,300฿) รองรับ CSI เต็มรูปแบบ พร้อมเทคโนโลยี 3×3 MIMO
  • อุปกรณ์ WiFi ทั่วไป เช่น แล็ปท็อปที่ใช้ Windows, macOS หรือ Linux (ไม่มีค่าใช้จ่ายเพิ่มเติม) ใช้ได้เฉพาะค่า RSSI (ความแรงสัญญาณ) สำหรับตรวจจับการมีอยู่และการเคลื่อนไหวแบบคร่าว ๆ เท่านั้น

ถ้าคุณไม่มีฮาร์ดแวร์ WiFi ระบบนี้สามารถทำงานในโหมดจำลอง โดยใช้ข้อมูล CSI แบบสังเคราะห์ (synthetic data) ได้ แต่ใช้งานแบบ mesh ด้วย ESP32-S3 คุณอาจสามารถได้ประสิทธิภาพตามตัวชี้วัดดังนี้:

  • การประเมินท่าทาง – 54K fps (เมื่อใช้ Rust)
  • การตรวจจับการหายใจ – 6–30 ครั้งต่อนาที (BPM)
  • อัตราการเต้นของหัวใจ  – 40–120 ครั้งต่อนาที (BPM)
  • การตรวจจับการมีอยู่  – ความหน่วงต่ำกว่า 1 มิลลิวินาที
  • การตรวจจับทะลุกำแพง – ระยะลึกสูงสุดประมาณ 5 เมตร

การติดตั้งบนเครื่องโฮสต์ใช้ Docker และสามารถทำงานได้บน Windows 10 / Windows 11, macOS 10.15 และ Ubuntu 18.04 ขึ้นไป นอกจากนี้ยังต้องติดตั้งเฟิร์มแวร์ลงในโหนด ESP32-S3 แต่ละตัวด้วย สิ่งสำคัญที่ควรเข้าใจคือ ฟีเจอร์อย่าง การตรวจจับการมีอยู่, ระดับการเคลื่อนไหว, อัตราการหายใจ และการวัดคุณภาพสัญญาณ สามารถใช้งานได้ทันที (out of the box) โดยไม่ต้องใช้โครงข่ายประสาทเทียม (neural networks) แต่ฟีเจอร์การประเมินท่าทาง (pose estimation) ที่ใช้โครงกระดูก 17 จุด ไม่ใช่ระบบที่พร้อมใช้งานทันทีจำเป็นต้องให้ผู้ใช้ฝึกโมเดล (train model) ให้เหมาะกับสภาพแวดล้อมของตนเองก่อนจึงจะใช้งานได้ คุณสามารถดูขั้นตอนการตั้งค่าได้จากคู่มือผู้ใช้ใน GitHub repo ของโปรเจกต์ หลังจากตั้งค่าเสร็จแล้ว สามารถเข้าใช้งานเว็บแดชบอร์ดได้ที่ http://localhost:3000 และถ้าต้องการทดลองดูอินเทอร์เฟซอย่างรวดเร็วโดยใช้ข้อมูลจำลอง สามารถเข้าไปดูผ่านเว็บไซต์เดโม

RuView Observatory Web interface body skeleton

RuView ESP32 WiFi CSI Sleep monitor Fall detection Vital
อินเทอร์เฟซรองรับโหมดการทำงานหลายรูปแบบ เช่น การติดตามการนอนหลับ, การตรวจจับการล้ม, การวัดสัญญาณชีพ และอื่นๆ  นอกจากนี้ยังสามารถผสานข้อมูล CSI จาก WiFi เข้ากับข้อมูลจากกล้อง

คุณสมบัติและจุดเด่นเพิ่มเติมของ RuView และเทคนิค WiFi DensePose เช่น

  • ความเป็นส่วนตัว – ติดตามท่าทางของมนุษย์โดยใช้สัญญาณ WiFi เพียงอย่างเดียว ไม่ต้องใช้กล้อง
  • รองรับตรวจจับและติดตามหลายคนพร้อมกันได้
  • รองรับตรวจจับทะลุกำแพง
  • การกู้ภัย – ตรวจจับผู้รอดชีวิตที่ติดอยู่ใต้ซากปรักหักพัง และประเมินระดับการบาดเจ็บ (อาจเป็นการกล่าวเกินจริง)
  • Multistatic Mesh – ใช้โหนดเซนเซอร์ราคาประหยัด 4–6 ตัวทำงานร่วมกัน สร้างเส้นทางสัญญาณมากกว่า 12 เส้น ครอบคลุมพื้นที่ 360 องศาภายในห้อง ด้วยความแม่นยำระดับต่ำกว่าหนึ่งนิ้ว และไม่สับสนระหว่างบุคคล
  • เรียนรู้ด้วยตัวเอง – เรียนรู้จากข้อมูล WiFi ดิบ (raw data) โดยอัตโนมัติ
  • ความปลอดภัย QUIC Mesh – การสื่อสารระหว่างเซนเซอร์เข้ารหัสแบบ end-to-end พร้อมการตรวจจับการแก้ไขข้อมูล (tamper detection), ป้องกันการ replay และสามารถเชื่อมต่อใหม่ได้อัตโนมัติหากโหนดหลุดหรือย้ายตำแหน่ง
  • จอแสดงผล AMOLED – บอร์ด ESP32-S3 ที่มีหน้าจอ AMOLED ในตัว สามารถแสดงสถานะการมีอยู่ของบุคคล สัญญาณชีพ และสถานะของห้องแบบเรียลไทม์ได้โดยตรงบนตัวเซนเซอร์

ดูเหมือนว่าโปรเจกต์นี้จะดูดีในตอนแรก แต่เมื่อประมาณหนึ่งเดือนก่อน Deletexiumu ได้ตรวจสอบโปรเจกต์นี้และระบุว่าเป็นการหลอกลวง ซึ่งก็มีเหตุผลรองรับ เนื่องจากในช่วงเวลานั้นมีตัวแปรหลายตัวถูกใส่ข้อมูลแบบสุ่ม นอกจากนี้ในรีโพซิทอรี (repo) ยังระบุถึงปัญหาต่าง ๆ เช่น การไม่มี pretrained weights, สคริปต์สำหรับการเทรนโมเดล, ชุดข้อมูล (dataset) และโค้ดสำหรับการประเมินผล (evaluation code) รวมถึงข้อบกพร่องอื่น ๆ อีกหลายประการ

WiFi DensePose CSI Random Data

เรายังไม่ได้ตรวจสอบข้ออ้างทั้งหมด แต่จากการดูไฟล์ล่าสุด v1/src/hardware/csi_extractor.py พบว่าค่าที่เคยถูกสุ่มขึ้นมา นั้นได้ถูกนำออกไปแล้ว:


มีความเป็นไปได้ว่าการวิเคราะห์ (ที่ขับเคลื่อนด้วย AI) ถูกทำบนโค้ดเวอร์ชันเริ่มต้น ซึ่งใช้เพียงข้อมูลแบบสุ่มหรือข้อมูลจำลองเท่านั้น หลักการทางวิทยาศาสตร์เบื้องหลังโปรเจกต์นี้มีอยู่จริง (ดูได้จากงานวิจัยที่อ้างอิงไว้ในบทนำ) และ Espressif Systems ก็เคยสาธิตการใช้งาน WiFi CSI บน ESP32 ในรูปแบบพื้นฐานตั้งแต่ปี 2022 อีกทั้งยังพบรายงานจากผู้ใช้งานในส่วน issues, pull requests ต่าง ๆ และข้อมูลอื่น ๆ มีความเป็นไปได้สูงว่าบางคำกล่าวอ้างอาจเกินจริง หรือใช้ได้เฉพาะในเงื่อนไขบางอย่างเท่านั้น แต่ก็ไม่มีอะไรที่บ่งชี้ว่าโปรเจกต์นี้ไร้ประโยชน์โดยสิ้นเชิง แต่ข้อเสียคือยังไม่พบวิดีโอสาธิตการใช้งาน RuView บน YouTube มีเพียงผู้คนที่ “พูดถึง” โปรเจกต์นี้เท่านั้น

แปลจากบทความ : RuView project leverages ESP32 nodes for WiFi-based presence detection, pose estimation, and breathing/heart rate monitoring

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
โฆษณา