Files
GhiVideo_v4/docs/history/2026-07-14_1236_자세-시간축-재정렬.md
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

1.9 KiB
Raw Permalink Blame History

2026-07-14 옆 지물(상대리 마을회관) 밀림 — 자세 시간축 자동 재정렬

소요 시간: 25분 Context 사용량: input 3800k / output 6k tokens

문제 (스크린샷 제보)

전방 지물(중간산서로 등)은 잘 붙는데 '상대리 마을회관'처럼 옆으로 지나치는 POI 가 계속 뒤로 밀리면서 사라짐.

진단

  • 마을회관 z 는 정상(파일 96.83 vs DEM 환산 97.9) → 표고 원인 배제
  • 위치는 djmd(영상 내장 텔레메트리) 프레임 동기로 정확하지만, 자세(yaw/pitch/roll)는 여전히 CSV 시각정렬 — 두 시간축 사이 잔차가 존재.
  • 옆을 지나치는 지물은 상대 방위가 초당 수십 도씩 급변 → yaw 가 0.3초만 늦어도 화면에서 수백 px 뒤로 밀림. 전방 지물은 방위 변화가 느려 티가 안 났던 것.

수정 — djmdTrack.ts refineFramesWithDjmd

  • djmd 위치 ↔ CSV 위치의 교차상관으로 시간 오프셋(dt) 자동 추정 (조사 1.5~+1.5s 0.05s 스텝 → 최적 근방 ±0.05s 를 0.01s 정밀 스윕, 프로브 ~50점)
  • 최종 프레임: 위치 = djmd(프레임 동기), 자세 = CSV 를 t + dt 로 재샘플 (yaw 는 최단각 보간) → 위치·자세가 모두 영상 시간축으로 통일

검증 (실데이터 경로 1-1, DJI_...0002.MP4)

  • 추정 dt = 0.33s (기존 진단치 ≈0.33s 와 정확히 일치)
  • 위치 잔차: dt=0 일 때 3.24m → dt 적용 시 0.24m
  • tsc+vite 빌드 통과, 새 번들(index-DpAUafsi.js) 서빙 확인

사용법 / 안내

  • 새로고침 후 폴더 재선택 → 콘솔에 [djmd] CSV↔영상 시간 오프셋 ...s 추정 로그 출력
  • 세그먼트마다 각자 dt 를 추정하므로 분할영상 전체에 자동 적용
  • 수정 후에도 모든 POI 가 원거리에서 균일하게 밀리면 짐벌 피치 바이어스 → 카메라 파라미터 Pitch± ±0.5° 미세 조정