0


labelImg 使用以及安装教程---图像标注工具


labelImg 使用教程

LabelImg简介

LabelImg是一个图形图像注释工具。

它是用Python编写的,并使用Qt作为其图形界面。

注释以PASCAL VOC格式保存为XML文件,这是ImageNet使用的格式。此外,它还支持YOLO格式和 CreateML 格式

LabelImg用法

步骤 (PascalVOC)

  1. 使用上述说明构建和启动。
  2. 单击菜单/文件中的“更改默认保存的注释文件夹”
  3. 点击“打开目录”
  4. 单击“创建矩形框”
  5. 单击并释放鼠标左键选择一个区域来注释矩形框
  6. 您可以使用鼠标右键拖动矩形框来复制或移动它

注释将保存到您指定的文件夹中。

您可以参考以下热键来加快您的工作流程。

步骤 (YOLO)

  1. data/predefined_classes.txt定义将用于您的培训的课程列表。
  2. 使用上述说明构建和启动。
  3. 在工具栏中“保存”按钮的正下方,单击“PascalVOC”按钮切换到 YOLO 格式。
  4. 您可以使用 Open/OpenDIR 处理单个或多个图像。完成单个图像后,单击保存。

YOLO 格式的 txt 文件将与您的图像同名保存在同一文件夹中。一个名为“classes.txt”的文件也保存到该文件夹​​中。“classes.txt”定义了你的 YOLO 标签所引用的类名列表。

笔记:

  • 您的标签列表在处理图像列表的过程中不应更改。保存图像时,classes.txt 也会更新,而之前的注释不会更新。
  • 保存为 YOLO 格式时不应该使用“默认类”功能,它不会被引用。
  • 当保存为 YOLO 格式时,“困难”标志被丢弃。

创建预定义的类

您可以编辑 data/predefined_classes.txt 以加载预定义的类

注释可视化

  1. 将现有的标签文件复制到与图像相同的文件夹中。标签文件名必须与图像文件名相同。
  2. 单击文件并选择“打开目录”,然后打开图像文件夹。
  3. 在文件列表中选择图像,它将显示该图像中所有对象的边界框和标签。

(在视图中选择显示标签模式以显示/隐藏标签)

热键

验证图片

当按下空格键时,用户可以将图像标记为已验证,然后将显示绿色背景。在自动创建数据集时使用此功能,然后用户可以浏览所有图片并标记它们,而不用对其进行注释

设置困难识别对象

困难字段设置为1表示该对象已被注释为“困难”,例如,清晰可见但在不大量使用上下文的情况下很难识别的对象。根据您的深度神经网络实现,您可以在训练期间包括或排除困难对象。

如何重置设置

如果加载类时出现问题,您可以:

  1. 从 labelimg 的顶部菜单中单击 Menu/File/Reset All
  2. 从您的主目录中删除 .labelImgSettings.pkl。在 Linux 和 Mac 中,您可以执行以下操作:rm ~/.labelImgSettings.pkl

实际操作

  1. 先准备好两个文件夹,一个存放已经采集好的图片,另一个存放准备标定后的xml文件,并修改
    data
    
    文件夹下的
    predefined_classes.txt
    
    类文件(我这里只设置一个类 )并保存:

在这里插入图片描述

在这里插入图片描述

  1. 在LabelImg文件夹右键控制台运行
    python labelImg.py
    
    启动程序:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.点击

open dir

,选择我们存放图片的文件夹,然后再选择我们准备存放xml文件的文件夹:
(注意:打开已有标注的文件夹时,务必保证里面有class.txt文件,否则程序将崩溃)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.然后点击

Create/nRectBox

或按快捷键

W

开始画框:

在这里插入图片描述

  1. 选择目标类别并点击ok

在这里插入图片描述

  1. 标完后点击Next Image或按快捷键D切换到下一张图片

在这里插入图片描述

  1. 当一张图片标记完成后,会在一开始我们设置存储xml文件的文件夹下生成一个xml文件:

在这里插入图片描述

  1. 打开可观察里面的内容:

在这里插入图片描述

相关和附加工具

  1. ImageNet Utils用于下载图像、为机器学习创建标签文本等
  2. 使用 Docker 运行 labelImg
  3. 生成 PASCAL VOC TFRecord 文件
  4. 基于 Nick Roach (GPL) 的 Icon 的 App Icon
  5. 在 vscode 中设置 python 开发
  6. 本项目在iHub平台的链接
  7. 将注释文件转换为 CSV 格式或 Google Cloud AutoML 格式

labelImg安装

在gitbash的安装

