Congrats to all winners! Interesting and impressive approaches!
My approach utilized 100 classes from train data (without the extra train data). Final model is an ensemble of 3 efficientnet models(B3,B4,B5-NS ) and Densenet121.
A generalizatioon intuition that I employed to tackling this highly imbalanced task was hinged on introducing an auxillary task (as this is considered beneficial to primary task generalization via some kind of inductive transfer - https://proceedings.neurips.cc/paper/2019/file/92262bf907af914b95a0fc33c3f33bf6-Paper.pdf) to learn the image orientations from projected arcface embeddings, and optimize the weighted loss computed from two classification heads ( turtle id prediction : FocalCosineLoss and image location prediction : CrossEntropyLoss).
Also, I generated clean images with background removed using Tracer (https://github.com/adnan119/TRACER) and used these images for augmentation. Unfortunately there was not enough time to run different experiments with these images.
Finally, after end of challenge and learning that most(or all) of the +0.9s made use of the extra train classes( and dropped low-count train classes), I decided to make some post-competition modifications to my code.
Here is a link to my code in fastai and pytorch lightning.
https://github.com/DrCod/turtle_facial_recognition
Feel free to drop your suggestions.