이미지 전처리
모델을 위한 데이터를 준비하는 이미지 전처리 단계입니다.
전처리는 데이터셋을 표준 형식(예: 모든 이미지가 동일한 크기)으로 맞추는 작업입니다. 이 단계는 모델을 학습하기 전에 데이터셋이 일관된지 확인하는 데 필수적입니다.
전처리는 Train, Valid 및 Test 세트의 모든 이미지에 적용됩니다(반대로 Augmentations는 Train 세트에만 적용됩니다).
Roboflow 플랫폼은 다음과 같은 전처리 옵션을 제공합니다:
Auto-Orient
Resize
Grayscale
Auto-Adjust Contrast
Isolate Objects
Static Crop
Tile
Modify Classes
Filter Null
Filter by Tag
각 옵션은 아래에 설명되어 있습니다.
Auto-Orient
Auto-orient는 이미지의 EXIF 데이터를 제거하여 디스크에 저장된 방식과 동일하게 이미지가 표시되도록 합니다.
EXIF 데이터는 특정 이미지의 방향을 결정합니다. 애플리케이션(예: Mac의 Preview)은 디스크에 저장된 방향과 다르더라도 이 데이터를 사용해 이미지를 특정 방향으로 표시합니다. 자세한 내용은 이 Hacker News 프런트 페이지 토론에서는 이것이 어떻게 객체 감지 모델을 조용히 망칠 수 있는지에 대해 다룹니다.
Roboflow는 기본적으로 이것을 켜두고 추론 시 이미지가 모델에 어떻게 입력되는지 확인할 것을 권장합니다.
이미지를 자동 정렬(Auto-orient)해야 하는지 더 알고 싶다면, 우리 블로그를 확인하세요.
Resize
Resize는 이미지 크기를 원하는 치수로 변경하고, 선택적으로 스케일을 조정합니다. 주석은 비례적으로 조정됩니다(아래의 “fill”의 경우 제외).
현재 우리는 축소(downsize)만 지원합니다. 다음에 대한 몇 가지 지침을 제공합니다: 어떤 resize 옵션이 귀하의 사용 사례에 가장 적합할지.
Stretch to: 이미지를 원하는 픽셀 단위 치수로 늘립니다. 주석은 비례적으로 스케일됩니다. 결과 이미지는 정사각형으로 왜곡되지만 원본 이미지 데이터는 손실되지 않습니다.
Fill (with center crop) in: 생성된 이미지는 원하는 출력 치수의 중앙 크롭입니다. 예를 들어 원본 이미지가 2600x2080이고 resize 옵션이 640x640으로 설정된 경우, 출력은 원본 이미지의 중앙 640x640입니다. 종횡비는 유지되지만 원본 이미지 데이터는 손실됩니다.
Fit within: 원본 치수를 출력 이미지 치수에 맞게 종횡비를 유지하면서 스케일합니다. 예를 들어 원본 이미지가 2600x2080이고 resize가 640x640이면 더 긴 치수(2600)는 640으로 스케일되고 두 번째 치수(2080)는 약 512픽셀로 스케일됩니다. 이미지 종횡비와 원본 데이터는 유지되지만 정사각형은 아닙니다.
Fit (reflect edges) in: 원본 치수를 출력 이미지 치수로 종횡비를 유지하며 스케일하고, 새로 생성된 패딩은 원본 이미지를 반사한 내용으로 채웁니다. 예를 들어 원본 이미지가 2600x2080이고 resize가 416x416이면 더 긴 치수(2600)는 416으로 스케일되고 두 번째 치수(2080)는 약 335.48픽셀로 스케일됩니다. 남는 픽셀 영역(416-335.48, 즉 80.52픽셀)은 원본 이미지의 반사된 픽셀로 채워집니다. 참고로 Roboflow는 기본적으로 주석도 반사합니다. 결과 이미지는 정사각형이고 패딩이 적용되며 종횡비와 원본 데이터가 유지됩니다.
Fit (black edges) in: 원본 치수를 출력 이미지 치수로 종횡비를 유지하며 스케일하고, 새로 생성된 패딩은 검은색 영역으로 채워집니다. 예를 들어 원본 이미지가 2600x2080이고 resize가 416x416이면 더 긴 치수(2600)는 416으로 스케일되고 두 번째 치수(2080)는 약 335.48픽셀로 스케일됩니다. 남는 픽셀 영역(416-335.48, 즉 80.52픽셀)은 검은 픽셀로 채워집니다. 결과 이미지는 정사각형이고 검은색 패딩이 적용되며 종횡비와 원본 데이터가 유지됩니다.
Fit (white edges) in: 원본 치수를 출력 이미지 치수로 종횡비를 유지하며 스케일하고, 새로 생성된 패딩은 흰색 영역으로 채워집니다. 예를 들어 원본 이미지가 2600x2080이고 resize가 416x416이면 더 긴 치수(2600)는 416으로 스케일되고 두 번째 치수(2080)는 약 335.48픽셀로 스케일됩니다. 남는 픽셀 영역(416-335.48, 즉 80.52픽셀)은 흰색 픽셀로 채워집니다. 결과 이미지는 정사각형이고 흰색 패딩이 적용되며 종횡비와 원본 데이터가 유지됩니다.
Grayscale
RGB 채널이 있는 이미지를 단일 그레이스케일 채널 이미지로 변환하여 메모리를 절약할 수 있습니다. 각 그레이스케일 픽의 값은 해당하는 빨강, 초록, 파랑 픽의 가중 합으로 계산됩니다: Y = 0.2125 R + 0.7154 G + 0.0721 B.
이 가중치는 CRT 형광체 에서 사용되며, 균등 가중치보다 인간의 빨강·초록·파랑 인지를 더 잘 나타냅니다. (출처: Scikit-Image.)
Auto-Adjust Contrast
명암 대비가 낮은 이미지를 향상시킵니다. 우리는 전처리 단계로서 대비를 사용할지에 대해 검토해 보았습니다.
Contrast Stretching: 이미지는 2번째와 98번째 백분위수 사이에 있는 모든 강도값을 포함하도록 재스케일됩니다. 자세히 보기.
Histogram Equalization: 이미지에서 “가장 빈번한 강도값을 넓게 펼치는” 방식입니다. 평활화된 이미지는 대략 균일한 분포를 가지며, 픽셀 색상들이 대체로 균등하게 나타납니다. 자세히 보기.
Adaptive Equalization: CLAHE(Contrast Limited Adaptive Histogram Equalization). 이미지의 서로 다른 타일 영역에서 계산된 히스토그램을 사용하는 국소 대비 향상 알고리즘입니다. 따라서 이미지의 대부분보다 어둡거나 밝은 영역에서도 국소적인 세부사항을 향상시킬 수 있습니다. (출처: Scikit-Image.)
Advanced Preprocessing Features
Isolate Objects
Isolate Objects 변환은 각 바운딩 박스를 잘라내어 개별 이미지로 추출합니다. 이 단계는 객체 검출(Object Detection) 데이터셋을 분류(Classification) 데이터셋으로 변환합니다.
데이터셋 내 많은 클래스가 유사한 경우, 두 개의 모델을 순차적으로 사용하는 것이 일반적입니다. 첫 번째 모델(객체 검출)은 객체를 찾고 두 번째 모델(분류)은 그 객체가 무엇인지 식별합니다. Isolate Objects 변환은 두 번째 모델을 학습하는 데 필요한 데이터셋을 만드는 데 유용합니다.
Static Crop

