TRENDSHIFT #6 · 2026.05.23 · RUVNET

RuView — WiFi 신호로
벽 너머의 사람을 본다

63.9k 스타. $9짜리 ESP32 보드와 평범한 와이파이 라우터로 사람을 감지하고, 호흡과 심박을 재고, 자세까지 추정하는 오픈소스 공간 인텔리전스 플랫폼. 카메라도, 웨어러블도, 클라우드도 필요 없다 — 순수하게 전파 물리학으로.

0먼저, "WiFi로 사람을 본다"가 가능한가

상식 같지 않은 얘기지만, 물리적으로 자연스러운 발상이다.

방 안의 와이파이 공유기는 매 순간 라디오 전파를 사방으로 쏟아낸다. 사람의 몸은 70% 이상이 물이고, 물은 와이파이 주파수대(2.4·5 GHz)에서 전파를 흡수·산란시킨다. 그러니까 사람이 방 안에 있으면 — 가만히 숨만 쉬어도 — 와이파이 신호의 모양이 미세하게 바뀐다. 바뀌는 패턴을 읽으면 누가, 어디에, 어떤 자세로 있는지 거꾸로 복원할 수 있다는 것이 RuView의 출발점이다.

용어
CSI (Channel State Information, 채널 상태 정보)
와이파이 송수신 칩이 "이 신호가 채널을 통과하면서 어떻게 변형됐는가"를 매 패킷마다 측정한 값. 보통 56개의 부반송파(subcarrier) 각각에 대해 진폭과 위상이 나온다. RSSI(신호 강도)가 "얼마나 센가" 하나뿐이라면 CSI는 56개의 색깔로 신호의 지문을 찍는다고 보면 된다.
용어
ESP32 / ESP32-S3 (저가 마이크로컨트롤러)
중국 Espressif사에서 만든 한 손에 쥐는 컴퓨터. 와이파이·블루투스 무선이 내장돼 있고 가격이 $5~$10. 일반적으로는 IoT 가전(스마트 전구·온도계)을 만들 때 쓴다. ESP32-S3는 듀얼 코어 240MHz, RAM 520KB로 CSI 디지털 신호 처리를 돌릴 수 있는 최소 사양이다.
용어
DensePose (밀집 자세 추정)
원래 Facebook AI가 발표한 컴퓨터 비전 모델 이름. "사진 속 사람의 몸 표면 모든 점을 3D 모델 위에 매핑"하는 기술. RuView 프로젝트의 다른 이름이 "WiFi-DensePose"인데, 카메라가 아니라 와이파이 CSI로 같은 일을 한다는 뜻이다.
비유

박쥐가 어두운 동굴에서 길을 찾는 원리와 비슷하다. 박쥐는 초음파를 쏘고, 돌아오는 메아리의 모양으로 동굴의 형태와 거기 있는 곤충을 "본다". RuView는 와이파이 라우터가 이미 쏘고 있는 전파를 박쥐의 초음파처럼 활용한다. 차이점은 박쥐는 자기가 직접 신호를 쏘지만, RuView는 옆집·아래층 라우터까지 공짜 레이더 송신기로 빌려 쓴다는 점이다.

1한 줄 요약

이 프로젝트의 본질.

핵심 메시지

"카메라 한 개의 화소도 없이,
방 안 사람의 자세와 심박을 읽는다."

RuView(π RuView)는 평범한 와이파이 라우터의 전파 + $9짜리 ESP32 센서 메시 + 8KB 짜리 신경망으로 "누가 거기 있고, 어떻게 숨 쉬고, 어떻게 움직이는지"를 실시간으로 알아내는 오픈소스 플랫폼이다. 모든 연산은 엣지(ESP32 + 라즈베리파이)에서 끝난다 — 클라우드·인터넷·앱 설치 없음.

전체 BOM(자재비)이 $54~$140이고 라이선스는 MIT. 의료(독거노인 낙상 감지), 보안(벽 너머 침입 감지), 재난 구조(잔해 속 생존자 호흡 감지), 로봇(LiDAR가 못 보는 사각지대) 같은 영역을 비-침습적으로 자동화한다.

2왜 RuView가 트렌딩에 올랐나

2026년 5월 23일 현재, TrendShift 데일리 6위에서 받는 시선.

