【问题标题】:Is Tensorflows object detection API producing incorrect ymin and ymax bounding box coordinates?Tensorflows 对象检测 API 是否会产生不正确的 ymin 和 ymax 边界框坐标?
【发布时间】:2020-05-08 12:59:03
【问题描述】:

我在一系列视频帧上运行 API 以跟踪场景中的对象,并且我正在提取每个对象的边界框坐标以计算每个边界框的中心。然而,在 yminymax 坐标中会出现偏移。

场景是一个人在视野中行走,框架的底部与人的脚相匹配(这会推断出 yminymax 值不会延伸到帧的停止。但是 API 给出了以下标准化框坐标 [452.26962089538574, 197.93473720550537, 1073.7505388259888, 639.3438720703125]。绝对坐标为 [0.41876816749572754, 0.10309100896120071, 0.9942134618759155, 0.3329916000366211] 供参考,视频为 1920 x 1080。

放入 MATLAB 视频标注器应用程序的同一帧(翻译成 [ymin xmin ymax xmax] 时)返回 [8.396575927734375, 57.50376892089844, 722.7988586425781, 431.51695251464844]。我知道它们不会完全匹配,因为我已经在框中手动绘制为基本事实(对于 x 坐标尤其如此),但是 yminymax 应该非常接近,并且这些结果看起来更加真实。

以前有人遇到过这种情况吗?当 API 运行推理时,边界框被正确绘制到图像上,所以我对正在发生的事情有点茫然。因为我直接从boxes = detection_graph.get_tensor_by_name('detection_boxes:0') 获取数据并将其存储在每次迭代中。

【问题讨论】:

    标签: python tensorflow object-detection bounding-box


    【解决方案1】:

    事实证明,我忽略了 python 的坐标系在左上角有 0,0 的事实,并且 API 通过在 visualization_utils.py 中创建 top = yminbottom = ymax 来解决这个问题。所以ymax = 1073 确实会在框架底部附近。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-17
      • 2018-08-01
      • 1970-01-01
      • 2019-09-30
      • 2019-09-18
      • 2019-09-30
      • 2019-10-11
      • 2020-07-20
      相关资源
      最近更新 更多