Установка и настройка CVAT для разметки данных

Computer Vision Annotation Tool (CVAT) — это мощный инструмент с открытым исходным кодом, разработанный для упрощения процесса разметки изображений и видео. В этой статье мы подробно рассмотрим, как установить и настроить CVAT для эффективной работы.

Полный гайд по работе в CVAT читайте в этой статье.

Требования к системе

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

  • Операционная система: Linux (предпочтительно Ubuntu 18.04 или выше), macOS или Windows 10/11.
  • Аппаратные ресурсы:
    • Процессор: многоядерный CPU.
    • Оперативная память: минимум 8 ГБ (рекомендуется 16 ГБ и более).
    • Свободное место на диске: минимум 50 ГБ.
  • Программное обеспечение:
    • Docker: версия 20.10 и выше.
    • Docker Compose: версия 1.29 и выше.
    • Git: для клонирования репозитория CVAT.

Полная инструкция по установке CVAT для разных ОС и настройке есть также на официальном сайте cvat.ai.

Установка Docker и Docker Compose

Установка Docker

На Ubuntu:

sudo apt update
sudo apt install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

# Добавляем официальный GPG ключ Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# Добавляем Docker репозиторий
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

# Устанавливаем Docker Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

# Проверяем установку
sudo docker run hello-world

На macOS и Windows:

Скачайте и установите Docker Desktop с официального сайта docker.com.

Установка Docker Compose

Docker Compose обычно уже включен в Docker Desktop для macOS и Windows. Для Linux выполните следующие команды:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# Делаем файл исполняемым
sudo chmod +x /usr/local/bin/docker-compose

# Проверяем версию
docker-compose --version

Клонирование репозитория CVAT

Выберите директорию для установки CVAT и клонируйте репозиторий:

git clone https://github.com/opencv/cvat.git
cd cvat

Настройка и запуск CVAT

Настройка переменных окружения

CVAT использует файл .env для хранения переменных окружения. Создайте его на основе шаблона:

cp .env.example .env

При необходимости отредактируйте .env, чтобы настроить порты, учетные данные и другие параметры.

Запуск CVAT

Запустите сервисы CVAT с помощью Docker Compose:

docker-compose up -d

Эта команда автоматически соберет и запустит все необходимые контейнеры в фоновом режиме.

Проверка состояния сервисов

Убедитесь, что все контейнеры запущены и работают корректно:

docker-compose ps

Вы должны увидеть список контейнеров с состоянием “Up”.

Доступ к веб-интерфейсу CVAT

Откройте браузер и перейдите по адресу: http://localhost:8080

Если вы устанавливаете CVAT на удаленном сервере, замените localhost на IP-адрес сервера.

Первоначальная настройка CVAT

Создание учетной записи администратора

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

  • Username: выберите уникальное имя пользователя.
  • Email: укажите действующий адрес электронной почты.
  • Password: установите надежный пароль и подтвердите его.

6.2. Настройка пользователей и ролей

В разделе “User Management” вы можете добавлять новых пользователей, назначать роли и управлять доступом.

Конфигурация дополнительных функций

Интеграция с облачными хранилищами

CVAT поддерживает интеграцию с AWS S3, Azure Blob Storage и другими облачными сервисами. Для настройки:

  • Отредактируйте файл cvat/settings/base.py.
  • Добавьте необходимые параметры подключения к вашему облачному сервису.

Настройка SSL (HTTPS)

Для обеспечения безопасности рекомендуется настроить SSL-сертификат:

  • Настройте обратный прокси-сервер (например, Nginx).
  • Получите SSL-сертификат от Let’s Encrypt или другого провайдера.
  • Настройте перенаправление HTTP на HTTPS.

Настройка LDAP-аутентификации

Для интеграции с корпоративным LDAP-сервером:

  • Отредактируйте файл docker-compose.yml, добавив необходимые переменные окружения для LDAP.
  • Перезапустите контейнеры CVAT.

Обновление CVAT

Регулярно проверяйте обновления CVAT для получения новых функций и исправлений:

# Остановите текущие контейнеры
docker-compose down

# Обновите репозиторий
git pull origin develop

# Пересоберите образы
docker-compose build

# Запустите обновленные контейнеры
docker-compose up -d

Резервное копирование и восстановление данных

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

Сохраните данные базы данных и файлового хранилища:

# Бэкап базы данных

docker exec -t cvat_db pg_dumpall -c -U root > cvat_db_backup.sql

# Бэкап файлов

tar -czvf cvat_data_backup.tar.gz data/

Восстановление

Для восстановления данных:

# Восстановление базы данных

cat cvat_db_backup.sql | docker exec -i cvat_db psql -U root

# Восстановление файлов

tar -xzvf cvat_data_backup.tar.gz -C /

Часто задаваемые вопросы по CVAT.

Где хранятся загруженные изображения/видео.

Загруженные данные сохраняются в cvat_data томе Docker:

volumes:

  - cvat_data:/home/django/data

Где хранятся аннотации?

Аннотации хранятся в базе данных PostgreSQL. Файлы базы данных хранятся в cvat_dbтоме docker:

volumes:

  - cvat_db:/var/lib/postgresql/data

Выберите модель DL. Для туториала я выберу популярную библиотеку AI с большим количеством моделей внутри. В вашем случае это может быть ваша собственная модель. Если она основана на detector2, то ее будет легко интегрировать. Просто следуйте туториалу.

Detectron2 — это библиотека следующего поколения от Facebook AI Research, которая предоставляет самые современные алгоритмы обнаружения и сегментации. Она является преемником Detectron и maskrcnn-benchmark. Она поддерживает ряд исследовательских проектов и производственных приложений компьютерного зрения в Facebook.

Клонируйте репозиторий куда-нибудь. Я предполагаю, что все остальные эксперименты будут запускаться из клонированного detectron2 каталога.

git clone https://github.com/facebookresearch/detectron2
cd detectron2

Подробное руководство serverless.


Ваша заявка успешно отправлена!

Мы скоро свяжемся с вами для обсуждения деталей проекта