모델을 위한 데이터를 준비하는 이미지 전처리 단계입니다.
전처리는 데이터셋이 표준 형식(예: 모든 이미지가 동일한 크기)을 따르도록 보장합니다. 이 단계는 모델을 훈련하기 전에 데이터셋이 일관성을 유지하도록 하는 데 필수적입니다.
전처리는 훈련 세트, 검증 세트, 테스트 세트의 모든 이미지에 적용됩니다(훈련 세트에만 적용되는 증강(Augmentation)과는 다릅니다).
Roboflow 플랫폼은 다음과 같은 전처리 옵션을 제공합니다:
각 옵션은 아래에서 설명합니다.
Auto-Orient는 이미지의 EXIF 데이터를 제거하여 이미지를 디스크에 저장된 방식과 동일하게 표시합니다.
EXIF 데이터는 특정 이미지의 방향을 결정합니다. (Mac의 Preview와 같은) 응용 프로그램은 이 데이터를 사용해 이미지를 특정 방향으로 표시하지만, 실제 디스크에 저장된 방향과 다를 수 있습니다.
이는 객체 탐지 모델의 성능을 조용히 망칠 수 있다는 논의가 있습니다.
Roboflow는 기본적으로 이 기능을 켜두고, 추론 중 이미지가 모델에 어떻게 전달되는지 확인하는 것을 권장합니다.
Auto-Orient 기능을 사용할지 여부에 대해 더 알고 싶다면, 블로그를 확인하세요.
Resize는 이미지 크기를 변경하고, 필요에 따라 원하는 차원으로 스케일을 조정합니다. 주석도 비율에 맞게 조정됩니다(아래 "fill"의 경우 제외).
현재, 다운사이징만 지원합니다. 사용 사례에 맞는 리사이즈 옵션에 대한 가이드를 제공합니다.
RGB 채널이 있는 이미지를 단일 그레이스케일 채널로 변환합니다. 이를 통해 메모리를 절약할 수 있습니다. 각 그레이스케일 픽셀의 값은 해당하는 빨간색, 녹색, 파란색 픽셀의 가중 합으로 계산됩니다: Y = 0.2125 R + 0.7154 G + 0.0721 B.
이 가중치는 CRT 인광체가 사용하며, 이는 빨간색, 녹색, 파란색을 인간이 인식하는 방식에 더 가깝게 표현합니다(Scikit-Image를 통해).
대비가 낮은 이미지를 개선합니다. 대비를 전처리 단계로 사용할지 여부에 대해 연구한 바가 있습니다.
이 기능들은 Public Workspaces와 Starter Plan 및 Enterprise 계정에 대해 제공됩니다. Sandbox Workspaces(초기 개념 증명을 위해 비즈니스용으로 생성된)의 사용자는 고급 기능이 필요할 경우 영업팀에 문의하세요.
Isolate Objects 변환은 각 경계 상자를 개별 이미지로 잘라내고 추출합니다. 이 단계는 객체 탐지 데이터셋을 분류 데이터셋으로 변환합니다.
데이터셋 내 많은 클래스가 유사한 경우, 두 개의 모델을 순차적으로 사용하는 것이 일반적입니다. 첫 번째 모델(객체 탐지)은 객체를 찾고, 두 번째 모델(분류)은 그 객체가 무엇인지를 식별합니다. Isolate Objects 변환은 두 번째 모델 훈련에 필요한 데이터셋을 생성하는 데 유용합니다.
Static Crop 기능과 그 예시 출력.
타일링은 작은 객체를 감지하는 데 도움이 됩니다(특히 항공 이미지와 현미경 이미지를 다룰 때 유용합니다). 기본 설정은 2x2 타일링이지만, 필요에 따라 조정할 수 있습니다. 타일링은 전처리 파이프라인에서 리사이즈 이전에 수행됩니다.
타일링 도구와 "그리드"로 표시된 출력 미리보기
특정 클래스를 생략하거나 클래스 이름을 재매핑(변경)하는 데 사용되는 전처리 도구입니다. 이러한 변경 사항은 데이터셋이 아닌 버전에만 영향을 미칩니다.
비디오 데모를 여기에서 확인하세요.
Null 필터 변환은 데이터셋 내
이미지 중 일부가 반드시 주석 처리되도록 요구할 수 있게 해줍니다. Modify Classes 도구를 적용한 후 Null 주석으로 표시된 이미지나 "주석 처리되지 않은(Unannotated)" 이미지만 Null 필터를 사용할 때 영향을 받습니다.
이 변환은 데이터셋의 대부분이 관심 있는 객체를 포함하지 않을 때 유용합니다.
비디오 데모를 여기에서 확인하세요.
참고: 이 도구를 사용하기 전에 데이터셋의 모든 이미지를 올바르게 주석 처리했는지, 적절한 이미지를 Null 주석으로 지정했는지, 불필요한 클래스를 생략했는지 확인하세요.
"Missing Annotations"는 이미지가 주석 처리되지 않은 상태를 말합니다(이미지를 주석 처리하지 않으면 훈련된 데이터셋의 성능에 문제가 발생할 수 있으며, 훈련 실패로 이어질 수 있습니다).
Null 주석은 모델이 탐지하기를 원하는 객체가 해당 이미지에 아무것도 없을 때만 적용해야 합니다.
태그별 필터 변환은 특정 태그가 적용된 이미지가 포함되거나 포함되지 않도록 버전을 필터링할 수 있게 해줍니다. 이 변환은 새로운 데이터 하위 집합으로 모델을 훈련하거나 훈련에서 불필요한 이미지를 제외하는 데 유용합니다.
각 태그에는 세 가지 옵션이 있습니다:
태그별 필터 전처리 단계의 스크린샷. 이 예에서는 반드시 포함 태그가 있는 이미지 중 포함하지 말아야 할 태그가 없는 이미지만 최종 버전에 포함됩니다.