tensorflow / tensorflow/models

Train a CenterNet model using custom keypoints

Open
#9,848 3 comments 9 reactions 3 assignees View on GitHub

Nobody has claimed this yet.

models:research:odapi type:docs
Dominant language
Python
Stars
77.7k
Forks
44.8k
PR merge metrics
No merged PRs in 30d

Description

Prerequisites

Please answer the following question for yourself before submitting an issue.

  • [*] I checked to make sure that this issue has not been filed already.

1. The entire URL of the documentation with the issue

https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/configuring_jobs.md

2. Describe the issue

I am trying to train a CenterNet model using custom keypoints.
However, I can't find any documentation or example on how to configure the CenterNet pipeline file.

In https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf2_detection_zoo.md, the examples are just about a human pose and there is not even an explanation on how to set the keypoint_estimation_task, or what the value parameter of keypoint_label_to_std means or how to calculate it. The same for keypoint_label_to_sigmas.

Example of centernet_mobilenetv2fpn_512x512_coco17_kpts.tar.gz:

keypoint_label_map_path: "PATH_TO_BE_CONFIGURED/label_map.txt"
keypoint_estimation_task {
  task_name: "human_pose"
  task_loss_weight: 1.0
  loss {
    localization_loss {
      l1_localization_loss {
      }
    }
    classification_loss {
      penalty_reduced_logistic_focal_loss {
        alpha: 2.0
        beta: 4.0
      }
    }
  }
  keypoint_class_name: "/m/01g317"
  keypoint_label_to_std {
    key: "left_ankle"
    value: 0.89
  }
  keypoint_label_to_std {
    key: "left_ear"
    value: 0.35
  }
  keypoint_label_to_std {
    key: "left_elbow"
    value: 0.72
  }
  ....
  keypoint_regression_loss_weight: 0.1
  keypoint_heatmap_loss_weight: 1.0
  keypoint_offset_loss_weight: 1.0
  offset_peak_radius: 3
  per_keypoint_offset: true
}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.