Files
GhiVideo_v4/docs/history/2026-07-14_1055_시간동기-보정-슬라이더.md
T
b23042andClaude Fable 5 c64c57b58e djmd 프레임 동기·오버레이 지면고정·선형-측점 정합·UI 단축키
- djmd(영상 내장 텔레메트리) 프레임 동기 위치/고도: MP4 stbl 선별 파싱(djmdTrack.ts),
  CSV 시각정렬 오차(평균 3.2m) 제거 — 세그먼트별 백그라운드 정밀화(frameSynced 플래그)
- 자세 시간축 재정렬: djmd 위치 교차상관으로 CSV↔영상 오프셋 자동 추정(실측 -0.33s,
  잔차 0.24m) 후 yaw/pitch/roll 재샘플(yaw 최단각) — 옆 지물 미끄러짐 해소
- 포즈 평활 자동 제한: 프레임 동기 데이터는 ±5프레임 상한(기존 ±60=±1s) —
  회전 시 오버레이 전체가 드론에 딸려오는 지연 제거
- 선형-측점 정합: 측점 위치를 선형 정점으로 삽입(3D 이격≤0.012m) + 정점 z 를 측점
  체이니지 보간으로 재정렬, 측점 라벨 화면 EMA 제거(선과 동일한 즉시 투영) —
  선형이 측점 POI 를 픽셀 단위로 통과
- 드론높이 모드 높이 규칙 통일: 선형도 '드론고도-이격거리' 평면 적용(라벨과 동일)
- 카메라 offZ 잔재 교정: 표고 체계 정비 이전 드래그 보정값(-18.3m)이 이중 보정이 되어
  원거리 POI 가 접근할수록 밀리던 원인 — 경로 1-1 camera.json 0 으로 교정(.bak 백업)
- 로드 UX: 폴더 로드 시 정지 상태로 대기(처음부터), 데이터 교체 시 UI 초기 상태 복원
- 라벨: 측점 팝업 표고(타원체고) 행 추가, 구조물-POI 이중 라벨 제거(어음천교),
  시간동기 보정 슬라이더(timeOffsetSec)
- 측점 표기 0+000 형식 전환(생성 6곳·파서 4곳 신구 호환) + 스테이션바 양끝 100m 내
  시설물 없으면 시작/끝 스테이션 마크
- 단축키: F2 개발자 모드(dev_mode 1↔0, 세션 한정), A 선형 표시 토글
- 인프라: 54000 포트 재부팅 자동화(portproxy 직접 IP + 로그온 갱신, pm2 resurrect)
- docs/history: 작업 이력 23건

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 17:59:43 +09:00

32 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 2026-07-14 시간동기(영상↔로그) 보정 슬라이더
**소요 시간**: 8분
**Context 사용량**: input 3290k / output 4k tokens
## 배경 (사용자 문제 제기)
오르막 촬영(드론 고도 점진 상승)에서 POI 가 영상에 "풀 붙인 듯" 고정되지 않고 밀림.
남은 오차원 분석: ① 영상-로그 시간 동기(이동 중 최대 ~5m 밀림의 주범),
② 포즈 스무딩 지연(smoothHalf 60 = ±6초 평균 — 고도/자세가 서서히 변하는 오르막에서 랙).
## 구현 — 시간동기 보정 (①)
- CameraParams 에 `timeOffsetSec`(기본 0) 추가 — **camera.json/보정 저장에 자동 포함**
- RAF 연속 프레임 산출에 오프셋 적용: estTime = 부드러운 시간 + timeOffsetSec
→ 포즈 보간·라벨 캐시 조회·선형/궤적 투영 전부 일괄 반영
- UI: 자세 보정 섹션 최상단 "시간동기" 슬라이더 (2~+2s, 0.05s 스텝, 툴팁)
## 안내 (②)
- 오르막 데이터셋은 smooth(포즈 이동평균 반폭) 60 → **10 내외 권장** — ±1초 평균으로
고도 상승 추종. 조정 후 display.json 저장
## 남은 개선 여지 (미구현 제안)
- djmd(영상 내장 텔레메트리)의 프레임별 위치/고도 사용 — 프레임 단위 완전 동기.
자세(yaw/pitch)는 djmd 에 없어 CSV 병용 필요. 필요 시 다음 단계로
## 검증
- tsc+vite 빌드 통과, 새 번들(index-ee25eCoO.js) 서빙