사진 위치 500m 정확도가 8.0%에서 22.1%로 오른 이유: Thinking with Map
Thinking with Map이 사진 단서를 지도 후보와 반복 대조하는 agent loop를 설명하고, Acc@500m 22.1%의 의미, 검색 비용, 지도 시차, 위치 privacy를 검증합니다.
Thinking with Map은 사진 한 장에서 좌표를 바로 맞히게 하지 않고, 시각 단서로 지도 후보를 검색, 대조하는 에이전트 루프를 학습해 MAPBench의 500m 이내 정확도를 비교 기준 8.0%에서 22.1%로 높였습니다. 22.1%는 비교 기준보다 높지만 여전히 다수 사진에서 500m 밖이므로 자동 확정 좌표가 아니라 근거가 남는 후보 탐색으로 사용해야 합니다.
모델 기억만으로는 골목 단위 위치를 좁히기 어렵다
사진 속 언어, 도로 표지, 건축 양식과 식생은 국가나 도시 후보를 만드는 데 도움이 됩니다. 그러나 비슷한 풍경이 여러 지역에 있고, 모델이 기억한 지명과 좌표는 틀릴 수 있습니다. 대략적인 나라를 맞히는 능력과 수백 미터 안의 위치를 찾는 능력은 다릅니다.
Thinking with Map은 모델을 지도 안에서 행동하는 에이전트로 만듭니다.
- 사진에서 랜드마크, 문자, 도로 같은 단서를 추출합니다.
- 단서로 위치 후보를 세우고 지도 정보를 검색합니다.
- 후보의 위성, POI 정보와 원본 사진을 대조합니다.
- 맞지 않는 후보를 버리고 검색을 수정합니다.
- 충분한 근거가 모이면 좌표를 결정합니다.
이 구조에서 지도는 답을 대신 주는 데이터베이스가 아니라 가설을 검증하는 외부 도구입니다.
강화학습은 검색 행동을, 병렬 TTS는 후보 폭을 바꾼다
지도 연결만으로 효율적인 탐색이 생기지는 않습니다. 같은 실패 검색을 반복하거나 첫 단서에 고정될 수 있습니다. 원문은 최종 위치가 정답과 가까우면 보상하고 불필요한 검색에는 비용을 주는 강화학습으로 탐색 궤적을 다듬습니다.
Parallel Test-time Scaling(TTS)은 하나의 후보를 끝까지 따라가는 대신 서로 다른 유망 지역을 병렬로 탐색한 뒤 결과를 종합합니다. 첫 가설이 틀렸을 때 다른 경로가 살아 있다는 장점이 있지만, 경로 수만큼 지도 호출과 추론 비용이 늘어납니다.
실용적인 설정은 후보 수를 무작정 늘리는 것이 아니라 각 경로가 같은 단서만 반복하는지, 새 증거를 가져오는지 확인하며 가지치기하는 것입니다.
22.1%는 여전히 대부분을 놓친다는 숫자다
원문에 제시된 MAPBench 비교는 다음과 같습니다.
| 모델 | Acc@25km | Acc@1km | Acc@500m |
|---|---|---|---|
| Gemini-1.5-Pro Search/Map mode | 45.2% | 12.5% | 8.0% |
| Thinking with Map | 68.7% | 31.4% | 22.1% |
500m 정확도는 14.1%p 올랐고 기준값의 약 2.76배입니다. “176% 향상”이라는 상대 증가만 말하면 최종 성공률이 22.1%라는 사실이 가려집니다. 약 77.9%는 여전히 500m 범위 밖이므로 수사나 안전 판단에서 자동 확정 좌표로 쓰기 어렵습니다.
평가할 때는 국가, 도시 수준과 정밀 위치를 분리하고, 지도 검색 횟수와 지연 시간도 같은 표에 넣어야 합니다. 병렬 경로를 더 쓴 모델과 단일 호출 모델의 정확도만 비교하면 비용 차이를 놓칩니다.
지도 시차와 위치 프라이버시는 성능 밖의 조건이다
지도에 정보가 적은 지역에서는 대조할 근거가 부족합니다. 지도 촬영 시점과 사진 시점 사이에 건물, 간판, 도로가 바뀌면 올바른 후보도 탈락할 수 있습니다. 병렬 TTS는 정확도를 올릴 수 있지만 실시간 위치 보정에 맞는 지연과 비용인지 별도 검증이 필요합니다.
사진 한 장에서 위치를 좁히는 능력은 OSINT와 사진 정리에 유용한 동시에 거주지나 이동 경로를 노출할 수 있습니다. 사용자 동의, 결과 정밀도 제한, 민감 장소 처리와 로그 보존 정책을 모델 배포 전에 정해야 합니다.
Thinking with Map의 의미는 지도만 붙이면 위치 문제가 해결된다는 데 있지 않습니다. 시각 모델이 외부 도구를 사용할 때 가설, 검색, 검증, 비용을 하나의 평가 대상으로 만들어야 한다는 데 있습니다.
검색 Trace는 가설, 증거, 기각 이유를 남긴다
최종 좌표만 보면 우연히 근처를 맞힌 것인지 실제 단서를 검증했는지 알 수 없습니다. 사진에서 추출한 OCR, 도로 형태, landmark, 각 단서로 만든 후보, 지도에서 확인한 사실, 후보를 버린 이유를 순서대로 기록합니다. 새 검색 결과가 최초 시각 단서와 연결되지 않으면 Goal Drift로 표시합니다.
| 단계 | 남길 정보 | 실패 신호 |
|---|---|---|
| 시각 관찰 | 문자, 차선, 건축, 식생 | 보이지 않는 간판을 추측함 |
| 후보 생성 | 국가, 도시, 거리와 이유 | 첫 지명에 고정됨 |
| 지도 대조 | POI, 도로, 위성 근거 | 이름만 같고 구조가 다름 |
| 후보 기각 | 충돌한 단서 | 틀린 가설을 계속 검색함 |
| 좌표 결정 | 남은 불확실성 | 근거 없이 정밀 좌표 출력 |
사람 검수자는 trace에서 어느 단계부터 틀렸는지 확인할 수 있습니다. 올바른 도시 후보가 있었는데 가지치기됐다면 ranking을, 후보 자체가 없었다면 visual anchor 추출을 봐야 합니다.
거리 Threshold별 성능과 비용을 함께 읽는다
Acc@25km, 1km, 500m는 같은 성공을 다른 숫자로 표현한 것이 아닙니다. 국가, 도시 수준까지는 유용하지만 골목을 틀리는 사례와, 처음부터 다른 지역을 고른 사례를 나눕니다. 정답까지의 거리 분포와 search call 수, token, latency를 함께 기록합니다.
parallel path를 1, 2, 4, 8개로 늘려 정확도 curve와 비용 curve를 그립니다. 서로 같은 OCR 문자열만 검색하는 경로는 다양성이 아니므로 query overlap과 후보 지역 중복률을 봅니다. 새 증거가 없는 경로는 조기에 멈추고, top 후보의 근거가 충돌하면 정밀 좌표 대신 넓은 지역과 불확실성을 반환하는 정책이 필요합니다.
지도 시차는 정답 후보를 거짓으로 기각할 수 있다
사진 촬영일과 지도, 위성 update 날짜가 다르면 간판, 도로, 건물이 변합니다. 지도에 없다는 이유만으로 후보를 버리지 말고 안정적인 도로 구조와 일시적인 POI를 다른 신뢰도로 취급합니다. 변화가 많은 상업 지역과 오래 유지되는 지형, 교차로를 분리해 평가합니다.
지도 coverage가 낮은 농촌, 비공식 주소 지역에서 성능이 떨어지는지도 지역별로 공개해야 합니다. 지도 정보량 차이를 model 능력 차이로 오인하면 특정 지역 사용자에게 과도한 confidence를 줄 수 있습니다.
Privacy는 정확도와 별도의 출력 정책이다
개인 사진의 거주지, 학교, 의료 시설을 정밀하게 추정하면 당사자에게 위험할 수 있습니다. 입력 동의, 민감 category, 최대 공개 정밀도, log 보존 기간을 정합니다. 내부 계산이 500m 후보를 만들더라도 사용자에게는 도시 수준만 보여 주거나 고위험 요청을 제한할 수 있습니다.
Thinking with Map의 도입 기준은 최고 Acc 하나가 아닙니다. 지도 호출 예산 안에서 시각 근거와 후보 검증 trace를 남기고, 불확실한 위치는 과도하게 정밀화하지 않으며, 민감한 사용을 제한하는가를 함께 봐야 합니다.
실패 사진은 시각 단서 부족과 검색 실패로 나눈다
하늘, 숲, 실내처럼 위치를 특정할 anchor가 거의 없는 사진과, 간판, 도로가 보이는데 OCR이나 지도 대조를 틀린 사진은 개선 방법이 다릅니다. 첫 유형은 정밀 좌표를 만들지 않고 정보 부족을 반환해야 하고, 둘째 유형은 anchor extraction과 query를 고칠 수 있습니다. 두 유형을 같은 오답으로만 세면 agent가 근거 없는 추측으로 빈칸을 채우게 될 수 있습니다.
정답 지역의 지도 coverage가 충분했는지도 함께 표시합니다. 올바른 후보가 search result에 없었는지, 후보는 있었지만 ranking에서 탈락했는지, 최종 좌표를 잘못 평균냈는지 단계별로 분류합니다. model 기억, tool coverage, agent policy의 한계를 분리해야 새 지도 provider나 더 많은 병렬 경로가 실제 해결책인지 판단할 수 있습니다.
사람에게 결과를 보여 줄 때는 좌표 하나 대신 상위 후보와 각각의 관찰 근거, 반대 증거를 함께 제공할 수 있습니다. 후보 사이 거리가 크거나 근거가 약하면 넓은 지역으로 낮춰 표현합니다. confidence가 단순 softmax 점수가 아니라 trace의 독립 근거 수와 충돌 여부를 반영하는지도 검증해야 합니다.
함께 읽으면 이해가 이어지는 글
- 물리 문제에서 그림 한 줄을 놓치면? P1-VL의 시각, 논리 학습 — P1-VL이 올림피아드 물리의 도식 정보를 추론과 연결하는 커리큘럼 RL, PhysicsMinions 검증 구조와 벤치마크 해석법을 설명합니다.
- 7B AdaReasoner가 GPT-5를 이겼다는 말은 맞을까: Tool-GRPO +24.9% 읽는 법 — AdaReasoner의 적응형 도구 선택 구조와 +24.9% 성능 주장을 재현성, 지연 시간, 안전성 관점에서 해석합니다.
- MinerU-Diffusion은 OCR을 3.2배 빠르게 할까: Threshold, VRAM의 교환 — 병렬 디퓨전 OCR의 3.2배 디코딩 속도 주장을 구조적으로 읽고, 신뢰도 임계치, 스텝, 블록 크기와 정확도 및 VRAM 사이의 교환을 정리합니다.
자주 묻는 질문
Thinking with Map은 모델 기억만으로 좌표를 맞히나요?
아닙니다. 사진의 문자, 도로, 랜드마크로 후보를 세우고 지도, POI, 위성 정보를 검색해 원본 단서와 반복 대조합니다.
Acc@500m 22.1%면 대부분 정확한가요?
아닙니다. 약 77.9%는 500m 밖이라는 뜻이므로 정밀 위치가 필요한 업무에서 사람 확인 없이 확정값으로 쓰면 안 됩니다.
병렬 검색 경로를 늘리면 항상 좋아지나요?
후보 다양성은 늘지만 지도 호출, 지연, 비용도 증가합니다. 중복 경로를 제거하고 비용당 정확도와 근거 품질을 함께 봐야 합니다.