Ultralytics YOLO27:

컴퓨터 비전을 위한 데이터 수집 및 어노테이션 전략#

데이터 수집과 어노테이션은 모든 컴퓨터 비전 프로젝트의 두 가지 기본 단계입니다. 대표성 있는 이미지 또는 동영상을 수집한 다음, 모델이 학습할 수 있도록 레이블을 지정합니다. 데이터 품질이 모델 성능을 직접적으로 결정하므로, 학습을 시작하기 전에 클래스 정의, 편향 없는 데이터 소싱, 일관된 어노테이션이 중요합니다.



Watch: How to Build Effective Data Collection and Annotation Strategies for Computer Vision 🚀

이 가이드에서는 클래스 설정 및 데이터 수집, 데이터 어노테이션이란 무엇인지, 선택할 어노테이션 유형과 형식, 효율적인 레이블 지정 전략을 다룹니다. 모든 결정은 프로젝트의 목표에 맞춰 이루어집니다.

클래스 설정 및 데이터 수집#

컴퓨터 비전 프로젝트를 위한 이미지와 동영상 수집은 세 가지 결정으로 귀결됩니다. 정의할 클래스 수, 데이터를 수집할 위치, 데이터셋에 편향이 없도록 유지하는 방법입니다.

프로젝트에 적합한 클래스 선택#

컴퓨터 비전 프로젝트를 시작할 때 가장 먼저 고려할 질문 중 하나는 포함할 클래스 수입니다. 모델이 인식하고 구분하기를 원하는 다양한 범주 또는 레이블인 클래스 구성원을 결정해야 합니다. 클래스 수는 프로젝트의 구체적인 목표에 따라 결정해야 합니다.

예를 들어 교통을 모니터링하려는 경우 클래스에는 "자동차", "트럭", "버스", "오토바이", "자전거"가 포함될 수 있습니다. 반면 매장의 상품을 추적하려는 경우 클래스는 "과일", "채소", "음료", "간식"이 될 수 있습니다. 프로젝트 목표에 따라 클래스를 정의하면 데이터셋의 관련성과 집중도를 유지하는 데 도움이 됩니다.

클래스를 정의할 때 내려야 할 또 하나의 중요한 결정은 거친 클래스 수를 선택할지 세분화된 클래스 수를 선택할지입니다. '수'는 관심 있는 서로 다른 클래스의 개수를 의미합니다. 이 결정은 데이터의 세분화 수준과 모델의 복잡성에 영향을 줍니다. 각 접근 방식의 고려 사항은 다음과 같습니다.

  • 거친 클래스 수: "차량" 및 "비차량"과 같이 더 광범위하고 포괄적인 범주입니다. 어노테이션을 단순화하고 더 적은 컴퓨팅 리소스를 필요로 하지만, 상세한 정보가 부족하여 복잡한 상황에서 모델의 효과가 제한될 수 있습니다.
  • 세분화된 클래스 수: "세단", "SUV", "픽업트럭", "오토바이"와 같이 더 많은 범주와 세밀한 구분을 사용합니다. 더 상세한 정보를 포착하여 모델의 정확도와 성능을 향상합니다. 그러나 어노테이션에 더 많은 시간과 노동력이 필요하고 컴퓨팅 리소스도 더 많이 요구됩니다.

더 구체적인 클래스부터 시작하면 특히 세부 사항이 중요한 복잡한 프로젝트에서 큰 도움이 될 수 있습니다. 구체적인 클래스가 많으면 더 상세한 데이터를 수집하고, 더 깊이 있는 인사이트를 얻으며, 범주 간 차이를 더 명확하게 설정할 수 있습니다. 이는 모델의 정확도를 높일 뿐만 아니라, 나중에 필요한 경우 모델을 더 쉽게 조정할 수 있도록 하여 시간과 리소스를 모두 절약합니다.

데이터 소스#

공개 데이터셋을 사용하거나 직접 커스텀 데이터를 수집할 수 있습니다. KaggleGoogle 데이터셋 검색 엔진에 있는 공개 데이터셋은 주석이 잘 지정되고 표준화된 데이터를 제공하므로 모델 학습 및 검증을 시작하기에 좋습니다.

