DE102014224372A1 - Apparate, systeme und verfahren zur verarbeitung einer höhenkarte - Google Patents

Apparate, systeme und verfahren zur verarbeitung einer höhenkarte Download PDF

Info

Publication number
DE102014224372A1
DE102014224372A1 DE102014224372.6A DE102014224372A DE102014224372A1 DE 102014224372 A1 DE102014224372 A1 DE 102014224372A1 DE 102014224372 A DE102014224372 A DE 102014224372A DE 102014224372 A1 DE102014224372 A1 DE 102014224372A1
Authority
DE
Germany
Prior art keywords
pixels
height map
map
dimensional
slice
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.)
Granted
Application number
DE102014224372.6A
Other languages
English (en)
Other versions
DE102014224372B4 (de
Inventor
Jason Davis
Michael C. Moed
Robert J. Tremblay
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 DE102014224372A1 publication Critical patent/DE102014224372A1/de
Application granted granted Critical
Publication of DE102014224372B4 publication Critical patent/DE102014224372B4/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
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/003Reconstruction from projections, e.g. tomography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/08Gnomonic or central projection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Die offenbarten Apparate, System und Verfahren können Höhenkarten verarbeiten. Zum Beispiel kann das offenbarte computergestützte Verfahren zur Bestimmung von Stellungsinformation über ein Objekt in einer von einem Entfernungssensorsystem aufgenommenen zweidimensionalen Höhenkarte Empfangen der Höhenkarte des von dem Entfernungssensorsystem aufgenommenen Objekts, Generieren einer Vielzahl von eindimensionalen Schnitten der Höhenkarte und einer Positionsaufzeichnung, die die Positionen der Vielzahl von eindimensionalen Schnitten auf der Höhenkarte anzeigt, Identifizieren von Punkten von Interesse in der Vielzahl von eindimensionalen Schnitten, Bestimmen der Positionen der identifizierten Punkte von Interesse in der Höhenkarte basierend auf der Positionsaufzeichnung und Bestimmen der Stellungsinformation des Objekts basierend auf der Position der identifizierten Punkte von Interesse in der Höhenkarte umfassen.

Description

  • TECHNISCHES GEBIET
  • Offenbarte Apparate, computergestützte Systeme, und computergestützte Verfahren betreffen das Verarbeiten einer Höhenkarte, und insbesondere das Verarbeiten einer Höhenkarte aus einem Entfernungssensorsystem.
  • HINTERGRUND
  • Das Bestimmen der Tiefe oder Höhe eines Objekts, auch als Entfernungsabtasten bekannt, ist in einer Vielzahl von Anwendungen von Bedeutung. Zum Beispiel kann Entfernungsabtasten bei der Inspektion elektronischer Anordnungen, der Inspektion von Halbleiterpaketen während der Herstellung, und dem Digitalisieren von dreidimensionalen („3D”) Tonmodellen von Bedeutung sein.
  • Entfernungsabtasten kann unter Verwendung eines Entfernungssensorsystems durchgeführt werden, welches eine Höhenkarte (auch als Entfernungsbild oder Tiefenbild bekannt) als eine Ausgabe bereitstellen kann. Die Höhenkarte kann unter Verwendung einer Rechnervorrichtung verarbeitet werden, um die Position eines Objekts, die Form eines Objekts und/oder das 3D-Profil eines Objekts, das von der Höhenkarte erfasst ist, zu bestimmen. Leider kann Höhenkartenverarbeitung mit einem großen Ausmaß an Berechnungen einhergehen, weil Höhenkartenverarbeitung oft eine 3D-Registrierung einer Höhenkarte umfasst. Daher gibt es einen allgemeinen Bedarf, die Berechnungskomplexität der Höhenkartenverarbeitung zu verringern.
  • ZUSAMMENFASSUNG
  • In Übereinstimmung mit dem offenbarten Gegenstand werden Apparate, Systeme, nicht vergängliche computerlesbare Medien und Verfahren bereitgestellt zur Verarbeitung einer Höhenkarte aus einem Entfernungssensorsystem.
  • Manche Ausführungsformen umfassen ein computergestütztes Verfahren zum Bestimmen von Stellungsinformation über ein Objekt in einer von einem Entfernungssensorsystem aufgenommenen zweidimensionalen Höhenkarte. Das Verfahren umfasst Empfangen, an einem Schnittgenerierungsmodul in einer Rechnervorrichtung, der Höhenkarte des von dem Entfernungssensorsystem aufgenommenen Objekts; Generieren, durch das Schnittgenerierungsmodul, einer Vielzahl von eindimensionalen Schnitten der Höhenkarte und einer Positionsaufzeichnung, die die Positionen der Vielzahl von eindimensionalen Schnitten auf der Höhenkarte anzeigt; Identifizieren, durch ein Stellungsinformationsgenerierungsmodul in der Rechnervorrichtung, einer Position von mindestens einem Punkt von Interesse in der Höhenkarte basierend auf der Vielzahl von eindimensionalen Schnitten und der Positionsaufzeichnung; und Bestimmen, durch das Stellungsinformationsgenerierungsmodul, der Stellungsinformation des Objekts basierend auf der Position des mindestens einen Punkts von Interesse in der Höhenkarte.
  • In manchen Ausführungsformen umfasst das Verfahren auch Pflegen von Forminformation über das Objekt, und wobei das Bestimmen der Stellungsinformation über das Objekt basierend auf den Positionen weiter Bestimmen der Stellungsinformation über das Objekt basierend auf den Positionen der identifizierten Diskontinuitäten in der Höhenkarte und der Forminformation umfasst.
  • In manchen Ausführungsformen umfasst die Forminformation eines oder mehr von: (1) einer Anzahl von Kanten im Objekt, (2) einer relativen Position der Kanten in Bezug auf andere Kanten im Objekt, und (3) einem Winkel zwischen den Kanten im Objekt.
  • In manchen Ausführungsformen umfasst Generieren der Vielzahl von eindimensionalen Schnitten der Höhenkarte Generieren von zwei oder mehr nichtparallelen eindimensionalen Schnitten, wobei jeder der nichtparallelen eindimensionalen Schnitte konfiguriert ist, eine einzigartige Kante des Objekts zu kreuzen, und wobei die Stellungsinformation über das Objekt die Position des Objekts umfasst.
  • In manchen Ausführungsformen umfasst Generieren der Vielzahl von eindimensionalen Schnitten der Höhenkarte Generieren von zwei oder mehr eindimensionalen Schnitten, die konfiguriert sind, eine erste Kante des Objekts zu kreuzen, und wobei die Stellungsinformation über das Objekt einen Rotationswinkel des Objekts um eine Achse, die an der Höhe des Objekts ausgerichtet ist, umfasst.
  • In manchen Ausführungsformen umfasst Bestimmen der Stellungsinformation über das Objekt Einpassen einer Linie durch die Diskontinuitäten entlang der ersten Kante des Objekts und Bestimmen des Winkels zwischen der Linie und einer angenommenen Orientierung der ersten Kante des Objekts basierend auf Forminformationen über das Objekt.
  • In manchen Ausführungsformen umfasst der mindestens eine Punkt von Interesse eine Diskontinuität in einer der Vielzahl von eindimensionalen Schnitten, und wobei Identifizieren der Position des mindestens einen Punktes von Interesse in der Höhenkarte basierend auf der Vielzahl von eindimensionalen Schnitten und der Positionsaufzeichnung Identifizieren, durch das Stellungsinformationsgenerierungsmodul in der Rechnervorrichtung, der Diskontinuität in dem einen der Vielzahl von eindimensionalen Schnitten; und Bestimmen, durch das Stellungsinformationsgenerierungsmodul, einer Position der identifizierten Diskontinuität in der Höhenkarte basierend auf der Positionsaufzeichnung umfasst.
  • In manchen Ausführungsformen umfassen die Diskontinuitäten in der Vielzahl von eindimensionalen Schnitten Positionen, an denen die Vielzahl von eindimensionalen Schnitten eine Kante des Objekts in der Höhenkarte schneidet.
  • In manchen Ausführungsformen umfasst Identifizieren der Position des mindestens einen Punktes von Interesse basierend auf der Vielzahl von eindimensionalen Schnitten Bestimmen der Position, an dem einer der Vielzahl von eindimensionalen Schnitten an einer eindimensionalen Vorlage ausgerichtet ist.
  • In manchen Ausführungsformen umfasst Bestimmen der Position, an dem einer der Vielzahl von eindimensionalen Schnitten an einer eindimensionalen Vorlage ausgerichtet ist, Bestimmen einer Korrelation zwischen dem einen der Vielzahl von eindimensionalen Schnitten und der eindimensionalen Vorlage.
  • In manchen Ausführungsformen umfasst Generieren der Vielzahl von eindimensionalen Schnitten der Höhenkarte Bereitstellen eines Gitters umfassend eine Vielzahl von Plätzen über Pixeln der Höhenkarte; Bestimmen eines ersten Satzes von Pixeln der Höhenkarte, die unter einem der Vielzahl von Plätzen des Gitters liegen; und Bestimmen eines Wertes für den einen der Vielzahl von Plätzen des Gitters durch Ausführen einer Konsolidierungsoperation über den ersten Satz von Pixeln, wobei die Konsolidierungsoperation eines oder mehr umfasst von: einer Mittelungsoperation, einer gewichteten Mittelungsoperation von nichtfehlenden Werten im ersten Satz von Pixeln, einer Medianoperation, einer Maximumoperation zum Auffinden eines Maximalwertes des ersten Satzes von Pixeln; einer Minimumoperation zum Auffinden eines Minimalwertes des ersten Satzes von Pixeln; einer Regressionsoperation, oder jeglicher Kombination davon.
  • In manchen Ausführungsformen umfasst das Verfahren auch Bestimmen eines Sichtbarkeitsschnitts, der mit einem Teil des Gitters assoziiert ist, wobei der Sichtbarkeitsschnitt eine Sichtbarkeit von Pixeln, die unter dem Teil des Gitters liegt, andeutet, wobei Bestimmen des Sichtbarkeitsschnitts Bestimmen eines Sichtbarkeitswerts für den einen der Vielzahl von Plätzen des Teils des Gitters umfasst durch Bestimmen eines Anteils von fehlenden Werten in dem ersten Satz von Pixeln.
  • Manche Ausführungsformen umfassen eine Rechnervorrichtung, die konfiguriert ist, Stellungsinformation über ein Objekt in einer von einem Entfernungssensorsystem aufgenommenen zweidimensionalen Höhenkarte zu bestimmen. Die Rechnervorrichtung umfasst eine oder mehr Schnittstellen, die konfiguriert sind, mit dem Entfernungssensorsystem zu kommunizieren; und einen Prozessor, in Kommunikation mit der einen oder mehr Schnittstellen, und konfiguriert, ein im Speicher gespeichertes Schnittgenerierungsmodul laufen zu lassen. Das Schnittgenerierungsmodul ist konfiguriert, eine von dem Entfernungssensorsystem aufgenommene Höhenkarte des Objekts zu empfangen; eine Vielzahl von eindimensionalen Schnitten der Höhenkarte und eine Positionsaufzeichnung, die Positionen der Vielzahl von eindimensionalen Schnitten auf der Höhenkarte anzeigt, zu generieren; und wobei der Prozessor weiter konfiguriert ist, ein im Speicher gespeichertes Stellungsinformationsgenerierungsmodul laufen zu lassen, das konfiguriert ist, eine Position von mindestens einem Punkt von Interesse in der Höhenkarte zu identifizieren, basierend auf der Vielzahl von eindimensionalen Schnitten und der Positionsaufzeichnung; und die Stellungsinformation über das Objekt basierend auf der Position des mindestens einen Punktes von Interesse in der Höhenkarte zu bestimmen.
  • In manchen Ausführungsformen ist das Stellungsinformationsgenerierungsmodul weiter konfiguriert, Forminformation über das Objekt zu pflegen und die Stellungsinformation über das Objekt basierend auf der Position des mindestens einen Punktes von Interesse in der Höhenkarte und der Forminformation zu bestimmen.
  • In manchen Ausführungsformen ist das Schnittgenerierungsmodul weiter konfiguriert, zwei oder mehr nichtparallele eindimensionale Schnitte zu generieren, wobei jeder der nichtparallelen eindimensionalen Schnitte konfiguriert ist, eine einzigartige Kante des Objekts zu kreuzen, und wobei die Stellungsinformation über das Objekt die Position des Objekts umfasst.
  • In manchen Ausführungsformen ist das Schnittgenerierungsmodul weiter konfiguriert, zwei oder mehr eindimensionale Schnitte zu generieren, die konfiguriert sind, eine erste Kante des Objekts zu kreuzen, und wobei die Stellungsinformation über das Objekt einen Rotationswinkel des Objekts um eine Achse, die an der Höhe des Objekts ausgerichtet ist, umfasst.
  • In manchen Ausführungsformen ist das Schnittgenerierungsmodul weiter konfiguriert, um: ein Gitter bereitzustellen, das eine Vielzahl von Plätzen über Pixeln der Höhenkarte umfasst; einen ersten Satz von Pixeln der Höhenkarte zu bestimmen, der unter einer der Vielzahl von Plätzen des Gitters liegt; und einen Wert für den einen der Vielzahl von Plätzen des Gitters zu bestimmen durch Ausführen einer Konsolidierungsoperation über den ersten Satz von Pixeln, wobei die Konsolidierungsoperation eines oder mehr umfasst von: einer Mittelungsoperation, einer gewichteten Mittelungsoperation von nichtfehlenden Werten im ersten Satz von Pixeln, einer Medianoperation, einer Maximumoperation zum Auffinden eines Maximalwertes des ersten Satzes von Pixeln; einer Minimumoperation zum Auffinden eines Minimalwertes des ersten Satzes von Pixeln; einer Regressionsoperation, oder jeglicher Kombination davon.
  • Manche Ausführungsformen umfassen ein nicht vergängliches computerlesbares Medium mit ausführbaren Anweisungen, die mit einem Schnittgenerierungsmodul und einem Stellungsinformationsgenerierungsmodul assoziiert sind. Die Anweisungen sind ausführbar, um einen Datenverarbeitungsapparat zu veranlassen: eine von einem Entfernungssensorsystem in Kommunikation mit einem Entfernungssensorsystem aufgenommene Höhenkarte des Objekts zu empfangen; eine Vielzahl von eindimensionalen Schnitten der Höhenkarte und eine Positionsaufzeichnung, die Positionen der Vielzahl von eindimensionalen Schnitten auf der Höhenkarte anzeigt, zu generieren; eine Position von mindestens einem Punkt von Interesse in der Höhenkarte zu identifizieren, basierend auf der Vielzahl von eindimensionalen Schnitten und der Positionsaufzeichnung; und die Stellungsinformation über das Objekt basierend auf der Position des mindestens einen Punktes von Interesse in der Höhenkarte zu bestimmen.
  • In manchen Ausführungsformen umfasst das computerlesbare Medium auch ausführbare Anweisungen, die mit dem Schnittgenerierungsmodul assoziiert sind, ausführbar, um einen Datenverarbeitungsapparat zu veranlassen, Forminformationen über das Objekt zu pflegen und die Stellungsinformation über das Objekt basierend auf der Position des mindestens einen Punktes von Interesse in der Höhenkarte und der Forminformation zu bestimmen.
  • In manchen Ausführungsformen umfasst das computerlesbare Medium auch ausführbare Anweisungen, um den Datenverarbeitungsapparat zu veranlassen: ein Gitter bereitzustellen, das eine Vielzahl von Plätzen über Pixeln der Höhenkarte umfasst; einen ersten Satz von Pixeln der Höhenkarte zu bestimmen, der unter einer der Vielzahl von Plätzen des Gitters liegt; und einen Wert für den einen der Vielzahl von Plätzen des Gitters zu bestimmen durch Ausführen einer Konsolidierungsoperation über den ersten Satz von Pixeln, wobei die Konsolidierungsoperation eines oder mehr umfasst von: einer Mittelungsoperation, einer gewichteten Mittelungsoperation von nichtfehlenden Werten im ersten Satz von Pixeln, einer Medianoperation, einer Maximumoperation zum Auffinden eines Maximalwertes des ersten Satzes von Pixeln; einer Minimumoperation zum Auffinden eines Minimalwertes des ersten Satzes von Pixeln; einer Regressionsoperation, oder jeglicher Kombination davon.
  • Manche Ausführungsformen umfassen ein computergestütztes Verfahren zum Verarbeiten einer von einem Entfernungssensorsystem aufgenommenen zweidimensionalen Höhenkarte. Das Verfahren umfasst Empfangen, an einem Schnittgenerierungsmodul in einer Rechnervorrichtung, der Höhenkarte des von dem Entfernungssensorsystem aufgenommenen Objekts; Generieren, durch das Schnittgenerierungsmodul, eines eindimensionalen Schnittes der Höhenkarte, wobei der eindimensionale Schnitt ein Gitter mit einer Vielzahl von Plätzen umfasst, wobei jeder der Vielzahl von Plätzen einen basierend auf einem oder mehr Pixeln der Höhenkarte bestimmten Wert umfasst; und Bereitstellen, durch das Schnittgenerierungsmodul, eines Sichtbarkeitsschnitts, der einen Sichtbarkeitswert für jeden der Vielzahl von Plätzen des Gitters angibt, wobei der Sichtbarkeitswert ein Vertrauen in einen Wert an dem entsprechenden Platz in dem 1D-Schnitt angibt.
  • In manchen Ausführungsformen umfasst das Verfahren auch Bestimmen des Sichtbarkeitswerts für den einen der Vielzahl von Plätzen des Gitters durch Bestimmen eines Anteils von fehlenden Pixelwerten unter dem einen oder mehr Pixeln der Höhenkarte, die verwendet wurden, den Wert des einen der Vielzahl von Plätzen zu berechnen.
  • In manchen Ausführungsformen umfasst das Verfahren auch Bestimmen des Sichtbarkeitswerts für den einen der Vielzahl von Plätzen des Gitters durch Bestimmen einer Anzahl von fehlenden Pixelwerten unter dem einen oder mehr Pixeln der Höhenkarte, die verwendet wurden, den Wert des einen der Vielzahl von Plätzen zu berechnen.
  • In manchen Ausführungsformen umfasst das Verfahren auch Speichern eines Schwellenwertes im Speicher; Binärisieren des Sichtbarkeitsschnitts unter Verwendung des Schwellenwertes, umfassend, für jeden Sichtbarkeitswert in dem Sichtbarkeitsschnitt: Bestimmen, ob der Sichtbarkeitswert unter dem Schwellenwert liegt; falls der Sichtbarkeitswert unter dem Schwellenwert liegt, Festsetzen des Sichtbarkeitswerts auf einen ersten Wert, der anzeigt, dass der entsprechende Platz im 1D-Schnitt nicht sichtbar ist; und falls der Sichtbarkeitswert nicht unter dem Schwellenwert liegt, Festsetzen des Sichtbarkeitswerts auf einen zweiten Wert, der anzeigt, dass der entsprechende Platz im 1D-Schnitt sichtbar ist.
  • In manchen Ausführungsformen umfasst das Verfahren auch Bestimmen, durch ein Stellungsinformationsgenerierungsmodul, von Stellungsinformation über das Objekt basierend auf dem eindimensionalen Schnitt und dem Sichtbarkeitsschnitt.
  • In manchen Ausführungsformen umfasst das Verfahren auch Verwerfen, durch das Stellungsinformationsgenerierungsmodul, des eindimensionalen Schnittes, wenn jeglicher der Sichtbarkeitswerte in dem Sichtbarkeitsschnitt weniger als eine vordefinierte Schwelle ist.
  • In manchen Ausführungsformen umfasst das Verfahren auch Bestimmen, durch das Stellungsinformationsgenerierungsmodul, einer Linie zu dem eindimensionalen Schnitt durch Gewichten des eindimensionalen Schnittes mittels des Sichtbarkeitsschnitts.
  • Manche Ausführungsformen umfassen eine Rechnervorrichtung, die konfiguriert ist, eine von einem Entfernungssensorsystem aufgenommene Höhenkarte zu verarbeiten. Die Rechnervorrichtung umfasst eine oder mehr Schnittstellen, die konfiguriert sind, mit dem Entfernungssensorsystem zu kommunizieren; und einen Prozessor, in Kommunikation mit der einen oder mehr Schnittstellen, und konfiguriert, ein im Speicher gespeichertes Computerprogramm laufen zu lassen. Das Computerprogramm ist konfiguriert, die Höhenkarte des von dem Entfernungssensorsystem aufgenommenen Objekts zu empfangen; einen eindimensionalen Schnitt der Höhenkarte zu generieren, wobei der eindimensionale Schnitt ein Gitter mit einer Vielzahl von Plätzen umfasst, wobei jeder der Vielzahl von Plätzen einen basierend auf einem oder mehr Pixeln der Höhenkarte bestimmten Wert umfasst; und einen Sichtbarkeitsschnitt bereitzustellen, der einen Sichtbarkeitswert für jeden der Vielzahl von Plätzen des Gitters angibt, wobei der Sichtbarkeitswert ein Vertrauen in einen Wert an dem entsprechenden Platz in dem eindimensionalen Schnitt angibt.
  • In manchen Ausführungsformen ist das Computerprogramm auch konfiguriert, den Sichtbarkeitswert für den einen der Vielzahl von Plätzen des Gitters zu bestimmen durch Bestimmen eines Anteils von fehlenden Pixelwerten unter dem einen oder mehr Pixeln der Höhenkarte, die verwendet wurden, den Wert des einen der Vielzahl von Plätzen zu berechnen.
  • In manchen Ausführungsformen ist das Computerprogramm auch konfiguriert, den Sichtbarkeitswert für den einen der Vielzahl von Plätzen des Gitters zu bestimmen durch Bestimmen einer Anzahl von fehlenden Pixelwerten unter dem einen oder mehr Pixeln der Höhenkarte, die verwendet wurden, den Wert des einen der Vielzahl von Plätzen zu berechnen.
  • In manchen Ausführungsformen ist das Computerprogramm auch konfiguriert, Stellungsinformation über das Objekt basierend auf dem eindimensionalen Schnitt und dem Sichtbarkeitsschnitt zu bestimmen.
  • In manchen Ausführungsformen ist das Computerprogramm auch konfiguriert, um: einen Schwellenwert im Speicher zu speichern; den Sichtbarkeitsschnitt unter Verwendung des Schwellenwertes zu binärisieren, umfassend, für jeden Sichtbarkeitswert in dem Sichtbarkeitsschnitt: Bestimmen, ob der Sichtbarkeitswert unter dem Schwellenwert liegt; falls der Sichtbarkeitswert unter dem Schwellenwert liegt, Festsetzen des Sichtbarkeitswerts auf einen ersten Wert, der anzeigt, dass der entsprechende Platz im 1D-Schnitt nicht sichtbar ist; und falls der Sichtbarkeitswert nicht unter dem Schwellenwert liegt, Festsetzen des Sichtbarkeitswerts auf einen zweiten Wert, der anzeigt, dass der entsprechende Platz im 1D-Schnitt sichtbar ist.
  • In manchen Ausführungsformen ist das Computerprogramm auch konfiguriert, den eindimensionalen Schnitt zu verwerfen, wenn jeglicher der Sichtbarkeitswerte in dem Sichtbarkeitsschnitt weniger als eine vordefinierte Schwelle ist.
  • In manchen Ausführungsformen ist das Computerprogramm auch konfiguriert, eine Linie zu dem eindimensionalen Schnitt durch Gewichten des eindimensionalen Schnittes mittels des Sichtbarkeitsschnitts zu bestimmen.
  • Manche Ausführungsformen umfassen ein nicht vergängliches computerlesbares Medium mit ausführbaren Anweisungen. Die ausführbaren Anweisungen sind ausführbar, um einen Datenverarbeitungsapparat zu veranlassen, die Höhenkarte des von dem Entfernungssensorsystem aufgenommenen Objekts zu empfangen; einen eindimensionalen Schnitt der Höhenkarte zu generieren, wobei der eindimensionale Schnitt ein Gitter mit einer Vielzahl von Plätzen umfasst, wobei jeder der Vielzahl von Plätzen einen basierend auf einem oder mehr Pixeln der Höhenkarte bestimmten Wert umfasst; und einen Sichtbarkeitsschnitt bereitzustellen, der einen Sichtbarkeitswert für jeden der Vielzahl von Plätzen des Gitters angibt, wobei der Sichtbarkeitswert ein Vertrauen in einen Wert an dem entsprechenden Platz in dem eindimensionalen Schnitt angibt.
  • In manchen Ausführungsformen sind die ausführbaren Anweisungen ausführbar, um den Datenverarbeitungsapparat zu veranlassen, den Sichtbarkeitswert für den einen der Vielzahl von Plätzen des Gitters zu bestimmen durch Bestimmen eines Anteils von fehlenden Pixelwerten unter dem einen oder mehr Pixeln der Höhenkarte, die verwendet wurden, den Wert des einen der Vielzahl von Plätzen zu berechnen.
  • In manchen Ausführungsformen sind die ausführbaren Anweisungen ausführbar, um den Datenverarbeitungsapparat zu veranlassen, den Sichtbarkeitswert für den einen der Vielzahl von Plätzen des Gitters zu bestimmen durch Bestimmen einer Anzahl von fehlenden Pixelwerten unter dem einen oder mehr Pixeln der Höhenkarte, die verwendet wurden, den Wert des einen der Vielzahl von Plätzen zu berechnen.
  • In manchen Ausführungsformen sind die ausführbaren Anveisungen ausführbar, um den Datenverarbeitungsapparat zu veranlassen, Stellungsinformation über das Objekt basierend auf dem eindimensionalen Schnitt und dem Sichtbarkeitsschnitt zu bestimmen.
  • In manchen Ausführungsformen sind die ausführbaren Anweisungen ausführbar, um den Datenverarbeitungsapparat zu veranlassen, den eindimensionalen Schnitt zu verwerfen, wenn jeglicher der Sichtbarkeitswerte in dem Sichtbarkeitsschnitt weniger als eine vordefinierte Schwelle ist.
  • In manchen Ausführungsformen sind die ausführbaren Anweisungen ausführbar, um den Datenverarbeitungsapparat zu veranlassen, eine Linie zu dem eindimensionalen Schnitt durch Gewichten des eindimensionalen Schnittes mittels des Sichtbarkeitsschnitts zu bestimmen.
  • Die offenbarten Apparate, Systeme, Verfahren und das nicht vergängliche computerlesbare Medium, die hierin beschrieben sind, können einen effizienten Mechanismus zum Verarbeiten einer Höhenkarte bereitstellen, um ein Objekt aus einer Höhenkarte zu lokalisieren und Information über die Stellung des Objekts bereitzustellen. Weil die offenbarten Apparate, Systeme und Verfahren einfache eindimensionale Schnitte einer Höhenkarte verwenden, sind die offenbarten Apparate, Systeme und Verfahren signifikant effizienter im Vergleich mit existierenden Mechanismen, die die Höhenkarte mittels 3D-Registrierungstechniken verarbeiten.
  • Daher sind die Merkmale des offenbarten Gegenstandes eher breit skizziert worden, damit die detaillierte Beschreibung davon, die folgt, besser verstanden werden kann, und damit der vorliegende Beitrag zum Stand der Technik besser eingeschätzt werden kann. Es gibt natürlich weitere Merkmale des offenbarten Gegenstandes, die hier nachher beschrieben werden und die den Gegenstand der daran angefügten Ansprüche bilden werden. Es versteht sich, dass die hier verwendete Phraseologie und Terminologie zum Zwecke der Beschreibung dient und nicht als beschränkend angesehen werden soll.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Verschiedene Objekte, Merkmale und Vorteile des offenbarten Gegenstandes können besser eingeschätzt werden mit Bezug auf die nachfolgende detaillierte Beschreibung des offenbarten Gegenstandes, wenn sie im Zusammenhang mit den folgenden Zeichnungen betrachtet wird, in denen gleiche Bezugsnummern gleiche Elemente identifizieren.
  • 1 veranschaulicht ein beispielhaftes Entfernungssensorsystem mit einem Laserscannersystem in Übereinstimmung mit manchen Ausführungsformen.
  • 2 veranschaulicht eine mit einem Entfernungssensorsystem gemessene Höhenkarte eines Objekts in Übereinstimmung mit manchen Ausführungsformen.
  • 3 veranschaulicht ein computergestütztes Verfahren zum Bestimmen von Stellungsinformation über ein Objekt aus einer Höhenkarte in Übereinstimmung mit manchen Ausführungsformen.
  • 4 veranschaulicht einen Prozess zum Generieren eines 1D-Schnitts einer Höhenkarte in Übereinstimmung mit manchen Ausführungsformen.
  • 5 veranschaulicht einen 1D-Schnitt und seinen Sichtbarkeitsschnitt in Übereinstimmung mit manchen Ausführungsformen.
  • 6 veranschaulicht ein computergestütztes Verfahren zum Bestimmen der Position und der Höhe eines Objekts mittels zwei oder mehr 1D-Schnitte einer Höhenkarte in Übereinstimmung mit manchen Ausführungsformen.
  • 7 stellt eine Veranschaulichung des Prozesses von 6 in Übereinstimmung mit manchen Ausführungsformen bereit.
  • 8 veranschaulicht einen Mechanismus zum Bestimmen der Rotation eines Objekts in Übereinstimmung mit manchen Ausführungsformen.
  • 9 veranschaulicht ein computergestütztes Verfahren zum Bestimmen der Rotation eines Objekts um einen Höhenvektor in Übereinstimmung mit manchen Ausführungsformen.
  • 10 veranschaulicht eine Höhenkarte eines Pyramidenstrukturobjekts und mehrere 1D-Schnitte, die durch Kanten im Objekt gehen, zum Zwecke der Veranschaulichung in Übereinstimmung mit manchen Ausführungsformen.
  • 11 veranschaulicht eine Anwendung zum Identifizieren des entferntesten Punktes eines 1D-Schnittes in einer gegebenen Richtung in Übereinstimmung mit manchen Ausführungsformen.
  • 12 veranschaulicht die Eckbestimmungsoperation in Übereinstimmung mit manchen Ausführungsformen.
  • 13 veranschaulicht einen Prozess zum Berechnen eines Schnittpunkts von zwei Liniensegmenten in Übereinstimmung mit manchen Ausführungsformen.
  • 14 veranschaulicht einen Prozess zum Auffinden eines Liniensegments mit einer gewünschten Steigung in Übereinstimmung mit manchen Ausführungsformen.
  • 15 zeigt ein beispielhaftes Entfernungssensorsystem zum Aufnehmen einer Höhenkarte eines Objekts und eine Rechnervorrichtung zum Verarbeiten der mit dem Entfernungssensorsystem aufgenommenen Höhenkarte in Übereinstimmung mit manchen Ausführungsformen.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Beschreibung werden zahlreiche spezifische Einzelheiten dargelegt, die die Systeme und Verfahren des offenbarten Gegenstands und die Umgebung, in der solche Systeme und Verfahren operieren können, betreffen, usw., um ein gründliches Verständnis des offenbarten Gegenstandes zu liefern. Es wird für den Fachmann jedoch ersichtlich sein, dass der offenbarte Gegenstand auch ohne solche spezifischen Einzelheiten ausgeführt werden kann, und dass manche Merkmale, die im Stand der Technik wohlbekannt sind, nicht im Einzelnen beschrieben werden, um eine Komplikation des offenbarten Gegenstandes zu vermeiden. Zusätzlich versteht es sich, dass die unten bereitgestellten Beispiele beispielhaft sind, und dass erwogen wird, dass es andere Systeme und Verfahren gibt, die innerhalb des Umfangs des offenbarten Gegenstands liegen.
  • Entfernungsabtasten ist in einer Vielzahl von Anwendungen von Bedeutung, die vom Verständnis eines 3D-Profils eines Objekts oder einer Szene profitieren können. Entfernungsabtasten kann besonders nützlich sein in industriellen Anwendungen wie zum Beispiel in der Überwachung der Qualität hergestellter Objekte und dem Verwerfen von Objekten mit Defekten.
  • Entfernungsabtasten kann mittels eines Entfernungssensorsystems durchgeführt werden. 1 veranschaulicht ein beispielhaftes Entfernungssensorsystem mit einem Laserscannersystem in Übereinstimmung mit manchen Ausführungsformen. Das Laserscannersystem 100 umfasst einen Laser 102 zum Bereitstellen von Laserlicht auf ein Objekt 108, eine Linse 104 zum Sammeln von vom Objekt 108 reflektiertem Laserlicht, und einen Sensor 106 zum Einfangen des von der Linse 104 gesammelten Laserlichts. Der Sensor 106 kann in einem Winkel bezüglich des Objekts 108 angeordnet sein, um ein eindimensionales Querschnittsbild (z. B. Querschnittshöhe) des Objekts aufzunehmen unter Verwendung des vom Laser 102 ausgestrahlten Lichts, welches im Wesentlichen orthogonal zu der Plattform ist, die das Objekt 108 hält. Das Laserscannersystem 100 kann das eindimensionale Querschnittsbild durch Analysieren der Deformation des vom Sensor 106 eingefangenen Laserlichts bestimmen.
  • In manchen Fällen scannt das Laserscannersystem 100 das Objekt 108 in einer Dimension. Zum Beispiel stellt das Laserscannersystem 100 eine eindimensionale Laserscanlinie über den Laser 102 zum Objekt 108 bereit und bestimmt die Querschnittshöhe des Objekts entlang jener einen Dimension.
  • In manchen Fällen können das Laserscannersystem 100 und das Objekt 108 sich im Verhältnis zueinander bewegen, um eine zweidimensionale Höhenkarte des Objekts zu bestimmen. Zum Beispiel kann sich das Laserscannersystem 100 an einer festen Position befinden und das Objekt 108 kann im Verhältnis zum Laserscannersystem 100 bewegt werden (zum Beispiel wird das Objekt 108 auf einem sich bewegenden Förderband platziert), so dass das Laserscannersystem 100 das Objekt 108 entlang der Bewegungsrichtung scannen kann. In einem anderen Beispiel kann sich das Objekt 108 an einer festen Position befinden und das Laserscannersystem 100 kann im Verhältnis zum Objekt 108 bewegt werden, so dass das Laserscannersystem 100 das Objekt 108 entlang der Bewegungsrichtung scannen kann.
  • In manchen Fällen kann das Laserscannersystem 100 einen Kodierer umfassen, der den Laser 102 und den Sensor 106 veranlasst, ein eindimensionales Querschnittsbild des Objekts 108 aufzunehmen, wenn das Objekt 108 sich ein vorgegebenes Ausmaß an Entfernung im Verhältnis zum Laserscannersystem 100 bewegt hat. Da das Laserscannersystem 100 einen eindimensionalen (1D) Querschnitt des Objekts 108 auf einmal aufnimmt, kann das Laserscannersystem 100 die aufgenommenen 1D-Querschnitte zusammensetzen, um eine zweidimensionale Höhenkarte zu erstellen. Zum Beispiel kann das Laserscannersystem 100 eine zweidimensionale Höhenkarte erstellen durch Aufstapeln der aufgenommenen 1D-Querschnitte in der Reihenfolge, in der die 1D-Querschnitte aufgenommen wurden.
  • In manchen Fällen kann das Entfernungssensorsystem anstatt eines Laserscannersystems 100 ein stereooptisches System mit einer Vielzahl von Kameras, ein Flugzeitsensorsystem (z. B. ein Entfernungsbildgebungskamerasystem, das Entfernung auflöst basierend auf der bekannten Geschwindigkeit eines Wellensignals, wobei die Flugzeit des Wellensignals zwischen der Kamera und dem Subjekt für jeden Punkt des Bildes gemessen wird) oder ein moduliertes Lichtsystem (z. B. ein Entfernungsbildgebungssystem, das sich ständig veränderndes Licht auf das Subjekt leuchtet, das reflektierte Licht detektiert, und die Entfernung, die das Licht zurückgelegt hat, durch Bestimmung eines Ausmaßes an Phasenverschiebung in dem reflektierten Licht bestimmt.)
  • 2 veranschaulicht eine zweidimensionale Höhenkarte (auch als eine Höhenkarte bezeichnet) 202 eines Objekts (z. B. Objekt 108 aus 1), aufgenommen durch ein Entfernungssensorsystem (z. B. dem Entfernungssensorsystem aus 1) gemäß manchen Ausführungsformen. Die Höhenkarte 202 kann auf einem Pixelgitter oder jeglichen anderen Koordinatensystemen definiert sein. Das Seitenverhältnis eines Pixels (z. B. das Verhältnis zwischen einer Pixellänge entlang der x-Achse und einer Pixelhöhe entlang der y-Achse) kann gleich eins, größer als eins oder kleiner als eins sein. In manchen Ausführungsformen kann das Seitenverhältnis eines Pixels für Pixel in derselben Höhenkarte 202 verschieden sein. In manchen Ausführungsformen kann jeder Pixel eine Höhe (oder Tiefe) eines Objekts wie durch das Entfernungssensorsystem gemessen anzeigen. Zum Beispiel kann ein Pixelwert von 200 eine Höhe anzeigen, die größer ist als ein Pixelwert von 50; ein Pixelwert von 50 kann eine Höhe anzeigen, die größer ist als ein Pixelwert von 10; und ein Pixelwert von 10 kann eine Höhe anzeigen, die größer ist als ein Pixelwert von 0 (z. B. wo ein Wert von 0 die Plattform darstellt, die das Objekt hält). In einem anderen Beispiel kann die Polarität der Skala, die die Höhe repräsentiert, geändert werden. Zum Beispiel kann ein Pixelwert von 200 eine Höhe anzeigen, die niedriger ist als ein Pixelwert von 50; ein Pixelwert von 50 kann eine Höhe anzeigen, die niedriger ist als ein Pixelwert von 10; und ein Pixelwert von 10 kann eine Höhe anzeigen, die niedriger ist als ein Pixelwert von 0. In manchen Ausführungsformen kann die Höhenkarte 202 wesentlich größer sein als die in 2 veranschaulichte Version. Zum Beispiel kann die Höhenkarte 1024×1024 Pixel umfassen oder mehr (z. B. 2048×8192 Pixel).
  • In manchen Fällen kann das Entfernungssensorsystem daran scheitern, die Höhe des Objekts an bestimmten Positionen zu ermitteln. Zum Beispiel, mit Bezug auf 1, kann das vom Objekt 108 reflektierte Laserlicht vom Sichtpunkt des Sensors 106 aus durch die physikalische Geometrie des Laserscannersystems 100 im Verhältnis zum Objekt 108 verdeckt sein (z. B. auf Grund einer Einkerbung des Objekts 108). Als ein anderes Beispiel, wenn ein Teil des Objekts 108 ein Loch hat oder glänzend ist, mag das Entfernungssensorsystem keine Höheninformation an jener Position des Objekts 108 ermitteln. Als ein anderes Beispiel, mag das Entfernungssensorsystem keine Höheninformation in bestimmten Teilen des Objekts ermitteln auf Grund von Laser-Speckles, die auf Grund von Mikrostruktur-Oberflächenänderungen auf dem Objekt erzeugt werden können.
  • Wenn das Entfernungssensorsystem daran scheitert, die Höhe des Objekts zu ermitteln, kann das Entfernungssensorsystem solche fehlenden Höhen oder fehlenden Höhenwerte verschieden von anderen Pixeln, die Höhenwerte darstellen, angeben. Zum Beispiel kann das Entfernungssensorsystem solche fehlenden Höhen oder fehlenden Höhenwerte als die auf der Höhenkarte 202 gezeigten X-e angeben. Als ein anderes Beispiel kann das Entfernungssensorsystem solche fehlenden Höhen oder fehlenden Höhenwerte als ein getrenntes Maskenbild darstellen. Das Maskenbild kann angeben, welche Pixel gültige Höhenwerte angeben (z. B. Pixel mit einem Wert „1”) und welchen Pixeln Höhenwerte fehlen (z. B. Pixel mit einem Wert „0”). Als ein anderes Beispiel kann das Entfernungssensorsystem solche fehlenden Höhen oder fehlenden Höhenwerte als ein Extrabit darstellen, das zu jedem Pixel der Höhenkarte hinzugefügt ist. Jeder Pixel in der Höhenkarte kann ein Extrabit umfassen, das angibt, ob dem assoziierten Pixel ein Höhenwert fehlt. In noch weiteren Beispielen kann das Entfernungssensorsystem solche fehlenden Höhen oder fehlenden Höhenwerte durch Ausweisen eines bestimmten Wertes als bezeichnend für einen fehlenden Höhenwert darstellen. Zum Beispiel kann, wenn ein Wert eines Pixels in der Höhenkarte 0 ist, dass bezeichnend sein für die Tatsache, dass der Höhenwert für jenen Pixel der Höhenkarte fehlt.
  • Die Höhenkarte 202 kann mittels einer Rechnervorrichtung verarbeitet werden, um Stellungsinformation über das Objekt 108 zu bestimmen. Zum Beispiel kann die Rechnervorrichtung die Höhenkarte verarbeiten, um die Stellung des Objekts zu bestimmen, einschließlich einer Position, einer Orientierung und einer Neigung des Objekts. Die Stellungsinformation über das Objekt 108 kann in einer Vielzahl von Anwendungen nützlich sein. Zum Beispiel kann die Stellungsinformation über das Objekt 108 wichtig sein in der Überwachung elektronischer Anordnungen, der Begutachtung von Halbleiterpaketen oder der Digitalisierung von 3D-Tonmodellen.
  • Weil die relative Bewegung des Objekts 108 im Verhältnis zum Entfernungssensorsystem schnell sein kann, sollte die Rechnervorrichtung einen effizienten Mechanismus für die Bestimmung der Stellungsinformation über das Objekt 108 verwenden. Leider können bestehende Mechanismen für die Bestimmung der Stellungsinformation über ein Objekt komplex und zeitaufwändig sein. Zum Beispiel bestimmen die meisten Mechanismen die Stellungsinformation über ein Objekt mittels Durchführung einer 3D-Registrierung der Höhenkarte, was bekanntermaßen komplex und berechnungsintensiv ist. Daher kann ein Entfernungsscannersystem konfiguriert werden, einen effizienten Mechanismus zur Bestimmung von Stellungsinformation über ein Objekt bereitzustellen, wie hierin ausführlicher beschrieben.
  • Die offenbarten Apparate, Systeme und Verfahren stellen einen effizienten Mechanismus zur Bestimmung von Stellungsinformation über ein Objekt bereit. Die offenbarten Apparate, Systeme und Verfahren können Stellungsinformation über ein Objekt bereitstellen durch Verarbeitung von 1D-Schnitten einer Höhenkarte, die mit dem Objekt assoziiert ist. Ein 1D-Schnitt ist eine Anordnung von Pixelwerten der zugrundeliegenden Höhenkarte, wie etwa eine eindimensionale Anordnung von Pixelwerten. Wie hierin bereitgestellt kann ein 1D-Schnitt einer Höhenkarte generiert werden durch Bereitstellen eines Liniensegments, mit einer Vielzahl von Plätzen, über der Höhenkarte und Berechnen eines geeigneten Höhenkartenwerts für jeden der Vielzahl von Plätzen in dem Liniensegment, basierend auf den Höhenkartenpixelwerten, die an dem entsprechenden Platz enthalten sind. Verwenden eines 1D-Schnittes ist vorteilhaft, weil der 1D-Schnitt einen einfachen, effizienten Mechanismus zur Bestimmung der Stellungsinformation über ein Objekt ermöglicht. Die offenbarten Apparate und Systeme können auch eine an das Entfernungssensorsystem 100 gekoppelte Rechnervorrichtung umfassen, wobei die Rechnervorrichtung konfiguriert ist, die Höhenkarte von dem Entfernungssensorsystem 100 zu empfangen.
  • In manchen Ausführungsformen kann die Rechnervorrichtung konfiguriert sein, die Stellungsinformation über ein Objekt durch Extrahieren von zwei oder mehr 1D-Schnitten der Höhenkarte zu bestimmen. In manchen Ausführungsformen können ein oder mehr 1D-Schnitte nichtparallel zu einem oder mehr anderen 1D-Schnitten sein. Zum Beispiel kann ein erster 1D-Schnitt von den extrahierten 1D-Schnitten orthogonal zu einem zweiten 1D-Schnitt von den extrahierten 1D-Schnitten sein. Die Rechnervorrichtung kann die 1D-Schnitte der Höhenkarte verwenden, um die Position des Objekts (z. B. einen Translationsvektor [x, y]) und die Höhe des Objekts (z. B. einen Höhenvektor z) zu bestimmen, basierend auf (1) der Position der 1D-Schnitte in der Höhenkarte, (2) einem Winkel zwischen den 1D-Schnitten oder jeder Kombination davon. In manchen Ausführungsformen kann die Rechnervorrichtung auch konfiguriert sein, 1D-Schnitte über eine einzelne Kante eines Objekts zu extrahieren. Zum Beispiel kann ein Objekt eine Vielzahl von Kanten oder Seiten umfassen, wenn es von oben betrachtet wird. Die Rechnervorrichtung kann zwei oder mehr 1D-Schnitte von der einzelnen der Vielzahl von Kanten oder Seiten extrahieren, um eine Rotation des Objekts im Verhältnis zum Höhenvektor z und eine Neigung des Objekts und/oder dergleichen zu bestimmen.
  • 3 veranschaulicht ein computergestütztes Verfahren zum Bestimmen von Stellungsinformation über ein Objekt aus einer Höhenkarte in Übereinstimmung mit manchen Ausführungsformen. In Schritt 302 kann eine Rechnervorrichtung eine Höhenkarte eines Objekts von einem Entfernungssensorsystem empfangen. In Schritt 304 kann die Rechnervorrichtung ein Schnittgenerierungsmodul verwenden, um zwei oder mehr 1D-Schnitte der Höhenkarte zu erstellen. In Schritt 306 kann die Rechnervorrichtung ein Stellungsinformationsgenerierungs-(PIG-)Modul verwenden, um die Stellungsinformation über das Objekt zu bestimmen.
  • Mit Bezug auf Schritt 304 können die 1D-Schnitte der Höhenkarte eine Vielzahl von Pixelwerten über ein Liniensegment der Höhenkarte umfassen. Die Vielzahl von Pixelwerten über ein Liniensegment kann durch Extrahieren von Werten aus der Höhenkarte berechnet werden, was Interpolieren oder Verarbeiten von Pixelwerten in einer Nachbarschaft eines Liniensegments umfassen kann, um die Pixelwerte für das Liniensegment zu bestimmen. Wie in Bezug auf 4 beschrieben kann das Liniensegment eine Vielzahl von entlang einer Dimension angeordneten Plätzen umfassen. Die Auflösung eines 1D-Schnitts kann durch Kontrollieren der Größe der Plätze im Liniensegment kontrolliert werden. In manchen Fällen kann ein Platz im Liniensegment eine Vielzahl von Pixeln in der Höhenkarte bedecken. In solchen Fällen kann das Schnittgenerierungsmodul eine Konsolidierungsoperation über die von dem Platz bedeckten Pixel durchführen, um einen einzelnen Wert für den Platz zu generieren (z. B. etwa Mitteln der bedeckten Pixel).
  • In manchen Fällen kann ein Liniensegment eine „fehlende Höhe” oder einen „fehlenden Höhenwert” umfassen (z. B. „X” in der Höhenkarte 202 von 2). Um zwischen einem ersten Wert eines 1D-Schnitts, der von einem fehlenden Höhenwert herrührt, und einem zweiten Wert des 1D-Schnitts, der von einem ordnungsgemäß aufgenommenen Höhenwert herrührt, zu unterscheiden, kann das Schnittgenerierungsmodul einen Sichtbarkeitsschnitt generieren, der für jeden Platz in dem 1D-Schnitt eine Sichtbarkeit der Werte angibt, aus denen der 1D-Schnitt erstellt wurde. Der Sichtbarkeitsschnitt wird unten mit Bezug auf 5 ausführlicher beschrieben. In manchen Ausführungsformen kann der Sichtbarkeitswert eines bestimmten Pixels einen Anteil von fehlenden Höhenwerten unter den Pixeln, die unter dem Platz in dem 1D-Schnitt liegen, angeben (z. B. das Verhältnis zwischen der Anzahl von fehlenden Höhenwerten und der Anzahl von Pixeln, die unter dem Platz liegen). In anderen Ausführungsformen kann der Sichtbarkeitswert eines bestimmten Pixels eine Anzahl von fehlenden Höhenwerten unter den Pixeln, die unter dem Platz in dem 1D-Schnitt liegen, angeben.
  • Mit Bezug auf Schritt 306 kann ein Stellungsinformationsgenerierungs-(PIG-)Modul in einer Rechnervorrichtung die Stellungsinformation über das Objekt basierend auf in Schritt 304 erstellten 1D-Schnitten bestimmen. In manchen Ausführungsformen kann, wenn das PIG-Modul einen Satz von 1D-Schnitten (von welchen zwei oder mehr nichtparallel sein können) von Entfernungssensorsystem 100 erhält, das PIG-Modul die Position (z. B. einen Translationsvektor [x, y]) des Objekts, die Höhe (z. B. einen Höhenvektor z) des Objekts und/oder dergleichen bestimmen. Zum Beispiel kann das PIG-Modul konfiguriert sein, die Position von Punkten von Interesse zu identifizieren, um die Position, Höhe und jegliche relevante Stellungsinformation über das Objekt zu bestimmen. In manchen Ausführungsformen kann, wenn das PIG-Modul zwei oder mehr 1D-Schnitte entlang einer einzelnen Kante eines Objekts erhält, das PIG-Modul eine Rotation des Objekts im Verhältnis zum Höhenvektor z und, optional, eine Neigung des Objekts berechnen. Das PIG-Modul kann, zum Beispiel, eine Linie identifizieren, die die Positionen der mit den 1D-Schnitten assoziierten Diskontinuitäten modelliert, einen Winkel zwischen der identifizierten Linie und einer Kante des Objekts in einer Basisstellung (z. B. einer Stellung, in der das Objekt angenommenerweise liegt) bestimmen und/oder dergleichen.
  • In manchen Ausführungsformen kann das PIG-Modul Forminformation über das Objekt verwenden, um die Stellungsinformation über das Objekt zu bestimmen (z. B. basierend auf den 1D-Schnitten aus der Höhenkarte). Die Forminformation kann umfassen (1) eine Anzahl von Kanten des Objekts, (2) eine relative Position von Kanten im Verhältnis zu anderen Kanten im Objekt und/oder (3) einen Winkel zwischen Kanten im Objekt, oder jegliche andere Forminformation. In manchen Fällen kann die Forminformation auch eine Basisstellung des Objekts umfassen. Zum Beispiel kann die Forminformation angeben, dass die bekannte Konfiguration des Objekts falls es in einer Basisstellungsposition ist.
  • In manchen Ausführungsformen kann die Forminformation dem PIG-Modul bereitgestellt (z. B. vorkonfiguriert) werden, bevor die Stellungsinformation berechnet wird. Zum Beispiel kann das PIG-Modul die Forminformation im Speicher der Rechnervorrichtung pflegen. Das PIG-Modul kann die Forminformation in Verbindung mit den 1D-Schnitten verwenden, um die Stellungsinformation über das Objekt zu bestimmen.
  • In manchen Ausführungsformen kann das Schnittgenerierungsmodul einen 1D-Schnitt einer Höhenkarte in einer willkürlichen Orientierung (z. B. verglichen mit der Orientierung der Höhenkarte) generieren. Das Schnittgenerierungsmodul kann eine Operation durchführen, die mathematisch ähnlich ist zum Rotieren einer Höhenkarte und Extrahieren einer Reihe (oder, genauer, mehrere Reihen zu extrahieren und sie zusammenmitteln). Jedoch kann das Schnittgenerierungsmodul wie hierin offenbart viel effizienter sein, weil das Schnittgenerierungsmodul keine unnötigen Berechnungen durchführen muss, wie etwa eine Rotation mancher Regionen in der Höhenkarte, die nicht zu dem gewünschten 1D-Schnitt beitragen. Des Weiteren kann das Schnittgenerierungsmodul wie hierin offenbart fähig sein, einen Sichtbarkeitsschnitt zu generieren, der einen Konfidenzwert für jeden der Pixel im 1D-Schnitt bereitstellt.
  • 4 veranschaulicht einen Prozess zum Generieren eines 1D-Schnitts einer Höhenkarte unter Verwendung eines Schnittgenerierungsmoduls in Übereinstimmung mit manchen Ausführungsformen. Das Schnittgenerierungsmodul kann konfiguriert sein, einen 1D-Schnitt der Höhenkarte 202 in willkürlichen Orientierungen an willkürlichen Raumpositionen in der Höhenkarte zu generieren. Zum Beispiel kann das Schnittgenerierungsmodul konfiguriert sein, einen 1D-Schnitt entlang einer Richtung zu berechnen, die durch einen Winkel φ im Verhältnis zur Richtung der Objektbewegung definiert ist.
  • In manchen Ausführungsformen kann das Schnittgenerierungsmodul einen 1D-Schnitt einer Höhenkarte 202 generieren durch Bereitstellen eines Liniensegments mit einem Gitter 402 über der Höhenkarte 202. Das Gitter 402 kann eine Vielzahl von Plätzen 404 umfassen, jeder Platz zum Speichern eines Höhenwertes des 1D-Schnitts. Wenn ein Platz 404 im Gitter 402 mehr als einen Pixel der Höhenkarte 202 bedeckt, kann das Schnittgenerierungsmodul eine Konsolidierungsoperation über die von dem Platz 402 bedeckten Pixel durchführen, um einen Wert für den Platz 404 zu bestimmen. Die Konsolidierungsoperation über die bedeckten Pixel kann eine Mittelungsoperation über die Pixel, eine gewichtete Mittelungsoperation über nichtfehlende Pixel basierend auf einer vom Platz 404 bedeckten Fläche, eine Medianoperation zum Berechnen eines Medianwertes der Pixel, eine Maximumoperation zum Auffinden des Maximalwertes der Pixel, eine Minimumoperation zum Auffinden des Minimalwertes der Pixel, eine Regressionsoperation, die Werte der Pixel auf einen Wert für den Platz 404 kartiert, und/oder andere bekannte Typen von Operationen umfassen. Die Konsolidierungsoperation kann auch eine Schwellenoperation über einen Sichtbarkeitsschnitt umfassen. Zum Beispiel kann die Konsolidierungsoperation einen Wert eines Platzes in dem Sichtbarkeitsschnitt auf eine „0” festlegen, wenn der Wert des Platzes in dem Sichtbarkeitsschnitt niedriger ist als die vorgegebene Schwelle; und die Konsolidierungsoperation kann einen Wert eines Platzes in dem Sichtbarkeitsschnitt auf eine „1” festlegen, wenn der Wert des Platzes in dem Sichtbarkeitsschnitt höher als oder gleich ist wie die vorgegebene Schwelle.
  • In manchen Ausführungsformen kann das Schnittgenerierungsmodul die Auflösung des 1D-Schnittes durch Kontrollieren der Granularität des Gitters 402, das über der Höhenkarte 202 liegt, kontrollieren (z. B. durch Anpassen der Länge 406 und/oder der Breite 408, um mehr oder weniger Pixel aufzunehmen). Zum Beispiel kann, wenn das Schnittgenerierungsmodul einen 1D-Schnitt mit geringerer Auflösung generieren möchte, das Schnittgenerierungsmodul eine Länge 406 des Platzes 404 in dem Gitter 402 erhöhen. In manchen Ausführungsformen kann das Schnittgenerierungsmodul Geräusche in der Höhenkarte glätten, ohne die Auflösung des 1D-Schnittes zu opfern, indem die Breite 408 des Platzes 404 in dem Gitter 402 erhöht wird.
  • In manchen Fällen kann die Höhenkarte fehlende Höhenwerte umfassen, die Instabilität im PIG-Modul auslösen können. Daher kann in manchen Ausführungsformen das Schnittgenerierungsmodul einen Sichtbarkeitsschnitt bereitstellen, der die Sichtbarkeit von Pixeln angibt, die dem 1D-Schnitt zugrunde liegen. Der Sichtbarkeitsschnitt kann dieselbe Dimensionalität wie der 1D-Schnitt haben, und jeder Pixel im Sichtbarkeitsschnitt kann ein Vertrauen in den entsprechenden Pixelwert in dem 1D-Schnitt angeben. In manchen Fällen kann ein Pixel im Sichtbarkeitsschnitt einen Anteil von fehlenden Höhenwerten unter den Pixeln, die dem Platz 404 zugrunde liegen, angeben; in anderen Fällen kann ein Pixel im Sichtbarkeitsschnitt eine Anzahl von fehlenden Höhenwerten unter den Pixeln, die dem Platz 404 zugrunde liegen, angeben.
  • 5 veranschaulicht einen 1D-Schnitt und seinen Sichtbarkeitsschnitt in Übereinstimmung mit manchen Ausführungsformen. Der 1D-Schnitt 502 gibt einen vom System erstellten 1D-Schnitt an (z. B. basierend auf dem Gitter 402 und der Höhenkarte 202 von 4). Der Sichtbarkeitsschnitt 504 umfasst eine Sichtbarkeitsmetrik für jeden Platz in dem 1D-Schnitt 502, die ein Vertrauen in den Platz basierend auf den Werten, mit denen der Platz berechnet wurde, angibt. In manchen Ausführungsformen wird die Sichtbarkeitsmetrik berechnet basierend auf einem Anteil von fehlenden Höhenwerten unter den Pixeln, die benutzt wurden, um den Platz des 1D-Schnitts zu berechnen. In dieser beispielhaften Ausführungsform wurde ein Wert für einen Platz in dem 1D-Schnitt berechnet durch Mitteln von nichtfehlenden Höhenwerten von Höhenkartenpixeln, die vom Platz 404 in dem Gitter 402 bedeckt werden. Zum Beispiel wurde der Wert des Platzes 506 in dem 1D-Schnitt 502 berechnet durch Mitteln von Pixeln unter dem Platz 404a des Gitters 402 in 4. Der entsprechende Platz 508 in dem Sichtbarkeitsschnitt 504 gibt an, dass 30 Prozent der Höhenkartenpixel am Platz 404a sichtbar waren (z. B. in der Höhenkarte nicht fehlten, wie etwa auf Grund von Beschattung, Löchern usw. auf dem Objekt). Als ein anderes Beispiel gibt ein Sichtbarkeitswert von 100 Prozent wie an Platz 510 gezeigt an, dass alle Pixel an dem entsprechenden Platz 512 des 1D-Schnittes 502 sichtbar waren.
  • Daher hat, wie in dem Beispiel von 5 gezeigt, jeder Platz (z. B. jeder Pixel) des 1D-Schnittes 502 einen mit ihm assoziierten Sichtbarkeitswert in dem Sichtbarkeitsschnitt 504, welcher auf Grund der Lasersensordaten berechnet wird (z. B. ob die Pixel in der zugrunde liegenden Höhenkarte entweder sichtbar oder nicht sichtbar sind). In manchen Ausführungsformen kann der 1D-Schnitt aus einem Satz von Entfernungsbildern erstellt werden, und die Sichtbarkeitsmetriken können über den Satz von Entfernungsbildern gemittelt werden, um die Sichtbarkeitsmetrik für jeden 1D-Schnittplatz zu berechnen. In manchen Ausführungsformen wie in 5 gezeigt liegen die Sichtbarkeitsmetriken im Bereich von [0–100%], wo 0% vollständig nicht sichtbar und 100% vollständig sichtbar anzeigt. In anderen Ausführungsformen ist die Sichtbarkeitsmetrik normalisiert, um in dem Bereich [0..1] zu liegen, wobei 0 vollständig nicht sichtbar ist und 1 vollständig sichtbar ist.
  • Das Schnittgenerierungsmodul kann in einer Vielzahl von Anwendungen verwendet werden. Zum Beispiel kann das Schnittgenerierungsmodul verwendet werden, um Stellungsinformation über durch eine Höhenkarte aufgenommene Objekte zu bestimmen, wie unten ausführlich beschrieben. Als ein anderes Beispiel kann das Schnittgenerierungsmodul auch verwendet werden, um Überschneidungen zu orten oder Entfernungen zwischen Merkmalen in drei Dimensionen zu messen. Zum Beispiel kann das Schnittgenerierungsmodul verwendet werden, um Ecken in der Höhendimension zu suchen, Linien an die Schnittdaten anzupassen (was die Berechnung von Winkeln erlaubt) oder Kurven an die Schnittdaten anzupassen. Der Sichtbarkeitsschnitt kann verwendet werden, wenn diese Funktionen wie oben beschrieben ausgeführt werden. Die resultierenden Punkte können dann selbst verwendet werden, um Überschneidungen zu orten oder Entfernungen zwischen Merkmalen in 3D zu messen. Als ein anderes Beispiel kann das Schnittgenerierungsmodul verwendet werden, um ein bestimmtes Muster auf der Höhenkarte zu orten. Zum Beispiel kann das Schnittgenerierungsmodul einen 1D-Schnitt erstellen, welcher mit einem gewünschten Muster korreliert (oder verglichen) werden kann, um das gewünschte Muster in der Höhenkarte zu orten.
  • Oft umfasst die Höhenkarte nicht nur die Entfernungsinformation (z. B. Höheninformation) über ein Objekt, sondern auch andere Informationen wie etwa die Entfernungsinformation eines das Objekt umgebenden Hintergrunds, wie etwa eines Förderbands. Um den Bereich zu beschränken, in welchem die Merkmale extrahiert und Messungen aufgenommen werden, kann die Höhenkarte mit einer Region von Interesse assoziiert sein, die einen Bereich angibt, in dem die Höhenkarte verarbeitet werden kann. Die Region von Interesse kann einen Satz von zweidimensionalen Formen umfassen, umfassend zum Beispiel affine Rechtecke und zirkuläre Ringsektoren. In manchen Fällen kann die Region von Interesse unter Verwendung einer Kantendetektionstechnik automatisch detektiert werden. In anderen Fällen kann die Region von Interesse von einem Nutzer bereitgestellt werden, der eine Nutzerschnittstelle verwendet. Zum Beispiel kann ein Nutzer eine oder mehr zweidimensionale Formen auf eine Höhenkarte zeichnen, um die Region von Interesse zu identifizieren.
  • In manchen Ausführungsformen kann, wenn der 1D-Schnitt bereits von einer Höhenkarte generiert worden ist, die Region von Interesse direkt auf dem 1D-Schnitt definiert werden. Auf diese Weise können relevante Merkmale des 1D-Schnittes nur innerhalb der Region von Interesse extrahiert werden.
  • In manchen Fällen kann die Höhenkarte verwendet werden, um Stellungsinformation über das durch die Höhenkarte aufgenommene Objekt zu bestimmen, wie etwa die Position, die Orientierung und/oder die Neigung des Objekts. In manchen Ausführungsformen kann die Stellungsinformation über ein durch die Höhenkarte aufgenommenes Objekt bestimmt werden unter Verwendung eines Schnittgenerierungsmoduls und eines PIG-Moduls in einer Rechnervorrichtung, wie ausführlicher mit Bezug auf 15 erklärt. Zum Beispiel kann das Schnittgenerierungsmodul zwei oder mehr nichtparallele 1D-Schnitte einer Höhenkarte generieren. Anschließend kann das PIG-Modul die zwei oder mehr nichtparallelen 1D-Schnitte verwenden, um die Position (z. B. einen Translationsvektor [x, y]) und die Höhe (z. B. einen Höhenvektor z) eines Objekts zu bestimmen. Als ein anderes Beispiel kann das PIG-Modul 1D-Schnitte entlang einer einzelnen Kante eines Objekts verwenden, um die Rotation des Objekts im Verhältnis zum Höhenvektor z, die Neigung des Objekts und/oder dergleichen zu bestimmen.
  • 6 veranschaulicht ein computergestütztes Verfahren zum Bestimmen der Position und der Höhe eines Objekts mittels zwei oder mehr 1D-Schnitte einer Höhenkarte in Übereinstimmung mit manchen Ausführungsformen, und 7 stellt eine Veranschaulichung des Prozesses von 6 in Übereinstimmung mit manchen Ausführungsformen bereit. In Schritt 602 empfängt das Schnittgenerierungsmodul eine Höhenkarte und ruft Forminformation über ein Objekt von Interesse ab. Wie in 7 veranschaulicht, kann die Höhenkarte 702 Entfernungsinformation über das Objekt 704 umfassen. Die Forminformation kann eine Beschreibung der Kanten in dem Objekt umfassen. Zum Beispiel kann die Beschreibung des Objekts angeben, dass das Objekt mindestens zwei starre, gerade, nichtparallele Kanten 706, 708 umfasst. In manchen Ausführungsformen kann die Forminformation relative Positionen und Winkel von einer oder mehr Kanten 706 im Verhältnis zu anderen Kanten 708 umfassen.
  • In Schritt 604 kann das Schnittgenerierungsmodul zwei oder mehr 1D-Schnitte von der Höhenkarte generieren, wie in 7 als 710 und 712 veranschaulicht. In manchen Ausführungsformen kann das Schnittgenerierungsmodul den in 45 beschriebenen Schnittgenerierungsmechanismus verwenden. In manchen Fällen kann das Schnittgenerierungsmodul 1D-Schnitte 710, 712 generieren, die nicht parallel zueinander sind. Zum Beispiel kann das Schnittgenerierungsmodul 1D-Schnitte 710, 712 generieren, die senkrecht zu einer oder mehr möglichen Kanten in einer Höhenkarte (z. B. die Kanten 706, 708 entsprechen können) in der in Schritt 602 identifizierten Information über das Objekt sind. In manchen Ausführungsformen kann das Schnittgenerierungsmodul eine Positionsaufzeichnung pflegen, die eine Position der 1D-Schnitte in der Höhenkarte angibt.
  • In manchen Ausführungsformen kann das Schnittgenerierungsmodul eine potenzielle Position eines Objekts in der Höhenkarte abschätzen und 1D-Schnitte in der geschätzten Nachbarschaft des Objekts generieren, mit dem Ziel, dass die 1D-Schnitte die Objektkanten in der Höhenkarte an irgendeinem Punkt schneiden werden. Zum Beispiel kann das Schnittgenerierungsmodul mehrere Pixel aus der Höhenkarte durchtesten und einen Pixel mit dem höchsten Höhenwert als eine geschätzte zentrale Position eines Objekts auswählen. Als ein anderes Beispiel kann das Schnittgenerierungsmodul eine Tiefpassfilterung auf der Höhenkarte vornehmen, um Hochfrequenzgeräusche aus der Höhenkarte zu entfernen, und einen Pixel mit dem höchsten Wert in der tiefpassgefilterten Höhenkarte als eine geschätzte zentrale Position eines Objekts auswählen.
  • In Schritt 606 kann das PIG-Modul die 1D-Schnitte vom Schnittgenerierungsmodul empfangen und Punkte von Interesse in der Höhenkarte basierend auf den erhaltenen 1D-Schnitten identifizieren. In manchen Ausführungsformen umfassen die Punkte von Interesse in der Höhenkarte Diskontinuitäten in 1D-Schnitten. Eine Diskontinuität eines 1D-Schnitts kann beispielsweise einer Kante eines Objekts entsprechen. Die Kante eines Objekts kann eine plötzliche Änderung in Höhenwerten von einem Hintergrund mit einem konstanten Höhenwert umfassen. Die Kante eines Objekts kann auch eine allmähliche Änderung von Höhenwerten von einem Hintergrund mit einem konstanten Höhenwert umfassen (z. B. im Fall einer abgerundeten Kante oder einer schrägen Kante).
  • In manchen Fällen kann das PIG-Modul die Diskontinuität in einem 1D-Schnitt unter Verwendung eines Diskontinuitätsdetektors detektieren. Der Diskontinuitätsdetektor kann ein eindimensionales Signalverarbeitungswerkzeug umfassen, dass eine Änderung in einem eindimensionalen Signal detektieren kann.
  • In manchen Fällen kann der Diskontinuitätsdetektor konfiguriert sein, Diskontinuität durch Detektieren einer Position in einem 1D-Schnitt zu orten, an dem der Wert des 1D-Schnittes jenseits einer bestimmte Schwelle über einem Basislinienwert ansteigt oder absinkt (z. B. was für eine Kante eines Objekts bezeichnend sein kann). Der Basislinienwert kann basierend auf Statistiken von Werten, die den 1D-Schnitt umfassen, bestimmt werden. In manchen Ausführungsformen kann der Diskontinuitätsdetektor einen Schwellendetektor umfassen, der konfiguriert ist, die Diskontinuität durch Detektieren einer Position in einem 1D-Schnitt zu orten, an dem der Wert über oder unter einen bestimmten Schwellenwert geht.
  • In manchen Ausführungsformen kann der Diskontinuitätsdetektor an ein bestimmtes Entfernungsscansystem oder ein bestimmtes Objekt von Interesse angepasst sein. Zum Beispiel kann, wenn es bekannt ist, dass ein Objekt vertikale Kanten hat, der Diskontinuitätsdetektor jenes Vorwissen verwenden, um eine vertikale Diskontinuität in den Daten zu finden. Als ein anderes Beispiel kann, wenn es bekannt ist, dass das Objekt ein Pyramidenstumpf ist (z. B. der in 10 gezeigte Pyramidenstumpf), der Diskontinuitätsdetektor jenes Vorwissen verwenden, um einen ersten Punkt in dem 1D-Schnitt zu suchen, an dem die Steigung anzusteigen beginnt, anstatt einer Diskontinuität in den Höhendaten, weil bekannt ist, dass die Höhe eines Pyramidenstumpfs langsam ansteigt. Daher kann der Diskontinuitätsdetektor das Wissen über das Objekt verwenden, um die Diskontinuität in der ersten Ableitung der Höhendaten anstatt der Höhendaten direkt zu suchen. In manchen Ausführungsformen kann der Diskontinuitätsdetektor konfiguriert sein, die Diskontinuität durch Detektieren einer Position in einem 1D-Schnitt, an dem die Steigung der 1D sich jenseits einer bestimmten Schwelle ändert, zu orten. Zum Beispiel kann der Diskontinuitätsdetektor einen Differenzierer, der konfiguriert ist, eine Ableitung eines 1D-Schnittes zu bestimmen, einen Schwellendetektor, der konfiguriert ist, zu bestimmen, wo die Ableitung eines 1D-Schnittes über oder unter einen bestimmten Schwellenwert kreuzt, und/oder dergleichen umfassen.
  • In manchen Ausführungsformen können die Punkte von Interesse in der Höhenkarte Positionen umfassen, an denen 1D-Schnitte an einer eindimensionalen Vorlage ausgerichtet sind. Zum Beispiel kann das PIG-Modul eine eindimensionale Vorlage entsprechend einem zu suchenden Muster pflegen. Die eindimensionale Vorlage kann ein Schrittfunktionssignal, ein Rampenfunktionssignal, ein trapezoides Funktionssignal oder jegliches andere geeignet geformte zu suchende Funktionssignal umfassen. In manchen Fällen ist die eindimensionale Vorlage kürzer als die 1D-Schnitte.
  • In manchen Ausführungsformen kann das PIG-Modul konfiguriert sein, die Punkte von Interesse in der Höhenkarte durch Identifizieren von Positionen, an denen 1D-Schnitte an der eindimensionalen Vorlage ausgerichtet sind, zu identifizieren. In manchen Fällen ist das PIG-Modul konfiguriert, Positionen, an denen 1D-Schnitte an der eindimensionalen Vorlage ausgerichtet sind, zu identifizieren durch (1) Korrelieren der eindimensionalen Vorlage mit einem oder mehr der 1D-Schnitte und (2) Identifizieren von einer oder mehr Positionen, an denen die Korrelation zwischen der eindimensionalen Vorlage und dem einen oder mehr 1D-Schnitten die höchste oder höher als eine vorbestimmte Schwelle ist. Zum Beispiel kann das PIG-Modul konfiguriert sein, um (1) eine Korrelation zwischen der eindimensionalen Vorlage mit einem 1D-Schnitt zu berechnen, (2) die eindimensionale Vorlage um ein Pixel zu verschieben, (3) Schritte (1) und (2) für alle möglichen Verschiebungen zu wiederholen und (4) das Ausmaß an Verschiebung zu identifizieren, bei dem die Korrelation zwischen der eindimensionalen Vorlage und dem einen oder mehr 1D-Schnitten die höchste oder höher als eine vorbestimmte Schwelle ist.
  • Sobald das PIG-Modul die Punkte von Interesse in 1D-Schnitten identifiziert, kann das PIG-Modul die Punkte von Interesse in den 1D-Schnitten auf ihre Positionen in der ursprünglichen Höhenkarte übertragen. Das PIG-Modul kann Positionen der 1D-Schnitte in der ursprünglichen Höhenkarte verwenden, um Positionen von Punkten von Interesse in den 1D-Schnitten auf Positionen in der Höhenkarte zu übertragen. Zum Beispiel kann, wenn der Diskontinuitätsdetektor einen Kantenpunkt eines Objekts identifiziert hat, das PIG-Modul die detektierte Kante in eine Position in der Höhenkarte übertragen, um zu identifizieren, wo die Kante in der Höhenkarte ist. Dann kann das PIG-Modul einen Höhenwert an den identifizierten Diskontinuitäten in der Höhenkarte bestimmen und dadurch Höheninformation über das Objekt bestimmen. Zum Beispiel kann das PIG-Modul einen Höhenwert an den identifizierten Diskontinuitäten durch Durchtesten von Werten der Höhenkarte an den identifizierten Diskontinuitäten identifizieren.
  • In Schritt 608 kann das PIG-Modul eine Position des Objekts in der Höhenkarte bestimmen basierend auf der Position der in Schritt 606 identifizierten Punkte von Interesse und der Forminformation über das Objekt. Zum Beispiel kann das PIG-Modul die Forminformation, die relative Positionen und Winkel von einer oder mehr Kanten in dem Objekt liefert, in absolute Positionen von einer oder mehr Kanten in dem Objekt umwandeln.
  • In manchen Fällen kann die Höhenkarte fehlende Höhenwerte umfassen. Die fehlenden Höhenwerte können Instabilität in dem PIG-Modul verursachen. Zum Beispiel können fehlende Höhenwerte zu unsicheren oder falschen Berechnungen führen, die in der Höhenkarte enthaltene Information nicht angemessen darstellen. Wenn es entlang einer ansonsten geraden Linie fehlende Höhenwerte gibt, wäre es möglich, jene Linie dahingehend fehlzuinterpretieren, dass sie tatsächliche Löcher hat. In einem anderen Beispiel können mit einem derzeitigen Laserscansystem fehlende Werte sich an Ecken befinden. Das kann das Bestimmen der exakten Position der Ecke zur Herausforderung machen.
  • Daher kann das PIG-Modul in manchen Ausführungsformen konfiguriert sein, 1D-Schnitte zu verwerfen, die aus einer großen Anzahl von fehlenden Höhenwerten herrühren. Zum Beispiel kann, wenn der Sichtbarkeitsschnitt einen Anteil an fehlenden Höhenwerten in Pixeln, die dem 1D-Schnitt zugrunde liegen, angibt, das PIG-Modul bestimmen, ob irgendeiner der Werte in dem Sichtbarkeitsschnitt geringer als eine vorgegebene Schwelle ist, wie etwa 30%. Falls ja, kann das PIG-Modul den 1D-Schnitt verwerfen, der mit diesem Sichtbarkeitsschnitt assoziiert ist, und das Schnittgenerierungsmodul auffordern, einen neuen 1D-Schnitt bereitzustellen. Als ein anderes Beispiel kann, wenn der Sichtbarkeitsschnitt eine Anzahl an fehlenden Höhenwerten, die dem 1D-Schnitt zugrunde liegen, angibt, das PIG-Modul bestimmen, ob die Anzahl an fehlenden Höhenwerten geringer als eine vorgegebene Schwelle ist, wie etwa zwei. Falls ja, kann das PIG-Modul den 1D-Schnitt verwerfen, der mit diesem Sichtbarkeitsschnitt assoziiert ist, und das Schnittgenerierungsmodul auffordern, einen neuen 1D-Schnitt bereitzustellen.
  • In manchen Ausführungsformen kann das PIG-Modul den Sichtbarkeitsschnitt beim Anpassen einer Linie an den 1D-Schnitt verwenden. Zum Beispiel kann das PIG-Modul den Sichtbarkeitsschnitt verwenden, um eine gewichtete Linienanpassung durchzuführen. Eine gewichtete Kleinste-Quadrate-Anpassung zum Beispiel kann eine genauere Anpassung an Linien ergeben, indem sie Höhenwerten, die eine geringere Konfidenz haben (oder vollständig nicht sichtbar sind) eine geringere Bedeutung gibt.
  • In manchen Ausführungsformen kann das PIG-Modul die Rotation eines Objekts um einen Höhenvektor (z. B. eine Richtung, in der die Höhe eines Objekts gemessen wird) bestimmen, wenn eine Vielzahl von 1D-Schnitten für eine einzelne Kante eines Objekts verfügbar sind. 8 veranschaulicht einen Mechanismus zum Bestimmen der Rotation eines Objekts in Übereinstimmung mit manchen Ausführungsformen. 8 zeigt eine Höhenkarte 802 mit Entfernungsinformation über ein Objekt 804. In dieser Veranschaulichung wird das Objekt 804 um einen Winkel von φ im Verhältnis zu einer Basisstellung 806 rotiert, die durch die Forminformation über das Objekt angegeben ist. Das PIG-Modul kann eine Vielzahl von 1D-Schnitten, zum Beispiel 808 und 810, quer über eine einzelne Kante eines Objekts, wie etwa 812, verwenden, um den Rotationswinkel φ im Verhältnis zu einer Basisstellung 806 (oder jeglicher anderen Basisstellung des Objekts 804) zu bestimmen.
  • 9 veranschaulicht ein computergestütztes Verfahren zum Bestimmen der Rotation eines Objekts um einen Höhenvektor in Übereinstimmung mit manchen Ausführungsformen. In Schritt 902 kann das PIG-Modul 1D-Schnitte einer Höhenkarte generieren (z. B. wie in Schritten 602608 von 6 beschrieben). In diesem Fall kann das PIG-Modul mindestens zwei 1D-Schnitte 808, 810 entlang einer einzelnen Kante eines Objekts generieren und Positionen von mindestens zwei Punkten von Interesse einholen, z. B. Diskontinuitäten 814, 816 entlang einer einzelnen Kante eines Objekts.
  • In Schritt 904 kann das PIG-Modul eine Linie identifizieren, die die in Schritt 902 identifizierten zwei oder mehr Punkte von Interesse modelliert. Zum Beispiel kann, wenn das PIG-Modul zwei Punkte von Interesse in Schritt 902 identifiziert, das PIG-Modul eine Linie identifizieren, die durch die zwei Punkte von Interesse geht. Als ein anderes Beispiel kann, wenn das PIG-Modul mehr als zwei Punkte von Interesse in Schritt 902 identifiziert hat, das PIG-Modul eine Linie an jene Punkte von Interesse anpassen. Zum Beispiel kann das Anpassen unter Verwendung einer Standard-Linienanpassungstechnik durchgeführt werden. Zum Beispiel kann das PIG-Modul eine Linie identifizieren, die eine Summe von orthogonalen Entfernungen zwischen den Punkten von Interesse und der Linie minimiert.
  • In Schritt 906 kann das PIG-Modul einen Winkel zwischen der Linie und der mutmaßlichen Orientierung der Kante des Objekts bestimmen. Da das PIG-Modul die mutmaßliche Orientierung der Kante des Objekts basierend auf den Forminformationen über das Objekt ableiten kann, kann das PIG-Modul den Winkel zwischen der Linie und der mutmaßlichen Orientierung schnell bestimmen. In manchen Ausführungsformen kann das PIG-Modul den Winkel zwischen der Linie und der mutmaßlichen Orientierung der Linie unter Verwendung einer Punktproduktoperation der Richtungen der Linie berechnen.
  • In manchen Ausführungsformen kann das PIG-Modul die Genauigkeit des geschätzten Rotationswinkels durch mehrmaliges Wiederholen der Schritte 902906 unter Verwendung verschiedener Kanten des Objekts verbessern. Zum Beispiel kann das PIG-Modul die Schritte 902906 unter Verwendung von 1D-Schnitten 818, 820 an einer anderen Kante des Objekts 804 wiederholen und dadurch eine Linie identifizieren, die die Punkte von Interesse modelliert, z. B. Diskontinuitäten 822, 824 an dieser Kante des Objekts 804. Dann kann das PIG-Modul eine weitere Abschätzung des Rotationswinkels basierend auf dieser neuen Linie generieren. Auf diese Weise kann das PIG-Modul zusätzliche Abschätzungen des Rotationswinkels zwischen der Basisstellung 806 und der tatsächlichen Stellung des Objekts 804 erstellen. Das PIG-Modul kann die verschiedenen Abschätzungen des Rotationswinkels verarbeiten, um eine einzige verlässliche Abschätzung des Rotationswinkels bereitzustellen. Auf diese Weise kann das PIG-Modul Geräusche in der Rotationswinkelabschätzung verringern. In manchen Ausführungsformen kann das PIG-Modul die verschiedenen Abschätzungen des Rotationswinkels verarbeiten unter Verwendung von einem oder mehr von: einer Mittelungsoperation, einer Medianoperation oder einer Regressionsoperation, die die verschiedenen Abschätzungen des Rotationswinkels auf eine einzige Abschätzung des Rotationswinkels kartiert.
  • In manchen Ausführungsformen kann das PIG-Modul die Neigung eines Objekts abschätzen. Zum Beispiel kann das PIG-Modul die Höhenwerte an jedem der detektierten Punkte von Interesse bestimmen und eine Ebene an jene Höhenwerte anpassen. Jene angepasste Ebene kann die Höhe der oberen (oder der unteren) Oberfläche des Objekts darstellen, was eine Neigungsinformation über das Objekt bereitstellt (unter der Annahme, dass die Oberfläche des Objekts dieselbe Höhe hat). In manchen Fällen kann das PIG-Modul, anstatt eine Ebene an die Höhenwerte anzupassen, die gemessenen Höhenwerte an erwartete Höhenwerte angleichen, die in einem goldenen Vorlagenmodell des gescannten Objekts spezifiziert sind. Das goldene Vorlagenmodell ist ein Modell, das Höhenwerte darstellen kann, von denen erwartet wird, dass sie gefunden werden. Das goldene Vorlagenmodell kann zum Beispiel ein vorgegebenes Teilmodell umfassen, das die zu findende Höhe des Objekts in der Höhenkarte spezifiziert. In diesem Fall kann das PIG-Modul das goldene Vorlagenmodell mit der Höhenkarte korrelieren, um den Höhenunterschied zwischen der Höhenkarte und den erwarteten Höhenwerten gemäß dem goldenen Vorlagenmodell zu bestimmen, und den Unterschied verwenden, um die Neigung des Objekts zu bestimmen.
  • Der in 9 veranschaulichte Prozess kann verwendet werden, um die Position des Objekts, die Höhe des Objekts und den Neigungswinkel der oberen Oberfläche zu bestimmen. Zur Veranschaulichung der Anwendung des Prozesses in 9 nehme man der Einfachheit halber an, dass bekannt ist, dass die Form des Objekts ein flaches quadratisches Oberende hat, welches um einen unbekannten Winkel geneigt sein kann und welches auch eine kleine Rotation um die Z-Achse haben kann, die nach oben zeigt (z. B. eine Rotation, wenn von oben betrachtet).
  • Um die Position des Objekts, die Höhe des Objekts und den Neigungswinkel der oberen Oberfläche zu bestimmen, ist das PIG-Modul konfiguriert, mindestens zwei 1D-Parallelschnitte aufzustellen (d. h. entlang der X-Achse des ursprünglichen Bildes), die lang genug sind um sicherzustellen, dass sie das ganze Objekt durchqueren, getrennt durch einen vernünftigen Prozentsatz der Größe des Objekts, zum Beispiel 20%. Unter Verwendung des Diskontinuitätsdetektors kann das PIG-Modul die Positionen des Anfangs und Endes des quadratischen Oberendes in jedem 1D-Schnitt bestimmen. Durch Rückumwandeln dieser Punkte in die Höhenkarte des Objekts kann das PIG-Modul vier Punkte im Raum des Objekts bestimmen – zwei, die Punkte entlang der linken Kante des flachen Oberendes darstellen, und zwei entlang der rechten Kante.
  • Das PIG-Modul kann den Rotationswinkel des Objekts durch Bestimmen des Winkels des Vektors bestimmen, der zwischen den zwei auf die linke Kante fallenden Punkten und den zwei auf der rechten Kante gebildeten Punkten gebildet wird. Das PIG-Modul kann die numerischen Ungenauigkeiten auf Grund eines Scannerfehlers, numerischen Fehlers oder anderer Fehlerquellen durch Mitteln der zwei Winkel verringern, die durch die linken und rechten Kantenpunkten berichtet werden.
  • Das PIG-Modul kann die Höhe und Neigung des flachen Oberendes bestimmen durch Untersuchen der Höhenwerte dieser vier Punkte in der Höhenkarte und Identifizieren der von diesen Punkten dargestellten Ebene mittels eines einfachen Anpassungsverfahrens.
  • Das PIG-Modul kann auch die x-Koordinate der Mitte des flachen Oberendes durch Mitteln der x-Koordinatenposition der linken und rechten Kantenpositionen aus dem ersten Schnitt oder der x-Koordinatenposition der linken und rechten Kantenpositionen aus dem zweiten Schnitt bestimmen. In manchen Fällen kann das PIG-Modul alle vier x-Koordinatenpositionen bestimmen, um die Genauigkeit zu verbessern.
  • Das PIG-Modul kann den obigen Prozess für ein zweites Paar von 1D-Parallelschnitten entlang der vertikalen Dimension wiederholen. Auf diese Weise kann das PIG-Modul die y-Koordinatenposition der Mitte des flachen Oberendes bestimmen. Des Weiteren kann das PIG-Modul diese 1D-Parallelschnitte verwenden, um die Höhenwerte und den Rotationswinkel des flachen Oberendes zu bestimmen und jene Ergebnisse mit den Ergebnissen aus dem ersten Paar von 1D-Parallelschnitten mitteln, um die Genauigkeit der Abschätzungen zu verbessern.
  • 10 veranschaulicht eine Höhenkarte eines Pyramidenstrukturobjekts und mehrere 1D-Schnitte, die durch Kanten im Objekt gehen, zum Zwecke der Veranschaulichung, wobei die dunkleren Pixel weiter weg vom Sensor sind als die helleren Pixel. Die Höhenkarte 1002 umfasst ein Bild eines Objekts 1004 sowie eine Platte 1006, auf der das Objekt 1004 platziert ist. In manchen Ausführungsformen kann das Schnittgenerierungsmodul konfiguriert sein, einen Schnitt der Höhenkarte in Gebieten zu generieren, die es erlauben, ein Objekt einfach zu identifizieren. Zum Beispiel kann das Schnittgenerierungsmodul konfiguriert sein, 1D Schnitte durch bekannte Löcher der Platte 1006 zu generieren, wie etwa Schnitte 1008, 1010 und 1012. Als ein weiteres Beispiel kann das Schnittgenerierungsmodul konfiguriert sein, 1D-Schnitte durch eine zentrale Position auf der Höhenkarte zu generieren.
  • In manchen Ausführungsformen kann das Schnittgenerierungsmodul konfiguriert sein, Gebiete zur Generierung von 1D-Schnitten auszuwählen durch Vorhersagen der Position des Objekts 1004 aus vorher generierten 1D-Schnitten. Man nehme zum Beispiel an, dass das Schnittgenerierungsmodul 1D-Schnitte an bekannten Löchern der Platte 1006 berechnet hat, wie etwa Schnitte 1008, 1010 und 1012. Basierend auf dem 1D-Schnitt 1012 kann das Schnittgenerierungsmodul bestimmen, dass das Objekt in einem zentralen Teil der Höhenkarte liegen kann. Daher kann das 1D-Schnittgenerierungsmodul einen 1D-Schnitt durch einen zentralen Teil der Höhenkarte berechnen, um beispielsweise 1D-Schnitte 1014, 1016 zu generieren. Das PIG-Modul kann 1D-Schnitte verwenden, um eine Stellung des Pyramidenstrukturobjekts in dieser Höhenkarte abzuschätzen.
  • In manchen Ausführungsformen kann ein 1D-Schnitt eines Objekts verwendet werden, um von der Höhenkarte aufgenommene Merkmale des Objekts zu extrahieren. Die extrahierten Merkmale können verwendet werden, um verschiedene Messungen an dem Objekt vorzunehmen, wie etwa die Größe eines Objekts, die Form eines Objekts, usw. Die extrahierten Merkmale können auch verwendet werden, um dem geometrischen Informationsgenerierungsmodul zu helfen, die Stellungsinformation über ein Objekt zu bestimmen.
  • Die Merkmale des Objekts können unter Verwendung eines Merkmalextraktions-(FE-)Moduls durchgeführt werden. In manchen Ausführungsformen kann das FE-Modul konfiguriert sein, einen entferntesten Punkt in einer gegebenen, von einem Vektor (u, v) identifizierten Richtung zu identifizieren. Insbesondere kann bei einem gegebenen zweidimensionalen Vektor (u, v) das FE-Modul konfiguriert sein, einen Punkt (k, zk) mit dem höchsten Wert von Punktprodukt mit (u, v) auf dem 1D-Schnitt zu finden. In anderen Worten ist das FE-Modul konfiguriert, einen Punkt (k, auf dem 1D-Schnitt zu finden, so dass für alle (j, zj), u + zk ≥ u + vzj. In manchen Ausführungsformen kann der Vektor (u, v) durch einen einzelnen Wert, der einem Winkel entspricht, parametrisiert werden. Zum Beispiel kann, wenn der Winkel des Vektors im Verhältnis zur x-Achse α ist, der Vektor als (cos(α), sin(α)) dargestellt werden.
  • Dieses Merkmal kann für die Bestimmung der Breite eines Objekts nützlich sein. 11 veranschaulicht eine Anwendung zum Identifizieren des entferntesten Punktes eines 1D-Schnittes in einer gegebenen Richtung in Übereinstimmung mit manchen Ausführungsformen. Wie in 11 veranschaulicht kann das FE-Modul konfiguriert sein, einen Punkt auf einem 1D-Schnitt 1102 innerhalb einer Region von Interesse 1104 entlang einer von einem Pfeil 1106 identifizierten Richtung zu identifizieren. Das erlaubt es dem FE-Modul, einen linksten Punkt des Oberendes des 1D-Schnittes 1102 zu identifizieren. Gleichermaßen kann das FE-Modul konfiguriert sein, einen Punkt auf einem 1D-Schnitt 1102 innerhalb einer Region von Interesse 1504 entlang einer von einem Pfeil 1108 identifizierten Richtung zu identifizieren. Das erlaubt es dem FE-Modul, einen rechtesten Punkt des Oberendes des 1D-Schnittes 1102 zu identifizieren. Das FE-Modul kann die Entfernung zwischen dem linksten Punkt und dem rechtesten Punkt berechnen, um die Breite des Oberteils des durch den Schnitt 1102 identifizierten Objekts zu bestimmen. In manchen Ausführungsformen kann die Größe der Region von Interesse 1104 kontrolliert werden, um die gewünschte Granularität des detektierten Merkmals zu bestimmen (z. B., in dem oben gegebenen Beispiel, der Breite des Oberbereichs des Objekts).
  • In manchen Ausführungsformen kann das FE-Modul konfiguriert sein, Eckpunkte des 1D-Schnittes zu detektieren. 12 veranschaulicht die Eckbestimmungsoperation in Übereinstimmung mit manchen Ausführungsformen. Der 1D-Schnitt 1202 kann eine oder mehr Ecken umfassen, identifiziert als 1–5. Um diese Ecken zu detektieren, kann der 1D-Schnitt konfiguriert sein, die zweite Ableitung des 1D-Schnittes zu bestimmen und den Punkt mit der höchsten lokalen zweiten Ableitung (z. B. der höchsten zweiten Ableitung innerhalb eines Fensters von Interesse) auszuwählen. In manchen Ausführungsformen kann das FE-Modul die Polarität der zweiten Ableitung berücksichtigen um zu bestimmen, ob die detektierte Ecke eine nach außen gewölbte Ecke, wie etwa Ecken 1, 2 und 4, oder eine nach innen gewölbte Ecke, wie etwa Ecken 3 und 5, ist.
  • In manchen Ausführungsformen kann das FE-Modul konfiguriert sein, eine Kreuzung von zwei Linien oder Liniensegmenten zu detektieren. Der Schnittpunkt muss nicht auf den Linien oder Liniensegmenten sein, sondern kann auf der Fortsetzungslinie des Segments sein. Dieses Merkmal kann nützlich sein, wenn der Punkt von Interesse in dem Gebiet fehlender Pixel ist. 13 veranschaulicht einen Prozess zum Berechnen eines Schnittpunkts von zwei Liniensegmenten in Übereinstimmung mit manchen Ausführungsformen. Der 1D-Schnitt 1302 umfasst zwei Liniensegmente 1304 und 1306. Diese Liniensegmente können extrapoliert werden, um eine Position zu bestimmen, an der sich die beiden Liniensegmente treffen. Dieser Punkt 1308, an dem sich die extrapolierten Liniensegmente 1304, 1306 treffen, ist der Schnittpunkt. Dieses Merkmal des FE-Moduls kann besonders nützlich sein, wenn bestimmte Teile des 1D-Schnitts 1302 fehlen. Zum Beispiel liegt in diesem Fall der Schnittpunkt 1308 innerhalb einer Region 1310, in der die 1D-Schnittwerte fehlen, wie von dem Sichtbarkeitsschnitt angegeben würde.
  • In manchen Ausführungsformen kann das FE-Modul konfiguriert sein, die Liniensegmente zu parametrisieren, um die Schnittpunkte zu bestimmen. Zum Beispiel kann das FE-Modul konfiguriert sein, Punkte auf dem 1D-Schnitt an ein lineares Modell anzupassen, beispielsweise unter Verwendung einer Regressionstechnik oder einer Zufallsprobenkonsens-(RANdom SAmple Consensus-/RANSAC-)Technik.
  • In manchen Ausführungsformen kann das FE-Modul konfiguriert sein, ein Liniensegment mit einer gewünschten Steigung (oder mit einer Steigung innerhalb eines Fehlerbereichs von der gewünschten Steigung) aus einem Satz von Punkten zu finden. 14 veranschaulicht einen Prozess zum Auffinden eines Liniensegments mit einer gewünschten Steigung in Übereinstimmung mit manchen Ausführungsformen. Das FE-Modul kann konfiguriert sein, die Steigung der Punkte innerhalb eines gleitenden Fensters 1402 einer spezifizierten Größe zu berechnen, bis es eine Steigung findet, die zu dem von den Eingabeparametern spezifizierten Winkelbereich passt, wie etwa die durch eine Linie 1404 identifizierte Steigung. Sobald das FE-Modul ein solches Fenster von Punkten identifiziert, kann das FE-Modul das größte Liniensegment 1406, das zum Steigungserfordernis 1404 passt, ausgeben. In manchen Fällen kann das FE-Modul konfiguriert sein, die Steigung der Punkte innerhalb eines gleitenden Fensters 1402 mittels einer Regressionstechnik zu berechnen. In anderen Fällen kann das FE-Modul konfiguriert sein, die Steigung der Punkte innerhalb eines gleitenden Fensters 1402 in zwei Schritten zu berechnen. Der erste Schritt umfasst Verwerfen (oder Herausfiltern) von Punkten mittels eines Finite-Impulse-Response-(FIR-)Filters, die klar das Steigungserfordernis nicht erfüllen. Der zweite Schritt umfasst Verarbeiten der verbleibenden Punkte, um die Steigung mittels der Regressionstechnik zu berechnen. Dieser Zweischrittprozess kann rechnerisch effizient sein, weil die Regressionstechnik rechnerisch aufwändig sein kann, wenn es eine große Anzahl von Datenpunkten anzupassen gibt.
  • In manchen Ausführungsformen kann das FE-Modul konfiguriert sein, Kanten zu detektieren. Das FE-Modul kann die Position einer Kante als eine Nullstelle der zweiten Ableitung (d. h. min/max der Steigung) bestimmen. Die Ableitung wird berechnet durch Falten [–1, 2, –1] mit dem 1D-Schnitt, und optional weiterem Glätten des gefalteten Ergebnisses mit einer Gaußglocke. Die Länge der Gaußglocke kann mittels eines Eingabeparameters kontrolliert werden. Nur die Kanten, deren Steigung (als absoluter Wert) groß genug ist, werden detektiert.
  • In manchen Ausführungsformen kann das FE-Modul konfiguriert sein, vorgegebene Formen, wie etwa einen Kreis, zu detektieren. Das FE-Modul kann einen Kreis detektieren durch Auffinden eines Radius r und eines Mittelpunktes (cx, cz), der den Fehler D minimiert:
    Figure DE102014224372A1_0002
    In manchen Fällen kann das FE-Modul den Fehler D in zwei Schritten minimieren. Im ersten Schritt kann das FE-Modul den Mittelpunkt (cx, cz) finden, der den Fehler D minimiert. Dann kann das FE-Modul im zweiten Schritt an dem bestimmten Mittelpunkt den Radius R finden, der den Fehler D minimiert.
  • In manchen Ausführungsformen kann das FE-Modul den Sichtbarkeitsschnitt verwenden, um die Merkmalextraktions- und/oder -verarbeitungsergebnisse zu verfeinern. Zum Beispiel kann, wie vorgehend diskutiert, das FE-Modul die Sichtbarkeitsmetriken (z. B. aus dem Bereich [0..1]) zu einer einfachen Metrik von wahr (1) oder falsch (0) binärisieren, unter Verwendung einer vorgegebenen Schwelle. Zum Beispiel wird jegliche Sichtbarkeitsmetrik mit einem Wert am oder über der Schwelle als sichtbar (1) gesetzt, und alles unter der Schwelle wird als nicht sichtbar (0) gesetzt. Dann kann das FE-Modul nur die sichtbaren (1) Pixel in dem 1D-Schnitt verwenden, um die oben diskutierte Merkmalextraktion vorzunehmen.
  • Der binärisierte Sichtbarkeitsschnitt kann auch für eine Vielzahl von Anwendungen des FE-Moduls nützlich sein. Man nehme an, das FE-Modul ist konfiguriert, eine Linie an eine Region eines Querschnitts anzupassen (z. B. zur Kantendetektion), und die gemessenen Teile sind als massiv bekannt. Wenn die gemessenen Teile massiv sind, können die fehlenden Pixel einfach auf Fehlern basieren, die von dem Bildsensor oder Reflektionen von dem Objekt verursacht wurden, und können daher ignoriert werden, wenn die Linienanpassung vorgenommen wird. Daher kann das FE-Modul die Schwelle niedrig setzen (z. B. 30%–50%) um sicherzustellen, dass die größte Anzahl von 1D-Schnittpixeln zur Durchführung der Linienanpassung verwendet werden kann.
  • Als ein weiteres Beispiel kann das FE-Modul konfiguriert sein, den höchsten Punkt oder Pixel in dem 1D-Schnitt zu bestimmen. In diesem Fall kann das FE-Modul konfiguriert sein, die Werte des Sichtbarkeitsschnitts zu binärisieren und die Werte des 1D-Schnitts sogar dann zu verwenden, wenn die Sichtbarkeitsmetrik für den 1D-Schnitt niedrig ist. Zum Beispiel kann die Schwelle konfiguriert werden, 1D-Schnittwerte mit einer Gewichtung unter der Schwelle von 0,2 zu ignorieren, und daher alles mit einem Wert von 0,2 oder größer berücksichtigt in der Berechnung.
  • Als ein weiteres Beispiel kann das FE-Modul konfiguriert sein, den Sichtbarkeitsschnitt zu verwenden, um Ecken eines Objekts in einer Höhenkarte zu finden. Wegen der optischen Natur der Laserquelle (z. B. ihre Positionierung im Verhältnis zum Objekt, wie es vom Bildsensor beobachtet wird) können Gebiete von Nichtsichtbarkeit um die Ecken eines Objekts beobachtet werden, wie etwa wo die Kante eines Objekts die Grundfläche berührt. Abhängig von der Orientierung des beobachteten Objekts können die Kanten verdeckt sein, so dass die resultierende Höhenkarte eine Anzahl von nicht sichtbaren Pixeln umfassen kann. Daher kann eine Eckenfindungsfunktion ausgerichtet werden, solche nicht sichtbaren Pixel zu berücksichtigen, um zu vermeiden, dass solche Messungen zu ungenauen Ergebnissen führen. Zum Beispiel kann ein Algorithmus konfiguriert sein, die Sichtbarkeitsinformation aus dem Sichtbarkeitsschnitt zu verwenden, um den wirklichen Eckpunkt besser zu bestimmen. In manchen Ausführungsformen kann, wenn der Algorithmus bestimmt, dass es eine große Anzahl von nicht sichtbaren Pixeln gibt (z. B. beim Binärisieren des Sichtbarkeitsschnitts), der Algorithmus konfiguriert sein, bessere Daten (z. B. sichtbare Pixel) aus der Höhenkarte zu verwenden, die weiter weg sind vom „schlechten” nicht sichtbaren Gebiet, um die Position der Ecke oder Kante in der Höhenkarte unter Ignorieren der zumeist nicht sichtbaren Pixel zu bestimmen.
  • In manchen Ausführungsformen kann das FE-Modul den Sichtbarkeitsschnitt in den Entfernungsabtastergebnissen berücksichtigen. Insbesondere kann das FE-Modul sowohl den 1D-Schnitt als auch den Sichtbarkeitsschnitt als Eingaben für eine Funktion verwenden, die einen gewünschten Wert aus dem 1D-Schnitt und dem Sichtbarkeitsschnitt berechnet. Zum Beispiel kann das FE-Modul den Sichtbarkeitsschnitt als mit Pixeln in dem 1D-Schnitt assoziierte Gewichtungen verwenden, so dass ein Pixel einen unterschiedlichen Betrag zu dem extrahierten Merkmal oder den dringenden Resultaten beitragen kann, basierend auf der mit dem Pixel assoziierten Sichtbarkeitsmetrik. Als ein anderes Beispiel kann das FE-Modul konfiguriert sein, die Durchschnittshöhe in einer Region des 1D-Schnitts zu erlangen. Das FE-Modul kann die tatsächlichen Sichtbarkeitswerte verwenden, um den durchschnittlichen Höhenwert der sichtbaren Pixel in der Region genau widerzuspiegeln, während es Beiträge von nicht sichtbaren Quellenpixeln aus der Höhenkarte ignoriert.
  • Die offenbarten Apparate und Systeme können auch eine Rechnervorrichtung und ein Entfernungssensorsystem umfassen. 15 zeigt ein beispielhaftes Entfernungssensorsystem zum Aufnehmen einer Höhenkarte eines Objekts und eine Rechnervorrichtung zum Verarbeiten der mit dem Entfernungssensorsystem aufgenommenen Höhenkarte in Übereinstimmung mit manchen Ausführungsformen. Die Rechnervorrichtung 1500 kann einen Prozessor 1502, Speicher 1504, ein Schnittgenerierungsmodul 1506, ein Stellungsinformations-(PIG-)Modul 1508, das einen Diskontinuitätsdetektor 1510 umfassen kann, und ein Merkmalextraktions-(FE-)Modul 1514 umfassen. Wie oben beschrieben kann das Schnittgenerierungsmodul 1506 konfiguriert sein, einen oder mehr 1D-Schnitte einer Höhenkarte zu generieren; das PIG-Modul 1508 kann konfiguriert sein, Stellungsinformation über ein Objekt in der Höhenkarte zu bestimmen mittels Verarbeiten der vom Schnittgenerierungsmodul generierten 1D-Schnitte unter Verwendung des Diskontinuitätsdetektors 1510; und das FE-Modul 1514 kann Merkmale für das durch die Höhenkarte gemessene Objekt detektieren und erzeugen. In anderen Ausführungsformen kann die Rechnervorrichtung 1500 einen anderen Satz von Modulen umfassen, um die Operationen durchzuführen.
  • Die Rechnervorrichtung 1500 kann mit dem Entfernungssensorsystem 100 über die Schnittstelle 1512 kommunizieren. Die Schnittstelle 1512 kann in Hardware implementiert sein, um Signale in einer Vielzahl von Medien zu senden und zu empfangen, wie etwa optisch, Kupfer und drahtlos, und in einer Vielzahl von verschiedenen Protokollen, von denen manche nicht-vergänglich sein können.
  • In manchen Ausführungsformen kann eines oder mehr der Module 1506, 1508, 1514 unter Verwendung des Speichers 1504 in Software implementiert sein. Der Speicher 1504 kann ein nicht vergängliches computerlesbares Medium, Flash-Speicher, ein Magnetdiskettenlaufwerk, ein optisches Laufwerk, ein programmierbarer Nur-Lese-Speicher (PROM), ein Nur-Lese-Speicher (ROM) oder jeglicher andere Speicher oder Kombination von Speichern sein. Die Software kann auf einem Prozessor 1502 laufen, der in der Lage ist, Computeranweisungen oder Computercode auszuführen. Der Prozessor 1502 kann auch in Hardware implementiert sein unter Verwendung eines applikationsspezifischen integrierten Schaltkreises (ASIC), programmierbaren Logikfeldes (PLA), Digitalsignalprozessors (DSP), feldprogrammierbaren Gate-Arrays (FPGA) oder jeglichen anderen integrierten Schaltkreises.
  • Verfahrensschritte können durch einen oder mehr Prozessoren durchgeführt werden, die ein Computerprogramm ausführen, um Funktionen der Erfindung zu verrichten, indem sie nach Eingabedaten operieren und/oder Ausgabedaten generieren. Eines oder mehr der Module (z. B. Module 1506, 1508, 1514) können in Hardware implementiert sein unter Verwendung eines ASIC (applikationsspezifischen integrierten Schaltkreises), PLA (programmierbaren Logikfeldes), DSP (Digitalsignalprozessors), FPGA (feldprogrammierbaren Gate-Arrays) oder jeglichen anderen integrierten Schaltkreises. In manchen Ausführungsformen können zwei oder mehr Module 1506, 1508 im selben integrierten Schaltkreis, wie etwa ASIC, PLA, DSP oder FPGA, implementiert sein, wodurch sie ein Ein-Chip-System bilden. Subroutinen können sich auf Teile des Computerprogramms und/oder den Prozessor/speziellen Schalkreis beziehen, die eine oder mehr Funktionen implementieren.
  • In manchen Ausführungsformen kann die Rechnervorrichtung 1500 Nutzerausrüstung umfassen. Die Nutzerausrüstung kann mit einem oder mehr Radiozugangsnetzwerken und mit drahtgestützten Kommunikationsnetzwerken kommunizieren. Die Nutzerausrüstung kann ein Mobiltelefon sein. Die Nutzerausrüstung kann auch ein Smartphone sein, das Dienste wie etwa Textverarbeitung, Netzbrowsen, Spielen, E-Book-Fähigkeiten, ein Betriebssystem und eine vollständige Tastatur bereitstellt. Die Nutzerausrüstung kann auch ein Tabletcomputer sein, der Netzwerkzugang und die meisten von einem Smartphone bereitgestellten Dienste bereitstellt. Die Nutzerausrüstung wird betrieben unter Verwendung eines Betriebssystems wie etwa Symbian OS, iPhone OS, RIM's Blackberry, Windows Mobile, Linux, HP WebOS und Android. Der Bildschirm kann ein Berührungsbildschirm sein, der verwendet wird, um Daten in die mobile Vorrichtung einzugeben, in welchem Fall der Bildschirm statt einer vollständigen Tastatur verwendet werden kann. Die Nutzerausrüstung kann auch globale Positionskoordinaten, Profilinformation oder andere Positionsinformation enthalten.
  • Die Rechnervorrichtung 1500 kann auch einen Server umfassen. Der Server kann unter Verwendung einer Betriebssystem-(OS-)Software betrieben werden. In manchen Ausführungsformen basiert die OS-Software auf einem Linux-Softwarekern und lässt spezifische Anwendungen in dem Server laufen, wie etwa Überwachen von Aufgaben und Bereitstellen von Protokollstapeln. Die OS-Software erlaubt es, Serverressourcen getrennt Kontroll- und Datenpfaden zuzuordnen. Zum Beispiel sind manche Paketbeschleunigungskarten und Paketdienstekarten der Durchführung von Routing und Sicherheitskontrollfunktionen gewidmet, während andere Paketbeschleunigungskarten/Paketdienstekarten dem Verarbeiten von Nutzersitzungsverkehr gewidmet sind. Mit der Änderung von Netzwerkerfordernissen können Hardwareressourcen in manchen Ausführungsformen dynamisch aufgestellt werden, um den Erfordernissen gerecht zu werden.
  • Die oben beschriebenen Techniken können in digitalen elektronischen Schaltkreisen oder in Computerhardware, Firmware, Software oder in Kombinationen davon implementiert sein. Die Implementierung kann erfolgen als ein Computerprogrammprodukt, z. B. ein Computerprogramm, dass in einer maschinenlesbaren Speichervorrichtung greifbar verkörpert ist, zur Ausführung durch oder Kontrolle der Operation von einem Datenverarbeitungsapparat, z. B. einem programmierbaren Prozessor, einem Computer und/oder mehreren Computern. Ein Computerprogramm kann in jeglicher Form von Computer- oder Programmiersprache geschrieben sein, einschließlich Quellcode, kompiliertem Code, interpretiertem Code und Maschinencode, und das Computerprogramm kann in jeglicher Form aufgestellt werden, einschließlich als ein eigenständiges Programm oder als eine Subroutine, Element oder andere für die Verwendung in einer Rechnerumgebung geeignete Einheit. Ein Computerprogramm kann aufgestellt werden, um auf einem Computer oder auf mehreren Computern an einer oder mehr Stellen ausgeführt zu werden.
  • Für die Ausführung eines Computerprogramms geeignete Prozessoren umfassen beispielsweise Mikroprozessoren zu sowohl allgemeinen als auch speziellen Zwecken, digitale Signalprozessoren und jeglichen einen oder mehr Prozessoren von jeglicher Art von Digitalcomputern. Im Allgemeinen empfängt ein Prozessor Anweisungen und Daten von einem Nur-Lese-Speicher oder einem Direktzugriffsspeicher oder beiden. Die wesentlichen Elemente eines Computers sind ein Prozessor zum Ausführen von Anweisungen und eine oder mehr Speichervorrichtungen zum Speichern von Anweisungen und/oder Daten. Speichervorrichtungen wie etwa ein Cache können verwenden werden, um Daten vorübergehend zu speichern. Speichervorrichtungen können auch für langfristige Datenspeicherung verwendet werden. Ein Computer kann operativ an externe Ausrüstung, zum Beispiel Fabrikautomatisierungs- oder Logistikausrüstung, oder an ein Kommunikationsnetzwerk, zum Beispiel ein Fabrikautomatisierungs- oder Logistiknetzwerk, gekoppelt sein, um Anweisungen und/oder Daten von der Ausrüstung oder dem Netzwerk zu empfangen und/oder Anweisungen und/oder Daten an die Ausrüstung oder das Netzwerk zu übertragen. Computerlesbare Speichervorrichtungen, die geeignet sind, Computerprogrammanweisungen und Daten zu verkörpern, umfassen alle Formen von flüchtigem und nichtflüchtigem Speicher, einschließlich beispielsweise Halbleiterspeichervorrichtungen, z. B. DRAM, SRAM, EPROM, EEPROM und Flashspeichervorrichtungen; Magnetdisketten, z. B. interne Festplatten oder entfernbare Disketten; magnetoptische Disketten; und optische Disketten, z. B. CD, DVD, HD-DVD und Blu-ray-Disketten. Der Prozessor und der Speicher können durch Spezialzweck-Logikschaltkreise ergänzt oder in sie eingegliedert sein.
  • Es versteht sich, dass der offenbarte Gegenstand in seiner Anwendung nicht auf die Konstruktionsdetails und auf die Anordnungen von Bauteilen beschränkt ist, die in der folgenden Beschreibung dargelegt oder in den Zeichnungen veranschaulicht werden. Der offenbarte Gegenstand ist anderer Ausführungsformen fähig und kann auf verschiedene Weisen praktiziert und ausgeführt werden. Auch versteht es sich, dass die hierin verwendete Phraseologie und Terminologie zum Zweck der Beschreibung dienen und nicht als beschränkend angesehen werden sollten.
  • Als solches wird es dem Fachmann klar sein, dass die Konzeption, auf der diese Offenbarung beruht, einfach als eine Grundlage für den Entwurf von anderen Strukturen, Verfahren und Systemen zur Ausführung der verschiedenen Zwecke des offenbarten Gegenstandes verwendet werden kann. Es ist daher wichtig, dass die Ansprüche als solche äquivalente Konstruktionen umfassend angesehen werden, soweit sie nicht von dem Geist und dem Umfang des offenbarten Gegenstandes abweichen.
  • Obwohl der offenbarte Gegenstand in den vorhergehenden beispielhaften Ausführungsformen beschrieben und veranschaulicht worden ist, versteht es sich, dass die vorliegende Offenbarung nur beispielsweise gemacht wurde, und dass zahlreiche Änderungen in den Einzelheiten der Implementierung des offenbarten Gegenstands vorgenommen werden können, ohne von dem Geist und dem Umfang des offenbarten Gegenstandes abzuweichen.

Claims (20)

  1. Ein computergestütztes Verfahren zum Bestimmen von Stellungsinformation über ein Objekt in einer von einem Entfernungssensorsystem aufgenommenen zweidimensionalen Höhenkarte, das Verfahren umfassend: Empfangen, an einem Schnittgenerierungsmodul in einer Rechnervorrichtung, der Höhenkarte des von dem Entfernungssensorsystem aufgenommenen Objekts; Generieren, durch das Schnittgenerierungsmodul, einer Vielzahl von eindimensionalen Schnitten der Höhenkarte und einer Positionsaufzeichnung, die die Positionen der Vielzahl von eindimensionalen Schnitten auf der Höhenkarte anzeigt; Identifizieren, durch ein Stellungsinformationsgenerierungsmodul in der Rechnervorrichtung, einer Position von mindestens einem Punkt von Interesse in der Höhenkarte basierend auf der Vielzahl von eindimensionalen Schnitten und der Positionsaufzeichnung; und Bestimmen, durch das Stellungsinformationsgenerierungsmodul, der Stellungsinformation des Objekts basierend auf der Position des mindestens einen Punkts von Interesse in der Höhenkarte.
  2. Das Verfahren aus Anspruch 1, weiter umfassend Pflegen von Forminformation über das Objekt, und wobei das Bestimmen der Stellungsinformation über das Objekt basierend auf den Positionen weiter Bestimmen der Stellungsinformation über das Objekt basierend auf den Positionen der identifizierten Diskontinuitäten in der Höhenkarte und der Forminformation umfasst.
  3. Das Verfahren aus Anspruch 2, wobei die Forminformation eines oder mehr umfasst von: (1) einer Anzahl von Kanten im Objekt, (2) einer relativen Position der Kanten in Bezug auf andere Kanten im Objekt, und (3) einem Winkel zwischen den Kanten im Objekt.
  4. Das Verfahren aus Anspruch 2, wobei Generieren der Vielzahl von eindimensionalen Schnitten der Höhenkarte Generieren von zwei oder mehr nichtparallelen eindimensionalen Schnitten umfasst, wobei jeder der nichtparallelen eindimensionalen Schnitte konfiguriert ist, eine einzigartige Kante des Objekts zu kreuzen, und wobei die Stellungsinformation über das Objekt die Position des Objekts umfasst.
  5. Das Verfahren aus Anspruch 2, wobei Generieren der Vielzahl von eindimensionalen Schnitten der Höhenkarte Generieren von zwei oder mehr eindimensionalen Schnitten umfasst, die konfiguriert sind, eine erste Kante des Objekts zu kreuzen, und wobei die Stellungsinformation über das Objekt einen Rotationswinkel des Objekts um eine Achse, die an der Höhe des Objekts ausgerichtet ist, umfasst.
  6. Das Verfahren aus Anspruch 5, wobei Bestimmen der Stellungsinformation über das Objekt Einpassen einer Linie durch die Diskontinuitäten entlang der ersten Kante des Objekts und Bestimmen des Winkels zwischen der Linie und einer angenommenen Orientierung der ersten Kante des Objekts, basierend auf Forminformationen über das Objekt, umfasst.
  7. Das Verfahren aus Anspruch 1, wobei der mindestens eine Punkt von Interesse eine Diskontinuität in einer der Vielzahl von eindimensionalen Schnitten umfasst, und wobei Identifizieren der Position des mindestens einen Punktes von Interesse in der Höhenkarte basierend auf der Vielzahl von eindimensionalen Schnitten und der Positionsaufzeichnung Identifizieren, durch das Stellungsinformationsgenerierungsmodul in der Rechnervorrichtung, der Diskontinuität in dem einen der Vielzahl von eindimensionalen Schnitten; und Bestimmen, durch das Stellungsinformationsgenerierungsmodul, einer Position der identifizierten Diskontinuität in der Höhenkarte basierend auf der Positionsaufzeichnung umfasst.
  8. Das Verfahren aus Anspruch 7, wobei die Diskontinuitäten in der Vielzahl von eindimensionalen Schnitten Positionen umfassen, an denen die Vielzahl von eindimensionalen Schnitten eine Kante des Objekts in der Höhenkarte schneidet.
  9. Das Verfahren aus Anspruch 1, wobei Identifizieren der Position des mindestens einen Punktes von Interesse basierend auf der Vielzahl von eindimensionalen Schnitten Bestimmen der Position, an dem einer der Vielzahl von eindimensionalen Schnitten an einer eindimensionalen Vorlage ausgerichtet ist, umfasst.
  10. Das Verfahren aus Anspruch 9, wobei Bestimmen der Position, an dem einer der Vielzahl von eindimensionalen Schnitten an einer eindimensionalen Vorlage ausgerichtet ist, Bestimmen einer Korrelation zwischen dem einen der Vielzahl von eindimensionalen Schnitten und der eindimensionalen Vorlage umfasst.
  11. Das Verfahren aus Anspruch 1, wobei Generieren der Vielzahl von eindimensionalen Schnitten der Höhenkarte Bereitstellen eines Gitters umfassend eine Vielzahl von Plätzen über Pixeln der Höhenkarte; Bestimmen eines ersten Satzes von Pixeln der Höhenkarte, die unter einem der Vielzahl von Plätzen des Gitters liegen; und Bestimmen eines Wertes für den einen der Vielzahl von Plätzen des Gitters durch Ausführen einer Konsolidierungsoperation über den ersten Satz von Pixeln umfasst, wobei die Konsolidierungsoperation eines oder mehr umfasst von: einer Mittelungsoperation, einer gewichteten Mittelungsoperation von nichtfehlenden Werten im ersten Satz von Pixeln, einer Medianoperation, einer Maximumoperation zum Auffinden eines Maximalwertes des ersten Satzes von Pixeln; einer Minimumoperation zum Auffinden eines Minimalwertes des ersten Satzes von Pixeln; einer Regressionsoperation, oder jeglicher Kombination davon.
  12. Das Verfahren aus Anspruch 11, weiter umfassend: Bestimmen eines Sichtbarkeitsschnitts, der mit einem Teil des Gitters assoziiert ist, wobei der Sichtbarkeitsschnitt eine Sichtbarkeit von Pixeln, die unter dem Teil des Gitters liegen, andeutet, wobei Bestimmen des Sichtbarkeitsschnitts Bestimmen eines Sichtbarkeitswerts für den einen der Vielzahl von Plätzen des Teils des Gitters umfasst durch Bestimmen eines Anteils von fehlenden Werten in dem ersten Satz von Pixeln.
  13. Eine Rechnervorrichtung, die konfiguriert ist, Stellungsinformation über ein Objekt in einer von einem Entfernungssensorsystem aufgenommenen zweidimensionalen Höhenkarte zu bestimmen, die Rechnervorrichtung umfassend: eine oder mehr Schnittstellen, die konfiguriert sind, mit dem Entfernungssensorsystem zu kommunizieren; einen Prozessor, in Kommunikation mit der einen oder mehr Schnittstellen, und konfiguriert, ein im Speicher gespeichertes Schnittgenerierungsmodul laufen zu lassen, das konfiguriert ist: eine von dem Entfernungssensorsystem aufgenommene Höhenkarte des Objekts zu empfangen; eine Vielzahl von eindimensionalen Schnitten der Höhenkarte und eine Positionsaufzeichnung, die Positionen der Vielzahl von eindimensionalen Schnitten auf der Höhenkarte anzeigt, zu generieren; und wobei der Prozessor weiter konfiguriert ist, ein im Speicher gespeichertes Stellungsinformationsgenerierungsmodul laufen zu lassen, das konfiguriert ist: eine Position von mindestens einem Punkt von Interesse in der Höhenkarte zu identifizieren, basierend auf der Vielzahl von eindimensionalen Schnitten und der Positionsaufzeichnung; und die Stellungsinformation über das Objekt basierend auf der Position des mindestens einen Punktes von Interesse in der Höhenkarte zu bestimmen.
  14. Die Rechnervorrichtung aus Anspruch 13, wobei das Stellungsinformationsgenerierungsmodul weiter konfiguriert ist, Forminformation über das Objekt zu pflegen und die Stellungsinformation über das Objekt basierend auf der Position des mindestens einen Punktes von Interesse in der Höhenkarte und der Forminformation zu bestimmen.
  15. Die Rechnervorrichtung aus Anspruch 13, wobei das Schnittgenerierungsmodul weiter konfiguriert ist, zwei oder mehr nichtparallele eindimensionale Schnitte zu generieren, wobei jeder der nichtparallelen eindimensionalen Schnitte konfiguriert ist, eine einzigartige Kante des Objekts zu kreuzen, und wobei die Stellungsinformation über das Objekt eine Position des Objekts umfasst.
  16. Die Rechnervorrichtung aus Anspruch 13, wobei das Schnittgenerierungsmodul weiter konfiguriert ist, zwei oder mehr eindimensionale Schnitte zu generieren, die konfiguriert sind, eine erste Kante des Objekts zu kreuzen, und wobei die Stellungsinformation über das Objekt einen Rotationswinkel des Objekts um eine Achse, die an der Höhe des Objekts ausgerichtet ist, umfasst.
  17. Die Rechnervorrichtung aus Anspruch 13, wobei das Schnittgenerierungsmodul weiter konfiguriert ist, um: ein Gitter bereitzustellen, das eine Vielzahl von Plätzen über Pixeln der Höhenkarte umfasst; einen ersten Satz von Pixeln der Höhenkarte zu bestimmen, der unter einer der Vielzahl von Plätzen des Gitters liegt; und einen Wert für den einen der Vielzahl von Plätzen des Gitters zu bestimmen durch Ausführen einer Konsolidierungsoperation über den ersten Satz von Pixeln, wobei die Konsolidierungsoperation eines oder mehr umfasst von: einer Mittelungsoperation, einer gewichteten Mittelungsoperation von nichtfehlenden Werten im ersten Satz von Pixeln, einer Medianoperation, einer Maximumoperation zum Auffinden eines Maximalwertes des ersten Satzes von Pixeln; einer Minimumoperation zum Auffinden eines Minimalwertes des ersten Satzes von Pixeln; einer Regressionsoperation, oder jeglicher Kombination davon.
  18. Ein nicht vergängliches computerlesbares Medium mit ausführbaren Anweisungen, die mit einem Schnittgenerierungsmodul und einem Stellungsinformationsgenerierungsmodul assoziiert sind, und ausführbar, um einen Datenverarbeitungsapparat zu veranlassen: eine von einem Entfernungssensorsystem in Kommunikation mit einem Entfernungssensorsystem aufgenommene Höhenkarte des Objekts zu empfangen; eine Vielzahl von eindimensionalen Schnitten der Höhenkarte und eine Positionsaufzeichnung, die Positionen der Vielzahl von eindimensionalen Schnitten auf der Höhenkarte anzeigt, zu generieren; eine Position von mindestens einem Punkt von Interesse in der Höhenkarte zu identifizieren, basierend auf der Vielzahl von eindimensionalen Schnitten und der Positionsaufzeichnung; und die Stellungsinformation über das Objekt basierend auf der Position des mindestens einen Punktes von Interesse in der Höhenkarte zu bestimmen.
  19. Das nicht vergängliche computerlesbare Medium aus Anspruch 18, weiter umfassend ausführbare Anweisungen, die mit dem Schnittgenerierungsmodul assoziiert sind, ausführbar, um einen Datenverarbeitungsapparat zu veranlassen, Forminformation über das Objekt zu pflegen und die Stellungsinformation über das Objekt basierend auf der Position des mindestens einen Punktes von Interesse in der Höhenkarte und der Forminformation zu bestimmen.
  20. Das nicht vergängliche computerlesbare Medium aus Anspruch 18, weiter umfassend ausführbare Anweisungen, ausführbar, um den Datenverarbeitungsapparat zu veranlassen: ein Gitter bereitzustellen, das eine Vielzahl von Plätzen über Pixeln der Höhenkarte umfasst; einen ersten Satz von Pixeln der Höhenkarte zu bestimmen, der unter einer der Vielzahl von Plätzen des Gitters liegt; und einen Wert für den einen der Vielzahl von Plätzen des Gitters zu bestimmen durch Ausführen einer Konsolidierungsoperation über den ersten Satz von Pixeln, wobei die Konsolidierungsoperation eines oder mehr umfasst von: einer Mittelungsoperation, einer gewichteten Mittelungsoperation von nichtfehlenden Werten im ersten Satz von Pixeln, einer Medianoperation, einer Maximumoperation zum Auffinden eines Maximalwertes des ersten Satzes von Pixeln; einer Minimumoperation zum Auffinden eines Minimalwertes des ersten Satzes von Pixeln; einer Regressionsoperation, oder jeglicher Kombination davon.
DE102014224372.6A 2013-12-20 2014-11-28 Apparate, systeme und verfahren zur verarbeitung einer höhenkarte Active DE102014224372B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/136,864 2013-12-20
US14/136,864 US9626776B2 (en) 2013-12-20 2013-12-20 Apparatus, systems, and methods for processing a height map

Publications (2)

Publication Number Publication Date
DE102014224372A1 true DE102014224372A1 (de) 2015-06-25
DE102014224372B4 DE102014224372B4 (de) 2023-01-19

Family

ID=53275604

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014224372.6A Active DE102014224372B4 (de) 2013-12-20 2014-11-28 Apparate, systeme und verfahren zur verarbeitung einer höhenkarte

Country Status (3)

Country Link
US (1) US9626776B2 (de)
CN (1) CN104732514B (de)
DE (1) DE102014224372B4 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10311638B2 (en) 2014-07-25 2019-06-04 Microsoft Technology Licensing, Llc Anti-trip when immersed in a virtual reality environment
US10416760B2 (en) 2014-07-25 2019-09-17 Microsoft Technology Licensing, Llc Gaze-based object placement within a virtual reality environment
US9766460B2 (en) 2014-07-25 2017-09-19 Microsoft Technology Licensing, Llc Ground plane adjustment in a virtual reality environment
US10451875B2 (en) 2014-07-25 2019-10-22 Microsoft Technology Licensing, Llc Smart transparency for virtual objects
US9904055B2 (en) 2014-07-25 2018-02-27 Microsoft Technology Licensing, Llc Smart placement of virtual objects to stay in the field of view of a head mounted display
US9865089B2 (en) 2014-07-25 2018-01-09 Microsoft Technology Licensing, Llc Virtual reality environment with real world objects
US9858720B2 (en) 2014-07-25 2018-01-02 Microsoft Technology Licensing, Llc Three-dimensional mixed-reality viewport
WO2016022008A1 (en) * 2014-08-08 2016-02-11 Samsung Electronics Co., Ltd. Method and apparatus for environmental profile generation
US10540784B2 (en) * 2017-04-28 2020-01-21 Intel Corporation Calibrating texture cameras using features extracted from depth images
US10970425B2 (en) * 2017-12-26 2021-04-06 Seiko Epson Corporation Object detection and tracking
WO2021113810A1 (en) * 2019-12-06 2021-06-10 Mashgin, Inc. System and method for identifying items
US11794343B2 (en) * 2019-12-18 2023-10-24 Intrinsic Innovation Llc System and method for height-map-based grasp execution
JP7444604B2 (ja) * 2019-12-26 2024-03-06 キヤノン株式会社 画像処理装置及び方法、及び撮像装置
CN111862053B (zh) * 2020-07-22 2023-11-28 上海米哈游天命科技有限公司 查找缝隙的方法、装置、设备及介质
US20220288783A1 (en) * 2021-03-10 2022-09-15 Nvidia Corporation Machine learning of grasp poses in a cluttered environment
CN116452656B (zh) * 2023-06-16 2023-11-28 星猿哲科技(深圳)有限公司 箱体内物体的整齐摆放方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120311B2 (en) * 2002-06-28 2006-10-10 Microsoft Corporation Systems and methods for providing forward mapping with visibility for and resolution of accumulated samples
KR100738500B1 (ko) * 2006-02-20 2007-07-12 한국과학기술원 영상 기반 돌출 변위 매핑 방법과, 이를 이용한 이중 변위매핑 방법
US9043129B2 (en) * 2010-10-05 2015-05-26 Deere & Company Method for governing a speed of an autonomous vehicle
CN102833487B (zh) * 2012-08-08 2015-01-28 中国科学院自动化研究所 面向视觉计算的光场成像装置和方法

Also Published As

Publication number Publication date
CN104732514A (zh) 2015-06-24
US9626776B2 (en) 2017-04-18
DE102014224372B4 (de) 2023-01-19
US20150178956A1 (en) 2015-06-25
CN104732514B (zh) 2018-03-30

Similar Documents

Publication Publication Date Title
DE102014224372B4 (de) Apparate, systeme und verfahren zur verarbeitung einer höhenkarte
Nouwakpo et al. Assessing the performance of structure‐from‐motion photogrammetry and terrestrial LiDAR for reconstructing soil surface microtopography of naturally vegetated plots
KR101787542B1 (ko) 3차원 지형 모델과 토질 분류를 이용한 비탈면 안정성 평가 시스템 및 방법
EP3034995B1 (de) Verfahren zum bestimmen eines position- und orientierungsversatzes eines geodätischen vermessungsgeräts und ebensolches vermessungsgerät
EP2435984B1 (de) Verfahren und vorrichtung zur punktwolkenunterstützten fotogrammetrischen wiedergabe
JP6510247B2 (ja) 測量データ処理装置、測量データ処理方法およびプログラム
DE102017116952A1 (de) System und verfahren für verbessertes scoring von 3d-lagen und entfernen von störpunkten in 3d-bilddaten
CN110502983B (zh) 一种检测高速公路中障碍物的方法、装置及计算机设备
DE112016006262B4 (de) Dreidimensionaler Scanner und Verarbeitungsverfahren zur Messunterstützung für diesen
CN110349092B (zh) 一种点云滤波方法及设备
DE112010004767T5 (de) Punktwolkedaten-Verarbeitungsvorrichtung, Punktwolkedaten-Verarbeitungsverfahren und Punktwolkedaten-Verarbeitungsprogramm
EP2821750A1 (de) Positionsbestimmungsverfahren für ein Vermessungsgerät und ebensolches Vermessungsgerät
Cheng et al. Building boundary extraction from high resolution imagery and lidar data
DE10326943A1 (de) Autonomes Fahrzeug sowie zugehörige Verfahren und Vorrichtung zur Bewegungsbestimmung, Bewegungssteuerung und Objekterkennung
KR101510206B1 (ko) 항공 하이퍼스펙트럴 영상을 이용한 수치지도 수정 도화용 도시변화지역의 탐지 방법
WO2021134285A1 (zh) 图像跟踪处理方法、装置、计算机设备和存储介质
JP6781432B2 (ja) 電波伝搬シミュレーションモデルの作成方法、作成システム、作成装置および作成プログラム
KR101092250B1 (ko) 레인지 영상으로부터의 객체 분할 장치 및 방법
DE112021002702T5 (de) Verfahren und apparate zum identifizieren von oberflächenmerkmalen in dreidimensionalen bildern
Sinai et al. Mine-Like Objects detection in Side-Scan Sonar images using a shadows-highlights geometrical features space
Tang et al. Surveying, geomatics, and 3D reconstruction
EP3539085B1 (de) 3d-referenzierung
CN107835998A (zh) 用于识别数字图像中的表面类型的分层平铺方法
DE112021002977T5 (de) System und verfahren zur bemessung von objekten
DE112020004829T5 (de) Verfahren, system und vorrichtung zur mobilen vermessung

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
R020 Patent grant now final