논문리뷰

[논문 리뷰] Open-World Semantic Segmentation Including Class Similarity

씨주 2024. 11. 25. 21:43

Open-World Semantic Segmentation Including Class Similarity

 

https://arxiv.org/pdf/2403.07532

 

0. Abstract

본 논문은 open-world semantic segmentation(학습동안 보지 못한 객체가 있는 이미지 데이터를 해석하는)을 다룬다. closed-world semantic segmentation을 정확하게 수행하면서, 동시에 추가적인 학습데이터 필요없이 새로운 카테고리 분리가 가능한 novel한 방법을 제시한다. 추가적으로 새로운 카테고리에 대해 학습한 카테고리 중 유사한 class를 제공한다. 이 방법을 통해 known class과 anomaly segmentation에서 최신 성능을 달성했고 unknown class 사이에서 구별이 가능하다.

 

1. Introduction

자율시스템은 robust하게 작동하면서 주변환경을 이해해야 한다. 이를 위해 semantic scene을 이해하는 것이 중요하다. 많은 학습 기반 시스템의 challenge는 novel하고 이전에 보지 못한 객체가 존재하는 장면이다. 따라서 open-world 같은 시스템, 즉 학습 데이터를 통해 모든 것을 cover할 수 없다는 사실은 real-world에서 vision system을 구성할 때 고려되어야 한다. 

close world 기반의 동작은 특히 known 카테고리에 속하지 않는 객체를 인식하지 못한다. 이들은 종종 overconfident하여 known class로 배정하기도 한다. 저자들은 이러한 close-world 가정을 완화해야 하며, 이를 위해 open-world 설정으로 옮겨가야 한다고 주장한다. 또한 class similarity를 측정하는 것은 downstream task에서 도움이 될 수 있다.(자율주행 같은 상황에서 차와 비슷한 것을 인식하면 안전성이 올라갈 것이다.)

본 논문에서는 open world semantic segementation을 달성하기 위해 학습동안 보지못한 카테고리에 속하는 픽셀을 구분하고 다양한 새로운 카테고리들로 구분하는 것을 목표로 한다. 이를 위한 첫번째 과제는 known, unknown binary segmentation을 목표로 하는 anomaly segmentation이다. 두번째는 학습된 지식을 통해 픽셀 단위로 새로운 샘플을 다른 클래스들로 분류하는 것을 목표로 하는 novel class discovery이다. (closed world에서 open world semantic segmentation으로 확장하기 위해 anomaly segmentation과 novel class discovery 이 두 과정을 거쳐야 한다고 말하고 있다.)

Figure 1.

 

저자들은 CNN 기반으로 한 encoder-decoder 구조를 가지는 open world segmentation의 새로운 아키텍처를 제안한다. 이는 closed world semantic segmentation을 정확하게 실행하는 동시에 학습된 feature descriptor를 통해 known class를 constrain한다. (known class가 feature descriptor 내에서 정렬됨으로써 known class에 대한 feature를 학습하고 unknwon class와의 binary segmentation이 잘 이루어지도록 한다.) 이 모델은 binary anomaly segmentation 하면서 새로운 class에 대해 known category와의 유사성을 제공한다.

 

2. Related Work

Anomaly Detection and Classification

open-world의 첫 시작은 classification이었으며, anomalous sample은 인식하고 제거하는 것이 목표였다. 이를 위해 softmax의 임계값을 조정하거나 unknown으로 간주하는 background class를 추가하거나 모델 앙상블을 하였다. 그러나 실제로 이는 closed-world에서 known class뿐만 아니라 unknown class에 대해서도 overconfident한 문제가 있다. 또한 unknown객체에 대해 모두 학습할 수 없다는 문제가 있다. 이를 해결하기 위해 softmax layer를 수정하거나 entropy를 최대로 설정하거나 energy score를 도입하였다. 이를 통해 segmentation도 다룰 수 있게 되었지만 uncertainty aware(불확실성에 예민한)해야 하고 entropy, score를 수정하여야 한다. 

반면에 저자들은 feature space에서 semantic segmentation을 하면서 pixel을 구분할 뿐만 아니라 feature를 고유한 class와 매칭시킨다. 이는 feature와 class descriptor간의 거리를 통해 unknown정도를 평가할 수 있다. 

 

Open-World Segmentation

open world segmentation을 위해 불확실성을 측정하는 방법이나 추가적인 데이터셋에 의존한다. 하지만 학습가능한 데이터의 한계 때문에 많은 unsupervised 접근은 anomaly data를 함께 사용하고 거리 기반의 ananomaly detector를 사용한다. 이러한 관점에서 CLIP이 주목받고 있으며 관련 연구들이 이루어지고 있다.

이러한 접근들과 달리, 저자들이 제안한 모델은 추가적인 데이터가 필요없으며, 불확실성을 평가하거나 생성하는 모델에 의존하지 않는다.

 

3. Our Approach

 

Figure 2.

1개의 encoder와 2개의 decoder를 가지는 CNN 구조를 제안한다. 첫번째 decoder는 semantic segmentation과 각 클래스에 대해 feature space 내에서 같은 class끼리 뭉쳐진다. (가우시안 분포처럼 저장) 두번째 decoder는 binary anomaly segmentation을 수행한다. 최종적으로 anomaly segmentation과 novel class를 발견하는 것이 합쳐진 결과를 얻게 된다.

 

