Files
GhiVideo/docs/쉬운설명_드론흔들림잡기와_글자붙이기.md
b23042andClaude Opus 4.8 e0ff5dd6d0 feat: 지도 나침반(OSM/위성) 추가 + 측점 검색·마커 정확도 개선 + POI/영상 수정
- 지도 기반 나침반(노스업, 현재위치, 시야 역삼각형): 호버 확대·휠 줌·클릭 위성전환, OSM/Esri 타일 서버 프록시(/api/tile)
- 스테이션 검색: 실제 측점(chain) 기준 이동, 없으면 '측점 없음' 안내
- 역 마커: 직교 투영 측점 일치 시에만 표시, 미도착 종점은 추가 방식
- POI 팝업 겹침/재등장·라벨 정합 수정
- 영상 fps 데이터 기반 자동 산출
- 기술/발표/쉬운설명 문서 추가

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 18:03:30 +09:00

22 KiB

드론 영상에 글자를 '딱' 붙이는 비밀 (그림으로 보는 이야기)

이 글은 초등학생도 이해할 수 있게 쓴 설명서예요. 어려운 수학 대신 그림과 이야기로, 드론 영상 위에 글자를 어떻게 흔들림 없이 딱 붙이는지 알려줄게요. (더 어려운 진짜 기술 설명은 같은 폴더의 기술문서를 보세요.)

