DE112019002730B4 - Datenerfassungssystem und Verfahren zur Objektdimensionierung - Google Patents

Datenerfassungssystem und Verfahren zur Objektdimensionierung Download PDF

Info

Publication number
DE112019002730B4
DE112019002730B4 DE112019002730.1T DE112019002730T DE112019002730B4 DE 112019002730 B4 DE112019002730 B4 DE 112019002730B4 DE 112019002730 T DE112019002730 T DE 112019002730T DE 112019002730 B4 DE112019002730 B4 DE 112019002730B4
Authority
DE
Germany
Prior art keywords
cameras
images
controller
image processing
processing server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE112019002730.1T
Other languages
English (en)
Other versions
DE112019002730T5 (de
Inventor
Charles Burton Swope
Miguel X. Gines
Stanko Jelavic
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.)
Zebra Technologies Corp
Original Assignee
Zebra Technologies 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 Zebra Technologies Corp filed Critical Zebra Technologies Corp
Publication of DE112019002730T5 publication Critical patent/DE112019002730T5/de
Application granted granted Critical
Publication of DE112019002730B4 publication Critical patent/DE112019002730B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • G06T7/596Depth or shape recovery from multiple images from stereo images from three or more stereo images
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/245Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures using a plurality of fixed, simultaneously operating transducers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/56Cameras or camera modules comprising electronic image sensors; Control thereof provided with illuminating means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

Datenerfassungssystem (100) zum Objektdimensionieren, umfassend:einen Bewegungssensor (144), der konfiguriert ist, um ein Erkennungssignal als Reaktion auf das Erkennen eines Objekts (104) an einer Erfassungsposition innerhalb eines Erfassungsvolumens (208) zu erzeugen;eine Erfassungssteuerung (140), die mit dem Bewegungssensor (144) verbunden und konfiguriert ist, um als Reaktion auf den Empfang des Erkennungssignals im Wesentlichen gleichzeitig einen Verschlussbefehl zu erzeugen und an jede einer Vielzahl von Kameras (116) zu übertragen, der bewirkt, dass jede Kamera (116) ein entsprechendes Bild eines synchronen Satzes von Bildern des Erfassungsvolumens (208) erfasst;einen Bildverarbeitungsserver (112), der mit jeder der Vielzahl von Kameras (116) verbunden und konfiguriert ist, um den synchronen Satz von Bildern von den Kameras (116) zu empfangen und den synchronen Satz von Bildern in einem gemeinsamen Speicher (304) zu speichern;wobei der Bildverarbeitungsserver (112) ferner konfiguriert ist, um eine Punktwolke zu erzeugen, die das Objekt (104) auf der Grundlage des synchronen Satzes von Bildern repräsentiert, zur Verwendung beim Bestimmen der Dimensionen des Objekts (104);ferner umfassend einen mit der Erfassungssteuerung (140) verbundenen Leistungsschalter (148); wobei die Erfassungssteuerung (140) konfiguriert ist, um als Reaktion auf die Erfassung der Aktivierung des Leistungsschalters (148) einen Einschaltbefehl an jede der Vielzahl von Kameras (116) zu übertragen.

