DE102023209381A1 - Clusteranalyse von objekttrajektorien mit hybridem denken für maschinelles lernen - Google Patents

Clusteranalyse von objekttrajektorien mit hybridem denken für maschinelles lernen Download PDF

Info

Publication number
DE102023209381A1
DE102023209381A1 DE102023209381.2A DE102023209381A DE102023209381A1 DE 102023209381 A1 DE102023209381 A1 DE 102023209381A1 DE 102023209381 A DE102023209381 A DE 102023209381A DE 102023209381 A1 DE102023209381 A1 DE 102023209381A1
Authority
DE
Germany
Prior art keywords
trajectories
knowledge graph
scene
scenes
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102023209381.2A
Other languages
English (en)
Inventor
Alessandro Oltramari
Ji Eun Kim
Kevin Huang
Wenhao DING
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of DE102023209381A1 publication Critical patent/DE102023209381A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • G06V20/54Surveillance or monitoring of activities, e.g. for recognising suspicious objects of traffic, e.g. cars on the road, trains or boats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/84Arrangements for image or video recognition or understanding using pattern recognition or machine learning using probabilistic graphical models from image or video features, e.g. Markov models or Bayesian networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Abstract

Verfahren und Systeme zum Erstellen eines Wissensgraphen auf der Grundlage einer ereignisbasierten Ontologie einer Szene und einer Fahrzeugtrajektorie in der Szene. Es werden Bilddaten empfangen, die einer Mehrzahl von Szenen entsprechen, die von einer oder mehreren Kameras aufgenommen wurden. Es werden ereignisbasierte Ontologiedaten empfangen, die Ereignissen entsprechen, die in der Mehrzahl von Szenen auftreten. Über ein maschinelles Lernmodell zur Objektverfolgung bestimmt das System (i) das Vorhandensein einer Mehrzahl von Fahrzeugen in den Bilddaten und (ii) eine Mehrzahl von Fahrzeugtrajektorien, wobei jede Fahrzeugtrajektorie einem entsprechenden der Fahrzeuge zugeordnet ist. Mit Hilfe eines Clusteranalysemodells werden die Fahrzeugtrajektorien geclustert. Ein Wissensgraph wird auf der Grundlage der geclusterten Fahrzeugtrajektorien und der ereignisbasierten Ontologie erweitert.

