数据集打标签labelme安装及使用教程

简介

数据标注的工具包括以下几种:

LabelImg:一款图形图像标注工具,用Python编写,并将Qt用于其图形界面。可以用于进行目标检测项目的标注工作,支持2D矩形框标注。

Labelme:一款开源的图像标注工具,由Visual Geometry Group开发。可以在线和离线使用,支持多边形分割、语义分割、2D框、线标注、点标注。

VIA-VGG Image Annotator (VIA):一款开源的图像标注工具,由Visual Geometry Group开发。可以在线和离线使用,支持多边形分割、语义分割、2D框、线标注、点标注。Version 3增加了对视频和音频的标注以及人脸标注。

RectLabel:一款目标检测标注工具,支持导出YOLO、KITTI、COCO JSON与CSV格式,读写Pascal VOC格式的XML文件。

VOTT:微软发布的一款基于JavaScript开发用于图像目标检测的标注工具,使用React+Redux进行开发,支持Windows和Linux平台运行。软件提供了基于CNTK训练的faster-rcnn模型进行自动标注然后人工矫正的方式,能大幅减轻标注所需的工作量。

OpenCV/CVAT:一款开源的计算机视觉库,提供了多种标注类型,包括多边形分割、语义分割、2D框、线标注、点标注等。同时支持视频标注和多种文件导出格式,如CVAT for video、CVAT for images、PASCAL VOC等。 LableBox:一款WEB模式下的标记工具,提供自定义注释API支持,纯JS + HTML支持。

我们这里主要介绍一下具Labelme

一、Labelme的安装

官网:https://github.com/wkentaro/labelme

使用pip命令进行下载

首先安装labelme所需要的依赖环境

python 复制代码
 pip install pyqt5
python 复制代码
Pip install pillow

安装labelme

python 复制代码
pip install labelme

指定版本加上镜像

python 复制代码
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple labelme==5.0.1

二、使用Labelme

在终端输入命令labelme启动,进行下面页面

上面工具栏可以打开图片或者打开文件夹进行标注,

给各个数据打上标签,默认保存为json格式文件

标注完之后点击save进行保存,注意:最好把标注完的json文件与原图存放在一个目录下,这样在后期查看的时候可以看到原图与标注区域的叠加,而不单单是原图。

json文件包含内容

包含你在图片的标注标签的数量与标注框的位置信息

三、标签格式转换

  1. 格式差异说明
    • labelme 标注格式:x1,y1,x2,y2(目标检测的对角坐标格式)
    • YOLO-V3 标注格式:Cx,Cy,W,H(相对位置,取值范围 0-1,即中心点横纵坐标、宽高的相对比例)
  2. 转换工具
    • 脚本文件:json2yolo.py
    • 位置:在utils文件夹中
    • 功能:将 labelme 生成的 json 标签文件转换为 YOLO-V3 支持的格式
  3. 文件路径
    • json 文件路径(labelme 生成标签的文件夹):...\PyTorch-YOLOv3\PyTorch-YOLOv3_myedit\data\label,包含dog.jsoneagle.jsonfield.jsongiraffe.jsonherd_of_horses.jsonmessjon.jsonperson.json等文件
    • 转换后输出路径:data\custom\labels,生成对应名称的 txt 文件(如dog.txteagle.txtfield.txt等),txt 文件内是 YOLO 格式的标注数据(如field.txt中内容为相对坐标数值)
  • abelme 是常用的图像标注工具,输出的 json 文件记录目标的对角坐标(x1,y1,x2,y2);而 YOLO-V3 模型训练需要的是目标中心点和宽高的相对比例(Cx,Cy,W,H,取值 0-1),因此需要格式转换。
  • 通过utils文件夹中的json2yolo.py脚本,将 labelme 生成的 json 文件(存放在指定label文件夹)转换为 YOLO 格式的 txt 文件,并输出到data\custom\labels路径下,最终 txt 文件中的数据可直接用于 YOLO-V3 模型的训练。
相关推荐
淬炼之火8 小时前
基于pycharm和anaconda的yolo简单部署测试
python·深度学习·yolo·pycharm·ultralytics
AI街潜水的八角10 小时前
垃圾桶满溢检测和识别2:基于深度学习YOLOv12神经网络实现垃圾桶满溢检测和识别(含训练代码和数据集)
深度学习·神经网络·yolo
码农阿树11 小时前
Java 离线视频目标检测性能优化:从 Graphics2D 到 OpenCV 原生绘图的 20 倍性能提升实战
java·yolo·目标检测·音视频
zy_destiny12 小时前
【工业场景】用YOLOv8实现行人识别
人工智能·深度学习·opencv·算法·yolo·机器学习
JANGHIGH20 小时前
YOLO系列——Ubuntu20.04下通过conda虚拟环境安装Labelme
yolo·conda
山烛1 天前
YOLO v1:目标检测领域的单阶段革命之作
人工智能·yolo·目标检测·计算机视觉·yolov1
山烛1 天前
深入解析 YOLO v2
人工智能·yolo·计算机视觉·目标跟踪·yolov2
程序猿小D1 天前
【完整源码+数据集+部署教程】遥感图像道路检测分割系统源码和数据集:改进yolo11-CARAFE
python·yolo·计算机视觉·目标跟踪·数据集·yolo11·遥感图像道路检测分割系统
zy_destiny1 天前
【工业场景】用YOLOv8实现人员打电话识别
人工智能·python·深度学习·yolo·机器学习·计算机视觉·目标跟踪