Skip to content

AkifAydin/VehicleDetection

Repository files navigation

Vehicle Detection in Miniaturwunderland

HAW Hamburg Python YOLOv8 ROS2 OpenCV

Eine Fahrzeugerkennung von vier verschiedenen Fahrzeugklassen in einer Miniaturwunderland-ähnlichen Umgebung aus der Vogelperspektive unter Verwendung von ROS2, YOLOv8 und Roboflow.

🚗 Fahrzeugklassen

Das Projekt erkennt vier verschiedene Fahrzeugtypen:

  • LKW (Lastkraftwagen)
  • Transporter
  • PKW (Personenkraftwagen)
  • Bus
image

🛠️ Technologien

  • Object Detection: YOLOv8 (Ultralytics)
  • Datensatz-Management: Roboflow
  • Bildverarbeitung: OpenCV
  • Robot Operating System: ROS2 Foxy
  • Hardware: Raspberry Pi 4 + HQ Kamera Module
  • Training: Google Colab mit GPU
  • Programmiersprache: Python 3.8+

📊 Datensatz

Statistik

  • Originalbilder: 108 Bilder
  • Nach Augmentation: 969 Bilder
  • Aufteilung: 94% Training, 4% Validation, 2% Test

Preprocessing

  • Tiling: Für bessere Erkennung kleiner Objekte
  • Filter Null: Entfernung von bildern ohne Annotationen
  • Augmentation: Rotation (±10°), Hue-Anpassung, Helligkeit, Rauschen
image

🚀 Installation

Voraussetzungen

ROS2 Foxy

sudo apt install ros-foxy-desktop

Python Abhängigkeiten

pip install ultralytics roboflow opencv-python numpy

Roboflow Datensatz

pip install ultralytics roboflow opencv-python numpy
from roboflow import Roboflow
rf = Roboflow(api_key="YOUR_API_KEY")
project = rf.workspace("vehicledetection-77dtv").project("vehicledetection-sivor")
dataset = project.version(15).download("yolov8")

YOLOv8 Training

yolo task=detect mode=train model=yolov8x.pt data=dataset/data.yaml epochs=100 imgsz=640

📷 Versuchsaufbau

image

🔧 Funktionalitäten

Bilderfassung: Zwei Kameras erfassen die Miniaturwelt aus Vogelperspektive

ROS2 Kommunikation: Bilder werden über WLAN übertragen

Fisheye-Korrektur: Minimierung des Fischaugeneffekts

Object Detection: Echtzeit-Erkennung mit YOLOv8

Bildzusammensetzung: Zusammenfügen der Kamerabilder

📈 Ergebnisse

Erfolgreiche Erkennung von vier Fahrzeugklassen

Minimierung des Fisheye-Effekts durch Kamerakalibrierung

Echtzeit-Fähigkeit mit leichten Verzögerungen

image

🎯 Herausforderungen

Datensatz-Erstellung: Manuelle Annotation und Klassenbalance

Fisheye-Effekt: Kalibrierung und Korrektur

Echtzeit-Performance: Optimierung der Inferenzzeit

Multi-Kamera-Synchronisation: Zeitliche Abstimmung

📄 Dokumentation

Die vollständige Dokumentation befindet sich in der folgenden PDF:
Fahrzeugerkennung auf dem Miniaturwunderland.pdf

📜 Lizenz Dieses Projekt wurde im Rahmen des Studiums an der HAW Hamburg durchgeführt. Es dient ausschließlich Bildungs- und Forschungszwecken.

👤 Autor Aydin Akif 📧 akif.aydin@outlook.de

About

YOLOv8, Object Detection, Miniatur Wunderland Objekterkennung

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors