mmpose.apis.webcam.nodes.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')[源代码]¶
Perform top-down pose estimation using MMPose model.
The node should be placed after an object detection node.
- 参数
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, thebypass()
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
andlabels
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
, aSmoother
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)