DE102019125169A1 - Objektpositionsbestimmungsvorrichtung mittels bezugsmarker - Google Patents

Objektpositionsbestimmungsvorrichtung mittels bezugsmarker Download PDF

Info

Publication number
DE102019125169A1
DE102019125169A1 DE102019125169.9A DE102019125169A DE102019125169A1 DE 102019125169 A1 DE102019125169 A1 DE 102019125169A1 DE 102019125169 A DE102019125169 A DE 102019125169A DE 102019125169 A1 DE102019125169 A1 DE 102019125169A1
Authority
DE
Germany
Prior art keywords
marker
physical
determining
vehicle
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019125169.9A
Other languages
English (en)
Inventor
Alberto Gabriel Rivera
Tejaswi Koduri
Romil Shah
Shounak Athavale
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
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 Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102019125169A1 publication Critical patent/DE102019125169A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1456Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Geometry (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)

Abstract

Diese Offenbarung sieht eine Objektpositionsbestimmungsvorrichtung mittels Bezugsmarker vor. Ausgehend vom Erkennen eines in einem Bild erkannten Markers kann ein physisches Objekt, an dem der Marker bereitgestellt ist, identifiziert werden. Auf der Grundlage eines Bestimmens einer Position des Markers in der physischen Welt können eine Position und eine Orientierung des physischen Objekts bestimmt werden.

