-
HINTERGRUND
-
Bilderzeugungssysteme basierend auf Lichtwellen werden immer häufiger zur Objektdetektion verwendet, da Halbleiterprozesse schneller bei der Unterstützung solcher Systeme werden. Einige Bilderzeugungssysteme sind in der Lage, dutzende von Bildern pro Sekunde bereitzustellen, wodurch solche Systeme nützlich für Objekt-Detektion und/oder auch -Nachverfolgung werden. Aufgrund ihres potentiell kleinen Formfaktors und ihrer potentiell hohen Signalwiedergabetreue sind einige Bilderzeugungssysteme gut geeignet für die Anwendung bei vielen Fahrzeugtypen (Autos, Bussen, Zügen, etc.). Zusätzlich dazu sind einige Bilderzeugungssysteme bei vielen Typen von Verbrauchergeräten (z. B. Fernsehern, Computern, Tablets, Smartphones, etc.) gut geeignet für eine Steuerung durch Gesten oder Ähnliches. Während die Auflösung solcher Bilderzeugungssysteme variieren kann, sind Anwendungen, die diese Systeme verwenden, in der Lage, einen Vorteil aus ihrer Betriebsgeschwindigkeit zu ziehen.
-
Ein sich bewegendes Fahrzeug, wie z. B. ein Automobil, kann ein Bilderzeugungssystem verwenden, um ein Objekt (z. B. einen Fußgänger) in dem Weg des Fahrzeugs zu detektieren, um zu vermeiden, das Objekt zu treffen. Zum Beispiel kann ein Bilderzeugungssystem an der Vorderseite, Rückseite und/oder der oder den Seiten des Fahrzeugs verwendet werden, um Objekte in dem Vorwärts- oder Rückwärts-Weg des Fahrzeugs, an der Seite des Fahrzeugs oder im toten Winkel des Fahrzeugs zu detektieren.
-
Laufzeitkameras (ToF-Kameras; ToF = Time-of-Flight) können Bilderzeugungsvorrichtungen z. B. verwenden, um die Distanz eines Objekts von der Kamera zu messen. Bilderzeugungsvorrichtungen, die mehrere Pixel verwenden, können ebenfalls verwendet werden, wobei Lichtsignale, die individuellen Pixeln zugeordnet sind, Distanzmessungen für diskrete Punkte an dem Objekt bereitstellen können, wodurch ein dreidimensionales „Distanzbild” gebildet wird. Dies kann mit Lichtsignalen möglich gemacht werden, die zum Beispiel von den diskreten Punkten abreflektiert werden.
-
Egal ob sie in einer Fahrzeuganwendung, einer Verbrauchergeräteanwendung oder einem anderen Typ von Anwendung eingesetzt werden, ist es erwünscht, die Genauigkeit der Bilderzeugungssysteme zu erhöhen, während das Verhalten beibehalten oder verbessert wird und Fehler minimiert werden. Zum Beispiel kann die Nützlichkeit eines Bilderzeugungssystems, wie es an ein Fahrzeug, mobiles Gerät oder Ähnliches angewendet wird, verringert werden, wenn die Genauigkeit oder Klarheit der Distanzmessungen fehleranfällig oder anderweitig unzuverlässig ist.
-
Es besteht ein Bedarf zum Bereitstellen eines verbesserten Konzepts für eine Vorrichtung, ein System, ein Verfahren und ein dreidimensionales Bilderzeugungsgerät.
-
Ein solcher Bedarf kann durch den Gegenstand von einem oder mehreren beliebigen der Ansprüche erfüllt werden.
-
Einige Ausführungsbeispiele beziehen sich auf eine Vorrichtung, umfassend einen Bilderzeugungssensor, der angeordnet ist, um Lichtstrahlung zu erfassen, die von einem oder mehreren Objekten in einem Bereich während eines oder mehrerer Rahmenereignisse erfasst wird; und eine Verarbeitungskomponente, die angeordnet ist, um eine Distanz von dem einen oder den mehreren Objekten zu dem Bilderzeugungssensor zu berechnen, basierend auf dem Bestimmen eines Werts für jeden eines oder mehrerer Parameter eines Modells eines Wackelfehlers der Lichtstrahlung, die während des einen oder der mehreren Rahmenereignisse erfasst wird, und dem Kompensieren des Wackelfehlers.
-
Optional ist die Verarbeitungskomponente angeordnet, um das Modell des Wackelfehlers basierend auf Zeigern in einer komplexen Ebene zu erzeugen.
-
Wiederum optional ist die Verarbeitungskomponente angeordnet ist, um den Wert für jeden des einen oder der mehreren Parameter basierend auf einer Grundwelle der erfassten Lichtstrahlung und einer Harmonischen höherer Ordnung zu schätzen.
-
Optional ist die Verarbeitungskomponente angeordnet, um einen Phasenversatz zwischen einer Harmonischen höherer Ordnung und der Grundwelle der erfassten Lichtstrahlung und einen Faktor, der ein Verhältnis einer Amplitude der Harmonischen höherer Ordnung zu einer Amplitude der Grundwelle darstellt, zu schätzen.
-
Wiederum optional ist die Verarbeitungskomponente angeordnet ist, um den Wackelfehler der Lichtstrahlung adaptiv zu kompensieren, die während eines einzelnen Rahmenereignisses oder während mehrerer Rahmenereignisse erfasst wird, was das dynamische Bestimmen aktualisierter Werte für jeden des einen oder der mehreren Parameter umfasst.
-
Optional ist die Verarbeitungskomponente angeordnet, um ein Signal basierend auf einer Wellenform der erfassten Lichtstrahlung an mehreren äquidistanten Abtastpunkten abzutasten, wobei jeder Abtastpunkt an einer vorbestimmten Phase auf der Wellenform angeordnet ist.
-
Wiederum optional ist die Verarbeitungskomponente angeordnet, um ein Signal basierend auf einer Wellenform der erfassten Lichtstrahlung an ersten mehreren äquidistanten Abtastpunkten abzutasten, und mit sukzessiven Rahmenereignissen, um das Signal basierend auf einer Wellenform der erfassten Lichtstrahlung an anderen mehreren äquidistanten Abtastpunkten abzutasten, die um einen vorbestimmten Winkelversatz von den ersten mehreren äquidistanten Abtastpunkten verschoben sind.
-
Optional umfasst der Bilderzeugungssensor mehrere Pixelvorrichtungen und die ist Verarbeitungskomponente angeordnet, um eine Distanz von dem einen oder den mehreren Objekten zu jeder Pixelvorrichtung des Bilderzeugungssensors zu berechnen, basierend auf dem Schätzen des Werts für jeden des einen oder der mehreren Parameter durch Kombinieren von Informationen aus Lichtstrahlung, die durch zwei oder mehr Pixel des Bilderzeugungssystems erfasst wird.
-
Wiederum optional ist der Bilderzeugungssensor angeordnet, um ein dreidimensionales Bild des Bereichs unter Verwendung von Laufzeitprinzipien während eines oder mehrerer Rahmenereignisse zu erfassen und um den Wackelfehler der erfassten Lichtstrahlung während der Laufzeit zu kompensieren.
-
Einige Ausführungsbeispiele beziehen sich auf ein System, umfassend ein Beleuchtungsmodul, das angeordnet ist, um Lichtstrahlung zu emittieren, um einen Bereich zu beleuchten; ein Sensormodul umfassend eine Mehrzahl von Pixeln, die angeordnet sind, um eine Lichtstrahlung zu erfassen, die von einem oder mehreren Objekten in dem Bereich während eines oder mehrerer Rahmenereignisse reflektiert wird; und ein Steuerungsmodul, das angeordnet ist, um einen Wert für jeden eines oder mehrerer Parameter eines Modells eines Wackelfehlers der Lichtstrahlung zu bestimmen, die während des einen oder der mehreren Rahmenereignisse erfasst wird, um den Wackelfehler während der Laufzeit zu kompensieren und um eine Distanz von dem einen oder den mehreren Objekten zu individuellen Pixeln der Mehrzahl von Pixeln zu berechnen, basierend auf der Lichtstrahlung, die durch die individuellen Pixel erfasst wird und um den Wackelfehler kompensiert ist.
-
Optional ist das Steuerungsmodul ferner angeordnet, um einen Wert für jeden des einen oder der mehreren Parameter des Modells dynamisch zu schätzen und/oder zu aktualisieren, da Charakteristika des Wackelfehlers im Laufe der Zeit variieren, über ein einzelnes Pixel der Mehrzahl von Pixeln oder über den Bereich, wenn sich eine Szene des Bereichs verändert.
-
Wiederum optional ist das Steuerungsmodul ferner angeordnet ist, um den Wackelfehler zu kompensieren und um die Distanz von dem einen oder den mehreren Objekten zu individuellen Pixeln basierend auf der Verwendung eines erworbenen Rahmenereignisses zu berechnen, unabhängig von vorangehenden Rahmen und ohne eine Zwischenabhängigkeit zwischen Rahmenereignissen.
-
Optional umfasst eine Ausgabe eines individuellen Pixels der Mehrzahl von Pixeln eine Grundwelle mit darauf überlagerten Komponenten höherer Frequenz, wobei das Steuerungsmodul ferner angeordnet ist, um die Komponenten höherer Frequenz adaptiv zu kompensieren und Distanzinformationen klarzustellen, die durch das Sensormodul erfasst werden.
-
Einige Ausführungsbeispiele beziehen sich auf ein Verfahren, umfassend das Erfassen von Lichtstrahlung, die von einem oder mehreren Objekten innerhalb eines Bereichs während zumindest einem Rahmenereignis reflektiert wird, mit einem Bilderzeugungssensor; Bestimmen eines Wertes für einen oder mehrere Parameter basierend auf einem Modell des Wackelfehlers; Kompensieren des Wackelfehlers, um Distanzinformationen innerhalb der Lichtstrahlung klarzustellen (clarify); und Berechnen einer Distanz von dem einen oder den mehreren Objekten zu dem Bilderzeugungssensor basierend auf den klargestellten Distanzinformationen der Lichtstrahlung, die während des zumindest einen Rahmenereignisses erfasst wird.
-
Optional umfasst das Verfahren ferner das Modellieren des Wackelfehlers unter Verwendung von Zeigern in einer komplexen Ebene mit Bezug auf eine Grundwelle der erfassten Lichtstrahlung und eine Harmonische höherer Ordnung.
-
Wiederum optional umfasst einer des einen oder der mehreren Parameter einen Phasenversatz zwischen einer Harmonischen höherer Ordnung und einer Grundwelle der erfassten Lichtstrahlung und ein anderer des einen oder der mehreren Parameter umfasst einen Faktor, der ein Verhältnis einer Amplitude der Harmonischen höherer Ordnung zu einer Amplitude der Grundwelle repräsentiert.
-
Optional umfasst das Verfahren ferner das Erzeugen von Daten, umfassend einen Satz aus numerischen Werten für jedes Rahmenereignis, wobei die numerischen Werte mehrere äquidistante Abtastwerte eines Signals repräsentieren, basierend auf einer Wellenform des erfassten Lichts.
-
Wiederum optional umfasst das Verfahren ferner das Abtasten des Signals während zwei oder mehr Rahmenereignissen, wobei Abtastorte eines ersten Satzes der mehreren äquidistanten Abtastwerte, die während eines ersten Rahmenereignisses erfasst werden, einen Versatz von Abtastorten eines anderen Satzes der mehreren äquidistanten Abtastwerte aufweisen, die während eines anderen Rahmenereignisses erfasst werden.
-
Optional sind die Abtastorte des anderen Satzes der mehreren äquidistanten Abtastwerte um die Hälfte einer Abtastdistanz von den Abtastorten des ersten Satzes der mehreren äquidistanten Abtastwerte verschoben.
-
Wiederum optional umfasst das Verfahren ferner das abwechselnde Abtasten des Signals an den Abtastorten des ersten Satzes der mehreren äquidistanten Abtastwerte und an den Abtastorten des anderen Satzes der mehreren äquidistanten Abtastwerte mit jedem sukzessiven Rahmenereignis.
-
Optional umfasst das Verfahren ferner das Kombinieren von Daten aus zwei oder mehr sukzessiven Rahmenereignissen, wobei entsprechende Abtastorte von zwei oder mehr Sätzen von äquidistanten Abtastwerten, die während zwei oder mehr sukzessiven Rahmenereignissen erfasst werden, voneinander versetzt sind.
-
Wiederum optional umfasst das Verfahren ferner das Schätzen eines Werts für jeden des einen oder der mehreren Parameter durch Kombinieren von Daten aus zwei oder mehr sukzessiven Rahmenereignissen.
-
Optional umfasst das Verfahren ferner das Schätzen des Werts für jeden des einen oder der mehreren Parameter durch Kombinieren von Daten aus zwei oder mehr Pixeln des Bilderzeugungssystems.
-
Wiederum optional umfasst das Verfahren ferner das Kompensieren des Wackelfehlers von Lichtstrahlung, die während eines einzelnen Rahmenereignisses erfasst wird, sobald ein Wert für jeden des einen oder der mehreren Parameter bestimmt ist.
-
Optional umfasst das Verfahren ferner das Kompensieren des Wackelfehlers während der Laufzeit des Bilderzeugungssystems.
-
Einige Ausführungsbeispiele beziehen sich auf eine dreidimensionale Bilderzeugungsvorrichtung, umfassend einen Bilderzeugungssensor, der angeordnet ist, um ein dreidimensionales Bild eines Bereichs basierend auf Laufzeitprinzipien zu erfassen, der Bilderzeugungssensor umfassend eine Mehrzahl von Pixeln, die angeordnet sind, um Lichtstrahlung zu erfassen, die von einem oder mehreren Objekten in einem Bereich während eines oder mehrerer Rahmenereignisse reflektiert wird, die Lichtstrahlung umfassend Distanzinformationen und Harmonische höherer Ordnung, die zu einer Wackelfehler-auf-Distanz-Schätzung führen; und eine Verarbeitungskomponente, die angeordnet ist, um eine Distanz von dem einen oder den mehreren Objekten zu individuellen Pixeln des Bilderzeugungssensors zu berechnen basierend auf dem Klarstellen der Distanzinformationen der Lichtstrahlung, die während des einen oder der mehreren Rahmenereignisse erfasst wird, wobei die Verarbeitungskomponente angeordnet ist, um einen Wert für jeden der zwei Parameter eines zeigerbasierten Modells des Wackelfehlers zu schätzen und um den Wackelfehler während der Laufzeit zu kompensieren, ein erster der zwei Parameter umfassend einen Phasenversatz zwischen einer Harmonischen höherer Ordnung und einer Grundwelle der erfassten Lichtstrahlung, und ein zweiter der zwei Parameter umfassend einen Faktor, der ein Verhältnis einer Amplitude der Harmonischen höherer Ordnung zu einer Amplitude der Grundwelle repräsentiert.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die detaillierte Beschreibung wird unter Bezugnahme auf die beiliegenden Figuren fortgesetzt. In den Figuren identifiziert das linke Zeichen oder die linken Zeichen eines Bezugszeichens die Figur, in der das Bezugszeichen zuerst erscheint. Die Verwendung derselben Bezugszeichen in unterschiedlichen Figuren zeigt ähnliche oder identische Elemente an.
-
Für diese Erörterung sind die Vorrichtungen und Systeme, die in den Figuren dargestellt sind, derart gezeigt, dass sie eine Vielzahl von Komponenten aufweisen. Verschiedene Implementierungen von Vorrichtungen und/oder Systemen, wie sie hierin beschrieben sind, können wenige Komponenten umfassen und innerhalb des Schutzbereichs der Offenbarung verbleiben. Alternativ können andere Implementierungen von Vorrichtungen und/oder Systemen zusätzliche Komponenten umfassen oder verschiedene Kombinationen der beschriebenen Komponenten und bleiben innerhalb des Schutzbereichs der Offenbarung.
-
1 ist eine Darstellung einer beispielhaften Anwendungsumgebung, in der die beschriebenen Vorrichtungen und Techniken gemäß einer Implementierung eingesetzt werden können.
-
2 ist ein Blockdiagramm von Beispiel-Bilderzeugungssystemkomponenten gemäß einer Implementierung.
-
3 ist ein Blockdiagramm, das gewisse Details von Komponenten eines Beispielbilderzeugungssystems zeigt, umfassend ein Sensormodul, das eine Mehrzahl von Pixeln aufweist, gemäß einer Implementierung.
-
4 zeigt Darstellungen einer beispielhaften Sensorantwortfunktionswellenform und ein Zeiger-Diagramm und eine Wellenform, die ein Beispiel des ”Wackelfehlers” gemäß verschiedenen Implementierungen darstellen.
-
5 und 6 sind graphische Darstellungen, die Beispielergebnisse einer parametrischen Online-Kalibrierung und -Kompensation des Wackelfehlers gemäß verschiedenen Implementierungen zeigen.
-
7 ist ein Flussdiagramm, das einen Beispielprozess einer parametrischen Online-Kalibrierung und -Kompensation des Wackelfehlers durch ein Bilderzeugungssystem gemäß einer Implementierung darstellt.
-
DETAILLIERTE BESCHREIBUNG
-
Übersicht
-
Diese Offenbarung bezieht sich auf Bilderzeugungssysteme (Bilderzeugungssysteme, die zum Beispiel emittierte, elektromagnetische (EM) Strahlung verwenden), die angeordnet sind, um Objekte und/oder Gesten in einem vorbestimmten Bereich relativ zu den Bilderzeugungssystemen zu detektieren, abzubilden, zu erkennen und/oder nachzuverfolgen. Zum Beispiel kann ein Bilderzeugungssystem, das einem Fahrzeug zugeordnet ist, verwendet werden, um ein Objekt in dem Weg des Fahrzeugs oder in einem Bereich in der Nähe des Fahrzeugs zu detektieren. Zusätzlich dazu kann das Bilderzeugungssystem das Objekt nachverfolgen oder ein Bild (so wie zum Beispiel ein dreidimensionales Bild) des Objekts bereitstellen. Bei anderen Beispielen kann ein Bilderzeugungssystem verwendet werden, um Gesten eines Objekts oder einer menschlichen Hand zum Beispiel in einem Bereich in der Nähe einer Rechenvorrichtung zu detektieren und zu erkennen. Das Bilderzeugungssystem kann erkennen, wenn das Objekt oder die Hand eine Geste macht und die Handgesten-Kombination als einen Ersatz für eine Maus oder eine andere Eingabe in die Rechenvorrichtung nachverfolgen.
-
Bei verschiedenen Implementierungen verwendet das Bilderzeugungssystem Laufzeitprinzipien (time-of-flight principles), wie zum Beispiel Distanzberechnungen von reflektierten EM-Emissionen (d. h. elektromagnetische Strahlung), um Objekte zu detektieren, abzubilden, zu erkennen und/oder nachzuverfolgen. Laufzeitdistanzrechnungen können auf dem Empfangen von Reflexionen von emittierter EM-(„Licht-”)-Strahlung basieren, wenn die Lichtstrahlung von Objekten in einem vorbestimmten Bereich reflektiert wird. Zum Beispiel können in einem Fall die Distanzberechnungen auf der Lichtgeschwindigkeit und der Bewegungszeit der reflektierten Lichtstrahlung basieren.
-
In den meisten Fällen ist die EM-Strahlung nicht perfekt sinusförmig, umfasst aber Komponenten höherer Frequenz. Distanzmessfehler („Wackelfehler”; wiggling error) können aus diesen Komponenten höherer Frequenz resultieren, wenn das Bilderzeugungssystem versucht, Distanzinformationen aus Phaseninformationen der EM-Strahlung zu bestimmen.
-
Repräsentative Implementierungen von Vorrichtungen und Techniken stellen eine adaptive Kalibrierung und Kompensation eines Wackelfehlers für Bilderzeugungs-Vorrichtungen und -Systeme bereit. Bei solchen Implementierungen wird ein Modell des Wackelfehlers eingerichtet. Dieses Modell kann den Wackelfehler im Hinblick auf eine mathematische Formel und/oder einen Rechenalgorithmus ausdrücken. Ferner ist bei einigen Implementierungen das Modell nicht statisch sondern umfasst einen Satz aus Parametern (oder Koeffizienten), die die Basisübertragungscharakteristika des Modells definieren. Diese Parameter können während der Laufzeit geschätzt und aktualisiert werden. Nach einer erfolgreichen Schätzung und/oder Aktualisierung der Parameter kann das Modell des Wackelfehlers eingesetzt werden, um fehlerhafte Distanzinformationen adaptiv zu kompensieren. Im Vergleich zu Verfahren aus dem Stand der Technik, die auf einer Offline-Kalibrierung basierend auf einer Nachschlagtabelle basieren können, ist dieser Ansatz im Hinblick auf Flexibilität, Effizienz, Speicher und Zeitaufwand überlegen.
-
Bei einigen Implementierungen umfasst das Bilderzeugungssystem eine Mehrphasenabtastung. Zum Beispiel tastet das Bilderzeugungssystem die Ausgabe der Sensoren des Bilderzeugungssystems mit mehreren Abtastwerten an äquidistanten Abtastpunkten ab. Bei einer Implementierung umfasst das Bilderzeugungssystem einen alternierenden oder sich verschiebenden Abtastphasenversatz. Bei einer Implementierung wird der Wackelfehler unter Verwendung von Zeigern in einer komplexen Ebene modelliert.
-
Bei einer Implementierung kann das Bilderzeugungssystem Informationen aus mehreren Bildrahmen verwenden, um die Parameter des Wackelfehlers zu schätzen. Bei einem Beispiel verwendet das Bilderzeugungssystem die Informationen aus zumindest zwei sukzessiven Bildrahmen mit verschobenen (z. B. phasenverschobenen) Abtastpunkten. Bei einer anderen Implementierung, sobald das Bilderzeugungssystem die Parameter des Wackelfehlers geschätzt hat, kann das Bilderzeugungssystem den Wackelfehler in einzeln erfassten Rahmen kompensieren.
-
Verschiedene Implementierungen und Anordnungen für Bilderzeugungssysteme, Vorrichtungen und Techniken werden in dieser Offenbarung erörtert. Techniken und Vorrichtungen werden bezugnehmend auf beispielhafte lichtbasierte Bilderzeugungs-Systeme und -Vorrichtungen erörtert, die in den Figuren dargestellt sind. Dies soll jedoch nicht einschränkend sein und gilt der Vereinfachung der Erörterung und vorteilhaften Darstellung. Die erörterten Techniken und Vorrichtungen können an jegliche von verschiedenen Bilderzeugungsvorrichtungs-Entwürfen, -Strukturen und Ähnliches angewendet werden (zum Beispiel strahlungsbasiert, schallemissionsbasiert, partikelemissionsbasiert, etc.) und verbleiben innerhalb des Schutzbereichs der Offenbarung.
-
Implementierungen werden nachfolgend detaillierter unter Verwendung einer Vielzahl von Beispielen erklärt. Obwohl verschiedene Implementierungen und Beispiele hier und nachfolgend erörtert werden, können weitere Implementierungen und Beispiele durch Kombinieren der Merkmale und Elemente von individuellen Implementierungen und Beispielen möglich sein.
-
Beispielbilderzeugungssystemumgebung
-
1 ist eine Darstellung einer beispielhaften Anwendungsumgebung 100, in der die beschriebenen Vorrichtungen und Techniken gemäß einer Implementierung eingesetzt werden können. Wie in der Darstellung gezeigt ist, kann ein Bilderzeugungssystem 102 zum Beispiel bei einem Fahrzeug 104 (z. B. Auto, Bus, Zug, Flugzeug, etc.) angewendet werden. Bei verschiedenen anderen Implementierungen kann das Bilderzeugungssystem 102 mit anderen Systemen, Vorrichtung und Ähnlichem angewendet werden (zum Beispiel Roboter, Automatisierung, Überwachungssysteme, Akzessibilitätsvorrichtungen, Sicherheitssysteme usw.).
-
Bei weiteren Implementierungen kann das Bilderzeugungssystem 102 mit mobilen Geräten oder anderen Rechenvorrichtungen angewendet werden, wie zum Beispiel Laptop- oder Notebook-Computern, tragbaren Rechenvorrichtungen, Tablet-Rechenvorrichtungen, Netbook-Rechenvorrichtungen, persönlichen digitalen Assistenten (PDA; Personal Digital Assistant), Leser-Vorrichtungen, Smartphones, Mobiltelefonen, Medienabspielgeräten, tragbaren Rechenvorrichtungen, stationären Computer, persönlichen oder Desktop-Computern, Fernsehern, Set-Top-Boxen, Spielkonsolen, Audio/Video-Systemen, Zubehör und Ähnlichem.
-
Der Schutzbereich der Offenbarung soll nicht durch die aufgelisteten Beispiele eingeschränkt sein. Der Bequemlichkeit halber bezieht sich die Bezugnahme auf ein Fahrzeug 104 innerhalb dieser Offenbarung auf alle Anwendungen, die ein Bilderzeugungssystem 102 einsetzen, wie vorangehend erwähnt wurde, und Sonstiges.
-
Bei verschiedenen Implementierungen kann das Bilderzeugungssystem 102 in das Fahrzeug 104 integriert sein oder kann einige Komponenten aufweisen, die separat oder entfernt von dem Fahrzeug 104 sind. Zum Beispiel kann eine gewisse Verarbeitung für das Bilderzeugungssystem 102 entfernt angeordnet sein (z. B. Cloud, Netzwerk, etc.). Bei einem anderen Beispiel können einige Ausgaben aus dem Bilderzeugungssystem 102 auf einer entfernten Vorrichtung oder an einen entfernten Ort übertragen, dort angezeigt oder präsentiert werden.
-
Das Bilderzeugungssystem 102 kann verwendet werden, um ein Objekt 106, wie zum Beispiel einen Fußgänger, in einem vorausgewählten Bereich 108 zu detektieren. Bei verschiedenen Implementierungen kann das Bilderzeugungssystem 102 angeordnet sein, um die Bewegung des Objekts 106 zu detektieren, zu erkennen und/oder nachzuverfolgen. Bei einer Implementierung ist die Bilderzeugungsvorrichtung angeordnet, um ein Bild (z. B. ein zweidimensionales oder dreidimensionales Bild) des Objekts 106 auszugeben. Bei einer Beispielimplementierung kann eine Ausgabe des Bilderzeugungssystems 102 z. B. auf einer Anzeigevorrichtung präsentiert oder angezeigt werden (z. B. einer mobilen Rechenvorrichtung, einem Smartphone, einem Fahrzeuginformationssystem etc.).
-
Ein Beispielobjekt 106 kann jegliches Element umfassen, für das ein Bilderzeugungssystem 102 angeordnet sein kann, um dies zu detektieren, zu erkennen, nachzuverfolgen und/oder Ähnliches. Solche Elemente können z. B. eine Person oder ein Tier umfassen. Andere Beispiele eines Objekts 106 können ein Hindernis, eine Zielkomponente, ein anderes Fahrzeug usw. umfassen. Bei verschiedenen Implementierungen kann das Bilderzeugungssystem 102 auch angeordnet sein, um eine Geste oder Konfiguration des Objekts 106 zu detektieren, zu erkennen und/oder nachzuverfolgen. Eine Geste oder Konfiguration kann jegliche Bewegung oder Position des Objekts 106 umfassen, die eine Idee ausdrückt. Zum Beispiel kann eine Geste oder Konfiguration eine Positionierung eines Objekts 106 in einer Ausrichtung und/oder eine Bewegung des Objekts 106 in einem Muster (z. B. in einer elliptischen Bewegung, in einer im Wesentlichen linearen Bewegung etc.) aufweisen. Bei einem Beispiel kann das Bilderzeugungssystem 102 verwendet werden, um eine Bewegung (z. B. eine Geste) einer menschlichen Hand zu detektieren, z. B. als Ersatz für eine Maus oder eine andere Eingabevorrichtung einer Rechenvorrichtung, einer mobilen Vorrichtung oder Ähnlichem.
-
Das Bilderzeugungssystem 102 kann angeordnet sein, um ein Objekt 106 zu detektieren, zu erkennen und/oder nachzuverfolgen, das innerhalb eines vorausgewählten Bereichs 108 relativ zu dem Bilderzeugungssystem 102 ist. Ein vorausgewählter Bereich 108 kann z. B. ausgewählt sein, um einen Bereich einzuschließen, in dem Objekte 106 sein können. In einem Fall kann der vorausgewählte Bereich 108 einen Bereich einschließen, der einen direkten oder entfernten Vorwärts- oder Rückwärts-Weg für das Fahrzeug 104 repräsentiert. Dieser Bereich 108 kann auch zum Beispiel an der Vorderseite, an der Seite oder um das Bilderzeugungssystem 102 sein.
-
Die Darstellung von 1 zeigt einen vorausgewählten Bereich 108 als einen polygonalartigen Bereich vor dem Fahrzeug 104. Dies ist zu Darstellungs- und Erörterungs-Zwecken und soll nicht einschränkend sein. Ein vorausgewählter Bereich 108 kann jegliche Form oder Größe aufweisen, kann vor, hinter, an der/den Seite/n, auf und/oder unter dem Fahrzeug 104 angeordnet sein und kann derart ausgewählt sein, dass er im Allgemeinen gewünschte Objekte einschließt, wenn sie vorhanden sind, aber unerwünschte Objekte möglicherweise nicht einschließt (z. B. andere Elemente, die nicht detektiert, erkannt, nachverfolgt oder Ähnliches werden sollen). Bei verschiedenen Implementierungen kann der vorausgewählte Bereich 108 verschiedene Formen und Größen aufweisen. Bei einigen Implementierungen ist die Form und Größe des vorausgewählten Bereichs 108 abhängig von der aktuellen Anwendung der Bilderzeugungsvorrichtung 102.
-
Wie oben erörtert wurde, sind die Techniken, Komponenten und Vorrichtungen, die hierin bezugnehmend auf ein Bilderzeugungssystem 102 beschrieben wurden, nicht auf die Darstellung in 1 eingeschränkt, und können an andere Bilderzeugungs-System- und Vorrichtungs-Entwürfe und/oder -Anwendungen angewendet werden, ohne von dem Schutzbereich der Offenbarung abzuweichen. In einigen Fällen können zusätzliche oder alternative Komponenten verwendet werden, um die hierin beschriebenen Techniken zu implementieren. Es sollte darauf hingewiesen werden, dass ein Bilderzeugungssystem 102 als ein alleinstehendes System oder eine Vorrichtung oder als Teil eines anderen Systems (z. B. integriert mit anderen Komponenten, Systemen, etc.) implementiert sein kann.
-
Beispielbilderzeugungssystem
-
2 ist ein Blockdiagramm, das Beispielkomponenten eines Bilderzeugungssystems 102 gemäß einer Implementierung zeigt. Wie in 2 gezeigt ist, kann ein Bilderzeugungssystem 102 ein Beleuchtungsmodul 202, eine Modulationskomponente 204, ein Sensormodul 206 und ein Steuerungsmodul 208 umfassen. Bei verschiedenen Implementierungen kann ein Bilderzeugungssystem 102 weniger, zusätzliche oder alternative Komponenten umfassen und innerhalb des Schutzbereichs der Offenbarung verbleiben. Eine oder mehrere Komponenten eines Bilderzeugungssystems 102 können zusammengestellt, kombiniert oder anderweitig mit anderen Komponenten des Bilderzeugungssystems 102 integriert werden. Zum Beispiel kann bei einer Implementierung das Bilderzeugungssystem 102 ein Bilderzeugungs-Gerät oder eine -Vorrichtung aufweisen. Ferner können eine oder mehrere Komponenten des Bilderzeugungssystems 102 entfernt von der oder den anderen Komponenten angeordnet sein.
-
Bei einer Implementierung ist das Beleuchtungsmodul 202 angeordnet, um elektromagnetische (EM-)Strahlung (z. B. Lichtstrahlung) zu emittieren, um den vorausgewählten Bereich 108 zu beleuchten. Zum Beispiel kann das Beleuchtungsmodul 102 angeordnet sein, um ein oder mehrere Objekte 106 zu beleuchten, die in dem Bereich 108 vorhanden sein können, um die Objekte zu detektieren oder um eine Bewegung der Objekte 106 zu detektieren. Bei verschiedenen Implementierungen umfasst das Beleuchtungsmodul 202 eine Beleuchtungsquelle, so wie zum Beispiel einen Lichtemitter. Bei einer Implementierung umfasst die Beleuchtungsquelle eine lichtemittierende Diode (LED; Light-Emitting Diode). Bei einer anderen Implementierung umfasst die Beleuchtungsquelle einen Laseremitter. Bei einer Implementierung beleuchtet das Beleuchtungsmodul 202 die gesamte Umgebung (z. B. den vorausgewählten Bereich 108) mit jedem emittierten Lichtpuls. Bei einer alternativen Implementierung beleuchtet das Beleuchtungsmodul 202 die Umgebung in Stufen oder Scans.
-
Bei verschiedenen Implementierungen können unterschiedliche Formen einer EM-Strahlung aus dem Beleuchtungsmodul 202 emittiert werden. Bei einigen Implementierungen wird Infrarotlicht oder Ähnliches emittiert. Zum Beispiel kann die Lichtstrahlung ein oder mehrere modulierte Lichtpulse aufweisen. Das Beleuchtungsmodul 202 kann für ein kurzes Intervall eingeschaltet werden, wodurch ermöglicht wird, dass der eine oder die mehreren emittierten Lichtpulse den Bereich 108 beleuchten, einschließlich jegliche Objekte 106 innerhalb des Bereichs 108. Infrarotlicht stellt zum Beispiel eine Beleuchtung für den Bereich 108 bereit, die für das menschliche Auge nicht sichtbar ist und somit nicht störend ist. Bei anderen Implementierungen können andere Typen oder Frequenzen einer EM-Strahlung emittiert werden, die eine visuelle Rückkopplung oder Ähnliches bereitstellen. Wie oben erwähnt wurde, können bei alternativen Implementierungen andere Energieformen (z. B. strahlungsbasiert, schallemissionsbasiert, partikelemissionsbasiert, etc.) durch das Beleuchtungsmodul 202 emittiert werden.
-
Wenn sie in einer Implementierung umfasst ist, kann die Modulationskomponente 204 angeordnet sein, um die EM-Strahlung zu modulieren, die aus dem Beleuchtungsmodul 202 emittiert wird und/oder um eine oder mehrere Komponenten (z. B. fotosensitive Pixel 302) des Sensormoduls 206 zu modulieren. Bei verschiedenen Implementierungen kann die Modulationskomponente 204 angeordnet sein, um die Modulation der EM-Strahlung mit der Modulation der Komponenten des Sensormoduls 206 während einer Laufzeitoperation zu korrelieren (z. B. um eine Distanz eines Objekts 106 von dem Bilderzeugungssystem 102 zu berechnen und/oder um ein zweidimensionales oder dreidimensionales Bild des Objekts 106 zu bilden).
-
Bei verschiedenen Implementierungen, wie in 2 und 3 gezeigt ist, ist ein Sensormodul 206 in einem Bilderzeugungssystem 102 umfasst. Bei einer Implementierung umfasst das Sensormodul 206 einen Bilderzeugungssensor, der angeordnet ist, um reflektierte Lichtstrahlung von einem oder mehreren Objekten 106 in dem Bereich 108 während eines Rahmenereignisses zu empfangen (z. B. erfassen) (d. h. während einer Bilderfassung zu einem Zeitpunkt). Bei einem Beispiel kann das Sensormodul 206 angeordnet sein, um ein Bild (z. B. zweidimensionales Bild oder dreidimensionales Bild) des Bereichs 108 oder des Objekts 106 innerhalb des Bereichs 108 basierend auf dem Empfangen der Reflektion der Lichtstrahlung zu erfassen. Das Sensormodul 206 kann angeordnet sein, um das Bild unter Verwendung von Laufzeitprinzipien zu erfassen.
-
Bei einem anderen Beispiel ist das Sensormodul 206 angeordnet, um Phasenverschiebungsinformationen zwischen der einfallenden Lichtstrahlung und der reflektierten Lichtstrahlung für Distanzmessberechnungen bereitzustellen. Zum Beispiel ist bei einer Implementierung das Sensormodul 206 angeordnet, um ein oder mehrere Phasenverzögerungswerte der Lichtstrahlung zu erfassen, die von einem oder mehreren Objekten 106 in dem Bereich 108 während eines Rahmenereignisses reflektiert wird. Die Phasenverzögerungswerte repräsentieren eine Phasenverschiebung bei der reflektierten Lichtstrahlung von der einfallenden Lichtstrahlung basierend auf einer zurückgelegten Distanz.
-
Bei einer Implementierung, wie in 3 gezeigt ist, besteht das Sensormodul 206 aus einer Mehrzahl von fotosensitiven Pixelvorrichtungen („Pixeln”) 302. Bei einem Beispiel kann jedes der mehreren Pixel 302 als ein individueller Bildsensor agieren. Bei einem solchen Beispiel ist ein resultierendes multidimensionales Bild (wie zum Beispiel ein dreidimensionales „Distanzbild”) von dem Sensormodul 206 eine Kombination der Lichtstrahlung, die an mehreren individuellen Pixeln 302 empfangen wird.
-
Bei einer Implementierung ist jedes der Mehrzahl von fotosensitiven Pixeln 302 angeordnet, um Lichtstrahlung zu erfassen, die von einem oder mehreren Objekten 106 in dem Bereich 108 reflektiert wird. Bei verschiedenen Implementierungen kann Lichtstrahlung, die durch individuelle Pixel 302 während eines Rahmenereignisses erfasst wird, innerhalb des Steuerungsmoduls 208 zum Beispiel verarbeitet werden, um individuelle Distanzen von dem einen oder den mehreren Objekten 106 in dem Bereich 108 zu den individuellen Pixeln 302 zu bestimmen. Die Distanzen, die den individuellen Pixeln 302 zugeordnet sind, können kombiniert werden, um das dreidimensionale Distanzbild des einen oder der mehreren Objekte 106 und/oder des Bereichs 108 zu bilden.
-
Wenn es in einer Implementierung umfasst ist, kann das Steuerungsmodul 208 angeordnet sein, um Steuerungen und/oder Verarbeitung an das Bilderzeugungssystem 102 bereitzustellen. Zum Beispiel kann das Steuerungsmodul 208 die Operation des Bilderzeugungssystem 102 steuern, die Operation von einem oder mehreren der anderen Module (202, 204, 206) steuern und/oder die Signale und Informationen verarbeiten, die durch eines oder mehrere der anderen Module (202, 204, 206) ausgegeben werden. Bei verschiedenen Implementierungen ist das Steuerungsmodul 208 angeordnet, um mit einem oder mehreren des Beleuchtungsmoduls 202, der Modulationskomponente 204 und des Sensormoduls 206 zu kommunizieren. Bei einigen Implementierungen kann das Steuerungsmodul 208 in eines oder mehrere der anderen Module (202, 204, 206) integriert sein oder entfernt von den Modulen (202, 204, 206) sein.
-
Bei einer Implementierung ist das Steuerungsmodul 208 angeordnet, um ein Objekt 106 innerhalb des Bereichs 108 basierend auf Informationen zu detektieren, zu erkennen und/oder nachzuverfolgen, die von dem Sensormodul 206 empfangen werden. Bei verschiedenen Implementierungen kann das Steuerungsmodul 208 programmiert sein, um einige Objekte 106 und/oder Gesten zu erkennen und andere auszuschließen.
-
Bei verschiedenen Implementierungen ist das Steuerungsmodul 208 angeordnet, um eine Distanz von dem einen oder den mehreren Objekten 106 zu dem Sensormodul 206 basierend auf einem oder mehreren Phasenverzögerungswerten der Lichtstrahlung zu berechnen, die durch das Sensormodul 206 (z. B. die Pixel 302) während eines oder mehrerer Rahmenereignisse erfasst wird. Bei einem Beispiel sind die Phasenverzögerungswerte Abtastwerte der Korrelationsfunktion, was die analoge Ausgabe eines Pixels 302 ist.
-
Zum Beispiel kann bei einer Implementierung die Distanz von einem Objekt 106 zu dem Sensormodul 206 basierend auf einer Phasenänderung des einfallenden Lichts im Hinblick auf das reflektierte Licht geschätzt werden. Die erfassten Phasenverzögerungswerte zeigen die Distanz an, die das Licht zurückgelegt hat, als es aus dem Beleuchtungsmodul 202 emittiert, von einem Objekt 106 reflektiert und durch das Sensormodul 206 während eines Rahmenereignisses erfasst wurde.
-
Bei einer Implementierung, wie in 3 gezeigt ist, wo das Sensormodul 206 aus mehreren Pixeln 302 besteht, ist das Steuerungsmodul 208 angeordnet, um Distanzen von dem einen oder den mehreren Objekten 106 innerhalb des Bereichs 108 zu individuellen Pixeln 302 der Mehrzahl von Pixeln 302 zu berechnen. Bei der Implementierung basieren die Distanzberechnungen auf einem oder mehreren Phasenverzögerungswerten, die durch die individuellen Pixel 302 erfasst werden. Jeder Satz aus Phasenverzögerungswerten, der erfasst wird, kann durch das Steuerungsmodul 208 verwendet werden, um eine Distanz von dem einen oder den mehreren Objekten 106 zu dem individuellen Pixel 302 zu schätzen, das den Satz erfasst hat.
-
Bei einigen Implementierungen können zwei, drei, vier oder eine andere Menge von Phasenverzögerungswerten für die Distanzschätzung jedes Pixels verwendet werden, um die Genauigkeit der Schätzung zu verbessern. Entsprechend kann die Anzahl der Distanzberechnungen (pro Pixel 302), die für ein Rahmenereignis ausgeführt wird, auf der Menge der Pixel 302, die das Sensormodul 208 aufweist (d. h. die Auflösung des Sensormoduls 208) und der Menge der Phasenverzögerungswerte, die pro Pixel 302 erfasst werden basieren.
-
Bei einer Implementierung können die Phasenverzögerungswerte Abtastpunkten bei Referenzphasen entsprechen. Zum Beispiel kann ein Satz von Referenzphasen einen oder mehrere Phasenwinkel, die als Indexwerte (z. B. Abtastpunkte) verwendet werden, im Hinblick auf die Lichtstrahlung umfassen, um eine Phasenverschiebung bei dem reflektierten Licht zu zeigen. Bei einem Beispiel umfasst jeder Satz aus Referenzphasen drei oder mehr gleichmäßig beabstandete Phasenwinkel (z. B. 0°, 90°, 180° und 270°) und die Phasenverzögerungswerte umfassen eine entsprechende Größe von Phasenverschiebungen relativ zu jedem Referenzphasenwinkel. Eine entsprechende Phasenverschiebung im Hinblick auf die zugeordnete Referenzphase zeigt eine durch die Lichtstrahlung zurückgelegte Distanz an, während sie sich von dem Lichtemitter 202 bewegt, von dem Objekt 106 reflektiert wird und durch den Bildsensor 206 erfasst wird.
-
Bei einer Implementierung kann das Steuerungsmodul 208 zumindest eine oder mehrere Verarbeitungskomponenten („Prozessor”) und eine oder mehrere Speichervorrichtungen umfassen. Bei verschiedenen Implementierungen kann der Prozessor eine Rechenvorrichtung, eine Steuerung, Logikkomponenten oder Ähnliches aufweisen. Bei den Implementierungen ist der Prozessor angeordnet, um eine Distanz von dem einen oder den mehreren Objekten 106 zu dem Bilderzeugungssensor 206 (z. B. Sensormodul) basierend auf einem oder mehreren Phasenverzögerungswerten der Lichtstrahlung zu berechnen, die während eines Rahmenereignisses erfasst wird.
-
Bei einer Implementierung können die Phasenverzögerungswerte sowie andere Informationen in dem Speicher gespeichert und durch den Prozessor zugegriffen werden. Bei der Implementierung umfasst der Speicher jegliche Speichervorrichtung (integrierte oder separater Hardware von dem Prozessor), die in der Lage ist, digitale Informationen (elektrisch, optisch, magnetisch, etc.) zu speichern, auf die eine Verarbeitungskomponente zugreifen kann, wie zum Beispiel der Prozessor.
-
Bei einer Implementierung ist das Steuerungsmodul 208 angeordnet, um die berechnete Distanz und/oder das dreidimensionale Bild des Objekts 106 auszugeben. Zum Beispiel kann das Bilderzeugungssystem 102 angeordnet sein, um eine Distanz, ein dreidimensionales Bild des detektierten Objekts 106, Nachverfolgungskoordinaten des Objekts 106 usw. an eine Anzeigevorrichtung, an ein anderes System, das zum Verarbeiten der Informationen angeordnet ist oder Ähnliches auszugeben.
-
Bei den verschiedenen Implementierungen verwendet das Bilderzeugungssystem 102 Laufzeit-(ToF-)3D-Bilderzeugungstechniken basierend auf Ausbreitungsverzögerungsmessungen von emittierten (und reflektierten) Lichtstrahlen, wie oben beschrieben wurde. Zum Beispiel kann das emittierte Licht (aus dem Beleuchtungsmodul 202) durch die Modulationskomponente 204 bei einer bestimmten Frequenz fmod (z. B. 20 MHz) moduliert werden. Bei der Zeit der Rückkehr zu dem Sensormodul 206 kann die abgedeckte Distanz durch das Steuerungsmodul 208 aus der Phasenverschiebung über die Lichtgeschwindigkeit rekonstruiert werden. Bei einer Implementierung wird die Phasenverschiebung durch Korrelieren des Einfallssignals mit seiner nicht verzögerten Entsprechung auf dem Chip geschätzt. Bei einigen Implementierungen sind die Ausgaben jedes einzelnen Bilderzeugungspixels 302 die N (z. B. 3, 4, 6, 8, etc.) äquidistanten Abtastwerte einer Korrelationsfunktionswellenform, bezeichnet als die Sensorantwortfunktion (SRF; Sensor-Response Function), gezeigt in 4.
-
Die Form der SRF kann zwischen dreieckig und sinusförmig variieren, abhängig von der Modulationsfrequenz. Bei einigen Bilderzeugungssystemen 102 berechnen Distanzschätzalgorithmen die Phase der Grundwelle der SRF und können die Distanzinformationen aus diesem Wert rekonstruieren. 4 stellt eine typische Form einer SRF-Wellenform dar und bezieht sich auf eine Distanz B, die die Distanzmessung des Bilderzeugungssystems 102 repräsentiert. Die vier äquidistanten Punkte auf der SRF-Wellenform zeigen die beispielhaften diskreten Abtastwerte (z. B. entnommen an den äquidistanten Abtastpunkten) am Ausgang des Sensors 206 an.
-
Wie oben erwähnt wurde ist das emittierte EM-Signal eines Bilderzeugungssystems 102 möglicherweise nicht perfekt sinusförmig, kann aber Komponenten höherer Frequenz enthalten. Bei verschiedenen Anwendungen kann das Vorhandensein der Komponenten höherer Frequenz zu einem systematischen Distanzfehler führen (z. B. dem Wackelfehler), wenn eine Distanzrekonstruktion basierend auf der Phase der Grundwelle der SRF versucht wird. Die Amplitude des Wackelfehlers hängt von der relativen Amplitude der Komponenten höherer Frequenz ab und ist deterministisch. Die Komponenten höherer Frequenz können Abweichungen bei der Messung von bis zu mehreren Grad/Zentimetern verursachen. In dem Kontext systematischer Distanzfehler kann der Wackelfehler eine der größten Auswirkungen auf die Genauigkeit der Distanzmessung haben.
-
Beispielimplementierung
-
Bei einer Implementierung erzeugt das Bilderzeugungssystem 102 ein parametrisches Modell des Wackelfehlers, wie hierin nachfolgend beschrieben wird. Bei einer anderen Implementierung führt das Bilderzeugungssystem 102 eine Online-(z. B. adaptive, dynamische, während der Laufzeit)Parameterschätzung basierend auf dem erzeugten Modell aus und führt eine Fehlerkompensation basierend auf dem modellierten Wackelfehler aus.
-
Zu Erörterungszwecken wird die nachfolgende Implementierung betrachtet (bei alternativen Beispielen liegen Implementierungen mit anderen Charakteristika innerhalb des Schutzbereichs der Offenbarung): Bei der Implementierung basiert das Bilderzeugungssystem
102 auf einer Vierfachabtastung, d. h. an jedem Bilderzeugungsrahmen werden vier äquidistant erworbene Werte der SRF-Wellenform durch das Bilderzeugungssystem
102 abgetastet (z. B. durch das Steuerungsmodul
208 basierend auf Informationen auf dem Sensormodul
206). An jedem zweiten Rahmen werden die Abtastpunkte um die Hälfte der Abtastdistanz verschoben, d. h.
• Rahmen n Abtastpunkte: | 0° (0) | 90° (π/2) | 180° (π) | 270° (3π/2) |
• Rahmen n + 1 Abtastpunkte: | 45° (π/4) | 135° (3π/4) | 225° (5π/4) | 315° (7π/4) |
-
Bei der Implementierung enthält das emittierte EM-Signal (z. B. emittiert durch das Beleuchtungsmodul 202) und daher die SRF-Wellenform eine Grundwelle und eine dominierende Harmonische dritter Ordnung.
-
Bei einer Implementierung, da die Phase der Grundwelle die Basis für eine ToF-Distanzschätzung ist, wird der erste Bin der diskreten 4-Punkt-Fourier-Transformation (DFT; Discrete Fourier Transform) z. B. durch das Steuerungsmodul
208 bewertet. Anders ausgedrückt werden die ersten vier äquidistanten Abtastwerte der SRF-Wellenform in dem Frequenzbereich umgewandelt. Da diese Werte im Allgemeinen komplexwertig sind, können sie als Zeiger in der komplexen Ebene betrachtet werden, wie in dem unteren Graphen von
4 gezeigt ist. Bei Rahmen n kann der beobachtete Zeiger an einem bestimmten Pixel
302 wie folgt ausgedrückt werden
wobei A
1 und A
3 sich auf die Amplituden der Grundwelle und/oder der dritten Harmonischen beziehen. φ
d bezeichnet die Phase der Grundwelle, die bis zu einem beliebigen Versatz der wahren Distanz entspricht. Δφ
3 ist der Phasenversatz zwischen der dritten Harmonischen und der Grundwelle. Wenn die zugrundeliegende Signalform sich nicht ändert, ist dieser Phasenversatz unabhängig von der Distanz und variiert nicht im Laufe der Zeit. Die komplexe Konjugation der dritten Harmonischen und der Ausdruck der entsprechenden Phasenterme sind ein Ergebnis der Fourier-Analyse und spektralen Aliasing-Theory im Kontext von ToF-Bilderzeugungssystemen.
-
Bei einer Implementierung ist das Bilderzeugungssystem 102 bereits versatzkalibriert, d. h. die Phase der Grundwelle φd bezieht sich direkt auf die wahre Distanz. Bei alternativen Implementierungen wird diese Versatzkalibrierung nicht im Voraus benötigt, vereinfacht aber die nachfolgende Herleitung.
-
Bezugnehmend auf
4 kann bei einer Implementierung, wenn A
1 >> A
3, die folgende Beziehung gezeigt werden:
-
Bei der Implementierung, wenn (falls) die zwei Koeffizienten k und Δφ
3 bekannt sind, ist das Wackelfehlermodell vollständig und eine Kompensation ist möglich. Bei einem Beispiel werden diese Parameter (Koeffizienten k und Δφ
3) durch Kombinieren von zwei sukzessiven Bildrahmen mit verschobenen Abtastpunkten geschätzt. Unter Berücksichtigung, dass sich das Verschieben der Abtastpunkte um π/4 auf eine virtuelle Distanzverschiebung desselben Betrags bezieht, wird der beobachtete Zeiger, der bei Rahmen n + 1 erhalten wird, berechnet als
-
Das Anwenden eines Kompensationsterms von
ergibt
-
Aus Gleichungen 1–4 können die Koeffizienten des Wackelfehlermodells wie folgt geschätzt werden:
-
Bei einer Implementierung wird eine Fehlerkompensation basierend auf einer Umformulierung von Gleichung (2) ausgeführt, d. h. φd,rec = φ ^d – k ^·sin(–4φ ^d + Δφ ^3) (7)
-
Anmerkung: Bei einer Implementierung würde Gleichung (7) die wahre Distanz φd als ein Argument nehmen. Wenn jedoch nur die beobachtete (und somit fehlerhafte) Distanz φ ^d verfügbar ist, kann sie ebenfalls verwendet werden, da gezeigt werden kann, dass der zusätzliche Fehler sehr klein ist. Nichtsdestotrotz kann bei einigen alternativen Implementierungen eine iterative Bewertung verwendet werden, um das Verhalten zu Verbessern und den zusätzlichen Fehler zu minimieren.
-
Bei verschiedenen Implementierungen, können basierend auf dem oben hergeleiteten Modell, wenn zwei Bildrahmen erfasst werden, die eine vernachlässigbare Bewegung enthalten (z. B. weniger als einen vorbestimmten Schwellenbewegungsbetrag), die Koeffizienten des Wackelfehlermodells basierend auf Gleichungen (5, 6) geschätzt werden. Bei einer Implementierung wird die Kompensationsverschiebung e–iπ/4 an den Bildrahmen angewendet, abgetastet mit den Versatzabtastpunkten (z. B. jeder zweiter Rahmen, bezeichnet als n + 1 in der vorangehenden Herleitung).
-
Die hierin beschriebene Technik ist pixelbasiert. Bei alternativen Implementierungen, da bekannt ist, dass der Wackelfehler über das gesamte Pixelarray (z. B. Sensormodul 206) gleich/ähnlich ist, können verschiedene Pixel 302 in der Schätzphase kombiniert werden, um den Schätzfehler zu verringern.
-
Die hierin beschriebene Technik geht auch davon aus, dass der Wackelfehler konstant ist. Bei alternativen Implementierungen jedoch ist der Wackelfehler nicht konstant und die zwei Parameter k und Δφ3 können eine potentielle Abweichung über die Position des Pixels 302 und/oder über eine Variation der Szene (106, 108) zeigen. Bei den alternativen Implementierungen können die Modellparameter k und Δφ3 dynamisch (z. B. periodisch, regelmäßig oder konstant) aktualisiert werden, um Koeffizientenabweichungen über die Position des Pixels 302 zu erlauben. In jedem Fall, sobald die zwei Koeffizienten k und Δφ3 bestimmt sind, kann eine Wackelfehlerkompensation gemäß Gleichung 7 ausgeführt werden.
-
Bei einer Implementierung, sobald ein Parametersatz bestimmt (z. B. geschätzt) ist, der die zwei Koeffizienten k und Δφ3 aufweist, ist eine Kompensation des Wackelfehlers unter Verwendung von einem erworbenen Bildrahmen möglich, unabhängig von vorangehenden Rahmen. Somit besteht keine Zwischenabhängigkeit zwischen Rahmen, die z. B. zu einer höheren Anfälligkeit für Bewegungsartefakte führen kann.
-
Bei verschiedenen Implementierungen können zusätzliche oder alternative Komponenten verwendet werden, um die offenbarten Techniken und Anordnungen zu erreichen.
-
5 und
6 sind graphische Darstellungen, die Beispielergebnisse einer parametrischen Online-Kalibrierung und -Kompensation eines Wackelfehlers gemäß verschiedenen Implementierungen zeigen. Die graphischen Darstellungen sind das Ergebnis verschiedener Simulationen, wie nachfolgend beschrieben wird. Die Simulation wurde mit den nachfolgenden Bedingungen ausgeführt:
• Rahmen 1: z1 = f (φd, A1, k, Δφ3) | ... Kalibrierungsrahmen 1 |
• Rahmen 2: z2 = f (φd, A1, k, Δφ3) | ... Kalibrierungsrahmen 2 |
• Rahmen 3: z3 = f (φd + Δφd, A1 + ΔA1(Δφd), k + Δk, Δφ3 + ϑ) | ... Testrahmen |
-
Anmerkungen:
-
- • Die Simulation wurde randomisiert im Hinblick auf φd, A1, k, Δφ3, Δφd, Δk, ϑ innerhalb plausibler Bereiche
- • Eine Million Versuche wurden ausgeführt
- • Die Terme Δk und ϑ berücksichtigen Inkonsistenzen des Wackelfehlers über Rahmen
- • ΔA1 ist die erwartete Amplitudenänderung aufgrund von Δφd
- • Zusätzliche Rausch-Terme wurden zu z addiert, um eine Näherung an Echtweltumgebungen zu erreichen.
-
Die nachfolgenden Szenarien wurden simuliert:
- • 5, Satz der oberen Graphen: Rauschfrei, Wackelfehler konsistent (Δk = 0, ϑ = 0) [Beweis des Konzepts]
- • 5, Satz der unteren Graphen: Rauschfrei, Wackelfehler inkonsistent (Parameterabweichung von 10%)
- • 6, Satz der oberen Graphen: SNR = 66 dB (11 Bit Genauigkeit, d. h. 13 Bit ADC + 2 Bit Rauschen), Wackelfehler konsistent (Δk = 0, ϑ = 0)
- • 6, Satz der unteren Graphen: SNR = 66 dB (11 Bit Genauigkeit, d. h. 13 Bit ADC + 2 Bit Rauschen), Wackelfehler inkonsistent (Parameterabweichung von 10%) [Worst-Case-Szenario]
-
Wie in 5 und 6 gezeigt ist, verhalten sich in allen vier gezeigten Szenarien die präsentierten Algorithmen gut, um den Wackelfehler zu kompensieren. Es wird darauf hingewiesen, dass in den in 6 dargestellten Szenarien eine zusätzliche Verhaltensverbesserung basierend auf Mittelung/Pixelclustern etc. erreicht werden kann (z. B. durch Kombinieren der Informationen aus mehreren Bildrahmen und/oder aus mehreren Pixeln 302).
-
Repräsentativer Prozess
-
7 stellt einen repräsentativen Prozess 700 zum adaptiven Kalibrieren und Kompensieren eines Wackelfehlers bei einem Bilderzeugungssystem dar (wie zum Beispiel Bilderzeugungssystem 102) und somit zum Bestimmen korrekter Distanzmessungen von Objekten (wie zum Beispiel Objekten 106) aus dem Bilderzeugungssystem. Der Prozess 700 beschreibt das adaptive Kompensieren des Wackelfehlers unter Verwendung eines parametrischen Modells. Der Prozess 700 wird bezugnehmend auf 1–6 beschrieben.
-
Die Reihenfolge, in der der Prozess beschrieben ist, soll nicht als einschränkend betrachtet werden, und jegliche Anzahl der beschriebenen Prozessblöcke kann in jeglicher Reihenfolge kombiniert werden, um den Prozess oder alternative Prozesse zu implementieren. Zusätzlich dazu können individuelle Blöcke aus dem Prozess gelöscht werden, ohne von dem Wesen und dem Schutzbereich des hierin beschriebenen Gegenstands abzuweichen. Ferner kann der Prozess bei jeglichen geeigneten Materialien implementiert werden oder mit Kombinationen derselben, ohne von dem Schutzbereich des Gegenstands abzuweichen, wie er hierin beschrieben ist.
-
Bei einem Beispiel kann Lichtstrahlung durch einen Emitter (wie zum Beispiel das Beleuchtungsmodul 202 oder Ähnliches) emittiert werden, der zum Beispiel eine LED oder einen Laseremitter aufweist. Bei einigen Implementierungen kann die Lichtstrahlung moduliertes Licht sein. Zum Beispiel kann das Licht unter Verwendung einer Modulationskomponente moduliert werden (wie zum Beispiel Modulationskomponente 204) und kann in Korrelation mit der Modulation von einem oder mehreren fotosensitiven Pixeln (wie z. B. Pixeln 302) der Bilderzeugungsvorrichtung moduliert werden.
-
Bei Block 702 umfasst der Prozess das Erfassen einer Lichtstrahlung, die von einem oder mehreren Objekten (wie zum Beispiel Objekt 106) innerhalb eines Bereichs (wie zum Beispiel Bereich 108) während zumindest eines Rahmenereignisses (d. h. eine Bilderfassung zu einem Zeitpunkt) reflektiert wird, mit einem Bilderzeugungssensor (wie zum Beispiel Sensormodul 205 und/oder Pixel 302). Der Bilderzeugungssensor kann ein oder mehrere fotosensitive Pixel (wie zum Beispiel Pixel 302) umfassen. Die Lichtreflexion kann durch den Bilderzeugungssensor z. B. über Optik, einen Empfänger, eine Antenne oder Ähnliches empfangen werden.
-
Bei einer Implementierung können Daten, die für eine weitere Verarbeitung ausgegeben werden, einen Satz von numerischen Werten für jedes Rahmenereignis umfassen, die sich auf mehrere äquidistante Abtastwerte eines Signals basierend auf einer Wellenform des erfassten Lichts beziehen (d. h. Abtastwerte der vorangehend definierten Sensorantwortfunktion (SRF)).
-
Bei einer Implementierung umfasst der Prozess das Abtasten der SRF während zwei oder mehr Rahmenereignissen, wo bei einem Rahmen die Abtastorte von einem Satz der mehreren äquidistanten Abtastwerten einen bestimmten Versatz von den Abtastorten eines anderen Satzes der mehreren äquidistanten Abtastwerte aufweisen können, die in einem anderen Rahmen erfasst wurden. Bei einem weiteren Beispiel werden die Abtastorte der anderen mehreren äquidistanten Abtastpunkte um die Hälfte der Abtastdistanz von den Abtastorten der ersten mehreren äquidistanten Abtastpunkte verschoben. Bei einem wiederum anderen Beispiel umfasst der Prozess das abwechselnde Abtasten der SRF an den Abtastorten der ersten mehreren äquidistanten Abtastpunkten und an den Abtastorten der anderen mehreren äquidistanten Abtastpunkte mit jedem sukzessiven Rahmenereignis.
-
Bei Block 704 umfasst der Prozess optional das Bestimmen eines Werts für jeden eines oder mehrerer Parameter eines Modells des Wackelfehlers. Bei einer Implementierung umfasst einer des einen oder der mehreren Parameter einen Phasenversatz zwischen der dritten Harmonischen und der Grundwellenform der erfassten Lichtstrahlung und ein anderer des einen oder der mehreren Parameter umfasst einen Faktor, der einen Verhältnis einer Amplitude der dritten Harmonischen zu einer Amplitude der Grundwelle repräsentiert.
-
Bei einer Implementierung umfasst der Prozess das Schätzen eines Werts für jeden des einen oder der mehreren Parameter durch Kombinieren von Daten aus zwei oder mehr sukzessiven Rahmenereignissen. Bei einer anderen Implementierung umfasst der Prozess das Kombinieren von Daten aus den zwei oder mehr sukzessiven Bildrahmen, wo jeweilige Abtastorte der zwei oder mehr Sätze aus äquidistanten Abtastpunkten voneinander versetzt sind. Bei einer weiteren Implementierung umfasst der Prozess das Schätzen des Werts für jeden des einen oder der mehreren Parameter durch Kombinieren von Daten aus zwei oder mehr Pixeln des Bilderzeugungssystems.
-
Bei Block 706 umfasst der Prozess das Kompensieren des Wackelfehlers, um Distanzinformationen innerhalb der Lichtstrahlung zu klären. Bei einer Implementierung umfasst der Prozess das Kompensieren des Wackelfehlers der Lichtstrahlung, die während eines einzelnen Rahmenereignisses erfasst wird, sobald ein Wert für jeden des einen oder der mehreren Parameter bestimmt ist. Bei verschiedenen Implementierungen umfasst der Prozess das Kompensieren des Wackelfehlers während der Laufzeit des Bilderzeugungssystems.
-
Bei Block 708 umfasst der Prozess das Berechnen einer Distanz von dem einen oder den mehreren Objekten zu dem Bilderzeugungssensor basierend auf den klargestellten (clarified) Distanzinformationen der Lichtstrahlung, die während des zumindest einen Rahmenereignisses erfasst wird. Zum Beispiel umfasst der Prozess bei einer Implementierung das Berechnen einer Distanz von dem einen oder den mehreren Objekten zu jedem Pixel des Bilderzeugungssensors.
-
Bei einer Implementierung umfasst der Prozess ferner Laufzeittechniken, wie zum Beispiel das Messen einer Zeit von dem Emittieren der Lichtstrahlung zum Empfangen der Reflexion der Lichtstrahlung und das Berechnen einer Distanz eines Objekts basierend auf der gemessenen Zeit. Bei verschiedenen Implementierungen umfasst der Prozess das Ausgeben von Bild- oder Gesten-Informationen an eine Rechenvorrichtung zur Eingabesteuerung oder Ähnliches. Zusätzlich dazu kann der Prozess das Ausgeben von Bilderzeugungsinformationen, wie zum Beispiel einer Distanz, eines dreidimensionalen Bildes des detektierten Objekts, Nachverfolgungskoordinaten des Objekts usw., an eine Anzeigevorrichtung, an ein anderes System, das angeordnet ist, um die Informationen zu verarbeiten, oder Ähnliches umfassen.
-
Bei alternativen Implementierungen können andere Techniken in dem Prozess in verschiedenen Kombinationen umfasst sein und innerhalb des Schutzbereichs der Offenbarung verbleiben.
-
Schlussfolgerung
-
Obwohl die Implementierungen der Offenbarung in einer Sprache beschrieben wurden, die spezifisch für strukturelle Merkmale und/oder methodische Schritte ist, wird darauf hingewiesen, dass die Implementierungen nicht notwendigerweise auf die spezifischen, beschriebenen Merkmale oder Schritte beschränkt sind. Stattdessen sind die spezifischen Merkmale und Schritte als repräsentative Formen der Implementierung von beispielhaften Vorrichtungen und Techniken offenbart.