CH719269B1 - Verfahren zur Identifizierung eines Zielobjekts und Modell- und Sensororchestrierungssystem - Google Patents

Verfahren zur Identifizierung eines Zielobjekts und Modell- und Sensororchestrierungssystem Download PDF

Info

Publication number
CH719269B1
CH719269B1 CH001508/2022A CH15082022A CH719269B1 CH 719269 B1 CH719269 B1 CH 719269B1 CH 001508/2022 A CH001508/2022 A CH 001508/2022A CH 15082022 A CH15082022 A CH 15082022A CH 719269 B1 CH719269 B1 CH 719269B1
Authority
CH
Switzerland
Prior art keywords
model
kip
sensor
models
examples
Prior art date
Application number
CH001508/2022A
Other languages
English (en)
Other versions
CH719269A2 (de
Inventor
Jain Akash
Felipe Orozco Andres
Peters Ian
Ellis Joseph
Elliot Mark
Imig Robert
Fackler Steven
Original Assignee
Palantir Technologies Inc
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 Palantir Technologies Inc filed Critical Palantir Technologies Inc
Publication of CH719269A2 publication Critical patent/CH719269A2/de
Publication of CH719269B1 publication Critical patent/CH719269B1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Image Processing (AREA)

Abstract

Die Erfindung betrifft ein Verfahren und ein System, z.B. ein KIP-System (400). Das Verfahren umfasst: Zugriff auf eine Vielzahl von Modellen, wobei jedes Modell der Vielzahl von Modellen so konfiguriert ist, dass es Daten verarbeitet; Empfang von Informationen, die einer Vielzahl von Sensoren entsprechen, die einer Vielzahl von Edge-Geräten zugeordnet sind; Auswahl eines oder mehrerer Modelle aus der Vielzahl von Modellen auf der Grundlage einer Verarbeitungsanfrage; Auswahl eines oder mehrerer Sensoren aus der Vielzahl von Sensoren auf der Grundlage der Verarbeitungsanfrage; Aufbauen einer oder mehrerer Modell-Pipelines zumindest teilweise auf der Grundlage des einen oder der mehreren ausgewählten Modelle und des einen oder der mehreren ausgewählten Sensoren; und Einsatz der einen oder der mehreren Modell-Pipelines.

Description

QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
[0001] Diese Anmeldung beansprucht die Priorität der provisorischen Patentanmeldung US 63/290,947, eingereicht am 17. Dezember 2021, die hierin für alie Zwecke durch Bezugnahme als aufgenommen wird.
TECHNISCHES GEBIET
[0002] Die vorliegende Offenbarung bezieht sich auf Systeme und Verfahren zur Modellorchestrierung und Sensorkorrelation. Insbesondere bezieht sich die vorliegende Offenbarung auf Systeme und Verfahren zur Orchestrierung von Modellen der künstlichen Intelligenz (KI) und anderen Computermodellen sowie zur Bereitstellung von Sensorkorrelation.
TECHNISCHER HINTERGRUND
[0003] Künstliche Intelligenz („KI“) wird in grossem Umfang zur Analyse von Daten eingesetzt, um die Erkennung von Objekten, Vorhersagen, Entscheidungsfindung und andere Zwecke zu erleichtern. Bei der KI-Inferenz werden beispielsweise KI-Modelle verwendet, um eine Vorhersage zu treffen. KI-Schlussfolgerungen erfordern oft eine grosse Anzahl von Rechen- und Speicherressourcen.
[0004] Edge-Geräte (z. B. Geräte mit Sensor- und/oder Rechenfunktionen) können an verteilten Standorten auf der Erde oder im Weltraum eingesetzt werden. Einige Edge-Geräte können einen oder mehrere Sensoren zur Erfassung von Sensordaten und/oder eine oder mehrere Rechenressourcen zur Verarbeitung von Daten (z. B. zur Identifizierung von Objekten) enthalten. Ein Satellit kann Edge-Geräte enthalten und/oder mit diesen integriert werden. Beispielsweise können Edge-Geräte in verschiedenen Gebieten eingesetzt werden, um bestimmte Aufgaben zu erfüllen.
[0005] Daher ist es wünschenswert, die Techniken für KI-Inferenz und Sensorkorrelation zu verbessern.
ZUSAMMENFASSUNG DER ERFINDUNG
[0006] Die vorliegende Offenbarung bezieht sich auf Systeme und Verfahren zur Modellorchestrierung und Sensorkorrelation. Insbesondere bezieht sich die vorliegenden Offenlegung auf Systeme und Verfahren zur Verwendung von Modellen der künstlichen Intelligenz und anderen Computermodellen bei der Modellorchestrierung und Sensorkorrelation.
[0007] Ein Verfahren zur Modell- und Sensor-Orchestrierung umfasst: Zugriff auf eine Vielzahl von Modellen, wobei jedes Modell der Vielzahl von Modellen für die Verarbeitung von Daten konfiguriert ist; Empfang von Informationen, die einer Vielzahl von Sensoren entsprechen, die mit einer Vielzahl von Edge-Geräten assoziiert sind; Auswahl eines oder mehrerer Modelle aus der Vielzahl von Modellen auf der Grundlage einer Verarbeitungsanfrage; Auswahl eines oder mehrerer Sensoren aus der Vielzahl von Sensoren auf der Grundlage der Verarbeitungsanfrage; Aufbau einer oder mehrerer Modell-Pipelines, die zumindest teilweise auf dem einen oder den mehreren ausgewählten Modellen und dem einen oder den mehreren ausgewählten Sensoren basieren, wobei jede Modell-Pipeline der einen oder mehreren Modell-Pipelines Informationen enthält, die mit mindestens einem ausgewählten Modell des einen oder der mehreren ausgewählten Modelle oder mit mindestens einem ausgewählten Sensor des einen oder der mehreren ausgewählten Sensoren assoziiert sind; und Einsatz der einen oder mehreren Modell-Pipelines auf mindestens einem der mehreren Edge-Geräte; wobei das Verfahren unter Verwendung eines oder mehrerer Prozessoren durchgeführt wird.
[0008] Das System zur Modell- und Sensororchestrierung umfasst: einen oder mehrere Speicher mit darauf gespeicherten Anweisungen; und einen oder mehrere Prozessoren, die so konfiguriert sind, dass sie die Anweisungen ausführen und Operationen durchführen, die umfassen: Zugriff auf eine Vielzahl von Modellen, wobei jedes Modell der Vielzahl von Modellen für die Verarbeitung von Daten konfiguriert; Empfang von Informationen, die einer Vielzahl von Sensoren entsprechen, die einer Vielzahl von Edge-Geräten zugeordnet sind; Auswahl eines oder mehrerer Modelle aus der Vielzahl von Modellen auf der Grundlage einer Verarbeitungsanfrage; Auswahl eines oder mehrerer Sensoren aus der Vielzahl von Sensoren auf der Grundlage der Verarbeitungsanfrage; Aufbau einer oder mehrerer Modell-Pipelines, die zumindest teilweise auf dem einen oder den mehreren ausgewählten Modellen und dem einen oder den mehreren ausgewählten Sensoren basieren, wobei jede Modell-Pipeline der einen oder mehreren Modell-Pipelines Informationen enthält, die mit mindestens einem ausgewählten Modell des einen oder der mehreren ausgewählten Modelle oder mindestens einem ausgewählten Sensor des einen oder der mehreren ausgewählten Sensoren assoziiert sind; und Einsatz der einen oder mehreren Modell-Pipelines.
KURZBESCHREIBUNG DER ZEICHNUNGEN
[0009] FIG. 1 zeigt einen oder mehrere Modell-Orchestratoren in einer Einsatzumgebung. FIG. 2 zeigt ein System zur Modellorchestrierung und Sensorkorrelation. FIG. 3 ist eine Beispielimplementierung einer Einsatzumgebung für die Modellorchestrierung und Sensorkorrelation. FIG. 4 ist ein veranschaulichendes System zur Modellorchestrierung und Sensorkorrelation (z. B. ein KIP-System). FIG. 5 ist ein veranschaulichendes KIP-System. FIG. 6 ist ein veranschaulichendes KIP-System. FIG. 7 ist ein veranschaulichendes Flussdiagramm für ein KIP-System. FIG. 8 ist ein veranschaulichendes Beispiel für ein KIP-System. FIG. 9 ist ein veranschaulichendes Beispiel für die Merkmale eines KIP-Systems. FIG. 10 ist ein veranschaulichendes Diagramm eines KIP-Systems. FIG. 11 ist ein veranschaulichender Vergleich 1100 eines herkömmlichen Systems und eines KIP-Systems gemäss einer Ausführungsform der vorliegenden Offenbarung. FIG. 12 zeigt eine konventionelle Sensorumgebung. FIG. 13 ist eine veranschaulichende Umgebung für die Modellorchestrierung und Sensorkorrelation. FIG. 14 ist eine veranschaulichende Gerätekonstellationsumgebung, die Modellorchestrierung und Sensorkorrelation verwendet. FIG. 15 ist ein vereinfachtes Diagramm, das ein Verfahren zur Modellorchestrierung und Sensorkorrelation zeigt. FIG. 16 ist ein vereinfachtes Diagramm, das ein Computersystem zur Implementierung eines Systems zur Modellorchestrierung und Sensorkorrelation gemäss mindestens einem in der Offenbarung dargelegten Beispiel zeigt.
AUSFÜHRLICHE BESCHREIBUNG
[0010] Sofern nicht anders angegeben, sind alle in der Beschreibung und den Ansprüchen verwendeten Zahlen, Grössen, Mengen und physikalische Eigenschaften von Merkmalen so zu verstehen, dass sie in allen Fällen durch den Begriff „ungefähr“ abgeändert werden. Dementsprechend sind beispielsweise die in der vorstehenden Beschreibung und den beigefügten Ansprüchen angegebenen numerischen Parameter, sofern nicht anders angegeben, Näherungswerte, die in Abhängigkeit von den gewünschten Eigenschaften variieren können, die von Fachleuten unter Verwendung der hier offengelegten Lehren erzielt werden sollen. Die Verwendung von Zahlenbereichen durch Endpunkte schliesst alle Zahlen innerhalb dieses Bereichs ein (z. B. 1 bis 5 schliesst 1, 1,5, 2, 2,75, 3, 3,80, 4 und 5 ein) und jede Zahl innerhalb dieses Bereichs.
[0011] Obwohl veranschaulichende Verfahren durch eine oder mehrere Zeichnungen (z.B. Flussdiagramme, Kommunikationsflüsse usw.) dargestellt werden können, sollten die Zeichnungen nicht so interpretiert werden, dass sie irgendeine Notwendigkeit oder eine bestimmte Reihenfolge unter oder zwischen verschiedenen hierin offengelegten Schritten implizieren. Einige Ausführungsformen können jedoch bestimmte Schritte und/oder bestimmte Reihenfolgen zwischen bestimmten Schritten erfordern, wie sie hier ausdrücklich beschrieben werden und/oder wie sie aus der Art der Schritte selbst zu verstehen sind (z. B. kann die Durchführung einiger Schritte vom Ergebnis eines vorhergehenden Schritts abhängen). Darüber hinaus kann beispielsweise eine „Menge“, „Teilmenge“ oder „Gruppe“ von Elementen (z. B. Eingaben, Algorithmen, Datenwerte usw.) ein oder mehrere Elemente umfassen, und in ähnlicher Weise kann eine Teilmenge oder Untergruppe von Elementen ein oder mehrere Elemente umfassen. Eine „Vielzahl“ bedeutet mehr als ein Element.
[0012] Wie hier verwendet, ist der Begriff „basierend auf“ nicht einschränkend gemeint, sondern zeigt an, dass eine Bestimmung, Identifizierung, Vorhersage, Berechnung und/oder ähnliches durchgeführt wird, indem zumindest der Begriff, der auf „basierend auf“ folgt, als Eingabe verwendet wird. Beispielsweise kann die Vorhersage eines Ergebnisses auf der Grundlage einer bestimmten Information zusätzlich oder alternativ wie die gleiche Bestimmung auf einer anderen Information basieren. Wie hierin verwendet, bedeutet der Begriff „Empfang“ oder „empfangen“ beispielsweise das Erhalten von Daten aus einem Datenspeicher (z. B. einer Datenbank), von einem anderen System oder Dienst, von einer anderen Software oder von einer anderen Softwarekomponente in derselben Software. Der Begriff „Zugriff“ oder „zugreifen“ kann das Abrufen von Daten oder Informationen und/oder das Erzeugen von Daten oder Informationen bedeuten.
[0013] Die KI-Inferenzplattform (KIP) kann die Orchestrierung zwischen den Eingangssensordaten und den Ausgabedaten übernehmen. Beispielsweise ist die KIP ein Modell-Orchestrator für ein oder mehrere Modelle und/oder einen oder mehrere Sensoren (z. B. Sensor-Speisesysteme). Ein Modell, das auch als Computermodell oder Algorithmus bezeichnet wird, kann ein Modell zur Verarbeitung von Daten umfassen. Ein Modell umfasst beispielsweise ein KI-Modell, ein Modell für maschinelles Lernen (ML), ein Modell für mehrschichtiges Lernen (DL für Deep Learning), ein Bildverarbeitungsmodell, ein Physikmodell, einfache Heuristiken, Regeln, ein mathematisches Modell, andere Computermodelle und/oder eine Kombination davon. Zum Beispiel verwenden eine oder mehrere Komponenten von KIP offene Standardformate (z. B. Eingabedatenformat, Ausgabedatenformat). Die KIP kümmert sich beispielsweise um die Dekodierung der Eingabedaten, die Orchestrierung zwischen den Prozessoren und den Modellen der künstlichen Intelligenz (KI) und verpackt dann die Ergebnisse in ein offenes Ausgabeformat für nachgeschaltete Verbraucher. Ein KIP-System kann ein oder mehrere KIPen umfassen, um einen oder mehrere Sensoren, ein oder mehrere Edge-Geräte, ein oder mehrere Benutzergeräte und/oder ein oder mehrere Modelle zu orchestrieren. Zumindest einige der ein oder mehreren Sensoren, ein oder mehreren Edge-Geräte, ein oder mehreren Benutzergeräte und ein oder mehreren Modelle können jeweils mit einer KIP assoziiert sein.
[0014] Ein oder mehrere KIPen, ein oder mehrere Sensoren und ein oder mehrere Modelle können in einem Edge-Gerät angeordnet sein. Beispielsweise ist das Edge-Gerät eine Rechenvorrichtung, die auf einem Satelliten angeordnet oder in diesen integriert ist, und der Sensor ist ein Orbitsensor. Ein Edge-Gerät ist beispielsweise eine Rechenvorrichtung, die auf einem Flugzeug, einem Unterseeboot und/oder einem Fahrzeug angeordnet oder in diese integriert ist. Ein Edge-Gerät umfasst beispielsweise einen oder mehrere Sensoren in der Luft, im Weltraum, unter der Meeresoberfläche, im Wasser, auf dem Land und/oder an anderen Orten. In bestimmten Beispielen ist ein Edge-Gerät ein physisches Gerät mit einem oder mehreren Sensoren, einer oder mehreren KIPen und/oder einem oder mehreren Modellen.
[0015] Das Modell kann so konfiguriert sein, dass es auf der Grundlage der verarbeiteten Sensordaten eine Erkenntnis erzeugt. Ein oder mehrere Modelle können auf einem oder mehreren Prozessoren (z.B. einer oder mehreren Zentraleinheiten (CPUs), einer oder mehreren Grafikverarbeitungseinheiten (GPUs), einem oder mehreren digitalen Signalprozessoren (DSPs), einem oder mehreren Mikroprozessoren, einem oder mehreren Prozessoren usw.) implementiert werden, die bestimmte jeweilige Rechenressourcen nutzen, wobei ein Modell auch als Modellprozessor bezeichnet werden kann (z. B. ein Verifikationsprozessor, ein Georegistrierungsprozessor usw.). Als Benutzer hierin bezieht sich eine Erkenntnis auf eine Ausgabe eines Computermodells. In bestimmten Beispielen ist die KIP so konfiguriert, dass es gesammelte Sensordaten, verarbeitete Sensordaten und/oder die Erkenntnisse an ein Benutzergerät (z. B. einen Server, eine Basisstation, eine Zentralstation, einen Zentralknoten, ein Computergerät auf einem Mutterschiff usw.) überträgt, beispielsweise über eine Anwendungsprogrammierschnittstelle (API). Eine KIP kann eine Softwareschnittstelle sein, umfassend z. B. eine Anwendungsprogrammierschnittstelle (API), eine Webdienstschnittstelle, das Abrufen von Informationen aus einer Datei, das Abrufen von Informationen aus einem Datenspeicher und/oder dergleichen.
[0016] FIG. 1 zeigt einen oder mehrere Modell-Orchestratoren (z. B. KIPen) 110 in einer Einsatzumgebung 100. FIG. 1 ist lediglich ein Beispiel. Ein Fachmann würde viele Variationen, Alternativen und Modifikationen erkennen. Die Einsatzumgebung 100 kann ein oder mehrere Edge-Geräte 105 und ein oder mehrere Benutzergeräte 140 (z. B. ein mit einem Benutzer assoziertes Computergerät, ein Computergerät an einer Basisstation, ein Basisgerät usw.) umfassen. Das eine oder die mehreren Edge-Geräte 105 umfassen eine oder mehrere KIPen 110, einen oder mehrere KIP-Controller (z. B. einen Orchestrierungs-Controller) 118, einen oder mehrere Sensoren 120 und/oder ein oder mehrere Modelle 130. In einigen Beispielen umfassen die eine oder mehrere KIPen 110 eine Daten-API 112, eine Inferenz-API 114 und/oder eine offene API 116. Obwohl oben eine ausgewählte Gruppe von Komponenten für die KIP 110 gezeigt wurde, kann es viele Alternativen, Modifikationen und Variationen geben. Zum Beispiel können einige der Komponenten erweitert und/oder kombiniert werden. Andere Komponenten können zu den oben genannten hinzugefügt werden. Je nach Ausführungsform kann die Anordnung der Komponenten ausgetauscht und durch andere ersetzt werden. Weitere Einzelheiten zu diesen Komponenten finden sich in der vorliegenden Beschreibung.
[0017] In bestimmten Beispielen ist die Daten-API 112 so konfiguriert, dass sie eine Schnittstelle zu dem einen oder den mehreren Sensoren 120 bildet. In einigen Beispielen enthält die Daten-API 112 ein spezifisches Datenformat (z. B. ein vordefiniertes Datenformat) oder Datenstromformat (z. B. ein vordefiniertes Datenpaketformat) für einen Sensortyp. Beispielsweise umfasst die Daten-API 112 ein erstes Datenformat für einen ersten Sensortyp (z.B. einen Bildsensor) und ein zweites Datenformat für einen zweiten Sensortyp (z. B. einen Bewegungssensor), wobei sich das erste Datenformat von dem zweiten Datenformat unterscheidet. Die Daten-API 112 ist zum Beispiel so konfiguriert, dass sie verschiedene Sensor-Feeds empfängt. Beispielsweise ist die Daten-API 112 so konfiguriert, dass sie einen Sensor-Feed mit Datenformatinformationen empfängt.
[0018] In bestimmten Beispielen ist die KIP 110 so konfiguriert, dass es Sensordaten über die Daten-API 112 empfängt. In einigen Beispielen ist die KIP 110 so konfiguriert, dass es die von der Daten-API 112 empfangenen Sensordaten verarbeitet. In bestimmten Beispielen umfasst die KIP 110 ein oder mehrere Modelle, Recheneinheiten und/oder Speichereinheiten. Zum Beispiel ist die KIP 110 so konfiguriert, dass es die Sensordaten dekodiert. Zum Beispiel ist die KIP 110 so konfiguriert, dass es ein Einzelbild aus den Videodaten extrahiert. In einem Beispiel ist die KIP 110 so konfiguriert, dass es das extrahierte Einzelbild dekodiert. Die KIP 110 enthält beispielsweise ein oder mehrere KI-Modelle, um Objekte oder Muster in den Sensordaten zu erkennen. In einem Beispiel ist die KIP 110 so konfiguriert, dass es Daten kombiniert.
[0019] In einigen Beispielen ist die Inferenz-API 114 so konfiguriert, dass sie mit dem einen oder den mehreren Modellen 130 gekoppelt werden kann. In bestimmten Beispielen umfasst die Inferenz-API 114 eine vorgegebene Schnittstelle zur Kopplung mit dem einen oder den mehreren Modellen 130. In einigen Beispielen umfasst die Inferenz-API 114 eine dynamisch konfigurierbare Schnittstelle zur Kopplung mit dem einen oder den mehreren Modellen 130. Die Schnittstellenspezifikation kann vorgegeben sein, aber das System kann dynamisch Modelle und/oder Prozessoren hinzufügen und/oder entfernen, die mit dieser Spezifikation zur Laufzeit übereinstimmen.
[0020] In bestimmten Beispielen ist die Inferenz-API 114 so konfiguriert, dass sie auf der Grundlage einer Konfiguration (z. B. einer Systemkonfiguration, einer Benutzerkonfiguration) und/oder einer Eingabe (z. B. einer Benutzereingabe, einer über eine Softwareschnittstelle empfangenen Eingabe) mit dem einen oder den mehreren Modellen 130 verbunden wird. In einigen Beispielen ist die Inferenz-API 114 so konfiguriert, dass sie sich automatisch oder dynamisch auf der Grundlage der verarbeiteten Sensordaten mit dem einen oder den mehreren Modellen 130 verbindet. In bestimmten Beispielen ist die KIP 110 so konfiguriert, dass sie verarbeitete Sensordaten über die Inferenz-API 114 an das eine oder die mehreren Modelle 130 überträgt.
[0021] Die KIP 110 kann so konfiguriert sein, dass sie das eine oder die mehreren Modelle 130, die über die Inferenz-API 114 gekoppelt sind, dynamisch ändert. In bestimmten Beispielen ist die KIP 110 so konfiguriert, dass sie das eine oder die mehreren Modelle 130 auf der Grundlage einer Konfiguration (z. B. einer Systemkonfiguration, einer Benutzerkonfiguration) und/oder einer Eingabe (z. B. einer Benutzereingabe, einer über eine Softwareschnittstelle empfangenen Eingabe) ändert. In einigen Beispielen ist die KIP 110 so konfiguriert, dass sie das eine oder die mehreren Modelle 130 automatisch oder dynamisch auf der Grundlage der verarbeiteten Sensordaten ändert. Beispielsweise ist die KIP 110 so konfiguriert, dass sie das eine oder die mehreren Modelle 130 in Reaktion auf Änderungen der über den einen oder die mehreren Sensoren 120 erfassten Sensordaten ändert. In bestimmten Beispielen ist die KIP 110 so konfiguriert, dass sie das eine oder die mehreren Modelle 130 ändert, ohne die Verbindung zu dem einen oder den mehreren Sensoren 120 zu beeinträchtigen. In einigen Beispielen ist die KIP 110 so konfiguriert, dass sie das eine oder die mehreren Modelle 130 aktualisiert, ohne die Verbindung zu dem einen oder den mehreren Sensoren 120 zu beeinträchtigen. In bestimmten Beispielen ist die KIP 110 so konfiguriert, dass sie das eine oder die mehreren Modelle 130 durch ein neues Modell ersetzt, ohne die Verbindung zu dem einen oder den mehreren Sensoren 120 zu beeinträchtigen. In einigen Beispielen wird das eine oder die mehreren Modelle 130 durch einen Push-Vorgang in der Einsatzumgebung 100 geändert, aktualisiert und/oder ersetzt.
[0022] Die KIP 110 kann so konfiguriert sein, dass sie den einen oder die mehreren Sensoren 120, die über die Daten-API 112 gekoppelt sind, dynamisch ändert. In bestimmten Beispielen ist die KIP 110 so konfiguriert, dass sie den einen oder die mehreren Sensoren 120 basierend auf einer Konfiguration (z. B. einer Systemkonfiguration, einer Benutzerkonfiguration) und/oder einer Eingabe (z. B. einer Benutzereingabe, einer über eine Softwareschnittstelle empfangenen Eingabe) ändert. In einigen Beispielen ist die KIP 110 so konfiguriert, dass sie den einen oder die mehreren Sensoren 120 automatisch oder dynamisch ändert oder einen gekoppelten Sensor hinzufügt, zum Beispiel auf der Grundlage eines über eine Softwareschnittstelle empfangenen Befehls.
[0023] Der KIP-Controller 118 kann verwendet werden, um die eine oder die mehreren KIPen 110 zu konfigurieren, zu steuern und/oder zu verwalten, einschliesslich der Verwaltung von Komponenten, die mit der einen oder den mehreren KIPen 110 verbunden werden sollen. In bestimmten Beispielen ist der KIP-Controller 118 so konfiguriert, dass er eine Anforderung an die KIP 110 sendet, um Änderungen an dem einen oder den mehreren Sensoren 120 und/oder an dem einen oder den mehreren Modellen 130 vorzunehmen. In bestimmten Beispielen enthält mindestens eines der einen oder mehreren Benutzergeräte 140 einen KIP-Controller 118. In einigen Beispielen enthält mindestens eines der einen oder mehreren Edge-Geräte 105 einen KIP-Controller 118. In einigen Beispielen enthält der KIP-Controller 118 eine Benutzeroberfläche (z. B. eine grafische Benutzeroberfläche). In bestimmten Beispielen ermöglicht der KIP-Controller 118 einem Benutzer, ein oder mehrere Modelle (z. B. Algorithmen) auszuwählen, die zu einem oder mehreren Modellen 130 hinzugefügt werden sollen. In einigen Beispielen ermöglicht es der KIP-Controller 118 einem Benutzer, ein oder mehrere Modelle (z. B. Algorithmen) auszuwählen, die in einem oder mehreren Modellen 130 aktualisiert werden sollen. In bestimmten Beispielen ermöglicht der KIP-Controller 118 einem Benutzer die Auswahl, ein neues oder aktualisiertes Modell 130 in der KIP 110 einzusetzen.
[0024] In einigen Beispielen ermöglicht der KIP-Controller 118 einem Benutzer die Konfiguration einer Modell-Pipeline (z. B. Reihenfolge, Zeitplan, Latenz usw.), die auch als Verarbeitungspipeline bezeichnet wird, zur Verwendung eines oder mehrerer Modelle, eines oder mehrerer Prozessoren und/oder eines oder mehrerer Edge-Geräte. In bestimmten Beispielen umfasst eine Verarbeitungspipeline eine Vielzahl von Computermodellen, die sequentiell oder parallel laufen. Beispielsweise umfasst eine Verarbeitungspipeline ein erstes und ein zweites Computermodell, wobei eine Ausgabe des ersten Computermodells (z. B. ein stromaufwärts gelegenes Modell) als Eingabe für das zweite Computermodell (z. B. ein stromabwärts gelegenes Modell) bereitgestellt wird. Beispielsweise umfasst die Verarbeitungspipeline das erste Computermodell und ein drittes Computermodell, die parallel laufen. In einigen Beispielen ist der KIP-Controller 118 so konfiguriert, dass er eine Nachricht (z. B. eine Nachricht mit geringer Bandbreite) an die KIP 110 sendet. In bestimmten Beispielen aktualisiert die KIP 110 als Reaktion auf den Empfang der Nachricht das eine oder die mehreren Modelle für den Einsatz, beispielsweise durch Laden des einen oder der mehreren Modelle für dasselbe Host-Gerät oder ein lokales Gerät (z. B. ein Computergerät in der Nähe, ein über Kabel verbundenes Computergerät).
[0025] Die KIP 110, der eine oder die mehreren Sensoren 120 und das eine oder die mehreren Modelle 130 können in einem Edge-Gerät 105 angeordnet sein. In einigen Beispielen ist das eine oder die mehreren Modelle 130 so konfiguriert, dass sie auf der Grundlage der verarbeiteten Sensordaten eine Erkenntnis (z. B. eine Modellausgabe) erzeugen. In bestimmten Beispielen ist die offene API 116 so konfiguriert, dass sie sich mit dem Benutzergerät 140 verbindet. In einigen Beispielen ist die KIP 110 so konfiguriert, dass es gesammelte Sensordaten, verarbeitete Sensordaten und/oder die Erkenntnisse an das Benutzergerät 140 überträgt. In bestimmten Beispielen ist die offene API 116 so konfiguriert, dass sie an ein Netzwerk gesendet wird.
[0026] Wie oben erörtert und hier weiter hervorgehoben, ist FIG. 1 lediglich ein Beispiel. Ein Fachmann würde viele Variationen, Alternativen und Modifikationen erkennen.. Ein oder mehrere Modelle 130 sind zum Beispiel ein Mikromodell.
[0027] FIG. 2 veranschaulicht ein System zur Modellorchestrierung und Sensorkorrelation (z. B. ein KIP-System) 200. FIG. 2 ist lediglich ein Beispiel. Ein Fachmann würde viele Variationen, Alternativen und Modifikationen erkennen. Das KIP-System 200 kann ein oder mehrere Edge-Geräte 205 und ein oder mehrere Benutzergeräte 240 umfassen. Obwohl oben eine ausgewählte Gruppe von Komponenten für das KIP-System 200 gezeigt wurde, kann es viele Alternativen, Modifikationen und Variationen geben. Zum Beispiel können einige der Komponenten erweitert und/oder kombiniert werden. Andere Komponenten können zu den oben genannten hinzugefügt werden. Je nach Ausführungsform kann die Anordnung der Komponenten ausgetauscht und durch andere ersetzt werden. Weitere Einzelheiten zu diesen Komponenten finden sich in der vorliegenden Beschreibung.
[0028] Die ein oder mehreren Edge-Geräte 205 können ein Edge-Gerät 205A, ein Edge-Gerät 205B, ein Edge-Gerät 205C, ... und ein Edge-Gerät 205N umfassen. Ein Edge-Gerät 205 kann beispielsweise eine KIP, einen oder mehrere Sensoren, ein oder mehrere Modelle und/oder eine KIP-Steuerung umfassen. Jedes der einen oder mehreren Edge-Geräte 205 (z. B. 205A, 205B, 205C, ..., 205N) kann eine oder mehrere Ausführungsformen der einen oder mehreren Edge-Geräte 105 verwenden, die in Verbindung mit FIG. 1 beschrieben sind. Jedes der einen oder mehreren Benutzergeräte 240 kann eine oder mehrere Ausführungsformen des einen oder der mehreren Benutzergeräte 140 verwenden, die in Verbindung mit FIG. 1 beschrieben sind. Als Beispiel kann ein Benutzergerät 240 einen KIP-Controller enthalten.
[0029] Das KIP-System 200 kann ein oder mehrere Netzwerke 250 für die Kommunikation zwischen dem einen oder den mehreren Edge-Geräten 205 und dem einen oder den mehreren Benutzergeräten 240 verwenden. In einigen Beispielen umfassen das eine oder die mehreren Netzwerke 250 ein Broadcast-Netzwerk.
[0030] Die KIP (z. B. der Modell-Orchestrator) kann eine Schnittstelle zu einer oder mehreren Anwendungen (z. B. kommerzielle Anwendungen und/oder Lösungen, staatliche Anwendungen und/oder Lösungen) bilden, z. B. zu einem oder mehreren Computer-Vision-Algorithmen. In bestimmten Beispielen kann die KIP Ausgaben von einem oder mehreren verschiedenen Datenverarbeitungsmodellen (z. B. Algorithmen) erzeugen, die von einem Videoplayer (z. B. einem Vollbewegungsvideospieler (FMV für Full-Motion-Video-Player), einem Echtzeit-Videospieler) angezeigt werden können. In bestimmten Beispielen verfügt der KIP-Controller über eine Steuer- und/oder Konfigurationsschnittstelle mit einem oder mehreren Abschnitten. In einem Beispiel enthält der KIP-Controller einen Trainingsbereich (z. B. einen linken Bereich, eine Trainingsumgebung) für den einen oder die mehreren angebundenen Algorithmen. In einigen Beispielen ermöglicht der Trainingsbereich des KIP-Controllers Konfigurationen von Daten, die zum Trainieren eines oder mehrerer KI-Algorithmen verwendet werden. In bestimmten Beispielen werden die Daten von einem oder mehreren Sensoren generiert, z. B. von den Sensoren, die mit der KIP verbunden sind. In einigen Beispielen können ein oder mehrere Algorithmen (z. B. ein oder mehrere Modelle), wenn sie trainiert und einsatzbereit sind, auf der KIP eingesetzt (z. B. ausgeliefert) werden.
[0031] In bestimmten Beispielen enthält der KIP-Controller (z. B. der Orchestrierungs-Controller) eine Schnittstelle, die es ermöglicht, (z. B. die Konfiguration von) Sensordaten (z. B. Sensordaten von verschiedenen Sensoren, Sensordaten aus der ganzen Welt) in die KIP (z. B. die KIP-Cloud-Plattform) einzuspeisen. In einigen Beispielen kann die KIP und/oder der KIP-Controller verwendet werden, um ein oder mehrere Modelle und/oder Algorithmen zu erstellen. In bestimmten Beispielen kann sich ein Dritter bei der Datenverwaltungsplattform und/oder -lösung anmelden, um beispielsweise bestimmte Daten abzurufen (z. B. benötigte Daten). In einigen Beispielen kann ein Benutzer eine Schnittstelle mit der KIP und/oder dem KIP-Controller bilden, um die Erstellung des einen oder der mehreren Modelle und/oder Algorithmen zu erleichtern. In bestimmten Beispielen kann der Benutzer, wenn das eine oder die mehreren Modelle und/oder Algorithmen fertiggestellt und/oder genehmigt sind (z. B. von einer Organisation, einer Regierungsorganisation oder einem massgeblichen Verantwortlichen genehmigt), eine Schnittstelle mit der KIP und/oder dem KIP-Controller herstellen (z. B. durch Drücken einer Taste), um das eine oder die mehreren Modelle und/oder Algorithmen (z.B. ein Verschieben von dem einen oder der mehreren Modelle und/oder Algorithmen) in der KIP einzusetzen.
[0032] In einigen Beispielen ist die KIP so konzipiert, dass sie an einer Vielzahl von Orten an dem Edge ausgeführt werden kann (z. B. in der Nähe eines Sensors, eines Satelliten, eines Fahrzeugs, eines Flugzeugs, eines Hardwaregeräts, das Daten sammeln kann, usw.). In einigen Beispielen kann die KIP mit einem oder mehreren Servern und/oder Prozessoren verwendet werden (z. B. einem Server, der entsprechende Algorithmen ausführen kann, einem Prozessor, der entsprechende Algorithmen ausführen kann). In bestimmten Beispielen ist die KIP ein Stück Software (z. B. ein leichtgewichtiges Stück Software, ein sehr leichtgewichtiges Stück Software), das in einer Vielzahl von Rechengeräten und/oder Servern installiert werden kann (z. B. einem Rechengerät in einem Flugzeug, einem Rechengerät auf einem Schiff, einem Rechengerät in einem Satelliten, einem Rechengerät in einem Bodenfahrzeug, einem Rechengerät in einem Hubschrauber usw.). In einigen Beispielen kann die KIP in einem Cloud-Dienst und/oder einer Cloud-Infrastruktur laufen. In bestimmten Beispielen kann die KIP auf einem Prozessor laufen, z. B. auf einer CPU und unter Nutzung von GPU-Ressourcen. In einigen Beispielen kann die KIP auf einem oder mehreren Prozessoren laufen, die hochskaliert oder herunterskaliert sein können. In einigen Beispielen ist die KIP modular aufgebaut, wobei das eine oder die mehreren Modelle und das eine oder die mehreren Plug-ins zur Erweiterung des Systems und/oder der Lösung integriert werden können.
[0033] Die KIP kann eine leichtgewichtige Software sein, die das Hinzufügen verschiedener Modelle mit unterschiedlichen Fähigkeiten und/oder das Hinzufügen des einen oder der mehreren Plug-ins mit verschiedenen Prozessoren (z. B. einem oder mehreren Prozessoren, einem oder mehreren Modulen, die auf dem einen oder den mehreren Prozessoren laufen) ermöglicht. Wie hier verwendet, umfasst ein Prozessor ein oder mehrere Modelle, die auf dem Prozessor laufen. In einigen Beispielen kann die KIP verwendet werden, um das System und/oder die Lösung, die die KIP enthält, zu konfigurieren (z.B. um das System und/oder die Lösung für eine bestimmte Umgebung anzupassen, z. B. um das System und/oder die Lösung für die Einsatzumgebung anzupassen). In bestimmten Beispielen werden ein oder mehrere Modelle in dem KIP-Controller erstellt und an die KIP übertragen. In einigen Beispielen ist die KIP so konzipiert, dass sie auf verschiedenen Systemen und/oder Geräten ausgeführt werden kann, einschliesslich eines oder mehrerer ausgewählter Edge-Geräte (z. B. ein oder mehrere Computergeräte, die sich in der Nähe eines oder mehrerer Sensoren befinden oder mit diesen integriert sind).
[0034] In bestimmten Beispielen ist die KIP so konfiguriert, dass sie eine Rand-KI-Verarbeitung durchführt und einen oder mehrere Ausgänge nachgelagert einspeist. In einigen Beispielen verwenden die ein oder mehreren Ausgaben einen Standard (z. B. einen offenen Standard), der in eine Vielzahl von Systemen eingespeist werden kann. In einigen Beispielen ist die KIP so konfiguriert, dass sie mit einer oder mehreren Datenerfassungssoftware(n) auf der einen Seite und einer oder mehreren Datenverarbeitungsanwendungen und/oder -lösungen auf der anderen Seite interagiert. In bestimmten Beispielen stammen die eine oder mehrere Datenerfassungssoftware(n) und die eine oder mehrere Datenverarbeitungsanwendungen und/oder -lösungen von verschiedenen Stellen. In einigen Beispielen ist die KIP so konfiguriert, dass sie kontinuierliche Feedbacks von einem oder mehreren nachgelagerten Systemen zurück in die KIP-Steuerung (z. B. die Trainingsumgebung) empfängt. In bestimmten Beispielen kann die KIP und/oder der KIP-Controller die nächste Version eines oder mehrerer Modelle und/oder Algorithmen erstellen oder dazu verwendet werden, diese zu erstellen. In einigen Beispielen kann die nächste Version eines oder mehrerer Modelle und/oder Algorithmen der KIP bereitgestellt (z. B. ausgeliefert) werden, so dass das System, das die KIP enthält, die Algorithmusentwicklung bis hin zum Edge erreichen kann. In bestimmten Beispielen können diese Funktionen den schnellen Einsatz (z. B. den Empfang) dieser Modelle in einer Edge-Echtzeitumgebung ermöglichen.
[0035] Der KIP und/oder dem KIP-Controller können eine Vielzahl von Eingaben (z. B. ein oder mehrere Videos, ein oder mehrere Vollbewegungs-Videos, ein oder mehrere beschnittene Videos) zur Verfügung gestellt werden. In einem Beispiel könnten die Eingaben Videos (z. B. CCTV-Videos (Closed-Circuit Television), also VÜA-Videos (Videoüberwachungs-Videos)) von einer oder mehreren Publikumskameras und/oder Sicherheitskameras umfassen. In einem Beispiel könnte es sich bei den Eingaben um Bildmaterial (z. B. Satellitenbilder) handeln. In einigen Beispielen können die Eingaben Hochfrequenzsignale (RF), Audiosignale und akustische Signale umfassen. In bestimmten Beispielen kann die KIP und/oder der KIP-Controller einen oder mehrere Sensorausgänge (z. B. in das System eingespeiste Daten) empfangen und/oder darauf zugreifen und, falls erforderlich, den einen oder die mehreren Sensorausgänge dekodieren. In einem Beispiel ist die KIP und/oder der KIP-Controller so konfiguriert, dass sie oder er das Video und die verschiedenen Metadaten, die mit dem Video einhergehen, ebenfalls dekodiert. Beispielsweise ist die KIP und/oder der KIP-Controller so konfiguriert, dass sie oder er ein Video mit Telemetriedaten empfängt und das Video in ein konsumierbares Format decodiert. In einigen Beispielen kann die KIP und/oder der KIP-Controller die dekodierten Daten an einen oder mehrere Prozessoren (z. B. Prozessoren, Modelle, Algorithmen, Verarbeitungssoftware, Verarbeitungssoftwaremodule) senden. In bestimmten Beispielen ist die KIP so konfiguriert, dass sie eine oder mehrere Antworten (z. B. mit einem bestimmten Budget) von dem einen oder den mehreren Prozessoren zurückerhält, und die KIP kann das Versenden dieser Antworten orchestrieren.
[0036] Die KIP kann (z. B. über den KIP-Controller) so konfiguriert werden, dass sie eine Schnittstelle zu einem oder mehreren ausgewählten Modulen und/oder Prozessoren bildet und dann die Orchestrierung der Pipeline übernimmt. In einem Beispiel ist die KIP so konfiguriert, dass sie eine Videoeingabe empfängt und die Videoeingabe zur Verarbeitung an ein oder mehrere verschiedene Modelle (z. B. fünf Modelle) sendet. In bestimmten Beispielen ist die KIP so konfiguriert, dass sie die Videoeingabe unter Verwendung des einen oder der mehreren verschiedenen Modelle in einer bestimmten Reihenfolge verarbeitet. In einem Beispiel ist die KIP so konfiguriert, dass sie den Videoeingang unter Verwendung von zwei Modellen parallel verarbeitet. In einem Beispiel ist die KIP so konfiguriert, dass die Videoeingabe mit drei Modellen in Reihe verarbeitet wird, so dass sie sich gegenseitig beeinflussen können. In einigen Beispielen können nachgeschaltete Prozessoren und/oder Modelle in der Verarbeitungslogik vorgelagerte Ergebnisse nutzen. So wird z. B. ein Algorithmus zur Wolkenerkennung zuerst auf einem Satellitenbild ausgeführt, dann folgt eine Schiffserkennung, die nur an Stellen ausgeführt wird, an denen keine Wolken erkannt wurden, was die Effizienz und Geschwindigkeit erhöht.
[0037] Die KIP kann in einem echtzeitorientierten System verwendet werden. In einigen Beispielen hat jeder der ein oder mehreren Prozessoren ein bestimmtes Budget. So ist die KIP beispielsweise so konfiguriert, dass sie ein Video an ein Modell zur Verarbeitung des Videos sendet und die ersten Verarbeitungsergebnisse innerhalb von 200 Millisekunden erhält. In einem Beispiel kann die KIP die ersten Verarbeitungsergebnisse an ein anderes Modell (z. B. einen Prozessor für die Georegistrierung) mit einem bestimmten Budget von 500 Millisekunden ausgeben, weil sie im Computer-Vision-Prozess mehr Verarbeitung (z. B. intensivere Verarbeitung) durchführt, und nach dem Empfang des Ergebnisses kann die KIP das Ergebnis senden. In einem Beispiel kann die KIP die ersten Verarbeitungsergebnisse parallel an eine Vielzahl von Modellen (z. B. KI-Modelle, Objekterkennungsalgorithmen usw.) senden, so dass die Vielzahl von Modellen von den ersten Verarbeitungsergebnissen (z. B. der vorgeschalteten Verarbeitung) profitieren kann. In bestimmten Beispielen umfasst die KIP eine Anwendungsprogrammierschnittstelle (API), um eine oder mehrere Eingaben an einen oder mehrere Prozessoren zu senden und ein oder mehrere Ergebnisse von diesen zu empfangen.
[0038] In bestimmten Beispielen ist die KIP so konfiguriert, dass sie den einen oder die mehreren Eingänge und den einen oder die mehreren Ausgänge in ein oder mehrere Standardformate (z. B. Bildtransportströme RT2P, GSP, UDP (User Datagram Protocol), MPEG-TS (MPEG-Transportstrom), RTP/RTSP (Real-Time Transport Protocol/Real-Time Streaming Protocol), handelsübliche Videoprotokolle) formatiert. In einigen Beispielen kann die KIP einige dieser Metadatenströme im Video in verschiedene Standardformate kodieren (z. B. GeoJSON, Avro, MISB, KLV (key-length-value)). In einigen Beispielen umfasst die KIP Pipeline-Logiken (z. B. Orchestrierungen, Planer, Verwaltungssoftware). In einem Beispiel ist die KIP als Java-Dienst implementiert.
[0039] In einigen Beispielen ist die KIP so konfiguriert, dass sie eine oder mehrere Sensor-Rohdaten und Push-Ausgaben empfängt. In bestimmten Beispielen ist die KIP so konfiguriert, dass sie eine oder mehrere Pipeline-Logiken ausführt (z. B. die Anzahl der Prozessoren und/oder Modelle, die Dekodierung, die Kodierung, die Reihenfolge der Verarbeitung, die Parallelverarbeitung usw.).
[0040] Die KIP kann so konfiguriert sein, dass sie eine oder mehrere Anwendungen und/oder Lösungen verwaltet und/oder orchestriert, z. B. eine oder mehrere Anwendungen und/oder Lösungen, die auf einem oder mehreren Servern und/oder Prozessoren (z. B. auf einem oder mehreren Servern) laufen. In einigen Beispielen umfasst die KIP einen Planer. In bestimmten Beispielen wird die KIP am Edge durchgeführt (z. B. in einem Flugzeug, auf oder in der Nähe eines Sensors).
[0041] Der KIP-Controller (z. B. die KIP-Konfigurationsschnittstelle, der Orchestrierungs-Controller) kann mindestens zwei Abschnitte (z. B. zwei Felder) umfassen. In einem Beispiel enthält ein Abschnitt (z. B. linke Tafel, rechte Tafel) einen oder mehrere Prozessoren (z. B. ein oder mehrere Modelle, die auf einem oder mehreren Prozessoren ausgeführt werden). Ein Beispiel: Ein Abschnitt des KIP-Controllers (z. B. rechtes Feld) umfasst eine oder mehrere mögliche Pipelines (z. B. einen oder mehrere Sensoren). In einem Beispiel umfasst die Pipeline einen Echtzeit-Sensor-Feed oder einen Sensor-Feed mit verschiedenen Protokollen. In bestimmten Beispielen ermöglicht die KIP die Konfiguration von einem oder mehreren Ausgängen. In einigen Beispielen ermöglicht die KIP und/oder die Modell-Pipeline das Streaming von Ausgaben an einen oder mehrere Prozessoren (z. B. Plug-and-Play) für eine oder mehrere nachgelagerte Verarbeitungen (z. B. ein oder mehrere Modelle), einschliesslich, aber nicht beschränkt auf Objekterkennungsalgorithmen, Verfolgungsalgorithmen, Georegistrierungsalgorithmen, Kalibrierungen (z. B. Kalibrierungen in den Satellitenbildern), panchromatische Bildschärfung, Bildverbesserung und/oder Ähnliches. In einem Beispiel kann ein Video als Beispiel für eine Ausgabe in einem nachgeschalteten System betrachtet werden. Die KIP kann beispielsweise eine direkte Weiterleitung von Sensordaten oder verarbeiteten Sensordaten ermöglichen.
[0042] In einigen Beispielen kann der KIP-Controller einen Live-Videoplayer in einem UI-Abschnitt (z. B. einem Pop-up-Abschnitt, dem linken Abschnitt) enthalten, der die Ausgaben der Verarbeitungsdaten auf der rechten Seite wiedergibt. In einem Beispiel wird die KIP auf einem robusten Computergerät eingesetzt. Beispielsweise wird die KIP auf einem robusten Laptop eingesetzt, den ein Soldat im Feld haben kann und den er von einem Flugzeug aus betrachtet (links), und auf der rechten Seite findet die eigentliche Verarbeitung statt, zum Beispiel die Verarbeitung durch ein oder mehrere Edge-Geräte (z. B. ein Edge-Gerät im Flugzeug).
[0043] In bestimmten Beispielen ermöglicht die KIP und/oder der KIP-Controller eine Änderung des einen oder der mehreren Modelle, die mit dem KIP verbunden sind, z. B. das Hinzufügen eines Computer-Vision-Algorithmus zur Pipeline der KIP. In einigen Beispielen kann die KIP-Konfiguration (z. B. das Hinzufügen des Computer-Vision-Algorithmus) nach der Konfiguration der KIP ausgeführt werden (z. B. in der Datenverarbeitungspipeline angezeigt). In bestimmten Beispielen ist die KIP so konfiguriert, dass sie ein oder mehrere Sensordaten (z. B. ein Bild) empfängt und die Sensordaten vorverarbeitet. Beispielsweise ist die KIP so konfiguriert, dass sie ein oder mehrere Bilder in ein Video kodiert und das Video an einen Videoplayer sendet. In einigen Beispielen enthält der KIP-Controller eine Schnittstelle (z. B. das linke Bedienfeld), um diese Ergebnisse zu visualisieren.
[0044] In einigen Beispielen kann die KIP mit GPS-Koordinaten und Telemetriedaten verwendet werden, die schwankend und ungenau sein können. In einigen Beispielen ist die KIP so konfiguriert, dass sie erste Sensordaten (z. B. ein Video) mit zweiten Sensordaten (z. B. GPS-Koordinaten, Telemetriedaten) koordiniert und/oder synchronisiert. Die zweiten Sensordaten liefern beispielsweise Informationen über den geografischen Standort der ersten Sensordaten. In bestimmten Beispielen werden die ein oder mehreren Sensordaten mit einem Kalibrierungsprozessor verarbeitet. In einigen Beispielen kann ein Kalibrierungsprozessor einen physikbasierten Verarbeitungs-Accounting-Filter, Abtastratenerhöhung (Upsampling) von Metadaten, einige Korrekturen von Sensoren, bekannte Fehler, die einem oder mehreren Sensoren zugeschrieben werden, und/oder Ähnliches verwenden. In bestimmten Beispielen ist der Kalibrierungsprozessor so konfiguriert, dass er Sensordaten (z. B. GPS-Koordinaten, Telemetriedaten) glättet.
[0045] Die KIP kann so konfiguriert sein, dass sie die zweiten Sensordaten (z. B. GPS-Koordinaten) mit den ersten Sensordaten (z. B. einem Video) verknüpft. Zum Beispiel verknüpft die KIP einige Geodaten mit einem Video, um ein Gefühl dafür zu bekommen, was ein Benutzer tatsächlich sieht. In einigen Beispielen kann die KIP die Sensordaten stabiler machen. In bestimmten Beispielen kann die KIP eine Georegistrierung verwenden, um die Genauigkeit der Sensordaten zu verbessern. In einem Beispiel kann die KIP eine Computer-Vision-Technik verwenden (z. B. unter Verwendung eines oder mehrerer Modelle), die ein Videobild mit Satellitenreferenzbildern abgleicht und die Telemetriedaten aktualisiert. In einigen Beispielen werden die aktualisierten Telemetriedaten, die genauer sind, in der KIP-Schnittstelle (z. B. im linken Feld) oder einer nachgeschalteten Verarbeitungsschnittstelle (z. B. zur Anzeige der Telematikdaten und der Positionierung) angezeigt. In bestimmten Beispielen kann die KIP die Genauigkeit der Sensordaten mit Hilfe der Sensordatenverknüpfung schnell (z. B. innerhalb weniger Sekunden) verbessern und eine direkte Messung anhand der Sensordaten ermöglichen.
[0046] In einigen Beispielen ist die KIP so konfiguriert, dass sie jedes einzelne Videobild, das die KIP empfängt oder auf das sie zugreift, an einen oder mehrere Prozessoren sendet, um Computer-Vision-Techniken durchzuführen (z. B. unter Verwendung eines oder mehrerer Datenmodelle), und der eine oder die mehreren Prozessoren sind so konfiguriert, dass sie jeweils ein oder mehrere Ergebnisse an die KIP zurücksenden. In bestimmten Beispielen ist die KIP so konfiguriert, dass sie diese Ergebnisse aufnimmt, sie in das Video kodiert, um all diese Telemetriewerte zu aktualisieren, und sie dann stromabwärts sendet. In einem Beispiel enthält die KIP eine Modell-Pipeline (z. B. eine KIP-Pipeline, eine Verarbeitungspipeline), die in der KIP-Steuerung konfiguriert ist, um Daten in einem Kalibrierungsprozessor zu verarbeiten und dann die Ergebnisse der Kalibrierungsverarbeitung an einen Georegistrierungsprozessor (z. B. einen auf einem Prozessor laufenden Georegistrierungsalgorithmus) zu senden, so dass der Georegistrierungsprozessor die Vorteile des Kalibrierungsprozessors stromaufwärts erhält. In diesem Beispiel kann der KIP einen Objekterkennungsalgorithmus parallel ausführen, der möglicherweise keine genauen Korrekturen der räumlichen Genauigkeit benötigt, die von den parallel laufenden Kalibrierungs- und Georegistrierungsprozessoren berechnet werden. In einigen Beispielen kann zumindest ein Teil des einen oder der mehreren vom KIP gesteuerten Prozessoren parallel laufen. In einem Beispiel muss der Prozessor für die Georegistrierung warten, bis der Kalibrierungsprozessor seine Arbeit aufgenommen hat und/oder den Kalibrierungssensoren ein bestimmtes Budget zugewiesen hat. In diesem Beispiel kann der Prozessor für die Georegistrierung die Ergebnisse (z. B. Korrekturen) des direkt vorgelagerten Kalibrierungsprozessors nutzen.
[0047] In bestimmten Beispielen kann die KIP eine feste Latenzzeit verwenden. In einigen Beispielen ist die KIP so konfiguriert, dass sie eine Pipeline mit einem oder mehreren Modellen (z. B. verschiedenen Algorithmen) orchestriert, z. B. jedes mit einer entsprechenden vorgegebenen (z. B. vorkonfigurierten) Latenz (z. B. Latenzbudgets). Wenn das eine oder die mehreren Modelle (z. B. Algorithmen) innerhalb ihres jeweiligen Latenzbudgets abgeschlossen sind, sendet die KIP die ein oder mehreren Ergebnisse (z. B. einen oder mehrere Rahmen) aus. Wenn beispielsweise ein Modell (z. B. ein Algorithmus) länger dauert (z. B. 2 Sekunden anstelle von 200 Millisekunden), wartet die KIP nicht auf das Ergebnis (z. B. ein Einzelbild), bevor sie es sendet, sondern macht sofort weiter, wenn das Budget für einen bestimmten Prozessor abgelaufen ist. Daraus ergibt sich eine gleichbleibende Latenz für jedes Bild, es werden lediglich alle Videobilder um die gesamte Pipeline-Latenz verschoben. Wenn die KIP so aufgebaut wäre, dass sie auf die Fertigstellung von Modellen wartet, würde dies zu verschiedenen Verzögerungen für Frames führen, die ein kompiliertes Video zum Jittering bringen würden (z. B. 1 Einzelbild für 2 Sekunden und 30 Einzelbilder in 1 Sekunde). In bestimmten Beispielen kann die KIP eine vorbestimmte Latenz (z. B. ein festes Budget, ein spezifisches Budget) für jeden einzelnen oder mehrere Prozessoren verwenden. In einem Beispiel ist die KIP so konfiguriert, dass sie das Ergebnis des Prozessors empfängt, wenn ein Prozessor das vorgegebene Budget (z. B. 500 Millisekunden) für die Ausführung eines entsprechenden Modells und/oder Algorithmus einhält.
[0048] Ist der Prozessor beispielsweise schneller (z. B. kürzer als 500 Millisekunden), um das Ergebnis zu erhalten, ist die KIP so konfiguriert, dass sie bis zum Ende des vorgegebenen Budgets wartet und die feste Latenzzeit und das feste Budget verwendet. In einigen Beispielen ermöglicht dieser Ansatz dem KIP und dem integrierten System, Ergebnisse mit einer festen Latenzzeit zu erhalten (z. B. ein flüssiges Video mit 30 Bildern pro Sekunde). In einem Beispiel wie KI und Objekterkennung (z. B. zum Zeichnen von Kästen um alle Fahrzeuge) verlangsamt die KIP die Videoausgabe nicht, weil das Video operative Aufgaben ausführt. Ein Beispiel: Wenn ein oder mehrere Prozessoren abstürzen oder langsam laufen, sind ein oder mehrere andere Prozessoren (z. B. der Videoplayer) davon nicht betroffen und fahren mit der Erzeugung von Ergebnissen fort (z. B. mit der Wiedergabe des Videos).
[0049] In bestimmten Beispielen umfasst die KIP Funktionen zur Sensorfusion. In einigen Beispielen kann die KIP auf einer Reihe verschiedener Sensorplattformen laufen (z. B. ein oder mehrere Sensoren auf Flugzeugen, ein oder mehrere Sensoren auf Fahrzeugen, ein oder mehrere Sensoren auf Wasserfahrzeugen, ein oder mehrere Sensoren auf Drohnen usw.). In bestimmten Beispielen kann ein Edge-Gerät (z. B. eine Sensorplattform) direkt mit einem anderen Gerät kommunizieren (z. B. sprechen) und ein oder mehrere Ziele vereinbaren.
[0050] Eine Beispielimplementierung einer Einsatzumgebung 300 für die Modellorchestrierung und Sensorkorrelation ist in FIG. 3 dargestellt. FIG. 3 ist lediglich ein Beispiel. Ein Fachmann würde viele Variationen, Alternativen und Modifikationen erkennen. In einem Beispiel detektiert (z. B. sieht) ein Edge-Gerät (z. B. ein Flugzeug und ein zugehöriges Rechengerät) 310, z. B. auf der anderen Seite des Berges, ein oder mehrere Ziele 320, und das Edge-Gerät 310 ist so konfiguriert, dass es die Detektion an ein Basisgerät (z. B. die Basisstation 330) und/oder ein oder mehrere andere Edge-Geräte (z. B, ein Flugzeug und zugehöriges Rechengerät 312, ein Flugzeug und zugehöriges Rechengerät 314, ein Satellit und zugehöriges Rechengerät 316, ein oder mehrere Geräte 318, die mit einer oder mehreren Personen assoziiert sind, ein Flugzeug und zugehöriges Rechengerät 332, ein oder mehrere Fahrzeuge und zugehöriges Rechengerät 334). In einigen Beispielen kann ein Benutzer 318 KIP-Ergebnisse empfangen, Instruktionen senden, KIP und Modelle konfigurieren, Daten senden und andere Aktivitäten in der KIP-Einsatzumgebung durchführen.
[0051] In einigen Beispielen kann ein Edge-Gerät (z. B. das Flugzeug 312), während es Sensordaten zu einem Ziel (z. B. Ziel 320) sammelt, ein anderes Edge-Gerät (z. B. das Flugzeug 314) direkt anweisen und/oder mit diesem koordinieren, Sensordaten zu demselben Ziel (z. B. Ziel 320) zu sammeln. In einem Beispiel kann ein Edge-Gerät ein anderes Edge-Gerät starten, um Sensordaten bezüglich desselben Ziels zu sammeln, z. B. um Bilder und/oder Videos aus einem anderen Winkel zu sammeln, um zu sehen, ob das Ziel eine bestimmte Art von Objekt von besonderem Interesse ist. In bestimmten Beispielen sind zwei oder mehr Edge-Geräte so konfiguriert, dass sie Sensordaten sammeln und z. B. durch eines der zwei oder mehr Edge-Geräte oder ein anderes Steuergerät bestätigen, dass die gesammelten Sensordaten von den zwei oder mehr Edge-Geräten mit demselben Ziel assoziiert sind. In einigen Beispielen werden die gesammelten Sensordaten von den zwei oder mehr Edge-Geräten mit demselben Ziel aus unterschiedlichen Winkeln in Verbindung gebracht. In einigen Beispielen liefert ein erstes Edge-Gerät die Standortinformationen des Ziels, und ein oder mehrere andere Edge-Geräte (z. B. der Satellit 316) sammeln Sensordaten des Ziels auf der Grundlage der Standortinformationen. In einem Beispiel kann das zweite Edge-Gerät (z. B. der Satellit 316) das Ziel als ein Objekt von besonderem Interesse (z. B. ein neueres Fahrzeug) identifizieren, und das zweite Edge-Gerät ist über die KIP und/oder ein oder mehrere andere KIPen in dem KIP-System, das ein oder mehrere KIPen enthält, so konfiguriert, dass sir ein drittes Edge-Gerät anweist, Sensordaten bezüglich des Ziels zu sammeln.
[0052] Zwei oder mehr Edge-Geräte können miteinander kommunizieren und feststellen, dass die gesammelten Sensordaten von demselben Ziel stammen (z. B. demselben Fahrzeug). In einigen Beispielen erfolgt die Bestimmung desselben Ziels anhand von Orts- (z. B. Raum-) und Zeitinformationen unter Verwendung eines oder mehrerer Modelle (z. B. eines oder mehrerer Algorithmen, eines oder mehrerer naiver Algorithmen). In bestimmten Beispielen kann das KIP-System eine Bestimmung desselben Ziels unter Verwendung eines oder mehrerer Sensordaten (z. B. Bilddaten) und eines oder mehrerer Modelle (z. B. Computer-Vision-Modelle/Algorithmen) vornehmen. In einem Beispiel kann ein Computer-Vision-Algorithmus auf einem Edge-Gerät aus einem oder mehreren verschiedenen Winkeln, die von einem oder mehreren Edge-Geräten erfasst werden, feststellen, dass es sich um dasselbe Ziel handelt.
[0053] In einigen Beispielen kann die KIP und/oder das KIP-System ein oder mehrere Protokolle für die Kommunikation zwischen zwei oder mehreren Komponenten des KIP-Systems verwenden. In bestimmten Beispielen ermöglicht die KIP die Entscheidungsfindung bis hin zum Edge. In einigen Beispielen können zwei oder mehr Edge-Geräte jeweils einen oder mehrere Sensoren haben, die sich an unterschiedlichen Orten befinden können. In einem Beispiel sind die Sensoren an den zwei oder mehr Edge-Geräten so konfiguriert, dass sie Daten über ein und dasselbe Ziel erfassen (z. B. Kameras, die Bilder von demselben Ziel aufnehmen). In bestimmten Beispielen kann die KIP und/oder das KIP-System entsprechende KIPen und zwei oder mehr Edge-Geräte (z. B. die vier Edge-Geräte 310, 312, 314, 316) synchronisieren, die mit demselben Ziel assoziierte Daten sammeln. In einigen Beispielen kann die KIP und/oder das KIP-System zwei oder mehr Edge-Geräte synchronisieren, um die Genauigkeit (z. B. die Genauigkeit der Erkennung) zu verbessern.
[0054] Bestimmte Beispielen sehen vor, dass ein oder mehrere Benutzergeräte (z. B. ein Server, eine Basisstation, eine Zentralstation, ein Zentralknoten, ein Computer auf einem Mutterschiff usw.) Aufgaben auf höherer Ebene ausführen können, z. B. eine weitergehende Verarbeitung als die EdgeVerarbeitung. In einigen Beispielen sind zwei oder mehr Benutzergeräte so konfiguriert, dass sie Aufträge auf höherer Ebene ausführen. In einem Beispiel enthält die KIP einen Videoplayer. In einem Beispiel ist die KIP und/oder das KIP-System so konfiguriert, dass sie oder es Sensordaten (z. B. Erkennungsdaten) von mehreren Edge-Geräten (z. B. Edge-Geräten an mehreren Orten) empfängt, und die KIP stellt fest, dass die Sensordaten aus demselben Abschnitt stammen. In diesem Beispiel kann die KIP eine Ansicht mehrerer Abschnitte (z. B. vier Boxen) mit Sensordaten liefern, die von mehreren Edge-Geräten auf demselben Ziel (z. B. dem Fahrzeug) gesammelt wurden. Ein Beispiel: Das KIP mit einer Ansicht mehrerer Abschnitte wird an einem Edge-Gerät angezeigt. In einigen Beispielen wird die Synchronisierung von Sensordaten, die von zwei oder mehr Edge-Geräten erfasst wurden, an einem oder mehreren Edge-Geräten und/oder einem oder mehreren Benutzergeräten durchgeführt. In bestimmten Beispielen ermöglicht die KIP eine Konfiguration der Pipeline für Datenübertragungen, Datenverarbeitung und Datensynchronisationen und/oder andere Funktionen. Beispielsweise ermöglicht die KIP die Konfiguration der Ausgabe einer Pipeline, um Daten anzuzeigen und zu senden. In einem Beispiel kann die KIP so eingestellt werden, dass das Video nur von einem Edge-Gerät an eine Bodenstation (z. B. die Basisstation 330) gesendet wird. Beispielsweise kann die KIP und/oder das KIP-System so eingerichtet werden, dass das Video an ein Edge-Gerät gesendet wird, z. B. weil es ein leistungsstärkeres Flugzeug ist und eine bessere Kommunikationsbandbreite hat, so dass es das Video an die Bodenstation senden kann.
[0055] In einigen Beispielen kann die KIP und/oder das KIP-System ein Protokoll mit geringer Bandbreite für die Kommunikation verwenden, z. B. XML-Nachrichten, Zielortkoordinaten und/oder Ähnliches. In bestimmten Beispielen kann die KIP und/oder das KIP-System Metadaten übertragen (z. B. kurze Stücke an Metadaten, Standortkoordinaten, GPS-Koordinaten usw.). ). In einem Beispiel können die KIP und/oder das KIP-System Daten über ein Kommunikationsnetz (z. B. ein taktisches Funknetz) senden, die dann von allen Geräten im Kommunikationsnetz abgehört werden können. In einem Beispiel können die KIP und das zugehörige Edge-Gerät bestimmte Informationen aufnehmen und sie mit seinem lokalen Sensor, z. B. dem Sensor einer hochauflösenden Kamera, nutzen. In bestimmten Beispielen kann die KIP und/oder das KIP-System Sensordaten von einem Kommunikationsnetz empfangen, die empfangenen Daten korrelieren und sie mit seinem lokalen Sensor verwenden, eine konsolidierte Ausgabe erzeugen und eine konsolidierte Ausgabe an ein oder mehrere Edge-Geräte und/oder ein oder mehrere Benutzergeräte (z. B. den Boden) senden.
[0056] Die KIP und das zugehörige Edge-Gerät können Video mit oder ohne Verarbeitung (z. B. Überlagerung) senden. In einigen Beispielen senden die KIP und das zugehörige Edge-Gerät Metadaten (z. B. mit dem Video assoziierte Metadaten), da das zugehörige Edge-Gerät nicht über die Bandbreite und/oder die Fähigkeit zum Senden von Videos verfügt. Ein Beispiel: Das KIP-System verfügt über eine Kamera, die in der Luft online ist, aber das KIP-System erlaubt es nicht, das Video zu sehen, weil das KIP-System nicht in der Lage ist, all diese Daten herunterzuladen. In einigen Beispielen sind die KIP und das zugehörige Edge-Gerät in der Lage, die von einem oder mehreren Edge-Geräten gesammelten Sensordaten zu verarbeiten, eine Ausgabe zu erzeugen, die Ausgabe zu konsolidieren und die konsolidierte Ausgabe an ein oder mehrere Edge-Geräte und/oder ein oder mehrere Benutzergeräte (z. B. am Boden) zu senden. In einem Beispiel handelt es sich bei der konsolidierten Ausgabe nicht um ein vollständiges Video und die Datenmenge ist geringer als bei einem Video.
[0057] Ein Beispiel: Die KIP und das zugehörige Edge-Gerät sammeln ein Videobild und erkennen einen LKW in der Mitte. In einem Beispiel sind die KIP und das zugehörige Edge-Gerät so konfiguriert, dass sie das Videobild reduzieren, indem sie beispielsweise nur die Pixel des Lastwagens herausschneiden und nur diese senden. Die gesammelten Sensordaten betragen beispielsweise 5 bis 20 Megabit pro Sekunde, und die KIP generiert konsolidierte Daten mit etwa 100 Kilobit pro Sekunde. In einigen Beispielen ist die KIP und/oder das KIP-System so konfiguriert, dass sie oder es eine Datenkomprimierung durchführt (z. B. eine massive Komprimierung), die auf der KI basiert, die an Bord des Fahrzeugs läuft, um bestimmte Ziele und Koordinaten und auch ein kleines Bild davon festzulegen, so dass ein Benutzer (z. B. ein Bediener) sehen kann, was die KIP und/oder das KIP-System tatsächlich betrachtet. In einigen Beispielen kann die KIP eine Nachricht an ein Kommunikationsnetz (z. B. ein Funknetz) senden, und alle Geräte in diesem Netz können die Nachricht auffangen und die Informationen konsumieren. In bestimmten Beispielen kann die KIP den Output konsolidieren und an den Boden senden.
[0058] Ein Meta-Konstellationssystem kann eine Reihe von Satellitenanbietern zusammenbringen, um eine oder mehrere Aufgaben zu erfüllen (z. B. eine oder mehrere Aufgaben effizient zu erfüllen), einschliesslich einer oder mehrerer Aufgaben über Konstellationen hinweg. In einigen Beispielen kann die KIP auf einem oder mehreren Satelliten eingesetzt werden und AI direkt auf dem einen oder mehreren Satelliten ausführen, so dass mehr Funktionen der Meta-Konstellation implementiert werden können und mehr Satelliten genutzt werden können.
[0059] Die KIP kann in einem Meta-Konstellationssystem verwendet werden. In einigen Beispielen ermöglicht das Meta-Konstellationssystem einem Benutzer, eine Anfrage zu stellen oder eine Frage zu stellen (z. B. „diesen Hafen überwachen“, „ein Schiff finden“, „melden, wenn in diesem Hafen etwas Interessantes passiert“). In bestimmten Beispielen kann das Meta-Konstellationssystem als Reaktion auf die Anfrage oder Frage eine entsprechende Aufgabe ausführen (z. B. ein bestimmtes Gebiet überwachen, ein Bild für ein vorbeifliegendes Objekt aufnehmen). In einigen Beispielen umfasst ein Meta-Konstellationssystem ein Bündel von Satelliten (z. B. ein Bündel von Satelliten über ein Bündel verschiedener Unternehmen). In bestimmten Beispielen kann ein Meta-Konstellationssystem eine Entscheidung am Rande (z. B. an einem Satelliten) treffen, z. B. unter Verwendung eines oder mehrerer KIPen und zugehöriger Fähigkeiten. In einigen Beispielen ist das Meta-Konstellationssystem so konfiguriert, dass es die Fähigkeiten eines oder mehrerer Sensoren und eines oder mehrerer Modelle (z. B. verschiedene KI-Fähigkeiten) als Reaktion auf die spezifische Frage und/oder Anforderung zusammensetzt.
[0060] In einigen Beispielen kann die KIP und/oder die Sensor-Fusion die Gerätekonstellation (z. B. die Meta-Konstellation) leistungsfähiger (z. B. viel leistungsfähiger) machen. Eine Version der Gerätekonstellation (z. B. Meta-Konstellation) soll beispielsweise mit Edge-KI, Adaptern und der Integration arbeiten, so dass das System der Gerätekonstellation (z. B. Meta-Konstellation) Daten (z. B. Bilder, Video, SAR) von einem oder mehreren verschiedenen Sensoren, auf die das System Zugriff hat, verarbeiten und sammeln kann. In einem Beispiel enthält das Meta-Konstellationssystem eine Benutzeroberfläche (UI), und ein Benutzer kann eine Entscheidung darüber treffen, was als nächstes zu tun ist. In bestimmten Beispielen kann das Meta-Konstellationssystem einen Satelliten umfassen, der direkt mit einem oder mehreren Edge-Geräten (z. B. Flugzeugen) kommuniziert, Sensordaten sammelt und Entscheidungen trifft.
[0061] In bestimmten Beispielen ist die KIP so konfiguriert, dass sie beispielsweise ein Abhängigkeitsmanagement verwendet, um die von der KIP verwendeten Ressourcen zu reduzieren (z. B. leichtgewichtig, optimiert). In einigen Beispielen kann die KIP auf einem oder mehreren X-86-Prozessoren und/oder einem oder mehreren ARM-Prozessoren laufen. In einigen Beispielen ist die KIP so konfiguriert, dass sie die einzubeziehenden Abhängigkeiten auswählt. In bestimmten Beispielen ist die KIP so konfiguriert, dass sie eine oder mehrere Funktionalitäten auswählt, die in gestraffter Weise implementiert sind, so dass die Nutzung von Rechenressourcen reduziert werden kann.
[0062] Die KIP und/oder der KIP-Controller (z. B. die KIP-Konfigurationsanwendung, der Orchestrierungs-Controller) können lokal ausgeführt werden (z. B. auf einem Laptop, in der Nähe eines Edge-Geräts). In bestimmten Beispielen ist es für die KIP und/oder den KIP-Controller nicht erforderlich, ein oder mehrere Modelle (z. B. Java-Skripte) herunterzuladen. In einigen Beispielen kann die KIP aus der Ferne konfiguriert werden, und das eine oder die mehreren ausgewählten Modelle (z. B. lokal gespeichert) können zur Bereitstellung auf das Edge-Gerät geladen werden. In bestimmten Beispielen kann die KIP eine Kommunikation mit geringer Bandbreite verwenden (z.B. einen Anruf, eine Nachricht usw.), um ein oder mehrere Modelle auszuwählen, und das eine oder die mehreren ausgewählten Modelle werden lokal ausgeführt. In einigen Beispielen kann mindestens eines der ausgewählten Modelle an ein Edge-Gerät (z. B. ein Computer in einem Flugzeug oder ein Computer auf einem Satelliten) gesendet und übertragen werden. In einigen Beispielen ermöglicht die KIP die Fernkonfiguration des einen oder der mehreren zugehörigen Edge-Geräte, eines oder mehrerer ausgewählter Modelle und eines oder mehrerer zugehöriger Sensoren. Zum Beispiel kann ein Benutzer eine Fernkonfiguration durchführen, um Änderungen an der KIP vorzunehmen, die Änderungen zu speichern und dann zu bestätigen. In bestimmten Beispielen können die Änderungen an ein oder mehrere Edge-Geräte übertragen werden. In einigen Beispielen kann ein Benutzer eine Reihe von KIPen aus der Ferne verwalten.
[0063] In bestimmten Beispielen kann die KIP mit einem oder mehreren Protokollen kompatibel sein, z. B. mit einem oder mehreren Videocodecs, einem oder mehreren Streaming-Protokollen. In einigen Beispielen ermöglicht die KIP benutzerdefinierte Quellen und benutzerdefinierte Synchronisationen. In einigen Beispielen erlaubt die KIP die Konfiguration von einem oder mehreren Prozessoren (z. B. 4 Prozessoren). In bestimmten Beispielen kann die KIP einen Container, einen oder mehrere Ports und/oder einen oder mehrere Stacks für einen oder mehrere Prozessoren konfigurieren. In bestimmten Beispielen kann der Container (z. B. ein Softwarecontainer) nach der Konfiguration des KIP bereitgestellt werden. In bestimmten Beispielen kann die KIP einen Ausgang, mehrere Ausgänge und/oder einen Kundenausgang konfigurieren. In einem Beispiel wählt die KIP ein Plug-in aus, z. B. indem es einen benutzerdefinierten Ort zum Senden von Informationen festlegt.
[0064] Die KIP und/oder das KIP-System (z.B. der KIP-Controller, der Orchestrierungs-Controller) kann Ressourcenmanagement bereitstellen, z. B. Einrichtung eines oder mehrerer Prozessoren, Schnittstellen (z. B. Verkabelung) zu einem oder mehreren Prozessoren in der KIP, Schnittstellen zu einem oder mehreren Sensoren in der KIP, Schnittstellen zu einem oder mehreren Modellen in der KIP und/oder Ähnliches. So kann die KIP beispielsweise Ressourcen und verschiedene Modelle verwalten, sie zum richtigen Zeitpunkt ausführen, einen Lastausgleich vornehmen und/oder ähnliches. In einigen Beispielen kann die KIP den Hardwareraum verwalten, z. B. eine Vielzahl von verschiedenen Formfaktoren. In bestimmten Beispielen kann die KIP einen oder mehrere Sensoren verwalten, z. B. den einen oder die mehreren Sensortypen, die Sensorverarbeitung (z. B. HF-Verarbeitung), die Sensorsteuerung (z. B. das Sensorflugzeug und verschiedene Dinge).
[0065] In einigen Beispielen kann die KIP in einer integrierten Lösung verwendet werden, z. B. in einer integrierten Lösung mit einem oder mehreren Modellen. In bestimmten Beispielen kann die KIP beim Aufbau einer Sensorsoftware verwendet werden, die in einem oder mehreren Sensoren eingesetzt werden kann. In einigen Beispielen kann die Sensorsoftware die KIP und ein oder mehrere Modelle zur Verarbeitung von Sensordaten enthalten. In bestimmten Beispielen kann die KIP einen herstellerunabhängigen Ansatz bieten, bei dem eine integrierte Lösung eine Vielzahl von Sensoren und eine Vielzahl von Algorithmen verschiedener Hersteller (z. B. ein oder mehrere intern oder extern erstellte KI-Modelle) einbeziehen kann. In einigen Beispielen ermöglicht die KIP dem Benutzer die Flexibilität, verschiedene Modelle anzuschliessen und zu verwenden. In einigen Beispielen ist die KIP so konfiguriert, dass es mit einem oder mehreren Prozessoren verbunden werden kann (z. B. einem oder mehreren Prozessoren und/oder Modellen für die dreidimensionale (3D-)Rekonstruktion, Georegistrierungsprozessoren, spezifischen Kalibrierungsprozessoren).
[0066] Die KIP kann auf einem oder mehreren Prozessoren (z. B. Rechenprozessoren) ausgeführt werden. In einem Beispiel kann eine KIP mit einem oder mehreren Modellen assoziiert sein (sie z. B. ausführen). Eine KIP umfasst beispielsweise einen oder mehrere Container (z. B. eine oder mehrere Container-Software), die über eine API ausgeführt werden können, so dass die KIP zur Ausführung initiiert werden kann. In einem Beispiel kann die KIP auf einer GPU (z. B. einer bestimmten GPU) ausgeführt werden. In einigen Beispielen kann die KIP näher an der Hardware sein, z. B. die spezifischen Ressourcen, die die KIP benötigt, einen oder mehrere Prozessoren und/oder ein oder mehrere zugehörige Modelle verwalten. In bestimmten Beispielen kann die KIP einen oder mehrere Orchestrierungsschritte durchführen, z. B. ein oder mehrere Modelle nehmen, das eine oder die mehreren Modelle und die zugehörigen Geräte an einem bestimmten Ort einsetzen und/oder überwachen, eine oder mehrere Nachrichten an das eine oder die mehreren Modelle senden, das eine oder die mehreren Modelle registrieren und/oder einen oder mehrere mit dem einen oder den mehreren Modellen assoziierte Ports definieren.
[0067] In einigen Beispielen ermöglicht die KIP eine Fernkonfiguration. In bestimmten Beispielen kann die KIP und/oder das KIP-System (z. B. der KIP-Controller) eine Kommunikation mit geringer Bandbreite verwenden, z. B. müssen die eine oder mehrere Nachrichten, die es aussendet, nicht für hochauflösende Dinge verwendet werden. In einigen Beispielen kann die KIP und/oder das KIP-System eine niedrige Latenzzeit erreichen und eine niedrige Bandbreite verwenden, z. B. möglicherweise eine nicht verbundene Umgebung. In bestimmten Beispielen ermöglichen die festen Budgets (z. B. feste Latenzen) eines oder mehrerer Prozessoren die Implementierung niedriger Latenzzeiten und niedriger Bandbreiten, z. B. manchmal in einer völlig unverbundenen Umgebung.
[0068] FIG. 4 ist ein veranschaulichendes Modell-Orchestrierungs- und Sensorkorrelationssystem 400 (z. B. ein KIP-System). FIG. 4 ist lediglich ein Beispiel. Ein Fachmann würde viele Variationen, Alternativen und Modifikationen erkennen. In einigen Beispielen umfasst das KIP-System 400 ein oder mehrere Edge-Geräte 410 und eine Entwicklungs- und Verwaltungsplattform (DMP) (z. B. einen KIP-Controller, einschliesslich eines KIP-Controllers, einschliesslich eines Orchestrierungs-Controllers) 420. In bestimmten Beispielen führen die Edge-Geräte 410 eine oder mehrere KIPen aus, z. B. mit einem oder mehreren Modellen an Bord. In einigen Beispielen umfasst die DMP 420 einen oder mehrere Orchestrierungscontroller (z. B. den in FIG. 1 dargestellten KIP-Controller 118). In bestimmten Beispielen ist die DMP 420 so konfiguriert, dass sie KIPen mit einem oder mehreren Modellen, die mit dem Edge-Gerät 410 verbunden sind, entwickelt, bewertet, einsetzt und aktualisiert. In einigen Beispielen können die Edge-Geräte 410 in einem oder mehreren Satelliten eingesetzt werden.
[0069] Die DMP 420 kann die KIP(en) verwalten, die mit dem Edge-Gerät 410 assoziiert ist/sind. In einigen Beispielen verwaltet die DMP 420 über einen KIP-Controller die KIP(en), die mit dem Edge-Gerät 410 assoziiert ist/sind. In bestimmten Beispielen enthält eine KIP einen Hinweis auf eine Modell-Pipeline (z. B. eine Verarbeitungspipeline), die ein oder mehrere Computermodelle enthält, die beispielsweise auf einem Modelldienst laufen. In einigen Beispielen ist die DMP 420 so konfiguriert, dass sie zwei oder mehr Modelle auswählt, die in der Modell-Pipeline parallel laufen sollen, wobei die Eingabe eines ersten Modells ein erstes Datenformat und die Eingabe eines zweiten Modells ein zweites Datenformat hat. In bestimmten Beispielen ist das erste Datenformat das gleiche wie das zweite Datenformat. In einigen Beispielen unterscheidet sich das erste Datenformat vom zweiten Datenformat. In bestimmten Beispielen ist die DMP 420 so konfiguriert, dass sie zwei oder mehr Modelle auswählt, die nacheinander in der Modell-Pipeline ausgeführt werden, wobei die Ausgabe eines ersten Modells eine Eingabe für ein zweites Modell ist. In einigen Beispielen ist die DMP 420 so konfiguriert, dass sie zwei oder mehr parallel laufende Modelle auswählt, wobei die zwei oder mehr Modelle entsprechende Modellausgaben erzeugen, die einem dritten Modell bereitgestellt werden. In bestimmten Beispielen verfügt das dritte Modell über eine Softwareschnittstelle, um Ergebnisse von den zwei oder mehr Modellen zu empfangen. In einigen Beispielen umfasst die Modell-Pipeline einen Eingangsvektor zum Empfangen von Daten von der Daten-API (z. B. der Daten-API 112 in FIG. 1), ein oder mehrere Modelle und einen Ausgangsvektor zum Ausgeben von Daten, beispielsweise über die Inferenz-API (z. B. die Inferenz-API 114 in FIG. 1).
[0070] FIG. 5 ist ein veranschaulichendes KIP-System 500. FIG. 5 ist lediglich ein Beispiel. Ein Fachmann würde viele Variationen, Alternativen und Modifikationen erkennen. In einigen Beispielen umfasst das KIP-System 500 eine oder mehrere KIPen 510, die auf Edge-Geräten laufen, eine oder mehrere Dateneinspeisungen 520 (z. B. Video, Bildmaterial usw.), eine Datenverwaltungsplattform 530, eine oder mehrere Entscheidungsfindungsanwendungen 540 und einen oder mehrere Feedback-Mechanismen 550 oder ist mit diesen verbunden. In einigen Beispielen können die Edge-Geräte, indem sie die KIPen 510 ausführen, KI/ML in Echtzeit am Edge durchführen. In bestimmten Beispielen erfolgt der eine oder mehrere Feedback-Mechanismus 550 über eine Softwareschnittstelle, eine Benutzerschnittstelle und/oder einen anderen Eingabemechanismus und Kommunikationsmechanismus. Wie hierin verwendet, umfasst das Feedback in einigen Beispielen eine oder mehrere Instruktionen, Kontrollen, Ergebnisse und Nachrichten. In bestimmten Beispielen empfängt das KIP-System 500 das Feedback 550 über einen Orchestrierungs-Controller. In einigen Beispielen kann das KIP-System 500 ein oder mehrere Modelle auf der Grundlage des Feedbacks aktualisieren, neu trainieren, auswählen und/oder löschen. In bestimmten Beispielen können die Entscheidungsfindungsanwendungen 540 Feedbacks an die KIPen 510 liefern. In einigen Beispielen können die Entscheidungsfindungsanwendungen 540 Feedbacks an die Datenverwaltungsplattform 530 liefern.
[0071] FIG. 6 ist ein veranschaulichendes KIP-System 600. FIG. 6 ist lediglich ein Beispiel. Ein Fachmann würde viele Variationen, Alternativen und Modifikationen erkennen. In einigen Beispielen umfasst das KIP-System 600 eine oder mehrere KIPen 610, die auf Edge-Geräten laufen, eine oder mehrere Dateneinspeisungen 620 (z. B. Video, Bildmaterial usw.), eine KI-Plattform 630 zum Trainieren, Bewerten, Bereitstellen und Verwalten von KI/ML, eine oder mehrere Analysesoftware 640 zum Erfassen, Analysieren und Verstehen von Trends bei historischen Daten 640, ein oder mehrere externe Systeme 650 zur Kommunikation mit anderen Geräten vor Ort und einen oder mehrere Feedback-Mechanismen 660. In einigen Beispielen können die Edge-Geräte, indem sie die KIPen 610 ausführen, KI/ML in Echtzeit am Edge durchführen. In bestimmten Beispielen erfolgt der eine oder mehrere Feedback-Mechanismus 660 über eine Softwareschnittstelle, eine Benutzerschnittstelle und/oder einen anderen Eingabemechanismus und Kommunikationsmechanismus. Wie hierin verwendet, umfasst das Feedback in einigen Beispielen einen oder mehrere Instruktionen, Kontrollen, Ergebnisse und Nachrichten. In einigen Beispielen kann das KIP-System 600 ein oder mehrere Modelle auf der Grundlage des Feedbacks aktualisieren, neu trainieren, auswählen und/oder löschen. In bestimmten Beispielen kann die Analysesoftware 640 den KIPen 610 Feedback geben. In einigen Beispielen kann die Analysesoftware 640 Feedbacks an die KI-Plattform 630 geben.
[0072] FIG. 7 ist ein veranschaulichendes Flussdiagramm für ein KIP-System 700. FIG. 7 ist lediglich ein Beispiel. Ein Fachmann würde viele Variationen, Alternativen und Modifikationen erkennen. In einigen Beispielen umfasst das KIP-System ein oder mehrere KIPen 710, ein oder mehrere KI-Modelle 715, die mit den KIPen 710 verbunden sind, und ein oder mehrere Edge-Geräte 720, auf denen mindestens eines der ein oder mehreren KIPen 710, ein Entscheidungssystem 740 und ein Entwicklungssystem (z. B. eine Entwicklungs- und Verwaltungsplattform, DMP) 730 läuft. In bestimmten Beispielen empfangen die eine oder die mehreren KIPen 710 Daten (z. B. Videodaten) von dem einen oder den mehreren Edge-Geräten 720 und orchestrieren das eine oder die mehreren KI-Modelle 715 auf die empfangenen Daten (z. B. Live-Sensorfeed, Echtzeit-Videodaten). In einigen Beispielen werden das eine oder die mehreren KI-Modelle 715 auf die von dem einen oder den mehreren Edge-Geräten 720 empfangenen Daten angewendet und erzeugen Daten und KI-Ergebnisse, die über die eine oder die mehreren KIPen 710 gesendet werden. In bestimmten Beispielen verarbeitet das Entscheidungssystem 740 die Daten und KI-Ergebnisse, um eine oder mehrere Entscheidungen und KI-Feedback 745 zu generieren. In einigen Beispielen wird das KIP-Feeback 745 vom Entwicklungssystem 730 (z. B. einem DMP) für das eine oder die mehreren KIPen 710 und das eine oder die mehreren KI-Modelle 715 verwendet. In bestimmten Beispielen hält das Entwicklungssystem 730 die Trainingsdaten und -modelle vor. In einigen Beispielen werden neue Modelle, einschliesslich aktualisierter Modelle, vom Entwicklungssystem 730 an die KIP 710 (z. B. KIPen weltweit) übertragen oder veröffentlicht.
[0073] FIG. 8 ist ein veranschaulichendes Beispiel für ein KIP-System 800. FIG. 8 ist lediglich ein Beispiel. Ein Fachmann würde viele Variationen, Alternativen und Modifikationen erkennen. In einigen Beispielen umfasst das KIP-System 800 eine KIP 812, ein Edge-Gerät 820 und ein oder mehrere Modelle 816. In bestimmten Beispielen kann das Edge-Gerät 820 eines oder mehrere der folgenden Elemente erzeugen: FMV (Full Motion Video für Vollbewegungsvideo), CCTV (Closed-Circuit Television für VÜA - Videoüberwachungsanlage), Satellitenbilder, ELINT (Electronic Signals Intelligence)/SIGINT (Signal Intelligence) (z. B. Scoping), Audio (z.B. Scoping) und/oder Akustik (z. B. Scoping). In einigen Beispielen erzeugt die KIP 812 durch Anwendung des einen oder mehrerer Modelle (z. B. eines Stabilisierungs- und Kalibrierungsmodells, eines Georegistrierungsmodells, eines oder mehrerer KI-Modelle, eines Tracker-Modells) auf die empfangenen Daten eine oder mehrere Ausgaben, wie z. B. ein Video (z. B., MPEG-TS-Video), Video kombiniert mit georegistrierten Telemetriedaten und KI-Ausgaben, Cursor-auf-Ziel (CoT für Cursoron-Target)-Daten, HLS-AVRO-Daten, JSON-Daten (z. B. ein offenes Standard-Datenaustauschformat) und/oder Ähnliches.
[0074] FIG. 9 ist ein anschauliches Beispiel für die Merkmale 900 eines KIP-Systems. FIG. 9 ist lediglich ein Beispiel. Ein Fachmann würde viele Variationen, Alternativen und Modifikationen erkennen. In einigen Beispielen verfügt das KIP-System über Funktionen zur Verwaltung der Bereitstellungsfähigkeit 910, einschliesslich einer oder mehrerer der folgenden Möglichkeiten: Verwendung des standardmässigen Java Witchcraft-Dienstes; Bereitstellung über Bereitstellungsdienste, wenn die Bereitstellung am Boden oder in der Cloud erfolgt; Bereitstellung über Delta-Skripte, wenn sich die Geräte am Rand befinden; und/oder wenn die Edge-Geräte nicht angeschlossen sind. In bestimmten Beispielen verfügt das KIP-System über Hardware-Merkmale 920, einschliesslich eines oder mehrerer der folgenden Merkmale: Verwendung von GPUs; Edge ist typischerweise ARMbasierte Hardware; und/oder SWaP-Optimierungen. In einigen Beispielen weist das KIP-System Abhängigkeitsmerkmale 930 auf, darunter eines oder mehrere der folgenden Merkmale: keine Abhängigkeiten von einem Datenverwaltungssystem oder einem Entscheidungssystem; und/oder dass es in der Regel am Rande eingesetzt wird. In bestimmten Beispielen weist das KIP-System Verarbeitungsmerkmale 940 auf, darunter eines oder mehrere der folgenden Merkmale: Es wurde von Drittunternehmen (z. B. KI-Unternehmen) entwickelt; es benötigt Zugriff auf GPU-Ressourcen, um leistungsfähig zu sein; es wird als Docker-Container bereitgestellt, die eine KIP offenlegen; und/oder es wurde intern als Standard-Java-Witchcraft-Dienst entwickelt.
[0075] FIG. 10 ist ein veranschaulichendes Diagramm eines KIP-Systems 1000. FIG. 10 ist lediglich ein Beispiel. Ein Fachmann würde viele Variationen, Alternativen und Modifikationen erkennen. In einigen Beispielen umfasst das KIP-System 1000 eine KIP, die in einem oder mehreren KIP-kompatiblen Prozessoren integriert ist.
[0076] FIG. 11 ist ein veranschaulichender Vergleich 1100 eines herkömmlichen Systems 1110 und eines KIP-Systems 1120 gemäss einer Ausführungsform der vorliegenden Offenbarung. FIG. 11 ist lediglich ein Beispiel. Ein Fachmann würde viele Variationen, Alternativen und Modifikationen erkennen. In einigen Beispielen umfasst das KIP-System 1120 Komponenten, die auf den Cloud-Servern 1140 und auf den Edge-Geräten 1130 laufen. In bestimmten Beispielen wird die Funktionalität des konventionellen Systems 1110 (z. B. Serverracks vor Ort) in die Cloud und den Edge-Bereich verlagert. In einigen Beispielen schalten die auf den Cloud-Servern 1140 laufenden Komponenten dynamisch Instanzen von KIP auf und ab, um Ressourcen effizient bereitzustellen. In bestimmten Beispielen verfügen die Edge-Geräte 1130 über begrenzte Rechen- und/oder Kommunikationsressourcen (z. B. in einer Umgebung, in der die Kommunikation üblicherweise verweigert wird).
[0077] FIG. 12 ist ein Beispiel für eine konventionelle Sensorumgebung 1200. FIG. 12 ist lediglich ein Beispiel. Ein Fachmann würde viele Variationen, Alternativen und Modifikationen erkennen. Gemäss bestimmten Beispielen umfasst die Sensorumgebung 1200 ein oder mehrere Edge-Geräte 1212, 1214, 1222, 1224, 1226, 1228, eine Basisstation 1230 und einen oder mehrere Benutzer 1242 und 1244. In einigen Beispielen ist das Edge-Gerät 1214 (z. B. ein unbemanntes Flugsystem (AUS für unmanned aircraft system) mit zugehörigem(n) Computer(n)) so konfiguriert, dass es die anderen Edge-Geräte 1222, 1224, 1226 und 1228 erkennt oder mit ihnen kommuniziert.
[0078] In bestimmten Beispielen kommuniziert das Edge-Gerät 1214 mit dem Basisgerät 1230. In einigen Beispielen werden UAS von Piloten und Teams am Boden geflogen und die Verarbeitung der Daten erfolgt am Boden. In bestimmten Beispielen hat ein solches System Bandbreitenbeschränkungen, die den Datenfluss begrenzen. In einigen Beispielen kann ein solches System Latenzprobleme aufgrund mehrerer Sprünge haben, bevor Entscheidungen getroffen werden können.
[0079] FIG. 13 ist eine veranschaulichende Modell-Orchestrierung und Sensorkorrelationsumgebung 1300. FIG. 13 ist lediglich ein Beispiel. Ein Fachmann würde viele Variationen, Alternativen und Modifikationen erkennen. Gemäss bestimmten Beispielen umfasst die Modellorchestrierung und Sensorkorrelationsumgebung 1300 (z. B. ein KIP-System, ein Modellorchestrierung- und Sensorkorrelationssystem) ein oder mehrere Edge-Geräte 1312, 1314, 1316, 1318, ein Basisgerät 1330, ein Ziel 1320 und ein oder mehrere Benutzergeräte 1322. In einigen Beispielen ist das Edge-Gerät 1312 und/oder 1314 (z. B. ein unbemanntes Luftfahrzeugsystem (UAS) mit zugehöriger(n) Rechenvorrichtung(en), ein Flugzeug mit zugehöriger(n) Rechenvorrichtung(en)) so konfiguriert, dass es das Ziel 1320 erkennt. In bestimmten Beispielen laufen ein oder mehrere oder jedes der Edge-Geräte (z. B. die Edge-Geräte 1312, 1314, 1316, 1318) mit einem oder mehreren Modell-Orchestratoren (z. B. KIPen) und/oder einem oder mehreren Orchestrierungs-Controllern (z. B. KIP-Controllern) oder sind diesen zugeordnet.
[0080] FIG. 13 zeigt die Entwicklung am Edge (z. B. zusätzliche Verarbeitung an den Edge-Geräten). In einigen Beispielen ist das Edge-Gerät 1312 und/oder 1314 (z. B. ein unbemanntes Luftfahrzeugsystem (UAS) mit zugehöriger(n) Recheneinheit(en), ein Flugzeug mit zugehöriger(n) Recheneinheit(en)) so konfiguriert, dass es Daten verarbeitet, z. B. unter Verwendung eines oder mehrerer Modelle, die mit den KIPen assoziiert sind, so dass nur eine kleine Menge von Daten (z. B. kritische Daten) über das Netzwerk übertragen wird. In bestimmten Beispielen kann das System zur Modellorchestrierung und Sensorkorrelation eine Entscheidungsfindung mit nahezu null Latenz ermöglichen (z. B. eine Entscheidungsfindung am Rande des Netzes). In einigen Beispielen kann das System zur Modellorchestrierung und Sensorkorrelation eher die Anfrage (z. B. die Mission) als spezifische Instruktionen hochladen. In bestimmten Beispielen können das Modell-Orchestrierungs- und das Sensor-Korrelationssystem (z. B. Plattformen) direkt miteinander kommunizieren, um Aufgaben zu delegieren und/oder gemeinsam zu erledigen.
[0081] Das Edge-Gerät (z. B. ein Flugzeug und ein zugehöriges Computergerät) 1312 kann, z. B. auf der anderen Seite des Berges, ein oder mehrere Ziele 1320 detektieren (z. B. sehen), und das Edge-Gerät 1312 ist so konfiguriert, dass es die Detektion an ein Basisgerät (z. B. die Basisstation 330) und/oder ein oder mehrere andere Edge-Geräte (z. B. das Edge-Gerät 1314, das Edge-Gerät 1318, ein Edge-Gerät in der Luft, ein Edge-Gerät am Boden) weiterleitet. In einigen Beispielen kann ein Benutzergerät 1322 KIP-Ergebnisse empfangen, Instruktionen senden, die KIP und Modelle konfigurieren, Daten senden und andere Aktivitäten in der KIP-Einsatzumgebung durchführen.
[0082] In einigen Beispielen kann ein Edge-Gerät (z. B. das Edge-Gerät 1312), während es Sensordaten zu einem Ziel (z. B. Ziel 1320) sammelt, ein anderes Edge-Gerät (z. B. das Edge-Gerät 1314) direkt anweisen und/oder mit diesem koordinieren, Sensordaten zu demselben Ziel (z. B. Ziel 1320) zu sammeln. In bestimmten Beispielen kann ein Edge-Gerät ein anderes Edge-Gerät starten, um Sensordaten über dasselbe Ziel zu sammeln, z. B. um Bilder und/oder Videos aus einem anderen Winkel zu sammeln, um zu sehen, ob das Ziel eine bestimmte Art von Objekt von Interesse ist. In bestimmten Beispielen sind zwei oder mehr Edge-Geräte so konfiguriert, dass sie Sensordaten sammeln und z. B. durch eines der zwei oder mehr Edge-Geräte oder ein anderes Steuergerät bestätigen, dass die gesammelten Sensordaten von den zwei oder mehr Edge-Geräten mit demselben Ziel assoziiert sind. In einigen Beispielen werden die gesammelten Sensordaten von den zwei oder mehr Edge-Geräten demselben Ziel aus unterschiedlichen Winkeln zugeordnet. In einigen Beispielen stellt ein erstes Edge-Gerät die Standortinformationen des Ziels bereit, und ein oder mehrere andere Edge-Geräte (z. B. das Edge-Gerät 1314) sammeln Sensordaten des Ziels auf der Grundlage der Standortinformationen. In einem Beispiel kann das zweite Edge-Gerät (z. B. das Edge-Gerät 1314) das Ziel als ein Objekt von besonderem Interesse (z. B. ein neueres Fahrzeug) identifizieren, und das zweite Edge-Gerät ist über die KIP und/oder ein oder mehrere andere KIPen in dem KIP-System, das ein oder mehrere KIPen enthält, so konfiguriert, dass es ein drittes Edge-Gerät (z. B. das Edge-Gerät 1314) anweist, Sensordaten bezüglich des Ziels zu sammeln.
[0083] Zwei oder mehr Edge-Geräte können miteinander kommunizieren und feststellen, dass die gesammelten Sensordaten von demselben Ziel stammen (z. B. demselben Fahrzeug). In einigen Beispielen erfolgt die Bestimmung desselben Ziels anhand von Orts- (z. B. Raum-) und Zeitinformationen unter Verwendung eines oder mehrerer Modelle (z. B. eines oder mehrerer Algorithmen, eines oder mehrerer naiver Algorithmen). In bestimmten Beispielen kann das KIP-System eine Bestimmung desselben Ziels unter Verwendung eines oder mehrerer Sensordaten (z. B. Bilddaten) und eines oder mehrerer Modelle (z. B. Computer-Vision-Modelle/Algorithmen) vornehmen. In einem Beispiel kann ein Computer-Vision-Algorithmus auf einem Edge-Gerät aus einem oder mehreren verschiedenen Winkeln, die von einem oder mehreren Edge-Geräten erfasst werden, feststellen, dass es sich um dasselbe Ziel handelt.
[0084] In einigen Beispielen kann die KIP und/oder das KIP-System ein oder mehrere Protokolle für die Kommunikation zwischen zwei oder mehreren Komponenten des KIP-Systems verwenden. In bestimmten Beispielen ermöglicht die KIP die Entscheidungsfindung bis hin zum Edge. In einigen Beispielen können zwei oder mehr Edge-Geräte jeweils über einen oder mehrere Sensoren verfügen, die sich an unterschiedlichen Orten befinden können. In einem Beispiel sind die Sensoren an den zwei oder mehr Edge-Geräten so konfiguriert, dass sie Daten über ein und dasselbe Ziel sammeln (z. B. Kameras, die Bilder von demselben Ziel aufnehmen). In bestimmten Beispielen kann die KIP und/oder das KIP-System entsprechende KIPen und zwei oder mehr Edge-Geräte (z. B. die Edge-Geräte 1312, 1314, 1316, 1318) synchronisieren, die mit demselben Ziel assoziierte Daten sammeln. In einigen Beispielen kann die KIP und/oder das KIP-System zwei oder mehr Edge-Geräte synchronisieren, um die Genauigkeit (z. B. die Genauigkeit der Erkennung) zu verbessern.
[0085] Bestimmte Beispiele sehen vor, dass ein oder mehrere Benutzergeräte (z. B. ein Server, eine Basisstation, eine Zentralstation, ein Zentralknoten, ein Computer auf einem Mutterschiff usw.) Aufgaben auf höherer Ebene ausführen können, z. B. eine weitergehende Verarbeitung als die Edgeverarbeitung. In einigen Beispielen sind zwei oder mehr Benutzergeräte so konfiguriert, dass sie Aufträge auf höherer Ebene ausführen. In einem Beispiel enthält die KIP einen Videoplayer. In einem Beispiel ist die KIP und/oder das KIP-System so konfiguriert, dass sie oder es Sensordaten (z. B. Erkennungsdaten) von mehreren Edge-Geräten (z. B. Edge-Geräten an mehreren Orten) empfängt, und die KIP stellt fest, dass die Sensordaten aus demselben Abschnitt stammen. In diesem Beispiel kann die KIP eine Ansicht mehrerer Abschnitte (z. B. vier Boxen) mit Sensordaten liefern, die von mehreren Edge-Geräten auf demselben Ziel (z. B. dem Fahrzeug) gesammelt wurden. Als Beispiel wird die KIP mit einer Ansicht mehrerer Abschnitte an einem Edge-Gerät angezeigt. In einigen Beispielen wird die Synchronisierung von Sensordaten, die von zwei oder mehr Edge-Geräten erfasst wurden, an einem oder mehreren Edge-Geräten und/oder einem oder mehreren Benutzergeräten durchgeführt. In bestimmten Beispielen ermöglicht die KIP eine Konfiguration der Modell-Pipeline über einen Orchestrierungs-Controller für Datenübertragungen, Datenverarbeitung und Datensynchronisationen und/oder andere Funktionen. Beispielsweise ermöglicht die KIP die Konfiguration der Ausgabe einer Pipeline zur Ansicht und zum Senden von Daten. In einem Beispiel kann die KIP so eingestellt werden, dass das Video nur von einem Edge-Gerät an eine Bodenstation (z. B. die Basisstation 1330) gesendet wird. Beispielsweise kann die KIP und/oder das KIP-System so eingerichtet werden, dass das Video an ein Edge-Gerät gesendet wird, z. B. weil es ein leistungsstärkeres Flugzeug ist und eine bessere Kommunikationsbandbreite hat, so dass es das Video an die Bodenstation senden kann.
[0086] FIG. 14 ist eine anschauliche Gerätekonstellationsumgebung 1400 (z. B. ein Gerätekonstellationssystem, ein KI-Metakonstellationssystem, ein Modellorchestrierungs- und Sensorkorrelationssystem) unter Verwendung von Modellorchestrierung und Sensorkorrelation. FIG. 14 ist lediglich ein Beispiel. Ein Fachmann würde viele Variationen, Alternativen und Modifikationen erkennen. In bestimmten Beispielen umfasst das Gerätekonstellationssystem 1400 eine oder mehrere Edge-Gerätekonstellationen 1410, eine Sammlungsanforderungswarteschlange 1420, eine Überwachungsanforderungswarteschlange 1430 (z. B. eine Algorithmusanforderungswarteschlange), eine Konstellationsmaschine (z. B. eine Korrelationsmaschine) 1435 und eine Betriebsmaschine 1465. In einigen Beispielen bietet das Gerätekonstellationssystem 1400 eine Möglichkeit zur effizienten Nutzung von Edge-Geräten (z. B. von Edge-Geräten, die auf Satelliten angeordnet sind). In bestimmten Beispielen sind die Konstellations-Engine 1435 und/oder die Betriebs-Engine 1465 in einen Orchestrierungs-Controller integriert oder mit diesem assoziiert (z. B. der Orchestrierungs-Controller 118 in FIG. 1).
[0087] Die eine oder mehrere Edge-Gerätekonstellationen 1410 kann eine erste Edge-Gerätekonstellation 1410A (z. B. ein oder mehrere Edge-Geräte in einer Gruppe, ein oder mehrere Rechengeräte, die auf einem oder mehreren Satelliten angeordnet oder in diesen integriert sind usw.), eine zweite Edge-Gerätekonstellation 1410B (z. B. ein oder mehrere Edge-Geräte in einer Gruppe, ein oder mehrere Rechengeräte, die auf einem oder mehreren Satelliten angeordnet oder in diesen integriert sind usw.) und eine dritte Edge-Gerätekonstellation 1410C (z. B. ein oder mehrere Edge-Geräte in einer Gruppe, ein oder mehrere Rechengeräte, die auf einem oder mehreren Satelliten angeordnet oder in diesen integriert sind usw.), ein oder mehrere Edge-Geräte in einer Gruppe, ein oder mehrere Rechengeräte, die auf einem oder mehreren Satelliten angeordnet oder in diesen integriert sind, usw.), und ein drittes Edge-Gerät 1410C (z. B. ein oder mehrere Edge-Geräte in einer Gruppe, ein oder mehrere Rechengeräte, die auf einem oder mehreren Satelliten angeordnet oder in diesen integriert sind, usw.) umfassen. In einigen Beispielen umfassen eine oder mehrere der Edge-Gerät-Konstellationen 1410 ein KIP, z. B. für den Empfang einer oder mehrerer Anfragen und/oder die Übertragung von Daten. In bestimmten Beispielen umfasst jede Edge-Gerätekonstellation 1410 ein entsprechendes KIP und/oder einen KIP-Controller 1412A, 1412B, 1412C, um beispielsweise eine oder mehrere Anfragen zu empfangen und/oder Daten zu übertragen. In einigen Beispielen umfasst das Gerätekonstellationssystem 1400 zwei oder mehr Anforderungswarteschlangen, in denen eine oder mehrere Anforderungen an die eine oder mehrere Edge-Gerätekonstellationen 1410 gespeichert werden. In bestimmten Beispielen sind die Warteschlangen gespeichert oder über eine oder mehrere Edge-Gerätekonstellationen 1410 zugänglich. In einigen Beispielen enthält die Erfassungsanforderungswarteschlange 1420 eine oder mehrere Erfassungsanforderungen 1420A für die Sensordatenerfassung. In bestimmten Beispielen enthält die Überwachungsanforderungswarteschlange 1430 eine oder mehrere Überwachungsanforderungen 1430A zur Überwachung und Verarbeitung von Anforderungen.
[0088] Eine Erfassungsanforderung 1420A kann Daten für einen oder mehrere Erfassungsparameter enthält, darunter beispielsweise einen oder mehrere Standort- und/oder Sichtfeldparameter 1422, einen oder mehrere Sensorparameter 1424, einen oder mehrere Zeitparameter 1426 (z. B. Pass-Timing und/oder Revisit) und/oder dergleichen. In bestimmten Beispielen umfassen der eine oder die mehreren Standortparameter 1422 einen oder mehrere geografische Koordinatenparameter, einen Breitengrad-Parameter, einen Längengrad-Parameter, einen Höhengrad-Parameter, einen Geohash-Parameter, einen GPS-Parameter (Global-Positioning-System) und/oder Ähnliches. In einigen Beispielen umfassen der eine oder die mehreren Parameter für das Sichtfeld einen oder mehrere Standortparameter und einen oder mehrere Parameter für einen Winkel, einen Winkelbereich, eine Fläche und/oder Ähnliches. In bestimmten Beispielen umfassen die einen oder mehreren Sensorparameter 1424 einen Sensortyp, ein Sensormerkmal, eine Sensorkonfiguration, einen Erfassungsbereich, einen Erfassungswinkel, eine Erfassungszeit und/oder Ähnliches. In einigen Beispielen ist der Sensor ein Bildsensor, und die Sensorparameter umfassen einen Zoomparameter, einen Auflösungsparameter, einen Bildratenparameter, einen Verstärkungsparameter, einen Binning-Parameter, einen Bildformatparameter und/oder Ähnliches. In bestimmten Beispielen umfasst der Sensor einen akustischen Sensor, einen Wandler, einen Ultraschallsensor, einen Infrarotsensor, einen Hyperspektralsensor und/oder Ähnliches. In einigen Beispielen umfassen der eine oder die mehreren Zeitparameter 1426 einen oder mehrere von einer bestimmten Zeit, einer bestimmten wiederholten Zeit, einem Zeitbereich von einer Anfangszeit bis zu einer Endzeit, einem periodischen Zeitbereich (z. B. täglich, wöchentlich, monatlich usw.) und/oder Ähnlichem.
[0089] Eine Überwachungsanforderung 1430A kann Daten für einen oder mehrere Überwachungsparameter umfassen, z. B. Kontextdaten 1432, ein oder mehrere Wahrnehmungsmodelle 1434, eine oder mehrere Fusionsfunktionen/Aktivitätsmetriken 1436, ein oder mehrere Zielkriterien 1438 (z. B. Downlink-Kriterien) und/oder Ähnliches. In einigen Beispielen werden die Kontextdaten 1432 in einem oder mehreren Datenspeichern gespeichert. In bestimmten Beispielen umfassen die Kontextdaten historische Sensordaten, Modellparameter, Objektparameter und/oder Ähnliches. In einigen Beispielen umfassen die ein oder mehreren Wahrnehmungsmodelle 1434 ein oder mehrere Modelle zur Identifizierung und/oder Überwachung eines oder mehrerer Zielobjekte. In bestimmten Beispielen umfassen das eine oder die mehreren Wahrnehmungsmodelle ein oder mehrere Computer-Vision-Modelle zur Identifizierung von Objekten in Bildern und/oder Videos. In einigen Beispielen umfassen die eine oder mehreren Fusionsfunktionen 1436 eine oder mehrere Funktionen für Sensordaten und/oder verarbeitete Sensordaten. In bestimmten Beispielen umfassen die eine oder mehreren Aktivitätsmetriken 1436 eine oder mehrere Bewegungsmetriken, Bewegungsmustermetriken und/oder dergleichen. In einigen Beispielen umfassen die einen oder mehreren Zielkriterien 1438 ein oder mehrere Kriterien, die mit einem oder mehreren Zielmerkmalen assoziiert sind. In bestimmten Beispielen umfassen die einen oder mehreren Zielmerkmale 1438 eine Art von Objekt, eine Grösse des Objekts, eine Farbe des Objekts, eine Form des Objekts, ein Merkmal des Objekts und/oder Ähnliches.
[0090] Die Konstellations-Engine (z.B. die Korrelations-Engine, der Orchestrierungs-Controller) 1435 kann eine oder mehrere Anforderungen 1430A in der Überwachungswarteschlange 1430 empfangen und die Anforderung in eine oder mehrere Aufgaben 1440 zerlegen, die eine oder mehrere Erfassungsanforderungen 1420A aus der Erfassungsanforderungswarteschlange 1420 und entsprechende Modelle kombinieren. In einigen Beispielen wählt die Konstellationsmaschine 1435 ein Edge-Gerät 1410 für eine Aufgabe 1440 aus und sendet die Aufgabe 1440 an das Edge-Gerät und/oder die Edge-Gerätekonstellation 1410. In bestimmten Beispielen wählt das Konstellationsmodul 1435 das Edge-Gerät und/oder die Edge-Gerätekonstellation 1410 zumindest teilweise auf der Grundlage der Aufgabe 1440 aus. In einigen Beispielen wählt das Konstellationsmodul 1435 das Edge-Gerät 1410 zumindest teilweise auf der Grundlage eines oder mehrerer Sensorparameter in der Aufgabe 1440 aus. In bestimmten Beispielen wählt das Konstellationsmodul 1435 das Edge-Gerät und/oder die Edge-Gerätekonstellation 1410 zumindest teilweise auf der Grundlage eines oder mehrerer Standortparameter und/oder Sichtfeldparameter in der Aufgabe 1440 aus. In einigen Beispielen wählt das Konstellationsmodul 1435 das Edge-Gerät und/oder die Edge-Gerätekonstellation 1410 zumindest teilweise auf der Grundlage eines oder mehrerer Zeitparameter in der Aufgabe 1440 aus.
[0091] In bestimmten Beispielen wählt die Konstellationsmaschine 1435 das Edge-Gerät und/oder die Edge-Gerätekonstellation 1410 zumindest teilweise auf der Grundlage eines oder mehrerer Wahrnehmungsmodellparameter in der Aufgabe 1440 aus. In bestimmten Beispielen wählt die Konstellationsmaschine 1435 das Edge-Gerät und/oder die Edge-Gerätekonstellation 1410 zumindest teilweise auf der Grundlage einer oder mehrerer Fusionsfunktionen in der Aufgabe 1440 aus. In einigen Beispielen wählt die Konstellationsmaschine 1435 das Edge-Gerät und/oder die Edge-Gerätekonstellation 1410 zumindest teilweise auf der Grundlage einer oder mehrerer Aktivitätsmetriken in der Aufgabe 1440 aus. In bestimmten Beispielen wählt die Konstellationsmaschine 1435 das Edge-Gerät und/oder die Edge-Gerätekonstellation 1410 zumindest teilweise auf der Grundlage eines oder mehrerer Zielkriterien in der Aufgabe 1440 aus.
[0092] In einigen Beispielen kann die KIP und/oder der KIP-Controller 1412A, 1412B, 1412C eine Aufgabe 1440 in eine entsprechende Modell-Pipeline umwandeln. In bestimmten Beispielen enthält die Modell-Pipeline einen oder mehrere Sensorparameter und/oder einen oder mehrere Modellparameter, die die Auswahl und Konfiguration von Modellen angeben. In einigen Beispielen wird die Modell-Pipeline für eine neue oder aktualisierte Modell-Pipeline an ein Edge-Gerät gesendet.
[0093] Das Gerätekonstellationssystem 1400 so konfiguriert sein, dass es ein oder mehrere Edge-Geräte (z. B. eine Vielzahl von Edge-Geräten) aus einer oder mehreren Konstellationen (z. B. einer Vielzahl von Konstellationen) auswählt. In einigen Beispielen ist jede der einen oder mehreren Konstellationen im Besitz einer Entität (z. B. einer Regierungsorganisation, eines Unternehmens, einer Industrieorganisation usw.) und/oder wird von dieser betrieben. Ein Beispiel: Zwei Konstellationen gehören zwei verschiedenen Einrichtungen und/oder werden von diesen betrieben. In bestimmten Beispielen wird eine Meta-Konstellation gebildet, die ein oder mehrere Edge-Geräte aus einer oder mehreren Konstellationen umfasst, die verschiedenen Einrichtungen gehören und/oder von ihnen betrieben werden. Zum Beispiel ist das System 1400 so konfiguriert, dass es mehrere Edge-Geräte aus einer Vielzahl von Konstellationen auswählt, und jede Konstellation der Vielzahl von Konstellationen ist im Besitz einer Entität (z. B. einer Regierungsorganisation, eines Unternehmens, einer Industrieorganisation usw.) und/oder wird von dieser betrieben. Beispielsweise gehören einige ausgewählte der mehreren Edge-Geräte zu einer Konstellation, die einer Einrichtung gehört und/oder von dieser betrieben wird, und andere ausgewählte der mehreren Edge-Geräte gehören zu einer anderen Konstellation, die einer anderen Einrichtung gehört und/oder von dieser betrieben wird. In einigen Beispielen ist das System so konfiguriert, dass es ein oder mehrere Edge-Geräte auf der Grundlage der Fähigkeit, Eignung und/oder Verfügbarkeit des entsprechenden Edge-Geräts auswählt. Ein Edge-Gerät ist zum Beispiel ein Satellit, der einen oder mehrere Sensoren enthält, wobei der eine oder die mehreren Sensoren auch als Orbit-Sensoren bezeichnet werden. Ein Edge-Gerät umfasst beispielsweise einen oder mehrere Sensoren im Weltraum. Ein Edge-Gerät wird beispielsweise auf der Grundlage des Blickwinkels eines Bildsensors am Edge-Gerät ausgewählt. Ein Beispiel: Ein Edge-Gerät wird auf der Grundlage seiner Lage im Wasser ausgewählt. In einigen Beispielen wählt das System das Edge-Gerät auf der Grundlage eines oder mehrerer Sensoren und/oder eines oder mehrerer Modelle aus. Beispielsweise wird ein Edge-Gerät so ausgewählt, dass es ein bestimmtes Modell zur Datenverarbeitung verwendet.
[0094] Das System 1400 und/oder die Konstellationsmaschine oder -engine kann so konfiguriert sein, dass sie die eine oder mehreren Aufgaben 1440 den einen oder mehreren ausgewählten Edge-Geräten und/oder Edge-Gerätekonstellationen 1410 zuweist. In einigen Beispielen ist das System 1400 und/oder die Konstellationsmaschine so konfiguriert, dass sie die eine oder mehreren Aufgaben 1440 den einen oder mehreren ausgewählten Edge-Geräten und/oder Edge-Gerätekonstellationen 1410 unter Verwendung eines oder mehrerer Modelle 1431 (z. B. eines Optimierungsmodells, eines Sicherheitsmodells usw.) zuweist. Gemäss einigen Beispielen sind das eine oder die mehreren ausgewählten Edge-Geräte so konfiguriert, dass sie die eine oder die mehreren zugewiesenen Aufgaben ausführen, um Daten 1450 zu erzeugen. In einigen Beispielen sind das eine oder die mehreren Edge-Geräte so konfiguriert, dass sie während der Ausführung der einen oder mehreren zugewiesenen Aufgaben Daten sammeln. In bestimmten Beispielen sind das eine oder die mehreren Edge-Geräte so konfiguriert, dass sie die gesammelten Daten verarbeiten. In einigen Beispielen ist das Edge-Gerät so konfiguriert, dass es einen oder mehrere Einblicke generiert, indem es die von einem oder mehreren Sensoren auf dem Edge-Gerät erfassten Daten und/oder die von einem oder mehreren Sensoren auf einem oder mehreren anderen Edge-Geräten erfassten Daten verarbeitet. In bestimmten Beispielen umfassen die von dem einen oder den mehreren ausgewählten Edge-Geräten erzeugten Daten 1460 die gesammelten Daten, die verarbeiteten Daten, die eine oder die mehreren Erkenntnisse, fusionierte verarbeitete Daten (z.B. fusionierte KI-Daten) und/oder eine Kombination davon. Ein Beispiel: Einem Edge-Gerät wird die Aufgabe zugewiesen, einen Raumbereich zwei Wochen lang zu überwachen, und es wird so konfiguriert, dass es die Überwachungsdaten filtert (z. B. bestimmte Daten entfernt). Ein Edge-Gerät wird beispielsweise mit der Aufgabe betraut, Waldbrände zu erkennen, und ist so konfiguriert, dass es Daten verarbeitet, die von verschiedenen Sensoren auf dem Edge-Gerät gesammelt wurden, und eine Aussage darüber übermittelt, ob ein Waldbrand erkannt wurde.
[0095] Das System 1400 und/oder das Konstellationsmodul 1435 kann so konfiguriert sein, dass es ein Quellen-Edge-Gerät auffordert, Daten (z. B. gesammelte und/oder verarbeitete Daten) an ein Ziel-Edge-Gerät zu übertragen. In einigen Beispielen ist das Ziel-Edge-Gerät so konfiguriert, dass es Daten vom Quell-Edge-Gerät verarbeitet. In bestimmten Beispielen ist das System so konfiguriert, dass komplexere Verarbeitungen an ein oder mehrere Edge-Geräte übertragen werden. In bestimmten Beispielen sind zwei oder mehr Edge-Geräte so konfiguriert, dass sie Daten an ein ausgewähltes Edge-Gerät zur Datenverarbeitung übertragen.
[0096] Das System 1400 und/oder die operative Engine 1465 (z. B. der Orchestrierungs-Controller) können so konfiguriert sein, dass sie eine oder mehrere Aktionen 1467 unter Verwendung eines oder mehrerer Modelle 1461 (z. B. eines Planungsmodells, eines Bewertungsmodells usw.) erzeugen. In einigen Beispielen enthalten die Aktionen 1467 eine oder mehrere verwertbare Erkenntnisse. In bestimmten Beispielen werden die Aktionen einem oder mehreren Benutzern 1470 (z. B. operativen Benutzern) zur Verfügung gestellt. In bestimmten Beispielen kompiliert das Gerätekonstellationssystem eine oder mehrere KI-Anforderungen des Benutzers in eine oder mehrere optimierte Erfassungsanforderungen über viele spezialisierte Sensoren und/oder lädt ein oder mehrere massgeschneiderte KI-Modelle auf Edge-Geräte (z. B. Satelliten, Flugzeuge, Fahrzeuge usw.) hoch. Beispielsweise werden eine oder mehrere KI-Einsichten fusioniert und an die Benutzer für die operative Planung und/oder Ausführung über eine operative Engine 1465 zurückgegeben.
[0097] FIG. 15 ist ein vereinfachtes Diagramm, das ein Verfahren 1500 für die Modell- und Sensororchestrierung (z. B. Modellorchestrierung und Sensorkorrelation) gemäss bestimmten Beispielen der vorliegenden Offenlegung zeigt. Dieses Diagramm ist lediglich ein Beispiel. Ein Fachmann würde viele Variationen, Alternativen und Modifikationen erkennen. Das Verfahren 1500 zur Modellorchestrierung und Sensorkorrelation umfasst die Prozesse 1510, 1515, 1520, 1525, 1530, 1535, 1540, 1545, 1550, 1555 und 1560. Obwohl oben eine ausgewählte Gruppe von Prozessen für das Verfahren 1500 zur Modellorchestrierung und Sensorkorrelation gezeigt wurde, kann es viele Alternativen, Änderungen und Variationen geben. Zum Beispiel können einige der Prozesse erweitert und/oder kombiniert werden. Andere Prozesse können in die oben genannten eingefügt werden. Je nach Ausführungsform kann die Reihenfolge der Prozesse ausgetauscht und andere ersetzt werden. Weitere Einzelheiten zu diesen Prozessen finden sich in der vorliegenden Offenlegung.
[0098] In einigen Beispielen werden einige oder alle Prozesse (z. B. Schritte) des Verfahrens 1500 von einem System (z. B. dem Computersystem 1600) durchgeführt. In bestimmten Beispielen werden einige oder alle Prozesse (z.B. Schritte) des Verfahrens 1500 von einem Computer und/oder einem Prozessor durchgeführt, der durch einen Code gesteuert wird. Ein Computer umfasst zum Beispiel einen Server-Computer und/oder einen Client-Computer (z.B. einen Personal-Computer). In einigen Beispielen werden einige oder alle Prozesse (z. B. Schritte) des Verfahrens 1500 gemäss Anweisungen ausgeführt, die in einem nicht-transitorischen computerlesbaren Medium enthalten sind (z. B. in einem Computerprogrammprodukt, wie einem computerlesbaren Flash-Laufwerk). Ein nicht-transitorisches computerlesbares Medium kann beispielsweise von einem Computer gelesen werden, zu dem ein Server-Computer und/oder ein Client-Computer (z. B. ein Personal-Computer und/oder ein Server-Rack) gehören. Beispielsweise werden Anweisungen, die in einem nicht-transitorischen computerlesbaren Medium enthalten sind, von einem Prozessor ausgeführt, der einen Prozessor eines Server-Computers und/oder einen Prozessor eines Client-Computers (z. B. einen Personal-Computer und/oder ein Server-Rack) umfasst.
[0099] Ein System (z. B. ein System zur Modellorchestrierung und Sensorkorrelation) kann bei dem Prozess 1510 eine Vielzahl von Modellen empfangen, darauf zugreifen und/oder sie erzeugen, wobei jedes Modell der Vielzahl von Modellen so konfiguriert ist, dass es Daten verarbeitet. In einigen Beispielen empfängt das System bei dem Prozess 1515 Informationen, die einer Vielzahl von Sensoren entsprechen, die mit einer Vielzahl von Edge-Geräten (z. B. Edge-Geräten 1410) assoziiert sind. In bestimmten Beispielen erzeugt das System eine erste Darstellung der Vielzahl von Modellen (z. B. eine Liste von Modellen mit Merkmalen). In einigen Beispielen erzeugt das System eine zweite Darstellung der Vielzahl von Sensoren (z. B. eine Liste von Sensoren und/oder Edge-Geräten, eine Liste von Sensoren und/oder Edge-Geräten mit Standortinformationen). In bestimmten Beispielen rendert das System die erste Darstellung auf einem ersten Abschnitt einer Benutzerschnittstelle (z.B. einem Display). In einigen Beispielen stellt das System die zweite Darstellung in einem zweiten Abschnitt der Benutzeroberfläche dar, wobei sich der zweite Abschnitt vom ersten Abschnitt unterscheidet (z. B. linker Abschnitt, rechter Abschnitt usw.).
[0100] Das System kann in Prozess 1520 ein oder mehrere Modelle aus der Vielzahl der Modelle auf der Grundlage einer Verarbeitungsanfrage auswählen. In bestimmten Beispielen enthält die Verarbeitungsanfrage eine Anfrage, einen oder mehrere Parameter (z. B. Anfrageparameter, Sensorparameter, Modellparameter, Geräteparameter, Objektparameter usw.). In einigen Beispielen wählt das System mindestens eines der ein oder mehreren Modelle auf der Grundlage einer Eingabe (z. B. einer Software-Eingabe, einer Benutzereingabe usw.) aus. In bestimmten Beispielen wählt das System in Prozess 1525 einen oder mehrere Sensoren aus der Vielzahl der Sensoren auf der Grundlage der Verarbeitungsanfrage aus. In einigen Beispielen kann sich die Verarbeitungsanfrage auf ein Objekt, einen Bereich, eine Zeit, einen Zeitbereich und/oder Ähnliches beziehen.
[0101] Das System kann in Prozess 1530 eine oder mehrere Modell-Pipelines aufbauen, die zumindest teilweise auf dem einen oder den mehreren ausgewählten Modellen und dem einen oder den mehreren ausgewählten Sensoren basieren. In einigen Beispielen enthält jede Modell-Pipeline der einen oder mehreren Modell-Pipelines Informationen, die mit mindestens einem ausgewählten Modell des einen oder der mehreren ausgewählten Modelle oder mit mindestens einem ausgewählten Sensor des einen oder der mehreren ausgewählten Sensoren assoziiert sind. In bestimmten Beispielen enthält eine erste Modell-Pipeline der einen oder mehreren Modell-Pipelines ein erstes Modell des einen oder der mehreren ausgewählten Modelle, das auf Daten anzuwenden ist, die von einem ersten Sensor des einen oder der mehreren ausgewählten Sensoren erfasst wurden. In einigen Beispielen umfasst eine zweite Modell-Pipeline der einen oder mehreren Modell-Pipelines ein zweites Modell des einen oder der mehreren ausgewählten Modelle, das auf Daten anzuwenden ist, die von einem zweiten Sensor des einen oder der mehreren ausgewählten Sensoren erfasst wurden. In bestimmten Beispielen unterscheidet sich das erste Modell von dem zweiten Modell. In einigen Beispielen unterscheidet sich der erste Sensor von dem zweiten Sensor.
[0102] Das System kann bei Prozess 1535 die eine oder mehrere Modell-Pipelines beispielsweise auf mindestens einem der mehreren Edge-Geräte einsetzen. In einigen Beispielen kompiliert das System eine Konfigurationsnachricht, die mit der einen oder den mehreren Modell-Pipelines assoziiert ist. In bestimmten Beispielen enthält die Konfigurationsnachricht Informationen über ein oder mehrere Modelle (z. B. ein Wahrnehmungsmodell) mit zugehörigen Modellparametern. In einigen Beispielen enthält die Konfigurationsnachricht Informationen über einen oder mehrere Sensoren (z. B. einen Bildsensor) mit zugehörigen Sensorparametern. In bestimmten Beispielen enthält die Konfigurationsnachricht aktualisierte Modellparameter und/oder aktualisierte Sensorparameter. In einigen Beispielen enthält die Konfigurationsnachricht einen Befehl zum Ersetzen eines ersten Modells durch ein zweites Modell. In bestimmten Beispielen umfasst die Konfigurationsnachricht das Ersetzen eines ersten Sensors durch einen zweiten Sensor. In einigen Beispielen überträgt das System die Konfigurationsnachricht an mindestens ein Edge-Gerät des einen oder der mehreren Edge-Geräte.
[0103] Das System kann bei dem Prozess 1540 eine Modellausgabe von der einen oder mehreren Modell-Pipelines empfangen. In einigen Beispielen umfasst die Modellausgabe eine Erkenntnis. In bestimmten Beispielen enthält die Modellausgabe Sensorrohdaten und/oder verarbeitete Sensordaten. In einigen Beispielen erzeugt das System eine Erkenntnis (z. B. eine Identifizierung eines Zielobjekts) auf der Grundlage der Modellausgabe (z. B. Rohsensordaten und/oder verarbeitete Sensordaten). In bestimmten Beispielen erzeugt das System eine dritte Darstellung der Modellausgabe und/oder der Erkenntnisse. In einigen Beispielen stellt das System die Vielzahl von Modellen, die Vielzahl von Sensoren, die Modellausgabe und/oder die Erkenntnisse auf einer Benutzeroberfläche dar. In bestimmten Beispielen stellt das System die Vielzahl von Modellen, die Vielzahl von Sensoren, die Modellausgabe und/oder die Erkenntnisse in verschiedenen Abschnitten einer Benutzerschnittstelle dar. In bestimmten Beispielen rendert das System die erste Darstellung, die zweite Darstellung und/oder die dritte Darstellung auf einer Benutzeroberfläche. In einigen Beispielen rendert das System die erste Darstellung, die zweite Darstellung und/oder die dritte Darstellung in verschiedenen Abschnitten (z.B. oberer Abschnitt, oberer linker Abschnitt, mittlerer Abschnitt, linker Abschnitt, rechter Abschnitt usw.) einer Benutzeroberfläche. In bestimmten Beispielen gibt das System die Modellausgabe über einen Videoplayer wieder.
[0104] In einigen Beispielen erhält das System in Prozess 1550 ein Feedback. In bestimmten Beispielen ist das Feedback mit der Modellausgabe und/oder den Erkenntnissen assoziiert. Das Feedback besteht zum Beispiel darin, einen Bildsensor zu vergrössern. Das Feedback besteht beispielsweise darin, ein Sichtfeld eines Bildsensors zu ändern. In einigen Beispielen besteht das Feedback darin, einen Sensor zu ersetzen und/oder einen oder mehrere Sensorparameter zu ändern. In bestimmten Beispielen besteht das Feedback darin, ein Modell zu ersetzen und/oder einen oder mehrere Modellparameter zu ändern. In einigen Beispielen ist das Feedback mit einer Modellausgabe einer Modell-Pipeline assoziiert. In bestimmten Beispielen empfängt das System eine erste Modellausgabe von einer ersten Modell-Pipeline der einen oder mehreren Modell-Pipelines als Feedback zum Ändern der einen Modell-Pipeline der einen oder mehreren Modell-Pipelines.
[0105] Das System kann bei dem Prozess 1555 mindestens eine Modell-Pipeline der einen oder mehreren Modell-Pipelines modifizieren und/oder eine neue Modell-Pipeline auf der Grundlage des Feedbacks erzeugen. In einigen Beispielen enthält die mindestens eine Modell-Pipeline ein neues und/oder aktualisiertes Modell. In bestimmten Beispielen enthält die mindestens eine Modell-Pipeline eine Angabe eines anderen Sensors und/oder anderer Sensorparameter. In einigen Beispielen erstellt das System eine neue Modell-Pipeline, zum Beispiel für ein neues Edge-Gerät (z. B. ein neues Edge-Gerät in der Nähe). In einigen Beispielen setzt das System bei dem Prozess 1560 die mindestens eine modifizierte Modell-Pipeline und/oder die neue Modell-Pipeline ein.
[0106] Das System kann eine Angabe ausgewählter Daten erhalten, zum Beispiel über eine Eingabe (z. B. eine Benutzereingabe, eine Softwareeingabe). In bestimmten Beispielen trainiert das System ein maschinelles Lernmodell aus der Vielzahl der Modelle unter Verwendung der ausgewählten Daten (z. B. Trainingsdaten), um ein trainiertes maschinelles Lernmodell zu erzeugen, und baut mindestens eine Modell-Pipeline der einen oder mehreren Modell-Pipelines unter Verwendung des trainierten maschinellen Lernmodells auf. In einigen Beispielen setzt das System das trainierte maschinelle Lernmodell mit einer entsprechenden Modell-Pipeline ein. In bestimmten Beispielen empfängt das System eine mit Trainingsdaten assoziierte Konfiguration. In einigen Beispielen transformiert das System die Trainingsdaten zumindest teilweise auf der Grundlage der Konfiguration. In bestimmten Beispielen umfasst die Transformation das Filtern, Modifizieren, Normalisieren und/oder Anwenden einer Funktion.
[0107] FIG. 16 ist ein vereinfachtes Diagramm, das ein Computersystem zur Implementierung eines Systems 1600 für die Modellorchestrierung und Sensorkorrelation zeigt. Dieses Diagramm ist lediglich ein Beispiel, das den Umfang der Ansprüche nicht unangemessen einschränken soll. Ein Fachmann würde viele Variationen, Alternativen und Modifikationen erkennen.
[0108] Das Computersystem 1600 umfasst einen Bus 1602 oder einen anderen Kommunikationsmechanismus zur Übermittlung von Informationen, einen Prozessor 1604, eine Anzeige 1606, eine Cursorsteuerungskomponente 1608, eine Eingabevorrichtung 1610, einen Hauptspeicher 1612, einen Festwertspeicher (ROM) 1614, eine Speichereinheit 1616 und eine Netzwerkschnittstelle 1618. In einigen Beispielen werden einige oder alle Prozesse (z.B. Schritte) des Verfahrens 1500 durch das Computersystem 1600 ausgeführt. In einigen Beispielen ist der Bus 1602 mit dem Prozessor 1604, dem Display 1606, der Cursorsteuerungskomponente 1608, dem Eingabegerät 1610, dem Hauptspeicher 1612, dem Festwertspeicher (ROM) 1614, der Speichereinheit 1616 und/oder der Netzwerkschnittstelle 1618 verbunden. In bestimmten Beispielen ist die Netzwerkschnittstelle mit einem Netzwerk 1620 verbunden. Der Prozessor 1604 umfasst beispielsweise einen oder mehrere Allzweck-Mikroprozessoren. In einigen Beispielen ist der Hauptspeicher 1612 (z. B. Direktzugriffsspeicher (RAM), Cache und/oder andere dynamische Speichergeräte) so konfiguriert, dass er Informationen und Anweisungen speichert, die vom Prozessor 1604 ausgeführt werden sollen. In bestimmten Beispielen ist der Hauptspeicher 1612 so konfiguriert, dass er temporäre Variablen oder andere Zwischeninformationen während der Ausführung der vom Prozessor 1604 auszuführenden Instruktionen speichert. Beispielsweise machen die Anweisungen, wenn sie in der Speichereinheit 1616 gespeichert sind, auf die der Prozessor 1604 zugreifen kann, das Rechensystem 1600 zu einer Spezialmaschine, die so angepasst ist, dass sie die in den Anweisungen angegebenen Operationen ausführt. In einigen Beispielen ist der ROM 1614 so konfiguriert, dass er statische Informationen und Anweisungen für den Prozessor 1604 speichert. In bestimmten Beispielen ist die Speichereinheit 1616 (z. B. eine Magnetplatte, eine optische Platte oder ein Flash-Laufwerk) zum Speichern von Informationen und Anweisungen konfiguriert.
[0109] In einigen Beispielen ist das Display 1606 (z. B. eine Kathodenstrahlröhre (CRT), ein LCD-Display oder ein Touchscreen) so konfiguriert, dass es einem Benutzer des Computersystems 1600 Informationen anzeigt. In einigen Beispielen ist das Eingabegerät 1610 (z. B. alphanumerische und andere Tasten) so konfiguriert, dass es Informationen und Instruktionen an den Prozessor 1604 übermittelt. Beispielsweise ist die Cursorsteuerungskomponente 1608 (z. B. eine Maus, ein Trackball oder Cursorrichtungstasten) so konfiguriert, dass sie zusätzliche Informationen und Instruktionen (z. B. zur Steuerung von Cursorbewegungen auf dem Display 1606) an den Prozessor 1604 übermittelt.
[0110] Ein Verfahren zur Modell- und Sensororchestrierung wird vorgeschlagen, umfassend: Zugreifen auf eine Vielzahl von Modellen, wobei jedes Modell der Vielzahl von Modellen so konfiguriert ist, dass es Daten verarbeitet; Empfangen von Informationen, die einer Vielzahl von Sensoren entsprechen, die mit einer Vielzahl von Edge-Geräten assoziiert sind; Auswählen eines oder mehrerer Modelle aus der Vielzahl von Modellen auf der Grundlage einer Verarbeitungsanfrage; Auswählen eines oder mehrerer Sensoren aus der Vielzahl von Sensoren auf der Grundlage der Verarbeitungsanfrage; Aufbauen einer oder mehrerer Modell-Pipelines, die zumindest teilweise auf dem einen oder den mehreren ausgewählten Modellen und dem einen oder den mehreren ausgewählten Sensoren basieren, wobei jede Modell-Pipeline der einen oder mehreren Modell-Pipelines Informationen enthält, die mit mindestens einem ausgewählten Modell des einen oder der mehreren ausgewählten Modelle oder mindestens einem ausgewählten Sensor des einen oder der mehreren ausgewählten Sensoren assoziiert sind; und Bereitstellen der einen oder mehreren Modell-Pipelines; wobei das Verfahren unter Verwendung eines oder mehrerer Prozessoren durchgeführt wird. Zum Beispiel wird das Verfahren gemäss mindestens Figur 1, Figur 2, Figur 3 und/oder Figur 15 implementiert.
[0111] In einigen Beispielen umfasst das Verfahren ferner: Empfangen eines Hinweises auf ausgewählte Daten; und Trainieren eines maschinellen Lernmodells aus der Vielzahl von Modellen unter Verwendung der ausgewählten Daten, um ein trainiertes maschinelles Lernmodell zu erzeugen; wobei der Aufbau der einen oder mehreren Modell-Pipelines den Aufbau mindestens einer Modell-Pipeline unter Verwendung des trainierten maschinellen Lernmodells umfasst; wobei der Einsatz der einen oder mehreren Modell-Pipelines den Einsatz des trainierten maschinellen Lernmodells umfasst. In bestimmten Beispielen umfasst das Verfahren ferner: Empfangen einer Konfiguration, die mit den ausgewählten Daten assoziiert ist; und Transformieren der ausgewählten Daten zumindest teilweise auf der Grundlage der Konfiguration. In einigen Beispielen umfasst das Verfahren ferner: Erzeugen einer ersten Darstellung der mehreren Modelle; Erzeugen einer zweiten Darstellung der mehreren Sensoren; Darstellen der ersten Darstellung in einem ersten Abschnitt einer Benutzerschnittstelle; und Darstellen der zweiten Darstellung in einem zweiten Abschnitt der Benutzerschnittstelle, wobei sich der zweite Abschnitt von dem ersten Abschnitt unterscheidet.
[0112] In bestimmten Beispielen umfasst das Verfahren ferner: Empfangen einer Modellausgabe von mindestens einer Modell-Pipeline der einen oder mehreren Modell-Pipelines; Erzeugen einer dritten Darstellung der Modellausgabe; und Darstellen der dritten Darstellung in einem dritten Abschnitt der Benutzeroberfläche. In einigen Beispielen umfasst das Verfahren ferner: Empfangen eines mit der Modellausgabe assoziierten Feedbacks; Modifizieren mindestens einer Modell-Pipeline der einen oder mehreren Modell-Pipelines auf der Grundlage des Feedbacks; und Bereitstellen der mindestens einen modifizierten Modell-Pipeline. In bestimmten Beispielen umfasst das Rendern der dritten Darstellung das Rendern der dritten Darstellung über einen Videoplayer. In einigen Beispielen umfasst das Verfahren ferner: Erzeugen einer Einsicht, die zumindest teilweise auf der Modellausgabe basiert; wobei das Erzeugen einer dritten Darstellung das Erzeugen der dritten Darstellung zumindest teilweise auf der Grundlage der Einsicht umfasst; Empfangen eines Feedbacks, die mit der Einsicht assoziiert ist; Modifizieren zumindest einer Modell-Pipeline der einen oder mehreren Modell-Pipelines auf der Grundlage des Feedbacks; und Bereitstellen der zumindest einen modifizierten Modell-Pipeline.
[0113] In einigen Beispielen umfasst das Bereitstellen der einen oder mehreren Modell-Pipelines: Kompilieren einer Konfigurationsnachricht, die mit der einen oder den mehreren Modell-Pipelines assoziiert ist; und Übertragen der Konfigurationsnachricht an mindestens ein Edge-Gerät der einen oder mehreren Edge-Geräte. In bestimmten Beispielen enthält eine erste Modell-Pipeline der einen oder mehreren Modell-Pipelines ein erstes Modell des einen oder der mehreren ausgewählten Modelle, das auf Daten anzuwenden ist, die von einem ersten Sensor des einen oder der mehreren ausgewählten Sensoren gesammelt wurden, wobei eine zweite Modell-Pipeline der einen oder mehreren Modell-Pipelines ein zweites Modell des einen oder der mehreren ausgewählten Modelle enthält, das auf Daten anzuwenden ist, die von einem zweiten Sensor des einen oder der mehreren ausgewählten Sensoren gesammelt wurden, wobei sich das erste Modell von dem zweiten Modell unterscheidet, wobei sich der erste Sensor von dem zweiten Sensor unterscheidet, wobei das Verfahren ferner umfasst: Empfangen einer ersten Modellausgabe von der ersten Modell-Pipeline; Modifizieren der zweiten Modell-Pipeline zumindest teilweise auf der Grundlage der ersten Modellausgabe.
[0114] Ein System zur Modell- und Sensororchestrierung wird vorgeschlagen, umfassend: einen oder mehrere Speicher mit darauf gespeicherten Anweisungen; und einen oder mehrere Prozessoren, die so konfiguriert sind, dass sie die Anweisungen ausführen und Operationen durchführen, die Folgendes umfassen: Zugreifen auf eine Vielzahl von Modellen, wobei jedes Modell der Vielzahl von Modellen so konfiguriert ist, dass es Daten verarbeitet; Empfangen von Informationen, die einer Vielzahl von Sensoren entsprechen, die mit einer Vielzahl von Edge-Geräten assoziiert sind; Auswählen eines oder mehrerer Modelle aus der Vielzahl von Modellen auf der Grundlage einer Verarbeitungsanfrage; Auswählen eines oder mehrerer Sensoren aus der Vielzahl von Sensoren auf der Grundlage der Verarbeitungsanfrage; Aufbauen einer oder mehrerer Modell-Pipelines, die zumindest teilweise auf dem einen oder den mehreren ausgewählten Modellen und dem einen oder den mehreren ausgewählten Sensoren basieren, wobei jede Modell-Pipeline der einen oder mehreren Modell-Pipelines Informationen enthält, die mit mindestens einem ausgewählten Modell des einen oder der mehreren ausgewählten Modelle oder mindestens einem ausgewählten Sensor des einen oder der mehreren ausgewählten Sensoren assoziiert sind; und Bereitstellen der einen oder mehreren Modell-Pipelines für mindestens eines der mehreren Edge-Geräte. Zum Beispiel wird das Verfahren gemäss mindestens Figur 1, Figur 2, Figur 3 und/oder Figur 15 implementiert.
[0115] In einigen Beispielen umfassen die Operationen ferner: Empfangen eines Hinweises auf ausgewählte Daten; und Trainieren eines maschinellen Lernmodells der Vielzahl von Modellen unter Verwendung der ausgewählten Daten, um ein trainiertes maschinelles Lernmodell zu erzeugen; wobei der Aufbau der einen oder mehreren Modell-Pipelines den Aufbau mindestens einer Modell-Pipeline unter Verwendung des trainierten maschinellen Lernmodells umfasst; wobei der Einsatz der einen oder mehreren Modell-Pipelines den Einsatz des trainierten maschinellen Lernmodells umfasst. In bestimmten Beispielen umfassen die Operationen ferner: Empfangen einer Konfiguration, die mit den ausgewählten Daten assoziiert ist; und Transformieren der ausgewählten Daten zumindest teilweise auf der Grundlage der Konfiguration. In einigen Beispielen umfassen die Operationen ferner: Erzeugen einer ersten Darstellung der Vielzahl von Modellen; Erzeugen einer zweiten Darstellung der Vielzahl von Sensoren; Wiedergeben der ersten Darstellung in einem ersten Abschnitt einer Benutzerschnittstelle; und Wiedergeben der zweiten Darstellung in einem zweiten Abschnitt der Benutzerschnittstelle, wobei sich der zweite Abschnitt von dem ersten Abschnitt unterscheidet.
[0116] In bestimmten Beispielen umfassen die Operationen ferner: Empfangen einer Modellausgabe von mindestens einer Modell-Pipeline der einen oder mehreren Modell-Pipelines; Erzeugen einer dritten Darstellung der Modellausgabe; und Wiedergeben der dritten Darstellung in einem dritten Abschnitt der Benutzeroberfläche. In einigen Beispielen umfassen die Operationen ferner: Empfangen eines mit der Modellausgabe assoziierten Feedbacks; Modifizieren mindestens einer Modell-Pipeline der einen oder mehreren Modell-Pipelines auf der Grundlage des Feedbacks; und Bereitstellen der mindestens einen modifizierten Modell-Pipeline. In bestimmten Beispielen umfasst das Rendern der dritten Darstellung das Rendern der dritten Darstellung über einen Videoplayer. In einigen Beispielen umfassen die Operationen ferner: Erzeugen eines Einblicks zumindest teilweise auf der Grundlage der Modellausgabe; wobei das Erzeugen einer dritten Darstellung das Erzeugen der dritten Darstellung zumindest teilweise auf der Grundlage des Einblicks umfasst; Empfangen eines Feedbacks, die mit dem Einblick assoziiert ist; Modifizieren zumindest einer Modell-Pipeline der einen oder mehreren Modell-Pipelines auf der Grundlage des Feedbacks; und Bereitstellen der zumindest einen modifizierten Modell-Pipeline.
[0117] In einigen Beispielen umfasst der Einsatz der einen oder mehreren Modell-Pipelines: Kompilieren einer Konfigurationsnachricht, die mit der einen oder den mehreren Modell-Pipelines assoziiert ist; und Übertragen der Konfigurationsnachricht an mindestens ein Edge-Gerät der einen oder mehreren Edge-Geräte. In bestimmten Beispielen enthält eine erste Modell-Pipeline der einen oder mehreren Modell-Pipelines ein erstes Modell des einen oder der mehreren ausgewählten Modelle, das auf Daten anzuwenden ist, die von einem ersten Sensor des einen oder der mehreren ausgewählten Sensoren gesammelt wurden, wobei eine zweite Modell-Pipeline der einen oder mehreren Modell-Pipelines ein zweites Modell des einen oder der mehreren ausgewählten Modelle enthält, das auf Daten anzuwenden ist, die von einem zweiten Sensor des einen oder der mehreren ausgewählten Sensoren gesammelt wurden, wobei sich das erste Modell von dem zweiten Modell unterscheidet, wobei sich der erste Sensor von dem zweiten Sensor unterscheidet, wobei die Vorgänge ferner Folgendes umfassen: Empfangen einer ersten Modellausgabe von der ersten Modell-Pipeline; Modifizieren der zweiten Modell-Pipeline zumindest teilweise auf der Grundlage der ersten Modellausgabe.
[0118] Beispielsweise sind einige oder alle Komponenten verschiedener Beispiele der vorliegenden Offenbarung jeweils einzeln und/oder in Kombination mit mindestens einer anderen Komponente unter Verwendung einer oder mehrerer Softwarekomponenten, einer oder mehrerer Hardwarekomponenten und/oder einer oder mehrerer Kombinationen von Software- und Hardwarekomponenten implementiert. In einem anderen Beispiel sind einige oder alle Komponenten verschiedener Beispiele der vorliegenden Offenbarung jeweils einzeln und/oder in Kombination mit mindestens einer anderen Komponente in einer oder mehreren Schaltungen, wie einer oder mehreren analogen Schaltungen und/oder einer oder mehreren digitalen Schaltungen, implementiert. In einem weiteren Beispiel beziehen sich die oben beschriebenen Beispiele zwar auf bestimmte Merkmale, aber der Umfang der vorliegenden Offenbarung umfasst auch Beispiele mit unterschiedlichen Kombinationen von Merkmalen und Beispiele, die nicht alle der beschriebenen Merkmale enthalten. In einem weiteren Beispiel können verschiedene Beispiele und/oder Beispiele der vorliegenden Offenbarung kombiniert werden.
[0119] Darüber hinaus können die hier beschriebenen Verfahren und Systeme auf vielen verschiedenen Arten von Verarbeitungsgeräten durch Programmcode implementiert werden, der Programmanweisungen umfasst, die vom Teilsystem für die Geräteverarbeitung ausgeführt werden können. Die Softwareprogrammanweisungen können Quellcode, Objektcode, Maschinencode oder andere gespeicherte Daten enthalten, die ein Verarbeitungssystem (z. B. eine oder mehrere Komponenten des Verarbeitungssystems) veranlassen, die hier beschriebenen Verfahren und Operationen durchzuführen. Es können jedoch auch andere Implementierungen verwendet werden, wie z. B. Firmware oder sogar entsprechend gestaltete Hardware, die so konfiguriert ist, dass sie die hier beschriebenen Verfahren und Systeme durchführt.
[0120] Die Daten der Systeme und Verfahren (z. B. Assoziationen, Zuordnungen, Dateneingabe, Datenausgabe, Datenzwischenergebnisse, Datenendresultate usw.) können in einer oder mehreren verschiedenen Arten von computerimplementierten Datenspeichern gespeichert und implementiert werden, wie z. B. in verschiedenen Arten von Speichergeräten und Programmierkonstrukten (z. B. RAM, ROM, EEPROM, Flash-Speicher, Flat-File-Systeme (Textinhalte in Dateien), Datenbanken, Programmierdatenstrukturen, Programmiervariablen, WENN-DANN-Anweisungskonstrukte (oder ähnliche Arten), Anwendungsprogrammierschnittstellen usw.). Es wird darauf hingewiesen, dass Datenstrukturen Formate für die Organisation und Speicherung von Daten in Datenbanken, Programmen, Speicher oder anderen computerlesbaren Medien zur Verwendung durch ein Computerprogramm beschreiben.
[0121] Die Systeme und Methoden können auf vielen verschiedenen Arten von computerlesbaren Medien bereitgestellt werden, einschliesslich Computerspeichermechanismen (z. B. CD-ROM, Diskette, RAM, Flash-Speicher, Festplatte des Computers, DVD usw.), die Anweisungen (z. B. Software) zur Ausführung durch einen Prozessor enthalten, um die Operationen der Methoden durchzuführen und die hier beschriebenen Systeme zu implementieren. Die hier beschriebenen Computerkomponenten, Softwaremodule, Funktionen, Datenspeicher und Datenstrukturen können direkt oder indirekt miteinander verbunden sein, um den für ihre Operationen erforderlichen Datenfluss zu ermöglichen. Es wird auch darauf hingewiesen, dass ein Modul oder ein Prozessor eine Code-Einheit umfasst, die eine Software-Operation ausführt und beispielsweise als Unterprogramm-Code-Einheit oder als Software-Funktions-Code-Einheit oder als Objekt (wie in einem objektorientierten Paradigma) oder als Applet oder in einer Computer-Skriptsprache oder als eine andere Art von Computer-Code implementiert werden kann. Die Softwarekomponenten und/oder -funktionen können sich je nach Situation auf einem einzigen Computer befinden oder über mehrere Computer verteilt sein.
[0122] Das Rechnersystem kann Client-Geräte und Server umfassen. Ein Client-Gerät und ein Server sind im Allgemeinen voneinander entfernt und interagieren normalerweise über ein Kommunikationsnetz. Die Beziehung zwischen Client-Gerät und Server entsteht dadurch, dass Computerprogramme auf den jeweiligen Computern laufen und eine Client-Gerät-Server-Beziehung zueinander haben.
[0123] Auch wenn die Vorgänge in den Zeichnungen in einer bestimmten Reihenfolge dargestellt sind, ist dies nicht so zu verstehen, dass diese Vorgänge in der gezeigten Reihenfolge oder in aufeinanderfolgender Reihenfolge ausgeführt werden müssen oder dass alle dargestellten Vorgänge ausgeführt werden müssen, um die gewünschten Ergebnisse zu erzielen. Unter bestimmten Umständen können Multitasking und Parallelverarbeitung vorteilhaft sein. Darüber hinaus ist die Trennung verschiedener Systemkomponenten in den oben beschriebenen Beispielen nicht so zu verstehen, dass eine solche Trennung in allen Beispielen erforderlich ist, und es ist davon auszugehen, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen zusammen in ein einziges Softwareprodukt integriert oder in mehrere Softwareprodukte gepackt werden können.

