def _get_bbox_regression_labels(bbox_target_data, num_classes):
 clss = bbox_target_data[:, 0]
 bbox_targets = np.zeros((clss.size, (4 * num_classes)), dtype=np.float32)
 bbox_inside_weights = np.zeros(bbox_targets.shape, dtype=np.float32)
 inds = np.where((clss > 0))[0]
 for ind in inds:
  cls = clss[ind]
  start = (4 * cls)
  end = (start + 4)
  bbox_targets[ind, start:end] = bbox_target_data[ind, 1:]
  bbox_inside_weights[ind, start:end] = cfg.TRAIN.BBOX_INSIDE_WEIGHTS
 return (bbox_targets, bbox_inside_weights)

def _get_bbox_regression_labels ( bbox_target_data , num_classes ) : clss = bbox_target_data [ : , 0 ] bbox_targets = np . zeros ( ( clss . size , ( 4 * num_classes ) ) , dtype = np . float32 ) bbox_inside_weights = np . zeros ( bbox_targets . shape , dtype = np . float32 ) inds = np . where ( ( clss > 0 ) ) [ 0 ] for ind in inds : cls = clss [ ind ] start = ( 4 * cls ) end = ( start + 4 ) bbox_targets [ ind , start : end ] = bbox_target_data [ ind , 1 : ] bbox_inside_weights [ ind , start : end ] = cfg . TRAIN . BBOX_INSIDE_WEIGHTS return ( bbox_targets , bbox_inside_weights )
bounding-box regression targets are stored in a compact form in the roidb .