이미지 어노테이션
Potato에서 바운딩 박스, 폴리곤, 자유 그리기, 랜드마크 포인트로 이미지에 어노테이션합니다. 확대/축소, 이동, 다중 레이블 분류, AI 사전 레이블링을 지원합니다.
Potato의 이미지 어노테이션 시스템은 객체 탐지, 분할, 키포인트 어노테이션을 포함한 컴퓨터 비전 작업을 위해 여러 어노테이션 방식을 지원합니다.
지원되는 도구
| 도구 | 설명 | 사용 사례 |
|---|---|---|
bbox | 직사각형 바운딩 박스 | 객체 탐지 |
polygon | 다중 점 폴리곤 | 인스턴스 분할 |
freeform | 자유 그리기 | 불규칙한 형태 |
landmark | 점 마커 | 키포인트 탐지 |
fill | 픽셀 단위 채우기 도구 | 분할 마스크 |
eraser | 칠한 영역 지우기 | 분할 마스크 수정 |
brush | 페인트 브러시 도구 | 세밀한 분할 |
기본 설정
yaml
annotation_schemes:
- name: "objects"
description: "Draw boxes around all objects"
annotation_type: "image_annotation"
tools:
- bbox
labels:
- person
- car
- bicycle설정 옵션
| 필드 | 유형 | 기본값 | 설명 |
|---|---|---|---|
name | string | 필수 | 어노테이션의 고유 식별자 |
description | string | 필수 | 어노테이터에게 표시되는 안내문 |
annotation_type | string | 필수 | 반드시 "image_annotation" |
tools | list | 필수 | 활성화된 어노테이션 도구 (bbox, polygon, freeform, landmark, fill, eraser, brush) |
labels | list | 필수 | 어노테이션의 카테고리 레이블 |
zoom_enabled | boolean | true | 확대/축소 컨트롤 활성화 |
pan_enabled | boolean | true | 드래그 탐색 활성화 |
min_annotations | integer | 0 | 필요한 최소 어노테이션 수 |
max_annotations | integer | null | 허용되는 최대 어노테이션 수 (null = 무제한) |
freeform_brush_size | integer | 5 | 자유 그리기의 브러시 크기 |
freeform_simplify | float | 2.0 | 경로 단순화 계수 |
레이블 설정
레이블은 단순 문자열이거나 상세한 객체일 수 있습니다.
yaml
# Simple labels (auto-colored)
labels:
- person
- car
- tree
# Detailed labels with custom colors and shortcuts
labels:
- name: "person"
color: "#FF6B6B"
key_value: "1"
- name: "car"
color: "#4ECDC4"
key_value: "2"
- name: "bicycle"
color: "#45B7D1"
key_value: "3"예시
객체 탐지 (바운딩 박스)
yaml
annotation_schemes:
- name: "detection"
description: "Draw bounding boxes around all vehicles"
annotation_type: "image_annotation"
tools:
- bbox
labels:
- name: "car"
color: "#3B82F6"
key_value: "1"
- name: "truck"
color: "#10B981"
key_value: "2"
- name: "motorcycle"
color: "#F59E0B"
key_value: "3"
min_annotations: 1
zoom_enabled: true인스턴스 분할 (폴리곤)
yaml
annotation_schemes:
- name: "segmentation"
description: "Draw polygons around each object"
annotation_type: "image_annotation"
tools:
- polygon
labels:
- name: "building"
color: "#8B5CF6"
- name: "road"
color: "#64748B"
- name: "vegetation"
color: "#22C55E"
zoom_enabled: true
pan_enabled: true키포인트 어노테이션 (랜드마크)
yaml
annotation_schemes:
- name: "facial_landmarks"
description: "Mark facial keypoints"
annotation_type: "image_annotation"
tools:
- landmark
labels:
- name: "left_eye"
color: "#3B82F6"
- name: "right_eye"
color: "#3B82F6"
- name: "nose"
color: "#10B981"
- name: "left_mouth"
color: "#F59E0B"
- name: "right_mouth"
color: "#F59E0B"여러 도구 사용
yaml
annotation_schemes:
- name: "mixed_annotation"
description: "Use boxes for objects and polygons for regions"
annotation_type: "image_annotation"
tools:
- bbox
- polygon
labels:
- name: "object"
color: "#3B82F6"
- name: "region"
color: "#10B981"키보드 단축키
| 키 | 동작 |
|---|---|
b | 바운딩 박스 도구 활성화 |
p | 폴리곤 도구 활성화 |
f | 자유 그리기 도구 활성화 |
l | 랜드마크 도구 활성화 |
1-9 | 레이블 선택 |
Delete | 선택한 어노테이션 삭제 |
Ctrl+Z | 실행 취소 |
Ctrl+Y | 다시 실행 |
+ / - | 확대/축소 |
데이터 형식
입력 데이터
데이터 파일에는 이미지 경로 또는 URL이 포함되어야 합니다.
json
[
{
"id": "img_001",
"image_url": "https://example.com/images/photo1.jpg"
},
{
"id": "img_002",
"image_url": "/data/images/photo2.png"
}
]설정에서 이미지 필드를 지정합니다.
yaml
item_properties:
id_key: id
text_key: image_url출력 형식
어노테이션에는 각 어노테이션의 기하 데이터가 포함됩니다.
json
{
"id": "img_001",
"annotations": {
"objects": [
{
"id": "ann_1",
"type": "bbox",
"label": "car",
"geometry": {
"x": 100,
"y": 150,
"width": 200,
"height": 100
}
},
{
"id": "ann_2",
"type": "polygon",
"label": "building",
"geometry": {
"points": [
[50, 50],
[150, 50],
[150, 200],
[50, 200]
]
}
}
]
}
}지원되는 이미지 형식
- JPEG / JPG
- PNG
- GIF
- WebP
분할 마스크
v2.2.0에서 신규 추가
fill, eraser, brush 도구를 사용하면 픽셀 단위의 분할 마스크 어노테이션이 가능합니다. 이 도구들은 정밀한 영역 경계가 필요한 시맨틱 분할 작업에 적합합니다.
yaml
annotation_schemes:
- name: "segmentation"
description: "Paint segmentation masks"
annotation_type: "image_annotation"
tools:
- fill
- eraser
- brush
labels:
- name: "foreground"
color: "#3B82F6"
- name: "background"
color: "#6B7280"
freeform_brush_size: 10| 키 | 동작 |
|---|---|
i | 채우기 도구 활성화 |
e | 지우개 도구 활성화 |
r | 브러시 도구 활성화 |
PDF/문서 바운딩 박스
v2.2.0에서 신규 추가
PDF 페이지와 문서 이미지에 바운딩 박스를 그립니다. instance_display의 pdf 표시 유형과 함께 사용하면 어노테이터가 PDF 문서의 개별 페이지에 박스를 그릴 수 있습니다.
yaml
instance_display:
fields:
- key: pdf_url
type: pdf
annotation_schemes:
- name: "document_regions"
description: "Draw boxes around figures and tables"
annotation_type: "image_annotation"
tools:
- bbox
labels:
- name: "figure"
color: "#3B82F6"
- name: "table"
color: "#10B981"
- name: "equation"
color: "#F59E0B"모범 사례
- 적절한 도구를 사용하세요 - 빠른 탐지에는 바운딩 박스, 정밀한 경계에는 폴리곤, 분할에는 채우기/브러시를 사용합니다
- 명확한 레이블을 정의하세요 - 서로 구분되고 겹치지 않는 카테고리를 사용합니다
- 어노테이션 한도를 설정하세요 -
min_annotations로 완전성을 보장합니다 - 확대/축소를 활성화하세요 - 고해상도 이미지의 세밀한 어노테이션에 필수적입니다
- 키보드 단축키를 사용하세요 - 어노테이션 속도를 크게 높입니다
- 레이블 색상을 지정하세요 - 어노테이션을 시각적으로 구분하기 쉬워집니다