『开发技术』LabelImg安装及使用介绍

2022-03-07 14:04:20 浏览数 (1)

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

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

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

观看演示视频

安装

从源头构建

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

Ubuntu Linux

Python 2 Qt4

代码语言:javascript复制
sudo apt-get install pyqt4-dev-tools
sudo pip install lxml
make qt4py2
python labelImg.py
python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

Python 3 Qt5 (Recommended)

代码语言:javascript复制
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]

macOS

Python 2 Qt4

代码语言:javascript复制
brew install qt qt4
brew install libxml2
make qt4py2
python labelImg.py
python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

Python 3 Qt5 (Recommended)

代码语言:javascript复制
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 (Recommended)

Virtualenv can avoid a lot of the QT / Python version issues

代码语言:javascript复制
brew install python3
pip3 install pipenv
pipenv --three # or pipenv install pyqt5 lxml
pipenv run pip install pyqt5 lxml
pipenv run make qt5py3
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

视窗

安装Python, PyQt5 并安装lxml。

打开cmd并转到labelImg目录

代码语言:javascript复制
pyrcc4 -o line / resources.py resources.qrc
对于pyqt5,pyrcc5 -o libs / resources.py资源qrc

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

Windows Anaconda

下载并安装Anaconda(Python 3 )

打开Anaconda Prompt并转到labelImg目录

代码语言:javascript复制
conda install pyqt = 5
pyrcc5 -o libs / resources.py resources.qrc
python labelImg.py
python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

从PyPI获取但只有python3.0或更高版本

代码语言:javascript复制
pip3 install labelImg
labelImg
labelImg [IMAGE_PATH] [预先定义的课程文件]

使用Docker

代码语言:javascript复制
码头运行-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

您可以提取具有所有已安装和所需依赖项的映像。观看演示视频

用法

步骤(PascalVOC)

  1. 使用上述说明构建和启动。
  2. 单击“菜单/文件”中的“更改默认保存的注释文件夹”
  3. 点击“打开目录”
  4. 点击“创建RectBox”
  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 以加载预定义的类

热键

Ctrl u

从目录加载所有图像

Ctrl r

更改默认注释目标目录

Ctrl s

保存

Ctrl d

复制当前标签和矩形框

空间

将当前图像标记为已验证

w ^

创建一个矩形框

d

下一张图片

一个

上一张图片

德尔

删除所选的矩形框

按Ctrl

放大

Ctrl--

缩小

↑→↓←

键盘箭头移动选定的矩形框

验证图片:

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

难:

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

如何贡献

发送拉取请求

执照

免费软件:MIT许可证

引用:Tzutalin。LabelImg。Git代码(2015)。https://github.com/tzutalin/labelImg

0 人点赞