Worked on a group for our senior capstone project creating a goose repelling drone that is able to perform autonomous flight and recognize geese using image recognition software. Our group split of four split up into a physical drone building team and a software/image recognition team. I led the image recognition team to creating a fully functioning software model that was able to identify multiple geese in an image and draw a bounding box around the indentified geese.
- Initial approach was to use a convolutional neural network that returns a boolean value of whether the image contains a goose or not
- Image above shows a sample of our data set that we collected using google images of geese as well as real images that took around Boston
- Realized we needed the location of the goose and a method of detecting multiple geese in a single image
- Decided to utilize YOLOv5 image recognition software with our own trained class of goose
- Used the YOLOv5s model which is the second smallest model
- Due to the fact that we are training locally on a macbook, we decided to use the smallest model so that we can train as many models as fast as possible so that we can experiment with varying training teachniques
- Selected 20 images from our dataset that included geese from all angles, and also included varying amounts of geese in each image
- Used a prebuilt image labeling software called LabelImg to go through our dataset and draw bounding boxes around each instance of a goose in each image
- Export all images and their labels in YOLO format to the model and train it for varying number of epochs
- Tested our model on training images, new images that were not a part of our dataset, live camera footage from our laptop camera
- Image above shows the differences we encountered when experimenting with varying training techniques
- Reached the conclusion that there is not much benefit to training our model for more than around 100 epochs
- Increasing the dataset size for training is the most optimal way of improving the accuracy of the model