Skip to content

Code used for my final project in Computer Vision at Texas State University, Spring 2019

Notifications You must be signed in to change notification settings

djl70/cv-bird-id

Repository files navigation

Automatic Identification of Bird Species using Computer Vision

Usage

The following steps should mostly work, but there may be additional steps you need to take to make things work perfectly. This certainly is not the cleanest code you'll see. I learned Python and Keras as I went.

1. Install Keras on Windows 10

  1. Install CUDA 10.0
  2. Sign up for the NVIDIA Developer Program
  3. Download cuDNN (v7.5.1 for CUDA 10.0)
  4. Follow the instructions here to install cuDNN
  5. Finally, install TensorFlow and Keras:
pip3 install tensorflow-gpu
pip3 install keras

2. Download the datasets

3. Split the data

  1. Run split_data_cub.py and/or split_data_nabirds.py to split the CUB-200-2011 and NABirds datasets, respectively (some modifications may need to be made to the paths)
  2. An extra directory named images is made in this process. I moved the child folders of that directory to the same level and then deleted it

4. Train the model

  1. Make sure mode = "train" is set inside main.py
  2. Uncomment the lines for the dataset you wish to use
  3. Uncomment the lines for the base model you wish to use
  4. Rename the file the model will be saved to
  5. Run main.py

5. Test the model

  1. Make sure mode = "test" is set inside main.py
  2. Uncomment the lines for the dataset you wish to use
  3. Make sure the name of the model being loaded matches the one you saved after training
  4. Run main.py. The output is the loss and accuracy

Unused/outdated files

I kept these files here as a remnant of other things I tried. They are not used.

  • crop_to_bounding_box.py
  • nabirds.py
  • split_data.py
  • try_model.py

About

Code used for my final project in Computer Vision at Texas State University, Spring 2019

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages