데이스쿨 할인 리턴-즈!
분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
RLE 인코딩/디코딩 관련
이번 경진대회에서는 이미지 세그멘테이션 결과를 제출하는 데 있어서 효율성을 높이기 위해 RLE (Run-Length Encoding)를 사용하고 있습니다.
인코딩을 수행하는 동안, 마스크는 이진값 (binary)이어야 합니다. 즉, 0 값은 마스크되지 않은 픽셀(배경)을, 1 값은 마스크된 픽셀(건물)을 나타냅니다.
제출 'mask_rle' 형식은 쌍의 값을 공백으로 구분된 목록으로 요구합니다. 예를 들어, '1 3 10 5'는 픽셀 1,2,3 및 10,11,12,13,14가 마스크에 포함되어야 함을 의미합니다.
따라서, 이러한 방식을 통해 대량의 이미지 데이터를 효율적으로 압축하고, 제출하고, 표현할 수 있습니다.
RLE 인코딩 / 디코딩을 활용하여 경진대회 제출을 하는 방식은 [베이스라인] 코드를 참조 부탁드립니다.
# RLE 인코딩 함수 def rle_encode(mask): pixels = mask.flatten() pixels = np.concatenate([[0], pixels, [0]]) runs = np.where(pixels[1:] != pixels[:-1])[0] + 1 runs[1::2] -= runs[::2] return ' '.join(str(x) for x in runs)
# RLE 디코딩 함수 def rle_decode(mask_rle, shape): s = mask_rle.split() starts, lengths = [np.asarray(x, dtype=int) for x in (s[0:][::2], s[1:][::2])] starts -= 1 ends = starts + lengths img = np.zeros(shape[0]*shape[1], dtype=np.uint8) for lo, hi in zip(starts, ends): img[lo:hi] = 1 return img.reshape(shape)
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved