Немногие знают, что популярный open source инструмент Computer Vision Annotation Tool разрабатывали наши ребята в Нижегородском офисе Intel.

Весной Intel приостановил все деловые операции в России. Таким образом ребятам вырубили все доступы, а инструмент перестал обновляться.

Но не все так плохо! Сейчас команда CVAT сделала трансформацию, отделилась от Intel и продолжила развивать уже новый CVAT.ai своими силами.

Подробнее о том, как CVAT.ai будет развиваться, вы можете узнать из подкаста Антона Мальцева "Заметки Computer Vision инженера"

Мы в TrainingData.Solutions очень любим CVAT и постоянно им пользуемся. CVAT всегда позиционировал себя как глобальный международный инструмент для разметки данных. К сожалению, не все разметчики в России знают английский язык. Чтобы популяризировать CVAT и помочь русским разметчикам им пользоваться, мы решили перевести его инструкцию на русский язык. Надеюсь эта инструкция вам пригодится.

1.1 - Авторизация

  • Для начала нужно выполнить вход в инструмент CVAT.

Панель администрирования
Панель администрирования

Перейдите к панели администрирования Django. В ней можно выполнять следующие действия:

  • Создавать/редактировать/удалять пользователей

  • Управлять разрешениями пользователей и доступом к инструменту.

1.2 - Создание задачи аннотирования

Инструкции по созданию и конфигурированию задачи аннотирования.

Создайте задачу аннотирования, нажав на кнопку +, и выберите пункт Create new task на странице задач или на странице проекта.

Учтите, что задача будет создана для организации, которую вы выбрали на момент создания. Подробнее об организациях можно прочитать здесь.

Укажите параметры задачи:

Basic configuration (базовая конфигурация)

Name (название) - название создаваемой задачи.

Project (проект) - проект, с которым будет связана эта задача.

Labels (метки) - существует два способа работы с метками (они доступны, только если задача не связана с проектом):

  • Constructor (Конструктор) - это простой способ добавления и настройки меток. Для добавления новой метки нажмите на кнопку Add label

Можно указывать название метки в поле Label name и выбрать цвет для каждой метки.

При необходимости можно добавить атрибут и задать его свойства, нажав на Add an attribute:

Здесь доступны следующие действия:

  1. Задание имени атрибута.

  2. Выбор способа отображения атрибута:

    • Select — раскрывающийся список значений

    • Radio — используется, когда нужно выбрать только один вариант из нескольких предлагаемых.

    • Checkbox — используется, когда нужно выбрать из нескольких предлагаемых вариантов любое их количество.

    • Text — используется, когда атрибут вводится как текст.

    • Number — используется, когда атрибут вводится как число.

  3. Задание значений для атрибутов. Значения можно разделять, нажимая клавишу Enter. Вводимое значение отображается как отдельный элемент, который можно удалить клавишей Backspace или нажав на кнопку закрытия (x). Если указан способ отображения атрибута Text или Number, то по умолчанию введённое значение будет отображаться как текст (т. е. можно указывать формат текста).

  4. Флажок Mutable обозначает, будет ли атрибут меняться от кадра к кадру.

  5. Удалить атрибут можно, нажав на кнопку закрытия (x).

Для добавления новых меток нажмите на кнопку Continue. Если вам нужно отменить добавление метки, нажмите на кнопку Cancel. После добавления всех необходимых меток нажмите на кнопку Done. После нажатия на Done добавленные метки будут отображаться как отдельные элементы другого цвета. Редактировать или удалять метки можно кнопками Update attributes (Обновить атрибуты) или Delete label (Удалить метку).

  • Raw - режим работы с метками для опытного пользователя. Raw представляет данные меток в формате json с возможностью редактирования и копирования меток в виде текста. Кнопка Done применяет изменения, а кнопка Reset отменяет изменения. 

Выбор файлов

Нажмите на вкладку My computer, чтобы выбрать файлы для аннотирования со своего PC. Если выбрать вкладку Connected file share, то можно выбрать файлы для аннотирования из своей сети. При выборе Remote source , отобразится поле, в котором можно ввести список URL (по одному URL за раз). Если вы загружаете видео или массив данных с изображениями и выберете опцию Use cache, то сможете присоединить файл manifest.jsonl. Инструкции по его подготовке можно найти здесь. При выборе вкладки Cloud Storage можно будет выбрать облачное хранилище (для этого необходимо ввести имя облачного хранилища), после чего выбрать файл манифеста и нужные файлы. Подробную информацию о подключении облачного хранилища можно прочитать здесь.

Advanced configuration (Расширенная конфигурация)

Sorting method

Способ сортировки данных. Неприменимо для видео. Например, последовательность файлов 2.jpeg, 10.jpeg, 1.jpeg после сортировки будет выглядеть вот так:

  • lexicographical: 1.jpeg, 10.jpeg, 2.jpeg

  • natural: 1.jpeg, 2.jpeg, 10.jpeg

  • predefined: 2.jpeg, 10.jpeg, 1.jpeg

Use zip chunks

Принудительно использовать zip-блоки (zip chunks) как сжатые данные. Актуально только для видео.

Use cache

Эта опция определяет способ работы с данными. Установите этот флажок, чтобы переключиться на "обработку данных на лету", что уменьшит время создания задачи (благодаря подготовке блоков при получении запросов) и сохранит данные в кэш ограниченного размера с политикой устранения самых непопулярных элементов. Подробнее можно прочитать здесь.

Image Quality

Эту опцию можно использовать для задания качества загружаемых изображений. Опция позволяет ускорить загрузку массивов данных высокого разрешения. Можно использовать значения от 5 (почти полностью сжатые изображения) до 100 (несжатые изображения).

Overlap Size

Эту опцию можно использовать для создания перекрывающихся сегментов. Опция делает треки непрерывными от одного сегмента к другому. Её следует использовать для режима интерполяции. Для использования этого параметра существует множество вариантов:

  • Для задачи интерполяции (последовательности видеокадров). При аннотировании ограничивающего прямоугольника (bounding box) на двух соседних сегментах они будут объединены в один bounding box. Если перекрытие равно нулю или при некачественной аннотации в соседних сегментах сдампленного файла аннотации, будет использоваться несколько треков, по одному для каждого сегмента, соответствующего объекту.

  • Для задачи аннотирования (отдельные изображения). Если объект существует в накладывающихся друг на друга сегментах, перекрытие больше нуля и аннотация в соседних сегментах достаточно хороша, то он будет автоматически объединён в один объект. Если перекрытие равно нулю или или при некачественной аннотации в соседних сегментах сдампленного файла аннотации у одного объекта будет несколько bounding box. Таким образом, пользователь аннотирует объект в первом сегменте, затем аннотирует тот же объект во втором сегменте и если всё сделано правильно, то в аннотациях будет использоваться один трек. Если аннотации в разных сегментах (в кадрах с перекрытием) сильно отличаются, то вы получите две фигуры одного объекта. Эта функциональность работает только для ограничивающих прямоугольников. Многоугольники, полилинии и точки не поддерживают автоматическое объединение в сегментах с перекрытием, даже если параметр перекрытия не равен нулю, а совпадение между соответствующими фигурами в соседних сегментах идеально.

Segment size

Эта опция используется для разделения большого массива данных на несколько сегментов меньшего размера. Например, одну работу (job) не могут аннотировать несколько разметчиков (это не поддерживается). Благодаря использованию "segment size" можно создать несколько работ для одной задачи аннотирования. Это помогает распараллеливать процесс аннотирования данных.

Start frame

Кадр, с которого начинается видео в задаче.

Stop frame

Кадр, на котором завершается видео в задаче.

Frame Step

Эта опция используется для фильтрации кадров видео. Например, если ввести 25, то будет оставаться каждый двадцать пятый кадр или каждое двадцать пятое изображение.

Chunk size

Задаёт количество кадров, упаковываемых в блок (chunk) при отправке от клиента к серверу. Если оставить поле пустым, сервер задаёт значение автоматически.

Рекомендуемые значения для разных разрешений:

  • 1080p или менее: 36

  • 2k или менее: 8 - 16

  • 4k или менее: 4 - 8

  • Более: 1 - 4

1.3 - Страница Jobs

На странице работ (jobs) пользователи (например, в должности worker) могут просматривать закреплённые за ними работы без наличия доступа к странице задач (task), а также отслеживать свой прогресс, сортировать и применять фильтры к списку работ.

На странице работ в виде плиток представлен список работ (каждая плитка - одна работа). Каждый элемент содержит следующую информацию:

  • job ID (идентификатор работы)

  • размерность (2D или 3D)

  • превью

  • stage (этап) и state (состояние)

  • при наведении курсора на элемент отображается следующая информация:

    • размер

    • пользователь, за которым закреплена работа

  • меню для перехода к задаче, проекту или баг-трекеру.

Чтобы открыть работу в новой вкладке, нажмите на работу с зажатой клавишей Ctrl.

В верхнем левом углу есть панель поиска, в которой можно искать по ответственному за работу, этапу, состоянию и т. п. В верхнем правом углу находятся сортировкабыстрые фильтры и фильтр.

Filter

Применение фильтра отключает быстрый фильтр.

Фильтр похож на фильтры для аннотации: можно создавать правила по properties (свойствам), operators (операторам) и значениям, группировать правила в группы. Подробнее см. здесь. Узнать больше о выборе даты и времени можно здесь.

Для сброса всех фильтров нужно нажать Clear filters.

Поддерживаемые списком работ свойства:

Свойства

Поддерживаемые значения

Описание

State

все названия состояний

Состояние работы
(можно менять в меню внутри работы)

Stage

все названия этапов

Этап (stage) работы
(задаётся в раскрывающемся списке на странице задач (task))

Dimension

2D или 3D

Зависит от формата данных
(подробнее см. в разделе о создании задачи аннотирования)

Assignee

имя пользователя

Assignee - это пользователь, работающий над работой
(задаётся на странице задач)

Last updated

дата и время последнего изменения (или диапазон значений)

Дату можно вводить в формате дд.ММ.ггггyyyy ЧЧ:мм или выбором даты в окне, появляющемся при нажатии на поле ввода

ID

число или диапазон job ID

Task ID

число или диапазон task ID

Project ID

число или диапазон project ID

Task name

название задачи

Задаётся при создании задачи, можно изменять (см. здесь)

Project name

название проекта

Задаётся при создании проекта, можно изменять (см. здесь)

1.4 - Страница Tasks

Внешний вид страницы Tasks
Внешний вид страницы Tasks

Страница задач (task) содержит элементы, каждый из которых соответствует отдельной задаче. Задачи отсортированы в порядке создания. Каждый элемент содержит следующую информацию: название задачи, превью, полосу прогресса, кнопку Open и меню Actions. Каждая кнопка отвечает за отдельную функцию в меню Actions:

  • Export task dataset — скачивание аннотаций или аннотаций и изображений в определённом формате. Более подробная информация представлена в разделе об экспорте/импорте массивов данных.

  • Upload annotation — загрузка аннотаций в определённом формате. Более подробная информация представлена в разделе об экспорте/импорте массивов данных.

  • Automatic Annotation — автоматическое аннотирования при помощи тулкита OpenVINO. Наличие этой возможности зависит от того, как был собран инстанс CVAT.

  • Backup task — создание резервной копии этой задачи в архиве zip. Подробнее см. в разделе о резервном копировании.

  • Move to project — перемещение задачи в проект (можно использовать для перемещения задачи из одного проекта в другой). Следует учесть, что в процессе перемещения атрибуты сбрасываются. В случае несоответствия меток можно создавать или удалять необходимые метки в проекте/задаче. Некоторые метки задач можно сопоставить с метками целевого проекта.

  • Delete — удаление задачи.

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

Filter

Применение фильтра отключает быстрый фильтр.

Фильтр работает аналогично фильтрам аннотирования, можно создавать правила по properties (свойствам), operators (операторам) и значениям, группировать правила в группы. Подробнее см. здесь. Узнать больше о выборе даты и времени можно здесь.

Для сброса всех фильтров нужно нажать Clear filters.

Поддерживаемые списком задач свойства:

Свойства

Поддерживаемые значения

Описание

Dimension

2D или 3D

Зависит от формата данных (подробнее см. в разделе о создании задачи аннотирования)

Status

annotationvalidation или completed

Data

videoimages

Зависит от формата данных
(подробнее см. в разделе о создании задачи аннотирования)

Subset

testtrainvalidation или собственное подмножество

Подробнее см. в разделе о подмножествах

Assignee

имя пользователя

Assignee - это пользователь, работающий над работой
(задаётся на странице задач)

Owner

имя пользователя

Пользователь, владеющий проектом, задачей или работой

Last updated

дата и время последнего изменения (или диапазон значений)

Дату можно вводить в формате дд.ММ.ггггyyyy ЧЧ:мм или выбором даты в окне, появляющемся при нажатии на поле ввода

ID

число или диапазон job ID

Project ID

число или диапазон project ID

Name

название

На странице задач - название задачи,
на странице проектов - название проекта

Project name

название проекта

Указывается при создании проекта, может изменяться (см. здесь)


Для перехода к подробному описанию задачи (task details) нажмите кнопку Open.

1.5 - Task details

Task details - это страница задачи, на которой содержится превью, полоса прогресса, подробное описание задачи (указываемое при создании задачи) и раздел с работами (jobs).

  • На этой странице доступны следующие действия:

    1. Изменение заголовка задачи.

    2. Открытие меню Actions.

    3. Смена системы отслеживания ошибок (issue tracker) или её открытие, если она выбрана.

    4. Изменение меток (доступно только если задача не связана с проектом). Возможно добавление новых меток и атрибутов для существующих меток в режиме Raw или Constructor. При нажатии на Copy метки копируются в буфер обмена.

    5. Assigned to — используется для закрепления задачи за пользователем. Начните ввод имени пользователя и/или выберите нужного человека из раскрывающегося списка. В списке пользователей отображаются только пользователи организации, в которой была создана задача.

    6. Dataset Repository

      • Ссылка на репозиторий

      • Статус синхронизации с репозиторием массива данных. При нажатии на статус будет отправлена текущая аннотация. Она имеет несколько состояний:

        • Synchronized - задача синхронизована, то есть создан пулл реквизитов с текущим файлом аннотаций.

        • Merged - объединён пулл-реквест с актуальным файлом аннотаций.

        • Synchronize - выделено красным цветом, аннотации не синхронизованы.

      • Используйте раскрывающийся список форматов, в котором могут быть синхронизованы аннотации.

      • Поддержка больших файлов, позволяющая использовать LFS.

  • Jobs — список всех работ для конкретной задачи. Здесь можно найти следующие данные:

  • Job - название работы с ссылкой на него.

  • Frames - интервал кадров.

  • Этап работы. Этап выбирается в раскрывающемся списке. Существует три этапа: annotationvalidation и acceptance. Это значение влияет на полосу прогресса задачи.

  • Состояние работы. Состояние может изменяться ответственным пользователем в меню внутри работы. Существует несколько возможных состояний: newin progressrejectedcompleted.

  • Started on - дата начала работы.

  • Duration - время, в течение которого выполняют работу.

  • Assignee - это пользователь, выполняющий работу. Можно начать вводить имя пользователя и/или выбрать нужного пользователя в раскрывающемся списке.

  • Reviewer - пользователь, которому поручили выполнять проверку, подробнее см. в разделе о проверке.

  • Copy. При нажатии на Copy список работ копируется в буфер обмера. Список работ содержит прямые ссылки на работы.

Можно выполнять фильтрацию или сортировку работ по статусу, ответственному лицу и проверяющему.

Чтобы начать процесс аннотирования, перейдите по ссылке внутри раздела Jobs. В некоторых случаях ссылок будет несколько. Это зависит от размера задачи, а также параметров Overlap Size и Segment Size. Для повышения удобства загружается только первый блок (chunk) из нескольких кадров и вы сможете начать разметку первых изображений. Другие кадры будут загружаться в фоновом режиме.

Основной интерфейс пользователя
Основной интерфейс пользователя

1.6 - Интерфейс инструмента аннотирования

Инструмент состоит из следующих элементов:

  • Header (заголовок) - закреплённый заголовок, используемый для навигации по разделам CVAT и параметрам аккаунтов;

  • Top panel (верхняя панель) — содержит кнопки навигации, основные функции и доступ к меню;

  • Workspace (рабочее пространство) — пространство, в котором отображаются изображения;

  • Боковая панель Controls — содержит инструменты для перемещения по изображению, зума, создания форм и редактирования треков (объединения, разделения, группировки);

  • Боковая панель Objects — содержит фильтр меток, два списка: объектов (в кадре) и меток (объектов в кадре), а также параметры внешнего вида.

Всплывающие сообщения

Пользователь CVAT получает в правом верхнем любой страницы всплывающие сообщения. Всплывающие сообщения могут содержать полезную информацию, ссылки или сообщения об ошибках.

Информационное сообщение

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

Всплывающие рекомендации

Открытие задачи

После создания задачи можно сразу же открыть её, нажав на Open task. Подробнее о создании задачи можно узнать здесь.

Продолжение работы с кадра, на котором пользователь закончил

При открытии работы, которую ранее выполнял пользователь, он получает всплывающее сообщение с предложением продолжить с кадра, который был открыт перед закрытием вкладки.

Сообщения об ошибках

При выполнении недопустимых действий пользователь может получить сообщение об ошибке. Сообщение может содержать информацию об ошибке или предложение открыть консоль браузера (горячая клавиша F12) для получения дополнительной информации. Если вы обнаружите баг, который не можете устранить сами, то можно создать issue в GitHub.

1.7 - Основы навигации

  1. Используйте показанные ниже стрелки для перемещения к следующему/предыдущему кадру. Используйте ползунок полосы прокрутки для прокрутки кадров. Почти все кнопки имеют горячие клавиши. Чтобы получить подсказку о горячей клавише, наведите курсор мыши на элемент UI.

  1. Для навигации по изображению используйте кнопку на боковой панели Controls. Также можно перемещать/сдвигать изображение, удерживая левую клавишу мыши в области без аннотированных объектов. При нажатии на колёсико мыши все аннотированные объекты игнорируются. В противном случае вместо самого изображения может переместиться выделенный ограничивающий прямоугольник.

  1. Можно использовать кнопку на боковой панели Controls для увеличения нужной области. Воспользуйтесь кнопкой Fit the image для выравнивания изображения под размер рабочего пространства. Также можно использовать колёсико мыши для масштабирования изображения (зум изображения будет выполняться примерно под текущей позицией курсора).

1.8 - Top Panel

Элементы управления, расположенные в верхней панели инструмента аннотирования.


Кнопка Menu

Кнопка Menu

Это главное меню инструмента аннотирования. Его можно использовать для скачивания, загрузки и удаления аннотаций.

Функции кнопок:

  • Upload Annotations — загружает аннотации в задачу.

  • Export as a dataset — скачивает массив данных из задачи в одном из поддерживаемых форматов. Также можно ввести собственное название и установить флажок Save images, если нужно, чтобы массив данных содержал изображения.

  • Remove Annotations — открывает окно подтверждения; при нажатии на Delete аннотация текущей работы будет удалена. При нажатии на Select range можно удалить аннотации из указанного интервала кадров. Если установить флажок Delete only keyframe for tracks, то в выбранном интервале из треков будут удалены только ключевые кадры.

  • Open the task — открывает страницу с подробным описанием задачи.

  • Change job state - изменяет состояние работы (newin progressrejectedcompleted).

  • Finish the job/Renew the job - изменяет этап и состояние работы соответственно на на acceptance и completed / annotation и new.

Save Work

Сохраняет аннотации для текущей работы. Кнопка имеет индикацию процесса сохранения.

Кнопки Undo и Redo

Кнопки для отмены и возврата действий.


Done

Используется для завершения создания объекта. Эта кнопка появляется только при создании проекта.


Block

Используется для приостановки автоматического создания линий при отрисовке многоугольника при помощи OpenCV Intelligent scissors. Также используется для откладывания запросов сервера при создании объекта с помощью AI Tools. Когда блокировка включена, кнопка становится синей.


Player

Переход к первому/последнему кадру.

Переход к следующему/предыдущему кадру с заданным шагом. Горячие клавиши: V — шаг назад, C — шаг вперёд. По умолчанию шаг составляет 10 кадров (это значение можно изменить в Account Menu —> Settings —> Player Step).

Кнопка перехода к следующему/предыдущему кадру имеет возможность настройки. Для настройки нажмите правой клавишей мыши на кнопку и выберите один из трёх вариантов:

  1. Вариант по умолчанию - переход к следующему/предыдущему кадру (с шагом в 1 кадр).

  2. Переход к следующему/предыдущему кадру, в котором есть объекты (в частности, отфильтрованные). Подробности использования см. в разделе о фильтре.

  3. Переход к следующему/предыдущему кадру, в котором отсутствуют аннотации. Используйте эту опцию в случае необходимости быстрого поиска пропущенных кадров.

Горячие клавиши: D - предыдущий, F - следующий.

Воспроизведение последовательности кадров или набора изображений. Горячая клавиша: Space (можно изменить в Account Menu —> Settings —> Player Speed).

Переход к конкретному кадру. Для фокусировки на элементе нажмите ~.


Fullscreen Player

Режим полноэкранного плеера. Горячая клавиша - F11.

Info

Открывает информацию о работе.

Overview:

  • Assignee - пользователь, за которым закреплена работа.

  • Reviewer – пользователь, которому поручено выполнять проверку, подробнее см. в разделе о проверке.

  • Start Frame - номер первого кадра в этой работе.

  • End Frame - номер последнего кадра в этой работе.

  • Frames - общее количество кадров в работе.

Annotations statistics:

В этой таблице перечислены созданные фигуры, отсортированные по меткам (например, vehicle, person) и типу аннотации (фигура, трек), а также количество обработанных вручную и интерполированных кадров.

UI switcher

Переключение между режимами интерфейса пользователя.

1.9 - Боковая панель Controls

Навигация

Блок навигации - содержит инструменты для перемещения и вращения изображений.

Cursor (Esc)- базовый инструмент редактирования аннотаций.

Move the image - инструмент перемещения изображения без возможности редактирования.

Rotate - две кнопки для поворота текущего кадра по часовой (Ctrl+R) и против часовой стрелки (Ctrl+Shift+R). В настройках можно включить Rotate all images, чтобы поворачивать все изображения в работе.


Зум

Блок Zoom - содержит инструменты для зума изображений.

Fit image - подстраивает размер изображения под размер рабочего пространства.
Горячая клавиша - двойной щелчок по изображению.

Select a region of interest - зум выбранной области.
Этот инструмент можно использовать для быстрого зума конкретной части кадра.


Shapes (Фигуры)

Блок Shapes - содержит все инструменты для создания фигур.

AI Tools (ссылка на раздел: AI Tools)

OpenCV (ссылка на раздел: OpenCV)

Rectangle (прямоугольник) (ссылка на раздел: Shape modeTrack mode; Drawing by 4 points)

Polygon (многоугольник) (ссылка на раздел: Annotation with polygonsTrack mode with polygons)

Polyline (полилиния) (ссылка на раздел: Annotation with polylines)

Points (точки) (ссылка на раздел: Annotation with points)

Ellipses (эллипсы) (ссылка на раздел: Annotation with ellipses)

Cuboid (кубоид) (ссылка на раздел: Annotation with cuboids)

Tag (тэг) (ссылка на раздел: Annotation with tags)

