class_docstr: CenterNet network using Hourglass from https://arxiv.org/abs/1904.07850S.
class_docstr_tok: ["CenterNet","network","using","Hourglass","from","https",":","\/\/arxiv.org\/abs\/1904.07850S","."]
docstr: Group detections.
docstr_tok: ["Group","detections","."]
code: def group_detections(xs, ys, scores, classes, width_height):
      """Group detections."""
      classes = tf.cast(classes[..., None], tf.float32)
      scores = scores[..., None]
      xs, ys = xs[..., None], ys[..., None]
      bboxes = tf.concat(
          [
              xs - width_height[..., 0:1] / 2,
              ys - width_height[..., 1:2] / 2,
              xs + width_height[..., 0:1] / 2,
              ys + width_height[..., 1:2] / 2,
          ],
          axis=-1,
      )
      detections = tf.concat([bboxes, scores, classes], axis=-1)
      return detections
  
imports: import collections
  import os
  import random
  import string
  import time
  from absl import logging
  import numpy
  import tensorflow
  from tensorflow_graphics.projects.points_to_3Dobjects.models import centernet_utils
  from tensorflow_graphics.projects.points_to_3Dobjects.networks import hourglass
  from tensorflow_graphics.projects.points_to_3Dobjects.transforms import transforms
  from tensorflow_graphics.projects.points_to_3Dobjects.utils import image
  from google3.pyglib import gfile
label_desc: Use image node_id 16 for calling the CenterNetVID obj's underlying member method code with example usage: obj.group_detections(xs, ys, scores, classes, width_height) and returns: detections