-
Die vorliegende Erfindung betrifft ein, insbesondere computerimplementiertes, Verfahren sowie ein System, jeweils zur Erzeugung von Synthesebilddaten, welche eine Simulation eines von einem realen Bildsensor eines vorbestimmten Bildsensortyps aufnehmbaren Abbilds einer realen Objektanordnung repräsentieren. Des Weiteren betrifft die Erfindung ein Computerprogramm, welches das Verfahren implementiert.
-
Im Bereich der Computergrafik und Bildverarbeitung, insbesondere bei der Computervision, gibt es eine Reihe von Anwendungsfällen, bei denen es hilfreich ist, Bilddaten anstatt mittels eines Bildsensors (beispielsweise einer optischen Kamera) sensorisch aufzunehmen, sie synthetisch zu erzeugen. Dies gilt insbesondere dann, wenn die Bilddaten ein Bild in drei räumlichen Dimensionen repräsentieren soll. Zu diesen Anwendungsfällen gehört beispielsweise die künstliche Erzeugung einer Vielzahl von ansonsten nur sehr aufwendig auf sensorischem Wege erhältlichen Bilddatensätzen zum Zwecke des Trainierens im Rahmen eines maschinellen Lernens eines Bildverarbeitungssystems, oder der Abgleich von echten und künstlichen Daten zum Zwecke der Separierung von Hintergründen und Vordergründen in einem Bild.
-
Dabei stellt sich jedoch regelmäßig das Problem, dass von einem realen Bildsensor aufgenommene Bilddaten praktisch immer verschiedenen, oft nichtlinearen, Verzerrungseffekten unterliegen, die durch konventionelle optische Bildaufnahmesensoren bzw. -systeme bedingt sind. Insbesondere treten bei fast allen bekannten Kamerasystemen in unterschiedlichem Umfang tangentiale und radiale Verzerrungen auf. 1 zeigt beispielhaft verschiedene Arten von typischen Verzerrungen anhand eines beispielhaften Schachbrettmusters.
-
Um in einem Bildbearbeitungssystem, insbesondere einem Computervisionssystem, dessen Betrieb zumindest teilweise auf synthetisch erzeugten Daten beruht, eine befriedigende, insbesondere optimierte Ergebnisqualität zu erreichen, ist es somit erforderlich, zu erreichen, dass die realen und die synthetisierten Daten vergleichbare Bildeigenschaften, insbesondere Verzerrungseigenschaften, repräsentieren. Ein bekannter erster Ansatz dazu besteht darin, die realen durch einen Bildsensor gewonnenen Bilddaten einer aufwändigen Nachbearbeitung zu unterziehen, um die darin enthaltenen Verzerrungen soweit möglich zu kompensieren bzw. entfernen. Dieser Ansatz hat den Nachteil, dass er sehr aufwendig ist, und somit insbesondere eine solche Nachbearbeitung in Echtzeit oft nicht oder nur mit sehr leistungsstarker Hardware möglich ist, ein dazu alternativer zweiter Ansatz kann darin bestehen, die künstlich synthetisierten Bilddaten zu verzerren, anstatt wie beim ersten Ansatz die sensorisch aufgenommenen Bilddaten zu entzerren.
-
Typischerweise werden bei der 3D-Bildsynthese, die von drei räumlichen Dimensionen ausgeht, synthetische Bilddaten für ein Bild niedrigerer räumlicher Dimension, insbesondere für ein zweidimensionales Bild, mithilfe eines einfachen Lochkameramodells erzeugt. Ein solches Kameramodell modelliert jedoch die bei realen Sensoren auftretenden Abbildungseigenschaften, insbesondere deren Verzerrungen, nicht. Bei einer solchen Bildsynthese werden typischerweise dreidimensionale mathematische Modelle oder Netze verwendet, um die Geometrie eines Objekts oder einer Umgebung zu charakterisieren. Die Knotenpunkte eines solchen Netzes werden regelmäßig jeweils als Vertex bzw. in der Mehrzahl als „Vertices“ bezeichnet. Zusätzlich können Texturen berücksichtigt werden, die eine entsprechende Zuordnung von Materialien oder Farben zu Teilbereichen des Modells bzw. Netzes und somit der Geometrie eines Objekts definieren.
-
Wenn im Rahmen der herkömmlichen Bildsynthese ein synthetisches Bild erzeugt werden soll, werden die Knotenpunkte jeweils mittels einer Translations- und/oder Rotationstransformation in eine der Szene, insbesondere dem gewählten sogenannten Viewport bzw. Ansichtsbereich, entsprechenden Lage überführt, bevor sie gemäß dem Lochkameramodell auf eine zweidimensionale Bildebene projiziert werden. Das sich daraus ergebende Bild kann sodann in einem nachgeordneten zusätzlichen Nachverarbeitungsschritt gemäß den vorbestimmten Abbildungseigenschaften eines bestimmten Bildsensortyps verzerrt werden, um das synthetisierte Bild an ein (insbesondere fiktives) Bild zumindest weitgehend anzugleichen, welches sich für die gleiche Szene bei Aufnahme durch einen Bildsensor desselben Bildsensortyps als reales Bild ergeben würde.
-
2 zeigt beispielhaft den Aufbau und die wesentlichen Bestandteile einer solchen herkömmlichen Bildsynthesepipeline. Insgesamt verschiebt sich durch das Verzerren der synthetisierten Bilddaten anstelle einer Entzerrung der realen Bilddaten die Last der Bildverarbeitung von der Bearbeitung des Kamerabildes hin zur Bearbeitung des synthetischen Bildes. In beiden Fällen besteht jedoch der Bedarf für einen aufwändigen Nachverarbeitungsschritt und das Abbilden der Quellbildpunkte auf die Zielbildpunkte muss jeweils vorberechnet werden wobei Zielbildpunkte ohne korrespondierende Bildpunkte im Quellbild extrapoliert bzw. interpoliert werden müssen. Wenn anstelle einer 2D-Kamera eine 3D-Kamera verwendet wird, ist zusätzlich ein weiterer Nachverarbeitungsschritt erforderlich, um das resultierende Tiefenbild zusätzlich zu einem ebenfalls resultierenden Amplitudenbild oder anderem Typ von Grauwertbild im Sinne einer Entzerrung bzw. Verzerrung anzupassen bzw. zu korrigieren.
-
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, die Synthese von künstlich erzeugten Bilddaten weiter zu verbessern. Insbesondere ist es wünschenswert, die vorgenannten Nachverarbeitungsschritte überflüssig zu machen.
-
Die Lösung dieser Aufgabe wird gemäß der Lehre der unabhängigen Ansprüche erreicht. Verschiedene Ausführungsformen und Weiterbildungen der Erfindung sind Gegenstand der Unteransprüche.
-
Ein erster Aspekt der Erfindung betrifft ein, insbesondere computer-implementiertes, Verfahren zur Erzeugung von Synthesebilddaten, welche eine Simulation eines von einem realen Bildsensor eines vorbestimmten Bildsensortyps aufnehmbaren Abbilds einer realen Objektanordnung repräsentieren. Das Verfahren weist auf: (i) Empfangen von Objektbeschreibungsdaten, die eine abstrakte Beschreibung der Objektanordnung in einer räumlichen Ausgangslage in drei räumlichen Dimensionen repräsentieren; (ii) Empfangen von Viewportdaten, die einen Viewport für die Erzeugung des Synthesebilds spezifizieren; (iii) Empfangen von Sensormodelldaten, die eine oder mehrere intrinsische optische Abbildungseigenschaften einschließlich Verzerrungseigenschaften des Bildsensortyps, insbesondere parametrisiert, spezifizieren; und (iv) Durchführen eines digitalen Bildsyntheseverfahrens (Rendering) zur Erzeugung der Synthesebilddaten. Dabei weist das Bildsyntheseverfahren auf: (iv-1) Anpassen, insbesondere mittels Translation, Rotation und/oder Bildgrößenanpassung, der durch die Objektbeschreibungsdaten gelieferten abstrakten räumlich dreidimensionalen Beschreibung der Objektanordnung gemäß dem durch die Viewportdaten spezifizierten Viewport; (iv-2) Anwenden einer dimensionsreduzierenden Projektionsabbildung, insbesondere gemäß einem Lochkameramodell, auf die angepassten Objektbeschreibungsdaten zur Erzeugung einer räumlich dimensionsreduzierten abstrakten Beschreibung der Objektanordnung; (iv-3) Modifizieren, insbesondere Verzerren, der räumlich dimensionsreduzierten abstrakten Beschreibung der Objektanordnung gemäß den durch die Sensormodelldaten spezifizierten Abbildungseigenschaften des Bildsensortyps; und (iv-4) Erzeugen der Synthesebilddaten mittels Synthese eines digitalen Bilds aus der modifizierten abstrakten Beschreibung der Objektanordnung.
-
Unter einer „realen Objektanordnung“ ist ein Objekt, insbesondere Gegenstand, der realen Welt oder eine räumliche Anordnung mehrere solcher Objekte der realen Welt zu verstehen, das bzw. die durch die Synthesebilddaten in zumindest einer Hinsicht (etwa ihrer Kontur, Textur, Farbgebung usw.) bildlich repräsentiert werden sollen. Dies schließt jedoch nicht aus, das ein oder mehrere dieser Objekte selbst ein Bild darstellen, etwa wenn es sich dabei um Anzeigevorrichtungen, wie etwa Bildschirme, handelt.
-
Unter „Bilddaten“ im Sinne der Erfindung sind Daten zu verstehen, die ein oder mehrere statische Bilder oder bewegte Bilder, wie etwa Videos, oder eine beliebige Kombination der vorgenannten Bildarten repräsentieren.
-
Unter „Synthesebilddaten“ im Sinne der Erfindung sind Bilddaten zu verstehen, welche ein aus Ausgangsdaten, wie etwa Ausgangsdaten die ein Computermodell einer Objektanordnung repräsentieren, synthetisch erzeugtes Bild, insbesondere eine künstlich erzeugte Computergrafik, repräsentieren. In der Fachsprache wird Bildsynthese oft auch als „Rendering“ oder eingedeutscht „Rendern“ bezeichnet, sodass dementsprechend Synthesebilddaten die aus einem Rendering resultierenden Bilddaten sind. Synthesebilddaten sind somit abzugrenzen von sensorisch erfassten Bilddaten, welche aus der Aufnahme einer realen Objektanordnung mittels eines oder mehrerer Bildsensoren, insbesondere mittels einer oder mehrerer optischen Kameras, gewonnenen werden. Im Rahmen der vorliegenden Erfindung repräsentieren die Synthesebilddaten ein mittels Simulation eines von einem realen Bildsensor eines vorbestimmten Bildsensortyps aufnehmbaren Abbilds einer realen Objektanordnung. Diese „reale“ Objektanordnung muss dazu, anders als es bei einer sensorischen Erfassung derselben der Fall wäre, in der Realität gar nicht existieren. Der Bezug auf eine „reale“ Objektanordnung dient in diesem Zusammenhang vielmehr dazu, auszudrücken, dass es bei der Simulation darum geht, Synthesebilddaten zu erzeugen, die das mittels sensorischer Erfassung einer entsprechenden realen Objektanordnung mit einem Bildsensor des vorbestimmten Bildsensortyps erhältliche Abbild simulieren, wobei dazu bei der Simulation insbesondere zumindest eine intrinsische optische Abbildungseigenschaft, insbesondere Verzerrungseigenschaft, des Bildsensortyps berücksichtigt wird.
-
Unter einem „Viewport“ im Sinne der Erfindung ist ein Ansichtsbereich des durch die Synthesebilddaten darzustellenden erzeugten Bildes zu verstehen. Insbesondere kann der Viewport ein Bild oder einen Ausschnitt daraus darstellen, welches mittels Abbildung der darzustellenden Objektanordnung auf zweidimensionale oder ggf. sogar auch nur eindimensionale Bildschirmkoordinaten erzeugt wurde. Des Weiteren kann der Viewport insbesondere auch die Blickrichtung auf die Objektanordnung festlegen, sodass es zu ein und derselben Objektanordnung verschiedene Viewports geben kann, die sich insbesondere hinsichtlich der Blickrichtung auf die Objektanordnung, und/oder den gewählten darzustellenden Teilbereich der Objektanordnung und optional auch seiner Umgebung unterscheiden.
-
Unter einer „intrinsischen optischen Abbildungseigenschaft“ eines Bildsensortyps ist im Sinne der Erfindung eine intrinsische, also durch den Bildsensortyp selbst bestimmte, Eigenschaft, insbesondere ein Parameter, der durch einen Bildsensor des Bildsensortyps definierten optischen Abbildung zu verstehen, der im Rahmen der Simulation zur Erzeugung der Synthesebilddaten berücksichtigt wird, um das durch die Synthesebilddaten repräsentierte Bild an das bei einer realen Aufnahme der entsprechenden realen Objektanordnung durch einen Bildsensor dieses Bildsensortyps zu erwartende Bild anzugleichen. Die intrinsischen optischen Abbildungseigenschaften können insbesondere als Komponenten eines die Abbildungseigenschaften des Sensortyps charakterisierenden entsprechenden Bildsensormodells, insbesondere Kameramodels, verstanden werden. Diese optischen Abbildungseigenschaften können insbesondere als entsprechende Parameter eines solchen Bildsensormodells definiert sein, und sich etwa auf die Fokallänge, den Bildmittelpunkt, radiale und/oder tangentiale Verzerrungskoeffizienten einer solchen optischen Abbildung beziehen. Da Bildsensoren oftmals über die Möglichkeit verfügen, verschiedene Einstellungen, beispielsweise Fokallänge, Blende usw. einzustellen, kann in solchen Fällen unter dem Begriff „Bildsensortyp“ zweckmäßigerweise nicht nur der Bau- bzw. Modelltyp des Bildsensors, sondern zusätzlich eine entsprechende vorbestimmte Einstellung seiner einstellbaren, seine optische Abbildungseigenschaften beeinflussenden Parameter zu verstehen sein.
-
Unter „Empfangen“ von Daten ist im Sinne der Erfindung jegliche Form von Empfang oder Zugriff auf solche Daten zu verstehen. Dies kann insbesondere mittels Auslesen der Daten aus einem Datenspeicher, Empfangen der Daten über eine Kommunikationsverbindung oder Empfangen der Daten von einem vorausgehend ausgeführten Prozess, der die Daten erzeugt oder jedenfalls zur Verfügung stellt, oder einer beliebigen Kombination aus den vorgenannten Möglichkeiten erfolgen.
-
Unter einer räumlichen Dimensionsreduktion bzw. „räumlich dimensionsreduziert“ ist im Sinne der Erfindung im Hinblick auf eine Abbildung, Beschreibung oder Datenverarbeitung zu verstehen, dass bei dieser die Anzahl der räumlichen Dimensionen des Ergebnisses einer solchen Abbildung, Beschreibung oder Verarbeitung kleiner ist als die Anzahl der räumlichen Dimensionen der Objektanordnung bzw. ihrer Datenrepräsentation von der die Abbildung, Beschreibung oder Verarbeitung ausgeht. Insbesondere kann eine solche räumliche Dimensionsreduktion mittels einer Projektionsabbildung, beispielsweise einer Projektion einer dreidimensionalen Darstellung einer Objektanordnung auf eine zweidimensionale oder sogar nur eine eindimensionale Bildebene bzw. Bildlinie, erfolgen. Auch im abstrakten Raum ist eine dimensionsreduzierende Abbildung möglich. Dabei kann insbesondere eine dreidimensionale abstrakte Beschreibung einer Objektanordnung, beispielsweise mithilfe eines Netzes mit im dreidimensionalen Raum angeordneten Vertices als Knotenpunkte, auf eine zweidimensionale abstrakte Beschreibung mittels eines Netzes mit in einem zweidimensionalen Raum angeordneten Vertices als Knotenpunkte abgebildet werden.
-
Das Verfahren gemäß dem ersten Aspekt der Erfindung beruht somit darauf, dass anstelle einer aufwändigen Korrektur von Bilddaten, die durch einen Bildsensor mittels Abbildung einer realen Objektanordnung gewonnen werden können, mittels Bildsynthese künstliche Synthesebilddaten erzeugt werden. Dabei werden in dem Prozess zur Erzeugung der Synthesebilddaten die vorbekannten intrinsischen optischen Abbildungseigenschaften eines entsprechenden Bildsensortyps (dies kann wahlweise auch nur ein bestimmtes Bildsensorexemplar sein) so berücksichtigt, dass die dadurch bewirkten Abbildungsfehler, insbesondere Verzerrungen, welche die Abbildung mittels des Bildsensors erzeugen würde, zumindest näherungsweise auch in dem durch die Synthesebilddaten repräsentierten Bild finden. Die Berücksichtigung dieser intrinsischen optischen Abbildungseigenschaften, welche durch die Sensormodelldaten bereitgestellt werden, erfolgt im Bildsyntheseprozess bereits auf Basis einer abstrakten Beschreibung der darzustellenden Objektanordnung und nicht erst auf Basis von Bilddaten (d. h. auf Pixelbasis). Die genannte abstrakte Beschreibung kann insbesondere mittels eines mehrdimensionalen Netzes mit Vertices als Knotenpunkten erfolgen.
-
Auf diese Weise kommt das Verfahren ohne die vorgenannten Nachbearbeitungsschritte aus, weil die Berücksichtigung der Abbildungseigenschaften ja bereits in der Bildsynthese selbst erfolgt. Anstatt also aufwändig (die Pixelanzahl ist typischerweise viel größer als die Anzahl der Vertices) ein Bild Pixel für Pixel gemäß den Abbildungseigenschaften zu verarbeiten, insbesondere zu verzerren, wird bei dem Verfahren die Geometrie der Objektanordnung, d. h. im Falle einer abstrakten Beschreibung mittels eines Netzes mit Knotenpunkten direkt die geometrische Anordnung der Knotenpunkte verarbeitet bzw. verzerrt, bevor daraus erst nachfolgend das Bild bzw. die das Bild repräsentierende Bilddaten mittels Rasterisierung (engl. Rasterizing) generiert werden. Im Ergebnis stellt die Erfindung somit ein effizientes und grundsätzlich echtzeitfähiges Verfahren zur Verfügung, welches zudem in verschiedener Hinsicht skalierbar bzw. anpassbar ist, insbesondere bezüglich der Anzahl der verwendeten Knotenpunkte und der Auswahl der zu berücksichtigten intrinsischen optischen Abbildungseigenschaften sowie des Viewports.
-
Nachfolgend werden bevorzugte Ausführungsformen des Verfahrens beschrieben, die jeweils, soweit dies nicht ausdrücklich ausgeschlossen wird oder technisch unmöglich ist, beliebig miteinander sowie mit den weiteren beschriebenen anderen Aspekten der Erfindung kombiniert werden können.
-
Gemäß einiger Ausführungsformen wird bei dem Bildsyntheseverfahren aus der modifizierten räumlich dimensionsreduzierten abstrakten Beschreibung der Objektanordnung ein digitales Tiefenbild gleicher räumlicher Dimension erzeugt, bei dem die Pixelwerte des Tiefenbildes ein Tiefenmaß bezüglich einer dritten räumlichen Dimension repräsentieren. Auf diese Weise kann die Beschreibung der dritten räumlichen Dimension auch in der dimensionsreduzierten Beschreibung in Form des resultierenden digitalen Tiefenbilds erhalten bleiben und für etwaige nachfolgende Bildverarbeitungsschritte genutzt werden.
-
Gemäß einiger weitere Ausführungsformen wird bei dem Bildsyntheseverfahren aus der modifizierten räumlich dimensionsreduzierten abstrakten Beschreibung der Objektanordnung, insbesondere zusätzlich zu dem Tiefenbild, ein digitales Amplitudenbild erzeugt. Auf diese Weise kann die resultierende Bildinformation in digitaler Form, insbesondere zusätzlich zur Tiefeninformation aus dem Tiefenbild zur Verfügung gestellt werden, um so eine möglichst nahekommende Simulation eines mittels eines entsprechenden echten Bildsensors aufnehmbaren Bildes zu erreichen.
-
Gemäß einiger weitere Ausführungsformen weist das Bildsyntheseverfahren des Weiteren einen dem Anpassen der durch die Objektbeschreibungsdaten gelieferten abstrakten räumlich dreidimensionalen Beschreibung der Objektanordnung vorgelagerten Tesselationsprozess auf bei dem diese abstrakte Beschreibung der Objektanordnung einer computergrafischen Tesselation unterzogen wird. Mittels eines solchen Tesselationsprozesses lässt sich eine weitere Verbesserung der resultierenden Bildqualität erreichen. Dies ergibt sich insbesondere daraus, dass bei der vorgenannten Modifikation nur die Knotenpunkte des Netzes modifiziert werden, jedoch nicht die zwischen ihnen liegenden Verbindungslinien des Netzes, bzw. in der Bilddomäne die Pixel einer durch zumindest drei Knotenpunkte aufgespannten Objektfläche. Ohne Tesselation wird alles zwischen den Knotenpunkten Liegende linear interpoliert, sodass insbesondere Linien, die eigentlich gekrümmt erscheinen sollten, im sich ergebenden Bild weiterhin gerade verlaufen. Dem kann mittels des genannten Tesselationsprozesses entgegengewirkt werden. Dadurch ist insbesondere auch eine kompaktere Art der geometrischen Modellierung umsetzbar, bei der anstelle einer Bildsynthese auf Basis hochaufgelöster Netze, insbesondere Dreiecksnetze, welche gekrümmte Oberflächen mehr oder weniger genau approximieren, mit der Methode der gekrümmten Polygone nur noch eine relativ geringe Zahl an Kontrollpunkten, die die Oberflächen mathematisch exakt beschreiben modelliert wird. Durch diese modellhafte, implizite Darstellung von gekrümmten Oberflächen kann einerseits jede noch so große Krümmung beliebig genau approximiert werden, auch wenn der Bildsensor nur in geringem Abstand zu den Oberflächen angeordnet ist. Andererseits bleibt die Beschreibung der Oberflächen trotzdem stark komprimiert, so dass der Speicherplatz und folglich auch die Datentransferrate für eine Übertragung der abstrakten Beschreibungsdaten für ganze Szenarien und vor allem auch der zugehörige Aufwand für die Datenverarbeitung niedrig bleiben.
-
Gemäß einiger darauf aufbauender Ausführungsformen wird zumindest ein die Tesselation bestimmender Tesselationsparameter in Abhängigkeit von zumindest einem Abstandsparameter festgelegt, der ein Maß für eine der Simulation zugrundeliegende Entfernung des Bildsensors von der Objektanordnung, unmittelbar oder mittelbar, angibt. Auf diese Weise ist eine entfernungsabhängige Konfiguration des Tesselationsprozesses und somit auch eine entsprechende optimale Anpassung der dafür erforderlichen Datenmenge und des erforderlichen Verarbeitungsaufwands ermöglicht. Ist die Entfernung etwa relativ groß, sind weniger Kontrollpunkte erforderlich als bei einer relativ kurzen Entfernung, um eine vergleichbare Bildqualität zu erreichen.
-
Gemäß einiger weiterer Ausführungsformen spezifizieren die Sensormodelldaten zumindest eine der folgenden Informationen als intrinsische optische Abbildungseigenschaften:
- Fokallänge, Bildmittelpunkt, eine radiale Verzerrung, eine tangentiale Verzerrung. Es hat sich gezeigt, dass die Berücksichtigung speziell der vorgenannten intrinsischen optischen Abbildungseigenschaften eines realen Bildsensors bei der Bildsynthese von besonderer Bedeutung ist, da damit in den meisten Fällen ausreichend genaue Simulationsdaten, d. h. von mittels einer realen Abbildung durch den Bildsensor erhältlichen Bilddaten nur unwesentlich abweichende Bildsynthesedaten, erzeugt werden können.
-
Gemäß einiger weitere Ausführungsformen weist das Verfahren des Weiteren ein Durchführen eines Prozesses zum maschinellen Lernen auf, bei dem die Synthesebilddaten als Eingangsdaten diesem Prozess zugeführt werden. Auf diese Weise lässt sich zum einen ein selbstlernendes Bildsyntheseverfahren implementieren, das im Laufe der Zeit auf Basis seiner früheren Ergebnisse und deren Auswertung lernt und somit insbesondere seine Ergebnisqualität und/oder seine Verarbeitungsgeschwindigkeit steigern kann. So lässt sich ein entsprechender auf maschinellem Lernen beruhender Auswerteprozess mithilfe der anhand der Bildsynthese bereitgestellten Synthesebilddaten trainieren. Zum anderen kann jedoch auch eine Auswertung des durch die Synthesebilddaten repräsentierten Bildes mithilfe eines auf maschinellem Lernen beruhenden Auswerteprozesses erfolgen, etwa um die Objektanordnung oder Teile davon in dem Bild zu identifizieren oder einzelne ihrer Eigenschaften zu erkennen.
-
Gemäß einiger dieser Ausführungsformen repräsentieren die Objektbeschreibungsdaten eine abstrakte Beschreibung zumindest eines Körperteils eines menschlichen Benutzers in in drei räumlichen Dimensionen. Der Prozess zum maschinellen Lernen ist zudem konfiguriert, auf Basis der aus den Objektbeschreibungsdaten gewonnenen Synthesebilddaten oder auf Basis von daraus mittels zusätzlicher Bildverarbeitung abgeleiteten anderen Bilddaten eine maschinelle Erkennung einer Geste zu trainieren, wie sie von einem Benutzer ausgeführt und von dem realen Bildsensor erfasst werden kann. So ermöglicht das Verfahrens ein Trainieren eines auf maschinellem Lernen beruhenden Verfahrens zur Gestenerkennung auf Basis künstlich erzeugter Bildsynthesedaten.
-
Unter „konfiguriert“ ist im Sinne der Erfindung zu verstehen, dass die entsprechende Vorrichtung bzw. das entsprechende Verfahren bereits eingerichtet ist oder einstellbar - d.h. konfigurierbar - ist, eine bestimmte Funktion zu erfüllen. Die Konfiguration kann dabei beispielsweise über eine entsprechende Einstellung von Parametern eines Prozessablaufs oder von Schaltern oder ähnlichem zur Aktivierung bzw. Deaktivierung von Funktionalitäten bzw. Einstellungen der Vorrichtung oder einer Steuerung des Verfahrensablaufs erfolgen. Insbesondere kann die Vorrichtung bzw. Steuerung mehrere vorbestimmte Konfigurationen oder Betriebsmodi aufweisen, so dass das Konfigurieren mittels einer Auswahl einer dieser Konfigurationen bzw. Betriebsmodi erfolgen kann.
-
Gemäß einiger weiterer Ausführungsformen repräsentieren die Objektbeschreibungsdaten eine abstrakte Beschreibung eines vorbekannten Bildhintergrunds oder Bildvordergrunds einer durch den realen Bildsensor in Form von entsprechenden Szenenbilddaten zu erfassenden realen Szene in drei räumliche Dimensionen; und das Verfahren weist des Weiteren einen dem Bildsyntheseverfahren nachgelagerten Extraktionsprozess auf, bei dem mithilfe eines Abgleichs der mittels des realen Bildsensors gewonnenen Szenenbilddaten mit den Synthesebilddaten eine Extraktion oder Entfernung des Bildhintergrunds oder des Bildvordergrunds aus dem durch die Szenenbilddaten repräsentieren Bild erfolgt. Die Synthesebilddaten liefern hier somit die Hintergrundinformation, mit deren Hilfe es möglich ist, die Extraktion eines entsprechenden Vordergrunds aus dem durch den realen Bildsensor gelieferten Szenenbilddaten, insbesondere mittels eines entsprechenden Subtraktionsverfahrens, zu bewerkstelligen.
-
Ein zweiter Aspekt der Erfindung betrifft ein System, insbesondere einen Computer oder eine verteilte Computerplattform, zur Erzeugung von Synthesebilddaten, welche eine Simulation eines von einem realen Bildsensor eines vorbestimmten Bildsensors aufnehmbaren Abbilds einer realen Objektanordnung repräsentieren. Dabei ist das System konfiguriert, das Verfahren gemäß dem ersten Aspekt der Erfindung, insbesondere gemäß einer der hierin beschriebenen Ausführungsformen davon, auszuführen.
-
Gemäß einiger Ausführungsformen ist das System in ein Fahrzeug, insbesondere in ein Kraftfahrzeug wie etwa einen Personen- oder Lastkraftwagen oder Bus, integriert und konfiguriert, Synthesebilddaten zu erzeugen, welche eine Simulation eines von einem realen Bildsensor des Fahrzeugs aufnehmbaren Abbilds einer realen Objektanordnung repräsentieren. Auf diese Weise lassen sich im Fahrzeug selbst die Synthesebilddaten erzeugen, sodass eine Abhängigkeit von einem fahrzeugexternen Rechner oder einer fahrzeugexternen Datenquelle vermieden werden kann. Insbesondere lässt sich auf diese Weise gemäß einiger der vorausgehend beschriebenen Ausführungsformen im Fahrzeug ein auf maschinellem Lernen basierendes intelligentes System realisieren, bei dem die im Fahrzeug selbst erzeugten Synthesebilddaten zum Trainieren des maschinellen Lernens zur Verwendung kommen, um so im Laufe der Zeit die Leistungsfähigkeit des Systems sowie seine Ergebnisse nutzenden anderer Systeme, wie beispielsweise fahrzeuggestützter Bildverarbeitungssysteme, weiter zu steigern.
-
Ein dritter Aspekt der Erfindung betrifft ein Computerprogram, aufweisend Befehle, die bei der Ausführung des Computerprogramms auf einem Computer oder einer verteilten Computerplattform diesen bzw. diese veranlassen, das Verfahren gemäß dem ersten Aspekt der Erfindung, insbesondere gemäß einer der hierin beschriebenen Ausführungsformen davon, auszuführen.
-
Das Computerprogramm kann insbesondere auf einem nichtflüchtigen Datenträger gespeichert sein. Bevorzugt ist dies ein Datenträger in Form eines optischen Datenträgers oder eines Flashspeichermoduls. Dies kann vorteilhaft sein, wenn das Computerprogramm als solches unabhängig von einer Prozessorplattform gehandelt werden soll, auf der das ein bzw. die mehreren Programme auszuführen sind. In einer anderen Implementierung kann das Computerprogramm als eine Datei auf einer Datenverarbeitungseinheit, insbesondere auf einem Server vorliegen, und über eine Datenverbindung, beispielsweise das Internet oder eine dedizierte Datenverbindung, wie etwa ein proprietäres oder lokales Netzwerk, herunterladbar sein. Zudem kann das Computerprogramm eine Mehrzahl von zusammenwirkenden einzelnen Programmodulen aufweisen.
-
Das System gemäß dem zweiten Aspekt der Erfindung kann dementsprechend einen Programmspeicher aufweisen, in dem das Computerprogramm abgelegt ist. Alternativ kann das System auch eingerichtet sein, über eine Kommunikationsverbindung auf ein extern, beispielsweise auf einem oder mehreren Servern oder anderen Datenverarbeitungseinheiten verfügbares Computerprogramm zuzugreifen, insbesondere um mit diesem Daten auszutauschen, die während des Ablaufs des Verfahrens bzw. Computerprogramms Verwendung finden oder Ausgaben des Computerprogramms darstellen.
-
Die in Bezug auf den ersten Aspekt der Erfindung erläuterten Merkmale und Vorteile gelten entsprechend auch für die weiteren Aspekte der Erfindung.
-
Weitere Vorteile, Merkmale und Anwendungsmöglichkeiten der vorliegenden Erfindung ergeben sich aus der nachfolgenden detaillierten Beschreibung im Zusammenhang mit den Figuren.
-
Dabei zeigt
- 1 schematisch und am Beispiel eines Schachbrettmusters eine Illustration verschiedener Arten von optischen Verzerrungen, wie sie insbesondere als Folge der Abbildungseigenschaften eines realen Bildsensors auftreten können;
- 2 schematisch ein Flussdiagramm zur Illustration eines beispielhaften herkömmlichen Bildsyntheseverfahrens bzw. einer entsprechenden Bildsynthesepipeline zur künstlichen Erzeugung von 2D- oder 3D-Synthesebilddaten;
- 3 verschiedene Darstellungen des genannten Schachbrettmusters aus verschiedenen Perspektiven und eine entsprechenden abstrakten Darstellung mithilfe eines Netzes aus Dreiecken, jeweils zur Erläuterung der Tiefenaspekte der jeweiligen Darstellung;
- 4 verschiedene Visualisierungen derselben Verzerrungen wie in 1, aber bezüglich einer dreidimensionalen Darstellung des Schachbrettmusters;
- 5 schematisch ein Flussdiagramm zur Illustration eines Bildsyntheseverfahrens bzw. einer entsprechenden Bildsynthesepipeline zur künstlichen Erzeugung von 2D- oder 3D-Synthesebilddaten gemäß einer Ausführungsform der Erfindung; und
- 6 schematisch vergrößerte Ausschnitte eines per Bildsynthese erzeugten Bilds des genannten verzerrten Schachbrettmusters und einer zugehörigen Netzstruktur als abstrakte Beschreibung dazu (a) ohne Verwendung eines Tesselationsprozesses und (b) mit Verwendung eines Tesselationsprozesses.
-
In den Figuren werden durchgängig dieselben Bezugszeichen für dieselben oder einander entsprechenden Elemente der Erfindung verwendet.
-
1 zeigt schematisch und am Beispiel eines Schachbrettmusters eine Illustration verschiedener Arten von optischen Verzerrungen. Insbesondere zeigt 1 (a) eine verzerrungsfreie Darstellung des Schachbrettmusters, 1 (b) eine tonnenförmige Verzerrung, 1 (c) eine kissenförmige Verzerrung, 1 (d) eine Mischung aus den beiden vorausgehenden Verzerrungen (auch „Mustache-Verzerrung“ genannt), 1 (e) eine vertikale tangentiale Verzerrung und 1 (f) eine horizontale tangentiale Verzerrung. Die genannten Verzerrungsarten treten bei realen, insbesondere linsenbasierten, Bildsensoren häufig auf, auch in kombinierter Form, und sind zum Teil kaum vermeidbar.
-
2 zeigt ein aus dem Stand der Technik bekanntes beispielhaften Bildsyntheseverfahren bzw. eine entsprechenden Bildsynthesepipeline zur künstlichen Erzeugung von 2D- oder 3D-Synthesebilddaten. Dabei erhält die Bildsynthese R bzw. ein entsprechendes Bildsynthesemodul (in Hardware- oder Software- oder gemischter Implementierung) als Eingangsdaten sowohl Objektbeschreibungsdaten OD als auch Viewportdaten VPD. Die Objektbeschreibungsdaten OD repräsentieren eine abstrakte Beschreibung einer im zu erzeugenden Bild darzustellenden dreidimensionalen (3D) Objektanordnung. Die Objektbeschreibungsdaten OD beschreiben die darzustellende Objektanordnung dabei auf abstrakte Weise, beispielsweise mithilfe eines zwischen einer Vielzahl von Knotenpunkten (Vertices) verlaufenden Netzes (Mesh) aus Dreiecken (als grafische Primitive), deren jeweilige Ecken durch je drei der Knotenpunkte definiert sind. Die Viewportdaten VPD legen einen zur Darstellung des zu erzeugenden Bildes zu verwendenden Viewport, insbesondere die entsprechende Bildgröße und das Sichtfeld fest.
-
Die durch die Objektbeschreibungsdaten OD in drei räumlichen Dimensionen beschriebenen Knotenpunkte der 3D-Netzanordnung werden im Rahmen der Bildsynthese zunächst in einem Vertexverarbeitungsprozess 2 in Abhängigkeit von den Viewportdaten in mehreren Teilschritten einer Translationstransformation und einer Rotationstransformation unterworfen und schließlich per Projektionsabbildung, insbesondere gemäß einem Lochkameramodell, auf dimensionsreduzierende Weise auf einen Raum niedriger Dimension, der insbesondere eine zweidimensionale Fläche sein kann, abgebildet. Auch Abbildungen auf einen nur eindimensionalen Raum sind denkbar.
-
Es folgt ein Prozess 3 zur Zusammensetzung der (grafischen) Primitive, d. h. im vorliegenden Fall der Dreiecke, zu einer gemäß den Viewportdaten angepassten abstrakten Beschreibung der gesamten Objektanordnung, eine darauf aufbauende Rasterisierung 4 und Fragmentverarbeitung 5, sowie ein Prozess 6 zum Zusammenfügen der Ausgangsbilddaten aus den Ergebnissen der vorangegangenen Schritte bzw. Prozesse. Als Ergebnis der Bildsynthese R können insbesondere ein Amplitudenbild AB sowie eine die Information bezüglich der durch die Projektionsabbildung weggefallenen dritten Dimension enthaltende Tiefenkarte TK ausgegeben werden.
-
3 zeigt verschiedene Darstellungen des genannten Schachbrettmusters aus verschiedenen Perspektiven, nämlich (a) aus einer Frontalperspektive und (b) in einer Seitenansicht. In beiden Fällen ist die dritte Dimension durch die Transparenz der weißen Felder kenntlich gemacht. In 3 (c) ist zudem eine abstrakte Darstellung des Schachbrettmusters mithilfe eines Netzes aus Dreiecken in Frontalansicht dargestellt, aus der ersichtlich ist, wie das Schachbrett aus dreieckigen Primitiven aufgebaut werden kann, deren Ecken zugleich die Knotenpunkte (Vertices) des Netzes darstellen. Dabei ist jedes der Felder des Schachbrettmusters aus zwei zueinander benachbarten Dreiecken zusammengesetzt, so dass jedes Feld insgesamt vier Knotenpunkte aufweist, von den zwei beiden Dreiecken gemeinsam sind.
-
Damit ist es bereits möglich, die verschiedenen in 4 beispielhaft dargestellten, und wiederum den in 1 vorgestellten Verzerrungsarten unterliegenden Visualisierungen des Schachbrettmusters (oder beliebiger anderer Objektanordnungen) als Bild zu synthetisieren. Die auf die verschiedenen Teilfiguren von 4 zutreffenden Verzerrungen entsprechen dabei denen der entsprechenden Teilfigur aus 1.
-
5 zeigt schematisch ein Flussdiagramm zur Illustration eines Bildsyntheseverfahrens bzw. einer entsprechenden Bildsynthesepipeline zur künstlichen Erzeugung von 2D- oder 3D-Synthesebilddaten gemäß einer Ausführungsform der Erfindung. Das Verfahren gemäß 5 baut auf dem Verfahren aus 2 auf, unterscheidet sich jedoch in mehrfacher Hinsicht davon. Zunächst ist festzustellen, dass zusätzlich zu den Objektbeschreibungsdaten OD und den Viewportdaten VPD noch Sensormodelldaten SMD als Eingabedaten zur Verfügung gestellt werden müssen. Die Sensormodelldaten SMD repräsentieren verschiedene intrinsische optische Abbildungseigenschaften eines vorbestimmten Bildsensortyps, etwa eines bestimmten Kameratyps oder sogar eines bestimmten Bildsensorexemplars, bezüglich dessen eine Simulation zur Erzeugung von entsprechenden Synthesebilddaten für die durch die Objektbeschreibungsdaten OD definierte Objektanordnung mit dem durch Viewportdaten VPD definierten Sichtfeld erfolgen soll.
-
Gegenüber dem Verfahren aus 2 ist dem Vertexverarbeitungsprozess 2 diesmal ein, grundsätzlich aber optionaler, Tesselationsprozess 1 vorgeschaltet, der dazu dient, die Objektanordnung beschreibende Netzstruktur aus den Objektbeschreibungsdaten OD dynamisch zu verfeinern, insbesondere um gekrümmte Kanten der Primitive bzw. Dreiecke und somit eine realitätsnähere Darstellung zu ermöglichen. Des Weiteren ist das Verfahren dahingehend erweitert, dass im Rahmen des Vertexverarbeitungsprozesses 2 ein zusätzlicher Teilprozess 2d vorgesehen ist, bei dem eine Modifikation, insbesondere Verzerrung, des sich aus den vorangegangenen Verfahrensschritten ergebenden Netzes entsprechend den durch die Sensormodelldaten SMD repräsentierten intrinsischen optischen Abbildungseigenschaften des Bildsensortyps erfolgt. im Übrigen entspricht das Verfahren aus 5 demjenigen aus 2.
-
Es ist zu bemerken, dass der Teilprozess 2d noch in der abstrakten Domäne, d. h. auf Basis der abstrakten Beschreibung der Objektanordnung mithilfe des Netzes und seiner Knotenpunkte und somit vor der Umsetzung dieser abstrakten Beschreibung in Bildpunkte (Pixel) repräsentierende Bilddaten stattfindet. Somit können bei dieser nachfolgenden Umsetzung bereits ein die sensormodellbedingten Modifikationen widerspiegelndes Bild bzw. dieses repräsentierende Bilddaten erzeugt werden, ohne dass im Anschluss daran noch ein oder mehrere Nachbearbeitungsschritte innerhalb der Bilddomäne (d. h. auf Pixelbasis) erforderlich würden um die gewünschte Vergleichbarkeit der Synthesebilddaten mit real aufgenommenen Bilddaten auch im Hinblick auf die optischen Abbildungseigenschaften des Bildsensortyps zu erreichen.
-
Die 6 dient der Illustration des Effekts des Tesselationsprozesses 1 im Rahmen des vorgenannten Verfahrens nach 5.
-
6 (a) zeigt auf der linken Seite einen aus der Nähe betrachteten Ausschnitt des Schachbrettmusters, aus dem zu erkennen ist, dass zwar die Anordnung der Knotenpunkte des Netzes gemäß der Modifikation auf Basis der Sensormodelldaten SMD verzerrt ist, die Verbindungslinien zwischen benachbarten Knotenpunkten jedoch weiterhin linear und somit unverzerrt geblieben sind. Dies zeigt sich besonders deutlich bei der auf der rechten Seite von 6 (a) dargestellten korrespondierenden Netzstruktur, bei der die Einfärbung der Flächen der dreieckigen Primitive weggelassen ist.
-
6 (b) zeigt dagegen das entsprechende Ergebnis, wenn der Tesselationsprozess 1 zusätzlich gemäß 5 durchgeführt wird. Zum einen ist hier deutlich die durch die Tesselation bewirkte Krümmung der Verbindungslinien zwischen benachbarten Knotenpunkten zu erkennen. Zum anderen ist auf der rechten Seite der 6 (b) zu erkennen, wie die Netzstruktur durch das Hinzufügen von Kontrollpunkten im Rahmen der Tesselation verfeinert wurde, um die Krümmungen der Verbindungslinien repräsentieren zu können. Vorzugsweise wird der Grad der Tesselation und somit auch der damit einhergehende Rechenaufwand in Abhängigkeit von dem Betrachtungsabstand gewählt, um so einen optimalen Ausgleich zwischen einerseits der angestrebten möglichst hohen Originaltreue des resultierenden Bildes, welche abstandsabhängig eine mehr oder weniger hohe Anzahl an Kontrollpunkten fordert, und der Begrenzung des dazu erforderlichen Rechenaufwands, die mit einer Begrenzung bzw. Absenkung der Anzahl der Kontrollpunkte einhergeht, zu erreichen.
-
Während vorausgehend wenigstens eine beispielhafte Ausführungsform beschrieben wurde, ist zu bemerken, dass eine große Anzahl von Variationen dazu existiert. Es ist dabei auch zu beachten, dass die beschriebenen beispielhaften Ausführungsformen nur nichtlimitierende Beispiele darstellen, und es nicht beabsichtigt ist, dadurch den Umfang, die Anwendbarkeit oder die Konfiguration der hier beschriebenen Vorrichtungen und Verfahren zu beschränken. Vielmehr wird die vorausgehende Beschreibung dem Fachmann eine Anleitung zur Implementierung mindestens einer beispielhaften Ausführungsform liefern, wobei sich versteht, dass verschiedene Änderungen in der Funktionsweise und der Anordnung der in einer beispielhaften Ausführungsform beschriebenen Elemente vorgenommen werden können, ohne dass dabei von dem in den angehängten Ansprüchen jeweils festgelegten Gegenstand sowie seinen rechtlichen Äquivalenten abgewichen wird.
-
Bezugszeichenliste
-
- 1
- Tesselationsprozess
- 2
- Vertexverarbeitungsprozess
- 2a
- Translation der Vertices
- 2b
- Rotation der Vertices
- 2c
- Projektion der Vertices
- 2d
- Modifikation, insbesondere Verzerrung, der Anordnung der Vertices bezüglich der intrinsischen optischen Abbildungseigenschaften des betrachteten Bildsensortyps
- 3
- Zusammensetzung der (grafischen) Primitive
- 4
- Rasterisierung
- 5
- Fragmentverarbeitung
- 6
- Zusammenfügen der Ausgangsbilddaten
- R
- Bildsynthese (Rendering)
- AB
- Amplitudenbild
- TK
- Tiefenkarte
- OD
- Objektbeschreibungsdaten
- VPD
- Viewportdaten
- SMD
- Sensormodelldaten