Description

  • TECHNISCHES GEBIET
  • Die Offenbarung betrifft im Allgemeinen Fahrzeugsensoren.
  • ALLGEMEINER STAND DER TECHNIK
  • Verschiedene Sensoren können Daten bereitstellen, um Objekte in einer Umgebung der physischen, d. h. realen Welt zu erkennen und/oder deren Position zu bestimmen. Beispielsweise können Sensoren wie Videokameras, LiDAR-, Radar-, Ultraschallsensoren usw. Daten zum Erkennen eines Objekts und Vorhersagen einer Position des Objekts in der realen Welt bereitstellen. Das Verarbeiten von Daten von solchen Sensoren kann im Hinblick auf die Rechenleistung allerdings kostspielig sein, d. h., es kann in einem Computer, der die Daten analysiert, wertvolle Prozessorzyklen und/oder Speicher in relativ hohem Umfang verbrauchen. Des Weiteren beschreiben solche Sensordaten ein Objekt und/oder dessen Position eventuell nicht mit gewünschter Präzision; so kann es z. B. sein, dass Abmessungen (Länge, Höhe, Breite usw.) eines Objekts mit einem unzumutbaren Fehler- oder Unsicherheitsbereich bereitgestellt werden.
  • KURZDARSTELLUNG
  • In dieser Schrift ist ein Verfahren offenbart, umfassend ein Identifizieren, ausgehend vom Erkennen eines in einem Bild erkannten Markers, eines physischen Objekts, an dem der Marker bereitgestellt ist; und ein Bestimmen, auf der Grundlage des Bestimmens einer Position des Markers in der physischen Welt, einer Position und Orientierung des physischen Objekts in der physischen Welt. Das Verfahren kann des Weiteren ein Einbinden des physischen Objekts in eine Karte einer physischen Umgebung umfassen. Das Verfahren kann des Weiteren ein Ansteuern einer Komponente eines Fahrzeugs auf der Grundlage der Karte umfassen. Das Verfahren kann des Weiteren ein Bestimmen eines Abstands eines Teils des Objekts von einem Punkt in der physischen Welt umfassen. Die Orientierung kann ein Nicken, ein Gieren und ein Rollen beinhalten. Bei dem Objekt kann es sich um ein Fahrzeug handeln. Das Verfahren kann des Weiteren ein Erkennen eines zweiten Markers in dem Bild und ein Bestimmen der Position oder Orientierung des physischen Objekts auf der Grundlage einer Position des zweiten Markers in der physischen Welt zusätzlich zur Position des Markers in der physischen Welt umfassen. Bei dem Bild kann es sich um einen Frame von Videodaten handeln. Das Verfahren kann des Weiteren ein Abrufen von Abmessungen des physischen Objekts, nachdem das physische Objekt ausgehend von dem Bestimmen des Markers identifiziert worden ist, und ein Bestimmen der Position und der Orientierung des physischen Objekts teilweise auf der Grundlage der Abmessungen umfassen. Das Verfahren kann des Weiteren ein Bestimmen, ausgehend von dem Bild, eines ersten physischen Abstands zwischen einem ersten und zweiten Kennzeichen in dem Marker und ein anschließendes Bestimmen, teilweise auf der Grundlage des ersten physischen Abstands, eines zweiten physischen Abstands des Markers von einer zum Aufnehmen des Bilds verwendeten Kamera umfassen.
  • Ein Computer umfasst einen Prozessor und einen Speicher. Der Speicher kann Anweisungen speichern, die zu Folgendem durch den Prozessor ausführbar sind: Identifizieren, ausgehend vom Erkennen eines in einem Bild erkannten Markers, eines physischen Objekts, an dem der Marker bereitgestellt ist; und Bestimmen, auf der Grundlage des Bestimmens einer Position des Markers in der physischen Welt, einer Position und Orientierung des physischen Objekts in der physischen Welt. Die Anweisungen können des Weiteren Anweisungen zum Einbinden des physischen Objekts in eine Karte einer physischen Umgebung umfassen. Die Anweisungen können des Weiteren Anweisungen zum Ansteuern einer Komponente eines Fahrzeugs auf der Grundlage der Karte umfassen. Die Anweisungen können des Weiteren Anweisungen zum Bestimmen eines Abstands eines Teils des Objekts von einem Punkt in der physischen Welt umfassen. Die Orientierung kann ein Nicken, ein Gieren und ein Rollen beinhalten. Bei dem Objekt kann es sich um ein Fahrzeug handeln. Die Anweisungen können des Weiteren Anweisungen zum Erkennen eines zweiten Markers in dem Bild und zum Bestimmen der Position oder Orientierung des physischen Objekts auf der Grundlage einer Position des zweiten Markers in der physischen Welt zusätzlich zur Position des Markers in der physischen Welt umfassen. Bei dem Bild kann es sich um einen Frame von Videodaten handeln. Die Anweisungen können des Weiteren Anweisungen zum Abrufen von Abmessungen des physischen Objekts, nachdem das physische Objekt ausgehend von dem Bestimmen des Markers identifiziert worden ist, und zum Bestimmen der Position und der Orientierung des physischen Objekts teilweise auf der Grundlage der Abmessungen umfassen. Die Anweisungen können des Weiteren Anweisungen zum Bestimmen, ausgehend von dem Bild, eines ersten physischen Abstands zwischen einem ersten und zweiten Kennzeichen in dem Marker und zum anschließenden Bestimmen, teilweise auf der Grundlage des ersten physischen Abstands, eines zweiten physischen Abstands des Markers von einer zum Aufnehmen des Bilds verwendeten Kamera umfassen.
  • Figurenliste
    • 1 ist ein Schema zur Veranschaulichung eines Beispielsystems zum Bestimmen der Position eines Objekts mithilfe eines Markers.
    • 2A-2C sind Darstellungen eines beispielhaften Markers.
    • 3 stellt ein Beispiel für ein Bestimmen der Position eines Ziels in einer physischen Umgebung dar.
    • 4 ist eine Darstellung einer Umsetzung des Systems von 1 in Bezug auf ein Fahrzeug.
    • 5 ist ein Ablaufdiagramm eines beispielhaften Ablaufs zum Bestimmen der Position eines Objekts, das einen Bezugsmarker aufweist, bezüglich einer Umgebung in der realen Welt.
  • DETAILLIERTE BESCHREIBUNG
  • 1 ist ein Schema zur Veranschaulichung eines Beispielsystems 100 zum Bestimmen der Position eines Zielobjekts (oder Ziels) 105 mithilfe eines Markers 110, der mitunter auch als Bezugsmarker 110 bezeichnet wird, weil der Marker 110 als Referenz zum Bestimmen von Pose und Orientierung ausgehend von einem Bild, das den Marker 110 beinhaltet, bereitgestellt ist. Auf der Grundlage von Daten von einer Videokamera 150, die an einen Computer 130 übertragen werden können, kann der Computer 130 Abmessungen und eine Pose (d. h. Position und Orientierung) des Ziels 105 bestimmen, was typischerweise in Bezug auf ein dreidimensionales Koordinatensystem, bspw. ein kartesisches Koordinatensystem, 115 erfolgt. Zum Bestimmen der Pose des Ziels 105 kann der Computer 130 den Bezugsmarker 110 ausgehend von den Daten der Kamera 150 identifizieren. Durch Decodieren einer Kennung im Bezugsmarker 110 kann der Computer 130 auf das Ziel 105 bezogene Daten dann aus einem Datenspeicher 135 abrufen, die typischerweise eine Lage des Markers 110 an dem Ziel 105 sowie Abmessungen des Ziels 105 beinhalten. Der Computer 130 kann des Weiteren dazu programmiert sein, bspw. auf der Grundlage einer Karte einer Umgebung, in der das Ziel 105 erkannt wird, eine Position des Ziels 105 in der Umgebung bereitzustellen.
  • In dieser Schrift werden beispielhafte Umsetzungen erläutert, in denen es sich bei dem Ziel 105 um ein Fahrzeug 105v (siehe 4), bspw. ein Landfahrzeug wie einen Pkw, Lkw oder ein Motorrad handelt. Dabei kann das Ziel 105 jedoch ein jedes physisches Objekt in einer Umgebung der realen Welt, d. h. physischen Umgebung, sein, bspw. Möbelstücke, Elektronikvorrichtungen, ein Werkzeug wie ein Schraubendreher, Hammer oder eine Zange, ein Basketball usw., um nur einige der zahllosen möglichen Beispiele zu nennen.
  • Der Computer 130 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Der Speicher beinhaltet eine oder mehrere Formen computerlesbarer Medien und speichert Anweisungen, die durch den Computer 130 ausführbar sind, um verschiedene Vorgänge durchzuführen, einschließlich der in dieser Schrift offenbarten. Der Datenspeicher 135 kann ein Speicher des Computers 130 und/oder ein herkömmlicher Datenspeicher sein, der mit dem Computer 130, einschließlich möglicherweise über ein Netz 125, kommunikativ gekoppelt ist.
  • Bei dem Netz 125 kann es sich um einen oder mehrere von verschiedenen drahtgebundenen oder drahtlosen Kommunikationsmechanismen handeln, einschließlich jeder beliebigen gewünschten Kombination aus drahtgebundenen (z. B. Kabel und Glasfaser) und/oder drahtlosen (z. B. Mobilfunk, drahtlos, Satellit, Mikrowelle und Funkfrequenz) Kommunikationsmechanismen und jeder beliebigen gewünschten Netztopologie (oder - topologien, wenn mehrere Kommunikationsmechanismen genutzt werden). Zu beispielhaften Kommunikationsnetzen zählen: drahtlose Kommunikationsnetze (z. B. unter Verwendung von Bluetooth®, Bluetooth® Low Energy (BLE), IEEE 802.11, Fahrzeug-zu-Fahrzeug (V2V), wie etwa dedizierte Nahbereichskommunikationen (Dedicated Short Range Communications - DRSC) usw.), lokale Netze (Local Area Network - LAN) und/oder Weitverkehrsnetze (Wide Area Network - WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
  • Der Bezugsmarker 110 kann ein beliebiges optisches Muster sein, anhand dessen sich ein Ziel 105 identifizieren lässt. Die 2A, 2B und 2C zeigen nur manche Beispiele für Marker 110. In der Umsetzung von 2A ist der Bezugsmarker 110 beispielsweise das, was als Quick-Response(QR)-Code bezeichnet wird; ein QR-Code kann bekanntermaßen zum Codieren einer Kennung verwendet werden, die bei Erhalt eines Bilds des QR-Codes decodiert werden kann. Ein QR-Code verschafft allerdings einen Komplexitätsgrad, bspw. lässt er mehr Variation und Codierung von Daten zu, als für das System 100 wahrscheinlich notwendig ist. 2B zeigt ein Beispiel mit einem einfacheren Muster, das typischerweise eine geringere Verarbeitung und/oder weniger Verarbeitungszeit zum Decodieren und/oder Analysieren erfordern wird. 2C zeigt einen weiteren beispielhaften Marker 110. Wie die 2A-2C darstellen, könnte ein Bezugsmarker 110 im Allgemeinen andere identifizierende optische Muster beinhalten, bspw. ein Muster aus Buchstaben und/oder Zahlen, einen Strichcode oder andere Formen, Linien oder Marker (wie sie bspw. in einem Firmenlogo oder dergleichen an einem Fahrzeug 105v bereitgestellt werden könnten).
  • Jeder in einem System 100 zur Objektpositionsbestimmung verwendete Bezugsmarker 110 sollte bezüglich einer Kategorie von Zielen 105 und einer Lage des Markers 110 an jedem Ziel 105 im Wesentlichen einmalig sein. Im vorliegenden Zusammenhang ist mit einer Kategorie von Zielen 105 ein oder mehrere Ziele 105 gemeint, die im Wesentlichen identische dreidimensionale Modelle und folglich im Wesentlichen identische Abmessungen aufweisen. Daher kann ein Bezugsmarker 110 in manchen Umsetzungen an einer Vielzahl von Zielen 105 angebracht sein, sofern jedes von der Vielzahl von Zielen 105 zu einer gleichen Klasse von Zielen 105 gehört, obwohl auch Umsetzungen möglich sind, in denen jeder Bezugsmarker 110 ein spezifisches Ziel 105 eindeutig identifiziert. Des Weiteren können zwei oder mehr Marker 110 mit einem Ziel 105 oder einer Klasse von Zielen 105 in Verbindung gesetzt werden, wobei jeder der zwei oder mehr Marker 110 eine andere Lage auf einer Oberfläche des Ziels 105 angibt. Somit könnten in einem Beispiel jeweilige Marker 110 an einer vorderen, hinteren, linken Seite und/oder rechten Seite eines Fahrzeugs 105v bereitgestellt sein, damit eine Kamera 152 einen Marker 110 aus verschiedenen Perspektiven des Ziels 105 erkennen kann.
  • Der Datenspeicher 135 beinhaltet typischerweise eine Vielzahl von Dateneinträgen, wobei jeder Dateneintrag anhand einer Kennung, die von einem Bezugsmarker 110 ausgehend decodiert werden kann, im Wesentlichen eindeutig identifiziert wird. Jeder Dateneintrag, der anhand einer Kennung eines Markers 110 identifiziert wird, beinhaltet auf ein Ziel 105 oder eine Klasse von Zielen 105 bezogene Daten, einschließlich einer Beschreibung von Abmessungen des Ziels 105. Im vorliegenden Zusammenhang handelt es sich bei Zielabmessungen um eine dreidimensionale Beschreibung des Ziels 105, d. h. Daten, von denen ausgehend ein Raum vorhergesagt werden kann, den das Ziel 105 in einer physischen Umgebung einnehmen wird. Im vorliegenden Zusammenhang ist eine Abmessung eine messbare Ausdehnung entlang einer Linie, d. h. eine Länge, eine Breite und/oder eine Höhe. Das Ziel 105 kann durch eine normale geometrische Form wie beispielsweise einen Quader (siehe 1) wiedergegeben werden; in diesem Beispiel könnte die Geometrie des Ziels 105 durch Angeben einer Länge, Breite und Höhe des Quaders bereitgestellt werden. Ein anhand einer Kennung eines Markers 110 identifizierter Dateneintrag kann alternativ oder zusätzlich ein dreidimensionales Modell des Ziels 105 beinhalten; ein Raum, den das Ziel 105 in einer physischen Umgebung einnehmen wird, kann ausgehend von einer Pose des Ziels 105, die wie nachfolgend beschrieben bestimmt wird, in Kombination mit dem dreidimensionalen Modell vorhergesagt werden. Das dreidimensionale Datenmodell beinhaltet ein Modell eines Ziels 105 zusammen mit dem Marker 110 in drei Dimensionen, und modelliert das Ziel 105 und den Marker 110, um sie in einem Raum der realen Welt darzustellen. Ein Eintrag für einen Marker 110 beinhaltet typischerweise auch Daten, die eine Lage des Markers 110 auf einer Oberfläche des Ziels 105 angeben, sodass die Position des Ziels 105 ausgehend von einer Analyse eines Bilds des Ziels 105 von der Kamera 150, das den Marker 110 beinhaltet, bestimmt werden kann.
  • Die Kamera 150 kann digitale Bilder bereitstellen, bspw. als Videoeinzelbilder in einem komprimierten Format wie MPEG oder dergleichen. MPEG bezieht sich auf eine Reihe von Standards, die im Allgemeinen von der International Standards Organization/International Electrical Commission Moving Picture Experts Group (MPEG) promulgiert werden. Jeder Frame in Videodaten von der Kamera 150 kann eine bestimmte Anzahl von Bildpunkten breit mal eine bestimmte Anzahl von Bildpunkten hoch sein. Dementsprechend kann ein Koordinatensystem für Videobildframes definiert werden, z. B. ein kartesisches x-y-Koordinatensystem, dessen Ursprung bspw. in einer oberen linken Ecke des Frames liegt. Ein Marker 110 kann gemäß verschiedenen Techniken der Bild- oder Mustererkennung identifiziert werden, woraufhin Koordinaten des Markers 110 in dem Frame wie nachstehend weitergehend beschrieben bestimmt werden.
  • Die Kamera 150 kann fest oder stationär verwendet werden, d. h. mit einer Pose, die gemäß einer vorgegebenen Spezifikation festgelegt wird. Mit einer Pose eines Objekts wie beispielsweise eines Ziels 105 oder einer Kamera 150 sind eine Orientierung (z. B. ein Gieren, ein Nicken und ein Rollen) und eine Position (z. B. ein Satz Koordinaten, die eine Lage in einem Koordinatensystem angeben, z. B. x-, y-, z-Koordinaten) gemeint. Die vorgegebene Pose der Kamera 150 kann eine Grundlage zum Bestimmen einer Pose eines Markers 110, d. h. der Position und Orientierung, beim Identifizieren des Markers 110 in einem Frame von Videodaten von der Kamera 150 bilden.
  • Sobald ein Marker 110 in einem Frame von Daten der Kamera 150 identifiziert worden ist, bspw. gemäß der Programmierung in einem Computer 130, mit der eine Mustererkennungstechnik implementiert wird, kann der Computer 130 beispielsweise einen Marker-110-Dateneintrag aus dem Datenspeicher 130 abrufen. Auf 2 Bezug nehmend, kann ein Marker-110-Dateneintrag Abmessungen des Markers 110, z. B. eine Länge und eine Breite, sowie spezifische Kennzeichen 111, 112 in dem Marker 110, z. B. gemäß einem x-y-Koordinatensystem, angeben.
  • Ein Markerkennzeichen 111, 112 ist eine identifizierbare Form oder Markierung in einem Marker 110, bspw. ein einzelnes rechteckiges Zeichen in einem Marker 110, die von einem Computer 130 in einem Bild des Markers identifiziert werden kann. Das heißt, der Computer 130 kann Bildpunkte im Bild des Markers 110 identifizieren, welche das spezifische Kennzeichen 111, 112 darstellen, bspw., indem er eine Form oder Kombination aus Formen im Bild des Markers 110 erkennt. Ein euklidischer, d.h. linearer, Abstand, bspw. in Bildpunkten gemessen, zwischen einem ersten und zweiten Kennzeichen 111, 112 in einem Bild eines Markers 110 kann anschließend bestimmt werden, bspw. anhand des Satzes des Pythagoras, um einen Abstand zwischen jeweiligen x-y-Koordinaten für zwei Punkte im Bild des Markers 110 zu bestimmen.
  • Der Computer 130 (oder der Datenspeicher 135) kann des Weiteren eine Tabelle oder dergleichen speichern, die einen ersten physischen Abstand, d. h. einen Abstand in der realen, d. h. physischen Welt, von der Kamera 150 spezifiziert, angegeben durch jeweilige Anzahlen von Bildpunkten, die in einem Abstand zwischen dem ersten und zweiten Kennzeichen 111, 112 im Bild des Markers 110 beinhaltet sind. Des Weiteren kann ein Marker-110-Dateneintrag einen zweiten physischen Abstand, d. h. einen physischen euklidischen oder linearen Abstand zwischen den Kennzeichen 111, 112 spezifizieren. Auf der Grundlage des ersten physischen Abstands und des zweiten physischen Abstands kann eine Position des Markers 110 in der physischen Welt bestimmt werden. Das heißt, die Position kann gemäß x-y-z-Koordinaten des Markers 110 in einem Koordinatensystem 115 bereitgestellt werden, das für die physische Welt gilt, bspw. gemäß Grundsätzen der euklidischen Geometrie einschließlich des Satzes des Pythagoras.
  • Eine Orientierung eines Markers 110 gemäß dem für die reale Welt geltenden Koordinatensystem 115 kann ebenfalls von einem Bild des Markers 110 ausgehend bestimmt werden. Das Koordinatensystem 115 kann zum Beispiel eine x-y-, x-z- und y-z-Ebene definieren. Der Computer 110 kann jeweilige Winkel einer Linie zwischen den zwei Punkten im Marker 110 und jeder von der x-y-, x-z- und y-z-Ebene bestimmen. Diese Winkel können dazu verwendet werden, ein Nicken, Gieren und Rollen, d. h. die Orientierung, anzugeben. Den Ausdrücken Nicken, Gieren und Rollen sollten die herkömmlichen Bedeutungen zugeordnet werden. Beispielsweise in Bezug auf ein Fahrzeug wie ein Flugzeug oder einen Pkw ist Nicken eine Rotation um eine Querachse, Gieren eine Rotation um eine Vertikalachse und Rollen eine Rotation um eine Längsachse (z. B. könnten die Quer-, Vertikal- und Längsachse eines Fahrzeugs jeweilige x-, y- und z-Achsen in einem x-y-z-Koordinatensystem sein oder parallel dazu verlaufen). Eine Orientierung eines Objekts wie beispielsweise eines Markers 110 oder Ziels 105 kann gemäß einem Nicken, Gieren und Rollen spezifiziert werden.
  • 3 stellt ein Beispiel für ein Bestimmen der Position eines Ziels 105 in einer physischen Umgebung, konkret ein Bestimmen einer Höhe H eines Markers 110 über einer Bodenoberfläche 300 dar. Im Beispiel von 3 ist die Bodenoberfläche 300 als im Wesentlichen eben dargestellt, d. h., die x-y-Ebene des dreidimensionalen Koordinatensystems 115, wobei es sich jedoch versteht, dass in der Praxis selbst eine Oberfläche einer flachen Straße oder anderen Bodenoberfläche nicht perfekt eben wäre. Die Höhe H ist ein Abstand zwischen einem spezifizierten Punkt 305, z. B. einer spezifizierten x-y-z-Koordinate, auf einer Oberfläche des Ziels 105 und einem Punkt 310, z.B. einer anderen spezifizierten x-y-z-Koordinate, auf der Bodenoberfläche 300. Wie vorstehend erläutert, können eine Position und Orientierung, d. h. Pose, des Ziels 105 in Bezug auf ein dreidimensionales Koordinatensystem 115 bestimmt werden, das für eine Karte der physischen Umgebung vorgesehen ist. Bei den Koordinaten des Punkts 305 am Ziel 105 handelt es sich um Koordinaten, die in Bezug auf den Marker 110 bestimmt werden; so kann der Punkt 305 bspw. ein Mittelpunkt einer unteren Kante des Markers 110 sein. Jede Position oder jeder Punkt am Marker 110 kann einer Position oder einem Punkt, d. h. dreidimensionalen Koordinaten, auf einer Oberfläche des Ziels 105 zugeordnet werden, wie vorstehend erläutert. Der Punkt 310 kann dann bestimmt werden, indem eine vertikale Linie, im Beispiel von 3 bspw. eine zur y-Achse im Koordinatensystem 115 parallel verlaufende Linie, vom Punkt 305 zur Bodenoberfläche 300 gezogen wird.
  • Das Bestimmen einer Höhe H, oder allgemeiner eines Abstands eines Punkts oder Satzes Punkte auf einer Oberfläche eines Ziels 105 von einem oder mehreren anderen Punkten in einer physischen Umgebung, kann mit einer Reihe verschiedener Anwendungsmöglichkeiten einhergehen. In einem Beispiel, wenn es sich bei dem Ziel 105 um ein Fahrzeug 105v handelt, ist das Bestimmen einer Höhe H nützlich, um eine Bodenfreiheit zwischen dem Fahrzeug 105v und einer Bodenoberfläche 300 zu bestimmen. Beispielsweise könnte eine dreidimensionale Karte einer Fahrbahn wie einer Straße in einer Stadt, einer Rennstrecke usw. bereitgestellt werden, und eine Kamera 150 kann zum Aufnehmen von Bildern eines Fahrzeugs 105v, die einen Marker 110 beinhalten, verwendet werden, während sich das Fahrzeug 105v auf der Fahrbahn bewegt. Auf der Grundlage einer Position eines Markers 110 an einer Oberfläche eines Fahrzeugs 105v, einschließlich eines Abstands des Markers 110 von einer unteren Kante des Fahrzeugs 105v, könnte dann die Höhe H bestimmt werden, um einen Abstand oder eine Bodenfreiheit des Fahrzeugs 105v von der Fahrbahn zu bestimmen. Ein Abstand eines Ziels 105 wie beispielsweise eines Fahrzeugs 105v von anderen Objekten könnte ebenfalls bestimmt werden. Anstelle einer Bodenoberfläche 300 könnte ein Abstand eines Fahrzeugs 105v zum Beispiel von einem anderen Objekt wie einer Wand, einem Gebäude, einem Verkehrsschild usw. bestimmt werden.
  • 4 ist eine Darstellung einer Umsetzung des Systems von 1 in Bezug auf ein Fahrzeug. Eine Kamera 150 ist an einem Infrastrukturelement 140 montiert, d. h. einer stationären physischen Struktur, an der eine Kamera 150 fest montiert sein kann (d. h. so, dass sich die Kamera 150 nicht bewegen oder drehen kann). Das Infrastrukturelement 140 kann eine jede geeignete stationäre physische Struktur sein, wie beispielsweise ein Turm, eine Stange, ein Brückenpfosten, eine Verkehrsschildhalterung, eine Außenwand eines Gebäudes usw. Im Beispiel von 4 ist eine Vielzahl von Markern 110, von denen jeder wie vorstehend beschrieben mit einer anderen im Wesentlichen einmaligen Kennung in Verbindung gesetzt sein sollte, an jeweiligen Positionen auf einer Oberfläche des Fahrzeugs 105v bereitgestellt. Somit kann die Kamera 150 in der Position sein, Abmessungen und eine Pose des Fahrzeugs 105v aus verschiedenen Perspektiven zu bestimmen.
  • Des Weiteren können mehr als ein Marker 110 zum Bestimmen der Abmessungen und/oder Pose eines Ziels 105, in diesem Beispiel des Fahrzeugs 105v, verwendet werden. So stellt 4 Marker 110 zum Beispiel an einer Frontstoßstange des Fahrzeugs 105v dar. Der Computer 130 könnte dazu programmiert sein, die Pose eines ersten Fahrzeugs 105v ausgehend von einem ersten Marker 110 und die Pose eines zweiten Fahrzeugs 105v von einem zweiten Marker 110 ausgehend zu bestimmen. Daraufhin könnten eine erste und zweite Höhe H von der ersten und zweiten Pose ausgehend bestimmt werden. Der Computer 130 könnte dann den Durchschnitt der Höhen H bilden, um eine bestimmte Höhe H des Fahrzeugs 105v von einer Bodenoberfläche 300 bereitzustellen.
  • 5 ist ein Ablaufdiagramm eines beispielhaften Ablaufs zum Bestimmen der Position eines Objekts, das einen Bezugsmarker aufweist, bezüglich einer Umgebung in der realen Welt. Der Ablauf 500 kann gemäß der Programmierung in einem Computer 130 ausgeführt werden, dem, wie vorstehend beschrieben, eine Kamera 150 Daten über ein Netz 125 bereitstellen könnte. Alternativ könnte der Computer 130 der Kamera 150 zugehörig sein, z. B. mit ihr an einem Infrastrukturelement 140 montiert sein, in ein und demselben Gehäuse verbaut sein usw.
  • Der Ablauf 500 beginnt bei Block 505, bei dem die Kamera 150 einen Frame von Bilddaten, typischerweise z. B. als einen von einer Vielzahl von Frames, die nacheinander empfangen werden, d. h. als Strom aus Videodaten, empfängt.
  • Anschließend, bei Block 510, analysiert die Kamera 150 den empfangenen Frame, z. B. gemäß herkömmlicher Bildanalyse oder Mustererkennungstechniken, um zu bestimmen, ob in den empfangenen Bilddaten ein Marker 110 erkannt wird; wie vorstehend erwähnt, ist es möglich, dass die Kamera 150 eine Vielzahl von Markern 110 in einem Frame von Bilddaten erkennen könnte. Wenn ein Marker 110 erkannt wird, dann wird als Nächstes Block 515 ausgeführt. Anderenfalls geht der Prozess 500 zu Block 540 über.
  • Bei Block 515 bestimmt der Computer 130 Koordinaten für den Marker 110 im dreidimensionalen Raum, bspw. gemäß einem vorstehend beschriebenen Koordinatensystem 115. Der Computer 130 kann zum Beispiel dazu programmiert sein, eine Kennung eines Markers 110 von dem Marker 110 zu decodieren und einen Eintrag, der auf den Marker 110 bezogene Daten beinhaltet, wie vorstehend beschrieben, bspw. von einem Datenspeicher 135 abzurufen. Folglich könnte der Computer 130 Kennzeichen 111, 112, wie vorstehend beschrieben, identifizieren, und des Weiteren Koordinaten in einem dreidimensionalen Raum für die Kennzeichen 111, 112 bestimmen. Außerdem kann der Computer 130 dann Koordinaten von Kanten, Ecken oder einem beliebigen Punkt, wie beispielsweise dem Punkt 305, des Markers 110 bestimmen.
  • Anschließend, bei Block 520, ruft der Computer 130 Daten bspw. vom Datenspeicher 135 ab, die ein Ziel 105 beschreiben, das in dem Marker-110-Eintrag, welcher bei Block 515 abgerufen wird, spezifiziert und/oder beinhaltet ist. Zu das Ziel 105 beschreibenden Daten gehören typischerweise Abmessungen, z. B. die Höhe, Breite und Länge, des Ziels 105. Die Daten könnten alternativ oder zusätzlich ein dreidimensionales Modell beinhalten.
  • Anschließend, bei Block 525, identifiziert der Computer 130 eine Pose des Ziels 105 im dreidimensionalen Raum. Sprich, der Computer 130 bestimmt eine Position und Orientierung gemäß einem oder mehreren Tripletts von x-y-z-Koordinaten in dem Koordinatensystem 115, wie vorstehend beschrieben.
  • Anschließend, bei Block 530, bestimmt der Computer 130 die Position des Ziels 105 in einer Karte einer physischen Umgebung. Die Karte kann zum Beispiel Koordinaten enthalten, die dem Koordinatensystem 115 entsprechen, was ein Skalieren und Ausrichten des Ziels 105 für die Verankerung in der Karte ermöglicht. Ein Abstand des Ziels 105 von einem Punkt in der Karte, z. B. ein Abstand einer unteren Kante eines Fahrzeugs 105v von einem Punkt 310 auf einer Bodenoberfläche 300, wie vorstehend beschrieben, könnte bestimmt werden.
  • Daraufhin, bei Block 535, könnte der Computer 130 eine oder mehrere Maßnahmen auf der Grundlage der Bestimmungen der Pose und/oder Position des Ziels 105 in einer für eine physische Umgebung geltenden Karte ergreifen. Der Computer 130 könnte die Daten zum Beispiel im Datenspeicher 135 speichern. Alternativ oder zusätzlich könnte der Computer 130 die Daten bspw. über das Netz 25 bspw. zurück zu einem Zielfahrzeug 105v übertragen. Das Zielfahrzeug 105v könnte die durch den Computer 130 übertragenen Daten dann als Grundlage zum Ansteuern einer Komponente des Fahrzeugs 105v verwenden. Würde zum Beispiel eine Höhe H zwischen einer unteren Kante des Fahrzeug 105v und einer Bodenoberfläche 300 über oder unter einem Schwellenwert liegen, könnte ein Fahrzeugcomputer eine Anweisung zum Einstellen einer Federung des Fahrzeugs 105v bereitstellen. Dem ähnlich könnte ein Fahrzeugcomputer die Lenkung des Fahrzeugs 105v ansteuern, um eine Bahn des Fahrzeugs 105v abzuändern, wenn bestimmt wird, dass eine Fahrzeug 105v einer suboptimalen Bewegungsbahn folgt, z. B. nah an einem Hindernis wie einer Kurve oder Mauer.
  • Im Anschluss an Block 535 oder Block 510 wird bei Block 540 bestimmt, ob der Ablauf 500 fortzusetzen ist. Zum Beispiel könnte ein Computer 130 oder eine Kamera 150 abgeschaltet werden, es könnte eine Eingabe zum Beenden des Ablaufs empfangen werden usw. Wenn der Ablauf fortgesetzt werden soll, wird als Nächstes Block 505 ausgeführt; andernfalls endet der Ablauf 500 im Anschluss an Block 540.
  • Das System 100 kann in ganz unterschiedlichen Umgebungen verwendet werden. Beispielsweise könnten ein oder mehrere Marker 110 in ganz unterschiedlichen Kontexten wie vorstehend beschrieben an einem Fahrzeug 105 platziert werden. Das Fahrzeug 105v kann zum Beispiel ein Rennwagen sein, und der bzw. die Marker 110 könnten zum Bestimmen der Position des Fahrzeugs 105v auf einer Rennstrecke verwendet werden. Für ein Rennteam kann zum Beispiel eine Höhe des Fahrzeugs 105v in Bezug auf eine Rennstrecke von besonderer Bedeutung sein.
  • In einem anderen Beispiel kann ein Zielfahrzeug 105v, das einem Crashtest unterzogen werden soll, an bestimmten Karosserieteilen mit Markern 110 versehen werden. Dann können während eines Crashtests Videobilder aufgenommen werden, während das Fahrzeug 105v auf ein Hindernis aufprallt. Das System 100 kann akkurate oder präzise Messungen von Positionen und/oder Bewegungen bestimmter Teile der Karosserieteile des Zielfahrzeugs 105v oder sogar von Crashtest-Dummys in Bezug auf den Rest des Fahrzeugs 105v bereitstellen und die Kollision im Wesentlichen in Echtzeit einer dreidimensionalen Umgebung im Kern zuordnen. Vorteilhafterweise kann das System 100 dann die Zeit reduzieren, die erforderlich ist, um einen Crashtest zu analysieren sowie zusätzliche Erkenntnisse bereitzustellen. Dem ähnlich könnten Bewegungen bestimmter Teile eines Fahrzeugs 105v während eines Fahrtests gemessen, verortet, überwacht werden usw.
  • Es sei darauf hingewiesen, dass - in einem anderen Beispiel - viele Systeme des SLAM (Simultaneous Localization and Mapping) Punktwolkendaten nutzen, um Umgebungen wie auch Objekte und Hindernisse in der Umgebung zu modellieren. Punktwolken werden oftmals von LiDAR-Sensoren generiert. Das System 100 könnte verwendet werden, um Objekte und Hindernisse in einer Umgebung eines Fahrzeugs 105v unter Verwendung einer bekannten Darstellung der Umgebung nachzubilden, die dann mit einem Marker (oder mit Markern) 110 korreliert werden können. Vorteilhafterweise könnten SLAM-Anwendungen bereitgestellt werden, für die nur Sensoreingaben von einer Kamera - im Gegensatz zu einem um Einiges kostspieligerem LiDAR - erforderlich sind, was die Komplexität und Kosten des Testens von SLAM-Systemen erheblich verringern könnte.
  • Im hier verwendeten Sinne bedeutet das Adverb „im Wesentlichen“, dass eine Form, eine Struktur, ein Messwert, eine Menge, eine Zeit usw. aufgrund von Mängeln bei Materialien, Bearbeitung, Herstellung, Datenübertragung, Rechengeschwindigkeit usw. von einer bzw. einem genauen beschriebenen Geometrie, Abstand, Messwert, Menge, Zeit usw. abweichen kann.
  • Im Allgemeinen können die beschriebenen Rechensysteme und/oder -vorrichtungen ein beliebiges aus einer Reihe von Computerbetriebssystemen einsetzen, einschließlich unter anderem Versionen und/oder Varianten der Sync®-Anwendung von Ford, AppLink/Smart Device Link Middleware, der Betriebssysteme Microsoft Automotive®, Microsoft Windows®, Unix (z. B. das Betriebssystem Solaris®, vertrieben durch die Oracle Corporation in Redwood Shores, Kalifornien), AIX UNIX, vertrieben durch International Business Machines in Armonk, New York, Linux, Mac OSX und iOS, vertrieben durch die Apple Inc. in Cupertino, Kalifornien, BlackBerry OS, vertrieben durch die Blackberry, Ltd. in Waterloo, Kanada, und Android, entwickelt von der Google, Inc. und der Open Handset Alliance, oder der Plattform QNX® CAR für Infotainment, angeboten von QNX Software Systems. Beispiele für Rechenvorrichtungen schließen unter anderem Folgendes ein: einen bordeigenen Fahrzeugcomputer, einen Computerarbeitsplatz, einen Server, einen Desktop-, einen Notebook-, einen Laptop- oder einen Handcomputer oder ein anderes Rechensystem und/oder eine andere Rechenvorrichtung.
  • Computer und Rechenvorrichtungen beinhalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorangehend aufgeführten, ausführbar sein können. Computerausführbare Anweisungen können von Computerprogrammen zusammengestellt oder ausgewertet werden, die unter Verwendung vielfältiger Programmiersprachen und/oder -technologien erstellt wurden, einschließlich unter anderem und entweder für sich oder in Kombination Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Perl, HTML usw. Einige dieser Anwendungen können auf einer virtuellen Maschine zusammengestellt und ausgeführt werden, wie etwa der Java Virtual Machine, der Dalvik Virtual Machine oder dergleichen. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Abläufe durchführt, darunter einen oder mehrere der hier beschriebenen Abläufe. Derartige Anweisungen und andere Daten können unter Verwendung vielfältiger computerlesbarer Medien gespeichert und übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert ist.
  • Ein Speicher kann ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) beinhalten, das ein beliebiges nichttransitorisches (z. B. physisches) Medium beinhaltet, das an der Bereitstellung von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer (z. B. durch einen Prozessor eines Computers) ausgelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschließlich unter anderem nichtflüchtiger Medien und flüchtiger Medien. Nichtflüchtige Medien können beispielsweise optische Platten oder Magnetplatten und andere dauerhafte Speicher einschließen. Flüchtige Medien können zum Beispiel einen dynamischen Direktzugriffsspeicher (Dynamic Random Access Memory - DRAM) einschließen, der üblicherweise einen Hauptspeicher darstellt. Derartige Anweisungen können durch ein oder mehrere Übertragungsmedien übertragen werden, einschließlich Koaxialkabeln, Kupferdraht und Glasfasern, welche die Drähte, die einen mit einem Prozessor einer ECU verbundenen Systembus umfassen, beinhalten. Zu gängigen Formen computerlesbarer Medien gehören zum Beispiel eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, ein RAM, ein PROM, ein EPROM, ein FLASH-EEPROM, ein beliebiger anderer Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das durch einen Computer ausgelesen werden kann.
  • Zu hier beschriebenen Datenbanken, Datenbeständen oder sonstigen Datenspeichern können verschiedene Arten von Mechanismen zum Speichern von, Zugreifen auf und Abrufen von verschiedenen Arten von Daten gehören, einschließlich einer hierarchischen Datenbank, einer Gruppe von Dateien in einem Dateisystem, einer Anwendungsdatenbank in einem proprietären Format, eines relationalen Datenbankverwaltungssystems (Relational Database Management System - RDBMS) usw. Jeder derartige Datenspeicher ist im Allgemeinen in einer Rechenvorrichtung eingeschlossen, die ein Computerbetriebssystem wie etwa eines der vorstehend erwähnten einsetzt, und es wird auf eine oder mehrere beliebige von vielfältigen Weisen über ein Netz darauf zugegriffen. Auf ein Dateisystem kann von einem Computerbetriebssystem zugegriffen werden, und es kann in verschiedenen Formaten gespeicherte Dateien beinhalten. Ein RDBMS setzt im Allgemeinen die strukturierte Abfragesprache (Structured Query Language - SQL) zusätzlich zu einer Sprache zum Erstellen, Speichern, Bearbeiten und Ausführen gespeicherter Abläufe ein, wie etwa die vorangehend erwähnte PL/SQL-Sprache.
  • In einigen Beispielen können Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, Personal Computern usw.) umgesetzt sein, die auf damit assoziierten computerlesbaren Medien (z. B. Platten, Speichern usw.) gespeichert sind. Ein Computerprogrammprodukt kann derartige Anweisungen, die auf computerlesbaren Medien gespeichert sind, zum Ausführen der hier beschriebenen Funktionen umfassen.
  • Hinsichtlich der in dieser Schrift beschriebenen Medien, Abläufe, Systeme, Verfahren, Heuristiken usw. versteht es sich, dass, obwohl die Schritte derartiger Abläufe usw. als in einer entsprechenden Reihenfolge erfolgend beschrieben wurden, derartige Abläufe so durchgeführt werden können, dass die beschriebenen Schritte in einer Reihenfolge durchgeführt werden, welche von der hier beschriebenen Reihenfolge abweicht. Es versteht sich ferner, dass bestimmte Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder bestimmte hier beschriebene Schritte weggelassen werden können. Anders ausgedrückt, dienen die Beschreibungen von Abläufen in dieser Schrift der Veranschaulichung bestimmter Ausführungsformen und sollten keinesfalls dahingehend ausgelegt werden, dass sie die Ansprüche einschränken.
  • Dementsprechend versteht es sich, dass die vorstehende Beschreibung als veranschaulichend und nicht einschränkend gedacht ist. Viele Ausführungsformen und Anwendungen, bei denen es sich nicht um die bereitgestellten Beispiele handelt, werden dem Fachmann beim Lesen der vorstehenden Beschreibung ersichtlich sein. Der Umfang der Erfindung sollte nicht unter Bezugnahme auf die vorstehende Beschreibung, sondern stattdessen unter Bezugnahme auf die beigefügten Ansprüche gemeinsam mit dem vollständigen Umfang von Äquivalenten, zu denen derartige Ansprüche berechtigen, bestimmt werden. Es wird davon ausgegangen und ist beabsichtigt, dass es hinsichtlich der hier erörterten Fachgebiete künftige Entwicklungen geben wird und dass die offenbarten Systeme und Verfahren in derartige künftige Ausführungsformen aufgenommen sein werden. Insgesamt versteht es sich, dass die Erfindung modifiziert und variiert werden kann und ausschließlich durch die nachfolgenden Ansprüche eingegrenzt ist.
  • Allen in den Ansprüchen verwendeten Ausdrücken soll deren allgemeine und gewöhnliche Bedeutung zukommen, wie sie vom Fachmann verstanden wird, sofern nicht ausdrücklich etwas anderes angegeben ist. Insbesondere ist die Verwendung der Singularartikel wie etwa „ein“, „eine“, „der“, „die“, „das“ usw. dahingehend auszulegen, dass eines oder mehrere der aufgeführten Elemente genannt wird bzw. werden, es sei denn, ein Anspruch enthält ausdrücklich eine gegenteilige Einschränkung.
  • Gemäß der vorliegenden Erfindung ist ein Verfahren vorgesehen, aufweisend: Identifizieren, ausgehend vom Erkennen eines in einem Bild erkannten Markers, eines physischen Objekts, an dem der Marker bereitgestellt ist; und Bestimmen, auf der Grundlage des Bestimmens einer Position des Markers in der physischen Welt, einer Position und Orientierung des physischen Objekts in der physischen Welt.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung des Weiteren gekennzeichnet durch ein Einbinden des physischen Objekts in eine Karte einer physischen Umgebung.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung des Weiteren gekennzeichnet durch ein Ansteuern einer Komponente eines Fahrzeugs auf der Grundlage der Karte.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung des Weiteren gekennzeichnet durch ein Bestimmen eines Abstands eines Teils des Objekts von einem Punkt in der physischen Welt.
  • Gemäß einer Ausführungsform beinhaltet die Orientierung ein Nicken, ein Gieren und ein Rollen.
  • Gemäß einer Ausführungsform handelt es sich bei dem Objekt um ein Fahrzeug.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung des Weiteren gekennzeichnet durch ein Erkennen eines zweiten Markers in dem Bild und ein Bestimmen der Position oder Orientierung des physischen Objekts auf der Grundlage einer Position des zweiten Markers in der physischen Welt zusätzlich zur Position des Markers in der physischen Welt.
  • Gemäß einer Ausführungsform handelt es sich bei dem Bild um einen Frame von Videodaten.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung des Weiteren gekennzeichnet durch ein Abrufen von Abmessungen des physischen Objekts, nachdem das physische Objekt ausgehend von dem Bestimmen des Markers identifiziert worden ist, und ein Bestimmen der Position und der Orientierung des physischen Objekts teilweise auf der Grundlage der Abmessungen.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung des Weiteren gekennzeichnet durch ein Bestimmen, ausgehend von dem Bild, eines ersten physischen Abstands zwischen einem ersten und zweiten Kennzeichen in dem Marker und ein anschließendes Bestimmen, teilweise auf der Grundlage des ersten physischen Abstands, eines zweiten physischen Abstands des Markers von einer zum Aufnehmen des Bilds verwendeten Kamera.
  • Gemäß der vorliegenden Erfindung ist ein Computer vorgesehen, aufweisend einen Prozessor und einen Speicher, wobei der Speicher Anweisungen speichert, die zu Folgendem durch den Prozessor ausführbar sind: Identifizieren, ausgehend vom Erkennen eines in einem Bild erkannten Markers, eines physischen Objekts, an dem der Marker bereitgestellt ist; und Bestimmen, auf der Grundlage des Bestimmens einer Position des Markers in der physischen Welt, einer Position und Orientierung des physischen Objekts in der physischen Welt.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung des Weiteren gekennzeichnet durch Anweisungen zum Einbinden des physischen Objekts in eine Karte einer physischen Umgebung.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung des Weiteren gekennzeichnet durch Anweisungen zum Ansteuern einer Komponente eines Fahrzeugs auf der Grundlage der Karte.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung des Weiteren gekennzeichnet durch Anweisungen zum Bestimmen eines Abstands eines Teils des Objekts von einem Punkt in der physischen Welt.
  • Gemäß einer Ausführungsform beinhaltet die Orientierung ein Nicken, ein Gieren und ein Rollen.
  • Gemäß einer Ausführungsform handelt es sich bei dem Objekt um ein Fahrzeug.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung des Weiteren gekennzeichnet durch Anweisungen zum Erkennen eines zweiten Markers in dem Bild und zum Bestimmen der Position oder Orientierung des physischen Objekts auf der Grundlage einer Position des zweiten Markers in der physischen Welt zusätzlich zur Position des Markers in der physischen Welt.
  • Gemäß einer Ausführungsform handelt es sich bei dem Bild um einen Frame von Videodaten.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung des Weiteren gekennzeichnet durch Anweisungen zum Abrufen von Abmessungen des physischen Objekts, nachdem das physische Objekt ausgehend von dem Bestimmen des Markers identifiziert worden ist, und zum Bestimmen der Position und der Orientierung des physischen Objekts teilweise auf der Grundlage der Abmessungen.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung des Weiteren gekennzeichnet durch Anweisungen zum Bestimmen, ausgehend von dem Bild, eines ersten physischen Abstands zwischen einem ersten und zweiten Kennzeichen in dem Marker und zum anschließenden Bestimmen, teilweise auf der Grundlage des ersten physischen Abstands, eines zweiten physischen Abstands des Markers von einer zum Aufnehmen des Bilds verwendeten Kamera.

