Shortcuts

TopDownPoseEstimatorNode

class mmpose.apis.webcam.nodes.TopDownPoseEstimatorNode(name: str, model_config: str, model_checkpoint: str, input_buffer: str, output_buffer: Union[str, List[str]], enable_key: Optional[Union[str, int]] = None, enable: bool = True, device: str = 'cuda:0', class_ids: Optional[List[int]] = None, labels: Optional[List[str]] = None, bbox_thr: float = 0.5, smooth: bool = False, smooth_filter_cfg: str = 'configs/_base_/filters/one_euro.py')[source]

Perform top-down pose estimation using MMPose model.

The node should be placed after an object detection node.

Parameters
  • name (str) – The node name (also thread name)

  • model_cfg (str) – The model config file

  • model_checkpoint (str) – The model checkpoint file

  • input_buffer (str) – The name of the input buffer

  • output_buffer (str|list) – The name(s) of the output buffer(s)

  • enable_key (str|int, optional) – Set a hot-key to toggle enable/disable of the node. If an int value is given, it will be treated as an ascii code of a key. Please note: (1) If enable_key is set, the bypass() method need to be overridden to define the node behavior when disabled; (2) Some hot-keys are reserved for particular use. For example: ‘q’, ‘Q’ and 27 are used for exiting. Default: None

  • enable (bool) – Default enable/disable status. Default: True

  • device (str) – Specify the device to hold model weights and inference the model. Default: 'cuda:0'

  • class_ids (list[int], optional) – Specify the object category indices to apply pose estimation. If both class_ids and labels are given, labels will be ignored. If neither is given, pose estimation will be applied for all objects. Default: None

  • labels (list[str], optional) – Specify the object category names to apply pose estimation. See also class_ids. Default: None

  • bbox_thr (float) – Set a threshold to filter out objects with low bbox scores. Default: 0.5

  • smooth (bool) – If set to True, a Smoother will be used to refine the pose estimation result. Default: True

  • smooth_filter_cfg (str) – The filter config path to build the smoother. Only valid when smooth==True. By default, OneEuro filter will be used.

Example::
>>> cfg = dict(
...     type='TopDownPoseEstimatorNode',
...     name='human pose estimator',
...     model_config='configs/wholebody/2d_kpt_sview_rgb_img/'
...     'topdown_heatmap/coco-wholebody/'
...     'vipnas_mbv3_coco_wholebody_256x192_dark.py',
...     model_checkpoint='https://download.openmmlab.com/mmpose/'
...     'top_down/vipnas/vipnas_mbv3_coco_wholebody_256x192_dark'
...     '-e2158108_20211205.pth',
...     labels=['person'],
...     smooth=True,
...     input_buffer='det_result',
...     output_buffer='human_pose')
>>> from mmpose.apis.webcam.nodes import NODES
>>> node = NODES.build(cfg)
bypass(input_msgs)[source]

The method that defines the node behavior when disabled.

Note that a node must override this method if it has enable_key. This method has the same signature as process().

Parameters

input_msgs (dict[str, Message]) – The input data collected from the buffers. For each item, the key is the input_name of the registered input buffer, and the value is a Message instance fetched from the buffer (or None if the buffer is non-trigger and not ready).

Returns

The output message of the node which will be send to all registered output buffers.

Return type

Message

process(input_msgs)[source]

The method that implements the function of the node.

This method will be invoked when the node is enabled and the input data is ready. All subclasses of Node should override this method.

Parameters

input_msgs (dict[str, Message]) – The input data collected from the buffers. For each item, the key is the input_name of the registered input buffer, and the value is a Message instance fetched from the buffer (or None if the buffer is non-trigger and not ready).

Returns

The output message of the node which will be send to all registered output buffers.

Return type

Message

Read the Docs v: latest
Versions
latest
1.x
v1.0.0rc0
v0.29.0
v0.28.0
v0.27.0
dev-1.x
Downloads
pdf
html
epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.