Google AI Blog에 소개된 Global Localization

 

작년 Google I/O 2018에서 많은 관심을 받은 기술이 구글 지도(Google Maps)의 AR 도보 내비게이션 기능이었습니다. 구글 지도의 AR 도보 내비 기능은 매우 간단합니다. 사용자가 구글 지도 도보 길 찾기(walking directions)에서 Start AR 버튼을 탭 하면 모바일 폰 카메라가 활성화됩니다. 그리고 AR 모드 화살표가 나타나 실시간으로 도보 길 안내를 지원합니다.

 

GPS는 완벽하지 않다?


AR 도보 내비게이션은 쉽게 상상할 수 있는 서비스 시나리오지만, 기술 배경은 만만치 않습니다. 우리가 지도 앱을 사용할 때 Localization(측위)라는 기술 통해 지금 우리가 어디에 있고, 어느 방향으로 향해 이동하고 있는지 알 수 있습니다.

우리는 지도 앱 서비스에서 Blue Dot이란 불리는 파란색 동그라미를 통해 사용자의 현 위치와 이동·회전 상태를 확인하는데요. 종종 Blue Dot이 이상한 위치로 튀는 것을 경험합니다. 특히 도심 환경(urban environments)에서 이런 현상이 빈번하게 발생합니다.

대부분 지도 앱은 GPS에 의존하여 사용자 현 위치를 확인하는데, 도심 환경에서는 음영지역, 고층 건물의 신호 간섭으로 정확한 결과를 내지 못합니다. 또한 GPS의 단점은 위치(location)는 알려주지만 방향(orientation) 정보 제공은 어렵습니다. 이러한 한계를 보완하기 위해 우리가 사용하는 대부분 지도 앱은 모바일 디바이스에 탑재된 지자기, 중력, 모션 측정 센서를 통한 추정 결과로 이를 보완합니다. 하지만 이들 센서는 주변 금속(건물, 심지어 스마트폰 안에 있는 선)이 발생하는 자기장 간섭을 통해 잘못된 결과값을 제공하기도 합니다.

 

 

구글이 생각하는 해답, Global Localization?


구글은 AR 도보 내비게이션에 적용한 Localization(측위) 기술을 스스로 Global Localization이라고 부릅니다. Global Localization은 VPS(Visual positioning service), 스트리트 뷰, 머신러닝을 활용한 측위 기술입니다.

일반적으로 사람들은 길에서 목적지로 이동할 때, 주변 환경이 기대했던 장소인지 여부를 비교하면서 길찾기를 합니다. 예를 들면 우리는 길 찾기를 할 때 ‘여기가 좌표값이 이러니 내가 정확히 왔군’이러지 않고, ‘저기 맥도널드가 있네, 그럼 맥도널드 다음 나타나는 오른쪽 골목으로 들어가면 되겠네’가 더 자연스러운 모습입니다.

Global Localization 아이디어는 이와 비슷합니다. 마치 사람들이 주변을 바라보는 것처럼 모바일 디바이스(스마트폰)의 카메라가 유사한 역할을 하도록 하는 것이지요.

Global Localization의 한 축을 이루는 VPS는 GPS 신호가 아닌 이미지에 기반하여 디바이스 측위를 결정합니다. 마치 검색엔진이 텍스트 기반의 인덱스(index)를 가지고 있는 것처럼 VPS는 우리가 일상에서 마주치는 사물·환경(건물, 다리 등)의 시각적인 특징 (key visual feature)을 인덱싱하여 데이터로 보유하고 있습니다.

사용자가 모바일 디바이스 카메라를 통해 주변 환경을 바라보는 시나리오에서 VPS는 디바이스가 촬영하여 획득한 이미지와 VPS 인덱스를 상호 비교하여 측위 결과를 산출해냅니다. 즉, 간단히 설명하면 구글은 우리가 일상에서 볼 수 있는 사물의 시각적 특징을 가지고 있고, 이 정보와 사용자가 스마트폰 카메라로 주변을 스캔하여 얻은 이미지를 비교하여 사용자가 어디에 있고 어디로 향해 이동하고 있는지 알 수 있다는 것이지요.

 

 

스트리트 뷰, 결국은 데이터가 먼저…


이상에서 보듯이 VPS는 이미지 데이터를 기반으로 하기 때문에 많은 도시·지역을 담은 좋은 품질의 이미지 데이터가 필요합니다. 93개 국가 촬영으로 방대한 커버리지를 자랑하는 구글 스트리트 뷰(Street View)는 VPS의 삼각측량(Triangulation) 위한 레퍼런스 포인트로 수조(Trillion) 건의 데이터를 제공한다고 합니다.

스트리트 뷰는 방대한 데이터를 자랑하지만, 항상 최신성을 유지하는 것은 아닙니다. 우리가 Google Maps에서 스트리트 뷰 촬영 일자를 확인해보면 몇 달이 지난 이미지도 상당히 많다는 것을 알 수 있습니다. 이 부분이 구글 입장에서 몇 가지 도전적 과제를 남겨주는 부분입니다.

사용자가 AR 도보 내비게이션으로 Localization 시도한 시점에 스마트폰 카메라로 촬영된 이미지 상황이 구글 스트리트 뷰 촬영 시점의 데이터와 차이가 발생할 수밖에 없습니다. 예를 들면 계절, 바람 세기에 따라 나뭇잎의 디테일이 달라집니다.

 

 

                                                 출처: Google AI Blog

 

 

Global Localization은 이를 해결하기 위해 이미지가 제공하는 풍경(scene)의 사소한 부분은 필터링하고, 시간이 지나도 잘 변하지 않는 영속적인 구조에 집중하기로 했습니다. 즉, 나무, 빛, 공사 중인 건물과 같이 변화가 예상되는 사물은 과감히 매칭 요소에서 제외하는 것입니다. 기술적으로 구글은 머신러닝 기반으로 자동으로 풍경에서 집중해야 할 부분을 결정하고, 변동성이 낮은 특징(feature)에 우선순위를 부여한다고 합니다.

 

 

지역 가이드, 커뮤니티의 힘을 빌리는 기술 검증 과정

구글의 AR 도보 내비게이션은 ARCore와 결합하여 현재 테스트 중입니다. 언론 찬사처럼 실제 해당 기능을 테스트한 사용자의 결과도 좋다고 합니다. 하지만 구글의 AR 도보 내비게이션은 여전히 많은 과제를 가지고 있습니다. 사용자가 처한 장소 그리고 다양한 조건(낮과 밤, 기후 변화) 관계없이 해당 기술이 원활히 동작을 해야 하기 때문입니다.

이를 위해 구글은 Google Maps의 지역 가이드(Local Guides)를 활용해 열정적인 커뮤니티 피드백 기반으로 AR 도보 내비게이션 품질을 강화 중이라 밝히고 있습니다.

 

 

아래는 참고한 글입니다.

구글 AI블로그 Global Localization 소개: Link

CNBC 리뷰: Link

Engadget 리뷰: Link

Techcrunch 리뷰: Link

네이버랩스 visual localization 기반 실내 AR 내비: Link

 

 

진용진님의 브런치에 게재된 글을 모비인사이드가 한 번 더 소개합니다.