반면 커스텀 데이터 수집을 사용하면 특정 요구 사항에 맞게 데이터셋을 커스터마이즈할 수 있습니다. 카메라나 드론으로 이미지와 동영상을 촬영하거나, 웹에서 이미지를 수집하거나, 조직 내부의 기존 데이터를 사용할 수 있습니다. 커스텀 데이터를 사용하면 품질과 관련성을 더 잘 제어할 수 있습니다. 공개 데이터 소스와 커스텀 데이터 소스를 결합하면 다양하고 포괄적인 데이터셋을 만드는 데 도움이 됩니다.

데이터 수집에서 편향 방지#

편향은 특정 그룹이나 상황이 데이터셋에 과소대표되거나 과대대표될 때 발생합니다. 이로 인해 일부 데이터에서는 잘 작동하지만 다른 데이터에서는 제대로 작동하지 않는 모델이 만들어집니다. 컴퓨터 비전 모델이 다양한 상황에서 잘 작동하도록 하려면 AI의 편향을 방지하는 것이 중요합니다.

데이터를 수집하는 동안 편향을 방지하는 방법은 다음과 같습니다.

  • 다양한 소스: 다양한 관점과 상황을 포착할 수 있도록 여러 소스에서 데이터를 수집합니다.
  • 균형 잡힌 대표성: 관련된 모든 그룹을 균형 있게 대표하도록 포함합니다. 예를 들어 다양한 연령, 성별, 인종을 고려합니다.
  • 지속적인 모니터링: 데이터셋을 정기적으로 검토하고 업데이트하여 새롭게 발생하는 편향을 식별하고 해결합니다.
  • 편향 완화 기법: 대표성이 부족한 클래스의 오버샘플링, 데이터 증강, 공정성 인식 알고리즘과 같은 방법을 사용합니다.

이러한 관행을 따르면 실제 애플리케이션에서 잘 일반화할 수 있는 더 견고하고 공정한 모델을 만드는 데 도움이 됩니다.

데이터 어노테이션이란 무엇인가요?#

데이터 어노테이션은 데이터를 머신 러닝 모델 학습에 사용할 수 있도록 레이블을 지정하는 과정입니다. 컴퓨터 비전에서는 모델이 학습하는 데 필요한 정보로 이미지나 동영상에 레이블을 지정하는 것을 의미합니다. 적절하게 어노테이션된 데이터가 없으면 모델은 입력과 출력 간의 관계를 정확하게 학습할 수 없습니다.

데이터 어노테이션 유형#

컴퓨터 비전 작업의 구체적인 요구 사항에 따라 다양한 데이터 어노테이션 유형이 있습니다. 몇 가지 예는 다음과 같습니다.

  • 바운딩 박스: 이미지 속 객체 주위에 그리는 직사각형 상자로, 주로 객체 탐지 작업에 사용됩니다. 이러한 상자는 왼쪽 위와 오른쪽 아래 좌표로 정의됩니다.
  • 폴리곤: 객체의 상세한 윤곽선으로, 바운딩 박스보다 더 정밀한 어노테이션을 제공합니다. 폴리곤은 객체의 형태가 중요한 인스턴스 세그멘테이션과 같은 작업에 사용됩니다.
  • 마스크: 각 픽셀이 객체의 일부이거나 배경인 이진 마스크입니다. 마스크는 픽셀 수준의 세부 정보를 제공하기 위해 시맨틱 세그멘테이션 작업에 사용됩니다.
  • 키포인트: 관심 위치를 식별하기 위해 이미지 내부에 표시하는 특정 지점입니다. 키포인트는 포즈 추정 및 얼굴 랜드마크 탐지와 같은 작업에 사용됩니다.
  • 방향성 바운딩 박스: 회전 각도를 포함하는 직사각형으로, 항공 이미지처럼 객체가 임의의 방향으로 나타나는 OBB 작업에 사용됩니다.

Data annotation types including bounding boxes, polygons, and masks

일반적인 어노테이션 형식#

어노테이션 유형을 선택한 후에는 어노테이션을 저장하고 공유하는 데 적합한 형식을 선택하는 것이 중요합니다. 가장 일반적인 형식은 다음과 같습니다.

형식파일 구조일반적인 사용 용도
COCO단일 JSON 파일객체 탐지, 인스턴스 세그멘테이션, 키포인트 탐지, 스터프 및 파놉틱 세그멘테이션, 이미지 캡셔닝
Pascal VOC이미지당 XML 파일 하나객체 탐지
YOLO이미지당 .txt 파일 하나객체 탐지, 세그멘테이션, 포즈 및 방향성 박스

