Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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