Open an issue (открыть issue) (ссылка на раздел: Review, инструмент доступен только в режиме проверки)


Редактирование

Блок Edit - содержит инструменты для редактирования треков и фигур.

Merge Shapes (M) - включает/отключает режим слияния фигур (ссылка на разделы: Track mode (basics))

Group Shapes (G) - включает/отключает режим группировки фигур (ссылка на разделы: Shape grouping).

Split - разделяет трек (ссылки на раздел: Track mode (advanced))


1.10 - Боковая панель Objects

Сокрытие боковой панели Objects

Hide - кнопка, скрывающая боковую панель Objects.

Объекты

Поле ввода Filter

Подробное руководство по использованию фильтров представлено здесь.

Список объектов

  • Switch lock property for all - переключает свойство "заблокирован" для всех объектов в кадре.

  • Switch hidden property for all - переключает свойство "скрытый" для всех объектов в кадре.

  • Expand/collapse all - сворачивает/разворачивает поле подробностей для всех объектов в кадре.

  • Sorting - сортировка списка объектов: по времени обновления, ID по возрастанию, ID по убыванию.

В боковой панели Objects находится список доступных объектов для текущего кадра. Ниже показаны примеры, как может выглядеть список:

Shape mode (режим фигур):

Track mode (режим треков):


Тип фигуры можно изменить, выбрав свойство Label. Например, оно может выглядеть так:

Меню действий объекта

Меню действий вызывается кнопкой:

Меню действий содержит следующие пункты:

  • Create object URL - помещает ссылку на объект в буфер обмена. После открытия ссылки этот объект будет отфильтрован.

  • Make a copy- копирует объект. Горячие клавиши: Ctrl + CCtrl + V.

  • Propagate - копирует форму нескольких кадров, вызывает диалоговое окно, в котором можно указать количество копий или кадр, в который вы хотите скопировать объект. Горячая клавиша: Ctrl + B.

  • To background - перемещает объект на задний план. Горячие клавиши: -,_.

  • To foreground - перемещает объект на передний план. Горячие клавиши: +,=.

  • Change instance color- выбор цвета при помощи палитры цветов (доступно только в instance mode).

  • Remove - удаляет объект. Горячие клавиши: Del, Shift+Del.

Фигуру можно заблокировать, чтобы предотвратить её случайное изменение или перемещение. Горячая клавиша блокировки объекта: L.

Можно указать, что фигура перекрыта (Occluded) другой фигурой. Горячая клавиша: Q. Такие фигуры имеют пунктирные границы.

Можно менять отображение объекта в кадре (показать или скрыть).

Switch pinned property - при включении фигуру невозможно будет перетаскивать.

Tracker switcher - включение/отключение трекинга для объекта.

При нажатии на кнопку Details сворачивается или разворачивается поле со всеми атрибутами объекта.

Labels

В этой вкладке можно блокировать или скрывать объекты с определённой меткой. Для изменения цвета метки нужно перейти на страницу задач и выбрать цвет, нажав на кнопку редактирования; таким образом вы измените цвет метки для всех работ в задаче.

Быстрое изменение меток

Можно менять метку объекта при помощи горячих клавиш. Для этого необходимо назначить меткам цифру (от 0 до 9). По умолчанию цифры 1, 2…0 назначены первым десяти меткам. Для назначения цифры нажмите на кнопку справа от имени метки на боковой панели.

После этого вы сможете назначать объекту соответствующую метку, наведя на него курсор и нажав Ctrl + Num(0..9).

Если курсор не будет находиться над объектом, то при нажатии Ctrl + Num(0..9) выбранная метка будет использоваться по умолчанию, и следующему созданному (при помощи клавиши N) объекту будет автоматически назначена эта метка.

Внешний вид

Опции Color By

Изменяют цветовую схему аннотаций:

  • Instance — каждая фигура будет иметь случайный цвет

  • Group — каждая группа фигур будет иметь собственный случайный цвет, а несгруппированные фигуры будут белыми

  • Label — каждая метка (например, car, person) будет иметь собственный случайный цвет

Можно изменить любой случайный цвет, указав на нужный прямоугольник в кадре или на боковой панели Objects.

Ползунок Fill Opacity

Меняет непрозрачность всех фигур в аннотации.

Ползунок Selected Fill Opacity

Меняет непрозрачность заливки выбранного объекта. Менять непрозрачность можно в случае прямоугольников, многоугольников и кубоидов.

Флажок Outlines borders

Можно изменять цвет границы отдельной фигуры, нажав на значок пипетки.

Флажок Show bitmap

При включении все фигуры отображаются белым цветом, а фон - чёрным.

Флажок Show projections

Включает/отключает отображение вспомогательных линий перспективы. Применяется только для кубоидов.

1.11 - Workspace

1.11 - Workspace

Это основное поле, в котором происходит отрисовка и редактирование объектов. В дополнение к рабочему пространству в нём есть следующие функции:

  • При нажатии правой клавиши мыши на объекте вызывается Object card (карточка объекта) - элемент, содержащий все необходимые элементы управления для изменения метки и атрибутов объекта, а также меню действий.

  • Нажатие правой клавиши мыши на точке удаляет её.

  • Z-axis slider - позволяет переключать слои аннотации, скрывая верхние слои (ползунок включен, если в кадре есть несколько слоёв по оси z). Этот элемент имеет кнопку для добавления нового слоя. При нажатии на неё добавляется новый слой и выполняется переключение на него. Объекты между слоями можно перемещать клавишами + и -.

  • Image settings panel -  используется для настройки сетки и яркости, контрастности и насыщенности изображения.

    • Отображает Grid (сетку), позволяет менять размер сетки, выбирать цвет и прозрачность:

  • Настраивает Brightness/Contrast/Saturation (яркость/контрастность/насыщенность) слишком ярких или тёмных изображений при помощи F3  (меняет параметры отображения, но не само изображение).

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

  • Shift+B+=/Shift+B+- - яркость.

  • Shift+C+=/Shift+C+- - контрастность.

  • Shift+S+=/Shift+S+- - насыщенность.

Reset color settings - сбрасывает настройки цвета на значения по умолчанию.

1.14 - Settings

Чтобы открыть настройки, откройте меню пользователя в заголовке и выберите пункт Settings или нажмите F2.

Меню настроек Settings состоит из двух вкладок:

Во вкладке Player доступны следующие действия:

  • Управление шагом горячих клавиш C и V.

  • Управление скоростью Space/кнопки Play.

  • Выбор цвета фона холста. Можно выбрать цвет фона или ввести его вручную (в формате RGB или HEX).

  • Reset zoom - отображает каждое изображение в полном размере или с тем же уровнем зума, что и предыдущее (по умолчанию это включено для interpolation mode и отключено для annotation mode).

  • Флажок Rotate all images — переключение между поворотом всех кадров и отдельного кадра.

  • Флажок Smooth image — сглаживание изображения при зуме.

Smooth image включено:

Smooth image отключено:


Во вкладке Workspace доступны следующие действия:

  • Флажок Enable auto save — включение автоматического сохранения, по умолчанию выключено.

  • Поле ввода Auto save interval (min) — интервал между автоматическими сохранениями в минутах, по умолчанию 15 минут.

  • Флажок Show all interpolation tracks — показывает скрытые объекты на боковой панели для каждого интерполированного объекта (по умолчанию отключен).

  • Always show object details - отображает текст объекта на холсте не только когда объект активирован:

  • Content of a text - настройка для составления информации об объекте:

    • ID - идентификатор объекта.

    • Attributes - атрибуты объекта.

    • Label - метка объекта.

    • Source - источник создания объектов (MANUAL- вручную, AUTO - автоматически или SEMI-AUTO - полуавтоматически).

    • Descriptions - описание атрибутов.

  • Position of a text - выбор режима расположения текста:

    • Auto - информация об объекте будет размещаться там, где есть пустое пространство.

    • Center - информация об объекте будет встроена в соответствующий объект, если это возможно.

  • Font size of a text - задаёт размер текста информации об объектах.

  • Automatic bordering - включает автоматические границы для многоугольников и полилиний во время отрисовки/редактирования. Подробнее см. в разделе про аннотирование при помощи многоугольников.

  • Intelligent polygon cropping - активирует интеллектуальное обрезание при редактировании многоугольника (подробнее см. в разделе о редактировании многоугольника)

  • Поле ввода Attribute annotation mode (AAM) zoom margin — задаёт границы (в пикселях) для фигуры в attribute annotation mode (режиме аннотирования атрибутов).

  • Нажмите на Save для сохранения настроек (настройки будут сохранены на сервере и не изменятся после обновления страницы). Нажмите кнопку Cancel или клавишу F2 для возврата к аннотированию.

  • Default number of points in polygon approximation - при помощи этой настройки можно выбирать количество точек в многоугольнике по умолчанию. Работает для бессерверных взаимодействий и OpenCV scissors.

1.15 - Types of shapes

1.15 - Типы фигур

Пользователь может аннотировать изображения различными типами фигур:

  • Rectangle (прямоугольник) или Bounding box (ограничивающий прямоугольник)

  • Polygon (многоугольник)

  • Polyline (полилиния)

  • Points (точки)

  • Ellipse (эллипс)

  • Cuboid (кубоид)

  • Cuboid in 3d task (кубоид в 3D-задаче)

  • Tag (тег)

Вот как они выглядят:

 

 

 

 

Тег не имеет фигуры в рабочем пространстве, однако отображается в боковой панели Objects.

1.16 - Shape mode (основы)

Примеры использования и основные операции, доступные при аннотировании в shape mode (режиме фигур).

Примеры использования:

  • Создание новых аннотаций для набора изображений.

  • Добавление/изменение/удаление объектов в существующих аннотациях.

  1. Необходимо выбрать на боковой панели Controls кнопку Rectangle:

Прежде чем начинать разметку, выберите нужную метку (Label) (должна быть указана вами при создании задачи) и способ отрисовки (Drawing Method) (двумя или четырьмя точками):

  1. Создание новой аннотации в Shape mode:

    • Создайте отдельный Rectangle (прямоугольник), нажав на Shape.

  • Выберите конечные точки. Ваш первый прямоугольник готов!

  • Подробнее о создании прямоугольника можно узнать здесь.

  • Можно настраивать границы и расположение прямоугольника с помощью мыши. Размер прямоугольника показан в правом верхнем углу, его можно узнать, нажав на любую точку фигуры. Также можно отменить свои действия горячей клавишей Ctrl+Z или повторить их горячей клавишей Shift+Ctrl+Z или Ctrl+Y.

  1. Можно просматривать Object card (карточку объекта) в боковой панели Objects или открыть её, нажав на объект правой клавишей мыши. Можно изменять атрибуты в разделе Details. Также можно выполнять основные операции или удалять объект, нажав на кнопку Action menu (меню действий).

  1. На рисунке ниже показан пример полностью аннотированного кадра с несколькими фигурами.

Подробнее об этом можно прочитать в разделе Shape mode (advanced).

1.17 - Track mode (основы)

Примеры использования и основные операции, доступные при аннотировании в Track mode.

