vandal-vpr / vg-transformers

Official Repository of "Learning Sequential Descriptors for Sequence-based Visual Place Recognition "
MIT License
39 stars 5 forks source link

Does database and query images require consistent time or distance intervals for their collection? #14

Closed wpumain closed 1 year ago

wpumain commented 1 year ago

Does database and query images require consistent time or distance intervals for their collection? For example, if the images in the database are collected at two-meter intervals, does the query image also need to be collected at two-meter intervals for consistency?

Is there a requirement for the overlap value between consecutive images in the same sequence? For example, if there is no overlapping portion between two adjacent images in a sequence, can they not be used for model training or prediction?

ga1i13o commented 1 year ago

hello, the query and database sequences are used as defined in the original MSLS paper. In particular, for each sequence_id (in our reformatted version of the datasets you find that each of these sequences_id is a folder) you find a list of frames labelled with a frame_number. Inside a sequence_id, the MSLS author kept consecutive frame_numbers ( e.g. 1,2,3) if the distance between frame N and frame N+1 is < 30 meters. Thus to take sequences of length 5 for instance, we select all the sub-sequences that have 5 consecutives frame number (e.g. from N to N+5)

In practice, the consistency about spacing between frames is already embedded in the MSLS dataset and we do not need to worry about that. After that, a query sequence is considered a positive match for a db sequence if they have at least one frame that is within 25 mt

wpumain commented 1 year ago

Thank you for your help. I understand that the MSLS dataset contains a frame list with frame_number labels. I am wondering if I create my own dataset with sequence information, whether I need to ensure that the frame sampling time intervals or distance intervals of the query data and database data are consistent, or if there should be an overlap value between each frame?

ga1i13o commented 1 year ago

In our paper we experimented on robotcar dataset both with fixed time and fixed distance sampling. The fixed time sampling is more challenging, and indeed we get 8-9 points less of recall, because the sequences will have very different speed, some frames will be the same (e.g. waiting at a traffic light). Therefore if you want to create a dataset optimized for performance it's probably better to use fixed space sampling. Even if it's not fixed (as in MSLS) it's not a big problem; you can ensure for example that consecutive frames are within 20-25 meters .

It should be consistent between query and database, meaning that having fixed time sampling in query and space in database would be highly challenging for a model. try to adopt the same criteria.