All thanks to @ZINDI for hosting this challenge,I was able to secure 1st place in this interesting competition.
I will not share my solution code, But instead of I will share my winning approach and some repositories that help you to code my solution.
My winning solution is a weighted average between ResNet18 - ResNet50 - EfficientNet-B3.
I used some augmentations to deal with the bad image quality such as Histogram Equalization, and some classic augmentations such as Rotation, Flip ...
My Overall CV was 0.6607 [ using 5 K-Folds ] , giving 0.665 in public LB and 0.646 in public LB.
Interesting, my solution was quite simple. No more than 5 lines of code. i used Resnet101 implemented with Fastai. The images were terrible. My model tended to perform better without augmentation. i got 0.663.. on public leaderboard and 0.638 on private leaderboard.