VPR-methods-evaluation icon indicating copy to clipboard operation
VPR-methods-evaluation copied to clipboard

Add new VPR methods: selavpr and supervlad

Open gogojjh opened this issue 3 months ago • 2 comments

Implemented the new SelaVPR and SuperVLD models. Refined Descriptor Extraction: The SelaVPR architecture outputs a tuple containing both local and global descriptors. To correctly integrate this into the VPR pipeline, the code now includes a conditional check:

if args.method.startswith("selavpr"):
    descriptors = model(images.to(args.device))[1]
else:
    descriptors = model(images.to(args.device))

gogojjh avatar Sep 25 '25 15:09 gogojjh

Thank you for the PR!

This looks nice, except that I prefer to not modify the main.py unless really necessary. In the case of selavpr, you could create a wrapper that contains the model and returns only the global descriptors, so that the main.py is left unchanged.

Another little thing, the lines you added as parser.py (lines 231 to 243) can you ensure that the code doesn't break if the parameter backbone is None? Like in this line. In practice, all models should work even without passing --backbone and --descriptors_dimension

gmberton avatar Sep 25 '25 17:09 gmberton

Great suggestions, let me find time to correct them.

gogojjh avatar Sep 25 '25 20:09 gogojjh

Closing PR for lack of activity. Feel free to reopen or create a new one if/when you fix those issues

gmberton avatar Nov 29 '25 14:11 gmberton