Description

  • Technisches Gebiet
  • Die vorliegende Offenbarung bezieht sich auf Verfahren und Systeme für die Clusteranalyse von Objekttrajektorien mit hybridem Denken für Anwendungen des maschinellen Lernens.
  • Hintergrund
  • Intelligente Verkehrsmanagementsysteme, die auch als intelligente Verkehrsüberwachung (ITMo) bezeichnet werden, können zur Verbesserung der Sicherheit, des Verkehrsflusses und der allgemeinen Systemeffizienz eingesetzt werden. Diese Systeme werden in der Regel implementiert, um Staus zu reduzieren, auf Zwischenfälle zu reagieren, die den Verkehrsfluss beeinträchtigen, und Einblicke in Verkehrsmuster zu geben. Die Fülle an Echtzeit-Datenpunkten kann genutzt werden, um Strategien zur Verkehrsberuhigung effizienter und effektiver zu gestalten. ITMo-Systeme sind auch ein wichtiges Instrument zur Verbesserung der Straßenverkehrssicherheit; sie können sich darauf konzentrieren, verwertbare Erkenntnisse aus Sensornetzwerken abzuleiten, die entlang von Autobahnen, Stadtstraßen und Kreuzungen installiert sind.
  • Die Verarbeitung natürlicher Sprache (Natural Language Processing, NLP) ist eine Art der künstlichen Intelligenz, die sich mit der Interaktion zwischen Computern und menschlicher Sprache befasst, insbesondere damit, wie Computer eine gesprochene oder geschriebene natürliche Sprache verarbeiten und analysieren können. Ein Ziel von NLP ist ein Rechensystem, das in der Lage ist, eine Eingabe in natürlicher Sprache zu empfangen, den Inhalt und die Absicht der Eingabe zu verstehen und gespeicherte Daten auf der Grundlage des verstandenen Inhalts und der Absicht zu verarbeiten, so dass eine Ausgabe bereitgestellt werden kann, die derjenigen eines Menschen ähnelt.
  • Zusammenfassung
  • Gemäß einer Ausführungsform wird ein Verfahren zum Erstellen eines Wissensgraphen auf der Grundlage einer ereignisbasierten Ontologie einer Szene und einer Fahrzeugtrajektorie in der Szene bereitgestellt. Das Verfahren umfasst das Empfangen von Bilddaten, die einer Mehrzahl von Szenen entsprechen, die von einer oder mehreren Kameras erfasst wurden; das Empfangen von ereignisbasierten Ontologiedaten, die Ereignissen entsprechen, die in der Mehrzahl von Szenen auftreten; das Bestimmen (i) eines Vorhandenseins einer Mehrzahl von Fahrzeugen in den Bilddaten und (ii) einer Mehrzahl von Fahrzeugtrajektorien durch ein Objektverfolgungs-Maschinenlernmodell, wobei jede Fahrzeugtrajektorie einem entsprechenden der Fahrzeuge zugeordnet ist; Clusteranalyse der Fahrzeugtrajektorien durch ein Clustermodell in eine Mehrzahl von geclusterten Fahrzeugtrajektorien; Erweitern eines Wissensgraphen auf der Grundlage der geclusterten Fahrzeugtrajektorien und der ereignisbasierten Ontologiedaten; und Auswählen einer der Szenen zur Ausgabe auf einer Benutzerschnittstelle, wobei das Auswählen auf (i) dem erzeugten Wissensgraphen und (ii) von einem Benutzer an der Benutzerschnittstelle bereitgestellten Eingabekriterien basiert.
  • Gemäß einer weiteren Ausführungsform umfasst ein System zum Erstellen eines Wissensgraphen auf der Grundlage einer ereignisbasierten Ontologie einer Szene und einer Fahrzeugtrajektorie in der Szene eine oder mehrere Kameras, die so konfiguriert sind, dass sie Bilder einer Mehrzahl von Szenen aufnehmen, eine Benutzerschnittstelle und einen Prozessor. Der Prozessor ist (i) kommunikativ mit der Benutzerschnittstelle verbunden und (ii) so konfiguriert, dass er Bilddaten empfängt, die einer Mehrzahl von Szenen entsprechen und von der einen oder den mehreren Kameras stammen. Der Prozessor ist programmiert, um: ereignisbasierte Ontologiedaten zu empfangen, die Ereignissen entsprechen, die in der Mehrzahl von Szenen auftreten; ein Objektverfolgungs-Maschinenlernmodell auszuführen, um (i) das Vorhandensein einer Mehrzahl von Fahrzeugen in den Bilddaten und (ii) eine Mehrzahl von Fahrzeugtrajektorien zu bestimmen, wobei jede Fahrzeugtrajektorie einem entsprechenden der Fahrzeuge zugeordnet ist; ein Clustermodell auszuführen, um die Fahrzeugtrajektorien in eine Mehrzahl von geclusterten Fahrzeugtrajektorien zu clustern; einen Wissensgraphen auf der Grundlage der geclusterten Fahrzeugtrajektorien und der ereignisbasierten Ontologiedaten zu erweitern; und eine der Szenen auf der Benutzerschnittstelle auf der Grundlage (i) des erzeugten Wissensgraphen und (ii) von Eingabekriterien, die von einem Benutzer an der Benutzerschnittstelle bereitgestellt werden, auszugeben.
  • Gemäß einer anderen Ausführungsform wird ein Verfahren zum Erweitern eines Wissensgraphen auf der Grundlage von Objekttrajektorien bereitgestellt. Das Verfahren umfasst das Empfangen von Bilddaten, die einer von einem Bildsensor erfassten Szene entsprechen; das Empfangen von ereignisbasierten Ontologiedaten, die einem in der Szene auftretenden Ereignis entsprechen; das Ausführen eines Objektverfolgungsmodells auf den Bilddaten, um eine Mehrzahl von Objekttrajektorien in der Szene zu bestimmen; das Ausführen eines Clustermodells, um die Objekttrajektorien zu clustern; und das Erweitern eines Wissensgraphen auf der Grundlage der geclusterten Objekttrajektorien und der ereignisbasierten Ontologie.
  • Kurze Beschreibung der Zeichnungen
    • 1 zeigt eine mögliche Konfiguration für ein System zum Erstellen und zur Erweiterung eines Modells bezüglich der Ontologie von Aktivitäten oder Ereignissen auf hohem Niveau, die in auf Bildern dargestellten Szenen auftreten, gemäß einer Ausführungsform.
    • 2 zeigt einen Arbeitsablauf bei der Verwendung eines Systems - wie das System von 1 - zum Erstellen und zur Erweiterung eines Wissensgraphen zur ereignisbasierten Ontologiebestimmung, gemäß einer Ausführungsform.
    • 3 zeigt ein Flussdiagramm eines Algorithmus, der von den Systemen der 1 und 2 implementiert wird, gemäß einer Ausführungsform.
    • 4 zeigt einen Arbeitsablauf bei der Verwendung eines Systems zur Nutzung von Objekttrajektoriendaten, um einen Wissensgraphen weiter zu erstellen oder zu erweitern, gemäß einer Ausführungsform.
    • 5A-5F sind Bilder von Kreuzungen mit Darstellungen von Fahrzeugtrajektorien auf der Bildebene, gemäß Ausführungsformen.
    • 6A ist ein Clustering-Ergebnis von Fahrzeugtrajektorien an einer Kreuzung, und 6B ist eine Polylinie, die Durchschnittswerte jedes Clusters darstellt, gemäß einer Ausführungsform.
    • 7 zeigt ein Beispiel eines ontologiebasierten Musters für einen Wissensgraphen, der die Position eines Fahrzeugs gemäß absoluten und relativen Koordinaten darstellt, gemäß einer Ausführungsform.
    • 8 zeigt eine Pipeline eines Clusteranalyse-Verfahrens unter Verwendung von Trajektoriendaten gemäß einer Ausführungsform.
    • 9 zeigt Beispiele für die Clusteranalyse von Szeneprimitiven gemäß Ausführungsformen.
    • 10A und 10B zeigen eine Benutzerschnittstelle für einen Benutzer zur Suche nach verschiedenen Ereignissen auf der Grundlage der Trajektorien, wie z. B. Staus und Parkverstöße, gemäß Ausführungsformen.
  • Detaillierte Beschreibung
  • Ausführungsformen der vorliegenden Offenbarung werden hier beschrieben. Es ist jedoch zu verstehen, dass die offengelegten Ausführungsformen lediglich Beispiele sind und andere Ausführungsformen verschiedene und alternative Formen annehmen können. Die Abbildungen sind nicht unbedingt maßstabsgetreu; einige Merkmale könnten übertrieben oder verkleinert sein, um Details bestimmter Komponenten zu zeigen. Daher sind spezifische strukturelle und funktionelle Details, die hier offenbart werden, nicht als einschränkend zu verstehen, sondern lediglich als repräsentative Grundlage, um dem Fachmann zu zeigen, wie er die Ausführungsformen in unterschiedlicher Weise einsetzen kann. Wie Fachleute wissen, können verschiedene Merkmale, die unter Bezugnahme auf eine der Figuren dargestellt und beschrieben sind, mit Merkmalen kombiniert werden, die in einer oder mehreren anderen Figuren dargestellt sind, um Ausführungsformen zu erzeugen, die nicht ausdrücklich dargestellt oder beschrieben sind. Die abgebildeten Merkmalskombinationen stellen repräsentative Ausführungsformen für typische Anwendungen dar. Verschiedene Kombinationen und Modifikationen der Merkmale, die mit den Lehren dieser Offenbarung übereinstimmen, könnten jedoch für bestimmte Anwendungen oder Implementierungen erwünscht sein.
  • Die Modellierung von Domänenwissen mit Hilfe semantischer Technologien ist eine schwierige und zeitaufwendige Aufgabe, da sie die Zusammenarbeit von Wissensingenieuren erfordert, die sich zwar mit Computerontologie und Logik auskennen, aber nicht mit den spezifischen Domänen, die sie interessieren, und von Experten, die - umgekehrt - typischerweise nicht auf formale Methoden vorbereitet sind, aber über tiefgreifende Kenntnisse ihres Fachgebiets verfügen. Dieses Problem wird noch schwieriger, wenn die Modellierung von Commonsense-Wissen erforderlich ist, da kulturelle Aspekte und sprachliche Praktiken ein wichtiger Faktor werden.
  • Nehmen wir als Beispiel die Modellierung von Ereignissen im Zusammenhang mit dem Fahrzeugverkehr (z. B. Staus, Unfälle, Beinahe-Unfälle usw.). Die Modellierung dieser Ereignisse zur Ermittlung möglicher Ursachen könnte von verschiedenen Personen je nach ihrer Kultur, ihrem Hintergrund und ihrer Perspektive unterschiedlich beschrieben werden (z. B. ist die Perspektive eines Autofahrers eine andere als die eines Strafverfolgungsbeamten oder einer städtischen Behörde). Einfach ausgedrückt: Bei der Erstellung des Modells auf der Grundlage von Kontextinformationen kann sich die Beschreibung eines Verkehrsunfalls durch eine Person von der Beschreibung durch eine andere Person unterscheiden. Daher ist kollektive Intelligenz erforderlich, um Aktivitäten auf hohem Niveau zu modellieren und verschiedene Szenarien zu berücksichtigen.
  • Crowdsourcing kann Wissensingenieure beim Sammeln dieser unterschiedlichen Szenarien und relevanten Informationen und/oder Konzepte unterstützen, um wichtige Fakten für die Modellierung zu erfassen, wenn eine Crowdsourcing-Aufgabe effektiv mit maschineller Intelligenz und Informationsdarstellung gestaltet wird. Darüber hinaus kann die Qualität der Beschreibung von Aktivitäten und/oder Szenarien auf hohem Niveau, wie sie in den Bildern zu sehen sind, variieren, je nachdem, wie die Fragen organisiert sind, wie die Eingabedaten oder das Vorwissen oder der Kontext für die Crowd dargestellt werden und wie die Anleitung oder Ergänzungen für die Crowd bereitgestellt werden.
  • Eine intelligente Art und Weise, die gesammelten Informationen von früheren menschlichen Arbeitern mit natürlicher Sprachverarbeitung zusammenzufassen und darzustellen und die nächsten Arbeiter anzuleiten, neue Informationen bereitzustellen, wird es Wissensingenieuren ermöglichen, die Aktivitäten auf hohem Niveau mit dem gesunden Menschenverstand, den die Crowd besitzt, effektiv zu modellieren. Die hier beschriebenen Ansätze zielen darauf ab, die Effizienz und den Abdeckungsgrad von Aktivitäten auf hohem Niveau und relevanten Informationen wie z.B. Ursachen in der Ontologie- und Wissensgraphenkonstruktion zu erhöhen.
  • Verschiedene Ausführungsformen werden hier in Bezug auf Systeme und Verfahren der Ontologiekonstruktion mit KI-vermitteltem Crowdsourcing und Concept Mining offengelegt, um Wissensingenieure zu befähigen und den Modellierungsprozess zu beschleunigen. Diese Offenlegung kann für das Verständnis von Aktivitäten auf hohem Niveau verwendet werden, bei denen die Grundursachen und/oder Muster nicht einfach nur durch Computeralgorithmen oder maschinelles Lernen klassifiziert werden können. Stattdessen führt die vorliegende Offenlegung einen hybriden Ansatz mit maschineller Wahrnehmung und Vorhersage und symbolischem Denken wie semantischen Modellen und Regeln ein.
  • Gemäß Ausführungsformen bietet diese Offenbarung Systeme und Verfahren, einschließlich (i) Crowdsourcing-Aufgaben zum Sammeln von Wissensgraph-Primitiven für eine bestimmte hochrangige Aktivität oder Situation (z. B. Verkehrsunfall), (ii) natürliche Sprachverarbeitung, die in die Crowdsourcing-Aufgaben integriert ist, um eine effiziente und vielfältige Sammlung aus der Crowd zu ermöglichen, und (iii) Concept Mining mit natürlicher Sprachverarbeitung und Wissensgraphen-Erzeugung und - Ergänzung, um Wissensingenieure bei der effektiveren Modellierung hochrangiger Aktivitäten oder Situationen zu unterstützen.
  • Unter Bezugnahme auf die Abbildungen zeigt 1 ein System 100 zum Erstellen und zur Erweiterung eines Modells bezüglich der Ontologie von Aktivitäten oder Situationen auf hohem Niveau, die in Bildern auftreten. Mit anderen Worten, das System 100 kann so konfiguriert werden, dass es Ereignisse bestimmt, die in einer in einem oder mehreren Bildern gezeigten Szene auftreten, indem es eine Fusion von menschlichen Eingaben und maschineller Lernmodellierung verwendet. Das System 100 kann eine Struktur aufweisen, die derjenigen ähnlich ist, die in der US-Patentanmeldung Nr. 17/871,335 mit dem Titel HUMAN-ASSISTED NEURO-SYMBOLIC OBJECT AND EVENT MONITORING offenbart ist, deren gesamte Offenbarung hier durch Bezugnahme aufgenommen wird. Insbesondere kann das System 100 mindestens ein Rechensystem 102 umfassen. Das Rechensystem 102 kann mindestens einen Prozessor 104 enthalten, der mit einer Speichereinheit 108 wirkverbunden ist. Der Prozessor 104 kann einen oder mehrere integrierte Schaltkreise enthalten, die die Funktionalität einer zentralen Verarbeitungseinheit (CPU) 106 implementieren. Bei der CPU 106 kann es sich um eine handelsübliche Verarbeitungseinheit handeln, die einen Befehlssatz wie eine der Befehlssatzfamilien x86, ARM, Power oder MIPS implementiert. Während des Betriebs kann die CPU 106 gespeicherte Programmanweisungen ausführen, die aus der Speichereinheit 108 abgerufen werden. Die gespeicherten Programmanweisungen können Software enthalten, die den Betrieb der CPU 106 steuert, um den hier beschriebenen Vorgang durchzuführen. In einigen Beispielen kann der Prozessor 104 ein System-on-a-Chip (SoC) sein, das die Funktionalität der CPU 106, der Speichereinheit 108, einer Netzwerkschnittstelle und der Eingabe-/Ausgabeschnittstellen in einem einzigen integrierten Gerät integriert. Das Rechensystem 102 kann ein Betriebssystem zur Verwaltung verschiedener Aspekte des Betriebs implementieren.
  • Die Speichereinheit 108 kann einen flüchtigen Speicher und einen nichtflüchtigen Speicher zum Speichern von Befehlen und Daten enthalten. Der nichtflüchtige Speicher kann Festkörperspeicher, wie z. B. NAND-Flash-Speicher, magnetische und optische Speichermedien oder jede andere geeignete Datenspeichervorrichtung umfassen, die Daten beibehält, wenn das Rechensystem 102 deaktiviert ist oder die elektrische Energie verliert. Der flüchtige Speicher kann einen statischen und dynamischen Speicher mit wahlfreiem Zugriff (RAM) umfassen, der Programmanweisungen und Daten speichert. Zum Beispiel kann die Speichereinheit 108 ein maschinelles Lernmodell 110 oder einen Algorithmus, einen Trainingsdatensatz 112 für das maschinelle Lernmodell 110, einen kommentierten Datensatz 114 zum Speichern der Ergebnisse der Datenkommentierung, einen Rohdatensatz 115 und einen Crowdworker-Schnittstelle 116-Prozess speichern.
  • Das Rechensystem 102 kann eine Netzwerkschnittstellenvorrichtung 122 enthalten, die so konfiguriert ist, dass sie die Kommunikation mit externen Systemen und Geräten ermöglicht. Beispielsweise kann die Netzwerkschnittstellenvorrichtung 122 eine verdrahtete und/oder drahtlose Ethernet-Schnittstelle gemäß den Standards der IEEE 802.11-Familie (Institute of Electrical and Electronics Engineers) umfassen. Die Netzwerkschnittstellenvorrichtung 122 kann eine Mobilfunkschnittstelle für die Kommunikation mit einem Mobilfunknetz (z. B. 3G, 4G, 5G) enthalten. Die Netzwerkschnittstellenvorrichtung 122 kann ferner so konfiguriert sein, dass sie eine Kommunikationsschnittstelle zu einem externen Netzwerk 124 oder einer Cloud bereitstellt.
  • Das externe Netzwerk 124 kann als das World Wide Web oder das Internet bezeichnet werden. Das externe Netzwerk 124 kann ein Standard-Kommunikationsprotokoll zwischen Computergeräten einrichten. Das externe Netzwerk 124 kann den einfachen Austausch von Informationen und Daten zwischen Datenverarbeitungsgeräten und Netzwerken ermöglichen. Ein oder mehrere Server 130 (z. B. jeder mit eigenem Computer, Prozessor, Speicher usw.) können mit dem externen Netzwerk 124 kommunizieren.
  • Das Rechensystem 102 kann eine Ein-/Ausgabeschnittstelle (E/A) 120 enthalten, die so konfiguriert ist, dass sie digitale und/oder analoge Eingänge und Ausgänge bereitstellt. Die E/A-Schnittstelle 120 kann zusätzliche serielle Schnittstellen für die Kommunikation mit externen Geräten enthalten (z. B. Universal Serial Bus (USB)-Schnittstelle).
  • Das Rechensystem 102 kann eine Mensch-Maschine-Schnittstellenvorrichtung (HMI) 118 enthalten, die jede Vorrichtung umfassen kann, die es dem System 100 ermöglicht, Steuereingaben zu empfangen. Beispiele für Eingabevorrichtungen können Eingaben über menschliche Schnittstellen wie Tastaturen, Mäuse, Touchscreens, Spracheingabegeräte (z. B. Mikrofon) und andere ähnliche Vorrichtungen umfassen. Das Rechensystem 102 kann eine Anzeigevorrichtung 132 enthalten. Das Rechensystem 102 kann Hardware und Software zur Ausgabe von Grafik- und Textinformationen an die Anzeigevorrichtung 132 enthalten. Die Anzeigevorrichtung 132 kann einen elektronischen Bildschirm, einen Projektor, einen Drucker oder eine andere geeignete Vorrichtung zur Anzeige von Informationen für einen Benutzer oder Bediener umfassen. Das Rechensystem 102 kann ferner so konfiguriert sein, dass es eine Interaktion mit entfernten HMI- und entfernten Anzeigevorrichtungen über die Netzwerkschnittstellenvorrichtung 122 ermöglicht.
  • Das System 100 kann mit einem oder mehreren Rechensystemen 102 implementiert werden. Während das Beispiel ein einzelnes Rechensystem 102 zeigt, das alle beschriebenen Merkmale implementiert, ist es beabsichtigt, dass verschiedene Merkmale und Funktionen getrennt und durch mehrere miteinander kommunizierende Computereinheiten implementiert werden können. Die gewählte Systemarchitektur kann von einer Vielzahl von Faktoren abhängen. Beispielsweise könnte der Prozess der Crowdworker-Schnittstelle 116 auf einem separaten Rechensystem implementiert werden.
  • Crowdworker 128, auch Crowdsourcing-Worker genannt, können Workstations 126 verwenden, um auf das externe Netzwerk 124 zuzugreifen. Die Crowdworker 128 können auch als Task Executors bezeichnet werden. Von den Crowdworkern 128 kann nicht erwartet werden, dass sie über ein spezifisches Fachwissen verfügen. Die Crowdworker 128 können in einem oder mehreren Crowdsourcing-Märkten wie Amazon Mechanical Turk, UpWork, Clickworker oder ähnlichem registriert sein. Der Crowdsourcing-Markt kann auf einem der Server 130 implementiert sein. Der Crowdsourcing-Markt kann es einem Aufgabenanforderer ermöglichen, Aufgaben zur Erledigung durch die Crowdworker 128 hochzuladen. Die Crowdworker 128 können über die Workstations 126 auf den Crowdsourcing-Markt zugreifen. Die Workstations 126 können ähnliche Komponenten wie das Rechensystem 102 enthalten. Die Workstations 126 können Personal-Computer-Vorrichtungen sein, die eine Benutzerschnittstelle für die Eingabe und Ausgabe enthalten. Die Workstations 126 können eine Anzeigevorrichtung enthalten. Bei den Workstations 126 kann es sich beispielsweise um Computer mit einem Bildschirm und einer Tastatur handeln. Zu den Workstations 126 können auch Tablets und Mobiltelefone gehören.
  • Das HANS-System 100 kann einen maschinellen Lernalgorithmus 110 implementieren, der so konfiguriert ist, dass er den rohen Quelldatensatz 115 analysiert, um den kommentierten Datensatz 114 zu erzeugen. Der rohe Quelldatensatz 115 kann rohe oder unverarbeitete Sensordaten enthalten, die repräsentativ für einen Eingabedatensatz für ein maschinelles Lernsystem sein können. Der rohe Quelldatensatz 115 kann Videos, Videosegmente, Bilder, textbasierte Informationen und rohe oder teilweise verarbeitete Sensordaten (z. B. Radarkarten von Objekten) enthalten. In einem Beispiel handelt es sich bei dem rohen Quelldatensatz 115 um Bilddaten, die Bildern oder Videos entsprechen, die eine Szene zeigen, wie z. B. eine Verkehrskreuzung, Verkehrsspuren in der Nähe einer Ampel, einen Teil einer Autobahn usw. In weiteren Beispielen kann der rohe Quelldatensatz 115 Radar-, LiDAR-, Ultraschall- und Bewegungssensordaten enthalten. In einigen Beispielen kann der maschinelle Lernalgorithmus 110 ein neuronaler Netzwerkalgorithmus sein, der so konzipiert ist, dass er eine vorbestimmte Funktion ausführt. Zum Beispiel kann der neuronale Netzwerkalgorithmus in Automobilanwendungen so konfiguriert sein, dass er Fahrzeuge oder Fußgänger in Videobildern identifiziert. Der maschinelle Lernalgorithmus 110 kann so konfiguriert sein, dass er den kommentierten Datensatz 114 zur Verwendung durch andere maschinelle Lernsysteme erzeugt. Zum Beispiel kann der kommentierte Datensatz 114 als Trainingsdaten für ein Verstehen von Aktivitäten mit hohem Niveau für Verkehrsanwendungen verwendet werden (z. B. bei der Bestimmung von Ereignissen, die in den Szenen auftreten).
  • Der kommentierte Datensatz 114 kann zusätzlich zum Rohdatensatz 115 Anmerkungen enthalten. Wenn es sich bei dem Rohdatensatz 115 beispielsweise um Videobilder handelt, können mehrere Rahmen, die in den kommentierten Datensatz 114 aufgenommen wurden, entsprechende Anmerkungen enthalten. Die Anmerkungen können Beschreibungen enthalten, die den identifizierten Koordinaten des Bildrahmens zugeordnet sind. Die Anmerkungen können zum Beispiel Begrenzungsrahmen für bestimmte Merkmale enthalten. Die Anmerkungen können eine Farbkodierung für bestimmte Merkmale enthalten. Die Anmerkungen können Textbeschriftungen oder Beschreibungen für im Bild gefundene Merkmale enthalten. Die Anmerkungen können Details in Bezug auf den Kontext des Bildes definieren, wie z.B. das Vorhandensein von bestimmten Ereignissen wie Staus, Verkehrsunfällen und dergleichen.
  • Das System 100 kann den Trainingsdatensatz 112 für den Maschinenlern-Algorithmus 110 speichern. Alternativ kann der Trainingsdatensatz 112 in einem vom System 100 getrennten Speicher gespeichert werden, und stattdessen verwendet das System 100 ein vollständig trainiertes maschinelles Lernsystem. Der Trainingsdatensatz 112 kann einen Satz von zuvor kommentierten Daten zum Trainieren des maschinellen Lernalgorithmus 110 darstellen. Der Trainingsdatensatz 112 kann von dem Maschinenlern-Algorithmus 110 verwendet werden, um Gewichtungsfaktoren zu lernen, die mit einem neuronalen Netzwerkalgorithmus verbunden sind. Der Trainingsdatensatz 112 kann einen Satz von Quelldaten mit entsprechenden Ergebnissen enthalten, die der maschinelle Lernalgorithmus 110 durch den Lernprozess zu duplizieren versucht. In einem Beispiel kann der maschinelle Lernalgorithmus 110 so konzipiert sein, dass er das Vorhandensein und die Position von Fußgängern oder Fahrzeugen in Videobildern erkennt und die Daten entsprechend kommentiert. Und wie weiter unten beschrieben wird, können die in Verbindung mit dem System 100 verwendeten maschinellen Lernsysteme so konzipiert sein, dass sie das Vorhandensein eines bestimmten definierten Ereignisses wie eines Staus, eines Verkehrsunfalls oder Ähnlichem auf der Grundlage des Kontexts von Objekten im Bild (z. B. der Anzahl von Fahrzeugen in der Szene, der relativen Geschwindigkeit der Fahrzeuge, der Geschwindigkeit von Fahrzeugen innerhalb eines bestimmten Bereichs der Szene (z. B. einer Kreuzung) oder Ähnlichem) bestimmen. In diesem Beispiel kann der Trainingsdatensatz 112 Quellvideos mit und ohne Objekten (z. B. Fahrzeuge, Fußgänger usw.) und entsprechende Präsenz- und Standortinformationen enthalten. Die Quellvideos können verschiedene Szenarien enthalten, in denen solche Ereignisse identifiziert werden.
  • Der Maschinenlern-Algorithmus 110 kann in einem Lernmodus betrieben werden, wobei der Trainingsdatensatz 112 als Eingabe verwendet wird. Der Maschinenlern-Algorithmus 110 kann über eine Anzahl von Iterationen unter Verwendung der Daten aus dem Trainingsdatensatz 112 ausgeführt werden. Bei jeder Iteration kann der Maschinenlern-Algorithmus 110 die internen Gewichtungsfaktoren auf der Grundlage der erzielten Ergebnisse aktualisieren. Beispielsweise kann der Maschinenlern-Algorithmus 110 die Ausgabeergebnisse (z. B. Anmerkungen) mit den Ergebnissen aus dem Trainingsdatensatz 112 vergleichen. Da der Trainingsdatensatz 112 die erwarteten Ergebnisse enthält, kann der Maschinenlern-Algorithmus 110 feststellen, wann die Leistung akzeptabel ist. Nachdem der Maschinenlern-Algorithmus 110 ein vorbestimmtes Leistungsniveau erreicht hat (z. B. Konvergenz, nahezu 100%ige Übereinstimmung mit den Ergebnissen des Trainingsdatensatzes 112), kann der Maschinenlern-Algorithmus 110 unter Verwendung von Daten ausgeführt werden, die nicht im Trainingsdatensatz 112 enthalten sind. Der trainierte Maschinenlern-Algorithmus 110 kann auf neue Datensätze angewendet werden, um kommentierte Daten zu erzeugen.
  • Der Maschinenlern-Algorithmus 110 kann so konfiguriert sein, dass er ein bestimmtes Merkmal in den Rohdaten 115 identifiziert. Die rohen Quelldaten 115 können eine Mehrzahl von Instanzen oder Eingabedatensätzen enthalten, für die Annotationsergebnisse gewünscht sind. Beispielsweise kann der Maschinenlern-Algorithmus 110 so konfiguriert sein, dass er das Vorhandensein eines Ereignisses, wie z. B. eines Staus, in Videobildern identifiziert und die Vorkommnisse kommentiert. Der Maschinenlern-Algorithmus 110 kann so programmiert sein, dass er die rohen Quelldaten 115 verarbeitet, um das Vorhandensein bestimmter kontextueller Merkmale in der Szene zu identifizieren, die dem Ereignis entsprechen. Der Maschinenlern-Algorithmus 110 kann so konfiguriert sein, dass er ein Merkmal in den Rohdaten 115 als ein vorbestimmtes Merkmal (z. B. Fußgänger) identifiziert. Die rohen Quelldaten 115 können aus einer Vielzahl von Quellen stammen. Beispielsweise können die Rohquelldaten 115 tatsächliche Eingabedaten sein, die von einem maschinellen Lernsystem erfasst werden, das den kommentierten Datensatz 114 verwendet, oder die Rohquelldaten 115 können maschinell erzeugt werden, um das Datenkommentierungssystem zu testen. Als Beispiel können die rohen Quelldaten 115 rohe Videobilder von einer Kamera enthalten.
  • In diesem Beispiel kann der Maschinenlern-Algorithmus 110 die rohen Quelldaten 115 verarbeiten und einen Hinweis auf die Anwesenheit eines Fußgängers ausgeben. Die Ausgabe kann auch ein relatives Verhalten des Fußgängers innerhalb der Videobilder enthalten, wobei das hier beschriebene HANS-System verwendet wird. Solche Informationen können Teil des Kommentars sein. Der Maschinenlern-Algorithmus 110 kann einen Konfidenzwert oder -faktor für jede erzeugte Ausgabe erzeugen. Beispielsweise kann ein Konfidenzwert, der einen vorgegebenen Schwellenwert für hohe Konfidenz überschreitet, darauf hinweisen, dass der Maschinenlern-Algorithmus 110 davon überzeugt ist, dass das identifizierte Merkmal dem jeweiligen Merkmal entspricht. Ein Konfidenzwert, der unter einem Schwellenwert für niedrige Konfidenz liegt, kann anzeigen, dass der Maschinenlern-Algorithmus 110 eine gewisse Unsicherheit hat, dass das bestimmte Merkmal vorhanden ist.
  • Das Rechensystem 102 kann ferner einen Crowdworker-Schnittstellenprozess 116 enthalten, der so programmiert ist, dass er eine Schnittstelle zwischen dem Maschinenlern-Algorithmus 110 und den Crowdworkern 128 (über die Workstations 126) bereitstellt. Die Crowdworker-Schnittstelle 116 kann vom Entwickler des Systems 100 vordefiniert und/oder programmiert werden. Der Entwickler kann einen vorbestimmten Satz von Aufforderungen oder geskripteten Dialogen festlegen, die es einem Menschen ermöglichen, die Genauigkeit der Daten im Wissensgraphen zu bestätigen, zu kommentieren oder zu unterstützen, zum Beispiel. Die geskripteten Dialoge können eine bestimmte Aufforderung an die Crowdworker 128 enthalten, Eingaben auf eine bestimmte Art und Weise zu machen. Zum Beispiel kann die Crowdworker-Schnittstelle 116 bei der Beschreibung von Szenen, die in den Bildern gezeigt werden, den Crowdworker 128 auffordern, ein Verhalten eines Objekts im Bild zu bestätigen. Beispielsweise kann eine Eingabeaufforderung den Crowdworker 128 fragen: „Fährt dieses Fahrzeug normal oder unregelmäßig?“ oder „Was hat diesen Unfall verursacht?“ Die Eingabe des Crowdworkers 128 kann in Form von Text erfolgen. In anderen Beispielen kann die Crowdworker-Schnittstelle 116 die Crowdworker 128 auffordern, auf Bereiche von Interesse auf dem angezeigten Bild zu zeigen und zu klicken. Die Crowdworker-Schnittstelle 116 kann so konfiguriert sein, dass sie jeden Fehlertyp identifiziert, der Ungenauigkeiten im Machine-Learning-Algorithmus 110 verursacht. Die Crowdworker-Schnittstelle 116 kann den Betrieb des Maschinenlern-Algorithmus 110 überwachen, um Bedingungen zu erkennen, unter denen eine Ungenauigkeit vorliegen könnte. Zum Beispiel kann die Crowdworker-Schnittstelle 116 auf interne Variablen des Maschinenlern-Algorithmus 110 zugreifen, um die Genauigkeit und Leistung zu bestimmen.
  • Ein Crowdworker 128 kann in der Lage sein, die rohen Quelldaten 115 zu verarbeiten, um festzustellen, ob ein bestimmtes Merkmal vorhanden ist und/oder in welchem Kontext ein bestimmtes, in den Bildern gezeigtes Ereignis steht. Für eine visuelle Aufgabe kann der Crowdworker 128 in der Lage sein, das Vorhandensein eines bestimmten Merkmals (z.B. Fußgänger) in den rohen Quelldaten 115 zuverlässig anzuzeigen. Darüber hinaus kann der Crowdworker 128, wenn die vom Maschinenlern-Algorithmus 110 erzeugten Annotationsergebnisse angezeigt werden, feststellen, ob das Ergebnis angemessen, zuverlässig oder korrekt ist.
  • Das hier offengelegte System 100 ist so konzipiert, dass es sich leicht an verschiedene sensorbasierte Domänen anpassen lässt, einschließlich Szenarien in Innenräumen, wie intelligente Gebäude und Heimüberwachung, und in Außenbereichen, wie intelligente Städte, digitale Landwirtschaft usw. Während sich die vorliegende Offenlegung manchmal auf die Anwendung des Systems 100 auf die Überwachung des Fahrzeugverkehrs konzentriert, sollte man sich darüber im Klaren sein, dass die hierin enthaltenen Lehren auf verschiedene nicht verkehrsbezogene Einstellungen wie die oben aufgeführten und andere angewendet werden können.
  • 2 zeigt einen Arbeitsablauf bei der Verwendung eines Systems 200 zum Erstellen und zur Erweiterung eines Wissensgraphen für ereignisbasierte Ontologiebestimmung gemäß einer Ausführungsform. Das System 200 umfasst drei Hauptrollen: einen Wissensingenieur oder Crowdsourcing-Manager 202, eine Mehrzahl von Crowdsourcing-Workern 204 und einen Wissensingenieur 206. Der Crowdsourcing-Manager 202, der von einem Wissensingenieur ausgeführt werden kann, erstellt Crowdsourcing-Aufgaben, um Wissensgraphen-Primitive für eine Zieldomäne oder Anwendungsfälle zu sammeln. Die Crowdsourcing-Worker 204 können über Crowdsourcing-Marktplätze wie Amazon Mechanical Turk, UpWork, ClickWorker, soziale Medien, Online- oder Offline-Werbung oder interne Benutzer der Organisation rekrutiert werden. Der Wissensingenieur 206 prüft die von den Crowdsourcing- und Maschinenlern-Methoden (z. B. Verarbeitung natürlicher Sprache, Wissensgraphen usw.) erhaltenen Wissensgraphen-Primitive und stellt die Ontologie des Wissensgraphenmodells fertig.
  • Bei 208 wird eine Crowdsourcing-Aufgabe durch den Crowdsourcing-Manager 202, den Wissensingenieur oder den entsprechenden Experten erstellt, um verschiedene Wissensgraphen-Primitive zu sammeln. Die Crowdsourcing-Aufgabe kann ein oder mehrere Entwurfsmuster aus 210 nutzen. Zu den Entwurfsmustern können eines oder mehrere der folgenden gehören: ein Prompt-to-Crowd-Muster, ein Muster für die Darstellung eines vorherigen Schemas und ein Muster für die Darstellung einer visuellen Hilfe. Diese Entwurfsmuster können mit Hilfe der hier beschriebenen Systeme in Software konfiguriert werden. Die Entwurfsmuster können zur Anzeige an eine Mehrzahl von Workstations 126A für eine Mehrzahl von Crowdsourcing-Workern 128 gesendet werden. Das System unterstützt den Ersteller der Aufgabe dabei, den Katalog der Entwurfsmuster zu durchsuchen, ein oder mehrere Entwurfsmuster auszuwählen und sie für eine neue Crowdsourcing-Aufgabe zu ändern oder anzupassen.
  • Was das Muster der Eingabeaufforderungen an die Crowd betrifft, so hilft dieses Entwurfsmuster den Crowdsourcing-Workern, relevante Wissensgraphen-Primitive zu ermitteln, indem sie Fragen mit relevanten Aspekten zu einer bestimmten Aktivität stellen. Bei der Erhebung von Wissensgraphen-Primitiven für ein Verkehrsmodell kann der Aufgabenersteller beispielsweise die folgenden Aspekte als Eingabeaufforderungen für die Crowd einbeziehen, um sie auf alle möglichen unterschiedlichen Szenarien von Verkehrsstaus, Tageszeiten, Bedingungen einschließlich Wetter und Ereignissen hinzuweisen. Der Aufgabenersteller kann die Crowdworker auffordern, ihre Erfahrungen in Bezug auf die Ursachen (z. B. warum sie ihr Fahrzeug während der Fahrt anhalten und verlangsamen mussten) und Kontextinformationen (z. B. Routine wie Rushhour oder außergewöhnliche Situationen wie Unfälle) mitzuteilen oder eine hypothetische Situation zur Beschreibung eines Verkehrsstaus zu präsentieren, um einen Crowdworker zum Nachdenken über ähnliche Situationen anzuregen.
  • Was das Muster der Darstellung eines vorherigen Schemas betrifft, so kann der Crowdsourcing-Manager 202, wenn vorherige Informationen aus früheren Eingaben von Crowdsourcing-Workern oder zuvor erstellte Wissensgraphen aus ähnlichen Bereichen (z. B. Verkehrsstaus mit gemeinsamen Wissensprimitiven wie langen Schlangen in einem Lebensmittelgeschäft) vorhanden sind, die Begriffe oder Primitive zusammenfassen und sie der aktuellen oder nächsten Gruppe von Crowdsourcing-Workern präsentieren und die Crowdsourcing-Worker bitten, dieses vorherige Schema zu erweitern. Dieses Entwurfsmuster kann nützlich sein, um die Abdeckung ähnlicher Primitive/Konzepte zu erhöhen, indem die Crowdsourcing-Worker angeleitet werden, nicht redundante Informationen bereitzustellen.
  • In Bezug auf das Gestaltungsmuster für die Darstellung visueller Hilfen verwendet dieses Muster Bilder, Audio- und/oder Videoquellen oder Kombinationen beliebiger Arten von Multimedia, um die Crowdsourcing-Worker zu inspirieren, relevante Informationen für die Gestaltung der Crowdsourcing-Aufgabe bereitzustellen. Mit anderen Worten: Die Crowdsourcing-Worker werden dazu angeregt, ihre eigenen Ideen für die Erhebung von Informationen zu einem bestimmten Thema, wie z. B. Staus oder Verkehrsunfälle, einzubringen.
  • Sobald ein bestimmtes Entwurfsmuster ausgewählt und für Crowdworker aufbereitet ist, kann es bei 212 an die Crowdsource-Worker veröffentlicht werden. Die veröffentlichte Aufgabe wird an Crowdsourcing-Marktplätze wie die oben beschriebenen gesendet, damit die Crowdworker 128 eine Eingabe liefern können.
  • Bei 214 geben die verschiedenen Crowdworker Antworten für eine gegebene Crowdsourcing-Aufgabe mit verschiedenen Gestaltungsmustern und Interaktionsmethoden. Eine Benutzeroberfläche kann für die Crowdworker bereitgestellt werden, um Bilder (d.h. entweder Standbilder oder Videos) zu betrachten und Feedback zu den in den Bildern dargestellten Szenen zu geben. Die manuelle Verarbeitung und Auswertung aller Informationen von früheren Crowdworkern ist extrem zeitaufwendig, und die Ergebnisse können menschlichen Fehlern unterliegen, je nachdem, wer das Crowdsourcing-Feedback organisiert. Daher kann man sich auf eine oder mehrere Technologien zur Verarbeitung natürlicher Sprache (NLP) 216 stützen, um die von Crowdsourcing erhaltenen Informationen zu aggregieren und zusammenzufassen.
  • Die NLP kann die oben beschriebene CPU 106 und den Speicher 108 zur Ausführung verwenden. Die NLP-Technologie kann aus Part-of-Speech (POC) und Lemmatisierung bestehen oder diese beinhalten, um die Wörter der natürlichsprachlichen Eingabe basierend auf dem Typ (z. B. Substantiv, Adjektiv, Verb) der Wörter zu kennzeichnen. Das NLP kann sich auch auf Dependency-Parsing stützen, um die grammatikalische Struktur von Sätzen zu analysieren, auf semantisches Role-Labeling, um allgemeine semantische Strukturen zu identifizieren, die n-Grammen von Sätzen zugeordnet sind, auf Themenmodellierung, Zusammenfassung, Named-Entity-Recognition, Stimmungsanalyse usw.
  • Die verarbeiteten Informationen werden zusammengefasst und der Crowd präsentiert, so dass sie redundante Informationen vermeiden können, wenn sie an derselben Aufgabe arbeiten, oder die zusammengefassten Informationen mit positivem und negativem Feedback validieren können. Bei der Übermittlung der Aufgabe eines Workers verarbeitet das System neue Eingaben zusammen mit den zuvor verarbeiteten Informationen, um die Zusammenfassung und die Wissensprimitive zu aktualisieren. Je nach den Darstellungs- und Interaktionsmechanismen werden die Eingaben der Crowdworker in Echtzeit verarbeitet, um dem Worker ein sofortiges Feedback zu geben; alternativ können die Eingaben nach Abschluss der Crowdsourcing-Aufgabe verarbeitet werden.
  • Die Repräsentation und Interaktion mit Crowdworkern kann bei Crowdsourcing-Aufgaben bei 214 unterschiedlich gestaltet werden. Die folgenden Interaktionsmethoden sind beispielhafte Interaktionen und erheben keinen Anspruch auf Allgemeingültigkeit. In einer Ausführungsform informiert oder warnt das System den Crowdworker, wenn die Eingabe des Crowdworkers redundant ist, und bittet den Crowdworker um eine andere Antwort. Wird der Crowdworker beispielsweise gebeten, die Ursache eines in einem Video gezeigten Unfalls zu beschreiben, und gibt er ein: „Das gelbe Auto ist über eine rote Ampel gefahren“, kann das System diese Eingabe zurückweisen, wenn sie sich mit einer Eingabe eines anderen Crowdworkers überschneidet. Der Crowdworker wird dann aufgefordert, die Szene auf andere Weise zu beschreiben. Die Redundanz kann auf der Grundlage der Häufigkeit der verarbeiteten Begriffe oder Wörter, die in den Antworten der Crowd auftauchen, sowie der Ähnlichkeitsmessung von bereits verarbeiteten Informationen und neuen Eingaben auf der Wort-, Satz- oder semantischen Rollenebene analysiert werden.
  • Mit den von den Crowdworkern bereitgestellten Eingaben kann das System 200 die Ausgabe der natürlichen Sprachverarbeitung 216 an einen Wissensingenieur 206 senden, in dem Concept-Mining-Methoden mit NLP und Integration mit bestehenden Wissensgraphen stattfinden können. Der Wissensingenieur kann die Zusammenfassung oder die automatisch erstellten Tripel aus den Crowdsourcing-Ergebnissen 204 validieren. Auf der Grundlage der Eingaben des Crowdworkers können Tripels bei 218 generiert werden. Das System generiert Wissensprimitive und Triples durch Analyse der Crowdsourcing-Ergebnisse mit verschiedenen Technologien zur Verarbeitung natürlicher Sprache, wie sie oben beschrieben wurden. Der Tripel-Generator kann z. B. semantische Rollenbeschriftungen und Abhängigkeitsanalysen verwenden, um die Tripel zu bestimmen (z. B. Subjekt, Prädikat und Objekt). Durch das Verständnis der generierten Tripel kann das System automatisch relevante Tripel mit verschiedenen Beziehungen aus bestehenden Ontologie-Vokabularen und -Modellen wie Synonymen, Is-a, inversen Eigenschaften und dergleichen hinzufügen. Zur Unterstützung des Wissensingenieurs 206 können die Tripel aus den Ergebnissen des Crowdsourcing mit NLP 216 generiert werden. Bei der Generierung von Tripeln kann eine Concept-Mining-Aufgabe bei 220 auf die bestehende Ontologie oder Wissensgraphen zugreifen, um neue Tripel zu der bestehenden Ontologie oder den Wissensgraphen hinzuzufügen, Tripel zu ignorieren, die zu Tripeln im bestehenden Wissensgraphen redundant sind, Links zu bestehenden Knoten im Wissensgraphen vorherzusagen usw. Bei der Generierung von Tripeln und der NLP-Verarbeitung behält das System den Überblick über die Rohdaten aus der Crowd, die NLP-verarbeiteten Informationen und die Tripel. Der Tripel-Generator kann interaktiv mit den Wissensingenieuren 206 ausgeführt werden, um deren Feedback zu erhalten.
  • Eine grafische Benutzeroberfläche kann die Tripel mit Knoten und Kanten, in Tabellenform oder in Textform anzeigen. Falls Synonyme während der automatischen Tripelgenerierung aggregiert werden, kann das Tool das repräsentative Wort/den repräsentativen Begriff zusammen mit den Synonymen anzeigen, so dass der Wissensingenieur das repräsentative Wort wechseln oder Tripel verfeinern kann, indem er zusätzliche Beziehungen zwischen Synonymen herstellt, falls erforderlich. Die Benutzeroberfläche kann Spuren von Triples bis hinunter zu den ursprünglichen Rohdaten aus dem Crowdsourcing zeigen.
  • 3 zeigt ein Verfahren 300 zum Erstellen und zur Erweiterung eines Wissensgraphen bezüglich der Ontologie von Ereignissen, die in Bildern auftreten, unter Verwendung der obigen Lehren. Das Verfahren kann von dem einen oder den mehreren Prozessoren durch Ausführen von in Hardware gespeicherten Anweisungen durchgeführt werden, beispielsweise unter Verwendung der in 1 dargestellten Struktur. Bei 302 empfängt der eine oder die mehreren Prozessoren Bilddaten, die einer Mehrzahl von Szenen entsprechen, die von einer oder mehreren Kameras aufgenommen wurden. In Ausführungsformen, in denen die Szenenontologie für Verkehrsszenen erstellt wird, können die Szenen von Verkehrskreuzungen oder Straßen stammen, und die Kameras können beispielsweise an oder in der Nähe von Straßenlaternen oder Autobahnüberführungen angebracht sein. Bei 304 kann ein Wissensgraph mit ereignisbasierten Ontologiedaten erstellt werden, die Ereignissen entsprechen, die in der Mehrzahl von Szenen auftreten. Beispiele für ereignisbasierte Ontologie können Staus, Verkehrsunfälle, geparkte Fahrzeuge, zu schnell fahrende Fahrzeuge oder unregelmäßiges Fahrverhalten und entsprechende Beschreibungen dieser Ereignisse umfassen.
  • Bei 306 kann der eine oder die mehreren Prozessoren eine oder mehrere der Szenen für eine Mehrzahl von Crowdsourcing-Workern anzeigen. Die Anzeige kann auf den oben beschriebenen Entwurfsmustern basieren, die vom Wissensingenieur 202 erstellt oder ausgewählt wurden. Die Anzeige kann das eine oder die mehreren Bilder oder die in diesen Bildern dargestellten Szenen zusammen mit einer Eingabeaufforderung an den Crowdsourcing-Worker zeigen, Aspekte der Szene zu beschreiben. Zum Beispiel kann die Eingabeaufforderung den Crowdsourcing-Worker fragen: „Was sehen Sie in dieser Szene?“ oder, wenn er sich auf das Wissen aus früheren Kommentaren zu einer Szene stützt, dass sich in dieser Szene ein Unfall ereignet hat: „Was hat den Unfall in dieser Szene verursacht?“
  • Bei 308 empfängt der eine oder die mehreren Prozessoren natürlichsprachliche Eingaben von den Crowdsourcing-Workern. Bei den natürlichsprachlichen Eingaben handelt es sich um ereignisbasierte semantische Annotationen, die der Szene entsprechen, d. h. um eine natürlichsprachliche Beschreibung der Szene. Die von den Crowdsourcing-Workern bereitgestellten Eingaben können in schriftlicher Form (z. B. durch Tippen auf einer Tastatur) oder in gesprochener Form (z. B. durch Verwendung eines Mikrofons und zugehöriger Transkriptionssoftware, die die gesprochenen Wörter in Text umwandelt, den die Software verarbeiten kann) erfolgen.
  • Bei 310 werden Tripel generiert, die den natürlich-sprachlichen Eingaben entsprechen. Die Tripel können auf NLP und Techniken beruhen, die oben unter Bezugnahme auf 218 und 220 beschrieben wurden.
  • Bei 312 erweitern der eine oder die mehreren Prozessoren den Wissensgraphen mit den erzeugten Tripeln. Beispielsweise können dem Wissensgraphen neue Knoten und Kanten mit den Tripeln hinzugefügt werden, wobei die Knoten oder Kanten aus der natürlichsprachlichen Eingabe oder deren Synonymen stammen. Auf diese Weise entsteht ein erweiterter Wissensgraph, der zur Bestimmung der ereignisbasierten Ontologie eines neuen Bildes ohne die spätere Hilfe menschlicher Eingaben wie Crowdsourcing verwendet werden kann.
  • 4-10 beschreiben Ausführungsformen der Verwendung von Objekttrajektoriendaten zum weiteren Erstellen oder zur Erweiterung eines Wissensgraphen. Bei der Objekttrajektorie kann es sich um ein Fahrzeug (Fahrzeugtrajektorie), einen Fußgänger (Fußgängertrajektorie), einen Radfahrer (Radfahrertrajektorie) und/oder andere Objekte handeln, die erkannt und klassifiziert werden können, wenn sie in einer Szene erscheinen, die von einem Bildsensor wie einer Kamera erfasst wurde. Bei dem zu verfolgenden Objekt kann es sich auch um Personen in einem Einzelhandelsgeschäft, einer Produktionsanlage oder einer anderen kommerziellen Umgebung mit einem hohen Maß an Bewegung oder Aktivität der Objekte handeln.
  • Die Suche nach Szenen mit einem hohen Maß an Aktivität, wie z. B. Verkehrsstaus, Parkverstöße, Verkehrsunfälle oder Beinahe-Unfälle, ist mit modernen Computer-Vision- oder Maschinenlern-Algorithmen nicht möglich. Außerdem wäre die Verarbeitung von Rohdaten zur Ableitung eines hohen Aktivitätsniveaus mit neuen Algorithmen nicht effizient, wenn große Datenmengen verarbeitet werden müssen. Die hier vorgestellten Methoden und Systeme zielen darauf ab, große Datenmengen effizient zu verarbeiten, wenn sie auf ein hohes Aktivitätsniveau schließen, indem sie Metadatendarstellungen von grundlegenden Wahrnehmungsmodellen (wie Erkennung, Klassifizierung und Verfolgung) und Maschinenlernmodelle wie Clustering zur Abstraktion dieser Darstellungen verwenden. Die Ergebnisse dieser Modelle werden dann in Wissensgraphen umgewandelt. Hybrides Denken von semantischen Regeln und Maschinenlernmodellen können für verschiedene Anwendungen mit relativ geringem Datenumfang aus Metadaten und dem Wissensgraphen angepasst oder erweitert werden.
  • 4 zeigt ein System 400 zur Erweiterung eines Wissensgraphen mit Objekttrajektoriendaten und zur Verwendung des Wissensgraphen für die Szenensuche gemäß einer Ausführungsform. Das System 400 empfängt eine oder mehrere verschiedene Eingaben (wie Bilddaten, Bildsensorparameter und Tondaten, die hierin weiter beschrieben werden), die von verschiedenen Maschinenlern-Modellen 402 verwendet werden können. Das System 400 kann unter Verwendung des einen oder der mehreren Prozessoren und des Speichers ausgeführt werden, die hier offengelegt und in 1 dargestellt sind.
  • Bei 404 werden Computer-Vision- und Maschinenlernmodelle so programmiert, dass sie Objekte erkennen, den Objektstandort und den Objekttyp (z. B. Auto, Fußgänger usw.) vorhersagen und dem Objekt eine Kennung (ID) über mehrere Bildsequenzen hinweg zuweisen, damit seine Trajektorie verfolgt werden kann. Dies kann mithilfe eines maschinellen Lernmodells für die Objektverfolgung erfolgen, eines Modells für tiefes Lernen (z. B. Faltungsneuronales Netzwerk, CNN), bei dem das Programm eine anfängliche Reihe von Objekterkennungen nimmt, eine eindeutige Kennung für jede der anfänglichen Erkennungen entwickelt und dann die erkannten Objekte verfolgt, während sie sich in einem Video durch die Bilder bewegen. Dieses Modell kann eine Bestimmungs- oder Erkennungsphase umfassen, in der ein oder mehrere Algorithmen Bildrahmen analysieren, um Objekte zu identifizieren, die zu Zielklassen gehören (z. B. unter Verwendung eines Klassifizierers), und Begrenzungsrahmen auf den Objekten platzieren, um Erkennungen als Teil des Algorithmus durchzuführen. Es können verschiedene Modelle des maschinellen Lernens zur Objektverfolgung verwendet werden, wie z. B. OpenCV, DeepSORT oder MDNET.
  • Bei 406 erzeugt ein Algorithmus oder Modell in einer Ausführungsform Weltkoordinaten auf der Grundlage von Kameraparametern, wie z. B. Standort der Kamera, Blickwinkel, Blickrichtung usw. Zum Beispiel können intrinsische und extrinsische Kameraparameter verwendet werden, um die Trajektorien (weiter unten beschrieben) von Bildkoordinaten in Weltkoordinaten umzuwandeln, basierend auf einem Abstand zu dem erkannten Objekt, einer relativen Höhe zwischen dem erkannten Objekt und der Kamera und ähnlichem. Die Kombination von intrinsischen Kameraparametern (z.B. das optische Zentrum und die Brennweite der Kamera) mit extrinsischen Kameraparametern (z.B. die Position der Kamera in der dreidimensionalen Szene) kann Metadaten-Darstellungen erzeugen (z.B. Begrenzungsrahmen-Positionen auf dem Bildplan oder Weltkoordinaten).
  • In einer Ausführungsform werden die ursprünglichen Daten (T°) durch Objekterkennungs- und -verfolgungsalgorithmen in Weltkoordinaten gewonnen. Dann kann das System davon ausgehen, dass alle Bildsequenzen zur gleichen Zeit beginnen und zur gleichen Zeit enden. Das System kann t ∈ [0,1] verwenden, um den Zeitindex für alle Sequenzen zu bezeichnen. Dann verwendet das System Interpolationsalgorithmen mit kubischen Funktionen. Bei einer Anzahl n bekannter Punkte oder Koordinaten von erkannten Objekten füllt die Interpolation die Lücken in den Datenpunkten, um eine Trajektorie abzuleiten. Die Lücken sind immer vorhanden, da eine Trajektorie per Definition unendlich viele Punkte hat und es nur eine endliche Anzahl von Erfassungen gibt (z. B. eine pro Sekunde, fünf pro Sekunde, je nach Bildrate usw.). Die Rekonstruktion möglichst vieler Punkte zwischen den tatsächlichen Erkennungsereignissen erhöht also die Genauigkeit der Trajektorie. Das System definiert T als die interpolierten Trajektorien, bei denen es sich um 4-dimensionale Zeitsequenzen (d.h. [x,y,vx,vy]) mit einer Länge von z.B. 100 handelt.
  • Bei 408 kann ein maschinelles Lernmodell, das mit anderen Datentypen wie Geräuschen trainiert wurde, Metadaten-Darstellungen erzeugen, um Informationen wie die Klassifizierung zu abstrahieren. Beispielsweise können ein oder mehrere von einem Mikrofon empfangene Geräusche einem erkannten Objekt in der Szene zugeordnet werden, z. B. ein lautes, tiefes Rumpeln, das einem Traktoranhänger zugeordnet wird, oder eine klingelnde Glocke, die einem Fahrradfahrer zugeordnet wird. Es kann auch eine Fusion stattfinden, bei der das Objekterkennungsmodell bei der Klassifizierung von Objekten auf der Grundlage der erkannten Geräusche unterstützt wird; ein tiefer Ton kann dem Modell beispielsweise helfen, einem erkannten Fahrzeug die Klassifizierung „Lkw“ zuzuweisen.
  • Alle diese Metadaten können nach der Verarbeitung durch verschiedene Modelle 402 in verschiedenen Formaten wie XML, JSON oder domänenspezifischen Variationen dieser Formate dargestellt werden. Die Visualisierung der Metadatendarstellung auf der Bildebene ist in 5 dargestellt. 5 zeigt sechs verschiedene Ausführungsformen der Metadatendarstellung von Objekttrajektorien auf der Bildebene, z. B. unter Verwendung des Maschinenlernmodells für die Objektverfolgung an einer Verkehrskreuzung. Wenn ein Fahrzeug in die Szene eintritt, kann sein Vorhandensein bestimmt und ein Begrenzungsrahmen auf ihm platziert werden. Wenn sich das Fahrzeug bewegt, wird seine frühere Position verfolgt, so dass eine Trajektorienlinie über seine früheren Positionen gelegt werden kann. Jedem Begrenzungsrahmen und jeder Trajektorienlinie eines Fahrzeugs kann eine andere Farbe zugewiesen werden, damit das Modell die Verfolgungsdaten besser visualisieren kann.
  • Die Metadatendarstellungen können bei 410 verarbeitet werden, so dass sie für die Umwandlung oder Erweiterung in einen Wissensgraphen vorbereitet sind. Zum Beispiel können bei 412 die Objekttrajektorien (z.B. bestimmt von dem maschinellen Objektverfolgungsmodell) durch Verwendung eines maschinellen Clustering-Modells oder Clustering-Modells geclustert werden. Das Clustermodell ist so konfiguriert, dass es die Objekttrajektorien in eine Mehrzahl von geclusterten Objekttrajektorien clustert, wobei jede der Objekttrajektorien mit anderen Objekttrajektorien in einem von einer Mehrzahl von Clustern gruppiert wird. 6A zeigt das Ergebnis der Objekttrajektorien-Clusteranalyse, z. B. die Clusteranalyse von Fahrzeugtrajektorien an einer Kreuzung, wie in 5 dargestellt. Die Achsen von 6A sind ortsbezogen, so dass das Diagramm einen zweidimensionalen Standort der Fahrzeuge darstellt, z. B. aus der Vogelperspektive, basierend auf den oben erläuterten Metadaten. Wie in 6A dargestellt, wird jede der Trajektorien in einem Cluster gruppiert, und jedem Trajektorien-Cluster kann eine Farbe oder ein anderer Identifikator zugewiesen werden, die anzeigen, dass jede Trajektorie in diesem Cluster Teil eines gemeinsamen Clusters ist. Die Clusteranalyse kann auf der Ähnlichkeit der Trajektorie basieren. So kann zum Beispiel jede Flugbahn auf der Grundlage ihrer Ähnlichkeit mit einer oder mehreren anderen Flugbahnen einem Cluster zugewiesen werden. Es können verschiedene Clustermodelle verwendet werden, z. B. ein Gaussian Mixture Model (GMM), K-Means-Clustering, Mean-Shift-Clustering, Density-Based-Spatial-Clustering-of-Applications-with-Noise (DBSCAN),
  • In einer Ausführungsform umfasst das Clustermodell ein Dirichlet-Processes-Gaussian-Mixture-Model (DPGMM). Hier wird ein Index i über eine Anzahl von Beobachtungen i = 1, ..., n verwendet, zusammen mit dem Index j über Komponenten j= 1, ..., K. Das Gaussian-Mixture-Model (GMM) mit K Komponenten kann wie folgt geschrieben werden: p ( T | 0 1 , ,0 K ) = j = 1 k π j N ( T | μ j , j )
    Figure DE102023209381A1_0001
    wobei θj={πj, µj, Σj} die Menge von Parametern für die Komponente j und T die beobachtbaren Stichproben ist. Wird eine gemeinsame Prioritätsverteilung G0 für die Komponentenparameter definiert und werden Indikatorvariablen eingeführt, so kann das DPGMM wie folgt definiert werden: ( μ j , j ) ~ G 0
    Figure DE102023209381A1_0002
    π | α ~ D i r ( α K , α K )
    Figure DE102023209381A1_0003
    c i | π ~ D i s c r e t e ( π 1 , , π K )
    Figure DE102023209381A1_0004
    T i | c i , Θ∼ N ( x | μ c i , c i )
    Figure DE102023209381A1_0005
    wobei der Parametersatz Θ={θ1,...,θK} und ci Indikatorvariablen sind. Die Parameter dieses Modells können mit einer Variationsinferenzmethode trainiert werden (z.B. variationale Bayessche Methode).
  • In einer Ausführungsform werden bei DPGMM die Trajektorien mit unabhängigen Gauß-Verteilungen modelliert, die die zeitliche Information ignorieren. Eine andere Darstellung von Fahrmustern wird in Betracht gezogen, z. B. das Geschwindigkeitsfeld (VF). Im zweidimensionalen Raum des Bildes wird die Position des Objekts als (x,y) dargestellt und für jede Position gibt es einen entsprechenden (vx,vy), der den Geschwindigkeitsvektor darstellt. Gaußsche Prozesse (GP) können verwendet werden, um dieses Geschwindigkeitsfeld als Regressionsaufgabe zu lernen, wobei (x,y) die Eingabe und (vx,vy) die Ausgabe ist. Bei dieser Darstellung ist es nicht notwendig, die Trajektorien zu interpolieren, da einzelne Punkte betrachtet werden. Bei der Verwendung von Clustering-Algorithmen werden die Trajektorien jedoch als ein ganzes Segment behandelt. In der Abbildung in 6A ist zum Beispiel das Clustering-Verfahren mit VF dargestellt. Wenn eine neue Trajektorie eintrifft, berechnet der Prozessor die Ähnlichkeit zwischen der neuen Trajektorie und allen Clustern. Diese Ähnlichkeit wird durch die log-Ähnlichkeit gemessen: L m = n = 1 N m p ( f * | y )
    Figure DE102023209381A1_0006
  • Dabei ist Nm die Anzahl der Punkte in der Trajektorie m. Anschließend wird die neue Trajektorie einem Cluster zugeordnet, der die höchste Ähnlichkeit aufweist. Wenn die Ähnlichkeit zwischen der neuen Trajektorie und allen Clustern unter diesem Schwellenwert δ liegt, kann ein neuer Cluster gebildet und die neue Trajektorie diesem neuen Cluster zugeordnet werden. 8 veranschaulicht dies, wobei eine neue Flugbahn einem zuvor erstellten Cluster (z. B. GP 1, GP 2 oder GP 3) zugeordnet werden kann oder ein neues Cluster auf der Grundlage seiner Unähnlichkeit mit den zuvor erstellten Clustern erstellen kann. 9 zeigt ein Beispiel für verschiedene Trajektorien, die im x,y-Raum auf der Grundlage der Bilddaten aufgetragen sind, und entsprechende Primitiven-Szenencluster C1-C9.
  • In einer Ausführungsform können die Ergebnisse des Trajektorienclusterns mit externen Informationen validiert oder verbessert werden, wie z. B. Kartendienstinformationen für Kameras, die auf der Straße eingesetzt werden, oder mit Human-in-the-Loop wie Crowdsourcing. Das System kann zum Beispiel Kartendaten von einem oder mehreren externen Servern empfangen, die Straßenkartendaten sammeln und/oder pflegen. Die Kartendaten können Informationen über die Anzahl der Fahrspuren, die Lage (z. B. Koordinaten) der Straßen und Ähnliches enthalten. Diese Informationen können dann mit den Ergebnissen der Objekttrajektorien fusioniert oder kombiniert werden, um die Leistung des Trajektorienclustering zu verbessern. Beispielsweise kann eine oder mehrere der Trajektorien in einem Cluster auf der Grundlage einer Analyse der Kartierungsdaten, die dem Verkehr auf einer oder mehreren bestimmten Fahrspuren entsprechen, als in diesem bestimmten Cluster befindlich validiert werden. Eine Trajektorie, die wie ein Ausreißer erscheint, kann in einem Cluster gruppiert werden, basierend auf ihrer Reise zu einer bestimmten Fahrspur, die anderen Trajektorien in diesem Cluster ähnlich ist. Das Crowdsourcing kann auch die geclusterten Trajektorien überprüfen, um ihre Genauigkeit zu gewährleisten.
  • Der eine oder die mehreren Prozessoren können auch eine Polylinie für jedes Cluster von Objekttrajektorien erstellen. 6B zeigt eine Mehrzahl von Polylinien, wobei jede Polylinie einem der Cluster von 6A entspricht. Jede Polylinie stellt eine durchschnittliche Trajektorie aller Trajektorien in diesem jeweiligen Cluster dar.
  • Die Ergebnisse der Trajektorienclusteranalyse und -abstraktion mit Polylinien und Validierung oder Verbesserungen (z. B. mit Kartendaten und/oder Human-in-the-Loop) ermöglichen es den Prozessoren, die Metadaten von 410 in Wissensgraphen-Darstellungsdaten bei 418 zu konvertieren. In einem Beispiel kann eine Begrenzungsrahmen-Koordinate eines Objekts in der Bildebene mit einer Kennung (z. B. car_id_1), einem Standort (z. B. lane_1) und einer Geschwindigkeit (z. B. 5 mph) dargestellt werden. Diese Informationen sind nicht nur für die Erstellung des Wissensgraphen nützlich, sondern auch für die Benutzerschnittstelle und können daher auf der Benutzerschnittstelle neben den in 5 gezeigten Begrenzungsrahmen visualisiert werden.
  • Ein Wissensgraph kann generiert werden, indem diese Daten bei 418 transformiert werden, z. B. durch Konsolidierung heterogener Informationen aus 410 in eine kohärente semantische Darstellung auf der Grundlage einer domänenspezifischen Ontologie. Es kann auch auf externe Informationen aus 420 zurückgegriffen werden, z. B. Kartendaten, GPS-Koordinaten oder Human-in-the-Loop, wie oben erläutert. 7 zeigt eine Ausführungsform des resultierenden Wissensgraphen, visualisiert für einen menschlichen Benutzer, z. B. auf einer Benutzeroberfläche. Zentrale Primitive der Ontologie des Wissensgraphen können Szene und Position/Ort umfassen. Die Szenenprimitive umfassen eine Reihe von Ereignissen, die entsprechend der räumlich-zeitlichen Nähe (z. B. von unten nach oben) oder spezifischen Benutzeranforderungen geclustert werden. 7 zeigt ein Beispiel für ein ontologiebasiertes Muster oder einen Teil eines Wissensgraphen, in dieser speziellen Ausführungsform den Standort eines Fahrzeugs nach absoluten Koordinaten. In diesem Beispiel stellen die Kreise Knoten im Wissensgraphen dar, und die Pfeile stellen Kanten des Wissensgraphen dar. Die Informationen unter den Kreisen stellen Informationen dar, die von jedem Knoten abgerufen werden können, der dem darüber liegenden Knoten entspricht.
  • Ein Beispiel für eine spezifische Benutzeranforderung kann ein bestimmtes Bild oder bestimmte Bilder sein, die alle Ereignisse enthalten, die an einer bestimmten Kreuzung zwischen einer bestimmten Zeit passiert sind, z. B. vom Zeitpunkt eines Autounfalls bis zum Eintreffen des Krankenwagens. Die Eingaben (z. B. „Autounfall“ und „Ankunft des Krankenwagens“) können in natürlicher Sprache vom Benutzer eingegeben werden, und die Daten aus den Bildern selbst können es dem System ermöglichen, nach den gewünschten Ereignissen zu suchen. Ein Autounfall kann beispielsweise eine drastische Geschwindigkeitsänderung und/oder eine Abweichung von einem Cluster oder einer Polylinie oder einen anderen Kontext wie ein Fahrzeug, das anschließend eine Geschwindigkeit von Null hat, aufweisen. Das Vorhandensein eines Krankenwagens kann durch die hier beschriebene Objekterkennung festgestellt werden. Die Positionsprimitive können die beobachtete Position oder den Standort eines Objekts umfassen, die relative Koordinaten (z. B. Zentroide einer Begrenzungsrahmen in der x-y-Bildebene) oder absolute Koordinaten (z. B. GPS, Breiten- und Längengrad) haben können.
  • Der Wissensgraph kann z.B. mit hybridem Denken erstellt werden. Das hybride Denken kann regelbasierte Schlussfolgerungen (z. B. semantische Schlussfolgerungen 422) und subsymbolische Schlussfolgerungen (z. B. maschinelle Lernmodelle 424) umfassen. Bei der semantischen Schlussfolgerung 422 können bestimmte Regeln formalisiert werden, z. B. mithilfe der SPARQL-Abfragesprache, um Aktivitäten auf hohem Niveau abzuleiten. Wenn z. B. ein erkanntes Fahrzeug eine Geschwindigkeit von 0,0 Metern pro Sekunde (m/s) hat und sich über einen längeren Zeitraum in einer Kurve der Autobahn befindet, kann die Schlussfolgerung lauten, dass das Fahrzeug angehalten wurde und eine Gefahr für die Straße darstellt. Es können auch Folgeregeln ausgelöst werden. Wenn z. B. eine erkannte Person das Fahrzeug verlassen hat und für längere Zeit aus dem Sichtfeld verschwunden ist, kann daraus geschlossen werden, dass das Fahrzeug verlassen ist; aus anderen Zusammenhängen oder Regeln kann geschlossen werden, dass das Fahrzeug eine Fehlfunktion aufweist (z. B. die Person, die einige Zeit um das Fahrzeug herumsteht), oder dass der Fahrer einen gesundheitlichen Notfall hatte (z. B. ein Krankenwagen, der einige Zeit nach dem Anhalten des Fahrzeugs erscheint).
  • Verschiedene Maschinenlern-Modelle können in 424 erstellt werden. Zum Beispiel kann ein ähnlichkeitsbasiertes Clustermodell mit Tripeln trainiert werden, die aus dem Wissensgraphen extrahiert wurden und eine Anzahl von Fahrzeugen verschiedener Typen in der Szene (z. B. Autos, Lastwagen, Fahrräder, Motorräder usw.) und ihre entsprechende Geschwindigkeit, Fahrspurposition und Dauer der Beobachtungen bezeichnen. Es gibt keine Beschränkungen für die Art der Daten, die zum Trainieren der maschinellen Lernmodelle verwendet werden können. Wenn zusätzliche Kontextelemente aus 410 erkannt werden und ihre Verteilung in den Daten ausgewogen ist, können sie als Eingangsmerkmale verwendet werden und zur Vollständigkeit und Kohärenz der Szenenerkennungsalgorithmen beitragen.
  • Es sollte natürlich klar sein, dass die Trajektorien von Fahrzeugen nur ein Beispiel sind, das gemäß den hier beschriebenen Lehren modelliert werden kann. Die hier beschriebenen Methoden und Systeme können auf jedes sich bewegende Objekt angewandt werden, z. B. Fußgänger, Radfahrer usw. Außerdem sind die hierin enthaltenen Lehren nicht notwendigerweise auf Außenbereiche beschränkt. Zum Beispiel können die hierin enthaltenen Lehren auf Personen innerhalb eines Geschäftsraums angewendet werden, wie z.B. die Verfolgung von Trajektorien von Personen innerhalb eines Geschäftsraums, wie z.B. eines Einzelhandelsgeschäfts.
  • Die 10A und 10B zeigen Beispiele für Benutzeroberflächen, die es einem Menschen ermöglichen, auf der Grundlage der Trajektorien nach verschiedenen Ereignissen zu suchen, z. B. nach Staus und Parkverstößen. Dies kann ein interaktives Werkzeug sein, um nach Szenen wie Beinahe-Unfällen, Staus und Ähnlichem zu suchen. Ein Benutzer kann verschiedene Regeln als Eingaben erstellen, z. B. die Anzahl der Fahrzeuge in der Szene, die Geschwindigkeit eines oder mehrerer Fahrzeuge in der Szene, die Dauer des Aufenthalts des Fahrzeugs in der Szene, das Vorhandensein des Fahrzeugs auf einer bestimmten Spur, das Vorhandensein des Fahrzeugs auf der gleichen oder einer anderen Spur wie ein anderes Fahrzeug, das Wetter und andere auf Ontologieregeln basierende Eingaben. Jede Eingabe kann ein Wissensgraphenprimitiv sein. Die Suchergebnisse können Bilder oder Videos relevanter Szenen anzeigen, die den Eingaben auf der Grundlage einer Überprüfung des Wissensgraphen entsprechen. In den in 10 gezeigten Beispielen zeigt 10A verschiedene Regeln, die auf einen Stau oder eine Warteschlange hindeuten können, wie z. B. die Anzahl der Fahrzeuge in der Szene, die größer als sieben ist, länger als zwei Minuten dauert und sich auf der gleichen Spur befindet. 10B zeigt verschiedene Regeln, die auf einen Parkverstoß hinweisen können, z. B. ein Fahrzeug, das sich auf einer als Parkverbot gekennzeichneten Spur befindet, eine Geschwindigkeit von 0 m/s und eine Dauer von mehr als 10 Minuten.
  • Während oben beispielhafte Ausführungsformen beschrieben werden, ist nicht beabsichtigt, dass diese Ausführungsformen alle möglichen Formen beschreiben, die von den Ansprüchen umfasst sind. Die in der Beschreibung verwendeten Worte sind eher beschreibend als einschränkend, und es versteht sich, dass verschiedene Änderungen vorgenommen werden können, ohne vom Geist und Umfang der Offenbarung abzuweichen. Wie zuvor beschrieben, können die Merkmale verschiedener Ausführungsformen kombiniert werden, um weitere Ausführungsformen der Erfindung zu bilden, die möglicherweise nicht ausdrücklich beschrieben oder abgebildet sind. Während verschiedene Ausführungsformen als vorteilhaft oder bevorzugt gegenüber anderen Ausführungsformen oder Implementierungen des Standes der Technik in Bezug auf eine oder mehrere gewünschte Eigenschaften beschrieben werden könnten, erkennen Fachleute, dass ein oder mehrere Merkmale oder Eigenschaften geändert werden können, um gewünschte Gesamtsystemeigenschaften zu erreichen, die von der spezifischen Anwendung und Implementierung abhängen. Diese Eigenschaften können unter anderem Kosten, Festigkeit, Haltbarkeit, Lebenszykluskosten, Marktfähigkeit, Aussehen, Verpackung, Größe, Wartungsfreundlichkeit, Gewicht, Herstellbarkeit, einfache Montage usw. umfassen. Soweit Ausführungsformen in Bezug auf ein oder mehrere Merkmale als weniger wünschenswert als andere Ausführungsformen oder Implementierungen des Standes der Technik beschrieben werden, liegen diese Ausführungsformen nicht außerhalb des Anwendungsbereichs der Offenbarung und können für bestimmte Anwendungen wünschenswert sein.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 17/871335 [0014]

