RUNGLE
유지형 · 낭만러너 · 2026-08-28 · 실측 영상 4편

러닝 영상에서 릴스 구간,
AI가 골라준다

러닝하면서 찍은 셀피 영상 안에서 인스타 릴스에 쓸 만한 5~10초 구간을 AI(Gemini)가 자동으로 골라준다. 사용자가 직접 고른 정답 구간이랑 비교해 봤더니, 기존의 자동 방법보다 4편 전부에서 정확했다.

  1. 영상을 통째로 AI에게 보여주고 조건이 담긴 주문서(프롬프트)로 구간 하나를 받는 방식이, 기존 방법(TFVTG)을 4편 모두에서 이겼다.
  2. 엄격한 시험(70% 이상 겹침)에서 격차가 가장 크다 — AI 4/4 vs 기존 1/4.
  3. 주문서의 조건은 사진 187장 판정 실험(정확도 52% → 98.9%)으로 먼저 검증한 뒤 이식했다.

겹침 점수란?

AI가 고른 구간이 정답이랑 얼마나 겹치는지를 재는 점수다. 겹치는 부분이 넓을수록 점수가 높고, 잘 고른 것이다.

정답 구간 AI가 고른 구간 겹치는 부분 겹침 점수 = 겹치는 부분 / 전체 범위 (학술 용어: IoU, Intersection over Union)

시험의 난이도

겹침 기준을 어디에 두느냐에 따라 시험이 느슨해지거나 엄격해진다.

기준의미학술 표기
30% 이상 겹침느슨한 시험 — 대충 맞으면 합격R@0.3
50% 이상 겹침보통 시험 — 절반 이상 겹쳐야 합격R@0.5
70% 이상 겹침엄격한 시험 — 정답에 바짝 붙어야 합격R@0.7

R@m과 mIoU(평균 겹침 점수)는 TFVTG와 NumPro가 공통으로 쓰는 표준 지표다. 표본이 4편이라 R@m은 25% 단위로만 읽힌다.

성적 비교 — 4편, 사용자 지정 정답

기존 방법 TFVTG(프레임마다 따로 점수 매기고 기계적으로 고르기, ECCV 2024)와 AI 방법(Gemini에게 영상을 통째로 보여주고 물어보기)을 같은 영상, 같은 정답, 같은 지표로 쟀다.

느슨한 시험 — 30% 이상 겹침
1234
옛날 방법 4/4
AI 4/4
보통 시험 — 50% 이상 겹침
1234
옛날 방법 3/4
AI 4/4
엄격한 시험 — 70% 이상 겹침
1234
옛날 방법 1/4
AI 4/4

시험이 엄격할수록 격차가 벌어진다. 대충 맞추는 건 둘 다 하지만, 정답에 바짝 붙이는 건 AI 쪽이 훨씬 잘한다.

평균 겹침 점수

4편의 겹침 점수를 평균 낸 것. 높을수록 좋다. 학술 용어: mIoU.

옛날 방법 0.623
AI 0.783

경계 오차

시작점과 끝점이 정답에서 얼마나 벗어났는지의 평균 거리. 낮을수록 좋다.

옛날 방법 1.94초
AI 0.94초
원본 비교 표 전체 보기
지표TFVTG (기존)AI 방법
R@0.3 — 30% 이상 겹침4/44/4
R@0.5 — 절반 이상 겹침3/44/4
R@0.7 — 엄격 기준1/44/4
mIoU0.6230.783
평균 경계 오차 (보조 지표)1.94초0.94초

비교 대상 — 옛날 방법이 뭔데?

TFVTG (기존 방법)

ECCV 2024 논문, 인용 38회. 무학습(학습 데이터 없이 작동하는) 구간 검출 방법이다.

프레임 하나하나에 "이 프레임이 찾는 내용이랑 얼마나 비슷한지" 점수를 매긴다. 그 점수 곡선 위에서 안쪽 점수가 바깥쪽보다 가장 높은 창(구간)을 기계적으로 고른다. AI가 판단하는 게 아니라 알고리즘이 점수표를 보고 고르는 것.

NumPro (학술 근거)

CVPR 2025 논문, 인용 81회. 직접 비교 대상은 아니지만, "프레임에 번호를 찍어서 LLM에게 묻는" 접근의 학술적 근거가 되는 논문이다.