Tile
타일링은 작은 물체를 감지할 때(특히 항공 사진이나 현미경 이미지와 같은 상황에서) 도움이 될 수 있습니다. 기본 설정은 2x2 타일링이지만 필요에 따라 조정할 수 있습니다. 타일링은 전처리 파이프라인에서 리사이즈보다 먼저 수행됩니다.

Modify Classes
특정 클래스를 제외하거나 새 버전을 생성할 때 클래스를 재매핑(이름 변경)하는 전처리 도구입니다. 이러한 변경은 생성하는 버전에만 적용됩니다. 기본 데이터셋에는 변경이 이루어지지 않습니다.


Filter Null
Filter Null 변환은 데이터셋에서 일정 비율의 이미지가 주석이 달려 있어야 한다는 조건을 요구할 수 있게 합니다. Modify Classes 도구 적용 후 null annotation 또는 "unannotated"로 표시된 이미지들만 Filter Null 사용 시 영향을 받습니다.
이 변환은 데이터셋의 상당 부분에 관심 객체가 포함되어 있지 않은 경우에 유용합니다.

이 도구를 사용하기 전에 데이터셋 내 모든 이미지가 올바르게 주석 처리되어 있는지, 적절한 이미지를 null annotation으로 지정했는지, 그리고 불필요한 클래스를 제외했는지 확인하세요.
Filter by Tag
Filter by Tag 변환은 어떤 이미지가 버전에 포함되거나 제외되어야 하는지를 적용된 Tags 에 따라 필터링할 수 있게 합니다. 이 변환은 모델을 새로운 데이터 하위 집합으로 학습시키거나 학습에서 원치 않는 이미지를 제외할 때 유용합니다.
각 Tag에 대해 세 가지 옵션이 제공됩니다:
Require: Required 태그가 있는 이미지들만 버전에 포함됩니다.
Exclude: Excluded 태그가 있는 이미지는 버전에 포함되지 않습니다.
Allow: Allowed 태그가 있는 이미지는 Exclude 및 Require 규칙을 조건으로 하여 버전에 포함됩니다.

do-not-include 태그가 없는 이미지들만 포함합니다.Last updated
Was this helpful?