[YOLOv8] - 使用LabelImg对数据集进行标注(含解决安装遇到的版本问题和使用技巧)

什么是LabelImg?

LabelImg是一个开源的图像标注工具,它可以帮助用户对图像中的物体、区域和特征进行标记和分类。该工具支持多种图像格式,包括常见的JPEG、PNG、BMP等,同时也支持TIFF、GIF等格式。

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

总之,LabelImg是一款功能强大、易于使用的图像标注工具,适用于各种图像处理和计算机视觉任务。

GitHub - HumanSignal/labelImg: LabelImg is now part of the Label Studio community. The popular image annotation tool created by Tzutalin is no longer actively being developed, but you can check out Label Studio, the open source data labeling tool for images, text, hypertext, audio, video and time-series data.

labelImg · PyPI

LabelImg is a graphical image annotation tool.

It is written in Python and uses Qt for its graphical interface.

Annotations are saved as XML files in PASCAL VOC format, the format used by ImageNet. Besides, it also supports YOLO and CreateML formats.

 

视频教程:

https://youtu.be/p0nR2YsCY_U

Windows下如何安装LabelImg?​

创建并激活YOLOv8虚拟环境

通过miniconda创建名为yolov8的python虚拟环境:

conda create -y -n yolov8 python==3.11

激活“yolov8”python虚拟环境:

conda activate yolov8

安装LabelImg

labelImg · PyPI

GitHub - HumanSignal/labelImg: LabelImg is now part of the Label Studio community. The popular image annotation tool created by Tzutalin is no longer actively being developed, but you can check out Label Studio, the open source data labeling tool for images, text, hypertext, audio, video and time-series data.

pip install labelimg

启动LabelImg 

labelimg

使用LabelImg遇到的问题

打开没多久,突然闪退了,下面错误截图: 

打开之后,在界面上打开图像进行标注时,突然停顿了一下,就莫名奇妙退出了,

​下面是控制台错误截图:

试着根据错误提示,进行源代码修改:

  

重新启动LabelImg,可以打开图像和画矩形进行标注了,但是保存标注时候,又崩了,下面是错误提示:

修改完一个,不知道下次又是什么错误, 看来直接修改源代码的方案不行,并且你也不好确定被修改的代码,有没有被别的地方引用了,浅尝辄止吧。

有没有其他解决方案呢?

从连续抛错误现象来看,不像是一个LabelImg的代码的bug,个人感觉可能安装的LabelImg和python环境(我用的是python3.11)搭配的问题或者安装的过程不对。

打开pypi地址,查看一下安装说明:

labelImg · PyPI

这里显示支持的最新版本,最新为3.7,这里显示的有时候是不一定准确的,后续的python版本,比如3.8,3.9估计也支持,可以考虑先用新版本的python,如果报错,再逐步降低版本。

从安装说明来看,LabelImg应该是可以很好地和conda进行兼容的, 但是最新的版本1.8.6,是2021.10.12更新的,原因如下:

而我通过conda创建的yolov8的环境是python3.11,python3.11发布日期是2022.5.7,python3.10发布日期是2021.10.14。

感觉需要创建一个低于3.10版本的虚拟环境才行,查看本地当前conda使用的python版本是3.9,看来合适,试试创建一个和当前conda使用的python版本一致的虚拟环境看看。

创建一个和conda版本一致的专门运行LabelImg的虚拟环境,然后激活新的虚拟环境,安装LabelImg:

​看了一下安装日志,pyqt5和lxml在安装LabelImg已经被自动安装了。

打开LebelImg,重新进行打开图像标注并保存,这时候没有异常闪退了,看来问题解决了。

使用LabelImg标注图像

点击左侧的按钮栏“Open Dir”打开要标注的图像目录,这时候会在右下角列出图像目录的所有图像,点击“Change Save Dir”设置标注数据保存的目录,从右下角的图像列表中选中图像,双击打开图像,鼠标移到你要标注图像的左上角,按下“W”键,将会出现一个矩形框,向右下方滑动鼠标,进行标注框绘制。绘制完成,你还可以选中绘制的矩形,进行移动和调整形框的大小。

选中左边的按钮栏中把保存格式设置为yolo,然后按下“CTRL+S”,进行保存就好:

LabelImg使用技巧

1. 开启自动保存模式,提升标注效率

经验证,开启自动保存模式,似乎不生效,每次给图像添加或者修改标注,都需要按“CTRL+S”,要不然切换到另外一张图像,图像的标注信息就会被抹去了。

2. 如果集中给对某个类别进行标注,可以开启开启“Use default label”,或者启动“Single Class Mode”,这样可以省去每次都要选择标签的时间。

3. 如果要标注的目标比较密集,标签名会对标注形成干扰,我们通过隐藏标注框上的标签名,去提供更清晰的标注视野。

按下“CTRL+SHIFT+P”隐藏或显示标签名: 

4. 可以通过在“labelimg命令”中添加参数来启动LabelImg,这样可以省去每次启动都选择图像目录和标签目录的烦恼。

这是我创建的bat脚本的内容:

D:\my_project\Anaconda3\envs\labelimg_py3.9.18\Scripts\labelImg.exe D:\YOLOv8Train\labelimg_datasets\mktk_datasets\cut_640_images D:\YOLOv8Train\labelimg_datasets\mktk_datasets\cut_640_labels\classes.txt D:\YOLOv8Train\labelimg_datasets\mktk_datasets\cut_640_labels
(labelimg_py3.9.18) C:\Users\Laolang>labelimg --help
usage: labelImg [-h] [image_dir] [class_file] [save_dir]

positional arguments:
  image_dir
  class_file
  save_dir

optional arguments:
  -h, --help  show this help message and exit

如何恢复LabelImg的默认设置

1. 通过“Menu->File/Reset All”

2. 删除用户目录下的“.labelImgSettings.pkl ”

  • 29
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老狼IT工作室

你的鼓励将是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值