영상 프레임에 1, 2, 3... 번호를 붙여 놓고 AI에게 "몇 번부터 몇 번까지가 좋아?" 라고 물어보는 방식. 우리 방법이 이 아이디어를 참고했다.

방법의 차이 — 한눈에 보기

옛날 방법 AI 방법 프레임 점수 매기기 점수 곡선 만들기 프레임마다 하나씩 안팎 대비 채점 모든 5~10초 창 탐색 최고점 구간 영상 전체 넘기기 AI가 전부 보고 판단 조건, 우선순위, 폴백을 한번에 구간 직접 답변
핵심 차이: 옛날 방법은 프레임을 따로따로 점수 내고 알고리즘이 구간을 고른다. AI 방법은 전 프레임을 한꺼번에 보고 상대 비교로 구간을 직접 답한다 — 어두운 영상(20-03-02)에서 격차가 가장 컸던 이유다.

영상별로 어디를 골랐나

각 영상의 타임라인에서 정답(사용자가 고른 구간), 옛날 방법이 고른 구간, AI가 고른 구간을 겹쳐 놓았다. 겹침이 많을수록 잘 고른 것이다.

정답 (사용자 지정) AI가 고른 구간 옛날 방법
영상 1 — 20-03-55
정답 8.5~15초 (6.5초 구간)
정답 옛날 AI 0.650 0.706 05101520초
셋 다 비슷한 위치를 잡았지만, 옛날 방법은 끝부분(15~17초, 하늘로 앵글이 넘어가는 부분)을 물고 늘어졌다.
영상 2 — 20-04-10
정답 3~13.5초 (10.5초 구간)
정답 옛날 AI 0.810 0.857 05101520초
둘 다 잘 맞췄다. AI가 시작점을 더 정확하게 잡았다.
영상 3 — 20-03-02 (야간)
정답 4.5~10.5초 (6초 구간)
정답 옛날 AI 0.571 0.769 05101520초
야간 영상에서 격차가 가장 컸다. 옛날 방법은 앞쪽으로 치우쳐 끝부분을 놓쳤고, AI는 정답에 가깝게 잡았다.
영상 4 — 20-04-17
정답 4~14초 (10초 구간)
정답 옛날 AI 0.462 0.800 05101520초
가장 큰 격차. 옛날 방법은 정답보다 4초 늦게 시작했고 뒤로 3초 넘겼다. AI는 시작점 1초, 끝점 1초 차이로 잡았다.
영상별 수치 전체 보기
영상정답옛날 방법AI겹침 점수 변화
20-03-558.5~15초7~17초6.5~14.5초0.650 → 0.706
20-04-103~13.5초4~12.5초3~12초0.810 → 0.857
20-03-02 (야간)4.5~10.5초3.5~8.5초4~9.5초0.571 → 0.769
20-04-174~14초8~17초5~13초0.462 → 0.800

어떻게 하나? — 판독 파이프라인

과정은 단순하다.

  1. 영상을 통째로 Gemini에게 준다 (2fps로 프레임 분해, 장당 72토큰).
  2. "릴스에 쓸 구간 하나 골라줘"라는 주문서(프롬프트)를 함께 보낸다. 주문서에 구도 조건, 시선 우선순위, 길이(5~10초), 환각 방어가 담겨 있다.
  3. AI가 JSON 형식으로 구간을 답하면, 코드가 검산한다 (길이 규칙 확인, "없음" 처리).

구간을 쪼개서 여러 번 물어보지 않는다 — 전 프레임을 한 문맥에 넣어야 앞뒤를 비교할 수 있다. 실측 결과 묶음이나 분할 모두 이득이 없었다.

AI에게 주는 주문서

AI에게 "아무거나 골라줘"라고 하면 안 된다. 어떤 구간이 좋고, 어떤 게 나쁜지 조건을 명확하게 써서 보내야 한다. 이 조건 목록이 주문서(프롬프트)다.

주문서에 담긴 조건

시선 우선순위:

  1. 1순위 — 전방(진행 방향) 응시 (카메라를 안 봄)
  2. 2순위 — 카메라 응시

길이: 5~10초. 이 범위는 실제 정답 구간의 길이 분포에서 도출했다.

무죄 조항: 달리기 특유의 흔들림, 모션 블러, 기울어짐, 휘날리는 머리카락은 감점 사유가 아니다.

