当前位置:   article > 正文

mmrotate代码解读之RotatedAnchorHead—get_anchors()函数_目标检测 rotated anchor

目标检测 rotated anchor

get_anchors()函数功能:

为每张图像根据其特征图的大小生成锚点,并为每个锚点生成一个判断是否有效的布尔值(valid flag)。valid flag用于标记哪些锚点是在图像填充区域之外

参数:
featmap_sizes: 特征图的尺寸列表,每个元素都是一个二元组,表示特征图的高度和宽度。
img_metas:包含图像元数据的字典列表,例如图像的填充尺寸(pad_shape)。
device:指定生成的锚点张量应该存放在哪个设备上,例如’cuda’或’cpu’。
返回值:
anchor_list:每张图像的锚点列表,每个元素是一个张量,包含了该图像所有锚点的坐标。 valid_flag_list:标记对应锚点是否有效

步骤:
生成锚点:首先,使用anchor_generator的grid_priors方法为一组特征图尺寸生成多尺度的锚点。因为所有图像的特征图大小相同,所以这一步只需要执行一次。

复制锚点:接着,将这组多层次锚点复制给每张图像即batchsize张图片,组成anchor_list。

计算有效标志:落在填充区域的锚点被标记为无效,从而在后续的处理中被忽略。

代码详解:

def get_anchors(self, featmap_sizes, img_metas, device='cuda'):
    """Get anchors according to feature map sizes.
    Args:
        featmap_sizes (list[tuple]): Multi-level feature map sizes.
        img_metas (list[dict]): Image meta info.
        device (torch.device | str): Device for returned tensors

    Returns:
        tuple (list[Tensor]):

            - anchor_list (list[Tensor]): Anchors of each image.
            - valid_flag_list (list[Tensor]): Valid flags of each image.
    """
    # 计算图像的数量
    num_imgs = len(img_metas)

    # 由于所有图像的特征图大小相同,我们只需要计算一次锚点
    multi_level_anchors = self.anchor_generator.grid_priors(
        featmap_sizes, device=device)
    # 为每张图像复制相同的锚点
    anchor_list = [multi_level_anchors for _ in range(num_imgs)]

    # 对每张图像,计算多尺度锚点是否有效
    valid_flag_list = []
    for img_id, img_meta in enumerate(img_metas):
        # 根据图像的填充尺寸计算是否是有效猫点
        multi_level_flags = self.anchor_generator.valid_flags(
            featmap_sizes, img_meta['pad_shape'], device)
        valid_flag_list.append(multi_level_flags)

    return anchor_list, valid_flag_list

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/722379
推荐阅读
相关标签
  

闽ICP备14008679号