learn.ericfromkorea.com / small-vlm / detection

사진 속 동물이
'어디에' 있는지 말하게 하기

캡셔닝과 똑같은 모델로, 출력 글자만 바꿔서 위치(네모 상자)까지 뱉게 만든 이야기

위치 찾기 (DETECTION)

이번엔 '어디에 있는지'까지 말하게 하기

앞에서 만든 모델(사진→문장 만들기)은 "기린이 있다"까지만 말했어요. 이번엔 "기린이 어디에 있다"까지 말하게 해봅시다. 구글 사진앱이 얼굴에 네모를 치는 것처럼요.

💡 놀라운 점: 모델 구조는 하나도 안 바꿔요! 똑같은 '사진→글자' 기계인데, 정답으로 주는 글자만 문장에서 위치 숫자로 바꿔주면 끝이에요.
STEP 1 · 위치를 글자로

네모 상자를 어떻게 '글자'로 말할까?

위치 찾기 모델은 좌표를 그냥 숫자(글자)로 뱉어요. 네모 상자 하나는 숫자 4개로 적어요: 왼쪽 위 점의 x·y너비·높이. 사진 크기를 0~100으로 보고 % 처럼 적습니다.

박스 1개를 글자로 바꾸기
정답 글자
cat 31 12 38 82AI가 따라 배울 '모범답안'
cat이(가) 가로 31%, 세로 12% 지점에서 시작해 너비 38%, 높이 82% 크기로 있다숫자 4개 = 네모의 위치와 크기
정답·예측 박스 예시

↑ 같은 글자를 네모로 다시 그린 모습 (초록=사람 정답, 빨강=AI 예측)

동물이 여러 마리면 , 로 이어 붙여요. 예: horse 20 30 15 25 , horse 60 35 18 22

STEP 2 · 한 글자씩 위치 뱉기

단어 대신 '숫자'를 한 칸씩

문장을 만들 때와 똑같이 한 토큰씩 생성해요. 단지 나오는 게 단어가 아니라 동물 이름 + 숫자일 뿐이에요. 아래는 실제 생성 순서(6단계):

cat30155071끝!

완성된 글자: cat 30 15 50 71 → 이 숫자를 네모로 그리면 위 빨간 박스가 돼요.

STEP 3 · 결과

실제로 위치를 맞힐까?

학습 결과(실제 값)
학습 epoch
9위치 학습은 더 오래(30회까지) 돌림
best val_loss
2.5301낮을수록 위치를 잘 맞힘
최대 박스 수
4한 사진에서 큰 동물부터 이만큼까지
예측 vs 정답 박스 비교

↑ 검증 사진들. 초록=사람 정답, 빨강=AI 예측 위치

정직한 평가: 큰 동물 한 마리는 위치를 꽤 잘 잡아요. 다만 우리 모델은 아주 작고 좌표를 '글자'로 어림잡는 방식이라, 여러 마리거나 작은 동물은 대략의 위치 정도예요. 진짜 detection 전용 모델(YOLO 등)은 좌표를 더 정밀하게 맞히지만, 우리는 "구조를 안 바꾸고 출력 글자만 바꿔서" 위치까지 말하게 했다는 게 핵심이에요.

🎯 정리: 같은 '사진→글자' 기계로 문장도 만들고 위치도 찍었어요. VLM이 detection까지 하는 비결은 바로 '좌표를 글자로 말하기'예요.

← 캡셔닝 · SmallCLIP(매칭) →