최근 한 개발자가 섬 리조트 사진 한 장만으로 섬의 이름과 좌표, 심지어 사진 촬영 시 카메라가 향하던 방향까지 알아내는 과정을 상세히 공개해 화제가 되고 있습니다. 그는 구글 렌즈(Google Lens)와 같은 도구 대신 순수하게 수학적 기하학 분석과 엔비디아(NVIDIA)의 CUDA GPU 프로그래밍을 활용하여 이 난제를 해결했습니다. 이 프로젝트는 OSINT(공개 출처 정보) 챌린지의 일환으로 진행되었으며, 방대한 지리 데이터를 효율적으로 처리하는 기술적 접근 방식이 돋보입니다.
이 개발자는 먼저 사진 속 세 개의 육지(리조트가 있는 작은 섬, 오른쪽 섬, 왼쪽 앞 섬)를 식별하고, 이들이 이루는 삼각형의 상대적인 거리와 각도를 측정하여 '지문(fingerprint)'을 생성했습니다. 드론 촬영 이미지라 고도 추정이 어려웠기에, 직관에 기반해 픽셀 좌표를 기록하고 오차 범위를 설정했습니다. 이후 오픈스트리트맵(OpenStreetMap)의 전 세계 해안선 벡터 데이터(882MB)를 활용해 지구상의 모든 육지 지형을 이 지문과 비교하기 시작했습니다. 그는 방대한 데이터를 효율적으로 줄이기 위해 여러 휴리스틱 필터를 적용했습니다. 먼저 열대 지방 위도(-30° ~ 30°)에 있는 섬들만 남기고, 5km 반경 내에 이웃 섬이 10개 이하인 고립된 섬 그룹을 선별했습니다. 다음으로 20km 반경 내에 최소 2개 이상의 이웃 섬이 있어 삼각형을 이룰 수 있는 클러스터를 찾아냈습니다. 이 과정을 통해 8천만 개 이상의 후보 삼각형 조합이 도출되었습니다.
이 수많은 후보 삼각형을 효율적으로 비교하기 위해 개발자는 CUDA 프로그래밍을 활용하여 각 후보 삼각형에 하나의 GPU 스레드를 할당했습니다. 각 스레드는 섬의 면적을 기준으로 세 점을 정렬하고, 2D 외적(cross product)을 이용해 P1과 P2의 방향을 결정했습니다. 이후 P0에서의 각도와 거리 비율을 계산하여 미리 생성한 '지문'의 오차 범위 내에 들어오는 후보를 찾아냈습니다. 이처럼 방대한 지리 데이터를 기하학적 패턴 매칭과 GPU 병렬 처리로 분석하는 방식은 특정 장소의 물리적 특징만으로 위치를 추정하는 새로운 OSINT 분석 기법을 제시합니다. 이는 단순히 사진 검색을 넘어, 지리 정보 시스템(GIS)과 컴퓨터 비전 기술의 융합을 통해 미지의 정보를 탐색하는 강력한 도구가 될 수 있음을 보여줍니다.