이미지 데이터를 딥러닝 모델에 입력으로 제공하기 위해서는 재가공하는 과정이 필요하다. 이때 진행되는 과정에 대해 정리해보았다.
이미지가 저장된 경로를 통해 이미지 불러오기
PIL(Python Imaging Library)를 사용해서 전처리를 수행하다. PIL을 사용해서 이미지 크기 조정, 회전, 반전등의 작업을 쉽게 수행할 수 있다.
이미지를 알맞은 크기로 조정하는 Resize가 필요하다.
딥러닝 모델은 주로 텐서형식의 데이터를 입력으로 받기에 이미지를 ToTensor()함수를 사용해서 텐서로 변형해야 한다. Normalize함수를 사용한다.
텐서로 변화된 이미지의 픽셀값을 [0,1]이나 [-1,1] 사이의 값으로 정규화 하는 과정이 필요하다.
transform = transforms.Compose([# 여러 이미지 변환 함수를 한번에 묶는 함수
transforms.ToPILImage(), # 이미지를 PIL 이미지로 변환
transforms.Resize((224, 224)), # 이미지 크기를 조정
transforms.ToTensor(), # 이미지를 텐서로 변환
# (딥러닝은 주로 텐서 형식의 데이터를 입력으로 받음)
transforms.Normalize(mean=[0.485, 0.456, 0.406],
std=[0.229, 0.224, 0.225])
# 이미지를 정규화 => 픽셀의 범위를 [0,1]/[-1,1] 로 정규화
])
위 과정을 거친 이미지 데이터는 딥러닝 모델의 입력으로 사용되어 학습 및 예측에 활용될 수 있다.