Shortcuts

mmcv.ops.points_in_polygons 源代码

import torch
from torch import Tensor

from ..utils import ext_loader

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


[文档]def points_in_polygons(points: Tensor, polygons: Tensor) -> Tensor: """Judging whether points are inside polygons, which is used in the ATSS assignment for the rotated boxes. It should be noted that when the point is just at the polygon boundary, the judgment will be inaccurate, but the effect on assignment is limited. Args: points (torch.Tensor): It has shape (B, 2), indicating (x, y). M means the number of predicted points. polygons (torch.Tensor): It has shape (M, 8), indicating (x1, y1, x2, y2, x3, y3, x4, y4). M means the number of ground truth polygons. Returns: torch.Tensor: Return the result with the shape of (B, M), 1 indicates that the point is inside the polygon, 0 indicates that the point is outside the polygon. """ assert points.shape[1] == 2, \ 'points dimension should be 2, ' \ f'but got unexpected shape {points.shape[1]}' assert polygons.shape[1] == 8, \ 'polygons dimension should be 8, ' \ f'but got unexpected shape {polygons.shape[1]}' output = torch.full([points.shape[0], polygons.shape[0]], 0.).cuda().float() ext_module.points_in_polygons_forward(points.contiguous(), polygons.contiguous(), output) return output
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.