Meet YOLO26: next-gen vision AI.

Link to this section컴퓨터 비전을 위한 데이터 수집 및 주석 전략#

Link to this section소개#

모든 computer vision project의 성공 비결은 효과적인 데이터 수집 및 주석 전략에서 시작됩니다. 데이터 품질은 모델 성능에 직접적인 영향을 미치므로 데이터 수집 및 데이터 주석과 관련된 모범 사례를 이해하는 것이 중요합니다.



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

데이터에 관한 모든 고려 사항은 your project's goals과 긴밀하게 일치해야 합니다. 주석 전략의 변경은 프로젝트의 방향이나 효과를 바꿀 수 있으며, 그 반대도 마찬가지입니다. 이를 염두에 두고 데이터 수집 및 주석에 접근하는 최선의 방법을 자세히 살펴보겠습니다.

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

컴퓨터 비전 프로젝트를 위해 이미지와 비디오를 수집하려면 클래스 수를 정의하고, 데이터를 소싱하며, 윤리적 영향을 고려해야 합니다. 데이터를 수집하기 전에 다음 사항을 명확히 해야 합니다:

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

컴퓨터 비전 프로젝트를 시작할 때 가장 먼저 하는 질문 중 하나는 포함할 클래스의 수입니다. 모델이 인식하고 구분하기를 원하는 다양한 카테고리나 레이블과 관련된 클래스 멤버십을 결정해야 합니다. 클래스 수는 프로젝트의 구체적인 목표에 따라 결정되어야 합니다.

예를 들어, 교통량을 모니터링하려면 클래스에 "자동차(car)", "트럭(truck)", "버스(bus)", "오토바이(motorcycle)", "자전거(bicycle)"가 포함될 수 있습니다. 반면 매장의 품목을 추적하려면 클래스가 "과일(fruits)", "채소(vegetables)", "음료(beverages)", "스낵(snacks)"이 될 수 있습니다. 프로젝트 목표에 따라 클래스를 정의하면 데이터셋을 관련성 있고 집중된 상태로 유지하는 데 도움이 됩니다.

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

  • 거친 클래스 수(Coarse Class-Count): "차량(vehicle)" 및 "비차량(non-vehicle)"과 같이 더 넓고 포괄적인 카테고리입니다. 주석을 단순화하고 더 적은 컴퓨팅 리소스를 필요로 하지만, 상세한 정보는 부족하여 복잡한 시나리오에서 모델의 효과가 제한될 수 있습니다.
  • 세밀한 클래스 수(Fine Class-Count): "세단(sedan)", "SUV", "픽업 트럭(pickup truck)", "오토바이(motorcycle)"와 같이 더 세밀하게 구분되는 더 많은 카테고리입니다. 더 자세한 정보를 캡처하여 모델의 정확도와 성능을 향상시킵니다. 그러나 주석 작업에 더 많은 시간과 노력이 소요되며 더 많은 컴퓨팅 리소스가 필요합니다.

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

Link to this section데이터 소스#

공용 데이터셋을 사용하거나 직접 커스텀 데이터를 수집할 수 있습니다. KaggleGoogle Dataset Search Engine과 같은 공용 데이터셋은 잘 주석 처리되고 표준화된 데이터를 제공하므로 모델 학습 및 검증을 위한 훌륭한 출발점이 됩니다.

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

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

편향은 특정 그룹이나 시나리오가 데이터셋에서 과소 대표되거나 과대 대표될 때 발생합니다. 이는 일부 데이터에서는 성능이 좋지만 다른 데이터에서는 성능이 낮은 모델로 이어집니다. 컴퓨터 비전 모델이 다양한 시나리오에서 잘 작동하도록 bias in AI를 방지하는 것이 중요합니다.

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

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

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

Link to this section데이터 주석이란 무엇입니까?#

데이터 주석은 machine learning 모델 학습에 사용할 수 있도록 데이터를 레이블링하는 과정입니다. 컴퓨터 비전에서 이는 모델이 학습하는 데 필요한 정보로 이미지나 비디오에 레이블을 지정하는 것을 의미합니다. 적절하게 주석 처리된 데이터가 없으면 모델은 입력과 출력 간의 관계를 정확하게 학습할 수 없습니다.

Link to this section데이터 주석의 유형#