2024~2025년에 학계에서는 "WiFi sensing"이라는 분야가 조용히 익어 가고 있었다. MIT·CMU·중국 칭화대에서 논문 수십 편이 쏟아졌고, MediaPipe 자세 추정을 카메라가 아닌 와이파이로 복원하는 데까지 도달했다. 그런데 학계 코드는 "리서치 NIC(인텔 5300 카드) + 리눅스 커널 패치 + 매트랩" 같은 진입 장벽이 있어서 개인이 따라 만들기가 힘들었다.

RuView는 이 장벽을 한 번에 무너뜨린다. 학계 리서치를 $9 ESP32 펌웨어 한 번 굽기로 압축한 것이다. 게다가 105개의 "엣지 모듈(Cog)" 카탈로그가 따라온다 — 호흡 감지부터 침입 탐지, 가축 모니터링, 양봉 벌통 상태 분석까지 — 그냥 골라서 깔면 된다.

경쟁 제품 대비 장점 1

"카메라가 못 보는 곳을 본다"

와이파이 전파는 벽·셸빙·먼지·연기·완전 어둠을 통과한다. 카메라는 라인 오브 사이트(직선 시야)가 막히면 무용지물이지만 RuView는 콘크리트 30cm 너머의 사람 호흡까지 잡아낸다(WiFi-Mat 재난 구조 모듈, ADR-001 참고). 화재 현장에서 연기 너머 생존자를 찾거나, 광산 매몰 사고에서 흙 너머 생체 신호를 잡는 시나리오에 직접 적용된다.

경쟁 제품 대비 장점 2

"프라이버시 규제를 우회한다"

카메라는 GDPR(유럽 개인정보보호법) 영상 조항, HIPAA(미국 의료 정보법) 이미지 조항의 직접 적용 대상이다. 그래서 의료 시설·교실·화장실·탈의실에는 못 단다. RuView는 영상 픽셀이 0개이기 때문에 같은 규제를 자연스럽게 비켜간다. 요양원에서 노인 낙상을 24시간 모니터링하고 싶은데 카메라 설치 동의를 받기 까다로운 상황 — 정확히 이 시장을 노린다.

경쟁 제품 대비 장점 3

"기존 인프라를 공짜로 빌린다"

방마다 카메라를 설치하면 한 곳당 $200~$2,000이 든다. RuView는 이미 있는 와이파이 라우터를 신호원으로 쓰니까 설치비가 0이다. 추가하는 건 한 방에 $8짜리 ESP32 하나뿐. 사옥 전체 점유율 모니터링을 $300으로 끝낼 수 있다는 얘기다. "기존 자원을 재활용한다"는 발상은 PIR 동작 감지 센서나 mmWave 레이더로는 안 되는 차별점이다.

경쟁 제품 대비 장점 4

"30초만에 새 방에 적응한다"

일반적인 머신러닝 모델은 새 환경(다른 방, 다른 가구 배치)에서 정확도가 뚝 떨어진다. RuView는 스파이킹 뉴럴 네트워크(SNN)로 30초 안에 새 환경의 RF 지문을 학습한다. 그리고 "MicroLoRA" 라는 1,800 파라미터짜리 초소형 어댑터로 환경별 미세조정을 한다 — 모델 전체 재훈련의 7%만으로.

경쟁 제품 대비 장점 5

"Claude Code 플러그인이 통째로 들어있다"

레포에 plugins/ruview/ 폴더가 있어서 /plugin marketplace add ruvnet/RuView 한 줄로 Claude Code에 등록된다. 9개 스킬·7개 슬래시 커맨드(/ruview-flash·/ruview-app·/ruview-train 등)·3개 에이전트가 묶음으로 설치된다. ESP32 펌웨어 빌드와 와이파이 프로비저닝부터 모델 학습까지 모두 AI 코딩 어시스턴트가 가이드한다. Codex CLI용 프롬프트도 미러링돼 있다.

함정
"Beta 소프트웨어"라는 사실을 잊지 말 것

README 첫 줄에 직접 적혀 있다 — "APIs and firmware may change". 카메라 없이 학습한 자세 추정 정확도(PCK@20)는 2.5%로, 카메라 기준 35%+에 한참 못 미친다(개발 중). 또 ESP32-C3나 초기 ESP32는 싱글코어라서 CSI 처리가 불가능하다(반드시 ESP32-S3). 단일 ESP32 노드 배치는 공간 해상도가 낮으니 최소 2개 이상 메시를 권장한다.

