SW중심대학 공동 AI 경진대회 2023

SW중심대학 | 알고리즘 | 비전 | 객체분할 | DiceScore

  • moneyIcon Prize : 총 1,700만원
  • 1,061명 마감

 

RLE 인코딩/디코딩 관련

2023.07.03 09:55 2,560 Views

이번 경진대회에서는 이미지 세그멘테이션 결과를 제출하는 데 있어서 효율성을 높이기 위해 RLE (Run-Length Encoding)를 사용하고 있습니다.

인코딩을 수행하는 동안, 마스크는 이진값 (binary)이어야 합니다. 즉, 0 값은 마스크되지 않은 픽셀(배경)을, 1 값은 마스크된 픽셀(건물)을 나타냅니다.

제출 'mask_rle' 형식은 쌍의 값을 공백으로 구분된 목록으로 요구합니다. 예를 들어, '1 3 10 5'는 픽셀 1,2,3 및 10,11,12,13,14가 마스크에 포함되어야 함을 의미합니다.

따라서, 이러한 방식을 통해 대량의 이미지 데이터를 효율적으로 압축하고, 제출하고, 표현할 수 있습니다.


RLE 인코딩 / 디코딩을 활용하여 경진대회 제출을 하는 방식은 [베이스라인] 코드를 참조 부탁드립니다.


  • 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 디코딩 코드
# 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)
이전 글
훈련 데이터 분할
Competition - SW중심대학 공동 AI 경진대회 2023
Likes 3
Views 1,956
Comments 1
2년 전
현재 글
RLE 인코딩/디코딩 관련
Competition - SW중심대학 공동 AI 경진대회 2023
Likes 6
Views 2,560
Comments 0
2년 전
다음 글
다음 글이 존재하지 않습니다.