Labelme,LabelImg常用软件使用方法及标注数据集格式解析

目录

Labelme:

什么是LabelMe?

LabelMe有什么用处?

LabelImg:

什么是LabelImg?

LabelImg有什么用处?

如何在Windows下安装使用LabelMe以及LabelImg?

在Anaconda创建的虚拟环境中使用pip安装Labelme和LabelImg。

创建一个虚拟环境

激活虚拟环境 

安装LabelMe/LabelImg

启动LabelMe/LabelImg

使用LabelMe进行图片标注

使用LabelImg进行图片标注

Labelme:

什么是LabelMe?

LabelMe是一款开源的图像标注工具,它基于 Python 编程语言,并使用 Qt 用于图形用户界面的创建,它可以帮助用户对图像中的物体、区域和特征进行标记和分类。该工具支持多种图像格式,包括常见的JPEG、PNG、BMP等,同时也支持TIFF、GIF等格式。

LabelMe有什么用处?

Labelme 特别适用于计算机视觉任务中需要手动标注图像的情况,比如在训练深度学习模型之前,需要对图像中的对象进行标记或分类。

使用LabelMe可以方便地对图像进行手动标注,用户可以通过鼠标在图像上点击或拖拽来选择要标记的物体或区域,然后输入相应的标签信息。

LabelImg:

什么是LabelImg?

LabelImg 是一个图形化的图像标注工具,主要用于计算机视觉任务中的图像标注,特别是用于目标检测和图像分割的数据准备。它允许用户以图形界面的方式为图像中的对象绘制矩形或多边形边框,并为这些边框分配类别标签。

LabelImg有什么用处?

LabelImg 是开源的,可以在多种操作系统上运行,包括 Windows、macOS 和 Linux。它是数据科学家、研究人员和开发人员在进行图像相关项目时的一个有用工具。通过使用 LabelImg,可以有效地创建准确标注的数据集,进而提高模型训练的效果。

如何在Windows下安装使用LabelMe以及LabelImg?

在Anaconda创建的虚拟环境中使用pip安装Labelme和LabelImg。

创建一个虚拟环境

conda create -n use_name python=3.6

激活虚拟环境 

conda activate use_name

安装LabelMe/LabelImg

pip install labelme / pip install labelImg

启动LabelMe/LabelImg

labelme / labelImg

使用LabelMe进行图片标注

在使用命令打开LabelMe后会出现以下界面

点击左侧的按钮栏“打开目录”打开要标注的图像目录,这时候在右下角列出图像目录的所有图像

第一次打开图像目录时,它会让你也选中标注保存的目录,后续还可以通过“File”菜单中的“Change Output Dir”进行修改。

从右下角的图像列表中选中图像,打开图像,鼠标移到你要标注图像的左上角,按下“CTRL+W”键,将会出现一个矩形框,向右下方滑动鼠标,进行标注框绘制,选择现有的标签或者创建新的标签名,进行保存即可。绘制完成,你还按下“CTRL+J”选中绘制的矩形,进行移动和修调整形框的大小。最后按下“CTRL+S”进行标签保存。 

我们可以看到,LabelMe的图像标注数据使用Coco数据集的json格式来保存,文件名为“被标注的图像名字.json”

 以下是对该文件内JSON数据的解释:

  • "version": "5.5.0": 这指定了JSON数据的版本,这里为5.5.0。

  • "flags": {}: 这是一个空的对象,可能用于存储与标注相关的一些标志或属性,但在这段数据中没有使用。

  • "shapes": [...]: 这是一个数组,包含了图像中所有标注的形状信息。

    • 每个形状是一个对象,包含了以下属性:
      • "label": "cat": 表示这个形状标注的对象类别是“cat”(猫)。
      • "points": 这是一个数组,包含了定义形状边界的点的坐标。对于矩形,只需要两个点:左上角和右下角。
        • 第一个点 [539.8333333333334, 259.7222222222223] 表示矩形左上角的x和y坐标。
        • 第二个点 [1067.611111111111, 759.7222222222223] 表示矩形右下角的x和y坐标。
      • "group_id": null: 表示这个形状没有分配到特定的组,这个属性可能用于将形状分组。
      • "description": "": 这是一个空字符串,可能用于提供关于形状的额外描述,但在这个例子中没有使用。
      • "shape_type": "rectangle": 表示这是一个矩形形状。
      • "flags": {}: 与最外层的flags类似,这是针对特定形状的标志或属性,这里没有使用。
      • "mask": null: 表示这个形状没有关联的掩码图像,掩码可以用于更复杂的标注,比如多边形标注。
  • "imagePath": "000001.jpg": 表示这个标注数据对应于名为“000001.jpg”的图像文件。

