class_docstr: COCO dataset for top-down pose estimation. 
  
  The dataset loads raw features and apply specified transforms
  to return a dict containing the image tensors and other information.
  
  COCO keypoint indexes:
  
      0: 'nose',
      1: 'left_eye',
      2: 'right_eye',
      3: 'left_ear',
      4: 'right_ear',
      5: 'left_shoulder',
      6: 'right_shoulder',
      7: 'left_elbow',
      8: 'right_elbow',
      9: 'left_wrist',
      10: 'right_wrist',
      11: 'left_hip',
      12: 'right_hip',
      13: 'left_knee',
      14: 'right_knee',
      15: 'left_ankle',
      16: 'right_ankle'
  
  Args:
      dataset_dir (str): Root path to the dataset.
      image_dir (str): Path to a directory where images are held.
      anno_path (str): Relative path to the annotation file.
      num_joints (int): Keypoint numbers
      trainsize (list):[w, h] Image target size
      transform (composed(operators)): A sequence of data transforms.
      bbox_file (str): Path to a detection bbox file
          Default: None.
      use_gt_bbox (bool): Whether to use ground truth bbox
          Default: True.
      pixel_std (int): The pixel std of the scale
          Default: 200.
      image_thre (float): The threshold to filter the detection box
          Default: 0.0.
code: def _load_coco_person_detection_results(self):
      all_boxes = None
      bbox_file_path = os.path.join(self.dataset_dir, self.bbox_file)
      with open(bbox_file_path, "r") as f:
          all_boxes = json.load(f)
  
      if not all_boxes:
          print("=> Load %s fail!" % bbox_file_path)
          return None
  
      kpt_db = []
      for n_img in range(0, len(all_boxes)):
          det_res = all_boxes[n_img]
          if det_res["category_id"] != 1:
              continue
          file_name = (
              det_res["filename"]
              if "filename" in det_res
              else "%012d.jpg" % det_res["image_id"]
          )
          img_name = os.path.join(self.img_prefix, file_name)
          box = det_res["bbox"]
          score = det_res["score"]
          im_id = int(det_res["image_id"])
  
          if score < self.image_thre:
              continue
  
          center, scale = self._box2cs(box)
          joints = np.zeros(
              (self.ann_info["num_joints"], 3), dtype=np.float32
          )
          joints_vis = np.ones(
              (self.ann_info["num_joints"], 3), dtype=np.float32
          )
          kpt_db.append(
              {
                  "image_file": img_name,
                  "im_id": im_id,
                  "center": center,
                  "scale": scale,
                  "score": score,
                  "gt_joints": joints,
                  "joints_vis": joints_vis,
              }
          )
  
      return kpt_db
  
imports: import os
  import cv2
  import numpy
  import json
  import copy
  import pycocotools
  from pycocotools.coco import COCO
  from .dataset import DetDataset
  from ppdet.core.workspace import register, serializable
label_desc: Use image node_id 5 for calling the KeypointTopDownCocoDataset obj's underlying member method code with example usage: obj._load_coco_person_detection_results() and returns: kpt_db, None