LabelImg使用笔记

一、LabelImg简介

LabelImg 是一个用于图像标注的开源工具,它提供了一个用户友好的图形界面,用于手动标记图像中的物体或区域,并生成相应的标注文件。这个工具通常用于计算机视觉和机器学习项目中,尤其是目标检测任务。

1.1、特性

LableImg具备以下特性

  1. 支持多种表注格式(Pascal VOC 格式、YOLO 格式、COCO 格式)
  2. 跨平台支持: LabelImg 是一个跨平台的工具,可以在不同的操作系统上运行
  3. 支持快捷键: LabelImg 提供了一些快捷键,以加快标注的速度

如下图
在这里插入图片描述

1.2、LabelImg的热键

LabelImg的热键:

热键含义
Ctrl+S保存
Ctrl+d复制当前标签和矩形框
Ctrl+r更改默认注释目录(标签文件存放的位置)
Ctrl+u加载目录中的所有图像(鼠标点击Open dir)
w创建标注框(矩阵/三角)
d下一张
a上一张
delete删除选定的矩阵框
space将当前图像标记为已标记

二、LabelImg安装

说明:如果是有虚拟环境的,建议先创建一个虚拟环境,然后在安装LabelImg;如果不选择虚拟环境,默认为基础环境。

conda创建虚拟环境以及库的安装

pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple #安装

安装如下图:

在这里插入图片描述

使用:打开cmd输入LabelImg/labelimg(大小写不做区分)

LabelImg

打开后,如下图所示:
在这里插入图片描述

快捷使用(自动保存)

在这里插入图片描述

三、3种格式的使用

3.1、VOC格式标注

如图:
在这里插入图片描述
保存后的标签文件xml格式:
图片大小、通道数、标签名称、选框位置的参数

<annotation>
	<folder>VOC2007</folder>
	<filename>000030.jpg</filename>
	<source>
		<database>The VOC2007 Database</database>
		<annotation>PASCAL VOC2007</annotation>
		<image>flickr</image>
		<flickrid>340039936</flickrid>
	</source>
	<owner>
		<flickrid>uma_tyan</flickrid>
		<name>?</name>
	</owner>
	<size>
		<width>500</width>
		<height>375</height>
		<depth>3</depth>
	</size>
	<segmented>0</segmented>
	<object>
		<name>bicycle</name>  
		<pose>Right</pose>
		<truncated>0</truncated>
		<difficult>0</difficult>
		<bndbox>
			<xmin>36</xmin>
			<ymin>205</ymin>
			<xmax>180</xmax>
			<ymax>289</ymax>
		</bndbox>
	</object>
	<object>
		<name>person</name>
		<pose>Unspecified</pose>
		<truncated>0</truncated>
		<difficult>0</difficult>
		<bndbox>
			<xmin>51</xmin>
			<ymin>160</ymin>
			<xmax>150</xmax>
			<ymax>292</ymax>
		</bndbox>
	</object>
	<object>
		<name>person</name>
		<pose>Frontal</pose>
		<truncated>0</truncated>
		<difficult>0</difficult>
		<bndbox>
			<xmin>295</xmin>
			<ymin>138</ymin>
			<xmax>450</xmax>
			<ymax>290</ymax>
		</bndbox>
	</object>
</annotation>

3.2、yolo格式标注

在图形化界面中选择yolo的保存格式。如下图红框:

在这里插入图片描述

保存的文件:类别文件和坐标文件

在这里插入图片描述

3.3、json格式

在图形化工具选择对应的JSON格式

保存后的json文件文件:类别+坐标

[
  {
    "image": "000030.jpg",
    "annotations": [
      {
        "label": "person",
        "coordinates": {
          "x": 99.5,
          "y": 226,
          "width": 97,
          "height": 132
        }
      },
      {
        "label": "person",
        "coordinates": {
          "x": 372.5,
          "y": 214,
          "width": 161,
          "height": 156
        }
      },
      {
        "label": "bike",
        "coordinates": {
          "x": 108,
          "y": 247,
          "width": 148,
          "height": 84
        }
      }
    ]
  }
]

四、LabelMe 和 LabelImg适用场景

LabelMe 和 LabelImg 都是用于图像标注的工具,但它们有不同的特点和用途,可以根据具体需求来选择使用哪一个

LabelMe:

  • 用途LabelMe 主要用于复杂的图像标注任务特别适用于语义分割和实例分割任务。它允许用户创建像素级的标注,以标识图像中的对象、区域和物体。
  • 功能LabelMe 提供了丰富的交互式标注工具,包括绘制多边形、矩形或自定义形状的区域以进行复杂的标注。它支持多种标注文件格式,具有数据管理和协作功能。
  • 优点适用于实例分割复杂标注任务多人协作。能够创建详细的像素级标注。
  • 缺点对于简单的目标检测任务,可能显得过于复杂,因为它更专注于像素级标注

LabelImg

  • 用途LabelImg 主要用于目标检测任务特别适合创建边界框标注。它通常用于标记物体的位置和大小。
  • 功能: LabelImg 提供了简单而直观的图形用户界面,用户可以加载图像并使用矩形工具创建目标边界框。它支持多种标注文件格式,适用于单人标注任务
  • 优点适用于目标检测任务,界面简单易用,适合快速标注。
  • 缺点对于像素级标注或实例分割任务,功能较为有限。

如果你需要进行像素级标注实例分割或复杂标注任务,LabelMe可能更适合;而如果只需要进行目标检测任务,LabelImg提供了更简单的界面和功能来快速创建边界框标注。

GitHub 加速计划 / la / labelImg
22.31 K
6.24 K
下载
🎉 超级实用!LabelImg,图像标注神器,现在加入Label Studio社区,享受多模态数据标注新体验!🚀 简单易用,支持XML、YOLO和CreateML格式,适用于ImageNet等项目。不再单独维护,立即尝试Label Studio,安装一键到位,更灵活,功能更强大!👇 安装即刻开始:pip3 install labelImg,或访问<https://github.com/heartexlabs/label-studio> 获取源码构建。一起探索数据标注的新边界!👨‍💻👩‍💻【此简介由AI生成】
最近提交(Master分支:1 个月前 )
b33f965b Adds information about Label Studio community to welcome LabelImg users 2 年前
2d5537ba 2 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