카네기 멜론 대학의 ‘Frank-Ratchye STUDIO for Creative Inquiry‘ 연구소에서 만든 위성 사진의 비슷한 패턴을 찾아주는 테라패턴이 공개되었습니다. 테라패턴은 위성 이미지의 한 부분을 클릭하면 그와 비슷한 영역을 찾아줍니다. 현재는 뉴욕, 샌프란시스코, 피츠버그, 디트로이트만 검색 기능을 제공하지만 점차 도시를 확대할 예정이라고 합니다.
왼쪽 부분의 큰 이미지 윗부분의 검색박스에서 원하는 건물이나 지역의 이름을 찾을 수 있고 지도를 마우스로 확대, 축소하여 내비게이션할 수도 있습니다. 이 위성 이미지에서 원하는 부분을 마우스로 클릭하면 도시안에 이와 비슷한 이미지를 찾아 왼쪽 아래 부분에 그 결과를 보여줍니다. 오른쪽 위의 작은 이미지 두개중 왼쪽의 Geographical Plot은 찾은 이미지의 지리적 위치 분포를 나타내고 있고 오른쪽의 Similarity Plot은 결과 이미지간의 유사도를 보여줍니다. 그리고 화면의 맨 아래에서는 GeoJSON 포맷으로 결과 데이터를 받을 수도 있습니다.
테라패턴은 오픈스트리트맵의 이미지 카테고리 데이터를 이용하여 수십만장의 이미지를 딥 콘볼루션 뉴럴 네트워크(DCNN)에 주입시켜 모델을 학습시킨다고 합니다. 학습을 통해 이미지의 주요한 특징을 파악할 수 있게 되고 수백만개(뉴욕의 경우)의 위성사진의 설명(description)을 만듭니다. 최종적으로는 사용가 찾고자 하는 이미지와 설명이 유사한 이미지를 찾는 문제가 됩니다. 그러나 실시간으로 유사한 설명을 찾기에는 이미지가 너무 많기 때문에 군집(classification) 알고리즘인 CoverTree(페이퍼) 알고리즘을 사용하여 미리 계산하여 놓아서 검색 결과를 빠르게 보여줄 수 있다고 합니다.
뉴럴 네트워크를 활용한 흥미로운 사례라고 생각됩니다. 테라패턴의 뉴럴 네트워크는 토치(Torch)로 개발되었고 소스는 MIT 라이센스로 깃허브에 공개되어 있습니다.