Shortcuts

Source code for mmcv.ops.points_in_polygons

import torch

from ..utils import ext_loader

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


[docs]def points_in_polygons(points, polygons): """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: v1.4.7
Versions
master
latest
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
v1.3.12
v1.3.11
v1.3.10
v1.3.9
v1.3.8
v1.3.7
v1.3.6
v1.3.5
v1.3.4
v1.3.3
v1.3.2
v1.3.1
v1.3.0
Downloads
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.