Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AOT Challenge - Dataset ingestion #34

Open
adityagupta-9900 opened this issue Oct 5, 2021 · 8 comments
Open

AOT Challenge - Dataset ingestion #34

adityagupta-9900 opened this issue Oct 5, 2021 · 8 comments

Comments

@adityagupta-9900
Copy link

Has anyone already ingested AOT dataset for running this repo on it? Can someone please guide or give reference/link to your code.
TIA

@L-Ramos
Copy link

L-Ramos commented Oct 6, 2021

Hi @adityagupta-9900 , good to hear more people are working on this. I'm currently trying to do the same for the TAO dataset and I am also stuck at the data injection part. We could definitely use a bit more of documentation there together with the used config files.

@mondrasovic
Copy link

I am working on a completely different dataset nowadays but I had to write my ingestion script from scratch. What problems are you facing? Maybe I could help you resolve them.

@L-Ramos
Copy link

L-Ramos commented Oct 7, 2021

Hi @mondrasovic , thanks for your reply.
We are working with the TAO dataset and want to prepare the data for siammot. However, there is no information on how to ingest the raw TAO annotations. We have reverse-engineered the ingestion script for MOT to figure out what the script does (input and output). And so far we have managed to get a good grasp on things.
If you could share your script or some snippets of it that would go a long way.
Thanks in advance.

@mondrasovic
Copy link

Hi @mondrasovic , thanks for your reply. We are working with the TAO dataset and want to prepare the data for siammot. However, there is no information on how to ingest the raw TAO annotations. We have reverse-engineered the ingestion script for MOT to figure out what the script does (input and output). And so far we have managed to get a good grasp on things. If you could share your script or some snippets of it that would go a long way. Thanks in advance.

No problem. If you, by any chance, find a bug in my code, certainly do not hesitate to boast about it. Nevertheless, I hope it will help you.

ingest_uadetract.txt

I am working on UA-DETRAC dataset. Practically, the endeavor is to track multiple vehicles. We have some custom data as well, but this benchmark is fabulous and very well done. For our special research purposes, it is by far the best. The XML files for this dataset are not available at this point, because the site is broken (I have them because I had to personally ask, and it took a long time). But still, you can get a good grasp of what the script is doing by reading the code. I think you do not necessarily need the underlying XML data.

@L-Ramos
Copy link

L-Ramos commented Oct 14, 2021

@mondrasovic thanks for sharing the code, we are currently in the process of adapting ingestion to other datasets, so it will come in handy.

Thanks for the assistance.

@HELOBILLY
Copy link

@mondrasovic Hi, thank you very much for the ingest_uadetract.txt you provided. I completed the data ingestion according to your instructions. On the UA-DETRAC dataset, the categories I specified are 'car', 'van', 'bus' and 'others'. How do I train a multi-class tracker including 'car', 'van', 'bus' and 'others'? In addition to cfg.MODEL.ROI_BOX_HEAD.NUM_CLASSES in the configuration file, what code should be modified? By default only the 'person' category is tracked.

@mondrasovic
Copy link

mondrasovic commented Jan 31, 2022

@HELOBILLY Hey, I am glad my code was useful to you.

Well, nowadays I am using the UA-DETRAC dataset to train a class-agnostic vehicle tracker, i.e.., I do not differentiate between multiple classes. However, in order to incorporate them into the pipeline, here are some suggestions for modifications:

Add the necessary entities into the boxlist_to_entities function. The change may look like this:

if class_table is None:
    class_table = ['car', 'van', 'bus', 'others']

The same modification should be applied to the convert_given_detections_to_entities function as well as the eval_det_ap function.

I have a feeling that something else has to be changed, too. I did it once, but now my experiments are not focused on different object classes, so I can do my research with a binary classifier. If you end up with some errors, then post them here, maybe it will ring a bell.

If there are more questions, feel free to ask.

@HELOBILLY
Copy link

HELOBILLY commented Jan 31, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants