[RA-L with ICRA2020] Safe Robot Navigation via Multi-Modal Anomaly Detection

ICRA, IROS에 발표된 논문들에서 Anomaly Detection이 어떻게 이용되는지 알아보기 위해 찾아본 논문입니다.

본 논문은 사족로봇이 외부환경에서 Navigation을 수행할때 보행가능한(traversability) 영역에 대해서 이진분류하는 방법을 제안한 논문입다. 여기서 unsafe한 영역을 anomaly detection을 이용해 감지하였습니다.

Introduction

기존 사족보행 로봇은 indoor and man-made environments에서 Navigation이 잘 이뤄지지만, 외부 환경에는 수없이도 많은 unsafe한 영역이 존재하기 때문에 이를 모두 학습하고 인지하여 Navigation을 수행하는 것은 거의 불가능이며 어려운 문제에 속합니다. 여기서 말하는 unsafe 영역은 일반적으로 flat terrain으로 가정하지만 센서를 통해 flat terrain으로 판단하더라도 sand, mud, bodies of water와 같은 경우는 로봇이 그 위를 다니기에는 잠재적으로 위험을 가져오기도 합니다. 또 크기가 큰 장애물은 기하학적으로 감지해 회피한다고 하지만 grass and small bush와 같이 통과할 수는 있지만 보행을 방해하는 장애물들은 기하학적인 감지가 어렵다고 합니다. 이러한 문제를 극복하기 위해서 본 논문에서는 다양한 센서를 결합한 anomaly detection을 통해 safe와 unsafe를 구분하는 방법을 제안하고 있습니다.

Related work

기존 연구들에서는 traversability estimation을 방법을 제안하였고, 이러한 방법은 man-made environments에서는 잘 작동했다고 합니다. 하지만 이러한 방법은 compliant terrain을 캡처하진 못한다고 합니다. 또 Semantic-aware navigation 방법이 존재합니다. 흔히 생각할 수 있는 Semantic Segmentation이라고 생각하시면 됩니다. 이러한 방법은 학습 데이터셋과 유사한 환경에서는 잘 작동하지만 unknown environments에서는 무용지물이 됩니다. 또한 해당 방법론들은 카메라만 사용하고 있어서 날씨등에 의한 appearance of terrain classes의 변화에 대응하지 못하는 단점이 있다고 합니다.

그래서 이러한 문제를 해결하고자 weakly-supervised, self-supervised 방법들을 통해 이진분류 방법을 제안하고 있지만, 이또한 클래스의 분포가 잘 분산되지 않으면 overconfident 예측이 이뤄질 수 있으며 이는 치명적일 수 있다고 합니다.

이를 극복하기 위해서 다른 연구들에서도 Anomaly detection을 사용하였고, 대표적으로 indoor navigation, planetary exploration, navigation in agricultural fields 등 한정적 분야에서 사용됐고, terrain appearance에 의존하거나 추가적인 binary classifier를 사용하였다고 합니다.

따라서 본 논문의 저자는 safe navigation을 위한 scalable approach을 논문에서 제안하며, 해당 방법은 fully self-supervised 방법으로 학습시 오직 traverable examples만 사용했다고 합니다.

Method

Data Collection

방법에 있어서 조금 이해하기 어려운 부분이 있었는데, 그 이유는 해당 저자가 이전에 발표한 논문에서의 내용을 기반으로 이야기하고 있기 때문이였습니다. 따라서 해당 방법은 저자의 발표영상을 통해 설명드리겠습니다.

저자는 이전 논문에서 위의 그림과 같이 이미지를 통해서 Robot footholds를 예측하는 논문으 발표했습니다.

그리고 이번 논문에서는 그러한 Foothold를 기준으로 image patch를 수집하여 training 데이터셋을 만들었다고 합니다. 아 그리고 여기서 멀티 모달센서도 사용하였는데, 이는 다음과 같습니다.

RGB

우리가 아는 이미지이며, 위에서 언급한 이미지 패치를 의미합니다.

Depth

센서를 통해 수집된 뎁스이며 뎁스 센서로는 리얼센서를 사용했다는데 지금 보면 아래를 쳐다보니까 뎁스를 구할 수 있겠습니다.

Gravity-aligned Depth

위에서는 바닥과의 실질적 뎁스를 구했다면 이제는 카메라의 관계등을 이용해 수직, 수평 성분의 뎁스도 함께 사용했다고 합니다.

Surface Normal

