Shortcuts

mmcv.ops.convex_iou 源代码

# Copyright (c) OpenMMLab. All rights reserved.
from typing import Tuple

import torch

from ..utils import ext_loader

ext_module = ext_loader.load_ext('_ext', ['convex_iou', 'convex_giou'])


[文档]def convex_giou(pointsets: torch.Tensor, polygons: torch.Tensor) -> Tuple[torch.Tensor, torch.Tensor]: """Return generalized intersection-over-union (Jaccard index) between point sets and polygons. Args: pointsets (torch.Tensor): It has shape (N, 18), indicating (x1, y1, x2, y2, ..., x9, y9) for each row. polygons (torch.Tensor): It has shape (N, 8), indicating (x1, y1, x2, y2, x3, y3, x4, y4) for each row. Returns: tuple[torch.Tensor, torch.Tensor]: The first element is the gious between point sets and polygons with the shape (N,). The second element is the gradient of point sets with the shape (N, 18). """ output = pointsets.new_zeros((pointsets.size(0), 19)) ext_module.convex_giou(pointsets, polygons, output) convex_giou = output[:, -1] points_grad = output[:, 0:-1] return convex_giou, points_grad
[文档]def convex_iou(pointsets: torch.Tensor, polygons: torch.Tensor) -> torch.Tensor: """Return intersection-over-union (Jaccard index) between point sets and polygons. Args: pointsets (torch.Tensor): It has shape (N, 18), indicating (x1, y1, x2, y2, ..., x9, y9) for each row. polygons (torch.Tensor): It has shape (K, 8), indicating (x1, y1, x2, y2, x3, y3, x4, y4) for each row. Returns: torch.Tensor: Return the ious between point sets and polygons with the shape (N, K). """ N, K = pointsets.size(0), polygons.size(0) ious = pointsets.new_zeros((N, K)) ext_module.convex_iou(pointsets, polygons, ious) return ious
Read the Docs v: stable
Versions
latest
stable
2.x
v2.0.1
v2.0.0
1.x
v1.7.1
v1.7.0
v1.6.2
v1.6.1
v1.6.0
v1.5.3
v1.5.2_a
v1.5.1
v1.5.0
v1.4.8
v1.4.7
v1.4.6
v1.4.5
v1.4.4
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.3.18
v1.3.17
v1.3.16
v1.3.15
v1.3.14
v1.3.13
Downloads
pdf
html
epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.