目录

一、CVAT安装

step1 安装docker

step2 获取权限

step3 获取权限

step4 克隆cvat源代码

step5 构建docker镜像

step6 运行Docker容器这一步要下载公共docker映像,耗时看网速,但是不会太久。

step6 创建管理员用户

step7 关闭cvat服务

二、CVAT安装及图片标注使用教程

1. 注册

2. 基本标注

2.1 创建Task

2.2 Task列表页面

2.3 Task内页

2.4 标注页面

2.5 标注小技巧

3.下载标注结果
主要借鉴了以下几篇文章:

[常用工具] cvat安装与使用指北_落痕的寒假的博客-CSDN博客_cvat安装

CVAT使用说明 - 作业部落 Cmd Markdown 编辑阅读器

CVAT使用的一点总结 - 知乎

一、CVAT安装

step1 安装docker

cvat在docker下运行,要先安装docker。

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

step2 获取权限

在没有root权限的情况下运行docker需要获取权限,获取权限后务必重启系统

sudo groupadd docker
sudo usermod -aG docker $USER

step3 获取权限

安装docker-compose(1.19.0或更高版本)。Compose是用于定义和运行多容器Docker应用程序的工具。

sudo apt-get --no-install-recommends install -y python3-pip python3-setuptools
sudo python3 -m pip install setuptools docker-compose

这一步可能会出现报错:

aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Kylin/kylin

这是因为安装优麒麟的软件后系统/etc/lsb-release的文件信息被改了,输入指令:

sudo gedit /etc/lsb-release

发现文件是这个样子的:

改为:

  1. DISTRIB_ID=Ubuntu

  2. DISTRIB_RELEASE=18.04

  3. DISTRIB_CODENAME=bionic

  4. DISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS"

重新执行 step3 获取权限 ,应该就没什么问题了。

step4 克隆cvat源代码

官方github仓库很慢,所以我就用了gitee镜像。

  1. sudo apt-get --no-install-recommends install -y git

  2. git clone https://gitee.com/luohenyueji/cvat

  3. cd cvat

step5 构建docker镜像

这一步是最难也是耗时最长的一步,会下载很多东西包括一堆python库,所以慢慢等待。对于python库得安装建议使用镜像。具体做法,打开上一步下载的源代码目录cvat/Dockerfile文件,找到Install requirements这项。然后修改并添加相应的python镜像。我用的是阿里云镜像,可以换成别的。

#RUN DATUMARO_HEADLESS=1 python3 -m pip install --no-cache-dir -r /tmp/requirements/${DJANGO_CONFIGURATION}.txt
RUN DATUMARO_HEADLESS=1 python3 -m pip install -r /tmp/requirements/${DJANGO_CONFIGURATION}.txt -i https://mirrors.aliyun.com/pypi/simple/

然后在cvat目录输入以下指令就慢慢等待吧,如果中途安装失败,再次输入指令就好了,注意要使用sudo。

sudo docker-compose build

step6 运行Docker容器
这一步要下载公共docker映像,耗时看网速,但是不会太久。

docker-compose up -d

这一步结束后,就能打开你的cvat网站,但是需要用谷歌浏览器使用。安装过了谷歌浏览器就不用管,没有见安装方法ubuntu18.10安装chrome浏览器。

这时候谷歌浏览器打开localhost:8080就能够看到cvat页面,如下所示

点击creaate an account就能够创建普通用户,但是第一次使用最好创建管理员账户,具体看下一步。

step6 创建管理员用户

输入以下命令,然后有提示创建管理员账户密码就行了。

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

step7 关闭cvat服务
运行step6后,哪怕重启服务器,cvat服务还是继续运行的。要关闭在cvat目录输入以下指令:

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

要重新开启就重复step6。

二、CVAT安装及图片标注使用教程

1. 注册

  • 第一次使用CVAT时需要注册,
  • 用户注册完就可以去创建标注任务了

2. 基本标注

2.1 创建Task

  • 登录后会看到如下图界面,CVAT的标注最小单位是Task,每个Task为一个标注任务。点击Task按钮可以看到已创建的task, 点击创建新task。

  • 创建新任务的页面如下,按照如下标识的步骤,第一步填写任务名称,要关联的Project名称(可选),第二步设置标签,第三步选择标注数据来源,第四步选择高级设置参数,第五步提交。

