Meet YOLO26: next-gen vision AI.

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

데이터 수집과 어노테이션은 모든 컴퓨터 비전 프로젝트의 기초가 되는 두 가지 단계입니다. 대표적인 이미지나 비디오를 수집한 후, 모델이 학습할 수 있도록 라벨을 지정하는 과정입니다. 이러한 데이터의 품질이 모델 성능을 직접적으로 결정하므로, 학습을 시작하기 전에 클래스 정의, 편향되지 않은 소싱, 그리고 일관된 어노테이션이 매우 중요합니다.



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

이 가이드에서는 클래스 설정 및 데이터 수집, 데이터 어노테이션이란 무엇인가와 선택 가능한 어노테이션 유형 및 형식, 그리고 효율적인 라벨링 전략을 다룹니다. 모든 결정은 프로젝트 목표에 맞춰 이루어집니다.

Link to this section클래스 설정 및 데이터 수집#

컴퓨터 비전 프로젝트를 위한 이미지 및 비디오 수집은 세 가지 결정으로 귀결됩니다. 정의할 클래스의 개수, 데이터를 어디서 가져올 것인가, 그리고 데이터셋을 어떻게 편향되지 않게 유지할 것인가입니다.

Link to this section프로젝트에 적합한 클래스 선택#

컴퓨터 비전 프로젝트를 시작할 때 첫 번째 질문 중 하나는 얼마나 많은 클래스를 포함할 것인가입니다. 모델이 인식하고 구별해야 하는 다양한 카테고리나 라벨인 클래스 멤버십을 결정해야 합니다. 클래스 수는 프로젝트의 구체적인 목표에 의해 결정되어야 합니다.

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

클래스를 정의할 때 또 다른 중요한 구분은 거친(coarse) 클래스 수를 선택할지, 세밀한(fine) 클래스 수를 선택할지 결정하는 것입니다. '수(Count)'는 관심 있는 별개의 클래스 수를 의미합니다. 이 결정은 데이터의 세분성과 모델의 복잡성에 영향을 미칩니다. 각 접근 방식에 대한 고려 사항은 다음과 같습니다:

  • 거친 클래스 수(Coarse Class-Count): "차량" 및 "비차량"과 같이 더 넓고 포괄적인 범주입니다. 이는 어노테이션을 단순화하고 계산 리소스를 적게 필요로 하지만 상세한 정보가 부족하여 복잡한 시나리오에서 모델의 효율성을 제한할 수 있습니다.
  • 세밀한 클래스 수(Fine Class-Count): "세단", "SUV", "픽업트럭", "오토바이"와 같이 더 미세한 구분이 있는 더 많은 범주입니다. 이는 더 상세한 정보를 캡처하여 모델의 정확도와 성능을 향상시킵니다. 그러나 어노테이션에 더 많은 시간이 소요되고 노동 집약적이며 더 많은 계산 리소스가 필요합니다.

더 구체적인 클래스로 시작하는 것은 특히 세부 사항이 중요한 복잡한 프로젝트에서 매우 도움이 될 수 있습니다. 더 구체적인 클래스를 사용하면 더 자세한 데이터를 수집하고, 더 깊은 통찰력을 얻으며, 카테고리 간의 더 명확한 구분을 확립할 수 있습니다. 이는 모델의 정확도를 향상시킬 뿐만 아니라, 필요할 경우 나중에 모델을 조정하기 쉽게 만들어 시간과 리소스를 모두 절약해 줍니다.

Link to this section데이터 소스#

공개 데이터셋을 사용하거나 자체 맞춤 데이터를 수집할 수 있습니다. KaggleGoogle Dataset Search Engine과 같은 공개 데이터셋은 잘 어노테이션된 표준화된 데이터를 제공하므로 모델 학습 및 검증을 위한 훌륭한 출발점입니다.

반면 맞춤 데이터 수집을 사용하면 특정 요구 사항에 맞춰 데이터셋을 맞춤화할 수 있습니다. 카메라나 드론으로 이미지와 비디오를 캡처하거나, 웹에서 이미지를 스크랩하거나, 조직 내의 기존 데이터를 사용할 수 있습니다. 맞춤 데이터는 품질과 관련성을 더 잘 제어할 수 있게 해줍니다. 공개 데이터 소스와 맞춤 데이터 소스를 결합하면 다양하고 포괄적인 데이터셋을 만들 수 있습니다.

Link to this section데이터 수집 시 편향 방지#

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

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

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

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

Link to this section데이터 어노테이션이란 무엇인가?#

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

