[논문리뷰]MSeg: A Composite Dataset for Multi-domain Semantic Segmentation

2020. 7. 7. 16:12AI/Deep Learning

 

개요

Mseg는 다른 도메인으로부터 복잡한 데이터셋을  시멘틱(의미 있는) 세그멘테이션으로 통일 시키는 것을 보여줄것이다. 구성 데이터들의 단순 병합은 그것들의 일치하지않는 분류체계와 주석관행으로인해 별로 좋지 않은 성능을 보였는데, 그런 분류법을 조정하고, 8만개이상의 이미지들에서 22만개의 오브젝트 마스크를 다시 레이블링 함으로써 픽셀레벨에서의 어노테이션 조정을 했다. 컴포지트(복잡한) 데이터 셋에서 도메인을 넘어서서 효율적으로 트레이닝동안 보지 못했던 데이터를 하나의 시멘틱 세그멘테이션모델로 하여금 만들어내는 결과를 도출 했다. 우리는 zero-shot(한번도 보지 못한 데이터를 그대로 훈련하는) cross-dataset transfer를 체계적으로 모델의 견고함을 평가하기 위한 벤치마크로 도입했고, MSeg 훈련이 대체적으로 presented contributions 없이 데이터셋의 단순 혼합과 개별적인 데이터셋에서의 훈련의 비교에서 더 견고한 모델이 된다. 모델은 견고한 세그멘테이션을 위해 처음에 WildDash leaderboard로 순위를 나열하고 훈련한다. 훈련동안 WildDash data의 노출은 없다.

 

소개

COCO데이터셋등으로 여러가지가 만들어졌는데, 아직 완전히 세그멘테이션게 이루어진게 아님.

 

Related Work

Cross-domain semantic segmentation: 세그멘테이션 데이터셋의 혼합은 하나의 도메인과 어플리케이션 많이 사용한다.

우리는 시멘틱 세그멘테이션을 다양한 도메인들을 초월하고 호환되지않는 어노테이션의 재-레이블링을 포함하는 깊은 레벨의 데이터셋에서 불일치를 해결하는 것에 대해 초점을 맞출 것이다. 데이터가 단순히 쎃일때나 개별적인 데이터 셋에 모델이 훈련되어졌을 때나 같은 결과가 나온다는 것을 우리는 발견했다. 시멘틱 세그멘테이션을 합치는 과정에서 근본적인 문제는 데이터 셋의 불완전성이다. 그래서 우리는 이러한 이슈을 다수의 도메인로부터 데이터셋을 연결하는 일관된 분류법을 도출함으로써 해결해보았다.

 

Domain adaptation and generalization: 현실세계에서 편향되고 전개되어있는 트레이닝 데이터셋은 트레이닝동안, 보여줬던 것과 다른 데이터로 훈련된 모델을 보여준다. 이것은 covariate shift 혹은 selection bias로 알려져있고, adaptation이나 generalization세팅으로 다루어 질 수 있다. adaptation에서 테스트 분포도로부터의 샘플들은 트레이닝동안 레이블이 없더라도 이용할 수 있고, generalization에서는 모델이 이전에 보지못한 환경에서 다양한 도메인들의 데이터로부터 학습한 후 일반화 하는 것을 기대 할 수 있다. 우리는 일반화 모드에서 작동 시키고, 우수한 모델을 훈련동안 타겟 도메인 데이터가 없는 새로운 환경 속에서 잘동작하는 견고한 모델을 트레닝 시키는 것이 목표이다. 트레이닝 도메인이 변하지 않는 피쳐들의 학습에 기초한 많은 도메인 일반화 접근들은 새로운 도메인으로 일반화를 촉진할 것이다. 노이즈가 있는 데이터 분포도에서 도메인의 다름을 고려하여 강건한 최적방식을 사용해라. Bilen and Vedald는 통합된 표현을 러닝하고 도메인 스케일링 계수를 인스턴스 노멀라이제이션을 사용하여 제거하는 것을 제안했다. Mancini는 배치 노멀라이제이션 통계를 수정하여 도메인이 변하지않게 피쳐들을 변화시키고  활성화시켰다. 도메인 일반화 함수는 같은 분류기로 하여금 모든 환경에서 적응 시킬수 있게 하려는 것이다. 이것은 호환가능한 시각적인 카테고리들에 의존한다. 

여기 논문은 보완적이고, 각기 다른 도메인을 가진 시멘틱 세그멘테이션 데이터셋을 초월한 일관적인 어노테이션과 호환 가능한 분류법을 제공하는 도메인 일반화미래 연구를 촉진시킨다.

 

Visual learning over diverse domains:

The Visual Domain Decathlon에서는 열개가 넘는 이미지 데이터셋의 벤치마크를 소개하는데, 그들 모두를 학습하는것을 허용 했다. 더 중요하게, 그 목적은 하나의 분류기를 학습하는게 아닌 것이다. 대신, 도메인이 각각의 다른 도메인을 유도된 바이어스를 멀티 테스크 세팅으로 전송함으로써 돕게하는 것을 희망했다. Triantafillou et al.는 few-shot 분류 알고리즘 벤치 마킹을 위한 메타 데이타셋을 제안했다. 단안

의 깊이 추정 문제를 위해 Ranftl et al는 다수의 데이터셋을 사용하고 멀티 테스크 러닝 프레임웤을 통해서 그것들을 뒤쎃었다. 우리는 이러한 과정을 통해 영감을 얻고,데이터 믹싱과 시멘틱 세그멘테이션에서 크로스 데이터셋 일반화의 촉진을 겨냥했다. 그러나 어크로스 데이터셋들을 시멘틱 레이블링 중 불일치에 직면했고 다음의 것들로 이 문제를 해결했다.