YOLO 형식은 객체당 한 행을 저장하며 클래스 인덱스는 0부터 시작합니다. 객체 탐지의 경우 해당 행은 정규화된 0–1 좌표를 사용하는 class x_center y_center width height입니다. 세그멘테이션 행에서는 박스를 객체의 정규화된 폴리곤 점으로 대체하고, 포즈 행에서는 박스를 유지한 뒤 키포인트 좌표를 추가하며 데이터셋이 kpt_shape: [n, 3]를 선언한 경우 각 키포인트에 가시성 플래그를 포함합니다. OBB 행은 정규화된 코너 좌표를 사용하여 class x1 y1 x2 y2 x3 y3 x4 y4을 저장합니다.

어노테이션 도구가 COCO JSON을 내보내는 경우 YOLO .txt 레이블로 변환하거나 커스텀 데이터셋 클래스를 사용하여 JSON에서 직접 학습할 수 있습니다.

어노테이션 가이드라인 설정#

어노테이션 유형과 형식을 선택했다면 다음 단계는 명확하고 객관적인 레이블 지정 규칙을 수립하는 것입니다. 이러한 규칙은 어노테이션 과정 전반에서 일관성과 정확도를 유지하기 위한 지침이 됩니다. 주요 규칙은 다음과 같습니다.

  • 명확성과 세부 정보: 지침이 명확한지 확인합니다. 기대하는 결과를 보여 주는 예시와 설명을 사용합니다.
  • 일관성: 어노테이션을 일관되게 유지합니다. 다양한 유형의 데이터에 어노테이션을 지정하기 위한 표준 기준을 설정하여 모든 어노테이션이 동일한 규칙을 따르도록 합니다.
  • 편향 감소: 중립을 유지합니다. 공정한 어노테이션을 위해 객관적으로 판단하고 개인적 편향을 최소화하도록 스스로를 훈련합니다.
  • 효율성: 더 열심히 일하기보다 더 효율적으로 작업합니다. 반복 작업을 자동화하는 도구와 워크플로를 사용하여 어노테이션 과정을 더 빠르고 효율적으로 만듭니다.

레이블 지정 규칙을 정기적으로 검토하고 업데이트하면 어노테이션을 정확하고 일관되게 유지하면서 프로젝트 목표에 맞출 수 있습니다.

어노테이션 도구#

좋은 어노테이션 도구는 작업에 필요한 모든 유형의 레이블 지정을 지원하고, 일관된 가이드라인을 적용하며, 학습에 바로 사용할 수 있는 형식으로 레이블을 내보냅니다. Ultralytics Platform은 탐지, 인스턴스 세그멘테이션, 시맨틱 세그멘테이션, 분류, 포즈 및 OBB를 지원하는 기본 제공 어노테이션 편집기를 제공합니다. 또한 SAM 기반 스마트 어노테이션을 통해 한 번의 클릭으로 마스크를 생성하여 탐지, 인스턴스 세그멘테이션, 시맨틱 세그멘테이션 및 OBB 작업을 지원합니다. 어노테이션은 각 작업에 필요한 레이아웃으로 저장되므로 공간 작업에는 YOLO .txt을, 분류에는 클래스 폴더를 사용하며, 레이블이 지정된 데이터셋을 변환 단계 없이 바로 학습에 사용할 수 있습니다.

어노테이션 품질: 정확도, 정밀도 및 이상치#

대규모로 어노테이션을 수행하기 전에 정확도, 정밀도, 이상치 및 품질 관리를 이해하면 데이터에 비효율적인 방식으로 레이블을 지정하는 일을 방지할 수 있습니다.

정확도와 정밀도 이해하기#

정확도와 정밀도의 차이 및 이것이 어노테이션과 어떤 관련이 있는지 이해하는 것이 중요합니다. 정확도는 어노테이션된 데이터가 실제 값에 얼마나 가까운지를 의미합니다. 레이블이 실제 상황을 얼마나 잘 반영하는지 측정하는 데 도움이 됩니다. 정밀도는 어노테이션의 일관성을 나타냅니다. 데이터셋 전체에서 동일한 객체나 특징에 동일한 레이블을 지정하고 있는지 확인합니다. 높은 정확도와 정밀도는 노이즈를 줄이고 학습 데이터에서 일반화하는 모델의 능력을 향상하여 더 잘 학습된 모델을 만드는 데 도움이 됩니다.

