DE102021102643A1 - Verfahren zum Schätzen einer Pose eines Objektes, Computerprogramm und System - Google Patents

Verfahren zum Schätzen einer Pose eines Objektes, Computerprogramm und System Download PDF

Info

Publication number
DE102021102643A1
DE102021102643A1 DE102021102643.1A DE102021102643A DE102021102643A1 DE 102021102643 A1 DE102021102643 A1 DE 102021102643A1 DE 102021102643 A DE102021102643 A DE 102021102643A DE 102021102643 A1 DE102021102643 A1 DE 102021102643A1
Authority
DE
Germany
Prior art keywords
image
pose
determined
neural network
stage
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
DE102021102643.1A
Other languages
English (en)
Inventor
Peter Kiechle
Nick Jagiella
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.)
ADVANCED REALTIME TRACKING GmbH
Original Assignee
ADVANCED REALTIME TRACKING GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ADVANCED REALTIME TRACKING GmbH filed Critical ADVANCED REALTIME TRACKING GmbH
Publication of DE102021102643A1 publication Critical patent/DE102021102643A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • 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/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • 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/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

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

Abstract

Die Erfindung betrifft ein Verfahren zum Schätzen einer Pose eines Objektes (200) unter Verwendung eines neuronalen Netzes, wobei, in einer ersten Stufe (S1), bei einem mittels einer Kamera aufgenommenen Bild (140) des Objektes (200) unter Verwendung des neuronalen Netzes eine Schätzung (210) der Pose ermittelt wird, und wobei, in einer zweiten Stufe (S2), objektspezifische Informationen (220) in dem aufgenommenen Bild (140) ermittelt werden, und wobei basierend auf einem Vergleich dieser objektspezifischen Informationen (220) mit entsprechenden, unabhängig von dem aufgenommenen Bild (140) vorhandenen Informationen (221) über das Objekt, eine in der ersten Stufe (S1) ermittelte Schätzung (210) der Pose des Objektes verfeinert wird, sowie ein Computerprogramm, und ein System zum Schätzen der Pose eines Objektes (200).

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Schätzen einer Pose eines Objektes unter Verwendung eines neuronalen Netzes anhand eines Bildes des Objektes, das mittels einer Kamera aufgenommen wird, ein Computerprogramm sowie ein System zum Schätzen einer Pose eines Objektes.
  • Stand der Technik
  • In den Bereichen der Robotik, Automatisierung, Augmented-Reality, Navigation, Mensch-Maschine-Interaktion und dergleichen ist es in aller Regel erforderlich, die Umgebung selbst sowie insbesondere Objekte in der Umgebung zu erkennen, einzuordnen, deren genaue Pose (d.h. Position und Orientierung) zu bestimmen und ggf. auch zu verfolgen.
  • Eine besondere Herausforderung beim Verfolgen (sog. Tracken) von Objekten ist dabei in der Regel das Finden einer Initialpose eines Objektes bzw. das Wiederfinden eines Objektes bzw. dessen Pose nach einem „Abreißen“ bzw. Aussetzen der Verfolgung.
  • Hierbei gibt es Möglichkeiten, eine Pose eines Objektes im Raum auf Basis eines mittels einer Kamera erfassten Bildes und ohne Verwendung eines Tiefensensors zu ermitteln. Hierzu können insbesondere auch sog. (künstliche) neuronale Netze eingesetzt werden, mit deren Hilfe die Pose eines Objektes in der Umgebung anhand eines Bildes - oder umgekehrt, die Pose der verwendeten Kamera in Bezug auf das Objekt - ermittelt werden kann. Solche neuronalen Netze müssen dabei zunächst eingelernt werden.
  • Die Verwendung eines neuronalen Netzes zur Ermittlung bzw. zum Schätzen einer Pose eines Objektes anhand eines Bildes, das mittels einer Kamera aufgenommen wird, ist beispielsweise aus „Alex Kendall, Matthew Grimes, Roberto Cipolla. Posenet: A Convolutional Network for Real-Time 6-DOF Camera Relocalization. 2016“ bekannt.
  • Bei solchen neuronalen Netzen müssen zum Einlernen bzw. Trainieren bestimmte Darstellungen bzw. Parametrierungen für die Pose, d.h. die Position und die Orientierung des Objektes verwendet werden. Problematisch hierbei ist jedoch, dass bei bekannten Parametrierungen der Pose der Vorgang des Einlernens meist nicht konvergiert, beispielsweise weil es Sprungstellen in den Parametrierungen gibt, diese mehrdeutig sind oder in unterschiedlichen Wertebereichen liegen.
  • Bei einer Anwendung wird dann, unter Verwendung des neuronalen Netzes, anhand eines mittels einer Kamera aufgenommenen Bildes eines Objektes die Pose dieses Objektes geschätzt. Die Genauigkeit der Schätzung der Pose mit Hilfe eines neuronalen Netzes hängt von der Verteilung (also der „Dichte“) der für das Einlernen bzw. Trainieren verwendeten Bilder (sog. Trainingsbilder) ab.
  • Um das neuronale Netz also möglichst gut einzulernen bzw. zu trainieren bzw. um mit dem neuronalen Netz eine Pose möglichst gut bzw. genau zu schätzen, könnte also eine möglichst dichte Verteilung von Bildern mit verschiedenen Kamerapositionen, aus denen die Bilder bzw. Trainingsbilder aufgenommen bzw. gerendert werden, verwendet werden. Die benötigte Zeit für die Erstellung dieser Trainingsbilder sowie für das Einlernen bzw. Trainieren des neuronalen Netzes wächst aber zumindest in etwa linear mit der Anzahl der Trainingsdatensätze an.
  • Außerdem hat sich gezeigt, dass es - aufgrund der Charakteristik der hierfür typischerweise verwendeten neuronalen Netze - eine Art Obergrenze der erreichbaren Genauigkeit gibt, sodass auch durch weitere bzw. zusätzliche Trainingsbilder bzw. Trainingsdaten kein besseres Ergebnis beim Schätzen der Pose erreicht werden kann.
  • Vor diesem Hintergrund stellt sich die Aufgabe, eine Möglichkeit zum Schätzen einer Pose eines Objektes aus einem mit einer Kamera aufgenommenen Bild und unter Verwendung eines neuronalen Netzes zur Verfügung zu stellen, die ein möglichst genaues Ergebnis liefert, wobei das verwendete neuronale Netz möglichst einfach und schnell zu erstellen ist.
  • Offenbarung der Erfindung
  • Erfindungsgemäß werden ein Verfahren zum Schätzen einer Pose, ein Computerprogramm und ein System mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
  • Die Erfindung beschäftigt sich mit einem Verfahren zum Schätzen einer Pose eines Objektes unter Verwendung eines neuronalen Netzes (bzw. eines künstlichen neuronalen Netzes), und zwar anhand eines von dem Objekt mittels einer Kamera aufgenommenen Bildes. Als neuronales Netz kommt dabei insbesondere ein sog. faltendes neuronales Netz (bzw. engl. „Convolutional Neuronal Network“) in Betracht.
  • Ein solches neuronales Netz wird in aller Regel vor der erstmaligen Verwendung eingelernt bzw. trainiert. Ebenso kann es während des Betriebs noch (weiter) eingelernt bzw. nachtrainiert werden. Hierzu können, z.B. auf einem geeigneten Rechensystem, Informationen über das Objekt und eine Vielzahl von Bildern mit verschiedenen Ansichten des Objektes (insbesondere auch in Kombination mit den jeweils zugehörigen Posen) bereitgestellt werden. Diese Informationen über das Objekt können dabei insbesondere geometrische Abmessungen, Formen, Kanten und dergleichen umfassen, anhand derer sich das Objekt beschreiben bzw. identifizieren lässt. Die verschiedenen Ansichten des Objektes sind nötig, um dem neuronalen Netz möglichst viele Informationen über mögliche Orientierungen des Objektes und deren Darstellung auf einem Bild zu geben, anhand welcher das neuronale Netz dann eingelernt bzw. trainiert werden kann. Für eine im Rahmen der Erfindung vorgeschlagene, besonders bevorzugte Art des Einlernens sei auf die noch folgenden Ausführungen verwiesen.
  • Bei dem vorgeschlagenen Verfahren wird nun zunächst, in einer ersten Stufe, von einem mittels einer Kamera aufgenommenen Bild des Objektes unter Verwendung des neuronalen Netzes eine Schätzung der Pose ermittelt. Hierzu kann das Bild bzw. können die entsprechenden Bilddaten einem ausführenden Rechensystem, auf dem ein Computerprogramm, das das neuronale Netz verwendet, zugeführt werden. Auf dem Rechensystem kann die Pose dann geschätzt werden. Wie schon erwähnt, hängt die Genauigkeit der Schätzung der Pose des Objekts zumindest auch von der Verteilung bzw. „Dichte“ solcher Bilder - und damit auch deren Anzahl - ab, jedoch umso weniger bis gar nicht mehr, je höher diese „Dichte“ bzw. Anzahl ist.
  • Bei dem vorgeschlagenen Verfahren werden nun, in einer zweiten Stufe, objektspezifische Informationen in dem aufgenommenen Bild ermittelt, wobei basierend auf einem Vergleich dieser objektspezifischen Informationen mit entsprechenden, unabhängig von dem aufgenommenen Bild vorhandenen Informationen über das Objekt, eine in der ersten Stufe ermittelte Schätzung der Pose des Objektes verfeinert wird.
  • Dies kann besonders bevorzugt dadurch erfolgen, dass in der zweiten Stufe Kanten des Objekts in dem aufgenommenen Bild als objektspezifische Informationen ermittelt werden, wobei Geometriedaten (also z.B. geometrische Abmessungen, Formen, Kanten und dergleichen) des Objekts als die unabhängig von dem aufgenommenen Bild vorhandenen Informationen über das Objekt verwendet werden. Mit anderen Worten wird also eine kantenbasierte Feinlokalisierung vorgenommen, die das Ergebnis der ersten Stufe verbessert, indem von diesem ausgehend die aus Geometriedatendaten des Objektes erwarteten Kanten und die im (aufgenommenen) Bild erkannten Kanten möglichst weitgehend zur Deckung gebracht werden, also insbesondere diejenige Perspektive gesucht wird, bei der ein lokales Minimum der Abweichungen entsteht.
  • Alternativ ist es auch bevorzugt, wenn in der zweiten Stufe eine oder mehrere Texturen in einem oder mehreren Bereichen des aufgenommenen Bildes als objektspezifische Informationen ermittelt werden, wobei Texturdaten des Objekts und/oder Texturdaten aus einem oder mehreren anderen Bildern des Objekts als die unabhängig von dem aufgenommenen Bild vorhandenen Informationen über das Objekt verwendet werden. Damit kann das gleiche Ergebnis wie bei der Varianten mit den Geometriedaten erhalten werden, was insbesondere für Objekte, die zu wenig oder aber auch zu viel Kanteninformation bieten zweckmäßig ist.
  • Mit dieser vorgeschlagenen zweiten Stufe kann also eine besonders genaue Schätzung der Pose des Objektes erreicht werden, ohne jedoch eine sehr hohe Anzahl an Bildern mit verschiedenen Ansichten für das Einlernen aufnehmen bzw. erzeugen zu müssen, was einerseits an sich schon eine lange Zeit in Anspruch nehmen würde und zudem das Einlernen auch noch deutlich verlängern würde. Außerdem kann damit, wie eingangs schon erwähnt, ohnehin nur eine begrenzte Genauigkeit erreicht werden. Dieses Problem stellt sich mit dem vorgeschlagenen Verfahren bzw. dieser zweiten Stufe nicht.
  • Vorzugsweise werden Abstandswerte für einen oder mehrere Punkte des Objekts in dem aufgenommenen Bild ermittelt und in der zweiten Stufe zum Verfeinern der in der ersten Stufe ermittelten Schätzung der Pose des Objektes verwendet. Solche Abstandswerte, insbesondere im Sinne einer Abstandskarte (bzw. „Distance Map“) ermöglichen einen schnelleren Ablauf der zweiten Stufe, da die objektspezifischen Informationen einfacher und schneller ermittelt bzw. zugeordnet werden können. Diese Abstandswerte können schon während der ersten Stufe, aber auch am Anfang der zweiten Stufe ermittelt werden, ggf. auch in einer Art Zwischenstufe. Die Abstandswerte selbst können dabei z.B. anhand von Metainformationen des aufgenommenen Bildes, aber auch aus einer Auswertung des Bildes hinsichtlich Schärfe oder Kontrast gewonnen werden.
  • Vorteilhafterweise werden eine oder mehrere, zumindest annähernd auf Pixel genaue Masken des Objekts ermittelt werden (soweit möglich, sollten diese Masken pixelgenau sein), wobei basierend darauf die objektspezifischen Informationen in dem aufgenommenen Bild ermittelt werden. Damit können besonders einfach und schnell Bereiche im aufgenommenen Bild mit Hintergrund und/oder Verdeckungen ermittelt werden, sodass Kanten oder ggf. Texturen in relevanten Bereichen im aufgenommenen Bild noch vor der eigentlichen Verfeinerung der Schätzung im zweiten Stufe etwaige Ausreißer, d.h. Objekte, die fälschlich als relevante Kanten oder Texturen angesehen werden könnten, aussortiert werden können.
  • Es ist auch von Vorteil, wenn simultan zum Schätzen der Pose eine Karte einer Umgebung des Objektes ermittelt wird. In diesem Sinne (Stichwort „Simultaneous Localization and Mapping“ bzw. SLAM) können die schon vorhandenen Informationen genutzt werden, um Umgebungskarten zu erzeugen, die z.B. bei Anwendung des vorgeschlagenen Verfahrens bei der Navigation eines Fahrzeugs verwendet werden können. Denkbar ist auch, solche Karten nicht erst bzw. nicht nur zu erstellen, sondern (auch) zu verbessern.
  • Weiterhin ist es bevorzugt, wenn die unabhängig von dem aufgenommenen Bild vorhandenen Informationen über das Objekt in Echtzeit (also „online“, nicht „offline“) ermittelt und in der zweiten Stufe zum Verfeinern der in der ersten Stufe ermittelte Schätzung der Pose des Objektes verwendet werden. Dies ermöglicht eine genauere Anpassung an die aktuelle Situation bzw. das bei der Anwendung tatsächlich vorhandene Objekt bzw. das davon aufgenommene Bild.
  • Vorzugsweise werden, wenn ein mittels einer bewegten Kamera aufgenommenes Bild des Objektes verwendet wird (wobei das Objekt selbst dann insbesondere in Ruhe ist bzw. die Bewegungen von Kamera und Objekt voneinander getrennt werden können), Bewegungsinformationen über eine Bewegung der Kamera, während das Bild aufgenommen worden ist, zum Verfeinern der in der ersten Stufe ermittelten Schätzung der Pose des Objektes verwendet.
  • In Fällen, in denen die das Bild erzeugende bzw. aufnehmende Kamera sich bewegt und das zu detektierende Objekt insbesondere stillsteht, kann damit ein Selbstlern-Algorithmus und damit eine Erweiterung des Wertebereichs des neuronalen Netzes erreicht werden. Solche Bewegungsinformationen können insbesondere mittels einer zweckmäßigerweise starr mit der Kamera verbundenen Inertial Motion Unit bzw. Inertial Measurement Unit (IMU) erfasst bzw. ermittelt werden. Geringfügige Überschreitungen des initialen Wertebereichs (der für das neuronale Netz verwendet wird) innerhalb kurzer Zeitspannen können mit einer solchen IMU (oder auch vergleichbarer Systeme) mit hinreichender Genauigkeit gemessen werden. In der Folge können neue Wertepaare außerhalb des initialen Wertebereichs für z.B. das Nachtrainieren des neuronalen Netzes zur Verfügung gestellt werden. Außerdem kann damit (also beim Einsatz einer mit der Kamera verbundenen IMU oder eines vergleichbaren Systems) auch die Initialisierung der zweiten Stufe zur Verfeinerung der Schätzung der Pose stabilisiert bzw. verbessert werden. Als Folge sind weniger dichte Stützstellen - also insgesamt weniger Bilder mit verschiedenen Ansichten - für das Training bzw. Einlernen des neuronalen Netzes nötig.
  • Wie schon erwähnt, wird das neuronale Netz zweckmäßigerweise vor einer erstmaligen Verwendung initial eingelernt bzw. trainiert, indem Informationen über das Objekt und eine Vielzahl von Bildern mit verschiedenen Ansichten des Objektes bereitgestellt werden. Ebenso kann das neuronale Netz nach einer erstmaligen Verwendung erneut eingelernt bzw. nachtrainiert werden. Hierzu wird dann besonders bevorzugt ein mittels der Kamera aufgenommenes Bild, insbesondere in Kombination mit der in der zweiten Stufe verfeinerten Schätzung der Pose des Objektes, als eines der Vielzahl von Bildern verwendet. Es versteht sich, dass dieser Vorgang mehrmals bzw. nach jedem oder auch immer nach mehreren Schätzvorgängen mit dann ggf. auch gleich mehreren hinzuzunehmenden Bildern erfolgen kann.
  • Während das Einlernen nach der erstmaligen Verwendung d.h.. das Nachtrainieren, bevorzugt auf einem Rechensystem erfolgt, auf dem das neuronale Netz bzw. ein Computerprogramm, das dieses verwendet, ausgeführt wird, kann das erstmalige Einlernen auch auf einem anderen, ggf. leistungsfähigeren, Rechensystem erfolgen. Grundsätzlich kann aber auch das erstmalige Einlernen auf dem später zu verwenden Rechensystem erfolgen, genauso wie ein Nachtrainieren auf einem separaten Rechensystem erfolgen kann.
  • Nachfolgend soll ein im Rahmen der Erfindung vorgeschlagenes Vorgehen zum Einlernen eines neuronalen Netzes näher erläutert werden, mit dem es auch möglich ist, ein Computerprogramm zu erstellen, das sich eines (dann eingelernten) neuronalen Netzes bedient, und das dann im Rahmen des vorgeschlagenen Verfahrens zum Schätzen der Pose verwendet werden kann, bei Bedarf aber auch unabhängig davon verwendet werden kann.
  • Wie vorstehend schon erläutert, kann mittels eines solchen neuronalen Netzes bzw. eines Computerprogramms, das ein solches neuronales Netz verwendet, eine Pose - darunter ist die Kombination aus Position und Orientierung zu verstehen - eines Objektes im Raum anhand nur eines Bildes des Objektes ermittelt werden.
  • Als ein Rechensystem, auf dem das das Einlernen durchgeführt werden kann, d.h. das neuronale Netz trainiert, wird, kommt beispielsweise ein Computer oder eine andere Recheneinheit in Betracht. Denkbar sind natürlich auch mehrere Computer bzw. Recheneinheiten, die insbesondere auch zusammenarbeiten. Im Falle des Nachtrainierens kommt auch, wie schon erwähnt, das für das Schätzen der Pose verwendete Rechensystem in Betracht.
  • Hierzu werden, insbesondere auf dem Rechensystem, Informationen über das Objekt und eine Vielzahl von Bildern mit verschiedenen Ansichten des Objektes bereitgestellt. Diese Informationen über das Objekt können dabei insbesondere geometrische Abmessungen, Formen, Kanten, Texturen und dergleichen umfassen, anhand derer sich das Objekt beschreiben bzw. identifizieren lässt. Die verschiedenen Ansichten des Objektes sind nötig, um dem neuronalen Netz möglichst viele Informationen über mögliche Orientierungen des Objektes und deren Darstellung auf einem Bild zu geben, anhand welcher das neuronale Netz dann eingelernt bzw. trainiert werden kann. Hinsichtlich bevorzugter Möglichkeiten, die für die verschiedenen Ansichten in Betracht kommen, sei auf die noch folgenden Ausführungen verwiesen.
  • Es wird dann, insbesondere auf dem Rechensystem, unter Verwendung von Parametern für eine Position und eine Orientierung - also insgesamt die Pose - des Objektes in den Bildern das neuronale Netz zum Schätzen der Position und Orientierung des Objektes in mehreren Rechenschritten eingelernt. Hierbei handelt es sich um einen - an sich bekannten - Ablauf zum Einlernen bzw. Trainieren eines neuronalen Netzes, d.h. dem neuronalen Netz werden möglichst viele Daten - hier in Form von Bildern mit verschiedenen Ansichten des Objektes, insbesondere auch mit zugehörigen Informationen zur Pose - zugeführt, anhand welcher das neuronale Netz lernen kann, wie verschiedene Positionen und Orientierungen des Objektes, insbesondere auch unter verschiedenen Aufnahmebedingungen für die Bilder, in den Bildern aussehen können.
  • Der genaue Ablauf bzw. die genauen Rechenschritte und damit auch der Aufbau des neuronalen Netzes sind hierbei im Allgemeinen weniger bis nicht relevant, wobei jedoch, wie schon erwähnt, der Vorgang des Einlernens konvergieren sollte. Auf diese Weise kann das neuronale Netz dann später in einer konkreten Anwendung - also insbesondere im Rahmen des vorstehend beschriebenen Ablaufs - anhand eines mittels einer Kamera aufgenommenen Bildes eine Pose des Objektes schätzen, und zwar insbesondere genauer, als die bei Einlernen bereitgestellten Daten waren. Es gilt jedoch, dass - zumindest bis zu einer gewissen Grenze - mittels eines neuronalen Netzes später die Pose umso genauer geschätzt werden kann, je mehr verschiedene Daten und zugehörige Ansichten des Objektes beim Einlernen bereitgestellt wurden.
  • Für die Position des Objektes werden drei Parameter für Koordinaten innerhalb eines vorbestimmten Erfassungsraumes der Kamera, insbesondere in einem geeigneten Kamerakoordinatensystem, verwendet. Ein solcher Erfassungsraum ist typischerweise in Form eines sog. Kamerafrustums, d.h. eines Pyramidenstumpfes, das das Sichtfeld der Kamera zwischen einer vorderen und einer hinteren Clipping-Ebene eingrenzt, gegeben. Die Koordinaten können dann als kartesische bzw. x-y-z-Koordinaten verwenden werden, insbesondere als sog. normalisierte Gerätekoordinaten, d.h. mit Werten im Intervall [-1;+ 1]. Die relevanten Eckdaten für den Erfassungsraum wie beispielsweise die Entfernungen der Clipping-Ebenen oder deren Abmessungen können entsprechend vorgegeben werden.
  • Für die Orientierung des Objektes werden fünf Parameter verwendet, die drei Koordinaten für einen dreidimensionalen Vektor innerhalb einer Einheitskugel und zwei Koordinaten für einen zweidimensionalen Vektor innerhalb eines Einheitskreises umfassen. Der dreidimensionale Vektor in der Einheitskugel kann dabei sowohl einen Nickwinkel als auch einen Gierwinkel angeben. Ein Rollwinkel (also insbesondere eine Drehung um beispielsweise eine Längsachse des Kamerasichtfeldes) kann über den zweidimensionalen Vektor im Einheitskreis angegeben werden. Damit kann mit fünf Parametern bzw. Koordinaten die Orientierung des Objektes ohne Sprungstellen oder dergleichen angegeben werden, d.h. mit diesen fünf Koordinaten ist eine Orientierung im Raum eindeutig festgelegt. Dies führt dazu, dass das Einlernen bzw. Training des neuronalen Netzes konvergiert. Insgesamt werden damit acht Parameter bzw. Koordinaten für das neuronale Netz verwendet.
  • Im Vergleich dazu gibt es bei oftmals verwendeten sog. Quaternionen Sprungstellen, d.h. bestimmte Orientierungen können durch zwei verschiedene Parametersätze bzw. Quaternionen (beispielsweise ein Quaternion q und das entsprechende negative Quaternion -q) dargestellt werden. Beim Einlernen des neuronalen Netzes kann dies dazu führen, dass zwischen den zwei Darstellungen hin und her gesprungen wird, d.h. das Einlernen konvergiert nicht.
  • Mit dem vorgeschlagenen Vorgehen hingegen kann ein neuronales Netz, das zum Schätzen einer Pose eines Objektes in einem Bild dient, zum einen überhaupt und zum anderen auch besonders schnell erstellt bzw. eingelernt werden. Als Resultat wird dann ein neuronales Netz bzw. ein Computerprogramm, das ein solches neuronales Netz verwendet bzw. darauf basiert, erhalten, das als Eingang ein Bild, insbesondere ein Graustufenbild, eines Objektes erhalten kann, und als Ausgabe die Pose, d.h. die Position und die Orientierung, des Objektes relativ zur Kamera, mittels welcher das Bild aufgenommen wurde, hat.
  • Vorzugsweise wird, insbesondere auf dem Rechensystem, während des Einlernens des neuronalen Netzes weiterhin ein Parameter verwendet, der angibt, ob sich das Objekt in einem Bild befindet oder nicht. Damit kann als Ausgang des neuronalen Netzes dann auch eine Information, insbesondere eine Wahrscheinlichkeit, ausgegeben werden, ob sich das Objekt überhaupt in dem Bild bzw. in dem Erfassungsraum der Kamera befindet. Insgesamt kann damit also die Leistung des neuronalen Netzes bzw. des entsprechenden Computerprogramms nochmals verbessert werden.
  • Mit dem in „Alex Kendall, Matthew Grimes, Roberto Cipolla. Posenet: A Convolutional Network for Real-Time 6-DOF Camera Relocalization. 2016“ beschriebenen Netz wurde ein sog. Klassifikationsproblem gelöst, d.h. es wurde vorhergesagt, mit welcher Wahrscheinlichkeit ein Bild zu einer bestimmten Kategorie gehört (beispielsweise Katze, Auto, Flugzeug, etc.). Die Aufgabe des Netzes dort ist es also, den Wahrscheinlichkeitsvektor über alle berücksichtigten Klassen vorherzusagen. Zu diesem Zweck wird typischerweise die sog. „softmax“-Aktivierungsfunktion verwendet, wodurch alle vorhergesagten Wahrscheinlichkeiten im Intervall [0,1] liegen und deren Summe genau gleich Eins ist.
  • In der Posenschätzung, wie sie im Rahmen der vorliegenden Erfindung verwendet wird, wird stattdessen ein sog. Regressionsproblem gelöst, und zwar zum einen zur Vorhersage der Wahrscheinlichkeit (im Intervall [0,1]), ob sich das zu erkennende Objekt im Bild befindet oder nicht, und zum anderen von acht Posenparametern (im Intervall [-1,1]). Um alle Ausgaben der Neuronen (in dem neuronalen Netz) auf die jeweiligen Wertebereiche zu beschränken, werden vorzugsweise die entsprechenden Aktivierungsfunktionen „sigmoid“ für das Erkennungsneuron und „tanh“ für die acht Posenwerte verwendet. Die Verwendung solcher Aktivierungsfunktionen verbessert sowohl die Trainingsgeschwindigkeit als auch die finale Genauigkeit.
  • Vorteilhafterweise werden, insbesondere auf dem Rechensystem, während des Einlernens des neuronalen Netzes die Parameter für die Orientierung des Objektes für ein individuelles Bild unter Verwendung einer Rotationsmatrix und einer Bestimmung von Eulerwinkeln durch Drehung um drei unterschiedliche, insbesondere starre, Achsen ermittelt. Zwei passende Eulerwinkel können dann als Kugelkoordinaten in der Einheitskugel interpretiert und vorzugsweise in kartesische Koordinaten umgewandelt werden. Der dritte Eulerwinkel kann mittels Sinus- und Kosinus-Funktion in seine Komponenten im Einheitskreis zerlegt werden, sodass kartesische Koordinaten für den zweidimensionalen Vektor im Einheitskreis erhalten werden können.
  • Alternativ ist es bevorzugt, wenn, insbesondere auf dem Rechensystem, während des Einlernens des neuronalen Netzes die Parameter für die Orientierung des Objektes für ein individuelles Bild unter Verwendung einer Rotationsmatrix ermittelt werden, wobei aus einer Zeile oder einer Spalte der Rotationsmatrix der dreidimensionale Vektor innerhalb einer Einheitskugel und aus einer weiteren Zeile oder Spalte der Rotationsmatrix, dann insbesondere aus dem Winkel zwischen dieser weiteren Zeile oder Spalte und einer Achse des Kamerakoordinatensystems, vorzugsweise der Längsachse, der zweidimensionale Vektor innerhalb des Einheitskreises ermittelt werden.
  • Denkbar ist auch, Quaternionen in die Darstellung mit den fünf Parametern für die Orientierung umzurechnen. Insgesamt gibt es damit verschiedene Möglichkeiten, um die vorgeschlagene Darstellung der Orientierung zu verwenden.
  • Es ist von Vorteil, wenn die verschiedenen Ansichten des Objektes- oder die Aufnahmepositionen (der Kamera) für diese Ansichten -, die, insbesondere auf dem Rechensystem, bereitgestellt werden, z.B. gleichverteilt über einen Winkel um das Objekt und mit abfallender Dichte über die Distanz zu dem Objekt (oder einer Oberfläche des Objektes) in einem das Objekt umgebenden Volumen ausgewählt werden. Hierunter ist insbesondere zu verstehen, dass die verschiedenen Ansichten des Objektes aus tatsächlichen oder virtuellen Kamerapositionen aufgenommen sind, die gleichverteilt in dem Volumen sind. Hiermit kann erreicht werden, dass nicht nur voneinander verschiedene, sondern auch nach Möglichkeit keine zwei oder mehr sehr ähnliche oder gar identische Ansichten verwendet werden. Denkbar ist hierzu beispielsweise, die Kamerapositionen in einem vorgegebenen Volumen derart zu ermitteln, dass eine neue, zu verwendende Kameraposition möglichst weit von allen bereit verwendeten Kamerapositionen weg ist. Denkbar ist auch eine statistische Verteilung in dem Volumen. In Fällen, in denen die Kamera sich innerhalb des Objekts befindet, ist es bevorzugt, die Positionen der Kamera mit abfallender Dichte bezüglich der Distanz zur nächstgelegenen Grenzfläche des Objekts zu wählen.
  • Es ist bevorzugt, wenn die Vielzahl von Bildern mit den verschiedenen Ansichten des Objekts (bzw. die entsprechenden Aufnahmepositionen), die, insbesondere auf dem Rechensystem, bereitgestellt werden, ausgewählt werden aus jeweils einer oder mehreren Ansichten mit: einer kanonischen Pose des Objektes, einer perspektivischen Verzerrung des Objektes, einer Rotation des Objektes in einer Bildebene, veränderter Helligkeit und/oder verändertem Kontrast, einem Rauschen, einer Bewegungsunschärfe, Licht und/oder Schatten, teilweiser Verdeckung des Objektes, und zufälligem Hintergrund. Damit können nicht nur Ansichten mit verschiedenen Orientierungen abgedeckt werden, sondern auch verschiedene Arten von Aufnahmen, wie sie in der Realität auftreten können. Damit können möglichst viele Varianten abgedeckt werden, sodass das neuronale Netz weiter verbessert werden kann.
  • Besonders zweckmäßig ist es, wenn die Vielzahl von Bildern mit den verschiedenen Ansichten des Objektes , die, insbesondere auf dem Rechensystem, bereitgestellt werden, zumindest teilweise mittels Daten-Augmentierung erzeugt werden, d.h. es werden nicht alle verwendeten Ansichten tatsächlich mittels einer Kamera aufgenommen, sondern sie werden aus vorhandenen Bildern erzeugt. So kann beispielsweise in einem Bild künstlich der Hintergrund verändert werden, es kann ein Rauschen hinzugefügt werden oder es kann das Objekt nachträglich abgedeckt und/oder rotiert werden. Denkbar ist auch ein künstliches Verschieben der Position oder auch Verändern der Orientierung. Dabei ist jedoch insbesondere auf eine perspektivisch korrekte Veränderung zu achten. Durch lokales Aufhellen und Abdunkeln von zufälligen Bereichen im Bild kann beispielsweise eine Unabhängigkeit von Lichtverhältnissen und Schattenwurf erreicht werden. Dies steht im Gegensatz zu bekannten Techniken wie z.B. dem sog. „Depth from Shading“, bei denen durch explizite Modellierung der Beleuchtungssituation versucht wird, Informationen aus der Szene zu gewinnen.
  • An dieser Stelle sei nochmals zusammengefasst, dass insbesondere durch die Kombination des zweitstufigen Verfahrens beim Schätzen der Pose, dort vor allem der zweiten Stufe mit der Verfeinerung bzw. Feinlokalisierung, mit der speziellen Parametrierung bei Einlernen des neuronalen Netzes eine Möglichkeit zum Schätzen einer Pose bereitgestellt wird, die nicht nur besonders genau ist, sondern auch besonders schnell erhalten werden kann. Dies gilt nicht nur für das erstmalige Einlernen des neuronalen Netzes, sondern auch für das spätere Nachtrainieren, bei dem die Vorteile beider Aspekte - Feinlokalisierung und spezielle Parametrierung - besonders effizient und überraschend zusammenwirken, da die bei der Feinlokalisierung gewonnenen Informationen durch die spezielle Parametrierung besonders schnell verarbeitet werden können, um das neuronale Netz noch besser zu machen.
  • Gegenstand der Erfindung ist weiterhin ein Computerprogramm, das - zum Schätzen einer Pose eines Objektes unter Verwendung eines neuronalen Netzes anhand eines Bildes des Objektes - dazu eingerichtet ist, ein erfindungsgemäßes Verfahren bzw. dessen Verfahrensschritte durchzuführen, wenn es auf einem Rechensystem ausgeführt wird,. Es handelt sich dabei insbesondere um ein gemäß dem vorstehend beschriebenen Verfahren eingelerntes bzw. trainiertes neuronales Netz, insbesondere ein faltendes neuronales Netz.
  • Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.
  • Gegenstand der Erfindung ist weiterhin ein System mit einem Rechensystem mit einem (darauf vorhandenen) erfindungsgemäßen Computerprogramm und einer Kamera, das insbesondere dazu eingerichtet ist, ein erfindungsgemäßes Verfahren zum Schätzen einer Pose eines Objektes auszuführen.
  • Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
  • Es versteht sich, dass die vorstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
  • Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.
  • Figurenliste
    • 1 zeigt schematisch ein erfindungsgemäßes System in einer bevorzugten Ausführungsform.
    • 2 zeigt schematisch einen Ablauf eines erfindungsgemäßen Verfahrens in einer bevorzugten Ausführungsform.
    • 3 zeigt eine Darstellung einer Position eines Objektes, wie sie im Rahmen der Erfindung verwendet werden kann.
    • 4 zeigt eine Darstellung einer Orientierung eines Objektes, wie sie im Rahmen der Erfindung verwendet werden kann.
    • 5 zeigt eine weitere Darstellung einer Orientierung eines Objektes, wie sie im Rahmen der Erfindung verwendet werden kann.
    • 6 zeigt eine Möglichkeit für verschiedene Ansichten eines Objektes, wie sie im Rahmen der Erfindung verwendet werden können.
    • 7 zeigt eine weitere Möglichkeit für verschiedene Ansichten eines Objektes, wie sie im Rahmen der Erfindung verwendet werden können.
    • 8 und 9 zeigen Möglichkeiten für eine Verfeinerung der Posenschätzung, wie sie im Rahmen der Erfindung verwendet werden kann.
    • 10 zeigt schematisch einen Teil eines Ablaufs eines erfindungsgemäßen Verfahrens in einer bevorzugten Ausführungsform.
  • In 1 ist schematisch ein erfindungsgemäßes System 100 in einer bevorzugten Ausführungsform dargestellt. Das System 100 weist hier ein Rechensystem 102 sowie eine Kamera 101 auf. Auf dem Rechensystem 102, das beispielsweise wiederum einen Computer oder eine andere Recheneinheit aufweisen kann, ist ein Computerprogramm 111 vorgesehen, das insbesondere mittels eines im Rahmen der vorgeschlagenen Erfindung vorgeschlagenen Vorgehen (dem Einlernen des neuronalen Netzes), wie es nachfolgend noch näher beschrieben wird, erstellt worden ist.
  • Das Computerprogramm 111 wiederum umfasst hier ein neuronales Netz (bzw. ein künstliches neuronales Netz), insbesondere ein sog. faltendes neuronales Netz. Das System 100 kann damit dazu verwendet werden, eine Pose, d.h. eine Position und eine Orientierung, eines Objektes 200, das sich im Erfassungsbereich der Kamera 101 befindet, zu schätzen, und zwar anhand eines Bildes 140, insbesondere eines Graustufenbildes, das mittels der Kamera 101 von dem Objekt 200 aufgenommen wird.
  • Bevorzugte Anwendungen liegen beispielsweise im Bereich der Robotik, der Automatisierung, der Augmented-Reality, und der Mensch-Maschine-Interaktion. Bei der Robotik kann beispielsweise für eine Handhabungsvorrichtung die Pose eines Objektes, das gegriffen werden soll, geschätzt werden.
  • In 2 ist schematisch ein Ablauf eines erfindungsgemäßen Verfahrens in einer bevorzugten Ausführungsform dargestellt. Der nachfolgend beschriebene Ablauf soll zunächst in Abbildung (a) vereinfacht darstellen, wie ein Computerprogramm 111, das beispielsweise in dem System 100, wie es in 1 gezeigt ist, erstellt werden kann bzw. wie ein von dem Computerprogramm 111 umfasstes bzw. darin enthaltenes neuronales Netz eingelernt bzw. trainiert werden kann.
  • Das Computerprogramm 111 mit dem neuronalen Netz 112 kann zunächst erstellt und auf einem Rechensystem 110 wie einem Computer bereitgestellt werden. Bei dem Rechensystem 110 muss es sich nicht um das Rechensystem wie in 1 gezeigt handeln, zweckmäßig ist auch ein spezielles, insbesondere besonders leistungsfähiges Rechensystem, das speziell zum Einlernen bzw. Trainieren des neuronalen Netzes verwendet wird.
  • Auf dem Rechensystem 110 werden Informationen 150 über das Objekt, dessen Pose es zu schätzen gilt, sowie verschiedene Ansichten des Objektes in Form von Bildern bzw. entsprechenden Daten, hier beispielhaft mit dem Bezugszeichen 141 bezeichnet, bereitgestellt. Diese Informationen 150 über das Objekt können dabei insbesondere geometrische Abmessungen, Formen, Kanten, Texturen und dergleichen umfassen, anhand derer sich das Objekt beschreiben bzw. identifizieren lässt. Die verschiedenen Ansichten des Objektes sind nötig, um dem neuronalen Netz möglichst viele Informationen über mögliche Orientierungen des Objektes und deren Darstellung auf einem Bild zu geben, anhand welcher das neuronale Netz dann eingelernt bzw. trainiert wird. Hinsichtlich bevorzugter Möglichkeiten, die für die verschiedenen Ansichten in Betracht kommen, sei auf die noch folgenden Ausführungen und Figuren verwiesen.
  • Auf dem Rechensystem 110 wird dann das neuronale Netz 112 in mehreren Rechenschritten, wie beispielhaft mit dem Bezugszeichen 115 angedeutet, dahingehend trainiert, die Pose des Objektes anhand eines Bildes dieses Objektes zu erkennen bzw. zu schätzen. Hierzu wird die Pose des Objektes mit bestimmten Parametern dargestellt, wie sie nachfolgend näher erläutert werden sollen. Als Resultat wird ein Computerprogramm mit einem entsprechend eingelernten bzw. trainierten neuronalen Netz, hier mit dem Bezugszeichen 112' bezeichnet, erhalten.
  • Dieses damit erhaltenen neuronale Netz bzw. das Computerprogramm damit kann dann, wie auch zu 1 erwähnt, zum Schätzen einer Pose eines Objekts anhand eines mit der Kamera aufgenommenen Bildes des Objektes verwendet werden. Dies ist in Abbildung (b) schematisch dargestellt.
  • Zunächst wird in einer ersten Stufe S1 bei dem mittels der Kamera aufgenommenen Bild 140 des Objektes 200 unter Verwendung des neuronalen Netzes eine grobe Schätzung 210 der Pose ermittelt. In einer zweiten Stufe S2 werden dann von bzw. in dem Bild 140 des Objektes 200 objektspezifische Informationen 220 ermittelt, wobei basierend auf einem Vergleich dieser objektspezifischen Informationen 220 mit entsprechenden, unabhängig von dem aufgenommenen Bild vorhandenen Informationen 221 über das Objekt, die in der ersten Stufe ermittelte Schätzung 210 der Pose des Objektes verfeinert wird, wie mit 210' angedeutet.
  • An dieser Stelle sei erwähnt, dass das in Abbildung (a) gezeigte Einlernen nicht nur vor der erstmaligen Verwendung des neuronalen Netzes erfolgen kann, sondern auch später zum nachtrainieren, wie vorstehend schon ausführlich erläutert.
  • In 3 ist eine Darstellung einer Position eines Objektes, wie sie im Rahmen der Erfindung, insbesondere zum Einlernen bzw. Trainieren des neuronalen Netzes, verwendet werden kann, gezeigt. Hierzu ist in der linken Ansicht ein Kamerakoordinatensystem gezeigt, in dessen Mittelpunkt 161 sich die Kamera, wie sie beispielsweise in 1 gezeigt ist, befindet.
  • Mit dem Bezugszeichen 160 ist hierbei ein Erfassungsbereich bezeichnet, der durch das Sichtfeld der Kamera sowie ein vordere und hintere Clipping-Ebene in Form eines Pyramidenstumpfes gegeben ist. Ein innerhalb dieses Erfassungsbereiches 160 befindliches Objekt kann somit in einem Bild abgebildet und dessen Pose kann geschätzt werden.
  • Dadurch lässt sich eine zweidimensionale Position des Objektes im Bild sowie der dazugehörige Tiefenwert (hier in z-Richtung) auch in sog. normalisierten Maschinen-Koordinaten (engl. „Normalized Device Coordinates“ bzw. NDC), darstellen, wie in der rechten Abbildung gezeigt. Solche Koordinaten geben die Position dann für jede Richtung (x, y und z) innerhalb eines Intervalls [-1;+1] an. Der Pyramidenstumpf wird dabei in einen Würfel, hier mit dem Bezugszeichen 160' bezeichnet, abgebildet. Diese drei Koordinaten für die Position werden im Rahmen der vorliegenden Erfindung als Parameter P1, P2 und P3 für die Darstellung der Position verwendet.
  • In 4 ist eine Darstellung einer Orientierung eines Objektes 200, wie sie im Rahmen der Erfindung verwendet werden kann, gezeigt. Bei dem Objekt 200 handelt es sich, wie auch in den nachfolgenden Figuren, beispielhaft um eine Teekanne. Insbesondere sind hier ein dreidimensionaler Vektor 181 innerhalb einer Einheitskugel 180 sowie ein zweidimensionaler Vektor 171 innerhalb eines Einheitskreises 170 gezeigt. Hierzu wird insbesondere ein sich relativ zur beispielhaft statischen Kamera bewegendes Koordinatensystem in das Objekt gelegt.
  • Nick- und Gierwinkel, d.h. Rotation um die Quer- und Vertikalachse, werden durch den dreidimensionalen Vektor beschrieben. Der Rollwinkel um die Längsachse wird durch den zweidimensionalen Vektor beschrieben bzw. abgebildet.
  • Die Kombination beider Systeme führt zu einem fünfdimensionalen Merkmalsvektor bzw. fünf Parametern mit drei Freiheitsgraden. Dies ist in 5 mit einer weiteren Darstellung der Orientierung des Objektes gezeigt. Hierzu sind der Einheitskreis und die Einheitskugel der Übersichtlichkeit halber nebeneinander dargestellt.
  • Die beiden (kartesischen) Koordinaten, die den zweidimensionalen Vektor im Einheitskreis beschreiben, sind hier mit den Parametern P4 und P5 bezeichnet, die drei (kartesischen) Koordinaten, die den dreidimensionalen Vektor in der Einheitskugel beschreiben, sind hier mit den Parametern P6, P7 und Ps bezeichnet.
  • Es gibt hierbei mehrere Möglichkeiten der Berechnung dieser beiden Vektoren bzw. der zugehörigen fünf Koordinaten oder Parameter. Ausgehend von einer Rotationsmatrix können beispielsweise zuerst entsprechende Eulerwinkel um drei unterschiedliche starre Achsen bestimmt werden. Zwei passende Eulerwinkel werden dann als Kugelkoordinaten in der Einheitskugel (oder sog. 2-Sphäre) interpretiert und in kartesische Koordinaten umgewandelt. Der dritte Eulerwinkel wird mittels Sinus und Kosinus in seine Komponenten im Einheitskreis zerlegt.
  • Alternativ kann eine beliebige Spalte (oder Zeile) der Rotationsmatrix als Hauptachse in der Einheitskugel dienen. Dann wird der Winkel zwischen einer Hauptachse des Kamerakoordinatensystems (z.B. die z-Achse) und einer weiteren Spalte der Rotationsmatrix bestimmt. Dieser Rollwinkel wird dann wieder im Einheitskreis interpretiert.
  • Durch die Verwendung dieser fünf Parameter für die Orientierung bzw. der insgesamt acht Parameter für die Pose des Objektes kann erreicht werden, dass das Einlernen bzw. Trainieren des neuronalen Netzes konvergiert, da es keine Sprungstellen und Mehrdeutigkeiten in der Darstellung gibt.
  • In 6 ist eine Möglichkeit für verschiedene Ansichten eines Objektes, wie sie im Rahmen der Erfindung verwendet werden können, gezeigt. Hierzu ist das als Teekanne ausgebildete Objekt 200 dargestellt und um das Objekt herum ist eine Vielzahl von Positionen mittels Punkten, von denen eine mit dem Bezugszeichen 190 bezeichnet ist, zu sehen. Diese Positionen zeigen mögliche Positionen für eine Kamera, aus deren Sicht das Objekt aufgenommen werden kann. Es handelt sich also um Aufnahmepositionen.
  • Diese Positionen sind dabei bevorzugt gleichverteilt (oder gleichmäßig) bezüglich der Winkel und mit abfallender Dichte bezüglich der (oder über die) Distanz zum Objekt in einem Volumen bzw. im Raum um das Objekt verteilt. Entsprechende Bilder mit diesen verschiedenen Ansichten des Objektes können dann, wie in 2 beispielhaft mit dem Bezugszeichen 141 angedeutet, zum Einlernen des neuronalen Netzes verwendet werden. Wie bereits erwähnt, können auf diese Weise viele verschiedene Ansichten des Objekts, die später in der Realität auftreten können, bereitgestellt werden, um das neuronale Netz zu trainieren, sodass damit die Pose später möglichst genau geschätzt werden kann.
  • In Fällen, in denen die Kamera sich innerhalb des Objekts 200 befindet (dies könnte z.B. im Innenraum eines Fahrzeugs sein), ist es bevorzugt, die Positionen der Kamera mit abfallender Dichte bezüglich der Distanz zur nächstgelegenen Grenzfläche des Objekts zu wählen.
  • Wie ebenfalls schon erwähnt, müssen diese verschiedenen Ansichten nicht alle tatsächlich mittels einer Kamera aufgenommen werden, sondern dieses können im Wege der sog. Daten-Augmentierung künstlich erzeugt werden.
  • Insbesondere kann die verwendete Daten-Augmentierung zumindest beliebige Kamerarotationen bei gegebener Position ersetzen. Denkbar ist auch, das Objekt im Bild auszuschneiden und zufällig im Bild zu verschieben, was jedoch perspektivisch nicht korrekt ist und vor allem bei weitwinkligen Kameras zu signifikanten Fehlern führen kann.
  • Bevorzugt ist auch ein sog. „(Depth-) Image-based Rendering“. Dabei wird aus einem Bild (mit Tiefeninformation) oder mehreren Bildern (die Tiefeninformation ist hier implizit mit dabei) ein Bild aus einer neuen Ansicht erzeugt. Dies funktioniert vollständig ohne 3D-Modell, sodass diese Möglichkeit besonders vorteilhaft ist, wenn ausschließlich Kamerabilder zu Verfügung stünden. Dabei können zwar Artefakte auftreten, zu deren Beseitigung (sog. „hole filling“) jedoch verschiedene Algorithmen existieren, aber ebenso wieder ein (künstliches) neuronales Netz (CNN) zum Einsatz kommen könnte. Ein solches hypothetisches „Image-based Rendering CNN“ könnte beispielsweise generisch vortrainiert und dann auf den zu Verfügung stehenden Datensatz spezialisiert werden.
  • Vorteilhaft ist dies insbesondere deshalb, weil ein aufwendiges Aufnehmen von Bildern aus verschiedenen Entfernungen nicht mehr nötig ist, da weit entfernte Ansichten aus Nahaufnahmen generiert werden könnten.
  • In 7 ist eine weitere Möglichkeit für verschiedene Ansichten eines Objektes, wie sie im Rahmen der Erfindung verwendet werden können, dargestellt. Hierzu sind beispielhaft neun Bilder mit verschiedenen Ansichten des Objekts, die mit den Bezugszeichen 141 bis 149 bezeichnet sind, gezeigt.
  • Ansicht bzw. Bild 141 zeigt eine kanonische bzw. Frontal-Ansicht des Objektes. Bild 142 zeigt eine perspektivisch verzerrte bzw. versetzte Ansicht. Bild 143 zeigt eine Ansicht, bei der das Objekt in der Bildebene rotiert ist. Bild 144 zeigt eine Ansicht, bei der die Helligkeit verändert ist, insbesondere gegenüber beispielsweise der Ansicht bzw. dem Bild 141. Neben der Helligkeit kann beispielsweise aber auch der Kontrast verändert werden. Bild 145 zeigt eine Ansicht mit Rauschen, das beispielsweise über ein aufgenommenes Bild nachträglich gelegt wurde. Bild 146 zeigt eine Ansicht, bei der das Objekt aufgrund einer Bewegung unscharf ist. Eine solche Bewegungsunschärfe kann insbesondere auch nachträglich hinzugefügt werden. Bild 147 zeigt eine Ansicht, bei der das Licht bzw. die Lichtverhältnisse beispielsweise gegenüber der Ansicht bzw. dem Bild 141 verändert sind. Damit einher geht hier auch eine Veränderung von Schatten. Bild 148 zeigt eine Ansicht, bei der das Objekt teilweise verdeckt ist. Dies kann sehr einfach nachträglich im Bild ergänzt werden. Bild 149 zeigt eine Ansicht, bei der der Hintergrund verändert ist. Insbesondere kann ein in einem Bild wie beispielsweise dem Bild 141 der Hintergrund durch einen zufälligen Hintergrund ersetzt werden.
  • Diese Ansichten sind Beispiele für Möglichkeiten, um das neuronale Netz möglichst gut einzulernen. Es sei angemerkt, dass die in 7 gezeigten Möglichkeiten für Ansichten auch mit den in 6 gezeigten Möglichkeiten kombiniert werden können, um insgesamt noch mehr verschiedene Ansichten zu erhalten.
  • In den 8 und 9 sind anhand von Beispielbildern (bzw. verschiedenen Ansichten) Möglichkeiten für die Verfeinerung der Posenschätzung eines Objektes, wie sie im Rahmen der Erfindung verwendet werden kann, dargestellt. Es kann beispielsweise ein aufgenommener Datensatz (bzw. ein Bild des Objektes) zur Gewinnung von Tiefeninformation mittels sog. Stereomatching benachbarter Bilder dienen. Für jedes Trainingsbild kann hierzu offline ein probabilistischer Tiefenwert für geeignete Pixel (z.B. auf einem Gradientenbild) geschätzt werden.
  • Nachdem zur Laufzeit die initiale Pose bestimmt wurde, können diese Pixel des nächstgelegenen Trainingsbildes auf das aktuelle Bild reprojiziert werden. Durch die Minimierung des photometrischen oder geometrischen Fehlers kann die Pose verfeinert werden.
  • In 8 (Bilder einer Teekanne mit Hintergrund) stellt das linke Bild das aktuelle Kamerabild dar, das mittlere Bild zeigt das abgeleitete Kantenbild des aktuellen Kamerabildes. Die dargestellten Kanten können für einen Abgleich zwischen Kamerabild und nächstgelegenem Bild aus dem Trainingsdatensatz genutzt werden, da hierfür Tiefeninformationen (jedenfalls in aller Regel) bereitgestellt werden können.
  • Das rechte Bild zeigt Kantenpixel aus dem nächstgelegenen Referenzbild, welche mit Hilfe der initial geschätzten Pose auf eine Kostenfunktion projiziert wurden. Mit Hilfe der Kostenfunktion können die summierten Abstände der projizierten Pixel zu den im Kamerabild bestimmten jeweils nächsten Kanten als Kriterium minimiert werden, um die Pose zu verfeinern.
  • In 9 (Bilder einer Fahrzeugkarosserie) stellt das erste Bild (links oben) das aktuelle Kamerabild dar, das zweite Bild (rechts oben) zeigt das abgeleitete Kantenbild des aktuellen Kamerabildes. Die dargestellten Kanten können für einen Abgleich zwischen Kamerabild und nächstgelegenem Bild aus dem Trainingsdatensatz genutzt werden, da hierfür aus den Ergebnissen des ersten Rechenschrittes genäherte Tiefeninformationen bereitgestellt werden können. Das dritte Bild (links unten) zeigt eine mögliche aus dem Kantenbild berechnete Kostenfunktion.
  • Das vierte Bild (rechts unten) zeigt Kantenpixel aus dem nächstgelegenen Referenzbild, welche mit Hilfe der initial geschätzten Pose auf die Kostenfunktion projiziert wurden. Mit Hilfe der Kostenfunktion können die summierten Abstände der projizierten Pixel zu den im Kamerabild bestimmten jeweils nächsten Kanten als Kriterium minimiert werden, um die Pose zu verfeinern.
  • Für eine spezielle, im Rahmen der Erfindung vorgeschlagene Verwendung solcher Informationen bzw. Bilder sei auch auf die 10 sowie die zugehörige Beschreibung verwiesen.
  • In 10 ist ein Teil eines Ablaufs eines erfindungsgemäßen Verfahrens, nämlich die zweite Stufe wie sie schon in 2, dort Abbildung (b), gezeigt ist, dargestellt. Hier sind nun jedoch die objektspezifischen Informationen 220, die aus dem aufgenommenen Bild 140 ermittelt bzw. gewonnen werden, explizit als Kanten dargestellt.
  • Die entsprechenden, unabhängig von dem aufgenommenen Bild 140 vorhandenen Informationen 221 über das Objekt 200 sind als Geometriedaten, und zwar insbesondere auch als Kanten, dargestellt, wie sie z.B. von dem Objekt 200 grundsätzlich bekannt sind. Die Kanten 220 können dann mit den Geometriedaten 221 abgeglichen werden, z.B. indem die jeweiligen Kanten möglichst weitgehend zur Deckung gebracht werden, also insbesondere diejenige Perspektive gesucht wird, bei der ein lokales Minimum der Abweichungen entsteht.

