러닝하면서 찍은 셀피 영상 안에서 인스타 릴스에 쓸 만한 5~10초 구간을 AI(Gemini)가 자동으로 골라준다. 사용자가 직접 고른 정답 구간이랑 비교해 봤더니, 기존의 자동 방법보다 4편 전부에서 정확했다.
AI가 고른 구간이 정답이랑 얼마나 겹치는지를 재는 점수다. 겹치는 부분이 넓을수록 점수가 높고, 잘 고른 것이다.
겹침 기준을 어디에 두느냐에 따라 시험이 느슨해지거나 엄격해진다.
| 기준 | 의미 | 학술 표기 |
|---|---|---|
| 30% 이상 겹침 | 느슨한 시험 — 대충 맞으면 합격 | R@0.3 |
| 50% 이상 겹침 | 보통 시험 — 절반 이상 겹쳐야 합격 | R@0.5 |
| 70% 이상 겹침 | 엄격한 시험 — 정답에 바짝 붙어야 합격 | R@0.7 |
R@m과 mIoU(평균 겹침 점수)는 TFVTG와 NumPro가 공통으로 쓰는 표준 지표다. 표본이 4편이라 R@m은 25% 단위로만 읽힌다.
기존 방법 TFVTG(프레임마다 따로 점수 매기고 기계적으로 고르기, ECCV 2024)와 AI 방법(Gemini에게 영상을 통째로 보여주고 물어보기)을 같은 영상, 같은 정답, 같은 지표로 쟀다.
시험이 엄격할수록 격차가 벌어진다. 대충 맞추는 건 둘 다 하지만, 정답에 바짝 붙이는 건 AI 쪽이 훨씬 잘한다.
4편의 겹침 점수를 평균 낸 것. 높을수록 좋다. 학술 용어: mIoU.
시작점과 끝점이 정답에서 얼마나 벗어났는지의 평균 거리. 낮을수록 좋다.
| 지표 | TFVTG (기존) | AI 방법 |
|---|---|---|
| R@0.3 — 30% 이상 겹침 | 4/4 | 4/4 |
| R@0.5 — 절반 이상 겹침 | 3/4 | 4/4 |
| R@0.7 — 엄격 기준 | 1/4 | 4/4 |
| mIoU | 0.623 | 0.783 |
| 평균 경계 오차 (보조 지표) | 1.94초 | 0.94초 |
ECCV 2024 논문, 인용 38회. 무학습(학습 데이터 없이 작동하는) 구간 검출 방법이다.
프레임 하나하나에 "이 프레임이 찾는 내용이랑 얼마나 비슷한지" 점수를 매긴다. 그 점수 곡선 위에서 안쪽 점수가 바깥쪽보다 가장 높은 창(구간)을 기계적으로 고른다. AI가 판단하는 게 아니라 알고리즘이 점수표를 보고 고르는 것.
CVPR 2025 논문, 인용 81회. 직접 비교 대상은 아니지만, "프레임에 번호를 찍어서 LLM에게 묻는" 접근의 학술적 근거가 되는 논문이다.
영상 프레임에 1, 2, 3... 번호를 붙여 놓고 AI에게 "몇 번부터 몇 번까지가 좋아?" 라고 물어보는 방식. 우리 방법이 이 아이디어를 참고했다.
각 영상의 타임라인에서 정답(사용자가 고른 구간), 옛날 방법이 고른 구간, AI가 고른 구간을 겹쳐 놓았다. 겹침이 많을수록 잘 고른 것이다.
| 영상 | 정답 | 옛날 방법 | AI | 겹침 점수 변화 |
|---|---|---|---|---|
| 20-03-55 | 8.5~15초 | 7~17초 | 6.5~14.5초 | 0.650 → 0.706 |
| 20-04-10 | 3~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-17 | 4~14초 | 8~17초 | 5~13초 | 0.462 → 0.800 |
과정은 단순하다.
구간을 쪼개서 여러 번 물어보지 않는다 — 전 프레임을 한 문맥에 넣어야 앞뒤를 비교할 수 있다. 실측 결과 묶음이나 분할 모두 이득이 없었다.
AI에게 "아무거나 골라줘"라고 하면 안 된다. 어떤 구간이 좋고, 어떤 게 나쁜지 조건을 명확하게 써서 보내야 한다. 이 조건 목록이 주문서(프롬프트)다.
시선 우선순위:
길이: 5~10초. 이 범위는 실제 정답 구간의 길이 분포에서 도출했다.
무죄 조항: 달리기 특유의 흔들림, 모션 블러, 기울어짐, 휘날리는 머리카락은 감점 사유가 아니다.
환각 방어: 조건을 만족하는 구간이 없으면 없다고 답해라. 억지로 만들지 마라.
이 영상은 러닝 중 스마트폰으로 팔을 뻗어 찍은 셀피입니다. SNS 릴스에 쓸 하이라이트 구간을 하나 골라주세요. 필수 조건 — 모두 만족해야 합니다: - 카메라의 구도가 구간 도중에 바뀌지 않을 것 (인물의 위치·크기·카메라 앵글이 구간 내내 유지될 것) - 달리는 중일 것 (멈춰 서 있는 장면은 제외) - 얼굴(또는 모자)와 상반신(허리 위)이 함께 잘 드러날 것 (얼굴만 화면을 꽉 채운 클로즈업은 제외) - 카메라를 정면 정중앙에서 바라본 구도가 아닐 것 - 카메라 높이는 수평이거나 위에서 내려다보는 각도일 것 (낮은 구도란 턱 밑면이 크게 보이고 배경 대부분이 하늘인 경우를 말하며, 옆에서 찍은 측면 구도는 낮은 구도가 아닙니다) 시선 우선순위: 1순위 — 정면(진행 방향)을 응시 (카메라를 보지 않음) 2순위 — 카메라를 응시 선택 규칙 (위에서부터 차례로 적용): 1. 1순위 시선만으로 5~10초 길이의 구간이 있으면 그중에서 고르세요. 2. 없으면, 2순위 시선만으로 5~10초 길이인 구간에서 고르세요. 3. 그것도 없으면, 1·2순위 시선이 섞여도 되니 필수 조건을 만족하는 5~10초 길이의 구간에서 고르세요. 4. 조건을 만족하는 구간이 아예 없으면 없다고 답하세요. 억지로 만들지 마세요. 달리기 특유의 흔들림·모션 블러·기울어짐·휘날리는 머리카락은 감점 사유가 아닙니다. 최종 구간의 시각(초, 소수점 포함)과 고른 시선(1순위/2순위/혼합), 구간 길이를 출력하세요.
처음부터 잘 된 게 아니다. 다섯 번 고치면서 조건을 다듬었다.
5차는 4차보다 평균 겹침 점수가 0.05 낮지만, 길이 규칙을 8회 전부 지켰고 재현성(같은 설정 재실행 시 결과 일치)이 가장 높아 채택했다. 초기 2판은 Gemini 3.7 Flash, 이후는 3.5 Flash로 실측.
이 영상은 러닝 중 스마트폰으로 팔을 뻗어 찍은 셀피입니다. SNS 릴스에 쓸 하이라이트 구간을 골라주세요. 뽑을 것 — 달리는 사람이 화면에 충분히 크게 나오는 구간 걸러낼 것 - 사람이 안 보이고 하늘·건물·길만 찍힌 구간 - 얼굴만 화면을 꽉 채운 클로즈업 구간 - 카메라가 아래에서 위로 얼굴을 올려다보는 구간 - 사람이 달리지 않고 멈춰 서 있는 구간 각 구간의 시각을 초 단위 소수점까지 적어주세요.
이 영상은 러닝 중 스마트폰으로 팔을 뻗어 찍은 셀피입니다. SNS 릴스에 쓸 하이라이트 구간을 골라주세요. 사람 얼굴(또는 모자)와 상반신이 잘 드러나게, 낮은 구도에서는 찍히지 않게, 인스타에 올릴만한 적절한 구도를 유지하는 구간을 찾아주세요. 각 구간의 시각을 초 단위 소수점까지 적어주세요.
이 영상은 러닝 중 스마트폰으로 팔을 뻗어 찍은 셀피입니다. SNS 릴스에 쓸 하이라이트 구간을 골라주세요. 사람 얼굴(또는 모자)와 상반신이 잘 드러나게, 낮은 구도에서는 찍히지 않게, 인스타에 올릴만한 적절한 구도를 유지하는 구간을 찾아주세요. 조건을 만족하는 구도가 여러 종류라면(예: 카메라를 바라보는 구도, 정면을 응시하는 구도), 구도마다 구간을 따로 나누고 각 구도의 특징을 함께 적어주세요. 없는 구도는 지어내지 마세요. 각 구간의 시각을 초 단위 소수점까지 적어주세요.
이 영상은 러닝 중 스마트폰으로 팔을 뻗어 찍은 셀피입니다. SNS 릴스에 쓸 하이라이트 구간을 하나 골라주세요. 사람 얼굴(또는 모자)와 상반신이 잘 드러나고, 낮은 구도가 아니어야 합니다. 구도 우선순위: 1순위 — 정면(진행 방향)을 응시하며 달리는 구도 (카메라를 보지 않음) 2순위 — 카메라를 바라보며 달리는 구도 가장 높은 순위의 구도 중에서, 길이가 5~10초인 구간 하나를 최종 구간으로 출력하세요. 어떤 구도를 골랐는지, 그 구간의 길이도 함께 적어주세요.
영상 주문서의 구도 조건들이 제대로 작동하는지, 먼저 사진으로 검증했다. 인스타 캡처 사진 정답 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).
| 항목 | 실측 | 비고 |
|---|---|---|
| 판독 비용 | 초당 ~0.15원 | 2027년 정가 시 2배 추정 |
| 판독 시간 | 8~20초/편 | 4편 병렬 22.6초 |
| 전송 | inline 20MB 이하 | 512폭 변환(180초 → 18초, 폰 하드웨어) 시 ~13분 분량까지 |
| 긴 영상 레버 | 비용 1/5 | 씨앗(5초 1장) → 유망 창만 정밀(1초 1장) 2단 판독 — 미실측 |
| 단계 | 소요 (추정) | 비고 |
|---|---|---|
| 변환 — 디코딩 + 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초) + 전송 경합 수 초 — 편 수가 늘어도 총 시간은 거의 늘지 않는다.