Description

  • HINTERGRUND
  • Der Transport und die Lagerung von Objekten wie Paketen kann die Kenntnis der Dimensionen eines Pakets erfordern. Solche Informationen können verwendet werden, um die Nutzung des verfügbaren Raumes in einem Container (z.B. einem Anhänger) zu optimieren, um die Versand- oder Lagerkosten für das Paket zu ermitteln oder ähnliches. Die Dimensionen von Paketen sind jedoch unter Umständen nicht im Voraus bekannt, so dass es für die Arbeiter erforderlich sein kann, die Dimensionen der Pakete durch manuelles Vermessen der Pakete zu ermitteln. Das manuelle Messen kann zeitaufwendig und fehleranfällig sein. Systeme zur automatischen Messung von Paketdimensionen können auch unter einer verminderten Genauigkeit leiden, z.B. bei der Messung von sich bewegenden Paketen, Paketen mit dunklen (z.B. schwarzen) Oberflächen und ähnlichem.
    US 2004/0023 612 A1 beschreibt ein Verfahren und eine Vorrichtung zum Messen der physikalischen Eigenschaften von Nutztieren wie Rindern und Schweinen. Die erfindungsgemäße Vorrichtung umfasst eine Vielzahl strategisch positionierter Kameras, die verwendet werden, um Daten bezüglich volumetrischer, krummliniger (Oberflächen-) und linearer Messungen von Nutztieren wie Rindern und Schweinen und deren vollständigen Kadavern zu erhalten.
    US 2017 / 0 280 125 A1 beschreibt eine Vielzahl von dreidimensionalen (3D) Kameras, die um eine Zone herum eingesetzt werden, durch die Fracht zu einem Versandcontainer befördert wird. Die 3D-Kameras verfügen über Sensoren mit Sichtfeldern, über die mehrere Voxel-Punktwolken aus der Fracht erfasst werden. Ein Server kombiniert die Punktwolken, um eine zusammengesetzte Punktwolke der Fracht zu erhalten, schließt die zusammengesetzte Punktwolke mit einer Begrenzungsbox mit Abmessungen ein und bemisst die Fracht anhand der Abmessungen der Begrenzungsbox. Eine optionale Waage wiegt die Fracht, während sie vermessen und durch die Zone bewegt wird.
    WO 2017/ 056 035 A1 beschreibt ein Verfahren und ein System zum Auslesen codierter Informationen von einem Objekt. Das System umfasst eine oder mehrere dreidimensionale Kameras, die so konfiguriert sind, dass sie dreidimensionale Bilder des Objekts erfassen, und einen Prozessor, der so konfiguriert ist, dass er die erfassten dreidimensionalen Bilder verarbeitet. Der Prozessor ist dazu ausgelegt, Ebenen zu identifizieren, auf denen Flächen des Objekts liegen, zweidimensionale Bilder zu extrahieren, die auf den identifizierten Ebenen liegen, Erkennungsalgorithmen für codierte Informationen auf zumindest einen Teil der extrahierten zweidimensionalen Bilder anzuwenden.
  • 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 in die Offenbarung inkorporiert und bilden einen Bestandteil der Offenbarung und dienen dazu, hierin beschriebene Ausführungsformen von Konzepten, die die beanspruchte Erfindung umfassen, weiter zu veranschaulichen und verschiedene Prinzipien und Vorteile dieser Ausführungsformen zu erklären.
    • 1 ist ein Schema eines Datenerfassungssystems zur Obj ektdimensionierung.
    • 2 ist ein Diagramm eines beispielhaften Einsatzes bestimmter Komponenten des Systems von 1.
    • 3A ist ein Blockdiagramm bestimmter interner Komponenten des Bildverarbeitungsservers von 1.
    • 3B ist ein Blockdiagramm bestimmter interner Komponenten der Erfassungssteuerung aus 1.
    • 4 ist ein Flussdiagramm eines Verfahrens zur Datenerfassung für die Obj ektdimensionierung.
    • 5 zeigt beispielhafte Bilder, die über die Durchführung des Verfahrens von 4 im System der 1 und 2 erfasst werden.
    • 6 ist ein Diagramm eines weiteren Beispiels für den Einsatz bestimmter Komponenten des Systems von 1.
  • 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 Vorrichtungs- und Verfahrenskomponenten 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
  • Die hier offenbarten Beispiele sind auf ein Datenerfassungssystem zur Objektdimensionierung gerichtet, das umfasst: einen Bewegungssensor, der so konfiguriert ist, dass er ein Erkennungssignal als Reaktion auf die Erkennung eines Objekts an einer Erfassungsposition innerhalb eines Erfassungsvolumens erzeugt; eine Erfassungssteuerung, die mit dem Bewegungssensor verbunden und so konfiguriert ist, dass sie als Reaktion auf den Empfang des Erkennungssignals im Wesentlichen gleichzeitig einen Verschluss (shutter)-befehl erzeugt und an jede einer Vielzahl von Kameras überträgt, der bewirkt, dass jede Kamera ein entsprechendes Bild eines synchronen Satzes von Bildern des Erfassungsvolumens erfasst; einen Bildverarbeitungsserver, der mit jeder der mehreren Kameras verbunden und so konfiguriert ist, dass er den synchronen Satz von Bildern von den Kameras empfängt und den synchronen Satz von Bildern in einem gemeinsamen Speicher speichert; wobei der Bildverarbeitungsserver ferner so konfiguriert ist, dass er eine Punktwolke erzeugt, die das Objekt auf der Grundlage des synchronen Satzes von Bildern repräsentiert, zur Verwendung bei der Bestimmung der Dimensionen des Objekts. Das Datenerfassungssystem erfasst ferner einen mit der Erfassungssteuerung verbundenen Leistungsschalter, wobei die Erfassungssteuerung konfiguriert ist, um als Reaktion auf die Erfassung der Aktivierung des Leistungsschalters einen Einschaltbefehl an jede der Vielzahl von Kameras zu übertragen.
  • Zusätzliche Beispiele, die hier offenbart werden, beziehen sich auf ein Verfahren zur Objektdimensionierung in einem Datenerfassungssystem, wobei das Verfahren umfasst: Erzeugen, an einem Bewegungssensor, eines Erkennungssignals als Reaktion auf die Erkennung eines Objekts an einer Erfassungsposition innerhalb eines Erfassungsvolumens; als Reaktion auf den Empfang des Erkennungssignals an einer Erfassungssteuerung, die mit dem Bewegungssensor verbunden ist, Erzeugen und Übertragen eines Verschlussbefehls im Wesentlichen gleichzeitig von der Erfassungssteuerung an jede einer Vielzahl von Kameras, der jede Kamera dazu veranlasst, ein jeweiliges Bild eines synchronen Satzes von Bildern des Erfassungsvolumens zu erfassen; an einem Bildverarbeitungsserver, der mit jeder der Vielzahl von Kameras verbunden ist, Empfangen des synchronen Satzes von Bildern von den Kameras und Speichern des synchronen Satzes von Bildern in einem gemeinsamen Speicher; und an dem Bildverarbeitungsserver, Erzeugen einer Punktwolke, die das Objekt auf der Grundlage des synchronen Satzes von Bildern repräsentiert, zur Verwendung bei der Bestimmung der Dimensionen des Objekts.
  • 1 zeigt ein Datenerfassungssystem 100 zur Objektdimensionierung. Das Datenerfassungssystem 100 ist so konfiguriert, dass es Punktwolkendaten erzeugt, die ein Objekt 104 innerhalb eines Erfassungsvolumens darstellen, und die Punktwolkendaten über ein Netzwerk 110 einem Dimensionierungssystem 108 (z.B. einem oder mehreren Rechengeräten) zur Verfügung stellt. Das Dimensionierungssystem 108 wiederum ist so konfiguriert, dass es die Punktwolkendaten verarbeitet und mindestens eine Dimension (z.B. Höhe, Breite, Länge oder ähnliches) des Objekts 104 bestimmt.
  • Das Objekt 104 ist im vorliegenden Beispiel ein Paket und wird daher hier auch als Paket 104 bezeichnet. Das Paket 104 kann z.B. eines von mehreren Paketen sein, die vom Dimensionierungssystem 108 vor dem Versand, der Lagerung o.ä. dimensioniert werden müssen. Das System 100 kann z.B. in einer Transport- und Logistikanlage (T&L) eingesetzt werden, in der eine Vielzahl von Paketen 104 zur Datenerfassung und anschließenden Dimensionierung durch das System 100 bewegt wird.
  • Das System 100 umfasst einen Bildverarbeitungsserver 112 (hier auch als Server 112 bezeichnet), der so konfiguriert ist, dass er die oben erwähnten Punktwolkendaten erzeugt, die das Paket 104 repräsentieren. Der Bildverarbeitungsserver 112 ist als ein geeignetes Rechengerät implementiert, dessen Komponenten im Folgenden näher beschrieben werden.
  • Der Server 112 ist so konfiguriert, dass er die oben genannten Punktwolkendaten, die das Paket 104 repräsentieren, auf der Grundlage eines synchronen Satzes von Bildern erzeugt, die von einer Vielzahl von Kameras 116-1, 116-2, ..., 116-n (zusammen als die Kameras 116 bezeichnet und allgemein als Kamera 116 bezeichnet; eine ähnliche Nomenklatur wird hier für andere Elemente verwendet) erfasst wurden, die mit Sichtfeldern angeordnet sind, die ein Erfassungsvolumen umfassen, das das Paket 104 enthält. Bei der Kamera 116 handelt es sich im vorliegenden Beispiel um Farbkameras (z.B. konfiguriert zur Erzeugung von Bilddateien mit RGB-Daten), wie z.B. digitale Spiegelreflexkameras (DSLR). In anderen Beispielen können die Kameras 116 eine oder mehrere Graustufenkameras, Infrarotkameras o.ä. enthalten. Darüber hinaus können auch andere Kameraformate als das oben erwähnte DSLR-Format implementiert werden.
  • Ein synchroner Satz von Bildern, auf den hier Bezug genommen wird, enthält ein Bild, das von jeder Kamera im Wesentlichen zur gleichen Zeit aufgenommen wurde. Beispielsweise können die Bilder in einem synchronen Satz von Bildern innerhalb einer Zeitspanne von etwa 0,5 Sekunden oder weniger erfasst werden. In einigen Ausführungsformen können die Bilder in einem synchronen Satz von Bildern innerhalb einer Zeitspanne von etwa 0,2 Sekunden oder weniger erfasst werden. Somit stellt jedes Bild des Satzes das Paket 104 im Wesentlichen zum gleichen Zeitpunkt dar, jedoch aus einer anderen Betrachtungsposition als die anderen Bilder, was auf die unterschiedlichen physischen Positionen der Kameras 116 relativ zum Erfassungsvolumen zurückzuführen ist.
  • Die Bilder, die vom Server 112 zur Erzeugung von Punktwolkendaten verwendet werden, werden von den Kameras 116 an den Server 112 übertragen, im vorliegenden Beispiel über einen Satz von Doppelverbindern 120-1, 120-2, ..., 120-n. Jeder Doppelverbinder 120 enthält ein Kamerasegment 124, das so konfiguriert ist, dass es in einen Kommunikationsanschluss 126 der entsprechenden Kamera 116 eingreift. Der Kommunikationsanschluss 126 umfasst einen Satz von Steuerkontakten (z.B. Stifte oder andere geeignete elektrische Kontakte) und einen Satz von Datenübertragungskontakten. Beispielsweise können die Datenübertragungskontakte auf dem USB-Standard (Universal Serial Bus) basieren. Ein Beispiel für einen Kommunikationsanschluss 126 ist ein Sony™ Multiport-Anschluss (auch als Multi Terminal bezeichnet), der fünf USB-Kontakte und zehn Steuerkontakte umfasst.
  • Das Kamerasegment 124 jedes Doppelverbinders 120 enthält elektrische Leitungen, die sowohl den oben genannten Datenübertragungskontakten als auch den Steuerkontakten entsprechen. Jeder Doppelverbinder 120 enthält auch ein Übertragungssegment 128 und ein Steuersegment 132. Wie in 1 dargestellt, trennen sich die Segmente 128 und 132 vom Kamerasegment 124. Insbesondere enthält das Übertragungssegment 128 die oben erwähnten Datenübertragungsleitungen, während das Steuersegment 132 die oben erwähnten Steuerleitungen enthält.
  • In der in 1 dargestellten Ausführungsform sind die Kameras 116 daher so konfiguriert, dass die erfassten Bilder über die beiden Doppelverbinder 120 (und zwar über die Kamerasegmente 124 und die Übertragungssegmente 128) an den Server 112 übertragen werden. Das System 100 enthält auch einen Kommunikationshub 136, z.B. einen USB-Hub, der die Übertragungssegmente 128 mit dem Server 112 verbindet (z.B. mit einem einzelnen USB-Anschluss des Servers 112). In anderen Beispielen wird der Kommunikationshub 136 weggelassen und die Übertragungssegmente 128 werden direkt mit dem Server 112 verbunden, z.B. wenn der Server 112 eine ausreichende Anzahl von Anschlüssen (z.B. USB-Anschlüsse) enthält, um die Übertragungssegmente 128 aufzunehmen.
  • Die Kameras 116 sind so konfiguriert, dass sie Bilder erfassen als Reaktion auf Befehle, die über die Steuersegmente 132 der Doppelverbinder 120 an die Kameras ausgegeben werden. Insbesondere enthält das System 100 einen Erfassungssteuerung 140, die so konfiguriert ist, dass sie jedes der Steuersegmente 132 empfängt und Befehle über die Steuersegmente 132 an die Kameras 116 überträgt.
  • Der Erfassungssteuerung 140 ist als geeignetes Rechengerät implementiert, wie z.B. ein oder mehrere Single-Board-Mikrocontroller (z.B. Raspberry Pi™). In anderen Beispielen kann die Steuerung 140 als ein Desktop-Computer, ein Laptop-Computer, ein Tablet-Computer oder ähnliches implementiert werden. Der Erfassungssteuerung 140 ist so konfiguriert, dass sie Steuersignale zur Übertragung an die Kameras 116 erzeugt, einschließlich eines synchronen Verschlussbefehls, der als Reaktion auf ein an der Steuerung 140 empfangenes Objekterkennungssignal erzeugt wird.
  • Das Objekterkennungssignal wird im vorliegenden Beispiel von einem Bewegungssensor 144 erzeugt, der so konfiguriert ist, dass er die Ankunft des Pakets 104 im Erfassungsvolumen erkennt. Der Bewegungssensor 144 enthält jede geeignete Bewegungserfassungsvorrichtung, wie z.B. eine Lichterkennungs- und Entfernungs (Lidar) -vorrichtung, einen Ultraschallsensor, eine weitere Kamera und einen zugehörigen Bildprozessor, der so konfiguriert ist, dass er die Anwesenheit des Pakets 104 erkennt, oder ähnliches. Der Bewegungssensor 144 ist über eine geeignete Kommunikationsverbindung (z.B. USB, I2C-Schnittstelle o.ä.) mit der Steuerung 140 verbunden.
  • Das System 100 umfasst auch einen Leistungsschalter 148, der mit der Erfassungssteuerung 140 verbunden ist. Der Leistungsschalter 148 ist im vorliegenden Beispiel ein manuell bedienbarer Schalter, der so konfiguriert ist, dass er die Steuerung 140 veranlasst, Steuerbefehle an die Kameras 116 zum Einschalten und Ausschalten zu senden. Die Steuerung 140 kann auch so konfiguriert werden, dass sie den Bewegungssensor 144 als Reaktion auf die Betätigung des Leistungsschalters 148 ein- oder ausschaltet. In anderen Ausführungsformen kann der Leistungsschalter 148 weggelassen oder durch einen Soft-Schalter ersetzt werden, der in einer von der Steuerung 140 ausgeführten Software implementiert ist und durch Manipulation eines Eingabegeräts (z.B. einer Tastatur, eines Touchscreens, eines Mikrofons oder ähnlichem) betätigt wird.
  • Um zu 2 zu kommen, werden bestimmte Komponenten des Systems 100 in einem beispielhaften Einsatz gezeigt. Der in 2 gezeigte beispielhafte Einsatz umfasst sechzehn Kameras 116, die in vier Gruppen 200-1, 200-2, 200-3 und 200-4 angeordnet sind, wobei jede Gruppe 200 vier Kameras 116 umfasst. Wie aus 2 ersichtlich ist, ist der Abstand der Kameras 116 innerhalb jeder Gruppe 200 kleiner als der Abstand zwischen benachbarten Gruppen 200.
  • Die Kameras 116 werden auf einer Tragstruktur 204 (z.B. etwa am Umfang der Tragstruktur 204) getragen, z.B. einem im Wesentlichen ringförmigen Rahmen, der von einer Decke (nicht abgebildet) der Einrichtung, in der das System 100 eingesetzt wird, abgehängt sein kann. Es kann auch eine Vielzahl anderer Tragestrukturen zum Tragen der Kameras 116 verwendet werden, einschließlich diskreter Tragestrukturen für jede Gruppe 200 oder für jede Kamera 116. In anderen Ausführungsformen sind die Kameras 116 in gleichen Abständen um die Tragstruktur 204 angeordnet. In weiteren Ausführungsformen kann eine andere Anzahl von Kameras 116 eingesetzt werden. Beispielsweise können bei einer anderen Ausführung zwölf Kameras 116 in drei Vierergruppen oder in vier Dreiergruppen um die Tragstruktur 204 herum angeordnet sein.
  • Die Kameras 116 werden durch die Tragstruktur 204 so positioniert, dass das Sichtfeld jeder Kamera 116 mindestens einen Teil eines Erfassungsvolumens 208 umfasst. Außerdem überlappen sich die Sichtfelder benachbarter Kameras 116 innerhalb jeder Gruppe 200 um etwa 40%. Zusammen bieten die Kameras 116 somit eine im Wesentlichen vollständige Abdeckung des Erfassungsvolumens 208 (z.B. liegt jede Position im Erfassungsvolumen 208 innerhalb des Sichtfeldes von mindestens zwei Kameras 116). Im vorliegenden Beispiel hat das Erfassungsvolumen 208 eine Höhe, eine Breite und eine Länge von jeweils etwa acht Fuß; die Kameras 116 können so angeordnet werden, dass sie verschiedene andere Erfassungsvolumen in anderen Ausführungsformen umfassen, z.B. in Abhängigkeit von der Größe des zu erfassenden Pakets 104.
  • Das Paket 104 kann durch das Erfassungsvolumen 208 transportiert werden, z.B. auf einem Förderband 212 oder einem anderen Lokomotivmechanismus (z.B. in einer Erfassungsvorrichtung eines Fahrzeugs). Der Bewegungssensor 144 wird daher, wie in 2 dargestellt, auf dem Weg, auf dem das Paket 104 transportiert wird, eingesetzt, um die Ankunft des Pakets 104 an einer vordefinierten Erfassungsposition innerhalb des Erfassungsvolumens 208 zu erkennen. Bei Ankunft des Pakets 104 an der Erfassungsposition wird der Bewegungssensor 144 so konfiguriert, dass er das oben erwähnte Erkennungssignal erzeugt.
  • Vor einer ausführlichen Erörterung der Funktionsweise des Systems 100 werden bestimmte interne Komponenten des Servers 112 und der Steuerung 140 unter Bezugnahme auf 3A und 3B erörtert.
  • Unter Bezugnahme auf 3A sind bestimmte interne Komponenten des Servers 112 dargestellt. Der Server 112 enthält eine zentrale Prozessoreinheit (CPU), auch Prozessor 300 genannt, die mit einem nicht flüchtigen computerlesbaren Speichermedium, wie z.B. einem Speicher 304, verbunden ist. Der Speicher 304 umfasst jede geeignete Kombination aus flüchtigem (z.B. Random Access Memory (RAM)) und nichtflüchtigem (z.B. Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), Flash) Speicher. Der Prozessor 300 und der Speicher 304 umfassen jeweils einen oder mehrere integrierte Schaltkreise (ICs).
  • Der Server 112 umfasst auch eine Kommunikationsschnittstelle 308, die es dem Server 112 ermöglicht, über das Netzwerk 110 Daten mit anderen Rechengeräten, wie z.B. dem Dimensionierungssystem 108, auszutauschen. Die Kommunikationsschnittstelle 308 umfasst daher jede geeignete Hardware (z.B. Sender, Empfänger, Netzschnittstellen-Steuerung und dergleichen), die es dem Server 112 ermöglicht, über das Netzwerk 110 zu kommunizieren.
  • Der Server 112 verfügt außerdem über eine Eingabe/Ausgabeschnittstelle 312, die auch als lokale Kommunikationsschnittstelle bezeichnet werden kann und es dem Server 112 ermöglicht, Daten mit Geräten wie den Kameras 116 auszutauschen. Im vorliegenden Beispiel enthält die Schnittstelle 312 eine USB-Schnittstelle, die an den Kommunikationshub 136 angeschlossen ist. Für die Schnittstelle 312 können auch andere geeignete Schnittstellentechnologien eingesetzt werden, einschließlich Ethernet, Wi-Fi, Thunderbolt™ und dergleichen).
  • Der Server 112 kann auch Eingabegeräte (z.B. eine Tastatur, eine Maus, ein Mikrofon o.ä.) und Ausgabegeräte (z.B. einen Bildschirm, einen Lautsprecher o.ä.) enthalten, die nicht gezeigt sind. Die Komponenten des Servers 112 sind über Kommunikationsbusse (nicht gezeigt) miteinander verbunden und werden über die oben genannten Kommunikationsbusse oder über separate Leistungsbusse (nicht gezeigt) von einer Batterie oder einer anderen Leistungsquelle gespeist.
  • Der Speicher 304 des Servers 112 speichert eine Vielzahl von Anwendungen, von denen jede eine Vielzahl von computerlesbaren Anweisungen enthält, die vom Prozessor 300 ausgeführt werden können. Die Ausführung der oben genannten Anweisungen durch den Prozessor 300 veranlasst den Server 112, bestimmte Funktionen zu implementieren, wie hier besprochen. In der nachfolgenden Diskussion wird daher gesagt, dass die Anwendungen so konfiguriert sind, dass sie diese Funktionalität ausführen. Im vorliegenden Beispiel speichert der Speicher 304 des Servers 112 eine Überwachungsanwendung 316 und eine Punktwolkengenerator-Anwendung 320 (hier auch einfach als Anwendungen 316 bzw. 320 bezeichnet).
  • Der Server 112 ist so konfiguriert, dass er durch die Ausführung der Anwendung 316 durch den Prozessor 300 den Inhalt eines gemeinsamen Bildspeichers 324 im Speicher 304 (z.B. einer Datenbank, eines Ordners o.ä.) auf Änderungen überwacht und die Anwendung 320 des Punktwolkengenerators veranlasst, um eine Erzeugung von Punktwolken auf der Grundlage des Inhalts des Speichers 324 einzuleiten, wenn Änderungen festgestellt werden. Die Anwendung 320 ist eine geeignete Anwendung zur Punktwolkenerzeugung, wie z.B. Agisoft PhotoScan.
  • Die Anwendungen 316 und 320 können, in anderen Beispielen, als eine einzige Anwendung oder als mehr als zwei Anwendungen implementiert werden. In anderen Beispielen wird der Prozessor 300, wie er durch die Ausführung der Anwendungen 316 und 320 konfiguriert wird, als ein oder mehrere spezifisch konfigurierte Hardware-Elemente implementiert, wie z.B. FPGAs (Field Programmable Gate Arrays) und/oder anwendungsspezifische integrierte Schaltungen (ASICs).
  • Unter Bezugnahme auf 3B sind einige interne Komponenten der Steuerung 140 dargestellt. Die Steuerung 140 enthält eine zentrale Prozessoreinheit (CPU), auch Prozessor 350 genannt, die mit einem nicht flüchtigen computerlesbaren Speichermedium, wie z.B. einem Speicher 354, verbunden ist. Der Speicher 354 enthält jede geeignete Kombination aus flüchtigem (z.B. Random Access Memory (RAM)) und nichtflüchtigem (z.B. Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), Flash) Speicher. Der Prozessor 350 und der Speicher 354 umfassen jeweils eine oder mehrere integrierte Schaltungen (ICs).
  • Die Steuerung 140 umfasst außerdem eine Eingabe/Ausgabeschnittstelle 358, über die die Steuerung 140 Daten mit Geräten wie den Kameras 116 und dem Bewegungssensor 144 austauschen kann. Im vorliegenden Beispiel enthält die Schnittstelle 358 eine Anordnung von bestimmten Eingabe/Ausgabe-(GPIO - General Purpose Input/Output)-Pins (z.B. mindestens ein Satz von 40 GPIO-Pins). Die Schnittstelle 358 kann auch einen oder mehrere USB-Anschlüsse oder ähnliches enthalten. Ein erster Teil 360 der Schnittstelle 358 (z.B. eine erste Teilmenge der GPIO-Pins) ist mit dem Leistungsschalter 148 verbunden. Ein zweiter Teil 362 der Schnittstelle 358 (z.B. eine zweite Teilmenge der GPIO-Pins oder ein USB-Anschluss) ist mit dem Bewegungssensor 144 verbunden. Ein dritter Teil 364 der Schnittstelle 358 (z.B. eine dritte Teilmenge der GPIO-Pins) ist mit den Kameras 116 verbunden. Das heißt, der dritte Teil 364 stellt Verbindungen zwischen der Steuerung 140 und dem Steuersegment 132 jedes Doppelanschlusses 120 her. Im vorliegenden Beispiel stellt der dritte Teil 364 also sechzehn Verbindungen (zu jeder der sechzehn Kameras 116) her, wobei jede Verbindung über eine ausreichende Anzahl von Kontakten (z.B. GPIO-Pins) verfügt, um die unten näher besprochenen Befehle an die Kameras 116 zu übertragen.
  • Die Steuerung 140 kann auch eine weitere Kommunikationsschnittstelle (nicht gezeigt) enthalten, die eine geeignete Kombination von Sendern, Empfängern, Netzwerkschnittstellen-Steuerungen und dergleichen umfasst und es der Steuerung 140 ermöglicht, mit anderen Rechengeräten zu kommunizieren, z.B. über das Netzwerk 110.
  • Die Steuerung 140 kann auch Eingabegeräte (z.B. eine Tastatur, eine Maus, ein Mikrofon o.ä.) und Ausgabegeräte (z.B. ein Display, einen Lautsprecher o.ä.) enthalten, die nicht gezeigt sind. Die Komponenten des Steuerung 140 sind über Kommunikationsbusse (nicht gezeigt) miteinander verbunden und werden über die oben genannten Kommunikationsbusse oder über separate Leistungsbusse (nicht gezeigt) von einer Batterie oder einer anderen Leistungsquelle mit Strom versorgt.
  • Der Speicher 354 der Steuerung 140 speichert eine Vielzahl von Anwendungen, von denen jede eine Vielzahl von computerlesbaren Befehlen enthält, die vom Prozessor 350 ausgeführt werden können. Die Ausführung der oben genannten Befehle durch den Prozessor 350 veranlasst die Steuerung 140, bestimmte Funktionen zu implementieren, wie hier besprochen. In der nachfolgenden Diskussion wird daher gesagt, dass die Anwendungen so konfiguriert sind, dass sie diese Funktionalität ausführen. Im vorliegenden Beispiel speichert der Speicher 354 der Steuerung 140 eine Erfassungssteuerungs-Anwendung 368 (hier auch als Anwendung 368 bezeichnet).
  • Die Steuerung 140 wird durch die Ausführung der Anwendung 368 durch den Prozessor 350 so konfiguriert, dass sie Objekterkennungssignale vom Bewegungssensor 144 empfängt und als Reaktion darauf die Kameras 116 steuert, um Bilder zu erfassen und die Bilder an den Server 112 zur Speicherung im Speicher 324 und zur Erzeugung einer Punktwolke zu übertragen.
  • Die Anwendung 368 kann, in anderen Beispielen, als eine Vielzahl logisch verschiedener Anwendungen implementiert werden. In anderen Beispielen ist der Prozessor 350, wie er durch die Ausführung der Anwendung 368 konfiguriert wird, als ein oder mehrere spezifisch konfigurierte Hardware-Elemente implementiert, wie z.B. FPGAs (Field-Programmable Gate Arrays) und/oder anwendungsspezifische integrierte Schaltungen (ASICs).
  • Um nun zu 4 zu kommen, wird ein Verfahren 400 zur Datenerfassung zur Objektdimensionierung veranschaulicht. Das Verfahren 400 wird im Zusammenhang mit seiner Durchführung im System 100 beschrieben, wie oben im Zusammenhang mit 1, 2 und 3A-3B besprochen. Insbesondere veranschaulicht das Verfahren 400 die Aktionen, die von der Erfassungssteuerung 140 und vom Server 112 unternommen werden, um Bilder eines Pakets 104 innerhalb des Erfassungsvolumens 208 zu erfassen und eine Punktwolke zu erzeugen, die das Paket 104 repräsentiert, zur Übertragung an das Dimensionierungssystem 108.
  • Beginnend mit Block 405 wird die Steuerung 140 über die Ausführung der Anwendung 368 konfiguriert, um die Kameras 116 und den Bewegungssensor 144 zu initialisieren. Erfindungsgemäß ist die Steuerung 140 so konfiguriert, dass sie eine Aktivierung des Leistungsschalters 148 erkennt (z.B. über den ersten Teil 360 der Schnittstelle 358) und als Reaktion darauf Einschaltbefehle an den Bewegungssensor 144 (z.B. über den zweiten Teil 362 der Schnittstelle 358) und jede der Kameras 116 (z.B. über den dritten Teil 364 der Schnittstelle 358) überträgt.
  • Bei Block 410 ist der Server 112 so konfiguriert, dass er die Ausführung der Überwachungsanwendung 316 und der Punktwolkengenerator-Anwendung 320 initiiert. Die Initiierung der Ausführung der Punktwolkengenerator-Anwendung 320 kann das Laden von Kalibrierungsdaten, die mit den Kameras 116 korrespondieren, beinhalten. Die Kalibrierungsdaten definieren die physikalischen Positionen und Ausrichtungen (z.B. Nicken, Rollen und Gieren) der Kameras 116 relativ zu einem vordefinierten Bezugsrahmen (z.B. ein Koordinatensystem, das das Erfassungsvolumen 208 repräsentiert).
  • Der Server 112 kann auch in Block 410 konfiguriert werden, zusammen mit der Initiierung der Ausführung der Anwendung 320, um den gemeinsamen Speicher 324 zu initialisieren. Genauer gesagt kann der Server 112 so konfiguriert werden, dass er den Speicher 324 mit einem initialen Satz von Bildern füllt, die das Erfassungsvolumen 208 repräsentieren. Der initiale Satz von Bildern kann das Erfassungsvolumen 208 repräsentieren, wenn kein Paket 104 vorhanden ist. Zur Initialisierung des Speichers 324 können verschiedene Mechanismen implementiert werden. Zum Beispiel kann ein statischer Satz von initialen Bildern im Speicher 304 gespeichert werden, und bei Block 410 kann der Server 112 so konfiguriert werden (z.B. durch Ausführen der Anwendung 320), dass er den Inhalt des Speichers 324 löscht und eine Kopie des Satzes von initialen Bildern in den Speicher schreibt. In einem anderen Beispiel kann die Steuerung 140 so konfiguriert werden, dass sie bei Erkennung einer Aktivierung des Leistungsschalters 148 nicht nur einen Einschaltbefehl an die Kameras 116 sendet, sondern auch einen Verschlussbefehl an die Kameras 116 sendet, wodurch die Kameras veranlasst werden, einen initialen Satz von Bildern zu erfassen und den initialen Satz von Bildern an den Server 112 zur Speicherung im Speicher 324 zu übertragen.
  • Wenn der Speicher 324 bei Block 410 initialisiert wird, kann der Server 112 auch so konfiguriert werden, dass er eine initiale Punktwolke auf der Grundlage des im Speicher 324 festgelegten initialen Bildsatzes erzeugt. Die Erzeugung einer Punktwolke aus einem Satz zweidimensionaler Bilder erfolgt gemäß jedem geeigneten konventionellen Mechanismus und wird hier nicht im Detail besprochen. Die erzeugte initiale Punktwolke wird im Speicher 304 gespeichert (z.B. im Archiv 324). Die Initialisierung des Speichers 324 und die Erzeugung einer initialen Punktwolke, wie oben beschrieben, kann die Erzeugung von Punktwolkendaten, die die Pakete 104 repräsentieren, später bei der Durchführung des Verfahrens 400 beschleunigen. Beispielsweise kann die Anwendung 320 so konfiguriert werden, dass sie nachfolgende Punktwolkendaten erzeugt, indem Teile nachfolgender Bildsätze, die mit der initialen Punktwolke übereinstimmen, erkannt und entsprechende Teile der initialen Punktwolke wiederverwendet werden. In anderen Ausführungsformen kann auf die Initialisierung des Speichers 324 und die Erzeugung einer initialen Punktwolke am Block 410 verzichtet werden.
  • In Block 415 wird nach der Initialisierung der Kameras 116 und des Bewegungssensors 144 die Steuerung 140 konfiguriert, um zu bestimmen, ob vom Bewegungssensor 144 ein Objekterkennungssignal empfangen wurde, das die Anwesenheit eines Objekts (z.B. des Pakets 104) an einer Erfassungsposition innerhalb eines Erfassungsvolumens anzeigt. Kurz auf 2 verweisend, wird ein solches Erkennungssignal vom Bewegungssensor 144 erzeugt, wenn das Paket 104 den vom Bewegungssensor 144 ausgesandten Lichtstrahl (z.B. Laser, IR o.ä.) unterbricht.
  • Wenn die Bestimmung an Block 415 negativ ist, wird die Steuerung 140 so konfiguriert, dass sie die Durchführung von Block 415 wiederholt. Wenn die Bestimmung bei Block 415 jedoch positiv ist, wird die Steuerung 140 so konfiguriert, dass sie mit Block 420 fortfährt. Bei Block 420 ist die Steuerung 140 so konfiguriert, dass sie einen Verschlussbefehl erzeugt und den Verschlussbefehl an jede Kamera 116 überträgt. Genauer gesagt wird der Verschlussbefehl im Wesentlichen gleichzeitig auf jedes Steuersegment 132 angewendet, das mit dem dritten Teil 364 der Schnittstelle 358 verbunden ist, so dass die Kameras 116 den Verschlussbefehl im Wesentlichen zur gleichen Zeit empfangen. Beispielsweise können die Kameras 116 den Verschlussbefehl innerhalb einer Gesamtzeitspanne von etwa 0,2 Sekunden empfangen, wie bereits erwähnt. Die Zeitspanne, über die jede Kamera 116 den Verschlussbefehl empfängt, kann teilweise auf der Grundlage der Geschwindigkeit ausgewählt werden, mit der sich das Objekt 104 durch das Erfassungsvolumen bewegt (z.B. auf dem Förderband 212). Wie den Fachleuten klar sein wird, kann es bei größeren Bewegungsgeschwindigkeiten des Pakets 104 erforderlich sein, dass der Verschlussbefehl an allen Kameras 116 innerhalb eines kürzeren Zeitraums empfangen wird. Die hier genannten Beispielzeiträume entsprechen Paketbewegungsgeschwindigkeiten von bis zu etwa 8 mph (Meilen pro Stunde).
  • Die Art des Verschlussbefehls hängt von den Fähigkeiten der Kameras 116 ab. Beispielsweise kann der Anschluss 126 jeder Kamera sowohl Verschlusssteuerkontakte als auch Autofokuskontakte, Blitzaktivierungskontakte und ähnliches enthalten. Die Steuersegmente 132 enthalten Leitungen, die mit den oben genannten Kontakten korrespondieren, und der Verschlussbefehl kann daher ein Signal enthalten, das an eine oder mehrere der Leitungen angelegt wird (z.B. eine hohe Spannung, um die Aktivierung eines Verschlusses, Blitzes oder ähnliches anzuzeigen, oder eine niedrige Spannung, um die Nichtaktivierung anzuzeigen). Im vorliegenden Beispiel enthält der Verschlussbefehl ein Verschlussaktivierungssignal und ein Autofokusaktivierungssignal, wodurch jede Kamera 116 angewiesen wird, gleichzeitig den Autofokus und den Verschluss auszulösen.
  • Nach Erzeugung und Übertragung des Verschlussbefehls ist die Steuerung 140 so konfiguriert, dass sie zum Block 415 zurückkehrt und weitere Objekterkennungssignale überwacht. Wie dem Fachmann jetzt klar sein wird, kann bei einigen Konfigurationen des Bewegungssensors 144 ein bestimmtes Paket 104 die Erzeugung von mehr als einem Erkennungssignal durch den Bewegungssensor 144 verursachen. Die Steuerung 140 kann daher so konfiguriert werden, dass die Überwachung bei Block 415 nach einer Durchführung von Block 420 nach einer vordefinierten Zeitspanne wieder aufgenommen wird, damit das Paket 104 den Erfassungsbereich des Bewegungssensors 144 freigeben kann. Bei einem Erfassungsvolumen 208 mit einer Länge von etwa 8 Fuß, wie oben erwähnt, und einem Förderband 212, das so konfiguriert ist, dass es Objekte mit einer Geschwindigkeit von etwa 8 mph durch das Erfassungsvolumen 208 transportiert, kann die Steuerung 140 so konfiguriert werden, dass sie alle vom Bewegungssensor empfangenen Erkennungssignale innerhalb von etwa 0,3 Sekunden nach einer Durchführung von Block 420 ignoriert.
  • Als Reaktion auf die Durchführung des Blocks 420 durch die Steuerung 140 wird jede Kamera 116 beim Empfang des Verschlussbefehls so konfiguriert, dass sie den Verschlussbefehl ausführt (z.B. durch Aktivieren des Autofokus und des Verschlusses, wie oben erwähnt), um ein Bild zu erfassen. Jede Kamera 116 ist ferner so konfiguriert, dass sie das erfasste Bild automatisch über das entsprechende Kamerasegment 124 und das Übertragungssegment 128 an den Server 112 überträgt. Im vorliegenden Beispiel ist der Server 112 damit so konfiguriert, dass er einen synchronen Satz von Bildern zur Speicherung im Speicher 324 über den Kommunikationshub 136 empfängt.
  • Im vorliegenden Beispiel ist jede Kamera 116 auch so konfiguriert, dass sie allen erfassten Bildern einen statischen Dateinamen zuweist, der spezifisch für diese Kamera 116 ist. Das heißt, jeder Satz von synchronen Bildern, die von den Kameras erfasst werden, trägt denselben Satz von Dateinamen. Somit überschreibt die Übertragung der erfassten Bilder in jedem synchronen Bildsatz im Speicher 324 den vorherigen Satz von Bildern, der im Speicher 324 gespeichert ist. Das Überschreiben der Dateien im Speicher 324 anstelle des Schreibens neuer Dateien in den Speicher 324 kann die Nachbearbeitung der Bilder beschleunigen, z.B. indem es dem Punktwolkengenerator erlaubt, eine statische Liste der zu verarbeitenden Dateinamen zu führen, anstatt vor der Verarbeitung jedes Satzes von Bildern einen Entdeckungsprozess durchzuführen.
  • Um kurz auf 5 zurückzukommen, wird ein synchroner Satz von Bildern 500-1, 500-2, ..., 500-16 (d.h. ein Bild pro Kamera 116) gezeigt, die an den Speicher 324 übertragen werden, als Reaktion auf den erzeugten und bei Block 420 gesendeten Verschlussbefehl. Wie aus 5 ersichtlich, stellen die Bilder 500 das Paket 104 aus einer Vielzahl von Perspektiven dar, die durch die Positionen und Ausrichtungen bestimmt werden, in denen die Kameras 116 von der Tragstruktur 204 getragen werden.
  • Zurück zu 4, bei Block 425 wird nach der Initialisierung, die oben im Zusammenhang mit Block 410 diskutiert wurde, der Server 112 konfiguriert, um zu bestimmen, ob der Inhalt des Speichers 324 aktualisiert wurde. Wie in 1 zu sehen ist, erreicht der Verschlussbefehl den Server 112 nicht direkt, und der Server 112 ist daher so konfiguriert, dass er erkennt, dass Bilder indirekt erfasst wurden. Insbesondere die Überwachungsanwendung 316 ist so konfiguriert, dass sie bestimmt, ob der Speicher 324 aktualisiert wurde. Im vorliegenden Beispiel, in dem jede Kamera 116 so konfiguriert ist, dass sie den erfassten Bildern einen statischen Dateinamen zuweist, ist die Überwachungsanwendung 316 so konfiguriert, dass sie bestimmt, ob der Speicher 324 aktualisiert wurde, indem Zeitstempel, die mit den im Speicher 324 gespeicherten Dateien verknüpft sind, überprüft werden. Tabelle 1 zeigt zum Beispiel eine Auflistung des Inhalts des Speichers 324 vor einer Durchführung von Block 420 (z.B. nach der Initialisierung des Speichers 324), während Tabelle 2 eine Auflistung des Inhalts des Speichers 324 nach der Durchführung von Block 420 zeigt. Tabelle 1: Initialer Inhalt von Speicher 324
    Name der Datei Datum/Uhrzeit geändert
    IMG_Kamera_ 1 .jpg 5/1/2018 10:01:15.9 AM
    IMG_Kamera_2.jpg 5/1/2018 10:01:15.9 AM
    ... ...
    IMG_Kamera_15.jpg 5/1/2018 10:01:16.2 AM
    IMG_Kamera_16.jpg 5/1/2018 10:01:16.2 AM
    Tabelle 2: Aktualisierter Inhalt von Speicher 324
    Name der Datei Datum/Uhrzeit geändert
    IMG_Kamera_1.jpg 5/1/2018 10:01:16.7 AM
    IMG_Kamera_2.jpg 5/1/2018 10:01:16.7 AM
    ... ...
    IMG_Kamera_15.jpg 5/1/2018 10:01:16.9 AM
    IMG_Kamera_16.jpg 5/1/2018 10:01:16.2 AM
  • Wie oben gesehen, enthält der Speicher 324 in beiden Fällen Bilder mit den gleichen Dateinamen. In Tabelle 2 tragen jedoch alle Bilder bis auf eines („IMG_Kamera_16.jpg“) einen anderen Zeitstempel als in Tabelle 1. Die aktualisierten Zeitstempel zeigen an, dass diese Bilder nach einer Durchführung des Blocks 420 durch die Steuerung 140 überschrieben wurden (was zu Bildaufnahmen durch jede Kamera 116 und zur Übertragung der Bilder an den Speicher 324 führt). Bei Block 425 ist die Überwachungsanwendung 316 so konfiguriert, dass sie nur dann eine positive Entscheidung trifft, wenn jedes Bild überschrieben wurde (d.h. wenn ein vollständiger neuer synchroner Satz von Bildern empfangen wurde). In dem durch die Tabellen 1 und 2 dargestellten Beispiel ist also die Bestimmung an Block 425 negativ, bis das endgültige Bild empfangen wird, was zu einer Aktualisierung des Zeitstempels für das Bild „IMG_Camera_16.jpg“ führt. In anderen Ausführungsformen ist die Überwachungsanwendung 316 so konfiguriert, dass sie eine bestätigende Bestimmung vornimmt, wenn eines der Bilder im Speicher 324 aktualisiert wird.
  • In weiteren Ausführungsformen braucht sich die Bestimmung in Block 425 nicht auf die Erkennung von Zeitstempelaktualisierungen stützen. Beispielsweise ist in Ausführungsformen, in denen die Bilder nicht mit statischen Dateinamen in den Speicher 324 geschrieben werden, die Überwachungsanwendung 316 so konfiguriert, dass sie bei Erkennung neuer Dateinamen im Speicher (z.B. mindestens eine neue Datei, eine vorbestimmte Anzahl neuer Dateien oder ähnliches) eine positive Bestimmung vornimmt. In weiteren Ausführungsformen ist der Server 112 so konfiguriert, dass er andere geeignete Metadaten in Verbindung mit den erfassten Bildern untersucht, um Aktualisierungen des Speichers 324 zu erkennen. Zum Beispiel kann der Server 112 so konfiguriert werden, dass er Änderungen der Dateigrößen bei Block 425 erkennt.
  • Wenn die Bestimmung in Block 425 negativ ist, überwacht die Überwachungsanwendung 316 weiterhin den Speicher 324 auf Aktualisierungen. Wenn die Bestimmung in Block 425 positiv ist, geht die Durchführung des Verfahrens 400 zu Block 430 über. Bei Block 430 ist die Überwachungsanwendung 316 so konfiguriert, dass sie einen Befehl an die Punktwolkengenerator-Anwendung 320 generiert, um die Erzeugung von Punktwolkendaten auf der Grundlage des bei Block 425 erkannten Bildsatzes einzuleiten. Die Erzeugung von Punktwolkendaten erfolgt, wie bereits erwähnt, über einen geeigneten Punktwolkenerzeugungsmechanismus und wird hier nicht im Detail besprochen. Im Allgemeinen umfasst die Erzeugung von Punktwolkendaten in Block 435 die Erzeugung einer Vielzahl von Voxeln, die jeweils Farbdaten (z.B. Rot-, Grün- und Blauwerte oder Werte, die einem anderen geeigneten Farbmodell entsprechen) und Positionsdaten in drei Dimensionen enthalten. Die Positions- und Farbdaten für die Voxel werden aus den Bildern im synchronen Satz auf der Grundlage der oben erwähnten Kalibrierungsdaten abgeleitet. Die Kalibrierungsdaten werden verwendet, um die Positionen innerhalb des Erfassungsvolumens 208 zu bestimmen, die von jedem Pixel jedes Bildes repräsentiert werden. Mit anderen Worten, es können dreidimensionale Positionen für jedes Pixel in den Bildern erzeugt werden. Jede eindeutige dreidimensionale Position kann in einem Voxel gespeichert werden, und Farbdaten können dem Voxel auf der Grundlage der Farbdaten von einem oder mehreren Pixeln, die der dreidimensionalen Position entsprechen, zugewiesen werden.
  • Die im Block 435 erzeugten Punktwolkendaten werden im Speicher 304 abgelegt. Beispielsweise können die Punktwolkendaten im Speicher 324 oder in einem separaten, im Speicher 304 definierten Speicher gespeichert werden. In Beispielen, in denen eine initiale Punktwolke erzeugt wird, werden die in Block 435 erzeugten Punktwolkendaten getrennt von der initialen Punktwolke gespeichert. Spätere Durchführungen des Blocks 435 können jedoch dazu führen, dass Punktwolkendaten aus früheren Durchführungen des Blocks 435 überschrieben werden.
  • In Block 440 werden die in Block 435 erzeugten Punktwolkendaten verwendet, um Dimensionen für das Paket 104 zu erhalten. Im vorliegenden Beispiel ist der Server 112 so konfiguriert, dass er die Punktwolkendaten über das Netzwerk 110 an das Dimensionierungssystem 108 überträgt, und das Dimensionierungssystem 108 ist so konfiguriert, dass es die Darstellung des Pakets 104 in den Punktwolkendaten erkennt und die Dimensionen für das Paket 104 bestimmt. In anderen Beispielen ist die gesamte oder ein Teil der Funktionalität des Dimensionierungssystem 108 im Server 112 implementiert. Beispielsweise kann der Server 112 eine Dimensionierungsanwendung (nicht gezeigt) enthalten, die so konfiguriert ist, dass sie Kanten oder andere Merkmale in den Punktwolkendaten erkennt und die Dimensionen solcher Merkmale berechnet. Die aus den Punktwolkendaten erhaltenen Dimensionen können an den Server 112 zurückgegeben werden, auf einem mit dem Server 112 oder dem Dimensionierungssystem 108 gekoppelten Display oder ähnlichem dargestellt werden. Die Dimensionen können auch an ein weiteres Rechengerät übertragen werden, z.B. zur Bestimmung von Transport- oder Lagerkosten, zur räumlichen Optimierungsverarbeitung oder ähnlichem.
  • Nach der Durchführung von Block 440 wird der Server 112 so konfiguriert, dass er zu Block 425 zurückkehrt, an dem die Überwachungsanwendung 316 weiterhin den Inhalt des Speichers 324 auf weitere Aktualisierungen überwacht.
  • Variationen zu den oben genannten Systemen und Verfahren werden in Betracht gezogen. Beispielsweise können in einigen Ausführungsformen die Doppelverbinder 120 weggelassen werden. In solchen Ausführungsformen können Verbindungen zwischen den Kameras 116 und dem Server 112 entsprechend einer geeigneten drahtgebundenen (z.B. USB, Thunderbolt™) oder drahtlosen (z.B. Bluetooth™, Wi-Fi) Verbindung implementiert werden. Verbindungen zwischen den Kameras 116 und der Steuerung 140 können über eine andere geeignete drahtgebundene oder drahtlose Verbindung hergestellt werden.
  • In einigen Ausführungsformen ist die Steuerung 140 als zwei oder mehrere physikalische Geräte implementiert, z.B. wenn die Schnittstelle 358 eines einzelnen Geräts nicht genügend Kontakte enthält, um Verbindungen mit allen Kameras 116 sowie dem Leistungsschalter 148 und dem Bewegungssensor 144 herzustellen. In solchen Ausführungsformen kann jedes Segment 132 in zwei oder mehrere Segmente aufgeteilt werden, wobei bestimmte Steuerleitungen (z.B. Verschluss und Autofokus) mit einer ersten Steuerung 140 und andere Steuerleitungen (z.B. Leistungsschalter für die Kameras 116) mit einer zweiten Steuerung 140 verbunden werden. Die Steuerungen 140 stehen in solchen Ausführungsformen miteinander in Kommunikation, z.B. über eine drahtgebundene (z.B. Ethernet) oder drahtlose (z.B. Wi-Fi, Bluetooth™) Verbindung.
  • In weiteren Ausführungsformen umfasst das System 100 einen oder mehrere Projektoren, die so angeordnet sind, dass sie das Erfassungsvolumen 208 beleuchten, beispielsweise mit strukturiertem Licht, das von den Kameras 116 erfasst werden kann. Wie in 6 dargestellt, kann das System 100 beispielsweise einen ersten Projektor 600-1 und einen zweiten Projektor 600-2 umfassen, die von der Tragstruktur 204 getragen werden, um das Erfassungsvolumen 208 zu beleuchten.
  • In der vorstehenden Beschreibung wurden spezifische Ausführungsformen beschrieben. Ein Durchschnittsfachmann erkennt jedoch, dass verschiedene Modifikationen und Änderungen vorgenommen werden können, ohne den Schutzumfang der Erfindung, wie sie in den untenstehenden Ansprüchen definiert ist, abzuweichen. 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 einigen oder sämtlichen Ansprüchen zu verstehen. Die Erfindung ist lediglich durch die angehängten Ansprüche definiert, einschließlich jeglicher Änderungen, die während der Anhängigkeit dieser Anmeldung vorgenommen wurden und aller Äquivalente der erteilten Ansprüche.
  • 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“, „aufweisend“, „enthält“, „enthaltend“ 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 sie 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.