환각 방어: 조건을 만족하는 구간이 없으면 없다고 답해라. 억지로 만들지 마라.

채택된 주문서 전문 (5차, 최종안)
이 영상은 러닝 중 스마트폰으로 팔을 뻗어 찍은 셀피입니다.
SNS 릴스에 쓸 하이라이트 구간을 하나 골라주세요.

필수 조건 — 모두 만족해야 합니다:
- 카메라의 구도가 구간 도중에 바뀌지 않을 것
  (인물의 위치·크기·카메라 앵글이 구간 내내 유지될 것)
- 달리는 중일 것 (멈춰 서 있는 장면은 제외)
- 얼굴(또는 모자)와 상반신(허리 위)이 함께 잘 드러날 것
  (얼굴만 화면을 꽉 채운 클로즈업은 제외)
- 카메라를 정면 정중앙에서 바라본 구도가 아닐 것
- 카메라 높이는 수평이거나 위에서 내려다보는 각도일 것
  (낮은 구도란 턱 밑면이 크게 보이고 배경 대부분이 하늘인 경우를 말하며,
   옆에서 찍은 측면 구도는 낮은 구도가 아닙니다)

시선 우선순위:
1순위 — 정면(진행 방향)을 응시 (카메라를 보지 않음)
2순위 — 카메라를 응시

선택 규칙 (위에서부터 차례로 적용):
1. 1순위 시선만으로 5~10초 길이의 구간이 있으면 그중에서 고르세요.
2. 없으면, 2순위 시선만으로 5~10초 길이인 구간에서 고르세요.
3. 그것도 없으면, 1·2순위 시선이 섞여도 되니 필수 조건을 만족하는
   5~10초 길이의 구간에서 고르세요.
4. 조건을 만족하는 구간이 아예 없으면 없다고 답하세요. 억지로 만들지 마세요.

달리기 특유의 흔들림·모션 블러·기울어짐·휘날리는 머리카락은 감점 사유가 아닙니다.

최종 구간의 시각(초, 소수점 포함)과 고른 시선(1순위/2순위/혼합), 구간 길이를 출력하세요.

주문서 진화 — 다섯 판을 거쳤다

처음부터 잘 된 게 아니다. 다섯 번 고치면서 조건을 다듬었다.

1차 뽑을 것 1개 + 걸러낼 것 4개 — 8/15 원판 0.770
2차 구도 유지 요구 — 구도 전환 시 한쪽이 유실돼서기각 0.494
3차 구도별 분리 출력 — 유실된 구간 복구 확인 (2편 실측) 0.694
4차 시선 우선순위 + 5~10초 길이 제한 0.835
5차 사진 실험 조건 이식 + 낮은 구도 정의 + 무죄 조항채택 0.783

5차는 4차보다 평균 겹침 점수가 0.05 낮지만, 길이 규칙을 8회 전부 지켰고 재현성(같은 설정 재실행 시 결과 일치)이 가장 높아 채택했다. 초기 2판은 Gemini 3.7 Flash, 이후는 3.5 Flash로 실측.

이전 판 주문서 전문 (1~4차)

1차 — 기준 명시 (8/15 원판)

이 영상은 러닝 중 스마트폰으로 팔을 뻗어 찍은 셀피입니다.
SNS 릴스에 쓸 하이라이트 구간을 골라주세요.

뽑을 것 — 달리는 사람이 화면에 충분히 크게 나오는 구간

걸러낼 것
- 사람이 안 보이고 하늘·건물·길만 찍힌 구간
- 얼굴만 화면을 꽉 채운 클로즈업 구간
- 카메라가 아래에서 위로 얼굴을 올려다보는 구간
- 사람이 달리지 않고 멈춰 서 있는 구간

각 구간의 시각을 초 단위 소수점까지 적어주세요.

2차 — 구도 유지판

이 영상은 러닝 중 스마트폰으로 팔을 뻗어 찍은 셀피입니다.
SNS 릴스에 쓸 하이라이트 구간을 골라주세요.

사람 얼굴(또는 모자)와 상반신이 잘 드러나게, 낮은 구도에서는 찍히지 않게,
인스타에 올릴만한 적절한 구도를 유지하는 구간을 찾아주세요.

각 구간의 시각을 초 단위 소수점까지 적어주세요.

3차 — 구도 분리판