3. The MSeg Dataset

Table 1은 Mseg에 사용된 시멘틱 세그멘테이션 데이터셋을 나열한 것임.

이 데이터들의 세트는 많은 후보들을 고려한 selection process들의 결과이다. 사용되지 않은 데이터셋들은 테이블 내에 보충되는 것들을 포함하지 않아서 안썼다.(즉, 이미지 내에 다른 포함되는 오브젝트가 있어야댐) 트레이닝과 테스트 데이터셋을 선택 그리고 분리하는 우리의 기준은 크고 현대적인 데이터 세트가 트레이닝에 유용한 반면 작고 오래된(옛날) 데이터 셋들은 테스팅에 적합하다는 것이다. 우리는 zero-shot cross-dataset 성능을 이러한 데이터 셋들의 검증 서브셋으로 테스트했다. 그러나 테스트(트레인 데이터셋으로부터 분리된 데이터셋을 포함하는) 데이터셋은MSeg 훈련 내에서에선 절대 사용하지 않는다. 검증 때는 Table 1에 나열된 트레이닝 데이터 셋의 서브셋을 검증으로 사용한다. 또한 데이터셋을 단순히 조합하는 것만으로는 좋지않은 정확도와 generalization에서도 좋지않은 모습을 보이는데, 이러한 이유가 다른 데이터셋에서의 annotation과 분류 내에서의 불일치가 이러한 문제를 일으킨것으로 추정되고 다음의 방법으로 이러한 것들을 해결했다.

 

3.1. Taxonomy

크로스-도메인 시멘틱 세그멘테이션을 트레이닝 시키기위해서, 분류방식을 합칠 필요가 있다. 일련의 분류법에 따라는데, 다음의 그림(그림3)에 요약되어있음, 컴포넌트 데이터셋들의 분류법에 기반한 통합 명령어들의 통합과 분리를 결정하기 위함임.

그림3

통일된 분류법 내의 194개 클래스들의 컴포넌트 데이터셋들을 합침으로써 316개의 클래스들 응축시켰다. 그림4에 주어진 전체적인 리스트이고 추가적으로 묘사하고 시각화함. 

그림4-1
그림4-2

이러한 각 클래스들은 컴포넌트 데이터셋들 내에 있는 클래스들로부터 유도된다. 

MSeg 분류법에는 두 가지의 주요한 목적이 있다. 첫번째가 많은 클래스들이 가능한 유지/보존 되어야하는 것이다. 예시로 가드레일의 클래스는 COCO, BDD등에서 annotate되지않았기때문에 폐기되지 말아야한다. 클래스들을 합치는 것은 모델의 차별성을 감소시킬수있다. 두번째로, 분류체계는 일반적인 트레이닝 매소드의 호환성을 최대화하기 위해 계층적인 부분보단 평면에서 이뤄져야한다. MSeg 카테고리는 컴포넌트 데이터셋들 내의 클래스들과 다음의 관계를 가질수 있다:

(a)컴포넌트 분류법 내의 간접적으로 일치하는 클래스가 될수 있다.

(b) 컴포넌트 분류법으로부터 중복된 많은 클래스들이 합쳐지는 것의 결과가 될 수 있다.

(c) 컴포넌트 분류법 내의 하나의 클래스를 분리하는 결과가 되거나(하나의 이미지에 많은 클래스가 매핑되었을 때)

(d) 컴포넌트 분류법 내의 다른 클래스들로부터의 분리된 클래스들의 연합?이 될수 있다.

 

주저리 말이 많았는데, 논문의 예시를 보면 방금 한 말의 의미가 무엇인지 알 수 있다.

범용적이고 통합할 수 있는 카테고리들로 MSeg의 클래스들을 구성한다.

각 데이터셋을 돌면서 범용인 카테고리 안에 들어갈 수 있는 도메인에 대해 재 레이블링한다. 

보면 알겠지만, Mapillary,COCO, ADE20K등 각각의 데이터 셋이 나눠놓은 카테고리의 기준은 다르며, MSeg는 이를 통합 할 수 있는 범용적이고 추상적인 카테고리를 사용하고 있다. 혹은 지나치게 범용적이 카테고리의 경우 데이터 셋의 도메인을 나누기도한다.오른쪽 표를 보면 해당 과정이 나와있는데, 대표적으로 Maplilary의 pothole,Parking,Road,Crosswalk등을 MSeg의 Road라고 통합하여 레이블링을 해놓은 반면, COCO의 Chair로부터 stool,Bench,Basket등 여러가지 카테고리로 분리가 된다는 것을 알 수 있다. 이렇게 다양한 데이터 셋들의 카테고리를 재-레이블링하여 엮음으로써 좀더 강건하고 유연한 데이터셋을 만들 수 잇지만, 노동을 해야한다는 단점이 있다.

 

3.2. Relabeling Instances of Split Classes

Amazon Mechanical Turk (AMT)를 사용해서 분할해야하는 클래스들의 마스크들에 대한 재-레이블링을 시행했다. 그러나 데이터세트를 그대로 남겨둔채 오직 트레이닝에 사용할 데이터만 새로 annotate를 시행하였다. 바운더리를 새로 계산하는 대신에, 여러방향으로써 분류 문제를 계산하고 MSeg 분류로 부터 세밀하게 분류된 카테고리 내의 각 마스크를 분류하는것을 annotators에게 요청했다.

 

4. Experimental Results

모델은 HRNet-W48의 구조를 사용하고 모멘텀이있는 SGD를 사용하고 Polynomial LR감소 DECAY를 callbacks로 둠 LR시작은 0.01. 로 뒀다함. 아마존 사람시켜서 했다는 이후로 재미없어져서 안읽음.