Computerimplementiertes Verfahren zur Analyse des Innenraums eines Fahrzeugs
Die Erfindung betrifft ein computerimplementiertes Verfahren zur Analyse des Innenraums eines Fahrzeugs.
Moderne Fahrzeuge beinhalten kamerabasierte Systeme zur Analyse ihres Innenraums, um in der Fahrzeugkabine befindliche Personen und Gegenstände zu detektieren bzw. zu analysieren. Die Anordnung von Personen und Gegenständen im Innenraum des Fahrzeugs wird dabei als Szene bezeichnet. Mit Hilfe derartiger Systeme können aus der aufgenommenen Szene sowohl sicherheitsrelevante Informationen (z.B. Aufmerksamkeit des Fahrers, Gurterkennung bei allen Insassen, etc.), als auch nicht sicherheitsrelevante Informationen (z.B. Größenbestimmung des Fahrers zur automatischen Einstellung des Sitzes, Fahrer-Identifizierung zur Modellierung von unterschiedlichen Einstellungsprofilen, etc.) abgeleitet werden.
Bekannte Systeme leiden jedoch unter verschiedenen Problemen. Erstens werden verschiedene Aufgaben aus dem Bereich der Innenraumanalyse meist unabhängig voneinander betrachtet. Das heißt, dass für jede abzuleitende Information jeweils ein völlig unabhängig operierendes Bildverarbeitungsmodul zum Einsatz kommt. So gibt es Systeme, die das Aufmerksamkeitslevel des Fahrers modellieren, oder aber auch Personen anhand ihres Gesichts erkennen und verifizieren. Solche Systeme leiden darunter, dass die einzelnen Module einen hohen Speicherbedarf und eine hohe Rechenkapazität benötigen.
Zweitens sind die zu identifizierenden Szenen bei unterschiedlichen Fahrzeugtypen (z.B. PKW, LKW, Bus („Peoplemover“), Zug, etc.) verschieden groß und damit auch verschieden komplex. Bei der Analyse von Personen und Objekten ergibt sich zum Beispiel im Innenraum eines Zugs eine wesentlich größere Anzahl an zu analysierenden Objekten verglichen mit dem Innenraum eines PKWs. Folglich müssen für unterschiedliche Fahrzeugtypen verschiedene Systeme bereitgestellt werden.
Diese und andere Aufgaben der Erfindung werden erfindungsgemäß durch ein Verfahren gemäß Anspruch 1 gelöst.
Ein erfindungsgemäßes computerimplementiertes Verfahren zur Bestimmung von Merkmalen des Innenraums eines Fahrzeugs verwendet zumindest eine im Innenraum des Fahrzeugs angeordnete Bildaufnahmeeinheit, eine Datenverarbeitungseinheit und eine Datenbank. Es umfasst zumindest die folgenden Schritte:
Zunächst erfolgt durch die Bildaufnahmeeinheit die Aufnahme eines Fotos oder eines Videos des Innenraums, und die Übermittlung des Fotos oder Videos an die Datenverarbeitungseinheit. Die Datenverarbeitungseinheit analysiert das Foto oder Video durch eine sequenzielle Datenverarbeitungskette von hierarchisch angeordneten Programmmodulen.
Eine erfindungsgemäße Datenverarbeitungskette umfasst mehrere Programmmodule, wobei jedes Modul entweder Informationen aus Bildern extrahiert und dabei bekannte Bildverarbeitungsalgorithmen einsetzt, oder Informationen aus anderen Modulen verknüpft und weiterverarbeitet, um höherwertige Informationen zu gewinnen. Die extrahierten Informationen dienen dabei der Beschreibung der Szene und können zum Beispiel die Position einer Person oder eines Objekts bzw. Farben, Größen, Umfänge, etc. dieser lokalisierten Personen und Objekte beinhalten. Die ermittelten Informationen können im Wesentlichen als Personen- und Objektdaten zusammengefasst werden.
Die Programmmodule der Datenverarbeitungskette sind hierarchisch angeordnet, wobei die Hierarchieebene eines Moduls aus dem Detailgrad der daraus gewonnenen Information festgelegt wird.
Die Module können von einem oder mehreren anderen Modulen abhängig sein. Das erste Modul in der Verarbeitungskette steht dabei in der Hierarchieebene ganz oben und hat keine Abhängigkeiten zu Informationen aus anderen Modulen. Je weiter unten das Modul in der Hierarchieebene steht, desto mehr Abhängigkeiten zu vorangegangenen Verarbeitungsschritten bzw. Modulen liegen vor. Die durch die Module extrahierten Informationen gewinnen also mit Verringerung der Hierarchieebene an Detail.
In einem ersten Schritt erfolgt eine Grobanalyse zur Lokalisierung von Personen und Objekten im Foto oder Video. Zu diesem Zweck können bekannte Bildverarbeitungsalgorithmen eingesetzt werden. Die Umrisse der erkannten Personen bzw. des erkannten Objekts werden im Foto oder Video detektiert und um diese Umrisse herum werden Teilabschnitte des Fotos oder Videos in Form von Körper- und Objektbildern erstellt. Bei den Objekten kann es sich beispielsweise um Mobiltelefone, Kindersitze, Handtaschen, Rucksäcke oder andere Objekte handeln. Gegebenenfalls kann die Datenverarbeitungseinheit die ermittelten Körper- und Objektdaten in einem hierarchischen Datenmodell in der Datenbank abspeichern.
Im nächsten Schritt erfolgt eine Detailanalyse der extrahierten Körper- und Objektbilder. Zu diesem Zweck können bekannte Bildverarbeitungsalgorithmen eingesetzt werden. Körperdaten wie Körpergröße, Alter, Gewicht, Geschlecht, ein Körpergelenksmodell, die Körperhaltung und andere optisch erkennbare Eigenschaften der Körper können extrahiert werden. Ebenso können Objektdaten wie Größe, Form, Farbe, Umfang und andere optisch erkennbare Eigenschaften der erkannten Objekte extrahiert werden. Die Detailanalyse kann für alle im ersten Schritt lokalisierten Personen und Objekte im Innenraum durchgeführt werden.
In einem weiteren Schritt speichert die Datenverarbeitungseinheit die ermittelten Körper- und Objektdaten in einem hierarchischen Datenmodell in der Datenbank. In diesem hierarchischen Datenmodell sind die Daten aus der Grobanalyse in einer höheren Hierarchieebene angeordnet als die Daten aus der Detailanalyse.
Das hierarchische Datenmodell kann als hierarchisch strukturierte Textdatei ausgeführt sein, die in der Datenbank gespeichert und gegebenenfalls durch die Datenverarbeitungseinheit geändert werden kann. Beispielsweise kann es sich um eine Datei im XML-Format oder einem proprietären Dateiformat handeln. Dadurch wird die Kompatibilität des Datenmodells mit beliebigen externen Programmmodulen gewährleistet.
Dieses hierarchische Datenmodell verbleibt in der Datenbank und kann in Folge durch Programmmodule der Datenverarbeitungseinheit selbst, oder durch externe Programmmodule, beispielsweise von einer externen Datenverarbeitungseinheit, zur Bestimmung von Merkmalen des Innenraums des Fahrzeugs verwendet werden.
Ein externes Programmmodul kann zur Bestimmung eines bestimmten Merkmals des Innenraums des Fahrzeugs das hierarchische Datenmodell heranziehen. Bei dem gesuchten Merkmal des Innenraums kann es sich beispielsweise um eines oder mehrere der folgenden handeln: Besetzung des Fahrzeugs, Gurte korrekt angelegt, Position von Objekten wie Mobiltelefone oder Kindersitze in Relation zu den erkannten Personen, Aufmerksamkeitsgrad des Fahrers, Müdigkeit des Fahrers, und dergleichen.
Das externe Programmmodul kann dem hierarchischen Datenmodell genau jene Körper- und Objektdaten entnehmen, die zur Bestimmung des Merkmals erforderlich sind. Dabei kann das externe Programmmodul Informationen aus unterschiedlichen Ebenen und unterschiedlichen Detailgraden kombinieren, ohne die entsprechenden Analysemodelle neuerlich ausführen zu müssen, sodass eine schnelle Bearbeitung möglich ist.
Bei der erfindungsgemäßen Datenverarbeitungskette sind also die Programmmodule zur Grobanalyse und Detailanalyse hierarchisch aufgebaut. Die Hierarchie in der Abarbeitung ergibt sich durch die Anzahl der vorangeschalteten Programmmodule, die notwendig sind, um die Informationen mit möglichst wenig Ressourceneinsatz zu berechnen.
Erfindungsgemäß werden Bildverarbeitungsmodule und Algorithmen auf eine hierarchische Weise kombiniert. Damit ergeben sich wesentliche Vorteile gegenüber herkömmlichen Verfahren. Einerseits erfolgt eine dramatische Reduktion von Speicher und Rechenkapazität. Ein System, welches das erfindungsgemäße Verfahren nutzt, kann aus einer Szene eine Vielzahl von Zuständen und Informationen schneller erfassen und verarbeiten. Informationen, die weiter oben in der Hierarchieebene stehen (d.h. einen niedrigeren Detailgrad haben), werden in der Regel von mehreren Programmmodulen benötigt und werden zuerst und unter Verwendung von größeren Teilen der Ressourcen (d.h. Speicherplatz und Prozessorleistung) berechnet.
Informationen, die weiter unten in der Hierarchieebene liegen (d.h. die einen höheren Detailgrad haben), werden erst nachgelagert, unter Verwendung von weniger Ressourcen und auch parallel berechnet. Dementsprechend erlaubt ein erfindungsgemäßes Verfahren den Einsatz von kostengünstigerer Hardware für die entsprechenden Systeme.
Das erfindungsgemäße Verfahren erlaubt auch eine Vereinheitlichung des Gesamtsystems zur Innenraumanalyse. So können Eigenschaften des Innenraums von beliebig komplexen Gesamtsystemen erfasst werden, ohne die Datenverarbeitungskette verändern zu müssen. Die Datenverarbeitungskette weist somit eine hohe Skalierbarkeit in Bezug auf die Größe und Komplexität der Szenen des Innenraums auf. Hierarchieebenen können aber auch an bestimmte Eigenschaften und Anforderungen gebunden sein. So kann zum Beispiel bei niedrigerem Detailgrad des Gesamtsystems (d.h. es werden nur Informationen mit einem niedrigem Detailgrad extrahiert und benötigt) die Anzahl der Kameras und die Auflösung der Eingabedaten reduziert werden, oder aber auch verfügbare Programmmodule auf bestimmte Hierarchieebenen eingeschränkt werden.
Die Datenverarbeitungseinheit und die Datenbank können vorzugsweise zur Gänze in einem Fahrzeug angeordnet sein.
Es kann jedoch auch vorgesehen sein, dass die Datenverarbeitungseinheit und die Datenbank im Fahrzeug angeordnet sind und über eine Schnittstelle, beispielsweise eine drahtlose Verbindung, mit einem externen Server, beispielsweise einem Server im Internet, kommunizieren, auf dem sich gegebenenfalls eine Datenbank mit einem vorab hinterlegten Datenmodell befindet.
Bei der Bildaufnahmeeinheit kann es sich um eine Foto- oder Videokamera, eine ToF (Time-of-Flight) Kamera oder dergleichen handeln. Die Verwendung einer ToF-Kamera erleichtert die robuste Lokalisierung von Person und Objekten und die Extraktion der Körper- und Objektdaten. Die Bildaufnahmeeinheit kann im Fahrzeug vorzugsweise derart angeordnet sein, dass möglichst der gesamte Innenraum im Bildbereich sichtbar ist. Zu diesem Zweck kann die Bildaufnahmeeinheit auch mehrere in unterschiedlichen Winkeln angeordnete Kameras umfassen. Zur Extraktion und Analyse der Körper- und Objektdaten können Bildanalysebibliotheken und/oder ein mit Trainingsbeispielen trainierter Detektor, beispielsweise ein neuronales Netz herangezogen werden.
Die Datenverarbeitungseinheit kann als Mikrocontroller oder Mikrocomputer ausgebildet sein und eine zentrale Verarbeitungseinheit (CPU), einen flüchtigen Halbleiterspeicher (RAM), einen nichtflüchtigen Halbleiterspeicher (ROM, SSD-Festplatte), einen magnetischen Speicher (Festplatte) und/oder einen optischen Speicher (CD-ROM) sowie Schnittstelleneinheiten (Ethernet, USB) und dergleichen umfassen. Die Bestandteile derartiger Datenverarbeitungseinheiten sind dem Fachmann grundsätzlich bekannt. Die Datenbank kann als Softwaremodul in der Datenverarbeitungseinheit, in einem von der Datenverarbeitungseinheit getrennten Computer oder in einem externen Server vorgesehen sein.
Erfindungsgemäß kann vorgesehen sein, dass die Datenverarbeitungseinheit mit Aktuatoren oder Warneinheiten in Verbindung steht, beispielsweise einem Motor zur Justierung der Sitzpositionen des Fahrzeugs, einer Warnleuchte zur Anzeige einer Warnung bei nicht angelegtem Gurt, oder einer grafischen Anzeige zur Darstellung des detektierten Aufmerksamkeitsgrads des Fahrers. Diese Aktuatoren oder Warneinheiten können vorzugsweise direkt durch die externen Programmmodule als Reaktion auf die ermittelten Merkmale des Fahrzeug-Innenraums angesteuert werden.
Die Erfindung erstreckt sich auch auf ein computerlesbares Speichermedium, umfassend Anweisungen, die eine Datenverarbeitungseinheit zur Ausführung eines erfindungsgemäßen Verfahrens veranlassen.
Ferner erstreckt sich die Erfindung auch auf eine Vorrichtung zur Bestimmung von Merkmalen des Innenraums eines Fahrzeugs, umfassend zumindest eine Bildaufnahmeeinheit, eine Datenverarbeitungseinheit und eine Datenbank, wobei die Vorrichtung zur Ausführung eines erfindungsgemäßen Verfahrens ausgebildet ist.
Weitere erfindungsgemäße Merkmale ergeben sich aus den Ansprüchen, den Ausführungsbeispielen und den Figuren.
Die Erfindung wird im Folgenden anhand eines exemplarischen, nicht ausschließlichen Ausführungsbeispiels erläutert.
Fig. 1 zeigt eine schematische Darstellung eines Fahrzeugs mit einer Datenverarbeitungseinheit zur Ausführung eines erfindungsgemäßen Verfahrens; Figs. 2a - 2c zeigen schematische Beispiele eines aufgenommenen Bildes und der daraus extrahierten Informationen;
Figs. 3a - 3c zeigen schematische Darstellungen von Ausführungsformen eines erfindungsgemäßen hierarchischen Datenmodells, einer erfindungsgemäßen Datenverarbeitungskette und einer erfindungsgemäßen Textdatei zur Speicherung des Datenmodells;
Fig. 4 zeigt ein schematisches Blockschaltbild einer Ausführungsform einer erfindungsgemäßen Vorrichtung.
Fig. 1 zeigt eine schematische Darstellung eines Fahrzeugs 2 mit darin integrierten elektronischen Datenverarbeitungseinheiten 4, 4‘ zur Ausführung eines erfindungsgemäßen Verfahrens. Im Innenraum 1 des Fahrzeugs 2 ist an der Decke eine Bildaufnahmeeinheit 3 in Form einer Kamera angeordnet. Die Kamera ist dazu ausgebildet und derart angeordnet, dass sie den gesamten Innenraum 1 des Fahrzeugs 2, nämlich sämtliche Sitze und darin befindliche Personen, aufnehmen kann.
Im Innenraum sitzen mehrere Personen in zwei Reihen. Das Fahrzeug ist in diesem Ausführungsbeispiel als PKW ausgebildet. Die Datenverarbeitungseinheiten 4, 4‘ sind mit einer Datenbank 5 verbunden und verfügen über (nicht dargestellte) Schnittstellen zur Kommunikation mit externen elektronischen Komponenten.
Figs. 2a - 2c zeigen schematische Beispiele eines durch die Bildaufnahmeeinheit 3 aufgenommenen und an die Datenverarbeitungseinheit 4 übermittelten Fotos 11 des Innenraums 1. Das Foto 11 zeigt eine typische Szene im Innenraum 1 eines Fahrzeugs 2 mit einem Fahrer, einem Beifahrer und einer auf der Rückbank sitzenden Person.
Die Extraktion der in der Szene enthaltenen Informationen erfolgt durch eine hierarchische Datenverarbeitungskette 10. Im Rahmen der Grobanalyse erfolgt eine Lokalisierung von Personen und Objekten, und eine Erstellung von gegebenenfalls überlappenden Körper- und Objektbildern 15, 15‘, 15“. Im gegenständlichen Ausführungsbeispiel werden drei Personen und keine Objekte lokalisiert. Auf Grundlage der lokalisierten Personen und deren Koordinaten wird das Foto 11 in drei Körper- und Objektbilder 15, 15‘, 15“ aufgeteilt, und diese werden an die nachfolgende Detailanalyse übergeben.
Im Rahmen der Detailanalyse erfolgt eine genauere Analyse der Körperbilder 15, 15‘, 15“ und eine Extraktion von Körper- und Objektdaten 7. Bei den Körper- und Objektdaten 7 handelt es sich insbesondere um ein Körpergelenksmodell 13, 13‘, 13“, aus dem eine Vielzahl relevanter Informationen abgeleitet werden kann. Beispielsweise kann auf Grundlage eines Körpergelenksmodells 13, 13‘, 13“ die Sitzhaltung der Person ermittelt und durch Vergleich mit Referenzbildern festgestellt werden, ob ein Sitzgurt korrekt angelegt wurde. Die Körpergelenksmodelle 13, 13‘, 13“ können insbesondere in Form von Graphen, also über Kanten verbundenen Punkten im kartesischen Raum, gebildet werden.
Auch das Gewicht, Alter, Geschlecht und der Körperumfang der Personen kann daraus ermittelt werden, beispielsweise durch Vergleich mit Referenzdaten, die in der Datenbank 5 abgelegt sind.
Auf der Hierarchieebene der Detailanalyse kann auch unterschieden werden, welche der drei Körper- und Objektbilder 15, 15‘, 15“ weiter untersucht werden sollen, nämlich vorzugsweise jene des Fahrers und des Beifahrers.
In Ausführungsformen der Erfindung können auch feiner strukturierte Gesichtsbilder 16, 16‘ und Personendaten 6 des Fahrers und Beifahrers extrahiert werden, die an das nachfolgende Programmmodul der Datenverarbeitungskette 10 übergeben werden. Im hier gezeigten Ausführungsbeispiel gemäß Fig. 2c handelt es sich um das Gesicht des Fahrers und des Beifahrers. Durch Anwendung von Bilderkennungsalgorithmen der Datenverarbeitungseinheit 4 können Gesichtsmodelle 14, 14‘ erstellt werden. Aus den Gesichtsbildern 16, 16‘ können Gesichtsdaten 8 wie beispielsweise die Positionen von Mund, Nase, Augen und Ohren, die Blickrichtung und dergleichen der beiden Personen ermittelt. Die Gesichtsmodelle 14, 14‘ können insbesondere in Form von Graphen, also über Kanten verbundenen Punkten im kartesischen Raum, gebildet werden.
Als Ergebnis der hierarchischen Datenverarbeitungskette 10 werden zumindest die die Körper- und Objektdaten 7 in der Datenbank 5 abgespeichert. Eine Hinterlegung des aufgenommenen Fotos 11 bzw. der Körperbilder 15, 15‘, 15“ in der Datenbank kann vorgesehen sein, ist aber nicht zwingend erforderlich und kann zur Einsparung von Speicherplatz unterlassen werden.
Fig. 3a zeigt eine schematische Darstellung eines durch die Datenverarbeitungseinheit 4 erstellten hierarchischen Datenmodells 9 mit einer Vielzahl an hierarchisch angeordneten Datenobjekten 21 . Der Detailgrad der in den Datenobjekten 21 gespeicherten Informationen steigt von oben nach unten an. In dieser Darstellung ist jedes Datenobjekt 21 als Kreis dargestellt, und die Datenobjekte 21 gliedern sich in Personendaten 6, Körper- und Objektdaten 7, sowie Gesichtsdaten 8. Erkannte Personen werden auf der Ebene der Personendaten 6 durch eine Vielzahl von Eigenschaften beschrieben. Je nach Detailgrad werden die Eigenschaften in verschiedenen Ebenen gespeichert. Zusammengehörige Eigenschaften sind mit Eigenschaften bzw. Objekten von darunter bzw. darüber liegenden Ebenen verbunden.
Beispielsweise kann ein Fahrzeug zwei Personen beinhalten, jede Person kann ein Gewicht, eine Größe und einen Körperumfang haben. Auf der Ebene der Körper- und Objektdaten 7 können verschiedene Körperregionen wie Oberkörper, Unterkörper, Kopf unterschieden werden.
Auf der Ebene der Gesichtsdaten 8 können Positionen von Augen, Nase, Mund, Ohren etc. jeder Person oder ausgewählter Personen abgespeichert sein. Natürlich können auch weitere Hierarchieebenen vorgesehen sein, d.h. es kann auch eine feinere Untergliederung der im Foto 11 dargestellten Szene erfolgen. Beispielsweise könnte eine weitere Untergliederung in zusammengehörige Personengruppen erfolgen, etwa in einem Autobus, wo jede Personenreihe als Personengruppe eine eigene Hierarchieebene bilden kann.
Fig. 3b zeigt eine schematische Darstellung einer erfindungsgemäßen Datenverarbeitungskette 10, aufgeteilt in eine Grobanalyse sowie eine nachfolgende erste, zweite und dritte Detailanalyse. Die Datenverarbeitungskette erhält ein Foto 11 und analysiert dieses parallel nach Personen (linker Zweig) und Objekten (rechter Zweig). Rechteckige Kästchen symbolisieren Programmmodule bzw. Algorithmen zur Extraktion bestimmter Merkmale des Fahrzeug-Innenraums, für die bestehende und standardisierte Bildanalysebibliotheken herangezogen werden können.
Grundsätzlich kann für jedes zu erkennende Merkmal des Fahrzeug-Innenraums ein Deep-Learning Netzwerk zum Einsatz kommen. Zur Detektion von Personen kann beispielsweise ein neurales Netzwerk trainiert werden, das nur Personen im Bild erkennt, zur Detektion von Objekten ein gesondertes neuronales Netzwerk, ebenso zur Detektion von Gelenkspositionen, Augenpositionen, Blickrichtungen, Kopfstellungen, Körperhaltungen, Gesten, und so weiter.
Im Rahmen der Grobanalyse erfolgt im Schritt S101 eine Personendetektion, im Schritt S201 eine Objektdetektion. Die Programmmodule liefern jeweils die Positionen von erkannten Personen bzw. Objekten im dreidimensionalen Raum des Fahrzeugs.
Im Rahmen der ersten Detailanalyse erfolgt im Schritt S111 eine Bestimmung von Gelenkspositionen jeder erkannten Person, im Schritt S112 die Vergabe einer eindeutigen Identifikations-Nummer für jede erkannte Person, und im Schritt S113 die Bestimmung bzw. Schätzung des Geschlechts und des Gewichts jeder erkannten Person. Auf dieser Hierarchieebene erfolgt für die erkannten Objekte im Schritt S211 eine Detektion von Teilobjekten sowie im Schritt S212 eine Schätzung des Gewichts jedes erkannten Objekts.
Im Rahmen der zweiten Detailanalyse erfolgt im Schritt S121 eine Segmentierung der Augenportion jeder erkannten Person, im Schritt S122 die Erkennung von Handgesten für jede erkannte Person, und im Schritt S123 eine Segmentierung des Kopfbereichs jeder erkannten Person. Auf dieser Hierarchieebene erfolgt für die erkannten Objekte im Schritt S221 eine Größenbestimmung von Teilobjekten sowie im Schritt S222 eine Schätzung des Umfangs jedes erkannten Teilobjekts.
Im Rahmen der dritten Detailanalyse erfolgt im Schritt S131 eine Erkennung der Blickrichtung jeder erkannten Person, im Schritt S132 die Erkennung von Kopfposen für jede erkannte Person, und im Schritt S133 eine Erkennung von Emotionen jeder erkannten Person.
Die im Rahmen dieser Datenverarbeitungskette extrahierten Merkmale des Fahrzeug- Innenraums werden in einer (nicht dargestellten) Datenbank 9 abgelegt, beispielsweise in der Baumstruktur gemäß Fig. 3a. Es sind zwei externe Programmmodule 17, 17‘ als ovale Blöcke angedeutet. Diese beziehen, abhängig von ihrer Bestimmung, ausgewählte Merkmale des Fahrzeug-Innenraums aus dem hierarchischen Datenmodell 9 bzw. fragen diese Merkmale direkt bei den jeweiligen Programmmodulen ab. Im konkreten Ausführungsbeispiel benötigt ein erstes externes Programmmodul 17 die Personen-IDs aus dem Programmmodul S112, die Blickrichtung dieser Personen aus dem Programmmodul S131 , sowie die Kopfhaltung dieser Personen aus dem Programmmodul S132 und bestimmt daraus einen Aufmerksamkeitsgrad.
Auf Seiten der erkannten Objekte benötigt das externe Programmmodul 17‘ das Gewicht der erkannten Objekte aus dem Programmmodul S212 und dessen Größe aus dem Programmmodul S221 , und bestimmt daraus, ob es sich um ein für den Innenraum des betreffenden Fahrzeuges zulässiges Objekt handelt. Wiederum kann es sich bei den externen Programmmodulen 17, 17‘ um Algorithmen aus standardisierten Programmbibliotheken handeln.
Fig. 3c zeigt einen schematischen Ausschnitt aus einer Textdatei 22 zur Speicherung der Datenobjekte 21 des hierarchischen Datenmodells 9. Die Textdatei 22 ist hierarchisch aufgebaut und in logische Blöcke (Personen, Objekte) sowie Unterblöcke (Augen, Kopf, Körper, Blickrichtung, etc.) gegliedert, wobei jeder Block und Unterblock eine Vielzahl von Attributen (beispielsweise Koordinaten) aufweisen kann, die ein Datenobjekt 21 bilden. Diese Figur zeigt nur einen kleinen Teil der Textdatei 22, welche in der Praxis wesentlich umfangreicher und auch während des Betriebs des Verfahrens durch Aufnahme zusätzlicher Attribute weiter verfeinert werden kann. Eine derartige Implementierung des Datenmodells 9 erlaubt eine einfache und schnelle Abfrage durch externe Programmmodule 17, 17‘, welche eine einfach zu programmierende und somit portable Schnittstelle zum Datenzugriff auf die erkannten Merkmale des Fahrzeuginnenraums erlaubt. Die Programmmodule 17, 17‘ müssen somit nicht das Foto 11 oder die Körper- und Objektbilder 15, 15‘, 15“ analysieren, sondern greifen aus der Textdatei 22 die gewünschten Daten direkt ab.
Beispielsweise ist in diesem schematischen Abschnitt der Textdatei 22 erkennbar, dass die erkannten Merkmale des Fahrzeug-Innenraums in hierarchischer Form gegliedert sind. Es wird zwischen dem Fahrer („driver“) und dem Beifahrer („co-driver“) unterschieden. In dem Beispiel gibt es einen Fahrer, der auf einer gewissen Position sitzt, wobei diese Position im Foto 11 erkannt wird (Block „pose“, "height": 1163, "width": 872, "x": 754, "y": -81 ). Zusätzlich sind dem Fahrer beispielsweise Gelenkspositionen und Augenpositionen zugeordnet. Für jeden erkannten Kopf gibt es eine Pose („headPose“) und 3 dazugehörige Winkel - "ccsPitchDegree": 24.61 , "ccsRollDegree": -15.06, "ccsYawDegree": 39.91 ). Auch für die Augen werden Zusatzinformationen berechnet (im Beispiel unter „eyes“ ausgeführt, wo eine Öffnung („openness“) bzw. eine Blickrichtung („eyeGaze“) für jedes Auge berechnet wird.
Fig. 4 zeigt ein schematisches Blockschaltbild einer Ausführungsform einer erfindungsgemäßen Vorrichtung zur Bestimmung von Merkmalen des Innenraums eines Fahrzeugs. Die Vorrichtung umfasst eine Bildaufnahmeeinheit 3, eine Datenverarbeitungseinheit 4, eine weitere Datenverarbeitungseinheit 4‘ und eine Datenbank 5. Sämtliche Komponenten sind in einem Fahrzeug angeordnet.
In der Datenverarbeitungseinheit 4 ist eine sequenzielle Datenverarbeitungskette 10 implementiert, welche in dieser Ausführungsform drei Programmmodule 12, 12‘, 12“ zur Analyse eines von der Bildaufnahmeeinheit 3 über eine Schnittstelle zur Verfügung gestellten Fotos 11 umfasst. Diese Programmmodule 12, 12‘, 12“ unterteilen sich in eine Grobanalyse des Fotos 11 , eine erste Detailanalyse ausgewählter Körperbilder 15, 15‘, 15“ des Fotos 11 , und eine zweite Detailanalyse ausgewählter Gesichtsbilder 16, 16‘ der Körperbilder 15, 15‘, 15“. Ergebnisse dieser hierarchischen Bildanalyse sind die von den Programmmodulen 12, 12‘, 12“ an die Datenbank 5 übermittelten Personendaten 6, Körperdaten 7 und Gesichtsdaten 8.
In der Datenbank 5 werden diese extrahierten Daten in einem hierarchischen Datenmodell 9 gespeichert. Dieses Datenmodell 9 kann in Form einer Baumstruktur implementiert sein.
Eine hierarchische Baumstruktur kann so ausgebildet sein, dass einer erkannten Person auf der obersten Hierarchieebene (geringster Detailgrad) Personendaten 6 und verschiedene Körperregionen zugeordnet sind. Den Körperregionen sind auf der mittleren Hierarchieebene verschiedene Körperdaten 7 und Gesichtsbilder zugeordnet. Den Gesichtsbildern sind auf der untersten Hierarchieebene (höchster Detailgrad) Gesichtsdaten 8 zugeordnet.
Wenn die Analyse des Fotos 11 abgeschlossen ist, kann dieses verworfen werden, da sämtliche relevanten Daten im hierarchischen Datenmodell 9 abgelegt sind. In Folge können interne oder externe Programmmodule auf das Datenmodell 9 zugreifen, um die von ihnen benötigten Informationen zur Bestimmung der gewünschten Eigenschaften des Innenraums zu entnehmen.
Beispielsweise können externe Programmmodule 17, 17‘ in einer externen Datenverarbeitungseinheit 4‘ Anfragen Q1 und Q2 an die Datenbank 5 stellen, welche jeweils die benötigte Hierarchieebene enthalten. Die Datenbank stellt den Programmmodulen 17, 17‘ in Folge die erforderlichen Informationen dieser Hierarchieebenen zur Verfügung. Im vorliegenden Beispiel handelt es sich dabei um die Personendaten 6 für Anfrage Q1 (zB wie viele Personen sitzen am Rücksitz?), bzw. um die Körperdaten 7 und Gesichtsdaten 8 für Anfrage Q2 (zB wie sind die Blickrichtungen und Körperhaltungen von Fahrer und Beifahrer?). Die Datenverarbeitungseinheit 4‘ ist mit einer Motorsteuerung 18, einer Anzeigeeinheit 19 und einer Warnleuchte 20 des Fahrzeugs 1 verbunden, um abhängig vom Ergebnis ihrer Anfragen Q1 und Q2 einen Aktuator des Sitzes oder eines Außenspiegels zu aktivieren, eine Warnung am Armaturenbrett auszugeben, oder dem Fahrer eine Information auf einem Display anzuzeigen.
Die Erfindung beschränkt sich nicht auf die beschriebenen Ausführungsbeispiele, sondern umfasst auch weitere Ausführungen der vorliegenden Erfindung im Rahmen der nachfolgenden Patentansprüche.
Bezugszeichenliste
1 Innenraum
2 Fahrzeug
3 Bildaufnahmeeinheit
4, 4‘ Datenverarbeitungseinheit
5 Datenbank
6 Personendaten
7 Körper- und Objektdaten
8 Gesichtsdaten
9 Hierarchisches Datenmodell
10 Datenverarbeitungskette
11 Foto
12, 12‘ Programmmodul
13, 13‘, 13“ Körpergelenksmodell
14, 14‘ Gesichtsmodell
15, 15‘, 15“ Körper- und Objektbild
16, 16‘ Gesichtsbild
17, 17‘ Externes Programmmodul
18 Motorsteuerung
19 Anzeigeeinheit
20 Warnleuchte
21 Datenobjekt
22 Textdatei