녹색 확인
링크가 클립보드에 복사됨

컴퓨터 비전 프로젝트를 위한 데이터 라벨링 살펴보기

컴퓨터 비전 프로젝트와 관련된 데이터 라벨링에 대한 포괄적인 심층 분석을 읽고 시각적 데이터에 라벨을 붙이는 방법과 그 중요성에 대해 알아보세요.

인공 지능(AI)은 기계에 인간과 같은 능력을 부여하는 데 중점을 두고 있으며, 이를 위해 가장 많이 사용되는 방법 중 하나는 지도 학습입니다. 즉, 레이블이 지정된 예제를 보여줌으로써 AI 모델을 가르치면 패턴을 통해 학습하고 작업을 개선하는 데 도움이 될 수 있습니다. 이는 인간이 경험을 통해 학습하는 방식과 매우 유사합니다. 그렇다면 이러한 레이블이 지정된 예제는 어떻게 만들어질까요?

데이터 주석은 머신러닝 알고리즘의 이해를 돕기 위해 데이터에 라벨을 붙이거나 태그를 지정하는 것을 포함합니다. 컴퓨터 비전에서는 이미지나 동영상에 마킹을 하여 사물, 동작 또는 장면을 정확하게 인식하고 분류하는 것을 의미합니다. AI 모델의 성공 여부는 학습된 라벨링된 데이터의 품질에 크게 좌우되기 때문에 데이터 라벨링은 매우 중요합니다.

연구에 따르면 AI 프로젝트 시간의 80% 이상이 데이터 수집 및 집계부터 데이터 정리 및 라벨링에 이르기까지 데이터 관리에 소요되는 것으로 나타났습니다. 이는 AI 모델 개발에서 데이터 주석이 얼마나 중요한지 보여줍니다. 고품질의 주석이 달린 데이터를 사용하면 AI 모델이 실제 상황에서 얼굴 인식물체 감지와 같은 작업을 더욱 정확하고 신뢰할 수 있게 수행할 수 있습니다.

데이터 주석이 필요한 이유

데이터 주석은 컴퓨터 비전 모델이 얼마나 잘 작동하는지에 대한 기초를 형성합니다. 레이블이 지정된 데이터는 모델이 학습하고 예측하는 데 사용하는 실측 데이터입니다. 실측 데이터는 모델이 이해하고자 하는 실제 세계를 대표하기 때문에 중요합니다. 이 신뢰할 수 있는 기준이 없다면 AI 모델은 나침반 없이 항해하는 배와 같을 것입니다. 

그림 1. 실측과 예측 비교.

정확한 라벨링은 이러한 모델이 보고 있는 것을 이해하고 더 나은 의사결정을 내리는 데 도움이 됩니다. 데이터에 라벨링이 제대로 되어 있지 않거나 일관성이 없는 경우, 모델은 잘못된 교과서를 보고 배우는 학생처럼 올바른 예측과 결정을 내리는 데 어려움을 겪게 됩니다. 주석이 달린 데이터 덕분에 모델은 이미지 분류, 인스턴스 분할, 이미지와 동영상 속 물체의 포즈 추정과 같은 작업을 학습할 수 있습니다. 

데이터 집합을 위한 최고의 리소스

새로운 데이터셋을 만들고 이미지와 동영상에 꼼꼼하게 라벨을 붙이기 전에 프로젝트에 기존 데이터셋을 사용할 수 있는지 알아보는 것이 좋습니다. 고품질 데이터 세트에 무료로 액세스할 수 있는 환상적인 오픈 소스 리포지토리가 몇 군데 있습니다. 가장 인기 있는 리포지토리는 다음과 같습니다:

  • 이미지넷: 일반적으로 이미지 분류 모델 훈련에 사용됩니다.
  • COCO: 이 데이터 세트는 객체 감지, 분할 및 이미지 캡션을 위해 설계되었습니다.
  • 파스칼 VOC: 객체 감지 및 세분화 작업을 지원합니다.
그림 2. COCO 데이터 세트의 데이터 예시.

데이터 집합을 선택할 때는 프로젝트에 얼마나 잘 맞는지, 데이터 집합의 크기, 다양성, 라벨의 품질과 같은 요소를 고려하는 것이 중요합니다. 또한 데이터 세트의 라이선스 약관을 검토하여 법적 영향을 피하고 워크플로와 도구에 적합한 방식으로 데이터가 형식화되어 있는지 확인하세요.