Claims (12)

  1. Verfahren, umfassend: Identifizieren, ausgehend vom Erkennen eines in einem Bild erkannten Markers, eines physischen Objekts, an dem der Marker bereitgestellt ist; und Bestimmen, auf der Grundlage des Bestimmens einer Position des Markers in der physischen Welt, einer Position und Orientierung des physischen Objekts in der physischen Welt.
  2. Verfahren nach Anspruch 1, des Weiteren umfassend Einbinden des physischen Objekts in eine Karte einer physischen Umgebung.
  3. Verfahren nach Anspruch 2, des Weiteren umfassend Ansteuern einer Komponente eines Fahrzeugs auf der Grundlage der Karte.
  4. Verfahren nach Anspruch 2, des Weiteren umfassend Bestimmen eines Abstands eines Teils des Objekts von einem Punkt in der physischen Welt.
  5. Verfahren nach Anspruch 1, wobei die Orientierung ein Nicken, ein Gieren und ein Rollen beinhaltet.
  6. Verfahren nach Anspruch 1, wobei es sich bei dem Objekt um ein Fahrzeug handelt.
  7. Verfahren nach Anspruch 1, des Weiteren umfassend Erkennen eines zweiten Markers in dem Bild und Bestimmen der Position oder Orientierung des physischen Objekts auf der Grundlage einer Position des zweiten Markers in der physischen Welt zusätzlich zur Position des Markers in der physischen Welt.
  8. Verfahren nach Anspruch 1, wobei es sich bei dem Bild um einen Frame von Videodaten handelt.
  9. Verfahren nach Anspruch 1, des Weiteren umfassend Abrufen von Abmessungen des physischen Objekts, nachdem das physische Objekt ausgehend von dem Bestimmen des Markers identifiziert worden ist, und Bestimmen der Position und der Orientierung des physischen Objekts teilweise auf der Grundlage der Abmessungen.
  10. Verfahren nach Anspruch 1, des Weiteren umfassend Bestimmen, ausgehend von dem Bild, eines ersten physischen Abstands zwischen einem ersten und zweiten Kennzeichen in dem Marker und anschließendes Bestimmen, teilweise auf der Grundlage des ersten physischen Abstands, eines zweiten physischen Abstands des Markers von einer zum Aufnehmen des Bilds verwendeten Kamera.
  11. Computer, der zum Ausführen des Verfahrens nach einem der Ansprüche 1-10 programmiert ist.
  12. Computerlesbares Medium, das Programmanweisungen speichert, die Anweisungen zum Ausführen des Verfahrens nach einem der Ansprüche 1-10 beinhalten.