해결책
목적별 권장 구성

(1) 일단 체험하고 싶다면 → Docker로 시뮬레이션 데이터 ($0). (2) 진지하게 한 방 모니터링 → ESP32-S3 메시 3~6개 ($24~$54). (3) 영구 메모리·암호 출처 인증·MCP 프록시까지 → Cognitum Seed 어플라이언스 추가 ($140 BOM). 처음부터 풀세트로 갈 필요 없이 단계적으로 확장 가능.

3기술 스택 전체 지도

RuView 안에는 펌웨어·신호처리·머신러닝·웹 대시보드·CLI 플러그인이 한 덩어리로 들어있다.

레포 언어 비중을 보면 Rust 50% + JavaScript 16.6% + Python 15.9% + TypeScript 7.4% + C 3.6% + Shell 2.9% 다. 즉 "고성능 신호처리·ML 코어는 Rust", "ESP32 펌웨어는 C/C++", "데이터 사이언스 훈련 스크립트는 Python", "대시보드·라이브 데모는 JS/TS"라는 다층 폴리글랏 구조다. 한 군데 한 군데가 모두 학습 거리다.

① 엣지 펌웨어 (ESP32-S3)

② 신호처리 코어 (Rust)

③ ML 모델 (Hugging Face)

④ Cognitum Seed 어플라이언스

⑤ 웹 대시보드 & 라이브 데모 (JavaScript/TypeScript)

⑥ AI 코딩 에이전트 통합

⑦ 인프라 & 배포

비유

"RuView를 단일 제품"이라고 부르기보다는 "WiFi 센싱 운영체제" 라고 보는 게 정확하다. 안드로이드가 커널(Linux) + AOSP(Java/C++) + 런타임(ART) + 앱 마켓(Play Store) 4층으로 돼 있듯, RuView도 펌웨어(ESP32-IDF) + 신호처리(Rust) + 모델(HF) + 앱 마켓(Cog Catalog) 4층이다. 그리고 각 층마다 서드파티가 자기 앱을 올릴 수 있게 표준 인터페이스를 정의했다(ADR-100 Cog Packaging Spec).

4아키텍처 심화 분석

WiFi 전파에서 인간 자세까지, 데이터가 어떻게 흐르는가.

README의 "How It Works" 섹션에 핵심 파이프라인이 그림으로 나와있는데, 이걸 한국어로 그대로 옮기고 각 단계를 풀이해보자.

WiFi 라우터 → 방 안의 전파장(電波場) ↓ ESP32 메시 (4~6개 노드) ─ 채널 1/6/11 동시 캡처 (TDM) ↓ 멀티밴드 융합 ─ 3채널 × 56부반송파 = 168개 가상 부반송파 ↓ 멀티스태틱 융합 ─ N×(N-1) 링크 × 어텐션 가중 임베딩 ↓ Coherence Gate ─ 노이즈 측정치는 폐기, 안정 신호만 통과 ↓ 신호처리 ─ Hampel · SpotFi · Fresnel · BVP · 스펙트로그램 ↓ AI 백본 (RuVector) ─ 어텐션 + GNN + 압축 + 필드 모델 ↓ Signal-Line Protocol (CRV) ─ gestalt → sensory → topology → coherence → search → model ↓ 신경망 추론 ─ 17 키포인트 자세 + 호흡 + 심박 + 방 모델 ↓ 출력 ─ 실시간 자세, 생체신호, 방 지문, 변화 알림

핵심 설계 패턴 1: 멀티스태틱 (Multistatic) 센싱

전통적 레이더는 한 송신기 + 한 수신기(모노스태틱)다. 멀티스태틱은 여러 송신기와 여러 수신기를 동시에 쓴다. RuView는 모든 ESP32 노드가 서로의 신호를 보면서 그 차이를 학습한다. N×(N-1)개의 송수신 페어가 만들어 내는 다각도 관측 데이터를 어텐션 메커니즘으로 융합해 단일 카메라보다 풍부한 3D 정보를 복원한다.

핵심 설계 패턴 2: 채널 홉핑 + TDM

와이파이는 2.4GHz 대역에 채널 1, 6, 11 같은 비중첩 주파수가 있다. ESP32 메시는 이 세 채널을 시간 분할로 빠르게 오가면서(채널 홉핑), 한 시점에 한 채널씩만 듣는다. 결과적으로 한 채널만 듣는 단일 노드보다 3배의 센싱 대역폭을 확보한다. 또 옆집·아랫집의 라우터까지 무료 송신기로 활용한다.