Link to this section데이터 어노테이션 유형#

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

  • 바운딩 박스(Bounding Boxes): 이미지 내의 객체 주위에 그려진 직사각형 박스로, 주로 객체 탐지 작업에 사용됩니다. 이 박스는 왼쪽 상단과 오른쪽 하단 좌표로 정의됩니다.
  • 폴리곤(Polygons): 객체에 대한 상세한 윤곽선으로, 바운딩 박스보다 더 정밀한 어노테이션을 허용합니다. 폴리곤은 객체의 형태가 중요한 인스턴스 세그멘테이션과 같은 작업에 사용됩니다.
  • 마스크(Masks): 각 픽셀이 객체의 일부이거나 배경인 이진 마스크입니다. 마스크는 픽셀 수준의 세부 정보를 제공하기 위해 시맨틱 세그멘테이션 작업에 사용됩니다.
  • 키포인트(Keypoints): 관심 위치를 식별하기 위해 이미지 내에 표시된 특정 점입니다. 키포인트는 포즈 추정 및 얼굴 랜드마크 탐지와 같은 작업에 사용됩니다.

Data annotation types including bounding boxes, polygons, and masks

Link to this section일반적인 어노테이션 형식#

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

형식파일 구조일반적으로 사용되는 분야
COCO단일 JSON 파일객체 탐지, 인스턴스 세그멘테이션, 키포인트 탐지, 스터프 및 파놉틱 세그멘테이션, 이미지 캡셔닝
Pascal VOC이미지당 하나의 XML 파일객체 탐지
YOLO이미지당 하나의 .txt 파일객체 탐지, 세그멘테이션, 그리고 포즈

YOLO 형식은 0부터 시작하는 클래스 인덱스를 사용하여 객체당 한 행씩 저장합니다. 객체 탐지의 경우 행은 정규화된 0~1 좌표를 사용하는 class x_center y_center width height 형태이며, 세그멘테이션은 정규화된 다각형 포인트를 추가하고, 포즈는 박스 뒤에 키포인트 좌표와 선택적인 가시성 값을 추가합니다.

Link to this section어노테이션 가이드라인 설정#

어노테이션 유형과 형식을 선택했다면, 다음 단계는 명확하고 객관적인 라벨링 규칙을 수립하는 것입니다. 이 규칙은 전체 어노테이션 과정에서 일관성과 정확도를 유지하기 위한 로드맵 역할을 합니다. 이러한 규칙의 핵심 요소는 다음과 같습니다:

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

라벨링 규칙을 정기적으로 검토하고 업데이트하면 어노테이션을 정확하고 일관되게 유지하며 프로젝트 목표에 부합하게 유지하는 데 도움이 됩니다.

Link to this section주석 도구#

좋은 어노테이션 도구는 작업에 필요한 모든 유형을 라벨링할 수 있게 해주며, 일관된 가이드라인을 강제하고, 학습 준비가 된 형식으로 라벨을 내보낼 수 있어야 합니다. Ultralytics Platform은 탐지, 인스턴스 세그멘테이션, 포즈, OBB 및 분류를 지원하는 내장 어노테이션 에디터를 제공하며, SAM 기반 스마트 어노테이션을 통해 클릭 한 번으로 탐지, 세그멘테이션 및 OBB 작업을 위한 마스크를 생성할 수 있습니다. 모든 어노테이션은 YOLO 형식으로 저장되므로, 변환 단계 없이 바로 학습 단계로 데이터셋을 전달할 수 있습니다.

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

대규모로 어노테이션을 수행하기 전에 정확도, 정밀도, 이상치 및 품질 관리를 이해하면 역효과를 내는 방식으로 데이터를 라벨링하는 것을 방지할 수 있습니다.

Link to this section정확도와 정밀도 이해#

정확도와 정밀도의 차이, 그리고 그것이 어노테이션과 어떻게 관련되는지 이해하는 것이 중요합니다. 정확도는 어노테이션된 데이터가 실제 값에 얼마나 가까운지를 나타냅니다. 이는 라벨이 실제 시나리오를 얼마나 가깝게 반영하는지 측정하는 데 도움이 됩니다. 정밀도는 어노테이션의 일관성을 나타냅니다. 데이터셋 전반에서 동일한 객체나 특징에 동일한 라벨을 부여하고 있는지 확인합니다. 높은 정확도와 정밀도는 노이즈를 줄이고 학습 데이터로부터 일반화하는 모델의 능력을 향상시켜 더 잘 학습된 모델로 이어집니다.

