Data Preprocessing
데이터 전처리가 원시 데이터를 AI를 위한 정제된 입력으로 변환하는 방법을 알아보세요. 스케일링과 정규화 같은 핵심 기법을 살펴보고 Ultralytics YOLO26의 정확도를 향상하세요.
데이터 전처리는 원시 데이터를 알고리즘이 이해할 수 있는 정제된 형식으로 변환하는 머신 러닝 파이프라인의 중요한 첫 단계입니다. 실제 환경에서 데이터는 불완전하고 일관되지 않으며 특정한 동작이나 추세가 부족한 경우가 많아 컴퓨터에는 "더럽거나" "노이즈가 있는" 데이터로 보입니다. 전처리는 원시 정보와 신경망에 필요한 구조화된 입력 간의 격차를 해소하며, 최종 모델의 정확도와 효율성에 큰 영향을 미칩니다. 엔지니어는 데이터셋을 표준화하고 정제하여 YOLO26과 같은 정교한 아키텍처가 노이즈가 아닌 의미 있는 패턴을 학습하도록 합니다.
데이터 전처리가 중요한 이유#
머신 러닝 모델, 특히 컴퓨터 비전에 사용되는 모델은 입력 데이터의 품질과 규모에 민감합니다. 적절한 전처리가 없으면 모델이 학습 중 수렴에 어려움을 겪거나 신뢰할 수 없는 예측을 생성할 수 있습니다. 예를 들어 데이터셋의 이미지 해상도나 색상 스케일이 서로 다르면, 모델은 실제 객체 검출 작업에 집중하는 대신 이러한 불일치를 처리하는 방법을 학습하는 데 추가적인 용량을 사용해야 합니다.
전처리 기법은 일반적으로 다음을 목표로 합니다:
- 데이터 품질 개선: 데이터셋이 문제 영역을 정확하게 나타내도록 오류, 이상치 및 중복 데이터를 제거합니다.
- 입력 표준화: 픽셀 값과 같은 특성을 일반적으로 0과 1 사이의 균일한 범위로 재조정하여, 경사 하강법과 같은 최적화 알고리즘이 더 원활하게 작동하도록 합니다.
- 복잡성 감소: 차원 축소와 같은 기법을 통해 데이터 표현을 단순화하여 학습 프로세스를 더 빠르게 만듭니다.
전처리의 주요 기법#
학습을 위해 데이터를 준비하는 데 여러 표준 방법이 사용되며, 각 방법은 데이터 파이프라인에서 특정 목적을 수행합니다.
- 데이터 정제: 결측값 처리(대치), 일관되지 않은 라벨 수정, 손상된 파일 필터링 등이 포함됩니다. 비전 AI에서는 흐릿한 이미지를 제거하거나 잘못된 바운딩 박스 좌표를 수정하는 작업을 의미할 수 있습니다.
- 정규화 및 스케일링: 픽셀 강도는 큰 폭으로 달라질 수 있으므로 이미지를 정규화하면 높은 값을 가진 픽셀이 학습 과정을 지배하지 않도록 할 수 있습니다. 일반적인 방법으로는 Min-Max 스케일링과 Z-score 정규화가 있습니다.
- 인코딩: 클래스 라벨("고양이", "개" 등)과 같은 범주형 데이터는 숫자 형식으로 변환해야 합니다. 원-핫 인코딩이나 라벨 인코딩과 같은 기법이 표준적으로 사용됩니다.
- 크기 조정 및 형식 지정: 딥 러닝 모델은 일반적으로 고정된 크기의 입력을 필요로 합니다. 전처리 파이프라인은 서로 다른 크기의 이미지를 실시간 추론에 일반적으로 사용되는 640x640 픽셀과 같은 표준 크기로 자동 조정합니다.
실제 적용 사례#
데이터 전처리는 다양한 산업에서 광범위하게 사용되며, 원시 입력을 실행 가능한 인사이트로 변환합니다.
의료 영상 진단#
헬스케어 AI에서는 X선 또는 MRI 스캔을 분석하기 위해 전처리가 필수적입니다. 원시 의료 이미지에는 센서로 인한 노이즈가 포함되는 경우가 많으며, 사용한 장비에 따라 조명과 대비가 달라질 수 있습니다. 히스토그램 평활화와 같은 전처리 단계는 대비를 향상해 종양이나 골절을 더 잘 보이게 하며, 노이즈 감소 필터는 이미지 구조를 선명하게 합니다. 이러한 준비 과정을 통해 모델은 더 높은 정밀도로 종양 검출을 수행할 수 있으며, 거짓 음성을 줄여 잠재적으로 생명을 구할 수 있습니다.
자율주행#
자율주행 자동차는 LiDAR, 레이더 및 카메라를 포함한 여러 센서의 입력에 의존합니다. 이러한 센서는 서로 다른 속도와 스케일로 데이터를 생성합니다. 전처리는 데이터를 융합하기 전에 이러한 스트림을 동기화하고 비나 눈부심과 같은 환경 노이즈를 필터링합니다. 자율주행 차량에서는 이를 통해 인식 시스템이 도로를 일관된 관점으로 파악하고, 실시간 환경에서 안전한 내비게이션과 신뢰할 수 있는 보행자 검출을 수행할 수 있습니다.
관련 개념#
머신 러닝 워크플로에 등장하는 다른 용어와 데이터 전처리를 구분하는 것이 중요합니다.
- 데이터 증강과의 비교: 전처리가 모델에서 기술적으로 사용할 수 있도록 데이터를 준비하는 작업(예: 크기 조정)이라면, 증강은 데이터셋의 다양성을 높이기 위해 기존 데이터의 새로운 변형(예: 이미지 회전 또는 반전)을 생성합니다. 자세한 내용은 YOLO 데이터 증강 가이드를 참조하십시오.
- 특성 공학과의 비교: 전처리는 데이터를 정제하고 형식을 지정하는 작업입니다. 특성 공학은 모델 성능을 개선하기 위해 데이터에서 새롭고 의미 있는 변수를 생성하는 작업으로, 키와 체중 열에서 "체질량지수"를 계산하는 것이 그 예입니다.
- 데이터 라벨링과의 비교: 라벨링은 객체 주변에 바운딩 박스를 그리는 것처럼 정답 데이터를 정의하는 프로세스입니다. 전처리는 데이터를 수집하고 라벨링한 후, 데이터가 신경망에 입력되기 전에 수행됩니다.
실용 예제#
Ultralytics 생태계에서는 전처리가 학습 파이프라인 중 자동으로 처리되는 경우가 많습니다. 그러나 OpenCV와 같은 라이브러리를 사용하여 이미지를 수동으로 전처리할 수도 있습니다. 다음 스니펫은 이미지를 불러오고, YOLO26과 같은 모델의 표준 입력 크기로 크기를 조정한 다음, 픽셀 값을 정규화하는 방법을 보여줍니다.
import cv2
import numpy as np
# Load an image using OpenCV
image = cv2.imread("bus.jpg")
# Resize the image to 640x640, a standard YOLO input size
resized_image = cv2.resize(image, (640, 640))
# Normalize pixel values from 0-255 to 0-1 for model stability
normalized_image = resized_image / 255.0
# Add a batch dimension (H, W, C) -> (1, H, W, C) for inference
input_tensor = np.expand_dims(normalized_image, axis=0)
print(f"Processed shape: {input_tensor.shape}")대규모 프로젝트에서는 Ultralytics Platform과 같은 도구를 활용하여 이러한 워크플로를 간소화할 수 있습니다. 이 플랫폼은 데이터셋 관리를 간소화하고 다양한 전처리 및 주석 작업을 자동화하여 원시 데이터에서 배포된 모델로 전환하는 과정을 가속합니다.









