DE112019004488B4 - Doppelmodus-Datenerfassungssystem zur Kollisionserfassung und Objektdimensionierung und Verfahren zur Doppelmodus-Datenerfassung - Google Patents

Doppelmodus-Datenerfassungssystem zur Kollisionserfassung und Objektdimensionierung und Verfahren zur Doppelmodus-Datenerfassung Download PDF

Info

Publication number
DE112019004488B4
DE112019004488B4 DE112019004488.5T DE112019004488T DE112019004488B4 DE 112019004488 B4 DE112019004488 B4 DE 112019004488B4 DE 112019004488 T DE112019004488 T DE 112019004488T DE 112019004488 B4 DE112019004488 B4 DE 112019004488B4
Authority
DE
Germany
Prior art keywords
cameras
subset
images
collision
mode
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
DE112019004488.5T
Other languages
English (en)
Other versions
DE112019004488T5 (de
Inventor
Charles Burton Swope
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 DE112019004488T5 publication Critical patent/DE112019004488T5/de
Application granted granted Critical
Publication of DE112019004488B4 publication Critical patent/DE112019004488B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0956Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/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
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W2050/143Alarm means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/408Radar; Laser, e.g. lidar
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/54Audio sensitive means, e.g. ultrasound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30232Surveillance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30261Obstacle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Geometry (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Traffic Control Systems (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Alarm Systems (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

Doppelmodus-Datenerfassungssystem, umfassend:eine Vielzahl von Kameras, die so angeordnet sind, dass sie ein Erfassungsvolumen betrachten;einen Bewegungssensor, der so konfiguriert ist, dass er ein Erfassungssignal als Reaktion auf das Erfassen eines Objekts an einer Erfassungsposition innerhalb des Erfassungsvolumens erzeugt;eine Erfassungssteuerung, die mit dem Bewegungssensor verbunden ist und konfiguriert ist zum:Aktivieren mindestens einer Teilmenge der Vielzahl von Kameras in einem Kollisionserfassungsmodus, wodurch die Teilmenge der Kameras veranlasst wird, entsprechende Bildsequenzen des Erfassungsvolumens zu erfassen;Aktivieren der Vielzahl von Kameras in einem Dimensionierungsmodus als Reaktion auf das Empfangen des Erfassungssignals, wodurch jede Kamera veranlasst wird, ein entsprechendes Bild eines synchronen Satzes von Bildern der Erfassungsposition zu erfassen;einen Kollisionsdetektor, der mit mindestens der Teilmenge von Kameras verbunden ist und konfiguriert ist zum:Empfangen der entsprechenden Bildsequenzen;Bestimmen, ob die entsprechenden Bildsequenzen von mindestens der Teilmenge der Vielzahl von Kameras eine potenzielle Kollision eines oder mehrerer Objekte im Erfassungsvolumen anzeigen; undErzeugen einer Warnung als Reaktion auf die Erkennung der potenziellen Kollision; undeinen Punktwolkengenerator, der mit jeder der Vielzahl von Kameras verbunden ist und so konfiguriert ist, dass er den synchronen Satz von Bildern von den Kameras empfängt und basierend auf dem synchronen Satz von Bildern eine Punktwolke erzeugt, die das Objekt repräsentiert, wobei die Dimensionen des Objekts basierend auf der Punktwolke bestimmt werden.

Description

  • HINTERGRUND
  • Der Transport und die Lagerung von Objekten wie z. B. Paketen kann die Kenntnis der Dimensionen eines Pakets erfordern. Solche Informationen können verwendet werden, um die Nutzung des verfügbaren Raums 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 des Pakets sind jedoch möglicherweise nicht im Voraus bekannt, so dass die Arbeitskräfte die Dimensionen des Pakets durch manuelles Messen ermitteln müssen. Das manuelle Messen kann zeitaufwändig und fehleranfällig sein. Systeme zur automatischen Messung der Paketdimensionen können auch eine geringere Genauigkeit aufweisen, z. B. bei der Messung von Paketen in Bewegung, von Paketen mit dunklen (z. B. schwarzen) Oberflächen und dergleichen. Solche Systeme können auch die Bewegung von Paketen mit Geräten wie Gabelstaplern und dergleichen erfordern, was potenzielle Interferenzrisiken unter den Paketbewegungsgeräten während des Dimensionierungsvorgangs mit sich bringt.
  • WO 2019/ 221 969 A1 beschreibt ein Verfahren zum Verwenden von Bilddaten, um die Bewegung eines Fahrzeugs zu schätzen, die in Kamerabildern beobachtet wird, wie etwa Bildern, die von einem visuellen Navigationssystem eines Host-Fahrzeugs erfasst werden. Verschiedene Ausführungsformen können eine Kamera umfassen, die eine Sequenz von Bildern einschließlich des beobachteten Fahrzeugs aufnimmt, und einen Prozessor, der eine Bildverarbeitung durchführt, um ein Rad des beobachteten Fahrzeugs zu identifizieren. Eine Drehrate des Rads kann basierend auf Änderungen der Ausrichtung des Rads zwischen mindestens zwei Bildern innerhalb der Bildfolge und einer zwischen den mindestens zwei Bildern verstrichenen Zeit bestimmt werden. Der Prozessor kann ferner eine Geschwindigkeit des beobachteten Fahrzeugs basierend auf der Drehrate und dem Durchmesser des Rads bestimmen. Der Prozessor kann ferner eine Fahrtrichtung und/oder Drehgeschwindigkeit des beobachteten Fahrzeugs bestimmen, indem er relative Winkel von Rädern des beobachteten Fahrzeugs in mindestens einem Bild bestimmt.
  • DE 10 2014 011 821 A1 beschreibt eine Vorrichtung zur Volumenbestimmung eines durch ein Flurförderzeug bewegten Objekts und ein entsprechendes Verfahren. Die Vorrichtung umfasst einen ersten Tiefenbildsensor und einen zweiter Tiefenbildsensor, die so angeordnet sind, dass das Objekt beim Passieren des Durchgangsbereichs aus zwei unterschiedlichen Richtungen erfassbar ist, wobei die Vorrichtung ausgeführt ist, mit jedem der Tiefenbildsensoren eine Sequenz von Einzelbildern in einer ersten Auflösung zu erzeugen, wodurch das Flurförderzeug und das Objekt aus unterschiedlichen Blickwinkeln beim Passieren des Durchgangsbereichs erfasst werden. Die Vorrichtung umfasst ferner eine Volumenbestimmungseinrichtung, die ausgeführt ist, die Sequenzen der Einzelbilder in der ersten Auflösung des ersten Tiefenbildsensors und des zweiten Tiefenbildsensors einer Super-Resolution-Verarbeitung zu unterziehen, um ein das Flurförderzeug und das Objekt umfassendes 3D-Modell in einer zweiten Auflösung, die höher als die erste Auflösung ist, zu erstellen und das Volumen des Objekts auf Basis des erzeugten 3D-Modells zu bestimmen
  • US 2016 / 0 342 850 A1 beschreibt ein in einem Fahrzeug montierbares System, um eine Objekterkennung in der Nähe des Fahrzeugs bereitzustellen. Das System umfasst eine Kamera, die operativ mit einem Prozessor verbunden ist. Die Kamera wird außen am Fahrzeugheck montiert. Das Sichtfeld der Kamera liegt im Wesentlichen in Fahrtrichtung des Fahrzeugs entlang der Fahrzeugseite. Mehrere Einzelbilder werden von der Kamera erfasst. Das Gieren des Fahrzeugs kann eingegeben werden oder das Gieren kann aus den Einzelbildern berechnet werden. Entsprechende Abschnitte der Einzelbilder werden als Reaktion auf das Gieren des Fahrzeugs ausgewählt. Die Einzelbilder werden verarbeitet, um dadurch ein Objekt in den ausgewählten Abschnitten der Einzelbilder zu erkennen.
  • 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 eine schematische Darstellung eines Doppelmodus-Datenerfassungssystems zur Kollisionserfassung und Objektdimensionierung.
    • 2 ist ein Diagramm eines Beispiels für den Einsatz 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 von 1.
    • 4 ist ein Flussdiagramm eines Verfahrens einer Doppelmodus-Datenerfassung zur Kollisionserfassung und Objektdimensionierung.
    • Die 5A-5B zeigen die Erfassung und Verarbeitung von Bildsequenzen im Kollisionserfassungsmodus des Systems von 1.
    • 6 zeigt Beispielbilder, die mittels der Durchführung des Verfahrens von 4 im System der 1 und 2 erfasst wurden.
    • 7 ist ein Diagramm eines weiteren Beispiels für den Einsatz bestimmter Komponenten des Systems von 1.
    • 8-9 sind schematische Darstellungen von Doppelmodus-Datenerfassungssystemen zur Kollisionserfassung und Objektdimensionierung, gemäß weiteren Ausführungsformen.
  • 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 hierin offenbarten Beispiele beziehen sich auf ein Doppelmodus-Datenerfassungssystem, umfassend: eine Vielzahl von Kameras, die so angeordnet sind, dass sie ein Erfassungsvolumen betrachten; einen Bewegungssensor, der so konfiguriert ist, dass er als Reaktion auf die Erfassung eines Objekts an einer Erfassungsposition innerhalb des Erfassungsvolumens ein Erfassungssignal erzeugt; eine Erfassungssteuerung, die mit dem Bewegungssensor verbunden ist und konfiguriert ist zum: Aktivieren mindestens einer Teilmenge der Vielzahl von Kameras in einem Kollisionserfassungsmodus, wodurch die Teilmenge von Kameras veranlasst wird, entsprechende Bildsequenzen des Erfassungsvolumens zu erfassen; Aktivieren der Vielzahl von Kameras in einem Dimensionierungsmodus als Reaktion auf das Empfangen des Erfassungssignals, wodurch jede Kamera veranlasst wird, ein entsprechendes Bild eines synchronen Satzes von Bildern der Erfassungsposition zu erfassen; einen Kollisionsdetektor, der mit mindestens der Teilmenge von Kameras verbunden ist und konfiguriert ist zum: Empfangen der entsprechenden Bildsequenzen; Bestimmen, ob die entsprechenden Bildsequenzen von zumindest der Teilmenge der Vielzahl von Kameras eine potenzielle Kollision von einem oder mehreren Objekten in dem Erfassungsvolumen anzeigen; und Erzeugen einer Warnung als Reaktion auf das Erfassen der potenziellen Kollision; und einen Punktwolkengenerator, der mit jeder der Vielzahl von Kameras verbunden ist und konfiguriert ist, um den synchronen Satz von Bildern von den Kameras zu empfangen und eine Punktwolke basierend auf dem synchronen Satz von Bildern zu erzeugen, die das Objekt repräsentiert, wobei die Dimensionen des Objekts basierend auf der Punktwolke bestimmt werden.
  • Weitere hier offenbarte Beispiele sind auf ein Verfahren zur Doppelmodus-Datenerfassung gerichtet, umfassend: an einer Erfassungssteuerung, die mit einer Vielzahl von Kameras verbunden ist, die so angeordnet sind, dass sie ein Erfassungsvolumen betrachten, Aktivieren mindestens einer Teilmenge der Vielzahl von Kameras in einem Kollisionserfassungsmodus, wodurch die Teilmenge von Kameras veranlasst wird, entsprechende Bildsequenzen des Erfassungsvolumens zu erfassen; an einem Kollisionsdetektor, der mit mindestens der Teilmenge von Kameras verbunden ist, Empfangen der entsprechenden Bildsequenzen und Bestimmen, ob die entsprechenden Bildsequenzen von mindestens der Teilmenge der Vielzahl von Kameras eine potenzielle Kollision von einem oder mehreren Objekten in dem Erfassungsvolumen anzeigen; Erzeugen einer Warnung als Reaktion auf das Erfassen der potenziellen Kollision an dem Kollisionsdetektor; an einem Bewegungssensor, der mit der Erfassungssteuerung verbunden ist, Erzeugen eines Erfassungssignals als Reaktion auf das Erfassen eines Objekts an einer Erfassungsposition innerhalb des Erfassungsvolumens; an der Erfassungssteuerung, als Reaktion auf das Empfangen des Erfassungssignals, Aktivieren der Vielzahl von Kameras in einem Dimensionierungsmodus, wodurch jede Kamera veranlasst wird, ein entsprechendes Bild eines synchronen Satzes von Bildern der Erfassungsposition zu erfassen; und an einem Punktwolkengenerator, der mit jeder der Vielzahl von Kameras verbunden ist, Empfangen des synchronen Satzes von Bildern von den Kameras und Erzeugen einer Punktwolke, die das Objekt repräsentiert, basierend auf dem synchronen Satz von Bildern, wobei die Dimensionen des Objekts basierend auf der Punktwolke bestimmt werden.
  • 1 zeigt ein Doppelmodus-Datenerfassungssystem 100 zur Kollisionserfassung und Objektdimensionierung. In einem Dimensionierungsmodus ist das Datenerfassungssystem 100 so konfiguriert, dass es Punktwolkendaten erzeugt, die ein Objekt 104 innerhalb eines Erfassungsvolumens darstellen, und dass es die Punktwolkendaten über ein Netzwerk 110 an einen Dimensionierungsserver 108 (z. B. eine oder mehrere Computervorrichtungen) übermittelt. Der Dimensionierungsserver 108 ist wiederum so konfiguriert, dass er die Punktwolkendaten verarbeitet und mindestens eine Dimension (z. B. Höhe, Breite, Länge oder dergleichen) des Objekts 104 bestimmt. In einem Kollisionserfassungsmodus ist das Datenerfassungssystem 100 so konfiguriert, dass es Bilddaten erfasst, die das oben erwähnte Erfassungsvolumen darstellen, unabhängig davon, ob das Objekt 104 vorhanden ist oder nicht, und dass es bestimmt, ob die Bilddaten eine potenzielle Kollision innerhalb des Erfassungsvolumens anzeigen (z. B. zwischen zwei Gabelstaplern, die Objekte manipulieren, oder Ähnliches). Das Datenerfassungssystem 100 ist so konfiguriert, dass es unter bestimmten Bedingungen zwischen dem Kollisionserfassungs- und dem Dimensionierungsmodus wechselt, wie weiter unten noch näher erläutert wird.
  • 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 einer Vielzahl von Paketen sein, die vom Server 108 vor dem Versand, der Lagerung oder ähnlichem dimensioniert werden. Das System 100 kann beispielsweise 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 werden.
  • 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 Server 112 ist auch so konfiguriert, dass er die Erkennung potenzieller Kollisionen wie oben erwähnt durchführt. Der Bildverarbeitungsserver 112 ist als eine geeignete Rechenvorrichtung implementiert, dessen Komponenten im Folgenden näher beschrieben werden. In anderen Beispielen, auf die weiter unten eingegangen wird, kann die Funktionalität der Dimensionierung und Kollisionserfassung auf separaten Rechenvorrichtungen implementiert werden.
  • Der Server 112 ist so konfiguriert, dass er die oben erwähnten potenziellen Kollisionen erkennt und die oben erwähnten Punktwolkendaten erzeugt, die das Paket 104 repräsentieren, und zwar auf der Grundlage von Bildern, die von einer Vielzahl von Kameras 116-1, 116-2, ..., 116-n (gemeinsam als die Kameras 116 bezeichnet und allgemein als eine 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 eine Erfassungsposition enthält, an der das Paket 104 dimensioniert werden soll. Die Kameras 116 sind im vorliegenden Beispiel Farbkameras (z. B. konfiguriert, um Bilddateien zu erzeugen, die RGB-Daten enthalten), wie z. B. digitale Spiegelreflexkameras (DSLR). In anderen Beispielen können die Kameras 116 eine oder mehrere Graustufenkameras, Infrarotkameras oder ähnliches umfassen. Darüber hinaus können auch andere Kameraformate als das oben erwähnte DSLR-Format implementiert werden.
  • Im Dimensionierungsmodus sind die Kameras 116 so konfiguriert, dass sie einen synchronen Satz von Bildern erfassen, aus denen die oben erwähnten Punktwolkendaten erzeugt 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 erfasst wird. Beispielsweise können die Bilder in einem synchronen Satz von Bildern innerhalb eines Zeitraums 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 zeigt jedes Bild im Satz das Paket 104 im Wesentlichen zum gleichen Zeitpunkt, 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.
  • Im Kollisionserfassungsmodus hingegen sind die Kameras 116 so konfiguriert, dass sie nicht nur ein einzelnes Bild pro Kamera 116, sondern entsprechende Bildsequenzen erfassen. Die von den Kameras 116 erfassten Bildsequenzen können als Einzelbilder (z. B. diskrete Bilddateien für jedes Bild in der Sequenz) oder als Videoströme (z. B. eine einzelne Videodatei für jede Bildsequenz) erfasst werden.
  • Die Bilder, die vom Server 112 zur Erzeugung von Punktwolkendaten und zur Durchführung der Kollisionserfassung verwendet werden, werden im vorliegenden Beispiel von den Kameras 116 über einen Satz von Doppelverbindern 120-1, 120-2, ..., 120-n an den Server 112 übertragen. Jeder Doppelverbinder 120 umfasst ein Kamerasegment 124, das so konfiguriert ist, dass es mit einem Kommunikationsanschluss 126 der entsprechenden Kamera 116 in Eingriff kommt. Der Kommunikationsanschluss 126 umfasst einen Satz von Steuerkontakten (z. B. Stifte oder andere geeignete elektrische Kontakte) und einen Satz von Datenübertragungskontakten. Die Datenübertragungskontakte können z. B. auf dem Universal Serial Bus (USB)-Standard 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 mit den oben erwähnten Datenübertragungskontakten als auch mit den Steuerkontakten korrespondieren. Jeder Doppelverbinder 120 enthält außerdem 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 sie die erfassten Bilder über die Doppelverbinder 120 (und insbesondere über die Kamerasegmente 124 und die Übertragungssegmente 128) an den Server 112 übertragen. Das System 100 umfasst auch einen Kommunikations-Hub 136, wie 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 Kommunikations-Hub 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 als Reaktion auf Befehle erfassen, die über die Steuersegmente 132 der Doppelverbinder 120 an die Kameras ausgegeben werden. Insbesondere umfasst das System 100 eine 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.
  • Die Erfassungssteuerung 140 ist als geeignete Rechenvorrichtung implementiert, wie z. B. ein oder mehrere Einplatinen-Mikrocontroller (z. B. Raspberry Pi™). In anderen Beispielen kann die Steuerung 140 als Desktop-Computer, Laptop-Computer, Tablet-Computer o. Ä. implementiert sein. Die Erfassungssteuerung 140 ist so konfiguriert, dass sie Steuersignale zur Übertragung an die Kameras 116 erzeugt, einschließlich Befehlen zum Wechseln zwischen den oben erwähnten Dimensionierungs- und Kollisionserfassungsmodi. Solche Befehle umfassen einen synchronen Auslösebefehl, der als Reaktion auf ein an der Steuerung 140 empfangenes Objekterfassungssignal erzeugt wird.
  • Das Objekterfassungssignal wird im vorliegenden Beispiel von einem Bewegungssensor 144 erzeugt, der so konfiguriert ist, dass er die Ankunft des Pakets 104 an einer Erfassungsposition im Erfassungsvolumen erkennt. Der Bewegungssensor 144 umfasst eine beliebige geeignete Bewegungserkennungsvorrichtung, wie z. B. eine Lidar (Light Detection and Ranging)-Vorrichtung, einen Ultraschallsensor, eine weitere Kamera und einen zugehörigen Bildprozessor, die so konfiguriert sind, dass sie die Anwesenheit des Pakets 104 erkennen, 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 Netzschalter 148, der mit der Erfassungssteuerung 140 verbunden ist. Der Netzschalter 148 ist im vorliegenden Beispiel ein manuell bedienbarer Schalter, der so konfiguriert ist, dass er die Steuerung 140 veranlasst, Steuerbefehle zum Ein- oder Ausschalten an die Kameras 116 zu senden. Die Steuerung 140 kann auch so konfiguriert sein, dass sie den Bewegungssensor 144 in Reaktion auf die Betätigung des Netzschalters 148 ein- oder ausschaltet. In anderen Ausführungsformen kann der Netzschalter 148 weggelassen oder durch einen Softschalter ersetzt werden, der in einer von der Steuerung 140 ausgeführten Software implementiert ist und über die Betätigung einer Eingabevorrichtung (z. B. einer Tastatur, eines Touchscreens, eines Mikrofons oder dergleichen) bedient wird.
  • Das System 100 umfasst außerdem ein oder mehrere Ausgabevorrichtungen, die so konfiguriert sind, dass sie als Reaktion auf die Erkennung einer potenziellen Kollision durch den Server 112 Warnsignale erzeugen. Beispielsweise umfasst das System 100 wie dargestellt eine Warnleuchte 152 und einen Lautsprecher 156, die mit dem Netzwerk 110 verbunden sind. In anderen Ausführungsformen sind eine oder beide, die Warnleuchte 152 und der Lautsprecher 156, direkt mit dem Server 112 verbunden (z. B. über USB, Bluetooth™ oder eine andere geeignete lokale Kommunikationsverbindung).
  • In 2 sind bestimmte Komponenten des Systems 100 in einem Beispieleinsatz dargestellt. Das in 2 dargestellte Einsatzbeispiel 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 wird, ist der Abstand der Kameras 116 innerhalb jeder Gruppe 200 kleiner als der Abstand zwischen benachbarten Gruppen 200.
  • Die Kameras 116 werden von einer Tragstruktur 204 getragen (z. B. um den Umfang der Tragstruktur 204), wie z. B. einem im Wesentlichen ringförmigen Rahmen, der von einer Decke (nicht dargestellt) der Einrichtung, in der das System 100 eingesetzt wird, abgehängt werden kann. Es kann auch eine Vielzahl anderer Tragstrukturen verwendet werden, um die Kameras 116 zu tragen, einschließlich diskreter Tragstrukturen für jede Gruppe 200 oder für jede Kamera 116. In anderen Ausführungsformen sind die Kameras 116 gleichmäßig um die Tragstruktur 204 verteilt. In weiteren Ausführungsformen kann eine andere Anzahl von Kameras 116 eingesetzt werden. Beispielsweise können bei einem anderen Einsatz zwölf Kameras 116 verwendet werden, die in drei Vierergruppen oder vier Dreiergruppen um die Tragstruktur 204 angeordnet sind.
  • Die Kameras 116 sind 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 einer Erfassungsposition 210 innerhalb des Erfassungsvolumens 208 (z. B. liegt jede Position an der Erfassungsposition 210 innerhalb des Sichtfelds von mindestens zwei Kameras 116). Im vorliegenden Beispiel ist die Erfassungsposition 210 als ein Volumen mit einer Höhe, einer Breite und einer Länge von jeweils etwa acht Fuß definiert, in anderen Ausführungsformen können die Kameras 116 so angeordnet sein, dass sie verschiedene andere Erfassungspositionen umfassen, z. B. in Abhängigkeit von der Größe des zu erfassenden Pakets 104. Das Erfassungsvolumen 208 ist, wie in 2 ersichtlich, größer als die Erfassungsposition (d. h. die Erfassungsposition ist ein Teilvolumen des Erfassungsvolumens 208). Die Kameras 116 können eine reduzierte Abdeckung des Erfassungsvolumens 208 im Vergleich zur Erfassungsposition 210 bieten. Vorzugsweise liegt jedoch jede Position im Erfassungsvolumen 210 innerhalb des Sichtfelds mindestens einer der Kameras 116.
  • Das Paket 104 kann durch das Erfassungsvolumen 208 transportiert werden, z. B. auf einem Fahrzeug wie einem Gabelstapler 212 oder über einen anderen geeigneten Fortbewegungsmechanismus (z. B. ein Förderband oder Ähnliches). Der Bewegungssensor 144 wird daher, wie in 2 dargestellt, auf dem Weg eingesetzt, auf dem das Paket 104 transportiert wird, um die Ankunft des Pakets 104 an der vordefinierten Erfassung 210 innerhalb des Erfassungsvolumens 208 zu erkennen. Bei Ankunft des Pakets 104 an der Erfassungsposition 210 ist der Bewegungssensor 144 so konfiguriert, dass er das oben erwähnte Erfassungssignal erzeugt.
  • Vor einer detaillierten Erörterung der Funktionsweise des Systems 100 werden bestimmte interne Komponenten des Servers 112 und der Steuerung 140 unter Bezugnahme auf die 3A und 3B erörtert.
  • Unter Bezugnahme auf 3A sind bestimmte interne Komponenten des Servers 112 dargestellt. Der Server 112 umfasst eine zentrale Prozessoreinheit (CPU), auch als Prozessor 300 bezeichnet, 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 j eweils eine oder mehrere integrierte Schaltungen (ICs).
  • Der Server 112 enthält auch eine Kommunikationsschnittstelle 308, die es dem Server 112 ermöglicht, über das Netzwerk 110 Daten mit anderen Rechenvorrichtungen, wie z. B. dem Dimensionierungsserver 108, auszutauschen. Die Kommunikationsschnittstelle 308 umfasst daher jede geeignete Hardware (z. B. Sender, Empfänger, Netzwerkschnittstellensteuerungen und dergleichen), die es dem Server 112 ermöglicht, über das Netzwerk 110 zu kommunizieren.
  • Der Server 112 umfasst außerdem eine Eingabe-/Ausgabeschnittstelle 312, die auch als lokale Kommunikationsschnittstelle bezeichnet werden kann und es dem Server 112 ermöglicht, Daten mit Vorrichtungen wie den Kameras 116 auszutauschen. Im vorliegenden Beispiel umfasst die Schnittstelle 312 eine USB-Schnittstelle, die mit dem Hub 136 verbunden ist. Andere geeignete Schnittstellentechnologien können ebenfalls für die Schnittstelle 312 verwendet werden, einschließlich Ethernet, Wi-Fi, Thunderbolt™ und dergleichen).
  • Der Server 112 kann auch Eingabevorrichtungen (z. B. eine Tastatur, eine Maus, ein Mikrofon oder Ähnliches) und Ausgabevorrichtungen (z. B. eine Anzeige, einen Lautsprecher oder Ähnliches) enthalten, die nicht dargestellt sind. Die Komponenten des Servers 112 sind durch Kommunikationsbusse (nicht dargestellt) miteinander verbunden und werden durch eine Batterie oder eine andere Stromquelle über die oben erwähnten Kommunikationsbusse oder durch separate Strombusse (nicht dargestellt) mit Strom versorgt.
  • Der Speicher 304 des Servers 112 speichert eine Vielzahl von Anwendungen, die jeweils eine Vielzahl von computerlesbaren Anweisungen enthalten, die vom Prozessor 300 ausgeführt werden können. Die Ausführung der oben erwähnten Anweisungen durch den Prozessor 300 veranlasst den Server 112, bestimmte Funktionen zu implementieren, wie hierin erläutert. Die Anwendungen werden daher in der folgenden Diskussion als derart konfiguriert betrachtet, dass sie diese Funktionalität ausführen. Im vorliegenden Beispiel speichert der Speicher 304 des Servers 112 eine Überwachungsanwendung 316, eine Punktwolkengeneratoranwendung 320 und eine Kollisionserfassungsanwendung 322 (hier auch einfach als die Anwendungen 316, 320 bzw. 322 bezeichnet).
  • Der Server 112 ist so konfiguriert, dass er über die Ausführung der Anwendung 316 durch den Prozessor 300 den Inhalt eines ersten gemeinsamen Bildspeichers 324 im Speicher 304 (z. B. einer Datenbank, eines Ordners oder dergleichen) auf Änderungen überwacht und die Punktwolkengeneratoranwendung 320 veranlasst, die Punktwolkenerzeugung auf der Grundlage des Inhalts des Speichers 324 einzuleiten, wenn Änderungen erkannt werden. Die Anwendung 320 ist eine geeignete Punktwolkengeneratoranwendung, wie z. B. Agisoft PhotoScan. Der Server 112 ist ferner so konfiguriert, dass er über die Ausführung der Kollisionserfassungsanwendung 322 potenzielle Kollisionen im Erfassungsvolumen 208 erkennt, indem er Bilder in einem zweiten Bildspeicher 326 vergleicht, an den die Kameras 116 Bilder im Kollisionserfassungsmodus übertragen können.
  • Die Anwendungen 316, 320 und 322 können in anderen Beispielen als eine einzige Anwendung, zwei Anwendungen oder als mehr als drei Anwendungen implementiert sein. In anderen Beispielen ist der Prozessor 300, wie er durch die Ausführung der Anwendungen 316, 320 und 322 konfiguriert ist, als ein oder mehrere spezifisch konfigurierte Hardwareelemente implementiert, wie z. B. feldprogrammierbare Gate-Arrays (FPGAs) und/oder anwendungsspezifische integrierte Schaltungen (ASICs).
  • In 3B sind bestimmte interne Komponenten der Steuerung 140 dargestellt. Die Steuerung 140 umfasst eine zentrale Prozessoreinheit (CPU), auch als Prozessor 350 bezeichnet, die mit einem nicht transitorischen, computerlesbaren Speichermedium, wie z. B. einem Speicher 354, verbunden ist. Der Speicher 354 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 350 und der Speicher 354 umfassen jeweils eine oder mehrere integrierte Schaltungen (ICs).
  • Die Steuerung 140 umfasst außerdem eine Eingabe-/Ausgabeschnittstelle 358, die es der Steuerung 140 ermöglicht, Daten mit Vorrichtungen wie den Kameras 116 und dem Bewegungssensor 144 auszutauschen. Im vorliegenden Beispiel umfasst die Schnittstelle 358 eine Reihe von GPIO-Pins (GPIO = General Purpose Input/Output) (z. B. mindestens einen Satz von 40 GPIO-Pins). Die Schnittstelle 358 kann auch einen oder mehrere USB-Anschlüsse oder Ähnliches enthalten. Ein erster Abschnitt 360 der Schnittstelle 358 (z. B. eine erste Teilmenge der GPIO-Pins) ist mit dem Netzschalter 148 verbunden. Ein zweiter Abschnitt 362 der Schnittstelle 358 (z. B. eine zweite Teilmenge der GPIO-Pins oder ein USB-Anschluss) ist mit dem Bewegungssensor 144 verbunden. Ein dritter Abschnitt 364 der Schnittstelle 358 (z. B. eine dritte Teilmenge der GPIO-Pins) ist mit den Kameras 116 verbunden. Das heißt, der dritte Abschnitt 364 stellt Verbindungen zwischen der Steuerung 140 und dem Steuersegment 132 von jedem Doppelverbinder 120 her. Im vorliegenden Beispiel stellt der dritte Abschnitt 364 also sechzehn Verbindungen (zu jeder der sechzehn Kameras 116) her, wobei jede Verbindung eine ausreichende Anzahl von Kontakten (z. B. GPIO-Pins) aufweist, um die unten ausführlicher beschriebenen Befehle an die Kameras 116 zu übertragen.
  • Die Steuerung 140 kann auch eine weitere Kommunikationsschnittstelle (nicht dargestellt) enthalten, die eine geeignete Kombination von Sendern, Empfängern, Netzwerkschnittstellensteuerungen und dergleichen enthält und es der Steuerung 140 ermöglicht, mit anderen Rechenvorrichtungen zu kommunizieren, z. B. über das Netzwerk 110.
  • Die Steuerung 140 kann auch Eingabevorrichtungen (z. B. eine Tastatur, eine Maus, ein Mikrofon o. Ä.) und Ausgabevorrichtungen (z. B. eine Anzeige, einen Lautsprecher o. Ä.) enthalten, die nicht dargestellt sind. Die Komponenten der Steuerung 140 sind über Kommunikationsbusse (nicht dargestellt) miteinander verbunden und werden über eine Batterie oder eine andere Stromquelle, über die oben erwähnten Kommunikationsbusse oder über separate Strombusse (nicht dargestellt) mit Strom versorgt.
  • Der Speicher 354 der Steuerung 140 speichert eine Vielzahl von Anwendungen, die jeweils eine Vielzahl von computerlesbaren Anweisungen enthalten, die vom Prozessor 350 ausgeführt werden können. Die Ausführung der oben erwähnten Befehle durch den Prozessor 350 veranlasst die Steuerung 140, eine bestimmte Funktionalität zu implementieren, wie hierin erläutert. Die Anwendungen werden daher in der folgenden Diskussion als so konfiguriert betrachtet, dass sie diese Funktionalität ausführen. Im vorliegenden Beispiel speichert der Speicher 354 der Steuerung 140 eine Erfassungssteuerungsanwendung 368 (hier auch als Anwendung 368 bezeichnet).
  • Die Steuerung 140 ist so konfiguriert, dass sie über die Ausführung der Anwendung 368 durch den Prozessor 350 Objekterfassungssignale vom Bewegungssensor 144 empfängt und als Reaktion darauf die Kameras 116 gemäß einem von einem Kollisionserfassungsmodus und einem Dimensionierungsmodus steuert, um Bilder zu erfassen und die Bilder an den Server 112 zur Speicherung im Speicher 324 (im Dimensionierungsmodus) oder im Speicher 326 (im Kollisionserfassungsmodus) und zur anschließenden Verarbeitung zu übertragen.
  • In anderen Beispielen kann die Anwendung 368 als eine Vielzahl von logisch unterschiedlichen Anwendungen implementiert sein. In anderen Beispielen ist der Prozessor 350, wie er durch die Ausführung der Anwendung 368 konfiguriert ist, als ein oder mehrere spezifisch konfigurierte Hardwareelemente, wie z. B. feldprogrammierbare Gate-Arrays (FPGAs) und/oder anwendungsspezifische integrierte Schaltungen (ASICs), implementiert.
  • In 4 ist nun ein Verfahren 400 zur Datenerfassung für die Objektdimensionierung dargestellt. Das Verfahren 400 wird in Verbindung mit seiner Durchführung im System 100 beschrieben, wie oben im Zusammenhang mit den 1, 2 und 3A-3B beschrieben. Insbesondere veranschaulicht das Verfahren 400 Aktionen, die von der Erfassungssteuerung 140 und dem Server 112 durchgeführt werden, um Bilder eines Pakets 104 innerhalb des Erfassungsvolumens 208 zu erfassen und eine Punktwolke zu erzeugen, die das Paket 104 zur Übertragung an den Dimensionierungsserver 108 repräsentiert.
  • Ab Block 405 ist die Steuerung 140 so konfiguriert, dass sie über die Ausführung der Anwendung 368 die Kameras 116 und den Bewegungssensor 144 initialisiert. Beispielsweise ist die Steuerung 140 so konfiguriert, dass sie eine Aktivierung des Netzschalters 148 erkennt (z. B. über den ersten Abschnitt 360 der Schnittstelle 358) und als Reaktion darauf Einschaltbefehle an den Bewegungssensor 144 (z. B. über den zweiten Abschnitt 362 der Schnittstelle 358) und jede der Kameras 116 (z. B. über den dritten Abschnitt 364 der Schnittstelle 358) sendet.
  • In Block 410 ist der Server 112 so konfiguriert, dass er die Ausführung der Überwachungsanwendung 316, der Punktwolkengeneratoranwendung 320 und der Kollisionserfassungsanwendung 322 initiiert. Die Initiierung der Ausführung der Punktwolkengeneratoranwendung 320 kann das Laden von Kalibrierungsdaten umfassen, die mit den Kameras 116 korrespondieren. Die Kalibrierungsdaten definieren die physischen Positionen und Ausrichtungen (z. B. Neigung, Drehung und Gieren) der Kameras 116 relativ zu einem vordefinierten Referenzrahmen (z. B. einem Koordinatensystem, das das Erfassungsvolumen 208 repräsentiert).
  • Der Server 112 kann auch so konfiguriert sein, dass er in Block 410 zusammen mit dem Starten der Ausführung der Anwendung 320 den ersten gemeinsamen Speicher 324 initialisiert. Genauer gesagt kann der Server 112 so konfiguriert werden, dass er den Speicher 324 mit einem anfänglichen Satz von Bildern füllt, die das Erfassungsvolumen 208 repräsentieren. Der anfängliche Satz von Bildern kann das Erfassungsvolumen 208 in Abwesenheit eines Pakets 104 repräsentieren. Es können verschiedene Mechanismen implementiert werden, um den Speicher 324 zu initialisieren. Beispielsweise kann ein statischer anfänglicher Satz von Bildern im Speicher 304 gespeichert werden, und im Block 410 kann der Server 112 so konfiguriert werden (z. B. über die Ausführung der Anwendung 320), dass er den Inhalt des Speichers 324 löscht und eine Kopie des anfänglichen Satzes von Bildern in den Speicher schreibt. In einem anderen Beispiel kann die Steuerung 140 so konfiguriert werden, dass sie bei Erkennung einer Aktivierung des Netzschalters 148 nicht nur einen Einschaltbefehl an die Kameras 116 sendet, sondern auch einen Auslösebefehl an die Kameras 116 sendet, wodurch die Kameras 116 veranlasst werden, einen anfänglichen Satz von Bildern zu erfassen und den anfänglichen Satz von Bildern an den Server 112 zur Speicherung im Speicher 324 zu übertragen.
  • Wenn der Speicher 324 in Block 410 initialisiert wird, kann der Server 112 auch so konfiguriert werden, dass er eine anfängliche Punktwolke basierend auf dem anfänglichen Satz von Bildern im Speicher 324 erzeugt. Die Erzeugung einer Punktwolke aus einem Satz zweidimensionaler Bilder wird nach jedem geeigneten konventionellen Mechanismus durchgeführt und wird hier nicht im Detail erläutert. Die anfängliche Punktwolke wird, wenn sie erzeugt ist, im Speicher 304 (z. B. im Speicher 324) abgelegt. Die Initialisierung des Speichers 324 und die Erzeugung einer anfänglichen Punktwolke, wie oben beschrieben, kann die Erzeugung von Punktwolkendaten, die Pakete 104 repräsentieren, später bei der Durchführung des Verfahrens 400 beschleunigen. Beispielsweise kann die Anwendung 320 so konfiguriert sein, dass sie nachfolgende Punktwolkendaten erzeugt, indem sie Abschnitte von nachfolgenden Bildsätzen erkennt, die mit der anfänglichen Punktwolke übereinstimmen, und korrespondierende Abschnitte der anfänglichen Punktwolke wiederverwendet. In anderen Ausführungsformen kann die Initialisierung des Speichers 324 und die Erzeugung einer anfänglichen Punktwolke in Block 410 entfallen.
  • In Block 412, nachdem die Kameras 116 und der Bewegungssensor 144 initialisiert wurden, ist die Steuerung 140 so konfiguriert, dass sie mindestens eine Teilmenge der Kameras 116 im Kollisionserfassungsmodus aktiviert. Wie oben erwähnt, sind die Kameras 116 im Kollisionserfassungsmodus so konfiguriert, dass sie entsprechende Bildsequenzen erfassen. Das heißt, jede Kamera 116 der oben erwähnten Teilmenge ist so konfiguriert, dass sie eine Vielzahl von Bildern in Folge erfasst. Die Teilmenge der Kameras 116, die im Kollisionserfassungsmodus in Block 412 aktiviert wird, ist vorkonfiguriert, z. B. als ein Satz von Kamerakennungen im Speicher 354. Im vorliegenden Beispiel umfasst die in Block 412 aktivierte Teilmenge von Kameras 116 mindestens vier der Kameras 116 (z. B. eine Kamera 116 aus jeder der in 2 dargestellten Gruppen 200). Teilmengen mit einer anderen Anzahl von Kameras 116 sind ebenfalls denkbar, bis hin zu allen Kameras 116.
  • Beispielsweise kann jede Kamera 116 der Teilmenge so konfiguriert werden, dass sie eine Bildsequenz mit einer Rate von dreißig Bildern pro Sekunde erfasst, obwohl nun deutlich wird, dass die Kameras 116 auch so konfiguriert werden können, dass sie Bilder mit anderen geeigneten Bildraten erfassen, einschließlich solcher unter dreißig (z. B. zwanzig Bilder pro Sekunde) und solcher über dreißig (z. B. 150 Bilder pro Sekunde).
  • Die Aktivierung der Teilmenge von Kameras 116 in Block 412 durch die Steuerung 140 umfasst die Übertragung eines Befehls von der Steuerung 140 an jede Kamera 116 der Teilmenge, wodurch die Kamera veranlasst wird, die erfasste Bildsequenz an den zweiten Speicher 326 auf dem Server 112 zu übertragen, anstatt an den ersten Speicher 324. Beispielsweise kann die Steuerung 140 so konfiguriert sein, dass sie einen Befehl an jede Kamera 116 in der Teilmenge sendet, einschließlich einer Pfadkennung (z. B. einen Uniform Resource Locator, URL oder Ähnliches), die mit dem Speicher 326 korrespondiert. Jede Kamera 116, die den Befehl empfängt, ist somit so konfiguriert, dass sie alle erfassten Bilder an den Speicher 326 überträgt. Die Steuerung 140 kann auch so konfiguriert werden, dass sie andere Mechanismen einsetzt, um die Kameras 116 zu veranlassen, Bilder an den Speicher 326 zu übertragen. Beispielsweise kann die Steuerung 140 so konfiguriert werden, dass sie einen Befehl an die Kameras 116 der Teilmenge sendet, um Bilder über eine andere Ausgabeschnittstelle als die Doppelverbinder 120 zu übertragen. Die andere Ausgabeschnittstelle kann z. B. eine Hochauflösungs-Multimedia (High-Definition-Multimedia-Interface, HDMI)-Verbindung zwischen jeder Kamera 116 und dem Server 112 sein, wie weiter unten noch näher erläutert wird.
  • In Block 412 kann die Steuerung 140 auch so konfiguriert werden, dass sie einen Befehl an jede Kamera 116 der Teilmenge sendet, der die Kamera 116 veranlasst, zwischen einem Einzelbild-Erfassungsmodus und einem kontinuierlichen Erfassungsmodus zu wechseln. In einem Einzelbild-Erfassungsmodus erfasst jede Kamera 116 als Reaktion auf einen einzelnen Auslösebefehl ein einzelnes Bild. In einem kontinuierlichen Erfassungsmodus hingegen ist jede Kamera 116 so konfiguriert, dass sie einen kontinuierlichen Strom von Bildern erfasst (z. B. mit der oben erwähnten Bildrate), ohne dass für jedes Bild aufeinanderfolgende Auslösebefehle erforderlich sind. Daher kann die Steuerung 140 in Block 412 an jede Kamera 116 der Teilmenge (z. B. über die Doppelverbinder 120) einen Befehl zum Umschalten von Einzelerfassung auf kontinuierliche Erfassung (die auch als Videoaufnahme-Modus bezeichnet werden kann) senden.
  • In anderen Beispielen kann die Steuerung 140 so konfiguriert werden, dass sie nicht wie oben beschrieben die Aufnahmemodi der Kameras 116 wechselt, sondern eine Sequenz von Auslösebefehlen an jede Kamera 116 überträgt, so dass die Kameras Bildsequenzen erfassen, während sie in einem einzigen Erfassungsmodus bleiben. In noch weiteren Beispielen kann die Steuerung 140 einen Bildratenparameter an die Kameras 116 übertragen (z. B. um die Bildrate für den Kollisionserfassungsmodus auf dreißig einzustellen), wodurch die Kameras 116 veranlasst werden, eine Sequenz von Bildern mit der angegebenen Bildrate zu erfassen. Der Bildratenparameter kann im Speicher 354 gespeichert und während der Initialisierung in Block 405 abgerufen werden. Die obige Implementierung, bei der die Kameras 116 im gleichen Erfassungsmodus verbleiben, anstatt von einem Einzelbild-Erfassungsmodus zu einem kontinuierlichen Erfassungsmodus zu wechseln, kann besonders für Kameras 116 geeignet sein, die Einzelbilder mit Bildraten von mehr als etwa 20 Bildern pro Sekunde erfassen können. Beispiele für solche Kameras sind mit Globalauslöser (Global Shutter) ausgestattete Flächenscankameras (im Gegensatz zu den oben erwähnten DLSR-Kameras, die typischerweise rollende Auslöser (Rolling Shutter) enthalten).
  • Wie aus den 1 und 4 ersichtlich ist, wird der Server 112 nicht direkt über die Aktivierung der Teilmenge der Kameras 116 im Kollisionserfassungsmodus informiert. Der Server 112 ist so konfiguriert, dass er über die Ausführung der Kollisionserfassungsanwendung 322 den Inhalt des zweiten Speichers 326 überwacht und dadurch das Hinzufügen von Bildern zum Speicher 326 erkennt. Der Server 112 ist daher so konfiguriert, dass er in Block 413 nach der Aktivierung der Kameras 116 im Kollisionserfassungsmodus durch die Steuerung 140 die resultierenden Bildsequenzen (z. B. vier Videodateien, die jeweils von einer der Kameras 116 erfasst wurden) im Speicher 326 erkennt. Der Server 112 ist ferner so konfiguriert, dass er aus dem Inhalt des Speichers 326 bestimmt, ob die von den Kameras 116 erfassten Bildsequenzen eine potenzielle Kollision innerhalb des Erfassungsvolumens 208 anzeigen.
  • In Block 413 kann der Server 112 (über die Ausführung der Kollisionserfassungsanwendung 322) konfiguriert werden, um benachbarte Bilder in jeder Sequenz zu vergleichen, um die Bestimmung durchzuführen. Beispielsweise kann der Server 112 so konfiguriert werden, dass er eine Objekterkennungsoperation an jedem Bild in der Sequenz durchführt, um ein oder mehrere Objekte zu identifizieren, die in mindestens zwei Bildern der Sequenz erscheinen. Der Server 112 kann ferner so konfiguriert sein, dass er nach der Erkennung eines Objekts in einer Sequenz einen Bewegungsvektor des Objekts bestimmt, der die Richtung und die Geschwindigkeit der Bewegung des Objekts auf der Grundlage der Position des Objekts innerhalb der Bildsequenz definiert.
  • Der Server 112 ist daher so konfiguriert, dass er in Block 413 Bewegungsvektoren für alle sich bewegenden Objekte innerhalb des Erfassungsvolumens erkennt und bestimmt. Nach der Durchführung der Objekterkennung und der Bestimmung der Bewegungsvektoren ist der Server 112 dann so konfiguriert, dass er bestimmt, ob eines der Objekte gemäß den entsprechenden Bewegungsvektoren innerhalb eines vorgegebenen Zeitraums (z. B. innerhalb der nächsten fünf Sekunden) kollidieren wird, wenn die Objekte ihre aktuellen Bewegungsvektoren beibehalten.
  • Bezugnehmend auf 5A ist eine Bildsequenz (z. B. eine Vielzahl von Einzelbildern oder ein Videostrom) 500-1 dargestellt, die von der Kamera 116-1 an den Speicher 326 übertragen wird, während eine andere Bildsequenz 500-8 dargestellt ist, die von der Kamera 116-8 an den Speicher 326 übertragen wird. 5B zeigt eine schematische Draufsicht auf das Erfassungsvolumen 208, wie es in den Sequenzen 500-1 und 500-8 dargestellt ist. Insbesondere hat der Server 112, wie in 5B gezeigt, ein erstes Objekt (z. B. einen Gabelstapler o. Ä.) 502-1 aus der Sequenz 500-1 und ein weiteres Objekt (z. B. einen weiteren Gabelstapler o. Ä.) 502-8 aus der Sequenz 500-8 identifiziert. In anderen Beispielen kann der Server 112 so konfiguriert sein, dass er Objekte über mehrere Bildsequenzen hinweg identifiziert. Dem Fachmann werden verschiedene geeignete Mechanismen zur Objekterkennung und Bewegungsvektorerzeugung aus Bildsequenzen einfallen. Beispiele für solche Mechanismen sind die Objekterkennung auf der Grundlage von Merkmalen wie einem Histogramm of Oriented Gradients (HOG) und dergleichen.
  • Die jeweiligen Bewegungsvektoren 504-1 und 504-8 werden vom Server 112 ermittelt, z. B. aus den vorherigen Positionen 508-1 und 508-8 der Objekte 502-1 und 502-8, wie sie in den Bildsequenzen 500-1 und 500-8 dargestellt sind. Wie aus den Bewegungsvektoren 504-1 und 504-8 ersichtlich, bewegen sich die Objekte 500 und 504 beide in das Erfassungsvolumen 208 hinein, wobei sich das Objekt 502-8 mit einer größeren Geschwindigkeit bewegt als das Objekt 502-1. Wenn also beide Objekte die Bewegungsvektoren 504-1 und 504-8 beibehalten, kommt es an der Stelle 516 zu einer Kollision. Die Bestimmung in Block 413 ist daher im vorliegenden Beispiel positiv.
  • Zurück zu 4 ist als Reaktion auf eine positive Bestimmung in Block 413 der Server 112 in Block 414 so konfiguriert, dass er ein Warnsignal erzeugt. Die Erzeugung eines Warnsignals kann die Aktivierung der Leuchte 152 (z. B. zum Blinken) oder des Lautsprechers 156 (z. B. zum Abspielen eines Sirenentons) oder beider beinhalten. Die Erzeugung eines Warnsignals kann auch die Übertragung einer Nachricht (z. B. einer SMS-Nachricht oder dergleichen) vom Server 112 an eine mit einem oder beiden Objekten 502 verbundene Computervorrichtung umfassen. Beispielsweise kann der Server 112 so konfiguriert sein, dass er eine Kennung jedes Objekts 502 erkennt (z. B. können Gabelstapler oder andere Fahrzeuge so konfiguriert sein, dass sie Fahrzeugkennungen aussenden oder anderweitig übertragen) und eine Nachricht an einen mobilen Computer übermittelt, der an oder in jedem Gabelstapler angebracht ist und vor der möglichen Kollision warnt. Dem Fachmann werden auch verschiedene andere Warnsignale einfallen. Nach der Ausführung von Block 414 kehrt der Server 112 zu Block 413 zurück, um die Überwachung auf Kollisionen fortzusetzen. Wenn die Bestimmung in Block 413 negativ ist, geht der Server 112 zu Block 425 über, der weiter unten ausführlicher erläutert wird.
  • In Block 415, nach Aktivierung des Kollisionserfassungsmodus in Block 412, ist die Steuerung 140 so konfiguriert, dass sie bestimmt, ob ein Objekterfassungssignal vom Bewegungssensor 144 empfangen wurde, das die Anwesenheit eines Objekts (z. B. des Pakets 104) an der Erfassungsposition 210 innerhalb des Erfassungsvolumens 208 anzeigt. Unter kurzer Bezugnahme auf 2 wird ein solches Erfassungssignal vom Bewegungssensor 144 erzeugt, wenn das Paket 104 den vom Bewegungssensor 144 ausgesandten Lichtstrahl (z. B. Laser, IR oder dergleichen) unterbricht. In einigen Beispielen kann die Funktionalität des Bewegungssensors durch den Server 112 über die Ausführung der Kollisionserfassungsanwendung 322 implementiert werden. Insbesondere kann der von der Kollisionserfassungsanwendung 322 implementierte Objekterfassungsmechanismus eingesetzt werden, um bestimmte Arten von Objekten (z. B. rechteckige Kästen innerhalb vordefinierter Größenschwellen) zu erkennen. Als Reaktion auf die Identifizierung eines Objekts an einer vordefinierten Position innerhalb des Erfassungsvolumens 208 (z. B. innerhalb des Untervolumens, das mit der Erfassungsposition 210 korrespondiert) kann der Server 112 so konfiguriert werden, dass er ein Erfassungssignal an die Steuerung 140 sendet.
  • Wenn die Bestimmung in Block 415 negativ ist, ist die Steuerung 140 so konfiguriert, dass sie die Ausführung von Block 415 wiederholt. Wie nun ersichtlich wird, arbeiten die Kameras 116, die in Block 412 im Kollisionserfassungsmodus aktiviert wurden, während der Ausführung von Block 415 weiterhin im Kollisionserfassungsmodus. Das heißt, die Kollisionserfassungsfunktionalität des Systems 100 kann parallel zur Bestimmung, ob ein Dimensionierungsvorgang eingeleitet werden soll, arbeiten. Wenn die Bestimmung in Block 415 jedoch positiv ist, ist die Steuerung 140 so konfiguriert, dass sie zu Block 420 übergeht.
  • In Block 420 ist die Steuerung 140 so konfiguriert, dass die Kameras 116 im Dimensionierungsmodus aktiviert werden. Im vorliegenden Beispiel werden in Block 420 alle Kameras 116 im Dimensionierungsmodus aktiviert, einschließlich derjenigen in der Teilmenge, die im Kollisionserfassungsmodus verwendet wird. Das Aktivieren der Kameras 116 im Dimensionierungsmodus umfasst das Übertragen eines Befehls von der Steuerung 140 an jede Kamera 116 (z. B. über die Doppelverbinder 120), wodurch jede Kamera 116 veranlasst wird, alle erfassten Bilder an den ersten Speicher 324 auf dem Server 112 und nicht an den zweiten Speicher 326 zu übertragen. Wie im Zusammenhang mit Block 412 erwähnt, kann die Steuerung 140 so konfiguriert werden, dass sie an jede Kamera 116 einen Befehl überträgt, der eine Pfadkennung (z. B. einen Uniform Resource Locator, URL oder ähnliches) enthält, der mit dem Speicher 324 korrespondiert. Jede Kamera 116 ist somit so konfiguriert, dass sie alle erfassten Bilder an den Speicher 324 überträgt.
  • In anderen Beispielen kann die Steuerung 140 so konfiguriert werden, dass sie andere Mechanismen verwendet, um die Kameras 116 zu veranlassen, Bilder an den Speicher 324 zu übertragen. Beispielsweise kann die Steuerung 140 so konfiguriert sein, dass sie an jede Kamera 116 einen Befehl zur Übertragung von Bildern über eine Ausgabeschnittstelle sendet, die sich von der Ausgabeschnittstelle unterscheidet, die in Verbindung mit dem Kollisionserfassungsmodus verwendet wird. Die Ausführung von Block 420 kann in solchen Beispielen das Senden eines Befehls von der Steuerung 140 an jede Kamera 116 umfassen, um die Kameras 116 zu veranlassen, Bilder über eine USB-Schnittstelle (z. B. die Segmente 124 und 128 der Doppelverbinder 120) anstelle einer HDMI-Schnittstelle zu übertragen, die zur Übertragung von Video im Kollisionserfassungsmodus verwendet wird.
  • Nachdem die Kameras 116 im Dimensionierungsmodus aktiviert wurden, ist die Steuerung 140 so konfiguriert, dass sie einen Auslösebefehl (Shutter Command) erzeugt und den Auslösebefehl an jede Kamera 116 überträgt. Genauer gesagt wird der Auslösebefehl im Wesentlichen gleichzeitig auf jedes Steuersegment 132, das mit dem dritten Abschnitt 364 der Schnittstelle 358 verbunden ist, angewendet, so dass die Kameras 116 den Auslösebefehl im Wesentlichen zur gleichen Zeit erhalten. Beispielsweise können die Kameras 116 den Auslösebefehl innerhalb eines Gesamtzeitraums von etwa 0,2 Sekunden empfangen, wie bereits erwähnt. Die Zeitspanne, in der jede Kamera 116 den Auslösebefehl empfängt, kann teilweise auf der Grundlage der Geschwindigkeit ausgewählt werden, mit der sich das Objekt 104 durch das Erfassungsvolumen bewegt (z. B. wie über den Kollisionserfassungsmodus erkannt, basierend auf einer bekannten Geschwindigkeit eines Förderbands oder Ähnlichem). Wie dem Fachmann klar sein wird, können größere Bewegungsgeschwindigkeiten des Pakets 104 erfordern, dass der Auslösebefehl an allen Kameras 116 innerhalb einer kürzeren Zeitspanne empfangen wird. Die hier erwähnten Beispielzeiträume korrespondieren mit Paketbewegungsgeschwindigkeiten von bis zu ca. 8 mph.
  • Die Art des Auslösebefehls ist abhängig von den Fähigkeiten der Kameras 116. Beispielsweise kann der Anschluss 126 jeder Kamera Kontakte für die Auslösesteuerung sowie Kontakte für den Autofokus, Kontakte für die Blitzaktivierung und Ähnliches enthalten. Die Steuersegmente 132 enthalten Leitungen, die mit den oben erwähnten Kontakten korrespondieren, und der Auslösebefehl kann daher ein Signal enthalten, das an eine oder mehrere der Leitungen angelegt wird (z. B. eine hohe Spannung, um die Aktivierung eines Auslösers, Blitzes oder dergleichen anzuzeigen, oder eine niedrige Spannung, um die Nicht-Aktivierung anzuzeigen). Im vorliegenden Beispiel umfasst der Auslösebefehl ein Auslöseaktivierungssignal und ein Autofokusaktivierungssignal, wodurch jede Kamera 116 angewiesen wird, gleichzeitig den Autofokus und den Verschluss auszulösen. In einigen Ausführungsformen kann der Auslösebefehl in Block 420 weggelassen werden. Beispielsweise können bestimmte Kameras 116 (z. B. mit Globalauslöser (Global Shutter) ausgestattete Flächenscankameras) so konfiguriert sein, dass sie in Abwesenheit von Auslösebefehlen kontinuierlich Bilder erfassen, und die Steuerung 140 kann in Block 420 nur den Befehl zur Übertragung des nächsten erfassten Bildes an den Speicher 324 senden.
  • Nachdem der Auslösebefehl erzeugt und übertragen wurde, ist die Steuerung 140 so konfiguriert, dass sie zu Block 412 zurückkehrt, in dem die oben erwähnte Teilmenge der Kameras 116 in den Kollisionserfassungsmodus zurückkehrt, bis ein nachfolgendes Erfassungssignal in Block 415 empfangen wird. Wie nun für den Fachmann ersichtlich wird, kann bei einigen Konfigurationen des Bewegungssensors 144 ein bestimmtes Paket 104 die Erzeugung von mehr als einem Erfassungssignal durch den Bewegungssensor 144 verursachen. Die Steuerung 140 kann daher so konfiguriert werden, dass sie die nächste Ausführung des Blocks 415 um eine vordefinierte Zeitspanne verzögert, damit das Paket 104 den Erfassungsbereich des Bewegungssensors 144 verlassen kann. Zum Beispiel kann die Steuerung 140 für eine Erfassungsposition 210 mit einer Länge von ca. 8 Fuß, wie oben erwähnt, und einer Bewegungsgeschwindigkeit des Pakets von ca. 8 mph so konfiguriert werden, dass sie alle Erfassungssignale ignoriert, die vom Bewegungssensor innerhalb von ca. 0,3 Sekunden nach einer Ausführung von Block 420 empfangen werden.
  • Als Reaktion auf die Ausführung von Block 420 durch die Steuerung 140 ist jede Kamera 116 bei Empfang des Auslösebefehls so konfiguriert, dass sie den Auslösebefehl 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 über das entsprechende Kamerasegment 124 und das Übertragungssegment 128 automatisch an den Server 112 überträgt. Im vorliegenden Beispiel ist der Server 112 also so konfiguriert, dass er einen synchronen Satz von Bildern zur Speicherung im Speicher 324 über den Kommunikations-Hub 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 116 erfasst wurden, trägt denselben Satz von Dateinamen. Somit überschreibt die Übertragung der erfassten Bilder in jedem synchronen Bildsatz an den Speicher 324 jeden 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 der Punktwolkengenerator 320 eine statische Liste der zu verarbeitenden Dateinamen beibehält, anstatt einen Erfassungsprozess vor der Verarbeitung jedes Satzes von Bildern durchzuführen.
  • Ein kurzer Blick auf 6 zeigt einen synchronen Satz von Bildern 600-1, 600-2, ..., 600-16 (d. h. ein Bild pro Kamera 116), die als Reaktion auf die Aktivierung des Dimensionierungsmodus und den in Block 420 erzeugten und gesendeten Auslösebefehl an den Speicher 324 übertragen werden. Wie aus 6 ersichtlich ist, stellen die Bilder 600 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 ist in Block 425 nach der oben in Verbindung mit Block 410 erläuterten Initialisierung der Server 112 so konfiguriert, dass er bestimmt, ob der Inhalt des Speichers 324 aktualisiert wurde. Wie in 1 zu sehen, erreicht der Auslösebefehl den Server 112 nicht direkt, und der Server 112 ist daher so konfiguriert, dass er indirekt erkennt, dass Bilder erfasst wurden. Insbesondere ist die Überwachungsanwendung 316 konfiguriert, um zu bestimmen, 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 sie die Zeitstempel untersucht, die mit den im Speicher 324 gespeicherten Dateien verbunden sind. Tabelle 1 veranschaulicht beispielsweise eine Auflistung des Inhalts des Speichers 324 vor der Ausfü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 Ausführung von Block 420 veranschaulicht. Tabelle 1: Ursprünglicher Inhalt des Speichers 324
    Dateiname 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 des Speichers 324
    Datei Name 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 denselben Dateinamen. In Tabelle 2 tragen jedoch alle Bilder bis auf eines („IMG_Camera_16.jpg“) einen anderen Zeitstempel als die in Tabelle 1 gezeigten. Die aktualisierten Zeitstempel deuten darauf hin, dass diese Bilder nach einer Ausführung von Block 420 durch die Steuerung 140 überschrieben wurden (was zu Bilderfassungen durch jede Kamera 116 und zur Übertragung der Bilder an den Speicher 324 führt). In Block 425 ist die Überwachungsanwendung 316 so konfiguriert, dass sie nur dann eine positive Bestimmung trifft, wenn jedes Bild überschrieben wurde (d. h. wenn ein vollständiger neuer synchroner Satz von Bildern empfangen wurde). In dem in den obigen Tabellen 1 und 2 dargestellten Beispiel ist die Bestimmung in Block 425 also negativ, bis das letzte 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 positive Bestimmung vornimmt, wenn eines der Bilder im Speicher 324 aktualisiert ist.
  • In weiteren Ausführungsformen braucht die Bestimmung in Block 425 nicht auf der Erkennung von Zeitstempelaktualisierungen beruhen. In Ausführungsformen, in denen die Bilder nicht mit statischen Dateinamen in den Speicher 324 geschrieben werden, ist die Überwachungsanwendung 316 beispielsweise so konfiguriert, dass sie bei der Erkennung neuer Dateinamen im Speicher 324 (z. B. mindestens einer neuen Datei, einer vorgegebenen Anzahl neuer Dateien oder Ähnliches) eine positive Bestimmung vornimmt. In weiteren Ausführungsformen ist der Server 112 so konfiguriert, dass er andere geeignete Metadaten untersucht, die mit den erfassten Bildern verbunden sind, um Aktualisierungen des Speichers 324 zu erkennen. Beispielsweise kann der Server 112 so konfiguriert sein, dass er in Block 425 Änderungen der Dateigrößen erkennt.
  • Wenn die Bestimmung in Block 425 negativ ist, ist der Server 112 so konfiguriert, dass er zu Block 413 zurückkehrt, um zu bestimmen, ob irgendwelche potenziellen Kollisionen erkannt werden. Wie nun ersichtlich wird, kann die Überwachungsanwendung 316 auch weiterhin den Speicher 324 auf Aktualisierungen in Block 425 im Wesentlichen parallel zur Durchführung von Block 413 überwachen. Wenn die Bestimmung in Block 425 positiv ausfällt, wird die Durchführung des Verfahrens 400 mit Block 430 fortgesetzt.
  • In Block 430 ist die Überwachungsanwendung 316 so konfiguriert, dass sie einen Befehl an die Punktwolkengeneratoranwendung 320 erzeugt, um die Erzeugung von Punktwolkendaten auf der Grundlage der in Block 425 erfassten Bilder zu initiieren. Die Erzeugung von Punktwolkendaten erfolgt, wie bereits erwähnt, über einen geeigneten Mechanismus zur Erzeugung von Punktwolken und wird hier nicht im Detail erläutert. 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 entsprechend einem anderen geeigneten Farbmodell) und Positionsdaten in drei Dimensionen enthalten. Die Positions- und Farbdaten für die Voxel werden aus den Bildern des synchronen Satzes auf der Grundlage der oben erwähnten Kalibrierungsdaten abgeleitet. Die Kalibrierungsdaten werden verwendet, um Positionen innerhalb des Erfassungsvolumens 208 zu bestimmen, die durch jedes 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 basierend auf den Farbdaten von einem oder mehreren Pixeln, die der dreidimensionalen Position entsprechen, zugewiesen werden.
  • Die in Block 435 erzeugten Punktwolkendaten werden im Speicher 304 gespeichert. Die Punktwolkendaten können z. B. im Speicher 324 oder in einem separaten, im Speicher 304 definierten Speicher gespeichert werden. In Beispielen, in denen eine anfängliche Punktwolke erzeugt wird, werden die in Block 435 erzeugten Punktwolkendaten getrennt von der anfänglichen Punktwolke gespeichert. Nachfolgende Ausführungen von Block 435 können jedoch dazu führen, dass Punktwolkendaten aus früheren Ausführungen von Block 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 den Dimensionierungsserver 108 übermittelt, und der Dimensionierungsserver 108 ist so konfiguriert, dass er die Darstellung des Pakets 104 in den Punktwolkendaten erkennt und die Dimensionen für das Paket 104 bestimmt. Der Dimensionierungsserver 108 kann so konfiguriert sein, dass er eine beliebige geeignete Dimensionierungsoperation oder einen Satz von Operationen anwendet, um die Dimensionen des Pakets aus der Punktwolke zu bestimmen (z. B. eine geeignete Kombination von Clustererkennungsalgorithmen wie die euklidische Clusterextraktion und Kantenerkennungsalgorithmen zur Erkennung von Kanten des Pakets in einem Cluster, wie z. B. Random Sample Consensus (RANSAC)). In anderen Beispielen wird ein Teil oder die gesamte Funktionalität des Dimensionierungsservers 108 innerhalb des Servers 112 implementiert. Zum Beispiel kann der Server 112 eine Dimensionierungsanwendung (nicht dargestellt) 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 einer mit dem Server 112 oder dem Dimensionierungsserver 108 gekoppelten Anzeige angezeigt werden oder ähnliches. Die Dimensionen können auch an eine weitere Rechenvorrichtung übermittelt werden, beispielsweise zur Ermittlung von Transport- oder Lagerpreisen, zur räumlichen Optimierungsverarbeitung oder Ähnlichem. Nach der Ausführung von Block 440 ist der Server 112 so konfiguriert, dass er zu Block 413 zurückkehrt.
  • Variationen zu den obigen Systemen und Verfahren sind denkbar. Zum Beispiel können in einigen Ausführungsformen die Doppelverbinder 120 weggelassen werden. In solchen Ausführungsformen können die Verbindungen zwischen den Kameras 116 und dem Server 112 über eine geeignete kabelgebundene (z. B. USB, Thunderbolt™) oder drahtlose (z. B. Bluetooth™, Wi-Fi) Verbindung hergestellt werden. Die 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 physische Vorrichtungen implementiert, z. B. wenn die Schnittstelle 358 einer einzigen Vorrichtung nicht über eine ausreichende Anzahl von Kontakten verfügt, um Verbindungen mit allen Kameras 116 sowie dem Netzschalter 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. Stromschaltung für die Kameras 116) mit einer zweiten Steuerung 140 verbunden sind. Die Steuerungen 140 stehen in solchen Ausführungsformen miteinander in Kommunikation, zum Beispiel ü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, z. B. mit strukturiertem Licht, das von den Kameras 116 erfasst werden kann. Wie in 7 dargestellt, kann das System 100 beispielsweise einen ersten Projektor 700-1 und einen zweiten Projektor 700-2 umfassen, die von der Tragstruktur 204 getragen werden, um das Erfassungsvolumen 208 zu beleuchten.
  • In anderen Ausführungsformen, die sich auf 8 beziehen, enthält das System 100 einen Kollisionserfassungsserver 800, der mit dem Netzwerk 110 verbunden ist. In solchen Ausführungsformen hostet der Kollisionserfassungsserver 800 den Speicher 326 und führt die Anwendung 322 aus. Das heißt, der Kollisionserfassungsserver 800 implementiert die Kollisionserfassungsfunktionalität, die oben in Verbindung mit den Blöcken 413 und 414 erläutert wurde, während der Bildverarbeitungsserver 112 die Punktwolkenerzeugung für die Dimensionierung implementiert, wie oben in Verbindung mit den Blöcken 425-440 erläutert.
  • In weiteren Ausführungsformen, die sich auf 9 beziehen, können die Kameras 116, wie oben erwähnt, über mehr als eine Schnittstelle mit dem Server 112 und/oder dem Server 800 verbunden sein. Insbesondere umfasst das System 100, wie in 9 dargestellt, einen sekundären Kommunikations-Hub 900, wie z. B. einen Tastatur-, Video- und Maus (KVM)-Schalter oder Ähnliches, mit einer Vielzahl von Videoeingängen, wie z. B. HDMI-Eingängen zum Empfangen von Videoanschlüssen 904-1, 904-2, ... 904-n von den Kameras 116. Der Hub 900 kann mit einer E/A-Schnittstelle (z. B. einem USB-Anschluss oder dergleichen) verbunden sein. In solchen Ausführungsformen können, wie bereits erwähnt, die Kameras 116 so gesteuert werden, dass sie Bilder an den Speicher 324 oder den Speicher 326 übertragen, indem der Erfassungsmodus gewechselt wird. Beispielsweise kann der Videoerfassungsmodus der Kameras 116 so konfiguriert werden, dass die Bilder über den HDMI-Ausgang übertragen werden, wodurch die Bilder über den Hub 900 an den Server 800 übertragen werden. Die Kameras 116 können außerdem so konfiguriert werden, dass sie Bilder im Einzelbilderfassungsmodus über USB übertragen, wodurch die Bilder über den Hub 136 an den Server 112 übertragen werden.
  • 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 (23)

  1. Doppelmodus-Datenerfassungssystem, umfassend: eine Vielzahl von Kameras, die so angeordnet sind, dass sie ein Erfassungsvolumen betrachten; einen Bewegungssensor, der so konfiguriert ist, dass er ein Erfassungssignal als Reaktion auf das Erfassen eines Objekts an einer Erfassungsposition innerhalb des Erfassungsvolumens erzeugt; eine Erfassungssteuerung, die mit dem Bewegungssensor verbunden ist und konfiguriert ist zum: Aktivieren mindestens einer Teilmenge der Vielzahl von Kameras in einem Kollisionserfassungsmodus, wodurch die Teilmenge der Kameras veranlasst wird, entsprechende Bildsequenzen des Erfassungsvolumens zu erfassen; Aktivieren der Vielzahl von Kameras in einem Dimensionierungsmodus als Reaktion auf das Empfangen des Erfassungssignals, wodurch jede Kamera veranlasst wird, ein entsprechendes Bild eines synchronen Satzes von Bildern der Erfassungsposition zu erfassen; einen Kollisionsdetektor, der mit mindestens der Teilmenge von Kameras verbunden ist und konfiguriert ist zum: Empfangen der entsprechenden Bildsequenzen; Bestimmen, ob die entsprechenden Bildsequenzen von mindestens der Teilmenge der Vielzahl von Kameras eine potenzielle Kollision eines oder mehrerer Objekte im Erfassungsvolumen anzeigen; und Erzeugen einer Warnung als Reaktion auf die Erkennung der potenziellen Kollision; und einen Punktwolkengenerator, der mit jeder der Vielzahl von Kameras verbunden ist und so konfiguriert ist, dass er den synchronen Satz von Bildern von den Kameras empfängt und basierend auf dem synchronen Satz von Bildern eine Punktwolke erzeugt, die das Objekt repräsentiert, wobei die Dimensionen des Objekts basierend auf der Punktwolke bestimmt werden.
  2. Doppelmodus-Datenerfassungssystem nach Anspruch 1, wobei die Erfassungssteuerung ferner so konfiguriert ist, dass sie nach Aktivierung der Kameras im Dimensionierungsmodus die Teilmenge der Kameras in den Kollisionserfassungsmodus zurückversetzt.
  3. Doppelmodus-Datenerfassungssystem nach Anspruch 2, wobei der Kollisionserfassungsmodus für eine erste Zeitspanne aktiviert ist.
  4. Doppelmodus-Datenerfassungssystem nach Anspruch 3, wobei der Dimensionierungsmodus für eine zweite Zeitspanne aktiviert ist, wobei die zweite Zeitspanne kürzer ist als die erste Zeitspanne.
  5. Doppelmodus-Datenerfassungssystem nach Anspruch 1, wobei die Erfassungssteuerung ferner so konfiguriert ist, dass sie die Kameras im Dimensionierungsmodus aktiviert, um: einen Auslösebefehl zu erzeugen und im Wesentlichen gleichzeitig an jede einer Vielzahl von Kameras zu übertragen, der jede Kamera veranlasst, ein entsprechendes Bild eines synchronen Satzes von Bildern des Erfassungsvolumens zu erfassen.
  6. Doppelmodus-Datenerfassungssystem nach Anspruch 1, wobei der Punktwolkengenerator so konfiguriert ist, dass er den synchronen Satz von Bildern von den Kameras empfängt und den synchronen Satz von Bildern in einem ersten Speicher speichert.
  7. Doppelmodus-Datenerfassungssystem nach Anspruch 6, wobei der Kollisionsdetektor so konfiguriert ist, dass er die entsprechenden Bildsequenzen von der Teilmenge von Kameras empfängt und die entsprechenden Bildsequenzen in einem zweiten Speicher speichert.
  8. Doppelmodus-Datenerfassungssystem nach Anspruch 1, ferner umfassend eine Ausgabevorrichtung zum Erzeugen eines Warnsignals; wobei der Kollisionsdetektor so konfiguriert ist, dass er die Warnung durch Übertragen eines Befehls an die Ausgabevorrichtung erzeugt.
  9. Doppelmodus-Datenerfassungssystem nach Anspruch 1, wobei der Kollisionsdetektor so konfiguriert ist, dass er bestimmt, ob die entsprechenden Bildsequenzen eine potenzielle Kollision anzeigen durch: Identifizieren eines ersten Objekts und eines zweiten Objekts in den Bildsequenzen; und Bestimmen eines ersten Bewegungsvektors, der dem ersten Objekt entspricht, und eines zweiten Bewegungsvektors, der dem zweiten Objekt entspricht.
  10. Doppelmodus-Datenerfassungssystem nach Anspruch 1, wobei der Kollisionsdetektor einen Kollisionserfassungsserver umfasst, der mit der Teilmenge von Kameras verbunden ist, und wobei der Punktwolkengenerator einen Bildverarbeitungsserver umfasst, der mit jeder der Vielzahl von Kameras verbunden ist.
  11. Doppelmodus-Datenerfassungssystem nach Anspruch 1, ferner umfassend einen Server, der (i) eine Kollisionserfassungsanwendung zur Implementierung des Kollisionsdetektors und (ii) eine Punktwolkenerzeugungsanwendung zur Implementierung des Punktwolkengenerators ausführt.
  12. Doppelmodus-Datenerfassungssystem nach Anspruch 1, wobei die Erfassungssteuerung so konfiguriert ist, dass sie die Teilmenge der Kameras im Kollisionserfassungsmodus aktiviert, indem sie einen Befehl an jede der Teilmenge der Kameras überträgt, um von einem Einzelbild-Erfassungsmodus in einen kontinuierlichen Erfassungsmodus zu wechseln.
  13. Verfahren zur Doppelmodus-Datenerfassung, umfassend: an einer Erfassungssteuerung, die mit einer Vielzahl von Kameras verbunden ist, die so angeordnet sind, dass sie ein Erfassungsvolumen betrachten, Aktivieren mindestens einer Teilmenge der Vielzahl von Kameras in einem Kollisionserfassungsmodus, wodurch die Teilmenge von Kameras veranlasst wird, entsprechende Bildsequenzen des Erfassungsvolumens zu erfassen; an einem Kollisionsdetektor, der mit mindestens der Teilmenge von Kameras verbunden ist, Empfangen der entsprechenden Bildsequenzen und Bestimmen, ob die entsprechenden Bildsequenzen von mindestens der Teilmenge der Vielzahl von Kameras eine potenzielle Kollision eines oder mehrerer Objekte im Erfassungsvolumen anzeigen; Erzeugen einer Warnung als Reaktion auf das Erfassen der potenziellen Kollision am Kollisionsdetektor; an einem Bewegungssensor, der mit der Erfassungssteuerung verbunden ist, Erzeugen eines Erfassungssignals als Reaktion auf das Erfassen eines Objekts an einer Erfassungsposition innerhalb des Erfassungsvolumens; an der Erfassungssteuerung Aktivieren der Vielzahl von Kameras in einem Dimensionierungsmodus als Reaktion auf das Empfangen des Erfassungssignals, wodurch jede Kamera veranlasst wird, ein entsprechendes Bild eines synchronen Satzes von Bildern der Erfassungsposition zu erfassen; und an einem Punktwolkengenerator, der mit jeder der Vielzahl von Kameras verbunden ist, Empfangen des synchronen Satzes von Bildern von den Kameras und Erzeugen einer Punktwolke, die das Objekt repräsentiert, basierend auf dem synchronen Satz von Bildern, wobei die Dimensionen des Objekts basierend auf der Punktwolke bestimmt werden.
  14. Verfahren nach Anspruch 13, ferner umfassend an der Erfassungssteuerung: Zurückversetzen mindestens der Teilmenge der Kameras in den Kollisionserfassungsmodus nach der Aktivierung von mindestens der Teilmenge der Kameras im Dimensionierungsmodus.
  15. Verfahren nach Anspruch 14, ferner umfassend das Aktivieren des Kollisionserfassungsmodus für eine erste Zeitspanne.
  16. Verfahren nach Anspruch 15, ferner umfassend das Aktivieren des Dimensionierungsmodus für eine zweite Zeitspanne, wobei die zweite Zeitspanne kürzer ist als die erste Zeitspanne.
  17. Verfahren nach Anspruch 13, wobei das Aktivieren der Kameras im Dimensionierungsmodus ferner umfasst: Erzeugen und Übertragen eines Auslösebefehls im Wesentlichen gleichzeitig an jede einer Vielzahl von Kameras, der jede Kamera veranlasst, ein entsprechendes Bild eines synchronen Satzes von Bildern des Erfassungsvolumens zu erfassen.
  18. Verfahren nach Anspruch 13, ferner umfassend an dem Punktwolkengenerator: Empfangen des synchronen Satzes von Bildern von den Kameras und Speichern des synchronen Satzes von Bildern in einem ersten Speicher.
  19. Verfahren nach Anspruch 18, ferner umfassend an dem Kollisionsdetektor: Empfangen der entsprechenden Bildsequenzen von der Teilmenge von Kameras und Speichern der entsprechenden Bildsequenzen in einem zweiten Speicher.
  20. Verfahren nach Anspruch 13, wobei das Erzeugen der Warnung das Übertragen eines Befehls vom Kollisionsdetektor an eine Ausgabevorrichtung umfasst.
  21. Verfahren nach Anspruch 13, wobei das Bestimmen, ob die entsprechenden Bildsequenzen eine potenzielle Kollision anzeigen, umfasst: Identifizieren eines ersten Objekts und eines zweiten Objekts in den Bildsequenzen; und Bestimmen eines ersten Bewegungsvektors, der mit dem ersten Objekt korrespondiert, und eines zweiten Bewegungsvektors, der mit dem zweiten Objekt korrespondiert.
  22. Verfahren nach Anspruch 13, wobei das Aktivieren der Teilmenge der Kameras im Kollisionserfassungsmodus das Übertragen eines Befehls an jede der Teilmenge von Kameras umfasst, um von einem Einzelbild-Erfassungsmodus in einen kontinuierlichen Erfassungsmodus zu wechseln.
  23. Nicht-transitorisches computerlesbares Medium, das eine Vielzahl von computerlesbaren Anweisungen speichert, die in einem Doppelmodus-Datenerfassungssystem ausführbar sind, wobei die Anweisungen umfassen: an einer Erfassungssteuerung, die mit einer Vielzahl von Kameras verbunden ist, die so angeordnet sind, dass sie ein Erfassungsvolumen betrachten, Aktivieren mindestens einer Teilmenge der Vielzahl von Kameras in einem Kollisionserfassungsmodus, wodurch die Teilmenge von Kameras veranlasst wird, entsprechende Bildsequenzen des Erfassungsvolumens zu erfassen; an einem Kollisionsdetektor, der mit mindestens der Teilmenge von Kameras verbunden ist, Empfangen der entsprechenden Bildsequenzen und Bestimmen, ob die entsprechenden Bildsequenzen von mindestens der Teilmenge der Vielzahl von Kameras eine potenzielle Kollision eines oder mehrerer Objekte im Erfassungsvolumen anzeigen; Erzeugen einer Warnung als Reaktion auf das Erfassen der potenziellen Kollision am Kollisionsdetektor; an einem Bewegungssensor, der mit der Erfassungssteuerung verbunden ist, Erzeugen eines Erfassungssignals als Reaktion auf das Erfassen eines Objekts an einer Erfassungsposition innerhalb des Erfassungsvolumens; an der Erfassungssteuerung Aktivieren der Vielzahl von Kameras in einem Dimensionierungsmodus als Reaktion auf das Empfangen des Erfassungssignals, wodurch jede Kamera veranlasst wird, ein entsprechendes Bild eines synchronen Satzes von Bildern der Erfassungsposition zu erfassen; und an einem Punktwolkengenerator, der mit jeder der Vielzahl von Kameras verbunden ist, Empfangen des synchronen Satzes von Bildern von den Kameras und Erzeugen einer Punktwolke, die das Objekt repräsentiert, basierend auf dem synchronen Satz von Bildern, wobei die Dimensionen des Objekts basierend auf der Punktwolke bestimmt werden.
DE112019004488.5T 2018-09-06 2019-05-30 Doppelmodus-Datenerfassungssystem zur Kollisionserfassung und Objektdimensionierung und Verfahren zur Doppelmodus-Datenerfassung Active DE112019004488B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/123,594 US10611372B2 (en) 2018-09-06 2018-09-06 Dual-mode data capture system for collision detection and object dimensioning
US16/123,594 2018-09-06
PCT/US2019/034674 WO2020050888A1 (en) 2018-09-06 2019-05-30 Dual-mode data capture system for collision detection and object dimensioning

Publications (2)

Publication Number Publication Date
DE112019004488T5 DE112019004488T5 (de) 2021-07-15
DE112019004488B4 true DE112019004488B4 (de) 2022-09-22

Family

ID=69720457

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019004488.5T Active DE112019004488B4 (de) 2018-09-06 2019-05-30 Doppelmodus-Datenerfassungssystem zur Kollisionserfassung und Objektdimensionierung und Verfahren zur Doppelmodus-Datenerfassung

Country Status (6)

Country Link
US (1) US10611372B2 (de)
CN (1) CN112639807B (de)
DE (1) DE112019004488B4 (de)
GB (1) GB2588744B (de)
MX (1) MX2021000973A (de)
WO (1) WO2020050888A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109472251B (zh) * 2018-12-16 2022-04-05 华为技术有限公司 一种物体碰撞预测方法及装置
CN111773723A (zh) * 2020-07-29 2020-10-16 网易(杭州)网络有限公司 碰撞检测方法和装置
US11749079B2 (en) * 2020-12-16 2023-09-05 Rovi Guides, Inc. Systems and methods to automatically perform actions based on media content
US20230192067A1 (en) * 2021-11-23 2023-06-22 Motional Ad Llc Motion planner constraint generation based on road surface hazards
CN117095540B (zh) * 2023-10-18 2024-01-23 四川数字交通科技股份有限公司 道路二次事故的预警方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014011821A1 (de) 2014-08-08 2016-02-11 Cargometer Gmbh Vorrichtung und Verfahren zur Volumenbestimmung eines durch ein Flurförderzeug bewegten Objekts
US20160342850A1 (en) 2015-05-18 2016-11-24 Mobileye Vision Technologies Ltd. Safety system for a vehicle to detect and warn of a potential collision
WO2019221969A1 (en) 2018-05-15 2019-11-21 Qualcomm Incorporated State and position prediction of observed vehicles using optical tracking of wheel rotation

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20100305857A1 (en) 2009-05-08 2010-12-02 Jeffrey Byrne Method and System for Visual Collision Detection and Estimation
US8736704B2 (en) * 2011-03-25 2014-05-27 Apple Inc. Digital camera for capturing an image sequence
WO2014011545A1 (en) * 2012-07-09 2014-01-16 Elwha Llc Systems and methods for cooperative collision detection
US9142022B2 (en) * 2013-10-11 2015-09-22 Intel Corporation 3D object tracking
US10028102B2 (en) * 2014-12-26 2018-07-17 Here Global B.V. Localization of a device using multilateration
US10163216B2 (en) * 2016-06-15 2018-12-25 Hand Held Products, Inc. Automatic mode switching in a volume dimensioner
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
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014011821A1 (de) 2014-08-08 2016-02-11 Cargometer Gmbh Vorrichtung und Verfahren zur Volumenbestimmung eines durch ein Flurförderzeug bewegten Objekts
US20160342850A1 (en) 2015-05-18 2016-11-24 Mobileye Vision Technologies Ltd. Safety system for a vehicle to detect and warn of a potential collision
WO2019221969A1 (en) 2018-05-15 2019-11-21 Qualcomm Incorporated State and position prediction of observed vehicles using optical tracking of wheel rotation

Also Published As

Publication number Publication date
GB2588744B (en) 2021-12-01
CN112639807A (zh) 2021-04-09
CN112639807B (zh) 2022-04-19
MX2021000973A (es) 2021-03-31
DE112019004488T5 (de) 2021-07-15
WO2020050888A1 (en) 2020-03-12
US10611372B2 (en) 2020-04-07
US20200079370A1 (en) 2020-03-12
GB2588744A (en) 2021-05-05
GB202102901D0 (en) 2021-04-14

Similar Documents

Publication Publication Date Title
DE112019004488B4 (de) Doppelmodus-Datenerfassungssystem zur Kollisionserfassung und Objektdimensionierung und Verfahren zur Doppelmodus-Datenerfassung
DE102018102285A1 (de) System und verfahren zum beurteilen des innenraums eines autonomen fahrzeugs
DE112019002730B4 (de) Datenerfassungssystem und Verfahren zur Objektdimensionierung
DE112019002547B4 (de) System und verfahren zum bestimmen eines standortes zur platzierung eines pakets
DE102018101318A1 (de) Objekterkennung unter verwendung eines rekurrenten neuronalen netzwerks und einer verketteten merkmalsabbildung
DE102017116192A1 (de) Verwenden von virtuellen Daten zum Testen und Trainieren von Parkplatzerfassungssystemen
DE102018101125A1 (de) Rekurrentes tiefes neuronales Faltungsnetzwerk zur Detektion von Objekten
DE102017115318A1 (de) Heads-Up-Anzeige zum Beobachten von Fahrzeugwahrnehmungsaktivität
DE102018121808A1 (de) Verfeinern von synthetischen daten mit einem generative adversarial network unter verwendung von hilfseingaben
DE102017107626A1 (de) Detektion verfügbarer parkstellflächen
DE102018101220A1 (de) Zeichenerkennung für autonome fahrzeuge
DE102018205915A1 (de) Monokulare Lokalisierung in städtischen Umgebungen unter Verwendung von Straßenmarkierungen
DE102018105417A1 (de) Fahrzeugortung unter verwendung von kameras
DE112018000899T5 (de) Gemeinsame 3D-Objekterfassung und Ausrichtungsabschätzung über multimodale Fusion
DE102017130041A1 (de) Automatische leckerkennung bei fahrzeugen
DE102015114614A1 (de) Betrieb eines Totwinkelassistenten bei einem Fahrzeug mit Anhänger
DE112016005059T5 (de) Unterkategorienbewusste faltende neuronale Netzwerke zur Objekterfassung
DE112018000335T5 (de) Systeme und verfahren für einen berechnungsrahmen zur visuellen warnung des fahrers unter verwendung einer "fully convolutional"-architektur
DE102018103817A1 (de) Freiraumdetektion unter verwendung einer monokularen kamera und von deep learning
DE102019220048A1 (de) Autonomes führen eines fahrzeugs zu einer gewünschten, mit einer fernvorrichtung ausgewählten parkposition
DE102012223730A1 (de) Vorrichtung und verfahren zum einstellen einer parkposition auf basis eines av-bildes
DE112016006213T5 (de) System und Verfahren zum Fusionieren von Ausgängen von Sensoren, die unterschiedliche Auflösungen aufweisen
DE112016004049B4 (de) Fahrassistenzverfahren und Fahrassistenzvorrichtung und diese benutzendes Programm
DE102019102866A1 (de) Identifizierung eines Herstellungsteils unter Verwendung von Computervision und Maschinenlernen
WO2019201565A1 (de) Verfahren, vorrichtung und computerlesbares speichermedium mit instruktionen zur verarbeitung von sensordaten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R083 Amendment of/additions to inventor(s)
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final