easycv.models.pose.heads package¶
Submodules¶
easycv.models.pose.heads.topdown_heatmap_base_head module¶
- easycv.models.pose.heads.topdown_heatmap_base_head.decode_heatmap(heatmaps, img_metas, test_cfg)[source]¶
- class easycv.models.pose.heads.topdown_heatmap_base_head.TopdownHeatmapBaseHead[source]¶
Bases:
torch.nn.modules.module.Module
Base class for top-down heatmap heads.
All top-down heatmap heads should subclass it. All subclass should overwrite:
Methods:get_loss, supporting to calculate loss. Methods:get_accuracy, supporting to calculate accuracy. Methods:forward, supporting to forward model. Methods:inference_model, supporting to inference model.
- decode(img_metas, output, **kwargs)[source]¶
Decode keypoints from heatmaps.
- Parameters
img_metas (list(dict)) – Information about data augmentation By default this includes: - “image_file: path to the image file - “center”: center of the bbox - “scale”: scale of the bbox - “rotation”: rotation of the bbox - “bbox_score”: score of bbox
output (np.ndarray[N, K, H, W]) – model predicted heatmaps.
- training: bool¶
easycv.models.pose.heads.topdown_heatmap_simple_head module¶
- class easycv.models.pose.heads.topdown_heatmap_simple_head.TopdownHeatmapSimpleHead(in_channels, out_channels, num_deconv_layers=3, num_deconv_filters=(256, 256, 256), num_deconv_kernels=(4, 4, 4), extra=None, in_index=0, input_transform=None, align_corners=False, loss_keypoint=None, train_cfg=None, test_cfg=None)[source]¶
Bases:
easycv.models.pose.heads.topdown_heatmap_base_head.TopdownHeatmapBaseHead
Top-down heatmap simple head. paper ref: Bin Xiao et al.
Simple Baselines for Human Pose Estimation and Tracking
.TopdownHeatmapSimpleHead is consisted of (>=0) number of deconv layers and a simple conv2d layer.
- Parameters
in_channels (int) – Number of input channels
out_channels (int) – Number of output channels
num_deconv_layers (int) – Number of deconv layers. num_deconv_layers should >= 0. Note that 0 means no deconv layers.
num_deconv_filters (list|tuple) – Number of filters. If num_deconv_layers > 0, the length of
num_deconv_kernels (list|tuple) – Kernel sizes.
in_index (int|Sequence[int]) – Input feature index. Default: 0
input_transform (str|None) –
Transformation type of input features. Options: ‘resize_concat’, ‘multiple_select’, None. Default: None.
- ’resize_concat’: Multiple feature maps will be resized to the
same size as the first one and then concat together. Usually used in FCN head of HRNet.
- ’multiple_select’: Multiple feature maps will be bundle into
a list and passed into decode head.
None: Only one select feature map is allowed.
align_corners (bool) – align_corners argument of F.interpolate. Default: False.
loss_keypoint (dict) – Config for keypoint loss. Default: None.
- __init__(in_channels, out_channels, num_deconv_layers=3, num_deconv_filters=(256, 256, 256), num_deconv_kernels=(4, 4, 4), extra=None, in_index=0, input_transform=None, align_corners=False, loss_keypoint=None, train_cfg=None, test_cfg=None)[source]¶
Initializes internal Module state, shared by both nn.Module and ScriptModule.
- get_loss(output, target, target_weight)[source]¶
Calculate top-down keypoint loss.
Note
batch_size: N num_keypoints: K heatmaps height: H heatmaps weight: W
- Parameters
output (torch.Tensor[NxKxHxW]) – Output heatmaps.
target (torch.Tensor[NxKxHxW]) – Target heatmaps.
target_weight (torch.Tensor[NxKx1]) – Weights across different joint types.
- get_accuracy(output, target, target_weight)[source]¶
Calculate accuracy for top-down keypoint loss.
Note
batch_size: N num_keypoints: K heatmaps height: H heatmaps weight: W
- Parameters
output (torch.Tensor[NxKxHxW]) – Output heatmaps.
target (torch.Tensor[NxKxHxW]) – Target heatmaps.
target_weight (torch.Tensor[NxKx1]) – Weights across different joint types.
- inference_model(x, flip_pairs=None)[source]¶
Inference function.
- Returns
Output heatmaps.
- Return type
output_heatmap (np.ndarray)
- Parameters
x (torch.Tensor[NxKxHxW]) – Input features.
flip_pairs (None | list[tuple()) – Pairs of keypoints which are mirrored.
- training: bool¶