Accuracy vs precision comparison for data annotation

이상치 식별#

이상치는 데이터셋의 다른 관측값과 상당히 다른 데이터 포인트입니다. 어노테이션과 관련해서는 잘못 레이블이 지정된 이미지나 데이터셋의 나머지 부분과 맞지 않는 어노테이션이 이상치가 될 수 있습니다. 이상치는 모델의 학습 과정을 왜곡하여 부정확한 예측과 낮은 일반화 성능을 초래할 수 있으므로 주의해야 합니다.

다양한 방법을 사용하여 이상치를 탐지하고 수정할 수 있습니다.

  • 통계적 기법: 픽셀 값, 바운딩 박스 좌표 또는 객체 크기와 같은 수치형 특징에서 이상치를 탐지하려면 상자 그림, 히스토그램 또는 z-점수와 같은 방법을 사용할 수 있습니다.
  • 시각적 기법: 객체 클래스, 색상 또는 형태와 같은 범주형 특징에서 이상을 발견하려면 이미지, 레이블 또는 히트맵을 시각화하는 방법을 사용합니다.
  • 알고리즘 방식: 클러스터링(K-means 클러스터링, DBSCAN 등) 및 이상 탐지 알고리즘과 같은 도구를 사용하여 데이터 분포 패턴을 기반으로 이상치를 식별합니다.

어노테이션된 데이터의 품질 관리#

다른 기술 프로젝트와 마찬가지로 어노테이션된 데이터에도 품질 관리는 필수입니다. 어노테이션이 정확하고 일관적인지 정기적으로 확인하는 것이 좋습니다. 다음과 같은 몇 가지 방법으로 수행할 수 있습니다.

  • 어노테이션된 데이터 샘플 검토
  • 자동화된 도구를 사용하여 일반적인 오류 탐지
  • 다른 사람이 어노테이션을 재확인하도록 하기

여러 사람과 함께 작업하는 경우 어노테이터 간의 일관성이 중요합니다. 어노테이터 간 일치도가 높다는 것은 가이드라인이 명확하고 모두가 동일한 방식으로 이를 따르고 있음을 의미합니다. 이를 통해 모두가 동일한 기준을 공유하고 어노테이션의 일관성을 유지할 수 있습니다.

검토 중 오류를 발견하면 이를 수정하고 향후 실수를 방지하도록 가이드라인을 업데이트합니다. 어노테이터에게 피드백을 제공하고 오류를 줄이는 데 도움이 되도록 정기적인 교육을 실시합니다. 오류를 처리하는 강력한 프로세스를 마련하면 데이터셋을 정확하고 신뢰할 수 있게 유지할 수 있습니다.

효율적인 데이터 레이블 지정 전략#

데이터 레이블 지정 과정을 더 원활하고 효과적으로 만들려면 다음 전략을 적용하는 것이 좋습니다.

  • 명확한 어노테이션 가이드라인: 모든 어노테이터가 작업을 일관되게 해석할 수 있도록 예시가 포함된 상세한 지침을 제공합니다. 예를 들어 새에 레이블을 지정할 때 새 전체를 포함할지 특정 부위만 포함할지 명시합니다.
  • 정기적인 품질 검사: 기준과 구체적인 지표를 설정하여 작업을 검토하고 지속적인 피드백을 통해 높은 표준을 유지합니다.
  • 사전 어노테이션 도구 사용: 많은 최신 어노테이션 플랫폼은 AI 지원 사전 어노테이션 기능을 제공하여, 사람이 이후에 수정할 초기 어노테이션을 자동으로 생성함으로써 과정을 크게 단축할 수 있습니다.
  • 액티브 러닝 적용: 이 접근 방식은 가장 많은 정보를 제공하는 샘플부터 레이블을 지정하도록 우선순위를 정합니다. 이를 통해 모델 성능을 유지하면서 필요한 전체 어노테이션 수를 줄일 수 있습니다.
  • 배치 처리: 유사한 이미지를 함께 묶어 어노테이션하면 일관성을 유지하고 효율성을 높일 수 있습니다.

