Sample dataset for SPADE

temp·2021년 11월 27일
0

Generative Model

목록 보기
25/30

Image

Label

데이터셋마다 다르지만, 적어도 SPADE model은 1 channel label을 이용하기 때문에 흑백 그대로 적용했습니다.

시각화할 때는 이쁘게 잘 나옵니다.

Label(modified)

  • sample 계속해서 추가 예정
  • 학습 데이터의 라벨 분포 참고

단, 정확한 라벨링을 위해 아래와 같은 요소를 확인해야 한다.
1. 1 channel
2. pixel이 정해진 class에 맞게 discrete하게 정해져있는지.

  • [13,15,18,130,180] : o
  • [9,10,11,12,13,14,15,16,17,18,125,126,...] : x

Code

def rectify_labelmap(labelmap, labels):
    
    
    # RGBA to BInary
    if len(labelmap.shape)>2:
        labelmap=labelmap[:, :, 0]
    
    # float to uint8
    if (labelmap<=1).all():
        labelmap=(labelmap*255).astype(np.uint8)
    
    
    labels=np.array(labels)
    
    # cliping pixel
    for pixel in range(255):
        close_label=labels[np.argmin(abs(labels-pixel))]
        labelmap[labelmap==pixel] = close_label

    
    return labelmap

겉보기엔 같아도 속이 다른 경우가 굉장히 많으니 조심하자.

001.png

raw image

basic label

그렇게 어려운 샘플은 아니라고 생각했는데..

modified labels

  • 잘 학습된 SPADE물에 비친 모습까지 잘 생성해냈다. 물론 체리피킹일 수도 있으니까 더 간단한 라벨도 만들어 보아야 한다.

0개의 댓글