docs: 5개 md 일괄 sync (버전/날짜/package path/V2 6-stage/CH3 flicker)
- USER_GUIDE.md
* versionCode 24 → 26, App 1.0.0-design → 1.2.0-demo
* Last Updated 2026-05-26 → 2026-07-13
* Recommended FW VBTFW0116 → VBTFW0120+ (mim FIFO 필수)
* PinView.kt / AppState.kt link path com.example → com.medithings.vesiscan
- docs/BLE_PROTOCOL_REFERENCE.md
* 작성일 2026-06-05 → 2026-07-13, 검증 FW VBTFW0116 → VBTFW0120+
* package path 52건 com.example → com.medithings.vesiscan (모든 코드 링크 복구)
- docs/ALGORITHM_COMPARISON.md
* 3-Stage 를 "V1 (일반 진입)" 로 명시
* "V2 6-Stage Guide (AlignGuide4Stage)" 신규 섹션: phase 표 + CH3 flicker
3-Layer (majority / relaxed / soft-hint) + Python replay 검증 요약
* 헤더에 2026-07-13 update 표시
- docs/FLAVOR_DEMO_STABLE.md
* example source path 표기 com/example/... → com/medithings/vesiscan/...
- VesiScan_Android_Pipeline_Summary.md
* 남아있던 com/example/ 경로 1건 정리
기능 변화 없음. 문서-코드 일관성 확보 (기존 링크가 리네임 이후 broken 상태였음).
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
# Method A / B / C Algorithm Comparison & Placement Test
|
||||
|
||||
_마지막 업데이트: 2026-07-13 — V2 6-stage / CH3 flicker 3-Layer 반영._
|
||||
|
||||
## Wall Detection Comparison
|
||||
|
||||
### Pipeline
|
||||
@@ -175,12 +177,40 @@ Screen exit → LED OFF
|
||||
**Boundary**: up → detect boundary (max drops) → come back → LATERAL
|
||||
**SWEEP** (CKLaw): navel → slide down → sagittalArgMaxCh → LATERAL → GREEN
|
||||
|
||||
### 3-Stage Guide
|
||||
### 3-Stage Guide (V1 — 일반 사용자 진입, `computePlacementGuide`)
|
||||
|
||||
**Stage 1 VERTICAL**: detect count + gradient + "Slide up/down ↑↓"
|
||||
**Stage 2 LATERAL**: |len4-len5| ≤ 10 → GREEN, else "Slide left/right ←→"
|
||||
**Stage 3 GREEN**: CV ≤ threshold AND |LR dev| ≤ 0.20 → "In position!" (7s hold)
|
||||
|
||||
### 6-Stage Guide (V2 — Clinical Alignment 세션, `AlignGuide4Stage`)
|
||||
|
||||
`ClinicalHome → Sensor Alignment` 진입 시 자동 활성화. Method D chord 기반
|
||||
CV 로 정밀 vertical 조정 + CH3 flicker 대응 sliding-window majority.
|
||||
|
||||
| # | Phase | 조건 |
|
||||
|:---:|---|---|
|
||||
| 1 | INITIAL_ACCUM | baseline 10 cycle 누적 |
|
||||
| 2 | VERTICAL_CLIMB | CH3 sliding window majority — 최근 6 프레임 중 hit ≥ 3 |
|
||||
| 3 | CH3_STABILIZE | 10 cycle 위치 유지, lost 판정도 sliding (window=4, majority=3) |
|
||||
| 4 | CENTER_OPTIMIZE | CH0~CH3 chord CV ≤ 0.15 (3연속 hysteresis) |
|
||||
| 5 | LR_BALANCE | \|u4−u5\| ≤ 8 samples, lost 채널 3연속 hysteresis |
|
||||
| 6 | FINAL_CONFIRM | buf clear → 5 fresh 프레임 재확인 통과 → GREEN |
|
||||
|
||||
**CH3 flicker 대응 3-Layer** (2026-07-06 이후, commit e808b5b / 9261bc7 / 4f8d536):
|
||||
- **Layer 1 — Sliding-Window Majority**: 3 연속 hit 대체. 인체 flick 패턴
|
||||
(YYNNYY 등) 통과 가능.
|
||||
- **Layer 2 — Stuck Detection + Relaxed Mode**: VERTICAL_CLIMB 20 프레임 (~5초)
|
||||
갇힘 + CH3 hit 저조 + CH0~CH2 all detected → CH3 없이 상단 3채널로 CENTER_OPT
|
||||
진입 허용. `AlignmentConstants.VERTICAL_STUCK_THRESHOLD`.
|
||||
- **Layer 3 — UX Soft-Hint**: 12 프레임 (~3초) 반복 시 "↑ 위로" →
|
||||
"CH3 신호 확인 중 · 위치 유지" 로 문구 자동 완화.
|
||||
|
||||
**Python replay 검증** (`tools/align_analyze.py`, 2026-07-10~13): data123/ 인체
|
||||
4 세션 (Phantom + Human 0/1/3 CM). NEW vs LEGACY 병행 replay 결과 Human 0CM
|
||||
(CH3 31.8%) 회귀 방지 + Human 1CM (77.3%) 조기 진입 확인, 팬텀 false-positive
|
||||
없음. 상세 표: `tools/README.md`.
|
||||
|
||||
### Measurement Modes (v6 업데이트)
|
||||
|
||||
- **Auto Scan**: **min 600ms gap** (state-based throttle: `!isComplete` + 600ms), 10-sample trimmed mean (max/min removed, 8 avg)
|
||||
|
||||
Reference in New Issue
Block a user