def _flip_output(self, output): average_flips = ['hm', 'wh', 'dep', 'dim'] ##TODO consider tracking_wh neg_average_flips = ['amodel_offset'] single_flips = [ 'ltrb', 'nuscenes_att', 'velocity', 'ltrb_amodal', 'reg', 'hp_offset', 'rot', 'tracking', 'pre_hm' ] ## TODO consider iou for head in output: if head in average_flips: output[head] = (output[head][0:1] + flip_tensor(output[head][1:2])) / 2 if head in neg_average_flips: flipped_tensor = flip_tensor(output[head][1:2]) flipped_tensor[:, 0::2] *= -1 output[head] = (output[head][0:1] + flipped_tensor) / 2 if head in single_flips: output[head] = output[head][0:1] if head == 'hps': output['hps'] = (output['hps'][0:1] + flip_lr_off( output['hps'][1:2], self.flip_idx)) / 2 if head == 'hm_hp': output['hm_hp'] = (output['hm_hp'][0:1] + \ flip_lr(output['hm_hp'][1:2], self.flip_idx)) / 2 return output
def _flip_output(self, output): average_flips = ["hm", "wh", "dep", "dim"] neg_average_flips = ["amodel_offset"] single_flips = [ "ltrb", "nuscenes_att", "velocity", "ltrb_amodal", "reg", "hp_offset", "rot", "tracking", "pre_hm", ] for head in output: if head in average_flips: output[head] = (output[head][0:1] + flip_tensor(output[head][1:2])) / 2 if head in neg_average_flips: flipped_tensor = flip_tensor(output[head][1:2]) flipped_tensor[:, 0::2] *= -1 output[head] = (output[head][0:1] + flipped_tensor) / 2 if head in single_flips: output[head] = output[head][0:1] if head == "hps": output["hps"] = (output["hps"][0:1] + flip_lr_off( output["hps"][1:2], self.flip_idx)) / 2 if head == "hm_hp": output["hm_hp"] = (output["hm_hp"][0:1] + flip_lr( output["hm_hp"][1:2], self.flip_idx)) / 2 return output