핵심 설계 패턴 3: Coherence Gate

전파 환경은 매우 변덕스럽다 — 누가 옆 방에서 문을 닫거나, 비가 오거나, 에어컨이 켜지면 신호 패턴이 흔들린다. Coherence Gate는 매 측정마다 신호의 "결맞음 정도"를 평가해 일정 임계치 이하면 버린다. 덕분에 시스템이 며칠 동안 재튜닝 없이 안정 동작한다.

핵심 설계 패턴 4: 듀얼 헤드 신경망 (자세 + 지문 동시 출력)

56채널 CSI 입력을 Transformer + Graph Neural Network로 인코딩한 다음, 출력 헤드를 두 개로 분기한다 — 하나는 17개 관절 좌표를 내놓고, 다른 하나는 128차원 환경 지문을 내놓는다. 같은 연산으로 사람 추적과 방 식별을 한꺼번에 해결하는 효율적 설계다.

핵심 설계 패턴 5: 자기지도학습(Self-Supervised) 사전훈련

전통적 ML은 라벨링된 데이터셋이 필요하다. RuView의 사전훈련은 라벨이 없다 — 그냥 방 안에서 와이파이를 한 동안 듣게 두면 모델이 "이 신호와 저 신호가 비슷한지, 다른지"를 스스로 학습한다(contrastive learning). 6만 프레임·61만 contrastive 트리플렛 · 1,220만 학습 스텝 후 검증 정확도 82.3% (held-out temporal-triplet accuracy, 2026.05 재벤치마크 기준; 구 100% 수치는 단일 클래스 녹음 결과로 공식 철회됨).

핵심 설계 패턴 6: 엣지 모듈(Cog) 마켓플레이스

iOS 앱스토어 / 안드로이드 Play Store처럼, Cognitum Seed 어플라이언스에는 105개의 작은 모듈이 OTA로 설치된다. 각 모듈은 ~400KB짜리 서명된 바이너리고, Ed25519 서명으로 위변조를 막는다. 헬스(낙상 감지·심장 부정맥), 보안(침입·총소리), 빌딩(엘리베이터·HVAC), 리테일(고객 유동·대기열), 산업(지게차 근접·청정실), 연구(수화·감정), AI(연합학습·EWC 평생학습) 등 카테고리별로 정리돼 있다.

5디렉토리 구조 해부

레포 톱 레벨에 있는 33개 폴더 중 핵심만.

RuView/ ├── .claude/ ← Claude Code 컨텍스트 (에이전트 룰) ├── .claude-flow/ ← 다중 Claude 에이전트 협업 워크플로 ├── .claude-plugin/ ← marketplace.json — 플러그인 마켓 등록 ├── .swarm/ ← claude-flow swarm 설정 (다중 에이전트 동시 실행) ├── .mcp.json ← MCP 서버 매니페스트 ├── CLAUDE.md ← AI 코딩 어시스턴트용 프로젝트 룰 │ ├── firmware/ ← ESP32-S3 펌웨어 (C/C++) │ └── esp32-csi-node/ ← CSI 캡처 펌웨어 + provision.py │ ├── v2/ ← Rust 워크스페이스 (메인 코어) │ └── crates/ │ ├── wifi-densepose-sensing-server/ ← 메인 서버 (Candle 모델 로더) │ ├── wifi-densepose-desktop/ ← Tauri 데스크탑 앱 (WIP) │ └── cog-pose-estimation/ ← 17키포인트 Cog 구현체 │ ├── vendor/ │ └── rvcsi/ ← rvcsi 서브모듈 (CSI 런타임) │ ├── plugins/ │ └── ruview/ ← Claude Code + Codex 플러그인 (9 skills, 7 commands) │ ├── wifi_densepose/ ← Python 패키지 (PyPI 배포용) ├── scripts/ ← Node.js 라이브 스캐닝 도구 │ ├── rf-scan.js │ ├── snn-csi-processor.js │ └── mincut-person-counter.js │ ├── dashboard/ ← 웹 라이브 데모 (three.js, MediaPipe 통합) ├── ui/ ← UI 컴포넌트 ├── examples/ │ └── medical/ ← mmWave 레이더로 혈압·심박·호흡 측정 │ ├── docker/ ← Docker 빌드 정의 (multi-arch) ├── docs/ │ ├── adr/ ← 96개 Architecture Decision Records │ ├── ddd/ ← 8개 Domain-Driven Design 모델 │ └── edge-modules/ ← Cog 카테고리별 가이드 │ ├── data/ │ └── recordings/ ← raw CSI 녹음 데이터 (.csi.jsonl) │ ├── archive/v1/data/ │ └── proof/ ← 결정론적 검증용 참조 신호 │ ├── tests/ ← 1,463개 자동 테스트 ├── benchmark_baseline.json ← 성능 회귀 기준선 └── pyproject.toml ← Python 빌드 (uv 호환)