이러한 전략은 레이블 지정 과정에 필요한 시간과 리소스를 줄이면서 높은 품질의 어노테이션을 유지하는 데 도움이 됩니다.

결론#

다양하고 편향 없는 데이터를 수집하고 적합한 도구를 사용하여 일관되게 어노테이션하는 것은 신뢰할 수 있는 컴퓨터 비전 모델의 기반입니다. 데이터셋을 수집하고 레이블을 지정했다면 컴퓨터 비전 프로젝트 단계 가이드로 계속 진행하여 학습과 평가를 시작합니다. 진행 중 궁금한 점이 있으면 Ultralytics GitHub 저장소 또는 Ultralytics Discord 서버의 커뮤니티에 질문할 수 있습니다.

FAQ#

  • 편향을 최소화하려면 다양한 소스에서 데이터를 수집하고, 관련된 모든 그룹(예: 다양한 연령, 성별, 인종)이 균형 있게 대표되도록 하며, 데이터셋을 정기적으로 검토하고 업데이트하여 새롭게 발생하는 편향을 포착해야 합니다. 또한 대표성이 부족한 클래스의 오버샘플링, 데이터 증강, 공정성 인식 알고리즘과 같은 완화 기법을 적용합니다. 이러한 방식으로 편향을 방지하면 컴퓨터 비전 모델이 다양한 실제 상황에서 우수한 성능을 유지하고 일반화 능력을 향상할 수 있습니다.

  • 상세한 지침, 예시, 설명이 포함된 명확하고 객관적인 레이블 지정 가이드라인을 수립한 다음 모든 데이터 유형에 일관되게 적용하여 모든 어노테이션이 동일한 규칙을 따르도록 합니다. 어노테이터가 중립적인 태도를 유지하여 개인적 편향을 줄이도록 교육하고, 가이드라인을 정기적으로 검토하고 업데이트하며, 자동화된 일관성 검사와 어노테이터 간 피드백을 사용하여 정확도를 높이고 프로젝트 목표에 맞게 유지합니다.

  • 클래스당 어노테이션된 객체 수백 개만으로도 전이 학습을 실험하기에 충분하지만, 신뢰할 수 있는 실제 성능을 위해 Ultralytics는 클래스당 최소 1,500개의 이미지와 10,000개의 레이블된 인스턴스를 권장합니다. 충분히 큰 데이터셋을 적절한 학습 일정과 함께 사용하세요. 약 300 에포크가 일반적인 시작점이며, 모델이 초기에 과적합하면 줄일 수 있습니다. 또한 어노테이션을 엄격하게 관리하고 프로젝트의 구체적인 목표에 맞춰 유지해야 합니다. 자세한 학습 전략은 YOLO26 학습 가이드에서 확인할 수 있습니다.

  • 예. Ultralytics Platform은 하나의 작업 공간에서 바운딩 박스, 폴리곤, 키포인트, 방향성 박스 및 분류 레이블을 지원하는 기본 제공 어노테이션 편집기를 포함합니다. SAM 기반 스마트 어노테이션은 한 번의 클릭으로 마스크를 생성하여 탐지, 인스턴스 세그멘테이션, 시맨틱 세그멘테이션 및 OBB 작업의 레이블 지정을 가속합니다. 포즈와 분류는 수동으로 어노테이션합니다. 어노테이션은 각 작업에 필요한 레이아웃으로 저장되므로 공간 작업에는 YOLO .txt을, 분류에는 클래스 폴더를 사용하며, 바로 학습에 사용할 수 있습니다.

  • 학습하려는 작업에 맞춰 어노테이션 유형을 선택합니다. 바운딩 박스는 가장 빠르게 그릴 수 있으며 객체 탐지에 필요한 전부입니다. 폴리곤과 마스크는 객체당 훨씬 더 많은 시간이 들지만, 객체의 정확한 형태가 중요한 인스턴스 세그멘테이션에 필요합니다. 키포인트는 포즈 추정 및 랜드마크 탐지에 적합하고, 방향성 박스는 축에 정렬된 직사각형이 너무 많은 배경을 포함하게 되는 항공 이미지와 같은 OBB 작업에 적합합니다. 실제로 필요한 작업에 가장 적합한 방식으로 어노테이션하면 레이블 지정에 드는 노력을 결과에 비례하는 수준으로 유지할 수 있습니다.

댓글