Claims (12)

1. Verfahren zur Identifizierung eines Zielobjekts, wobei das Verfahren eine oder mehrere Modell-Pipelines in einem Modell- und Sensororchestrierungssystem nutzt, wobei das Modell- und Sensororchestrierungssystem umfasst: ein oder mehrere Edge-Geräte, wobei mindestens eines der Edge-Geräte einen oder mehrere Sensoren umfasst, und einen Orchestrierungs-Controller, welcher einen oder mehrere Prozessoren umfasst, wobei der Orchestrierungs-Controller folgende Schritte durchführt: Zugriff auf eine Vielzahl von Modellen, wobei jedes Modell der Vielzahl von Modellen für die Verarbeitung von Daten konfiguriert ist; Empfang von Informationen, welche mit dem einen oder den mehreren Sensoren assoziiert sind; Auswahl eines oder mehrerer Modelle aus der Vielzahl von Modellen auf der Grundlage einer Verarbeitungsanfrage, wobei sich die Verarbeitungsanfrage auf das Zielobjekt bezieht; Auswahl mindestens eines Sensors aus den einen oder mehreren Sensoren auf der Grundlage der Verarbeitungsanfrage; Aufbau einer oder mehrerer Modell-Pipelines, die zumindest teilweise auf dem einen oder den mehreren ausgewählten Modellen und dem mindestens einen ausgewählten Sensoren basieren, wobei jede Modell-Pipeline der einen oder mehreren Modell-Pipelines Informationen enthält, die mit mindestens einem ausgewählten Modell des einen oder der mehreren ausgewählten Modelle oder mit mindestens einem ausgewählten Sensor des einen oder der mehreren ausgewählten Sensoren assoziiert sind; Einsatz der einen oder mehreren Modell-Pipelines auf mindestens einem Edge-Gerät der einen oder mehreren Edge-Geräte, wobei dieses mindestens eine Edge-Gerät folgenden Schritt durchführt: Nutzen der einen oder mehreren eingesetzten Modell-Pipelines, um von dem mindestens einen ausgewählten Sensor gesammelte Sensordaten zu verarbeiten, um eine Modellausgabe zu erzeugen, welche die Identifizierung des Zielobjekts umfasst.
2. Verfahren nach Anspruch 1, wobei der Aufbau der einen oder mehreren Modell-Pipelines umfasst: Empfang von Trainingsdaten; und Trainieren eines Modells des Maschinellen Lernens aus der Vielzahl der Modelle unter Verwendung der Trainingsdaten, um ein trainiertes Modell des Maschinellen Lernens zu erzeugen; Aufbau mindestens einer Modell-Pipeline unter Verwendung des trainierten Modells des Maschinellen Lernens, und wobei der Einsatz der einen oder mehreren Modell-Pipelines umfasst: Einsatz des trainierten Modells des Maschinellen Lernens auf dem mindestens einen Edge-Gerät.
3. Verfahren nach Anspruch 2, wobei der Aufbau der einen oder mehreren Modell-Pipelines umfasst: Empfang einer Konfiguration, die mit den Trainingsdaten assoziiert ist; und Umwandlung der Trainingsdaten zumindest teilweise auf der Grundlage der Konfiguration, wobei das Umwandeln der Trainingsdaten zumindest teilweise auf der Grundlage der Konfiguration insbesondere das Filtern, Modifizieren, Normalisieren und/oder Anwenden einer Funktion auf die Trainingsdaten umfasst.
4. Verfahren nach Anspruch 1, wobei der Orchestrierungs-Controller zudem eine Benutzerschnittstelle umfasst, und wobei der Aufbau der einen oder mehreren Modell-Pipelines umfasst: Erzeugung einer ersten Darstellung der Vielzahl von Modellen; Erzeugung einer zweiten Darstellung der einen oder mehreren Sensoren; Darstellen der ersten Darstellung in einem ersten Abschnitt der Benutzerschnittstelle; und Darstellen der zweiten Darstellung in einem zweiten Abschnitt der Benutzerschnittstelle, wobei sich der zweite Abschnitt von dem ersten Abschnitt unterscheidet.
5. Verfahren nach Anspruch 4, wobei der Aufbau der einen oder mehreren Modell-Pipelines umfasst: Empfang der von dem mindestens einen Edge-Gerät erzeugten Modellausgabe; Erzeugung einer dritten Darstellung der Modellausgabe; und Darstellen der dritten Darstellung in einem dritten Abschnitt der Benutzerschnittstelle.
6. Verfahren nach Anspruch 5, wobei der Aufbau der einen oder mehreren Modell-Pipelines umfasst: Empfang eines Feedbacks, wobei das Feedback mit der Modellausgabe assoziiert ist; Modifizieren mindestens einer Modell-Pipeline der einen oder mehreren Modell-Pipelines auf der Grundlage des Feedbacks; und wobei der Einsatz der einen oder mehreren Modell-Pipelines umfasst: Einsatz der mindestens einen modifizierten Modell-Pipeline auf dem mindestens einen Edge-Gerät.
7. Verfahren nach Anspruch 5, wobei das Darstellen der dritten Darstellung das Darstellen der dritten Darstellung über einen Videoplayer umfasst.
8. Verfahren nach Anspruch 5, wobei der Aufbau der einen oder mehreren Modell-Pipelines umfasst: Erzeugen einer Erkenntnis, die zumindest teilweise auf der Modellausgabe basiert; wobei das Erzeugen der dritten Darstellung das Erzeugen der dritten Darstellung zumindest teilweise auf der Grundlage der Erkenntnis umfasst; Empfang eines Feedbacks, wobei das Feedback mit der Erkenntnis assoziiert ist; Modifizieren mindestens einer Modell-Pipeline der einen oder mehreren Modell-Pipelines auf der Grundlage des Feedbacks; und wobei der Einsatz der mindestens einen Modell-Pipeline umfasst: Einsatz der mindestens einen modifizierten Modell-Pipeline auf dem mindestens einen Edge-Gerät.
9. Verfahren nach Anspruch 1, wobei der Einsatz der einen oder mehreren Modell-Pipelines umfasst: Kompilieren einer Konfigurationsnachricht, die mit der einen oder mehreren Modell-Pipelines assoziiert ist, und Übermittlung der Konfigurationsnachricht an mindestens eines der Edge-Geräte, wobei die Konfigurationsnachricht insbesondere enthält: Informationen über ein oder mehrere Modelle mit zugehörigen Modellparametern, und/oder Informationen über einen oder mehrere Sensoren mit zugehörigen Sensorparametern, und/oder aktualisierte Modellparameter, und/oder aktualisierte Sensorparameter, und/oder einen Befehl zum Ersetzen eines ersten Modells durch ein zweites Modell, und/oder einen Befehl zum Ersetzen eines ersten Sensors durch einen zweiten Sensor.
10. Verfahren nach Anspruch 1, wobei eine erste Modell-Pipeline der einen oder mehreren Modell-Pipelines ein erstes Modell des einen oder der mehreren ausgewählten Modelle enthält, das auf die Sensordaten anzuwenden ist, die von einem ersten Sensor des einen oder der mehreren ausgewählten Sensoren gesammelt wurden, wobei eine zweite Modell-Pipeline der einen oder mehreren Modell-Pipelines ein zweites Modell des einen oder der mehreren ausgewählten Modelle enthält, das auf die Sensordaten anzuwenden ist, die von einem zweiten Sensor des einen oder der mehreren ausgewählten Sensoren gesammelt wurden, wobei sich das erste Modell von dem zweiten Modell unterscheidet, wobei sich der erste Sensor von dem zweiten Sensor unterscheidet, wobei das Verfahren ferner umfasst: Empfang einer ersten Modellausgabe von der ersten Modell-Pipeline; Modifizierung der zweiten Modell-Pipeline zumindest teilweise auf der Grundlage der ersten Modellausgabe.
11. Modell- und Sensororchestrierungssystem, umfassend: ein oder mehrere Edge-Geräte, wobei mindestens eines der Edge-Geräte einen oder mehrere Sensoren umfasst, und einen Orchestrierungs-Controller, welcher einen oder mehrere Prozessoren umfasst, wobei der Orchestrierungs-Controller und die einen oder mehreren Edge-Geräte dazu konfiguriert sind, das Verfahren nach einem der Ansprüche 1-3 oder 9-10 durchzuführen.
12. Modell- und Sensororchestrierungssystem nach Anspruch 11, wobei der Orchestrierungs-Controller zudem umfasst: eine Benutzerschnittstelle, und wobei der Orchestrierungs-Controller und die einen oder mehreren Edge-Geräte zudem dazu konfiguriert sind, das Verfahren nach einem der Ansprüche 4-8 durchzuführen.
CH001508/2022A 2021-12-17 2022-12-15 Verfahren zur Identifizierung eines Zielobjekts und Modell- und Sensororchestrierungssystem CH719269B1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US202163290947P 2021-12-17 2021-12-17

