[매핑 & 로컬라이제이션 챌린지] 데이터셋 구축 과정과 베이스라인 측위 기법

지난 4월 8일 ‘네이버랩스 매핑 & 로컬라이제이션 챌린지’가 시작되었습니다. 세계적으로 많은 주목을 받고 있는 영상 기반 위치 인식 기술의 중요성을 제고하고, 국내 대학 연구자들을 지원하려는 목적입니다. 실내외 2개 트랙으로 나누어 VL (visual localization) 정확도를 겨루는 방식으로 진행됩니다. VL은 카메라 센서만으로 정확한 6-자유도 자세(pose)를 추정할 수 있어 실내, 도심의 빌딩숲, 터널 등 GPS 음영지역에서도 정밀 측위가 가능한 기술입니다.

이번 챌린지에는 네이버랩스에서 직접 제작한 데이터셋을 참가하는 팀 전원에 제공합니다. 실제 연구에 사용해 온 최신 데이터들입니다. 이 글에서는 이 데이터셋들이 어떤 과정으로 만들어졌고, 또 어떻게 운용될 수 있는지 좀 더 소개하고자 합니다.

 

1. 데이터셋 구축 과정

1) 실내 데이터셋 구축 - 독자적인 LiDAR SLAM 기법

먼저 실내 데이터셋 구축 과정입니다. 네이버랩스의 실내 매핑은 주로 M1X라는 로봇이 담당하고 있습니다. 여러 대의 카메라와 스마트폰, 그리고 고정밀 LiDAR 센서들이 장착된 로봇입니다. 계단과 같은 노면이 불규칙한 공간에서는 백팩 타입의 매핑 디바이스인 COMET을 개발해 사용하고 있습니다.

매핑 과정의 핵심 기술은 고정밀 LiDAR SLAM입니다. 네이버랩스의 독자적 기법입니다. Wheel-odometry 정보를 얻을 수 없는 환경에서도 LiDAR 기반의 odometry 정보를 생성해 궤적 추정으로 인한 왜곡을 보정할 수 있다는 것이 가장 큰 장점입니다. 이렇게 추정된 odometry 정보는 공간적으로 인접한 여러 LiDAR 데이터 간의 초기 궤적으로 사용되어, 더욱 정밀하고 강건한 매핑을 수행할 수 있게 합니다.

LiDAR odometry를 이용한 실내 공간 매핑

또한 서로 다른 시점에 나누어 수집된 데이터들을 하나로 묶어 정합하는 과정도 필요합니다. 이를 위해 현재 방문한 곳이 이전에 방문했던 곳인지 여부를 정확히 파악하는 것이 중요한데, 우리는 Loop-closure라는 기술을 적용했습니다. LiDAR 데이터 기반의 Loop-closure 기술로 매우 안정적이며 정밀한 데이터셋 간 정합을 수행할 수 있습니다.

Loop-closure를 통한 데이터 정합

M1X와 COMET을 통한 매핑, LiDAR SLAM 기법, Loop-closure 정합 등의 과정으로 다음 영상과 같은 고정밀 지도가 만들어집니다. 이 지도에 담긴 고정밀 데이터를 이용해 카메라 자세를 아주 정확하게 추정할 수 있게 됩니다.

 

2) 실외 데이터셋 구축 – 왜곡 보정과 고정밀 측위 정보

다음은 실외 데이터셋 구축 과정입니다. 실외 데이터셋은 네이버랩스의 HD맵 제작 과정에서 추출한 것입니다. 우리는 항공사진과 MMS 데이터를 결합해 HD맵을 제작하는데, 이때 자체 개발한 MMS 차량인 R1을 활용합니다, R1은 다수의 카메라와 LiDAR 센서를 통해 지상의 영상/기하 정보를 수집할 수 있습니다. 이번 데이터셋에는 차량 전방을 촬영한 스테레오 카메라 영상과 차량 상부에 부착된 LiDAR 센서가 수집한 전방위 기하 정보가 담겨있습니다. 이 데이터셋에는 참고할만한 두 가지 특징이 있습니다.

첫째는 기하 정보의 수집 과정에서 발생하는 왜곡 보정입니다. 이번 데이터셋에는 R1의 LiDAR 센서로 5시간이 넘는 주행 중 수집한 판교와 여의도 지역의 기하 정보가 활용되었습니다. 그 중 정차한 시간을 제외한 약 13만 프레임에 해당하는 3차원 점군 (point clouds) 데이터가 제공되는데, 센서에서 수집된 로우 데이터를 사용하기 위해서 추가적인 처리가 필요합니다. 도로 위를 빠르게 주행하는 차량의 LiDAR에서 수집한 데이터는 취득 시점의 차량 속도에 따라 3차원 위치 왜곡이 발생하기 때문입니다. 따라서 고도의 측위 기술을 통해 차량의 정확한 자세 및 속도 정보를 계산해 위치 왜곡을 보정하는 과정이 적용되어 있습니다.

정밀 측위를 통한 기하 왜곡 보정

둘째는 고정밀 측위 정보 제공입니다. 실외 데이터셋에는 스테레오 영상 및 기하 정보를 촬영한 모든 시점의 정확한 측위 정보, 즉 R1의 자세 정보가 함께 제공됩니다. R1에는 고성능 GPS가 탑재되어 대체로 정밀한 측위가 가능하지만, 판교와 여의도 도심 지역처럼 고층 건물에 의한 GPS 신호 교란으로 차량의 자세 정보를 신뢰할 수 없는 경우도 발생합니다. 이를 보완하기 위해 네이버랩스의 자율주행 연구에 활용되는 고정밀 측위 기술로 개선한 정밀 자세 정보가 함께 제공됩니다. 이 자세 정보는 참가자가 제출한 측위 결과의 평가에도 사용됩니다.

