用于目标检测的 Tensorboard 图像解释

Posted

技术标签:

【中文标题】用于目标检测的 Tensorboard 图像解释【英文标题】:Interpretation of Tensorboard Images for Object detection 【发布时间】:2021-09-12 15:25:00 【问题描述】:

我正在使用这个 github library 使用 Tensorflow 对象检测训练不同的模型。 当我在训练时监控 Tensorboard 时,我会看到“Images”标签以及“Scalars”和“Time series”标签,如下所示。

我正在尝试解释此“图像”标签下显示的内容,如下所示

我尝试在谷歌上搜索这方面的内容,但没有找到任何具体的帮助。任何解释或参考都非常感谢。

【问题讨论】:

【参考方案1】:

如您所知,TensorBoard 是一个可视化工具包,可让您可视化几乎所有需要帮助您解释模型行为的东西。

除了以标量或时间序列显示图表外,它还可以为您提供其他信息,例如查看数据集中的图形。通常,您可能会在训练之前用 Python 编写代码来渲染数据集中的一些图像,只是为了快速查看它们是否正确加载。您也可以为此使用 TensorBoard,在许多情况下,您无需将图形库链接到您的代码以进行图形渲染,从而使您可以将开发环境的重点放在创建模型上。

为此,您需要写出图像,并指定一个日志目录,为其创建文件写入器,然后写入图像。

让我们以 MNIST 数据集作为我们的数据集。可视化一张图片:

# Reshape the image for the Summary API.
img = np.reshape(train_images[0], (-1, 28, 28, 1))

# Clear out any prior log data.
!rm -rf logs

# Sets up a log directory.
logdir = "logs/train_data/image"
# Creates a file writer for the log directory.
file_writer = tf.summary.create_file_writer(logdir)

# Using the file writer, log the reshaped image.
with file_writer.as_default():
  tf.summary.image("Training data", img, step=0)

%tensorboard --logdir logs/train_data

对于另一个有用的示例,您可以创建一个 LambdaCallback 并在每个 epoch 创建一些对解释模型行为有用的图像,例如计算混淆矩阵并像上面提到的代码一样保存它,然后在 TensorBoard 的图像选项卡中查看它们.

参考:https://www.tensorflow.org/tensorboard/image_summaries

【讨论】:

以上是关于用于目标检测的 Tensorboard 图像解释的主要内容,如果未能解决你的问题,请参考以下文章

Tensorflow 对象检测 API:TensorBoard 中损坏的训练图像

万字长文概述单目3D目标检测算法

论文解读SMOKE 单目相机 3D目标检测(CVPR2020)

CVPR2020 SMOKE 单目相机 3D目标检测环境搭建篇

论文解读SMOKE 单目相机 3D目标检测(CVPR2020)

CVPR2020 SMOKE 单目相机 3D目标检测环境搭建篇