특히 주목할 것은 docs/adr/ 폴더의 96개 ADR이다. ADR(Architecture Decision Record)은 "왜 이 기술을 골랐는가"를 결정 단위로 기록하는 문서 형식. RuView는 WiFi-Mat(ADR-001), 자기지도 CSI 임베딩(ADR-024), 도메인 일반화(ADR-027), 멀티주파수 메시(ADR-029), 라이브 ESP32 파이프라인(ADR-059), 카메라 GT 학습(ADR-079), Cog 패키징(ADR-100), Cog 등록(ADR-102) 등 의사결정의 근거가 모두 공개돼 있다. 이런 문서화 수준은 보통 학계 프로젝트에서 보기 힘들다.

용어
ADR (Architecture Decision Record, 아키텍처 결정 기록)
"왜 이 라이브러리를 선택했는가" 같은 설계 결정을 한 결정당 한 마크다운 파일로 적어두는 관행. 컨텍스트 + 결정 + 결과(consequences) 구조로 적는다. 시간이 지나서 누가 "왜 그렇게 했어요?"라고 물을 때 정확히 답할 수 있게 해준다. ThoughtWorks 마이클 나이가르드가 2011년에 제안.
용어
DDD (Domain-Driven Design, 도메인 주도 설계)
에릭 에반스가 2003년에 책으로 정리한 설계 방법론. 비즈니스 도메인을 "Bounded Context"로 쪼개고, 각 컨텍스트 안에 "Aggregate"·"Domain Event"·"Ubiquitous Language"를 정의한다. RuView는 RuvSense·SignalProcessing·TrainingPipeline 등 8개 도메인 모델을 분리했다.

6학습 포인트

RuView 코드를 뜯어보며 무엇을 익힐 수 있는가.

① 신호처리 기초 — CSI · 부반송파 · 위상

호흡 감지의 핵심은 "위상 변화 패턴"을 시간축으로 보고 0.1~0.5Hz 대역만 통과시키는 밴드패스 필터다. 심박은 0.8~2.0Hz 대역. 이런 신호처리 ABC를 RuView 코드 한 군데(v2/crates/wifi-densepose-sensing-server/src/dsp/)에서 실전 구현으로 볼 수 있다.

실습 아이디어 — Python으로 SciPy scipy.signal.butter 밴드패스 필터를 만들어 사인파에 더해 본 노이즈에서 호흡 주기를 추출해보기. 이게 되면 실제 CSI 시뮬레이션 데이터로 옮겨가기.

② Rust로 엣지 ML — Candle + safetensors

Hugging Face Candle은 PyTorch와 비슷한 API의 Rust ML 프레임워크다. RuView는 Candle로 pose_v1.safetensors 모델을 ESP32보다 큰 라즈베리파이에 올려 8.4ms 콜드 스타트를 달성한다. Rust로 ML 추론을 배우고 싶다면 v2/crates/cog-pose-estimation/ 코드가 좋은 교과서.

실습 아이디어 — Candle 예제(cargo run --example mnist)부터 따라하고, 사전훈련된 ResNet-18 모델을 다운로드해 Rust로 추론까지 한 사이클 돌려보기.

③ ESP-IDF로 임베디드 펌웨어

ESP32-S3 펌웨어 작성을 처음 해본다면 RuView의 firmware/esp32-csi-node/가 좋은 시작점. ESP-IDF(Espressif IoT Development Framework)는 C/C++ + FreeRTOS 기반인데, provision.py처럼 Python으로 와이파이 자격증명을 주입하는 패턴도 익힐 수 있다.

