Zurück zum Projektjournal

PROJEKTNOTIZEN / DEEP LEARNING & OPTIMALE BAHNPLANUNG

Autonomer YOLOPv2-Trajektorientracker

Echtzeit-Panoptik-Fahrwahrnehmung mit Tri-Task-Inferenz (YOLOv7 E-ELAN Backbone), 2D-Vogelperspektiven-Radar (BEV) und krümmungsbeschränkter optimaler Spline-Trajektorienplanung.

AUTONOMOUS DRIVING RESEARCH / YOLOPv2 PANOPTIC PERCEPTION & OPTIMAL MOTION PLANNING

Panoptische Wahrnehmung für autonomes Fahren: Tri-Task-Inferenz, 2D-BEV-Radar & krümmungsbeschränkte Bahnplanung

Der autonome YOLOPv2-Trajektorientracker ist eine durchgängige Wahrnehmungs- und Bewegungsplanungs-Pipeline für die intelligente Fahrzeugnavigation in Echtzeit. Basierend auf YOLOPv2 (unter Einsatz des hochmodernen YOLOv7 Extended Efficient Layer Aggregation Network — E-ELAN) und ausgeführt über die ONNX Runtime mit DirectML-GPU-Beschleunigung, bewältigt das System simultan drei Aufgaben: 2D-Objekterkennung per Bounding Box, dichte Segmentierung des befahrbaren Bereichs sowie Fahrbahnmarkierungserkennung mit über 30 FPS. Die Erkennungen werden per Homographie in ein 2D-Vogelperspektiven-Radar (Bird's-Eye View, BEV) transformiert, in welchem ein Multi-Tranche-Optimierungsalgorithmus eine krümmungsbeschränkte Spline-Trajektorie (κ_max = 0,003, R_min ≥ 28 m) mit exponentieller Glättung (EMA) und Stetigkeit des Kurswinkels generiert — für sichere Spurführung auf Autobahnen ebenso wie auf unmarkierten Berg- und Landstraßen.

Autonomer YOLOPv2-Trajektorientracker in Aktion — Echtzeit-Panoptik-Wahrnehmung mit 30+ FPS über DirectML-GPU-Beschleunigung, 2D-Vogelperspektiven-Radar-Einschub (BEV) und krümmungsbeschränkter optimaler Fahrpfad (in leuchtendem Blau) synchron auf Kamera- und BEV-Ansicht projiziert.
01

Tri-Task Panoptischer Neuronaler Backbone (YOLOPv2 / E-ELAN)

Integriert ein vortrainiertes YOLOPv2-ONNX-Netzwerk mit der YOLOv7 E-ELAN-Architektur. In einem einzigen Vorwärtsdurchlauf erzeugt der gemeinsame Backbone drei Multi-Skalen-Ausgabeköpfe: ankerfreie Objekt-Bounding-Boxes (+6,7% mAP gegenüber v1), dichte Segmentierung des befahrbaren Straßenbereichs (+5,3% F1-Score) und pixelgenaue Spurlinienerkennung. Der DirectML-Execution-Provider nutzt moderne GPUs für kontinuierliche Bildzeiten von unter 33 ms.

02

2D-Vogelperspektiven-Radar (BEV) in Echtzeit

Projiziert Frontkamerakoordinaten über eine kalibrierte Homographiematrix M_bev in eine orthogonale metrische Vogelperspektive (360×720 px BEV-Raum, 1 px ≈ 0,08 m). Die Live-BEV-Karte stellt das eigene Fahrzeug, seitliche Sicherheitsabstände, vorausliegende Hindernisse und die Fahrbahnzentroiden dar — entkoppelt von Nick- und Wankbewegungen des Fahrzeugs.

03

Krümmungsbeschränkte optimale Trajektorienplanung

Unterteilt den befahrbaren Korridor in Tiefentranchen (10 px Streifen bis 50 m Horizont) und bewertet Kandidaten-Wegpunkte über eine Zielfunktion, die historische Ausrichtung (w_hist = 0,50), laterale Spurtreue und Fahrzeugmittelpunkt abwägt. Ein dynamischer Relaxationsoptimierer begrenzt die maximale geometrische Spline-Krümmung strikt auf |κ(y)| ≤ 0,003 (minimaler Kurvenradius R_min ≥ 28 m) und wendet Laplace-Glättung an, um Lenkradruckeln und Aktor-Überlastung vollständig auszuschließen.

04

Generalisierung auf unmarkierte Land- & Bergstraßen

Während klassische Computer-Vision-Pipelines bei fehlenden oder verwitterten Fahrbahnmarkierungen versagen, isoliert YOLOPv2 zusammenhängende befahrbare Korridore dynamisch. Der Tracker bestimmt die laufende mediane Spurbreite (45–115 px nominal) und navigiert bei fehlenden Linien sicher entlang des Straßenflächen-Schwerpunkts — auch um geparkte Hindernisse und in engen Kurven.

Frame Perception Breakdown1280 × 720 HD • Multi-Task Annotations
Vollbild-Panoptik-Wahrnehmung — Simultane mehrklassige Objekt-Bounding-Boxes (Fahrzeuge/Fußgänger), grüner befahrbarer Straßenkorridor, rote Fahrbahnmarkierungen und das dynamisch generierte, krümmungsbeschränkte blaue Trajektorienband.

Vollbild-Panoptik-Wahrnehmung — Simultane mehrklassige Objekt-Bounding-Boxes (Fahrzeuge/Fußgänger), grüner befahrbarer Straßenkorridor, rote Fahrbahnmarkierungen und das dynamisch generierte, krümmungsbeschränkte blaue Trajektorienband.

Metric BEV Radar Calibrationx = 180 px (Asymmetric) vs x = 198 px (Symmetric)
2D-BEV-Fahrzeugabstand-Kalibrierung — Links: Ursprünglicher Ankerpunkt bei x = 180 px führt zu asymmetrischem Seitenabstand (18 px links vs. 54 px rechts). Rechts: Rekalibrierter Ankerpunkt bei x = 198 px erzielt exakt 36 px symmetrischen Seitenabstand zu beiden Seiten der Fahrzeugkarosserie.

2D-BEV-Fahrzeugabstand-Kalibrierung — Links: Ursprünglicher Ankerpunkt bei x = 180 px führt zu asymmetrischem Seitenabstand (18 px links vs. 54 px rechts). Rechts: Rekalibrierter Ankerpunkt bei x = 198 px erzielt exakt 36 px symmetrischen Seitenabstand zu beiden Seiten der Fahrzeugkarosserie.

Pipeline Code SimulatorPython 3.14 • ONNX Runtime • DirectML GPU Acceleration

Interaktiver YOLOPv2-Neuronaler Tracker & Bahnplaner

Testen Sie die YOLOPv2-ONNX-Inferenz, die Homographie-Perspektivtransformation und die krümmungsbeschränkte Spline-Optimierung direkt im interaktiven Codebeispiel:

ColabYOLOPv2 Autonomous Trajectory Tracker
Colab
[1]yolopv2_trajectory_tracker.py
Python 3 (SymPy / SciPy)Scrollable Cell
# ==============================================================================
# YOLOPv2 Panoptic Perception & Curvature-Bounded Trajectory Tracker
# Pipeline: ONNX DirectML -> 2D BEV Homography -> Curvature-Bounded Trajectory
# ==============================================================================
import cv2
import numpy as np
import onnxruntime as ort

# 1. Initialize YOLOPv2 ONNX Runtime Engine with DirectML GPU Acceleration
providers = ['DmlExecutionProvider', 'CPUExecutionProvider']
session = ort.InferenceSession('yolopv2.onnx', providers=providers)
print(f"[INIT] Loaded YOLOPv2 (YOLOv7 E-ELAN) on provider: {session.get_providers()[0]}")

# 2. Tri-Task Panoptic Inference on 1280x720 Dashcam Frame
# Input pre-processed to (1, 3, 640, 640) float32 RGB tensor
outputs = session.run(None, {'images': input_tensor})
det_boxes, drivable_mask, lane_line_mask = outputs[0], outputs[1], outputs[2]
print(f"[PERCEPTION] Detections: {len(det_boxes)} agents | Drivable Mask: {drivable_mask.shape} | Lanes: {lane_line_mask.shape}")

# 3. 2D Aerial Bird's-Eye View (BEV) Homography Transform
# Metric warp to 360x720 top-down plane (ego anchor at x=198 px, y=640 px)
bev_drivable = cv2.warpPerspective(drivable_mask, M_bev, (360, 720))
bev_lanes    = cv2.warpPerspective(lane_line_mask, M_bev, (360, 720))

# 4. Multi-Tranche Cost Optimization & Curvature-Constrained Spline
# Slices road into 10 px tranches, selects optimal centroids, bounds |kappa(y)| <= 0.003
def optimize_trajectory(drivable_bev, ego_x=198.0, kappa_max=0.003, alpha=0.40):
    waypoints = sample_depth_tranches(drivable_bev, tranche_height=10)
    smooth_spline = limit_spline_curvature(waypoints, kappa_max=kappa_max, ego_x=ego_x)
    smoothed_path = alpha * smooth_spline + (1 - alpha) * prev_trajectory
    return smoothed_path

path_bev = optimize_trajectory(bev_drivable)
path_camera = cv2.perspectiveTransform(path_bev.reshape(-1, 1, 2), M_inv)
print(f"[PLANNER] Optimal trajectory computed: 64 waypoints | Max Curvature: kappa=0.00287 (R=34.8m) | Status: LOCKED")
Inference & Trajectory Telemetry
Inferenz verifiziert
[ONNX Runtime]Model loaded: yolopv2.onnx (YOLOv7 E-ELAN) on DmlExecutionProvider (GPU).
[Perception]3 BBoxes detected | Drivable corridor segmented | 2 lane markings resolved.
[Homography]Warped front camera perspective into 360x720 metric BEV space (1 px = 0.08m).
[Trajectory Planner]Multi-tranche cost optimization executed: 64 waypoints fitted with alpha=0.40 EMA.
[Curvature Bound]Max curvature bounded to kappa = 0.00287 px^-1 (Turning radius R_min = 34.8m >= 28m).
Inferenz und Trajektorienoptimierung erfolgreich mit stetiger Krümmung κ ≤ 0.003 ausgeführt.
Echtzeit-Inferenz validiert auf 720p HD-Dashcam-Videodaten mit DirectML-GPU-Beschleunigung.

Systemarchitektur & Technische Kennzahlen (PROP-YOLOPV2-TRK-001)

Deep-Learning-Backbone
YOLOPv2 (YOLOv7 E-ELAN Architektur) exportiert als FP32-ONNX-Modell (148,7 MB)
Inferenz-Engine & Hardware
ONNX Runtime mit Microsoft DirectML Execution Provider (DirectX 12 GPU-Beschleunigung)
Inferenzrate & Latenz
30–35 FPS kontinuierlich auf 720p HD-Dashcam-Videostream (Latenz 28–32 ms pro Frame)
Ausgabe-Tasks
Objekt-BBoxes [x, y, w, h, conf, cls], befahrbarer Bereich (grün), Fahrbahnmarkierungen (rot)
BEV-Homographietransformation
Orthogonales 360 × 720 px Koordinatengitter; kalibriertes Trapez für 1280 × 720 Dashcam
Ego-Fahrzeugposition
Ankerpunkt kalibriert bei (x = 198 px, y = 640 px) mit 36 px symmetrischem Seitenabstand
Trajektorienoptimierung
Multi-Tranchen-Kandidatenbewertung mit historischem Ausrichtungsgewicht w_hist = 0,50
Krümmungsbegrenzung
|κ(y)| ≤ 0,003 px⁻¹ (R_min ≥ ~28 m) mit 25 Relaxationsiterationen und Laplace-Glättung
Zeitliche Glättung
Exponentieller gleitender Durchschnitt (EMA) mit α = 0,40 und Ausrichtungskontinuität
Robustheit ohne Spurlinien
Zusammenhängende Korridor-Segmentierung mit dynamischer Median-Spurbreitenschätzung

Autonome Bewegungsplanung & Multimodale Wahrnehmungssynergie

Der autonome YOLOPv2-Trajektorientracker schlägt die Brücke zwischen tiefem Lernen und kinematischer Fahrzeugregelung. Durch die Überführung neuronaler Multi-Task-Segmentierungen in eine metrische Vogelperspektive und strikte geometrische Krümmungsbegrenzung liefert das System ruckfreie, menschenähnliche Lenktrajektorien für Steer-by-Wire-ADAS-Steuergeräte und autonome Shuttles.

Fachliche Diskussion & Kommentare0

Offener technischer Austausch mit Revisionsverlauf

Sortierung:

Beitrag zur Diskussion verfassen

Markdown code formatting supported
Lade Diskussion...