label 标签详解

  • 添加label标签有两种模式:Raw和Constructor,Constructor是可以逐一添加、调整label设置的,设置新增标签名称、颜色、属性等。假如要使用筛选功能,可在此处添加“selected”标签,后续可根据此标签对标注数据进行筛选。

Raw则是可以一键复制所以label设置的json格式的文件,此功能在多个任务对应标签一致时,可以很方便的设置多个标签。Raw示例内容如下图所示,json内容可以通过Copy按钮复制内容用于新任务label设置,粘贴后点击Done保存当前设置,Reset则是维持原来的设置,比如新任务中某标签颜色改变,更改后发现新设置不合适,Reset可以一键还原原始设置。

高级配置 Advanced configuration很多参数目前阶段用不到,以下仅对几个常用的参数进行说明:

Use zip chunks: 针对视频数据,压缩成zip格式
Use cache: 数据缓存
Image quality: 用于指定上传的图片质量,当高分辨率图片上传太慢时可以降低分辨率提速,但上一步选择从服务器读取数据的话,图片读取速度会大大提升。
Overlap size:把目前的数据分成N个Job进行标注时,每个Job之间重复的帧数;
Segment size: 把目前的数据分为N个Job,N就是这里的值,主要用于图片太多,需要多个人一起标注的场景,每个人标一个Job,用此参数将数据分块;
Start frame: 采集的视频数据可能并不需要全部标注,比如目标帧可能仅仅只是其中第20-100帧,此参数用于设置从第几帧开始标;
Stop frame: 跟Start frame对应,这是结束帧位置;
Frame step: 可能不需要每帧都标,比如每隔M帧标一帧,M即是此处的值;
其他参数暂不需要,详见官方文档。

2.2 Task列表页面

  • 创建好的Task长这样

Actions中展开:
Upload annotations: 支持标签导入,比如在Crowdhuman公开数据集已有的人头和人体标签前提下,想继续标注此数据集中的车辆,用于人头、行人、车三类目标的训练集,就可以使用此功能将人头和人体标签导入,仅用CVAT标注车辆标签即可。具体操作移步本教程第5章“标签导入”。
Export task dataset: 下载数据集标签到本地。
Automatic annotation: 半自动标注,CVAT支持用预训练模型对数据集在线生成标签,如此可以大大提升标注效率,详见第6章“半自动标注”。
Export task: 支持导入或导出一个已有的task, 详见此处。
Move to project: 顾名思义,移动本task到另一个project中,移动过程中出现的标签属性变化和标签不匹配问题需要重新对应修改标签设置。
Delete: 删除本task。

2.3 Task内页

  • Task内页如下图所示,在Task内页中,可以对task的一些基本信息进行修改,也可以对任务进行分配,多人协同标注时,查看标注进度等。说明如下:

任务名称,可修改
此Actions同2.2节的Actions说明
Issue Tracker,一般不用,暂时不管
标签设置,可修改
将此Task分配给某个成员
将此Job分配给某个成员进行标注
确定质检员,由谁来质检标注数据质量
2.4 标注页面
点击相应Job,就会进入标注界面。界面分为5个部分,如下图所示:

Header: 主要包括CVAT的几个基本功能导航,以及当前用户相关设置, 基本功能包括Project\Tasks\Cloud Storages\Models,分别表示标注项目、标注任务、云存储、预训练模型。
Top panel: 主要包括图片导航(选择图片)、Menu、保存、撤销/恢复、全屏、标注结果统计、mode切换。
Workspace: 工作区,图像所在区域。
Controls sidebar: 控制相关命令侧边栏,包括设置图片大小、位置,创建shape、编辑tracks等标注基本功能。
Object sidebar: 标签相关侧边栏,包括两个选项(objects和labels),还有 appearance 相关设置(就是各类标签的展示颜色、透明度等)。
Navigation 相关
CVAT提供选择上一帧、下一帧、以step为单位,跳转至下(上)一帧,顺序播放每一帧、跳转至开始、结尾帧等功能。
选中帧后,要选择图像的位置以及缩放有以下几个基本操作:
移动图像/选择中心位置:使用第一张图的选项。
另外两个功能是:使图像适应屏幕大小/选择一块区域放大。

