top of page

Obstacle detection in Indian roads using YOLOv3

Obstacle detection and classification hold crucial significance for the control system of a self-driving vehicle. Implementing self-driving vehicles in India poses unique challenges, including jaywalking pedestrians, unattended animals like cows obstructing roads, frequent barricades in the middle of the road, and vehicles crossing over into the opposite lane. Detecting jaywalking is particularly critical as it can lead to human casualties and serious accidents. Therefore, self-driving cars designed for India must adeptly detect and respond to these specific obstacles on Indian roads.

This project focuses on Obstacle Detection in Autonomous Vehicles for Indian Roads, specifically addressing the segmentation and localization of common obstacles encountered in India, such as jaywalkers, cows, barricades. To gather data for this study, a video camera was mounted on the dashboard of a car, and the vehicle was driven around the city at various times of the day to account for traffic and lighting variations. The recorded videos were then divided into frames, and each frame was annotated with bounding boxes for each class, along with their corresponding labels. This dataset serves as a foundation for training and evaluating the obstacle detection system, catering to the unique road conditions and challenges present in India. The dataset was trained using the YOLO V3 object detection model. After undergoing training for about 8000 steps the model was successfully able to classify Jaywalking, Cows and Barricades classes.

Dataset

YOLOv3

YOLOv3 (You Only Look Once, Version 3) is a real-time object detection algorithm that identifies specific objects in videos, live feeds, or images. The YOLO machine learning algorithm uses features learned by a deep convolutional neural network to detect an object. Versions 1-3 of YOLO were created by Joseph Redmon and Ali Farhadi, and the third version of the YOLO machine learning algorithm is a more accurate version of the original ML algorithm. The first version of YOLO was created in 2016, and version 3, which is discussed extensively in this article, was made two years later in 2018. YOLOv3 is an improved version of YOLO and YOLOv2. YOLO is implemented using the Keras or OpenCV deep learning libraries. The official successors of YOLOv3 is YOLOv4, and the newly released YOLOv7 (2022), which marks the current state-of-the-art object detector in 2023.
 

The YOLOv3 algorithm first separates an image into a grid. Each grid cell predicts some number of boundary boxes (sometimes referred to as anchor boxes) around objects that score highly with the aforementioned predefined classes. Each boundary box has a respective confidence score of how accurate it assumes that prediction should be and detects only one object per bounding box. The boundary boxes are generated by clustering the dimensions of the ground truth boxes from the original dataset to find the most common shapes and sizes. Other comparable algorithms that can carry out the same objective are R-CNN (Region-based Convolutional Neural Networks made in 2015) and Fast R-CNN (R-CNN improvement developed in 2017), and Mask R-CNN. However, unlike systems like R-CNN and Fast R-CNN, YOLO is trained to do classification and bounding box regression at the same time

Predicted results

© 2035 by Prasad Adhiyaman Powered and secured by Wix

  • LinkedIn
  • Instagram
  • GitHub
  • download (9)
bottom of page