Spaces:
Running
on
Zero
Running
on
Zero
# Copyright (c) Meta Platforms, Inc. and affiliates. | |
# All rights reserved. | |
# | |
# This source code is licensed under the license found in the | |
# LICENSE file in the root directory of this source tree. | |
import torch | |
from ..utils import ext_loader | |
ext_module = ext_loader.load_ext('_ext', ['min_area_polygons']) | |
def min_area_polygons(pointsets: torch.Tensor) -> torch.Tensor: | |
"""Find the smallest polygons that surrounds all points in the point sets. | |
Args: | |
pointsets (Tensor): point sets with shape (N, 18). | |
Returns: | |
torch.Tensor: Return the smallest polygons with shape (N, 8). | |
""" | |
polygons = pointsets.new_zeros((pointsets.size(0), 8)) | |
ext_module.min_area_polygons(pointsets, polygons) | |
return polygons | |