-
Querverweis auf verwandte Anmeldung
-
Diese Anmeldung beansprucht Priorität über die
U.S.-Anmeldung Nr. 15/190,031 , mit dem Titel „DEPTH IMAGE PROVISION APPARATUS AND METHOD“ vom 22. Juni 2016.
-
Technischer Bereich
-
Diese Offenbarung bezieht sich auf die Felder der Berechnung und Bildgebung, insbesondere auf Vorrichtungen, Verfahren und Speichermedien, die mit der Bereitstellung von Tiefenbildern assoziiert sind.
-
Allgemeiner Stand der Technik
-
Aktuelle dreidimensionale (3D) Tiefenkameras enthalten eine konventionelle Kamera, einen Infrarotlaserprojektor und eine Infrarotkamera (und manchmal ein Mikrofonarray) zum Messen der Tiefe eines Bilds, um gestenbasierte Interaktion, Gesichtserkennung, immersive Videokonferenzen und Kollaboration, Gaming und 3D-Scannen zu ermöglichen. Der Infrarotprojektor kann ein Gitter (in Infrarotlicht, das für das menschliche Auge unsichtbar ist) auf die Szene projizieren und die Infrarotkamera kann es aufnehmen, um Tiefeninformationen zu berechnen. 3D-Kameras können eigenständig sein oder in Computer integriert sein, wie etwa in Desktops, Laptops, Tablets, 2-in-1-Computer, Spielekonsolen und ähnliches. Aktuelle Tiefenkameras können bei der Verwendung einen wesentlichen Energieverbrauch von einem Bildgeber und Verarbeitungseinheiten verlangen. Ferner können aktuelle Tiefenkameras unter Einschränkungen der räumlichen Auflösung und der minimalen Objektgröße leiden, die aus Bildern identifiziert werden können, die durch die Kameras erfasst werden.
-
Figurenliste
-
Ausführungsformen sind leicht durch folgende ausführliche Beschreibung in Zusammenhang mit den beiliegenden Zeichnungen zu verstehen. Um diese Beschreibung zu vereinfachen, bezeichnen gleiche Referenzziffern gleiche strukturelle Elemente. Ausführungsformen werden beispielhaft und nicht einschränkend in den Figuren der beiliegenden Zeichnungen illustriert.
- 1 ist ein Blockdiagramm, das nach einigen Ausführungsformen eine beispielhafte Vorrichtung illustriert, um ein Tiefenbild eines Objekts bereitzustellen.
- 2 ist ein beispielhaftes schematisches Diagramm, das einige Aspekte der Vorrichtung aus 1 illustriert, nach einigen Ausführungsformen.
- 3 illustriert ein Beispielfragment eines Bilds eines Paars Bilder, erfasst durch eine Vorrichtung aus 1, nach einigen Ausführungsformen.
- 4 ist ein Beispielbild eines Objekts in einer Szene, das unter Verwendung der Techniken der vorliegenden Offenbarung erzeugt wurde, nach einigen Ausführungsformen.
- 5 illustriert nach einigen Ausführungsformen ein beispielhaftes Verfahren, um ein Tiefenbild eines Objekts bereitzustellen.
- 6 illustriert ein beispielhaftes Verfahren zur Verarbeitung von Paaren von Bildern, die wie mit Verweis auf 1 bis 5 erfasst wurden, um ein Tiefenbild eines Objekts zu erzeugen, nach einigen Ausführungsformen.
- 7 illustriert ein weiteres beispielhaftes Verfahren zur Verarbeitung von Paaren von Bildern, die wie mit Verweis auf 1 bis 5 erfasst wurden, um ein Tiefenbild eines Objekts zu erzeugen, nach einigen Ausführungsformen.
- 8 illustriert eine beispielhafte Rechnervorrichtung, die sich zur Verwendung zur Ausführung von Aspekten der vorliegenden Offenbarung eignet, wie etwa mit einer Vorrichtung zum Bereitstellen eines Tiefenbilds, nach verschiedenen Ausführungsformen.
-
Ausführliche Beschreibung
-
Ausführungsformen der vorliegenden Erfindung enthalten Techniken und Konfigurationen für eine Vorrichtung und ein Verfahren für die Bereitstellung eines Tiefenbilds eines Objekts. In einigen Ausführungsformen kann die Vorrichtung einen Projektor zum Projizieren eines Lichtmusters auf unterschiedliche Abschnitte einer Szene zu unterschiedlichen Zeitinstanzen umfassen. Die Vorrichtung kann ferner eine Bildgebungsvorrichtung umfassen, die mit dem Projektor verbunden ist, um Bildpaare der verschiedenen Abschnitte der Szene als Reaktion auf die Projektion des Lichtmusters auf jeweilige Abschnitte zu erzeugen. Die Erzeugung von Bildpaaren kann die Aufnahme eines ersten Bilds eines Paars aus einer ersten Perspektive, und die Aufnahme eines zweiten Bilds des Paars aus einer zweiten Perspektive umfassen, wobei die erste und zweite Perspektive unterschiedliche Perspektiven sein können. Die Vorrichtung kann ferner einen Prozessor enthalten, der mit dem Projektor und der Bildgebungsvorrichtung verbunden ist, um die Bewegung des Projektors zu steuern und das Tiefenbild des Objekts in der Szene zu erzeugen, basierend mindestens teilweise auf der Verarbeitung der erzeugten Bildpaare der Abschnitte der Szene.
-
In der folgenden detaillierten Beschreibung wird auf die beiliegenden Zeichnungen verwiesen, die einen Teil hiervon bilden, wobei gleiche Ziffern durchgehend gleiche Teile bezeichnen, und die durch Illustrationsausführungsformen dargestellt werden, die ausgeführt werden können. Es versteht sich, dass andere Ausführungsformen genutzt werden können und dass strukturelle oder Logikänderungen vorgenommen werden können, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Daher ist die folgende ausführliche Beschreibung nicht in einschränkendem Sinn zu verstehen, und der Umfang der Ausführungsformen ist durch die beiliegenden Ansprüche und ihre Äquivalente definiert.
-
Zum Zweck der vorliegenden Offenbarung bedeutet die Bezeichnung „A und/oder B“ (A), (B), (A) oder (B) oder (A und B). Zum Zweck der vorliegenden Offenbarung bedeutet die Bezeichnung „A, B und/oder C“, (A), (B), (C), (A und B), (A und C), (B und C) oder (A, B, und C).
-
Die Beschreibung kann die Bezeichnungen „in einer Ausführungsform“ oder „in Ausführungsformen“ enthalten, was sich jeweils auf eine oder mehrere gleiche oder unterschiedliche Ausführungsformen beziehen kann. Weiter sind die Begriffe „umfassend“, „einschließlich“, „aufweisend“ und ähnliches in der Verwendung bezüglich der Ausführungsformen der vorliegenden Offenbarung synonym.
-
Der Begriff „verknüpft mit“, sowie seine Ableitungen, kann hierin verwendet werden. „Verknüpft“ kann eines oder mehrere der folgenden bedeuten. „Verknüpft“ kann bedeuten, dass zwei oder mehrere Elemente in direktem physischen, elektrische oder optischen Kontakt stehen. „Verknüpft“ bedeutet jedoch auch, dass zwei oder mehr Elemente indirekt miteinander in Kontakt stehen, jedoch noch immer miteinander kooperieren oder interagieren, und kann bedeuten, dass ein oder mehrere Elemente zwischen den Elementen verknüpft oder verbunden sind, die als miteinander verknüpft bezeichnet werden.
-
1 ist ein Blockdiagramm, das eine beispielhafte Vorrichtung für die Bereitstellung eines Tiefenbilds eines Objekts nach einigen Ausführungsformen illustriert. In Ausführungsformen kann die Vorrichtung 100 eine Bildgebungsvorrichtung 102 enthalten, die mit einem Projektor 104 verbunden ist. Der Projektor 104 kann konfiguriert sein zur Ausführung einer kontrollierten Bewegung zum Projizieren eines Lichtmusters 124 auf unterschiedliche Abschnitte einer Szene 120 zu unterschiedlichen Zeitinstanzen. Die kontrollierte Bewegung kann eine Strahlsteuerung eines Strahls umfassen, der das Lichtmuster bildet, um das Muster in kontrollierter Weise zu bewegen. Das Lichtmuster 124 kann beispielsweise einen Lichtpunkt enthalten, der unterschiedliche Größen und Formen annehmen kann (z. B. rechteckig wie dargestellt, rund oder andere), und einen gewünschten Kontrastwert bereitstellen. Es gibt viele verschiedene Projektormuster, die verwendet werden können. In Ausführungsformen kann die Projektorbewegung im Wesentlichen fortlaufend sein, um eine Region (einen Abschnitt) des Bilds abzudecken. Wenn eine Reihe von Bildern für ein Pixel während der Bewegung des Projektors erfasst werden soll (wie nachfolgend ausführlicher beschrieben), kann diese Reihe einzigartig unter den anderen Reihen sein, die zusammen entlang derselben epipolaren Linie (d. h. Bildlinie in dem berichtigten Bild) mit dem Disparitätsbereich aufgenommen werden. Wie dargestellt, kann die Szene 120 ein oder mehrere Objekte 122 enthalten, die in diesem illustrativen Beispiel stille und/oder sich bewegende Objekte enthalten können, wie etwa eine Person. Mehrere Bildpaare der Abschnitte der Szene 120 können als Reaktion auf die Projektion des Lichtmusters erfasst werden. Die Bildpaare der Abschnitte der Szene 120, die beschafft wurden, können nach verschiedenen Ausführungsformen verarbeitet werden, die hierin beschrieben sind, und ein entsprechendes Tiefenbild des Objekts 122 in der Szene 120 kann basierend auf den Ergebnissen der Verarbeitung erzeugt werden.
-
Allgemein kann der Projektor 104 jeden Projektor enthalten, der veranlasst werden kann, das Lichtmuster in kontrollierter Weise über die Szene 120 zu bewegen, z. B. ständig oder periodisch. Beispielsweise kann der Projektor 104 veranlasst werden, das Lichtmuster 124, 126, 128 in einer Richtung, z. B. in horizontaler oder vertikaler Richtung, über die Szene 120 zu projizieren, mit einem Schritt (Abstand zwischen Lichtpunkten) einer bestimmten Größe (z. B. Größe eines Lichtflecks in einer Ausführungsform oder einer Pixel größe in einer anderen Ausführungsform), zwischen aufeinanderfolgenden Bildaufnahmen. Allgemein kann der Projektor 104 veranlasst werden, das Lichtmuster auf Abschnitte der Szene 120 in zufälliger Weise zu projizieren. In Ausführungsformen kann der Projektor 104 mit einem Stellmotor 110 verbunden sein und durch diesen bedient werden, um die Bewegung des Projektors 104 zu steuern, wie mit Verweis auf 2 genauer beschrieben.
-
Die Bildgebungsvorrichtung 102 kann konfiguriert sein, Bildpaare der verschiedenen Abschnitte der Szene 120 zu erzeugen, um einen Abschnitt der Szene abzubilden, der durch den Projektor 104 beleuchtet wird, als Reaktion auf die Projektion des Lichtmusters durch den Projektor 104 auf die Abschnitte der Szene 120. Die Bildgebungsvorrichtung 102 kann eine Infrarot- (IR) Kamera oder eine reguläre Kamera umfassen. In Ausführungsformen kann die Bildgebungsvorrichtung 102 eine erste (z. B. linke) Kamera 106 und eine zweite (z. B. rechte) Kamera 108 umfassen, die in einem Abstand B von der ersten Kamera 106 angeordnet sind. Die Kameras 106 und 108 können Bildpaare der Abschnitte der Szene 120 erzeugen, die aus unterschiedlichen Perspektiven aufgenommen wurden. Die Perspektiven können teilweise durch einen Abstand B zwischen den Kameras 106 und 108 und/oder durch jeweilige Abstände D1, D2 von den Kameras 106, 108 zu einem bestimmten Punkt (z. B. 150) in der Szene 120 definiert sein. Dementsprechend kann die Kamera 106 zuerst ein erstes Bild eines Bildpaars aus einer ersten Perspektive erfassen, und die Kamera 108 kann ein zweites Bild des Bildpaars aus einer zweiten Perspektive erfassen, wobei die erste und zweite Perspektive unterschiedliche Perspektiven sein können, wie dargestellt in 1.
-
In Ausführungsformen kann die Bildgebungsvorrichtung 102 eine Kamera (z. B. 106 oder 108) enthalten, die mit dem Projektor 104 verbunden ist. Die Kamera kann ein Bild des Bildpaars erfassen. Da die Geometrie des Projektors bekannt ist, kann die Tiefenkarte aus einer einzigen Ansicht berechnet werden, etwa durch Verwendung eines synthetischen Bilds des projizierten Musters als zweites Bild des Stereopaars. Mit anderen Worten, der Projektor 104 kann so kalibriert sein, dass seine Position zu jeder Zeitinstanz der Bilderfassung durch die Kamera 106 oder 108 bekannt sein kann, und daher ein entsprechendes Bild des Musters synthetisiert und eine genaue Tiefe aus einem einzigen Bild geschlossen werden kann, wie es beispielsweise in einem strukturierten Lichtverfahren der Fall ist.
-
Die Vorrichtung 100 kann ferner einen Prozessor 130 enthalten, der mit dem Projektor 104 (z. B. über den Stellmotor 110) verbunden ist, und die Bildgebungsvorrichtung 102. Der Prozessor 130 kann konfiguriert sein, die Bewegung des Projektors 104 mit dem Stellmotor 110 zu steuern. Der Prozessor 130 kann ferner konfiguriert sein, die Bildpaare zu verarbeiten, die durch die Bildgebungsvorrichtung 102 erfasst wurden, und das Tiefenbild des Objekts 122 in der Szene 120 mindestens teilweise basierend auf der Verarbeitung der erzeugten Bildpaare der Abschnitte der Szene 120 zu erzeugen. Die Bildverarbeitung und Erzeugung des Tiefenbilds des Objekts werden nachfolgend ausführlich beschrieben.
-
Das entstehende Tiefenbild des Objekts 122 kann einer Anzeige 132 zur Verfügung gestellt und/oder in einem Speicher 134 der Vorrichtung 100 gespeichert werden, abhängig von einer Konfiguration der Vorrichtung 100. Der Speicher 134 kann Anweisungen (z. B. in einem Steuermodul 140) speichern, um den Prozessor 130 zu bedienen, um die Bewegungssteuerung des Projektors 104 auszuführen und die erfassten Bildpaare der Abschnitte der Szene 120 zu verarbeiten, um ein Tiefenbild des Objekts 122 in der Szene 120 zu erzeugen.
-
1 stellt einen koplanaren Aufbau des Projektors und der Kamera dar. Dies kann ohne Verlust der Allgemeingültigkeit erfolgen, da das Bild berichtigt und koplanar gemacht werden kann. Die Prozesse der Berichtigung können eine geometrische Transformation des Bilds enthalten, der Geometrie des Kamera-Projektorsystems entsprechend. Das Ergebnis dieses Prozesses kann eine virtuelle Kamera sein, die koplanar und verzerrungsfrei ist. In Ausführungsformen können die Tiefendaten jedes bereitgestellten Pixels (z. B. ein Abstand von der Kamera 106 (108) zu einem Punkt auf dem Objekt 122 der dem bereitgestellten Pixel entspricht) basierend auf dem Grundlinienabstand B zwischen den Kameras 106, 108 trianguliert werden und das Tiefenbild kann entsprechend erstellt werden.
-
Die Vorrichtung 100 kann als jede externe periphere Vorrichtung verkörpert sein (z. B. kommunikativ verbunden mit einer Rechnervorrichtung) oder eine integrierte Vorrichtung, die sich für die Bilderzeugung und -bereitstellung eignet. Die Beispiele der Rechnervorrichtungen, die die Vorrichtung 100 enthalten können, können Tabletcomputer, Smartphones, Laptops, Gaming- und Medienvorrichtungen, mobile Workstations, All-in-One-Vorrichtungen, 2-in-1-Vorrichtungen oder Desktopcomputer enthalten, sind jedoch nicht darauf beschränkt. In Ausführungsformen kann die Vorrichtung 100 eine Standalone-Vorrichtung umfassen, wie etwa eine 3D-Standbildkamera, eine Videokamera, eine Webcam, eine Infrarot- (IR) Kamera oder eine andere Vorrichtung, die in der Lage ist, Videos und/oder Bilder zu erzeugen.
-
Allgemein können beliebige oder alle der illustrierten Bauteile der Vorrichtung 100 getrennt und extern von, aber kommunikativ verbunden mit, einer Rechnervorrichtung vorliegen. Ferner können einige oder alle der Funktionen der Vorrichtung 100, wie etwa die Verarbeitungsleistung und/oder Speicherkapazität, verwendet oder mit einer assoziierten Rechnervorrichtung verwendet werden.
-
2 ist ein beispielhaftes schematisches Diagramm, das einige Aspekte der Vorrichtung aus 1 nach einigen Ausführungsformen illustriert. Zum einfacheren Verständnis sind gleiche Bauteile aus 1 und 2 mit gleichen Ziffern angegeben.
-
Wie dargestellt, kann der Projektor 104 einen Musterlichtemitter 202 enthalten, der konfiguriert ist, das Lichtmuster 124 (Lichtpunkt) abzugeben, das durch die Linse 204 auf einem Abschnitt einer Szene abgebildet werden soll (nicht dargestellt). Ein Controller (z. B. Prozessor 130) kann mit dem Stellmotor 110 verbunden sein, um die Bewegung des Lichtemitters 202 entlang einer Ebene 206 zu bedienen, um die Projektion des Lichtmusters 124 auf den Abschnitt der Szene zu steuern. In einigen Ausführungsformen kann der Controller die Bewegung der Linse 204 steuern (z. B. einige der Linsenelemente bestätigen), neben oder anstatt der Steuerung der Bewegung des Lichtemitters 202, um die Strahlsteuerung zu steuern, um das projizierte Muster auf den Abschnitt der Szene zu übertragen.
-
Allgemein kann der Projektor 104 eine Musterprojektorarray umfassen, angeordnet an einer x-y mechanischen Übertragungsbefestigung. Das Muster kann durch eine Vertical-Cavity Surface-Emitting Laser (VCSEL) Array erzeugt werden. Diese Array kann aus einem einzigen Halbleiterchip bestehen und Laserquellen erzeugen. Das Arraylayout kann eine pseudozufällige Anordnung sein. Die Laserzellen können in rechtwinkliger Richtung von der Oberfläche verlaufen. Ein optisches Element (z. B. eine Linse) kann verwendet werden, um das Licht in die Szene zu projizieren („invertierte Bildgebung“). Der Stellmotor 110 kann einen mechanischen Stellmotor umfassen, wie etwa einen Sensorverschiebungsaufbau, um die Laserarray parallel zu ihrer Position zu bewegen. Die gesteuerte Bewegung (Strahlsteuerung) des Projektors kann wie folgt sein: der Projektor kann ein Muster (einen Lichtfleck) auf eine Szene projizieren, und ein Paar Bilder kann aufgenommen werden; der Projektor kann veranlasst werden, das Muster an einen anderen Ort in der Szene zu bewegen und anzuhalten, und ein anderes Bildpaar kann aufgenommen werden; und so weiter. Der Controller kann die Lichtquelle deaktivieren und nur für einen vorgegebenen Zeitraum aktivieren, wenn der Projektor die gewünschte Position erreicht hat. Typischerweise kann in Stereokamerabildverarbeitung ein Templatebildpatch (z. B. ein Abschnitt eines Bilds, wie etwa eine Pixelnachbarschaft oder ein Fenster einer bestimmten Größe) von einem des Bildpaars eines Abschnitts der Szene genommen werden (z. B. von dem linken Bild). Der Bildpatch kann den Bildpatches entlang derselben imaginären Linie des anderen (z. B. rechten) Bilds. Diese entsprechende Linie ist auch als epipolare Linie bekannt. Die Kamerageometrie kann bekannt sein, sodass die Bilder berichtigt werden können. Nachfolgend wird angenommen, dass die Bilder berichtigt werden.
-
Es gibt verschiedene Metriken für den Abgleich von Bildpatches, wie etwa normalisierte Querkorrelation, Summe absoluter Unterschiede, Summe von Quadraten und anderen. Wenn eine gute Übereinstimmung gefunden wird, wird der Abstand zwischen dem Templatepatch und dem abgeglichenen Patch (Disparität) in der richtigen Bildebene gemessen. Der Abstand von der Kamera zu dem Patch kann dann unter Verwendung der folgenden Gleichung berechnet werden: z=f * B/d, wobei z der Abstand von der Kamera ist, f die Brennlänge der Kamera, B die Grundlinie (Abstand zwischen den beiden Kameras wie in 1 dargestellt), und d die Disparität (für einen planaren Aufbau). Allgemein kann B der Abstand zwischen virtuellen Kameras sein, nachdem das Bild berichtigt wurde. Das Hauptproblem bei diesem Ansatz bezieht sich auf die Informationsmenge in dem Bildpatch. Wenn sich der Bildpatch in einer Region mit geringem Kontrast befindet (z. B. einer einheitlichen Region), kann es sein, dass nicht ausreichende Informationen zur Verfügung stehen, um einen abgeglichenen Bildpatch in dem andren Bild zu finden. Um dieses Problem zu lösen, können aktive Stereokameras verwendet werden, die ein IR-Muster auf eine Szene projizieren können, um einen Kontrast (oder eine Textur) in dem gesamten Bild zu schaffen.
-
Aktive Tiefenkameras könne jedoch unter Einschränkungen der räumlichen Auflösung und der minimalen Objektgröße leiden, die durch die Kamera identifiziert werden können. Wenn der Bildpatch zu klein ist, kann er möglicherweise nicht ausreichend viele Informationen enthalten, um eine klare Abgleichung zu erlauben. Andererseits kann der Bildpatch, wenn er zu groß ist, Informationen aus Bildregionen enthalten, die verschiedene Tiefenwerte und daher verschiedene Disparitätswerte aufweisen können. Eine große Patchgröße kann zu einer ungenauen Berechnung eines Disparitätswerts oder zu gar keinem Abgleich führen. Weiterhin kann die Größe des Patches auch die minimale Objektgröße bestimmen, die die Kamera auflösen kann, sowie die effektive Auflösung. Beispielsweise kann eine Stereokamera mit einer 640 × 480 Video Graphics Array (VGA) Auflösung und einer 8 × 8 Fenstergröße in der Lage sein, Bilder mit einer Mindestgröße von weniger als 8 × 8, aufzulösen, und die effektive Auflösung (die Anzahl unabhängiger Tiefenmessungen) kann 80 × 60 betragen. Mit anderen Worten, bekannte Lösungen müssen möglicherweise sowohl einen größeren Projektor als auch eine größere Bildgebungsvorrichtung verwenden, um eine gewünschte Genauigkeit eines Tiefenbilds bereitzustellen, was die Größe, Kosten und den Leistungsverbrauch der Vorrichtung erhöhen kann.
-
Um die Patchgröße zu verringern (und damit die Tiefenkartenauflösung zu erhöhen), ohne die Tiefenqualität zu kompromittieren, muss möglicherweise ein projiziertes Muster erstellt werden, das so dicht sein kann, wie ein optisches System auflösen kann. Die beschriebenen Ausführungsformen können die Verbesserung der Bildtiefengenauigkeit durch Steuerung der Bewegung des Projektors vorsehen, der ein zeitabhängiges projiziertes Muster erstellen kann. Das daraus folgende Muster kann eine höhere Dichte aufweisen, als die Muster, die durch konventionelle Lösungen angeboten werden. Die Verarbeitung des Bilds, das unter Verwendung der gesteuerten Bewegung des hierin beschriebenen Projektors erfasst wurde, kann ein im Vergleich mit konventionellen Verfahren hochauflösendes dreidimensionales Tiefenbild eines Objekts in einer Szene vorsehen. In einigen Ausführungsformen kann die Verarbeitung der Bildpaare, die als Reaktion auf eine Projektion des Lichtmusters eines Abschnitts einer Szene erzeugt wurden, die folgenden Techniken enthalten. Der Projektor kann das projizierte Muster mit einem bestimmten Schritt in einem bestimmten Abstand zwischen aufeinander folgenden Bilderfassungen bewegen), und Bildpaare können erfasst werden, die dasselbe Bildelement eines Abschnitts einer Szene enthalten können (z. B. ein Patch oder ein Pixel). Beispielsweise kann mit Verweis auf 1 das Bildelement, das einem Szenenabschnitt entspricht, wie etwa der Punkt 150, in Bildpaaren gefunden werden, die den Lichtpunkten 124 und 126 entsprechend, die zu den jeweiligen Zeitinstanzen aufgenommen wurden.
-
3 illustriert ein Beispielfragment eines Bilds eines Paars Bilder, erfasst durch eine Vorrichtung aus 1, nach einigen Ausführungsformen. Die X- und Y-Achsen sind in Ordinalpositionen der Pixel bezeichnet. Wie dargestellt können für ein einzelnes Bildelement (z. B. ein Pixel, das beispielsweise durch Ziffer 302 angegeben ist) mehrere Bilder (z. B. 304, 306) in derselben Pixel-„Nachbarschaft“ (räumliche Anordnung) zu unterschiedlichen (z. B. sukzessiven) Zeitinstanzen erzeugt werden, die mindestens Abschnitte des Bildelements 302 enthalten können. Beispielsweise kann ein Projektor ein Muster (Lichtpunkt) auf eine Szene zu einem Zeitpunkt t1 projizieren, und ein Bildpaar des Patchs, das dem Punkt entspricht, kann erzeugt werden. Der Projektor kann dann den Lichtpunkt (z. B. in einem Abstand, der weniger ist, als eine Größe des Musterpunkts) bewegen, und ein anderes (sukzessives) Bildpaar kann zum Zeitpunkt t2 aufgenommen werden. Diese Funktion kann eine Anzahl von Malen zu den Zeitinstanzen t1, t2, t3,... tN wiederholt werden.
-
So kann ein Bildelement (oder ein Abschnitt davon) in jedem der Bilder vorhanden sein, die in der räumlichen Nachbarschaft dieses Elements und zu unterschiedlichen Zeitinstanzen aufgenommen wurden. Jedes Bild kann einen Lichtintensitätswert aufweisen, der mit dem Bildelement assoziiert ist, der in dem Bild vorhanden ist.
-
Dementsprechend kann aus einer Reihe von Bildpaaren, die zu unterschiedlichen (z. B. sukzessiven) Zeiten t1, t2, t3... tN und an aneinander angrenzenden (oder überlappenden) Räumen, die den Lichtmustern entsprechen, die durch den Projektor projiziert werden, aufgenommen wurden, eine Bildpatchreihe aus der „Nachbarschaft“ des Bildelements (z. B. Pixel 302) sowohl in Raum als auch in Zeit aufgebaut werden. Mit anderen Worten kann aus mehreren Bildern und für jeden Bildpatch eine Zeitreihe, z. B. ein Vektor der verschiedenen Lichtintensitätswerte zu unterschiedlichen Zeitinstanzen, erstellt werden. Ein Standardstereoabgleich zu diesen Zeitreihen durchgeführt werden (statt auf einem einzelnen Patch oder einem räumlichen Fenster nach konventionellen Verfahren), durch Identifizierung von Disparitäten für entsprechende Bildpaare in einer Reihe, wie oben beschrieben. Auf Grundlage des Ergebnisses des Abgleichs kann ein hochauflösendes Tiefenbild eines Objekts erzeugt werden.
-
In anderen Ausführungsformen kann die Verarbeitung der Bildpaare, die als Reaktion auf eine Projektion des Lichtmusters eines Abschnitts einer Szene erzeugt wurden, wie folgt ausgeführt werden. Ein Merkmal eines Bilds kann vorgegeben und im Speicher 134 gespeichert werden, auf den der Prozessor 130 der Vorrichtung 100 zugreifen kann. Ein Merkmal kann einen Abschnitt eines Bilds mit vorgegebene Eigenschaften umfassen (z. B. Lichtintensitätswerte). Beispielsweise kann ein Merkmal ein Satz Lichtintensitätswerte sein, der einen Bildpatch definiert (z. B. entsprechend einem Punkt 304 oder 306 in 3). Beispielsweise kann ein Merkmal ein Muster umfassen, das aus mehreren Punkten besteht, wobei jeder Punkt einen entsprechenden Lichtintensitätswert aufweist. Zu Verarbeitungszwecken können ein oder mehrere Merkmale eines Bilds vorgegeben und gespeichert werden.
-
Ein Merkmal (oder Merkmale) kann/können entlang mehreren Rahmen verfolgt werden, die von der Szene erfasst werden. Bildpaare können als [L1, R1], [L2, R2], ..., [[IN, RN] definiert sein, wobei L and R Bildern entsprechen können, die durch die linke und rechte Kamera der Bildgebungsvorrichtung erfasst wurden. Wenn ein Merkmal in einem der Bilder identifiziert wurde, z. B. L1, kann ein entsprechendes Merkmal in dem entsprechenden Bild R1 identifiziert werden. Dies kann beispielsweise durch den oben beschriebenen Standardstereoabgleich erfolgen. Weiter kann ein Disparitätswert für das Merkmal an jeder der Zeitinstanzen t festgelegt werden, wo die Disparität (bezeichnet durch d(t)), der Unterschied der x-Koordinate des Merkmals sein kann.
-
Ferner kann eine Diskontinuität der Disparitäten d(t) erkannt werden. Die Diskontinuität ist ein mathematisches Prinzip. Namentlich kann eine kleine Änderung (infinitesimal) der Bewegung des Musters zu einer großen (nicht infinitesimalen) Änderung der Disparität führen. Die Diskontinuität kann eine Grenze eines Objekts in der Szene, Grenzen zwischen Objekten und so weiter definieren. Eine Grenze zwischen Objekten (oder eine Grenze zwischen einem Objekt und dem Hintergrund der Szene) kann durch Erkennung der Diskontinuität in dem Tiefenbild identifiziert werden. In den hierin beschriebenen Ausführungsformen kann eine Diskontinuität in mehreren Bildern erkannt werden, die eine bessere Auflösung des Tiefenbilds bereitstellen können. Da die Verfolgung des Merkmals in einer Subpixelweise mit Standardmerkmalsverfolgungstechniken (z. B. Lucas-Kanade) erfolgen kann, kann der Diskontinuitätsort x,y-Koordinaten) leicht in Subpixelgenauigkeit vorliegen.
-
Mit anderen Worten, der Ort der Grenze kann in einer fraktionalen Pixelauflösung erkannt werden, z. B. kann die Grenze zwischen Objekt und dem Hintergrund an Pixelkoordinaten bestimmt werden (z. B. x = 100,25 pix, y = 75,1 pix). Die Subpixel-Genauigkeit kann erreicht werden, wenn der Projektor zwischen der Aufnahme von zwei sukzessiven Bildpaaren bewegt werden kann, um das Muster (Lichtpunkt) für einen Abstand zu projizieren, der geringer ist, als die Größe des Pixels. 4 ist ein Beispielbild eines Objekts in einer Szene, die unter Verwendung der Techniken der vorliegenden Offenbarung erzeugt wurde, nach einigen Ausführungsformen. Das Objekt kann einem Objekt 122 (einer Person) in der Szene 120 von 1 entsprechen. Das Tiefenbild aus 4, das nach den Ausführungsformen dieser Offenbarung erzeugt wird, kann Tiefeninformationen in einer viel höheren räumlichen (x-y) Auflösung bereitstellen, als das Bild, das durch konventionelle Verfahren erfasst wurde. Im konventionellen Stereoabgleich kann ein Bildpatch einer bestimmten Größe, z. B. 8 × 8 Pixel, abgeglichen werden, was bedeutet, dass Objekte, die im Wesentlichen kleiner sind als diese Größe, nicht identifiziert werden können. Ferner kann die Tiefeninformation auf diese Größe gemittelt werden, z. B. 8 × 8 Fenster. Beispielsweise können für ein 640 × 480-Passungsbild, 80 × 60 nicht überlappende Patches erfasst werden und daher 80 × 60 unabhängige Tiefenmessungen ausgeführt werden. Die beschriebenen Ausführungsformen können auf einem einzigen Pixel (über einige Bildrahmen hinweg) funktionieren, sodass es keine Mittelung über x-y, sondern nur über den Zeitraum gibt, wenn angenommen wird, dass Objekt und Kamera statisch sind. Daher ist die x-y Auflösung viel höher. Mit anderen Worten können unabhängige Tiefenmessungen für jedes Pixel erfasst werden. 5 illustriert nach einigen Ausführungsformen ein beispielhaftes Verfahren, um ein Tiefenbild eines Objekts bereitzustellen. Der Ablauf 500 kann beispielsweise durch die Vorrichtung 100 ausgeführt werden, die mit Verweis auf 1 beschrieben ist. Genauer gesagt, kann der Ablauf 500 durch den Prozessor 130 als Reaktion auf die Ausführung der Anweisungen ausgeführt werden, um das Tiefenbild bereitzustellen, das in Speicher 134 gespeichert werden kann.
-
Der Ablauf 500 kann in Block 502 beginnen und enthalten, dass ein Projektor (z. B. Projektor 104) veranlasst wird, eine kontrollierte Bewegung zum Projizieren eines Lichtmusters (z. B. 124) auf unterschiedliche Abschnitte einer Szene (z. B. 120) zu unterschiedlichen Zeitinstanzen auszuführen.
-
In Block 504 kann der Ablauf 500 enthalten, Bildpaare unterschiedlicher Abschnitte der Szene 120 zu empfangen, die durch eine Bildgebungsvorrichtung 102 erzeugt wurden, die mit dem Projektor 104 verbunden ist, als Reaktion auf die Projektion des Lichtmusters auf jeweilige Abschnitte. Dies kann den Empfang eines ersten Bilds eines Paars, das aus einer ersten Perspektive erfasst wurde, und den Empfang eines zweiten Bilds des Paars, das aus einer zweiten Perspektive erfasst wurde, umfassen, wobei die erste und zweite Perspektive unterschiedliche Perspektiven sein können.
-
In Block 506 kann der Ablauf 500 die Verarbeitung der erzeugten Bildpaare der Abschnitte der Szene enthalten. Die Verarbeitung kann in verschiedener Weise wie oben beschrieben erfolgen. Beispielsweise kann die Verarbeitung durch Stereoabgleich der Zeitreihen der Bildpaare erfolgen, wie ferner mit Verweis auf 6 beschrieben. In einem anderen Beispiel kann die Verarbeitung durch Verfolgung von Bildmerkmalen in Bildpaaren erfolgen, wie ferner mit Verweis auf 7 beschrieben.
-
In Block 508 kann der Ablauf 500 das Erzeugen des Tiefenbilds des Objekts in der Szene, basierend mindestens teilweise auf einem Ergebnis der Verarbeitung.
-
6 illustriert ein beispielhaftes Verfahren zur Verarbeitung von Paaren von Bildern, die wie mit Verweis auf 1 bis 5 erfasst wurden, um ein Tiefenbild eines Objekts zu erzeugen, nach einigen Ausführungsformen. Der Ablauf 600 kann beispielsweise durch die Vorrichtung 100 ausgeführt werden, die mit Verweis auf 1 beschrieben ist. Genauer gesagt, kann der Ablauf 600 durch den Prozessor 130 als Reaktion auf die Ausführung der Anweisungen ausgeführt werden, um das Tiefenbild bereitzustellen, das in Speicher 134 gespeichert werden kann.
-
Der Ablauf 600 kann in Block 602 beginnen und die Bestimmung mehrerer Lichtintensitätswerte für ein Bildelement eines Abschnitts der Szene enthalten, für mindestens einige erzeugte Bildpaare, die das Bildelement enthalten.
-
In Block 604 kann der Ablauf 600 die Identifizierung entsprechender Orte für das Bildelement in jeweiligen Bildern jedes Bildpaars der mindestens einigen erzeugten Bildpaare enthalten.
-
In Block 606 kann der Ablauf 600 das Erzeugen von mindestens einem Abschnitt des Tiefenbilds des Objekts, basierend mindestens teilweise auf den bestimmten mehreren Intensitätswerten und entsprechenden Orten des Bildelements enthalten.
-
7 illustriert ein weiteres beispielhaftes Verfahren zur Verarbeitung von Paaren von Bildern, die wie mit Verweis auf 1 bis 5 erfasst wurden, um ein Tiefenbild eines Objekts zu erzeugen, nach einigen Ausführungsformen. Der Ablauf 700 kann beispielsweise durch die Vorrichtung 100 ausgeführt werden, die mit Verweis auf 1 beschrieben ist. Genauer gesagt, kann der Ablauf 700 durch den Prozessor 130 als Reaktion auf die Ausführung der Anweisungen ausgeführt werden, um das Tiefenbild bereitzustellen, das in Speicher 134 gespeichert werden kann.
-
Der Ablauf 700 kann in Block 702 beginnen und die Identifizierung eines Merkmals eines Abschnitts der Szene in mindestens einigen ersten und zweiten Bildern von mindestens einigen Bildpaaren enthalten. Das Merkmal kann einen Satz vorgegebener Lichtintensitätswerte enthalten, die mit einem Bildelement des ersten oder zweiten Bilds assoziiert sind.
-
In Block 704 kann der Prozess 700 die Bestimmung von Disparitätswerten für das Merkmal für jedes der ersten und zweiten Bilder enthalten.
-
In Block 706 kann der Ablauf 700 das Erzeugen von mindestens einem Abschnitt des Tiefenbilds des Objekts, basierend mindestens teilweise auf den bestimmten Disparitätswerten des Merkmals enthalten.
-
8 illustriert eine beispielhafte Rechnervorrichtung 800, die sich zur Verwendung zur Ausführung von Aspekten der vorliegenden Offenbarung eignet, wie etwa mit einer Vorrichtung zum Bereitstellen eines Tiefenbilds, nach verschiedenen Ausführungsformen. Wie dargestellt, kann die Rechnervorrichtung 800 einen oder mehrere Prozessoren 802, die jeweils einen oder mehrere Prozessorkerne aufweisen, und Systemspeicher 804 enthalten. Der Prozessor 802 kann umgesetzt werden als integrierter Schaltkreis, der einen oder mehrere Kerne aufweist, z. B. einen Multicore-Mikroprozessor.
-
Die Rechnervorrichtung 800 kann Massenspeichervorrichtungen 806 enthalten (wie etwa Solid State Drives, flüchtige Speicher (z. B. dynamischen Random-Access Memory (DRAM)), und so weiter). Allgemein können der Systemspeicher 804 und/oder die Massenspeichervorrichtungen 806 temporal und/oder persistente Spicher jeder Art sein, einschließlich, aber nicht beschränkt auf flüchtigen oder nichtflüchtigen Speicher, optischen, magnetischen und/oder Solid-State-Massenspeicher und so weiter. Flüchtiger Speicher kann statischen und/oder dynamischen Random-Access Memory enthalten, ist jedoch nicht darauf beschränkt. Nichtflüchtiger Speicher kann elektrisch löschbaren programmierbaren Read-Only Memory, Phasenwechselspeicher, resistiven Speicher und so weiter enthalten, ist jedoch nicht darauf beschränkt. Systemspeicher 804 und/oder Massenspeichervorrichtungen 806 können jeweilige Kopien von Programmieranweisungen umfassen, die konfiguriert sind, Funktionen auszuführen, die sich beispielsweise auf Vorrichtung 1_00 beziehen, kollektiv bezeichnet als Rechnerlogik 822.
-
Die Rechnervorrichtung 800 kann ferner Ein-/Ausgabe- (E/A) Vorrichtungen 808 enthalten (wie etwa eine Anzeige (z. B. Anzeige 132 aus 1), Softkeyboard, berührungsempfindliche Anzeige, Bilderfassungsvorrichtung und so weiter) und Kommunikationsschnittstellen 810 (wie etwa Netzwerkschnittstellenkarten, Modems, Infrarotempfänger, Funkempfänger (z. B. Nahfeldkommunikation (NFC), Bluetooth, WiFi, 4G/8G Long-Term Evolution (LTE)), und so weiter). In Ausführungsformen kann die Rechnervorrichtung 800 die Bauteile der Vorrichtung 100 aus 1 umfassen oder enthalten. In einigen Ausführungsformen können die E/A-Vorrichtungen eine Bildgebungsvorrichtung 102 (die Kameras 106 und 108 enthalten kann) und Projektor 104 enthalten, wie mit Verweis auf 1 beschrieben.
-
Die Kommunikationsschnittstellen 810 könne Kommunikationschips enthalten (nicht dargestellt), die konfiguriert werden können, die Vorrichtung 800 nach einem Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Universal Mobile Telecommunications System (UNITS), High Speed Packet Access (HS.PA), Evolved HSPA (E-HSPA) oder LTE-Netz zu bedienen. Die Kommunikationschips können außerdem konfiguriert sein, nach Enhanced Data for GSM Evolution (EDGE), GSM EDGE Radio Access Network. (GERAN), Universal Terrestrial Radio Access Network (UTRAN) oder Evolved UTRAN (E-UTRAN) zu funktionieren. Die Kommunikationschips können konfiguriert sein, nach Code Division Multiple Access (C.DMA), Time Division Multiple Access (TDMA), Digital Enhanced Cordless Telecommunications (DECT), Evolution-Data Optimized (EV-DO), Ableitungen davon sowie nach beliebigen Drahtlosprotokollen zu funktionieren, die als 3G, 4G, 5G und darüber hinaus bezeichnet sind. Die Kommunikationsschnittstellen 810 können in anderen Ausführungsformen nach anderen Drahtlosprotokollen funktionieren.
-
Die Elemente der oben beschriebenen Rechnervorrichtung 800 können miteinander über Systembus 812 verbunden sein, der einen oder mehrere Busse darstellen kann. Im Fall mehrerer Busse können diese durch eine oder mehrerer Busbrücken überbrückt werden (nicht dargestellt). Jedes dieser Elemente kann seine konventionellen Funktionen, die auf dem Stand der Technik bekannt sind, durchführen. Insbesondere können Systemspeicher 804 und Massenspeichervorrichtungen 806 eingesetzt werden, um eine Arbeitskopie und eine permanente Kopie der Programmieranweisungen zu speichern, die die Funktionen umsetzen, die mit der Vorrichtung 100 aus 1 assoziiert sind. Die verschiedenen Elemente können durch Assembleranweisungen umgesetzt werden, die durch einen oder mehrere Prozessor(en) 802 oder High-Level-Sprachen unterstützt werden, die in solche Anweisungen kompiliert werden können.
-
Die permanente Kopie der Programmieranweisungen der Rechnerlogik 822 kann in der Fabrik oder im Feld in permanenten Speichervorrichtungen 806 platziert werden, beispielsweise durch ein Verteilermedium (nicht dargestellt, wie eine Compact Disc (CD), oder durch Kommunikationsschnittstellen 810 (von einem Verteilerserver (nicht dargestellt)). D. h. eine oder mehrere nichttransitorische Verteilermeldungen die eine Umsetzung eines Agentenprogramms aufweisen, können eingesetzt werden, um den Agenten zu verteilen und verschiedene Rechnervorrichtungen zu programmieren. In Ausführungsformen können die Verteilermedien transitorisch sein, z. B. Signale, die mit den Anweisungen codiert sind.
-
Die Anzahl, Fähigkeit und/oder Kapazität der Elemente 808, 810, 812 kann variieren, je nachdem, ob die Rechnervorrichtung 800 als stationäre Rechnervorrichtung verwendet wird, wie etwa eine Set-Top-Box oder ein Desktopcomputer, oder eine mobile Rechnervorrichtung, wie etwa eine Tabletcomputervorrichtung, ein Laptopcomputer, eine Spielekonsole oder ein Smartphone. Ihre Konstitutionen sind anderweitig bekannt und werden entsprechend nicht weiter beschrieben.
-
Mindestens einer der Prozessoren 802 kann zusammen mit Speicher gepackt werden, der eine Rechnerlogik 822 aufweist, die konfiguriert ist, Aspekte von Ausführungsformen zu praktizieren, die mit Verweis auf 1 bis 7 beschrieben sind. Für eine Ausführungsform kann mindestens einer der Prozessoren 802 mit Speicher zusammengepackt werden, der eine Rechnerlogik 822 aufweist, um ein System-in-Package (SiP) oder ein System-on-Chip (SoC) zu bilden. Für mindestens eine Ausführungsform kann das SoC eingesetzt werden, um das Steuermodul 140 aus 1 zu bilden.
-
In verschiedenen Umsetzungen kann die Rechnervorrichtung 800 einen Laptop, ein Netbook, ein Notebook, ein Ultrabook, ein Smartphone, ein Tablet, einen Personal Digital Assistant (PDA), einen ultramobilen PC, ein Mobiltelefon, einen Desktopcomputer, einen Server, einen Drucker, einen Scanner, einen Monitor, eine Set-Top Box, eine Spielekonsole, eine Unterhaltungssteuereinheit, eine Digitalkamera, einen tragbaren Musikplayer oder einen digitalen Videorecorder umfassen. In weiteren Ausführungsformen kann die Rechnervorrichtung 800 jede andere elektronische Vorrichtung sein, die Daten verarbeitet und die Tiefenbilder von Objekten nutzt, die durch die Vorrichtung 100 aus 1 bereitgestellt wurden.
-
Die folgenden Absätze beschreiben Beispiele verschiedener Ausführungsformen.
- Beispiel 1 kann eine Vorrichtung zur Bereitstellung eines Tiefenbilds eines Objekts in einer Szene sein, umfassend: einen Projektor zur Durchführung einer kontrollierten Steuerung eines Lichtmusters auf unterschiedlichen Abschnitten der Szene zu unterschiedlichen Zeitinstanzen; eine Bildgebungsvorrichtung, verbunden mit dem Projektor, zum Erzeugen von Bildpaaren der unterschiedlichen Abschnitte der Szene als Reaktion auf die Projektion des Lichtmusters auf jeweilige Abschnitte, wobei das Erzeugen der Bildpaare für einen Abschnitt der Szene enthält, ein erstes Bild eines Paar aus einer ersten Perspektive zu erfassen und ein zweites Bild des Paars aus einer zweiten Perspektive zu erfassen, wobei die erste und zweite Perspektive unterschiedliche Perspektiven sind; und einen Prozessor, der mit dem Projektor und der Bildgebungsvorrichtung verbunden ist, um die Steuerung des Lichtmusters zu steuern, und das Tiefenbild des Objekts in der Szene zu erzeugen, basierend mindestens teilweise auf der Verarbeitung der erzeugten Bildpaare der Abschnitte der Szene.
- Beispiel 2 kann den Inhalt von Beispiel 1 enthalten, wobei die Vorrichtung ferner einen Stellmotor umfasst, der mit dem Projektor verbunden ist, wobei der Prozessor den Stellmotor bedienen soll, die Bewegung des Projektors zu steuern, um das Lichtmuster um die Szene zu projizieren.
- Beispiel 3 kann den Inhalt von Beispiel 1 enthalten, wobei die Bildgebungsvorrichtung eine erste Kamera und eine zweite Kamera umfasst, die in einem Abstand von und in einer Ebene mit der ersten Kamera angeordnet sind, wobei die erste und zweite Perspektive mindestens teilweise durch den Abstand zwischen den ersten und zweiten Kameras definiert sind.
- Beispiel 4 kann den Inhalt von Beispiel 1 enthalten, wobei die Bildgebungsvorrichtung eine Kamera umfasst, wobei die Kamera eines der ersten oder zweiten Bilder des Paars erfassen soll, und der Prozessor ein anderes der ersten oder zweiten Bilder des Paars erzeugen soll, basierend mindestens teilweise auf einer Position eines Projektors relativ zu der Szene, zu einer Zeitinstanz einer Projektion des Lichtmusters auf einen jeweiligen Abschnitt der Szene.
- Beispiel 5 kann den Inhalt von Beispiel 4 enthalten, wobei die Kamera eine Infrarot- (IR) Kamera enthält.
- Beispiel 6 kann den Inhalt von Beispiel 1 enthalten, wobei das Lichtmuster einen oder mehrere Lichtpunkte umfasst.
- Beispiel 7 kann den Inhalt von Beispiel 1 enthalten, wobei das Projizieren eines Lichtmusters auf unterschiedliche Abschnitte einer Szene durch den Projektor zu unterschiedlichen Zeitinstanzen enthält, den Projektor zu bewegen, um das Lichtmuster in zufälliger Weise über die Szene zu projizieren.
- Beispiel 8 kann den Inhalt von Beispiel 1 enthalten, wobei der Prozessor die erzeugten Bildpaare verarbeiten soll, wobei die Verarbeitung enthält: Bestimmung mehrerer Lichtintensitätswerte für ein Bildelement eines Abschnitts der Szene, für mindestens einige erzeugte Bildpaare, die das Bildelement enthalten; Identifizierung entsprechender Orte für das Bildelement in jeweiligen Bildern jedes Bildpaars von mindestens einigen erzeugten Bildpaaren; und Erzeugung von mindestens einem Abschnitt des Tiefenbilds des Objekts, basierend mindestens teilweise auf den bestimmten mehreren Intensitätswerten und entsprechenden Orten des Bildelements.
- Beispiel 9 kann den Inhalt von Beispiel 8 enthalten, wobei das Bildelement ein oder mehrere Pixel eines Bilds des Abschnitts der Szene enthält.
- Beispiel 10 kann den Inhalt von Beispiel 8 enthalten, wobei der Projektor zur Durchführung einer kontrollierten Steuerung enthält, das Lichtmuster zu veranlassen, sich zwischen der Erfassung von zwei sukzessiven Bildpaaren um einen Abstand zu bewegen, der geringer ist als die Größe des Bildelements.
- Beispiel 11 kann den Inhalt von Beispiel 1 enthalten, wobei der Prozessor die erzeugten Bildpaare verarbeiten soll, wobei die Verarbeitung enthält: Identifizierung eines Merkmals eines Abschnitts der Szene in mindestens einigen ersten und zweiten Bildern von mindestens einigen Bildpaaren; Bestimmung des Disparitätswerts für das Merkmal für jedes der mindestens einigen Bildpaare; und Erzeugung von mindestens einem Abschnitt des Tiefenbilds des Objekts, basierend mindestens teilweise auf den bestimmten Disparitätswerten des Merkmals, wobei das Merkmal einen Satz vorgegebener Lichtintensitätswerte enthält, die mit einem Bildelement des ersten oder zweiten Bilds assoziiert sind.
- Beispiel 12 kann den Inhalt von Beispiel 11 enthalten, wobei die Identifizierung eines Merkmals enthält: Abrufen eines Datensatzes, der das Merkmal angibt, von einem Speicher, auf den der Prozessor zugreifen kann; und Vergleich des abgerufenen Merkmalsdatensatzes mit entsprechenden Datensätzen, die mit den ersten und zweiten Bildern des Abschnitts der Szene assoziiert sind.
- Beispiel 13 kann den Inhalt von Beispiel 11 enthalten, wobei das Bildelement ein Pixel umfasst, wobei der Projektor zur Durchführung einer kontrollierten Steuerung enthält, das Lichtmuster zu veranlassen, sich zwischen der Erfassung von zwei sukzessiven Bildpaaren um einen Abstand zu bewegen, der geringer ist, als die Größe des Pixels.
- Beispiel 14 kann den Inhalt von Beispiel 11 enthalten, wobei die Verarbeitung ferner umfasst, eine Diskontinuität für das Merkmal, basierend mindestens teilweise auf den Disparitätswerten zu erkennen.
- Beispiel 15 kann ein rechnervorrichtungsumgesetztes Verfahren sein, um ein Tiefenbild eines Objekts in einer Szene bereitzustellen, umfassend: Veranlassen eines Projektors durch eine Rechnervorrichtung, eine kontrollierte Steuerung auszuführen, ein Lichtmuster auf unterschiedliche Abschnitte der Szene zu unterschiedlichen Zeitinstanzen zu projizieren; Empfang von Bildpaaren der verschiedenen Abschnitte der Szene, die durch eine Bildgebungsvorrichtung, die mit dem Projektor verbunden ist, erzeugt wurden, durch die Rechnervorrichtung als Reaktion auf die Projektion des Lichtmusters auf jeweilige Abschnitte, einschließlich, für einen Abschnitt der Szene, Empfang eines ersten Bilds eines Paars, das aus einer ersten Perspektive aufgenommen wurde, und Empfang eines zweiten Bilds des Paars, das aus einer zweiten Perspektive aufgenommen wurde, wobei die erste und zweite Perspektive unterschiedliche Perspektiven sind; Verarbeitung der erzeugten Bildpaare der Abschnitte der Szene durch die Rechnervorrichtung; und Erzeugung durch die Rechnervorrichtung des Tiefenbilds des Objekts in der Szene, basierend mindestens teilweise auf einem Ergebnis der Verarbeitung.
- Beispiel 16 kann den Inhalt von Beispiel 15 enthalten, wobei die Verarbeitung enthält: Bestimmung mehrerer Lichtintensitätswerte durch die Rechnervorrichtung für ein Bildelement eines Abschnitts der Szene, für mindestens einige erzeugte Bildpaare, die das Bildelement enthalten; Identifizierung jeweiliger Orte für das Bildelement in den jeweiligen Bildern jedes Bildpaars von der mindestens einigen erzeugten Bildpaare durch die Rechnervorrichtung; und Erzeugung von mindestens einem Abschnitt des Tiefenbilds des Objekts, basierend mindestens teilweise auf den bestimmten mehreren Intensitätswerten und den entsprechenden Orten des Bildelements durch die Rechnervorrichtung.
- Beispiel 17 kann den Inhalt von Beispiel 16 enthalten, wobei das Bildelement ein oder mehrere Pixel eines Bilds des Abschnitts der Szene enthält, wobei die Veranlassung eines Projektors, eine kontrollierte Steuerung auszuführen, umfasst, das Lichtmuster durch die Rechnervorrichtung zu veranlassen, sich um einen Abstand, der geringer ist, als die Größe des Bildelements, zwischen der Erfassung von zwei aufeinanderfolgenden Bildpaaren zu bewegen.
- Beispiel 18 kann den Inhalt von Beispiel 15 enthalten, wobei die Verarbeitung enthält: Identifizierung durch die Rechnervorrichtung eines Merkmals eines Abschnitts der Szene in mindestens einigen ersten und zweiten Bildern von mindestens einigen Bildpaaren; Bestimmung von Disparitätswerten für das Merkmal für jedes der mindestens einigen Bildpaare durch die Rechnervorrichtung; und Erzeugung von mindestens einem Abschnitt des Tiefenbilds des Objekts, basierend mindestens teilweise auf den bestimmten Disparitätswerten des Merkmals, durch die Rechnervorrichtung, wobei das Merkmal einen Satz vorgegebener Lichtintensitätswerte umfasst, die mit einem Bildelement des ersten oder zweiten Bilds assoziiert sind.
- Beispiel 19 kann den Inhalt von Beispiel 18 enthalten, wobei die Identifizierung eines Merkmals eines Abschnitts der Szene enthält: Abrufen eines Datensatzes durch die Rechnervorrichtung, der das Merkmal von einem Speicher angibt, auf den der Prozessor zugreifen kann; und Vergleich des abgerufenen Merkmalsdatensatzes durch die Rechnervorrichtung mit entsprechenden Datensätzen, die mit den ersten und zweiten Bildern des Abschnitts der Szene assoziiert sind.
- Beispiel 20 kann den Inhalt von Beispiel 18 enthalten, wobei das Bildelement ein Pixel enthält, wobei das Veranlassen des Projektors, eine kontrollierte Steuerung auszuführen, die Veranlassung durch die Rechnervorrichtung umfasst, das Lichtmuster zwischen der Erfassung von zwei sukzessiven Bildpaaren um einen Abstand zu bewegen, der geringer ist, als die Größe des Pixels.
- Beispiel 21 kann ein oder mehrere nicht transitorische, durch eine Computervorrichtung lesbare Medien sein, die Anweisungen aufweisen, um ein Tiefenbild eines Objekts in einer Szene bereitzustellen, die darauf gespeichert ist, die als Reaktion auf die Ausführung auf einer Rechnervorrichtung die Rechnervorrichtung veranlasst: einen Projektor zu veranlassen, eine kontrollierte Steuerung auszuführen, um ein Lichtmuster zu unterschiedlichen Zeitinstanzen auf unterschiedliche Abschnitte der Szene zu projizieren; Bildpaare der unterschiedlichen Abschnitte der Szene zu empfangen, die von einer Bildgebungsvorrichtung erfasst wurden, die mit dem Projektor verbunden ist, als Reaktion auf die Projektion des Lichtmusters auf jeweilige Abschnitte, einschließlich, für einen Abschnitt der Szene, den Empfang eines ersten Bilds eines Paars, das aus einer ersten Perspektive erfasst wurde, und dem Empfang eines zweiten Bilds des Paars das aus einer zweiten Perspektive erfasst wurde, wobei die erste und zweite Perspektive unterschiedliche Perspektiven sind; Verarbeitung der erzeugten Bildpaare der Abschnitte der Szene; und Erzeugung des Tiefenbilds des Objekts in der Szene, basierend mindestens teilweise auf einem Ergebnis der Verarbeitung.
- Beispiel 22 kann den Inhalt von Beispiel 21 enthalten, wobei die Anweisungen, die die Rechnervorrichtung veranlassen, die erzeugten Bildpaare der Abschnitte der Szene zu verarbeiten, ferner die Rechnervorrichtung veranlassen: mehrere Lichtintensitätswerte für ein Bildelement eines Abschnitts der Szene zu bestimmen, for mindestens einige erzeugte Bildpaare, die das Bildelement enthalten; Identifizierung entsprechender Orte für das Bildelement in jeweiligen Bildern jedes Bildpaars der mindestens einigen erzeugten Bildpaare; und Erzeugung von mindestens einem Abschnitt des Tiefenbilds des Objekts, basierend mindestens teilweise auf den bestimmten mehreren Intensitätswerten und entsprechenden Orten des Bildelements.
- Beispiel 23 kann den Inhalt von Beispiel 22 enthalten, wobei das Bildelement ein oder mehrere Pixel eines Bilds des Abschnitts der Szene enthält, wobei die Anweisungen, einen Projektor zu veranlassen, eine kontrollierte Steuerung auszuführen, enthalten, ferner die Rechnervorrichtung zu veranlassen, das Lichtmuster zu veranlassen, sich zwischen der Erfassung von zwei sukzessiven Bildpaaren um einen Abstand zu bewegen, der geringer ist, als eine Größe des Bildelements.
- Beispiel 24 kann den Inhalt von 21 enthalten, wobei die Anweisungen, die die Rechnervorrichtung veranlassen, die erzeugten Bildpaare der Abschnitte der Szene zu verarbeiten, ferner die Rechnervorrichtung veranlassen: ein Merkmal eines Abschnitts der Szene in mindestens einigen der ersten und zweiten Bilder von mindestens einigen Bildpaaren zu erzeugen; Disparitätswerte für das Merkmal für jedes der mindestens einigen Bildpaare zu bestimmen; und mindestens einen Abschnitt des Tiefenbilds des Objekts zu erzeugen, basierend mindestens teilweise auf den bestimmten Disparitätswerten des Merkmals, wobei das Merkmal einen Satz vorgegebener Lichtintensitätswerte umfasst, die mit einem Bildelement des ersten oder zweiten Bilds assoziiert sind.
- Beispiel 25 kann den Inhalt von Beispiel 24 enthalten, wobei die Anweisungen, die die Rechnervorrichtung veranlassen, ein Merkmal eines Abschnitts der Szene zu identifizieren, ferner die Rechnervorrichtung veranlassen: einen Datensatz, der ein Merkmal angibt, von einem Speicher abzurufen, auf den ein Prozessor zugreifen kann; und den abgerufenen Merkmalsdatensatz mit entsprechenden Datensätzen zu vergleichen, die mit den ersten und zweiten Bildern des Abschnitts der Szene assoziiert sind.
- Beispiel 26 kann eine Vorrichtung sei, um ein Tiefenbild eines Objekts in einer Szene bereitzustellen, umfassend: Mittel, einen Projektor zu veranlassen, eine kontrollierte Steuerung auszuführen, um ein Lichtmuster auf unterschiedliche Abschnitte der Szene zu unterschiedlichen Zeitinstanzen zu projizieren; Mittel zum Empfang von Bildpaaren der verschiedenen Abschnitte der Szene, die durch eine Bildgebungsvorrichtung erzeugt wurden, die mit dem Projektor gekoppelt ist, als Reaktion auf die Projektion des Lichtmusters auf jeweilige Abschnitte, einschließlich, für einen Abschnitt der Szene, Empfang eines ersten Bilds eines Paars, das aus einer ersten Perspektive aufgenommen wurde und Empfang eines zweiten Bilds des Paars, das aus einer zweiten Perspektive aufgenommen wurde, wobei die erste und zweite Perspektive unterschiedliche Perspektiven sind; Mittel zur Verarbeitung der erzeugten Bildpaare der Abschnitte der Szene; und Mittel zur Erzeugung des Tiefenbilds des Objekts in der Szene, mindestens teilweise basierend auf einem Ergebnis der Verarbeitung.
- Beispiel 27 kann den Inhalt von Beispiel 26 enthalten, wobei das Mittel zur Verarbeitung enthält: Mittel zur Bestimmung mehrerer Lichtintensitätswerte für ein Bildelement eines Abschnitts der Szene, für mindestens einige erzeugte Bildpaare, die das Bildelement enthalten; Mittel zur Identifizierung entsprechender Orte für das Bildelement in jeweiligen Bildern jedes Bildpaars der mindestens einigen erzeugten Bildpaare; und Mittel zur Erzeugen von mindestens einem Abschnitt des Tiefenbilds des Objekts, basierend mindestens teilweise auf den bestimmten mehreren Intensitätswerten und entsprechenden Orten des Bildelements.
- Beispiel 28 kann den Inhalt von 27 enthalten, wobei das Bildelement einen oder mehrere Pixel eines Bilds des Abschnitts der Szene enthält, wobei das Mittel, einen Projektor zu veranlassen, eine kontrollierte Steuerung auszuführen, Mittel enthält, um das Lichtmuster zu veranlassen, sich zwischen Aufnahmen von zwei sukzessiven Bildpaaren um einen Abstand, der geringer ist, als eine Größe des Bildelements, zu bewegen.
- Beispiel 29 kann den Inhalt von Beispiel 26 enthalten, wobei das Mittel zur Verarbeitung enthält: Mittel zur Identifizierung eines Merkmals eines Abschnitts der Szene in mindestens einigen der ersten und zweiten Bilder von mindestens einigen Bildpaaren; Mittel zur Bestimmung von Disparitätswerten für das Merkmal für jedes der mindestens einigen Bildpaare; und Mittel zur Erzeugung von mindestens einem Abschnitt des Tiefenbilds des Objekts, basierend mindestens teilweise auf den bestimmten Disparitätswerten des Merkmals, wobei das Merkmal einen Satz vorgegebener Lichtintensitätswerte enthält, die mit einem Bildelement des ersten oder zweiten Bilds assoziiert sind.
- Beispiel 30 kann den Inhalt von Beispiel 29 enthalten, wobei das Mittel zur Identifizierung eines Merkmals eines Abschnitts der Szene enthält: Mittel zum Abrufen eines Datensatzes, der das Merkmal angibt, von einem Speicher, auf den ein Prozessor zugreifen kann; und Mittel zum Vergleich des abgerufenen Merkmalsdatensatzes mit entsprechenden Datensätzen, die mit den ersten und zweiten Bildern des Abschnitts der Szene assoziiert sind.
- Beispiel 31 kann den Inhalt von Beispiel 29 enthalten, wobei das Bildelement ein Pixel umfasst, wobei das Mittel, um den Projektor zu veranlassen, eine kontrollierte Steuerung durchzuführen, ein Mittel umfasst, das Lichtmuster zu veranlassen, sich zwischen Aufnahmen von zwei sukzessiven Bildpaaren um einen Abstand, der geringer ist als eine Größe des Pixels, zu bewegen.
-
Auch, wenn bestimmte Ausführungsformen hierin zum Zweck der Beschreibung illustriert und beschrieben wurden, kann eine große Vielzahl von alternativen und/oder entsprechenden Ausführungsformen oder Umsetzungen, die berechnet sind, dieselben Zwecke zu erreichen, anstelle der darstellten und beschriebenen Ausführungsformen verwendet werden, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Diese Anweisung soll alle Anpassungen oder Variationen der Ausführungsformen abdecken, die hierin besprochen wurden. Daher ist es im Wesentlichen vorgesehen, dass die hierin beschriebenen Ausführungsformen nur durch die Ansprüche beschränkt sind.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-