이미지 전처리
모델을 준비하기 위한 이미지 전처리 단계입니다.
전처리는 데이터셋이 표준 형식(예: 모든 이미지가 동일한 크기)으로 되어 있는지 확인합니다. 이 단계는 모델을 학습하기 전에 데이터셋의 일관성을 보장하는 데 필수적입니다.
전처리는 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는 기본적으로 이 옵션을 켜 두고, 추론 시 이미지가 모델에 어떻게 입력되는지 확인할 것을 권장합니다.
이미지를 자동 방향 조정해야 하는지에 대해 더 알고 싶다면, 저희 블로그를 참고하세요.
Resize
Resize는 이미지의 크기와, 선택적으로 원하는 크기로 비율을 조정합니다. 주석도 비례적으로 조정됩니다(아래의 “fill” 경우 제외).
현재는 축소만 지원합니다. 사용 사례에 적합한 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: Contrast Limited Adaptive Histogram Equalization (CLAHE). 이미지의 여러 타일 영역에서 계산된 히스토그램을 사용하는 국소 명암비 향상 알고리즘입니다. 따라서 이미지의 대부분보다 더 어둡거나 밝은 영역에서도 세부 정보를 향상시킬 수 있습니다. (출처: Scikit-Image.)
Advanced Preprocessing Features
Isolate Objects
Isolate Objects 변환은 각 바운딩 박스를 개별 이미지로 자르고 추출합니다. 이 단계는 Object Detection 데이터셋을 Classification 데이터셋으로 변환합니다.
데이터셋 내에 유사한 클래스가 많은 경우, 두 개의 모델을 연속적으로 사용하는 것이 일반적입니다. 첫 번째 모델(Object Detection)은 객체를 찾고, 두 번째 모델(Classification)은 객체가 무엇인지 식별합니다. Isolate Objects 변환은 두 번째 모델 학습에 필요한 데이터셋을 만드는 데 유용합니다.
Static Crop

Tile
Tiling은 작은 객체를 감지할 때(특히 항공 이미지나 현미경 이미지 등) 도움이 될 수 있습니다. 기본 설정은 2x2 타일링이지만, 필요에 따라 조정할 수 있습니다. 타일링은 resize 전처리 파이프라인에서 전에 수행됩니다.

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?