【深度学习之路记录01】语义标注工具Labelme(安装、使用、导出数据集)

关于 Label me

lableme LOGO

labelme是一款标注软件,我用来创建自己的语义分割的数据集。我使用的是windows环境。
源码:https://github.com/wkentaro/labelme

Labelme安装

方法1 直接使用包

之前搜索到的大部分教程都是通过anaconda安装的。但实际上现在labelme已经支持直接通过exe文件直接使用。下载,打开即是labelme的图形界面。

方法2 通过anaconda安装

这个方法是在有安装包之前比较普遍的方法。其实我建议如果只是用来标注,可以先使用方法1。等到需要进行数据集转换的时候再来通过方法2安装labelme环境。

1.安装python环境

官网:https://www.python.org/

anaconda和labelme都是与python环境相关的。如果没有安装python环境的,可以先安装一个。当然安装anaconda的时候也可以附带安装。我自己是选择单独安装的。

至于版本,可以考虑3.6及以上。

2.安装anaconda

官网:https://www.anaconda.com/
清华镜像源:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

Anaconda可以实现对多个python环境的管理,同时也方便了我们安装和管理许多python的包和库。其创建的虚拟环境小白可以这样理解:A需要python3.6环境,B需要python3.9环境,则可以通过anaconda为A和B配置两个互不干扰的环境供其运行。

在官网下载速度超级慢,经常担心会出错。这个时候我们需要镜像源。(镜像源的东西可以理解为就是那边官网一样的东西)我是在官网下载以后,选择了当时镜像源同版本(同名)的版本。

下载以后双击运行安装即可。
安装时几个tips:

  1. Install for选项中,选择for all users;
  2. 记住自己安装的路径;
    像我当时就是忘记了。如果忘记了,默认应该是在C:\ProgramData\Anaconda3这个路径下的
  3. Advanced Options中,第一个框是配置环境变量的;第二个框是安装python环境的。我建议可以都不勾选。自行配置环境变量,安装python。或者勾选第一个。总之环境变量一定要有!!
  4. 最后结束页面的两个框都不勾选
  5. 结束以后win+R输入cmd打开控制台,输入conda,可以正常弹出就说明安装成功了。
    anaconda安装成功
4. 安装labelme

安装完成以后,我们现在所处的环境就是名为“base”的环境。
可以通过在控制台输入以下指令查看现有的环境:

conda env list

如图所示,就会弹出现有的所有环境(包括其名称和地址)。名称后有“*”的为当前所处环境。
在这里插入图片描述
然后我们使用以下指令创建新环境:

conda create --name labelme python=3.6

这代表我们创建了一个名为“labelme”的,使用python3.6环境的环境类型。

如果是和我一样直接打开控制台,而不是通过安装好的anaconda powershell,我们一开始是无法直接看到自己所处的环境的。

如图,先输入activate,就会看到路径前出现了(base)。
这代表我们进入了base环境。
在这里插入图片描述

然后我们再输入 activate labelme,就激活了labelme环境。
在这里插入图片描述
之后输入指令:

conda install pyqt
conda install pillow
pip install labelme

弹出以后按“y”即可安装好库。
最后输入labelme,就会弹出图形界面。该图形界面同直接双击exe文件打开的图形界面。
指令:
在这里插入图片描述
图形界面:
在这里插入图片描述

Labelme使用

Labelme一些工具的介绍

在这里插入图片描述
Open为打开一张图片,OpenDir可以打开一个文件夹。
在这里插入图片描述

点击OpenDir打开文件夹后,可以看到右下角的Filelist出现了这个文件夹里所有的图片文件。方框中有勾的是已经标注的文件,没勾的是未处理的文件。

打开文件夹后可以看到这两个图标亮起:
在这里插入图片描述
可以按这两个图标,把当前处理的图片跳转到前一张(快捷键A)后一张(快捷键D)

在这里插入图片描述
这两个图标分别为创建多边形(用来创建新标注),编辑多边形(用来对已经创建的标注进行编辑)

正式使用

我们通过Open的两个选项,都可以打开图片。
打开以后,点击Create Polygons,然后在图片上创建多个点以构成多边形,最后首尾相接,就创建了一个标注。此是会弹出如下:
在这里插入图片描述
如果是新标注的一种类型,输入名字即可。如果是以前已经标注过的类型,点击下面的类型名字即可,我们就创建好了一个标注。其他以此类推。

每次点好名字,不用再次点击CreatePolygon工具,可以直接创建下一个多边形。

当我们需要调整我们创建的多边形时,可以选择Edit Polygon工具。然后我们

  1. 将鼠标移动到多边形上,鼠标会变成手型。右键,选择EditLabel,可以更改该多边形的名字;或可以选择删除、复制等操作。
  2. 将鼠标移到已经创建的点上,可以拖动点的位置。
  3. 将鼠标移到轮廓线上,左键可以创建新的点。

