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-cropped
andinaturalist-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
experiments
directory 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/yolo
directory 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.csv
was created usingowl-vit
. You can refer toexperiments/cleaning_annotations.ipynb
for details.phase2_train_v0_cleaned_yolo_best_annotations.csv
usesphase2_train_v0_cleaned.csv
along with YOLOv8-s model annotations. Refer toextra_data/annotate_images_yolo.py
for more information.best_model_val_data_yolo_annotations.csv
andbest_model_train_data_yolo_annotations.csv
are train/validation splits ofphase2_train_v0_cleaned_yolo_best_annotations.csv
.
inaturalist.csv
contains annotations for lux's dataset. Since the images are already cropped, we used the entire image as the bounding box.