국립공원 권역을 촬영한 Sentinel-2 위성영상 패치에서, 발생 이력이 기록된 산사태 개소의 시점별 존재 여부를 판정하고 보이는 경우 흔적 경계를 폴리곤으로 제출하는 과제입니다. 같은 위치를 여러 날짜에 촬영한 패치가 함께 제공되어 시점에 따른 변화를 볼 수 있습니다. 입력은 256×256 위성영상 패치 한 장과, 그 패치 안에 있는 개소별 사전 폴리곤입니다. 사전 폴리곤은 공단 산사태 기록을 영상 격자에 투영한 위치 힌트이며 정답이 아닙니다. 개소마다 다음 두 가지를 제출합니다.
존재 판정: 해당 시점에 흔적이 보이면 폴리곤을 제출하고, 보이지 않으면 제출하지 않습니다
경계 폴리곤: 보이는 경우 흔적 경계를 픽셀 좌표 폴리곤으로 작성합니다
한 패치에 개소가 여러 개 들어 있는 경우도 있습니다. 판정과 채점은 모두 개소 단위로 이루어집니다.

파란 선 - 사전 폴리곤(위치 힌트) 오렌지 선- 정답 폴리곤(보임)
학습 데이터에 포함된 실제 패치(2022-06-03)와 그 안의 개소 한 곳입니다. 사전 폴리곤은 모든 시점에 동일하게 주어지고, 정답 폴리곤은 해당 시점에 관측된 흔적 경계입니다.
창(window) 하나에는 같은 위치를 서로 다른 날짜에 촬영한 패치가 최대 32장 포함됩니다. 개소의 상태는 시점에 따라 변합니다. 신규 발생으로 없던 흔적이 나타나기도 하고, 식생 회복으로 있던 흔적이 사라지기도 합니다. 발생 이전 시점이 함께 들어 있는 개소도 있으며, 아직 흔적이 생기지 않은 시점의 정답도 "안 보임"입니다.