실습 아이디어 — $9짜리 ESP32-S3 보드 하나 사서 blink.c부터 굽기. 그 다음 시리얼로 "Hello"를 출력하는 펌웨어. 마지막에 RuView 펌웨어를 그대로 굽고 CSI 데이터가 USB-Serial로 흘러나오는 걸 확인.

④ 자기지도학습 (Contrastive Learning)

SimCLR·MoCo 같은 contrastive 학습은 ChatGPT·DALL·E 같은 모델의 사전훈련에 쓰이는 핵심 기법. RuView의 ADR-024 문서는 CSI 신호에 contrastive 학습을 적용하는 구체적 절차를 단계별로 적어놨다.

실습 아이디어 — PyTorch Lightning 튜토리얼에서 SimCLR을 CIFAR-10으로 돌려보기. 그 후 ADR-024를 읽고 "이미지가 아니라 시계열 신호에 같은 아이디어를 어떻게 적용할까"를 노트로 정리.

⑤ Domain-Driven Design + Architecture Decision Records

RuView 같은 큰 오픈소스 프로젝트가 "왜 이렇게 폴더를 나눴는가"를 8개 DDD 모델과 96개 ADR로 설명한다. 이 정도 규모의 코드베이스를 어떻게 사람이 이해 가능한 형태로 문서화하는지가 실전 교과서다.

실습 아이디어 — 본인 진행 중인 사이드 프로젝트에 docs/adr/0001-why-we-use-xxx.md 같은 문서를 하나라도 만들기. 미래 자신이 가장 고마워할 일이다.

⑥ Claude Code 플러그인 만들기

RuView의 plugins/ruview/ 폴더는 Claude Code 플러그인의 좋은 레퍼런스. .claude-plugin/marketplace.json + 스킬 디렉토리 + 슬래시 커맨드 + 에이전트 정의의 전체 구조를 볼 수 있다. AI 코딩 어시스턴트에 자기 워크플로를 통합하고 싶다면 이게 시작점.

실습 아이디어 — 자기 자주 쓰는 리포의 워크플로(빌드 → 테스트 → 배포)를 Claude Code 슬래시 커맨드 3개로 묶기. /myproject-build·/myproject-test·/myproject-deploy 같은 형식.

⑦ MCP (Model Context Protocol) 통합

MCP는 Anthropic이 2024년에 발표한 LLM-도구 통합 표준 프로토콜. RuView는 Cognitum Seed에 MCP 프록시를 둬서 Claude 에이전트가 센서 데이터에 직접 질의하게 한다. "지금 거실에 사람 있어?"를 Claude가 MCP로 RuView에 묻고 답하는 패턴.

실습 아이디어 — @modelcontextprotocol/sdk로 MCP 서버 하나 만들기. "방 안 온도 알려줘" 같은 더미 도구부터. 그 다음 Claude Desktop에 등록해 자연어로 호출해보기.

7하드웨어/시스템 요구사항

실제로 돌리려면 무엇이 필요한가.

옵션 A: Docker 시뮬레이션 (하드웨어 0원)

옵션 B: ESP32-S3 메시 (실 센싱, $54~)

옵션 C: Cognitum Seed 풀세트 ($140 BOM)

옵션 D: 리서치 NIC (학계 정통, $50~$100)

옵션 E: RSSI 전용 (하드웨어 0원, 매우 제한적)

주의
ESP32-C3와 초기 ESP32는 동작하지 않음

싱글 코어이고 RAM이 부족해 CSI DSP 연산을 따라잡지 못한다. 보드 사기 전에 반드시 "ESP32-S3" 글자가 박혀 있는지 확인할 것. 일반적으로 보드 이름이 "ESP32-S3-DevKitC-1" 같은 형식이다.

주의
법적 회색지대 — 사용 전 현지법 확인

"벽 너머 사람을 감지한다"는 기능은 국가에 따라 무선 통신법·프라이버시법·도청법 등의 적용을 받을 수 있다. 본인 집·본인 사무실에서 본인이 모니터링되는 건 문제 없지만, 옆집·옆 사무실·공공장소를 감시하면 법 위반이다. 의료용으로 쓰려면 식약처(KFDA)·FDA 등 의료기기 인증이 별도로 필요하다.

실습 과제 — 난이도별