Примеры использования:

  • Создание новых аннотаций для последовательности кадров.

  • Добавление/изменение/удаление объектов для существующих аннотаций.

  • Редактирование треков, слияние нескольких прямоугольников в один трек.

  1. Как и в Shape mode, необходимо выбрать Rectangle в боковой панели, а в появившейся форме выбрать нужные Label (метку) и Drawing method (способ отрисовки).

  1. Создание трека объекта (в качестве примера используем выбранный легковой автомобиль):

    • Создайте Rectangle в Track mode, нажав на Track.

  • В Track mode прямоугольник будет автоматически интерполирован на следующие кадры.

  • Велосипедист начинает двигаться на кадре 2270. Давайте пометим этот кадр как key frame (ключевой кадр). Для этого можно нажать клавишу K или нажать на кнопку со звёздочкой (см. скриншот ниже).

  • Если объект начинает менять своё местоположение, вам нужно изменить прямоугольник там, где это происходит. Необязательно менять прямоугольник в каждом кадре, просто измените несколько ключевых кадров, а кадры между ними будут интерполированы автоматически.

  • Давайте перейдём на 30 кадров вперёд и настроим границы объекта. См. пример ниже:

  • После этого прямоугольник объекта будет автоматически изменён в кадрах с 2270 по 2300:

  1. Когда аннотируемый объект пропадает или становится слишком маленьким, нужно завершить трекинг. Необходимо выбрать свойство Outside, горячая клавиша O.

  1. Если объект невидим в паре кадров, а потом снова появляется, то можно использовать функцию Merge для объединения нескольких треков в один.

  • Создайте треки для моментов, когда велосипедист видим:

  • Нажмите кнопку Merge или клавишу M, а затем щёлкните на любой прямоугольник в первом треке и на любой прямоугольник во втором треке, и так далее:

  • Нажмите на кнопку Merge или клавишу M, чтобы применить изменения.

  • Готовая аннотированная последовательность кадров в Interpolation mode может выглядеть так:

Подробнее см. в разделе Track mode (advanced).

1.19 - Attribute annotation mode (основы)

Примеры использования и основные операции, доступные в attribute annotation mode (режиме аннотирования атрибутов).

  • В этом режиме можно редактировать атрибуты с быстрой навигацией между объектами и кадрами при помощи клавиатуры. Откройте раскрывающийся список в верхней панели и выберите Attribute annotation Mode.

  • В этом режиме панель превращается в специальную панель:

  • Активный атрибут выделен красным цветом. В данном случае это gender . В нижней панели представлены все возможные горячие клавиши для изменения атрибута. Нажмите на клавиатуре клавишу 2, чтобы назначить значение (female) атрибуту или выберите его из раскрывающегося списка.

  • Нажмите стрелку вниз/стрелку вверх на клавиатуре или щёлкните кнопки в UI для перехода к следующему/предыдущему атрибуту. В данном случае после нажатия на стрелку вниз пользователь сможет отредактировать атрибут Age.

  • Используйте клавиши стрелки вправо/стрелки влево для перемещения к предыдущему/следующему изображению с аннотацией.

Чтобы просмотреть все горячие клавиши, доступные в режиме аннотирования атрибутов, нажмите клавишу F2. Подробнее см. в разделе Attribute annotation mode (advanced).

1.20 - Vocabulary

1.20 - Словарь

Перечень терминов, относящихся к аннотированию в CVAT.

Label

Label (метка) - это тип аннотируемого объекта (например, person, car, vehicle и т. п.)


Attribute

Attribute (атрибут) - это свойство аннотируемого объекта (например, color, model, quality и т. п.). Существует два типа атрибутов:

Unique

Unique (уникальный) тип неизменен и не может меняться от кадра к кадру (например, age, gender, color и т. п.)

Temporary

Temporary (временный) тип изменяем и может изменяться в любом кадре (например, quality, pose, truncated и т. п.)


Track

Track (трек) - это множество фигур на разных кадрах, соответствующее одному объекту. Треки создаются в Track mode


Annotation

Annotation (аннотация) - это множество фигур и треков. Существуют различные типы аннотаций:

  • Manual (ручная) создаётся пользователем

  • Semi-automatic (полуавтоматическая) создаётся в основном автоматически, однако пользователь указывает некие данные (например, интерполяция)

  • Automatic (автоматическая) создаётся автоматически, без участия человека


Approximation

Approximation (аппроксимация) позволяет уменьшить количество точек в многоугольнике. Может использоваться для уменьшения размера файла аннотаций и упрощения редактирования многоугольников.


Trackable

Трекинг объекта Trackable будет выполняться автоматически, если предыдущий кадр был последним ключевым кадром объекта. Подробнее в разделе Trackers.


Mode (режим)

Interpolation (интерполяция)

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

Связанные разделы:

Annotation (аннотирование)

Режим для аннотирования изображений, в котором используются объекты-фигуры.

Связанные разделы:


State

Состояние работы. Состояние может изменяться пользователем, за которым закреплена работа, в меню внутри работы. Существует несколько возможных состояний: newin progressrejectedcompleted.


Stage

Этап работы. Этап указывается в раскрывающемся списке на странице Tasks. Существует три этапа: annotationvalidation иacceptance. Это значение влияет на полосу прогресса задачи.


Subset

Проект может иметь несколько subset (подмножеств). Подмножества - это группы для задач, которые упрощают работу с массивом данных. Подмножества разделяются на testtrainvalidation и custom.


Credentials

Под credentials (учётными данными) подразумеваются Key (ключ) и secret key (секретный ключ), Account name (имя аккаунта) и token (токен), Anonymous access (анонимный доступ), Key file (файл ключа). Учётные данные используются подключения облачного хранилища.


Resource

Под resource (ресурсом) подразумевается bucket name (имя пакета) или container name (имя контейнера). Используется для подключения облачного хранилища.

1.21 - Страница Cloud Storages

Обзор страницы Cloud Storages.

На странице Cloud Storages содержатся элементы, каждый из которых относится к отдельному облачному хранилищу.  Каждый элемент содержит: превью, название облачного хранилища, название поставщика сервиса, информацию о создании и обновлении, статус, кнопку ? для отображения описания и Actions menu (меню действий).

Каждая кнопка в меню действий отвечает за отдельную функцию:

  • Update — обновление соответствующего облачного хранилища

  • Delete — удаление облачного хранилища.

Такое превью отображается, когда невозможно получить реальное превью (например, хранилище пустое или использованы неверные учётные данные).

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

2 - Advanced

В этом разделе содержатся дополнительные документы для пользователей CVAT

2.1 - Страница Projects

Создание и экспорт проектов в CVAT.

Страница Projects

На этой странице можно создать новый проект, создать проект из резервной копии, а также просмотреть созданные проекты.

В левом верхнем углу есть панель поиска, при помощи которой можно найти проект по его имени, пользователю, за которым он закреплён, и т. п. В правом верхнем углу находятся сортировкабыстрые фильтры и фильтр.

Filter

Применение фильтра отключает быстрый фильтр.

Фильтр работает аналогично фильтрам для аннотаций, можно создавать правила по properties (свойствам), operators (операторам) и значениям, группировать правила в группы. Подробнее см. здесь. Узнать больше о выборе даты и времени можно здесь.

Для сброса всех фильтров нажмите на Clear filters.

Поддерживаемые списком проектов свойства

Свойства

Поддерживаемые значения

Описание

Assignee

имя пользователя

Assignee - это пользователь, работающий над работой (задаётся на странице задач)

Owner

имя пользователя

Пользователь, владеющий проектом, задачей или работой

Last updated

дата и время последнего изменения (или диапазон значений)

Дату можно вводить в формате дд.ММ.ггггyyyy ЧЧ:мм или выбором даты в окне, появляющемся при нажатии на поле ввода

ID

число или диапазон job ID

Name

название

На странице Tasks - название задачи, на странице Project - название проекта

Создание проекта

В CVAT можно создать проект, содержащий задачи одного типа. Все относящиеся к проекту задачи наследуют список меток.

Для создания проекта перейдите в раздел Projects, нажав на пункт Projects в верхнем меню. На странице Projects можно просмотреть список проектов, воспользоваться поиском или создать новый проект, нажав на кнопку + и выбрав Create New Project.

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

Можно изменять имя проекта, список меток (который будет использоваться для задач, созданных в рамках этого проекта) и ссылку на issue. Подробнее о создании списка ссылок см. здесь.

После создания проект появится на странице Projects. Чтобы открыть проект, нажмите на него мышью.

Здесь доступны следующие действия:

  1. Изменение имени проекта.

  2. Открытие Actions menu (меню действий). Каждая кнопка отвечает за отдельную функцию Actions menu:

    • Export dataset/Import dataset - скачивание/загрузка аннотаций или аннотаций вместе с изображениями в определённом формате. Дополнительную информацию см. в разделе об экспорте/импорте массивов данных.

    • Backup project - создание резервной копии проекта. Подробнее см. в разделе о резервном копировании.

    • Delete - удаление проекта и всех относящихся к нему задач.

  3. Изменение issue tracker или открытие issue tracker, если он указан.

  4. Изменение меток. Можно добавлять новые метки или добавлять атрибуты к имеющимся меткам в Raw mode или в Constructor mode. Также можно изменять цвет меток. Нажав на Copy, можно скопировать метки в буфер обмена.

  5. Assigned to — используется для передачи проекта пользователю. Начните вводить имя ответственного пользователя и/или выберите нужного человека из раскрывающегося списка.

  6. Tasks — список всех задач конкретного проекта с возможностью поиска, сортировки и фильтрации задач в проекте. Подробнее о поиске можно прочитать здесь. Подробнее о сортировке и фильтрации можно прочитать здесь. Можно выбрать подмножество для задач в проекте. Можно использовать имеющиеся варианты (TrainTestValidation) или указать собственные.

2.2 - Organization

Personal workspace

В Personal workspace (личном рабочем пространстве) пользователя отображаются созданные им задачи и проекты.

Создание новой организации

Для создания организации откройте меню пользователя, перейдите к пункту Organization и нажмите на Create.

Заполните необходимую для создания организации информацию. Нужно ввести Short name (краткое название) организации, которое будет отображаться в меню. Также необходимо заполнить другие поля: Full Name (полное название), Description (описание) и контактную информацию. Они будут видны на странице параметров организации.

Страница Organization

Для перехода на страницу Organization откройте меню пользователя, перейдите к пункту Organization и нажмите на Settings.

Приглашение участников в организацию

Для добавления участников нажмите на Invite members. В открывшемся окне введите адрес электронной почты пользователя, которого вы хотите добавить, и выберите его Role (должность) (должность определяет набор правил):

  • Worker - работники имеют доступ только к закреплённым за ними задачам, проектам и работам.

  • Supervisor - эта должность позволяет создавать и закреплять за участниками организации работы, задачи и проекты.

  • Maintainer - участник с этой должностью имеет все возможности должности supervisor, видит все задачи и проекты, созданные другими участниками организации, имеет полный доступ к функции Cloud Storages, может изменять участников и их должности.

  • Owner - должность, присваиваемая создателю организации, имеет максимальные возможности.

В дополнение к должностям существуют группы пользователей, настройка конфигураций которых выполняется на странице Admin. Подробнее о должностях можно прочитать в разделе IAM system roles.

После добавления участников они появятся на странице параметров организации. В списке будет указан каждый участник и информация о подробностях приглашения. В любой момент вы можете изменить должность участника или удалить участника.

Участник может покинуть организацию самостоятельно, нажав на Leave organization на странице параметров организации.

Remove organization

Созданную вами организацию можно удалить. При удалении организации будут удалены все связанные с ней ресурсы (аннотации, работы, задачи, проекты, облачные хранилища и т. д.). Для удаления организации нужно нажать на Remove organization, после чего нужно будет подтвердить удаление вводом краткого названия организации.

2.3 - Search

Обзор имеющихся вариантов поиска.

Существует множество различных способов применения поиска.

  • Поиск по всем полям (owner, assignee, task name, task status, task mode). Для выполнения поиска введите строку поиска в поле поиска.

  • Поиск по конкретным полям:

    • owner: admin - все задачи, созданные пользователем, в имени которого есть подстрока "admin"

    • assignee: employee - все задачи, закреплённые за пользователем, в имени которого есть подстрока "employee"

    • name: training - все задачи, в названии которых есть подстрока "training"

    • mode: annotation или mode: interpolation - все задачи с изображениями или видео.

    • status: annotation ,status: validation или status: completed - поиск по статусу

    • id: 5 - задача с id = 5.

  • Множественные фильтры. Фильтры можно комбинировать (за исключением идентификатора) при помощи ключевого слова AND:

    • mode: interpolation AND owner: admin

    • mode: annotation and status: annotation