네이버랩스의 고정밀 측위 기술

 

3) 초상권 및 차량 정보 보호

이번에 제공되는 데이터셋은 개인정보/초상권과 차량 번호에 대한 블러링 작업이 적용되어 있습니다. 효율적인 multi-scale 학습 및 추론을 위해 NeurIPS 2018에서 공개된 SNIPER와 ICCV 2019에서 공개된 AutoFocus 알고리즘을 적용하였고, labelme를 활용한 추가 보완 후, 해당 영역에 Gaussian blur와 Median filter의 2단계 이미지 처리를 적용하였습니다.

실내/실외 데이터셋의 블러링 작업

 

2. 로컬라이제이션 베이스라인 기법

많은 국내 연구자의 참여를 유도하는 한편 성능 평가의 기준을 제시하고자, 이번 챌린지에선 실내외 각 트랙의 베이스라인 알고리즘 측위 성능을 리더보드로 공개했습니다. 실내외 트랙의 베이스라인 알고리즘은 단일 영상의 측위에 널리 사용되는 레퍼런스 이미지 추출과 특징점 매칭 기반의 Hybrid 기법을 사용했습니다.

 

1) 실내 트랙 베이스라인

실내 트랙의 베이스라인으로는 RootSIFT와 NetVLAD를 접목한 Hybrid 기법을 사용했습니다. NetVLAD는 image retrieval 문제를 해결하기 위해서 제안된 딥러닝 기반의 방법론 중 하나입니다.

NetVLAD architecture [1]

이 기법을 통해 쿼리 이미지와 가장 관련도가 높은 레퍼런스 이미지를 여러 장 추출할 수 있습니다.

추출된 레퍼런스 이미지와 쿼리 이미지 간의 상관관계를 파악하기 위해, 두 이미지를 연결할 수 있는 특징점을 추출합니다. 여기서 사용한 고전적인 특징점 추출 알고리즘인 SIFT (Scale-Invariant Feature Transform)는 이미지의 크기와 회전에 불변하는 특징들을 추출하는 알고리즘입니다. 이렇게 검출된 각 특징점들의 고유한 값을 descriptor라고 하고, 이 값을 normalization하여 SIFT의 성능을 향상시킨 알고리즘이 바로 RootSIFT입니다.

추출된 SIFT RootSIFT 특징점

이 descriptor를 이용해 서로 다른 쿼리 이미지와 레퍼런스 이미지 간의 특징점 매칭을 다음과 같이 수행할 수 있습니다.

서로 다른 이미지에서 검출된 특징점 매칭 예시

레퍼런스 이미지의 특징점에 대응되는 3차원 포인트를 계산한 뒤, PnP (Perspective-n-Point) solver를 통해 쿼리 이미지의 6-자유도 자세를 추정하게 됩니다.

실내 VL 파이프라인을 통해 추정된 6-자유도 포즈 결과

 

2) 실외 트랙 베이스라인

실외 트랙의 베이스라인은 실내와 유사하면서도 조금 다릅니다. R2D2(tuned)와 NetVLAD를 이용한 Hybrid 기법을 사용합니다. 실외 트랙에 공개한 데이터셋은 모든 매핑 영상의 정확한 자세 정보를 함께 제공하기 때문에, 주어진 테스트 영상과 가장 유사한 영상을 매핑 영상 중에서 찾아 테스트 영상과 비슷한 자세인 한 장의 영상을 얻을 수 있습니다.

매핑 데이터로 함께 제공된 LiDAR 기하 정보를 매핑 영상에 투영하면, 영상에서 검출된 특징점(keypoints)의 3차원 좌표를 얻을 수 있습니다. 그리고 테스트 영상과 매핑 영상 사이에 매칭된 특징점의 3차원 기하 정보와 2차원 투영 좌표 사이의 관계를 이용한 PnP 알고리즘을 통해 테스트 영상의 자세를 추정할 수 있습니다.

실외 트랙 베이스라인 알고리즘의 개요도

실외 트랙의 베이스라인 알고리즘은 매핑 영상의 색인과 검색을 위해 NetVLAD로 추출한 영상 descriptor를 사용하였습니다. 또한 네이버랩스 유럽에서 개발한 특징점 검출 및 기술 알고리즘인 R2D2를 개선해, 주행 영상을 이용한 재학습을 통해 영상 특징점 검출과 매칭을 위해 사용했습니다. 위 베이스라인 알고리즘은 테스트 케이스로 주어진 각 스테레오 동영상의 최종 프레임만 이용해 측위 한 결과물이기 때문에, 주어진 정보를 충분히 활용하는 참가자라면 이보다 뛰어난 측위 성능을 보여줄 수 있을 것으로 기대합니다.

 

지금까지 이번 네이버랩스 매핑 & 로컬라이제이션 챌린지를 위해 공개한 데이터셋들의 구축 과정과 베이스라인 측위 기법에 대해 간략히 설명했습니다. 챌린지에 참여하는 많은 연구자들의 도전을 응원합니다. 더 자세한 챌린지 정보와 문의 사항은 아래 챌린지 홈페이지 링크를 통해 확인하실 수 있습니다.

매핑 & 로컬라이제이션 챌린지 홈페이지 바로 가기

 

Reference
[1] Arandjelovic, Relja, et al. "NetVLAD: CNN architecture for weakly supervised place recognition." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.

Related Articles

VIDEOS