이미지 패치의 표면에서 얻을 수 있는 수직 벡터도 사용하였구요.

Surface Normal Angle

표면의 수직의 벡터와 실제 땅과 수직벡터의 각도도 사용했다고 합니다.

Anomaly Detection

그리고 저자는 이러한 image patch를 기준으로 Anomaly Detection을 수행합니다. 저자는 Anomaly detection을 위해 당시 sota인 deep learning approaces with fully convolutional architectures를 조사했다고 합니다. 그래서 총 3가지 방법에 대해서 비교실험을 하는데, 각각은 Autoencoder, Deep SVDD, Embedding + Real-NVP(Normalizng flow model) 입니다.

  • Autoencoder

모두가 아는 방법으로 지난번 기계학습 과제로도 나왔던 방법입니다. 정상 입력을 잘 reconstruction하도록 모델을 학습하고 테스트시에 입력을 reconstruction 하고 이를 입력과 비교하여서 unsafe를 구하는 방법입니다.

  • Deep SVDD

Deep SVDD 방법은 딥러닝을 기반으로 Feature space를 학습하고 해당 Feature space에서 정상 데이터를 둘러싸는 최적의 구(반지름이 작은)를 찾고, 이후 이 경계면을 기반으로 이상치를 탐지하는 방법입니다. 해당 방법과 관련해서는 잘 설명한 블로그들이 많으므로 궁금하신분들은 찾아보면 한글,영어 자료가 풍부합니다.

  • Embedding + Real NVP

해당 방법은 Flow based Generative 방법중 하나인 Real NVP를 포함하는 방법으로 Flow based Generative 방법은 Normalizing flow라는 방법이 적용되는데 이는 실제 입력된 인풋을 latent space vecotr로 만드는 함수를 f(x)라고 할때, f(x)의 역함수를 디코더로 이용하는 방법으로 기존 autoencoder 방법보다 데이터의 압축현상이 적게 일어나고 또한 역함수 관계를 사용하기 때문에 더욱 정확하다고 합니다(?) 이와 관련된 내용은 아래 자료들에서 명쾌하게 설명해주고 있어서 시간 나시는 분들은 참고하시면 도움이 됩니다.

https://lilianweng.github.io/lil-log/2018/10/13/flow-based-deep-generative-models.html

어쨋든 이러한 방법들 중 저자는 해당 논문(H. Blum et al.) 의 방법과 유사하게 normalizing flows를 이미지 패치로부터 저차원의 feature vector를 생성하는 convolutional embedding network와 함께 결합했다고 합니다. 이유는 safe, unsafe만 구별하면 되기때문에 저차원 벡터도 충분했던것 같습니다.

EXPERIMENTAL RESULTS

앞서 설명드린 다양한 모달리티의 조합 그리고 다양한 모델들을 통해서 여러가지 실험을 수행하였고, 가장 좋은 결과는 NVP Fixed Features의 방법으로 RGB+G+N 모달리티를 통해서 사용할때 AUROC를 기준으로 가장 좋은 성능을 냈다고 합니다. 여기서 G는 gravity alinged depth, N은 gravity aligned surface normals를 의미하며 NVP Fixed Features는 fixed feature generator weights를 의미하는데, Autoencoder를 이용해 generator를 학습할때 얻은 weights를 그대로 freeze 시켜서 generator를 이용하는것을 의미한다고 합니다.

결론

Anomaly detection을 새롭게 적용할때는 선행연구가 없으므로 실제 다양한 베이스라인을 기반으로 각각의 태스크에 적용하는 비교연구가 필수적으로 요구되는것 같습니다. 그래서 다양한 Anomaly detection 연구에 대한 흐름및 코드 구현이 가능해야하고 또 그러한 흐름과 별개로 자신의 태스크에 맞게 잘 변경하여 실험하는 것이 중요한 것 같습니다. 또 데이터셋 관점에서도 확인하였는데 실제 실외 환경에서 일어날 수 있는 변수들에 대해서 정의하고 이러한 실제 환경들을 제공한다는 점에서 가치가 있는것 같습니다.

Author: 김 지원

2 thoughts on “[RA-L with ICRA2020] Safe Robot Navigation via Multi-Modal Anomaly Detection

  1. 흥미로운 논문이네요. 개인적으로 멀티모달기반 anomaly detection분야는 아직 많이 개척되지 않았음을 많이 느끼네요. 한가지 질문드리자면, gravity depth하고 그냥 depth를 굳이 나누는 이유가 뭘까요?

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다