DE102020207974B4 - Systeme und verfahren zum nachweis von bewegung während 3d-datenrekonstruktion - Google Patents

Systeme und verfahren zum nachweis von bewegung während 3d-datenrekonstruktion Download PDF

Info

Publication number
DE102020207974B4
DE102020207974B4 DE102020207974.9A DE102020207974A DE102020207974B4 DE 102020207974 B4 DE102020207974 B4 DE 102020207974B4 DE 102020207974 A DE102020207974 A DE 102020207974A DE 102020207974 B4 DE102020207974 B4 DE 102020207974B4
Authority
DE
Germany
Prior art keywords
temporal
determining
images
pixels
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102020207974.9A
Other languages
English (en)
Other versions
DE102020207974A1 (de
Inventor
Marcus Große
Bastian Harendt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cognex Corp
Original Assignee
Cognex Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cognex Corp filed Critical Cognex Corp
Publication of DE102020207974A1 publication Critical patent/DE102020207974A1/de
Application granted granted Critical
Publication of DE102020207974B4 publication Critical patent/DE102020207974B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/285Analysis of motion using a sequence of stereo image pairs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

In manchen Aspekten betreffen die hierin beschriebenen Techniken Systeme, Verfahren und computerlesbare Medien zum Nachweis von Bewegung in einer Szene. Ein erstes temporales Pixelbild wird basierend auf einem ersten Satz von Bildern einer Szene über die Zeit erzeugt, und ein zweites temporales Pixelbild wird basierend auf einem zweiten Satz von Bildern erzeugt. Ein oder mehr abgeleitete Werte werden bestimmt basierend auf den Werten der temporalen Pixel im ersten temporalen Pixelbild, im zweiten temporalen Pixelbild, oder beiden. Basierend auf dem ersten temporalen Pixelbild und dem zweiten temporalen Pixelbild werden Übereinstimmungsdaten bestimmt, die einen Satz von Übereinstimmungen zwischen Bildpunkten des ersten Satzes von Bildern und Bildpunkten des zweiten Satzes von Bildern anzeigen. Eine Anzeige, ob es eine Wahrscheinlichkeit für Bewegung in der Szene gibt, wird basierend auf dem einen oder mehr abgeleiteten Werten und den Übereinstimmungsdaten bestimmt.

Description

  • TECHNISCHES GEBIET
  • Die hierin beschriebenen Techniken betreffen allgemein den Nachweis von Objektbewegung während dreidimensionaler (3D) Rekonstruktion, und insbesondere den Nachweis der Bewegung eines oder mehrerer Objekte in einer Szene während 3D-Rekonstruktion unter Verwendung zweidimensionaler, von der Szene aufgenommener Bilder.
  • HINTERGRUND
  • Die Verwendung fortgeschrittener Maschinensichtsysteme und ihrer zu Grunde liegenden Software wird in einer Vielzahl von Herstellungs- und Qualitätskontrollprozesse verstärkt eingesetzt. Maschinensichtsysteme erlauben das Erhalten schnellerer, genauerer und wiederholbarer Ergebnisse in der Herstellung sowohl massenproduzierter als auch maßgeschneiderter Produkte. Typische Maschinensichtsysteme umfassen eine oder mehr Kameras, die auf ein Gebiet von Interesse gerichtet sind, einen Bildfänger/ Bildverarbeitungselemente, die Bilder aufnehmen und übermitteln, einen Computer oder eine Verarbeitungsvorrichtung an Bord, und eine Nutzerschnittstelle, um die Maschinensicht-Softwareanwendung zu betreiben und die aufgenommenen Bilder zu manipulieren, und geeignete Beleuchtung auf dem Gebiet von Interesse.
  • Die Erkennung von Objektbewegung in einer Szene zur adaptiven Anpassung der Tiefenrekonstuktion eines Bildes wurde beschrieben in Zhang et al., „Real-time scalable depth sensing with hybrid structured light illumination", IEEE Transactions on Image Processing, 2013, 23, JG., Nr. 1, S. 97-109.
  • Eine Form von 3D-Sichtsystemen basiert auf Stereokameras, die mindestens zwei Kameras einsetzen, die einem Verhältnis Seite an Seite angeordnet sind, mit einer Grundlinie von einem bis mehreren Zoll dazwischen. Stereosicht-basierte Systeme im Allgemeinen basieren auf epipolarer Geometrie und Bildentzerrung. Sie können Korrelations-basierte Verfahren oder das Kombinieren mit Relaxationstechniken verwenden, um die Übereinstimmung in entzerrten Bildern von einer oder mehr Kameras zu finden. Ein Verfahren zur Stereobildstabilisierung mittels Kamerabewegungskomponenten während 3D-Rekonstruktion für nicht-flimmernde Unterwasseraufnahmen wurde beschrieben in Swirski und Schechner, „3Deflicker from motion", International Conference on Computational Photography (ICCP), IEEE, 2013, S. 1-9. Jedoch sind konventionelle Stereosichtsysteme beschränkt in ihrer Fähigkeit, Bewegung zu entdecken, wenn sie dreidimensionale Datenrekonstruktionen von Objekten erzeugen.
  • ZUSAMMENFASSUNG
  • Die Erfindung wird durch die Ansprüche definiert.
  • In manchen Aspekten werden Systeme, Verfahren und computerlesbare Medien zum Nachweis von Bewegung eines oder mehrerer Objekte während 3D-Rekonstruktion einer Szene bereitgestellt.
  • Manche Aspekte betreffen ein System zum Nachweis von Bewegung in einer Szene. Das System umfasst einen Prozessor mit Speicher, wobei der Prozessor konfiguriert ist, im Speicher gespeicherte Anweisungen auszuführen, die den Prozessor veranlassen: auf einen ersten Satz von Bildern und einen zweiten Satz von Bildern einer Szene über die Zeit zuzugreifen; wobei jedes Bild im ersten Satz von Bildern einen assoziierten Teil einer über die Zeit auf die Szene projizierten Mustersequenz einfängt und aus einer ersten Perspektive auf die Szene ist; und jedes Bild im zweiten Satz von Bildern einen assoziierten Teil der über die Zeit auf die Szene projizierten Mustersequenz einfängt und aus einer zweiten Perspektive auf die Szene ist; basierend auf dem ersten Satz von Bildern ein erstes temporales Pixelbild zu erzeugen, das einen ersten Satz temporaler Pixel umfasst, wobei jeder temporale Pixel im ersten Satz temporaler Pixel einen Satz von Pixelwerten an einer assoziierten Position aus jedem Bild des ersten Satzes von Bildern, die einen assoziierten Teil der über die Zeit auf die Szene projizierten Mustersequenz einfangen, umfasst; basierend auf dem zweiten Satz von Bildern ein zweites temporales Pixelbild zu erzeugen, das einen zweiten Satz temporaler Pixel umfasst, wobei jeder temporale Pixel im zweiten Satz temporaler Pixel einen Satz von Pixelwerten an einer assoziierten Position aus jedem Bild des zweiten Satzes von Bildern, die einen assoziierten Teil der über die Zeit auf die Szene projizierten Mustersequenz einfangen, umfasst; einen oder mehr abgeleitete Werte zu bestimmen, basierend auf Werten der temporalen Pixel in dem ersten temporalen Pixelbild, dem zweiten temporalen Pixelbild, oder beiden; basierend auf dem ersten temporalen Pixelbild und dem zweiten temporalen Pixelbild Übereinstimmungsdaten zu bestimmen, die Übereinstimmungen zwischen Bildpunkten des ersten Satzes von Bildern und Bildpunkten des zweiten Satzes von Bildern anzeigen; und basierend auf dem einen oder mehr abgeleiteten Werten und den Übereinstimmungsdaten einen Anhaltspunkt zu bestimmen, ob es eine Wahrscheinlichkeit für Objektbewegung in der Szene gibt.
  • In manchen Beispielen umfasst das Bestimmen von einem oder mehr abgeleiteten Werten das Bestimmen eines ersten Satzes abgeleiteter Werte basierend auf Werten der temporalen Pixel im ersten temporalen Pixelbild und das Bestimmen eines zweiten Satzes abgeleiteter Werte basierend auf Werten der temporalen Pixel im zweiten temporalen Pixelbild.
  • In manchen Beispielen umfasst das Bestimmen von einem oder mehr abgeleiteten Werten das Bestimmen, für jeden temporalen Pixel eines ersten Satzes temporaler Pixel im ersten temporalen Pixelbild, von ersten Durchschnittsdaten, die einen Durchschnitt der Werte des temporalen Pixels anzeigen, und das Bestimmen, für jeden temporalen Pixel des ersten Satzes temporaler Pixel, von ersten Abweichungsdaten, die eine Abweichung der Werte des temporalen Pixels anzeigen.
  • In manchen Beispielen umfasst das Bestimmen von einem oder mehr abgeleiteten Werten das Bestimmen, für jeden temporalen Pixel eines zweiten Satzes temporaler Pixel im zweiten temporalen Pixelbild, von zweiten Durchschnittsdaten, die einen Durchschnitt der Werte des temporalen Pixels anzeigen, und das Bestimmen, für jeden temporalen Pixel des zweiten Satzes temporaler Pixel, von zweiten Abweichungsdaten, die eine Abweichung der Werte des temporalen Pixels anzeigen. Das Berechnen der ersten Durchschnittsdaten kann das Berechnen, für jeden temporalen Pixel im ersten Satz temporaler Pixel, von: einem temporalen Durchschnitt der Intensitätswerte des temporalen Pixels; und einer Wurzel der mittleren quadratischen Abweichung der Intensitätswerte des temporalen Pixels umfassen.
  • In manchen Beispielen umfasst das Bestimmen des Anhaltspunktes das Bestimmen einer Vielzahl von Bereichen des ersten temporalen Pixelbildes, des zweiten temporalen Pixelbildes, oder beider, und Bestimmen, für jeden Bereich der Vielzahl von Bereichen, eines Durchschnitts der ein oder mehr mit dem Bereich assoziierten abgeleiteten Werte, einer Übereinstimmungsanzeige basierend auf mit dem Bereich assoziierten Übereinstimmungen, und das Bestimmen, basierend auf dem Durchschnitt und der Übereinstimmungsanzeige, einer Bereichsanzeige, ob es eine Wahrscheinlichkeit für Bewegung in dem Bereich gibt. Das Bestimmen der Bereichsanzeige kann das Bestimmen, dass der Durchschnitt eine erste Metrik erfüllt, das Bestimmen, dass die Übereinstimmungsanzeige eine zweite Metrik erfüllt, und das Erzeugen der Bereichsanzeige, um anzugeben, ob es eine Wahrscheinlichkeit für Bewegung in dem Bereich gibt, umfassen. Ein Anhaltspunkt, um anzuzeigen, ob es eine Wahrscheinlichkeit für Bewegung in der Szene gibt, kann bestimmt werden basierend auf einem Satz von Bereichsanzeigen, die mit jeder Region der Vielzahl von Regionen assoziiert sind.
  • In manchen Beispielen fängt jedes Bild im ersten Satz von Bildern und im zweiten Satz von Bildern einen assoziierten Teil eines auf die Szene projizierten Lichtmusters ein, ist jedes Bild im ersten Satz von Bildern aus einer ersten Perspektive auf die Szene, und ist jedes Bild im zweiten Satz von Bildern aus einer zweiten Perspektive auf die Szene.
  • In manchen Beispielen wird jedes Bild im ersten Satz von Bildern von einer Kamera eingefangen und umfasst jedes Bild im zweiten Satz von Bildern einen Teil einer Mustersequenz, die durch einen Projektor auf die Szene projiziert wird.
  • Manche Ausführungsformen betreffen ein computergestütztes Verfahren zum Nachweis von Bewegung in einer Szene. Das Verfahren umfasst: Zugreifen auf einen ersten Satz von Bildern und einen zweiten Satz von Bildern einer Szene über die Zeit; Erzeugen, basierend auf dem ersten Satz von Bildern, eines ersten temporalen Pixelbildes, das einen ersten Satz temporaler Pixel umfasst, wobei jeder temporale Pixel im ersten Satz temporaler Pixel einen Satz von Pixelwerten an einer assoziierten Position aus jedem Bild des ersten Satzes von Bildern umfasst; Erzeugen, basierend auf dem zweiten Satz von Bildern, eines zweiten temporalen Pixelbildes, das einen zweiten Satz temporaler Pixel umfasst, wobei jeder temporale Pixel im zweiten Satz temporaler Pixel einen Satz von Pixelwerten an einer assoziierten Position aus jedem Bild des zweiten Satzes von Bildern umfasst; Bestimmen eines oder mehr abgeleiteter Werte, basierend auf Werten der temporalen Pixel in dem ersten temporalen Pixelbild, dem zweiten temporalen Pixelbild, oder beiden; Bestimmen, basierend auf dem ersten temporalen Pixelbild und dem zweiten temporalen Pixelbild, von Übereinstimmungsdaten, die Übereinstimmungen zwischen Bildpunkten des ersten Satzes von Bildern und Bildpunkten des zweiten Satzes von Bildern anzeigen; und Bestimmen, basierend auf dem einen oder mehr abgeleiteten Werten und den Übereinstimmungsdaten, eines Anhaltspunktes, ob es eine Wahrscheinlichkeit für Bewegung in der Szene gibt.
  • In manchen Beispielen umfasst das Bestimmen von einem oder mehr abgeleiteten Werten das Bestimmen eines ersten Satzes abgeleiteter Werte basierend auf Werten der temporalen Pixel im ersten temporalen Pixelbild und das Bestimmen eines zweiten Satzes abgeleiteter Werte basierend auf Werten der temporalen Pixel im zweiten temporalen Pixelbild.
  • In manchen Beispielen umfasst das Bestimmen von einem oder mehr abgeleiteten Werten das Bestimmen, für jeden temporalen Pixel eines ersten Satzes temporaler Pixel im ersten temporalen Pixelbild, von ersten Durchschnittsdaten, die einen Durchschnitt der Werte des temporalen Pixels anzeigen, und das Bestimmen, für jeden temporalen Pixel des ersten Satzes temporaler Pixel, von ersten Abweichungsdaten, die eine Abweichung der Werte des temporalen Pixels anzeigen. Das Bestimmen von einem oder mehr abgeleiteten Werten kann weiter das Bestimmen, für jeden temporalen Pixel eines zweiten Satzes temporaler Pixel im zweiten temporalen Pixelbild, von zweiten Durchschnittsdaten, die einen Durchschnitt der Werte des temporalen Pixels anzeigen, und das Bestimmen, für jeden temporalen Pixel des zweiten Satzes temporaler Pixel, von zweiten Abweichungsdaten, die eine Abweichung der Werte des temporalen Pixels anzeigen, umfassen. Das Berechnen der ersten Durchschnittsdaten kann das Berechnen, für jeden temporalen Pixel im ersten Satz temporaler Pixel, von: einem temporalen Durchschnitt der Intensitätswerte des temporalen Pixels; und einer Wurzel der mittleren quadratischen Abweichung der Intensitätswerte des temporalen Pixels umfassen.
  • In manchen Beispielen umfasst das Bestimmen des Anhaltspunktes das Bestimmen einer Vielzahl von Bereichen des ersten temporalen Pixelbildes, des zweiten temporalen Pixelbildes, oder beider, und Bestimmen, für jeden Bereich der Vielzahl von Bereichen, eines Durchschnitts der ein oder mehr mit dem Bereich assoziierten abgeleiteten Werte, einer Übereinstimmungsanzeige basierend auf mit dem Bereich assoziierten Übereinstimmungen, und das Bestimmen, basierend auf dem Durchschnitt und der Übereinstimmungsanzeige, einer Bereichsanzeige, ob es eine Wahrscheinlichkeit für Bewegung in dem Bereich gibt. Das Bestimmen der Bereichsanzeige kann das Bestimmen, dass der Durchschnitt eine erste Metrik erfüllt, das Bestimmen, dass die Übereinstimmungsanzeige eine zweite Metrik erfüllt, und das Erzeugen der Bereichsanzeige, um anzugeben, ob es eine Wahrscheinlichkeit für Bewegung in dem Bereich gibt, umfassen. Ein Anhaltspunkt, um anzuzeigen, ob es eine Wahrscheinlichkeit für Bewegung in der Szene gibt, kann bestimmt werden basierend auf einem Satz von Bereichsanzeigen, die mit jeder Region der Vielzahl von Regionen assoziiert sind.
  • In manchen Beispielen fängt jedes Bild im ersten Satz von Bildern und im zweiten Satz von Bildern einen assoziierten Teil eines auf die Szene projizierten Lichtmusters ein, ist jedes Bild im ersten Satz von Bildern aus einer ersten Perspektive auf die Szene, und ist jedes Bild im zweiten Satz von Bildern aus einer zweiten Perspektive auf die Szene.
  • Manche Aspekte betreffen mindestens ein nichtvergängliches computerlesbares Speichermedium. Das mindestens eine nichtvergängliche computerlesbare Speichermedium speichert Prozessor-ausführbare Anweisungen, die, wenn von mindestens einem Computerhardware-Prozessor ausgeführt, den mindestens einen Computerhardware-Prozessor veranlassen, folgende Handlungen vorzunehmen: Zugreifen auf einen ersten Satz von Bildern und einen zweiten Satz von Bildern einer Szene über die Zeit; Erzeugen, basierend auf dem ersten Satz von Bildern, eines ersten temporalen Pixelbildes, das einen ersten Satz temporaler Pixel umfasst, wobei jeder temporale Pixel im ersten Satz temporaler Pixel einen Satz von Pixelwerten an einer assoziierten Position aus jedem Bild des ersten Satzes von Bildern umfasst; Erzeugen, basierend auf dem zweiten Satz von Bildern, eines zweiten temporalen Pixelbildes, das einen zweiten Satz temporaler Pixel umfasst, wobei jeder temporale Pixel im zweiten Satz temporaler Pixel einen Satz von Pixelwerten an einer assoziierten Position aus jedem Bild des zweiten Satzes von Bildern umfasst; Bestimmen eines oder mehr abgeleiteter Werte, basierend auf Werten der temporalen Pixel in dem ersten temporalen Pixelbild, dem zweiten temporalen Pixelbild, oder beiden; Bestimmen, basierend auf dem ersten temporalen Pixelbild und dem zweiten temporalen Pixelbild, von Übereinstimmungsdaten, die Übereinstimmungen zwischen Bildpunkten des ersten Satzes von Bildern und Bildpunkten des zweiten Satzes von Bildern anzeigen; und Bestimmen, basierend auf dem einen oder mehr abgeleiteten Werten und den Übereinstimmungsdaten, eines Anhaltspunktes, ob es eine Wahrscheinlichkeit für Bewegung in der Szene gibt.
  • Es sind daher die Merkmale des offenbarten Gegenstandes, eher breit, umrissen worden, damit seine ausführliche Beschreibung, die folgt, besser verstanden werden kann, und damit der vorliegende Beitrag zum Stand der Technik besser eingeschätzt werden kann. Es gibt natürlich zusätzliche Merkmale des offenbarten Gegenstandes, die im Folgenden auch beschrieben werden und die die Grundlage der hieran beigefügten Ansprüche bilden. Es versteht sich, dass die hierin verwendete Phraseologie und Terminologie dem Zwecke der Beschreibung dienen und nicht als beschränkend angesehen werden sollen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • In den Zeichnungen wird jede identische oder beinahe identische Komponente, die in mehreren Figuren dargestellt ist, mit der gleichen Referenznummer bezeichnet. Zum Zwecke der Klarheit ist nicht notwendigerweise jede Komponente in jeder Zeichnung markiert. Die Zeichnungen sind nicht notwendig maßstabsgetreu, und der Schwerpunkt liegt auf der Veranschaulichung verschiedener Aspekte der hierin beschriebenen Techniken und Vorrichtungen.
    • 1 zeigt eine beispielhafte Konfiguration mit einem Projektor und zwei Kameras, die angeordnet sind, um Bilder einer Szene umfassend ein oder mehr Objekte in einer Weise aufzunehmen, die mit der Herstellung von Stereobildübereinstimmung konsistent ist, gemäß einigen Ausführungsformen;
    • 2 zeigt ein beispielhaftes Paar von Stereobildern, die einem einer Serie projizierter Lichtmuster entsprechen, gemäß einigen Ausführungsformen;
    • 3 zeigt ein beispielhaftes Paar von Stereobildern einer Szene, gemäß einigen Ausführungsformen;
    • 4 zeigt ein beispielhaftes Paar von stereotemporalen Bildsequenzen, die einer Serie auf eine Szene projizierter Lichtmuster entsprechen, gemäß einigen Ausführungsformen;
    • 5 zeigt ein beispielhaftes computergestütztes Verfahren zum Bestimmen, ob Bewegung in einer Szene wahrscheinlich ist, gemäß einigen Ausführungsformen;
    • 6 zeigt ein beispielhaftes computergestütztes Verfahren zum Bestimmen von Durchschnitts- und Abweichungsdaten für erste und zweite temporale Pixelbilder, gemäß einigen Ausführungsformen;
    • 7 zeigt ein beispielhaftes computergestütztes Verfahren zum Analysieren einer Vielzahl von Bereichen, um zu bestimmen, ob Bewegung im Bereich wahrscheinlich ist, gemäß einigen Ausführungsformen;
    • 8 zeigt sequenzielle Maximumbilder für die erste und zweite Hälfte der Roheingangsbilder einer Kamera, um Bewegung für ein Beispiel der Bewegungsnachweistechniken gemäß einigen Ausführungsformen zu veranschaulichen;
    • 9 zeigt eine beispielhafte Übereinstimmungsdichtenkarte für verschiedene Bereiche für das Beispiel der Bewegungsnachweistechniken gemäß einigen Ausführungsformen;
    • 10 zeigt einen beispielhaften durchschnittlichen temporalen Mittelwert für verschiedene Bereiche für das Beispiel Bewegungsnachweistechniken gemäß einigen Ausführungsformen;
    • 11 zeigt eine beispielhafte durchschnittliche Abweichung für verschiedene Bereiche für das Beispiel Bewegungsnachweistechniken gemäß einigen Ausführungsformen;
    • 12 zeigt eine beispielhafte Zusammenfassung der Bewegung für verschiedene Bereiche für das Beispiel Bewegungsnachweistechniken gemäß einigen Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die hierin beschriebenen Techniken betreffen allgemein das Nachweisen von Bewegung in einer Szene während dreidimensionaler (3D) Rekonstruktion der Szene aus zweidimensionalen Bildern. Die Erfinder haben entdeckt und erkannt dass Bildgebungsanwendungen wie Vereinzelungsanwendungen, die Objekte unter Verwendung von 3D-Daten vereinzeln, wie etwa zum Greifen, Verpacken und/oder dergleichen, durch Bewegung beeinflusst werden können. Zum Beispiel können für eine Gegenstandgreifanwendung die 3D-Daten verwendet werden, um die Position eines Objekts zu finden und einen Greifpunkt zu bestimmen, der verwendet wird, um sich der Position zu nähern und zu versuchen, das Objekt zu greifen. Falls es eine Änderung der Position des Objekts in der Szene gibt zwischen dem Beginn der Periode, die Bilder der Szene zur 3D-Rekonstruktion aufnimmt, und dem Zeitpunkt, an dem das Objekt zu greifen versucht wird (z.B. falls ein Gegenstandsschacht mit neuen Objekten gefüllt wird, während die Messung stattfindet), kann der Greifpunkt nicht gültig sein. Falls sich zum Beispiel das spezifische Objekt nicht bewegt hat, oder nicht weit genug bewegt hat, dann kann der Greifpunkt immer noch gültig sein und zu einem erfolgreichen Ergreifen führen. Falls sich das spezifische Objekt jedoch zu weit bewegt hat, oder jetzt von einem anderen Objekt bedeckt ist, kann der Greifpunkt nicht gültig sein. Falls der Greifpunkt nicht gültig ist, dann wird das versuchte Ergreifen wahrscheinlich nicht erfolgreich sein (z.B. kein Ergreifen), der falsche Gegenstand kann ergriffen werden, oder es könnte ein zweifaches Ergreifen geben. Ungültige Greifpunkte können den Durchsatz des Vereinzelungsprozesses stark verringern, z.B. da auf den Greiffehler geprüft werden muss und ein erneutes Ergreifen durchgeführt werden muss, nachdem der Greiffehler behoben wurde. Daher können ungültige Greifpunkte den Durchsatz stark verringern und die Greiffehlerrate erhöhen.
  • Die hierin beschriebenen Techniken können verwendet werden, um Objektbewegung zu erkennen, bevor einem Kunden ein Greifpunkt übermittelt wird. In manchen Ausführungsformen verwenden die Techniken für 3D-Rekonstruktion erhobene Daten, um zu bestimmen, ob es eine Bewegung in der Szene gegeben hat, während die Bilder aufgenommen wurden. Falls Bewegung in der Szene erkannt wird, dann können die Techniken auf die Bestimmung eines Greifpunktes für die Szene verzichten und stattdessen die Daten erneut aufnehmen, um ausreichend bewegungsfreie Daten zu erhalten. Durch das Hebeln von Informationen, die für einen 3D-Rekonstruktionsprozess verwendet und/oder als Teil davon berechnet werden, können die Techniken viel schneller ausgeführt werden als andere zum Nachweis von Bewegung in Bildern verwendete Ansätze. Zum Beispiel können die vorliegenden Techniken in weniger als 2 ms ausgeführt werden, während ein Optischer-Fluss-Ansatz 400 ms oder mehr braucht. Beispielsweise können Optischer-Fluss-Ansätze auf Grund der Berechnung zeitraubend sein, die erforderlich ist, um Muster in einer Szene zu verfolgen (z.B. Kastentexturen wie Buchstaben oder Strichcodes). Beispielsweise erfordern solche Techniken oft das Segmentieren von Objekten und das Verfolgen der Objekte durch Bilder über die Zeit. Die vorliegenden Techniken vermeiden die Notwendigkeit der Durchführung solcher rechenaufwendiger Verarbeitung und können stattdessen Daten hebeln, die als Teil des 3D-Rekosntruktionsprozesses erzeugt wurden.
  • In manchen Ausführungsformen können die Techniken den Nachweis von Bewegung unter Verwendung von 3D-Erkennungstechniken mit strukturiertem Licht umfassen, die ein strukturiertes Lichtmuster auf die Szene projizieren. Die Techniken können Stereosequenzen von Bildern der Szene über die Zeit aufnehmen, während die Szene mit dem strukturierten Lichtmuster beleuchtet wird. Die Techniken können auch Stereobildübereinstimmungen temporaler Bildsequenzen verwenden, durch das Ausnutzen lokaler Übereinstimmungsdichte, die die Anzahl der Übereinstimmungen widerspiegelt, die zwischen Stereobildsequenzen für einen bestimmten Bereich gefunden werden. In manchen Ausführungsformen können Metriken wie temporaler Durchschnitt und/oder temporale Abweichung für jeden Temporalbildpixel berechnet werden. Räumliche Durchschnittswerte können für Bereiche der temporalen Bildsequenzen für den temporalen Durchschnitt und/oder die temporale Abweichung erzeugt werden. Ein Übereinstimmungsdichtenwert kann für jeden Bereich bestimmt werden, wie etwa durch Teilen der Anzahl der gefundenen Übereinstimmungen für den Bereich durch die maximale Anzahl der möglichen Übereinstimmungen in dem Bereich. Ein Qualitätskriterium kann für jeden Bereich berechnet werden, wie etwa durch Verwendung vorher berechneter Werte. Der Bewegungszustand (z.B. Bewegung, wenig Bewegung, keine Bewegung) kann für jeden Bereich unter Verwendung des berechneten Qualitätskriteriums bestimmt werden. Wenn zum Beispiel die Übereinstimmungsdichte niedriger ist als eine Schwelle, die durchschnittliche temporale Abweichung höher ist als eine Schwelle, und der durchschnittliche temporale Abweichungswert geteilt durch den temporalen Abweichungswert höher ist als eine Schwelle, dann kann Bewegung für den Bereich bestimmt werden.
  • In der folgenden Beschreibung werden zahlreiche spezifische Details dargelegt betreffend die Systeme und Verfahren des offenbarten Gegenstands und die Umgebung, in der solche Systeme und Verfahren operieren können, usw., um ein gründliches Verständnis des offenbarten Gegenstands zu ermöglichen. Zusätzlich versteht es sich, dass die unten bereitgestellten Beispiele beispielhaft sind, und dass erwogen wird, dass es andere Systeme und Verfahren gibt, die im Umfang des offenbarten Gegenstands liegen.
  • 1 zeigt eine veranschaulichende Ausführungsform 100 eines Maschinensichtsystems mit einem Projektor 104 und zwei Kameras 106A, 106B (zusammen, Kameras 106), die angeordnet sind, um Bilder eines Objekts oder einer Szene 102 in einer Weise aufzunehmen, die mit der Herstellung von Stereobildübereinstimmung konsistent ist. In manchen Ausführungsformen wird der Projektor 104 eingesetzt, um Bildersequenzen eines Objekts, das mit multiplen Kameras 106 aufgenommen wird, zeitlich zu kodieren. Zum Beispiel kann Projektor 104 ein rotierendes Zufallsmuster auf das Objekt projizieren, und jede Kamera kann eine Bildersequenz umfassend 12-16 Bilder (oder irgendeine andere Anzahl von Bildern) des Objekts aufnehmen. Jedes Bild umfasst einen Satz von Pixeln, die das Bild ausmachen. In manchen Ausführungsformen kann sich das Lichtmuster in horizontaler und/oder vertikaler Richtung verschieben, so dass das Muster über das Objekt oder die Szene rotiert (z.B. ohne dass das Muster selbst im Uhrzeigersinn oder gegen den Uhrzeigersinn rotiert).
  • Jede der Kameras 106 kann einen Bildsensor mit ladungsgekoppelter Vorrichtung (CCD), einen Bildsensor mit komplementärem Metalloxid-Halbleiter (CMOS) oder einen anderen geeigneten Bildsensor umfassen. In manchen Ausführungsformen kann jede der Kameras 106 einen Rollverschluss, globalen Verschluss oder einen anderen geeigneten Verschlusstyp haben. In manchen Ausführungsformen kann jede der Kameras 106 eine GigE-Vision-Schnittstelle, eine Universal-Serial-Bus- (USB-) Schnittstelle, eine koaxiale Schnittstelle, eine FIREWIRE-Schnittstelle oder eine andere geeignete Schnittstelle haben. In manchen Ausführungsformen kann jede der Kameras 106 eine oder mehr intelligente Funktionen haben. In manchen Ausführungsformen kann jede der Kameras 106 ein C-Fassung-Objektiv, ein F-Fassung-Objektiv, ein S-Fassung-Objektiv oder einen anderen geeigneten Objektivtyp haben. In manchen Ausführungsformen kann jede der beiden Kameras 106 einen an einen Projektor, z.B. Projektor 104, angepassten Spektralfilter haben, um Umgebungslicht außerhalb des Spektralbereichs des Projektors zu blockieren.
  • 2 zeigt ein beispielhaftes Paar von Stereobildern 200 und 250, die einem einer Serie projizierter Lichtmuster entsprechen. Zum Beispiel kann der Projektor 104 ein Lichtmuster auf das Objekt projizieren, und die Kameras 106 können die Stereobilder 200 und 250 aufnehmen. In manchen Ausführungsformen kann es, um dreidimensionale Daten aus Stereobildsequenzen von zwei Kameras zu rekonstruieren, notwendig sein, übereinstimmende Pixelpaare, wie etwa Pixel 202 und 252, zwischen den Bildern jeder Kamera zu finden.
  • 3 zeigt ein veranschaulichendes Paar von Stereobildern 300 und 350 (und assoziierte Pixel) mit übereinstimmenden Pixeln 302 und 352, die denselben Teil des in den zwei Bildern 300 und 350 projizierten Musters darstellen. Zum Beispiel kann, wie oben diskutiert, der Projektor 104 ein Lichtmuster auf die Szene projizieren, und die Kameras 106 können die Stereobilder 300 und 350 aufnehmen. In manchen Ausführungsformen kann es, um dreidimensionale Daten aus Stereobildsequenzen von zwei Kameras zu rekonstruieren, notwendig sein, übereinstimmende Pixelpaare, wie etwa Pixel 302 und 352, zwischen den Bildern jeder Kamera zu finden. In manchen Ausführungsformen werden über die Zeit aufgenommene Sequenzen von Stereobildern verwendet, um Übereinstimmungen zu identifizieren. Aus dem einzelnen in 3 gezeigten Paar von Stereobildern folgend zeigt 4, wenn der Projektor 104 über die Zeit nacheinander verschiedene Lichtmuster auf die Szene projiziert, die Kameras 106A, 106B können die stereotemporalen Bildsequenzen 400 und 450 mit übereinstimmenden Pixeln 402 und 452 aufnehmen, die einen Fingerabdruck der Intensität des Pixels über die Zeit erfassen. Jede der Kameras 106A, 106B kann eine Sequenz von Bildern 1, 2, 3, 4, ... N über die Zeit aufnehmen. Temporale Pixel 402 und 452 basieren auf den Pixeln (i,j) und (i',j') über die stereotemporalen Bildsequenzen 400 bzw. 450. Über die Zeit umfasst jeder temporale Pixel eine geordnete Liste von Grauwerten: G_i_j_t, wobei t die diskreten Zeitinstanzen 1, 2, 3, 4, ... N angibt.
  • Während zwei Kameras in 1 gezeigt sind, können in manchen Ausführungsformen Systeme mit nur einer Kamera eingesetzt werden. Zum Beispiel kann für ein Einzelkamera-Szenario ein Projektor konfiguriert sein, eine bekannte Lichtstruktur zu projizieren (z.B. so dass der Projektor als eine inverse Kamera verwendet wird). Eine der temporalen Bildsequenzen kann von der Kamera aufgenommen werden, und die andere temporale Bildsequenz (z.B. verwendet für die Bestimmung von Übereinstimmungen und dergleichen, wie hierin beschrieben) kann bestimmt werden basierend auf der projizierten Musterstruktur oder Musterstruktursequenz. Zum Beispiel können Übereinstimmungen zwischen aufgenommenen Bildsequenzen von der Einzelkamera zur statischen gespeicherten Mustersequenz, die vom Projektor projiziert wird, bestimmt werden. Während daher manche der hierin diskutierten Beispiele sich auf die Verwendung multipler Kameras beziehen, dient dies nur veranschaulichenden Zwecken und es versteht sich, dass die hierin beschriebenen Techniken mit Systemen mit nur einer Kamera oder mehr als zwei Kameras verwendet werden können.
  • In manchen Ausführungsformen kann ein normierter Kreuzkorrelationsalgorithmus unter Verwendung der temporalen Bilder oder nur eines Teilsatzes der temporalen Bilder auf die zwei Bildsequenzen angewendet werden, um die übereinstimmenden Pixelpaare aus jedem Bild (z.B. die ähnliche temporale Grauwerte haben) zu bestimmen. Zum Beispiel können für jeden Pixel der ersten Kamera die potentiell übereinstimmenden Pixel durch Durchführung einer normierten Kreuzkorrelation mit allen machbaren Kandidaten entlang der epipolaren Linie in der zweiten Kamera erfasst werden, mit einer Schwelle, um Abweichung auf Grund der Kalibrierung der Kameras zu kompensieren, z.B. +/- einem Pixel oder einem anderen geeigneten Wert.
  • In manchen Aspekten führen die beschriebenen Systeme und Verfahren eine Übereinstimmungszuweisung zwischen Bildpunkten in einem Teilsatz oder allen gepaarten Bildern aus den Stereobildsequenzen in einer Vielzahl von Schritten aus. Als ein erster beispielhafter Schritt wird eine anfängliche Übereinstimmungssuche durchgeführt, um grobe Schätzungen potentieller Übereinstimmungen zwischen Bildpunkten in einem Teilsatz oder allen gepaarten Bildern aus den Stereobildsequenzen abzuleiten. Die anfängliche Übereinstimmungssuche kann unter Verwendung temporaler Pixelwerte durchgeführt werden und ist daher bis auf die Pixelebene genau. Als ein zweiter beispielhafter Schritt wird ein Übereinstimmungsverfeinerungsschritt durchgeführt, um genauere Übereinstimmungen zwischen Bildpunkten in einem Teilsatz oder allen gepaarten Bildern aus den Stereobildsequenzen zu orten, basierend auf den aus dem ersten Schritt abgeleiteten potentiellen Übereinstimmungen. Die Übereinstimmungsverfeinerung kann durch Interpolieren von Grauwerten in einem Teilsatz oder allen gepaarten Bildern aus den Stereobildsequenzen durchgeführt werden, die nahe den anfänglichen, in der anfänglichen Übereinstimmungssuche abgeleiteten Bildpunkten sind. Die Übereinstimmungsverfeinerung kann durch Verwendung von Subpixelwerten durchgeführt werden und ist daher genauer als die Analyse im ersten Schritt auf Pixelebene. In einem oder beiden Schritten kann der oben diskutierte normierte Kreuzkorrelationsalgorithmus angewendet werden, um die potentiellen und/oder genauen Übereinstimmungen zwischen Bildpunkten in den zwei analysierten Bildern abzuleiten. Alle gefundenen und bestimmten Stereoübereinstimmungen (z.B. die eine bestimmte Metrik übertrafen, z.B. eine Ähnlichkeitsschwelle) können trianguliert werden, um einen 3D-Punkt pro Übereinstimmung zu berechnen, wobei der ganze Satz von Punkten als 3D-Daten bezeichnet werden kann. Beschreibung diesbezüglich, einschließlich weiterer Einzelheiten, kann in der in Miteigentum befindlichen PCT-Veröffentlichung Nr. WO2017220598A1 gefunden werden, deren Gesamtheit hierin mittels Verweis eingegliedert ist.
  • Wie hierin beschrieben, werden in manchen Ausführungsformen zwei Kameras verwendet, um Stereobildsequenzen des Objekts aufzunehmen, wobei nach der Bildaufnahme jede Bildsequenz 12-16 Bilder des Objekts umfasst. Um die Übereinstimmungszuweisung auf den Stereobildsequenzen von zwei Kameras durchzuführen, können die zwei oben beschriebenen Schritte durchgeführt werden. Für den ersten Schritt kann die anfängliche Übereinstimmungssuche durchgeführt werden, um jeden Bildpunkt der ersten Bildsequenz mit einem übereinstimmenden Bildpunkt der zweiten Bildsequenz zu korrelieren, um die Bildpunkte mit der höchsten Korrelation zu finden. In einem Beispiel wo jede Bildsequenz 16 Bilder umfasst, wird die Korrelation durch Verwendung der 16 temporalen Grauwerte jedes Bildpunkts als dem Korrelations-„Fenster“ und Korrelieren geeigneter Paare von Bildpunkten von Kamera 1 und Kamera 2 durchgeführt. Am Ende des ersten Schritts liefern die abgeleiteten groben Schätzungen potentielle Kandidaten für potentielle Übereinstimmungen, die bis auf Pixelebene genau sind, da die Suche unter Verwendung der Pixelwerte durchgeführt wurde. Für den zweiten Schritt kann die Übereinstimmungsverfeinerung durchgeführt werden, um aus den potentiellen Übereinstimmungen genauere Übereinstimmungen mit Subpixel-Genauigkeit abzuleiten. In dem Beispiel, wo jede Bildsequenz 16 Bilder umfasst, interpoliert der Übereinstimmungsverfeinerungsprozess, basierend auf der Grauwertsequenz für jeden Pixel über die Bilder in der ersten Bildsequenz, Grauwerte in einem Teilsatz oder allen der gepaarten Bilder aus der zweiten Bildsequenz, die nahe dem im ersten Schritt abgeleiteten anfänglichen Bildpunkt sind. In diesem Beispiel kann die Durchführung der Übereinstimmungsverfeinerung das 16fache Interpolieren der Grauwerte aus der zweiten Bildsequenz an einer gegebenen Subpixel-Position umfassen. Die Korrelation kann auf dem zeitlichen Fenster des Bildpunkts von Kamera 1 und dem interpolierten zeitlichen Fenster bei einer Subpixel-Position von Kamera 2 durchgeführt werden.
  • Die hierin beschriebenen Techniken analysieren die Veränderung über Zeit in Bereichen aufgenommener Bildsequenzen, die zur Erzeugung von 3D-Daten einer Szene verwendet werden. Die Erfinder haben entdeckt und erkannt, dass verschiedene Metriken verwendet werden können, um zu bestimmen und/oder abzuschätzen, ob Bewegung in einer Szene vorliegt, wie etwa zeitliche Modulation (z.B. die Veränderung der Intensität über die Zeit, wie etwa wegen eines rotierenden Musters, das auf die Szene projiziert wird) und/oder Übereinstimmungsdichte (z.B. die Anzahl von gefundenen Übereinstimmungen zwischen zwei Stereobildsequenzen während einer Übereinstimmungssuche, verglichen mit der Gesamtzahl der möglichen Übereinstimmungen). Zum Beispiel kann die zeitliche Modulation eine Angabe des Musterkontrasts über die Zeit an einer bestimmten Position sein, wie etwa durch Darstellung der maximalen und minimalen Intensität über die Zeit, was Bewegung widerspiegeln kann, wenn die zeitliche Modulation niedrig ist. Als ein weiteres Beispiel kann eine Übereinstimmungssuche ein Anzeichen für Bewegung sein, weil es einer Übereinstimmungssuche misslingen kann, übereinstimmende Pixel zu finden, an denen Bewegung vorliegt. In manchen Ausführungsformen vergleichen die Techniken die zeitliche Modulation in Raumbereichen der aufgenommenen Bildsequenzen (z.B. kleinere Bereiche als die Größe der aufgenommenen Gesamtbilder) mit der erreichten Übereinstimmungsdichte in jedem dieser Bereiche, um zu bestimmen, ob es wahrscheinlich Bewegung in der Szene gibt. Wenn zum Beispiel ein statisches Objekt vorliegt und die temporale Sequenz gut moduliert ist, werden die Bildsequenzen wahrscheinlich eine hohe Übereinstimmungsdichte aufweisen und daher keine Bewegung in der Szene anzeigen. Wenn das Objekt sich jedoch bewegt, kann die temporale Sequenz immer noch gut moduliert sein, aber die Übereinstimmungsdichte ist wahrscheinlich niedrig.
  • In manchen Ausführungsformen verwenden die hierin beschriebenen Techniken temporale Pixelbilder, um zu bestimmen, ob es Bewegung in einer Szene gibt. Die Techniken können das Bestimmen von einem oder mehr abgeleiteten Werten für die temporalen Pixel (z.B. einem temporalen Durchschnitt, einem temporalen RMSD, usw.), Übereinstimmungsdaten oder beiden, und Bestimmen, basierend auf der/den temporalen Metrik(en) und den Übereinstimmungsdaten, ob es Bewegung in einer Szene gibt, umfassen. 5 zeigt ein beispielhaftes computergestütztes Verfahren 500 zum Bestimmen, ob Bewegung in einer Szene wahrscheinlich ist, gemäß einigen Ausführungsformen. In Schritt 502 empfängt die Rechenvorrichtung erste und zweite temporale Sequenzen von Bildern einer Szene oder greift darauf zu (z.B. aus dem Speicher und/oder örtlichen oder Remote-Speicher oder geteiltem Speicher). In Schritt 504 erzeugt die Rechenvorrichtung erste und zweite temporale Pixelbilder für jede der ersten bzw. zweiten Sequenzen. In Schritt 506 bestimmt die Rechenvorrichtung abgeleitete Werte für die ersten und zweiten temporalen Pixelbilder. In Schritt 508 bestimmt die Rechenvorrichtung Übereinstimmungsdaten, die einen Satz von Übereinstimmungen zwischen Bildpunkten der ersten und zweiten temporalen Pixelbilder anzeigen. In Schritt 510 bestimmt die Rechenvorrichtung, basierend auf den abgeleiteten Daten und den Übereinstimmungsdaten, ob es wahrscheinlich ist, dass Bewegung in der Szene vorliegt.
  • Mit Bezug auf Schritt 502 empfängt die Rechenvorrichtung temporale Sequenzen von Bildern einer Szene über die Zeit. Jedes Bild in der temporalen Sequenz von Bildern kann einen assoziierten Bereich eines auf die Szene projizierten Lichtmusters aufnehmen, wie etwa eines rotierenden Musters wie im Zusammenhang mit 1-2 beschrieben. Jedes Bild in der ersten temporalen Sequenz von Bildern kann aus einer ersten Perspektive der Szene sein (z.B. wie im Zusammenhang mit Kamera 106A veranschaulicht) und jedes Bild in der zweiten temporalen Sequenz von Bildern kann aus einer zweiten Perspektive der Szene sein (z.B. wie im Zusammenhang mit Kamera 106B veranschaulicht).
  • Mit Bezug auf Schritt 504 erzeugt die Rechnervorrichtung die temporalen Pixelbilder. Wie im Zusammenhang mit 4 diskutiert, umfasst jedes temporale Pixelbild einen Satz temporaler Pixel an einer assoziierten Position (z.B. Pixel) über die ursprüngliche Bildsequenz. Zum Beispiel umfasst das erste temporale Pixelbild einen Satz temporaler Pixel, wobei jeder temporale Pixel einen Satz von Pixelwerten an einem assoziierten Pixel aus jedem Bild der ersten Sequenz temporaler Bilder umfasst. Ähnlich umfasst zum Beispiel jeder temporale Pixel im zweiten temporalen Pixelbild einen Satz von Pixelwerten an einem assoziierten Pixel aus jedem Bild der zweiten Sequenz temporaler Bilder.
  • In manchen Ausführungsformen kann die Rechenvorrichtung die temporalen Pixelbilder verarbeiten, um verschiedene Daten zu generieren. Zum Beispiel kann eine während Schritt 502 aufgenommene Stereobildsequenz durch Normalisieren der Daten und Durchführen einer zeitlichen Korrelation verarbeitet werden, um die 3D-Daten zu konstruieren. Die Rechenvorrichtung kann eines oder mehr von einer Übereinstimmungskarte, einer Durchschnittskarte und einer Abweichungskarte (z.B. einer RMSD-Karte) erzeugen. Die Übereinstimmungskarte kann die Übereinstimmungen zwischen temporalen Pixeln in einem temporalen Pixelbild zu temporalen Pixeln in einem anderen temporalen Pixelbild angeben. Die Durchschnittskarte kann für ein temporales Pixelbild angeben, wie sehr sich die Intensität für jeden temporalen Pixel verändert. Eine RMSD-Karte kann für ein temporales Pixelbild die RMSD der Intensität für jeden temporalen Pixel angeben.
  • In Schritt 506 bestimmt die Rechenvorrichtung einen oder mehr abgeleitete Werte basierend auf Werten der temporalen Pixel im ersten temporalen Pixelbild, dem zweiten temporalen Pixelbild, oder beiden. Die abgeleiteten Werte können zum Beispiel unter Verwendung von in Schritt 504 bestimmter Daten, wie etwa einer Übereinstimmungskarte, einer Durchschnittskarte und/oder einer RMSD-Karte, bestimmt werden. Die abgeleiteten Werte können zum Beispiel einen temporalen Durchschnitt, der einen Durchschnitt der Intensitätswerte des temporalen Pixels über die Zeit angibt, eine temporale Abweichung (z.B. eine Wurzel der mittleren quadratischen temporalen Abweichung (RMSD)), die eine Abweichung von Werten des temporalen Pixels angibt, oder beides umfassen. Zum Beispiel kann die temporale Abweichung eine Angabe des Musterkontrasts über die Zeit sein (z.B. eine Angabe der maximalen und minimalen Intensität für einen Pixel über die Zeit). Die abgeleiteten Werte können für jeden der temporalen Pixel und/oder für einen Satz der temporalen Pixel im temporalen Pixelbild bestimmt werden.
  • 6 zeigt ein beispielhaftes computergestütztes Verfahren 600 zum Bestimmen von Durchschnitts- und Abweichungsdaten für erste und zweite temporale Pixelbilder, gemäß einigen Ausführungsformen. In Schritt 602 bestimmt die Rechenvorrichtung einen ersten Durchschnitt temporaler Pixel des ersten temporalen Pixelbildes. In Schritt 604 bestimmt die Rechenvorrichtung optional einen zweiten Durchschnitt temporaler Pixel des zweiten temporalen Pixelbildes. In Schritt 606 bestimmt die Rechenvorrichtung erste Abweichungsdaten temporaler Pixel des ersten temporalen Pixelbildes. In Schritt 608 bestimmt die Rechenvorrichtung optional zweite Abweichungsdaten temporaler Pixel des zweiten temporalen Pixelbildes.
  • Wie in 6 gezeigt, kann die Rechenvorrichtung konfiguriert sein, abgeleitete Werte basierend nur auf einem ersten temporalen Pixelbild (z.B. Schritte 602 und 606) zu bestimmen und muss nicht abgeleitete Werte für das zweite temporale Pixelbild bestimmen (z.B. Schritte 604 und 608). Zum Beispiel kann eine Durchschnittskarte und/oder Abweichungskarte für jede Kamera individuell erzeugt werden. In manchen Ausführungsformen können die Techniken konfiguriert sein, nur die mit einer Kamera assoziierte Durchschnittskarte und/oder Abweichungskarte zu verwenden. In einem solchen Beispiel kann die temporale Bildsequenz aus der zweiten Kamera nur verwendet werden, um die übereinstimmenden Pixel und damit die Übereinstimmungsdichte zu bestimmen, wie hierin diskutiert. In manchen Ausführungsformen können die Techniken eine Kombination für beide Kameras erzeugter abgeleiteter Werte verwenden (z.B. eine Kombination der Durchschnittskarte und/oder Abweichungskarte von jeder Kamera).
  • Mit Bezug auf Schritte 508 und 510 zeigt 7 ein beispielhaftes computergestütztes Verfahren 700 zum Analysieren einer Vielzahl von Bereichen, um zu bestimmen, ob Bewegung im Bereich wahrscheinlich ist, gemäß einigen Ausführungsformen. In Schritt 702 bestimmt die Rechenvorrichtung eine Vielzahl von Bereichen. In Schritt 704 wählt die Rechenvorrichtung einen Bereich aus der Vielzahl von Bereichen aus. In Schritt 706 bestimmt die Rechenvorrichtung Durchschnittsdaten basierend auf den mit dem ausgewählten Bereich assoziierten temporalen Durchschnittsdaten. In Schritt 708 bestimmt die Rechenvorrichtung eine Übereinstimmungsanzeige basierend auf den mit dem ausgewählten Bereich assoziierten Übereinstimmungen. In Schritt 710 bestimmt die Rechenvorrichtung, basierend auf den Durchschnittsdaten und der Übereinstimmungsanzeige, ob es wahrscheinlich ist, dass Bewegung in dem Bereich vorliegt. In Schritt 712 bestimmt die Rechenvorrichtung, ob es mehr zu analysierende Bereiche gibt. Falls ja, kehrt das Verfahren zu Schritt 704 zurück. Falls nein, schreitet das Verfahren zu Schritt 714 voran und die Rechenvorrichtung bestimmt, ob wahrscheinlich Bewegung in der Szene vorliegt.
  • In Schritt 702 bestimmt die Rechenvorrichtung eine Vielzahl von Bereichen. Zum Beispiel kann die Rechenvorrichtung die ursprüngliche Größe der Bilder in den Bildsequenzen in einen Satz quadratischer Bereiche, rechteckiger Bereiche und/oder anderer für die Analyse von Bewegung nützlicher Bereiche aufbrechen. In manchen Ausführungsformen brechen die Techniken die ursprünglichen Bilder in einen Satz von quadratischen N-mal-N-Bildern auf (z.B. wobei N 30, 40, 50, 80, usw. Pixel ist). Die Techniken können die berechnete temporale Information, die mit jedem Bereich assoziiert ist, analysieren. Zum Beispiel können die Techniken die mit jedem Bereich assoziierten abgeleiteten Werte und/oder Übereinstimmungsdaten analysieren (da solche Daten basierend auf dem temporalen Pixelbild spezifiziert werden können). Wie in Schritten 704 und 712 gezeigt, kann die Rechenvorrichtung durch jeden Bereich iterieren, um den Bereich wie hierin beschrieben zu analysieren.
  • Mit Bezug auf Schritt 706 bestimmt die Rechenvorrichtung räumliche Durchschnittsdaten über den Bereich, basierend auf mit dem ausgewählten Bereich assoziierten temporalen Durchschnittsdaten. Die Techniken können das Erzeugen einer oder mehr Informationskarten für jeden der Bereich in einem temporalen Pixelbild umfassen. In manchen Ausführungsformen kann die Rechenvorrichtung den räumlichen Durchschnitt der temporalen Durchschnittswerte (z.B. mittels Mittelwerten aus der Mittelwertkarte) jedes der temporalen Pixel in dem Bereich bestimmen, die die Rechenvorrichtung als repräsentativ für das durchschnittliche Mittel des Bereichs speichern kann. Der räumliche Durchschnitt der temporalen Durchschnittswerte kann zum Beispiel anzeigen, wieviel Veränderung der Intensität über die Zeit es in dem Bereich gibt. In manchen Ausführungsformen kann die Rechenvorrichtung den räumlichen Durchschnitt der temporalen Abweichungswerte (z.B. mittels RMSD-Werten aus der RMSD-Karte) jedes der temporalen Pixel in dem Bereich bestimmen, die die Rechenvorrichtung als repräsentativ für die durchschnittliche Abweichung des Bereichs speichern kann. Die durchschnittliche Abweichung kann als eine Konfidenzverbesserung für die Bestimmung verwendet werden, da zum Beispiel die durchschnittliche Abweichung einen Hinweis auf Veränderungen in der Helligkeit geben kann. Zum Beispiel kann der räumliche Abweichungsdurchschnitt es vermeiden, dass ein Niedriglicht- und/oder dunkler Teil der Szene das System unrichtig veranlasst, zu bestimmen, dass es Bewegung in einem bestimmten Bereich oder Bereichen gibt.
  • In Schritt 708 bestimmt die Rechenvorrichtung eine Übereinstimmungsanzeige basierend auf den mit dem ausgewählten Bereich assoziierten Übereinstimmungen. In manchen Ausführungsformen können die Techniken die Übereinstimmungsanzeige basierend auf der Anzahl der Übereinstimmungen für den Bereich bestimmen. In manchen Ausführungsformen können die Techniken eine Übereinstimmungsdichte bestimmen durch Teilen der Anzahl der in dem Bereich gefundenen Übereinstimmungen durch die Gesamtzahl möglicher Übereinstimmungen in dem Bereich. Zum Beispiel kann die Anzahl an Übereinstimmungen durch die Zahl der temporalen Pixel in der Region (z.B. N x N) geteilt werden. In manchen Ausführungsformen kann vor der Berechnung der Übereinstimmungsdichte eine Gewichtung an die Übereinstimmungen angelegt werden. Zum Beispiel können die Techniken, um nur Übereinstimmungen höherer Qualität zu berücksichtigen, eine Korrelationspunktzahl für jede der Anzahl von in dem Bereich gefundenen Übereinstimmungen bestimmen, und nur die Übereinstimmungen mit einer Korrelationspunktzahl berücksichtigen, die eine Korrelationsschwelle überschreiten, wie etwa 0,85, 0,90 oder 0,95. Die Korrelationspunktzahl kann bestimmt werden durch Verwendung der hierin diskutierten normalisierten Kreuzkorrelationen der verwendeten zeitlichen Fenster, die einen Wert im Intervall von [-1,0, 1,0] haben können.
  • In Schritt 710 bestimmt die Rechenvorrichtung, basierend auf den in Schritt 706 bestimmten Durchschnittsdaten und der in Schritt 708 bestimmten Übereinstimmungsanzeige, ob es wahrscheinlich ist, dass es in dem Bereich Bewegung gibt. In manchen Ausführungsformen vergleicht die Rechenvorrichtung die Durchschnittsdaten und/oder die Übereinstimmungsanzeige mit einer Metrik. Zum Beispiel kann die Rechenvorrichtung bestimmen, ob der Durchschnitt eine erste Metrik erfüllt, bestimmen, ob die Übereinstimmungsanzeige eine zweite Metrik erfüllt, und basierend auf den Vergleichen eine Bewegungsanzeige für den Bereich erzeugen. In manchen Ausführungsformen können die Techniken bestimmen, ob die Übereinstimmungsdichte geringer ist als eine Übereinstimmungsdichteschwelle (z.B. 0,20, 0,25, 0,30, usw.), ob die Durchschnittsabweichung (z.B. durchschnittlicher RMSD) größer ist als eine Durchschnittsabweichungsschwelle (z.B. 2,5, 3, 3,5, usw.) und/oder ob die Durchschnittsabweichung geteilt durch das durchschnittliche Mittel größer ist als die relative Durchschnittsabweichungsschwelle (z.B. 0,190, 0,195, 0,196, 0,197, 0,200, usw.), um zu bestimmen, ob der Bereich als potenziell eine Bewegung beinhaltend markiert wird.
  • Mit Bezug auf Schritt 714 analysiert die Rechenvorrichtung die Bereichsanzeigen für jeden der Bereiche, um zu bestimmen, ob es Bewegung in der Szene gibt. In manchen Ausführungsformen können die Techniken die Anzahl benachbarter Bereiche mit Anzeigen für Bewegung analysieren. Zum Beispiel kann die Rechenvorrichtung verknüpfte Bereiche, die Bewegung anzeigen, summieren und/oder ihre Größe bestimmen, und das Ergebnis als Indikator für Bewegung in der Gesamtszene verwenden. Zum Beispiel kann die Rechenvorrichtung bestimmen, dass falls die Anzahl der Bereiche in einem Cluster verknüpfter Bereiche über einer Schwelle liegt (z.B. 10 Bereiche), dann die Szene wahrscheinlich Bewegung enthält. Wie hierin beschrieben kann, falls die Techniken eine ausreichende Menge an potenzieller Bewegung in der Szene identifizieren, die Information stromabwärts verwendet werden, wie etwa um zu vermeiden, dass ein Greifort bereitgestellt wird, der auf Grund von Bewegung des Objekts ungültig ist.
  • In manchen Ausführungsformen können die Techniken eine Maske verwenden, um einen oder mehr Bereiche der Szene (z.B. der temporalen Pixelbilder) zu ignorieren. Zum Beispiel kann eine Maske verwendet werden, um Gebiete im Sichtfeld der Kamera zu ignorieren, die für die Anwendung nicht relevant sein mögen (z.B. wo Bewegung ohne Verursachung eines Fehlers erfolgen kann). Die Maske kann ein oder mehr Gebiete der aufgenommenen Bilder als zur Testung mit den hierin beschriebenen Techniken zu ignorieren ausweisen. Zum Beispiel können die Techniken konfiguriert werden, um ein oder mehr Gebiete mit durch die Bewegung eines Roboters verursachten Bewegungen zu ignorieren, oder Bereiche eines Fließbandes mit beweglichen Teilen zu ignorieren, die für die Anwendung nicht von Interesse sind (z.B. im Hintergrund).
  • 8-11 beispielhafte Bilder verschiedener Aspekte der hierin beschriebenen Techniken. 8 zeigt die sequenziellen Maximumbilder 802 und 804, die die pixelweisen Maxima der ersten bzw. zweiten Hälfte der sechzehn Roheingangsbilder einer Kamera sind, um Bewegung für ein Beispiel der Techniken gemäß manchen Ausführungsformen zu veranschaulichen. Während die Rohbilder aufgenommen wurden, wurde ein Zufallsmuster auf die Szene projiziert und über die Szene bewegt, wie hierin beschrieben. Die Gebiete 806A/806B, 808A/808B und 810A/810B zeigen Beispiele von Bewegung in der zwischen den Maximumbildern 802 und 804 aufgenommenen Szene. In diesem Beispiel bewegt sich die in Maximumbild 802 gezeigte Hülle 812 in Maximumbild 804 in der Szene nach unten.
  • 9 zeigt eine beispielhafte Übereinstimmungsdichtekarte 900 für verschiedene Bereiche für das Beispiel der Techniken, gemäß manchen Ausführungsformen. Die Regionen in diesem Bereich sind 40x40 Pixel. Für dieses Beispiel wird für jeden Bereich die Anzahl gültiger Übereinstimmungen, deren Korrelationspunktzahl über einer Schwelle ist, durch die Größe des Bereichs (1600) geteilt. In diesem Beispiel ist, je heller ein Gebiet oder Bereich ist, die Übereinstimmungsdichte desto höher. In schwarzen Gebieten gibt es keine Übereinstimmungen. In voll weißen Bereichen gibt es alle Übereinstimmungen wurden gefunden.
  • 10 zeigt eine beispielhafte Karte 1000 durchschnittlicher temporaler Mittel für verschiedene Bereiche von 40×40 Pixeln für das Beispiel der Techniken, gemäß manchen Ausführungsformen. Die Mittelkarte 1000 zeigt den räumlichen Durchschnitt der temporalen Mittel der temporalen Pixel in den verschiedenen Bereichen.
  • 11 zeigt eine beispielhafte Durchschnitts-RMSD-Karte 1100 für verschiedene Bereiche von 40×40 Pixeln für das Beispiel der Techniken, gemäß manchen Ausführungsformen. Die Durchschnitts-RMSD-Karte 1100 zeigt den räumlichen Durchschnitt der temporalen RMSD-Werte der temporalen Pixel in den verschiedenen Bereichen.
  • 12 zeigt eine beispielhafte Bewegungskarte 1200, die Bewegungsgebiete für verschiedenen Bereiche von 40×40 Pixeln für das Beispiel der Techniken zeigt, gemäß manchen Ausführungsformen. Die Bewegungskarte 1200 hebt Bereiche im Bild hervor, wo potenzielle Bewegung detektiert wurde, wie etwa Bereiche 1202 und 1204. Wie hierin beschrieben können die Bereiche mit Bewegung Bereiche mit gutem Bildkontrast / gutem Musterkontrast, aber wenig Übereinstimmungspunkten und daher einer niedrigen Übereinstimmungsdichte sein. Durch die graphische Darstellung von Bewegungsbereichen mittels der Bewegungskarte 1200 kann die Bewegungskarte 1200 die Größe der verknüpften Bewegungsbereiche visualisieren. Die Techniken können die Anzahl verknüpfter Bewegungskandidatenbereiche summieren, und falls die Anzahl über einer Schwelle ist, anzeigen, dass das Bild Bewegung hat.
  • Während die hierin offenbarten Techniken im Zusammenhang mit Stereoansätzen diskutiert wurden (z.B. zeitliche Stereoansätze wie etwa Sequenzaufnahme), sind die Techniken nicht darauf beschränkt. Zum Beispiel können die Techniken für Einzelbildansätze verwendet werden (z.B. aktive & passive Techniken).
  • Techniken, die gemäß den hierin beschriebenen Prinzipien operieren, können in jeglicher geeigneten Weise implementiert werden. Die Verarbeitungs- und Entscheidungsblöcke der obigen Flussdiagramme stellen Schritte und Handlungen dar, die von Algorithmen umfasst sein können, die diese verschiedenen Prozesse ausführen. Von diesen Prozessen abgeleitete Algorithmen können als Software implementiert werden, die in die Operation eines oder mehr Ein- oder Mehrzweckprozessoren integriert ist und sie steuert, können als funktionell äquivalente Schaltkreise wie etwa digitale Signalverarbeitungs- (DSP-) Schaltkreise oder ein anwendungsspezifischer integrierter Schaltkreis (ASIC) implementiert sein, oder können auf jegliche andere geeignete Weise implementiert sein. Es versteht sich, dass die hierin umfassten Flussdiagramme nicht die Syntax oder Operation irgendeines bestimmten Schaltkreises oder irgendeiner bestimmten Programmiersprache oder Typs von Programmiersprache abbilden. Stattdessen veranschaulichen die Flussdiagramme die funktionale Information, die ein Fachmann verwenden kann, um Schaltkreise herzustellen oder Computersoftwarealgorithmen zu implementieren, um die Verarbeitung eines bestimmten Apparats durchzuführen, der die hierin beschriebenen Typen von Techniken ausführt. Es versteht sich auch, dass, falls nicht hierin anders angegeben, die in jedem Flussdiagramm beschriebene bestimmte Sequenz von Schritten und/oder Handlungen nur veranschaulichend ist für die Algorithmen, die implementiert werden können, und in Implementierungen und Ausführungsformen der hierin beschriebenen Prinzipien variiert werden kann.
  • Dementsprechend können in manchen Ausführungsformen die hierin beschriebenen Techniken in als Software implementierten computerausführbaren Anweisungen verkörpert sein, einschließlich Anwendungssoftware, Systemsoftware, Firmware, Middleware, eingebetteten Code oder jeglichen anderen Typ von Computercode. Solche computerausführbaren Anweisungen können unter Verwendung jeglicher einer Anzahl geeigneter Programmiersprachen und/oder Programmier- oder Scriptingwerkzeuge geschrieben werden, und können auch als ausführbarer Maschinensprachencode oder intermediärer Code kompiliert werden, der auf einem Rahmen oder einer virtuellen Maschine ausgeführt wird.
  • Wenn hierin beschriebene Techniken als computerausführbare Anweisungen verkörpert sind, können diese computerausführbaren Anweisungen auf jegliche geeignete Weise implementiert sein, einschließlich als eine Anzahl von funktionellen Einrichtungen, deren jede eine oder mehr Operationen bereitstellt, um die Ausführung von gemäß diesen Techniken operierenden Algorithmen zu vollenden. Eine „funktionelle Einrichtung“, wie auch immer verkörpert, ist eine strukturelle Komponente eines Computersystems, die, wenn integriert in und ausgeführt durch einen oder mehr Computer, den einen oder mehr Computer veranlasst, eine spezifische operationale Rolle auszuführen. Eine funktionelle Einrichtung kann ein Teil eines oder ein ganzes Softwareelement sein. Zum Beispiel kann eine funktionelle Einrichtung als eine Funktion eines Prozesses oder als ein diskreter Prozess oder als jegliche andere geeignete Verarbeitungseinheit implementiert sein. Wenn hierin beschriebene Techniken als multiple funktionelle Einrichtungen implementiert werden, kann jede funktionelle Einrichtung auf ihre eigene Weise implementiert sein; es müssen nicht alle auf die gleiche Weise implementiert sein. Zusätzlich können diese funktionellen Einrichtungen parallel und/oder seriell ausgeführt werden, wie angemessen, und können unter Verwendung eines geteilten Speichers auf dem/den Computer(n), auf denen sie ausgeführt werden, unter Verwendung eines Nachrichtenübertragungsprotokolls, oder auf jegliche andere geeignete Weise Informationen untereinander austauschen.
  • Allgemein umfassen funktionelle Einrichtungen Routinen, Programme, Objekte, Komponenten, Datenstrukturen, usw., die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Typischerweise kann die Funktionalität der funktionellen Einrichtungen wie gewünscht in den Systemen, in denen sie operieren, kombiniert und verteilt werden. In manchen Implementierungen können die eine oder mehr funktionellen Einrichtungen, die Techniken hierin ausführen, zusammen ein komplettes Softwarepaket bilden. Diese funktionellen Einrichtungen können, in alternativen Ausführungsformen, angepasst sein, um mit anderen, nicht verwandten funktionellen Einrichtungen und/oder Prozessen zu wechselwirken, um eine Softwareprogrammanwendung zu implementieren.
  • Manche beispielhaften funktionellen Einrichtungen zum Ausführen von einer oder mehr Aufgaben sind hierin beschrieben worden. Es versteht sich jedoch, dass die beschriebenen funktionellen Einrichtungen und Aufteilung der Aufgaben nur veranschaulichend ist für den Typ funktioneller Einrichtungen, die die beispielhaften hierin beschriebenen Techniken implementieren können, und dass Ausführungsformen nicht darauf beschränkt sind, in irgendeiner bestimmten Anzahl, Aufteilung oder Typ funktioneller Aktivitäten implementiert zu werden. In manchen Implementierungen kann jede Funktionalität in einer einzigen funktionellen Einrichtung implementiert sein. Es versteht sich auch, dass in manchen Implementierungen manche der hierin beschriebenen funktionellen Einrichtungen zusammen mit oder getrennt von anderen implementiert sein können (d.h. als eine einzige Einheit oder getrennte Einheiten), oder manche dieser funktionellen Einrichtungen nicht implementiert sein können.
  • Computerausführbare Anweisungen, die die hierin beschriebenen Techniken implementieren (wenn als eine oder mehr funktionelle Einrichtungen oder auf irgendeine andere Weise implementiert), können in manchen Ausführungsformen auf einem oder mehr computerlesbaren Medien kodiert sein, um den Medien Funktionalität zu verleihen. Computerlesbare Medien umfassen magnetische Medien wie ein Festplattenlaufwerk, optische Medien wie eine Compact Disk (CD) oder Digital Versatile Disk (DVD), einen persistenten oder nicht persistenten Festkörperspeicher (z.B. Flash-Speicher, magnetischen RAM, usw.) oder jegliche anderen geeigneten Speichermedien. Solch ein computerlesbares Medium kann auf jegliche geeignete Weise implementiert werden. Wie hierin verwendet bezieht sich „computerlesbare Medien“ (auch „computerlesbare Speichermedien“ genannt) auf greifbare Speichermedien. Greifbare Speichermedien sind nicht-transitorisch und haben mindestens eine physische Strukturkomponente. In einem „computerlesbaren Medium“ wie hierin verwendet hat mindestens eine physische Strukturkomponente mindestens eine physische Eigenschaft, die während eines Prozesses der Erzeugung des Mediums mit eingebetteter Information, eines Prozesses der Aufnahme von Information darauf, oder jeglichen anderen Prozesses der Kodierung des Mediums mit Information auf irgendeine Weise verändert werden kann. Zum Beispiel kann der Magnetisierungszustand eines Teils einer physischen Struktur eines computerlesbaren Mediums während eines Aufzeichnungsprozesses verändert werden.
  • Des Weiteren umfassen manche oben genannten Techniken Handlungen der Speicherung von Information (z.B. Daten und/oder Instruktionen) auf bestimmte Art zur Verwendung durch diese Techniken. In manchen Implementierungen dieser Techniken - wie etwa Implementierungen, in denen die Techniken als computerausführbare Anweisungen implementiert werden - kann die Information auf einem computerlesbaren Speichermedium kodiert werden. Wo spezifische Strukturen hierin als vorteilhafte Formate zur Speicherung dieser Information beschrieben werden, können diese Strukturen verwendet werden, um eine physische Organisation der Information bei Kodierung auf dem Speichermedium zu verleihen. Diese vorteilhaften Strukturen können dann dem Speichermedium Funktionalität bereitstellen durch Beeinflussen von Operationen eines oder mehr mit der Information wechselwirkender Prozessoren; zum Beispiel durch Erhöhen der Effizienz von Computeroperationen, die durch den/die Prozessor(en) ausgeführt werden.
  • In manchen, aber nicht allen, Implementierungen, in denen die Techniken als computerausführbare Anweisungen verkörpert sein können, können diese Anweisungen auf einem oder mehr geeigneten Rechenvorrichtung(en) ausgeführt werden, die in irgendeinem geeigneten Computersystem operieren, oder eine oder mehr Rechenvorrichtungen (oder ein oder mehr Prozessoren von einer oder mehr Rechenvorrichtungen) können programmiert werden, um die computerausführbaren Anweisungen auszuführen. Eine Rechenvorrichtung oder ein Prozessor kann programmiert werden, Anweisungen auszuführen, wenn die Anweisungen auf eine Weise gespeichert sind, die für die Rechenvorrichtung oder den Prozessor zugänglich ist, wie etwa in einem Datenspeicher (z.B. einem On-Chip-Cache oder Anweisungsregister, einem über ein Bus zugängliches computerlesbares Speichermedium, einem computerlesbares Speichermedium, das über eine oder mehr Netzwerke zugänglich ist und für die Vorrichtung / den Prozessor zugänglich ist, usw.). Funktionelle Einrichtungen umfassend diese computerausführbaren Anweisungen können integriert sein in die Operation einer einzelnen programmierbaren digitalen Mehrzweck-Rechenvorrichtung, eines koordinierten Systems zweier oder mehr Mehrzweck-Rechenvorrichtungen, die Verarbeitungsfähigkeit teilen und gemeinsam die hierin beschriebenen Techniken ausführen, einer einzelnen Rechenvorrichtung oder eines koordinierten Systems von Rechenvorrichtungen (kolokalisiert oder geographisch verteilt), die der Ausführung der hierin beschriebenen Techniken gewidmet sind, eines oder mehr feldprogrammierbaren Gate-Arrays (FGPAs) zur Ausführung der hierin beschriebenen Techniken, oder jeglichen anderen geeigneten Systems, und sie steuern.
  • Eine Rechenvorrichtung kann mindestens einen Prozessor, einen Netzwerkadapter und computerlesbare Speichermedien umfassen. Eine Rechenvorrichtung kann zum Beispiel ein persönlicher Desktop- oder Laptop-Computer, ein persönlicher digitaler Assistent (PDGA), ein mobiles Smartphone, ein Server oder jegliche andere geeignete Rechenvorrichtung sein. Ein Netzwerkadapter kann jede geeignete Hardware und/oder Software sein, um es der Rechenvorrichtung zu ermöglichen, drahtgebunden und/oder drahtlos mit jeglicher anderen geeigneten Rechenvorrichtung über jegliches geeignete Rechennetzwerk zu kommunizieren. Das Rechennetzwerk kann drahtlose Zugangspunkte, Schalter, Router, Gateways und/oder Netzwerkausrüstung umfassen, sowie jedes geeignete drahtgebundene und/oder drahtlose Kommunikationsmedium oder -medien zum Austausch von Daten zwischen zwei oder mehr Computern, einschließlich das Internet. Computerlesbare Medien können angepasst sein, um durch den Prozessor zu verarbeitende Daten und/oder auszuführende Anweisungen zu speichern. Der Prozessor ermöglicht das Verarbeiten von Daten und die Ausführung von Anweisungen. Die Daten und Anweisungen können auf dem computerlesbaren Speichermedium gespeichert sein.
  • Eine Rechenvorrichtung kann zusätzlich ein oder mehr Komponenten oder Peripheriegeräte haben, einschließlich Eingabe- und Ausgabevorrichtungen. Diese Vorrichtungen können verwendet werden, um unter anderem eine Nutzerschnittstelle zu präsentieren. Beispiele von Ausgabevorrichtungen, die verwendet werden können, um eine Nutzerschnittstelle bereitzustellen, umfassen Drucker oder Displaybildschirme zur visuellen Präsentation von Ausgaben und Lautsprecher oder andere tonerzeugende Vorrichtungen zur hörbaren Präsentation von Ausgaben. Beispiele von Eingabevorrichtungen, die für eine Nutzerschnittstelle verwendet werden können, umfassen Tastaturen und Zeigevorrichtungen wie etwa Mäuse, Touchpads und Digitalisiertabletts. Als ein anderes Beispiel kann eine Rechenvorrichtung Eingabeinformationen durch Spracherkennung oder in einem anderen hörbaren Format erhalten.

Claims (17)

  1. Ein System zum Nachweis von Bewegung eines oder mehrerer Objekte in einer Szene, das System umfassend einen Prozessor mit Speicher, wobei der Prozessor konfiguriert ist, im Speicher gespeicherte Anweisungen auszuführen, die den Prozessor veranlassen: auf einen ersten Satz von Bildern und einen zweiten Satz von Bildern einer Szene über die Zeit zuzugreifen, wobei: jedes Bild im ersten Satz von Bildern einen assoziierten Teil einer über die Zeit auf die Szene projizierten Mustersequenz einfängt und aus einer ersten Perspektive auf die Szene ist; und jedes Bild im zweiten Satz von Bildern einen assoziierten Teil der über die Zeit auf die Szene projizierten Mustersequenz einfängt und aus einer zweiten Perspektive auf die Szene ist; basierend auf dem ersten Satz von Bildern ein erstes temporales Pixelbild zu erzeugen, das einen ersten Satz temporaler Pixel umfasst, wobei jeder temporale Pixel im ersten Satz temporaler Pixel einen Satz von Pixelwerten an einer assoziierten Position aus jedem Bild des ersten Satzes von Bildern, die einen assoziierten Teil der über die Zeit auf die Szene projizierten Mustersequenz einfangen, umfasst; basierend auf dem zweiten Satz von Bildern ein zweites temporales Pixelbild zu erzeugen, das einen zweiten Satz temporaler Pixel umfasst, wobei jeder temporale Pixel im zweiten Satz temporaler Pixel einen Satz von Pixelwerten an einer assoziierten Position aus jedem Bild des zweiten Satzes von Bildern, die einen assoziierten Teil der über die Zeit auf die Szene projizierten Mustersequenz einfangen, umfasst; einen oder mehr abgeleitete Werte zu bestimmen, basierend auf Werten der temporalen Pixel in dem ersten temporalen Pixelbild, dem zweiten temporalen Pixelbild, oder beiden; basierend auf dem ersten temporalen Pixelbild und dem zweiten temporalen Pixelbild Übereinstimmungsdaten zu bestimmen, die Übereinstimmungen zwischen Bildpunkten des ersten Satzes von Bildern und Bildpunkten des zweiten Satzes von Bildern anzeigen; und basierend auf dem einen oder mehr abgeleiteten Werten und den Übereinstimmungsdaten einen Anhaltspunkt zu bestimmen, ob es eine Wahrscheinlichkeit für Objektbewegung in der Szene gibt.
  2. Das System aus Anspruch 1, wobei das Bestimmen von einem oder mehr abgeleiteten Werten Folgendes umfasst: das Bestimmen eines ersten Satzes abgeleiteter Werte basierend auf Werten der temporalen Pixel im ersten temporalen Pixelbild; und das Bestimmen eines zweiten Satzes abgeleiteter Werte basierend auf Werten der temporalen Pixel im zweiten temporalen Pixelbild.
  3. Das System aus Anspruch 1, wobei das Bestimmen von einem oder mehr abgeleiteten Werten Folgendes umfasst: das Bestimmen, für jeden temporalen Pixel eines ersten Satzes temporaler Pixel im ersten temporalen Pixelbild, von ersten Durchschnittsdaten, die einen Durchschnitt der Werte des temporalen Pixels anzeigen; und das Bestimmen, für jeden temporalen Pixel des ersten Satzes temporaler Pixel, von ersten Abweichungsdaten, die eine Abweichung der Werte des temporalen Pixels anzeigen.
  4. Das System aus Anspruch 3, wobei das Bestimmen von einem oder mehr abgeleiteten Werten weiter Folgendes umfasst: das Bestimmen, für jeden temporalen Pixel eines zweiten Satzes temporaler Pixel im zweiten temporalen Pixelbild, von zweiten Durchschnittsdaten, die einen Durchschnitt der Werte des temporalen Pixels anzeigen; und das Bestimmen, für jeden temporalen Pixel des zweiten Satzes temporaler Pixel, von zweiten Abweichungsdaten, die eine Abweichung der Werte des temporalen Pixels anzeigen.
  5. Das System aus Anspruch 3, wobei das Berechnen der ersten Durchschnittsdaten das Berechnen, für jeden temporalen Pixel im ersten Satz temporaler Pixel, von: einem temporalen Durchschnitt der Intensitätswerte des temporalen Pixels; und einer Wurzel der mittleren quadratischen Abweichung der Intensitätswerte des temporalen Pixels umfasst.
  6. Das System aus Anspruch 1, wobei das Bestimmen des Anhaltspunktes Folgendes umfasst: das Bestimmen einer Vielzahl von Bereichen des ersten temporalen Pixelbildes, des zweiten temporalen Pixelbildes, oder beider; und Bestimmen, für jeden Bereich der Vielzahl von Bereichen: eines Durchschnitts der ein oder mehr mit dem Bereich assoziierten abgeleiteten Werte; einer Übereinstimmungsanzeige basierend auf mit dem Bereich assoziierten Übereinstimmungen; und das Bestimmen, basierend auf dem Durchschnitt und der Übereinstimmungsanzeige, einer Bereichsanzeige, ob es eine Wahrscheinlichkeit für Objektbewegung in dem Bereich gibt.
  7. Das System aus Anspruch 6, wobei das Bestimmen der Bereichsanzeige Folgendes umfasst: das Bestimmen, dass der Durchschnitt eine erste Metrik erfüllt; das Bestimmen, dass die Übereinstimmungsanzeige eine zweite Metrik erfüllt; und das Erzeugen der Bereichsanzeige, um anzugeben, ob es eine Wahrscheinlichkeit für Objektbewegung in dem Bereich gibt.
  8. Das System aus Anspruch 7, weiter umfassend das Bestimmen, basierend auf einem Satz von Bereichsanzeigen, die mit jeder Region der Vielzahl von Regionen assoziiert sind, eines Anhaltspunktes, um anzuzeigen, ob es eine Wahrscheinlichkeit für Objektbewegung in der Szene gibt.
  9. Ein computergestütztes Verfahren zum Nachweis von Bewegung eines oder mehrerer Objekte in einer Szene, das Verfahren umfassend: Zugreifen auf einen ersten Satz von Bildern und einen zweiten Satz von Bildern einer Szene über die Zeit, wobei: jedes Bild im ersten Satz von Bildern einen assoziierten Teil einer über die Zeit auf die Szene projizierten Mustersequenz einfängt und aus einer ersten Perspektive auf die Szene ist; und jedes Bild im zweiten Satz von Bildern einen assoziierten Teil der über die Zeit auf die Szene projizierten Mustersequenz einfängt und aus einer zweiten Perspektive auf die Szene ist; Erzeugen, basierend auf dem ersten Satz von Bildern, eines ersten temporalen Pixelbildes, das einen ersten Satz temporaler Pixel umfasst, wobei jeder temporale Pixel im ersten Satz temporaler Pixel einen Satz von Pixelwerten an einer assoziierten Position aus jedem Bild des ersten Satzes von Bildern, die einen assoziierten Teil der über die Zeit auf die Szene projizierten Mustersequenz einfangen, umfasst; Erzeugen, basierend auf dem zweiten Satz von Bildern, eines zweiten temporalen Pixelbildes, das einen zweiten Satz temporaler Pixel umfasst, wobei jeder temporale Pixel im zweiten Satz temporaler Pixel einen Satz von Pixelwerten an einer assoziierten Position aus jedem Bild des zweiten Satzes von Bildern, die einen assoziierten Teil der über die Zeit auf die Szene projizierten Mustersequenz einfangen, umfasst; Bestimmen eines oder mehr abgeleiteter Werte, basierend auf Werten dertemporalen Pixel in dem ersten temporalen Pixelbild, dem zweiten temporalen Pixelbild, oder beiden; Bestimmen, basierend auf dem ersten temporalen Pixelbild und dem zweiten temporalen Pixelbild, von Übereinstimmungsdaten, die Übereinstimmungen zwischen Bildpunkten des ersten Satzes von Bildern und Bildpunkten des zweiten Satzes von Bildern anzeigen; und Bestimmen, basierend auf dem einen oder mehr abgeleiteten Werten und den Übereinstimmungsdaten, eines Anhaltspunktes, ob es eine Wahrscheinlichkeit für Objektbewegung in der Szene gibt.
  10. Das Verfahren aus Anspruch 9, wobei das Bestimmen von einem oder mehr abgeleiteten Werten Folgendes umfasst: das Bestimmen eines ersten Satzes abgeleiteter Werte basierend auf Werten der temporalen Pixel im ersten temporalen Pixelbild; und das Bestimmen eines zweiten Satzes abgeleiteter Werte basierend auf Werten der temporalen Pixel im zweiten temporalen Pixelbild.
  11. Das Verfahren aus Anspruch 9, wobei das Bestimmen von einem oder mehr abgeleiteten Werten Folgendes umfasst: das Bestimmen, für jeden temporalen Pixel eines ersten Satzes temporaler Pixel im ersten temporalen Pixelbild, von ersten Durchschnittsdaten, die einen Durchschnitt der Werte des temporalen Pixels anzeigen; und das Bestimmen, für jeden temporalen Pixel des ersten Satzes temporaler Pixel, von ersten Abweichungsdaten, die eine Abweichung der Werte des temporalen Pixels anzeigen.
  12. Das Verfahren aus Anspruch 11, wobei das Bestimmen von einem oder mehr abgeleiteten Werten weiter Folgendes umfasst: das Bestimmen, für jeden temporalen Pixel eines zweiten Satzes temporaler Pixel im zweiten temporalen Pixelbild, von zweiten Durchschnittsdaten, die einen Durchschnitt der Werte des temporalen Pixels anzeigen; und das Bestimmen, für jeden temporalen Pixel des zweiten Satzes temporaler Pixel, von zweiten Abweichungsdaten, die eine Abweichung der Werte des temporalen Pixels anzeigen.
  13. Das Verfahren aus Anspruch 11, wobei das Berechnen der ersten Durchschnittsdaten das Berechnen, für jeden temporalen Pixel im ersten Satz temporaler Pixel, von: einem temporalen Durchschnitt der Intensitätswerte des temporalen Pixels; und einer Wurzel der mittleren quadratischen Abweichung der Intensitätswerte des temporalen Pixels umfasst.
  14. Das Verfahren aus Anspruch 9, wobei das Bestimmen des Anhaltspunktes Folgendes umfasst: das Bestimmen einer Vielzahl von Bereichen des ersten temporalen Pixelbildes, des zweiten temporalen Pixelbildes, oder beider; und das Bestimmen, für jeden Bereich der Vielzahl von Bereichen: eines Durchschnitts der ein oder mehr mit dem Bereich assoziierten abgeleiteten Werte; einer Übereinstimmungsanzeige basierend auf mit dem Bereich assoziierten Übereinstimmungen; und das Bestimmen, basierend auf dem Durchschnitt und der Übereinstimmungsanzeige, einer Bereichsanzeige, ob es eine Wahrscheinlichkeit für Objektbewegung in dem Bereich gibt.
  15. Das Verfahren aus Anspruch 14, wobei das Bestimmen der Bereichsanzeige Folgendes umfasst: das Bestimmen, dass der Durchschnitt eine erste Metrik erfüllt; das Bestimmen, dass die Übereinstimmungsanzeige eine zweite Metrik erfüllt; und das Erzeugen der Bereichsanzeige, um anzugeben, ob es eine Wahrscheinlichkeit für Objektbewegung in dem Bereich gibt.
  16. Das Verfahren aus Anspruch 15, weiter umfassend das Bestimmen, basierend auf einem Satz von Bereichsanzeigen, die mit jeder Region der Vielzahl von Regionen assoziiert sind, eines Anhaltspunktes, um anzuzeigen, ob es eine Wahrscheinlichkeit für Objektbewegung in der Szene gibt.
  17. Mindestens ein nichtvergängliches computerlesbares Speichermedium, das Prozessor-ausführbare Anweisungen speichert, die, wenn von mindestens einem Computerhardware-Prozessor ausgeführt, den mindestens einen Computerhardware-Prozessor veranlassen, folgende Handlungen vorzunehmen: Zugreifen auf einen ersten Satz von Bildern und einen zweiten Satz von Bildern einer Szene über die Zeit, wobei jedes Bild im ersten Satz von Bildern einen assoziierten Teil einer über die Zeit auf die Szene projizierten Mustersequenz einfängt und aus einer ersten Perspektive auf die Szene ist; und jedes Bild im zweiten Satz von Bildern einen assoziierten Teil der über die Zeit auf die Szene projizierten Mustersequenz einfängt und aus einer zweiten Perspektive auf die Szene ist; Erzeugen, basierend auf dem ersten Satz von Bildern, eines ersten temporalen Pixelbildes, das einen ersten Satz temporaler Pixel umfasst, wobei jeder temporale Pixel im ersten Satz temporaler Pixel einen Satz von Pixelwerten an einer assoziierten Position aus jedem Bild des ersten Satzes von Bildern, die einen assoziierten Teil der über die Zeit auf die Szene projizierten Mustersequenz einfangen, umfasst; Erzeugen, basierend auf dem zweiten Satz von Bildern, eines zweiten temporalen Pixelbildes, das einen zweiten Satz temporaler Pixel umfasst, wobei jeder temporale Pixel im zweiten Satz temporaler Pixel einen Satz von Pixelwerten an einer assoziierten Position aus jedem Bild des zweiten Satzes von Bildern, die einen assoziierten Teil der über die Zeit auf die Szene projizierten Mustersequenz einfangen, umfasst; Bestimmen eines oder mehr abgeleiteter Werte, basierend auf Werten der temporalen Pixel in dem ersten temporalen Pixelbild, dem zweiten temporalen Pixelbild, oder beiden; Bestimmen, basierend auf dem ersten temporalen Pixelbild und dem zweiten temporalen Pixelbild, von Übereinstimmungsdaten, die Übereinstimmungen zwischen Bildpunkten des ersten Satzes von Bildern und Bildpunkten des zweiten Satzes von Bildern anzeigen; und Bestimmen, basierend auf dem einen oder mehr abgeleiteten Werten und den Übereinstimmungsdaten, eines Anhaltspunktes, ob es eine Wahrscheinlichkeit für Objektbewegung in der Szene gibt.
DE102020207974.9A 2019-06-28 2020-06-26 Systeme und verfahren zum nachweis von bewegung während 3d-datenrekonstruktion Active DE102020207974B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/457,881 US11288819B2 (en) 2019-06-28 2019-06-28 Systems and methods for detecting motion during 3D data reconstruction
US16/457,881 2019-06-28

Publications (2)

Publication Number Publication Date
DE102020207974A1 DE102020207974A1 (de) 2020-12-31
DE102020207974B4 true DE102020207974B4 (de) 2024-05-08

Family

ID=73747122

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020207974.9A Active DE102020207974B4 (de) 2019-06-28 2020-06-26 Systeme und verfahren zum nachweis von bewegung während 3d-datenrekonstruktion

Country Status (3)

Country Link
US (2) US11288819B2 (de)
CN (1) CN112233139A (de)
DE (1) DE102020207974B4 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11288819B2 (en) 2019-06-28 2022-03-29 Cognex Corporation Systems and methods for detecting motion during 3D data reconstruction
CN113554726B (zh) * 2021-06-04 2023-10-20 北京大学 基于脉冲阵列的图像重构方法、装置、存储介质及终端

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017220598A1 (de) 2016-06-20 2017-12-28 Cognex Corporation Verfahren zur dreidimensionalen vermessung bewegter objekte bei einer bekannten bewegung

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493041B1 (en) * 1998-06-30 2002-12-10 Sun Microsystems, Inc. Method and apparatus for the detection of motion in video
US7542588B2 (en) * 2004-04-30 2009-06-02 International Business Machines Corporation System and method for assuring high resolution imaging of distinctive characteristics of a moving object
CN101443817B (zh) * 2006-03-22 2013-06-12 皮尔茨公司 用于确定场景的三维重建时的对应关系的方法和装置
US9307251B2 (en) * 2009-08-19 2016-04-05 Sharp Laboratories Of America, Inc. Methods and systems for determining data-adaptive weights for motion estimation in a video sequence
WO2013072807A1 (en) * 2011-11-14 2013-05-23 Koninklijke Philips Electronics N.V. Method and apparatus for registering a scene
JP5506989B1 (ja) * 2013-07-11 2014-05-28 パナソニック株式会社 追跡支援装置、追跡支援システムおよび追跡支援方法
KR102187211B1 (ko) * 2018-04-23 2020-12-04 코그넥스코오포레이션 스테레오-시간적 이미지 시퀀스들로부터 향상된 3-d 데이터 재구성을 위한 방법들 및 장치
US10814870B2 (en) * 2018-12-04 2020-10-27 GM Global Technology Operations LLC Multi-headed recurrent neural network (RNN) for multi-class trajectory predictions
US11288819B2 (en) 2019-06-28 2022-03-29 Cognex Corporation Systems and methods for detecting motion during 3D data reconstruction

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017220598A1 (de) 2016-06-20 2017-12-28 Cognex Corporation Verfahren zur dreidimensionalen vermessung bewegter objekte bei einer bekannten bewegung

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Swirski und Schechner, „3Deflicker from motion", International Conference on Computational Photography (ICCP), IEEE, 2013, S. 1-9
SWIRSKI, Yohay; SCHECHNER, Yoav Y. 3Deflicker from motion. In: IEEE International Conference on Computational Photography (ICCP). IEEE, 2013. S. 1-9.
Zhang et al., „Real-time scalable depth sensing with hybrid structured light illumination", IEEE Transactions on Image Processing, 2013, 23, JG., Nr. 1, S. 97-109
ZHANG, Yueyi, et al. Real-time scalable depth sensing with hybrid structured light illumination. IEEE Transactions on Image Processing, 2013, 23. Jg., Nr. 1, S. 97-109.

Also Published As

Publication number Publication date
US20220230332A1 (en) 2022-07-21
US11776137B2 (en) 2023-10-03
CN112233139A (zh) 2021-01-15
DE102020207974A1 (de) 2020-12-31
US11288819B2 (en) 2022-03-29
US20200410693A1 (en) 2020-12-31

Similar Documents

Publication Publication Date Title
CN109325437B (zh) 图像处理方法、装置和系统
CN108764085B (zh) 基于生成对抗网络的人群计数方法
US9773302B2 (en) Three-dimensional object model tagging
CN110210276A (zh) 一种移动轨迹获取方法及其设备、存储介质、终端
DE102016222267A1 (de) Verfahren und System zum Erfassen eines sich bewegenden Objekts mit einer einzelnen Kamera
DE112012001984T5 (de) Integrieren von Video-Metadaten in 3D-Modelle
DE102014019054A1 (de) Datenverarbeitungssystem und Verfahren zur Durchführung einer Gesichtserkennung
DE202014010922U1 (de) Erzeugung von Tiefenkarten
KR102199094B1 (ko) 관심객체 검출을 위한 관심영역 학습장치 및 방법
DE102020207974B4 (de) Systeme und verfahren zum nachweis von bewegung während 3d-datenrekonstruktion
CN107004256A (zh) 用于噪声深度或视差图像的实时自适应滤波的方法和装置
DE112011103452T5 (de) Verfahren zum Angleichen von Pixeln einer Entfernungsdarstellung
DE102019122402A1 (de) Das klassifizieren von zeitreihenbilddaten
US11030478B1 (en) System and method for correspondence map determination
CN111696196A (zh) 一种三维人脸模型重建方法及装置
DE112018006130T5 (de) Codierungsvorrichtung, codierungsverfahren, decodierungsvorrichtung und decodierungsverfahren
Ding Visual quality assessment for natural and medical image
DE102019205783A1 (de) Systeme und Verfahren für verbesserte 3D-Daten-Rekonstruktion aus stereo-temporalen Bildsequenzen
CN112101195A (zh) 人群密度预估方法、装置、计算机设备和存储介质
CN110807409A (zh) 人群密度检测模型训练方法和人群密度检测方法
WO2021051382A1 (zh) 白平衡处理方法和设备、可移动平台、相机
CN109740527B (zh) 一种视频帧中图像处理方法
CN105138979A (zh) 基于立体视觉的运动人体头部检测方法
DE112020005223T5 (de) Objektverfolgungseinrichtung und Objektverfolgungsverfahren
CN109961092B (zh) 一种基于视差锚点的双目视觉立体匹配方法及系统

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division