|
|
|
|
|
|
|
|
|
from typing import Any
|
|
|
|
from .base import BaseConverter
|
|
|
|
|
|
class HFlipConverter(BaseConverter):
|
|
"""
|
|
Converts various DensePose predictor outputs to DensePose results.
|
|
Each DensePose predictor output type has to register its convertion strategy.
|
|
"""
|
|
|
|
registry = {}
|
|
dst_type = None
|
|
|
|
@classmethod
|
|
|
|
|
|
def convert(cls, predictor_outputs: Any, transform_data: Any, *args, **kwargs):
|
|
"""
|
|
Performs an horizontal flip on DensePose predictor outputs.
|
|
Does recursive lookup for base classes, so there's no need
|
|
for explicit registration for derived classes.
|
|
|
|
Args:
|
|
predictor_outputs: DensePose predictor output to be converted to BitMasks
|
|
transform_data: Anything useful for the flip
|
|
Return:
|
|
An instance of the same type as predictor_outputs
|
|
"""
|
|
return super(HFlipConverter, cls).convert(
|
|
predictor_outputs, transform_data, *args, **kwargs
|
|
)
|
|
|