이미지 전처리
모델 준비를 위한 이미지 전처리 단계입니다.
전처리는 데이터셋이 표준 형식(예: 모든 이미지가 동일한 크기)으로 되어 있는지 확인합니다. 이 단계는 모델을 학습하기 전에 데이터셋의 일관성을 보장하는 데 필수적입니다.
전처리는 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 데이터는 주어진 이미지의 방향을 결정합니다. Preview(맥) 같은 애플리케이션은 저장된 방향이 다르더라도 특정 방향으로 이미지를 표시하기 위해 이 데이터를 사용합니다. 자세한 내용은 이 Hacker News 메인 페이지 토론에서 어떻게 이것이 객체 탐지 모델을 조용히 망칠 수 있는지 확인할 수 있습니다.
Roboflow는 기본적으로 이 옵션을 켜두는 것을 권장하며, 추론 시 이미지가 모델로 어떻게 입력되는지 확인해 보라고 권합니다.
이미지를 자동 방향 조정(Auto-orient)해야 하는지 더 알고 싶다면, 우리 블로그를 확인하세요.
Resize
Resize는 이미지 크기와 선택적으로 스케일을 원하는 치수로 변경합니다. 주석은 비례적으로 조정됩니다(아래의 “fill” 경우 제외).
현재 우리는 축소만 지원합니다. 어떤 resize 옵션이 사용 사례에 가장 적합한지에 대한 가이드를 제공합니다.
Stretch to: 이미지를 원하는 픽셀 단위 치수로 늘립니다. 주석은 비례적으로 스케일됩니다. 이미지가 정사각형으로 왜곡되지만 원본 이미지 데이터는 손실되지 않습니다.
Fill (with center crop) in: 생성된 이미지는 원하는 출력 치수의 중앙 부분을 크롭한 것입니다. 예를 들어 원본 이미지가 2600x2080이고 리사이즈 옵션이 640x640으로 설정되면 출력은 원본 이미지의 중앙 640x640입니다. 종횡비는 유지되지만 원본 이미지 데이터는 손실됩니다.
Fit within: 원본 치수의 비율을 유지하면서 소스 치수가 출력 이미지의 치수가 되도록 스케일됩니다. 예를 들어 원본 이미지가 2600x2080이고 리사이즈 옵션이 640x640으로 설정되면 긴 쪽(2600)은 640으로 스케일되고 짧은 쪽(2080)은 약 512픽셀로 스케일됩니다. 이미지 종횡비와 원본 데이터는 유지되지만 정사각형은 아닙니다.
Fit (reflect edges) in: 원본 치수의 비율을 유지하면서 소스 치수가 출력 이미지의 치수가 되도록 스케일되며, 새로 생성된 패딩은 원본 이미지의 반사(reflection)로 채워집니다. 예를 들어 원본 이미지가 2600x2080이고 리사이즈 옵션이 416x416으로 설정되면 긴 쪽(2600)은 416으로 스케일되고 짧은 쪽(2080)은 약 335.48픽셀로 스케일됩니다. 남는 픽셀 영역(416-335.48, 즉 80.52픽셀)은 원본 이미지의 반사된 픽셀로 채워집니다. 주목할 점은 Roboflow가 기본적으로 주석도 반사한다는 것입니다. 이미지는 정사각형이고 패딩되며 종횡비와 원본 데이터가 유지됩니다.
Fit (black edges) in: 원본 치수의 비율을 유지하면서 소스 치수가 출력 이미지의 치수가 되도록 스케일되며, 새로 생성된 패딩은 검정색 영역으로 채워집니다. 예를 들어 원본 이미지가 2600x2080이고 리사이즈 옵션이 416x416으로 설정되면 긴 쪽(2600)은 416으로 스케일되고 짧은 쪽(2080)은 약 335.48픽셀로 스케일됩니다. 남는 픽셀 영역(416-335.48, 즉 80.52픽셀)은 검정 픽셀로 채워집니다. 이미지는 정사각형이고 검정 패딩되며 종횡비와 원본 데이터가 유지됩니다.
Fit (white edges) in: 원본 치수의 비율을 유지하면서 소스 치수가 출력 이미지의 치수가 되도록 스케일되며, 새로 생성된 패딩은 흰색 영역으로 채워집니다. 예를 들어 원본 이미지가 2600x2080이고 리사이즈 옵션이 416x416으로 설정되면 긴 쪽(2600)은 416으로 스케일되고 짧은 쪽(2080)은 약 335.48픽셀로 스케일됩니다. 남는 픽셀 영역(416-335.48, 즉 80.52픽셀)은 흰색 픽셀로 채워집니다. 이미지는 정사각형이고 흰색 패딩되며 종횡비와 원본 데이터가 유지됩니다.
Grayscale
RGB 채널이 있는 이미지를 단일 그레이스케일 채널 이미지로 변환하여 메모리를 절약할 수 있습니다. 각 그레이스케일 픽의 값은 해당하는 빨강, 초록, 파랑 픽의 가중 합으로 계산됩니다: Y = 0.2125 R + 0.7154 G + 0.0721 B.
이 가중치는 CRT phosphors 에 의해 사용되며, 균등 가중치보다 인간의 빨강, 초록, 파랑 인식을 더 잘 반영합니다. (출처: Scikit-Image.)
Auto-Adjust Contrast
저대비 이미지를 향상시킵니다. 우리는 전처리 단계로서 대비를 사용할지 여부를 탐구했습니다.
Contrast Stretching: 이미지가 2번째 및 98번째 백분위수에 속하는 모든 강도 범위를 포함하도록 재스케일됩니다. 자세히 보기.
Histogram Equalization: 이미지에서 “가장 빈번한 강도 값을 넓게 퍼뜨리는” 방법입니다. 균등화된 이미지는 대략 균일한 분포를 가지며 모든 픽 색상이 거의 동일하게 표현됩니다. 자세히 보기.
Adaptive Equalization: Contrast Limited Adaptive Histogram Equalization(CLAHE). 이미지의 서로 다른 타일 영역에 대해 계산된 히스토그램을 사용하여 지역 대비를 향상시키는 알고리즘입니다. 따라서 이미지의 대부분보다 어둡거나 밝은 영역에서도 국부적인 세부 정보가 향상될 수 있습니다. (출처: 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?