This is the 7th place solution for the MosquitoAlert Challenge 2023. The goal of this competition is to identify mosquitoes and determine their species.
-
Install Datasets
- Download the competition dataset from here and unzip it to a folder named
data_round_2(the annotations files are included). - Install lux's dataset, unzip
gbif-croppedandinaturalist-six-cropped(the annotations files are included).
- Download the competition dataset from here and unzip it to a folder named
-
Install Dependencies
- Use the following command to install the necessary dependencies:
pip install -r requirements.txt.
- Use the following command to install the necessary dependencies:
-
Run the Classifier
- Navigate to the
experimentsdirectory and execute the following command:python mosquito_clf_yolo_lux_ema.py.
- Navigate to the
-
Install Competition Dataset
- Download the competition dataset from here and unzip it to a folder named
data_round_2.
- Download the competition dataset from here and unzip it to a folder named
-
Install Dependencies
- Use the following command to install the necessary dependencies:
pip install -r requirements.txt.
- Use the following command to install the necessary dependencies:
-
Prepare YOLO Dataset
- Navigate to the
experiments/yolodirectory and run the script:python convert_mosquito_to_yolo.py.
- Navigate to the
-
Start Training
- Execute the command:
python yolo_training.py.
- Execute the command:
You can find the model weights and instructions on how to use them on the Hugging Face Model Hub.
phase2_train_v0_cleaned.csvwas created usingowl-vit. You can refer toexperiments/cleaning_annotations.ipynbfor details.phase2_train_v0_cleaned_yolo_best_annotations.csvusesphase2_train_v0_cleaned.csvalong with YOLOv8-s model annotations. Refer toextra_data/annotate_images_yolo.pyfor more information.best_model_val_data_yolo_annotations.csvandbest_model_train_data_yolo_annotations.csvare train/validation splits ofphase2_train_v0_cleaned_yolo_best_annotations.csv.
inaturalist.csvcontains annotations for lux's dataset. Since the images are already cropped, we used the entire image as the bounding box.