【问题标题】:Get rid of overlapping bounding boxes across different classes in Tensorflow Object Detection API摆脱 Tensorflow 对象检测 API 中不同类之间的重叠边界框
【发布时间】:2018-04-21 01:07:00
【问题描述】:

我正在使用 Tensorflow 对象检测 API 来训练我自己的车辆检测器。当我使用Object detection tutorial 测试我的模型时,我发现在某些情况下,卡车被检测为汽车和卡车,其周围有两个重叠的边界框。我只想留下检测分数最高的那个。

我知道对象检测 API 确实消除了重叠的边界框,但对于跨不同类的边界框却没有这样做。有没有办法摆脱重叠的盒子?我可以更改对象检测 API 代码中的任何地方来实现这一点吗?

【问题讨论】:

    标签: python tensorflow object-detection bounding-box object-detection-api


    【解决方案1】:

    有两种方法可以消除重叠的边界框。

    1、将文件visualization_utils.py中的“visualize_boxes_and_labels_on_image_array”函数中的“min_score_thresh”参数调大;

    2、在配置文件中设置非最大抑制阈值

    【讨论】:

      【解决方案2】:

      您可以对所有类使用 non_max_suppression:

        corners = tf.constant(boxes, tf.float32)
        boxesList = box_list.BoxList(corners)
        boxesList.add_field('scores', tf.constant(scores))
        iou_thresh = 0.1
        max_output_size = 100
        sess = tf.Session()
        nms = box_list_ops.non_max_suppression(
            boxesList, iou_thresh, max_output_size)
        boxes = sess.run(nms.get())
      

      【讨论】:

      • 好的。我会尽力做到这一点。谢谢!
      • 你从哪里得到“box_list”的值?
      • 如何管理在同一个图像中有同一个类的多个实例的场景?
      猜你喜欢
      • 2020-07-23
      • 1970-01-01
      • 2019-04-22
      • 2018-08-01
      • 1970-01-01
      • 2019-09-30
      • 1970-01-01
      • 1970-01-01
      • 2021-02-09
      相关资源
      最近更新 更多