Spaces:
Runtime error
Runtime error
| # Copyright (c) Facebook, Inc. and its affiliates. | |
| from typing import Any | |
| from detectron2.structures import Boxes | |
| from ..structures import DensePoseChartResult, DensePoseChartResultWithConfidences | |
| from .base import BaseConverter | |
| class ToChartResultConverter(BaseConverter): | |
| """ | |
| Converts various DensePose predictor outputs to DensePose results. | |
| Each DensePose predictor output type has to register its convertion strategy. | |
| """ | |
| registry = {} | |
| dst_type = DensePoseChartResult | |
| # pyre-fixme[14]: `convert` overrides method defined in `BaseConverter` | |
| # inconsistently. | |
| def convert(cls, predictor_outputs: Any, boxes: Boxes, *args, **kwargs) -> DensePoseChartResult: | |
| """ | |
| Convert DensePose predictor outputs to DensePoseResult using some registered | |
| converter. Does recursive lookup for base classes, so there's no need | |
| for explicit registration for derived classes. | |
| Args: | |
| densepose_predictor_outputs: DensePose predictor output to be | |
| converted to BitMasks | |
| boxes (Boxes): bounding boxes that correspond to the DensePose | |
| predictor outputs | |
| Return: | |
| An instance of DensePoseResult. If no suitable converter was found, raises KeyError | |
| """ | |
| return super(ToChartResultConverter, cls).convert(predictor_outputs, boxes, *args, **kwargs) | |
| class ToChartResultConverterWithConfidences(BaseConverter): | |
| """ | |
| Converts various DensePose predictor outputs to DensePose results. | |
| Each DensePose predictor output type has to register its convertion strategy. | |
| """ | |
| registry = {} | |
| dst_type = DensePoseChartResultWithConfidences | |
| # pyre-fixme[14]: `convert` overrides method defined in `BaseConverter` | |
| # inconsistently. | |
| def convert( | |
| cls, predictor_outputs: Any, boxes: Boxes, *args, **kwargs | |
| ) -> DensePoseChartResultWithConfidences: | |
| """ | |
| Convert DensePose predictor outputs to DensePoseResult with confidences | |
| using some registered converter. Does recursive lookup for base classes, | |
| so there's no need for explicit registration for derived classes. | |
| Args: | |
| densepose_predictor_outputs: DensePose predictor output with confidences | |
| to be converted to BitMasks | |
| boxes (Boxes): bounding boxes that correspond to the DensePose | |
| predictor outputs | |
| Return: | |
| An instance of DensePoseResult. If no suitable converter was found, raises KeyError | |
| """ | |
| return super(ToChartResultConverterWithConfidences, cls).convert( | |
| predictor_outputs, boxes, *args, **kwargs | |
| ) | |