batch convert nuscenes

This commit is contained in:
QuanyiLi
2023-05-06 17:10:12 +01:00
parent 8eb2e07d50
commit 311932c986
4 changed files with 8 additions and 8 deletions

View File

@@ -1,3 +0,0 @@
from scenarionet.converter.nuscenes.utils import convert_nuscenes_scenario
from scenarionet.converter.nuplan.utils import convert_nuplan_scenario
from scenarionet.converter.utils import write_to_directory

View File

@@ -379,7 +379,7 @@ def convert_nuscenes_scenario(scene, nuscenes: NuScenes):
result[SD.TRACKS] = get_tracks_from_frames(nuscenes, scene_info, frames, num_to_interpolate=5) result[SD.TRACKS] = get_tracks_from_frames(nuscenes, scene_info, frames, num_to_interpolate=5)
result[SD.METADATA][SD.SDC_ID] = "ego" result[SD.METADATA][SD.SDC_ID] = "ego"
# TODO Traffic Light # No traffic light in nuscenes at this stage
result[SD.DYNAMIC_MAP_STATES] = {} result[SD.DYNAMIC_MAP_STATES] = {}
# map # map

View File

@@ -4,12 +4,14 @@ MetaDrive.
""" """
import os.path import os.path
from nuscenes import NuScenes try:
from nuscenes import NuScenes
except ImportError:
raise ImportError("nuscenes-devkit has to be set up before running data conversion")
from scenarionet import SCENARIONET_DATASET_PATH from scenarionet import SCENARIONET_DATASET_PATH
from scenarionet.converter.nuscenes.utils import convert_nuscenes_scenario from scenarionet.converter.nuscenes.utils import convert_nuscenes_scenario
from scenarionet.converter.utils import write_to_directory from scenarionet.converter.utils import write_to_directory
#
if __name__ == "__main__": if __name__ == "__main__":
output_path = os.path.join(SCENARIONET_DATASET_PATH, "nuscenes") output_path = os.path.join(SCENARIONET_DATASET_PATH, "nuscenes")
version = 'v1.0-mini' version = 'v1.0-mini'

View File

@@ -60,7 +60,7 @@ def mph_to_kmh(speed_in_mph: float):
def get_agent_summary(state_dict, id, type): def get_agent_summary(state_dict, id, type):
track = state_dict["position"] track = state_dict["position"]
valid_track = track[state_dict["valid"], :2] valid_track = track[state_dict["valid"].astype(int), :2]
distance = float(sum(np.linalg.norm(valid_track[i] - valid_track[i + 1]) for i in range(valid_track.shape[0] - 1))) distance = float(sum(np.linalg.norm(valid_track[i] - valid_track[i + 1]) for i in range(valid_track.shape[0] - 1)))
valid_length = int(sum(state_dict["valid"])) valid_length = int(sum(state_dict["valid"]))
@@ -173,10 +173,11 @@ def write_to_directory(convert_func,
# rename and save # rename and save
if delay_remove is not None: if delay_remove is not None:
assert delay_remove == save_path
shutil.rmtree(delay_remove) shutil.rmtree(delay_remove)
os.rename(output_path, save_path) os.rename(output_path, save_path)
summary_file = os.path.join(save_path, summary_file) summary_file = os.path.join(save_path, summary_file)
with open(summary_file, "wb") as file: with open(summary_file, "wb") as file:
pickle.dump(dict_recursive_remove_array(metadata_recorder), file) pickle.dump(dict_recursive_remove_array(metadata_recorder), file)
print("Summary is saved at: {}".format(summary_file)) print("Summary is saved at: {}".format(summary_file))
assert delay_remove == save_path