본문 바로가기
DL|ML

SpaceNet Challenge 1

by 이든Eden 2022. 7. 21.

SpaceNet 이란?

> SpaceNet® is dedicated to accelerating applied research in geospatial machine learning.

 

나만의 정리

SpaceNet Challenge 1

주제 및 정보 : Rio de Janeiro building footprint extraction이다. 각각의 빌딩은 polygon으로 라벨링 되어 있다. 각 모델은 building 이 있다고 생각하는 자리에 polygon을 예측해야한다. 

Metric :

  • 각각의 proposed bilding footprint(polygon)는 "True Positive(예측과 GT 모두 참)" 혹은 "False Positive(예측은 참이나 GT가 거짓)". "True Positive"의 측정 방식은 예측한 polygon과 GT의 IoU가 0.5 이상. 나머지는 "False Positive".
  • F1 Score도 사용하는데 GT에 N polygon labels이 있다고 하고 모델이 M개의 labels을 예측했을 때 아래와 같이 계산한다.

SpaceNet Metric

wleite의 solution (Winner) :

총 3개의 스텝으로 나눠짐.

1. STEP 1 - Pixel Classification Training

학습 이미지의 60% 사용. 2개의 random forests of binary classification trees를 만든다. 하나는 해당 픽셀이 경계냐 아니냐를 구분하는 트리이고, 나머지 하나는 해당 픽셀이 건물이냐 아니냐를 구분하는 트리. 그리고 하나의 random forests를 빌딩과 경계사이의 거리를 regression 하기위해 만든다. 빌딩 내의 픽셀은 Positive, 밖의 픽셀은 Negative 값을 얻는다. 범위는 -11부터 11까지. 맨하탄 디스턴스를 사용하였지만 유클리디안이 더 나았을거라고 짐작함.

경계 (빨강)과 빌딩 안쪽 픽셀(파랑) 분류
빨강, 노랑 - positive, 어두운 파랑 - negative

2. STEP 2 - Pixel Classification Training

학습 이미지의 30% 사용 (이전 STEP 1에서 사용했던 이미지와 다른 이미지로 구성).

각 픽셀 당 경계인지 빌딩 내부인지로 얻은 binary classification 결과를 이용해서 polygon candidate를 구함. Convex hull 알고리즘을 이용하여 pixel group으로부터 polygon 생성.

Candidate polygons (빨강)

3. STEP 3 – Testing (Find polygons)

남은 학습 데이터 10%로 진행함. STEP 2와 똑같이 진행하되 각 폴리곤을 검사하여 이전에 승인된 polygon의 IoU 영역이 두 polygon 영역의 27%보다 높은지 확인하고, 걸러낸다.

 

marek.cygan의 solution (2nd Place)

Polygon을 만들기 위해 2가지 옵션에 대해 고민하였음. SSD의 방법에서 착안하였다고 함.

1. Building footprint인지 아닌지에 대해 픽셀 별로 구분해야하고 그 다음 arbitrary polygon을 만들어야 함.

 픽셀이 건물 안, 건물 밖, 경계 중 어디에 해당하는지 분류하고 경계는 아래와 같이 건물 경계에서 최대 4픽셀 떨어진 내부 모든 것으로 정의함.

GT와 heatmap

2. 가능한 예측 결과인 폴리곤 집합을 미리 정의하고 이 집합만 사용 (만들어진 polygon 후보 중에서 걸러내기 위한 기준을 말하는 것 같음).

GT와 예측한 heatmap을 50x50(2500 피스)으로 나누고 SSD 논문에서 나오는 default box와 같이 16개의 직사각형으로 building footprint와의 IoU가 0.5가 넘는 곳을 찾음. 

Rectangle

 

공부 자료