Поиск выполняется без учёта регистра.

2.4 - Shape mode (advanced)

Расширенные операции, доступные при аннотировании в режиме Shape mode.

Основные операции в этом режиме были описаны в разделе Shape mode (basics).

Occluded (перекрытие) - это атрибут, используемый, если объект перекрыт другим объектом или виден в кадре не полностью. Для быстрого указания этого свойства используйте горячую клавишу Q.

Пример: три автомобиля на показанном ниже рисунке должны быть размечены как occluded.

Если в кадре есть слишком много объектов и их сложно аннотировать из-за того, что множество фигур расположено приблизительно в одном месте, то логично будет заблокировать их. Фигуры заблокированных объектов становятся прозрачными, благодаря чему новые объекты аннотировать проще. Кроме того, вы не сможете случайно изменить ранее аннотированные объекты. Горячая клавиша: L.

2.5 - Track mode (advanced)

Расширенные операции, доступные в процессе аннотирования в режиме Track mode.

Основные операции этого режима описаны в разделе Track mode (basics).

Созданные в Track mode (режиме треков) фигуры имеют дополнительные кнопки навигации.

  • Эти кнопки позволяют переходить к предыдущему/следующему ключевому кадру.

  • Эти кнопки позволяют переходить к первому и последнему ключевым кадрам.

Можно использовать функцию Split для разбиения одного трека на два:

2.7 - Attribute annotation mode (advanced)

Расширенные операции, доступные в режиме аннотирования атрибутов.

Основные операции этого режима описаны в разделе Attribute annotation mode (basics).

В этом режиме можно обрабатывать множество объектов на одном кадре.

Удобнее аннотировать объекты одинакового типа. В таком случае можно применить соответствующий фильтр. Например, следующий фильтр скроет все объекты, кроме personlabel=="Person".

Для навигации между объектами (в данном случае person) можно использовать следующие кнопки специальной панели, выполняющие переключение между объектами в кадре:

или горячие клавиши:

  • Tab — переход к следующему объекту

  • Shift+Tab — переход к предыдущему объекту.

Для изменения уровня зума перейдите в параметры (нажав F3) во вкладке Workspace и задайте в пикселях значение Attribute annotation mode (AAM) zoom margin.

2.8 - Аннотирование прямоугольниками

Подробная информация об аннотировании при помощи прямоугольников находится в следующих разделах:

Rotation rectangle

Для поворота прямоугольника можно потянуть за точку поворота. Поворот выполняется относительно центра прямоугольника. Для вращения с фиксированным углом (кратным 15 градусам) удерживайте Shift. В процессе поворота отображается угол поворота.

Аннотирование прямоугольником по четырём точкам

Это эффективный способ аннотирования ограничивающими прямоугольниками, предложенный здесь. Перед тем как приступать к аннотированию убедитесь, что выбран способ отрисовки By 4 Points.

Нажмите Shape или Track для перехода в режим рисования. Нажмите на четыре крайние точки: самую верхнюю, нижнюю, левую и правую физические точки объекта. Рисование будет автоматически завершено сразу после нажатия на четвёртую точку. Для отмены редактирования нажмите на Esc.

2.9 - Аннотирование многоугольниками

Руководство по созданию и редактированию многоугольников.

2.9.1 - Отрисовка вручную

Используется для семантической сегментации/сегментации экземпляров.

Для начала необходимо выбрать Polygon (многоугольник) в боковой панели управления и подобрать нужную Label (метку).

  • Нажмите Shape для перехода в режим рисования. Существует два способа отрисовки многоугольника: создание точек щелчками мыши и перетаскивание мышью на экране с удерживанием клавиши Shift.

Рисование щелчками мыши

Рисование удерживанием Shift + перемещением курсора

  • Если Shift не зажат, можно выполнять зум (прокруткой колеса мыши) и перемещение (нажатием колеса мыши и перемещением мыши). Также можно удалить предыдущую точку, щёлкнув на предыдущую точку правой клавишей мыши.

  • Можно использовать ползунок Selected opacity в боковой панели Objects для изменения непрозрачности многоугольника. Подробнее об этом можно прочитать в разделе Objects sidebar.

  • Для завершения фигуры повторно нажмите N или щёлкните мышью на кнопку Done в верхней панели.

  • После создания многоугольника можно перемещать точки или удалять их, щёлкая правой клавишей мыши и выбирая Delete point, или щёлкая мышью с зажатой клавишей Alt в контекстном меню.

2.9.2 - Отрисовка при помощи автоматических границ

При отрисовке многоугольника можно использовать автоматические границы. Использование автоматических границ позволяет автоматически трассировать контур имеющихся в аннотации многоугольников.

  • Для этого перейдите в Settings -> вкладка Workspace и включите Automatic Bordering или зажмите Ctrl при отрисовке многоугольника.

  • Начните рисовать/редактировать многоугольник.

  • Точки других фигур будут подсвечены, это означает, что многоугольник можно прикрепить к ним.

  • Укажите часть контура многоугольника, который нужно повторить.

  • Нажмите на первую точку части контура.

  • Затем нажмите на любую точку, расположенную на части контура. Выбранная точка будет подсвечена фиолетовым.

  • Нажмите на последнюю точку, после чего будет автоматически построен контур до этой точки.

Кроме того, в поле Number of points можно задать фиксированное количество точек, после которого отрисовка будет прекращена автоматически. Чтобы включить перетаскивание, нужно щёлкнуть правой клавишей мыши внутри многоугольника и выбрать свойство Switch pinned.

Ниже показаны результаты с непрозрачностью и чёрным цветом контура:

Если необходимо размечать мелкие объекты, то для удобства можно увеличить Image Quality до 95 в диалоговом окне Create task.

2.9.3 - Редактирование многоугольника

Для редактирования многоугольника нажмите на него, удерживая клавишу Shift, после чего откроется редактор многоугольников.

  • В редакторе можно создавать новые точки или удалять части многоугольников замыканием линии на другой точке.

  • Если в параметрах включена опция Intelligent polygon cropping (интеллектуальное усечение многоугольников), то СVAT учитывает два критерия при выборе того, какая часть многоугольника будет отсечена при автоматическом редактировании.

    • Первый критерий - количество точек отсечения.

    • Второй критерий - длина кривой отсечения.

Если оба критерия рекомендуют отсечь одну и ту же часть, то алгоритм срабатывает автоматически, а если нет, решение нужно принять пользователю. Если вы хотите выбирать вручную, какую часть многоугольника следует отсекать, отключите в параметрах Intelligent polygon cropping. В таком случае после замыкания многоугольника вы сможете выбирать часть многоугольника, которую нужно оставить.

  • Для отмены редактирования нажмите Esc.

2.9.4 - Работа с многоугольниками в Track mode

Многоугольники в Track mode (режиме треков) позволяют точнее, чем прямоугольники, размечать движущиеся объекты (Tracking mode (basic)Tracking mode (advanced)).

  1. Для создания многоугольника в режиме треков нажмите на кнопку Track.

  1. Создайте многоугольник так же, как это делалось в случае аннотирования многоугольниками. Нажмите N или щёлкните кнопку Done на верхней панели, чтобы завершить многоугольник.

  2. Обратите внимание, что созданный многоугольник имеет начальную точку и направление, эти элементы важны для аннотирования последующих кадров.

  3. Перейдя на несколько кадров вперёд, нажмите Shift+N, старый многоугольник исчезнет и можно будет создать новый многоугольник. Новая начальная точка должна соответствовать начальной точке ранее созданного многоугольника (в данном примере это верхняя часть левого зеркала заднего вида). Направление тоже должно совпадать (в данном примере по часовой стрелке). После создания многоугольника нажмите N, после чего промежуточные кадры будут интерполированы автоматически.

  1. Если нужно изменить начальную точку, нажмите правой клавишей мыши на нужной точке и выберите Set starting point. Для изменения направления нажмите правой клавишей мыши на нужной точке и выберите Switch orientation.

Нет необходимости каждый раз перерисовывать многоугольник при помощи Shift+N, вместо этого можно просто переместить точки или отредактировать часть многоугольника, зажав Shift и щёлкнув левой клавишей мыши.

2.9.5 - Создание масок

Вырезание отверстий в многоугольниках

В настоящее время CVAT не поддерживает вырезание прозрачных отверстий в многоугольниках. Однако можно генерировать отверстия в экспортированном экземпляре и масках класса. Для этого нужно определить фоновый класс в задаче и отрисовать с его помощью отверстия как дополнительные фигуры над фигурами, в которых должны быть отверстия:

Как это выглядит в окне редактора:

Не забывайте использовать упорядочивание фигур по оси Z при помощи клавиш [-] и [+, =].

Экспортированные маски:

 

Учтите, что в настоящее время невозможно иметь отдельное количество экземпляров для внутренних фигур (они будут объединены с самой крупной, а затем закрыты "отверстиями").

Создание масок

Для экспорта масок в CVAT можно использовать различные форматы:

Пример экспортированных масок (в формате Segmentation Mask):

 

Важные примечания:

  • И прямоугольники, и многоугольники преобразуются в маски

  • Сгруппированные объекты считаются одним экземпляром и экспортируются как одна маска (метка и атрибуты берутся у самого крупного объекта в группе)

Цвета классов

Всем меткам назначены цвета, используемые для генерируемых масок. Эти цвета можно изменять в свойствах меток задачи:

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

Фоновым классом может быть:

  • Класс по умолчанию, который добавляется неявным образом, или чёрный цвет (RGB 0, 0, 0)

  • Фоновый класс с любым цветом (имеет приоритет, в имени не учитывается регистр)

  • Любой класс чёрного цвета (RGB 0, 0, 0)

Для изменения фонового цвета в генерируемых масках (по умолчанию он чёрный) измените цвет фонового класса на нужный.

2.10 - Аннотирование полилиниями

Руководство по аннотированию задач с помощью полилиний.

Они используются для аннотирования дорожной разметки и т. п.

Чтобы начать работу, необходимо выбрать Polyline (полилинию). В поле Number of points можно указать фиксированное количество точек, после которого отрисовка прекратится автоматически.

Нажмите Shape, чтобы перейти в режим рисования. Существует два способа отрисовки полилинии — можно создавать точки щелчками мыши или перетаскивая мышь по экрану, удерживая Shift. Если клавиша Shift не зажата, можно выполнять зум (прокруткой колеса мыши) и перемещение (зажав колесо мыши и двигая курсор мыши). Предыдущие точки можно удалять щелчком правой клавиши мыши. Для завершения фигуры повторно нажмите N или щёлкните кнопку Done в верхней панели. Можно удалить точку, щёлкнув на ней с зажатой клавишей Ctrl или щёлкнув правой клавишей мыши на точке и выбрав Delete point. При щелчке с зажатой клавишей Shift открывается редактор полилинии. В редакторе можно создавать новые точки (щелчками или перетаскиванием курсора) или удалять часть многоугольника, замыкая красную линию на другой точке. Нажмите Esc для отмены редактирования.

2.11 - Аннотирование точками

Руководство по аннотированию задач при помощи отдельных точек или фигур, состоящих из нескольких точек.

2.11.1 - Точки в Shape mode

Используются для аннотирования лиц, достопримечательностей и т. п.

Чтобы начать работу, нужно выбрать инструмент Points. При необходимости в поле Number of points можно задать фиксированное количество точек, после которого рисование прекратится автоматически.

Нажмите Shape, чтобы перейти в режим рисования. Далее можно приступать к аннотированию в нужной области. Точки автоматически группируются — все точки будут считаться связанными между каждым началом и концом. Для завершения разметки области повторно нажмите N или щёлкните кнопку Done. Точку можно удалить, щёлкнув на ней с зажатой клавишей Ctrl или щёлкнув правой клавишей мыши на точке и выбрав Delete point. При щелчке с зажатой клавишей Shift откроется редактор точек. В нём можно добавлять в готовую фигуру новые точки. Также в процессе рисования можно выполнять зум (прокруткой колеса мыши) и перемещение (зажав колесо мыши и перемещая курсор). После отрисовки объекта его можно перемещать и изменять расположение отдельных точек после завершения объекта.

