用于目标检测的 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 中损坏的训练图像
论文解读SMOKE 单目相机 3D目标检测(CVPR2020)
CVPR2020 SMOKE 单目相机 3D目标检测环境搭建篇