Kopfverfolgung des Fahrers mit Videokamera und KI-Algorithmen
In den letzten Jahren haben die Hauptakteure auf dem Automobil- und Transportmarkt Systeme entwickelt, die das Problem der Echtzeitüberwachung und -analyse lösen: Sie kontrollieren die körperliche Verfassung und die Konzentration des Fahrers, um Unfälle zu vermeiden. Gefährliche Zustände von Fahrern oder Personal bei der Arbeit können anhand verschiedener Indikatoren erkannt werden: Blinzelfrequenz, Körperbewegungen und Kopfposition.
Vor nicht allzu langer Zeit wurden axiale Orientierungssensoren, einschließlich Gyroskope, verwendet, um die Kopfposition eines Autofahrers oder des Personals in der Produktion zu verfolgen. Jetzt ermöglichen KI-Algorithmen, dieses Problem mit einer Dash-Kamera und KI-Vision-Software zu lösen. Solche Systeme arbeiten autonom, ohne Internetverbindung, als Edge-KI. In diesem Artikel erläutern wir, wie wir solche Hardware- und Softwarelösungen für unsere Kunden entwickeln.
Im Video: Der Leiter unserer Automotive Unit testet das System.
Wir haben ein Computer-Vision-System zur Einschätzung der Kopfposition und zur Analyse der Müdigkeit des Fahrers entwickelt, das von einem europäischen Maschinenbauunternehmen in Auftrag gegeben wurde. Ziel ist es, das Risiko von Autounfällen, chronischer Müdigkeit und Nackenschmerzen bei Lkw-Fahrern zu verringern.
Systeme zur Gesichtserkennung werden immer beliebter und sind bald gesetzlich vorgeschrieben. In der EU müssen alle produzierten Automodelle ab 2025 mit System zur Fahrerüberwachung (Driver Monitoring System, DMS) ausgestattet sein, was dazu beitragen soll, das Unfallrisiko zu verringern.
Wir haben diese technische Aufgabe auf der Grundlage unseres Standardmoduls mit Ambarella-Chips umgesetzt, das wir bereits in einem anderen Projekt zur Entwicklung einer Kamera mit Gesichtserkennungsfunktion verwendet hatten.
Screenshots aus einem Video, das unser Ingenieurteam beim Testen der Software für die Gesichtsverfolgung zur Bewertung der Kopfposition aufgenommen hat:
In einem anderen Projekt haben wir die Ausrichtung des Kopfes des Fahrers auf verschiedene Objekte im Auto, wie z.B. die Windschutzscheibe, verfolgt. Diese Daten wurden dazu genutzt, die Konzentration des Fahrers auf die Straße zu bewerten und verschiedene Anomalien zu erkennen: plötzliches Unwohlsein oder externe Ablenkungen.
Eine der Teilaufgaben von Computer Vision, die bei solchen Projekten gelöst werden muss, ist das Identifizieren von Schlüsselpunkten im menschlichen Gesicht: Augen, Nase, Ohren usw.
Zur Analyse der Kopfposition werden mindestens 6 Schlüsselpunkte im 3D-Gesichtsbild benötigt.
Die derzeit auf dem Markt erhältlichen Modelle basieren auf hochpräzisen neuronalen Netzen und erkennen eine große Anzahl von eindeutigen Punkten mit hoher Genauigkeit. Die Lösung MediaPipe Face Mesh “erkennt” beispielsweise 468 Punkte und erstellt daraus eine 3D-Gesichtskarte.
MediaPipe Face Mesh mit bis zu 468 Punkten zur Umwandlung von Gesichtsbildern in 3D-Modelle. Quelle: github.com
Wenn mindestens 6 Punkte und einige andere Parameter wie die Kameraauflösung bekannt sind, kann der PnP-Algorithmus (Pose Estimation Problem) angewendet werden. Dieser Algorithmus ermöglicht es, eine 3D-Projektion der realen Welt mit minimalen Verlusten in ein 2D-Bild zu übersetzen, wobei die Menge der Punkte berücksichtigt wird, um die Position von Objekten zu verfolgen.
Der PnP-Algorithmus benutzt dazu Matrixgleichungen, wobei die Unbekannten die Rotations- und Transfermatrizen zwischen dem Koordinatensystem der Welt und dem Koordinatensystem der Kamera sind.
Der Algorithmus läuft in zwei Phasen ab. Zuerst werden mit Hilfe von Kameraparametern wie dem optischen Zentrum und der Brennweite die 3D-Koordinaten der Schlüsselpunkte wiederhergestellt, die im Bild bestimmt wurden.
In der zweiten Phase werden die Rotations- und Transfermatrizen entsprechend den festgelegten Koordinaten und einem vorgegebenen 3D-Gesichtsmodell definiert.
Es gibt Implementierungsvarianten des PnP-Algorithmus, die einen Optimierungsansatz verwenden, aber in beiden Fällen entspricht das Ergebnis den ermittelten Rotations- und Transfermatrizen zwischen Koordinaten des Weltsystems und Koordinaten des Kamerasystems. Mit Hilfe dieser Matrizen kann die Ausrichtung des Fahrerkopfes relativ zur Kamera bestimmt werden.
Das Prinzip des PnP-Algorithmus ist in der folgenden Abbildung dargestellt:
Das Prinzip des PnP-Algorithmus. Quelle: OpenCV.org
Fazit
Unser Software-Algorithmus zur Schätzung der Kopfposition des Fahrers ist eine schlüsselfertige Lösung, die nicht nur in Systemen zur Aufmerksamkeitsüberwachung eines Fahrers, sondern auch im Einzelhandel und in der Industrie eingesetzt werden kann - überall dort, wo das menschliche Verhalten überwacht werden muss, um Effizienz und Sicherheit zu gewährleisten. Die Lösung arbeitet als Edge-KI - das heißt autonom, wobei alle Daten ohne Verbindung zum Internet verarbeitet werden.
Unser Ingenieurteam beschleunigt die Implementierung solcher KI-Lösungen auf Grundlage von Hardware-Plattformen der weltweit führenden Anbieter. Dank unserer Erfahrung mit Chips von Renesas, Ambarella, Jetson und Google Coral können wir unseren Kunden den autonomen Betrieb von Gesichtserkennungs-API und anderen KI-Algorithmen auf fast jeder Plattform ermöglichen.
Wenn Sie mehr über die Möglichkeiten der Implementierung neuer KI-basierter Funktionen in Ihre Überwachungs- und Sicherheitssysteme erfahren möchten, schreiben Sie uns. Wir freuen uns darauf, unsere Erfahrungen mit Ihnen zu teilen.