Back to Projects

Obstacle Recognition and Autonomous Navigation System

Obstacle Recognition Demo

Project Overview

This project develops a real-time obstacle detection and recognition system for a mobile robot using a customized YOLOv8 model. The system is designed to process live video feeds, detect obstacles (such as pedestrians, vehicles, or other objects), and classify them accurately. By leveraging the speed and accuracy of YOLOv8 in Python, the system enhances robot autonomy and safety, enabling the robot to avoid collisions and understand its surroundings effectively. This approach is especially useful in dynamic, real-world environments where quick and accurate object detection is critical.

Key Features

Development Process & Challenges

  1. Dataset Preparation: A custom dataset was created by collecting images from the robot’s environment and manually annotating them using tools like LabelImg. Data augmentation (rotations, brightness adjustments) was employed to increase robustness.
  2. Model Customization: We fine-tuned YOLOv8 on the custom dataset. A key challenge was ensuring the model learned to differentiate between similar objects (e.g., distinguishing a person from a similarly shaped inanimate object). Techniques such as careful annotation and balanced class weighting helped achieve high precision.
  3. Real-Time Performance: Ensuring that the detection ran at around 20 FPS on standard hardware required code optimization. We streamlined image preprocessing using OpenCV and optimized the YOLOv8 inference pipeline with PyTorch to reduce latency.
  4. Integration of Distance Estimation: Since YOLOv8 does not provide depth information, a simple geometric method was implemented to estimate object distance using known camera parameters and bounding box dimensions. This added a layer of intelligence for dynamic obstacle avoidance.
  5. Robustness Under Varied Conditions: The model was tested under different lighting conditions and backgrounds. Initial tests showed false positives in shadowed areas; refining the training dataset and adjusting confidence thresholds mitigated these issues.

Technologies Used

Achievements & Metrics

Robot Model

Robot Model

Confusion Matrix

Confusion Matrix

Performance Metrics

Performance Metrics

Resources