본문 바로가기
computer vision/dna_study

pytorch) Augmentation이 적용된 이미지를 시각화하기

by dohunNewte 2023. 3. 17.
반응형

이전의 augmentation 포스팅을 참고 하시면 더 이해가잘될거같습니다

https://dohun-0714.tistory.com/28

 

pytorch 데이터셋 augmentation

Normalize: 픽셀 값에 대해 (X - mean)/std를 진행하며, 이때 통계 값은 ImageNet 데이터 셋의 RGB 통계값을 이용할 것이다. 텐서화: 파이토치는 tensor자료 형을 이용하므로 totensor를 해준다. augmentation: trainse

dohun-0714.tistory.com

이미지가 augmentation이되고 tensor로 변경해줘서 이미지변형이되었다.

augmentation된 이미지를 시각화할수있도록 시각화라이브러리가 요구하는 numpy타입의 올바른 이미지를 만들어서 시각화해보자.

 

1.tensor타입을 numpy타입으로 변경해야한다.

(numpy는 H(높이) W(너비) C(채널축) 형태로 되어있고 tensor는 (C(채널) H(높이) W(너비) 형태로 되어있다.)

H W C를 -> C H W로 바꾸어주어야한다.

 

2.normalized가 된것을 unnormalized를 해야한다(노멀라이즈가 된것을 풀어야한다.)

 

3.tensor화가되어 픽셀값이 0~1사이로 되어있으므로 픽셀값에 *255를 해줘야한다.

 

4.*255를 하면 float형태가되는데 float형태가된것을 int로 바꿔주어야한다.

 

이전의 포스팅에서 이미지를 이미지넷 데이터셋의 RGB통계값으로 normalize를 해주었는데

이때 평균값이 [0.485, 0.456, 0.406]로 이용되었었고

표준편차는[0.229, 0.224, 0.225]가 이용되었다.

 

np.transpose를 이용해 tensor형태를 numpy로 채널축이동을통해 바꾸어주었다.

 

x = 값

m = 평균

std = 표준편차

 

정규화(normalize)가 (x-m)/std 이므로  unnormalize를 하기위해서는 *std+m을 해주어야한다.

그리고 픽셀값을 곱하기 255를 해주어서 0~1로된값들을 0~255가되도록 해준다. 

 

int로 바꾸어준뒤에 이미지시각화

 

augmentation된 이미지 시각화성공

 

728x90

댓글