<style> figure.fig{margin:20px 0;text-align:center;page-break-inside:avoid;break-inside:avoid;} figure.fig svg{width:100%;max-width:660px;height:auto;border:1px solid #e7e0d2;border-radius:8px;background:#fffdf8;} figure.fig figcaption{font-size:0.9em;color:#777;margin-top:6px;} text{font-family:'Malgun Gothic','Hancom Gothic',sans-serif;} </style>

0. 한 문장으로 말하면

날아다니는 드론이 찍은 영상 위에 "여기는 ○○다리, 저기는 △△터널" 같은 글자를 떨지 않고, 부드럽게, 딱 맞는 자리에 붙여 주는 기술 이야기예요.

🎮 비유: 게임에서 캐릭터 머리 위에 이름표가 떠다니죠? 그 이름표가 흔들리지 않고 캐릭터를 졸졸 따라다니게 만드는 비법이라고 생각하면 돼요.


1. 무슨 문제가 있었을까?

드론은 하늘에서 바람을 맞으며 날아요. 그래서 영상이 조금씩 부르르 떨려요. 그냥 글자를 붙이면, 글자도 같이 부르르 떨려서 보기 싫어요.

게다가 영상은 1초에 사진 30장으로 만들어지는데, 글자가 30번만 움직이면 뚝뚝 끊겨 보여요. 우리는 물 흐르듯 부드럽게 움직이길 바라죠.

문제 1. 글자가 떨려요 ○○다리 부르르~ 떨림 문제 2. 뚝뚝 끊겨요 한 칸씩 점프 (부드럽지 않음)
그림 1. 떨림(왼쪽)과 끊김(오른쪽) — 이 두 가지를 동시에 해결해야 해요.

이 두 가지를 한꺼번에 해결하는 게 이 기술의 핵심이에요. 하나씩 볼까요?


2. 비법 ① 똑똑한 평균 내기 — "곧을 땐 많이, 돌 땐 적게"

떨림을 없애는 가장 쉬운 방법은 '평균'

떨리는 값들을 여러 개 모아 평균을 내면 부드러워져요. 예를 들어 드론이 보는 방향이 10°, 12°, 9°, 11° 처럼 떨릴 때, 평균을 내면 ≈10.5°로 매끈해지죠.

✏️ 비유: 손을 떨면서 그은 선도, 옆 점들과 평균을 내면 자를 댄 듯 매끈해져요.

그런데 함정이 있어요!

드론이 방향을 휙 트는 순간까지 평균에 섞으면, 글자가 늦게 따라와요. 회전했는데 글자는 아직 직진 방향을 보고 있는 거죠. (답답!)

그래서 '똑똑한 평균'을 써요

  • 곧게 갈 때 → 옆 사진을 많이 (앞뒤 약 60장, 2초어치) 모아 평균 → 떨림 꽉 잡기 💪
  • 방향 틀 때 → "어, 방향이 확 달라졌네?" 하고 거기서 딱 멈춰서 그 부분은 평균에 안 섞어요 → 즉시 따라가기

방향 차이가 8도보다 크게 벌어지면 "여기는 다른(도는) 구간이다!" 하고 평균 범위를 멈춰요.

① 곧게 갈 때 = 넓게 평균 (떨림 꽉 잡기) 가운데(큰 점) 둘레로 앞뒤 많이 모아 평균 ② 방향 틀 때 = 경계에서 멈춤 (즉시 따라가기) 8°↑ 꺾임! 여기서 멈춤 도는 부분은 평균에 안 섞음 → 안 늦음
그림 2. 곧을 땐 넓게 평균(떨림 제거), 돌 땐 꺾이는 지점에서 멈춤(지연 없음).

이렇게 하면 직선에서는 떨림이 사라지고, 회전에서는 늦지 않게 따라가요. 일석이조죠! 🐦🐦


3. 비법 ② 사진 사이를 채우기 — "30장을 60장처럼"

영상은 1초에 사진 30장이에요. 글자를 그 30장에만 맞춰 움직이면 뚝뚝 끊겨 보여요.

그래서 사진과 사진 사이의 값을 계산으로 만들어 채워요. 예를 들어 10번 사진은 "방향 20°", 11번 사진은 "방향 24°"라면, 그 딱 중간은 "방향 22°"라고 만들어 내는 거예요.

🎨 비유: 만화 영화에서 두 그림 사이에 그림을 더 그려 넣으면 더 부드럽게 움직이죠. 그것과 똑같아요. ("사이 그림 채우기")

10번 사진 20° 11번 사진 24° 22° (계산으로 만든 사이 값) ↑ 빈틈을 채워 부드럽게
그림 3. 진짜 사진(파랑) 사이에 계산으로 만든 값(주황)을 채워 끊김을 없앱니다.

이렇게 사이를 채우면 글자가 물 흐르듯 부드럽게 움직여요. 화면이 60번씩 새로 그려져도 글자가 항상 딱 맞는 중간 자리에 있게 되는 거죠.

💡 작은 비밀: 방향(각도)은 359° 다음이 0° 라서, 그냥 계산하면 글자가 한 바퀴 빙 돌아버려요. 그래서 "가까운 쪽으로 돌기" 규칙을 따로 넣어 뒀어요. (359°→0°은 한 칸만 돌게)


4. 비법 ③ 화면에서 한 번 더 다듬기 — "살살 vs 빨리"

비법 ①, ②로 이미 많이 부드러워졌지만, 화면에서 마지막으로 한 번 더 다듬어요. 규칙은 아주 똑똑해요:

  • 천천히 움직일 때(=떨림일 가능성 큼) → 글자를 살살 움직여 떨림을 죽여요. 🐢
  • 빨리 움직일 때(=진짜로 휙 도는 중) → 글자를 빨리 따라가게 해요. 🐇
🐢 느리면 = 살살 "이건 떨림일 거야" → 조금만 움직여 떨림 제거 🐇 빠르면 = 빨리 "진짜로 도는 중이야" → 곧바로 쫓아감 (안 늦음)
그림 4. 천천히면 떨림으로 보고 살살, 빠르면 진짜 움직임으로 보고 빨리 따라갑니다.

깜짝 점프는 무시해요 (단, 너무 오래는 말고)

가끔 데이터가 확 튀어서 글자가 엉뚱한 데로 점프하려 해요. 이런 건 "어, 이상한데?" 하고 무시해요. 하지만 영상을 확 건너뛰기(시크) 했을 땐 진짜로 멀리 가야 하니까, 계속 8번 넘게 같은 점프가 들어오면 "이건 진짜구나" 하고 받아들여요.

🚦 비유: 친구가 갑자기 펄쩍 뛰면 "장난이지?" 하고 무시하지만, 계속 그쪽으로 가면 "아, 진짜 가는구나" 하고 따라가는 것과 같아요.


5. 비법 ④ 미리 정해두기 vs 그때그때 그리기 (제일 중요!)

화면은 1초에 60번이나 새로 그려져요. 매번 모든 걸 다시 계산하면 컴퓨터가 헉헉대요. 그래서 일을 두 종류로 나눴어요.

종류 무슨 일? 언제 하나?
무거운 일 "어떤 글자를 보여줄지" 정하기 (가려진 것 빼기, 겹친 것 정리) 미리 한 번만
가벼운 일 "그 글자를 화면 어디에 그릴지" 계산 매 순간(60번)

🍱 비유: 도시락을 미리 싸 두면(무거운 일), 점심시간엔 뚜껑만 열면 돼요(가벼운 일). 매번 처음부터 요리하면 점심시간이 다 가버리죠!

무거운 일 (미리 한 번) "어떤 글자를 보여줄까?" · 가려진 글자 빼기 · 겹친 글자 정리 → 결과를 저장해 둠 🍱 가벼운 일 (매 순간 60번) "저장된 글자를 어디에 그릴까?" → 위치만 쓱 계산해서 그리기 → 그래서 안 끊겨요!
그림 5. 무거운 결정은 미리, 가벼운 위치 계산만 매 순간 — 그래서 부드러운 60프레임 유지.

더 똑똑한 점들

  • 지금 보는 곳부터 미리 계산 → 영상을 틀면 바로 글자가 떠요. (멀리 있는 건 천천히 준비)
  • 컴퓨터가 한가할 때 조금씩 준비해서, 영상이 안 끊겨요.
  • 글자 위치는 진짜 땅 위 좌표로 저장해 둬요. 그래야 드론이 움직여도 그 자리에 정확히 다시 그릴 수 있죠.

6. 비법 ⑤ 글자가 겹치면 누가 이길까?

화면에 글자가 많으면 서로 겹쳐서 못 읽어요. 그래서 겹치면 누구를 남길지 규칙으로 정해요.

  1. 기차역이 가장 힘이 세요 → 역은 무조건 남겨요. 🚉
  2. 같은 급이면 드론에 더 가까운 것이 이겨요. (가까운 게 더 중요하니까)
겹쳐서 안 보여요 셋이 겹침 😵 중요한 것만 남겨요 🚉 ○○역 역이 최우선! 깔끔 😊
그림 6. 겹치면 기차역 먼저, 그다음 가까운 것 순으로 남겨 화면을 깔끔하게.

위·아래 선로 형제 구분 (똑똑!)

같은 다리가 위로 가는 선로용(상)아래로 가는 선로용(하) 두 개로 있을 때가 있어요. 드론이 지금 위로 가는 선로를 따라가면 ○○다리(상) 을, 아래면 ○○다리(하) 를 보여줘요. 드론이 진짜 지나는 쪽의 이름표를 골라주는 거죠.

🚂 비유: 상행선·하행선 플랫폼이 따로 있을 때, 내가 탄 기차 쪽 안내판을 보여주는 것과 같아요.


7. 보너스 — 빙글빙글 나침반

화면 구석엔 나침반이 있어요. 드론이 도는 대로 같이 돌아서 "지금 어느 쪽을 보는지" 알려줘요.

큰 글자들은 떨림 제거를 많이 해서 살짝 느긋한데, 나침반은 방향을 바로바로 보여줘야 하니까 떨림 제거를 살짝만 해서 회전에 재빠르게 반응하게 만들었어요.

그리고 나침반이 359°에서 0°로 갈 때 휙 한 바퀴 안 돌고 가까운 쪽으로만 살짝 돌게 해 뒀어요.

N S W E 드론이 도는 대로 나침반도 빙글~ 돌아요. 큰 글자보다 더 빠릿하게 반응하도록 떨림 제거를 살짝만 해 뒀어요.
그림 7. 나침반은 회전에 빠르게 반응하도록 일부러 가볍게 다듬습니다.

8. 전체를 한 그림으로 정리

① 똑똑한 평균 — 곧을 땐 많이, 돌 땐 멈춰서 (떨림 제거 + 안 늦음) ② 사이 채우기 — 30장을 60장처럼 빈틈 메우기 (부드럽게) ③ 화면에서 다듬기 — 느리면 살살, 빠르면 빨리 + 튀는 값 무시 ④ 미리 정하고 + 매 순간 그리기 — 무거운 건 미리, 위치만 60번 (안 끊김)
그림 8. 네 가지 비법이 차례로 작동해, 떨림 없이 부드러운 글자 붙이기가 완성됩니다.

9. 왜 이게 대단할까? (특허감인 이유)

  1. 곧을 땐 많이, 돌 땐 멈추는 똑똑한 평균 — 보통은 "부드러움"과 "빠른 반응" 중 하나만 얻는데, 이건 둘 다 얻어요. (회전 끝나고 한 번 튀는 문제도 없앴어요.)
  2. 미리 정하기 + 매 순간 위치만 그리기 — 무거운 일과 가벼운 일을 나눠서, 느린 컴퓨터에서도 부드러운 60프레임을 만들어요.
  3. 30장을 60장처럼 사이 채우기 + 가까운 쪽으로만 돌기 — 끊김 없이, 방향도 안 헷갈리게.
  4. 느리면 살살·빠르면 빨리 + 튀는 값 무시 — 떨림과 진짜 움직임을 구별해요.
  5. 위·아래 선로 형제 이름표 골라주기 — 드론이 진짜 지나는 쪽 이름을 보여줘요.

⚠️ 단, 특허는 비슷한 게 이미 있는지 전문가가 꼭 찾아봐야 확정돼요.


10. 쉬운 용어 사전

어려운 말 쉬운 뜻
평활(스무딩) 떨리는 값을 주변과 평균 내어 부드럽게 만드는 것
보간 사진과 사진 사이 값을 계산으로 채우는 것 (사이 그림 그리기)
yaw(요) 드론이 좌우로 돈 방향 (어느 쪽을 보나)
프레임 영상을 이루는 사진 한 장 (1초에 보통 30장)
RAF (매 순간 그리기) 화면을 1초에 약 60번 다시 그리는 것
사전계산(미리 정하기) 무거운 결정을 미리 한 번 해서 저장해 두는 것
이상치 무시 갑자기 확 튀는 이상한 값을 버리는
나침반(heading-up) 드론이 보는 방향에 맞춰 도는 방향 표시

11. 마치며

드론은 바람에 흔들리고, 영상은 사진 30장으로 뚝뚝 끊겨요. 그런데도 글자가 떨지 않고, 부드럽게, 딱 맞는 자리에 붙는 건 ① 똑똑한 평균 ② 사이 채우기 ③ 화면 다듬기 ④ 미리 정하고 그리기 — 이 네 가지 비법이 함께 일하기 때문이에요.

어려워 보여도, 사실은 "떨리는 선 매끈하게 다듬기, 만화 사이 그림 그리기, 도시락 미리 싸기" 같은 일상의 아이디어를 컴퓨터로 정밀하게 만든 것뿐이랍니다. 🙂