3.1 General Network Architecture

가벼운 아키텍처를 설계하기 위해 ResNet34 encoder를 사용하였으며, open world segmentation에서 contextual information는 중요하기 때문에 encoding 끝에 pyramid pooling을 사용하였다. 이러한 feature들은 semantic, contrastive 2가지 decoder로 입력된다.

 

3.2 Approach for Open-World Segmentation

첫번째 decoder는 semantic decoder로 semantic segmentation을 목표로 한다. 추가적으로 각각의 known 클래스에 대한 거리 descriptor를 생성하기 위해 feature space를 조작한다. 이를 통해 feature vector가 descriptor와 다른 모든 픽셀을 unknown 클래스로 detect하는게 목적이다. 두번째 decoder는 contrastive decoder로 contrastive loss, objectosphere loss를 활용한다. 이는 known class의 모든 feature를 hypersphere surface에 배치하고 unknown class는 중앙으로 밀어넣는다. 이를 통해 contrastive decoder는 anomaly segmentation을 제공한다. 이 두 결과는 최종적으로 open world segmentation을 얻기 위해 전처리를 통해 합쳐진다. 

 

Semantic Decoder

 semantic segmentation의 목표는 이미지의 모든 픽셀을 K개의 클래스 중 하나로 분류하는 것이다. 이를 위해 cross-entropy loss를 사용한다. 

저자들은 semantic segmentation 뿐만 아니라 class descriptor를 만들어 모든 픽셀을 feature space의 특정 영역으로 가져오고자 한다. 이를 위해 activation vector라고 불리는 pre-softmax feature를 계산했다. 이는 각 클래스에 대해 모든 true positive(올바르게 분류)를 축적하고 있다. 

또한 각 클래스의 분산을 계산한다. (true positive 픽셀들의 feature 벡터가 클래스 프로토타입에서 얼마나 떨어져있는지를 나타낸다.)

최종적으로 feature loss는 다음과 같으며, 각 클래스의 평균 벡터와 가까워지도록 제약을 거는 손실함수이다.

 

semantic decoder는 두 손실함수의 가중합으로 최적화된다.

 

Contrastive Decoder

 

contrastive decoder는 anomaaly segmentation을 목표로 한다. known class는 0, unknown class는 1로 나타내어 binaray prediction을 하기 위한 기저를 제공한다. contrastive loss와 objectosphere loss의 평균을 통해 이를 달성한다. 먼저 K클래스에 대한 feature representation의 평균을 계산한다.

 

그 후 이전 epoch에서 해당 class의 정규화된 mean representation에 근접하고 다른 class와 유사하지 않도록 contrastive loss를 계산한다.

 

이런 방식으로 loss는 같은 class의 feature를 mean representation과 일치시키면서 hypersphere의 주변에는 K class가 퍼지게 한다.

objectosphere loss는 known class의 feature vector의 크기가 임계값보다 커지도록 조절하고 unknown class의 feature vector의 크기는 0으로 줄인다. 

 

이 2가지 loss는 known class의 feature vector가 K차원의 hypersphere 표면에 분산되도록 하면서 unknown class는 0으로 축소되어 중앙에 밀집하도록 최적화 한다.

 

Post-Processing for Anomaly Segmentation

open world prediction을 얻기 위해 2개의 decoder의 출력을 합친다. semantic decoder는 feature fp를 가지는 픽셀 p가 주어지면  class k와의 일치 점수(적합도)를 계산한다.

그 후 각 픽셀의 가장 높은 점수를 계산한다.

 

contrastive decoder는 임계값보다 낮은 픽셀을 모두 unknown 픽셀로 고려하여 2번째 open world prediction을 계산한다.

 

이는 feature vector 크기가 0일 때 1이고, feature vector 크기가 임계값보다 클 때 0이다.

최종적으로, 2개의 예측을 합쳐 unknown의 누적 픽셀 점수를 얻는다.

이 점수가 임계값보다 크다면 해당 픽셀은 unknown으로 간주한다.

 

Post-Processing for Open-World Semantic Segmentation

픽셀이 unknown으로 고려된다면, 이것의 activation vector를 저장해야하고 이는 이미 발견된 class인지 새로운 class인지 판단하는데 사용된다. 발견된 unknown class의 mean activateion vector가 집합 F에 저장되면, 새로운 픽셀의 활성화 벡터와 F에 있는 벡터간의 거리를 계산한다. 이 거리가 임계값보다 작다면 해당 class로 간주하고, 크다면 새로운 unknown class를 만든다. 이는 novel class가 무한정 확장될 수 있다.

 

3.3 Class Similarity

open world segmentation의 부산물로 unknown sample을 known 카테고리 중 가장 비슷한 것을 예측할 수 있다. 특정 class k와 가장 높은 activation vector를 가지지만 unknown class의 영역 내에 있을 경우, 가장 유사한 class를 제안한다.

 

4. Experimental Evaluation

1. known class를 구분하면서 anomaly segmentation에서 최신 성능을 달성하였다.

2. 다른 unknown class들 사이를 구분하였다.

3. 각 novel class에 대해 비슷한 점수를 가지는 known class를 제공한다.

Figure 4.