Claims (19)

  1. Datenerfassungssystem (100) zum Objektdimensionieren, umfassend: einen Bewegungssensor (144), der konfiguriert ist, um ein Erkennungssignal als Reaktion auf das Erkennen eines Objekts (104) an einer Erfassungsposition innerhalb eines Erfassungsvolumens (208) zu erzeugen; eine Erfassungssteuerung (140), die mit dem Bewegungssensor (144) verbunden und konfiguriert ist, um als Reaktion auf den Empfang des Erkennungssignals im Wesentlichen gleichzeitig einen Verschlussbefehl zu erzeugen und an jede einer Vielzahl von Kameras (116) zu übertragen, der bewirkt, dass jede Kamera (116) ein entsprechendes Bild eines synchronen Satzes von Bildern des Erfassungsvolumens (208) erfasst; einen Bildverarbeitungsserver (112), der mit jeder der Vielzahl von Kameras (116) verbunden und konfiguriert ist, um den synchronen Satz von Bildern von den Kameras (116) zu empfangen und den synchronen Satz von Bildern in einem gemeinsamen Speicher (304) zu speichern; wobei der Bildverarbeitungsserver (112) ferner konfiguriert ist, um eine Punktwolke zu erzeugen, die das Objekt (104) auf der Grundlage des synchronen Satzes von Bildern repräsentiert, zur Verwendung beim Bestimmen der Dimensionen des Objekts (104); ferner umfassend einen mit der Erfassungssteuerung (140) verbundenen Leistungsschalter (148); wobei die Erfassungssteuerung (140) konfiguriert ist, um als Reaktion auf die Erfassung der Aktivierung des Leistungsschalters (148) einen Einschaltbefehl an jede der Vielzahl von Kameras (116) zu übertragen.
  2. Datenerfassungssystem (100) nach Anspruch 1, wobei der Bildverarbeitungsserver (112) ferner konfiguriert ist, um die Punktwolke an ein Dimensionierungssystem (108) zu übertragen, das konfiguriert ist, um die Dimensionen des Objekts (104) auf der Grundlage der Punktwolke zu bestimmen.
  3. Datenerfassungssystem (100) nach Anspruch 1, ferner umfassend eine Tragstruktur (204), die konfiguriert ist, um die Vielzahl von Kameras (116) angrenzend zum Erfassungsvolumen (208) zu tragen.
  4. Datenerfassungssystem (100) nach Anspruch 3, wobei die Vielzahl von Kameras (116) eine Vielzahl von Kameragruppen umfasst, die an einem Umfang der Tragstruktur (204) voneinander beabstandet sind.
  5. Datenerfassungssystem (100) nach Anspruch 3, wobei die Tragstruktur (204) eine ringförmige Tragstruktur (204) ist, die über dem Erfassungsvolumen (208) angeordnet ist.
  6. Datenerfassungssystem (100) nach Anspruch 1, wobei die Erfassungssteuerung (140) ferner konfiguriert ist, um als Reaktion auf den Empfang eines weiteren Erkennungssignals einen weiteren Verschlussbefehl zu erzeugen und an jede der Vielzahl von Kameras (116) zu übertragen, um die Kameras (116) zu veranlassen, jeweils weitere Bilder zu erfassen; und wobei der Bildverarbeitungsserver (112) ferner konfiguriert ist, um den gemeinsamen Speicher (304) zu überwachen, um die weiteren Bilder zu erkennen und eine weitere Punktwolke auf der Grundlage der weiteren Bilder zu erzeugen.
  7. Datenerfassungssystem (100) nach Anspruch 6, wobei die weiteren Bilder gemeinsame Dateinamen mit den Bildern haben; wobei der Bildverarbeitungsserver (112) konfiguriert ist, um den gemeinsamen Speicher (304) zu überwachen, um die weiteren Bilder zu erkennen, indem Änderungen in Zeitstempeln, die mit den gemeinsamen Dateinamen assoziiert sind, erkannt werden, und um die weitere Punktwolke als Reaktion auf die Erkennung der Änderungen in den Zeitstempeln zu erzeugen.
  8. Datenerfassungssystem (100) nach Anspruch 1, ferner umfassend eine Vielzahl von Doppelverbindern (120), die sich zwischen der Vielzahl von Kameras (116), dem Bildverarbeitungsserver (112) und der Erfassungssteuerung (140) erstrecken; wobei jede Kamera (116) einen Kommunikationsanschluss (126) enthält; wobei die Erfassungssteuerung (140) mit dem Kommunikationsanschluss (126) jeder Kamera (116) über ein erstes Segment eines jeweiligen Doppelverbinders (120) verbunden ist, und wobei der Bildverarbeitungsserver (112) mit dem Kommunikationsanschluss (308) jeder Kamera (116) über ein zweites Segment des jeweiligen Doppelverbinders (120) verbunden ist.
  9. Datenerfassungssystem (100) nach Anspruch 1, ferner umfassend einen Projektor, der konfiguriert ist, um das Erfassungsvolumen (208) zu beleuchten.
  10. Verfahren zum Objektdimensionieren in einem Datenerfassungssystem (100), wobei das Verfahren umfasst: Erzeugen, an einem Bewegungssensor (144), eines Erkennungssignals als Reaktion auf das Erkennen eines Objekts (104) an einer Erfassungsposition innerhalb eines Erfassungsvolumens (208); als Reaktion auf den Empfang des Erkennungssignals an einer mit dem Bewegungssensor (144) verbundenen Erfassungssteuerung (140), Erzeugen und Übertragen eines Verschlussbefehls im Wesentlichen gleichzeitig von der Erfassungssteuerung (140) an jede einer Vielzahl von Kameras (116), der jede Kamera (116) veranlasst, ein entsprechendes Bild eines synchronen Satzes von Bildern des Erfassungsvolumens (208) zu erfassen; Empfangen, an einem mit jeder der Vielzahl von Kameras (116) verbunden Bildverarbeitungsserver (112), des synchronen Satzes von Bildern von den Kameras (116) und Speichern des synchronen Satzes von Bildern in einem gemeinsamen Speicher (304); Erzeugen, am Bildverarbeitungsserver (112), einer Punktwolke, die das Objekt (104) auf der Grundlage des synchronen Satzes von Bildern repräsentiert, zur Verwendung bei der Bestimmung der Dimensionen des Objekts (104); Erkennen, an der Erfassungssteuerung (140), einer Aktivierung eines Leistungsschalters (148); und Übertragen eines Einschaltbefehls an jede der Vielzahl von Kameras (116) als Reaktion auf das Erkennen der Aktivierung des Leistungsschalters (148).
  11. Verfahren nach Anspruch 10, ferner umfassend: Übertragen, vom Bildverarbeitungsserver (112), der Punktwolke an ein Dimensionierungssystem (108), das konfiguriert ist, um die Dimensionen des Objekts (104) auf der Grundlage der Punktwolke zu bestimmen.
  12. Verfahren nach Anspruch 10, wobei die Vielzahl von Kameras (116) von einer Tragstruktur (204) angrenzend zum Erfassungsvolumen (208) getragen werden.
  13. Verfahren nach Anspruch 12, wobei die Vielzahl von Kameras (116) eine Vielzahl von Kameragruppen umfasst, die an einem Umfang der Tragstruktur (204) voneinander beabstandet sind.
  14. Verfahren nach Anspruch 12, wobei die Tragstruktur (204) eine ringförmige Tragstruktur (204) ist, die oberhalb des Erfassungsvolumens (208) angeordnet ist.
  15. Verfahren nach Anspruch 10, ferner umfassend, an der Erfassungssteuerung (140): als Reaktion auf den Empfang eines weiteren Erkennungssignals, Erzeugen und Übertragen eines weiteren Verschlussbefehls an jede der Vielzahl von Kameras (116), um die Kameras (116) zu veranlassen, jeweils weitere Bilder zu erfassen; und Überwachen, am Bildverarbeitungsserver (112), des gemeinsamen Speichers (304) zum Erkennen der weiteren Bilder und Erzeugen einer weiteren Punktwolke auf der Grundlage der weiteren Bilder.
  16. Verfahren nach Anspruch 15, wobei die weiteren Bilder gemeinsame Dateinamen mit den Bildern haben; wobei das Verfahren ferner umfasst: Überwachen, am Bildverarbeitungsserver (112), des gemeinsamen Speichers (304) zum Erkennen der weiteren Bilder durch Erkennen von Änderungen in Zeitstempeln, die mit den gemeinsamen Dateinamen assoziiert sind, und Erzeugen der weiteren Punktwolke als Reaktion auf das Erkennen der Änderungen in den Zeitstempeln.
  17. Verfahren nach Anspruch 10, wobei die Vielzahl von Kameras (116), der Bildverarbeitungsserver (112) und die Erfassungssteuerung (140) durch eine Vielzahl von Doppelverbindern (120) verbunden sind; wobei das Verfahren ferner umfasst: Erzeugen und Übertragen, an der Erfassungssteuerung (140), des Verschlussbefehls an die jeweiligen Kommunikationsanschlüsse (126) von jeder der Kameras (116) über jeweilige erste Segmente der Doppelverbinder (120); Empfangen, am Bildverarbeitungsserver (112), des synchronen Satzes von Bildern von den jeweiligen Kommunikationsanschlüssen (126) über jeweilige zweite Segmente der Doppelverbinder (120).
  18. Verfahren nach Anspruch 10, ferner umfassend: Beleuchten, mit einem Projektor, des Erfassungsvolumens.
  19. Nicht-flüchtiges computerlesbares Medium mit darauf gespeicherten computerausführbaren Befehlen zum Objektdimensionieren, wobei die Befehle umfassen: Erzeugen, an einem Bewegungssensor (144), eines Erkennungssignals als Reaktion auf das Erkennen eines Objekts (104) an einer Erfassungsposition innerhalb eines Erfassungsvolumens (208); als Reaktion auf den Empfang des Erkennungssignals an einer mit dem Bewegungssensor (144) verbundenen Erfassungssteuerung (140), Erzeugen und Übertragen eines Verschlussbefehls im Wesentlichen gleichzeitig von der Erfassungssteuerung (140) an jede einer Vielzahl von Kameras (116), der jede Kamera (116) veranlasst, ein entsprechendes Bild eines synchronen Satzes von Bildern des Erfassungsvolumens (208) zu erfassen; Empfangen, an einem mit jeder der Vielzahl von Kameras (116) verbunden Bildverarbeitungsserver (112), des synchronen Satzes von Bildern von den Kameras (116) und Speichern des synchronen Satzes von Bildern in einem gemeinsamen Speicher (304); und Erzeugen, am Bildverarbeitungsserver (112), einer Punktwolke, die das Objekt (104) auf der Grundlage des synchronen Satzes von Bildern repräsentiert, zur Verwendung bei der Bestimmung der Dimensionen des Objekts (104); Erkennen, an der Erfassungssteuerung (140), einer Aktivierung eines Leistungsschalters (148); und Übertragen eines Einschaltbefehls an jede der Vielzahl von Kameras (116) als Reaktion auf das Erkennen der Aktivierung des Leistungsschalters (148).
