📙 Fundamentals/ML&DL

이미지 전처리 | 정규화 (Normalization)

Lento_ 2025. 5. 4. 17:59

Normalization_정규화

: 이미지의 픽셀 값을 일정한 범위로 스케일링(Scaling) 하는 과정

: ex) 픽셀 값을 0에서 255 범위에서 0에서 1 범위로 조정함으로써 이미지 데이터의 스케일을 일반화하고, 모델 훈련에 필요한 반복 횟수를 감소시킨다.


► 그러면 모든 이미지에 정규화가 필요할까?

: 그것은 상황에 따라 다르다. 정규화가 항상 필요한 것은 아니고, 아래의 질문들을 통해 필요 여부를 판단할 수 있다.

 

1. 픽셀 값의 분포는 일정한가?

: 히스토그램을 통해 확인할 수 있다. 서로 다른 조명, 카메라 환경에서 수집된 이미지라면 픽셀 값의 분포가 달라 정규화가 필요하다.

 

2. 사용하는 모델이 정규화를 요구하는가?

: CNN, DNN과 같은 딥러닝 모델은 정규화된 입력에서 더 빠르고 안정적인 수렴을 보인다. 반면에, 일부 전통적인 ML 알고리즘에서는 필수적이지 않을 수도 있다.

 

3. 데이터셋이 균질한가?(데이터가 일정한 조건, 환경, 특성을 공유하는가?)

동일한 조건에서 촬영된 이미지는 정규화 효과가 미미할 수 있다.

: 하지만, 여러 출처에서 수집된 이질적인 데이터셋은 정규화가 큰 효과를 발휘한다.

 

< 정규화 적용 전 체크리스트 >

☑ 픽셀 값의 범위와 분포를 시각화(히스토그램 등)하여 확인

☑ 사용하는 모델이 정규화를 요구하는가

☑ 데이터셋이 얼마나 이질적인가

 


► 정규화가 중요한가?

정규화 전 정규화 후
이미지 간 픽셀 범위 차이가 큼 모든 이미지가 동일 범위로 정리됨
학습 속도 느림, 불안정 빠른 수렴, 높은 정확도
모델이 특정 범위에 편향될 수 있음 균형 잡힌 학습 가능

► 대표적인 정규화 방법

1. Min-Max 정규화

- 픽셀 값을 [0, 1] 또는 [-1, 1]로 스케일링

- 사용 방법 : normalized = (pixel - min) / (max-min)

- 사용하는 시점 : 다양한 밝기 / 대비를 가진 이미지가 있을 때

 

2. Mean 정규화

- 픽셀 값에서 전체 평균을 빼서 정규화

- 효과 : 0 중심의 데이터로 변환 → 학습 안정성 증가

- 사용 방법 : normalize = pixel - mean

 

3. Z-score 정규화

- 평균 0, 표준편차 1로 조정

- SVM, KNN 등 스케일에 민감한 모델에 활용

- 사용 방법 : normalize = (pixel - mean) / std

 

4. Decimal 정규화

- 픽셀 값을 10의 거듭제곱으로 나누어 스케일링

- 수치가 큰 이미지 데이터를 간단하게 조정할 때 활용

 

5. L2 정규화

- 전체 픽셀 값의 제곱합이 1이 되도록 정규화

- 적용 분야 : 이미지 유사도 분석, 클러스터링

 

6. Robust 정규화

- 평균 대신 IQR(사분위 범위)를 사용하여 정규화

- 이상치(outlier)가 많은 데이터(ex. 의료 영상)에 활용

 

 

 

출처

https://www.linkedin.com/pulse/normalization-first-step-image-preprocessing-datavalley-ai-luw1c/