DE102019125169.9A 2018-09-20 2019-09-18 Objektpositionsbestimmungsvorrichtung mittels bezugsmarker Pending DE102019125169A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/136,379 2018-09-20
US16/136,379 US11010919B2 (en) 2018-09-20 2018-09-20 Object locator with fiducial marker

Publications (1)

Publication Number Publication Date
DE102019125169A1 true DE102019125169A1 (de) 2020-03-26

Family

ID=69725309

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019125169.9A Pending DE102019125169A1 (de) 2018-09-20 2019-09-18 Objektpositionsbestimmungsvorrichtung mittels bezugsmarker

Country Status (3)

Country Link
US (1) US11010919B2 (de)
CN (1) CN110929538A (de)
DE (1) DE102019125169A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3904828A1 (de) * 2020-04-28 2021-11-03 Salamander Industrie-Produkte GmbH Verfahren zum auslegen eines bauelements und messsystem
DE102021114265A1 (de) 2021-06-02 2022-12-08 Bayerische Motoren Werke Aktiengesellschaft Robotervorrichtung eingerichtet zur Ermittlung einer Zielobjektlage eines vorbestimmten Zielobjekts und Verfahren

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11113819B2 (en) * 2019-01-15 2021-09-07 Nvidia Corporation Graphical fiducial marker identification suitable for augmented reality, virtual reality, and robotics
EP3706076B1 (de) * 2019-03-07 2021-02-24 Siemens Healthcare GmbH Verfahren und vorrichtung zur bestimmung der abmessungen und entfernung einer mehrzahl von objekten in einer umgebung
US20220048199A1 (en) * 2020-08-17 2022-02-17 Faro Technologies, Inc. Referencing pose manipulation system for marker based tracking of position measurement system
US11827203B2 (en) * 2021-01-14 2023-11-28 Ford Global Technologies, Llc Multi-degree-of-freedom pose for vehicle navigation

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002069272A2 (en) 2001-01-26 2002-09-06 Zaxel Systems, Inc. Real-time virtual viewpoint in simulated reality environment
GB2447672B (en) 2007-03-21 2011-12-14 Ford Global Tech Llc Vehicle manoeuvring aids
US8411086B2 (en) 2009-02-24 2013-04-02 Fuji Xerox Co., Ltd. Model creation using visual markup languages
US9410827B2 (en) * 2012-10-09 2016-08-09 Pixameter Corp. Measurement using a calibration pattern
US10321117B2 (en) 2014-04-11 2019-06-11 Lucasfilm Entertainment Company Ltd. Motion-controlled body capture and reconstruction
EP3146729A4 (de) 2014-05-21 2018-04-11 Millennium Three Technologies Inc. Bezugsmarkermuster, deren automatische detektion in bildern und anwendungen davon
US10029577B2 (en) * 2016-06-15 2018-07-24 Qualcomm Incorporated Methods and apparatus for positioning a vehicle
US11119476B2 (en) * 2017-07-26 2021-09-14 Clearpath Robotics Inc. Systems and methods for monitoring a self driving vehicle

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3904828A1 (de) * 2020-04-28 2021-11-03 Salamander Industrie-Produkte GmbH Verfahren zum auslegen eines bauelements und messsystem
DE102021114265A1 (de) 2021-06-02 2022-12-08 Bayerische Motoren Werke Aktiengesellschaft Robotervorrichtung eingerichtet zur Ermittlung einer Zielobjektlage eines vorbestimmten Zielobjekts und Verfahren