保存

标注完成以后,crtl+S可以保存。默认是和照片同路径、同文件名的一个json文件。

用Labelme制作VOC数据集

  1. 创建一个工作文件夹,名字随意,我命名为“semantic_segmentaion"
  2. 在工作文件夹下创建名为”images“的文件夹将我们标注好的原图片+json文件放在里面。
  3. 进入github源码网站,找到如下文件夹:

在这里插入图片描述
然后依次进入examples -> semantic_segmentation,找到labelme2voc.py,打开。
在这里插入图片描述

  1. 在自己的”semantic_segmentation“新建一个labelme2voc.py文件,将刚才网页里的代码都复制进去。
  2. 在自己的”semantic_segmentation“新建一个”labels.txt“文件,写:
__ignore__
_background_
label1
label2
...

其中将“label1 label2 …”内容修改为你自己标注的文件里面的标签名字,一行一个。比如我的是这样:
在这里插入图片描述
最后在控制台中,先用前面的方法进入labelme环境。
然后在路径中进入我们的“semantic_segmentation”文件夹,输入指令:

python labelme2voc.py images target --labels labels.txt

其中target是我们新的数据集的文件夹名字,必须是一个没有创建过的文件夹。
然后等待一张一张图运行就好了。

数据集

最后我们会在“semantic_segmentation”文件夹里找到一个“target”文件夹:
在这里插入图片描述
其中
JPEGImages存放了原图
SegmentationClassPNG存放了我们需要的掩码图片

恭喜你第一步大功告成~

### 回答1: Labelme数据集格式是指用于标注图像和语义分割的数据集格式。它包含用于标记图像中目标位置,类别和形状的元数据以及散布在不同目录中的图像本身。这个数据集格式是一个JSON(JavaScript Object Notation)文件,其中包含图像的基本信息如高度、宽度、通道数、文件名等等,还包含标注信息,如目标的类别、位置和形状。此外,Labelme还支持在图像中创建并编辑多边形、矩形、线条和点等的标注工具Labelme数据集格式的优点在于可以快速创建和编辑标注数据,同时也能够方便地转换成其他格式,如COCO等。此外,这种格式还支持多人标注,可以同时处理不同人员进行的标注。同时,可视化的图像标注操作也使得该数据集格式非常方便。 总体来说,Labelme数据集格式是充满灵活性和可扩展性的。它是目前用于图像标注语义分割的主要格式之一,可以帮助开发者和研究人员更好地实现相关的工作。 ### 回答2: Labelme数据集是一个用于计算机视觉和机器学习的开源数据集,包含了许多图像和语义分割的标注。它提供了一种方便的方式来收集、标注和分享图像数据。 Labelme数据集标注格式是JSON(JavaScript Object Notation)文件,可以通过许多开源工具和库进行解析和处理。在每个JSON文件中,有一些重要的字段,如"version"表示标注版本号,"flags"表示标注标志,"shapes"表示标注形状等等。 在一个"shapes"字段下,通常会列出所有标注的形状信息。每个形状信息包含了一些关键信息,如形状的类型("rectangle", "polygon"等),形状的坐标组成("points"),形状的标注类别("label")等等。 Labelme数据集的格式可扩展,用户可以根据需要自定义字段,例如添加属性来描述颜色、尺寸等属性,以满足不同的应用场景。总的来说,Labelme数据集是一个非常方便的数据集,特别适合用于语义分割、物体检测、图像分割等任务的训练和评估。 ### 回答3: Labelme数据集是一个广泛使用的图像标注数据集,其中包含大量的标注信息,可用于训练机器学习模型和深度学习模型。该数据集是由美国麻省理工学院的人工智能实验室开发的,目前被多个应用和研究领域广泛应用,如计算机视觉和自然语言处理等。 Labelme数据集的格式主要包括图像文件和标注文件两部分,其中图像文件是一系列后缀名为JPG、PNG或BMP的图像文件,包含了需要标注的图像。而标注文件则是一个以JSON格式保存的文件,其中包含了图像中各个物体的坐标、类别等信息。通过这些标注文件,训练模型可以识别并分类图像中的不同物体和图案,实现目标物体识别和图像分割等功能。 在Labelme数据集标注文件中,每个标注都标记有ID号、类别、位置和颜色等信息,其中,颜色信息用于区分不同的标注。在标注完成后,可使用Labelme软件进行可视化和编辑操作,以便更好地了解和呈现标注信息。 总之,Labelme数据集是一个标注丰富、格式简单、易于使用的图像标注数据集,可以帮助研究者更好地训练和测试图像分割和物体识别算法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值