Accuracy vs precision comparison for data annotation

Link to this section이상치 식별#

이상치는 데이터셋의 다른 관측치와 상당히 다른 데이터 포인트입니다. 어노테이션과 관련하여 이상치는 잘못 라벨링된 이미지이거나 데이터셋의 나머지 부분과 맞지 않는 어노테이션일 수 있습니다. 이상치는 모델의 학습 과정을 왜곡하여 부정확한 예측과 낮은 일반화 성능을 초래할 수 있으므로 우려됩니다.

이상치를 감지하고 수정하기 위해 다양한 방법을 사용할 수 있습니다:

  • 통계적 기법: 픽셀 값, 바운딩 박스 좌표 또는 객체 크기와 같은 수치적 특징에서 이상치를 감지하기 위해 박스 플롯, 히스토그램 또는 Z-점수와 같은 방법을 사용할 수 있습니다.
  • 시각적 기법: 객체 클래스, 색상 또는 모양과 같은 범주형 특징에서 이상 현상을 포착하기 위해 이미지, 라벨 또는 히트 맵을 플로팅하는 것과 같은 시각적 방법을 사용합니다.
  • 알고리즘 방법: 데이터 분포 패턴을 기반으로 이상치를 식별하기 위해 클러스터링(예: K-means 클러스터링, DBSCAN) 및 이상 탐지 알고리즘과 같은 도구를 사용합니다.

Link to this section어노테이션된 데이터의 품질 관리#

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

  • 어노테이션된 데이터 샘플 검토
  • 자동화된 도구를 사용하여 일반적인 오류 발견
  • 다른 사람이 어노테이션을 이중 확인하게 함

여러 사람과 작업하는 경우, 서로 다른 어노테이터 간의 일관성이 중요합니다. 좋은 어노테이터 간 합의(inter-annotator agreement)는 가이드라인이 명확하고 모두가 같은 방식으로 이를 따르고 있음을 의미합니다. 이는 모두가 같은 페이지에 있게 하고 어노테이션을 일관되게 유지합니다.

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

Link to this section효율적인 데이터 라벨링 전략#

데이터 라벨링 과정을 더 원활하고 효과적으로 만들려면 다음 전략을 구현하는 것을 고려하십시오:

  • 명확한 어노테이션 가이드라인: 모든 어노테이터가 작업을 일관되게 해석할 수 있도록 예시가 포함된 자세한 지침을 제공합니다. 예를 들어, 새를 라벨링할 때 전체 새를 포함할지 아니면 특정 부분만 포함할지 명시하십시오.
  • 정기적인 품질 확인: 벤치마크를 설정하고 특정 지표를 사용하여 작업을 검토하며 지속적인 피드백을 통해 높은 수준을 유지하십시오.
  • 사전 어노테이션 도구 사용: 많은 현대 어노테이션 플랫폼은 인간이 수정할 수 있는 초기 어노테이션을 자동으로 생성하여 프로세스 속도를 크게 높일 수 있는 AI 지원 사전 어노테이션 기능을 제공합니다.
  • 능동적 학습 구현: 이 접근 방식은 가장 유익한 샘플에 먼저 라벨을 붙이는 것을 우선시하며, 이는 모델 성능을 유지하면서 필요한 총 어노테이션 수를 줄일 수 있습니다.
  • 배치 처리: 일관성을 유지하고 효율성을 개선하기 위해 유사한 이미지를 함께 그룹화하여 어노테이션합니다.

이러한 전략은 라벨링 프로세스에 필요한 시간과 리소스를 줄이면서 고품질 어노테이션을 유지하는 데 도움이 될 수 있습니다.

Link to this section커뮤니티와 의견 공유하기#

다른 컴퓨터 비전 애호가들과 아이디어와 질문을 나누면 프로젝트를 가속화하는 데 도움이 될 수 있습니다. 학습, 문제 해결 및 네트워킹을 위한 몇 가지 훌륭한 방법은 다음과 같습니다:

Link to this section도움 및 지원을 받는 방법#

  • GitHub Issues: YOLO26 GitHub 리포지토리를 방문하여 Issues 탭을 통해 질문을 제기하고, 버그를 보고하며, 기능을 제안하세요. 커뮤니티와 메인테이너들이 직면한 모든 문제에 대해 도움을 드릴 것입니다.
  • Ultralytics Discord 서버: Ultralytics Discord 서버에 가입하여 다른 사용자 및 개발자와 소통하고, 지원을 받으며, 지식을 공유하고 아이디어를 브레인스토밍하십시오.

