使用TensorFlow一步步进行目标检测(3)

本文翻译自Medium上的文章:Step by Step TensorFlow Object Detection API Tutorial — Part 3: Creating Your Own Dataset,原文地址:https://medium.com/@WuStangDan/step-by-step-tensorflow-object-detection-api-tutorial-part-3-creating-your-own-dataset-6369a4d30dfd

进行到这一步,我们已选择了预训练模型,并将现有数据集转化为单个TFRecord文件。但是,如果我们找到的数据集与即将使用的目标检测模型不完全匹配,而我们希望获得最佳效果,该怎么办? 更极端的时候,我们可能无法找到任何合适的数据集?

接下来,我们来创建自己的数据集。

在这一系列教程中,我一直在尝试构建一个能够判别交通灯状态的目标检测模型。我开始使用的预训练模型仅能判断图像中是否有交通灯,而无法判断信号灯是绿色、黄色还是红色。接下来我找到了Bosch Small Traffic Lights Dataset,这似乎完全符合我的需求。然而,在博世数据集上训练出模型之后,在实际的环境中表现不错,但不是特别好(如下所示)。因此,我决定创建自己的数据集,争取进一步提升模型的性能。

image

LabelImg

LabelImg是一个非常容易使用的图像标注工具。市面上还有许多其它工具可选,但LabelImg似乎是最受欢迎的!

要在系统中安装它,请打开终端窗口:

git clone https://github.com/tzutalin/labelImg.git

下载后,请根据系统Python版本对应的安装说明进行操作。对于Python 3而言,执行如下命令(确保您位于刚刚克隆的文件夹中):

sudo apt-get install pyqt5-dev-tools
sudo pip3 install lxml
make qt5py3

启动程序:

python labelImg.py

一旦进入程序,会发现它的界面很直观,很容易使用。我们只需打开要标注的图像目录,选择保存目录,然后开始标注即可!

image

值得一提的是,LabelImg以与PASCAL VOC数据集相同的格式保存标注图片。正如前一篇文章中所提到的,这意味着TensorFlow已经提供了一种基于此格式轻松生成TFRecord文件的方法。

此时我们有一个预先训练过的模型和两个数据集,下一篇文章我将向您展示如何开始训练模型!

相关文章

  1. 使用TensorFlow一步步进行目标检测(1)
  2. 使用TensorFlow一步步进行目标检测(2)

image

猜你喜欢

转载自blog.csdn.net/mogoweb/article/details/81287570