DE112019002730.1T 2018-05-29 2019-05-21 Datenerfassungssystem und Verfahren zur Objektdimensionierung Active DE112019002730B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/991,575 US10930001B2 (en) 2018-05-29 2018-05-29 Data capture system and method for object dimensioning
US15/991,575 2018-05-29
PCT/US2019/033363 WO2019231768A1 (en) 2018-05-29 2019-05-21 Data capture system and method for object dimensioning

Publications (2)

Publication Number Publication Date
DE112019002730T5 DE112019002730T5 (de) 2021-04-22
DE112019002730B4 true DE112019002730B4 (de) 2022-09-22

Family

ID=66952020

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019002730.1T Active DE112019002730B4 (de) 2018-05-29 2019-05-21 Datenerfassungssystem und Verfahren zur Objektdimensionierung

Country Status (5)

Country Link
US (1) US10930001B2 (de)
CN (1) CN112313471B (de)
DE (1) DE112019002730B4 (de)
GB (1) GB2587154B (de)
WO (1) WO2019231768A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11381784B1 (en) * 2017-08-28 2022-07-05 Amazon Technologies, Inc. Monitoring and locating tracked objects using audio/video recording and communication devices
US11227404B2 (en) * 2020-02-25 2022-01-18 Zebra Technologies Corporation Transporter segmentation for data capture system
US11538179B2 (en) * 2020-02-25 2022-12-27 Zebra Technologies Corporation Depth-based data capture system configuration
CN115097976B (zh) * 2022-07-13 2024-03-29 北京有竹居网络技术有限公司 用于图像处理的方法、装置、设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040023612A1 (en) 2002-08-02 2004-02-05 Kriesel Marshall S. Apparatus and methods for the volumetric and dimensional measurement of livestock
WO2017056035A1 (en) 2015-09-30 2017-04-06 Datalogic Ip Tech S.R.L. System and method for reading coded information
US20170280125A1 (en) 2016-03-23 2017-09-28 Symbol Technologies, Llc Arrangement for, and method of, loading freight into a shipping container

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0882678A (ja) 1994-09-12 1996-03-26 Taisei Corp 光波距離計による変位計測用ネットワークシステム
JP2000172878A (ja) 1998-12-09 2000-06-23 Sony Corp 情報処理装置および情報処理方法、並びに提供媒体
US7660436B2 (en) 2003-06-13 2010-02-09 Sarnoff Corporation Stereo-vision based imminent collision detection
US20050232463A1 (en) 2004-03-02 2005-10-20 David Hirvonen Method and apparatus for detecting a presence prior to collision
CN101363716B (zh) * 2008-09-26 2010-08-04 华中科技大学 一种组合式空间精密测量系统
GB0822605D0 (en) * 2008-12-11 2009-01-21 Pneumacare Ltd Method and apparatus for monitoring an object
WO2010129907A2 (en) 2009-05-08 2010-11-11 Scientific Systems Company Inc. Method and system for visual collision detection and estimation
GB0910431D0 (en) * 2009-06-17 2009-07-29 Murphy David B A piece of street furniture which is a multifunctional communication, surveillance apparatus
US9170090B2 (en) * 2011-04-15 2015-10-27 Ins-Europe Method for estimating volume
US10091489B2 (en) * 2012-03-29 2018-10-02 Sharp Kabushiki Kaisha Image capturing device, image processing method, and recording medium
US9779546B2 (en) * 2012-05-04 2017-10-03 Intermec Ip Corp. Volume dimensioning systems and methods
US9007368B2 (en) * 2012-05-07 2015-04-14 Intermec Ip Corp. Dimensioning system calibration systems and methods
WO2014006832A1 (ja) * 2012-07-02 2014-01-09 パナソニック株式会社 サイズ測定装置及びサイズ測定方法
US9251578B2 (en) 2012-07-02 2016-02-02 Sony Corporation System and method for match move quality control
US20140267703A1 (en) * 2013-03-15 2014-09-18 Robert M. Taylor Method and Apparatus of Mapping Landmark Position and Orientation
US9143674B2 (en) * 2013-06-13 2015-09-22 Mitutoyo Corporation Machine vision inspection system and method for performing high-speed focus height measurement operations
US9478030B1 (en) * 2014-03-19 2016-10-25 Amazon Technologies, Inc. Automatic visual fact extraction
DE102014011821A1 (de) * 2014-08-08 2016-02-11 Cargometer Gmbh Vorrichtung und Verfahren zur Volumenbestimmung eines durch ein Flurförderzeug bewegten Objekts
JP2016054450A (ja) * 2014-09-04 2016-04-14 株式会社東芝 画像処理装置、画像処理システム、画像処理方法及びプログラム
US9396555B2 (en) * 2014-10-08 2016-07-19 Robert George Reference based sizing
US9940717B2 (en) * 2014-12-23 2018-04-10 Intel Corporation Method and system of geometric camera self-calibration quality assessment
US10028102B2 (en) 2014-12-26 2018-07-17 Here Global B.V. Localization of a device using multilateration
US9877012B2 (en) * 2015-04-01 2018-01-23 Canon Kabushiki Kaisha Image processing apparatus for estimating three-dimensional position of object and method therefor
GB201818058D0 (en) 2015-05-18 2018-12-19 Mobileye Vision Technologies Ltd Safety system for a vehicle to detect and warn of a potential collision
CN114863059A (zh) * 2015-09-25 2022-08-05 奇跃公司 用于在3d重建中检测和组合结构特征的方法和系统
CA3014353A1 (en) * 2016-02-15 2017-08-24 Pictometry International Corp. Automated system and methodology for feature extraction
EP3422955B1 (de) * 2016-02-29 2023-10-18 Packsize International, LLC System und verfahren zur unterstützten 3d-abtastung
US10587858B2 (en) * 2016-03-14 2020-03-10 Symbol Technologies, Llc Device and method of dimensioning using digital images and depth data
US10776661B2 (en) 2016-08-19 2020-09-15 Symbol Technologies, Llc Methods, systems and apparatus for segmenting and dimensioning objects
US10394237B2 (en) 2016-09-08 2019-08-27 Ford Global Technologies, Llc Perceiving roadway conditions from fused sensor data
WO2018085797A1 (en) * 2016-11-04 2018-05-11 Aquifi, Inc. System and method for portable active 3d scanning
US10451405B2 (en) 2016-11-22 2019-10-22 Symbol Technologies, Llc Dimensioning system for, and method of, dimensioning freight in motion along an unconstrained path in a venue
EP3545376A4 (de) 2016-11-22 2020-07-01 Amazon Technologies Inc. Verfahren zur autonomen navigation über unkontrollierte und kontrollierte kreuzungen
US10315649B2 (en) 2016-11-29 2019-06-11 Ford Global Technologies, Llc Multi-sensor probabilistic object detection and automated braking
CN106875444B (zh) * 2017-01-19 2019-11-19 浙江大华技术股份有限公司 一种目标物定位方法及装置
US10089750B2 (en) * 2017-02-02 2018-10-02 Intel Corporation Method and system of automatic object dimension measurement by using image processing
US10655945B2 (en) * 2017-07-19 2020-05-19 Symbol Technologies, Llc Methods and apparatus to coordinate movement of automated vehicles and freight dimensioning components
US10552984B2 (en) * 2017-10-09 2020-02-04 Verizon Patent and Licensing I nc. Capture device calibration methods and systems
CN109727308A (zh) * 2017-10-30 2019-05-07 三纬国际立体列印科技股份有限公司 实体物件的三维点云模型生成设备及生成方法
US11558601B2 (en) * 2017-11-06 2023-01-17 Symbol Technologies, Llc Methods and apparatus for initializing object dimensioning systems
US11146775B2 (en) * 2017-11-07 2021-10-12 Symbol Technologies, Llc Methods and apparatus for dimensioning an object using proximate devices
JP6513169B1 (ja) * 2017-12-14 2019-05-15 キヤノン株式会社 仮想視点画像を生成するシステム、方法及びプログラム
CA3125730C (en) * 2018-01-05 2023-10-24 Aquifi, Inc. Systems and methods for volumetric sizing
US10944954B2 (en) * 2018-02-12 2021-03-09 Wayfair Llc Systems and methods for scanning three-dimensional objects and materials
CN109632033B (zh) 2019-02-22 2024-04-26 浙江大学滨海产业技术研究院 一种体积测量的设备与方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040023612A1 (en) 2002-08-02 2004-02-05 Kriesel Marshall S. Apparatus and methods for the volumetric and dimensional measurement of livestock
WO2017056035A1 (en) 2015-09-30 2017-04-06 Datalogic Ip Tech S.R.L. System and method for reading coded information
US20170280125A1 (en) 2016-03-23 2017-09-28 Symbol Technologies, Llc Arrangement for, and method of, loading freight into a shipping container

