
Jeder Autofahrer weiß, dass Fahrer müde werden. Es kommt vor, dass Ihre Augen zusammenhalten, selbst wenn Sie von der Arbeit nach Hause fahren, und Trucker eines der wichtigsten beruflichen Probleme haben:
Tausende von Unfällen ereignen sich jedes Jahr, wenn Menschen am Steuer einschlafen. Die Sache ist, dass Trucker ständig ein Gleichgewicht zwischen Ruhe und sicherem Fahren einerseits und Müdigkeit mit höheren Einnahmen andererseits halten müssen. Große Versuchung, weniger zu schlafen, aber schneller, um die Waren zu liefern und eine neue Bestellung zu erhalten. Ganz zu schweigen von der Tatsache, dass Fahrer ihr eigenes Leben haben und nicht immer auf einem Flug schlafen gehen.
Um die Straßen sicherer zu machen, haben wir unser Projekt gestartet, um den Zustand der Fahrer zu überwachen: Entsprechend den Anforderungen der Kunden entwickeln wir Software- und Hardwarelösungen, mit denen die Gesundheit des Fahrers auf der Straße verfolgt und das Einschlafen verhindert werden kann, damit er in der nächsten Welt nicht „aufwacht“.
Wachsames Auge
Die Hauptidee besteht darin, mit der Kamera die Müdigkeit und die gefährlichen Reaktionen der Fahrer zu verfolgen. Das Gerät sammelt zunächst Statistiken darüber, wie sich ein bestimmter Fahrer während der Fahrt verhält. Und wenn das System auf der Grundlage dieser Statistiken entscheidet, dass der Fahrer Anzeichen von Müdigkeit zeigt oder Träume sehen wird, wird er dies ihm signalisieren. Wenn der Fahrer häufig zu nicken beginnt oder auf Ereignisse wie eine schläfrige Fliege reagiert, informiert das System den Disponenten ebenfalls darüber.
Mithilfe von Videoanalysen überwachen wir, wie konzentriert der Fahrer ist und ob er auf die Straße schaut. Die Kamera erfasst ständig Gesicht und Hände und das System verfolgt eine Reihe wichtiger Punkte. Wir erwarten, dass die Augen des Fahrers immer offen sind und seine Augen auf die Windschutzscheibe oder die Seitenspiegel gerichtet sind. Wenn sich die Augen schließen oder der Kopf sich nach vorne beugt und das Kinn auf die Brust fällt oder sich das Gesicht für längere Zeit von der Windschutzscheibe abwendet, gibt das System ein Signal.
Natürlich funktioniert diese Verfolgung und Signalisierung nicht immer, aber nur wenn sich das Auto bewegt, wird hierfür ein GPS-Sensor verwendet. Wir haben auch die Möglichkeit vorgesehen, das System zwangsweise ein- und auszuschalten, da die Situationen unterschiedlich sind. Gleichzeitig vergleichen wir die Dauer der Maschine und die Zeit, zu der das System ausgeschaltet wird. Bei Bedarf kann das Gerät den Disponenten darüber informieren, dass der Fahrer lange Zeit mit ausgeschalteter „Steuerung“ unterwegs war.
Implementierung
Das Projekt besteht aus zwei Teilen: Hardware und Software.
Wie stellt das System fest, dass der Fahrer jetzt einschläft? Verwendung der OpenCV-Bibliothek, die auf maschinellem Lernen basiert. Mit OpenCV können Sie wichtige Punkte im Videostream definieren: Kinn, Hände, Augen (einschließlich ihrer Größe und Breite). Anhand dieser Parameter ermittelt das System, ob der Fahrer müde ist oder nicht.
Die Hardware besteht aus der Waveshare RPi-Kamera (F) und dem Raspberry Pi, die in einem einzigen Gehäuse montiert sind. Das Erstellen von Hardware ist schwieriger, als es auf den ersten Blick erscheinen mag: Sie müssen die Komponenten nicht anschließen und löten, sondern müssen ihre Kombination durchdenken, damit das Gerät lange Zeit zuverlässig und fehlerfrei funktioniert. Tatsächlich ist dies eine separate Integrationsaufgabe. Und Integrationsrisiken sind normalerweise am höchsten. Schließlich ist es eine Sache, wenn das Softwarepaket auf Ihrem Laptop unter Ihrem Betriebssystem und mit Ihren Einschränkungen ausgeführt wird, und eine andere Sache, wenn es auf den Raspberry Pi unter einem anderen Betriebssystem übertragen wird, wo der Prozessor viel schwächer und weniger Speicher ist.
Wenn das Produkt in Serie geschaltet wird, wird es natürlich nicht mehr auf dem Raspberry Pi implementiert. Das Stück Eisen ist schwach, seine Leistung reicht nicht aus, um den Videostream in voller Auflösung zu verarbeiten und das Gesicht zu erkennen. Bei solchen Hardware-Füllungen muss man also Tricks anwenden.
Zusätzlich haben wir einen Nachtmodus implementiert, damit das System den Fahrer im Dunkeln wecken kann, wenn Menschen häufig einschlafen. Das heißt, ich musste dem Computer beibringen, wie man mit Videos von einer Infrarotkamera umgeht. Hier waren wir keine Pioniere, ein ähnliches Problem wird auch bei Smart-Home-Systemen gelöst. Um die Müdigkeit des Fahrers zu bestimmen, müssen Sie keine Details über sein Aussehen wissen: Haarfarbe, Augen, Hautton. Wir müssen nur die Position der Hände und Schlüsselpunkte im Gesicht klar bestimmen. Seltsamerweise erwies es sich als noch einfacher, im Infrarotmodus mit Augen zu arbeiten als im Normalzustand. Wenn Sie jemals Clips gesehen haben, die mit automatischen Kameras mit Tieren in freier Wildbahn aufgenommen wurden, wissen Sie, dass ihre Augen bei einem guten Winkel wie Laser leuchten.
Dieser Effekt hat sich für uns als sehr nützlich erwiesen: Es ist einfacher, die Tatsache geschlossener Augen zu bestimmen. Natürlich war eine zusätzliche Anpassung aller Algorithmen erforderlich, da das Spektrum des Bildes völlig unterschiedlich ist, aber im Allgemeinen werden die Augen sicherer erkannt.
Im Infrarotmodus erkennt das System jedoch schlimmere Situationen, wenn der Fahrer telefoniert und sein Ohr an die Schulter drückt. Dies ist auch eine gefährliche Situation. Verkehrsregeln ist es ausdrücklich untersagt, während der Fahrt am Telefon zu sprechen.
Natürlich funktioniert auch unser Modell wie jedes maschinelle Lernmodell nicht mit absoluter Genauigkeit. Sie müssen jedoch genau wissen, wovon genau Erkennungsfehler abhängen. Zum Beispiel haben wir unser System nicht an Fahrern mit einem außereuropäischen Erscheinungsbild getestet. Vielleicht nimmt in diesem Fall der Anteil an genauer Augenerkennung und Müdigkeit ab. Während interner Tests funktionierte das System jedoch genau in 8-9 von 10 Fällen.
* * *
Heutzutage gibt es viele gute Algorithmen im öffentlichen Bereich, und wir haben vorgefertigte Algorithmen verwendet, mit denen wir nicht nur das Problem lösen, sondern auch viel Zeit sparen konnten. Jetzt können Sie schnell ein Modell finden, das zur Lösung einer bestimmten Aufgabe geeignet ist, und es schnell verfeinern. Dies erfordert natürlich Fähigkeiten und Erfahrung bei der Lösung von Computer-Vision-Problemen und einer schnellen Anpassung. Dann dauert es nur ein oder zwei Tage, um einen Prototyp auf einem Laptop zu bekommen. Die weitere Arbeit hängt von der Aufgabe, den verfügbaren Kapazitäten, dem Speicher und anderen Faktoren ab. Sie können beispielsweise unser System schnell so verfeinern, dass es eine andere Rolle spielt: Nehmen wir beispielsweise als Sicherheitsgerät an, das sicherstellt, dass zu einer bestimmten Tageszeit nur bestimmte Personen den Raum betreten. Das heißt, Sie können schnell eine Lösung für eine Vielzahl von Aufgaben im Zusammenhang mit Computer Vision erstellen.