RuView로 직접 손을 더럽혀 보는 5가지 미니 프로젝트

  1. [난이도 ☆] Docker 데모 띄우기 (15분)
    docker pull ruvnet/wifi-densepose:latestdocker run -p 3000:3000 ... → 브라우저에서 localhost:3000 접속. 시뮬레이션 데이터로 자세 스켈레톤이 움직이는 걸 확인하고, UI 구조와 API 엔드포인트(/api/v1/...)를 탐색.
  2. [난이도 ☆] 결정론적 검증 신호 돌리기 (10분)
    하드웨어 없이도 python archive/v1/data/proof/verify.py 명령으로 신호처리 파이프라인이 제대로 동작하는지 검증할 수 있다. 출력 로그를 한 줄씩 따라가며 어떤 알고리즘 단계가 무엇을 하는지 추적.
  3. [난이도 ★★] ESP32-S3 한 개 굽고 라이브 CSI 보기 (반나절)
    보드 한 개($9)와 USB 케이블만 있으면 된다. esptool로 펌웨어를 굽고 provision.py로 와이파이 자격증명 주입. 그 다음 라이브 RF 스캔 스크립트(node scripts/rf-scan.js)를 돌려 시리얼로 들어오는 CSI 패킷을 실시간 그래프로 확인. 빈 방과 본인이 들어간 방의 차이를 눈으로 봐라.
  4. [난이도 ★★★] 호흡 감지 데모 (1~2일)
    ESP32-S3 노드 2개 메시 구성 → 침대 위/아래에 배치 → node scripts/snn-csi-processor.js --port 5006 실행 → 본인이 누워서 호흡할 때 BPM이 6~30 범위 안에서 잡히는지 확인. 0.1~0.5Hz 밴드패스 필터의 계수를 바꿔보며 출력 정확도 변화 관찰.
  5. [난이도 ★★★★★] 새로운 Cog 모듈 작성 (1~2주)
    ADR-100(Cog 패키징 스펙)을 정독하고, v2/crates/cog-pose-estimation/을 템플릿 삼아 자기만의 Cog를 작성. 예: "고양이 감지 Cog" — 사람 자세 모델을 사족 보행 동물 자세로 fine-tune. Ed25519로 서명해 로컬 어플라이언스에 설치까지.

9관련 기술 심화 학습 로드맵

RuView가 다루는 모든 분야를 3개월 안에 훑는 주차별 계획.

1주차: 와이파이 신호 기초 + CSI

OFDM(직교 주파수 분할 다중화) 변조 방식부터 시작. 802.11 a/b/g/n/ac 표준의 차이. RSSI vs CSI의 본질적 차이. 추천 자료: IEEE 802.11n 표준 요약본 + Halperin et al. "Tool Release: Gathering 802.11n Traces with Channel State Information"(2011) 페이퍼.

2주차: 디지털 신호처리 ABC

푸리에 변환, 밴드패스 필터(Butterworth·Chebyshev), 위상 언래핑(phase unwrapping). Python의 scipy.signal로 사인파 + 노이즈에서 원 신호 복원 실습. 책: Steven W. Smith "The Scientist and Engineer's Guide to DSP"(무료 PDF).

3~4주차: ESP-IDF + ESP32 펌웨어

Espressif 공식 튜토리얼 따라가기 — Hello World → GPIO → 와이파이 연결 → CSI 캡처. FreeRTOS 태스크 스케줄링 기본기. 결과물: 본인 ESP32-S3에서 CSI를 USB-Serial로 출력.

5~6주차: Rust + Tokio + Candle

Rust 공식 책(The Rust Book) 챕터 1~10 + Tokio 비동기. Candle MNIST 예제 → ResNet 추론. RuView의 v2/crates/wifi-densepose-sensing-server/ 코드 정독.

7~8주차: 자기지도학습 + Contrastive Learning

SimCLR / MoCo / BYOL 논문 3편. PyTorch Lightning으로 CIFAR-10 SimCLR 학습 → t-SNE 시각화. RuView ADR-024 정독하며 "CSI에 적용된 변형 트릭"을 노트로.

9~10주차: 도메인 일반화 + 평생 학습

EWC++ (Elastic Weight Consolidation) 논문 → MicroLoRA → MERIDIAN(ADR-027). 새 환경에 빠르게 적응하는 모델을 직접 구현. 한 방에서 학습한 모델이 다른 방에서도 동작하는가를 손으로 검증.

11주차: MCP + LLM 에이전트 통합

