def test_get_frame_indices_agent(frame_idx: int, zarr_dataset: ChunkedDataset,
                                 dmg: LocalDataManager, cfg: dict) -> None:
    cfg["raster_params"]["map_type"] = "box_debug"
    rasterizer = build_rasterizer(cfg, dmg)
    dataset = AgentDataset(cfg, zarr_dataset, rasterizer)

    frame_indices = dataset.get_frame_indices(frame_idx)
    # get valid agents from that frame only
    agent_slice = get_agents_slice_from_frames(
        dataset.dataset.frames[frame_idx])
    agents = dataset.dataset.agents[agent_slice]
    agents = agents[dataset.agents_mask[agent_slice]]

    for agent, idx in zip(agents, frame_indices):
        id_agent = dataset[idx]["track_id"]
        assert id_agent == agent["track_id"]
Ejemplo n.º 2
0
                       confs=np.concatenate(confidences_list))
        metrics = compute_metrics_csv(
            eval_gt_path, pred_path, [neg_multi_log_likelihood, time_displace])
        for metric_name, metric_mean in metrics.items():
            print(metric_name, metric_mean)

        gt_rows = {}
        for row in read_gt_csv(eval_gt_path):
            gt_rows[row["track_id"] + row["timestamp"]] = row["coord"]

        eval_ego_dataset = EgoDataset(cfg, eval_dataset.dataset, rasterizer)

        for frame_number in range(
                99, len(eval_zarr.frames),
                100):  # start from last frame of scene_0 and increase by 100
            agent_indices = eval_dataset.get_frame_indices(frame_number)
            if not len(agent_indices):
                continue

            # get AV point-of-view frame
            data_ego = eval_ego_dataset[frame_number]
            im_ego = rasterizer.to_rgb(data_ego["image"].transpose(1, 2, 0))
            center = np.asarray(cfg["raster_params"]["ego_center"]
                                ) * cfg["raster_params"]["raster_size"]

            predicted_positions = []
            target_positions = []

            for v_index in agent_indices:
                data_agent = eval_dataset[v_index]
Ejemplo n.º 3
0
model.eval()
torch.set_grad_enabled(False)

# Uncomment to choose satelliter or semantic rasterizer
# validate_cfg["raster_params"]["map_type"] = "py_satellite"
validate_cfg["raster_params"]["map_type"] = "py_semantic"

rast = build_rasterizer(validate_cfg, dm)

eval_ego_dataset = EgoDataset(validate_cfg, valid_dataset.dataset, rast)
num_frames = 2  # randomly pick _ frames
random_frames = np.random.randint(0, len(eval_ego_dataset) - 1, (num_frames, ))

for frame_number in random_frames:
    agent_indices = valid_dataset.get_frame_indices(frame_number)
    if not len(agent_indices):
        continue

    # get AV point-of-view frame
    data_ego = eval_ego_dataset[frame_number]
    im_ego = rasterizer.to_rgb(data_ego["image"].transpose(1, 2, 0))
    center = np.asarray(validate_cfg["raster_params"]["ego_center"]
                        ) * validate_cfg["raster_params"]["raster_size"]

    predicted_positions = []
    target_positions = []

    for v_index in agent_indices:
        data_agent = valid_dataset[v_index]