目标检测之标注工具
1.前言
开始我用的是 labelimg ,后来发现越来越多的其他的标注工具,于是就一一整理了下。
1.labelimg
(1)安装
1 | # 安装 |
(2)标记图片
打开 labelimg 工具,使用矩形框进行数据标注,然后保存为 Yolo 格式。yolo 格式是txt,VOC格式是xml。
(3)保存
使用 矩形框 标注之后,点击保存,将标注好的 txt 文件保存到 labels 文件夹下。
【1】.13个最受欢迎的图像标注工具【机器学习】 V7、Labelbox、Scale AI、SuperAnnotate、DataLoop、Playment、Supervise.ly、Hive Data、CVAT(英特尔免费的)、LabelMe、Labelimg、VoTT(微软免费)、ImgLab
【2】.目标检测—利用labelimg制作自己的深度学习目标检测数据集 这里介绍了 labelimg 的使用
【3】.CVAT标注平台导出格式转YOLOv8格式 但是我这里的YOLO格式导出后txt里面没有标注内容,不知道为什么,因此采用了先转COCO格式,再手动代码转YOLO格式。
【4】.标注工具labelimg和cvat
【6】.LabelImg、VoTT、Labelme、CVAT四个图像标注工具的优缺点 1.LabelImg:适合轻量级、小型项目,主要用于简单的边界框标注,界面直观,易于上手。2.VoTT:适合对多种标注类型和半自动化标注有需求的项目,适合中型项目,但对系统资源要求较高。3.Labelme:适合需要灵活标注类型和自定义属性的用户,开源的特点使其适合需要定制化的项目。4.CVAT:适合大规模、多用户协作的项目,功能强大,适应复杂的标注需求,适合在服务器环境下部署和运行。
2.VoTT
VoTT是微软的一个标注工具,一个exe文件,后来我发现好像不更新了。
【1】.VoTT视觉目标标注工具使用笔记 1.能够标注图像,也能支持从单独视频中标志。2.使用Camshift跟踪算法对视频中的对象进行计算机辅助标记和跟踪,不用每一帧每一帧的标注。3.能够导出CNTK、tesnorflow(VOC)和YOLO等各种格式的标注数据用于训练。
【2】.探索智能标注新纪元:微软的Visual Object Tagging Tool(VoTT)
【3】.2022年10 款最佳计算机视觉开源数据标注工具 1.LABEL STUDIO;2.DIFFGRAM;3.LABELIMG;4.CVAT;5.IMAGETAGGER;6.LABELME;7.VIA;8.MAKE SENSE;9.COCO ANNOTATOR;10.DATATURKS;
【4】.视频标注工具介绍
【5】.15个值得推荐的开源免费图像标注工具 1.Makesense.ai;2.Labelme;3.Xtreme1;4.Label Studio;5.LOST;6.CVAT;7.Gromit-MPX;8.MyVision;9.LabelImg;10.Coco Annotator;11.Universal Data Tool;12.RectLabel;13.OpenLabeling;14.bbox-visualizer;15.PixelAnnotationTool;
3.Label Studio
因为我目前主要用的是 Label Studio 进行手动和自动标注,于是我就单独开出来了一篇文章 目标检测之LabelStudio,可以作为参考。
4.Make Sense
makesense.ai可以在线网页打标签,无需安装,开源使用,支持YOLO、VOCXML、VGG JSON、CSV标签导出格式,点、线、框等多种标注类型,而且还可借助已经训练好了的目标检测模型SSD辅助我们进行人工标注,数据安全保密,提高我们工作的生产力。
【1】.make-sense | 图像标注工具
【2】.借助AI模型目标检测打标签工具 :Makesense.ai , 解放双手 ! ! !
【3】.Makesense AI 工具为深度学习照片添加标签
5.CVAT
(1)docker进行安装
能不能安装上,还真是一个大问题,因为总会卡在下载镜像这个步骤上,我总是会出现无法下载的问题,弄了很久,很久才解决了这个问题。
1 | # 下载仓库 |
(2)修改默认端口
默认的端口是 8080,要修改默认的端口,就需要修改 docker-compose.yml。先把docker-compose.yml复制到cvat目录后命名为docker-compose.override.yml,找到里面的 ports。或者直接修改 docker-compose.yml 的数据。
1 | # 修改 |
(3)使用
创建项目,创建了用户名密码之后,可以登陆系统,默认是 8080端口, http://192.168.1.8:10002
进行图片标注,可以在左侧工具栏,找到矩形框,然后选择绘制矩形,就可以实现标注了
标注完成之后,可以导出标签
新建项目,然后创建Task任务,然后创建job,然后将job标注的东西导出,弄完之后再导出。我感觉这样有些累赘了,因为要是一个任务中,我想增加一个图片,就不太好弄了。
【1】.CVAT标注工具—最新安装部署-2023-04-03
【2】.Installation Guide 这是官方的操作指南
【3】.cvat标注工具 docker cvat标注工具分配任务 介绍了cvat的相关的界面操作
【4】.[常用工具] cvat安装与使用指北 这里也基本上是一个官方的翻版,配置了其他机器访问。配置了共享目录。
【5】.CVAT安装及图片标注使用详细教程[含踩坑记录] 这里有说明如何使用cvat。
【6】.2.CVAT—导入导出数据集并上传注释
【7】.CVAT 用户指南 这里有各个细节按钮的说明的地方。
【8】.目标检测数据集标注工具 CVAT 使用方法 这里创建了项目、创建了任务,创建了job,将项目作为数据集,可以通过项目导出整个的数据集。还有就是这里还做了不少的标注,这个倒是可以参考的。
问题:
1.Invalid interpolation format for “no_proxy” option in service “x-backend-env”: “clickhouse,grafana,vector,nuclio,opa,${no_proxy:-}”
【解决方案】
这个问题可能就是因为 docker-compose 版本的问题导致的。
1 | sudo yum install docker-compose-plugin |
【1】.Execution error ‘docker-compose up -d’ 这里说了一个升级版本的事情
【2】.Install using the repository 安装方法
【3】.docker-compose: 未找到命令的解决方法
2.error pulling image configuration: Get “https://production.cloudflare.docker.com/registry-v2
【尝试方案】
(1) 尝试方案,就是重新修改docker镜像的地址,改为了阿里云的地址,结果不行。
(2) 尝试修改 /etc/resolv.conf,增加了 阿里云的DNS,然后执行:systemctl restart systemd-resolved 重启
1 | nameserver 223.5.5.5 |
(3) 尝试修改 docker-compose.yml,在每一个镜像下面增加 阿里云的镜像地址,这个怎么配置都不行,后来放弃了。
1 | environment: |
(4) 阿里云 的镜像也不行了,可以使用:docker run hello-world 测试镜像地址有没有用。然后我还是修改了镜像地址,结果也还是没有用。
1 | tee /etc/docker/daemon.json <<-'EOF' |
【解决方案】
其实尝试了这么多,最后还是会报错,但是实际上最后经过多轮尝试之后,竟然安装成功了。
【1】.Docker CentOS7 - error pulling image configuration
【2】.docker拉取镜像报错:docker: error pulling image configuration: Get https://production.cloudflare.docker.com vim /etc/docker/daemon.json 将这个文件里面的内容清空替换成,多个镜像地址,可以了。
【3】.目前国内可用Docker镜像源汇总(截至2024年8月) 这里换了镜像加速列表
【4】.docker pull error pulling image configuration 我们需要检查从哪个Docker镜像仓库拉取镜像。通常,我们使用Docker Hub作为默认镜像仓库。你可以使用以下命令确认Docker Hub是否可用:docker run hello-world
【5】.Docker Compose
【6】.docker compose换源 在上述配置中,我们通过DOCKER_REGISTRY_MIRROR环境变量设置了阿里云镜像源的地址,xxxxxx需要替换为你的阿里云镜像源地址。这个没有用。
【7】.拉取 Dockerhub 镜像,无法连接 Cloudflare 修改 DNS 地址;本地与服务器时间偏差过大;配置镜像加速。Cloudflare 的 IP 被禁
4.无法从网站上提取文件
导出文件的时候,就出现了这个问题
【解决方案】
在一台电脑上进行导出的时候,会弹出迅雷,后来我换了一个浏览器,就没有这个问题了。
【1】.谷歌内核浏览器无法下载文件的解决方法
5.500 (Internal Server Error)
创建任务的时候,总是报这个错误,真是挺烦的。
【1】.500 (Internal Server Error)
6.Roboflow
Roboflow网站,是专门为 YOLOv8设计的自动化数据工具。后来我去看了下,好像不太好用,本来我想着要去搜索数据的,但是没有好的数据集,但是能进行数据标注和格式下载。
【1】.Roboflow Datasets 您现在可以使用 Roboflow 来组织、标记、准备、版本化和托管数据集以训练 YOLOv5 模型。如果您公开工作空间,Roboflow 可以免费与 YOLOv5 一起使用。
【2】.用YOLOv8推荐的Roboflow工具来训练自己的数据集 Roboflow是一款专为YOLOv8设计的自动化训练数据工具,它为YOLOv8提供了一种更便捷、更快速的方式来准备训练数据。它能够自动从开发者提供的原始图像数据中提取所需的信息,并将其转换为YOLOv8可以直接使用的格式。Roboflow还提供了一种独特的标记方式,让开发者更轻松地为图像中的物体设定标签,以便YOLOv8能够更有效地识别它们。本文将为大家介绍如何使用Roboflow来训练YOLOv8自定义数据集。本文还提供了数据导出、模型训练以及预测的方法。
【3】.深度学习(10)之Roboflow 使用详解:数据集标注、训练 及 下载
7.LabelU
这个工具有些不好用,就是当我用测试页面进行测试的时候,我始终找不到哪里可以导出数据,直到我注册了账号,然后用了在线的标注,最后才出来了一个标注完成按钮,点击标注完成,就可以退出标注,然后有一个导出选项,可以选择导出数据。
而且这个工具导出功能,只包含了一个json文件,没有包含数据,无法转成 yolo 的格式。导出的json是Label U 标准格式,包含任务id、标注结果、url、fileName字段。
【1】.labelu 开源的多模态数据标注工具。
【2】.产品简介 LabelU是一个开源的数据标注工具,它可以帮助用户快速、准确、高效地对数据进行标注,从而提高机器学习模型的性能和质量。
【3】.安装 这是本地部署的步骤。
【4】.小小视频-文本标注,LabelU轻松拿下! 首先,得承认,LabelU可能不是专业数据标注团队的首选,毕竟它没有那些花里胡哨的协同标注、团队管理功能。但是,对于那些算法工程师、开发者、大学生,特别是那些想要自己动手丰衣足食的朋友们,LabelU简直就是个宝藏工具!