Closed michael-hoss closed 2 months ago
@michael-hoss thanks for these suggestions!
Could you elaborate more on these functonalities?:
TrackingBox
?How do you envision "calling the tracking eval directly from python"? I think users can already run the tracking eval via python by doing something like this?:
from nuscenes.eval.tracking.evaluate import TrackingEval
nusc_eval = TrackingEval(...)
nusc_eval.main(render_curves=True)
I mean completely custom data, in my particular case for example simulated collaborative object perception data from the artery simulator https://github.com/riebl/artery, which yields me both ground truth and predictions.
Instead of writing my own devkit for visualization, metrics evaluation etc. I just convert it to nuscenes and use nuscenes-devkit.
Pretty much like TrackingBox
(with default values and file output), but the classes I refer to exactly describe the schema of the json files that need to be present on disk for the evaluation to work:
Attribute
, CalibratedSensor
etc.TrackingBox
already.When I convert my own custom data to the nuscenes json format, I find it easier and less error-prone (wrt. dict key spelling) if I can first convert my data into such Python classes rather than dicts.
Or do such classes already exist in the codebase and I have overlooked them (besides TrackingBox
)? Could they be generated by the object-relational mapping that you use?
Oh true, sorry for the confusion. That works well and I also use it just like this. Just had to look into the code because as far as I remember, the docs were more about the CLI.
@michael-hoss thanks for the detailed explanation! :100:
For the conversion of custom tracking data into nuScenes classes, we will leave it to individual repos to implement this in their respective codebases (otherwise, nuscenes-devkit
will become bloated with multiple converters)
For conversion of classes to dicts / json, TrackingBox
(in addition to other classes like DetectionBox
) already supports this via the serialize
method: https://github.com/nutonomy/nuscenes-devkit/blob/4df2701feb3436ae49edaf70128488865a3f6ff9/python-sdk/nuscenes/eval/tracking/data_classes.py#L308-L310
Thanks for the quick response!
I have the following functionality available in a private repository that wraps my fork of nuscenes-devkit:
If you guys are interested in having this functionality (docs and helper classes for conversion) also here in the main repo, let me know (cc @whyekit-motional). I could then move this stuff into my nuscenes-devkit fork and open a PR whenever I find time.