2.11.2 - Линейная интерполяция с одной точкой

Можно использовать линейную интерполяцию для аннотирования движущегося объекта:

  1. Чтобы приступить к работе, выберите инструмент Points.

  2. Линейная интерполяция работает только с одной точкой, поэтому нужно указать в поле Number of points значение 1.

  3. Нажмите на Track.

  1. При нажатии на Track выполняется переход в режим рисования. Щелчком левой клавиши мыши можно создать точку, после чего фигура будет автоматически завершена.

  1. Переместитесь вперёд на несколько кадров и переместите точку в нужное место, таким образом вы создадите ключевой кадр, а промежуточные кадры будут отрисованы автоматически. С этим объектом можно работать как с интерполированным треком: его можно скрывать при помощи Outside, перемещать по ключевым кадрам и т. п.

  1. Таким образом можно реализовать линейную интерполяцию при помощи инструмента Points.

2.12 - Аннотирование эллипсами

Руководство по аннотированию задач с помощью эллипсов.

Они используются для аннотирования дорожных указателей и т. п.

Для начала работы нужно выбрать инструмент Ellipse в панели управления.

Для начала отрисовки выберите Label (метку) и щёлкните на Shape или Track. Эллипс можно создать точно так же, как и прямоугольник, необходимо указать две противоположные точки, после чего эллипс будет вписан в воображаемый прямоугольник. Для завершения фигуры нажмите N или щёлкните кнопку Done в верхней панели.

Можно поворачивать эллипсы при помощи точки поворота, аналогично прямоугольникам.

2.13 - Аннотирование кубоидами

Руководство по созданию и редактированию кубоидов.

Они используются для аннотирования трёхмерных объектов наподобие автомобилей, ящиков и т. п. В настоящее время эта функция поддерживает одноточечную перспективу и имеет ограничение: вертикальные рёбра параллельны сторонам.

2.13.1 - Создание кубоида

Для начала работы необходимо выбрать инструмент Cuboid и способ рисования: "from rectangle" (из прямоугольника) или "by 4 points" (по четырём точкам).

Рисование кубоида по четырём точкам

Для перехода в режим рисования выберите способ отрисовки "by 4 points" и нажмите на Shape. Существует множество способов отрисовки кубоида. Можно нарисовать кубоид, задав четыре точки, после чего рисование будет завершено автоматически. Первые три точки определяют плоскость кубоида, а последняя определяет глубину этой плоскости. В качестве первых трёх точек рекомендуется нарисовать только две ближайшие боковые плоскости, а также верхнюю и нижнюю плоскости.

Несколько примеров:

Рисование кубоида из прямоугольника

Для перехода в режим рисования выберите способ отрисовки "from rectangle" и щёлкните на Shape. При рисовании кубоида из прямоугольника необходимо выбрать фронтальную плоскость объекта при помощи ограничивающего прямоугольника. Глубину и перспективу получившегося кубоида можно редактировать.

Пример:

2.13.2 - Редактирование кубоида

Кубоид можно редактировать различными способами: перетаскиванием точек, перетаскиванием отдельных граней или или перетаскиванием плоскостей. Для начала стоит обратить внимание, что существует грань, отрисовываемая только серыми линиями, назовём её передней гранью.

Можно перемещать кубоид, перетаскивая фигуру за передней гранью. Кубоид можно растягивать, перетаскивая точку посередине рёбер. Также кубоид можно растягивать вверх и вниз перетаскиванием точки в вершинах.

Для рисования с эффектом перспективы необходимо считать, что передняя грань находится ближе всего к камере. Чтобы приступить к созданию перспективы, удерживая клавишу Shift, перетащите точки в вершинах, не принадлежащих серой/передней грани. Далее кубоид можно редактировать обычным образом.

Если необходимо сбросить эффект перспективы, можно щёлкнуть правой клавишей мыши на кубоиде и выбрать Reset perspective, чтобы вернутся к обычному кубоиду.

Местоположение серой грани можно поменять местами с ближайшей видимой боковой гранью. Это можно сделать, щёлкнув правой клавишей мыши на кубоиде и выбрав Switch perspective orientation. Следует учесть, что это также сбросит эффект перспективы.

Также можно редактировать отдельные грани кубоида. Это следующие грани: левая, правая и задняя относительно серой грани. Просто перетаскивайте грани, чтобы перемещать их независимо от остальной части кубоида.

Кубоиды также можно использовать в Track mode, аналогично прямоугольникам в Track mode (basics и advanced) или Track mode with polygons

2.14 - Аннотирование тэгами

Это используется для аннотирования кадров; тэги не отображаются в рабочем пространстве. Чтобы приступить к работе, откройте раскрывающийся список в верхней панели и выберите Tag annotation.

Боковая панель Objects заменится особой панелью для работы с тэгами. Здесь можно выбрать метку для тэга и добавить её, нажав на кнопку Add tag. Также можно изменить горячие клавиши для каждой метки.

Если необходимо использовать для одного кадра только одну метку, то установите флажок Automatically go to the next frame, после этого после добавления тэга к кадру будет выполняться автоматический переход к следующему кадру.

2.16 - AI Tools

Обзор полуавтоматических и автоматических инструментов аннотирования, доступных в CVAT.

Этот инструмент предназначен для полуавтоматического и автоматического аннотирования при помощи моделей глубокого обучения. Инструмент доступен только в случае наличия соответствующей модели. Подробнее о моделях глубокого обучения (deep learning, DL) можно прочитать в разделе Models.

Интеракторы

Интеракторы (Interactor) предназначены для полуавтоматического создания многоугольников. Поддерживаемые модели глубокого обучения не ограничены метками и могут использоваться для любых объектов. Обычно для создания многоугольника необходимо использовать обычные или положительные точки. В некоторых типах сегментации возможно использование отрицательных точек. Положительные точки - это точки, относящиеся к объекту. Отрицательные точки должны располагаться вне границ объекта. В большинстве случаев для создания многоугольника достаточно указания положительных точек. Список доступных готовых интеракторов представлен ниже.

  • Чтобы приступить к работе, выберите в боковой панели управления инструмент Magic wand (волшебная палочка) и перейдите во вкладку Interactors. Выберите метку для многоугольника и нужную модель глубокого обучения. Для просмотра справки по каждой из моделей можно нажать на значок с вопросительным знаком.

Чтобы переключиться в Interaction mode, нажмите Interact. Способ разметки будет зависеть от выбранной модели. Далее можно приступить к размещению положительных и/или отрицательных точек. Модель IOG также использует прямоугольники. Щелчком левой клавиши мыши создаётся положительная точка, щелчком правой клавиши - отрицательная точка. После размещения требуемого количества точек (точное количество зависит от модели) серверу передаётся запрос, а после завершения обработки будет создан многоугольник. Если вас не устраивают результаты, можно указать дополнительные точки или удалить точки. Для удаления точки наведите курсор на точку, которую нужно удалить. Если точку можно удалить, она увеличится в размерах, а курсор превратится в крестик, после чего нужно щёлкнуть на точке левой клавишей мыши. Если вы хотите отложить запрос и создать ещё несколько точек, удерживайте клавишу Ctrl и продолжите работу (кнопка Block на верхней панели станет синей), запрос будет отправлен после отпускания клавиши Ctrl.

  •  

  • В процессе рисования при помощи переключателя можно выбрать количество точек многоугольника.

  • Можно использовать ползунок Selected opacity в боковой панели Objects для изменения непрозрачности многоугольника. Подробнее об этом можно прочитать в разделе Objects sidebar.

  • Для завершения взаимодействия щёлкните кнопку Done в верхней панели или нажмите N на клавиатуре.

После завершения объекта его можно редактировать как многоугольник. О редактировании многоугольников можно прочитать в разделе Аннотирование многоугольниками.

Deep extreme cut (DEXTR)

Это оптимизированная версия исходной модели, представленной в конце 2017 года. В ней используется информация о крайних точках объекта для получения его маски. Затем маска преобразуется в многоугольник. На данный момент это самый быстрый интерактор на ЦП.

Feature backpropagating refinement scheme (f-BRS)

Эта модель позволяет получить маску объекта при помощи положительных точек (их нужно ставить щелчками левой клавишей мыши на переднем плане) и отрицательных точек (их при необходимости нужно ставить щелчками правой клавишей мыши на фоне). Рекомендуется по возможности выполнять эту модель на GPU.

High Resolution Net (HRNet)

Модель позволяет получить маску объекта при помощи положительных точек (их нужно ставить щелчками левой клавишей мыши на переднем плане) и отрицательных точек (их при необходимости нужно ставить щелчками правой клавишей мыши на фоне). Рекомендуется по возможности выполнять модель на GPU .

Inside-Outside-Guidance

Для создания маски модель использует ограничивающий прямоугольник и внутренние/наружные точки. Для начала необходимо создать ограничивающий объект прямоугольник. Затем нужно при помощи положительных и отрицательных точек показать модели, где находится передний план, а где фон. Отрицательные точки использовать необязательно.

Детекторы

Детекторы (detector) используются автоматического аннотирования одного кадра. Поддерживаемые модели DL подходят только для определённых меток.

  • Для начала работы нажмите на волшебную палочку на боковой панели управления и выберите вкладку Detectors. Нужно сопоставить метки модели DL (левый столбец) с метками своей задачи (правый столбец), а затем щёлкнуть на Annotate.

  • Это действие автоматически разметит один кадр. В разделе Automatic annotation можно прочитать о том, как создать автоматическую аннотацию для всех кадров.

Mask RCNN

Модель генерирует многоугольники для каждого экземпляра объекта на изображении.

Faster RCNN

Модель генерирует ограничивающие прямоугольники для каждого экземпляра объекта на изображении. В этой модели RPN и Fast R-CNN комбинируются в единую сеть.

Трекеры

Трекеры (tracker) используются для автоматического аннотирования объекта при помощи ограничивающего прямоугольника. Поддерживаемые модели DL не ограничены метками и могут использоваться для любых объектов.

  • Для начала работы выберите волшебную палочку в боковой панели управления и перейдите во вкладку Trackers. Затем выберите Label (метку) и Tracker (трекер) для объекта, а затем щёлкните на Track. Далее аннотируйте в первом кадре нужные объекты ограничивающими прямоугольниками.

  • Все аннотированные объекты будут автоматически подвергаться трекингу при переходе к следующему кадру. При трекинге щёлкайте на кнопку Next в верхней панели или нажимайте клавишу F для перехода к следующему кадру.

  • Включать и отключать трекинг можно при помощи переключателя трекера на боковой панели.

  • Доступные для трекинга объекты имеют на холсте обозначение с указанием модели.

  • Пользователь может выполнять мониторинг процесса при помощи отображаемых наверху сообщений. Если были изменены один или несколько объектов, то перед переходом к следующему кадру будет показано сообщение, что выполняется инициализация состояний объектов. Объекты, которые не были изменены, уже находятся на сервере, а значит, не требуют инициализации. После инициализации объектов выполняется трекинг.

SiamMask

Быстрые онлайн-трекинг и сегментация объектов. Трекер способен выполнять трекинг разных объектов в одном запросе к серверу. Доступные для трекинга объекты будут подвергаться трекингу автоматически, если предыдущий кадр был последним ключевым кадром объекта. Трекер оставляет обозначения на холсте. Трекер SiamMask поддерживает CUDA.

Если вы планируете выполнять трекинг простых непересекающихся объектов, то задумайтесь о выборе быстрого TrackerMIL, разработанного OpenCV и выполняемого на стороне клиента.