Claims (21)

  1. Verfahren zum Schätzen einer Pose eines Objektes (200) unter Verwendung eines neuronalen Netzes (112, 112'), wobei, in einer ersten Stufe (S1), bei einem mittels einer Kamera (101) aufgenommenen Bild (140) des Objektes (200) unter Verwendung des neuronalen Netzes eine Schätzung (210) der Pose ermittelt wird, und wobei, in einer zweiten Stufe (S2), objektspezifische Informationen (220) in dem aufgenommenen Bild (140) ermittelt werden, und wobei basierend auf einem Vergleich dieser objektspezifischen Informationen (220) mit entsprechenden, unabhängig von dem aufgenommenen Bild (!40) vorhandenen Informationen (221) über das Objekt, eine in der ersten Stufe (S1) ermittelte Schätzung (210) der Pose des Objektes verfeinert wird.
  2. Verfahren nach Anspruch 1, wobei in der zweiten Stufe (S2) Kanten des Objekts in dem aufgenommenen Bild (140) als objektspezifische Informationen (220) ermittelt werden, und wobei Geometriedaten des Objekts als die unabhängig von dem aufgenommenen Bild vorhandenen Informationen (221) über das Objekt verwendet werden.
  3. Verfahren nach Anspruch 1, wobei in der zweiten Stufe eine oder mehrere Texturen in einem oder mehreren Bereichen des aufgenommenen Bildes (140) als objektspezifische Informationen (220) ermittelt werden, und wobei Texturdaten des Objekts und/oder Texturdaten aus einem oder mehreren anderen Bildern des Objekts als die unabhängig von dem aufgenommenen Bild vorhandenen Informationen (221) über das Objekt verwendet werden.
  4. Verfahren nach einem der vorstehenden Ansprüche, wobei Abstandswerte für einen oder mehrere Punkte des Objekts in dem aufgenommenen Bild ermittelt und in der zweiten Stufe zum Verfeinern der in der ersten Stufe ermittelten Schätzung (210) der Pose des Objektes verwendet werden
  5. Verfahren nach einem der vorstehenden Ansprüche, wobei eine oder mehrere, zumindest annähernd auf Pixel genaue Masken des Objekts ermittelt werden, und wobei basierend darauf die objektspezifischen Informationen (220) in dem aufgenommenen Bild (140) ermittelt werden.
  6. Verfahren nach einem der vorstehenden Ansprüche, wobei simultan zum Schätzen der Pose eine Karte einer Umgebung des Objektes (200) ermittelt wird.
  7. Verfahren nach einem der vorstehenden Ansprüche, wobei die unabhängig von dem aufgenommenen Bild vorhandenen Informationen (221) über das Objekt in Echtzeit ermittelt und in der zweiten Stufe (S2) zum Verfeinern der in der ersten Stufe (S1) ermittelte Schätzung (210) der Pose des Objektes verwendet werden.
  8. Verfahren nach einem der vorstehenden Ansprüche, wobei, wenn ein mittels einer bewegten Kamera (101) aufgenommenes Bild (140) des Objektes (200) verwendet wird, Bewegungsinformationen über eine Bewegung der Kamera, während das Bild (140) aufgenommen worden ist, zum Verfeinern der in der ersten Stufe (S1) ermittelte Schätzung (210) der Pose des Objektes verwendet werden.
  9. Verfahren nach einem der vorstehenden Ansprüche, wobei das neuronale Netz (112) vor einer erstmaligen Verwendung initial eingelernt wird, indem Informationen (150) über das Objekt (200) und eine Vielzahl von Bildern (141-149) mit verschiedenen Ansichten des Objektes (200) bereitgestellt werden.
  10. Verfahren nach einem der vorstehenden Ansprüche, wobei das neuronale Netz (112') nach einer erstmaligen Verwendung erneut eingelernt wird, wobei ein mittels der Kamera (101) aufgenommenes Bild (140), insbesondere in Kombination mit der in der zweiten Stufe (S2) verfeinerten Schätzung (210') der Pose des Objektes, als eines der Vielzahl von Bildern verwendet wird.
  11. Verfahren nach Anspruch 9 oder 10, wobei das neuronale Netz (112) eingelernt wird, indem unter Verwendung von Parametern (P1-P8) für eine Position und eine Orientierung des Objektes (200) in den Bildern das neuronale Netz (112, 112') zum Schätzen der Position und Orientierung des Objektes in mehreren Rechenschritten (115) eingelernt wird, wobei für die Position des Objektes (200) drei Parametern (P1-P3) für Koordinaten innerhalb eines vorbestimmten Erfassungsraumes (160, 160') der Kamera (101) verwendet werden, und wobei für die Orientierung des Objektes (200) fünf Parameter (P4-P8) verwendet werden, die drei Koordinaten für einen dreidimensionalen Vektor (181) innerhalb einer Einheitskugel (180) und zwei Koordinaten für einen zweidimensionalen Vektor (171) innerhalb eines Einheitskreises (170) umfassen.
  12. Verfahren nach Anspruch 11, wobei während des Einlernens des neuronalen Netzes (112, 112') weiterhin ein Parameter verwendet wird, der angibt, ob sich das Objekt (200) in einem Bild befindet oder nicht.
  13. Verfahren nach Anspruch 11 oder 12, wobei während des Einlernens des neuronalen Netzes (112, 112') die Parameter (P4-P8) für die Orientierung des Objektes (200) für ein individuelles Bild unter Verwendung einer Rotationsmatrix und einer Bestimmung von Eulerwinkeln durch Drehung um drei unterschiedliche Achsen ermittelt werden.
  14. Verfahren nach Anspruch 11 oder12, wobei während des Einlernens des neuronalen Netzes (112, 112') die Parameter (P4-P8) für die Orientierung des Objektes (200) für ein individuelles Bild unter Verwendung einer Rotationsmatrix ermittelt werden, wobei aus einer Zeile oder einer Spalte der Rotationsmatrix der dreidimensionale Vektor (181) innerhalb einer Einheitskugel (180) und aus einer weiteren Zeile oder Spalte der Rotationsmatrix der zweidimensionale Vektor (171) innerhalb des Einheitskreises (170) ermittelt werden.
  15. Verfahren nach einem der Ansprüche 11 bis 14, wobei Aufnahmepositionen (190) der verschiedenen Ansichten des Objektes gleichverteilt über einen Winkel um das Objekt (200) und mit abfallender Dichte über die Distanz zu dem Objekt (200) oder einer Oberfläche des Objektes in einem das Objekt (200) umgebenden Volumen ausgewählt werden.
  16. Verfahren nach einem der Ansprüche 11 bis 14, wobei Aufnahmepositionen (190) der verschiedenen Ansichten des Objektes sich innerhalb des Objekts (200) befinden und mit abfallender Dichte über die Distanz zur nächstgelegenen Grenzfläche des Objekts (200) ausgewählt werden.
  17. Verfahren nach einem der Ansprüche 11 bis 16, wobei die Vielzahl von Bildern (141-149) mit verschiedenen Ansichten des Objekts (200) ausgewählt werden aus jeweils einer oder mehreren Ansichten mit: einer kanonischen Pose des Objektes, einer perspektivischen Verzerrung des Objektes, einer Rotation des Objektes in einer Bildebene, veränderter Helligkeit und/oder verändertem Kontrast, einem Rauschen, einer Bewegungsunschärfe, Licht und/oder Schatten, teilweiser Verdeckung des Objektes, und zufälligem Hintergrund.
  18. Verfahren nach einem der Ansprüche 11 bis 17, wobei die Vielzahl von Bildern (141-149) mit verschiedenen Ansichten des Objekts (200) zumindest teilweise mittels Daten-Augmentierung erzeugt wird.
  19. Computerprogramm (111), das dazu eingerichtet ist, ein Verfahren nach einem der vorstehenden Ansprüche durchzuführen, wenn es auf einem Rechensystem (102) ausgeführt wird.
  20. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm (111) nach Anspruch 19.
  21. System (100) mit einem Rechensystem (102) mit einem Computerprogramm nach Anspruch 19 und einer Kamera (101).
DE102021102643.1A 2020-02-10 2021-02-04 Verfahren zum Schätzen einer Pose eines Objektes, Computerprogramm und System Pending DE102021102643A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102020103313 2020-02-10
DE102020103313.3 2020-02-10

Publications (1)

Publication Number Publication Date
DE102021102643A1 true DE102021102643A1 (de) 2021-08-12

Family

ID=76968871

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021102643.1A Pending DE102021102643A1 (de) 2020-02-10 2021-02-04 Verfahren zum Schätzen einer Pose eines Objektes, Computerprogramm und System

Country Status (1)

Country Link
DE (1) DE102021102643A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114387319A (zh) * 2022-01-13 2022-04-22 北京百度网讯科技有限公司 点云配准方法、装置、设备以及存储介质
DE102022200353A1 (de) 2022-01-14 2023-07-20 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Erzeugen von Daten zum Trainieren eines auf künstlicher Intelligenz basierenden Objekterkennungsverfahrens
DE102022104805A1 (de) 2022-03-01 2023-09-07 Friedrich-Alexander-Universität Erlangen-Nürnberg, Körperschaft des öffentlichen Rechts Verfahren zum Trainieren eines künstliche Intelligenz-Systems; System, aufweisend ein künstliche Intelligenz-System, Computerprogrammprodukt

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114387319A (zh) * 2022-01-13 2022-04-22 北京百度网讯科技有限公司 点云配准方法、装置、设备以及存储介质
CN114387319B (zh) * 2022-01-13 2023-11-14 北京百度网讯科技有限公司 点云配准方法、装置、设备以及存储介质
DE102022200353A1 (de) 2022-01-14 2023-07-20 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Erzeugen von Daten zum Trainieren eines auf künstlicher Intelligenz basierenden Objekterkennungsverfahrens
DE102022104805A1 (de) 2022-03-01 2023-09-07 Friedrich-Alexander-Universität Erlangen-Nürnberg, Körperschaft des öffentlichen Rechts Verfahren zum Trainieren eines künstliche Intelligenz-Systems; System, aufweisend ein künstliche Intelligenz-System, Computerprogrammprodukt

Similar Documents

Publication Publication Date Title
DE102021102643A1 (de) Verfahren zum Schätzen einer Pose eines Objektes, Computerprogramm und System
EP3765927B1 (de) Verfahren zum erzeugen eines trainingsdatensatzes zum trainieren eines künstlichen-intelligenz-moduls für eine steuervorrichtung eines fahrzeugs
DE102015111080B4 (de) Robotervorrichtung mit maschinellem Sehen
DE102017203276B4 (de) Verfahren und Vorrichtung zur Ermittlung einer Trajektorie in Off-road-Szenarien
WO2020069964A1 (de) Verfahren, künstliches neuronales netz, vorrichtung, computerprogramm und maschinenlesbares speichermedium zur semantischen segmentierung von bilddaten
DE102021201124A1 (de) Trainieren von bildklassifizierernetzen
DE112020006935T5 (de) Verfahren und gerät zur parkplatzerkennung sowie vorrichtung und speichermedium
DE102017221765A1 (de) Trainieren und Betreiben eines Maschinen-Lern-Systems
DE102021212859A1 (de) Vorrichtung und Verfahren zum Trainieren eines maschinellen Lernmodells zum Erzeugen von Deskriptorbildern zu Bildern von Objekten
DE102021114287A1 (de) Mikroskopiesystem und Verfahren zum Erzeugen stilisierter Kontrastbilder
DE102021109036A1 (de) Vorrichtung und verfahren zum lokalisieren von stellen von objekten aus kamerabildern der objekte
DE102021107479A1 (de) Erfassung einer dreidimensionalen pose durch mehrere 2d-kameras
DE102020201939A1 (de) Verfahren und Vorrichtung zur Bewertung eines Bildklassifikators
DE102020116774A1 (de) Automatische visuelle Wahrnehmung mittels eines künstlichen neuronalen Netzes
DE102020107383A1 (de) Objekterkennung und Führen eines Fahrzeugs
DE102020101911A1 (de) Computerimplementiertes Verfahren zum Trainieren eines künstlichen neuronalen Netzwerks, computerimplementiertes Verfahren zur visuellen Objekterkennung, Verfahren zum Steuern eines Kraftfahrzeugs, Computerprogramm sowie computerlesbares Speichermedium
DE102022214330A1 (de) Verfahren zur Erzeugung mindestens einer Ground Truth aus der Vogelperspektive
DE102020215333A1 (de) Computerimplementiertes Verfahren und Computerprogramm zum schwach überwachten Lernen von 3D-Objektklassifizierungen für Umfeldwahrnehmung, Regelung und/oder Steuerung eines automatisierten Fahrsystems, Klassifizierungsmodul und Klassifizierungssystem
DE102020126690A1 (de) Verfahren zum Bestimmen eines Bewegungsmodells eines Objekts in einer Umgebung eines Kraftfahrzeugs, Computerprogrammprodukt, computerlesbares Speichermedium sowie Assistenzsystem
DE102019102423A1 (de) Verfahren zur Live-Annotation von Sensordaten
DE102018128184A1 (de) Verfahren, Vorrichtung, Computerprogramm und Computerprogrammprodukt zur Erzeugung eines gelabelten Bildes
DE102018130229A1 (de) Verfahren und Vorrichtung zur Objektextraktion aus eine dreidimensionale Szene darstellenden Szenenbilddaten
DE102021211185B4 (de) Vorrichtung und Verfahren zum Steuern eines Roboters
DE102021212860B4 (de) Verfahren zum Aufnehmen eines Objekts mittels eines Roboters
DE102023203021A1 (de) Verfahren zum Ermitteln eines Deskriptorbilds für ein Bild eines Objekts

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: DEHNS GERMANY PARTNERSCHAFT MBB, DE

Representative=s name: DEHNSGERMANY PARTNERSCHAFT VON PATENTANWAELTEN, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009000000

Ipc: G06V0010000000