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:
2026-07-13 15:28:43 +09:00
parent eb25c01c97
commit 1cf45df80c
5 changed files with 92 additions and 62 deletions
+31 -1
View File
@@ -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)