Publications (2)

Publication Number Publication Date
CH719269A2 CH719269A2 (de) 2023-06-30
CH719269B1 true CH719269B1 (de) 2024-04-15

Family

ID=85150912

Family Applications (1)

Application Number Title Priority Date Filing Date
CH001508/2022A CH719269B1 (de) 2021-12-17 2022-12-15 Verfahren zur Identifizierung eines Zielobjekts und Modell- und Sensororchestrierungssystem

Country Status (4)

Country Link
US (1) US20230196201A1 (de)
EP (1) EP4433963A1 (de)
CH (1) CH719269B1 (de)
WO (1) WO2023114386A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230230351A1 (en) * 2022-01-14 2023-07-20 Microsoft Technology Licensing, Llc Constructing processing pipeline at edge computing device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11250335B2 (en) * 2015-10-26 2022-02-15 NetraDyne, Inc. Joint processing for embedded data inference
US9836049B1 (en) * 2017-05-05 2017-12-05 Pinnacle Vista, LLC Relay drone system

Also Published As

Publication number Publication date
WO2023114386A1 (en) 2023-06-22
CH719269A2 (de) 2023-06-30
EP4433963A1 (de) 2024-09-25
US20230196201A1 (en) 2023-06-22

Similar Documents

Publication Publication Date Title
DE102020102230A1 (de) Missbrauchsindex für erklärbare künstliche intelligenz in computerumgebungen
US10089716B2 (en) Generating real-time sensor maps from videos and in-ground sensor data
Singh et al. Single image dehazing for a variety of haze scenarios using back projected pyramid network
DE112012001984T5 (de) Integrieren von Video-Metadaten in 3D-Modelle
US20200250427A1 (en) Shadow and cloud masking for agriculture applications using convolutional neural networks
DE112021002965T5 (de) Generierung von szenengraphen für unmarkierte daten
DE102010005658A1 (de) Verbindungsmodul zum Anbinden mindestens eines Sensors, Aktors oder Effektors an ein Service Oriented Architecture- (SOA-) Netzwerk
DE102018102688A1 (de) Bildverarbeitungsvorrichtung, Bildverarbeitungsprogramm und Bildverarbeitungssystem
CH718896B1 (de) System und Verfahren zur Datenkompression unter Verwendung eines oder mehrerer Modell-Orchestratoren.
DE112019007762T5 (de) Verfahren zum Trainieren eines generativen kontradiktorischen Netzes, modifiziertes Bildgenerierungsmodul und System zum Detektieren von Merkmalen in einem Bild
DE112021002867T5 (de) Defektdetektion für eine leiterplattenbaugruppe
DE112019002622T5 (de) Verfahren, systeme, artikel zur herstellung und vorrichtungen zurrekonstruktion von szenen unter verwendung von convolutional neural networks
DE102021121332A1 (de) Bewertung von qualitativer streaming-erfahrung unter verwendung von sitzungsleistungsmetadaten
CH719269B1 (de) Verfahren zur Identifizierung eines Zielobjekts und Modell- und Sensororchestrierungssystem
DE112016001829T5 (de) Automatische Verbindung von Bildern unter Verwendung visueller Eigenschaftsquerverweise auf zugehörige Anwendungen
EP3017319A1 (de) Verfahren zur bestimmung von trajektorien beweglicher physischer objekte in einem raum, auf der basis von sensordaten mehrerer sensoren
DE102021119725A1 (de) Überlagern von metadaten über videoströme on-demand zur intelligenten videoanalytik
DE102022119615A1 (de) Verfahren, systeme, einrichtungen und herstellungsartikel zur kamerabildstromauswahl für elektronische benutzervorrichtungen
DE102022201786A1 (de) System und verfahren für multimodales neurosymbolisches szenenverständnis
CH718872B1 (de) Verfahren und System zur Aufgabendurchführung in einer Gerätekonstellation.
EP3765999A1 (de) System zur objekterkennung mittels verteilter neuronaler netze
DE112021001551T5 (de) Optimierte einrichtung von analysemodellen in einer netzwerkperipherietopologie
DE102021130642B4 (de) Erdbebenerkennung und -reaktion über eine verteilte visuelle eingabe
DE112022001485T5 (de) Verfahren und einrichtungen zum synthetisieren von ansichten mit sechs freiheitsgraden aus spärlichen rgb-tiefe-eingaben
DE102018208379A1 (de) Vorrichtung und Verfahren zur Steuerung einer Konfiguration von zumindest einem Gerät bzw. Anlagenkomponente

Legal Events

Date Code Title Description
PK Correction

Free format text: REGISTERAENDERUNG SACHPRUEFUNG