이 영상은 러닝 중 스마트폰으로 팔을 뻗어 찍은 셀피입니다.
SNS 릴스에 쓸 하이라이트 구간을 골라주세요.

사람 얼굴(또는 모자)와 상반신이 잘 드러나게, 낮은 구도에서는 찍히지 않게,
인스타에 올릴만한 적절한 구도를 유지하는 구간을 찾아주세요.

조건을 만족하는 구도가 여러 종류라면(예: 카메라를 바라보는 구도, 정면을 응시하는
구도), 구도마다 구간을 따로 나누고 각 구도의 특징을 함께 적어주세요.
없는 구도는 지어내지 마세요.

각 구간의 시각을 초 단위 소수점까지 적어주세요.

4차 — 구도 순위판

이 영상은 러닝 중 스마트폰으로 팔을 뻗어 찍은 셀피입니다.
SNS 릴스에 쓸 하이라이트 구간을 하나 골라주세요.

사람 얼굴(또는 모자)와 상반신이 잘 드러나고, 낮은 구도가 아니어야 합니다.

구도 우선순위:
1순위 — 정면(진행 방향)을 응시하며 달리는 구도 (카메라를 보지 않음)
2순위 — 카메라를 바라보며 달리는 구도

가장 높은 순위의 구도 중에서, 길이가 5~10초인 구간 하나를 최종 구간으로 출력하세요.
어떤 구도를 골랐는지, 그 구간의 길이도 함께 적어주세요.

사진 187장으로 먼저 검증

영상 주문서의 구도 조건들이 제대로 작동하는지, 먼저 사진으로 검증했다. 인스타 캡처 사진 정답 67장 + 오답 120장 = 총 187장에 "이 사진이 조건에 맞는가?" 라고 물었다.

정답 맞힘오답 걸러냄전체 정확도
조건 2개 (얼굴 + 낮은 구도)86.6%33.3%52.4%
+ 멈춤, 클로즈업, 각도 배제 추가77.6%92.5%87.2%
확정판 (+ 낮은 구도 정의 + 무죄 조항)97.0%83.3%88.2%

확정판에서 통과된 오답 20장은 사용자 검수 결과 사실은 정답으로 재분류됐다. 실질 정확도 98.9% (185/187).

얻은 교훈

  1. 배제 조건에는 구체적 정의가 필요하다. "낮은 구도"만 쓰면 AI가 다르게 해석한다. "턱 밑면이 크게 보이고 배경 대부분이 하늘인 경우"라고 써야 작동한다.
  2. 무죄인 것은 명시적으로 무죄 선언. 모션 블러나 휘날리는 머리카락은 러닝에서 당연한 건데, 말 안 하면 AI가 감점한다.
  3. 사진 조건은 촘촘할수록, 영상 구간 주문서는 담백할수록 좋았다.

비용과 속도

~0.15원
영상 1초당 판독 비용
20초 ~5원 / 180초 ~29원
8~20초
판독 시간 / 편
영상 길이와 거의 무관
15~25초
180초 영상 체감 시간
변환을 백그라운드로 숨길 때
항목실측비고
판독 비용초당 ~0.15원2027년 정가 시 2배 추정
판독 시간8~20초/편4편 병렬 22.6초
전송inline 20MB 이하512폭 변환(180초 → 18초, 폰 하드웨어) 시 ~13분 분량까지
긴 영상 레버비용 1/5씨앗(5초 1장) → 유망 창만 정밀(1초 1장) 2단 판독 — 미실측

180초 영상 1편 — 시간 분해

단계소요 (추정)비고
변환 — 디코딩 + 512폭 재압축~18초하드웨어 인코더, 실시간의 ~10배. 녹화 직후 백그라운드로 은닉 가능
전송 (3~14MB)1~3초화질 설정에 따른 용량 차
서버 준비 + 읽기6~12초프레임 추출, 토큰화, 전 프레임 어텐션
출력 생성5~8초출력 ~300토큰 고정 — 영상 길이와 무관
API 콜 합계15~25초변환 포함 총 33~43초. 변환 은닉 시 체감 15~25초

20초대 영상의 단계별 실측을 180초로 환산한 추정치 (180초 직접 실측은 미수행). 여러 편을 병렬로 보내면, 가장 느린 한 편의 API 콜(15~25초) + 전송 경합 수 초 — 편 수가 늘어도 총 시간은 거의 늘지 않는다.

다음 할 일