기존 데이터 세트가 필요에 맞지 않는 경우 사용자 정의 데이터 세트를 만드는 것이 좋습니다. 프로젝트에 필요한 사항에 따라 웹캠, 드론 또는 스마트폰과 같은 도구를 사용하여 이미지를 수집할 수 있습니다. 사용자 지정 데이터 세트는 다양하고 균형 잡혀 있어야 하며 해결하려는 문제를 진정으로 대표할 수 있는 것이 이상적입니다. 이는 다양한 조명 조건, 다양한 각도, 여러 환경에서 이미지를 캡처하는 것을 의미할 수 있습니다.

적은 수의 이미지나 동영상만 수집할 수 있는 경우 데이터 증강이 유용한 기술입니다. 여기에는 기존 이미지에 회전, 뒤집기 또는 색상 조정과 같은 변환을 적용하여 데이터 세트를 확장하는 것이 포함됩니다. 데이터 세트의 크기를 늘리고 모델을 더욱 강력하게 만들어 데이터의 변형을 더 잘 처리할 수 있게 해줍니다. 오픈 소스 데이터 세트, 사용자 지정 데이터 세트 및 증강 데이터를 혼합하여 사용하면 컴퓨터 비전 모델의 성능을 크게 향상시킬 수 있습니다.

이미지 주석 기법의 유형

이미지에 주석을 달기 전에 다양한 유형의 주석을 숙지하는 것이 중요합니다. 프로젝트에 적합한 주석을 선택하는 데 도움이 될 것입니다. 이제 몇 가지 주요 주석 유형을 살펴보겠습니다. 

바운딩 박스

바운딩 박스는 컴퓨터 비전에서 가장 일반적인 주석 유형입니다. 이미지에서 객체의 위치를 표시하는 데 사용되는 직사각형 상자입니다. 이 상자는 모서리 좌표로 정의되며, AI 모델이 객체를 식별하고 위치를 찾는 데 도움이 됩니다. 바운딩 박스는 주로 객체 감지에 사용됩니다.

그림 3. 바운딩 박스 예시.

세분화 마스크

때로는 물체 주위에 그려진 경계 상자보다 더 정확하게 물체를 감지해야 할 때가 있습니다. 이미지에 있는 물체의 경계에 관심이 있을 수 있습니다. 이 경우 세그먼테이션 마스크를 사용하면 복잡한 물체의 윤곽을 그릴 수 있습니다. 세분화 마스크는 보다 상세한 픽셀 레벨 표현입니다. 

이러한 마스크는 시맨틱 분할인스턴스 분할에 사용할 수 있습니다. 의미적 세분화에는 보행자, 자동차, 도로, 보도 등 이미지의 모든 픽셀에 해당 픽셀이 나타내는 물체 또는 영역에 따라 레이블을 지정하는 작업이 포함됩니다. 그러나 인스턴스 세분화는 한 단계 더 나아가 이미지에 있는 각 자동차가 모두 같은 종류일지라도 구별하는 것처럼 각 객체를 개별적으로 식별하고 분리합니다.

그림 4. 시맨틱 세분화(왼쪽)와 인스턴스 세분화 마스크(오른쪽)의 예시.

3D 큐로이드

3D 입방체는 바운딩 박스와 유사하지만, 3D 입방체의 특징은 깊이 정보를 추가하고 물체의 3D 표현을 제공한다는 점입니다. 이 추가 정보를 통해 시스템은 3D 공간에서 물체의 모양, 부피, 위치를 이해할 수 있습니다. 3D 입방체는 자율 주행 자동차에서 차량과 물체의 거리를 측정하는 데 자주 사용됩니다.

그림 5. 3D 큐로이드의 예.

주요 포인트 및 랜드마크

또 다른 흥미로운 주석 유형은 눈, 코 또는 관절과 같은 특정 지점을 개체에 표시하는 키 포인트입니다. 랜드마크는 여기서 한 걸음 더 나아가 이러한 점을 연결하여 얼굴이나 몸의 포즈와 같은 더 복잡한 도형의 구조와 움직임을 캡처합니다. 이러한 유형의 주석은 얼굴 인식, 모션 캡처, 증강 현실과 같은 애플리케이션에 사용됩니다. 또한 제스처 인식이나 스포츠 경기력 분석과 같은 작업에서 AI 모델의 정확도를 향상시킵니다.

그림 6. 핵심 포인트의 예.

LabelImg를 사용하여 데이터에 주석을 다는 방법

다양한 유형의 주석에 대해 살펴봤으니 이제 인기 있는 도구인 LabelImg를 사용해 이미지에 주석을 다는 방법을 알아봅시다. LabelImg는 이미지 주석을 간단하게 추가할 수 있는 오픈 소스 도구로, YOLO (You Only Look Once) 형식의 데이터 세트를 만드는 데 사용할 수 있습니다. 소규모 Ultralytics YOLOv8 프로젝트에서 작업하는 초보자에게 적합한 도구입니다.