使用LabelImg进行图片标注

在使用命令打开LabelImg后会出现以下界面,我们可以发现,其与LabelMe相似而有所不同。

我们通过同样的方式打开要标注的图像目录并对其中的图像进行标注后,在保存时我们可以发现在左侧按钮栏中间位置存在一个选择标注格式的按钮。

一般可以标注两种格式:

  • VOC标签格式,标注的标签存储在xml文件
  • YOLO标签格式,标注的标签存储在txt文件中

 我们可以看到,000003.jpg文件以两种格式保存在文件夹内,分别是.txt文件和.xml文件,也就是YOLO标签格式和VOC标签格式。

以下是对VOC标签格式内XML数据的逐个解释:

  • <annotation>: 根元素,表示一个标注的开始和结束。

  • <folder>picture</folder>: 指定包含图像的文件夹名称。

  • <filename>000003.jpg</filename>: 图像文件的名称。

  • <path>C:\Users\Admin\Desktop\picture\000003.jpg</path>: 图像文件的完整路径。

  • <source>: 描述标注数据来源的部分。

    • <database>Unknown</database>: 标注数据的来源数据库,这里是未知。
  • <size>: 图像的尺寸信息。

    • <width>474</width>: 图像的宽度为474像素。
    • <height>355</height>: 图像的高度为355像素。
    • <depth>3</depth>: 图像的深度,这里为3,表示这是一个RGB彩色图像。
  • <segmented>0</segmented>: 表示这个标注是否是分割任务的一部分,0通常表示这是一个整体标注,不是分割的。

  • <object>: 表示图像中一个对象的开始和结束。

    • <name>dog</name>: 对象的类别名称,这里是“dog”(狗)。
    • <pose>Unspecified</pose>: 对象的姿态,这里没有具体指定。
    • <truncated>0</truncated>: 表示对象是否被截断,0表示没有。
    • <difficult>0</difficult>: 表示对象是否难以标注,0表示不困难。
    • <bndbox>: 定义了对象边界的矩形框。
      • <xmin>68</xmin>: 矩形框左上角的x坐标。
      • <ymin>30</ymin>: 矩形框左上角的y坐标。
      • <xmax>402</xmax>: 矩形框右下角的x坐标。
      • <ymax>288</ymax>: 矩形框右下角的y坐标。

好的,让我来为您解答。 标注制作是机器学习中非常重要的一步,它可以让我们训练出更加精准的模型。其中,labelme 是一款非常流行的标注工具之一,可以用于图像、视频等各种类型的数据标注。 下面是使用 labelme 软件标注并制作自己的数据集的步骤: 1.下载 labelme 首先,您需要在官网下载 labelme 软件,并安装到您的电脑上。 2.创建项目 打开 labelme 软件,点击“File” -> “New Project”,然后选择您要标注的图片所在的文件夹,并在“Save Directory”中选择一个新的文件夹来保存您的标注结果。 3.标注图片 在 labelme 软件中,您可以使用各种工具来标注图片中的不同区域,例如矩形、多边形、点等。标注完成后,可以在右侧的“Annotations”面板中查看您所标注的内容。 4.保存标注结果 当您完成了所有的标注之后,点击“File” -> “Save Project”,将标注结果保存到您的电脑上。 5.导出标注结果 如果您需要将标注结果导出为其它格式,例如 COCO、Pascal VOC 等格式,可以在 labelme 软件中点击“File” -> “Export As”,然后选择您需要的格式进行导出。 6.制作数据集 最后,您可以将标注结果和原始图片一起打包成一个数据集,并用于训练机器学习模型。 总之,使用 labelme 软件标注并制作自己的数据集,可以让您更加方便地进行机器学习模型的训练和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值