Also Published As

Publication number Publication date
US10930001B2 (en) 2021-02-23
GB2587154B (en) 2022-12-21
CN112313471A (zh) 2021-02-02
GB2587154A (en) 2021-03-17
WO2019231768A1 (en) 2019-12-05
GB202017199D0 (en) 2020-12-16
US20190370990A1 (en) 2019-12-05
CN112313471B (zh) 2022-04-29
DE112019002730T5 (de) 2021-04-22

Similar Documents

Publication Publication Date Title
DE112019002730B4 (de) Datenerfassungssystem und Verfahren zur Objektdimensionierung
DE112019004488B4 (de) Doppelmodus-Datenerfassungssystem zur Kollisionserfassung und Objektdimensionierung und Verfahren zur Doppelmodus-Datenerfassung
DE112019002547B4 (de) System und verfahren zum bestimmen eines standortes zur platzierung eines pakets
DE102018102285A1 (de) System und verfahren zum beurteilen des innenraums eines autonomen fahrzeugs
DE102019202252A1 (de) Robuste simultane lokalisierung und kartierung durch entfernung dynamischer verkehrsteilnehmer
DE102017116192A1 (de) Verwenden von virtuellen Daten zum Testen und Trainieren von Parkplatzerfassungssystemen
DE102017120498A1 (de) Wahrnehmen von fahrbahnbedingungen aus fusionierten sensordaten
DE102019115676B4 (de) Verfahren und system zur rekonstruktion einer fahrzeug-szene in einer cloud-ebene
DE112016006366T5 (de) Verfahren und systeme zur verarbeitung von punktwolkendaten mit einem linienscanner
DE102016116818A1 (de) Verfahren und Vorrichtung zum Erfassen einer Fahrzeugkontur durch Punktwolkendaten
DE102017115318A1 (de) Heads-Up-Anzeige zum Beobachten von Fahrzeugwahrnehmungsaktivität
DE112016005059T5 (de) Unterkategorienbewusste faltende neuronale Netzwerke zur Objekterfassung
DE102018101220A1 (de) Zeichenerkennung für autonome fahrzeuge
DE102014203833A1 (de) Verfahren und System zur automatischen hierarchischen Schulung eines Fahrzeugnachweis-Systems im Gelände
EP3782117A1 (de) Verfahren, vorrichtung und computerlesbares speichermedium mit instruktionen zur verarbeitung von sensordaten
DE112020003158T5 (de) Trainingsverfahren für ein Zielerfassungsmodell, Verfahren und Vorrichtung zur Kennzeichnung der Daten
DE112020003332B4 (de) Dreidimensionale (3D) Tiefenbildgebungssysteme und -Verfahren zur dynamischen Container-Autokonfiguration
DE102019110428A1 (de) Sensorkalibrierung
DE102015207638A1 (de) Tragbarer 3D-Scanner und Verfahren zum Erzeugen eines einem Objekt entsprechenden 3D-Scanergebnisses
DE102022102934A1 (de) Ereignisbasierte fahrzeugposenschätzung unter verwendung monochromatischer bildgebung
DE102018215055A1 (de) Verfahren zum Bestimmen einer Spurwechselangabe eines Fahrzeugs, ein computerlesbares Speichermedium und ein Fahrzeug
DE102015102679A1 (de) Effiziente freiraumfingererkennung
BE1029791B1 (de) System und verfahren zum detektieren der kalibrierung eines 3d- sensors
DE102020100230A1 (de) Rekonstruktion von landmarkenpositionen in autonomen maschinenanwendungen
DE102021104352A1 (de) Transporter-segmentierung für datenerfassungssystem

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