Claims (20)

  1. Verfahren zum Erstellen eines Wissensgraphen auf der Grundlage einer ereignisbasierten Ontologie einer Szene und einer Fahrzeugtrajektorie in der Szene, wobei das Verfahren Folgendes umfasst: Empfangen von Bilddaten, die einer Mehrzahl von Szenen entsprechen, die von einer oder mehreren Kameras aufgenommen wurden; Empfangen von ereignisbasierten Ontologiedaten, die den Eingangsdaten entsprechen, wobei die ereignisbasierten Ontologiedaten Ereignissen zugeordnet sind, die in der Mehrzahl von Szenen auftreten; Bestimmen (i) eines Vorhandenseins einer Mehrzahl von Fahrzeugen in den Bilddaten und (ii) einer Mehrzahl von Fahrzeugtrajektorien, wobei jede Fahrzeugtrajektorie einem jeweiligen der Fahrzeuge zugeordnet ist, durch ein Objektverfolgungs-Maschinenlernmodell; Clusteranalyse der Fahrzeugtrajektorien in eine Mehrzahl von geclusterten Fahrzeugtrajektorien durch ein Clusteranalysemodell; Erweitern eines Wissensgraphen basierend auf den geclusterten Fahrzeugtrajektorien und den ereignisbasierten Ontologiedaten; und Auswählen einer der Szenen zur Ausgabe auf einer Benutzerschnittstelle, wobei das Auswählen auf (i) dem erzeugten Wissensgraphen und (ii) von einem Benutzer an der Benutzerschnittstelle bereitgestellten Eingabekriterien basiert.
  2. Verfahren nach Anspruch 1, wobei die Eingabekriterien eine Auswahl einer Anzahl von Fahrzeugen in der Szene oder einer Geschwindigkeit von einem oder mehreren der Fahrzeuge in der Szene umfassen.
  3. Verfahren nach Anspruch 1, ferner umfassend: Erzeugen einer Mehrzahl von Polylinien, die der Mehrzahl von geclusterten Trajektorien entsprechen, wobei jede Polylinie einen Durchschnitt der Fahrzeugtrajektorien in einer jeweiligen der geclusterten Fahrzeugtrajektorien darstellt; wobei der Schritt des Erweiterns des Wissensgraphen auf der Mehrzahl von Polylinien basiert.
  4. Verfahren nach Anspruch 1, ferner umfassend: Empfangen von Kartendaten von einem externen Server, wobei die Kartendaten der Mehrzahl von Szenen zugeordnet sind, und wobei die Kartendaten Informationen bezüglich der Anzahl von Fahrspuren des Verkehrs entsprechend den Szenen enthalten; wobei der Schritt der Clusteranalyse auf den Kartendaten basiert.
  5. Verfahren nach Anspruch 4, ferner umfassend: Verwendung eines Human-in-the-Loop-Prozesses zur Überprüfung der Clusteranalyse auf der Grundlage der Kartendaten; und Modifizieren des Wissensgraphen basierend auf dem Human-in-the-Loop-Prozess.
  6. Verfahren nach Anspruch 1, ferner umfassend: Empfangen von Eingaben in natürlicher Sprache, einschließlich ereignisbasierter semantischer Annotationen, die den Szenen entsprechen; Erzeugen von Tripeln, die den natürlichsprachlichen Eingaben entsprechen, über natürlichsprachliche Verarbeitung, wobei jedes der Tripel ein Subjekt, ein Prädikat und ein Objekt enthält; und Erweitern des Wissensgraphen mit den erzeugten Tripeln, um einen erweiterten Wissensgraphen zur Verwendung bei der Bestimmung einer ereignisbasierten Ontologie, die den Szenen zugeordnet ist, zu erhalten.
  7. Verfahren nach Anspruch 1, wobei das Clustermodell ein Dirichlet-Prozess-Gauß-Mischungsmodell (DPGMM) umfasst.
  8. Verfahren nach Anspruch 1, wobei die Mehrzahl von Fahrzeugtrajektorien frühere Standorte der Mehrzahl von Fahrzeugen und nicht geschätzte zukünftige Standorte der Mehrzahl von Fahrzeugen darstellt.
  9. System zum Erstellen eines Wissensgraphen auf der Grundlage einer ereignisbasierten Ontologie einer Szene und einer Fahrzeugtrajektorie in der Szene, wobei das System Folgendes umfasst: eine oder mehrere Kameras, die so konfiguriert sind, dass sie Bilder einer Mehrzahl von Szenen aufnehmen; eine Benutzerschnittstelle; und einen Prozessor, der (i) kommunikativ mit der Benutzerschnittstelle gekoppelt ist und (ii) so konfiguriert ist, dass er Bilddaten empfängt, die einer Mehrzahl von Szenen entsprechen und von der einen oder den mehreren Kameras stammen, wobei der Prozessor programmiert ist, um: ereignisbasierte Ontologiedaten, die Ereignissen entsprechen, die in der Mehrzahl von Szenen auftreten, zu empfangen, ein maschinelles Lernmodell zur Objektverfolgung auszuführen, um (i) das Vorhandensein einer Mehrzahl von Fahrzeugen in den Bilddaten und (ii) eine Mehrzahl von Fahrzeugtrajektorien zu bestimmen, wobei jede Fahrzeugtrajektorie einem entsprechenden der Fahrzeuge zugeordnet ist, ein Clustermodell zur Clusteranalyse der Fahrzeugtrajektorien in eine Mehrzahl von geclusterten Fahrzeugtrajektorien auszuführen, einen Wissensgraphen basierend auf den geclusterten Fahrzeugtrajektorien und den ereignisbasierten Ontologiedaten zu erweitern, und eine der Szenen auf der Benutzerschnittstelle basierend auf (i) dem erzeugten Wissensgraphen und (ii) Eingabekriterien, die von einem Benutzer an der Benutzerschnittstelle bereitgestellt werden, auszugeben.
  10. System nach Anspruch 9, wobei die Eingabekriterien eine Auswahl einer Anzahl von Fahrzeugen in der Szene oder einer Geschwindigkeit von einem oder mehreren der Fahrzeuge in der Szene umfassen.
  11. System nach Anspruch 9, wobei der Prozessor weiterhin programmiert ist, um: eine Mehrzahl von Polylinien zu erzeugen, die der Mehrzahl von geclusterten Trajektorien entsprechen, wobei jede Polylinie einen Durchschnitt der Fahrzeugtrajektorien in einer jeweiligen der geclusterten Trajektorien darstellt; wobei das Erweitern des Wissensgraphen auf der Mehrzahl von Polylinien basiert.
  12. System nach Anspruch 9, wobei der Prozessor ferner programmiert ist, um: Kartendaten von einem externen Server zu empfangen, wobei die Kartendaten der Mehrzahl von Szenen zugeordnet sind und wobei die Kartendaten Informationen bezüglich der Anzahl von Fahrspuren des Verkehrs entsprechend den Szenen enthalten; wobei der Schritt des Clusterns auf den Kartendaten basiert.
  13. System nach Anspruch 12, wobei der Prozessor weiterhin programmiert ist, um: einen Human-in-the-Loop-Prozess zu verwenden, um das Clustering auf der Grundlage der Kartendaten zu überprüfen; und den Wissensgraphen auf der Grundlage des Human-in-the-Loop-Prozesses zu modifizieren.
  14. System nach Anspruch 9, wobei der Prozessor weiterhin programmiert ist, um: Eingaben in natürlicher Sprache zu empfangen, einschließlich ereignisbasierter semantischer Annotationen, die den Szenen entsprechen; ein natürlich-sprachliches Modell auszuführen, um Tripel zu erzeugen, die den natürlich-sprachlichen Eingaben entsprechen, wobei jedes der Tripel ein Subjekt, ein Prädikat und ein Objekt enthält; und den Wissensgraphen mit den erzeugten Tripeln zu erweitern, um einen erweiterten Wissensgraphen zur Verwendung bei der Bestimmung einer ereignisbasierten Ontologie, die den Szenen zugeordnet ist, zu erhalten.
  15. System nach Anspruch 9, wobei das Clustermodell ein Dirichlet-Prozess-Gauß-Mischungsmodell (DPGMM) umfasst.
  16. Verfahren zum Erweitern eines Wissensgraphen auf der Grundlage von Objekttrajektorien, wobei das Verfahren umfasst: Empfangen von Bilddaten, die einer von einem Bildsensor erfassten Szene entsprechen; Empfangen von ereignisbasierten Ontologiedaten, die einem in der Szene auftretenden Ereignis entsprechen; Ausführen eines Objektverfolgungsmodells auf den Bilddaten, um eine Mehrzahl von Objekttrajektorien in der Szene zu bestimmen; Ausführen eines Clustermodells zum Clustern der Objekttrajektorien; und Erweitern eines Wissensgraphen auf der Grundlage der geclusterten Objekttrajektorien und der ereignisbasierten Ontologie.
  17. Verfahren nach Anspruch 16, ferner umfassend: Erzeugen einer Mehrzahl von Polylinien, die den geclusterten Objekttrajektorien entsprechen, wobei jede Polylinie einen Durchschnitt der Objekttrajektorien in einer jeweiligen der geclusterten Objekttrajektorien darstellt; wobei der Schritt des Erweiterns des Wissensgraphen auf der Mehrzahl von Polylinien basiert.
  18. Verfahren nach Anspruch 16, wobei es sich bei den Objekttrajektorien um Fahrzeugtrajektorien handelt, wobei das Verfahren ferner Folgendes umfasst: Empfangen von Kartendaten, die der Szene zugeordnet sind, wobei die Kartendaten Informationen bezüglich einer Anzahl von Fahrspuren des Verkehrs enthalten, die der Szene entsprechen; wobei die Ausführung des Clustermodells auf den Kartendaten basiert.
  19. Verfahren nach Anspruch 18, ferner umfassend: Verwendung eines Human-in-the-Loop-Prozesses zur Überprüfung der Ausgaben des Clustering-Modells auf der Grundlage der Kartendaten; und Modifizieren des Wissensgraphen basierend auf dem Human-in-the-Loop-Prozess.
  20. Verfahren nach Anspruch 16, wobei der Bildsensor eine Kamera, ein Lidarsensor oder ein Radarsensor ist.
