继续创造,加速生长!这是我参加「日新方案 6 月更文应战」的第24天,点击查看活动概况

前言

咱们知道,方针检测 (object detection) 的输出是方针的鸿沟框,其间鸿沟框用于定位图画中的方针方针。要构建算法检测图画中方针周围的鸿沟框,就必须首要创立输入-输出映射,其间输入是图画,而输出是给定图画中方针周围的鸿沟框。 当咱们检测到鸿沟框时,咱们需求检测图画周围鸿沟框左上角的像素位置,以及鸿沟框的相应宽度和高度。要练习能够输出鸿沟框的模型,咱们需求练习集图画以及练习数据集图画中一切方针的相应鸿沟框坐标和类别标签。

创立自定义方针检测数据集

在本节中,咱们将介绍如何创立练习数据集的办法,其间将图画作为输入,并将相应的鸿沟框存储在XML文件中。咱们将学习运用labelImg包来标示鸿沟框和相应方针方针的类。在不同操作系统中有不同的方式运用 labelimg 包标示图画中方针的鸿沟框,不同操作系统的装置教程能够参考官方网页。最为通用的办法是运用 pip 进行装置,与其它第三方库装置办法相同:

$ pip3 install labelImg

windows

经过官方链接下载 labelImg 的可履行文件,解压后翻开 labelImg.exe 程序,其界面如下图所示:

Keras深度学习——创建自定义目标检测数据集

data 文件夹的 predefined_classes.txt 文件包含了图画中一切可能的标签,咱们需求确保每个类别都占有独自一行,如下所示:

Keras深度学习——创建自定义目标检测数据集

单击 “Open” 翻开图画,然后单击 “Create RectBox” 为图画绘制鸿沟框。绘制鸿沟框完结后,将弹出为方针方针挑选的类别窗口,为符号的方针挑选所属类别,如下所示:

Keras深度学习——创建自定义目标检测数据集

单击 Ok 完结此方针的标示,标示图中一切方针后,单击 Save 并保存 XML 文件:

Keras深度学习——创建自定义目标检测数据集

保存完结后,能够查看 XML 文件。绘制矩形鸿沟框后,XML 文件的内容如下所示:

Keras深度学习——创建自定义目标检测数据集

在上图中,能够看到,bndbox 包含图画中方针相对应的 xy 坐标的最小值和最大值的坐标,即鸿沟框左上角和右下角坐标。此外,咱们能够经过 name 提取到鸿沟框中方针相对应的类别标签。

Ubuntu

Ubuntu 中,能够经过运行以下指令来运用 labelimg 包:

$ sudo apt-get install pyqt5-dev-tools
$ sudo pip3 install -r requirements/requirements-linux-python3.txt
$ make qt5py3
$ python3 labelImg.py

能够在 GitHub 链接中找到脚本labelImg.py。履行上述指令后,接下来运用 labelimg 包标示方针方针鸿沟框和类别的用法与 Windows 中相同。

MacOS

macOS 中,能够经过履行以下指令来运用 labelimg 包:

$ brew install qt
$ brew install libxml2
$ make qt5py3
$ python3 labelImg.py

能够在 GitHub 链接中找到脚本 labelImg.py。履行了以上指令之后,接下来运用 labelimg 包标示方针方针鸿沟框和类别的用法与 Windows 中相同。