Also Published As

Publication number Publication date
US11010919B2 (en) 2021-05-18
US20200098131A1 (en) 2020-03-26
CN110929538A (zh) 2020-03-27

Similar Documents

Publication Publication Date Title
DE102019125169A1 (de) Objektpositionsbestimmungsvorrichtung mittels bezugsmarker
DE102016223422B4 (de) Verfahren zur automatischen Ermittlung extrinsischer Parameter einer Kamera eines Fahrzeugs
DE102016116818A1 (de) Verfahren und Vorrichtung zum Erfassen einer Fahrzeugkontur durch Punktwolkendaten
DE102019120880A1 (de) End-to-end-deep-generative-modell für simultane lokalisierung und abbildung
DE102018205915A1 (de) Monokulare Lokalisierung in städtischen Umgebungen unter Verwendung von Straßenmarkierungen
DE102017116192A1 (de) Verwenden von virtuellen Daten zum Testen und Trainieren von Parkplatzerfassungssystemen
DE102016100492A1 (de) Virtueller autonomer Antwortprüfstand
DE102016100428A1 (de) In virtuellen Umgebungen verfeinertes autonomes Fahren
DE202009019124U1 (de) Bildinhalte zur einfacheren Navigation in Panorama-Bilddaten
DE102020130674A1 (de) Fahrzeugposenerfassung mit bezugsmarker
DE102019125131A1 (de) Sensorblickfeldabbildung
DE102020102915A1 (de) Hybride metrisch-topologische kamerabasierte positionsbestimmung
DE102020100027A1 (de) Überwachungs- und steuerinfrastruktur für fahrzeuge
DE112020000590T5 (de) Karte und verfahren zum erstellen einer karte
DE102019127062A1 (de) Transportinfrastrukturkommunikation und -steuerung
DE102019110428A1 (de) Sensorkalibrierung
DE102021104176A1 (de) Detektion von federungskomponentenschäden mit markierung
DE102013227222A1 (de) Gerät und Verfahren für das Extrahieren eines Merkmalpunktes zum Erkennen eines Hindernisses, wobei ein Laserscanner benutzt wird
DE102019127208A1 (de) Sensorbegrenzter Spurwechsel
DE102020120085A1 (de) Erfassung von fahrzeugbedrohungen und reaktion darauf
DE102021104044A1 (de) Neuronales netzwerk zur positionsbestimmung und objektdetektion
DE102020100022A1 (de) Positionsbestimmungstechnik
DE102021112616A1 (de) Selbstüberwachte schätzung einer beobachteten fahrzeugpose
DE112013003541B4 (de) Verfahren, Programm und System zur Merkmalextraktion
DE102019127816A1 (de) Adaptive fahrzeuginfrastrukturkommunikationen

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: LORENZ SEIDLER GOSSEL RECHTSANWAELTE PATENTANW, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009620000

Ipc: G06V0030190000