当前位置: 首页>>代码示例>>Python>>正文


Python box_list_ops.prune_outside_window方法代码示例

本文整理汇总了Python中object_detection.core.box_list_ops.prune_outside_window方法的典型用法代码示例。如果您正苦于以下问题:Python box_list_ops.prune_outside_window方法的具体用法?Python box_list_ops.prune_outside_window怎么用?Python box_list_ops.prune_outside_window使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在object_detection.core.box_list_ops的用法示例。


在下文中一共展示了box_list_ops.prune_outside_window方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_prune_outside_window_filters_boxes_which_fall_outside_the_window

# 需要导入模块: from object_detection.core import box_list_ops [as 别名]
# 或者: from object_detection.core.box_list_ops import prune_outside_window [as 别名]
def test_prune_outside_window_filters_boxes_which_fall_outside_the_window(
      self):
    window = tf.constant([0, 0, 9, 14], tf.float32)
    corners = tf.constant([[5.0, 5.0, 6.0, 6.0],
                           [-1.0, -2.0, 4.0, 5.0],
                           [2.0, 3.0, 5.0, 9.0],
                           [0.0, 0.0, 9.0, 14.0],
                           [-10.0, -10.0, -9.0, -9.0],
                           [-100.0, -100.0, 300.0, 600.0]])
    boxes = box_list.BoxList(corners)
    boxes.add_field('extra_data', tf.constant([[1], [2], [3], [4], [5], [6]]))
    exp_output = [[5.0, 5.0, 6.0, 6.0],
                  [2.0, 3.0, 5.0, 9.0],
                  [0.0, 0.0, 9.0, 14.0]]
    pruned, keep_indices = box_list_ops.prune_outside_window(boxes, window)
    with self.test_session() as sess:
      pruned_output = sess.run(pruned.get())
      self.assertAllClose(pruned_output, exp_output)
      keep_indices_out = sess.run(keep_indices)
      self.assertAllEqual(keep_indices_out, [0, 2, 3])
      extra_data_out = sess.run(pruned.get_field('extra_data'))
      self.assertAllEqual(extra_data_out, [[1], [3], [4]]) 
开发者ID:ringringyi,项目名称:DOTA_models,代码行数:24,代码来源:box_list_ops_test.py

示例2: test_prune_outside_window_filters_boxes_which_fall_outside_the_window

# 需要导入模块: from object_detection.core import box_list_ops [as 别名]
# 或者: from object_detection.core.box_list_ops import prune_outside_window [as 别名]
def test_prune_outside_window_filters_boxes_which_fall_outside_the_window(
      self):
    def graph_fn():
      window = tf.constant([0, 0, 9, 14], tf.float32)
      corners = tf.constant([[5.0, 5.0, 6.0, 6.0],
                             [-1.0, -2.0, 4.0, 5.0],
                             [2.0, 3.0, 5.0, 9.0],
                             [0.0, 0.0, 9.0, 14.0],
                             [-10.0, -10.0, -9.0, -9.0],
                             [-100.0, -100.0, 300.0, 600.0]])
      boxes = box_list.BoxList(corners)
      boxes.add_field('extra_data', tf.constant([[1], [2], [3], [4], [5], [6]]))
      pruned, keep_indices = box_list_ops.prune_outside_window(boxes, window)
      return pruned.get(), pruned.get_field('extra_data'), keep_indices
    pruned_output, extra_data_out, keep_indices_out = self.execute_cpu(graph_fn,
                                                                       [])
    exp_output = [[5.0, 5.0, 6.0, 6.0],
                  [2.0, 3.0, 5.0, 9.0],
                  [0.0, 0.0, 9.0, 14.0]]
    self.assertAllClose(pruned_output, exp_output)
    self.assertAllEqual(keep_indices_out, [0, 2, 3])
    self.assertAllEqual(extra_data_out, [[1], [3], [4]]) 
开发者ID:tensorflow,项目名称:models,代码行数:24,代码来源:box_list_ops_test.py

示例3: _remove_invalid_anchors_and_predictions

# 需要导入模块: from object_detection.core import box_list_ops [as 别名]
# 或者: from object_detection.core.box_list_ops import prune_outside_window [as 别名]
def _remove_invalid_anchors_and_predictions(
      self,
      box_encodings,
      objectness_predictions_with_background,
      anchors_boxlist,
      clip_window):
    """Removes anchors that (partially) fall outside an image.

    Also removes associated box encodings and objectness predictions.

    Args:
      box_encodings: 3-D float tensor of shape
        [batch_size, num_anchors, self._box_coder.code_size] containing
        predicted boxes.
      objectness_predictions_with_background: 3-D float tensor of shape
        [batch_size, num_anchors, 2] containing class
        predictions (logits) for each of the anchors.  Note that this
        tensor *includes* background class predictions (at class index 0).
      anchors_boxlist: A BoxList representing num_anchors anchors (for the RPN)
        in absolute coordinates.
      clip_window: a 1-D tensor representing the [ymin, xmin, ymax, xmax]
        extent of the window to clip/prune to.

    Returns:
      box_encodings: 4-D float tensor of shape
        [batch_size, num_valid_anchors, self._box_coder.code_size] containing
        predicted boxes, where num_valid_anchors <= num_anchors
      objectness_predictions_with_background: 2-D float tensor of shape
        [batch_size, num_valid_anchors, 2] containing class
        predictions (logits) for each of the anchors, where
        num_valid_anchors <= num_anchors.  Note that this
        tensor *includes* background class predictions (at class index 0).
      anchors: A BoxList representing num_valid_anchors anchors (for the RPN) in
        absolute coordinates.
    """
    pruned_anchors_boxlist, keep_indices = box_list_ops.prune_outside_window(
        anchors_boxlist, clip_window)
    def _batch_gather_kept_indices(predictions_tensor):
      return tf.map_fn(
          partial(tf.gather, indices=keep_indices),
          elems=predictions_tensor,
          dtype=tf.float32,
          parallel_iterations=self._parallel_iterations,
          back_prop=True)
    return (_batch_gather_kept_indices(box_encodings),
            _batch_gather_kept_indices(objectness_predictions_with_background),
            pruned_anchors_boxlist) 
开发者ID:ringringyi,项目名称:DOTA_models,代码行数:49,代码来源:faster_rcnn_meta_arch.py


注:本文中的object_detection.core.box_list_ops.prune_outside_window方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。