Link to this section공식 문서#

  • Ultralytics YOLO26 문서: 수많은 컴퓨터 비전 작업과 프로젝트에 대한 철저한 가이드와 가치 있는 통찰력을 얻으려면 공식 YOLO26 문서를 참조하십시오.

Link to this section결론#

다양하고 편향되지 않은 데이터를 수집하고 올바른 도구로 일관되게 어노테이션하는 것이 신뢰할 수 있는 컴퓨터 비전 모델의 기초입니다. 데이터셋 수집 및 라벨링이 완료되었다면, 컴퓨터 비전 프로젝트 단계 가이드로 이동하여 학습 및 평가 단계를 진행하십시오.

Link to this sectionFAQ#

Link to this section컴퓨터 비전 프로젝트의 데이터 수집에서 편향을 피하는 가장 좋은 방법은 무엇입니까?#

편향을 최소화하기 위해 다양한 소스에서 데이터를 수집하고, 모든 관련 그룹(예: 다양한 연령, 성별, 인종)에 걸쳐 균형 잡힌 표현을 보장하며, 데이터셋을 정기적으로 검토 및 업데이트하여 새로 발생하는 편향을 포착하고, 과소 대표된 클래스에 대한 오버샘플링, 데이터 증강 및 공정성 인식 알고리즘과 같은 완화 기법을 적용하십시오. 이러한 방식으로 편향을 피하면 컴퓨터 비전 모델이 다양한 실제 시나리오에서 성능을 잘 유지하고 일반화 능력을 향상시킬 수 있습니다.

Link to this section데이터 어노테이션에서 높은 일관성과 정확도를 보장하려면 어떻게 해야 합니까?#

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

Link to this sectionUltralytics YOLO 모델을 학습하려면 몇 개의 이미지가 필요합니까?#

전이 학습 실험을 시작하기에는 클래스당 수백 개의 어노테이션된 객체면 충분하지만, 신뢰할 수 있는 실세계 성능을 위해서는 클래스당 최소 1,500개의 이미지와 10,000개의 라벨링된 인스턴스를 Ultralytics는 권장합니다. 충분히 큰 데이터셋을 합리적인 학습 일정과 결합하십시오. 약 300 에폭(epoch)은 일반적인 시작점이며, 모델이 조기에 과적합되면 줄일 수 있습니다. 어노테이션은 엄격하게 유지하고 프로젝트의 구체적인 목표에 맞게 조정하십시오. YOLO26 학습 가이드에서 자세한 학습 전략을 살펴보십시오.

Link to this sectionUltralytics에서 제공하는 데이터 어노테이션 도구가 있습니까?#

네. Ultralytics Platform에는 바운딩 박스, 다각형, 키포인트, 방향성 박스(OBB) 및 분류 라벨을 단일 작업 공간에서 지원하는 내장 어노테이션 에디터가 포함되어 있습니다. SAM 기반 스마트 어노테이션은 클릭 한 번으로 마스크를 생성하여 탐지, 세그멘테이션 및 OBB 작업의 라벨링 속도를 높여주며, 모든 어노테이션은 YOLO 형식으로 저장되어 학습에 바로 사용할 수 있습니다.

Link to this section컴퓨터 비전에서 일반적으로 사용되는 데이터 어노테이션 유형은 무엇입니까?#

컴퓨터 비전에서 가장 일반적인 데이터 어노테이션 유형은 바운딩 박스, 다각형, 마스크 및 키포인트이며, 각각 다른 작업에 적합합니다:

  • 바운딩 박스: 주로 객체 탐지에 사용되며 이미지 내의 객체 주위를 감싸는 직사각형 박스입니다.
  • 폴리곤: 인스턴스 세그멘테이션 작업에 적합한 더 정밀한 객체 윤곽선을 제공합니다.
  • 마스크: 픽셀 수준의 세부 정보를 제공하며 시맨틱 세그멘테이션에서 객체와 배경을 구별하는 데 사용됩니다.
  • 키포인트: 이미지 내의 특정 관심 지점을 식별하며 포즈 추정 및 얼굴 랜드마크 탐지와 같은 작업에 유용합니다.

적절한 어노테이션 유형을 선택하는 것은 프로젝트의 요구 사항에 따라 다릅니다. 이러한 어노테이션을 구현하는 방법과 그 형식에 대해 자세히 알아보려면 데이터 어노테이션 가이드를 확인하십시오.

댓글