computer vision task의 특정 요구 사항에 따라 다양한 유형의 데이터 주석이 있습니다. 몇 가지 예는 다음과 같습니다:

  • Bounding Boxes(경계 상자): 이미지의 객체 주위에 그려진 직사각형 상자로, 주로 객체 탐지 작업에 사용됩니다. 이 상자는 왼쪽 상단 및 오른쪽 하단 좌표로 정의됩니다.
  • Polygons(다각형): 객체에 대한 상세한 외곽선으로, 경계 상자보다 더 정밀한 주석 처리가 가능합니다. 다각형은 객체의 모양이 중요한 instance segmentation과 같은 작업에 사용됩니다.
  • Masks(마스크): 각 픽셀이 객체의 일부이거나 배경인 이진 마스크입니다. 마스크는 픽셀 수준의 세부 정보를 제공하기 위해 semantic segmentation 작업에 사용됩니다.
  • Keypoints(키포인트): 관심 위치를 식별하기 위해 이미지 내에 표시된 특정 점입니다. 키포인트는 pose estimation 및 안면 랜드마크 탐지와 같은 작업에 사용됩니다.

Data annotation types including bounding boxes, polygons, and masks

Link to this section일반적인 주석 형식#

주석 유형을 선택한 후에는 주석을 저장하고 공유하기 위한 적절한 형식을 선택하는 것이 중요합니다.

Commonly used formats include COCO, which supports various annotation types like object detection, keypoint detection, stuff segmentation, panoptic segmentation, and image captioning, stored in JSON. Pascal VOC uses XML files and is popular for object detection tasks. YOLO, on the other hand, creates a .txt file for each image, containing annotations like object class, coordinates, height, and width, making it suitable for object detection.

Link to this section주석 기술#

이제 주석 유형과 형식을 선택했다고 가정하고 명확하고 객관적인 레이블링 규칙을 수립할 차례입니다. 이러한 규칙은 주석 처리 과정 전반에 걸쳐 일관성과 accuracy를 유지하기 위한 로드맵과 같습니다. 이러한 규칙의 주요 측면은 다음과 같습니다:

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

레이블링 규칙을 정기적으로 검토하고 업데이트하면 주석을 정확하고 일관되게 유지하며 프로젝트 목표에 부합하도록 하는 데 도움이 됩니다.

Link to this section인기 있는 주석 도구#

이제 주석을 달 준비가 되었다고 가정해 봅시다. 데이터 주석 과정을 간소화하는 데 도움이 되는 여러 오픈 소스 도구가 있습니다. 다음은 몇 가지 유용한 오픈 주석 도구입니다:

  • Label Studio: 광범위한 주석 작업을 지원하며 프로젝트 관리 및 품질 관리 기능을 포함하는 유연한 도구입니다.
  • CVAT: 다양한 주석 형식과 사용자 지정 가능한 워크플로우를 지원하여 복잡한 프로젝트에 적합한 강력한 도구입니다.
  • Labelme: 다각형으로 이미지를 빠르게 주석 처리할 수 있는 간단하고 사용하기 쉬운 도구로, 직관적인 작업에 이상적입니다.
  • LabelImg: YOLO 형식으로 경계 상자 주석을 만드는 데 특히 유용한 사용하기 쉬운 그래픽 이미지 주석 도구입니다.

LabelMe annotation tool for instance segmentation

These open-source tools are budget-friendly and provide a range of features to meet different annotation needs. Ultralytics Platform also provides a built-in annotation editor supporting detection, instance segmentation, pose, OBB, and classification annotations with SAM-powered smart annotation for spatial tasks.

Link to this section데이터 주석 전 고려해야 할 추가 사항#

데이터 주석을 시작하기 전에 염두에 두어야 할 몇 가지 사항이 더 있습니다. 데이터 주석이 역효과를 내지 않도록 정확도, precision, 이상치 및 품질 관리를 인지해야 합니다.

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

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

Accuracy vs precision comparison for data annotation

Link to this section이상치 식별#

이상치(Outliers)는 데이터셋의 다른 관측값에서 상당히 벗어난 데이터 포인트입니다. 주석과 관련하여 이상치는 잘못 레이블링된 이미지나 데이터셋의 나머지 부분과 맞지 않는 주석일 수 있습니다. 이상치는 모델의 학습 과정을 왜곡하여 부정확한 예측과 낮은 일반화 성능을 유발할 수 있으므로 우려됩니다.

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

  • 통계 기법: 픽셀 값, bounding box 좌표 또는 객체 크기와 같은 수치적 특징에서 이상치를 탐지하려면 상자 그림, 히스토그램 또는 z-점수와 같은 방법을 사용할 수 있습니다.
  • 시각적 기법: 객체 클래스, 색상 또는 모양과 같은 범주형 특징에서 이상치를 찾아내려면 이미지, 레이블 또는 히트 맵을 플로팅하는 것과 같은 시각적 방법을 사용하십시오.
  • 알고리즘 방법: 클러스터링(예: K-평균 클러스터링, DBSCAN) 및 anomaly detection 알고리즘과 같은 도구를 사용하여 데이터 분포 패턴을 기반으로 이상치를 식별하십시오.