MCP 사양서 정독 → @modelcontextprotocol/sdk로 직접 서버 작성 → Claude Desktop에 등록 → 자연어로 호출. RuView의 Cognitum Seed MCP 프록시가 어떤 도구를 노출하는지 분석.

12주차: 종합 — 자기만의 Cog 출시

ADR-100 Cog 패키징 스펙을 따라 자기만의 모듈을 만들고 Ed25519 서명 후 로컬 어플라이언스에 OTA 배포. 가능하면 seed.cognitum.one/store에 출시 신청.

10핵심 키워드 사전

RuView 문서에 자주 등장하는 용어 정리.

용어
RVF (RuVector Format)
RuView가 자체 정의한 모델 가중치 컨테이너 포맷. 바이너리(magic RVFS) 버전과 JSONL 버전 두 가지가 있다. Hugging Face에 올라간 모델은 JSONL 형태(model.rvf.jsonl). 현재 sensing-server는 바이너리만 로드 가능한 알려진 갭이 있다.
용어
Cog (코그)
Cognitum Seed 어플라이언스에 설치되는 작은 서명된 바이너리 모듈. iOS 앱 같은 개념. 평균 ~400KB. Ed25519 서명으로 위변조 방지. 105개 카탈로그가 OTA로 배포된다.
용어
SNN (Spiking Neural Network, 스파이킹 신경망)
실제 뇌 뉴런처럼 "스파이크(pulse)"로 정보를 전달하는 신경망. 전통적 ANN(activation = 연속 값)보다 에너지 효율적이라 엣지 디바이스에 적합. RuView는 30초 실시간 학습에 활용.
용어
EWC++ (Elastic Weight Consolidation Plus Plus)
DeepMind가 2017년에 발표한 EWC를 개선한 평생 학습 알고리즘. 모델이 새 작업을 배울 때 이전 작업에서 중요했던 가중치는 적게 바꾸도록 제약을 건다. "치명적 망각(catastrophic forgetting)" 방지.
용어
MicroLoRA
LoRA(Low-Rank Adaptation)의 초소형 버전. RuView에서는 한 방에 1,792 파라미터만으로 환경별 모델 미세조정. 전체 모델 재학습의 7% 데이터만으로 새 방에 적응.
용어
Witness Chain (위트니스 체인)
모든 센서 측정에 Ed25519 디지털 서명을 붙여 시간순으로 체인을 형성. 누군가 데이터를 위조하면 체인이 깨진다. 의료·법정 증거용 등 진위가 중요한 시나리오에 필수.
용어
PCK@20 (Percentage of Correct Keypoints @ 20)
자세 추정 모델의 표준 평가 지표. "예측한 관절 위치가 정답에서 20픽셀 이내면 맞춤"으로 카운트. RuView의 현재 카메라-프리 PCK@20 = 2.5% (낮음), 카메라 GT로 학습 시 목표 = 35%+. 카메라가 단순 데이터 라벨링용으로만 쓰임에 주의.
용어
MCP (Model Context Protocol)
Anthropic이 2024년 발표한 LLM과 외부 도구/데이터 소스를 표준화된 방식으로 연결하는 프로토콜. USB-C가 디바이스 연결을 통일했듯, MCP는 AI 에이전트의 도구 접근을 통일하려는 시도.
용어
Tailscale
WireGuard 기반의 메시 VPN 서비스. RuView 어플라이언스를 인터넷 어디서나 접근하게 해준다. userspace 모드라 루트 권한 불필요. NAT 통과(NAT traversal) 자동.
용어
WiFi-Mat (와이파이 매트)
RuView의 재난 구조 모듈(ADR-001). 휴대용 ESP32 메시를 잔해 위에 펼쳐 콘크리트 30cm 너머 생존자의 호흡 신호를 잡고, START 트리아지(긴급도 색상 분류)로 자동 분류, 3D로 위치를 추정한다.

11참고 링크

더 깊이 파고들 때 찾을 곳들.

공식 자료

모델 & 패키지

공부 자료

TrendShift 2026.05.23 데일리 6위 분석 · RuView v1136 (2026.05.22 릴리스) 기준 · MIT License · Rust 50% + JS 16.6% + Python 15.9% + TS 7.4% + C 3.6% / 63.9k stars · 8.4k forks · 638 commits · 115+ releases · 1,463 tests