【标注工具】Ubuntu20.04 下 CVAT 的安装及使用教程

该文章已生成可运行项目,

一、背景

随着数据量和应用场景的增加,本人在数据标注的路上一去不复返,经常是一杯茶一包烟,一批数据标几天。作为一项枯燥无聊,流水线化的工作,却是深度(监督)学习至关重要的一环,标注数据质量的好坏直接影响模型学习效果。为了提升标注效率,就得找一些自动或半自动的标注工具,网上一搜有很多[1-2],最终选了 CVAT 这款工具。CVAT 支持图像和视频标注,多种标注任务和丰富的标签格式,也支持使用自己训练的模型进行自动化标注,但不好的地方在于安装过程稍显复杂(实际最难的是网络环境导致的各种安装失败),因此特意记录一下。

二、安装教程

CVAT 支持在线和离线两种方式,在线方式使用比较简单,进入官网注册后就可以标注了,免费用户有数据限制,如果数据量大可能需要购买会员;离线方式则是完全免费使用,无数据限制,本文主要介绍 CVAT 的离线方式(本地化部署)。

首先放上官方代码库和安装教程

https://github.com/cvat-ai/cvat

Installation Guide | CVAT

1. Docker 安装

 CVAT 使用 Docker 安装,如果是第一次使用,需要安装 Docker 和 Docker Compose,输入以下命令:

sudo apt-get update
sudo apt-get --no-install-recommends install -y \
  apt-transport-https \
  ca-certificates \
  curl \
  gnupg-agent \
  software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
  "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"
sudo apt-get update
sudo apt-get --no-install-recommends install -y \
  docker-ce docker-ce-cli containerd.io docker-compose-plugin

如果安装失败,需要更换 apt 源[3],Ubuntu24.04 之前的版本,将 /etc/apt/sources.list 备份后,把其中的内容替换为以下内容:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted ,universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

2. 提升权限(可选)

为了避免每次使用 sudo 运行 docker 命令,可以创建一个名为 docker 的 Unix 组,并将当前用户添加到该组中:

sudo groupadd docker
sudo usermod -aG docker $USER

重新登录即可关联用户,输入 groups 命令可以查看是否成功添加用户。

3. 克隆源码

运行以下命令克隆最新源码:

git clone https://github.com/cvat-ai/cvat

 如果克隆失败可以到 github 官方仓库里下载 zip 包并解压到本地。

之后 cd 到安装目录

cd cvat

4. 多用户使用(可选)

如果要跨网或跨设备访问(团队协作中会用到),需要添加环境变量:

export CVAT_HOST=FQDN_or_YOUR-IP-ADDRESS

FQDN 是你的网站域名,或者使用本机 ip。

5. 运行 Docker

输入以下命令下载最新的 CVAT 和其他所需镜像(如 postgres、redis)并启动容器,注意这步最耗时,推荐使用 VPN 下载,如果失败可以多试几次。

docker compose up -d

第一次运行时拉取镜像失败,报如下错误

docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).

/etc/docker 下新建 daemon.json,添加以下内容[4]:

{
  "registry-mirrors": ["https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"]
}

 重启 Docker

systemctl daemon-reload
systemctl restart docker

指定版本(可选) 

使用 CVAT_VERSION 环境变量指定要安装特定版本的 CVAT 版本(例如v2.1.0,dev)。

CVAT_VERSION=dev docker compose up -d

6. 用户注册

创建一个超级用户,超级用户拥有查看任务列表、为用户分配正确的组等权限

docker exec -it cvat_server bash -ic 'python3 ~/manage.py createsuperuser'

7. 启动

打开浏览器并转到 localhost:8080 即可打开登录界面,输入之前创建的超级用户名和密码即可登入使用。

8. 关闭

停止并移除所有容器,重新启动时运行步骤5。运行 CVAT 还是挺吃资源的,不用的时候最好是关掉服务,用的时候再重新打开。

docker compose down

9. 删除

如果想要删除 CVAT 镜像,首先执行步骤8关闭 CVAT 服务,再删除镜像。

输入 docker images 查看所有镜像

找到 CVAT 有关的镜像并删除(根据 IMAGE ID 前三位删除即可)

docker rmi a96
本文章已经生成可运行项目
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值