-
HINTERGRUND
-
Digitalkameras werden häufig in mobilen Geräten eingesetzt. Tiefenerfassungskameras werden in der Regel nicht in mobilen Geräten eingesetzt; jedoch können Tiefenerfassungskameras (wie z. B. Time-of-Flight (TOF) -Kameras, strukturierte Lichtkameras, Stereokameras) zur Messung von Objektabmessungen eingesetzt werden. Die Messung von Objektabmessungen mit Tiefenerfassungskameras kann jedoch qualitativ hochwertige und/oder teure Komponenten erfordern, um hochpräzise Daten zu liefern, die mit den üblichen Linealmessungen konkurrieren. Außerdem haben viele solcher Tiefenerfassungskameras inhärente Probleme. So sind z. B. Tiefenerfassungskameras, die mit strukturiertem Licht arbeiten, Störungen durch Umgebungslicht ausgesetzt; außerdem nimmt ihre Genauigkeit mit dem Abstand zu einem zu dimensionierenden physischen Objekt ab; und ein ASIC (Application Specific Integrated Circuit) wird benötigt, um aus den vielen aufgenommenen strukturierten Lichtbildern Tiefendaten zu berechnen. Darüber hinaus können Stereokameras eine charakteristische Basislinie für genaue Messungen benötigen, die dann einer geringen Lichtdegradierung unterliegen; und Bildkorrespondenzprobleme können eine Hardwarebeschleunigung erforderlich machen. Time-of-Flight (Laufzeitmessungs)-Kameras können Rauschen, Reflexionen und Lichtinterferenzen ausgesetzt sein; außerdem können genaue Dimensionierungsmessungen präzise Ecken des zu messenden physischen Objekts erfordern, und die Laufzeitmessung kann außerdem schlechte Ergebnisse an den Kanten des physischen Objekts liefern.
-
Figurenliste
-
Die beigefügten Figuren, in denen gleiche Bezugszeichen identische oder funktional ähnliche Elemente in den einzelnen Ansichten bezeichnen, sind zusammen mit der nachfolgenden detaillierten Beschreibung Bestandteil der Offenbarung und dienen dazu, Ausführungsformen von Konzepten, die die beanspruchte Erfindung umfassen, weiter zu veranschaulichen und verschiedene Prinzipien und Vorteile dieser Ausführungsformen zu erklären.
- 1 zeigt die Vorder- und Rückansicht eines Hybridgerätes zur Dimensionierung unter Verwendung von digitalen Bildern und Tiefendaten, gemäß einigen Ausführungsformen.
- 2 zeigt ein schematisches Blockschaltbild des Gerätes aus 1, gemäß einigen Ausführungsformen.
- 3 ist ein Flussdiagramm eines Verfahrens zur Dimensionierung unter Verwendung von digitalen Bildern und Tiefendaten, gemäß einigen Ausführungsformen.
- 4 zeigt das Gerät aus 2, das ein digitales Bild und Tiefendaten eines physischen Objekts erfasst, gemäß einigen Ausführungsformen.
- 5 zeigt ein Beispiel für die Verarbeitung der in 4 erfassten Daten, gemäß einigen Ausführungsformen.
- 6 zeigt ein Beispiel für die Weiterverarbeitung der in 4 erfassten Daten, gemäß einigen Ausführungsformen.
- 7 zeigt ein Beispiel für die Weiterverarbeitung der in 4 erfassten Daten, gemäß einigen Ausführungsformen.
- 8 zeigt ein Beispiel für die Weiterverarbeitung der in 4 erfassten Daten, gemäß einigen Ausführungsformen.
- 9 zeigt das Gerät aus 1, das ein digitales Bild eines physischen Objekts sowie dessen Abmessungen gemäß einigen Ausführungsformen wiedergibt.
- 10 ist ein Flussdiagramm eines Verfahrens zur Dimensionierung unter Verwendung von digitalen Bildern und Tiefendaten, gemäß einigen Ausführungsformen.
-
Erfahrene Fachleute werden erkennen, dass Elemente in den Figuren der Einfachheit und Klarheit halber dargestellt sind und nicht notwendigerweise maßstabsgetreu gezeichnet wurden. Zum Beispiel können die Dimensionen einiger der Elemente in den Figuren relativ zu anderen Elementen übertrieben sein, um das Verständnis von Ausführungsformen der vorliegenden Erfindung zu verbessern.
-
Die Vorrichtung und die Verfahrensschritte wurden, wo es angemessen ist, durch herkömmliche Symbole in den Zeichnungen dargestellt, die nur jene spezifischen Details zeigen, die zum Verständnis der Ausführungsformen der vorliegenden Erfindung relevant sind, um somit die Offenbarung nicht mit Einzelheiten zu verdecken, die für die Fachleute auf dem Gebiet, die auf die vorliegende Beschreibung zurückgreifen, ohne weiteres ersichtlich sind.
-
DETAILLIERTE BESCHREIBUNG
-
Ein Aspekt der Offenbarung stellt eine Vorrichtung bereit, die Folgendes umfasst: eine Kameravorrichtung, die so konfiguriert ist, dass sie ein digitales Bild in einem Sichtfeld erfasst; eine Tiefenerfassungsvorrichtung, die so konfiguriert ist, dass sie Tiefendaten über mindestens einen Teil des Sichtfeldes der Kameravorrichtung erfasst; und einen Dimensionierungsprozessor, der so konfiguriert ist, dass er: Segmente von Formen bestimmt, die zu einem im digitalen Bild identifizierten Objekt gehören; auf der Grundlage jeweiliger Tiefendaten von der Tiefenerfassungsvorrichtung, die jedem der Segmente der Formen, die zu dem Objekt gehören, zugeordnet sind, bestimmt, ob jedes der Segmente einer gleichen Form zugeordnet ist, die zu dem Objekt gehört; und, sobald alle Segmente verarbeitet sind, um ihre jeweiligen Verknüpfungen mit den Formen des Objekts im digitalen Bild zu bestimmen, die Abmessungen des Objekts auf der Grundlage der jeweiligen Tiefendaten und der jeweiligen Verknüpfungen der Formen berechnet.
-
Der Dimensionierungsprozessor kann ferner konfiguriert sein, um zu bestimmen, ob jedes der Segmente der gleichen zu dem Objekt gehörenden Form zugeordnet ist, indem: benachbarte Segmente der Formen, die zu dem im digitalen Bild identifizierten Objekt gehören, identifiziert werden; und mindestens ein Teil der jeweiligen Tiefendaten der benachbarten Segmente verglichen wird.
-
Der Dimensionierungsprozessor kann ferner konfiguriert sein, um zu bestimmen, ob jedes der Segmente der gleichen zu dem Objekt gehörenden Form zugeordnet ist, indem: durch alle benachbarten Segmente der Segmente iteriert wird, um zu bestimmen, ob die benachbarten Segmente zu einem größeren Gesamtsegment der gleichen Form zusammengefügt werden können.
-
Der Dimensionierungsprozessor kann ferner konfiguriert sein, um zu bestimmen, ob jedes der Segmente der gleichen zu dem Objekt gehörenden Form zugeordnet ist, indem: auf der Grundlage der jeweiligen Tiefendaten bestimmt wird, ob benachbarte Segmente mit der gleichen Form zusammengebracht sind.
-
Der Dimensionierungsprozessor kann ferner konfiguriert sein, um eine oder mehrere der identifizierten Formen und identifizierten Segmente herauszufiltern, die nicht mit dem Objekt verknüpft sind.
-
Die Vorrichtung kann ferner eine Anzeigevorrichtung umfassen, und der Dimensionierungsprozessor kann ferner konfiguriert sein, um die Anzeigevorrichtung zu steuern, damit sie eines oder mehrere durchführt von: das digitale Bild wiedergeben, das Objekt in dem digitalen Bild identifizieren; und die Abmessungen des Objekts wiedergeben.
-
Die Vorrichtung kann ferner einen Speicher umfassen, der Daten speichert, die das Objekt definieren, und der Dimensionierungsprozessor kann so konfiguriert sein, dass er: das Objekt in dem digitalen Bild identifiziert, indem er das digitale Bild mit den Daten vergleicht, die das Objekt definieren. Die das Objekt definierenden Daten können in einem Container dem Speicher abgelegt werden, wobei der Container einer von mehreren im Speicher gespeicherten Containern ist und jeder der mehreren Container entsprechende Objekte definiert. Die Daten, die das Objekt definieren, können stereometrische Eigenschaften des Objekts umfassen, wobei die stereometrischen Eigenschaften einen Satz von einer oder mehreren quantitativen Beschreibungen und qualitativen Beschreibungen des Objekts umfassen, die das Objekt in drei Dimensionen eindeutig charakterisieren.
-
Der Dimensionierungsprozessor kann ferner konfiguriert sein, um die Geometrie des Objekts auf der Grundlage der relativen Lage der Segmente des Objekts in dem digitalen Bild und in den Tiefendaten zu bestimmen.
-
Jede der Formen kann eine oder mehrere der folgenden Formen enthalten: eine primitive Form, eine Ebene, ein Dreieck, ein Quadrat, ein Rechteck, ein Kreis, eine Kugel und ein Polygon.
-
Der Dimensionierungsprozessor kann ferner konfiguriert sein, das digitale Bild vorzuverarbeiten, um eines oder mehrere der folgenden durchzuführen: Bildrauschen filtern; Kanten des Objekts erkennen; Segmentfarbe erkennen; morphologische Merkmale im digitalen Bild bestimmen; und die Ausrichtung der Linien im digitalen Bild bestimmen.
-
Der Dimensionierungsprozessor kann ferner konfiguriert sein, die Tiefendaten vorzuverarbeiten, um eines oder mehrere der folgenden durchzuführen: Verzerrungen korrigieren, Interferenzen korrigieren, Rauschen filtern; und die Tiefendaten in ein Punktwolken-Datenformat konvertieren.
-
Die Kameravorrichtung kann eine RGB (rot-grün-blau)-Digitalkamera aufweisen.
-
Die Tiefenerfassungsvorrichtung kann eines oder mehrere der folgenden Elemente aufweisen: einer strukturierte Lichtkamera, einee Laufzeitkamera, eine Stereokamera, eine aktive Stereokamera, eine passive Stereokamera, eine stereoskopische Kamera und eine LIDAR (Light Detection and Ranging)-Vorrichtung.
-
Ein anderer Aspekt der Beschreibung sieht ein Verfahren vor, das Folgendes umfasst: bei einer Vorrichtung, die Folgendes umfasst: eine Kameravorrichtung, die konfiguriert ist, um ein digitales Bild in einem Sichtfeld zu erfassen; eine Tiefenerfassungsvorrichtung, die konfiguriert ist, um Tiefendaten über mindestens einen Teil des Sichtfeldes der Kameravorrichtung zu erfassen; und einen Dimensionierungsprozessor, Bestimmen in dem Dimensionierungsprozessor Segmente von Formen, die zu einem im digitalen Bild identifizierten Objekt gehören; Bestimmen in dem Dimensionierungsprozessor, auf der Grundlage jeweiliger Tiefendaten von der Tiefenerfassungsvorrichtung, die jedem der Segmente der zu dem Objekt gehörenden Formen zugeordnet sind, ob jedes der Segmente einer gleichen zu dem Objekt gehörenden Form zugeordnet ist; und, sobald alle Segmente verarbeitet sind, um ihre jeweilige Verknüpfung mit den Formen des Objekts in dem digitalen Bild zu bestimmen, Berechnen der Abmessungen des Objekts auf der Grundlage der jeweiligen Tiefendaten und der jeweiligen Verknüpfung der Formen in dem Dimensionierungsprozessor.
-
Das Bestimmen, ob jedes der Segmente der gleichen zu dem Objekt gehörenden Form zugeordnet ist, kann erfolgen, indem: benachbarte Segmente der Formen, die zu dem im digitalen Bild identifizierten Objekt gehören, identifiziert werden; und mindestens ein Teil der jeweiligen Tiefendaten der benachbarten Segmente verglichen wird.
-
Das Bestimmen, ob jedes der Segmente der gleichen zu dem Objekt gehörenden Form zugeordnet ist, kann erfolge, indem: durch alle benachbarten Segmente der Segmente iteriert wird, um zu bestimmen, ob die benachbarten Segmente zu einem größeren Gesamtsegment der gleichen Form zusammengefügt werden können.
-
Das Bestimmen, ob jedes der Segmente der gleichen zu dem Objekt gehörenden Form zugeordnet ist, kann erfolgen, indem: auf der Grundlage der jeweiligen Tiefendaten bestimmt wird, ob benachbarte Segmente mit der gleichen Form zusammengebracht sind.
-
Das Verfahren kann ferner das Herausfiltern einer oder mehrerer identifizierter Formen und identifizierter Segmente umfassen, die nicht mit dem Objekt verknüpft sind.
-
Die Vorrichtung kann ferner eine Anzeigevorrichtung umfassen, und das Verfahren kann ferner das Steuern der Anzeigevorrichtung umfassen, damit sie eines oder mehrere durchführt von: das digitale Bild wiedergeben, das Objekt in dem digitalen Bild identifizieren; und die Abmessungen des Objekts wiedergeben.
-
Die Vorrichtung kann ferner einen Speicher umfassen, der Daten speichert, die das Objekt definieren, und das Verfahren kann ferner umfassen: Identifizieren des Objekts im digitalen Bild durch Vergleichen des digitalen Bildes mit den Daten, die das Objekt definieren. Die das Objekt definierenden Daten können in einem Container im Speicher gespeichert werden, wobei der Container einer von mehreren im Speicher gespeicherten Containern ist, wobei jeder der mehreren Container entsprechende Objekte definiert. Die Daten, die das Objekt definieren, können stereometrische Eigenschaften des Objekts umfassen, wobei die stereometrischen Eigenschaften einen Satz von einer oder mehreren quantitativen Beschreibungen und qualitativen Beschreibungen des Objekts umfassen, die das Objekt in drei Dimensionen eindeutig charakterisieren.
-
Das Verfahren kann ferner das Bestimmen der Geometrie des Objekts auf der Grundlage der relativen Lage der Segmente des Objekts in dem digitalen Bild und in den Tiefendaten umfassen.
-
Jede der Formen kann eine oder mehrere der folgenden Formen aufweisen: eine primitive Form, eine Ebene, ein Dreieck, ein Quadrat, ein Rechteck, ein Kreis, eine Kugel und ein Polygon.
-
Das Verfahren kann ferner das Vorverarbeiten des digitalen Bildes umfassen, um eines oder mehrere der folgenden durchzuführen: Bildrauschen filtern; Kanten des Objekts erkennen; Segmentfarbe erkennen; morphologische Merkmale in dem digitalen Bild bestimmen; und Ausrichtung der Linien in dem digitalen Bild bestimmen.
-
Das Verfahren kann ferner das Vorverarbeiten der Tiefendaten umfassen, um eines oder mehrere der folgenden durchzuführen: Verzerrungen korrigieren; Interferenzen korrigieren; Rauschen filtern; und die Tiefendaten in ein Punktwolken-Datenformat konvertieren.
-
Die Kameravorrichtung kann eine RGB (rot-grün-blau)-Digitalkamera aufweisen.
-
Die Tiefenerfassungsvorrichtung kann eine oder mehrere strukturierte Lichtkameras, eine Laufzeitkamera, eine Stereokamera, eine aktive Stereokamera, eine passive Stereokamera, eine stereoskopische Kamera und eine LIDAR (Light Detection and Ranging)-Vorrichtung aufweisen.
-
Ein weiterer Aspekt der Beschreibung stellt ein nicht-flüchtiges, computerlesbares Medium bereit, das ein Computerprogramm speichert, wobei die Ausführung des Computerprogramms vorsieht: bei einer Vorrichtung, die Folgendes umfasst: eine Kameravorrichtung, die konfiguriert ist, um ein digitales Bild in einem Sichtfeld zu erfassen; eine Tiefenerfassungsvorrichtung, die konfiguriert ist, um Tiefendaten über mindestens einen Teil des Sichtfeldes der Kameravorrichtung zu erfassen; und einen Dimensionierungsprozessor, Bestimmen in dem Dimensionierungsprozessor Segmente von Formen, die zu einem im digitalen Bild identifizierten Objekt gehören; Bestimmen in dem Dimensionierungsprozessor, auf der Grundlage jeweiliger Tiefendaten von der Tiefenerfassungsvorrichtung, die jedem der Segmente der zu dem Objekt gehörenden Formen zugeordnet sind, ob jedes der Segmente einer gleichen zu dem Objekt gehörenden Form zugeordnet ist; und, sobald alle Segmente verarbeitet sind, um ihre jeweilige Verknüpfung mit den Formen des Objekts in dem digitalen Bild zu bestimmen, Berechnen der Abmessungen des Objekts auf der Grundlage der jeweiligen Tiefendaten und der jeweiligen Verknüpfung der Formen in dem Dimensionierungsprozessor.
-
1 zeigt eine Rückansicht 1-I und eine Vorderansicht 1-II eines Dimensionierungsgerätes 101; 2 zeigt ein schematisches Blockschaltbild des Gerätes 101. In Bezug auf 1 und 2 weist das Dimensionierungsgerät 101 auf: eine Kameravorrichtung 103, die so konfiguriert ist, dass sie ein digitales Bild in einem Sichtfeld erfasst; eine Tiefenerfassungsvorrichtung 105, die so konfiguriert ist, dass sie Tiefendaten über mindestens einen Teil des Sichtfeldes der Kameravorrichtung 103 erfasst; und einen Dimensionierungsprozessor 120, der so konfiguriert ist, dass er: Segmente von Formen bestimmt, die zu einem im digitalen Bild identifizierten Objekt gehören; auf der Grundlage jeweiliger Tiefendaten von der Tiefenerfassungsvorrichtung 105, die jedem der Segmente der zu dem Objekt gehörenden Formen zugeordnet sind, bestimmt, ob jedes der Segmente einer gleichen zu dem Objekt gehörenden Form zugeordnet ist; und, sobald alle Segmente verarbeitet sind, um ihre jeweiligen Verknüpfungen mit den Formen des Objekts im digitalen Bild zu bestimmen, die Abmessungen des Objekts auf der Grundlage der jeweiligen Tiefendaten und der jeweiligen Verknüpfungen der Formen berechnet. Die Kameravorrichtung 103 wird im Folgenden auch als Kamera 103 bezeichnet; und der Dimensionierungsprozessor 120 wird im Folgenden auch als Dimensionierungsprozessor 120 bezeichnet.
-
Wie dargestellt, weist das Gerät 101 ferner einen Speicher 122, eine Kommunikationsschnittstelle 124 (auch als Schnittstelle 124 bezeichnet), eine Anzeigevorrichtung 126, mindestens eine Eingabevorrichtung 128, einen Lautsprecher 132 und ein Mikrofon 134 auf.
-
Das Gerät 101 und seine Komponenten werden nun näher beschrieben.
-
Das Gerät 101 kann eine speziell für die Objektdimensionierung konfigurierte Rechenvorrichtung aufweisen, einschließlich, aber nicht beschränkt auf eine Grafikverarbeitungseinheit (GPU), eine Grafikverarbeitungsvorrichtung, eine Grafikverarbeitungsmaschine, eine Videoverarbeitungsvorrichtung und dergleichen. Tatsächlich kann das Gerät 101 jede Art von elektronischer Vorrichtung sein, die in einer in sich geschlossenen Weise verwendet werden kann, um Bilder und Tiefendaten unter jeweiliger Verwendung der Kamera 103 bzw. der Tiefenerfassungsvorrichtung 105 zu erfassen, um Objekte in einem Sichtfeld der Kamera 103 und der Tiefenerfassungsvorrichtung 105 zu dimensionieren.
-
Das Gerät 101 kann, ist jedoch nicht beschränkt auf, jede geeignete Kombination von elektronischen Geräten, Kommunikationsgeräten, Computern, PCs, Laptops, tragbaren elektronischen Geräten, mobilen Computern, tragbaren Computern, Tablet-Computern, Laptop-Computern, Desktop-Telefonen, Telefonen, PDAs (Personal Digital Assistants), Mobiltelefonen, Smartphones, E-Readern, internetfähigen Geräten, mobilen Kamerageräten und dergleichen aufweisen, die speziell für die Objektdimensionierung konfiguriert sind. Weitere geeignete Geräte werden vom Umfang der vorliegenden Ausführungsformen erfasst. Zum Beispiel bracht das Gerät 101 kein mobiles Kommunikationsgerät aufweisen, sondern kann ein Gerät mit speziellen Funktionen aufweisen, z. B. ein Gerät mit Lagerbestandsverfolgung und/oder anderen Datenerfassungsfunktionen, wie ein mobiler Scanner mit einem oder mehreren Radiofrequenz-Identifikations (RFID)-Lesegeräten, NFC (Near Field Communication)-Lesegeräten, Bildgeber und/oder laserbasierten Scannerdaten-Erfassungskomponenten.
-
Während eine bestimmte physikalische Konfiguration von Gerät 101 in 1 dargestellt ist, sind andere physikalische Konfigurationen von Gerät 101 vom Umfang der vorliegenden Ausführungsformen. Zum Beispiel kann das Gerät 101 ferner einen oder mehrere Griffe, wie z. B. einen Griff unterhalb des Displays 126, sowie einen Auslöser zum Auslösen der Datenerfassungskomponenten u. ä. aufweisen.
-
Die Kamera 103 kann eine Digitalkamera, eine RGB (rot-grün-blau)-Digitalkamera und dergleichen umfassen, die so konfiguriert ist, dass sie digitale Bilder, einschließlich, aber nicht beschränkt auf, Bilder in einem Video-Stream erfasst. Während Details der Kamera 103 nicht dargestellt werden, wird davon ausgegangen, dass die Kamera 103 Komponenten zur Aufnahme digitaler Bilder umfasst, einschließlich, aber nicht beschränkt auf, entsprechende ladungsgekoppelte Geräte (CCD) und dergleichen, sowie entsprechende Linsen, entsprechende Fokussiervorrichtungen (einschließlich, aber nicht beschränkt auf Schwingspulen und dergleichen), etc. Daher weisen die Daten von Kamera 103 im Allgemeinen zweidimensionale Daten auf, und insbesondere ein zweidimensionales Array von Werten, die ein Array von zweidimensionalen Farb- und/oder Helligkeitskoordinaten aufweisen kann.
-
Die Tiefenerfassungsvorrichtung 105 kann eine oder mehrere der folgenden Komponenten umfassen: eine strukturierte Lichtkamera, eine Laufzeitkamera, eine Stereokamera, eine aktive Stereokamera (die ihr eigenes Licht projizieren kann, einschließlich, aber nicht beschränkt auf Infrarotlicht), eine passive Stereokamera (die auf Umgebungslicht basiert), eine stereoskopische Kamera und eine LIDAR (Light Detection and Ranging)-Vorrichtung. Andere Tiefenerfassungsvorrichtungen sind jedoch vom Umfang der vorliegenden Implementierungen eingeschlossen. In einigen Ausführungsformen kann die Tiefenerfassungsvorrichtung 105 ein Paar Kameras aufweisen, die die Kamera 103 umfassen kann, die eine Stereokamera und/oder eine stereoskopische Kamera bilden. Wenn die Tiefenerfassungsvorrichtung 105 eine strukturierte Lichtkamera umfasst, kann die Tiefenerfassungsvorrichtung 105 ein Gerät aufweisen, das so konfiguriert ist, dass es strukturiertes Licht projiziert, und eine Kamera, die Kamera 103 umfasst, die so konfiguriert ist, dass sie Bilder von physischen Objekten erfasst, die durch das strukturierte Licht beleuchtet werden. Wenn die Tiefenerfassungsvorrichtung 105 eine Laufzeit (TOF)-Kamera oder eine LIDAR-Vorrichtung umfasst, weist die Tiefenerfassungsvorrichtung 105 Komponenten zur Implementierung solcher Funktionalitäten auf. Darüber hinaus kann die Tiefenerfassungsvorrichtung 105 Komponenten zur Erfassung von Tiefendaten über ein Sichtfeld umfassen, einschließlich, aber nicht beschränkt auf, entsprechende ladungsgekoppelte Geräte (CCD) und dergleichen, sowie entsprechende Linsen und entsprechende Fokussiervorrichtungen (einschließlich, aber nicht beschränkt auf Schwingspulen und dergleichen).
-
Die Tiefenerfassungsvorrichtung 105 ist so konfiguriert, dass sie die Tiefe über ein Sichtfeld erfasst, so dass ein Abstand von der Tiefenerfassungsvorrichtung 105 zu Oberflächen eines physikalischen Objekts bestimmt werden kann. Insbesondere können die Tiefendaten der Tiefenerfassungsvorrichtung 105 zu einer dreidimensionalen Karte des Sichtfeldes der Tiefenerfassungsvorrichtung 105 verarbeitet werden, wobei jedoch einer solchen Verarbeitung zur Erstellung einer dreidimensionalen Karte des Sichtfeldes der Tiefenerfassungsvorrichtung 105 durch vorliegende Implementierungen vorgebeugt werden kann. Die Daten der Tiefenerfassungsvorrichtung 105 können daher als dreidimensionale Daten bezeichnet werden und können ein zweidimensionales Array von Tiefenkoordinaten (d. h. jedes Element des zweidimensionalen Arrays ist einer entsprechenden Tiefe zugeordnet) aufweisen.
-
Damit stellen die Tiefendaten von der Tiefenerfassungsvorrichtung 105 im Allgemeinen einen Abstand der Tiefenerfassungsvorrichtung 105 zu Teilen von Objekten im Sichtfeld der Tiefenerfassungsvorrichtung 105 dar. In einigen Ausführungsformen können die Tiefendaten „reale Weltkoordinaten“ aufweisen und/oder in solche konvertiert werden, wobei die „realen Weltkoordinaten“ dreidimensionale Koordinaten in einem ausgewählten Bezugsframe (Bezugsrahmen) und/oder einem gegebenen Bezugsframe aufweisen können; in einigen Ausführungsformen kann ein solcher Bezugsframe relativ zu der Tiefenerfassungsvorrichtung 105 sein (z. B. kann die Tiefenerfassungsvorrichtung 105 einen Ursprung des Bezugsframes aufweisen), während in anderen Ausführungsformen ein solcher Bezugsframe relativ zu einer festen Koordinate sein kann, z. B. einem Punkt im Lager und/oder einer geographischen Koordinate, die unter Verwendung eines GPS (Global Positioning System)-Geräts bestimmt wird. In letzterem Fall kann das Gerät 101 ein GPS-Gerät aufweisen, und die Koordinaten der Tiefendaten aus der Tiefenerfassungsvorrichtung 105 können relativ zu einem in Bezug auf die GPS-Daten definierten Ursprung bestimmt werden.
-
Wie in 1 dargestellt, können externe Komponenten von Kamera 103 und Tiefenerfassungsvorrichtung 105 auf einer Rückseite von Gerät 101 angeordnet sein und Anzeigevorrichtung 126 kann auf einer Vorderseite von Gerät 101 angeordnet sein, so dass digitale Bilder und Tiefendaten auf einer Rückseite von Gerät 101 erfasst werden können. Anders ausgedrückt überlappen sich die Sichtfelder von Kamera 103 und Tiefenerfassungsvorrichtung 105, da beide Geräte 103, 105 auf einer Rückseite des Gerätes 101 angeordnet sind. Die beiden Geräte 103, 105 brauchen jedoch nicht auf einer gleichen Seite des Gerätes 101 angeordnet sein, solange sich die Sichtfelder der Geräte 103, 105 so überlappen, dass sich ein durch das Dimensionierungsgerät 101 dimensioniertes Objekt in einem Sichtfeld der Geräte 103, 105 befindet.
-
Darüber hinaus können, wie auch in 1 dargestellt, Bildaufnahmekomponenten und/oder Datenerfassungskomponenten von der Kamera 103 und der Tiefenerfassungsvorrichtung 105, wie Linsen und dergleichen, durch einen bestimmten Abstand voneinander getrennt werden, so dass Bilder von der Kamera 103 und Tiefendaten von der Tiefenerfassungsvorrichtung 105 im Allgemeinen eine Tiefe über ein ähnliches Sichtfeld abbilden und erfassen können. Mit anderen Worten, die jeweiligen Sichtfelder von der Kamera 103 und der Tiefenerfassungsvorrichtung 105 überlappen sich im Allgemeinen, und tatsächlich sind Linsen und dergleichen von der Kamera 103 und der Tiefenerfassungsvorrichtung 105 in einigen Ausführungsformen so nahe wie möglich beieinander, um sowohl die Parallaxe zwischen ihnen zu reduzieren als auch sicherzustellen, dass die Tiefendaten für ein von der Kamera 103 abgebildetes Objekt erfasst werden können.
-
Es sei verstanden, dass die Positionen von der Kamera 103 und der Tiefenerfassungsvorrichtung 105 in 1 und 2 lediglich schematisch dargestellt sind und nicht unbedingt die tatsächlichen relativen Positionen von der Kamera 103 und der Tiefenerfassungsvorrichtung 105 darstellen; mit anderen Worten können in 1, während die Kamera 103 und die Tiefenerfassungsvorrichtung 105 jeweils Seite an Seite über eine Querlängsrichtung von Gerät 101 dargestellt werden, die Kamera 103 und die Tiefenerfassungsvorrichtung 105 an beliebiger Stelle von Gerät 101 angeordnet werden, vorausgesetzt, dass sich ihre Sichtfelder zumindest teilweise überlappen, so dass physische Objekte in ihren jeweiligen Sichtfeldern sowohl von der Kamera 103 abgebildet als auch von der Tiefenerfassungsvorrichtung 105 erfasst werden können.
-
In einem idealen Gerät würden die Kamera 103 und die Tiefenerfassungsvorrichtung 105 den gleichen Punkt im Raum einnehmen, so dass ihre jeweiligen Sichtfelder identisch wären; da dies jedoch nicht praktikabel ist, umfasst eine Ausführungsformen eine RGB-Kamera (z. B. die Kamera 103) und eine TOF-Kamera. Darüber hinaus führt eine solche Konfiguration zu einer Vorverarbeitung der jeweiligen digitalen Bilder und Tiefendaten, um entsprechende Bereiche und/oder Pixel anzupassen, so dass beabsichtigt wird, „Pixel-Schattierung“ und „Dunkle Bereiche“ zu minimieren. Zum Beispiel sind aufgrund von Parallaxen in Blickpunkten zwischen der Kamera 103 und der Tiefenerfassungsvorrichtung 105 in einigen Anordnungen des Objekts in deren Sichtfeldern Bereiche, die für die Kamera 103 sichtbar sind, für die Tiefenerfassungsvorrichtung 105 nicht sichtbar oder umgekehrt. Dies kann bewirken: ein Fehlen von Bilddaten in Bereichen, für die es Tiefendaten gibt; und/oder ein Fehlen von Tiefendaten in Bereichen, für die es Bilddaten gibt. Solche Regionen können als „dunkel“ bezeichnet werden, da es im Allgemeinen schwierig ist, sie einem Segment zuzuordnen. Größere „dunkle Bereiche“ können daher Daten, die mit den hier beschriebenen Techniken verarbeitet werden, verzerren, so dass ein möglichst enges Zusammenbringen von der Kamera 103 und der Tiefenerfassungsvorrichtung 105 bei einer solchen Ausführungsform erwünscht ist.
-
Der Dimensionierungsprozessor 120 kann einen Prozessor und/oder eine Vielzahl von Prozessoren umfassen, einschließlich, aber nicht beschränkt auf einen oder mehrere zentrale Prozessoren (CPUs) und/oder eine oder mehrere Verarbeitungseinheiten und/oder eine oder mehrere grafische Verarbeitungseinheiten (GPUs); so oder so umfasst der Dimensionierungsprozessor 120 ein Hardwareelement und/oder einen Hardwareprozessor. Tatsächlich kann der Dimensionierungsprozessor 120 in einigen Ausführungsformen einen ASIC (anwendungsspezifisch integrierte Schaltung) und/oder ein FPGA (Field Programmable Gate Array) umfassen, die speziell konfiguriert sind, um die Funktionalität des Gerätes 101 zu implementieren. Daher ist das Gerät 101 vorzugsweise keine generische Rechenvorrichtung, sondern eine Vorrichtung, die speziell konfiguriert ist, um spezifische Funktionen zu implementieren, einschließlich der Dimensionierung unter Verwendung digitaler Bilder und Tiefendaten, wie im Folgenden näher beschrieben. So kann zum Beispiel das Gerät 101 und/oder der Dimensionierungsprozessor 120 speziell eine computerausführbare Maschine umfassen, die konfiguriert ist, um Objekte in einem Sichtfeld der Kamera 103 und der Tiefenerfassungsvorrichtung 105 unter Verwendung digitaler Bilder und Tiefendaten zu dimensionieren.
-
Der Speicher 122 kann eine nichtflüchtige Speichereinheit (z. B. Erasable Electronic Programmable Read Only Memory („EEPROM“), Flash Memory) und eine flüchtige Speichereinheit (z. B. Random Access Memory („RAM“)) umfassen. Programmieranweisungen, die die hierin beschriebenen Funktionslehren des Gerätes 101 umsetzen, werden typischerweise dauerhaft im Speicher 122 gehalten und vom Dimensionierungsprozessor 120 verwendet, was eine angemessene Nutzung des flüchtigen Speichers während der Ausführung solcher Programmieranweisungen ermöglicht. Die Fachleute erkennen, dass der Speicher 122 ein Beispiel für computerlesbare Medien ist, die Programmieranweisungen speichern können, die auf dem Dimensionierungsprozessor 120 ausführbar sind. Darüber hinaus ist der Speicher 122 auch ein Beispiel für eine Speichereinheit und/oder ein Speichermodul und/oder einen nichtflüchtigen Speicher.
-
Insbesondere kann der Speicher 122 eine Anwendung 136 speichern, die, wenn sie durch den Dimensionierungsprozessor 120 ausgeführt wird, den Dimensionierungsprozessor 120 zu Folgendem anleitet: Bestimmen von Segmenten von Formen, die zu einem in dem digitalen Bild identifizierten Objekt gehören; basierend auf entsprechenden Tiefendaten von der Tiefenerfassungsvorrichtung 105, die jedem der Segmente der zum Objekt gehörenden Formen zugeordnet sind, Bestimmen, ob jedes der Segmente einer gleichen Form zugeordnet ist, die zum Objekt gehört; und, sobald alle Segmente verarbeitet sind, um ihre jeweiligen Verknüpfungen mit den Formen des Objekts im digitalen Bild zu bestimmen, Berechnen von Dimensionen des Objekts basierend auf den jeweiligen Tiefendaten und den jeweiligen Verknüpfungen der Formen.
-
Wie dargestellt, speichert der Speicher 122 ferner Daten 140, die ein Objekt definieren, zum Beispiel ein Objekt in einem von der Kamera 103 aufgenommenen digitalen Bild; der Dimensionierungsprozessor 120 kann daher ferner konfiguriert sein, um: das Objekt im digitalen Bild durch Vergleichen des digitalen Bildes mit Daten 140, die das Objekt definieren, zu identifizieren. So können zum Beispiel Daten 140, die das Objekt definieren, in einem Container 141 im Speicher 122 gespeichert werden; in einigen dieser Ausführungsformen, wie dargestellt, kann der Container 141 einer von einer Vielzahl von Containern 141-n sein, die im Speicher 122 gespeichert sind, wobei jeder der Vielzahl von Containern 141-n entsprechende Objekte definiert, zum Beispiel in den entsprechenden darin gespeicherten Daten 140-n.
-
In einigen Ausführungsformen können die Daten 140, 140-n, die das Objekt definieren, stereometrische Eigenschaften des Objekts umfassen, wobei die stereometrischen Eigenschaften einen Satz von einer oder mehreren quantitativen Beschreibungen und qualitativen Beschreibungen des Objekts umfassen, die das Objekt in drei Dimensionen eindeutig charakterisieren (d. h. das im digitalen Bild dargestellte Objekt und die Tiefendaten mit einem physischen Objekt, das abgebildet wird, in Beziehung setzen).
-
Qualitative Beschreibungen können einen oder mehrere Sätze von Regeln aufweisen, die in einem Objekt- (und/oder Ziel-) Beschreibungsalgorithmus verwendet werden können. Wenn ein Zielobjekt zum Beispiel gerade Linien hat (wie im Falle einer Box), kann ein Segmentextraktionsalgorithmus unter Verwendung einer, jedoch nicht beschränkt auf eine, probabilistischen Hough-Transformation Linien analysieren und Objektsegmente umreißen.
-
Quantitative Beschreibungen können einen oder mehrere Sätze numerisch ausgedrückter Parameter aufweisen, die ein Objekt beschreiben können. Wenn ein Zielobjekt zum Beispiel gestreckte Winkel hat (wie im Falle einer Box), kann ein Segmentextraktionsalgorithmus verwendet werden, der 90 Grad als primären Korb zur Klassifizierung von Linienbeziehungen in einem Bild angibt.
-
Zum Beispiel können Ebenen durch einen oder mehrere der folgenden Merkmale charakterisiert werden: einen dreidimensionalen Normalenvektor mit einer Länge, die dem Abstand von der Mitte des Bezugsframes entspricht; und/oder als ein unbegrenztes kontinuierliches dreidimensionales Objekt mit vier beliebigen Punkten, die zu einem Viereck gehören. Tatsächlich kann jede Beschreibung eines Objekts in den Daten 140, 140-n definiert werden, vorausgesetzt, dass eine solche Beschreibung das Objekt eindeutig definiert und für die Verwendung mit den hierin beschriebenen Verfahren und Prozessen ausgeführt ist.
-
Während in 1 „n“ Datencontainer dargestellt sind, sei daraufhingewiesen, dass eine beliebige Anzahl von Datencontainern im Speicher 122 gespeichert werden können (und/oder es sei darauf hingewiesen, dass Daten auch ohne Container gespeichert werden können). Insbesondere kann der Speicher 122 mit den Daten 140 vorkonfiguriert werden, die Definitionen eines oder mehrerer Objekte speichern, für die Dimensionen bestimmt werden sollen; z. B. kann bei Lageranwendungen davon ausgegangen werden, dass Boxen dimensioniert werden sollen, so dass Daten 140 eine Box definieren können (z. B. ein Objekt mit sechs Seiten, die in Winkeln von etwa 90° versetzt verbunden sind). Andere Arten von Objekten, die dimensioniert werden sollen, können jedoch durch die Daten 140-n definiert werden, einschließlich Objekte, die komplexere Formen als Boxen haben. Auf jeden Fall wird im Folgenden davon ausgegangen, dass die Boxen zu dimensionieren sind und die Daten 140 definieren eine Box.
-
Der Dimensionierungsprozessor 120 kann ferner konfiguriert sein, um mit der Anzeigevorrichtung 126 zu kommunizieren, die jede geeignete Flachbildschirmanzeige (z. B. LCD (Flüssigkristallanzeige), Plasmabildschirme, OLED (organische lichtemittierende Diode) -Anzeigen, kapazitive oder resistive Touchscreens, CRTs (Kathodenstrahlröhren) und dergleichen oder Kombination davon umfasst. Insbesondere kann der Dimensionierungsprozessor 120 konfiguriert sein, um die Anzeigevorrichtung 126 auf eine oder mehrere der folgenden Arten zu steuern: ein digitales Bild von der Kamera 103 wiedergeben; ein Objekt im digitalen Bild identifizieren; und die Abmessungen des Objekts wiedergeben, vorausgesetzt, diese Abmessungen wurden bestimmt, wie im Folgenden näher beschrieben.
-
Das Gerät 101 umfasst im Allgemeinen mindestens eine Eingabevorrichtung 128, die zum Empfangen von Eingabedaten konfiguriert ist, und kann jede geeignete Kombination von Eingabevorrichtungen umfassen, einschließlich, aber nicht beschränkt auf eine Tastatur, ein Tastenfeld, eine Zeigervorrichtung, eine Maus, ein Spurrad (track wheel), eine Rollkugel (track ball), ein Touchpad, einen Touchscreen (z. B. integriert mit der Anzeigevorrichtung 126) und dergleichen. Andere geeignete Eingabevorrichtungen sind vom Umfang der vorliegenden Ausführungsformen mit umfasst. In einigen Ausführungsformen können eine oder mehrere der Eingabevorrichtung 128 und der Anzeigevorrichtung 126 außerhalb des Gerätes 101 liegen, wobei der Dimensionierungsprozessor 120 mit jeden externen Komponenten über eine geeignete Verbindung und/oder einen geeigneten Anschluss kommuniziert.
-
Wie dargestellt, umfasst das Gerät 101 ferner einen optionalen Lautsprecher 132 und ein optionales Mikrofon 134 (von denen jedes alternativ extern bezüglich des Gerätes 101 sein kann). Der Lautsprecher 132 umfasst jeden geeigneten Lautsprecher zum Umwandeln von Audiodaten in Ton, um eine oder mehrere akustische Warnmeldungen, akustische Kommunikationen von Fernkommunikationsvorrichtungen und dergleichen bereitzustellen. Das Mikrofon 134 umfasst jedes geeignete Mikrofon zum Empfang von Ton und zur Umwandlung in Audiodaten. Der Lautsprecher 132 und das Mikrofon 134 können in Kombination verwendet werden, um Telefon- und/oder Kommunikationsfunktionen am Gerät 101 zu realisieren.
-
Wie dargestellt, ist der Dimensionierungsprozessor 120 auch mit der optionalen Schnittstelle 124 verbunden, die als ein oder mehrere Funkgeräte und/oder Stecker und/oder Netzwerkadapter implementiert sein kann, die zur drahtlosen Kommunikation mit einem oder mehreren Kommunikationsnetzwerken (nicht dargestellt) konfiguriert sind. Es sei verstanden, dass die Schnittstelle 124 so konfiguriert ist, dass sie der Netzwerkarchitektur entspricht, die verwendet wird, um eine oder mehrere Kommunikationsverbindungen zu einem oder mehreren Kommunikationsnetzwerken zu implementieren, einschließlich, aber nicht beschränkt auf, eine geeignete Kombination von USB-Kabeln (Universal Serial Bus), seriellen Kabeln, drahtlosen Verbindungen, Mobiltelefonverbindungen, Mobilfunkverbindungen (einschließlich, aber nicht beschränkt auf 2G, 2.5G, 3G, 4G+ wie UMTS (Universal Mobile Telecommunications System), GSM (Global System for Mobile Communications), CDMA (Code Division Multiple Access), FDD (Frequency Division Duplexing), LTE (Long Term Evolution), TDD (Time Division Duplexing), TDD-LTE (TDD Long Term Evolution), TD-SCDMA (Time Division Synchronous Code Division Multiple Access) und dergleichen, drahtlose Daten, Bluetooth™ -Verbindungen, NFC (Near Field Communication) -Verbindungen, WLAN (Wireless Local Area Network) -Verbindungen, WiFi-Verbindungen, WiMax-Verbindungen, paketbasierte Verbindungen, das Internet, analoge Netzwerke, das PSTN (Public Switched Phone Network), Zugangspunkte und dergleichen und/oder eine Kombination.
-
Obwohl nicht dargestellt, umfasst das Gerät 101 ferner eine Energieversorgung, einschließlich, aber nicht beschränkt auf, eine Batterie, ein Netzteil und dergleichen, und/oder eine Verbindung zu einer Hauptenergieversorgung und/oder einem Netzadapter (z. B. und AC-zu-DC (Wechselstrom zu Gleichstrom) -Adapter). Im Allgemeinen versorgt die Energieversorgung Komponenten des Gerätes 101.
-
Daher sei verstanden, dass im Allgemeinen eine große Vielzahl von Konfigurationen für das Gerät 101 in Betracht gezogen werden.
-
Die Aufmerksamkeit wird nun auf die 3 gerichtet, die ein Blockdiagramm eines Flussdiagramms eines Verfahrens 300 zur Dimensionierung unter Verwendung digitaler Bilder und Tiefendaten gemäß nicht einschränkenden Ausführungsformen darstellt. Um die Erläuterung des Verfahrens 300 zu erleichtern, wird davon ausgegangen, dass das Verfahren 300 unter Verwendung des Gerätes 101 durchgeführt wird, und zwar unter Verwendung des Dimensionierungsprozessors 120 und wenn der Dimensionierungsprozessor 120 die im Speicher 122 gespeicherten Anweisungen verarbeitet, wie zum Beispiel die Anwendung 136. Tatsächlich ist das Verfahren 300 eine Möglichkeit, mit der das Gerät 101 konfiguriert werden kann. Darüber hinaus wird die folgende Diskussion des Verfahrens 300 zu einem weiteren Verständnis des Gerätes 101 und ihrer verschiedenen Komponenten führen. Es sei jedoch verstanden, dass das Gerät 101 und/oder das Verfahren 300 variiert werden kann und nicht genau so zu funktionieren braucht, wie hierin in Verbindung miteinander besprochen, und dass solche Abweichungen vom Umfang der vorliegenden Ausführungsformen erfasst sind.
-
Unabhängig davon ist hervorzuheben, dass das Verfahren 300 nicht in der exakten Reihenfolge, wie dargestellt, durchgeführt werden braucht, sofern dies nicht anders angegeben ist; und ebenso können verschiedene Blöcke parallel und nicht nacheinander ausgeführt werden; daher werden die Elemente des Verfahrens 300 hierin als „Blöcke“ und nicht als „Schritte“ bezeichnet. Es sei jedoch auch verstanden, dass das Verfahren 300 auch auf Variationen des Gerätes 101 implementiert werden kann.
-
Bei den Blöcken 301, 303, die nacheinander und/oder parallel ausgeführt werden können, empfängt der Dimensionierungsprozessor 120 ein digitales Bild von der Kameravorrichtung 103 und entsprechende Tiefendaten von der Tiefenerfassungsvorrichtung 105.
-
Bei Block 305 bestimmt der Dimensionierungsprozessor 120 Segmente von Formen, die zu einem im digitalen Bild identifizierten Objekt gehören. So kann zum Beispiel ein Segment ein Objekt umfassen, das im digitalen Bild während eines Zwischenschritts der Segmentierung identifiziert wurde. In einigen Fällen kann ein Segment, ist aber nicht darauf beschränkt, einen Fleck von unbestimmter Form auf einer Seite und/oder einer Oberfläche eines Objekts im digitalen Bild aufweisen, der bei einer anfänglichen Verarbeitung des digitalen Bildes identifiziert wird, der für eine spätere Analyse identifiziert wird. Wie im Folgenden beschrieben, können mehrere Segmente zu einer gegebenen Form kombiniert werden, die zu dem Objekt im digitalen Bild gehört, und die gegebene Form kann eine Seite des Objekts im digitalen Bild definieren; in der Tat kann manchmal davon ausgegangen werden, dass eine Form einer Seite des Objekts zugeordnet ist, es sei denn, das Objekt ist zum Beispiel gekrümmt (z. B. eine Kugel) mit nicht unterscheidbaren Seiten, wo Segmente dennoch zu Formen kombiniert werden können.
-
Bei Block 307, basierend auf entsprechenden Tiefendaten von der Tiefenerfassungsvorrichtung, die jedem der Segmente der dem Objekt zugeordneten Formen zugeordnet sind, bestimmt der Dimensionierungsprozessor 120, ob jedes der Segmente einer selben dem Objekt zugeordneten Form zugeordnet ist. Anders ausgedrückt, bei Block 307, basierend auf entsprechenden Tiefendaten, die mit jedem der Segmente der Formen korrespondieren, die ein bestimmtes Objekt definieren, bestimmt der Dimensionierungsprozessor 120, ob jedes der Segmente einer gleichen Form zugeordnet ist, die mindestens einen Teil des Objekts bildet.
-
Bei Block 309 bestimmt der Dimensionierungsprozessor 120, ob alle Segmente verarbeitet werden, um ihre jeweiligen Zuordnungen zu den Formen des Objekts im digitalen Bild zu bestimmen. Wenn nicht alle Segmente verarbeitet wurden (z. B. eine „NEIN“-Entscheidung bei Block 309), wird Block 307 fortgesetzt.
-
Sobald jedoch alle Segmente verarbeitet sind, um ihre jeweiligen Zuordnungen mit den Formen des Objekts im digitalen Bild zu bestimmen (z. B. eine „JA“-Entscheidung bei Block 309), berechnet der Dimensionierungsprozessor 120 bei Block 311 die Dimensionen des Objekts basierend auf den jeweiligen Tiefendaten und den jeweiligen Zuordnungen der Formen.
-
Bei einem optionalen Block 313 kann der Dimensionierungsprozessor 120 die Anzeigevorrichtung 126 auf eine oder mehrere der folgenden Arten steuern: Wiedergeben des digitalen Bildes, Identifizieren des Objekts in dem digitalen Bild; und Wiedergeben der Dimensionen des Objekts. Alternativ und/oder zusätzlich zu Block 313 kann der Dimensionierungsprozessor 120 im Speicher 122 ein oder mehrere digitale Bilder und die Dimensionen des Objekts speichern. Alternativ und/oder zusätzlich zu Block 313 kann der Dimensionierungsprozessor 120 unter Verwendung der Schnittstelle 124 ein oder mehrere des digitalen Bildes und der Dimensionen des Objekts, zum Beispiel an eine externe Vorrichtung und/oder eine entfernte Vorrichtung, übertragen; eine solche Übertragung eines oder mehrerer digitaler Bilder und der Dimensionen des Objekts kann in Verbindung mit Cloud-basierten Lageranwendungen und/oder Cloud-basierten Lagerfunktionen erfolgen.
-
Das Verfahren 300 wird nun unter Bezugnahme auf die 4 bis 10 diskutiert. Die Aufmerksamkeit richtet sich daher als nächstes auf 4, die im Wesentlichen der 2 ähnlich ist, wobei ähnliche Elemente ähnliche Nummern aufweisen. Insbesondere stellt 4 eine nicht einschränkende Ausführungsform der Blöcke 301, 303 dar, bei der der Dimensionierungsprozessor 120 ein digitales Bild 403 und die Tiefendaten 405 jeweils von der Kamera 103 und der Tiefenerfassungsvorrichtung 105 empfängt, zum Beispiel als Reaktion auf die Verarbeitungsanwendung 136. 4 stellt auch eine Box 410 (d. h. ein physisches Objekt) in einem Sichtfeld der Kamera 103 und der Tiefenerfassungsvorrichtung 105 dar. Die Box 410 weist sechs Seiten (drei davon sind sowohl für die Kamera 103 als auch für die Tiefenerfassungsvorrichtung 105 sichtbar) auf: insbesondere eine Oberseite 450 und die Seiten 451, 452, die sich von der Oberseite 450 nach unten erstrecken). Darüber hinaus umfasst, wie dargestellt, eine Oberseite 450 der Box 410, die sowohl für die Kamera 103 als auch für die Tiefenerfassungsvorrichtung 105 sichtbar ist, Etiketten 411, 412 oder dergleichen, die eine andere Farbe als die Box 410 haben; außerdem umfasst das Oberteil 450 der Box 410 Klappen, so dass eine Linie die Oberseite 450 der Box 410 optisch halbiert.
-
Als nächstes wird die Aufmerksamkeit auf 5 gerichtet, die eine nicht einschränkende visuelle Wiedergabe des digitalen Bildes 403 darstellt, die sich ergibt, wenn die Kamera 103 die Box 410 (und/oder ein physisches Objekt) erfasst; zum Beispiel kann die visuelle Darstellung des digitalen Bildes 403 an der Anzeigevorrichtung 126 (siehe z. B. 9) erfolgen. Bei Block 305 verarbeitet der Dimensionierungsprozessor 120 das digitale Bild 403, um Segmente von Formen zu bestimmen, die zu einem im digitalen Bild identifizierten Objekt gehören; der Begriff „Objekt“ wird in diesem Fall verwendet, um eine Gruppe von Bereichen und/oder eine Gruppe von Pixeln im digitalen Bild 403 zu bezeichnen, die ein physisches Objekt darstellen, z. B. Box 410.
-
Insbesondere verarbeitet der Dimensionierungsprozessor 120 das digitale Bild 403, um nach Segmenten von Formen zu suchen, die, ohne darauf beschränkt zu sein, eine primitive Form, eine Ebene, ein Dreieck, ein Quadrat, ein Rechteck, einen Kreis, eine Kugel, ein Polygon und dergleichen aufweisen können; z. B. Formen, die verwendet werden können, um ein Objekt zu identifizieren, wie es in Daten 140 gespeichert ist. Im digitalen Bild 403 in 5 können die Oberseite 450 und die zwei sichtbaren Seiten 451, 452 jeweils Polygonen und/oder Rechtecken entsprechen, und bei Block 305 bestimmt der Dimensionierungsprozessor 120 Segmente, aus denen sich die Polygone oder Rechtecke zusammensetzen können.
-
5 stellt daher auch eine Wiedergabe 503 des digitalen Bildes 403 nach der Implementierung von Block 305 dar, wobei Segmente von in Block 305 identifizierten Formen angezeigt werden. Es sei verstanden, dass das Wiedergeben 503 lediglich einen Zwischenschritt bei der Bestimmung der Dimensionen des physischen Objekts darstellt, das durch das Objekt im digitalen Bild 403 dargestellt wird, und das Wiedergeben 503 wird nicht unbedingt auf der Anzeigevorrichtung 126 angezeigt.
-
Insbesondere hat der Dimensionierungsprozessor 120 bei der Wiedergabe 503 eine Vielzahl von Segmenten 520-1, 520-2, 520-3, 520-4, 520-5, 520-6, 520-7 im digitalen Bild 403 identifiziert, die im Folgenden abwechselnd als Segmente 520 und im Allgemeinen als Segment 520 bezeichnet werden. Wie in 5 zu sehen ist, sind Kanten der Segmente 520 nicht notwendigerweise gut definiert, da Bildverarbeitungsalgorithmen dazu führen können, dass Kanten und/oder Ecken der Box 410 unscharf werden, abhängig vom Kontrast zwischen Seiten, die die Kanten und/oder Ecken bilden, und/oder dem Kontrast zwischen Box 410 und Gegenständen im Hintergrund des digitalen Bildes 403.
-
In jedem Fall verarbeitet der Dimensionierungsprozessor 120 das digitale Bild 403, um die Segmente 520 zu identifizieren. In einigen Ausführungsformen kann der Dimensionierungsprozessor 120 ferner konfiguriert werden, um das digitale Bild 403 auf eine oder mehrere der folgenden Arten vorzuverarbeiten: Bildrauschen filtern; Kanten des Objekts erkennen; Farbe segmentieren; morphologische Merkmale in digitalen Bild 403 bestimmen; und die Ausrichtung der Linien in digitalen Bild 403 bestimmen. Eine solche Vorverarbeitung kann durchgeführt werden, um Kanten zwischen den Segmenten 520 und dergleichen besser zu identifizieren.
-
In noch weiteren Ausführungsformen kann der Dimensionierungsprozessor 120 weiter konfiguriert sein, um die Tiefendaten 405 auf eine oder mehrere der folgenden Arten vorzuverarbeiten: Verzerrungen korrigieren, Interferenzen korrigieren, Rauschen filtern; und Tiefendaten 405 in ein Punktwolken-Datenformat konvertieren. In diesen letztgenannten Ausführungsformen kann die Weiterverarbeitung der Tiefendaten 405 die Verarbeitung von Tiefendaten 405 im Punktwolken-Datenformat umfassen.
-
In einigen Ausführungsformen kann der Dimensionierungsprozessor 120 weiter konfiguriert sein, um eine oder mehrere der identifizierten Formen und identifizierten Segmente herauszufiltern, die nicht mit dem Objekt assoziiert sind. So werden zum Beispiel in der Wiedergabe 503 verschiedene Formen und/oder Segmente dargestellt, wie zum Beispiel das Segment 530, die nicht mit der Box 410 assoziiert sind, was durch die Beleuchtung der Box 410 und/oder durch Gegenstände in der Nähe der Box 410, Rauschen und dergleichen auftreten kann. Solche Formen und/oder Segmente können herausgefiltert werden.
-
In der Tat können in einigen Ausführungsformen die Segmente 520, 530 und dergleichen mit den Daten 140-n verglichen werden, einschließlich der Daten 140-n, die verschiedene Objekte und ihre entsprechenden Eigenschaften definieren, um zu bestimmen, welche Segmente 520, 530 herauszufiltern sind und welche Segmente 520, 530 in dem Verfahren 300 verwendet werden können. In noch weiteren Ausführungsformen werden Daten aus dem digitalen Bild 403 und den Tiefendaten 405 zu den Segmenten 520, 530 zusammengeführt. So können zum Beispiel eine oder mehrere der Daten 140, 140-n und die Anwendung 136 Eigenschaften und/oder Regeln speichern, die Objekte definieren, und diese Regeln können zur Identifizierung der Segmente 520, 530 verwendet werden. Solche Eigenschaften können zum Beispiel, ohne darauf beschränkt zu sein, eine Position (z. B. eine obere Ebene, eine untere Ebene, Seitenebenen und dergleichen), eine Geometrie (ein Quaderrahmen, Eckenpositionen und dergleichen), Gruppierungen ähnlicher Texturen/Farben, Beziehungen von besonderen Merkmalen zwischen Ecken, zwischen Kanten/Linien, zwischen Seiten, zwischen Texturbereichen und dergleichen aufweisen. Daher können Identifizierungssegmente Identifizierungsabschnitte des digitalen Bildes 403 umfassen, die verschiedene Arten von Bereichen abgrenzen (z. B. basierend auf Farbe, Textur, Position), die durch Vergleichen entsprechender Tiefendaten 405 verstärkt werden können, um zu bestimmen, ob die Segmente Teil einer zum Objekt gehörenden gleichen Form sind oder nicht, wie im Folgenden näher beschrieben wird.
-
In jedem Fall entsprechen die Segmente 520-1, 520-2 jeweils den Etiketten 411, 412, das Segment 520-3 entspricht einem durch das Etikett 411 definierten Bereich und einer Klappe der Oberseite 450 der Box 410, die Segmente 520-4, 520-5 entsprechen den verbleibenden Bereichen der Oberseite 450 der Box 410, und die Segmente 520-6, 520-7 entsprechen zwei Seiten 451, 452 der Box 410, die für die Kamera 103 und die Tiefenerfassungsvorrichtung 105 sichtbar sind. Der Dimensionierungsprozessor 120 kann jedoch aus dem digitalen Bild 403 allein im Allgemeinen nicht bestimmen und/oder bestätigen, welche Segmente 520 welchen Formen des Objekts zugeordnet sind; daher ist der Dimensionierungsprozessor 120 im Allgemeinen nicht in der Lage, zu bestimmen und/oder zu bestätigen, welche Segmente 520 den Seiten 451, 452 und/oder einer Oberseite 450 der Box 410 zugeordnet sind; zum Beispiel, während jedes der Segmente 520-1, 520-2, 520-3, 520-4, 520-5 zusammen einer gleichen Form und/oder einer Oberseite 450 der Box 410 entspricht, ist es nicht einfach möglich, eine solche Schlussfolgerung auf der Grundlage des digitalen Bildes 403 allein zu ziehen.
-
Daher verarbeitet der Dimensionierungsprozessor 120 bei Block 307 die jedem der Segmente 520 der zum Objekt gehörenden Formen zugeordneten Tiefendaten 405, um zu bestimmen, ob jedes der Segmente 520 einer gleichen Form zugeordnet ist. Zum Beispiel wird das Augenmerk auf 6 gerichtet, welche ein nicht einschränkendes Beispiel für eine Implementierung von Block 305 darstellt.
-
Insbesondere kann der Dimensionierungsprozessor 120 benachbarte Segmente 520 der Formen identifizieren, die zu dem in dem digitalen Bild 403 identifizierten Objekt gehören, und mindestens einen Teil der jeweiligen Tiefendaten der benachbarten Segmente 520 vergleichen. Die Tiefendaten 405 können zergliedert werden, um Teile der Tiefendaten 405 mit den im digitalen Bild 403 identifizierten Segmenten zu verknüpfen, ohne eine vollständige dreidimensionale Zuordnung unter Verwendung der Tiefendaten 405 durchzuführen, was zeitaufwendig sein kann und/oder übermäßige Verarbeitungsressourcen beansprucht. So können zum Beispiel die Segmente 520-1, 520-2 als benachbarte Formen bestimmt werden, da sich kein anderes Segment 520 dazwischen befindet. Darüber hinaus können die jeweiligen, jedem Segment 520-1, 520-2 zugeordneten Tiefendaten verglichen werden, um einen relativen Abstand von der Tiefenerfassungsvorrichtung 105 und/oder eine relative Position in einem Bezugsframe zu bestimmen.
-
Wie dargestellt, werden zum Beispiel die einem Bereich 601 des Segments 520-1 zugeordneten Tiefendaten 405 mit den einem Bereich 602 des benachbarten Segments 520-2 zugeordneten Tiefendaten 405 verglichen, um zu bestimmen, ob die Segmente 520-1, 520-2 kombinierbar sind. Daher werden die Bereiche 601, 602 des digitalen Bildes 403 auf die Tiefendaten 405 abgebildet. Während jeder der Bereiche 601, 602 als Ellipse dargestellt wird, können die Bereiche 601, 602 eine beliebige Form innerhalb eines jeweiligen Segments 520-1, 520-2 und eine beliebige Größe von einem Pixel bis zur Gesamtheit eines jeweiligen Segments 520-1, 520-2 aufweisen. Tatsächlich kann jeder Abschnitt von jeweiligen Tiefendaten 405, der den Segmenten 520-1, 520-2 zugeordnet ist, verglichen werden, um zu bestimmen, ob die Segmente 520-1, 520-2 einer gleichen Form zugeordnet sind.
-
So können zum Beispiel Abschnitte der jeweiligen Tiefendaten 405, die den Segmenten 520-1, 520-2 zugeordnet sind, verglichen werden, um zu bestimmen, ob sie eine Teilmenge einer gleichen Ebene bilden (z. B. eine Oberseite 450 der Box 410); als solche sind die jeweiligen Tiefendaten 405, die den Segmenten 520-1, 520-2 zugeordnet sind, im Allgemeinen etwa kontinuierlich, und/oder liegen in einer gleichen Ebene und/oder sind koplanar. Mit anderen Worten werden die den Segmenten 520-1, 520-2 zugeordneten Tiefendaten 405 verarbeitet, um zu bestimmen, ob sie die Kriterien erfüllen, sie zu einem größeren, zum Objekt gehörenden Gesamtsegment mit der gleichen Form zusammenzufügen. So kann zum Beispiel in einigen Ausführungsformen der Dimensionierungsprozessor 120 ferner konfiguriert sein, um zu bestimmen, ob jedes der Segmente 520-1, 520-2 einer zum Objekt gehörenden gleichen Form zugeordnet ist, indem: basierend auf den jeweiligen Tiefendaten 405 bestimmt wird, ob benachbarte Segmente 520-1, 520-2 mit der gleichen Form zusammengebracht sind. Daher werden wiederum die jeweiligen Tiefendaten 405 der benachbarten Segmente 520-1, 520-2 verarbeitet, um zu bestimmen, ob die jeweiligen Tiefendaten 405 koplanar sind.
-
Ein solches Gesamtsegment 720 ist in 7 dargestellt, das im Wesentlichen ähnlich ist wie in 6, mit ähnlichen Elementen, die ähnliche Nummern aufweisen; 7 stellt jedoch eine nicht einschränkende visuelle Wiedergabe 703 des digitalen Bildes 403 dar, die sich ergibt, wenn die Segmente 520-1, 520-2 zu einem größeren Gesamtsegment 720 verbunden wurden; insbesondere ist die Wiedergabe 703 von der Wiedergabe 503 abgeleitet, aber bei der Wiedergabe 703 wurden die Segmente 520-1, 520-2 zu einem größeren Gesamtsegment 720 verbunden. Es sei verstanden, dass das Wiedergeben 703 lediglich einen Zwischenschritt bei der Bestimmung der Abmessungen des physischen Objekts darstellt, das durch das Objekt im digitalen Bild 403 dargestellt wird, und die Wiedergabe 703 wird nicht notwendigerweise auf der Anzeigevorrichtung 126 angezeigt.
-
7 stellt auch die Bereiche 605, 606 dar, ähnlich den Bereichen 601, 602, jedoch jeweils den Segmenten 520-5, 520-6 zugeordnet. Auch hier können die Bereiche 605, 606 größer oder kleiner sein als dargestellt. Darüber hinaus können Abschnitte der jeweiligen Tiefendaten 405, die den Segmenten 520-5, 520-6 zugeordnet sind, verglichen werden, um zu bestimmen, ob sie eine Teilmenge derselben Ebene bilden (z. B. eine Oberseite 450 der Box 410). Da jedoch die jeweiligen Tiefendaten 405, die den Segmenten 520-5, 520-6 zugeordnet sind, zum Beispiel anzeigen, dass die Segmente 520-5, 520-6 nicht koplanar sind, wird bestimmt, dass die Segmente 520-5, 520-6 Teil verschiedener Formen und nicht Teil derselben Form sind.
-
Auf jeden Fall kann der Dimensionierungsprozessor 120 konfiguriert sein, um durch alle benachbarten Segmente der Segmente 520 zu iterieren, um zu bestimmen, ob die benachbarten Segmente zu einem größeren Gesamtsegment der gleichen Form verbunden werden können. Somit kann der Dimensionierungsprozessor 120 bestimmen, dass alle Segmente 520-1, 520-2, 520-3, 520-3, 520-4, 520-5 zu einem größeren Gesamtsegment verbunden werden können. So wird zum Beispiel auf 8 verwiesen, die eine nicht einschränkende visuelle Wiedergabe 803 des digitalen Bildes 403 darstellt, die sich ergibt, wenn alle Segmente 520 verarbeitet werden, um ihre jeweilige Zuordnung zu den Formen des Objekts im digitalen Bild 403 zu bestimmen. Es sei verstanden, dass das Wiedergeben 803 lediglich einen Zwischenschritt bei der Bestimmung der Dimensionen des physischen Objekts darstellt, das durch das Objekt im digitalen Bild 403 dargestellt wird, und die Wiedergabe 803 wird nicht notwendigerweise auf der Anzeigevorrichtung 126 angezeigt.
-
Insbesondere wird die Wiedergabe 803 von den Wiedergaben 503, 703 abgeleitet, aber beim Wiedergeben 803 wurden die Segmente 520-1, 520-2, 520-3, 520-4, 520-5 zu einem größeren Gesamtsegment 820 zusammengefügt.
-
In 8 hat zum Beispiel der Dimensionierungsprozessor 120 alle Segmente 520-1, 520-2, 520-3, 520-4, 520-5 (sowie die Segmente 520-6, 520-7) durchlaufen und bestimmt, dass die Segmente 520-1, 520-2, 520-3, 520-4, 520-5 alle einer gleichen Form zugeordnet sind, die mit einer Oberseite 450 der Box 410 verknüpft werden kann. Alternativ, nachdem das Gesamtsegment 720 gebildet ist, iteriert der Dimensionierungsprozessor 120 durch die verbleibenden Segmente und bestimmt, dass die Segmente 520-3, 520-4, 520-5 mit dem Gesamtsegment 720 zusammengefügt werden sollen, um das Gesamtsegment 820 zu bilden.
-
Während der Iteration hat der Dimensionierungsprozessor 120 ferner bestimmt, dass die Segmente 520-6, 520-7 nicht der gleichen Form zugeordnet sind wie die Segmente 520-1, 520-2, 520-3, 520-4, 520-5 (und/oder Gesamtsegment 720). Daher hat der Dimensionierungsprozessor 120 in 8 weiter bestimmt, dass die Segmente 520-6, 520-7 jeweils unabhängig eine entsprechenden Form bilden und somit nicht mit anderen Segmenten 520 verbunden wurden.
-
Sobald alle Segmente 520 verarbeitet sind, um ihre jeweiligen Verknüpfungen mit den Formen des Objekts in digitalem Bild 403 zu bestimmen (z. B. wie bei Block 309 bestimmt), berechnet der Dimensionierungsprozessor 120 bei Block 311 die Dimensionen des Objekts basierend auf den jeweiligen Tiefendaten und den jeweiligen Verknüpfungen der Formen. Der Dimensionierungsprozessor 120 kann Daten, die durch die Wiedergabe 803 dargestellt werden, mit Daten 140 vergleichen, um zu bestimmen, dass das physische Objekt, das durch das Objekt in digitalem Bild 403 dargestellt wird, eine Box (z. B. Box 410) darstellt, und Dimensionen der Box unter Verwendung eines beliebigen Dimensionierungsalgorithmus bestimmen.
-
Zum Beispiel können, wiederum unter Berücksichtigung von 8, Seiten der Segmente 520-6, 520-7, 820 der Wiedergabe 803, die mit den Seiten der Box korrespondieren, identifiziert werden und deren Abmessungen aus den Tiefendaten 405 bestimmt werden. In 8 werden Kanten der Segmente 520-6, 520-7, 820 entsprechend der Höhe (H), Länge (L) und Breite (W) der Box bestimmt und angezeigt (z. B. basierend auf der Identifizierung von Schnittmengen benachbarter nicht-koplanarer Formen des Objekts aus den Tiefendaten), und die Abmessungen der Kanten H, L, W können aus den Tiefendaten 405 bestimmt werden durch die Korrelation zwischen den Tiefendaten 405 und dem digitalen Bild 403 und/oder einer Korrelation zwischen den Tiefendaten 405 und den in der Wiedergabe 803 identifizierten Kanten H, L, W. Mit anderen Worten kann der Dimensionierungsprozessor 120 ferner konfiguriert sein, um die Geometrie des Objekts basierend auf der relativen Position der Segmente 520 des Objekts in dem digitalen Bild 403 und den Tiefendaten 405 zu bestimmen. Aus der Geometrie können die Abmessungen ermittelt werden.
-
Wenn die Abmessungen bestimmt sind, kann der Dimensionierungsprozessor 120 die Abmessungen auf der Anzeigevorrichtung 126 darstellen. So wird zum Beispiel als nächstes auf 9 verwiesen, welche eine perspektivische Vorderansicht des verwendeten Gerätes 101 darstellt; insbesondere befindet sich die Box 410 in einem Sichtfeld der Kamera 103 und der Tiefenerfassungsvorrichtung 105 (auf einer Rückseite des Gerätes 101 und somit nicht sichtbar in 9), und das Verfahren 300 wurde verwendet, um die Abmessungen der Box 410 zu bestimmen. Der Dimensionierungsprozessor 120 steuert daher die Anzeigevorrichtung 126, um das digitale Bild 403 mit der Box 410 sowie die bestimmten Abmessungen der Box 410 wiederzugeben. Wie dargestellt, werden Linien, die einer Höhe, einer Länge und einer Breite der Box 410 entsprechen, auch auf der Anzeigevorrichtung 126 wiedergegeben, deren jeweilige Abmessungen ebenfalls dargestellt sind. Wie die Fachleute erkennen werden, kann das Objektvolumen auch berechnet und angezeigt werden, basierend auf den bestimmten Dimensionen sowie den Daten 140, die das Objekt definieren.
-
Die Aufmerksamkeit richtet sich nun auf 10, welche eine Alternative zum Verfahren 300 darstellt; insbesondere zeigt 10 ein Blockdiagramm eines Flussdiagramms eines Verfahrens 1000 zur Dimensionierung unter Verwendung digitaler Bilder und Tiefendaten gemäß nicht einschränkender Ausführungsformen, gemäß nicht einschränkender Ausführungsformen. Um die Erläuterung des Verfahrens 1000 zu erleichtern, wird davon ausgegangen, dass das Verfahren 1000 unter Verwendung des Gerätes 101 durchgeführt wird, und zwar unter Verwendung des Dimensionierungsprozessors 120 und wenn der Dimensionierungsprozessors 120 die im Speicher 122 gespeicherten Anweisungen verarbeitet, wie zum Beispiel die Anwendung 136. Tatsächlich ist das Verfahren 1000 eine Möglichkeit, wie das Gerät 101 konfiguriert werden kann. Darüber hinaus wird die folgende Diskussion des Verfahrens 1000 zu einem weiteren Verständnis des Gerätes 101 und dessen verschiedenen Komponenten führen. Es sei jedoch zu verstanden, dass das Gerät 101 und/oder das Verfahren 1000 variiert werden kann und nicht genau so zu funktionieren braucht, wie hierin in Verbindung miteinander besprochen, und dass solche Variationen vom Umfang der vorliegenden Ausführungsformen erfasst sind.
-
Unabhängig davon ist hervorzuheben, dass das Verfahren 1000 nicht in der exakten Reihenfolge, wie dargestellt, durchgeführt werden bracht, sofern es nicht anders angegeben ist; und ebenso können verschiedene Blöcke parallel anstatt nacheinander ausgeführt werden; daher werden die Elemente des Verfahrens 1000 hierin als „Blöcke“ und nicht als „Schritte“ bezeichnet. Es sei jedoch auch verstanden, dass das Verfahren 1000 auch auf Variationen des Gerätes 101 implementiert werden kann.
-
Bei den Blöcken 1001, 1003 empfängt der Dimensionierungsprozessor 120 von der Kamera 103 und der Tiefenerfassungsvorrichtung 105 Bilddaten und Tiefendaten. Die Blöcke 1001, 1003 entsprechen jeweils den Blöcken 301, 303 des Verfahrens 300. Darüber hinaus können in dem Verfahren 1000 Bilddaten austauschbar als zweidimensionale (2D) Daten und Tiefendaten austauschbar als dreidimensionale (3D) Daten bezeichnet werden. Tatsächlich sind die Daten von Kamera 103 im Allgemeinen zweidimensional und können eine Anordnung (Array) von zweidimensionalen Farbkoordinaten und/oder Helligkeitskoordinaten umfassen; auf ähnliche Weise sind die Daten von der Tiefenerfassungsvorrichtung 105 im Allgemeinen dreidimensional und können eine zweidimensionale Anordnung von Tiefenkoordinaten umfassen (d. h. jedes Element in der zweidimensionalen Anordnung ist mit einer entsprechenden Tiefe assoziiert).
-
Bei den Blöcken 1004-1, 1004-2 kann der Dimensionierungsprozessor 120 die 2D-Daten und die 3D-Daten jeweils vorverarbeiten. So kann zum Beispiel die Vorverarbeitung des 2D digitalen Bildes bei Block 1004-1 unter anderem eine Bildrauschfilterung, eine Kantenerkennung, eine Farbsegmentierung, eine morphologische Merkmalssegmentierung (z. B. Linienorientierung, Kantenorientierung, etc.) und dergleichen umfassen. Die Vorverarbeitung der 3D-Tiefendaten bei Block 1004-2 kann, ist aber nicht beschränkt auf, Verzerrungskorrekturen, Interferenzkorrekturen, eine Rauschfilterung, eine Konvertierung von einer Phasen(tiefen)-Karte zu Punktwolkendaten (PCD) und dergleichen aufweisen.
-
Bei Block 1005 lokalisiert und/oder extrahiert der Dimensionierungsprozessor 120 ein Objekt von Interesse aus den 2D-Daten und den 3D-Daten, indem er die 2D-Daten und die 3D-Daten zusammenführt und das Objekt basierend auf Eigenschaften lokalisiert, die zum Beispiel in den Daten 140 gespeichert sind, und/oder basierend auf den in der Anwendung 136 konfigurierten Eigenschaften. Solche Eigenschaften können unter anderem eine Position (z. B. eine obere Ebene, eine untere Ebene, seitliche Ebenen und dergleichen), eine Geometrie (ein Quaderrahmen, Eckpositionen und dergleichen), Gruppierungen ähnlicher Texturen/Farben, Beziehungen von besonderen Merkmalen zwischen Ecken, zwischen Kanten/Linien, zwischen Seiten, zwischen Texturflächen und dergleichen umfassen. Tatsächlich kann das Lokalisieren von Objekten und/oder Segmenten, die einem Objekt in einem digitalen Bild zugeordnet sind, daher die Verarbeitung sowohl des digitalen Bildes als auch der Tiefendaten umfassen, um solche Segmente und/oder Objekte zu finden. Somit entspricht Block 1005 dem Block 305 des Verfahrens 300.
-
Bei Block 1007 kann der Dimensionierungsprozessor 120 einen Objektbereich abbilden, z. B. im digitalen Bild die 3D-Tiefendaten (z. B. im Block 1007 als 3D-Datensatz bezeichnet). Eine solche Zuordnung kann, ist jedoch nicht darauf beschränkt, das Extrahieren von räumlichen Daten aus dem 3D-Datensatz umfassen, was das Extrahieren von mindestens zwei Seiten, das Extrahieren einer Seite und einer Hauptdiagonalen und dergleichen umfassen kann; mit anderen Worten werden ausreichende räumliche Daten extrahiert, um das Objekt zu charakterisieren, ohne eine vollständige dreidimensionale Zuordnung durchzuführen. Der Datenumfang, der ausreicht, um einen bestimmten Objekttyp zu charakterisieren, kann in den Daten 140-n definiert werden, mit anderen Worten weisen für einen gegebenen Objekttyp die Daten 140-n Regeln zum Bestimmen eines Zuordnungsgrades auf, der zur Abbildung eines Objektbereichs erreicht soll. Weiterhin iteriert der Dimensionierungsprozessor 120 bei Block 1007 über eine oder mehrere beste Anpassungen von Segmenten, einschließlich, aber nicht beschränkt auf beste rechteckige Anpassungen, basierend auf Kantenpositionen im digitalen 2D-Bild und den 3D-Tiefendaten. Im Allgemeinen entspricht Block 1007 dem Block 307 des Verfahrens 300.
-
Obwohl dies nicht dargestellt ist, wird in Verfahren 1000 davon ausgegangen, dass die Iteration des Blocks 1007 erfolgt, bis alle identifizierten Segmente wie oben beschrieben verarbeitet wurden; daher ist Block 1007 inhärent aus auch dem Block 309 des Verfahrens 300 zugeordnet.
-
Bei Block 1011 kann der Dimensionierungsprozessor 120 dann die Abmessungen des physikalischen Objekts berechnen und/oder bestimmen, welches durch das Objekt im digitalen 2D-Bild und die 3D-Tiefendaten dargestellt wird. Somit entspricht Block 1011 dem Block 311 des Verfahrens 300.
-
Danach kann der Dimensionierungsprozessor 120 die Anzeigevorrichtung 126 auf eine oder mehrere der folgenden Arten steuern: das digitale Bild wiedergeben, das Objekt im digitalen Bild identifizieren und die Abmessungen des Objekts wiedergeben.
-
Daher ist hierin eine Vorrichtung beschrieben, die eine Kombination aus einem digitalen Bild und entsprechenden Tiefendaten verwendet, die jeweils mit einer Kameravorrichtung und einer Tiefenerfassungsvorrichtung erfasst wurden, um die Abmessungen eines physikalischen Objekts in einem Sichtfeld der Kameravorrichtung und der Tiefenerfassungsvorrichtung zu bestimmen. Durch die Korrelation von Merkmalen im digitalen Bild und den Tiefendaten können die Probleme bei der Dimensionierung unter Verwendung nur eines digitalen 2D-Bildes oder nur der 3D-Tiefendaten vermieden werden.
-
In der vorstehenden Beschreibung wurden spezifische Ausführungsformen beschrieben. Ein Durchschnittsfachmann erkennt jedoch, dass verschiedene Modifikationen und Änderungen vorgenommen werden können, ohne vom Umfang der Erfindung abzuweichen, wie er in den nachfolgenden Ansprüchen wiedergegeben ist. Dementsprechend sind die Beschreibung und die Figuren vielmehr in einem illustrativen als in einem einschränkenden Sinne zu betrachten, und alle derartigen Modifikationen sollen im Umfang der vorliegenden Lehren eingeschlossen sein.
-
Die Nutzen, Vorteile, Lösungen für Probleme und alle Elemente, die zum Auftreten oder einer Verstärkung eines Nutzens, eines Vorteils, oder einer Lösung führen können, sind nicht als kritische, erforderliche oder wesentliche Merkmale oder Elemente in den Ansprüchen zu verstehen. Die Erfindung wird ausschließlich durch die beigefügten Ansprüche definiert, einschließlich jeglicher Änderungen, die während der Anhängigkeit dieser Anmeldung vorgenommen wurden, sowie aller Äquivalente der Ansprüche wie erteilt.
-
Darüber hinaus können in diesem Dokument relationale Begriffe wie erster und zweiter, oberer und unterer und dergleichen lediglich verwendet sein, um eine Entität oder Aktion von einer anderen Entität oder Aktion zu unterscheiden, ohne notwendigerweise eine tatsächliche derartige Beziehung oder Reihenfolge zwischen solchen Entitäten oder Aktionen zu erfordern oder zu implizieren. Die Ausdrücke „umfasst“, „umfassend“, „hat“, „haben“, „aufweist“, „aufweisen“, „enthält“, „enthalten“ oder jede andere Variation davon sollen eine nicht-ausschließliche Einbeziehung abdecken, derart, dass ein Prozess, Verfahren, Produkt oder Vorrichtung, das eine Liste von Elementen umfasst, hat, aufweist, enthält, nicht nur diese Elemente aufweist, sondern auch andere Elemente aufweisen kann, die nicht ausdrücklich aufgelistet sind oder einem solchen Prozess, Verfahren, Produkt oder Vorrichtung inhärent sind. Ein Element, dem „umfasst ... ein“, „hat ... ein“, „aufweist ... ein“ oder „enthält ...ein“ vorausgeht, schließt ohne weitere Einschränkungen die Existenz zusätzlicher identischer Elemente in dem Prozess, dem Verfahren, dem Produkt oder der Vorrichtung, die das Element umfasst, hat, aufweist oder enthält, nicht aus. Die Begriffe „ein“ und „eine“ sind als eine oder mehrere definiert, sofern es hierin nicht ausdrücklich anders angegeben wird. Die Begriffe „im Wesentlichen“, „im Allgemeinen“, „ungefähr“, „etwa“ oder jede andere Version davon sind so definiert, dass sie von einem Fachmann auf diesem Gebiet nahekommend verstanden werden, und in einer nicht-einschränkenden Ausführungsform ist der Ausdruck definiert als innerhalb von 10%, in einer weiteren Ausführungsform als innerhalb von 5%, in einer weiteren Ausführungsform als innerhalb von 1% und in einer weiteren Ausführungsform als innerhalb von 0,5%. Der Ausdruck „gekoppelt“, wie er hierin verwendet wird, ist als verbunden definiert, jedoch nicht notwendigerweise direkt und nicht notwendigerweise mechanisch. Eine Vorrichtung oder eine Struktur, die auf eine bestimmte Art „ausgeführt“ ist, ist zumindest auch so ausgeführt, kann aber auch auf Arten ausgeführt sein, die nicht aufgeführt sind.
-
Es versteht sich, dass einige Ausführungsformen von einem oder mehreren generischen oder spezialisierten Prozessoren (oder „Verarbeitungsgeräten“) wie Mikroprozessoren, digitale Signalprozessoren, kundenspezifische Prozessoren und Field-Programmable-Gate-Arrays (FPGAs) und einmalig gespeicherten Programmanweisungen (einschließlich sowohl Software als auch Firmware) umfasst sein können, die den einen oder die mehreren Prozessoren steuern, um in Verbindung mit bestimmten Nicht-Prozessorschaltungen einige, die meisten oder alle der hierin beschriebenen Funktionen des Verfahrens und/oder der Vorrichtung zu implementieren. Alternativ können einige oder alle Funktionen durch eine Zustandsmaschine implementiert sein, die keine gespeicherten Programmanweisungen aufweist, oder in einer oder mehreren anwendungsspezifischen integrierten Schaltungen (ASICs), in denen jede Funktion oder einige Kombinationen von bestimmten Funktionen als benutzerdefinierte Logik implementiert sind. Natürlich kann eine Kombination der beiden Ansätze verwendet werden.
-
Darüber hinaus kann eine Ausführungsform als ein computerlesbares Speichermedium implementiert sein, auf dem computerlesbarer Code gespeichert ist, um einen Computer (der zum Beispiel einen Prozessor umfasst) zu programmieren, um ein Verfahren auszuführen, wie es hierin beschrieben und beansprucht ist. Beispiele solcher computerlesbaren Speichermedien weisen eine Festplatte, eine CD-ROM, eine optische Speichervorrichtung, eine magnetische Speichervorrichtung, einen ROM (Nur-Lese-Speicher), einen PROM (programmierbarer Nur-Lese-Speicher), einen EPROM (löschbarer programmierbarer Nur-Lese-Speicher), einen EEPROM (elektrisch löschbarer programmierbarer Nur-Lese-Speicher) und einen Flash-Speicher auf, sind aber nicht hierauf beschränkt auf. Ferner wird davon ausgegangen, dass ein Durchschnittsfachmann, ungeachtet möglicher signifikanter Anstrengungen und vieler Designwahlen, die zum Beispiel durch verfügbare Zeit, aktuelle Technologie und wirtschaftliche Überlegungen motiviert sind, ohne Weiteres in der Lage ist, solche Softwareanweisungen und -programme und ICs mit minimalem Experimentieren zu generieren, wenn er durch die hierin offenbarten Konzepte und Prinzipien angeleitet wird.
-
Die Zusammenfassung der Offenbarung wird bereitgestellt, um es dem Leser zu ermöglichen, schnell das Wesen der technischen Offenbarung zu ermitteln. Sie wird mit dem Verständnis bereitgestellt, dass sie nicht zur Auslegung oder Einschränkung des Umfangs oder der Bedeutung der Ansprüche verwendet wird. Ferner kann der vorangehenden detaillierten Beschreibung entnommen werden, dass verschiedene Merkmale in verschiedenen Ausführungsformen zum Zwecke der Verschlankung der Offenbarung zusammengefasst sind. Diese Art der Offenbarung ist nicht so auszulegen, dass es die Absicht widerspiegelt, dass die beanspruchten Ausführungsformen mehr Merkmale erfordern, als ausdrücklich in jedem Anspruch angegeben sind. Vielmehr ist es so, wie die folgenden Ansprüche zeigen, dass der erfinderische Gegenstand in weniger als allen Merkmalen einer einzigen offenbarten Ausführungsform liegt. Somit werden die folgenden Ansprüche hiermit in die detaillierte Beschreibung inkorporiert, wobei jeder Anspruch für sich als ein separat beanspruchter Gegenstand steht.