Skip to content

Разметка изображений

Размечайте изображения в Potato ограничивающими рамками, полигонами, свободным рисованием и опорными точками. Есть зум, панорамирование, многометочная классификация и предразметка ИИ.

Система разметки изображений в Potato поддерживает несколько способов разметки для задач компьютерного зрения: детекции объектов, сегментации и разметки ключевых точек.

Поддерживаемые инструменты

ИнструментОписаниеДля чего
bboxПрямоугольные ограничивающие рамкиДетекция объектов
polygonМноготочечные полигоныСегментация экземпляров
freeformСвободное рисование от рукиНеправильные формы
landmarkТочечные маркерыДетекция ключевых точек
fillЗаливка на уровне пикселейМаски сегментации
eraserСтирание закрашенных областейИсправление масок сегментации
brushКистьТонкая сегментация

Базовая конфигурация

yaml
annotation_schemes:
  - name: "objects"

Параметры конфигурации

ПолеТипПо умолчаниюОписание
nameстрокаОбязательноУникальный идентификатор разметки
descriptionстрокаОбязательноИнструкция, которую видит разметчик
annotation_typeстрокаОбязательноДолжно быть "image_annotation"
toolsсписокОбязательноВключённые инструменты (bbox, polygon, freeform, landmark, fill, eraser, brush)
labelsсписокОбязательноМетки категорий для разметки
zoom_enabledбулевоtrueВключить управление зумом
pan_enabledбулевоtrueВключить перетаскивание изображения
min_annotationsцелое0Минимальное требуемое число разметок
max_annotationsцелоеnullМаксимально допустимое число разметок (null — без ограничений)
freeform_brush_sizeцелое5Размер кисти для свободного рисования
freeform_simplifyдробное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"

Сегментация экземпляров (полигоны)

yaml
annotation_schemes:
  - name: "segmentation"

Разметка ключевых точек (опорные точки)

yaml
annotation_schemes:
  - name: "facial_landmarks"

Несколько инструментов сразу

yaml
annotation_schemes:
  - name: "mixed_annotation"

Горячие клавиши

КлавишаДействие
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"
КлавишаДействие
iВключить заливку
eВключить ластик
rВключить кисть

Ограничивающие рамки в PDF и документах

Появилось в v2.2.0

Рисуйте рамки на страницах PDF и изображениях документов. В сочетании с типом отображения pdf в instance_display разметчик может рисовать рамки на отдельных страницах документов PDF.

yaml
instance_display:
  fields:
    - key: pdf_url
      type: pdf
 
annotation_schemes:
  - name: "document_regions"

Рекомендации

  1. Подбирайте инструмент под задачу — рамки для быстрой детекции, полигоны для точных границ, заливка и кисть для сегментации
  2. Задавайте чёткие метки — категории должны быть различимыми и не пересекаться
  3. Ставьте ограничения на число разметокmin_annotations помогает добиться полноты
  4. Включайте зум — без него не обойтись на детальной разметке изображений высокого разрешения
  5. Пользуйтесь горячими клавишами — они заметно ускоряют работу
  6. Задавайте цвета меткам — так разметку легче различать глазом