LabelImg 설정은 간단합니다. 먼저 컴퓨터에 Python 3이 설치되어 있는지 확인합니다. 그런 다음 빠른 명령으로 LabelImg를 설치할 수 있습니다. 


pip3 install labelImg

설치가 완료되면 다음 명령을 사용하여 도구를 시작할 수 있습니다:


labelImg

LabelImg는 Windows, macOS 및 Linux를 포함한 여러 플랫폼에서 작동합니다. 설치 중에 문제가 발생하면 공식 LabelImg 리포지토리에서 자세한 지침을 확인할 수 있습니다.

그림 7. 이미지 주석에 LabelImg 사용.

도구를 실행한 후 다음의 간단한 단계에 따라 이미지에 라벨을 붙이기 시작합니다:

  • 클래스를 설정합니다: "predefined_classes.txt"라는 파일에 주석을 달려는 클래스(카테고리) 목록을 정의하는 것으로 시작하세요. 이 파일을 통해 소프트웨어는 이미지에 어떤 객체에 라벨을 붙일지 알 수 있습니다.
  • YOLO 형식으로 전환합니다: 기본적으로 LabelImg는 파스칼 VOC 형식을 사용하지만 YOLO 로 작업하는 경우 형식을 전환해야 합니다. 툴바에서 "PascalVOC" 버튼을 클릭하면 YOLO 로 전환할 수 있습니다.
  • 주석을 달기 시작합니다: '열기' 또는 'OpenDIR' 옵션을 사용해 이미지를 로드합니다. 그런 다음 주석을 달려는 객체 주위에 경계 상자를 그리고 올바른 클래스 레이블을 지정합니다. 각 이미지에 라벨을 지정한 후 작업을 저장합니다. LabelImg가 이미지와 같은 이름의 텍스트 파일( YOLO 주석이 포함된)을 만듭니다.
  • 저장하고 검토합니다: 주석은 YOLO 형식의 .txt 파일에 저장됩니다. 또한 소프트웨어는 모든 수업 이름이 나열된 "classes.txt" 파일도 저장합니다.

효율적인 데이터 라벨링 전략

데이터 라벨링 프로세스를 더 원활하게 진행하려면 몇 가지 핵심 전략을 염두에 두어야 합니다. 예를 들어, 명확한 주석 지침은 매우 중요합니다. 가이드라인이 없으면 어노테이터마다 작업을 다르게 해석할 수 있습니다. 

경계 상자가 있는 이미지에 새에 주석을 다는 작업을 한다고 가정해 봅시다. 한 주석 작성자는 새 전체에 주석을 달 수 있고, 다른 주석 작성자는 머리나 날개에만 주석을 달 수 있습니다. 이러한 종류의 불일치는 훈련 중에 모델을 혼란스럽게 만들 수 있습니다. '날개와 꼬리를 포함한 새 전체에 라벨 지정'과 같은 명확한 정의와 함께 까다로운 경우에 대한 예시 및 지침을 제공하면 데이터가 정확하고 일관되게 태그가 지정되도록 할 수 있습니다.

높은 기준을 유지하기 위해서는 정기적인 품질 점검도 중요합니다. 벤치마크를 설정하고 특정 지표를 사용하여 작업을 검토함으로써 데이터를 정확하게 유지하고 지속적인 피드백을 통해 프로세스를 개선할 수 있습니다. 

데이터 라벨링 요약

데이터 주석은 컴퓨터 비전 모델에 큰 영향을 미칠 수 있는 간단한 개념입니다. LabelImg와 같은 도구를 사용해 이미지에 주석을 달든, 오픈 소스 데이터 세트에서 모델을 훈련하든, 데이터 라벨링을 이해하는 것이 핵심입니다. 데이터 라벨링 전략은 전체 프로세스를 간소화하고 더 효율적으로 만드는 데 도움이 될 수 있습니다. 시간을 들여 주석 접근 방식을 개선하면 더욱 신뢰할 수 있는 더 나은 AI 결과를 얻을 수 있습니다.

계속해서 기술을 탐구하고 확장하세요! 커뮤니티와 소통하며 AI에 대해 계속 배워보세요! GitHub 리포지토리를 통해 제조의료와 같은 산업에서 AI를 사용하여 혁신적인 솔루션을 만드는 방법을 알아보세요. 🚀

Facebook 로고트위터 로고LinkedIn 로고복사 링크 기호

이 카테고리에서 자세히 보기

인공지능의 미래
를 함께 만들어 갑시다!

머신 러닝의 미래와 함께하는 여정 시작하기