DE102023209381.2A 2022-09-29 2023-09-26 Clusteranalyse von objekttrajektorien mit hybridem denken für maschinelles lernen Pending DE102023209381A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/956,518 US20240112473A1 (en) 2022-09-29 2022-09-29 Object trajectory clustering with hybrid reasoning for machine learning
US17/956,518 2022-09-29

Publications (1)

Publication Number Publication Date
DE102023209381A1 true DE102023209381A1 (de) 2024-04-04

Family

ID=90246507

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023209381.2A Pending DE102023209381A1 (de) 2022-09-29 2023-09-26 Clusteranalyse von objekttrajektorien mit hybridem denken für maschinelles lernen

Country Status (3)

Country Link
US (1) US20240112473A1 (de)
CN (1) CN117787393A (de)
DE (1) DE102023209381A1 (de)

Also Published As

Publication number Publication date
US20240112473A1 (en) 2024-04-04
CN117787393A (zh) 2024-03-29

Similar Documents

Publication Publication Date Title
Omeiza et al. Explanations in autonomous driving: A survey
DE102020132559A1 (de) Technologie zum anwenden von fahrnormen zur verhaltensvoritersage automatisierter fahrzeuge
DE112017006530T5 (de) Rückmeldung für ein autonomes fahrzeug
DE102021133415A1 (de) Sicheres und skalierbares modell für kultursensitives fahren durch automatisierte fahrzeuge
DE102016212700A1 (de) Verfahren und System zur Steuerung eines Fahrzeugs
DE112017000669T5 (de) Semantische Segmentierung auf der Grundlage einer globalen Optimierung
DE102020205315A1 (de) Verfahren zur Klassifikation kritischer Fahrsituationen, Auswahl von der kritischen Fahrsituation ähnlichen Daten und Nachtraining des automatischen Systems
DE102021109395A1 (de) Verfahren, systeme und vorrichtungen für benutzerverständliche erklärbare lernmodelle
DE202022106107U1 (de) System zur Prüfung von automatisierten Fahrsystemen der Stufe 3 (ADS)
DE102019216206A1 (de) Vorrichtung und Verfahren zum Bestimmen einer Kehrtwendestrategie eines autonomen Fahrzeugs
DE102022112059B3 (de) Verfahren, System und Computerprogrammprodukt zur Kalibrierung und Validierung eines Fahrerassistenzsystems (ADAS) und/oder eines automatisierten Fahrsystems (ADS)
DE102018220892A1 (de) Vorrichtung und Verfahren zur Generierung von Labelobjekten für die Umgebung eines Fahrzeugs
DE102020128978A1 (de) Trainieren von tiefen neuronalen netzwerken mit synthetischen bildern
DE112020005577T5 (de) Simulieren diverser langfristiger zukünftiger Trajektorien in Strassenszenen
Zhang et al. Spatiotemporal interaction pattern recognition and risk evolution analysis during lane changes
DE102021201178A1 (de) Computerimplementiertes verfahren zum erzeugen von zuverlässigkeitsangaben für computervision
DE102021200348A1 (de) Computerimplementiertes verfahren zum trainieren eines computervisionsmodells
WO2021104608A1 (de) Verfahren zum erzeugen eines engineering-vorschlags für eine vorrichtung oder anlage
DE102023209381A1 (de) Clusteranalyse von objekttrajektorien mit hybridem denken für maschinelles lernen
DE102021201445A1 (de) Computerimplementiertes Verfahren zum Testen der Konformität zwischen realen und synthetischen Bildern für maschinelles Lernen
DE102020215589A1 (de) Steuern eines deep-sequence-modells mit prototypen
US20240112044A1 (en) Methods and systems for ontology construction with ai-mediated crowdsourcing and concept mining for high-level activity understanding
Gadepally Estimation of driver behavior for autonomous vehicle applications
DE102020202342A1 (de) Cloud-Plattform für automatisierte Mobilität und computerimplementiertes Verfahren zur Bereitstellung einer Cloud basierten Datenanreicherung an die automatisierte Mobilität
DE102019217952A1 (de) Verfahren und Vorrichtung zum Bereitstellen eines Trainingsdatensatzes zum Trainieren einer KI-Funktion auf eine unbekannte Datendomäne

Legal Events

Date Code Title Description
R012 Request for examination validly filed