Link to this section주석 처리된 데이터의 품질 관리#

다른 기술 프로젝트와 마찬가지로 주석 처리된 데이터에도 품질 관리가 필수적입니다. 주석이 정확하고 일관적인지 확인하기 위해 정기적으로 점검하는 것이 좋습니다. 이는 몇 가지 다른 방식으로 수행될 수 있습니다:

  • 주석 처리된 데이터 샘플 검토
  • 자동화된 도구를 사용하여 일반적인 오류 포착
  • 다른 사람이 주석을 재확인하도록 함

여러 사람과 함께 작업하는 경우, 서로 다른 주석 작업자 간의 일관성이 중요합니다. 좋은 주석 작업자 간 일치도는 가이드라인이 명확하고 모두가 동일한 방식으로 따르고 있음을 의미합니다. 이를 통해 모두가 같은 페이지에 머물게 하고 주석을 일관되게 유지할 수 있습니다.

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

Link to this section효율적인 데이터 레이블링 전략#

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

  • 명확한 주석 가이드라인: 모든 주석 작업자가 작업을 일관되게 해석하도록 예시와 함께 상세한 지침을 제공하십시오. 예를 들어, 새를 레이블링할 때는 새 전체를 포함할지 아니면 특정 부분만 포함할지 명시하십시오.
  • 정기적인 품질 점검: 벤치마크를 설정하고 특정 지표를 사용하여 작업을 검토하며 지속적인 피드백을 통해 높은 표준을 유지하십시오.
  • 사전 주석 도구 사용: 많은 최신 주석 플랫폼은 AI 지원 사전 주석 기능을 제공하며, 이는 인간이 다듬을 수 있는 초기 주석을 자동으로 생성하여 프로세스 속도를 크게 높일 수 있습니다.
  • 능동적 학습(Active Learning) 구현: 이 접근 방식은 가장 정보량이 많은 샘플에 먼저 레이블을 지정하는 우선순위를 정하며, 모델 성능을 유지하면서 필요한 전체 주석 수를 줄일 수 있습니다.
  • 일괄 처리(Batch Processing): 유사한 이미지를 그룹화하여 주석을 처리함으로써 일관성을 유지하고 효율성을 개선하십시오.

이러한 전략은 레이블링 과정에 필요한 시간과 리소스를 줄이면서 고품질 주석을 유지하는 데 도움이 될 수 있습니다.

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

다른 computer vision 애호가들과 아이디어와 질문을 주고받는 것은 프로젝트를 가속화하는 데 도움이 될 수 있습니다. 배우고, 문제를 해결하고, 네트워크를 형성할 수 있는 좋은 방법은 다음과 같습니다:

Link to this section도움과 지원을 찾을 수 있는 곳#

  • GitHub Issues: YOLO26 GitHub 저장소를 방문하여 Issues tab을 사용하여 질문을 제기하고, 버그를 보고하고, 기능을 제안하십시오. 커뮤니티와 관리자가 직면한 모든 문제를 도와드릴 것입니다.
  • Ultralytics Discord 서버: Ultralytics Discord server에 가입하여 다른 사용자 및 개발자와 연결하고, 지원을 받고, 지식을 공유하고, 아이디어를 브레인스토밍하십시오.

Link to this section공식 문서#

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

Link to this section결론#

데이터를 수집하고 주석 처리하기 위한 모범 사례를 따르고, 편향을 방지하며, 올바른 도구와 기술을 사용함으로써 모델 성능을 크게 향상시킬 수 있습니다. 커뮤니티와 소통하고 가용한 리소스를 사용하면 최신 정보를 유지하고 문제를 효과적으로 해결하는 데 도움이 될 것입니다. 품질 높은 데이터는 성공적인 프로젝트의 기반이며, 올바른 전략이 강력하고 신뢰할 수 있는 모델을 구축하는 데 도움이 될 것임을 기억하십시오.

Link to this sectionFAQ#

Link to this section컴퓨터 비전 프로젝트를 위한 데이터 수집 시 편향을 방지하는 최선의 방법은 무엇입니까?#