2.17 - Инструменты OpenCV

Руководство по использованию алгоритмов Computer Vision в процессе аннотирования.

Инструмент разработан на основе библиотеки Computer Vision Open CV  - опенсорсного продукта, включающего в себя множество алгоритмов CV. Некоторые из этих алгоритмов можно использовать для упрощения процесса аннотирования.

Первым этапом работы с OpenCV является загрузка этой библиотеки в CVAT. Нажмите на значок панели инструментов, а затем нажмите на Load OpenCV.

После загрузки библиотеки становятся доступными функции инструмента.

Интеллектуальные ножницы

Интеллектуальные ножницы (Intelligent scissors) - это методика CV по созданию многоугольника размещением точек автоматической отрисовкой линии между ними. Расстояние между соседними точками ограничено пороговым значением действия, отображаемым как красный квадрат, привязанный к курсору.

  • Выберите метку, а затем щёлкните на кнопку интеллектуальных ножниц.

  • Создайте первую точку на границе нужного объекта. Вы увидите линию, повторяющую контур объекта.

  • Разместите вторую точку так, чтобы предыдущая точка находилась в пределах ограничений. После этого между точками автоматически будет создана линия, повторяющая контур объекта.

Для увеличения или уменьшения порогового значения действия удерживайте Ctrl и прокрутите колесо мыши. Увеличение порогового значения действия влияет на производительность. В процессе рисования можно удалять последнюю точку, нажав на неё левой клавишей мыши.

  • Также можно создать границу вручную (аналогично созданию многоугольника), временно отключив автоматическое создание линий. Для этого отключите блокировку, нажав Ctrl.

  • В процессе рисования при помощи переключателя можно выбрать количество точек многоугольника..

  • Также можно использовать ползунок Selected opacity в боковой панели Objects для изменения непрозрачности многоугольника. Подробнее об этом можно прочитать в разделе Objects sidebar.

  • После размещения всех точек можно завершить создание объекта, щёлкнув на кнопку Done в верхней панели или нажавN на клавиатуре. В результате будет создан многоугольник (подробнее о многоугольниках можно прочитать в разделе об аннотировании многоугольниками).

Выравнивание гистограммы

Выравнивание гистограммы (Histogram equalization) - это методика CV, повышающая контрастность изображения для растягивания диапазона яркости. Эта методика обычно увеличивает общий контраст изображений, когда полезные данные представлены как значения с близкой контрастностью. Это полезно для изображений и фоны, и передние планы которых полностью яркие или полностью тёмные.

  • Выберите вкладку Image и щёлкните на кнопку выравнивания гистограммы.

  • Контрастность текущего кадра будет увеличена. При смене кадра он тоже будет выровнен. Отключить выравнивание можно, снова щёлкнув на кнопку выравнивания гистограммы.

TrackerMIL

Трекеры используются для автоматического аннотирования объекта на видео. Модель TrackerMIL не ограничена по меткам и может использоваться для любого объекта.

  • Для начала работы выберите инструменты OpenCV в боковой панели управления и перейдите во вкладку Trackers. Затем выберите Label (метку) и Tracker (трекер) для объекта, а затем щёлкните на Track. Далее аннотируйте нужные объекты в первом кадре при помощи ограничивающего прямоугольника.

  • Все аннотированные объекты будут автоматически подвергаться трекингу при переходе к следующему кадру. При трекинге для перехода к следующему кадру щёлкайте на кнопку Next или нажимайте клавишу F.

  • Включать и отключать трекинг можно при помощи переключателя трекера на боковой панели.

  • Доступные для трекинга объекты имеют на холсте обозначение с указанием модели .

  • Пользователь может выполнять мониторинг процесса при помощи отображаемых наверху сообщений.

2.18 - Автоматическое аннотирование

Руководство по использованию автоматического аннотирования задач.

Automatic Annotation (автоматическое аннотирование) используется для создания предварительных аннотаций. Для применения автоматического аннотирования необходима модель DL. Можно использовать основные модели или модели, загруженные пользователем. Список доступных моделей представлен в разделе "Модели".

  1. Для запуска автоматического аннотирования необходимо открыть dashboard и найти задачу, которую нужно аннотировать. Затем нужно нажать на Actions button (кнопку действий) и выбрать в раскрывающемся меню опцию Automatic Annotation.

  1. В диалоговом окне выберите нужную модель. Модели DL создаются для конкретных меток, например, модель Crossroad обучена использовать записи с камер, расположенных над шоссе, и эту модель лучше использовать для задач с похожими углами расположения камер. При необходимости выберите флажок Clean old annotations (очистить старые аннотации). Настройте метки так, чтобы метки задачи соответствовали меткам модели DL. Например, рассмотрим задачу, в которой нужно аннотировать метки "car" и "person". Вы будете должны соединить метку "person" из модели с меткой "person" из задачи. Для метки "car" нужно выбрать самую подходящую метку модели - метку "vehicle". В задаче нужно аннотировать только легковые автомобили (car) а выбор метки "vehicle" (транспортное средство) подразумевает аннотирование всех транспортных средств; в этом случае использование автоматического аннотирования поможет вам завершить задачу быстрее. Чтобы начать процесс автоматического аннотирования, щёлкните на кнопку Submit.

  1. В процессе выполнения будет отображаться процент завершённости работы. Отменить автоматическое аннотирование можно, нажав на кнопку Cancel.

  1. В конечном итоге вы получите автоматическую аннотацию с отдельными прямоугольниками (или другими фигурами)

  1. Можно комбинировать отдельные ограничивающие прямоугольники в треки при помощи модели Person reidentification. Для этого повторно щёлкните на элемент с автоматической аннотацией и выберите модель типа (в данном случае это модель Person reidentification). Можно выбрать следующие параметры:

    • Model Threshold - максимальное конусное расстояние между местоположениями объектов.

    • Maximum distance определяет максимальный радиус, в котором объект может перемещаться объект между соседними кадрами.

  1. Избавиться от ложноположительных срабатываний и редактировать треки можно при помощи функций Split (разделить) и Merge (объединить).

2.19 - Резервное копирование задачи и проекта

В CVAT возможно выполнение резервного копирования задач и проектов. Эту функцию можно использовать для копирования задачи или проекта на свой PC или для переноса на другой сервер.

Резервное копирование

Для резервного копирования задачи или проекта откройте Action menu (меню действий) и выберите Backup Task или Backup Project.

Структура резервной копии

В результате вы получите архив zip, содержащий данные, задачу или проект, а также спецификацию задач и аннотаций. Архив имеет следующую структуру:

    .

    ├── data

    │   └── {загруженные пользователем данные}

    ├── task.json

    └── annotations.json

  

Создание из резервной копии

Для создания задачи или проекта из резервной копии, перейдите на страницу Tasks или Projects, щёлкните на кнопку Create from backup и выберите нужный архив.

В результате вы получите задачу, содержащую данные, параметры и аннотации ранее экспортированной задачи.

API создания из резервной копии

  • конечная точка: /api/tasks/backup или /api/projects/backup

  • метод: POST

  • Content-Type: multipart/form-data

  • ответы: 202, 201 с полезной нагрузкой json

2.20 - Экспорт/импорт массивов данных и загрузка аннотаций

В этом разделе объясняется, как скачивать и загружать массивы данных (включая аннотации, изображения и метаданные) проектов, задач и работ.

Экспорт массива данных

Вы можете экспортировать массив данных в проект, задачу или работу.

  1. Для скачивания последних аннотаций необходимо сначала сохранить все изменения. Нажмите на кнопку Save. Для быстрого сохранения аннотаций существует сочетание горячих клавиш Ctrl+S.

  1. После этого нажмите на кнопку Menu. Экспорт и импорт массивов данных задачи и проекта выполняется через Action menu (меню действий).

  2. Нажмите на кнопку Export task dataset (экспорт массива данных задачи).

  1. Выберите формат для экспортирования массива данных. Экспорт и импорт возможен в следующих форматах:

    • Стандартных форматах CVAT:

      • CVAT for video - выберите его, если задача была создана в interpolation mode (режиме интерполяции).

      • CVAT for images - выберите его, если задача была создана в annotation mode (режиме аннотирования).

 

 

  1. Для скачивания изображений из массива данных установите флажок Save images.

  2. (Дополнительно) Чтобы дать имя архиву, воспользуйтесь полем Custom name.

Импорт массива данных

Импорт массива данных возможен только в проект. В этом случае данные будут разделены на подмножества. Для импорта массива данных необходимо выполнить на странице Project следующие действия:

  • Открыть Actions menu (меню действий).

  • Нажать кнопку Import dataset.

  • Выбрать формат массива данных (если вы не указали custom name при экспорте, то формат будет указан в имени архива).

  • Перетащите файл в область загрузки файлов или щёлкните на область загрузки файлов, чтобы выбрать файл через проводник.

В процессе импорта можно отслеживать процент выполнения импорта.

Загрузка аннотаций

Вы можете загрузить аннотацию в задачу или работу. Для этого в Action menu (меню действий) задачи или работы в верхней панели выберите пункт Upload annotation, а затем выберите формат, в котором вы хотите загрузить аннотацию, и выберите файл или архив аннотаций через проводник.

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

Список доступных горячих клавиш мыши и клавиатуры.

У многих элементов UI есть подсказки о горячих клавишах. Наведите курсор на нужный элемент, чтобы просмотреть подсказку.

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

Стандартные

Основные функции

F1

Показать/скрыть список доступных горячих клавиш

F2

Переход на страницу Settings (Настройки) или возврат назад

Ctrl+S

Переход на страницу Settings (Настройки) или возврат назад

Ctrl+Z

Отмена последнего действия. связанного с объектами

Ctrl+Shift+Z или Ctrl+Y

Повтор отменённого последнего действия

Удерживать колесо мыши

Перемещение холста изображения (например, при рисовании)

Плеер

F

Переход к следующему кадру

D

Переход к предыдущему кадру

V

Переход вперёд с шагом

C

Переход назад с шагом

Стрелка вправо

Поиск следующего кадра, удовлетворяющего фильтрам или следующего кадра, содержащего любые объекты

Стрелка влево

Поиск предыдущего кадра, удовлетворяющего фильтрам или предыдущего кадра, содержащего любые объекты

Пробел

Включение/прекращение автоматической смены кадров

