为啥我在张量板上只看到大约一百个边界框?

Posted

技术标签:

【中文标题】为啥我在张量板上只看到大约一百个边界框?【英文标题】:Why I see only about one hundred bounding boxes in tensorboard?为什么我在张量板上只看到大约一百个边界框? 【发布时间】:2019-11-16 22:08:43 【问题描述】:

我没有在张量板的“图像”选项卡中看到所有边界框。我认为 tensorboard 显示大约 100 个边界框。

我已经根据proto definition 特别设置了我的 pipeline.config:

eval_config 
  max_num_boxes_to_visualize: 200                                                                   visualize_groundtruth_boxes: true
  num_visualizations: 200                                                                         

但 tensororad 仅显示部分对象(仅 100 个)。 我在 tensorboard 外部可视化了评估 tfrecord,我看到了所有真实边界框(超过 100 个)。

谁能给我指点方向?我错过了什么吗?

【问题讨论】:

你能在这里提供你的配置文件吗? 显示问题的简单repo是here 【参考方案1】:

在配置文件中有一个字段post_processing,在这个字段中max_total_detections通常设置为100。

所以为了让模型预测更多,你需要将此字段设置为max_total_detections : 200,例如。

调试提示: This 是对真实图像进行评估的部分。它创建了一个绘图对象。您可以打印这些参数,例如max_examples_to_drawmax_boxes_to_draw,以查看它们是否实际传递给绘图对象。 (因为绘图对象最终会在图像上可视化groundtruth bbox)。

【讨论】:

感谢您的回答!我想问题在于评估,而不是预测。尽管如此:我使用的是faster_rcnn模型,所以我尝试了你的建议并在model小节second_stage_post_processing中设置max_detections_per_class: 200,但效果是一样的。我没有在 tensorboard 中看到所有基本事实 确实你是对的。但我不认为这个问题是 tensorboard 错误,tensorboard 仅解析 tfevents 文件,因此可能的情况是处理时的评估图像,包含 100 个绘制的 bbox。我已经更新了调试提示。

以上是关于为啥我在张量板上只看到大约一百个边界框?的主要内容,如果未能解决你的问题,请参考以下文章

为啥物体检测 CNN 的边界框必须与图像边界平行?

opencv-python:为啥检测到不正确的边界框(几个边界框)?

当我尝试获取边界时,为啥 previewLayer 返回 nil?

为啥我们选择“边界框”的方式来填充三角形呢?

为啥边界半径对图像不起作用?

为啥在某些 Chrome 条件下 SVG 路径元素的填充属性会填充整个边界框?