데이터 수집 시 편향을 방지하면 컴퓨터 비전 모델이 다양한 시나리오에서 잘 작동하도록 보장할 수 있습니다. 편향을 최소화하려면 다양한 관점과 시나리오를 캡처하기 위해 다양한 소스에서 데이터를 수집하는 것을 고려하십시오. 다양한 연령, 성별, 민족 등 모든 관련 그룹 간의 균형 잡힌 표현을 보장하십시오. 데이터셋을 정기적으로 검토하고 업데이트하여 새롭게 발생하는 편향을 식별하고 해결하십시오. 과소 대표된 클래스의 오버샘플링, 데이터 증강 및 공정성 인식 알고리즘과 같은 기술도 편향을 완화하는 데 도움이 될 수 있습니다. 이러한 전략을 사용하면 모델의 일반화 능력을 향상시키는 강력하고 공정한 데이터셋을 유지할 수 있습니다.

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

데이터 주석에서 높은 일관성과 정확성을 보장하려면 명확하고 객관적인 레이블링 가이드라인을 수립해야 합니다. 지침은 상세해야 하며, 기대를 명확히 하기 위한 예시와 그림이 포함되어야 합니다. 일관성은 다양한 데이터 유형을 주석 처리하기 위한 표준 기준을 설정하여 모든 주석이 동일한 규칙을 따르도록 함으로써 달성됩니다. 개인적인 편향을 줄이려면 주석 작업자가 중립적이고 객관적인 태도를 유지하도록 훈련하십시오. 레이블링 규칙을 정기적으로 검토하고 업데이트하면 정확성과 프로젝트 목표와의 일관성을 유지하는 데 도움이 됩니다. 자동화된 도구를 사용하여 일관성을 확인하고 다른 주석 작업자로부터 피드백을 받는 것도 고품질 주석을 유지하는 데 기여합니다.

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

Ultralytics YOLO 모델을 사용한 효과적인 transfer learning 및 객체 탐지를 위해서는 클래스당 최소 수백 개의 주석 처리된 객체로 시작하십시오. 단일 클래스에 대해서만 학습하는 경우, 최소 100개의 주석 처리된 이미지로 시작하여 약 100 epochs 동안 학습하십시오. 더 복잡한 작업의 경우 높은 신뢰성과 성능을 달성하기 위해 클래스당 수천 개의 이미지가 필요할 수 있습니다. 고품질 주석은 필수적이므로 데이터 수집 및 주석 처리 과정이 엄격하고 프로젝트의 특정 목표와 일치하도록 하십시오. YOLO26 training guide에서 자세한 학습 전략을 살펴보십시오.

Link to this section인기 있는 데이터 주석 도구에는 어떤 것이 있습니까?#

데이터 주석 과정을 간소화할 수 있는 몇 가지 인기 있는 오픈 소스 도구는 다음과 같습니다:

  • Label Studio: 다양한 주석 작업, 프로젝트 관리 및 품질 관리 기능을 지원하는 유연한 도구입니다.
  • CVAT: 여러 주석 형식과 사용자 지정 가능한 워크플로우를 제공하여 복잡한 프로젝트에 적합합니다.
  • Labelme: 다각형을 사용한 빠르고 직관적인 이미지 주석 처리에 이상적입니다.
  • LabelImg: 간단한 인터페이스로 YOLO 형식의 경계 상자 주석을 생성하는 데 완벽합니다.

이러한 도구는 주석 워크플로우의 효율성과 정확성을 향상시키는 데 도움이 될 수 있습니다. 광범위한 기능 목록 및 가이드는 data annotation tools documentation을 참조하십시오.

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

다양한 유형의 데이터 주석이 여러 컴퓨터 비전 작업을 충족합니다:

  • Bounding Boxes(경계 상자): 주로 객체 탐지에 사용되며 이미지의 객체 주위에 있는 직사각형 상자입니다.
  • Polygons(다각형): 인스턴스 분할 작업에 적합한 더 정밀한 객체 외곽선을 제공합니다.
  • 마스크(Masks): 픽셀 수준의 세부 정보를 제공하며, 의미론적 분할(semantic segmentation)에서 객체를 배경과 구분하는 데 사용됩니다.
  • 키포인트(Keypoints): 이미지 내의 특정 관심 지점을 식별하며, 자세 추정(pose estimation) 및 얼굴 랜드마크 감지와 같은 작업에 유용합니다.

적절한 어노테이션 유형을 선택하는 것은 프로젝트의 요구 사항에 따라 달라집니다. 이러한 어노테이션을 구현하는 방법과 그 형식에 대한 자세한 내용은 데이터 어노테이션 가이드에서 확인하십시오.

댓글