先理一下关系:
CVAT是专门标注图片/视频的计算机视觉领域标注数据集的常用工具
WSL是Windows上的"简化版Linux虚拟机",不用重装系统,就能在Windows上用Ubuntu等 Linux 环境。Ubuntu是最常用的Linux发行版,稳定适配开发/部署场景
Docker是环境打包工具,可以把CVAT、依赖、配置全装进去,可以跨系统一键运行
而官方打包的CVAT Docker镜像里,Web服务默认是在容器内部的8080端口监听请求的,所以最后访问http://localhost:8080,Docker会把这个请求转发到 CVAT 容器内部的 8080 端口,最终就能连上 CVAT 的 Web 界面。
安装WSL
按下"Win+X",选择"终端管理员",输入如下命令
bash
wsl --install
安装完成后,系统会提示你重启
若Ubuntu未能自动安装
如果只安装了wsl核心组件,而没有自动安装Ubuntu发行版的话,需手动指定版本
bash
wsl --install -d Ubuntu-22.04
下图为我指定下载完成后的界面,接着就是设置用户名和密码

设置 Linux 用户信息
重新启动计算机,使用"开始"菜单打开「Ubuntu」应用,系统会提示你为 Linux 发行版创建"用户名"和"密码"
此用户名和密码特定于安装的每个单独的 Linux 分发版,与 Windows 用户名无关。
输入密码时,屏幕上不会显示任何内容,这称为盲人键入,是完全正常的。
创建用户名和密码后,该帐户将是分发版的默认用户,并将在启动时自动登录。此帐户将被视为 Linux 管理员,能够运行sudo管理命令。下图为设置成功后的界面

忘记密码
如果你后续忘记了密码,可以在 Windows 终端(管理员)里执行:
bash
wsl -u root
进入 root 模式后,再用下面的命令重置密码(your_username是你之前设置的用户名)
bash
passwd your_username
更新和升级软件包
设置完成Linux用户信息后,更新升级一下软件包
bash
sudo apt update && sudo apt upgrade -y
去 Docker 官网下载并安装 Docker Desktop
可从上面的链接直接进入安装。安装时会自动识别你的 WSL2 环境,无需额外配置
启用WSL 集成
打开 Docker Desktop,点击右上角的齿轮图标进入Settings

在左侧菜单中选择 Resources → WSL Integration
找到并勾选你安装的Ubuntu
点击右下角的 Apply & Restart 保存设置,Docker 会自动重启

开启 WSL 集成后,Docker Desktop 会把Docker引擎直接部署到你的 Ubuntu-22.04 环境中。这样你在 Ubuntu 终端里执行 docker 和 docker compose 命令时,就会直接调用 Docker Desktop 的引擎,两者无缝衔接。
克隆CVAT仓库
进入Ubuntu终端,运行如下代码
bash
git clone https://github.com/cvat-ai/cvat
如果遇到克隆速度极慢或超时(WSL无代理),下载 CVAT 源码压缩包,地址如下GitHub - cvat-ai/cvat: Annotate better with CVAT, the industry-leading data engine for machine learning. Used and trusted by teams at any scale, for data of any scale.
Ubuntu 刚装好,默认没有解压 zip 的工具,执行如下命令
bash
sudo apt install unzip -y
Ubuntu 可以直接访问 Windows 的所有磁盘和文件,不用手动复制粘贴、不用传文件,直接在 Ubuntu 终端执行如下命令
bash
cd /mnt/c/Users/你的Windows用户名/Downloads
执行如下命令,在Ubuntu 终端解压 CVAT 源码包
bash
unzip cvat.zip -d ~
完成后界面如下(有的内容不方便展示)

进入 CVAT 目录
bash
cd ~/cvat
启动 CVAT 所有服务,Docker 会自动下载 CVAT 需要的所有镜像
bash
docker compose up -d
握手超时
如果出现了TLS 握手超时,强制关闭卡死的 Ubuntu 终端窗口,打开你Docker Desktop,点击右上角Settings,左侧菜单栏选择Docker Engine,清空并粘贴如下代码到编辑框
bash
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
点击右下角的Apply&Restart按钮
回到 Ubuntu 终端,重新执行如下操作
bash
cd ~/cvat
# 清理之前卡死的残留进程(保险操作)
docker compose down
docker compose up -d
执行完成后的界面大致如图所示,我的这个有的错位了

创建CVAT超级账户
然后再创建你的 CVAT 专属登录账号,需输入用户名、随便真假邮箱、密码,然后确认密码,就成功了
bash
docker exec -it cvat_server bash -ic 'python3 ~/manage.py createsuperuser'
创建成功界面如下

打开谷歌浏览器访问
打开谷歌浏览器,访问http://localhost:8080,回车后,会弹出 CVAT 的登录界面,输入刚刚创建的用户名和密码,点击登录,就成功进入 CVAT 的标注工作台了!🎉🎉🎉

后续要打开CVAT,只需打开 Docker Desktop,启动CVAT 容器(电脑关机会自动关闭),就能通过访问浏览器进入CVAT 界面了

NVAT使用
点击右上角"+"号创建一个新任务

起个名字

添加一些标签,可选择框的形状,点击"Done"

然后添加要标注的图片或者视频

点击"submit&open",就有了任务,我们可以分配任务,默认有个"Job #1"

点击"Job #1",就进入了CVAT的标记界面,左边是一些控件

点击矩形,可以选标签,然后点击"Shape"

放置十字到指定位置,点两次画框

就完成了如下标注

还可以用多边形(按N表示完成),但我前面选择了这个任务只有矩形,其它控件图标如下

若是视频,可以点击上方的进度条选择帧

标注完成后,点击左上角的保存

还可以进行导出
