RuView는 카메라 영상 대신 WiFi 채널 상태 정보인 CSI의 변화를 분석해 공간의 존재와 움직임을 추정하려는 오픈소스 프로젝트입니다. 원시 신호를 얻을 수 있는 하드웨어와 현장별 보정이 필요하므로 일반 공유기만으로 자세, 호흡, 심박을 정확히 본다고 이해하면 안 됩니다. 특히 안전, 의료, 감시 용도는 모델 데모보다 오탐, 동의와 독립 검증이 먼저입니다.
RuView는 WiFi로 무엇을 감지하나: CSI 센싱의 범위, 오탐, 개인정보
RSSI와 CSI는 무엇이 다른가
RSSI는 수신 신호의 전체적인 세기를 요약한 값에 가깝습니다. CSI는 여러 서브캐리어에서 진폭과 위상 같은 채널 특성을 더 세밀하게 보여 줍니다. 사람과 가구, 벽에 의해 생기는 다중 경로가 움직이면 CSI 패턴도 바뀔 수 있어 존재와 움직임을 추정할 재료가 됩니다.
신호 변화가 곧 사람의 뼈대나 심박이라는 뜻은 아닙니다. 공유기 상태, 다른 무선기기, 문 개폐와 가구 이동도 채널을 바꿉니다. 센싱 파이프라인은 노이즈 제거, 시간 특징 추출과 모델 추론을 거쳐야 하며, 최종 결과의 불확실성은 환경과 하드웨어에 따라 달라집니다.
어떤 하드웨어가 필요한가
일반 노트북과 스마트폰의 WiFi 드라이버는 원시 CSI를 애플리케이션에 제공하지 않는 경우가 많습니다. 기존 글이 다룬 RuView 구성은 ESP32-S3 같은 호환 장치와 특정 센싱 경로를 전제로 합니다. “이미 집에 WiFi가 있다”는 사실만으로 같은 입력 데이터를 얻는다고 볼 수 없습니다.
PoC 전에는 저장소가 지원하는 보드, 펌웨어, 안테나, 송수신 배치와 수집률을 현재 코드에서 확인합니다. 하드웨어 가격 한 항목만으로 총비용을 계산하지 말고 전원, 케이스, 설치, 캘리브레이션과 유지보수를 포함합니다. 여러 방이나 넓은 공간에서는 장치 수와 배치가 성능에 직접 영향을 줄 수 있습니다.
Rust와 WASM 구조는 무엇을 해결하려 하나
기존 설명은 Python 중심 초기 구현에서 Rust 런타임과 작은 WASM 모듈로 신호 처리 기능을 나누는 방향을 소개했습니다. 목표는 무거운 원시 신호를 계속 클라우드로 보내지 않고 장치 가까이에서 필터링, 특징 추출과 일부 추론을 수행하는 것입니다. 모듈 경계가 명확하면 기능별 업데이트와 자원 제한에도 도움이 될 수 있습니다.
그러나 Rust나 WASM을 썼다는 사실이 실시간성, 정확성, 격리를 자동 보장하지는 않습니다. 실제 보드에서 모듈 크기, 처리 주기, 메모리 최고점과 프레임 누락을 측정해야 합니다. WASM 런타임이 허용하는 호스트 함수와 펌웨어 업데이트 검증도 보안 경계의 일부입니다.
RuView 저장소의 현재 코드와 릴리스가 기존 글에 소개된 모듈 수, 지연 주장과 일치하는지 직접 확인해야 합니다. 아키텍처 설명과 재현 가능한 빌드, 측정 결과를 구분하는 것이 중요합니다.
RTOS 지연 한 줄이 왜 중요한가
기존 글은 ESP32-S3 펌웨어 릴리스에서 신호 처리 태스크가 코어 시간을 과도하게 사용해 watchdog 문제를 만들고 짧은 yield를 추가한 사례를 다뤘습니다. 이는 평균 계산량이 작아 보여도 실시간 시스템에서는 다른 태스크가 실행할 여유와 최악 지연이 중요하다는 점을 보여 줍니다.
평가할 때는 평균 처리 시간만 보지 말고 수집 프레임 누락, watchdog, 네트워크, 로그 태스크의 지연과 장시간 안정성을 기록합니다. 짧은 양보가 센싱 품질에 영향을 주지 않는지도 기준 신호와 비교합니다. 특정 펌웨어 패치의 성공을 모든 보드와 수집률에 일반화하지 않습니다.
환경 보정은 무엇을 기준으로 해야 하나
빈 공간, 한 사람의 정지, 걷기, 여러 사람, 문과 가구 이동을 각각 기록합니다. 설치 직후의 기준 패턴과 시간이 지나며 달라지는 패턴을 비교해 재보정 조건을 정합니다. 같은 방에서도 장치 위치와 안테나 방향이 바뀌면 결과가 달라질 수 있습니다.
전자레인지와 인접 AP, Bluetooth 등 간섭이 많은 시간대도 평가에 넣습니다. 조용한 데모에서 좋은 결과가 나와도 실제 건물의 혼잡한 채널에서는 오탐이 늘 수 있습니다. 신호 품질이 기준 아래면 확정 감지보다 “판정 불가”를 내는 동작이 필요합니다.
자세, 호흡, 심박은 어떻게 따로 검증할까
존재 감지, 큰 움직임, 자세, 호흡과 심박은 난이도와 실패 비용이 다릅니다. 한 기능이 가능하다는 결과를 다른 기능의 정확도로 확장하면 안 됩니다. 각각 독립된 기준 센서와 시간 동기화를 두고 사람, 거리, 벽, 자세별 오차를 측정해야 합니다.
호흡과 심박처럼 미세한 주기 신호는 큰 몸동작과 여러 사람, 가구 진동에 방해받을 수 있습니다. 기준 장비와의 평균 차이뿐 아니라 신호를 못 찾은 비율과 잘못된 사람에게 연결한 경우를 기록합니다. 의료적 판단이나 응급 호출에는 별도의 규제, 임상 검증이 필요하며 프로젝트 설명만으로 대체할 수 없습니다.
카메라가 없어도 왜 개인정보가 중요한가
CSI 기반 센싱은 얼굴 이미지를 만들지 않을 수 있지만 누가 방에 있는지, 언제 움직이고 잠드는지, 호흡 변화가 있는지를 추정할 수 있습니다. 이런 데이터는 생활 패턴과 건강 상태를 드러낼 수 있습니다. 카메라보다 덜 식별적이라는 이유로 동의와 고지를 생략해서는 안 됩니다.
가능한 경우 장치에서 판정만 만들고 원시 CSI와 장기 이력을 최소화합니다. 수집 목적, 보존 기간, 접근 권한과 삭제 방법을 정하고 사용자가 센싱을 알 수 있게 합니다. 벽 너머 공간이나 이웃 영역을 의도치 않게 감지하는지 설치 범위도 점검해야 합니다.
작은 PoC는 어떤 순서로 진행할까
먼저 호환 하드웨어에서 원시 CSI 수집과 시간 동기화를 재현합니다. 다음으로 빈 방, 한 사람의 존재와 큰 움직임처럼 단순한 과제를 기준 센서와 비교합니다. 장시간 안정성과 간섭을 통과한 뒤에만 자세와 생체 신호처럼 어려운 기능을 분리해 시험합니다.
각 단계에서 정확도, 오탐, 누락, 판정 불가, 끝단 지연, 프레임 손실과 전력 사용을 기록합니다. 설치와 보정에 걸린 사람 시간도 비용에 포함합니다. 고위험 사용처로 확대하기 전에는 독립 검증과 개인정보, 안전 담당자의 검토가 필요합니다.
펌웨어나 모델을 업데이트할 때는 같은 공간, 행동 세트를 다시 측정합니다. 신호 처리 성능이 좋아져도 장치 안정성이나 전력 사용이 나빠질 수 있고, 임계값 변경이 기존 설치의 오탐을 늘릴 수 있습니다. 업데이트 버전과 캘리브레이션 상태를 묶어 기록하고 문제가 생기면 이전 구성으로 되돌릴 수 있어야 합니다.
RuView의 의미는 값싼 장치 하나가 벽 너머를 완벽히 본다는 데 있지 않습니다. 흔한 무선 신호를 공간 센서로 활용할 가능성과, 그 가능성을 실제 환경에서 검증하려면 하드웨어, DSP, 모델, 운영 정책을 함께 설계해야 한다는 데 있습니다.
데모와 현장 성능을 구분하는 재현표
재현 기록에는 송신기와 수신기 모델, 안테나 수와 위치, 채널 대역폭, 벽 재질, 방 크기, 사람 수, 학습에 포함된 공간인지 여부를 함께 적어야 합니다. 이 조건이 빠진 정확도는 다른 장소로 옮겼을 때 비교 기준이 되기 어렵습니다. 빈 방과 정지 자세만이 아니라 문이 열리는 상황, 가구 이동, 다른 무선 기기의 간섭, 두 사람이 겹치는 장면을 포함해 실패 범위를 드러내야 합니다.
판정 불가를 오류와 별도 상태로 설계하는 것도 중요합니다. 신호 품질이 기준 아래이거나 캘리브레이션이 오래됐다면 억지로 자세나 생체 신호를 반환하지 않고 재보정을 요구해야 합니다. 기준 센서와 시간축을 맞춘 원본 실험 기록을 보존하면 모델 업데이트 뒤 개선과 회귀를 같은 조건에서 확인할 수 있습니다. 이 절차를 통과하지 않은 화면 시연은 가능성을 보여 주는 자료일 뿐, 안전 기능의 성능 보증은 아닙니다.
함께 읽으면 이해가 이어지는 글
- 카메라 없이 WiFi CSI로 자세를 읽을 수 있나: WiFi-DensePose의 조건 — WiFi 신호의 진폭, 위상 변화로 신체 영역과 UV 좌표를 예측하는 teacher–student 구조, 하드웨어 배치, 노이즈, 프라이버시 한계를 짚습니다.
- NeoVerse는 흔들린 단안 영상으로 4D를 어떻게 만드나: Pose-free의 의미 — 카메라 포즈 전처리와 장면별 최적화를 줄이는 피드포워드 4D 표현, 열화 시뮬레이션, 새 궤적 생성의 경계
- 정면 춤 영상을 측면으로 바꾸면 Pose가 무너지는 이유: 3DiMo의 Motion Token — 3DiMo가 2D pose의 view 종속성과 SMPL reconstruction 오류 사이에서 body, hand motion encoder, perspective augmentation, annealed geometry…
자주 묻는 질문
RuView는 일반 공유기만으로 벽 너머 사람의 자세를 정확히 볼 수 있나요?
그렇게 보장할 수 없습니다. 원시 CSI를 노출하는 호환 하드웨어와 환경 보정이 필요하며 벽, 가구, 간섭, 사람 수가 달라질 때 정확도를 다시 측정해야 합니다.
카메라를 쓰지 않으면 개인정보 문제가 사라지나요?
아닙니다. 존재, 움직임, 생체 신호 추정도 민감한 감시 데이터가 될 수 있으므로 동의, 수집 목적, 보존 기간과 접근 권한을 별도로 설계해야 합니다.
RuView를 낙상이나 심박 감지에 바로 사용해도 되나요?
안 됩니다. 생명, 안전 판단에 쓸 임상적 또는 운영적 검증이 이 글에 제시되지 않았으므로 독립 기준 센서와 사람 확인을 둔 제한적 실험부터 해야 합니다.
←→ 키와 좌우 스와이프를 지원합니다. 읽던 페이지는 이 기기에 저장됩니다.