This project was built with the goal of performing real-time obstacle detection on a drone.
This project was built with the goal of performing real-time obstacle detection on a drone. In order to achieve this given the lack of pre-existing drone image datasets, I had to collect images, label them, and train a functional model. I collected my dataset using the DJI Mavic Mini Drone and labeled the images on Roboflow, a computer vision data labeling website. I resorted to creating my own dataset focused around 6 different classes: buildings, houses, fences, poles, street signs, and trees. Based on these goals, I picked 3 locations to take pictures: Brandywine Drive, Saratoga High School, and downtown Los Gatos. I flew my drone at a varying range of altitudes from around 5-30 meters off the ground and altered the angle of the gimbal from looking straight down (90°) to horizontal views at around (10°). Throughout the process of labeling, I did not label minute objects which did not directly affect the flight path of the drone. Hence, I did not label many trees/buildings/poles/etc. in the background where I did not find it necessary to do so. Data augmentation has been key to the success I have had throughout this project. Labeling is a lengthy process requiring excessive labor, and a quick way to easily upscale the size of my dataset was through augmentation. I used Roboflow’s threefold (3x) augmentation and ended up settling on 4 types of image-level augmentation: noise, exposure, brightness, and blur. I trained my model using transfer learning on YOLOv5, and was able to achieve proficient results. Albeit mediocre training accuracies, my models performed well on test datasets, correctly creating bounding boxes with high confidences. In the near future, I will look to increase the size of my dataset and balance the label count in order to improve my model and address the skew in my dataset. Additionally, I intend to open-source my current dataset along with my best model on Kaggle and Github to help others dive into the relatively unexplored domain of drone AI.
Related Projects