标注小技巧
标注过程中的快捷键可以省很多力气,以下是比较常用的几个,更多请见官方文档此处:
保存: Ctrl + S
删除: Delete
缩放:鼠标滚轴,往上放大,向下缩小
拖动:鼠标左键点击并拖动图片,调整位置
下一帧:F
上一帧:D
向后跳十张: Shift+Ctrl + V
向前跳十张: Shift+Ctrl + C
复制框:Ctrl + C
粘贴框:Ctrl + V
重复上一次标注框参数:N,比如连续标一类头框,那么每次重复标时按N可以直接标下一个头框
对选定对象连续标注接下来所有帧内此对象:Ctrl + B
转换标签:Ctrl+(0..9)
3.下载标注结果

CVAT安装及使用教程:

CVAT安装及图片标注使用详细教程[含踩坑记录]_问题多多快快改的博客-CSDN博客

安装过程注意事项:

【1】step2这一步执行完,reboot服务器后,输入groups,输出有docker,即成功;

【2】step3最好指定下docker-compose版本(大于等于1.19.0)

sudo apt-get --no-install-recommends install -y python3-pip python3-setuptools
sudo python3 -m pip install setuptools docker-compose==1.19.0

【3】step4使用的是码云cvat镜像库,git拉取即可,也可以用笔记本clone下来后复制到服务器。

【4】step5会提示 no proxy,忽略即可,不影响;

【5】step6指令docker-compose up -d,这个指令会pull很多镜像库并启动服务容器,事先需(配置一些国内镜像库+改超时阈值),配置方法如下:

注意:如果镜像+超时阈值均已设置,仍提示timeout,就重复操作几次,timeout应该与网络有关;

5.1:配置国内docker镜像库(这里添加了网上能找到的11个国内镜像):

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [

"http://hub-mirror.c.163.com",

"https://hub-mirror.c.163.com",

"https://docker.mirrors.ustc.edu.cn",

"https://reg-mirror.qiniu.com",

"https://4iydscvo.mirror.aliyuncs.com",

"https://mirror.ccs.tencentyun.com",

"http://f1361db2.m.daocloud.io",

"https://registry.aliyuncs.com",

"https://hccwwfjl.mirror.aliyuncs.com",

"https://registry.docker-cn.com",

"https://yxzrazem.mirror.aliyuncs.com"

]

}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

service docker restart

5.2:改超时阈值方法(设置1万秒):

docker-compose up 启动容器服务超时错误:ERROR: An HTTP request took too long to complete. Retry with --verbose_docker conpose up -d 执行一半超时_tandaly的博客-CSDN博客

cvat服务启动成功显示结果如下:

【6】steps创建用户

【7】chrome浏览器安装及登录

安装方法:

sudo apt-key add linux_signing_key.pub

sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'

sudo apt-get update

sudo apt-get --no-install-recommends install -y google-chrome-stable

登录网址:

localhost:8080

【8】更多CVAT使用方法请参考后续CVAT安装及使用教程(CVAT安装及图片标注使用详细教程[含踩坑记录]_问题多多快快改的博客-CSDN博客);

常用docker指令

查看镜像:docker images

删除单个镜像:docker rmi -f 镜像id

强制删除容器:docker rm -f 容器id

查看所有容器:docker ps -a

拉取镜像:docker pull 镜像名,如 docker pull hello-world

