YOLO Vision 2026:

LabelMe 어노테이션을 YOLO 및 Ultralytics Platform으로 내보내기#

LabelMe오픈소스 Python 애플리케이션을 제공하는 오프라인 이미지 어노테이션 툴입니다. Ultralytics Platform에서 설정해야 하는 라이브 LabelMe 연결이나 API 키는 없습니다. 전체 통합은 로컬 워크플로로 이루어집니다. LabelMe에서 어노테이션을 수행하고, LabelMe Toolkit을 사용하여 LabelMe JSON 어노테이션을 YOLO 포맷으로 변환한 후, 생성된 ZIP 파일을 Platform 데이터셋으로 업로드합니다.

1. LabelMe에서 이미지 어노테이션 작업하기#

데스크톱 앱 또는 오픈소스 Python 패키지를 사용하여 LabelMe를 설치한 다음, 이미지가 포함된 디렉터리를 엽니다. LabelMe는 각 이미지의 어노테이션을 일치하는 JSON 파일에 저장합니다.

이 가이드의 YOLO 감지 워크플로를 위해 각 객체 주위에 사각형을 그리며 클래스 이름을 할당합니다. LabelMe 시작 가이드에서는 이미지 열기, 도형 그리기, 어노테이션 저장을 다루며, LabelMe 데이터셋 가이드에서는 완전한 어노테이션된 데이터셋 검토 및 준비를 다룹니다.

소스 디렉터리에는 이미지와 LabelMe JSON 파일이 포함되어 있어야 합니다:

your_dataset/
├── image_001.jpg
├── image_001.json
├── image_002.jpg
└── image_002.json

2. LabelMe 툴킷 설치하기#

LabelMe의 툴킷 설치 가이드에 따라 LabelMe Toolkit을 설치합니다. 툴킷과 해당 내보내기 결과는 로컬에서 실행됩니다.

내보내기를 수행하려면 LabelMe Pro가 필요합니다

export-to-yolo은 LabelMe Pro Toolkit의 일부이며, 해당 설치 프로그램을 다운로드하려면 LabelMe 로그인이 필요합니다. 이는 LabelMe 제품 요구 사항이며, 생성된 ZIP은 모든 Platform 플랜에서 업로드할 수 있습니다.

설치를 확인한 후 소스 데이터셋에서 발견된 모든 레이블을 나열합니다:

labelmetk --version
labelmetk list-labels your_dataset/

내보내기 전에 출력을 검토하십시오. --class-names에서 누락된 라벨은 건너뛰어지며, 제공한 순서가 YOLO 클래스 ID 순서가 됩니다.

3. YOLO 형식으로 내보내기#

소스 디렉터리와 쉼표로 구분된 클래스 이름 목록과 함께 export-to-yolo을 실행합니다:

labelmetk export-to-yolo your_dataset/ --class-names crack,normal

crack,normallist-labels에서 반환된 라벨로 바꿉니다. LabelMe는 결과를 your_dataset.export/에 씁니다:

your_dataset.export/
├── classes.txt
├── images/
│   ├── image_001.jpg
│   └── image_002.jpg
└── labels/
    ├── image_001.txt
    └── image_002.txt

classes.txt은 YOLO 라벨 파일에서 사용되는 것과 동일한 순서로 클래스 이름을 유지합니다. 이를 내보내기의 루트에 유지하십시오.

이 워크플로우는 감지 데이터셋을 생성합니다

LabelMe Toolkit은 직사각형을 YOLO 바운딩 박스로 내보냅니다. 또한 다각형과 마스크를 축 정렬 바운딩 박스로 축소하므로 export-to-yolo은 세분화 지오메트리를 유지하지 않습니다. 이 워크플로로 감지 데이터셋을 준비할 때는 직사각형을 그리십시오.

4. ZIP 아카이브 생성하기#

주변 디렉터리가 아니라 your_dataset.export/콘텐츠를 압축합니다. macOS 또는 Linux의 경우:

cd your_dataset.export
zip -r ../your_dataset.zip classes.txt images labels

Windows PowerShell의 경우:

Compress-Archive -Path .\your_dataset.export\* -DestinationPath .\your_dataset.zip

업로드하기 전에 ZIP을 열고 classes.txt, images/, labels/가 루트에 있는지 확인합니다. 추가적인 your_dataset.export/ 래퍼가 있으면 Platform이 루트 클래스 리스트를 찾지 못합니다.

5. Ultralytics Platform에 업로드하기#

  1. Settings > Integrations > LabelMe를 엽니다.
  2. 업로드 내보내기를 클릭합니다.
  3. your_dataset.zip을 업로드하고 데이터셋 생성을 완료합니다.
  4. 처리가 완료될 때까지 기다린 후 이미지, 클래스, 어노테이션을 검토합니다.
  5. 동일한 워크스페이스에서 어노테이션을 편집하고, 모델을 학습시키며, 배포합니다.

Ultralytics Platform LabelMe Dataset Import

LabelMe와 YOLO 내보내기는 완전히 오프라인 상태로 유지됩니다. 업로드 대화상자에서 선택한 ZIP 파일만 Platform으로 전송됩니다.

문제 해결#

  • 클래스 이름이 class0, class1 등으로 지정되어 있습니다: classes.txt가 ZIP의 루트에 있는지 확인하십시오.
  • 일부 어노테이션이 누락되었습니다: labelmetk list-labels your_dataset/을 다시 실행하고 --class-names에 필요한 모든 라벨을 포함하십시오.
  • 다각형이 박스로 변환되었습니다: 이는 LabelMe의 export-to-yolo에서 문서화된 동작으로, 직사각형이 아닌 도형을 바운딩 박스로 변환합니다.
  • 데이터셋에 이미지가 없습니다: 내보낸 images/ 디렉터리가 ZIP에 포함되어 있는지 확인하십시오.
  • Platform에서 클래스를 찾을 수 없습니다: 아카이브에서 외부 디렉터리를 제거하여 classes.txt, images/, labels/가 최상위 항목이 되도록 하십시오.

전체 로컬 워크플로를 보려면 LabelMe의 YOLO 학습 가이드export-to-yolo 참조를 참조하십시오.

댓글