用gitbash打开,运行git clone https://github.com/tzutalin/labelImg
然后pip install pyqt5 ,报错,先安装SIP:pip install SIP,再次执行pip install pyqt5,仍然报错,
(直接下载源码安装),链接:PyQt5,下这个:
在这里插入图片描述

下好后,直接在.whl文件当前文件夹右键运行cmd,执行

pip install PyQt5-5.13.0-5.13.0-cp35.cp36.cp37.cp38-none-win_amd64.whl

在这里插入图片描述

在这里插入图片描述

然后安装lxml:

pip install lxml

接下来:
Open cmd and go to the labelImg directory

pyrcc4 -o line/resources.py resources.qrc
For pyqt5, pyrcc5 -o libs/resources.py resources.qrc
python labelImg.py
python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

执行

pyrcc4 -o line/resources.py resources.qrc

时报错:

在这里插入图片描述

原来我们安装的是PyQt5,不用执行上面那句,直接执行:

pyrcc5 -o libs/resources.py resources.qrc

,然后运行

py
thon labelImg.py

就好了。

在这里插入图片描述

从源代码构建

Linux/Ubuntu/Mac 至少需要Python 2.6并且已经使用PyQt 4.8进行了测试。但是,强烈建议使用Python 3 或更高版本和 PyQt5 。

Ubuntu Linux

Python 3 + Qt5

sudo apt-get install pyqt5-dev-tools
sudo pip3 install -r requirements/requirements-linux-python3.txt
make qt5py3
python3 labelImg.py
python3 labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

IOS系统

Python 3 + Qt5

brew install qt  # Install qt-5.x.x by Homebrew
brew install libxml2

or using pip

pip3 install pyqt5 lxml # Install qt and lxml by pip

make qt5py3
python3 labelImg.py
python3 labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

Python 3 Virtualenv(推荐)

Virtualenv 可以避免很多 QT/Python 版本的问题

brew install python3
pip3 install pipenv
pipenv run pip install pyqt5==5.15.2 lxml
pipenv run make qt5py3
pipenv run python3 labelImg.py
[Optional] rm -rf build dist; python setup.py py2app -A;mv "dist/labelImg.app" /Applications

注意:Last 命令为您提供了一个漂亮的 .app 文件,其中包含 /Applications 文件夹中的新 SVG 图标。可以考虑使用脚本:build-tools/build-for-macos.sh

Windows

安装Python、 PyQt5 并安装 lxml。

打开cmd进入labelImg目录

pyrcc4 -o libs/resources.py resources.qrc
For pyqt5, pyrcc5 -o libs/resources.py resources.qrc

python labelImg.py
python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

如果要打包成单独的EXE文件

Install pyinstaller and execute:

pip install pyinstaller
pyinstaller --hidden-import=pyqt5 --hidden-import=lxml -F -n "labelImg" -c labelImg.py -p ./libs -p ./

** Windows + anaconda**

下载并安装Anaconda (Python 3+)

打开Anaconda Prompt,进入labelImg目录

conda install pyqt=5
conda install -c anaconda lxml
pyrcc5 -o libs/resources.py resources.qrc
python labelImg.py
python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

使用 Docker

docker run -it \
--user $(id -u) \
-e DISPLAY=unix$DISPLAY \
--workdir=$(pwd) \
--volume="/home/$USER:/home/$USER" \
--volume="/etc/group:/etc/group:ro" \
--volume="/etc/passwd:/etc/passwd:ro" \
--volume="/etc/shadow:/etc/shadow:ro" \
--volume="/etc/sudoers.d:/etc/sudoers.d:ro" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
tzutalin/py2qt4

make qt4py2;./labelImg.py

拓展

roLabelImg简介

roLabelImg是基于labelImg改进的,也是用来标注为VOC格式的数据,但是在labelImg的基础上增加了能够使标注的框进行旋转的功能。

下载地址,https://github.com/cgvict/roLabelImg

最后
文章到这里就先结束了,后面还会持续更新,希望能帮助到各位大佬。如果文章有需要改进的地方还请大佬斧正🎉🎉🎉。
制作不易,希望能得到各位小伙伴儿的支持😘😘😘。
再次感谢大家了🤞🤞🤞。
相信小伙伴们使用labelimgdui 数据打标签以及有一定的了解, 更多干货请看这里:更多知识点总结

参考:VOC数据集图片标注工具labelImg简介、安装、使用方法详细攻略(windows) PyQt4、PyQt5GitHub - tzutalin/labelImg: 🖍️ LabelImg is a graphical image annotation tool and label object bounding boxes in images


本文转载自: https://blog.csdn.net/weixin_47649808/article/details/125265136
版权归原作者 Bevis_OTL 所有, 如有侵权,请联系我们删除。

“labelImg 使用以及安装教程---图像标注工具”的评论:

还没有评论