数据标注平台(CVAT)安装及踩坑记录相关推荐

  1. Anaconda3安装tensorflow踩坑记录

    Anaconda3安装tensorflow2.2踩坑记录 本次安装是在py版本为3.6的虚拟环境下安装: 首先激活环境 activate py36(name) activate py36 然后下载 p ...

  2. CVAT安装及图片标注使用详细教程[含踩坑记录]

    cvat是一个图像标注工具,记录一下安装和使用过程: 目录 一.CVAT安装 step1 安装docker step2 获取权限 step3 获取权限 step4 克隆cvat源代码 step5 构建 ...

  3. 厚积薄发打卡Day55 :[狂神]Redis详细教程(上)<从Nosql 概述到WSL安装Redis踩坑记录>

    视频教程:[狂神说Java]Redis最新超详细版教程通俗易懂 Nosql概述 时代背景: 1.单机数据库时代 90年代:一个基本的网站访问量一般不会太大,单个数据库完全足够! 那个时候,更多的去使用 ...

  4. tutor安装openedx踩坑记录

    因为业务需求需要搭建慕课网站,我采用的是openedx框架,但是原声系统搭建起来比较麻烦,所以使用了别人做的精简版的docker镜像,可以一键安装,下载地址点这里 安装过程以及使用过程中遇到不少麻烦, ...

  5. mac的angular/cli安装及踩坑记录

    一.angular/cli的安装 step1:node+npm安装 首先使用node -v命令查看mac是否已安装node与npm(如已安装则跳过) node -v npm -v 安装Node.js ...

  6. openmeetings6.10安装配置 踩坑记录

    2021SC@SDUSC 本文采用的是下载源码并利用idea安装依赖.进行配置的方法 openmeetings6.10源码下载地址: Github apache/openmeetings 官方源码运行 ...

  7. SequelPro安装和踩坑记录

    入坑 由于项目使用mysql数据库,之前一直在使用JetBrains全家桶中的DataGrip,由于老过期-被人推荐使用SequelPro,看了下界面风格确实简洁,遂开始入坑. 安装 官网直接下载,简 ...

  8. 安装ngtpy踩坑记录(C++打包Python的一些小坑)

    文章目录 前言 一.前期准备 二.大致步骤 坑一:关于解释器的问题 坑二:关于pybind11 写在后面 前言 最近需要使用NGT包,链接: 参考博客,这篇博客对NGT包做了简介,其主要内容翻译自源码 ...

  9. 文本数据标注平台-doccano安装使用教程

    doccano简介 doccano 是一个开源的文本注释工具.它为文本分类.序列标记和序列到序列任务提供注释功能.因此,可以为情感分析.命名实体识别.文本摘要等创建标记数据.只需创建一个项目,上传数据 ...

最新文章

  1. 我们错了 - One of us is wrong
  2. 一个java文件里面可以写多少个class
  3. 数据库函数..........
  4. POJ3254Corn Fields 状压dp
  5. php 双问号 语法,JS 新语法「可选链」「双问号」已进入 Stage 3
  6. android10 谷歌服务框架,google服务框架下载官方版
  7. 《凤凰项目 一个IT运维的传奇故事》读后感
  8. 完全相同的4个小矩形如图所示放置_使用全站仪测量的小知识,全是干货!
  9. Java中SpringBoot项目集成Easy版支付宝支付
  10. AR涂涂乐⭐九、视频展示及涂涂乐源文件
  11. 查询宇宙生命的家谱--TaxonKit工具详解
  12. Java学习——Day14:网络编程
  13. centos7虚拟机安装elasticsearch5.0.x-安装篇
  14. FPGA实现的SPI协议(二)----基于SPI接口的FLASH芯片M25P16的使用
  15. python基本语法学习笔记
  16. 原生JS简单的无缝自动轮播
  17. 大数据揭秘诺奖评选“潜规则”
  18. 产品总监晋升之路(1):选育育留之产品经理胜任力模型
  19. 吴恩达ML WEEK7 机器学习
  20. 学习单片机的第18天—A/D和D/A工作原理(3)

热门文章

  1. 百度松果菁英班东华二期25周oj赛
  2. 教你手机如何查看真实的IP地址
  3. 表面粗糙度符号表示方法及表面粗糙等级的特征
  4. 想养花,先了解这18种(不收藏是你的损失)
  5. 请求赐教,恒波的软件
  6. 什么是求实型人格?求实型人格的职业发展
  7. Spring 官网阅读指南
  8. 如何让学习成为一种习惯
  9. 苹果电脑Catalina中的iPhone备份文件怎样删除?
  10. flutter中Future.delayed延迟任务