딥러닝에서 이미지를 모델에 입력하기 전에는 반드시 전처리(Preprocessing) 과정을 거칩니다.
그중 가장 기본이 되는 과정이 바로:
입니다.
그렇다면 왜 이 과정을 꼭 거쳐야 할까요?
딥러닝 모델의 동작 원리와 함께 자세히 알아보겠습니다.
이미지는 각각 크기가 다릅니다.
하지만 CNN(합성곱 신경망)은 고정된 크기의 텐서를 입력으로 받습니다.
예를 들어:
따라서 배치(batch) 학습을 위해서는 모든 이미지를 동일한 크기로 맞춰야 합니다.
이미지 크기가 커질수록 연산량은 기하급수적으로 증가합니다.
예시:
즉, 약 20배 이상 연산량 증가
이미지가 커질수록:
따라서 정보 손실을 최소화하면서 적절한 크기로 줄이는 것이 중요합니다.
예를 들어:
이 모델을 그대로 활용하려면 입력 크기를 동일하게 맞춰야 합니다.
이를 통해:
가 가능합니다.
이제 더 중요한 부분인 정규화입니다.
이미지의 원래 픽셀 값은 보통
0 ~ 255 (uint8)
입니다.
이 값을 그대로 사용하면:
그래서 일반적으로 다음과 같이 변환합니다.
0~255 → 0~1
(x - mean) / std
정규화하지 않으면:
정규화하면:
이는 내부적으로 Gradient Descent가 더 효율적으로 작동하도록 돕는 역할을 합니다.
예를 들어 ImageNet으로 학습된 모델은 다음 평균과 표준편차를 사용합니다
mean = [0.485, 0.456, 0.406]
std = [0.229, 0.224, 0.225]
이 값을 그대로 사용해야
즉, 정규화는 단순한 숫자 변환이 아니라, 모델이 학습했던 환경을 재현하는 과정입니다.
| 구분 | 리사이징 | 정규화 |
| 목적 | 이미지 크기 통일 | 픽셀 값 범위 조정 |
| 효과 | 연산량 감소, 배치 학습 가능 | 학습 안정화 |
| 모델 영향 | 입력 텐서 shape 변화 | 데이터 분포 변화 |
| 사전학습과의 관계 | 입력 크기 맞춤 | 평균·표준편차 맞춤 |
이미지 전처리의 목적은 단 하나입니다.
모델이 가장 효율적으로 학습할 수 있는 환경을 만들어주는 것
이 두 과정은 딥러닝 이미지 모델에서 선택이 아니라 필수 단계입니다.
딥러닝 모델의 성능은 구조만으로 결정되지 않습니다.
전처리 과정이 성능의 절반 이상을 좌우하기도 합니다.
특히:
리사이징과 정규화는 반드시 정확히 이해하고 적용해야 합니다.
| Transfer Learning(전이 학습)이란 무엇이며, 이미지 분류 모델에서 활용하는 방법 (0) | 2026.02.28 |
|---|---|
| 데이터 증강(Data Augmentation)이란 무엇이며, 이미지 데이터에서 주로 사용하는 증강 기법들 (0) | 2026.02.28 |
| 오토 인코더가 적용되기 적합한 상황과 Encoder·Decoder의 개념 및 차이점 (0) | 2026.02.15 |
| CNN을 구성하는 각 레이어의 역할 (0) | 2026.02.14 |
| PyTorch의 텐서(Tensor)와 NumPy의 Array(배열) 차이 (0) | 2026.02.07 |