학습 데이터에 포함된 한 개소의 시계열입니다. 2022-09 이전에는 흔적이 없다가 해당 시점부터 나지가 드러나 이후 지속적으로 관측됩니다. 사전 폴리곤(점선)은 모든 시점에 동일하게 주어지지만 정답은 시점마다 다릅니다. 발생 전 시점의 "안 보임" 판정은 오류가 아니라 정상적인 정답입니다.
학습 데이터는 창 단위로 묶여 있습니다. 창 하나가 한 위치이고, 그 아래에 날짜별 패치와 정답이 들어갑니다.
train/<창 ID>/
├── bands/<날짜>.npy 256×256×4 원 반사율 (uint16)
├── images/<날짜>.png 256×256 RGB 패치 (8bit)
├── labels/<날짜>.json 정답
└── sites.json 개소 목록과 사전 폴리곤 창 ID는 ls_scene_01_w08 형태의 익명 식별자이고, 개소 ID는 s01부터 부여됩니다. 좌표계는 패치 내부 픽셀 좌표(왼쪽 위 원점)이며, 지리좌표는 제공되지 않습니다. sites.json의 사전 폴리곤은 창 안의 모든 날짜에 공통으로 적용됩니다.
PNG와 별개로, 원 반사율 4밴드를 numpy.load로 바로 읽을 수 있는 배열로 제공합니다. 배열은 (256, 256, 4) uint16이고, 반사율은 값 / 10000입니다. 값이 0인 화소는 무효이며, 유효화소 판정은 (Red > 0) & (NIR > 0)입니다. 네 밴드 모두 10m 원해상도이며 PNG와 화소 단위로 정합합니다.
(9/4 추가) bands/ 폴더의 npy 배열은 반사율 스케일이 시점과 무관하게 조화되어 있습니다. 처리 베이스라인 04.00 이후 장면에 적용되는 BOA_ADD_OFFSET을 보정한 뒤 반사율 × 10000으로 저장한 값이므로, 오프셋이 도입된 2022년 1월 25일 전후의 시점을 같은 스케일로 다루시면 됩니다. 제공 데이터가 2017년부터 2026년까지를 포함하지만, 해당 경계 이전과 이후를 별도로 재보정하실 필요는 없습니다.
채널 | 밴드 | 파장 |
|---|---|---|
0 | B04 Red | 665nm |
1 | B03 Green | 560nm |
2 | B02 Blue | 490nm |
3 | B08 NIR | 842nm |
NDVI(Normalized Difference Vegetation Index, 정규식생지수) 계산에는 반드시 bands/를 사용해야 합니다.
images/의 PNG는 퍼센타일 스트레치와 감마가 적용된 8bit 파생물이라 값이 비선형이고 NIR이 포함되어 있지 않습니다. PNG를 기반으로 계산한 NDVI는 부정확합니다.
날짜별 JSON이며 해당 시점에 판정된 개소만 배열로 수록됩니다. 레코드는 세 종류입니다. polygon은 GeoJSON MultiPolygon 좌표 규약을 따르는 3중 배열입니다. 바깥부터 폴리곤 목록, 링 목록, 점 목록 순이며, 좌표는 소수점을 포함한 픽셀값입니다. 한 개소의 흔적이 여러 조각으로 나뉘어 있거나 내부에 구멍이 있는 경우를 담기 위한 형식입니다. 특정 날짜의 정답 파일에 없는 개소는 해당 개소-시점이 채점 대상에서 제외됩니다. 판정된 개소가 없어 배열이 빈 날짜도 있습니다.
레코드 | 뜻 | 채점 |
|---|---|---|
{"site_id":"s01", "visible":1, "polygon":[...]} | 해당 시점에 흔적이 보이며, | 존재 + 형상 |
{"site_id":"s01", "visible":0} | 해당 시점에 흔적이 관측되지 않습니다 | 존재만 |
{"site_id":"s01", "ignore":1} | 판정을 보류한 개소-시점입니다 | 채점 제외 |
*학습 데이터는 페이지 최하단 ‘추가 데이터’ 란에서 다운로드 가능
점수는 존재판정과 형상, 두개의 축으로 구성됩니다. 시점별 존재 여부 판정이 주가 되고, 경계 정확도가 보조입니다.
*동점이면 존재판정 점수가 높은 쪽이 상위
존재판정 (0.6) | 채점 단위는 (개소, 시점)입니다. 폴리곤 제출은 "보임" 판정으로, 미제출은 "안 보임" 판정으로 해석합니다. 보임과 안 보임 두 클래스의 F1을 각각 구해 평균한 macro-F1로 산정합니다. |
형상 (0.4) | 정답이 보임이고 면적 1,000m²(10화소) 이상인 개소-시점만 분모에 포함됩니다. 해당 단위의 IoU를 개소별로 평균한 뒤, 개소 단위로 다시 평균합니다. 정답이 보임인데 폴리곤을 제출하지 않은 경우 해당 IoU는 0입니다. 좌표는 소수점을 포함한 연속 픽셀좌표이며, IoU는 화소를 격자 단위로 세는 방식이 아니라 두 다각형의 면적 교차로 계산됩니다. |
채점은 사전 폴리곤이 지정한 개소에 한정됩니다. 패치 안에 기록에 없는 산사태 흔적이 존재할 수 있으나, 그 흔적을 탐지하더라도 가점도 감점도 없습니다.
본 대회는 추론 코드 제출 방식입니다. 평가 영상은 참가자에게 제공되지 않으며, 제출된 코드가 채점 서버 안에서 비공개 평가 패치를 읽어 추론을 수행합니다.
제출된 코드는 환경변수 AIF_INPUT_DIR가 가리키는 폴더에서 아래를 읽습니다. 폴더 구조와 파일 형식, 화소값 규약은 학습 데이터와 동일하며 labels/만 제외됩니다.
AIF_INPUT_DIR/
└── <창 ID>/
├── bands/<날짜>.npy 256×256×4 원 반사율 (uint16)
├── images/<날짜>.png 256×256 RGB 패치 (8bit)
└── sites.json 개소 목록과 사전 폴리곤추론 대상은 입력 폴더에 들어 있는 창과 날짜 전체입니다. 판정할 개소는 각 창의 sites.json에 실린 목록이며, 여기에 없는 개소를 새로 만들어 제출할 수는 없습니다.
데이터 사용 범위: 제공되는 학습 데이터(영상과 레이블)는 본 대회 참가 목적으로만 사용할 수 있으며, 대회 외 재배포와 전재, 공개를 금합니다.
사전 폴리곤의 위치 정확도: 기록 좌표를 위성영상 격자에 투영한 근사 위치이므로, 실제 흔적과 수십 미터 (몇 화소) 어긋날 수 있습니다. 정답 폴리곤과의 정합은 보장되지 않으며, 사전 폴리곤과의 거리는 채점에 쓰이지 않습니다. 위치를 좁혀 주는 힌트로만 활용하시기 바랍니다.
촬영 시기: 학습 데이터의 촬영 시기는 4월부터 11월까지입니다. 적설기(12~2월)는 적설로 판독이 불가능하여 제외했습니다. 낙엽기인 4월과 11월은 포함되어 있어, 같은 개소라도 계절에 따라 배경 색조 차이가 큽니다.
극소형 개소 제외: 사전 폴리곤 면적이 400m²(4화소) 미만인 개소는 데이터셋에서 제외했습니다. 10m 해상도에서 2×2화소 미만은 신뢰할 수 있는 판독이 성립하지 않는 크기입니다. 평가 데이터에도 같은 기준을 적용합니다.
구름과 그림자: 구름이 낀 시점도 포함됩니다. 판정이 불가능한 개소-시점은 ignore로 표시되어 채점에서 제외되지만, 옅은 구름이 낀 시점은 정상적인 판정 대상입니다.
================================================================================================================================