` или ~

Фокусировка на элементе для изменения текущего кадра

Режимы

N

Повтор последней процедуры рисования с теми же параметрами

M

Активация/деактивация режиме объединения фигур

Alt+M

Активация/деактивация режима разделения фигур

G

Активация/деактивация режима группирования фигур

Shift+G

Сброс группы для выбранных фигур (в режиме группирования)

Esc

Отмена любого активного режима холста

Операции с изображениями

Ctrl+R

Изменение угла изображения (с приращением по 90 градусов)

Ctrl+Shift+R

Изменение угла изображения (с уменьшением по 90 градусов)

Shift+B+=

Увеличение уровня яркости изображения

Shift+B+-

Уменьшение уровня яркости изображения

Shift+C+=

Увеличение уровня контрастности изображения

Shift+C+-

Уменьшение уровня контрастности изображения

Shift+S+=

Увеличение уровня насыщенности изображения

Shift+S+-

Уменьшение уровня насыщенности изображения

Shift+G+=

Увеличение видимости сетки

Shift+G+-

Уменьшение видимости сетки

Shift+G+Enter

Выбор другого цвета для сетки изображения

Операции с объектами

Ctrl

Включение автоматических границ для многоугольников и полилиний при рисовании/редактировании

Удерживать Ctrl

Когда фигура активна, чтобы зафиксировать её

Alt+Click на точке

Удаление точки (используется при наведении курсора на точку многоугольника, полилинии, группы точек)

Shift+Click на точке

Редактирование фигуры (используется при наведении на точку многоугольника, полилинии или группы точек)

Щелчок правой клавишей мыши на фигуре

Отображение элемента объекта из боковой панели Objects

T+L

Изменение состояния блокировки для всех объектов в боковой панели

L

Изменение состояния блокировки для активного объекта

T+H

Изменение состояние сокрытия для всех объектов в боковой панели

H

Изменение состояния сокрытия для активного объекта

Q или /

Изменение свойства перекрытия активного объекта

Del или Shift+Del

Удаление активного объекта. Shift используется для принудительного удаления заблокированных объектов

- или _

Перемещение активного объекта "дальше" от пользователя (уменьшение значения оси Z)

+ или =

Перемещение активного объекта "ближе" к пользователю (увеличение значения оси Z)

Ctrl+C

Копирование фигуры во внутренний буфер обмена CVAT

Ctrl+V

Вставка фигуры из внутреннего буфера обмена CVAT

Удерживание Ctrl при вставке

При вставке фигуры из буфера для множественной вставки.

Ctrl+B

Создание копии объекта в последующих кадрах

Ctrl+(0..9)

Изменение метки для активированного объекта или для следующего нарисованного объекта, если ни один объект не активирован

Операции, доступные только при трекинге

K

Изменение свойства "ключевой кадр" для активного трека

O

Изменение свойства "снаружи" для активного трека

R

Переход к следующему ключевому кадру активного трека

E

Переход к предыдущему ключевому активного трека

Attribute annotation mode (режим аннотирования атрибутов)

Стрелка вверх

Переход к следующему атрибуту (вверх)

Стрелка вниз

Переход к следующему атрибуту (вниз)

Tab

Переход к следующему аннотированному объекту в текущем кадре

Shift+Tab

Переход к предыдущему аннотированному объекту в текущем кадре

<число>

Присвоение соответствующего значения текущему атрибуту

Standard 3d mode (стандартный 3D-режим)

Shift+стрелка вверх

Увеличение бокового угла наклона камеры

Shift+стрелка вниз

Уменьшение бокового угла наклона камеры

Shift+стрелка влево

Уменьшение продольного угла наклона камеры

Shift+стрелка вправо

Увеличение продольного угла наклона камеры

Alt+O

Перемещение камеры вверх

Alt+U

Перемещение камеры вниз

Alt+J

Перемещение камеры влево

Alt+L

Перемещение камеры вправо

Alt+I

Приближение камеры

Alt+K

Отдаление камеры

2.25 - Filter

Руководство по использованию функции Filter (фильтр) в CVAT.

Эту функцию следует использовать по следующим причинам:

  1. При использовании фильтра не соответствующие фильтру объекты будут скрыты.

  2. Быстрая навигация между кадрами, содержащими интересующие пользователя объекты. Используйте для этого клавиши "стрелка влево" / "стрелка вправо" или настройте кнопки UI, щёлкнув правой клавишей мыши и выбрав переключение по фильтру. Если соответствующие фильтру объекты отсутствуют, будет выполнен переход к предыдущему/следующему кадру, содержащему любые аннотированные объекты.

Для применения фильтров нужно нажать на кнопку в верхней панели.

Создание фильтра

При этом откроется окно для ввода фильтра. В нём есть две кнопки: Add rule (добавить правило) и Add group (добавить группу).

Правила

Кнопка Add rule добавляет правило для отображения объектов. Правило может использовать следующие свойства:

Поддерживаемые для аннотирования свойства

Свойства

Поддерживаемые значения

Описание

Label

имена всех меток, находящихся в задаче

имя метки

Type

shape (фигура), track (трек) или tag (тэг)

тип объекта

Shape

все типы фигур

тип фигур

Occluded

true или false

перекрытие объекта другим объектом (подробнее)

Width

величина в пикселях или поле

ширина фигуры

Height

величина в пикселях или поле

высота фигуры

ServerID

число или поле

ID объекта на сервере (можно узнать, сформировав ссылку на объект через Action menu)

ObjectID

число или поле

ID объекта в клиенте пользователя (указывается на боковой панели Objects)

Attributes

другие поля, в том числе атрибуты схожего типа или конкретное значение атрибута

любые поля, заданные меткой

Поддерживаемые свойствами операторы

== - равно; != - не равно; > - больше; >= - больше или равно; < - меньше; <= - меньше или равно;

Any inNot in - эти операторы позволят задать несколько переменных в одном правиле;

Is emptyis not empty – эти операторы не требуют ввода значения.

BetweenNot between – эти операторы позволяют выбрать интервал между двумя значениями.

Like - этот оператор означает, что свойство должно содержать значение.

Starts withEnds with - фильтрация по началу или завершению.

Некоторые свойства поддерживают два типа выбираемых значений:

Можно добавлять несколько правил, для этого щёлкните на кнопку Add rule и задайте ещё одно правило. После задания нового правила можно будет выбрать, каким оператором они будут соединяться: And или Or.

Все последующие правила будут объединены выбранным оператором. Нажмите Submit для применения фильтра, а если нужно, чтобы несколько правил было объединено разными операторами, то используйте группы.

Группы

Для добавления группы нажмите на кнопку Add group. Внутри группы можно создавать правил или группы.

Если в группе больше одного правила, то их можно объединять операторами And или Or. Группа правил будет работать так же, как отдельное правило вне группы и будет объединяться оператором вне группы. Можно создавать группы внутри других групп, для этого щёлкните на кнопку Add group внутри группы.

Правила и группы можно перемещать. Для перемещения группы или правила нужно перетащить её за кнопку. Для удаления правила или группы нажмите на кнопку Delete.

При активации кнопки Not объекты, не соответствующие группе, будут отфильтрованы. Для применения фильтра нажмите на кнопку Submit. Кнопка Cancel отменяет фильтр. Кнопка Clear filter удаляет фильтр.

После применения фильтра фильтр автоматически появляется в списке Recent used (последние использованные). Максимальная длина списка - 10 элементов.


Сортировка и фильтрация списков

На странице Projects, в списке задач на странице проектов, страницах TasksJobs и Cloud storages можно использовать сортировку и фильтры.

Применённые фильтр и сортировка будут отображаться в URL браузера, Таким образом, вы можете делиться страницей с применёнными фильтром и сортировкой.

Сортировка по параметрам

Можно выполнять сортировку по следующим параметрам:

  • Список Jobs: по ID, ответственному пользователю, дате обновления, этапусостоянию, ID задачи, ID проекта, имени задачи, имени проекта.

  • Список Tasks или список задач на странице проекта: по ID, владельцу, состоянию, ответственному пользователю, дате обновления, подмножествурежимуразмерности, ID проекта, имени, имени проекта.

  • Список Projects: по ID, ответственному пользователю, владельцу, состоянию, имени, времени обновления.

  • Список Cloud storages: по ID, типу поставщика, времени обновления, отображаемому имени, ресурсуучётным данным, владельцу, описанию.

Для применения сортировки перетащите параметр в верхнюю область над горизонтальной полосой. Параметры под горизонтальной линией не применяются. Перемещая параметры, можно менять их приоритет, сначала сортировка происходит по параметрам, находящимся наверху.

При нажатии кнопки Sort выполняется изменение порядка сортировки, Ascending sort/Descending sort (по возрастанию/по убыванию).

Быстрые фильтры

В Quick Filters (быстрых фильтрах) находится множество часто используемых фильтров:

  • Assigned to me - показывает только те проекты, задачи или работы, которые назначены вам.

  • Owned by me - показывает только те проекты или задачи, владельцем которых являетесь вы.

  • Not completed - показывает только те проекты, задачи и работы, состояние которых отличается от completed (завершено).

  • AWS storages - показывает только облачные хранилища AWS

  • Azure storages - показывает только облачные хранилища Azure

  • Google cloud storages - показывает только облачные хранилища Google

Выбор даты и времени

При создании правила Last updated можно выбрать дату и время в окне выбора.

Можно выбрать год и месяц при помощи стрелок или нажав на год и месяц. Для выбора дня нужно нажать на него в календаре. Для выбора времени можно выбрать часы и минуты в раскрывающемся списке. Или же можно выбрать текущие дату и время, нажав на кнопку Now. Для применения выбора нажмите на Ok.

2.26 - Review

Руководство по использованию Review mode (режима проверки) для валидации задачи.

Этот специальный режим для проверки аннотации позволяет указывать на кадре объект или область, содержащую ошибку. Review mode недоступен для 3D-задач.

Review

Для выполнения проверки необходимо изменить состояние нужной работы на validation на странице задачи, и назначить пользователя, который будет проводить проверку. После этого работа будет открываться в режиме проверки. Также можно переключиться в Review mode при помощи переключателя UI в верхней панели.

Review mode - это режим UI, в котором есть специальный инструмент Issue, позволяющий указать объекты или области в кадре и описать проблему (issue).

  • Для этого сначала нажмите на значок Open an issue в боковой панели управления:

  • Затем нажмите на место в кадре для выделения места или выделите область, удерживая левую клавишу мыши, после чего опишите проблему. Для выбора объекта нажмите на него правой клавишей мыши и выберите Open an issue или выберите одну из нескольких quick issue (быстрых проблем). Объект или область будут подсвечены красным.

  • Созданная проблема появится в рабочем пространстве и во вкладке Issues боковой панели Objects.

  • После завершения разметки всех проблем сохраните аннотацию, откройте меню и выберите состояние работы rejected или completed.

После проверки другие пользователи смогут увидеть проблемы, прокомментировать каждую проблему изменить состояние проблемы на Resolved.

После устранения проблем выберите Finish the job в меню и завершите задачу. Или же на странице работы можно сменить этап на acceptance.

Разрешение проблем

После проверки вы сможете просматривать проблемы во вкладке Issues боковой панели Objects.

  • Можно использовать стрелки во вкладке Issues для перехода к кадрам, содержащим проблемы.

  • В рабочем пространстве можно щёлкнуть на проблему, оставить комментарий о проблеме или, если проблема разрешена, изменить состояние на Resolve. Можно удалить проблему, нажав на Remove (если у вашего аккаунта есть соответствующие разрешения).

  • Если в одном месте было создано несколько проблем, можно получить к ним доступ, наведя курсор мыши на проблему и прокрутив колесо мыши.

Если проблема разрешена, можно открыть проблему повторно, нажав на кнопку Reopen.

2.28 - Группирование фигур

Группирование нескольких фигур при аннотировании.

Эта функция позволяет группировать несколько фигур.

Можно использовать кнопку Group Shapes или горячие клавиши:

  • G — начало выбора/завершение выбора в group mode

  • Esc — закрытие group mode

  • Shift+G — сброс группы для выбранных фигур

Выбирать фигуры можно, нажимая на них или выбирая область.

Сгруппированные фигуры будут иметь group_id, указанный в сдампленной аннотации.

Также можно переключить распределение цветов с отдельных экземпляров (по умолчанию) на группы. Для этого нужно установить флажок Color By Group.

Фигуры, не имеющие group_id, будут выделены белым цветом.

2.29 - Мониторинг аналитики

Использование Analytics для мониторинга статистики использования.

Если инстанс CVAT был создан с поддержкой аналитики, можно нажать в dashboard на кнопку Analytics, после чего в новой вкладке откроются аналитика и журналы.

Аналитика позволяет просматривать, сколько времени каждый пользователь тратит на каждую задачу и какой объём работы он проделал за любой временной промежуток.

Также в ней есть график активности, в котором можно изменять количество отображаемых пользователей и временной промежуток.

Комментарии (3)


  1. IamSVP
    01.08.2022 11:32

    Добрый день! Спасибо за суперподробное описание, правильно ли я понял, что теперь CVAT становится на коммерческие рельсы и open-source не рассматривается?!


  1. ZlodeiBaal
    01.08.2022 15:06

    Какой офигенный гайд! Спасибо!


  1. xsevenbeta
    02.08.2022 09:06

    Фигасе. Очень ёмко.