DE112019001788T5 - Verfahren, system und vorrichtung zum korrigieren von transluzenzartefakten in daten, die eine trägerstruktur darstellen - Google Patents

Verfahren, system und vorrichtung zum korrigieren von transluzenzartefakten in daten, die eine trägerstruktur darstellen Download PDF

Info

Publication number
DE112019001788T5
DE112019001788T5 DE112019001788.8T DE112019001788T DE112019001788T5 DE 112019001788 T5 DE112019001788 T5 DE 112019001788T5 DE 112019001788 T DE112019001788 T DE 112019001788T DE 112019001788 T5 DE112019001788 T5 DE 112019001788T5
Authority
DE
Germany
Prior art keywords
depth
shelf
depth map
plane
map
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.)
Pending
Application number
DE112019001788.8T
Other languages
English (en)
Inventor
Raymond Phan
Richard Jeffrey RZESZUTEK
Iaacov Coby SEGALL
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.)
Symbol Technologies LLC
Original Assignee
Symbol Technologies LLC
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 Symbol Technologies LLC filed Critical Symbol Technologies LLC
Publication of DE112019001788T5 publication Critical patent/DE112019001788T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/77Retouching; Inpainting; Scratch removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/337Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/68Food, e.g. fruit or vegetables

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Abstract

Ein Verfahren in einer Bildgebungssteuerung zum Korrigieren von Transluzenzartefakten in Daten, die ein oder mehrere auf einem Regal angeordnete Objekte repräsentieren: Erhalten einer Vielzahl von Tiefenmessungen, die von einem Tiefensensor erfasst werden und mit einem Bereich korrespondieren, der das Regal enthält; Erhalten (i) einer Definition einer Ebene, die Kanten des Regals enthält, (ii) eines Ortes in der Ebene einer oberen Regalkante, und (iii) eines Ortes in der Ebene einer unteren Regalkante, die an die obere Regalkante angrenzt; Erzeugen einer Tiefenkarte, die für jede einer Vielzahl von Positionen in der Ebene eine nächstgelegene Objekttiefe enthält; Erfassen einer oberen Objektbegrenzung in der Tiefenkarte zwischen der oberen und unteren Trägerflächenkante; Aktualisieren jeder nächstgelegenen Objekttiefe zwischen der oberen Objektbegrenzung und der unteren Regalkante, so dass sie eine Tiefe der oberen Objektbegrenzung enthält; und Speichern der korrigierten Tiefenkarte.

Description

  • HINTERGRUND
  • Umgebungen, in denen Bestände von Objekten verwaltet werden, wie z.B. Produkte zum Kauf in einer Einzelhandelsumgebung, können komplex und unklar sein. Beispielsweise kann eine bestimmte Umgebung eine Vielzahl von Objekten mit unterschiedlichen Attributen (Größe, Form, Preis und dergleichen) enthalten. Außerdem können sich die Platzierung und die Menge der Objekte in der Umgebung häufig ändern. Darüber hinaus können die Bildgebungsbedingungen, wie z.B. die Beleuchtung sowohl über die Zeit als auch an verschiedenen Orten in der Umgebung variabel sein. Diese Faktoren können die Genauigkeit verringern, mit der Informationen über die Objekte in der Umgebung gesammelt werden können. Darüber hinaus kann die Art bestimmter Objekte, wie z.B. solche mit transparenten Bereichen, die Genauigkeit ihrer Erkennung aus Bildern der Umgebung weiter verringern.
  • 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 mobilen Automatisierungssystems.
    • 2A zeigt ein mobiles Automatisierungsgerät im System von 1.
    • 2B ist ein Blockdiagramm bestimmter interner Hardwarekomponenten des mobilen Automatisierungsgeräts im System von 1.
    • 3 ist ein Blockdiagramm bestimmter interner Komponenten des Servers von 1.
    • 4 ist ein Flussdiagramm eines Verfahrens zum Korrigieren von Transluzenzartefakten.
    • 5A zeigt eine beispielhafte Regalanordnung.
    • 5B zeigt Tiefenmessungen, die mit dem Regal von 5A korrespondieren.
    • 6A zeigt eine Regalebene und Regalkantenorte, die in dem Verfahren von 4 verwendet werden.
    • 6B zeigt ein dreidimensionales Gitter, das auf die in 5B gezeigten Tiefenmessungen im Verfahren von 4 angewendet wird.
    • 7 ist ein Flussdiagramm eines Verfahrens zum Erstellen einer Tiefenkarte.
    • 8A veranschaulicht eine beispielhafte Tiefenkarte, die durch die Durchführung des Verfahrens von 7 erzeugt wird.
    • 8B veranschaulicht die Durchführung einer undichten Faltungsoperation zum Korrigieren eines Nullwertes in der Tiefenkarte von 8A.
    • 8C zeigt eine aktualisierte Tiefenkarte nach der Korrektur von Nullwerten.
    • 9 ist ein Flussdiagramm eines Verfahrens zum Erkennen von oberen Objektbegrenzungen und zum Erzeugen einer korrigierten Tiefenkarte.
    • 10A, 10B und 10C veranschaulichen die Erzeugung einer korrigierten Tiefenkarte gemäß dem Verfahren von 9.
  • 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
  • Umgebungen wie Lagerhallen, Einzelhandelsstandorte (z.B. Lebensmittelgeschäfte) und dergleichen enthalten typischerweise eine Vielzahl von Produkten, die auf Trägerstrukturen wie Regalmodulen zur Auswahl und zum Kauf durch die Kunden gelagert sind. Infolgedessen variiert die Zusammensetzung der von einem bestimmten Regalmodul getragenen Produktgruppe über die Zeit, da Produkte entfernt und in einigen Fällen durch Kunden, Lagerarbeiter und Ähnliches ersetzt werden. Produkte, die teilweise oder vollständig aufgebraucht sind, müssen in der Regel wieder aufgefüllt werden, und Produkte, die falsch ersetzt wurden (als „Plugs“ bezeichnet), müssen in der Regel an die richtige Stelle im Regal verschoben werden. Die Erkennung von Problemen bei der Wiederauffüllung oder Plugs wird üblicherweise von menschlichen Mitarbeitern durch visuelle Beurteilung der Regale und manuelles Scannen von Strichcodes durchgeführt. Diese Form der Erkennung ist arbeitsintensiv und daher kostspielig und fehleranfällig.
  • Versuche, die Erkennung von Produktstatusproblemen wie den oben genannten zu automatisieren, werden durch die sich häufig ändernde Natur der Umgebung, in der ein autonomes Datenerfassungssystem arbeiten muss, erschwert. Neben anderen Schwierigkeiten schwanken die digitalen Bilder der Regale in Abhängigkeit von der verfügbaren Beleuchtung, dem Vorhandensein von Sichtbehinderungen und ähnlichem in ihrer Qualität. Außerdem enthalten einige Objekte Teile, die transluzent oder transparent sind. Ein Beispiel für ein solches Objekt ist eine Sodaflasche, die typischerweise eine undurchsichtige Kappe und ein undurchsichtiges Etikett aufweist, das um den Mittelteil der Flasche gewickelt ist, während der Rest der Flasche transluzent oder transparent ist. Abhängig von der Farbe der in der Flasche enthaltenen Flüssigkeit können digitale Bilder Teile der Rückseite des Regals durch die Flasche hindurch sichtbar machen, was wiederum zur automatischen Erkennung ungenauer Statusinformationen führen kann (z.B. die Angabe, dass eine Lücke vorhanden ist, wenn tatsächlich ein transluzentes oder transparentes Objekt vorhanden ist). Auch Tiefenmessungen können aufgrund solcher Transparenzen ungenau sein, da Licht, das von Tiefensensoren (z.B. ein Laserstrahl, der von einem LIDAR (Light Detection and Ranging)-Sensor) emittiert wird, das Objekt durchqueren und von der Regalrückseite reflektieren kann, anstatt vom Objekt selbst reflektiert zu werden. Wie Fachleute erkennen werden, sind das System und das Verfahren, welche hier offenbart werden, gleichermaßen anwendbar, um sowohl Transparenz- als auch Transluzenzartefakte zu korrigieren. Daher werden die Begriffe „transluzent“ oder „Transluzenz“ und „transparent“ oder „Transparenz“ hier austauschbar verwendet, da sie sich auf Objekte beziehen, die einen Teil oder das gesamte Licht durch sie hindurchlassen.
  • Die hier offenbarten Beispiele beziehen sich auf ein Verfahren in einer Bildgebungssteuerung zum Korrigieren von Transluzenzartefakten in Daten, die ein oder mehrere auf einem Regal angeordnete Objekte repräsentieren, umfassend: Erhalten einer Vielzahl von Tiefenmessungen, die von einem Tiefensensor erfasst werden und mit einem Bereich korrespondieren, der das Regal enthält; Erhalten (i) einer Definition einer Ebene, die Kanten des Regals enthält, (ii) eines Ortes in der Ebene einer oberen Regalkante, und (iii) eines Ortes in der Ebene einer unteren Regalkante, die an die obere Regalkante angrenzt; Erzeugen einer Tiefenkarte, die für jede einer Vielzahl von Positionen in der Ebene eine nächstgelegene Objekttiefe enthält; Erfassen einer oberen Objektbegrenzung in der Tiefenkarte zwischen der oberen und unteren Trägerflächenkante; Aktualisieren jeder nächstgelegenen Objekttiefe zwischen der oberen Objektbegrenzung und der unteren Regalkante, um eine Tiefe der oberen Objektbegrenzung zu enthalten; und Speichern der korrigierten Tiefenkarte.
  • Zusätzliche Beispiele, die hierin offenbart werden, sind auf eine Rechenvorrichtung zum Korrigieren von Transluzenzartefakten in Daten gerichtet, die ein oder mehrere auf einem Regal angeordnete Objekte repräsentieren, umfassend: einen Speicher; und eine Bildgebungssteuerung, die mit dem Speicher verbunden ist, wobei die Bildgebungssteuerung umfasst: einen Präprozessor, der so konfiguriert ist, dass er eine Vielzahl von Tiefenmessungen erhält, die von einem Tiefensensor erfasst werden und mit einem Bereich korrespondieren, der das Regal enthält; wobei der Präprozessor ferner so konfiguriert ist, dass er (i) eine Definition einer Ebene, die Kanten des Regals enthält, (ii) einen Ort in der Ebene einer oberen Regalkante und (iii) einen Ort in der Ebene einer unteren Regalkante, der an die obere Regalkante angrenzt, erhält; einen Kartengenerator, der so konfiguriert ist, dass er eine Tiefenkarte erzeugt, die für jede einer Vielzahl von Positionen in der Ebene eine nächstliegende Objekttiefe enthält; einen Korrektor, der so konfiguriert ist, dass er eine obere Objektbegrenzung in der Tiefenkarte zwischen der oberen und der unteren Trägerflächenkante erkennt; und wobei der Korrektor ferner so konfiguriert ist, dass er eine korrigierte Tiefenkarte erzeugt, indem er jede nächstgelegene Objekttiefe zwischen der oberen Objektbegrenzung und der unteren Regalkante so aktualisiert, dass sie eine Tiefe der oberen Objektbegrenzung enthält; und wobei die Bildgebungssteuerung ferner so konfiguriert ist, dass sie die korrigierte Tiefenkarte im Speicher speichert.
  • 1 stellt ein mobiles Automatisierungssystem 100 gemäß den Lehren dieser Offenbarung dar. Das System 100 umfasst einen Server 101, der mit mindestens einem mobilen Automatisierungsgerät 103 (hier auch einfach als Gerät 103 bezeichnet) und mindestens einem Client-Computergerät 105 über Kommunikationsverbindungen 107 kommuniziert, die im vorliegenden Beispiel einschließlich drahtloser Verbindungen dargestellt sind. Im vorliegenden Beispiel werden die Verbindungen 107 durch ein drahtloses lokales Netzwerk (WLAN) bereitgestellt, das in der Einzelhandelsumgebung durch einen oder mehrere Zugangspunkte (nicht abgebildet) bereitgestellt wird. In anderen Beispielen befinden sich der Server 101, das Client-Gerät 105 oder beide außerhalb der Einzelhandelsumgebung, und die Verbindungen 107 umfassen daher Weitbereichsnetze wie das Internet, Mobilfunknetze und dergleichen. Das System 100 umfasst im vorliegenden Beispiel auch ein Dock 108 für das Gerät 103. Das Dock 108 steht mit dem Server 101 über eine Verbindung 109 in Verbindung, die im vorliegenden Beispiel eine drahtgebundene Verbindung ist. In anderen Beispielen ist die Verbindung 109 jedoch eine drahtlose Verbindung.
  • Das Client-Computergerät 105 wird in 1 als mobiles Computergerät, wie z.B. Tablet, Smartphone o.ä., dargestellt. In anderen Beispielen ist das Client-Computergerät 105 als eine andere Art von Computergerät implementiert, wie z.B. ein Desktop-Computer, ein Laptop-Computer, ein anderer Server, ein Kiosk, ein Monitor und ähnliches. Das System 100 kann eine Vielzahl von Client-Geräten 105 umfassen, die über entsprechende Verbindungen 107 mit dem Server 101 kommunizieren.
  • Das System 100 wird in dem illustrierten Beispiel in einer Einzelhandelsumgebung mit einer Vielzahl von Regalmodulen 110-1, 110-2, 110-3 usw. eingesetzt (gemeinsam als Regal 110 bezeichnet und allgemein als Regal 110 bezeichnet - diese Nomenklatur wird auch für andere hier diskutierte Elemente verwendet). Jedes Regalmodul 110 trägt eine Vielzahl von Produkten 112. Jedes Regalmodul 110 umfasst eine Regalrückseite 116-1, 116-2, 116-3 und eine Trägerfläche (z.B. Trägerfläche 117-3 wie in 1 dargestellt), die sich von der Regalrückseite 116 bis zu einer Regalkante 118-1, 118-2, 118-3 erstreckt.
  • Die Regalmodule 110 sind typischerweise in mehreren Gängen angeordnet, von denen jeder eine Vielzahl von Modulen 110 enthält, die durchgehend aneinandergereiht sind. In solchen Anordnungen zeigen die Regalkanten 118 in die Gänge, durch die sowohl die Kunden in der Einzelhandelsumgebung als auch das Gerät 103 hindurchgehen können. Wie aus 1 ersichtlich wird, bezieht sich der hier verwendete Begriff „Regalkante“ 118, der auch als Kante einer Trägerfläche (z.B. der Trägerflächen 117) bezeichnet werden kann, auf eine Fläche, die durch benachbarte Flächen mit unterschiedlichen Neigungswinkeln begrenzt wird. In dem in 1 dargestellten Beispiel steht die Regalkante 118-3 in einem Winkel von etwa neunzig Grad relativ zu jeder der Trägerflächen 117-3 und der Unterseite (nicht dargestellt) der Trägerfläche 117-3. In anderen Beispielen beträgt der Winkel zwischen der Regalkante 118-3 und den angrenzenden Flächen, wie z.B. der Trägerfläche 117-3, mehr oder weniger als neunzig Grad.
  • Das Gerät 103 wird in der Einzelhandelsumgebung eingesetzt und kommuniziert mit dem Server 101 (z.B. über die Verbindung 107), um autonom oder teilautonom entlang einer Länge 119 von mindestens einem Teil der Regale 110 zu navigieren. Das Gerät 103 ist mit einer Vielzahl von Navigations- und Datenerfassungssensoren 104 ausgestattet, wie z.B. Bildsensoren (z.B. eine oder mehrere Digitalkameras) und Tiefensensoren (z.B. ein oder mehrere LIDAR (Light Detection and Ranging)-Sensoren), eine oder mehrere Tiefenkameras, die strukturierte Lichtmuster, wie z.B. Infrarotlicht o.ä., verwenden), und ist ferner so konfiguriert, dass es die Sensoren 104 zur Erfassung von Regaldaten einsetzt. Im vorliegenden Beispiel ist das Gerät 103 so konfiguriert, dass es eine Vielzahl von Tiefenmessungen erfasst, die mit den Regalen 110 korrespondieren. Jede Messung definiert einen Abstand von einem Tiefensensor auf dem Gerät 103 zu einem Punkt auf dem Regal 110 (z.B. ein Produkt 112, das auf dem Regal 110 angeordnet ist, oder eine strukturelle Komponente des Regals 110, wie z.B. eine Regalkante 118 oder eine Regalrückseite 116).
  • Der Server 101 enthält eine speziellen Bildgebungssteuerung, wie z.B. einen Prozessor 120, der speziell für die Steuerung des mobilen Automatisierungsgeräts 103 zur Datenerfassung (z.B. die oben erwähnten Tiefenmessungen) entwickelt wurde. Der Prozessor 120 ist ferner so konfiguriert, dass er die erfassten Daten über eine Kommunikationsschnittstelle 124 erhält und die erfassten Daten in einem Archiv 132 in einem mit dem Prozessor 120 verbundenen Speicher 122 speichert. Der Server 101 ist ferner so konfiguriert, dass er verschiedene Nachbearbeitungsoperationen an den erfassten Daten durchführt. Insbesondere ist der Server 101 so konfiguriert, dass er, wie weiter unten ausführlicher besprochen wird, Transluzenzartefakte innerhalb der erfassten Daten korrigiert.
  • Die Transluzenzartefakte entstehen durch Teile der Produkte 112, die transluzent oder transparent sind, und der Server 101 ist so konfiguriert, dass er solche Artefakte in den erfassten Daten korrigiert, um eine weitere nachgeschaltete Verarbeitung der erfassten Daten zu ermöglichen, z.B. um Produktstatusdaten zu ermitteln (z.B. um Lücken in den Regalen 110 zu erkennen). Der Server 101 kann auch so konfiguriert werden, dass er Statusbenachrichtigungen (z.B. Benachrichtigungen, die anzeigen, dass Produkte nicht vorrätig sind, einen geringen Lagerbestand aufweisen oder verlegt wurden) an das Client-Gerät 105 als Reaktion auf die Bestimmung von Produktstatusdaten übermittelt. Das Client-Gerät 105 enthält einen oder mehrere Steuerungen (z.B. zentrale Prozessoreinheiten (CPUs) und/oder FPGAs (Field Programmable Gate Arrays) und dergleichen), die so konfiguriert sind, dass sie die vom Server 101 erhaltenen Benachrichtigungen verarbeiten (z.B. anzeigen).
  • Der Prozessor 120 ist mit einem nicht flüchtigen computerlesbaren Speichermedium wie dem oben erwähnten Speicher 122 verbunden, auf dem computerlesbare Befehle für die Ausführung der Steuerung des Geräts 103 zur Datenerfassung sowie die oben erwähnte Nachbearbeitungsfunktionalität gespeichert sind, auf die weiter unten näher eingegangen wird. Der Speicher 122 enthält eine Kombination aus flüchtigem (z.B. Random Access Memory oder RAM) und nichtflüchtigem Speicher (z.B. Nur-Lese-Speicher oder ROM, elektrisch löschbarer programmierbarer Nur-Lese-Speicher oder EEPROM, Flash-Speicher). Der Prozessor 120 und der Speicher 122 umfassen jeweils eine oder mehrere integrierte Schaltungen. In einigen Ausführungsformen ist der Prozessor 120 als eine oder mehrere zentrale Prozessoreinheiten (CPUs) und/oder Grafikprozessoreinheiten (GPUs) implementiert.
  • Der Server 101 enthält auch die oben erwähnte Kommunikationsschnittstelle 124, die mit dem Prozessor 120 verbunden ist. Die Kommunikationsschnittstelle 124 umfasst geeignete Hardware (z.B. Sender, Empfänger, Netzschnittstellen-Steuerungen und dergleichen), die es dem Server 101 ermöglicht, über die Verbindungen 107 und 109 mit anderen Rechenvorrichtungen - insbesondere dem Gerät 103, dem Client-Gerät 105 und dem Dock 108 - zu kommunizieren. Bei den Verbindungen 107 und 109 kann es sich um direkte Verbindungen oder um Verbindungen handeln, die ein oder mehrere Netzwerke durchqueren, darunter sowohl lokale als auch Weitbereichsnetzwerke. Die spezifischen Komponenten der Kommunikationsschnittstelle 124 werden auf der Grundlage der Art des Netzwerks oder anderer Verbindungen ausgewählt, über die der Server 101 kommunizieren soll. Im vorliegenden Beispiel wird, wie bereits erwähnt, ein drahtloses lokales Netzwerk innerhalb der Einzelhandelsumgebung durch den Einsatz eines oder mehrerer drahtloser Zugangspunkte implementiert. Die Verbindungen 107 umfassen daher eine oder beide drahtlose Verbindungen zwischen dem Gerät 103 und der mobilen Vorrichtung 105 und den oben erwähnten Zugangspunkten sowie eine drahtgebundene Verbindung (z.B. eine Ethernet-basierte Verbindung) zwischen dem Server 101 und dem Zugangspunkt.
  • Der Speicher 122 speichert eine Vielzahl von Anwendungen, von denen jede eine Vielzahl von computerlesbaren Befehlen enthält, die vom Prozessor 120 ausgeführt werden können. Die Ausführung der oben genannten Anweisungen durch den Prozessor 120 konfiguriert den Server 101 so, dass er verschiedene hier besprochene Aktionen ausführt. Die im Speicher 122 gespeicherten Anwendungen umfassen eine Steueranwendung 128, die auch als eine Reihe von logisch getrennten Anwendungen implementiert werden kann. Im Allgemeinen ist der Prozessor 120 durch die Ausführung der Steueranwendung 128 oder von Unterkomponenten davon und in Verbindung mit den anderen Komponenten des Servers 101 so konfiguriert, dass er verschiedene Funktionen implementiert. Der Prozessor 120, der durch die Ausführung der Steueranwendung 128 konfiguriert wird, wird hier auch als Steuerung 120 bezeichnet. Wie sich nun zeigen wird, kann ein Teil oder die gesamte Funktionalität, die durch die unten beschriebene Steuerung 120 implementiert wird, auch durch vorkonfigurierte Hardware-Elemente (z.B. ein oder mehrere FPGAs und/oder anwendungsspezifische integrierte Schaltungen (ASICs)) anstatt durch die Ausführung der Steueranwendung 128 durch den Prozessor 120 ausgeführt werden.
  • Um nun zu den 2A und 2B zu kommen, wird das mobile Automatisierungsgerät 103 ausführlicher dargestellt. Das Gerät 103 umfasst ein Fahrgestell 201 mit einem Lokomotivmechanismus 203 (z.B. ein oder mehrere Elektromotoren, die Räder, Schienen oder dergleichen antreiben). Das Gerät 103 enthält ferner einen Sensormast 205, der auf dem Fahrgestell 201 abgestützt ist und sich im vorliegenden Beispiel vom Fahrgestell 201 aus nach oben (z.B. im Wesentlichen vertikal) erstreckt. Der Mast 205 trägt die bereits erwähnten Sensoren 104. Insbesondere umfassen die Sensoren 104 mindestens einen Bildgebungssensor 207, wie z.B. eine Digitalkamera, sowie mindestens einen Tiefensensor 209, wie z.B. eine 3D-Digitalkamera. Der Mast 103 enthält auch zusätzliche Tiefensensoren, wie z.B. LIDAR-Sensoren 211. In anderen Beispielen umfasst das Gerät 103 zusätzliche Sensoren, wie ein oder mehrere RFID-Lesegeräte, Temperatursensoren und dergleichen.
  • Im vorliegenden Beispiel trägt der Mast 205 sieben Digitalkameras 207-1 bis 207-7 sowie zwei LIDAR-Sensoren 211-1 und 211-2. Der Mast 205 trägt auch eine Vielzahl von Beleuchtungsbaugruppen 213, die so konfiguriert sind, dass sie die Sichtfelder der jeweiligen Kameras 207 ausleuchten. Das heißt, die Beleuchtungsbaugruppe 213-1 beleuchtet das Sichtfeld der Kamera 207-1 usw. Die Sensoren 207 und 211 sind auf dem Mast 205 so ausgerichtet, dass die Sichtfelder jedes Sensors einem Regal 110 gegenüberliegen, entlang dessen Länge 119 sich das Gerät 103 bewegt. Das Gerät 103 ist so konfiguriert, dass es einen Standort des Geräts 103 (z.B. einen Standort der Mitte des Fahrgestells 201) in einem gemeinsamen Referenzrahmen verfolgt, der zuvor in der Verkaufseinrichtung festgelegt wurde, so dass von dem mobilen Automatisierungsgerät erfasste Daten in dem gemeinsamen Referenzrahmen registriert werden können.
  • Das mobile Automatisierungsgerät 103 enthält eine spezielle Steuerung, wie z.B. einen Prozessor 220, wie in 2B dargestellt, der mit einem nichtflüchtigen computerlesbaren Speichermedium, wie z.B. einem Speicher 222, verbunden ist. Der Speicher 222 enthält eine Kombination aus flüchtigem (z.B. Random Access Memory oder RAM) und nichtflüchtigem Speicher (z.B. Nur-Lese-Speicher oder ROM, elektrisch löschbarer programmierbarer Nur-Lese-Speicher oder EEPROM, Flash-Speicher). Der Prozessor 220 und der Speicher 222 umfassen jeweils eine oder mehrere integrierte Schaltungen. Der Speicher 222 speichert computerlesbare Befehle zur Ausführung durch den Prozessor 220. Im Speicher 222 ist insbesondere eine Steueranwendung 228 gespeichert, die, wenn sie vom Prozessor 220 ausgeführt wird, den Prozessor 220 so konfiguriert, dass er verschiedene Funktionen im Zusammenhang mit der Navigation des Geräts 103 (z.B. durch Steuerung des Lokomotivmechanismus 203) und der Sammlung von Daten (z.B. Bilddaten und/oder Tiefenmessungen), die die Regale 110 repräsentieren, ausführt. Die Anwendung 228 kann auch als eine Reihe verschiedener Anwendungen in anderen Beispielen implementiert werden.
  • Der Prozessor 220 kann, wenn er durch die Ausführung der Anwendung 228 so konfiguriert ist, auch als Steuerung 220 bezeichnet werden. Fachleute werden erkennen, dass die vom Prozessor 220 über die Ausführung der Anwendung 228 implementierte Funktionalität auch durch eine oder mehrere speziell entworfene Hardware- und Firmwarekomponenten wie FPGAs, ASICs und dergleichen in anderen Ausführungsformen implementiert werden kann.
  • Der Speicher 222 kann auch ein Archiv 232 speichern, der z.B. eine Karte der Umgebung enthält, in der das Gerät 103 arbeitet, zur Verwendung während der Ausführung der Anwendung 228. Das Gerät 103 kann mit dem Server 101 über eine Kommunikationsschnittstelle 224 über die in 1 dargestellte Verbindung 107 mit dem Server 101 kommunizieren, um z.B. Anweisungen zur Einleitung von Datenerfassungsoperationen zu erhalten. Die Kommunikationsschnittstelle 224 ermöglicht es dem Gerät 103 auch, mit dem Server 101 über das Dock 108 und die Verbindung 109 zu kommunizieren.
  • Im vorliegenden Beispiel sind, wie unten diskutiert, der Server 101 (wie über die Ausführung der Steueranwendung 128 durch den Prozessor 120 konfiguriert) und der mobile Automatisierungsapparat 103 (wie über die Ausführung der Anwendung 228 durch den Prozessor 220 konfiguriert) so konfiguriert, dass sie vom Gerät 103 erfasste Tiefenmessungen verarbeiten, um Transluzenzartefakte in den Tiefenmessungen zu korrigieren. Transluzenzartefakte, auf die hierin Bezug genommen wird, entsprechen beliebigen Teilen der Tiefenmessungen, die mit transluzenten oder transparenten Teilen der Produkte 112 korrespondieren. Einer oder beide des Servers 101 und des Gerätes 103, sind ferner so konfiguriert, dass sie korrigierte Daten erzeugen, die die Transluzenzartefakte ersetzen, zur Verwendung in der nachgeschalteten Verarbeitung (z.B. zur Erkennung von Lücken zwischen den Produkten 112 auf den Regalen 110).
  • In weiteren Beispielen kann die unten besprochene Datenverarbeitung auf einer anderen Rechenvorrichtung als dem Server 101 und dem mobilen Automatisierungsgerät 103, wie z.B. dem Client-Gerät 105, durchgeführt werden. Die oben erwähnte Datenverarbeitung wird näher beschrieben im Zusammenhang mit ihrer Durchführung auf dem Server 101 über die Ausführung der Anwendung 128.
  • Mit Bezug zu 3, bevor die Funktionsweise der Anwendung 128 zur Korrektur von Transluzenzartefakten in den vom Gerät 103 erfassten Tiefendaten beschreiben wird, werden bestimmte Komponenten der Anwendung 128 ausführlicher beschrieben. Wie für den Fachmann ersichtlich sein wird, können in anderen Beispielen die Komponenten der Anwendung 128 in verschiedene Anwendungen getrennt oder in anderen Komponentensätzen kombiniert werden. Einige oder alle der in 3 dargestellten Komponenten können auch als dedizierte Hardwarekomponenten implementiert werden, wie z.B. ein oder mehrere ASICs oder FPGAs.
  • Die Steueranwendung 128 enthält einen Präprozessor 300, der so konfiguriert ist, dass er Tiefenmessungen, die mit den Regalen 110 und den darauf getragenen Produkten 112 korrespondieren, erhält und die Tiefenmessungen vorverarbeitet, z.B. durch Transformation der Tiefenmessungen zwischen verschiedenen Bezugsrahmen, um die Tiefenmessungen für die nachfolgende Verarbeitung vorzubereiten. Die Steueranwendung 128 enthält auch einen Kartengenerator 304, der so konfiguriert ist, dass er aus den vom Vorprozessor 300 ausgegebenen vorverarbeiteten Tiefenmessungen eine zweidimensionale Tiefenkarte erzeugt, die, wie für den Fachmann zu erkennen ist, typischerweise eine dreidimensionale Punktwolke definiert. Die Steueranwendung 128 enthält auch einen Korrektor 308, der so konfiguriert ist, dass er die oberen Begrenzungen von Objekten auf den Regalen 110 (z.B. Produkte 112) identifiziert und die Tiefenkarte aktualisiert, um potenzielle Transluzenzartefakte zu korrigieren, die in der Tiefenkarte durch transluzente oder transparente Teile der Produkte 112 entstehen. Die Ausgabe des Korrektors 308 kann einer weiteren Anwendung, z.B. einem vom Server 101 ausgeführten Lückendetektor, zur Verfügung gestellt werden.
  • Die Funktionalität der Steueranwendung 128 wird nun ausführlicher beschrieben. Zu 4 wird ein Verfahren 400 zur Korrektur von Transluzenzartefakten in erfassten Daten, die die Regale 110 repräsentieren, gezeigt. Das Verfahren 400 wird in Verbindung mit dessen Durchführung auf dem System 100 und unter Bezugnahme auf die in 3 dargestellten Komponenten beschrieben.
  • In Block 405 ist der Prozessor 120 und insbesondere der Präprozessor 300 der Anwendung 128 so konfiguriert, dass er eine Vielzahl von Tiefenmessungen erhält, die von einem Tiefensensor erfasst werden und eine Trägerstruktur wie ein Regalmodul 110 und die darauf getragenen Produkte 112 darstellen. Die in Block 405 erhaltenen Tiefenmessungen werden z.B. vom Gerät 103 erfasst und im Archiv 132 gespeichert. Der Präprozessor 300 ist daher im obigen Beispiel so konfiguriert, dass er die Tiefenmessungen durch Abrufen der Tiefenmessungen aus dem Archiv 132 erhält.
  • Die Tiefenmessungen können in einer Vielzahl von Formen erfasst werden, je nachdem, welche(r) Tiefensensor(en) vom Gerät 103 zur Erfassung der Messungen verwendet wird/werden. Die in Block 405 erhaltenen Tiefenmessungen werden in Form einer dreidimensionalen Punktwolke erhalten, wobei jeder Punkt in der Wolke eine Position in einem vorbestimmten Bezugsrahmen hat und einen Punkt auf den Regalen 110 anzeigt, an dem ein Objekt von den Tiefensensoren erfasst wurde.
  • Zu 5A wird ein Beispiel für das Regalmodul 510 dargestellt, in Verbindung mit dem die Durchführung des Verfahrens 400 beschrieben wird. Das Modul 510 umfasst eine Regalrückseite 516, die sich zwischen einem Paar Trägerflächen 517-1 und 517-2 erstreckt, die jeweils eine Kante 518-1 bzw. 518-2 aufweisen. Die Trägerfläche 517-1 ist der Einfachheit halber als leer dargestellt. Die Trägerfläche 517-2 hingegen trägt eine Vielzahl von Objekten 512, wie z.B. Produkte in einer Einzelhandelsumgebung. Bestimmte Produkte enthalten transluzente oder transparente Teile. Insbesondere zwei der in 5A dargestellten Produkte 512 enthalten eine undurchsichtige Kappe 550 und ein undurchsichtiges Etikett 554, während der Rest des Produkts 512 transluzent oder transparent ist (damit kann die Regalrückseite 516 durch die transluzenten Teile 558 sichtbar sein).
  • 5B zeigt eine in Block 405 erhaltene Punktwolke 560, die Tiefenmessungen enthält, die (z.B. mit dem Gerät 103) für das Modul 510 erfasst wurden. Wie in 5B zu sehen ist, erscheinen die transluzenten Teile 558 der Produkte 512 entweder nicht in der Punktwolke 560 oder sind nur teilweise in der Punktwolke 560 dargestellt (z.B. durch die Punkte 564). Mit anderen Worten, die Punktewolke 560 kann die undurchsichtigen Etiketten 554 und/oder die undurchsichtigen Kappen 550 der Produkte 512 so darstellen, als würden sie über der Trägerfläche 517-2 schweben, weil die transluzenten Teile 558 in der Punktewolke 560 unvollständig oder gar nicht dargestellt werden. Wie sich nun für den Fachmann zeigen wird, kann eine Lückenerkennungsoperation, die auf der Punktwolke 560 arbeitet, Lücken zwischen den Kappen 550 und den Etiketten 554 und/oder zwischen den Etiketten 554 und der Trägerfläche 517-2 erkennen, wo solche Lücken in der Tat wahrscheinlich physikalisch unmöglich sind. Die Punktwolke 560 ist gemäß einem Bezugsrahmen 568 definiert. Das heißt, jeder Punkt in der Punktwolke hat eine Position, die durch Koordinaten gemäß dem Bezugsrahmen 568 definiert ist.
  • In Block 405 kann der Präprozessor 300 auch so konfiguriert werden, dass er eine Darstellung einer Regalebene erhält, die die Kanten 518 enthält, sowie Daten, die die Orte der Kanten 518-1 und 518-2 in der Ebene angeben. Die Erkennung der Regalebene und der Kantenorte kann durch die Ausführung eines Regalebenendetektors und/oder eines Regalkantendetektors (z.B. am Server 101) erfolgen. Ein Beispiel für einen Regalebenendetektor kann so konfiguriert werden, dass er Tiefenmessungen der Module 110 oder 510 (z.B. erfasst durch das Gerät 103 mit dem Tiefensensor 209) verarbeitet, um eine Teilmenge der Tiefenmessungen auszuwählen, die für Regalkanten kennzeichnend sind (z.B. kennzeichnend für im Wesentlichen vertikale Oberflächen), und um eine Regalebene an die ausgewählten Tiefenmessungen anzupassen.
  • Ein Regalkantendetektor kann z.B. Bilder der Module 110 oder 510 (die z.B. von dem Gerät 103 mit den Kameras 207 aufgenommen wurden) verarbeiten, um Intensitätsübergänge (Übergänge von hell nach dunkel und von dunkel nach hell) zu identifizieren, die für Regalkanten kennzeichnend sind, die auf Regalkanten hinweisen. Der Regalkantendetektor kann Begrenzungskästen erzeugen, die den durch solche Übergänge begrenzten Bereichen (d.h. den wahrscheinlichen Regalkanten) entsprechen.
  • In 6A ist eine Regalebene 600 über der Punktwolke 560 eingeblendet. Weiterhin sind die Begrenzungskästen 604-1 und 604-2 zu sehen, die die Orte jeder der Regalkanten 518 innerhalb der Ebene 600 angeben. Obwohl die Ebene 600 und die Kantenorte 604 in 6A grafisch dargestellt sind, können Definitionen für die Ebene 600 und die Positionen 604 in jedem geeigneten Format in Block 405 abgerufen werden. Beispielsweise kann der Präprozessor 300 so konfiguriert werden, dass er eine Gleichung erhält, die die Ebene definiert, sowie Koordinaten (z.B. für jede Ecke der in 6A gezeigten Begrenzungskästen), die die Positionen 604 definieren.
  • Wie aus 6A zu ersehen sein wird, sind die Ebene 600 und die Orte 604 (sowie die darunter liegenden Kanten 518) nicht parallel zu einer der Achsen des Bezugsrahmens 568. Daher ist in einigen Ausführungsformen der Präprozessor 300 zur Verringerung der durch die nachfolgende Verarbeitung verursachten Rechenlast auch so konfiguriert, dass er die Punktewolke 560 so transformiert, dass die Punkte darin an einem Bezugsrahmen 608 ausgerichtet sind, der durch die Ebene 600 selbst definiert ist. Das heißt, zwei Achsen (X und Y im abgebildeten Beispiel) liegen innerhalb der Ebene 600, während die dritte Achse (Z oder Tiefe) senkrecht zur Ebene 600 verläuft. Bei der Transformation der Punktewolke 560 werden die Koordinaten der Punkte im Bezugsrahmen 568 durch Koordinaten ersetzt, die die gleiche physikalische Position angeben, aber im Bezugsrahmen 608 definiert sind. Die Ausrichtung der Punktewolke 560 auf den Bezugsrahmen 608 kann in einigen Ausführungsformen weggelassen werden.
  • Um auf 4 zurückzukommen ist in Block 410 der Kartengenerator 304 so konfiguriert, dass er aus der Punktwolke 560 eine Tiefenkarte erzeugt. Die Tiefenkarte enthält für jede einer Vielzahl von Positionen in der Ebene 600 (d.h. für jede Position in einem zweidimensionalen Gitter innerhalb der Ebene 600) eine nächstgelegene Objekttiefe. Die nächstgelegene Objekttiefe für eine gegebene Position innerhalb der Ebene 600 gibt die Entfernung von der Ebene 600 in einer Richtung parallel zur Z-Achse des Bezugsrahmens 608 zum ersten Objekt (z.B. ein Produkt 512 oder die Regalrückseite 516) an, das bei der Bewegung in dieser Richtung angetroffen wird. Für die Erzeugung der Tiefenkarte werden verschiedene Mechanismen in Betracht gezogen. Beispielsweise kann die Tiefenkarte erzeugt werden, indem man jeden Punkt auf der Ebene 600 durchläuft und den ersten Punkt in der Punktwolke 560 auswählt, der entlang eines von der Ebene 600 in Z-Richtung verfolgten Strahls erscheint. Ein solcher Ansatz kann jedoch Rauschen oder andere Artefakte enthalten, die in der Punktwolke 560 erscheinen. Der Kartengenerator 304 ist daher im vorliegenden Beispiel so konfiguriert, dass er die Tiefenkarte gemäß dem in 7 gezeigten Verfahren erzeugt.
  • Um zu 7 bei Block 705 zu kommen ist der Kartengenerator so konfiguriert, dass er die Tiefenmessungen in der Punktwolke einem dreidimensionalen Gitter von Behältern zuordnet. Um noch einmal kurz auf 6B zurückzukommen, wird ein Gitter 650 aus einzelnen Behältern 654 über die Punktwolke 560 gelegt. Die Auflösung des Gitters beträgt in einigen Beispielen etwa 1 cm x 1 cm x 1 cm (d.h. jeder Behälter 654 hat eine Größe von einem Kubikzentimeter). In anderen Beispielen kann der Kartengenerator 304 jedoch höhere oder niedrigere Gitterauflösungen verwenden. Wie nun aus 6B ersichtlich wird, umfasst jeder Behälter 654 einen Bereich der Punktwolke 560. Der Kartengenerator 304 ist so konfiguriert, dass er eine Zählung für jeden Behälter 654 auf der Grundlage der Anzahl der Punkte in der Punktwolke bestimmt, die von diesem Behälter 654 umfasst werden. Daher werden Behälter, die die Oberflächen der Produkte 512 oder die Regalkanten 518 umfassen, tendenziell höhere Zählungen aufweisen, während Behälter, die Regionen der Punktwolke umfassen, die mit den Lücken zwischen den Produkten 512 oder den transluzenten Teilen 558 korrespondieren, tendenziell niedrigere Zählungen aufweisen.
  • Nach der Durchführung von Block 705 hat der Kartengenerator 304 daher ein dreidimensionales Array von Behälterzählungen erzeugt. Der Kartengenerator 304 ist dann so konfiguriert, dass er einen Wert für einen Punkt (der auch als Pixel bezeichnet werden kann) in der zweidimensionalen Tiefenkarte für jede einer Vielzahl von Positionen auf der Ebene 600 erzeugt. Daher ist der Kartengenerator 304 in Block 710 so konfiguriert, dass er eine Position in der Ebene 600 auswählt, für die er den nächsten Tiefenkartenwert (d.h. die nächstgelegene Objekttiefe) erzeugt.
  • Im vorliegenden Beispiel entsprechen die bei aufeinanderfolgenden Durchführungen des Blocks 710 gewählten Positionen den Schnittpunkten des Gitters 650 mit der Ebene 600. In Block 715 ist für die gewählte Position der Kartengenerator 304 so konfiguriert, dass er mit der Durchquerung des Gitters von Behältern in Z-Richtung beginnt (d.h. in einer Richtung parallel zur Z-Achse des Bezugsrahmens 608, die senkrecht zur Ebene 600 steht). Um kurz auf 6B zurückzukommen, zeigt der Pfeil 658 die Bewegungsrichtung an, die nach einer Auswahl (in Block 710) des dritten Behälters von links in der oberen Reihe des Gitters 650 eingeleitet wird.
  • Wie ersichtlich wird, führt das oben beschriebene Durchqueren des Gitters 650 zum Durchqueren eines Stapels von Behältern, die mit der Z-Achse ausgerichtet sind. In Block 715 ist der Kartengenerator 304 so konfiguriert, dass er die Zählung des ersten Behälters zu einer akkumulierten Zählung addiert. In Block 720 ist der Kartengenerator so konfiguriert, dass er feststellt, ob die akkumulierte Zählung einen vordefinierten Schwellenwert erreicht hat. Der Schwellenwert wird auf der Grundlage der Auflösung der Punktwolke 560 und des Gitters 650 ausgewählt und auf eine Anzahl von Punkten gesetzt, die ausreichend hoch ist, um das wahrscheinliche Vorhandensein eines Objekts anzuzeigen (und nicht z.B. Lärm, Staub oder andere Datenerfassungsartefakte). Wenn der Schwellenwert bei Block 720 nicht erreicht ist, kehrt der Kartengenerator zu Block 715 zurück, geht zum nächsten Behälter entlang des Bewegungspfades (z.B. dem Pfeil 658) und wiederholt den obigen Vorgang.
  • Wenn die Bestimmung in Block 720 positiv ausfällt, wird der Kartengenerator 304 in Block 725 so konfiguriert, dass er die Tiefe des zuletzt akkumulierten Behälters in der Tiefenkarte als die nächstliegende Objekttiefe speichert. Der Kartengenerator 304 wird dann so konfiguriert, dass er im Block 730 feststellt, ob die Ebene 600 vollständig durchquert wurde. Genauer gesagt, der Kartengenerator 304 ist so konfiguriert, dass er feststellt, ob ein Teil der Ebene 600, der die Gesamtheit der Regalkanten 518 (wie durch die Positionen 604 angezeigt) umfasst, durchquert worden ist. Wenn die Bestimmung in Block 730 negativ ausfällt, kehrt der Kartengenerator 304 zum Block 710 zurück, wählt die nächste Position in der Ebene 600 aus und wiederholt den obigen Vorgang. Wenn die Bestimmung in Block 730 jedoch positiv ausfällt, ist die Tiefenkarte vollständig und die Durchführung des Verfahrens 400 geht weiter zu Block 415.
  • In 8A wird eine beispielhafte Tiefenkarte 800 gezeigt, die wie oben beschrieben aus der Punktwolke 560 erzeugt wurde. Die Werte jedes Pixels in der Tiefenkarte sind in 8A in Graustufen dargestellt, wobei hellere Werte größere Tiefen anzeigen (d.h. nächstgelegene Objekttiefen, die weiter von der Ebene 600 entfernt sind) und dunklere Werte kleinere Tiefen anzeigen (d.h. nächstgelegene Objekttiefen, die näher an der Ebene 600 liegen). In einigen Ausführungsformen kann die Tiefenkarte 800, wie in 8A gezeigt, in ein Graustufenbild umgewandelt werden (z.B. die nächstgelegenen Objekttiefen, die in Graustufenwerte zwischen Null und 255 umgewandelt werden). Wie in der Tiefenkarte 800 zu sehen ist, erscheinen die Produkte 512, mit Ausnahme der transparenten Teile 558, in der Karte 800 als Regionen mit begrenzter Tiefe, während die transparenten Teile 558 (fälschlicherweise) als Regionen mit größerer Tiefe erscheinen. Eine Region 804 zeigt an, dass, obwohl eine transparente Region 558 in der Punktwolke 560 nicht in ihrer Gesamtheit erfasst wurde, eine ausreichende Anzahl von Punkten erfasst wurde, um einige Werte der Tiefenkarte zu besetzen. Weitere Regionen 808 der Tiefenkarte zeigen die Orte der Regalkanten 518 mit einer Tiefe von Null oder nahe Null an (da die Regalkanten 518 im Wesentlichen mit der Ebene 600 übereinstimmen).
  • Auch in der Tiefenkarte 800 ist eine Region 812 mit einem Nullwert dargestellt. Die Region 812 weist auf fehlende Daten in der Punktwolke 560 hin. Der/die Tiefensensor(en), der/die zur Erfassung der Punktwolke 560 verwendet wird/werden, hat/haben möglicherweise nicht genügend Tiefenmessungen gesammelt, um den Schwellenwert bei Block 720 für die Pixel der Karte 800 innerhalb der Region 812 zu erreichen. Ursachen für solche fehlenden Daten können Schatten, Reflexionen, Hindernisse und Ähnliches in der Umgebung sein, in der die Tiefenmessungen erfasst wurden, so dass die Tiefensensoren die Regalrückseite 516 nicht konsistent erfassen können.
  • In einigen Beispielen ist der Kartengenerator 304 so konfiguriert, dass er auf der Karte 800 ein Tiefeneinzeichnungsverfahren durchführt, um alle Pixel in der Karte 800 zu besetzen, die keine Werte enthalten. Im vorliegenden Beispiel wird die Einzeichnung (z.B. durchgeführt als Reaktion auf eine positive Bestimmung bei Block 730) über eine Faltungsoperation durchgeführt. Wie dem Fachmann klar sein wird, beinhaltet eine Faltungsoperation für jedes Pixel der Karte 800 die Bestimmung des Durchschnitts der neun umgebenden Pixel, wie in 8B dargestellt. Im vorliegenden Beispiel wird die Faltungsoperation als undichte Faltung (Leaky Convolution) bezeichnet, da die Ausgabe (d.h. der Mittelwert der benachbarten Pixel) in das zentrale Pixel gelegt wird. Daher wurde in einer aktualisierten Tiefenkarte 800a, wie in 8C gezeigt, die Region 812 mit den nächstgelegenen Objekttiefen besetzt.
  • Um zu 4 zurückzukehren, wird in Block 415 der Korrektor 308 so konfiguriert, dass er obere Objektbegrenzungen in der in Block 410 erstellten Tiefenkarte erkennt. Wie in der nachfolgenden Diskussion zu sehen sein wird, ist der Korrektor 308 unter der Prämisse konfiguriert, dass die Produkte 512 typischerweise undurchsichtige obere Komponenten haben (z.B. die Kappe 550), selbst wenn sie transluzente Teile enthalten. Die Konfiguration des Korrektors 308 basiert ferner auf der Prämisse, dass die erkennbaren oberen Komponenten der Produkte 512 von einem durchgehenden Objekt unterhalb der erkannten oberen Komponente getragen werden. Mit anderen Worten, der Korrektor 308 arbeitet unter der Prämisse, dass die detektierbaren oberen Komponenten der Produkte 512 nicht über der entsprechenden Regalauflagefläche 517 schweben. Der Korrektor 308 ist daher so konfiguriert, dass er zunächst die oberen Obj ektbegrenzungen bei Block 415 erkennt (z.B. entsprechend den undurchsichtigen oberen Teilen der Produkte 512) und dann die Tiefenkarte auf der Grundlage solcher Erkennungen bei Block 420 korrigiert.
  • In einigen Beispielen ist der Korrektor 308 so konfiguriert, dass er obere Objektbegrenzungen erkennt und eine korrigierte Tiefenkarte gemäß eines in 9 gezeigten Verfahrens 900 erzeugt. Das heißt, das Verfahren 900 ist eine beispielhaftes Verfahren zur Durchführung der Blöcke 415 und 420 des Verfahrens 400. Im Block 905 ist der Korrektor 308 so konfiguriert, dass er ein benachbartes Paar von Regalkanten 516 auswählt (d.h. ein Paar von Regalkanten 516 ohne dazwischenliegende Regalkante 516). Die Auswahl in Block 905 basiert auf den in Block 405 erhaltenen Positionen 604. In der vorliegenden beispielhaften Durchführung des Verfahrens 400 stehen nur zwei Standorte, 604-1 und 604-2, zur Auswahl, und der Korrektor 308 wählt daher die Standorte 604-1 und 604-2 bei Block 905 aus.
  • In Block 910 ist der Korrektor 308 so konfiguriert, dass er einen Streifen der Tiefenkarte 800a zwischen den ausgewählten Regalkantenorten 604 auswählt. Konkret erstreckt sich der im Block 910 ausgewählte Streifen vertikal (d.h. parallel zur Y-Achse des Bezugsrahmens 608) von der oberen Position 604-1 bis zur unteren Position 604-2. Die Breite des im Block 910 ausgewählten Streifens kann ein Pixel betragen, ist aber nicht auf ein Pixel begrenzt. Beispielsweise kann ein Streifen mit einer Breite ausgewählt werden, die der erwarteten Breite eines Produkts 512 entspricht. Vorzugsweise hat der Streifen keine Breite, die größer ist als die erwartete Breite eines Produkts 512. Unter Bezugnahme auf 10A ist ein beispielhafter Streifen 1000 der Tiefenkarte 800a dargestellt, der sich zwischen den Standorten 604-1 und 604-2 erstreckt (die zur Veranschaulichung auf der Karte 800a eingeblendet wurden).
  • Nochmals Bezug nehmend auf 9, bei Block 915, ist der Korrektor 308 so konfiguriert, dass er den ausgewählten Streifen von der oberen Regalkante (d.h. der Stelle 604-1 wie in 10A gezeigt) zur unteren Regalkante (d.h. der Stelle 604-2 wie in 10A gezeigt) durchquert. Der Korrektor 308 ist ferner in Block 920 konfiguriert, um zu bestimmen, ob eine Tiefenänderung von einer durchquerten Position zur nächsten einen vorkonfigurierten Schwellenwert überschreitet. Der Schwellenwert wird so gewählt, dass eine den Schwellenwert überschreitende Tiefenänderung das Vorhandensein eines Produkts 512 anzeigt. Der Schwellenwert kann zum Beispiel auf die Tiefe eines Produkts 512 eingestellt werden. Um zu 10 zurückzukehren, ist zu erkennen, dass der Korrektor 308 beim Durchqueren des Streifens 1000 von der Position 1004 zur Position 1008 eine Tiefenänderung erkennt, die gleich dem Abstand von der Regalrückseite 516 zur Oberfläche eines Produkts 512 (konkret einer Kappe 550) ist, das der Ebene 600 zugewandt ist. Wenn der Abstand größer als der Schwellenwert ist, führt eine bestätigende Bestimmung in Block 920, die der Erkennung einer oberen Objektbegrenzung entspricht, zur Durchführung des Blocks 925.
  • In einigen Beispielen enthält die Schwelle, an der Veränderungen in der Tiefe bewertet werden, ein Richtungskriterium. Der Schwellenwert kann z.B. auf die Tiefe eines Produkts 512 festgelegt werden und kann auch verlangen, dass die Tiefenänderung eine Abnahme der Tiefe ist, was eine Änderung weg von der Regalrückseite 516 und hin zur Regalebene 600 anzeigt. Wenn beispielsweise ein Etikett unter einer Regalkante 518 aufgehängt wird (solche Etiketten können auch als „Talkers“ bezeichnet werden), können beim Durchlaufen eines Streifens zwei Tiefenänderungen erkannt werden: eine Tiefenänderung, die einen Übergang vom Talker zur Regalrückseite anzeigt, und eine Tiefenänderung, die einen Übergang von der Regalrückseite zu einem Produkt 512 anzeigt. Die erste der oben genannten Änderungen, bei der es sich eher um eine Zunahme der Tiefe als um eine Abnahme handelt, erfüllt nicht den Schwellenwert bei Block 920.
  • Im Block 925 ist der Korrektor 308 so konfiguriert, dass er die Tiefenwerte (d.h. die nächstgelegenen Objekttiefen) im Rest des Streifens auf einen Wert einstellt, der der Tiefe der oberen Objektbegrenzung entspricht. Mit anderen Worten, Block 925 ist eine beispielhafte Implementierung von Block 420, da die Durchführung von Block 925 einen korrigierten Teil der Tiefenkarte 800 auf der Grundlage der erkannten oberen Begrenzung erzeugt.
  • 10B zeigt eine teilweise korrigierte Tiefenkarte 800a', in der der Rest des Streifens 1000 (d.h. der Teil des Streifens 1000 unterhalb der Begrenzung, der an der Position 1008 in 10A detektiert wurde) aktualisiert wird, um die gleiche Tiefe wie die Tiefe der Position 1008 zu enthalten. Infolgedessen werden, wie in 10B gezeigt, die transparenten Teile 558 des Produkts 512 in der teilweise korrigierten Tiefenkarte 800a' teilweise rekonstruiert.
  • Nach der Durchführung von Block 925 ist der Korrektor 308 so konfiguriert, dass er zum Block 930 übergeht. Eine negative Bestimmung an Block 920 führt ebenfalls direkt zu Block 930, wobei Block 925 umgangen wird. Im Block 930 stellt der Korrektor 308 fest, ob die Länge (d.h. in X-Richtung, parallel zu der in 1 dargestellten Länge 119) der in Block 905 ausgewählten Kantenorte durchquert wurde. Wenn die Bestimmung an Block 930 negativ ist, wird der Korrektor 308 so konfiguriert, dass er zu Block 910 zurückkehrt, den nächsten Streifen der Tiefenkarte 800a' (z.B. den Streifen 1012 wie in 10B gezeigt) auswählt und die Durchführung der Blöcke 915 bis 930 wie oben beschrieben wiederholt. Wenn die Bestimmung in Block 930 positiv ausfällt, was anzeigt, dass das gesamte Gebiet zwischen dem in Block 905 ausgewählten Kantenortpaar durchquert wurde, endet das Verfahren 900. In einigen Beispielen kann das Verfahren 900 für alle verbleibenden Regalkantenpaare 516 wiederholt werden, anstatt es zu beenden.
  • 10C veranschaulicht das Ergebnis der Bearbeitung der Tiefenkarte 800 durch die Leistungsfähigkeit der Verfahren 900. 10C stellt insbesondere eine korrigierte Tiefenkarte 800b dar, in der Teile der Tiefenkarte 800, in denen die transparenten Teile 558 der Produkte 512 fälschlicherweise ausgelassen wurden, aktualisiert wurden, um die transparenten Teile 558 korrekt darzustellen (ein Beispiel dafür ist in der Kreuzschraffur hervorgehoben).
  • Nach Abschluss des Verfahrens 900 kann die Anwendung 128 so konfiguriert werden, dass sie die korrigierte Tiefenkarte 800b einer weiteren Anwendung (nicht abgebildet) präsentiert, z.B. einer Spaltdetektor-Anwendung, die so konfiguriert ist, dass sie Lücken zwischen den Produkten 512 erkennt. Wie sich nun zeigen wird, kann die korrigierte Tiefenkarte 800b einen solchen Lückendetektor in die Lage versetzen, Lücken genauer zu erkennen, indem die Wahrscheinlichkeit verringert wird, dass transparente Teile 558 der Produkte 512 zur Erkennung falsch positiver Ergebnisse durch den Lückendetektor führen (d.h. Lücken, die dort erkannt werden, wo tatsächlich keine Lücken, sondern eher transluzente Produkte 512 vorhanden sind).
  • In anderen Beispielen ist der Korrektor 308 so konfiguriert, dass er (z.B. durch Ausführen eines geeigneten Kantenerkennungsalgorithmus) Begrenzungskästen erzeugt, die den Produkten 512 entsprechen, wie sie in der korrigierten Tiefenkarte 800b dargestellt sind, zur Darstellung für den oben erwähnten Lückendetektor.
  • Der Lückendetektor kann zum Beispiel Lücken zwischen den Produkten 512 auf der Grundlage von Bildern, die vom Gerät 103 der Module 110 oder 510 erfasst wurden, identifizieren. Der Lückendetektor kann zum Beispiel so konfiguriert werden, dass er Teile solcher Bilder erkennt, die ein Muster darstellen, das mit der Regalrückseite 516 assoziiert ist. Solche Teile zeigen an, dass die Regalrückseite zwischen den Produkten 512 sichtbar ist, und weisen daher auf das Vorhandensein von Lücken hin. Wie sich nun zeigen wird, kann eine solche bildbasierte Lückenerkennung in Ermangelung der korrigierten Tiefenkarte fälschlicherweise Lücken erkennen, wo tatsächlich die transparenten Teile 558 der Produkte 512 vorhanden sind, da das Muster der Regalrückseite 516 durch die transluzenten Teile 558 sichtbar sein kann. In anderen Beispielen kann der Lückendetektor so konfiguriert werden, dass er Lücken zwischen den Produkten 512 auf der Grundlage von Tiefenmessungen identifiziert, die mit dem Gerät 103 für die Module 110 oder 510 ermittelt wurden. Wie bereits erwähnt, können Tiefenmessungen, die den Produkten 512 mit transluzenten Regionen entsprechen, diese Produkte 512 ungenau darstellen, was zu falsch positiven Lückendetektionen führt. Die oben beschriebene korrigierte Tiefenkarte kann daher einem solchen tiefenbasierten Lückendetektor zur Verfügung gestellt werden, um Ungenauigkeiten, die durch die transluzenten Regionen in die Tiefenmessungen eingebracht werden, zu mindern.
  • Variationen zu den oben genannten Systemen und Verfahren werden in Betracht gezogen. Zum Beispiel kann die Aktualisierung der nächstgelegenen Objekttiefen in Block 925 durchgeführt werden, indem nur eine Teilmenge der nächstgelegenen Objekttiefen im Streifen 1000 aktualisiert wird. Beispielsweise können nur die nächstgelegenen Objekttiefen aktualisiert werden, die um einen vordefinierten Schwellenwert größer sind als die Tiefe der oberen Objektbegrenzung (z.B. der oben angegebene Schwellenwert oder ein kleinerer Schwellenwert).
  • 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 „Prozessorvorrichtungen“) 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 (20)

  1. Verfahren in einer Bildgebungssteuerung zum Korrigieren von Transluzenzartefakten in Daten, die ein oder mehrere auf einem Regal angeordnete Objekte repräsentieren, umfassend: Erhalten einer Vielzahl von Tiefenmessungen, die von einem Tiefensensor erfasst werden und mit einem Bereich korrespondieren, der das Regal enthält; Erhalten (i) einer Definition einer Ebene, die Kanten des Regals enthält, (ii) eines Ortes in der Ebene einer oberen Regalkante und (iii) eines Ortes in der Ebene einer unteren Regalkante, die an die obere Regalkante angrenzt; Erzeugen einer Tiefenkarte, die für jede einer Vielzahl von Positionen in der Ebene eine nächstgelegene Objekttiefe enthält; Erkennen einer oberen Objektbegrenzung in der Tiefenkarte zwischen der oberen und unteren Trägerflächenkante; Erzeugen einer korrigierten Tiefenkarte durch Aktualisieren jeder nächstgelegenen Objekttiefe zwischen der oberen Objektbegrenzung und der unteren Regalkante, so dass sie eine Tiefe der oberen Objektbegrenzung enthält; und Speichern der korrigierten Tiefenkarte.
  2. Verfahren nach Anspruch 1, ferner umfassend das Darstellen der korrigierten Tiefenkarte auf einem Lückendetektor zur Verwendung bei der Erkennung von Lücken auf dem Regal.
  3. Verfahren nach Anspruch 1, ferner umfassend: vor dem Erzeugen der Tiefenkarte, Anpassen der Tiefenmessungen an einen Referenzrahmen basierend auf der Ebene.
  4. Verfahren nach Anspruch 1, wobei das Erzeugen der Tiefenkarte das Erzeugen jeder nächstgelegenen Objekttiefe umfasst, durch: Zuweisen jeder Tiefenmessung zu einem von einer Vielzahl von Behältern, die in einem dreidimensionalen Gitter angeordnet sind, um eine Zählung von Tiefenmessungen zu erzeugen, die in jeden Behälter fallen; für jede der Vielzahl von Positionen in der Ebene, Durchqueren einer Teilmenge der Behälter in einer Richtung senkrecht zu der Ebene und Sammeln der jeweiligen Zählungen der Teilmenge von Behältern, bis die gesammelten Zählungen einen Schwellenwert erreichen; und Einstellen der nächstgelegenen Objekttiefe als eine Tiefe eines letzten aus der durchquerten Teilmenge von Behältern.
  5. Verfahren nach Anspruch 1, wobei die Erfassung der oberen Objektbegrenzung umfasst: Beginnen am Ort der oberen Regalkante, Durchqueren eines Streifens der Tiefenkarte vom Ort der oberen Regalkante hin zum Ort der unteren Regalkante; und Bestimmen, ob eine Tiefenänderung zwischen durchquerten Positionen im Streifen einen vordefinierten Schwellenwert überschreitet.
  6. Verfahren nach Anspruch 5, wobei der vordefinierte Schwellenwert eine Abnahme der Tiefe definiert.
  7. Verfahren nach Anspruch 5, wobei das Erzeugen der korrigierten Tiefenkarte das Einstellen der nächstgelegenen Objekttiefen jeder Position in dem Streifen zwischen der oberen Objektbegrenzung und dem Ort der unteren Regalkante auf die Tiefe der oberen Objektbegrenzung umfasst.
  8. Verfahren nach Anspruch 5, wobei der Streifen eine Linie ist.
  9. Verfahren nach Anspruch 5, wobei der Streifen eine vordefinierte Breite hat, die größer ist als ein nächstgelegener Objekttiefenwert.
  10. Verfahren nach Anspruch 1, ferner umfassend: vor dem Erzeugen der korrigierten Tiefenkarte, Korrigieren der Nullwerte in der Tiefenkarte durch Ausführen einer undichten Faltung der Tiefenkarte.
  11. Rechenvorrichtung zum Korrigieren von Transluzenzartefakten in Daten, die ein oder mehrere auf einem Regal angeordnete Objekte repräsentieren, umfassend: einen Speicher; und eine mit dem Speicher verbundene Bildgebungssteuerung, wobei die Bildgebungssteuerung umfasst: einen Präprozessor, der so konfiguriert ist, dass er eine Vielzahl von Tiefenmessungen erhält, die von einem Tiefensensor erfasst werden und mit einem Bereich korrespondieren, der das Regal enthält; wobei der Präprozessor ferner so konfiguriert ist, dass er (i) eine Definition einer Ebene, die Kanten des Regals enthält, (ii) einen Ort in der Ebene einer oberen Regalkante und (iii) einen Ort in der Ebene einer unteren Regalkante, die an die obere Regalkante angrenzt, erhält; einen Kartengenerator, der so konfiguriert ist, dass er eine Tiefenkarte erzeugt, die für jede einer Vielzahl von Positionen in der Ebene eine nächstgelegene Objekttiefe enthält; einen Korrektor, der so konfiguriert ist, dass er eine obere Objektbegrenzung in der Tiefenkarte zwischen der oberen und unteren Trägerflächenkante erkennt; und der Korrektor ferner so konfiguriert ist, dass er eine korrigierte Tiefenkarte erzeugt, indem er jede nächstgelegene Objekttiefe zwischen der oberen Objektbegrenzung und der unteren Regalkante so aktualisiert, dass sie eine Tiefe der oberen Objektbegrenzung enthält; und die Bildgebungssteuerung ferner so konfiguriert ist, dass sie die korrigierte Tiefenkarte im Speicher speichert.
  12. Rechenvorrichtung nach Anspruch 11, wobei die Bildgebungssteuerung ferner so konfiguriert ist, dass sie die korrigierte Tiefenkarte einem Lückendetektor präsentiert, zur Verwendung bei der Erkennung von Lücken auf dem Regal.
  13. Rechenvorrichtung nach Anspruch 11, wobei der Präprozessor ferner konfiguriert ist, um vor dem Erzeugen der Tiefenkarte Tiefenmessungen an einem Referenzrahmen basierend auf der Ebene anzupassen.
  14. Rechenvorrichtung nach Anspruch 11, wobei der Kartengenerator so konfiguriert ist, dass er jede nächstgelegene Objekttiefe erzeugt, durch: Zuweisen jeder Tiefenmessung zu einem von einer Vielzahl von Behältern, die in einem dreidimensionalen Gitter angeordnet sind, um eine Zählung von Tiefenmessungen zu erzeugen, die in jeden Behälter fallen; für jede der Vielzahl von Positionen in der Ebene, Durchqueren einer Teilmenge der Behälter in einer Richtung senkrecht zu der Ebene und Sammeln der jeweiligen Zählungen der Teilmenge von Behältern, bis die gesammelten Zählungen einen Schwellenwert erreichen; und Einstellen der nächstgelegenen Objekttiefe als eine Tiefe eines letzten aus der durchquerten Teilmenge von Behältern.
  15. Rechenvorrichtung nach Anspruch 11, wobei der Korrektor ferner so konfiguriert ist, dass er die obere Objektbegrenzung erkennt, durch: Beginnen an dem Ort der oberen Regalkante, Durchqueren eines Streifens der Tiefenkarte vom Ort der oberen Regalkante hin zum Ort der unteren Regalkante; und Bestimmen, ob eine Tiefenänderung zwischen durchquerten Positionen in dem Streifen einen vordefinierten Schwellenwert überschreitet.
  16. Rechenvorrichtung nach Anspruch 15, wobei der vordefinierte Schwellenwert eine Abnahme der Tiefe definiert.
  17. Rechenvorrichtung nach Anspruch 15, wobei der Korrektor ferner so konfiguriert ist, dass er die korrigierte Tiefenkarte erzeugt, indem er die nächstliegenden Objekttiefen jeder Position in dem Streifen zwischen der oberen Objektbegrenzung und dem Ort der unteren Regalkante auf die Tiefe der oberen Objektbegrenzung einstellt.
  18. Rechenvorrichtung nach Anspruch 15, wobei der Streifen eine Linie ist.
  19. Rechenvorrichtung nach Anspruch 15, wobei der Streifen eine vordefinierte Breite hat, die größer ist als ein nächstgelegener Objekttiefenwert.
  20. Rechenvorrichtung nach Anspruch 11, wobei der Kartengenerator ferner konfiguriert ist, um: vor dem Erzeugen der korrigierten Tiefenkarte, Nullwerte in der Tiefenkarte durch Ausführen einer undichten Faltung der Tiefenkarte zu korrigieren.
DE112019001788.8T 2018-04-05 2019-04-04 Verfahren, system und vorrichtung zum korrigieren von transluzenzartefakten in daten, die eine trägerstruktur darstellen Pending DE112019001788T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/946,165 US10740911B2 (en) 2018-04-05 2018-04-05 Method, system and apparatus for correcting translucency artifacts in data representing a support structure
US15/946,165 2018-04-05
PCT/US2019/025870 WO2019195603A1 (en) 2018-04-05 2019-04-04 Method, system, and apparatus for correcting translucency artifacts in data representing a support structure

Publications (1)

Publication Number Publication Date
DE112019001788T5 true DE112019001788T5 (de) 2020-12-31

Family

ID=67180472

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019001788.8T Pending DE112019001788T5 (de) 2018-04-05 2019-04-04 Verfahren, system und vorrichtung zum korrigieren von transluzenzartefakten in daten, die eine trägerstruktur darstellen

Country Status (7)

Country Link
US (1) US10740911B2 (de)
AU (1) AU2019247400B2 (de)
BE (1) BE1026149B1 (de)
CA (1) CA3095182C (de)
DE (1) DE112019001788T5 (de)
GB (1) GB2586403B (de)
WO (1) WO2019195603A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109300190B (zh) * 2018-09-06 2021-08-10 百度在线网络技术(北京)有限公司 三维数据的处理方法、装置、设备和存储介质
US11003872B2 (en) * 2019-01-29 2021-05-11 Kindred Systems Inc. Motion-based singulation of RFID tagged object
US11312379B2 (en) * 2019-02-15 2022-04-26 Rockwell Collins, Inc. Occupancy map synchronization in multi-vehicle networks
US20200380454A1 (en) * 2019-06-03 2020-12-03 Zebra Technologies Corporation Method, System and Apparatus for Detecting Product Facings
US11151743B2 (en) * 2019-06-03 2021-10-19 Zebra Technologies Corporation Method, system and apparatus for end of aisle detection
US11341663B2 (en) * 2019-06-03 2022-05-24 Zebra Technologies Corporation Method, system and apparatus for detecting support structure obstructions
JP7393184B2 (ja) * 2019-11-07 2023-12-06 東芝テック株式会社 点群データ処理装置
WO2021131103A1 (ja) * 2019-12-24 2021-07-01 ヌヴォトンテクノロジージャパン株式会社 距離画像処理装置及び距離画像処理方法
US11130237B1 (en) * 2020-03-05 2021-09-28 Mujin, Inc. Method and computing system for performing container detection and object detection
CN113362441A (zh) * 2020-03-06 2021-09-07 顺丰科技有限公司 三维重建方法、装置、计算机设备和存储介质
US11450024B2 (en) * 2020-07-17 2022-09-20 Zebra Technologies Corporation Mixed depth object detection
US11983916B2 (en) * 2020-11-11 2024-05-14 Ubtech Robotics Corp Ltd Relocation method, mobile machine using the same, and computer readable storage medium
US11928823B2 (en) * 2021-06-23 2024-03-12 Zebra Technologies Corporation Transient sensor monitoring definitions for edge computing devices

Family Cites Families (363)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5214615A (en) 1990-02-26 1993-05-25 Will Bauer Three-dimensional displacement of a body with computer interface
US5408322A (en) 1993-04-26 1995-04-18 Materials Research Corporation Self aligning in-situ ellipsometer and method of using for process monitoring
JP3311830B2 (ja) 1993-09-20 2002-08-05 株式会社東芝 3次元動画作成装置
KR100197676B1 (ko) 1993-09-27 1999-06-15 윤종용 로보트 청소기
AU1333895A (en) 1993-11-30 1995-06-19 Raymond R. Burke Computer system for allowing a consumer to purchase packaged goods at home
US5414268A (en) 1994-02-01 1995-05-09 The Coe Manufacturing Company Light scanner with interlaced camera fields and parallel light beams
JPH0996672A (ja) 1995-09-29 1997-04-08 Sukuuea:Kk 3次元位置データ生成システムおよび方法
US20020014533A1 (en) 1995-12-18 2002-02-07 Xiaxun Zhu Automated object dimensioning system employing contour tracing, vertice detection, and forner point detection and reduction methods on 2-d range data maps
US6034379A (en) 1996-03-01 2000-03-07 Intermec Ip Corp. Code reader having replaceable optics assemblies supporting multiple illuminators
US5831719A (en) 1996-04-12 1998-11-03 Holometrics, Inc. Laser scanning system
US5988862A (en) 1996-04-24 1999-11-23 Cyra Technologies, Inc. Integrated system for quickly and accurately imaging and modeling three dimensional objects
US6075905A (en) 1996-07-17 2000-06-13 Sarnoff Corporation Method and apparatus for mosaic image construction
US5953055A (en) 1996-08-08 1999-09-14 Ncr Corporation System and method for detecting and analyzing a queue
JP3371279B2 (ja) 1997-03-10 2003-01-27 ペンタックス プレシジョン株式会社 Tvカメラ用レンズの選択方法および選択装置
US6026376A (en) 1997-04-15 2000-02-15 Kenney; John A. Interactive electronic shopping system and method
GB2330265A (en) 1997-10-10 1999-04-14 Harlequin Group Limited The Image compositing using camera data
IL122079A (en) 1997-10-30 2002-02-10 Netmor Ltd Ultrasound system for positioning and tracking
WO1999023600A1 (en) 1997-11-04 1999-05-14 The Trustees Of Columbia University In The City Of New York Video signal face region detection
US6975764B1 (en) 1997-11-26 2005-12-13 Cognex Technology And Investment Corporation Fast high-accuracy multi-dimensional pattern inspection
US7016539B1 (en) 1998-07-13 2006-03-21 Cognex Corporation Method for fast, robust, multi-dimensional pattern recognition
US6332098B2 (en) 1998-08-07 2001-12-18 Fedex Corporation Methods for shipping freight
US6820895B2 (en) 1998-09-23 2004-11-23 Vehicle Safety Systems, Inc. Vehicle air bag minimum distance enforcement apparatus, method and system
US6442507B1 (en) 1998-12-29 2002-08-27 Wireless Communications, Inc. System for creating a computer model and measurement database of a wireless communication network
US6711293B1 (en) 1999-03-08 2004-03-23 The University Of British Columbia Method and apparatus for identifying scale invariant features in an image and use of same for locating an object in an image
US6388688B1 (en) 1999-04-06 2002-05-14 Vergics Corporation Graph-based visual navigation through spatial environments
US6850946B1 (en) 1999-05-26 2005-02-01 Wireless Valley Communications, Inc. Method and system for a building database manipulator
US6711283B1 (en) 2000-05-03 2004-03-23 Aperio Technologies, Inc. Fully automatic rapid microscope slide scanner
WO2002005562A2 (en) 2000-07-11 2002-01-17 Mediaflow, Llc Video compression using adaptive selection of groups of frames, adaptive bit allocation, and adaptive replenishment
GB0020850D0 (en) 2000-08-23 2000-10-11 Univ London A system and method for intelligent modelling of public spaces
TW512478B (en) 2000-09-14 2002-12-01 Olympus Optical Co Alignment apparatus
US7054509B2 (en) 2000-10-21 2006-05-30 Cardiff Software, Inc. Determining form identification through the spatial relationship of input data
BR0115469A (pt) 2000-11-21 2003-08-19 Michael Stuart Gardner Marcação de etiqueta
US7068852B2 (en) 2001-01-23 2006-06-27 Zoran Corporation Edge detection and sharpening process for an image
JP2002321698A (ja) 2001-04-27 2002-11-05 Mitsubishi Heavy Ind Ltd 航空貨物運搬用ボーディング・ブリッジ
US7277187B2 (en) 2001-06-29 2007-10-02 Quantronix, Inc. Overhead dimensioning system and method
US7046273B2 (en) 2001-07-02 2006-05-16 Fuji Photo Film Co., Ltd System and method for collecting image information
US6995762B1 (en) 2001-09-13 2006-02-07 Symbol Technologies, Inc. Measurement of dimensions of solid objects from two-dimensional image(s)
CA2460892A1 (en) 2001-09-18 2003-03-27 Pro-Corp Holdings International Limited Image recognition inventory management system
US6722568B2 (en) 2001-11-20 2004-04-20 Ncr Corporation Methods and apparatus for detection and processing of supplemental bar code labels
US7233699B2 (en) 2002-03-18 2007-06-19 National Instruments Corporation Pattern matching using multiple techniques
US20060106742A1 (en) 2002-04-29 2006-05-18 Speed Trac Technologies, Inc. System and method for weighing and tracking freight
US7149749B2 (en) 2002-06-03 2006-12-12 International Business Machines Corporation Method of inserting and deleting leaves in tree table structures
US6928194B2 (en) 2002-09-19 2005-08-09 M7 Visual Intelligence, Lp System for mosaicing digital ortho-images
EP1434170A3 (de) 2002-11-07 2006-04-05 Matsushita Electric Industrial Co., Ltd. Verfahren und Vorrichtung zum Hinzufügen von Verzierungen an einem Bild einer Person
JP3862652B2 (ja) 2002-12-10 2006-12-27 キヤノン株式会社 印刷制御方法及び情報処理装置
US7248754B2 (en) 2003-05-05 2007-07-24 International Business Machines Corporation Apparatus and method for determining whether machine readable information on an item matches the item
US7137207B2 (en) 2003-06-23 2006-11-21 Armstrong Timothy D Measuring arrangement to determine location of corners for a building foundation and a wooden base frame, and the use thereof
US7090135B2 (en) 2003-07-07 2006-08-15 Symbol Technologies, Inc. Imaging arrangement and barcode imager for imaging an optical code or target at a plurality of focal planes
US7493336B2 (en) 2003-07-22 2009-02-17 International Business Machines Corporation System and method of updating planogram information using RFID tags and personal shopping device
DE10336638A1 (de) 2003-07-25 2005-02-10 Robert Bosch Gmbh Vorrichtung zur Klassifizierung wengistens eines Objekts in einem Fahrzeugumfeld
TWI266035B (en) 2003-11-11 2006-11-11 Hon Hai Prec Ind Co Ltd A system and method for measuring point-cloud
SE0400556D0 (sv) 2004-03-05 2004-03-05 Pricer Ab Electronic shelf labelling system, electronic label, handheld device and method in an electronic labelling system
WO2005098475A1 (en) 2004-03-29 2005-10-20 Evolution Robotics, Inc. Sensing device and method for measuring position and orientation relative to multiple light sources
JP2007530978A (ja) 2004-03-29 2007-11-01 エヴォリューション ロボティクス インコーポレイテッド 反射光源を使用する位置推定方法および装置
US7885865B2 (en) 2004-05-11 2011-02-08 The Kroger Co. System and method for mapping of planograms
US7245558B2 (en) 2004-06-18 2007-07-17 Symbol Technologies, Inc. System and method for detection using ultrasonic waves
US7168618B2 (en) 2004-08-12 2007-01-30 International Business Machines Corporation Retail store method and system
US8207964B1 (en) 2008-02-22 2012-06-26 Meadow William D Methods and apparatus for generating three-dimensional image data models
US7643665B2 (en) 2004-08-31 2010-01-05 Semiconductor Insights Inc. Method of design analysis of existing integrated circuits
WO2006065563A2 (en) 2004-12-14 2006-06-22 Sky-Trax Incorporated Method and apparatus for determining position and rotational orientation of an object
US7783383B2 (en) 2004-12-22 2010-08-24 Intelligent Hospital Systems Ltd. Automated pharmacy admixture system (APAS)
US20060164682A1 (en) 2005-01-25 2006-07-27 Dspv, Ltd. System and method of improving the legibility and applicability of document pictures using form based image enhancement
US7440903B2 (en) 2005-01-28 2008-10-21 Target Brands, Inc. System and method for evaluating and recommending planograms
DE102005007536A1 (de) 2005-02-17 2007-01-04 Isra Vision Systems Ag Verfahren zur Kalibrierung eines Messsystems
US7751928B1 (en) 2005-03-11 2010-07-06 Amazon Technologies, Inc. Method and system for agent exchange-based materials handling
AU2006236789A1 (en) 2005-04-13 2006-10-26 Store Eyes, Inc. System and method for measuring display compliance
US20080175513A1 (en) 2005-04-19 2008-07-24 Ming-Jun Lai Image Edge Detection Systems and Methods
US8294809B2 (en) 2005-05-10 2012-10-23 Advanced Scientific Concepts, Inc. Dimensioning system
US7590053B2 (en) 2005-06-21 2009-09-15 Alcatel Lucent Multiple endpoint protection using SPVCs
CN101248330B (zh) 2005-06-28 2015-06-17 斯甘拉伊斯股份有限公司 相对于参考测量和绘制表面的系统和方法
US7817826B2 (en) 2005-08-12 2010-10-19 Intelitrac Inc. Apparatus and method for partial component facial recognition
US8625854B2 (en) 2005-09-09 2014-01-07 Industrial Research Limited 3D scene scanner and a position and orientation system
WO2007042251A2 (en) 2005-10-10 2007-04-19 Nordic Bioscience A/S A method of segmenting an image
US7605817B2 (en) 2005-11-09 2009-10-20 3M Innovative Properties Company Determining camera motion
US7508794B2 (en) 2005-11-29 2009-03-24 Cisco Technology, Inc. Authorizing an endpoint node for a communication service
US8577538B2 (en) 2006-07-14 2013-11-05 Irobot Corporation Method and system for controlling a remote vehicle
JP4730121B2 (ja) 2006-02-07 2011-07-20 ソニー株式会社 画像処理装置および方法、記録媒体、並びに、プログラム
US20070197895A1 (en) 2006-02-17 2007-08-23 Sdgi Holdings, Inc. Surgical instrument to assess tissue characteristics
US8157205B2 (en) 2006-03-04 2012-04-17 Mcwhirk Bruce Kimberly Multibody aircrane
US20100171826A1 (en) 2006-04-12 2010-07-08 Store Eyes, Inc. Method for measuring retail display and compliance
EP1850270B1 (de) 2006-04-28 2010-06-09 Toyota Motor Europe NV Robuster Detektor und Deskriptor für einen Interessenspunkt
CA2545118C (en) 2006-04-28 2011-07-05 Global Sensor Systems Inc. Device for measuring package size
US20070272732A1 (en) 2006-05-26 2007-11-29 Mettler-Toledo, Inc. Weighing and dimensioning system and method for weighing and dimensioning
EP2041516A2 (de) 2006-06-22 2009-04-01 Roy Sandberg Verfahren und vorrichtung zur planung, auswahl und visualisierung von roboterwegen
JP4910507B2 (ja) 2006-06-29 2012-04-04 コニカミノルタホールディングス株式会社 顔認証システム及び顔認証方法
US7647752B2 (en) 2006-07-12 2010-01-19 Greg Magnell System and method for making custom boxes for objects of random size or shape
US7940955B2 (en) 2006-07-26 2011-05-10 Delphi Technologies, Inc. Vision-based method of determining cargo status by boundary detection
US7693757B2 (en) 2006-09-21 2010-04-06 International Business Machines Corporation System and method for performing inventory using a mobile inventory robot
CA2668364C (en) 2006-11-02 2016-06-14 Queen's University At Kingston Method and apparatus for assessing proprioceptive function
WO2008057504A2 (en) 2006-11-06 2008-05-15 Aman James A Load tracking system based on self- tracking forklift
US8531457B2 (en) 2006-11-29 2013-09-10 Technion Research And Development Foundation Ltd. Apparatus and method for finding visible points in a cloud point
US7474389B2 (en) 2006-12-19 2009-01-06 Dean Greenberg Cargo dimensional and weight analyzing system
US8189926B2 (en) 2006-12-30 2012-05-29 Videomining Corporation Method and system for automatically analyzing categories in a physical space based on the visual characterization of people
US20080164310A1 (en) 2007-01-09 2008-07-10 Dupuy Charles G Labeling system
JP4878644B2 (ja) 2007-03-15 2012-02-15 学校法人 関西大学 移動物体ノイズ除去処理装置及び移動物体ノイズ除去処理プログラム
US7940279B2 (en) 2007-03-27 2011-05-10 Utah State University System and method for rendering of texel imagery
US8132728B2 (en) 2007-04-04 2012-03-13 Sick, Inc. Parcel dimensioning measurement system and method
US8094937B2 (en) 2007-04-17 2012-01-10 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. System and method for labeling feature clusters in frames of image data for optical navigation
JP4561769B2 (ja) 2007-04-27 2010-10-13 アイシン・エィ・ダブリュ株式会社 経路案内システム及び経路案内方法
WO2008134562A2 (en) 2007-04-27 2008-11-06 Nielsen Media Research, Inc. Methods and apparatus to monitor in-store media and consumer traffic related to retail environments
EP2158576A1 (de) 2007-06-08 2010-03-03 Tele Atlas B.V. Verfahren und vorrichtung zum produzieren eines panoramas mit mehreren ansichtspunkten
EP2165289A4 (de) 2007-06-11 2012-07-04 Hand Held Prod Inc Optisches lesesystem zum extrahieren von informationen aus einem digitalen bild
US7982423B2 (en) 2007-07-04 2011-07-19 Bossa Nova Concepts, Llc Statically stable biped robotic mechanism and method of actuating
JP4661838B2 (ja) 2007-07-18 2011-03-30 トヨタ自動車株式会社 経路計画装置及び方法、コスト評価装置、並びに移動体
KR100922494B1 (ko) 2007-07-19 2009-10-20 삼성전자주식회사 이동 로봇의 자세 측정 방법 및 상기 방법을 이용한 위치측정 방법 및 장치
US7726575B2 (en) 2007-08-10 2010-06-01 Hand Held Products, Inc. Indicia reading terminal having spatial measurement functionality
US8950673B2 (en) 2007-08-30 2015-02-10 Symbol Technologies, Inc. Imaging system for reading target with multiple symbols
US8189855B2 (en) 2007-08-31 2012-05-29 Accenture Global Services Limited Planogram extraction based on image processing
US8009864B2 (en) 2007-08-31 2011-08-30 Accenture Global Services Limited Determination of inventory conditions based on image processing
US7949568B2 (en) 2007-08-31 2011-05-24 Accenture Global Services Limited Determination of product display parameters based on image processing
US9135491B2 (en) 2007-08-31 2015-09-15 Accenture Global Services Limited Digital point-of-sale analyzer
US8630924B2 (en) 2007-08-31 2014-01-14 Accenture Global Services Limited Detection of stock out conditions based on image processing
US8295590B2 (en) 2007-09-14 2012-10-23 Abbyy Software Ltd. Method and system for creating a form template for a form
JP4466705B2 (ja) 2007-09-21 2010-05-26 ヤマハ株式会社 ナビゲーション装置
US8396284B2 (en) 2007-10-23 2013-03-12 Leica Geosystems Ag Smart picking in 3D point clouds
US8091782B2 (en) 2007-11-08 2012-01-10 International Business Machines Corporation Using cameras to monitor actual inventory
US20090125350A1 (en) 2007-11-14 2009-05-14 Pieter Lessing System and method for capturing and storing supply chain and logistics support information in a relational database system
US20090160975A1 (en) 2007-12-19 2009-06-25 Ncr Corporation Methods and Apparatus for Improved Image Processing to Provide Retroactive Image Focusing and Improved Depth of Field in Retail Imaging Systems
US8423431B1 (en) 2007-12-20 2013-04-16 Amazon Technologies, Inc. Light emission guidance
US20090192921A1 (en) 2008-01-24 2009-07-30 Michael Alan Hicks Methods and apparatus to survey a retail environment
US8353457B2 (en) 2008-02-12 2013-01-15 Datalogic ADC, Inc. Systems and methods for forming a composite image of multiple portions of an object from multiple perspectives
US7971664B2 (en) 2008-03-18 2011-07-05 Bossa Nova Robotics Ip, Inc. Efficient actuation and selective engaging and locking clutch mechanisms for reconfiguration and multiple-behavior locomotion of an at least two-appendage robot
US9766074B2 (en) 2008-03-28 2017-09-19 Regents Of The University Of Minnesota Vision-aided inertial navigation
US8064729B2 (en) 2008-04-03 2011-11-22 Seiko Epson Corporation Image skew detection apparatus and methods
US20150170256A1 (en) 2008-06-05 2015-06-18 Aisle411, Inc. Systems and Methods for Presenting Information Associated With a Three-Dimensional Location on a Two-Dimensional Display
JP4720859B2 (ja) 2008-07-09 2011-07-13 カシオ計算機株式会社 画像処理装置、画像処理方法およびプログラム
US8184196B2 (en) 2008-08-05 2012-05-22 Qualcomm Incorporated System and method to generate depth data using edge detection
US9841314B2 (en) 2008-08-29 2017-12-12 United Parcel Service Of America, Inc. Systems and methods for freight tracking and monitoring
US9824495B2 (en) 2008-09-11 2017-11-21 Apple Inc. Method and system for compositing an augmented reality scene
US20100070365A1 (en) 2008-09-12 2010-03-18 At&T Intellectual Property I, L.P. Planogram guided shopping
EP2733640B1 (de) 2008-09-14 2018-11-07 Eliezer Magal Automatisches identifikationssystem für zufällig orientierte objekte
US20100091094A1 (en) 2008-10-14 2010-04-15 Marek Sekowski Mechanism for Directing a Three-Dimensional Camera System
US8737168B2 (en) 2008-10-20 2014-05-27 Siva Somasundaram System and method for automatic determination of the physical location of data center equipment
US8479996B2 (en) 2008-11-07 2013-07-09 Symbol Technologies, Inc. Identification of non-barcoded products
KR101234798B1 (ko) 2008-11-24 2013-02-20 삼성전자주식회사 이동 로봇의 위치 측정 방법 및 장치
US8463079B2 (en) 2008-12-16 2013-06-11 Intermec Ip Corp. Method and apparatus for geometrical measurement using an optical device such as a barcode and/or RFID scanner
US8812226B2 (en) 2009-01-26 2014-08-19 GM Global Technology Operations LLC Multiobject fusion module for collision preparation system
US8265895B2 (en) 2009-03-27 2012-09-11 Symbol Technologies, Inc. Interactive sensor systems and methods for dimensioning
US8284988B2 (en) 2009-05-13 2012-10-09 Applied Vision Corporation System and method for dimensioning objects using stereoscopic imaging
US8743176B2 (en) 2009-05-20 2014-06-03 Advanced Scientific Concepts, Inc. 3-dimensional hybrid camera and production system
US8049621B1 (en) 2009-05-28 2011-11-01 Walgreen Co. Method and apparatus for remote merchandise planogram auditing and reporting
US8542252B2 (en) 2009-05-29 2013-09-24 Microsoft Corporation Target digitization, extraction, and tracking
US8933925B2 (en) 2009-06-15 2015-01-13 Microsoft Corporation Piecewise planar reconstruction of three-dimensional scenes
US7997430B2 (en) 2009-06-30 2011-08-16 Target Brands, Inc. Display apparatus and method
US20120019393A1 (en) 2009-07-31 2012-01-26 Robert Wolinsky System and method for tracking carts in a retail environment
CA2712576C (en) 2009-08-11 2012-04-10 Certusview Technologies, Llc Systems and methods for complex event processing of vehicle-related information
WO2011022716A1 (en) 2009-08-21 2011-02-24 Syngenta Participations Ag Crop automated relative maturity system
KR101619076B1 (ko) 2009-08-25 2016-05-10 삼성전자 주식회사 모바일 플랫폼의 동적 물체 검출 및 추적 방법
US8942884B2 (en) 2010-01-14 2015-01-27 Innovative Transport Solutions, Llc Transport system
US20130278631A1 (en) 2010-02-28 2013-10-24 Osterhout Group, Inc. 3d positioning of augmented reality information
US20110216063A1 (en) 2010-03-08 2011-09-08 Celartem, Inc. Lidar triangular network compression
US8456518B2 (en) 2010-03-31 2013-06-04 James Cameron & Vincent Pace Stereoscopic camera with automatic obstruction removal
US8570343B2 (en) 2010-04-20 2013-10-29 Dassault Systemes Automatic generation of 3D models from packaged goods product images
US8619265B2 (en) 2011-03-14 2013-12-31 Faro Technologies, Inc. Automatic measurement of dimensional data with a laser tracker
US8199977B2 (en) 2010-05-07 2012-06-12 Honeywell International Inc. System and method for extraction of features from a 3-D point cloud
US9109877B2 (en) 2010-05-21 2015-08-18 Jonathan S. Thierman Method and apparatus for dimensional measurement
US8134717B2 (en) 2010-05-21 2012-03-13 LTS Scale Company Dimensional detection system and associated method
US20110310088A1 (en) 2010-06-17 2011-12-22 Microsoft Corporation Personalized navigation through virtual 3d environments
US20120022913A1 (en) 2010-07-20 2012-01-26 Target Brands, Inc. Planogram Generation for Peg and Shelf Items
JP4914528B1 (ja) 2010-08-31 2012-04-11 新日鉄ソリューションズ株式会社 拡張現実提供システム、情報処理端末、情報処理装置、拡張現実提供方法、情報処理方法、及びプログラム
DK2612297T3 (da) 2010-09-03 2017-11-13 California Inst Of Techn Tredimensionelt billedsystem
US8872851B2 (en) 2010-09-24 2014-10-28 Intel Corporation Augmenting image data based on related 3D point cloud data
EP2439487B1 (de) 2010-10-06 2012-08-22 Sick Ag Volumenmessvorrichtung für bewegte Objekte
US8174931B2 (en) 2010-10-08 2012-05-08 HJ Laboratories, LLC Apparatus and method for providing indoor location, position, or tracking of a mobile computer using building information
US9171442B2 (en) 2010-11-19 2015-10-27 Tyco Fire & Security Gmbh Item identification using video recognition to supplement bar code or RFID information
US20120133639A1 (en) 2010-11-30 2012-05-31 Microsoft Corporation Strip panorama
US20120250984A1 (en) 2010-12-01 2012-10-04 The Trustees Of The University Of Pennsylvania Image segmentation for distributed target tracking and scene analysis
US9317761B2 (en) 2010-12-09 2016-04-19 Nanyang Technological University Method and an apparatus for determining vein patterns from a colour image
US8773946B2 (en) 2010-12-30 2014-07-08 Honeywell International Inc. Portable housings for generation of building maps
US8744644B2 (en) 2011-01-19 2014-06-03 Electronics And Telecommunications Research Institute Apparatus and method for detecting location of vehicle
KR101758058B1 (ko) 2011-01-20 2017-07-17 삼성전자주식회사 깊이 정보를 이용한 카메라 모션 추정 방법 및 장치, 증강 현실 시스템
US8939369B2 (en) 2011-01-24 2015-01-27 Datalogic ADC, Inc. Exception detection and handling in automated optical code reading systems
US20120190453A1 (en) 2011-01-25 2012-07-26 Bossa Nova Robotics Ip, Inc. System and method for online-offline interactive experience
US20120191880A1 (en) 2011-01-26 2012-07-26 Bossa Nova Robotics IP, Inc System and method for identifying accessories connected to apparatus
KR20140040094A (ko) 2011-01-28 2014-04-02 인터치 테크놀로지스 인코퍼레이티드 이동형 원격현전 로봇과의 인터페이싱
US9207302B2 (en) 2011-01-30 2015-12-08 Xueming Jiang Fully-automatic verification system for intelligent electric energy meters
US8711206B2 (en) 2011-01-31 2014-04-29 Microsoft Corporation Mobile camera localization using depth maps
US8447549B2 (en) 2011-02-11 2013-05-21 Quality Vision International, Inc. Tolerance evaluation with reduced measured points
US8660338B2 (en) 2011-03-22 2014-02-25 Honeywell International Inc. Wide baseline feature matching using collobrative navigation and digital terrain elevation data constraints
US20140019311A1 (en) 2011-03-31 2014-01-16 Nec Corporation Store system, control method thereof, and non-transitory computer-readable medium storing a control program thereof
US8693725B2 (en) 2011-04-19 2014-04-08 International Business Machines Corporation Reliability in detecting rail crossing events
US9854209B2 (en) 2011-04-19 2017-12-26 Ford Global Technologies, Llc Display system utilizing vehicle and trailer dynamics
WO2012155104A1 (en) 2011-05-11 2012-11-15 Proiam, Llc Enrollment apparatus, system, and method featuring three dimensional camera
US8902353B2 (en) 2011-05-12 2014-12-02 Symbol Technologies, Inc. Imaging reader with independently controlled illumination rate
US20120287249A1 (en) 2011-05-12 2012-11-15 Electronics And Telecommunications Research Institute Method for obtaining depth information and apparatus using the same
US9785898B2 (en) 2011-06-20 2017-10-10 Hi-Tech Solutions Ltd. System and method for identifying retail products and determining retail product arrangements
US9064394B1 (en) 2011-06-22 2015-06-23 Alarm.Com Incorporated Virtual sensors
US9070285B1 (en) 2011-07-25 2015-06-30 UtopiaCompression Corporation Passive camera based cloud detection and avoidance for aircraft systems
WO2013016518A1 (en) 2011-07-27 2013-01-31 Mine Safety Appliances Company Navigational deployment and initialization systems and methods
KR101907081B1 (ko) 2011-08-22 2018-10-11 삼성전자주식회사 3차원 점군의 물체 분리 방법
US9367770B2 (en) 2011-08-30 2016-06-14 Digimarc Corporation Methods and arrangements for identifying objects
US9129277B2 (en) 2011-08-30 2015-09-08 Digimarc Corporation Methods and arrangements for identifying objects
TWI622540B (zh) 2011-09-09 2018-05-01 辛波提克有限責任公司 自動化儲存及取放系統
US9002099B2 (en) 2011-09-11 2015-04-07 Apple Inc. Learning-based estimation of hand and finger pose
US11074495B2 (en) 2013-02-28 2021-07-27 Z Advanced Computing, Inc. (Zac) System and method for extremely efficient image and pattern recognition and artificial intelligence platform
US9033239B2 (en) 2011-11-11 2015-05-19 James T. Winkel Projected image planogram system
EP2776216B1 (de) 2011-11-11 2022-08-31 iRobot Corporation Robotervorrichtung und steuerverfahren zur wiederaufnahme des betriebs nach einer unterbrechung.
US9159047B2 (en) 2011-11-11 2015-10-13 James T. Winkel Projected image planogram system
US8726200B2 (en) 2011-11-23 2014-05-13 Taiwan Semiconductor Manufacturing Co., Ltd. Recognition of template patterns with mask information
US8706293B2 (en) 2011-11-29 2014-04-22 Cereson Co., Ltd. Vending machine with automated detection of product position
US8793107B2 (en) 2011-12-01 2014-07-29 Harris Corporation Accuracy-based significant point derivation from dense 3D point clouds for terrain modeling
CN103164842A (zh) 2011-12-14 2013-06-19 鸿富锦精密工业(深圳)有限公司 点云提取系统及方法
US20130154802A1 (en) 2011-12-19 2013-06-20 Symbol Technologies, Inc. Method and apparatus for updating a central plan for an area based on a location of a plurality of radio frequency identification readers
US20130162806A1 (en) 2011-12-23 2013-06-27 Mitutoyo Corporation Enhanced edge focus tool
CN104135898B (zh) 2012-01-06 2017-04-05 日升研发控股有限责任公司 陈列架模块和组合式陈列架系统
EP2615580B1 (de) 2012-01-13 2016-08-17 Softkinetic Software Automatische Szenenkalibrierung
US9740937B2 (en) 2012-01-17 2017-08-22 Avigilon Fortress Corporation System and method for monitoring a retail environment using video content analysis with depth sensing
US9037287B1 (en) 2012-02-17 2015-05-19 National Presort, Inc. System and method for optimizing a mail document sorting machine
US8958911B2 (en) 2012-02-29 2015-02-17 Irobot Corporation Mobile robot
ES2535122T3 (es) 2012-03-01 2015-05-05 Caljan Rite-Hite Aps Transportador extensible con luz
US8668136B2 (en) 2012-03-01 2014-03-11 Trimble Navigation Limited Method and system for RFID-assisted imaging
US9329269B2 (en) 2012-03-15 2016-05-03 GM Global Technology Operations LLC Method for registration of range images from multiple LiDARS
US8989342B2 (en) 2012-04-18 2015-03-24 The Boeing Company Methods and systems for volumetric reconstruction using radiography
US9153061B2 (en) 2012-05-04 2015-10-06 Qualcomm Incorporated Segmentation of 3D point clouds for dense 3D modeling
US9525976B2 (en) 2012-05-10 2016-12-20 Honeywell International Inc. BIM-aware location based application
WO2013170260A1 (en) 2012-05-11 2013-11-14 Proiam, Llc Hand held dimension capture apparatus, system, and method
US8941645B2 (en) 2012-05-11 2015-01-27 Dassault Systemes Comparing virtual and real images in a shopping experience
US9846960B2 (en) 2012-05-31 2017-12-19 Microsoft Technology Licensing, Llc Automated camera array calibration
US9135543B2 (en) 2012-06-20 2015-09-15 Apple Inc. Compression and obfuscation of three-dimensional coding
US20140003655A1 (en) 2012-06-29 2014-01-02 Praveen Gopalakrishnan Method, apparatus and system for providing image data to represent inventory
US9420265B2 (en) 2012-06-29 2016-08-16 Mitsubishi Electric Research Laboratories, Inc. Tracking poses of 3D camera using points and planes
US9418352B2 (en) 2012-06-29 2016-08-16 Intel Corporation Image-augmented inventory management and wayfinding
US8971637B1 (en) 2012-07-16 2015-03-03 Matrox Electronic Systems Ltd. Method and system for identifying an edge in an image
KR101441187B1 (ko) 2012-07-19 2014-09-18 고려대학교 산학협력단 자율 보행 로봇 경로 계획 방법
US9651363B2 (en) 2012-07-24 2017-05-16 Datalogic Usa, Inc. Systems and methods of object measurement in an automated data reader
EP2693362B1 (de) 2012-07-31 2015-06-17 Sick Ag Erfassungssystem zur Montage an einem Förderband
US8757479B2 (en) 2012-07-31 2014-06-24 Xerox Corporation Method and system for creating personalized packaging
US8923893B2 (en) 2012-08-07 2014-12-30 Symbol Technologies, Inc. Real-time planogram generation and maintenance
US20140047342A1 (en) 2012-08-07 2014-02-13 Advanced Micro Devices, Inc. System and method for allocating a cluster of nodes for a cloud computing system based on hardware characteristics
CN103679164A (zh) 2012-09-21 2014-03-26 阿里巴巴集团控股有限公司 一种基于移动终端的标志识别处理方法和系统
US9939259B2 (en) 2012-10-04 2018-04-10 Hand Held Products, Inc. Measuring object dimensions using mobile computer
US20140192050A1 (en) 2012-10-05 2014-07-10 University Of Southern California Three-dimensional point processing and model generation
FR2996512B1 (fr) 2012-10-05 2014-11-21 Renault Sa Procede d'evaluation du risque de collision a une intersection
US9472022B2 (en) 2012-10-05 2016-10-18 University Of Southern California Three-dimensional point processing and model generation
US9841311B2 (en) 2012-10-16 2017-12-12 Hand Held Products, Inc. Dimensioning system
WO2014066422A2 (en) 2012-10-22 2014-05-01 Bossa Nova Robotics Ip, Inc. Self-deploying support member, and methods and apparatus using same
US9635606B2 (en) 2012-11-04 2017-04-25 Kt Corporation Access point selection and management
EP2915563B1 (de) 2012-11-05 2018-04-18 Mitsubishi Electric Corporation System zur erfassung dreidimensionaler bilder und partikelstrahltherapievorrichtung
US9562971B2 (en) 2012-11-22 2017-02-07 Geosim Systems Ltd. Point-cloud fusion
US8825258B2 (en) 2012-11-30 2014-09-02 Google Inc. Engaging and disengaging for autonomous driving
US9380222B2 (en) 2012-12-04 2016-06-28 Symbol Technologies, Llc Transmission of images for inventory monitoring
US10701149B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having origin services
MY172143A (en) 2012-12-13 2019-11-14 Mimos Berhad Method for non-static foreground feature extraction and classification
US20140195373A1 (en) 2013-01-10 2014-07-10 International Business Machines Corporation Systems and methods for managing inventory in a shopping store
US20140214547A1 (en) 2013-01-25 2014-07-31 R4 Technologies, Llc Systems and methods for augmented retail reality
US9154773B2 (en) 2013-03-15 2015-10-06 Seiko Epson Corporation 2D/3D localization and pose estimation of harness cables using a configurable structure representation for robot operations
TWI594933B (zh) 2013-03-15 2017-08-11 辛波提克有限責任公司 自動化貯藏及取放系統
US8965561B2 (en) 2013-03-15 2015-02-24 Cybernet Systems Corporation Automated warehousing using robotic forklifts
US9558559B2 (en) 2013-04-05 2017-01-31 Nokia Technologies Oy Method and apparatus for determining camera location information and/or camera pose information according to a global coordinate system
WO2014181323A1 (en) 2013-05-05 2014-11-13 Trax Technology Solutions Pte Ltd. System and method of retail image analysis
CN105246744A (zh) 2013-05-29 2016-01-13 丰田自动车株式会社 驻车支援装置
US9158988B2 (en) 2013-06-12 2015-10-13 Symbol Technclogies, LLC Method for detecting a plurality of instances of an object
US10268983B2 (en) 2013-06-26 2019-04-23 Amazon Technologies, Inc. Detecting item interaction and movement
US9443297B2 (en) 2013-07-10 2016-09-13 Cognex Corporation System and method for selective determination of point clouds
US10290031B2 (en) 2013-07-24 2019-05-14 Gregorio Reid Method and system for automated retail checkout using context recognition
US9473747B2 (en) 2013-07-25 2016-10-18 Ncr Corporation Whole store scanner
WO2015017242A1 (en) 2013-07-28 2015-02-05 Deluca Michael J Augmented reality based user interfacing
US20150088618A1 (en) 2013-08-26 2015-03-26 Ims Solutions, Inc. Road tolling
US9886678B2 (en) 2013-09-25 2018-02-06 Sap Se Graphic representations of planograms
US9615012B2 (en) 2013-09-30 2017-04-04 Google Inc. Using a second camera to adjust settings of first camera
US9248611B2 (en) 2013-10-07 2016-02-02 David A. Divine 3-D printed packaging
US20150106403A1 (en) 2013-10-15 2015-04-16 Indooratlas Oy Generating search database based on sensor measurements
US9412040B2 (en) 2013-12-04 2016-08-09 Mitsubishi Electric Research Laboratories, Inc. Method for extracting planes from 3D point cloud sensor data
US9349076B1 (en) 2013-12-20 2016-05-24 Amazon Technologies, Inc. Template-based target object detection in an image
US9565400B1 (en) 2013-12-20 2017-02-07 Amazon Technologies, Inc. Automatic imaging device selection for video analytics
EP3108686B1 (de) 2014-02-21 2019-06-19 Telefonaktiebolaget LM Ericsson (publ) Wlan-durchsatzvorhersage
MY177646A (en) 2014-02-28 2020-09-23 Icm Airport Technics Australia Pty Ltd Luggage processing station and system thereof
US10203762B2 (en) 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US20150262116A1 (en) 2014-03-16 2015-09-17 International Business Machines Corporation Machine vision technology for shelf inventory management
US9953420B2 (en) 2014-03-25 2018-04-24 Ford Global Technologies, Llc Camera calibration
CN103945208B (zh) 2014-04-24 2015-10-28 西安交通大学 一种针对多视点裸眼3d显示的并行同步缩放引擎及方法
CA2951151A1 (en) 2014-06-04 2015-12-10 Intelligrated Headquarters Llc Truck unloader visualization
CN104023249B (zh) 2014-06-12 2015-10-21 腾讯科技(深圳)有限公司 电视频道识别方法和装置
US9659204B2 (en) 2014-06-13 2017-05-23 Conduent Business Services, Llc Image processing methods and systems for barcode and/or product label recognition
US10453046B2 (en) 2014-06-13 2019-10-22 Conduent Business Services, Llc Store shelf imaging system
US10176452B2 (en) 2014-06-13 2019-01-08 Conduent Business Services Llc Store shelf imaging system and method
US9542746B2 (en) 2014-06-13 2017-01-10 Xerox Corporation Method and system for spatial characterization of an imaging system
CN106662451B (zh) 2014-06-27 2018-04-24 克朗设备公司 使用关联特征对的丢失车辆恢复
US11051000B2 (en) 2014-07-14 2021-06-29 Mitsubishi Electric Research Laboratories, Inc. Method for calibrating cameras with non-overlapping views
DE102014011821A1 (de) 2014-08-08 2016-02-11 Cargometer Gmbh Vorrichtung und Verfahren zur Volumenbestimmung eines durch ein Flurförderzeug bewegten Objekts
US20160044862A1 (en) 2014-08-14 2016-02-18 Raven Industries, Inc. Site specific product application device and method
CN104200086B (zh) 2014-08-25 2017-02-22 西北工业大学 宽基线可见光相机位姿估计方法
US20160061591A1 (en) 2014-08-28 2016-03-03 Lts Metrology, Llc Stationary Dimensioning Apparatus
JP2016057108A (ja) 2014-09-08 2016-04-21 株式会社トプコン 演算装置、演算システム、演算方法およびプログラム
US10365110B2 (en) 2014-09-30 2019-07-30 Nec Corporation Method and system for determining a path of an object for moving from a starting state to an end state set avoiding one or more obstacles
US10296950B2 (en) 2014-09-30 2019-05-21 Apple Inc. Beacon triggered processes
US9576194B2 (en) 2014-10-13 2017-02-21 Klink Technologies Method and system for identity and age verification
US9706105B2 (en) 2014-10-20 2017-07-11 Symbol Technologies, Llc Apparatus and method for specifying and aiming cameras at shelves
US9796093B2 (en) 2014-10-24 2017-10-24 Fellow, Inc. Customer service robot and related systems and methods
US9600892B2 (en) 2014-11-06 2017-03-21 Symbol Technologies, Llc Non-parametric method of and system for estimating dimensions of objects of arbitrary shape
JP5946073B2 (ja) 2014-11-07 2016-07-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 推定方法、推定システム、コンピュータ・システムおよびプログラム
US10022867B2 (en) 2014-11-11 2018-07-17 X Development Llc Dynamically maintaining a map of a fleet of robotic devices in an environment to facilitate robotic action
WO2016081722A1 (en) 2014-11-20 2016-05-26 Cappasity Inc. Systems and methods for 3d capture of objects using multiple range cameras and multiple rgb cameras
US10248653B2 (en) 2014-11-25 2019-04-02 Lionbridge Technologies, Inc. Information technology platform for language translation and task management
US9396554B2 (en) 2014-12-05 2016-07-19 Symbol Technologies, Llc Apparatus for and method of estimating dimensions of an object associated with a code in automatic response to reading the code
US9483704B2 (en) 2014-12-10 2016-11-01 Ricoh Co., Ltd. Realogram scene analysis of images: superpixel scene analysis
US9928708B2 (en) 2014-12-12 2018-03-27 Hawxeye, Inc. Real-time video analysis for security surveillance
US9628695B2 (en) 2014-12-29 2017-04-18 Intel Corporation Method and system of lens shift correction for a camera array
US20160253735A1 (en) 2014-12-30 2016-09-01 Shelfscreen, Llc Closed-Loop Dynamic Content Display System Utilizing Shopper Proximity and Shopper Context Generated in Response to Wireless Data Triggers
US9367831B1 (en) 2015-03-16 2016-06-14 The Nielsen Company (Us), Llc Methods and apparatus for inventory determinations using portable devices
US9600731B2 (en) 2015-04-08 2017-03-21 Toshiba Tec Kabushiki Kaisha Image processing apparatus, image processing method and computer-readable storage medium
US9868443B2 (en) 2015-04-27 2018-01-16 GM Global Technology Operations LLC Reactive path planning for autonomous driving
US10455226B2 (en) 2015-05-26 2019-10-22 Crown Equipment Corporation Systems and methods for image capture device calibration for a materials handling vehicle
US9646410B2 (en) 2015-06-30 2017-05-09 Microsoft Technology Licensing, Llc Mixed three dimensional scene reconstruction from plural surface models
US20170011308A1 (en) 2015-07-09 2017-01-12 SunView Software, Inc. Methods and Systems for Applying Machine Learning to Automatically Solve Problems
US10410096B2 (en) 2015-07-09 2019-09-10 Qualcomm Incorporated Context-based priors for object detection in images
CN111556253B (zh) 2015-07-10 2022-06-14 深圳市大疆创新科技有限公司 生成组合图像的方法及系统、图像的显示方法及系统
US9549125B1 (en) 2015-09-01 2017-01-17 Amazon Technologies, Inc. Focus specification and focus stabilization
GB2542115B (en) 2015-09-03 2017-11-15 Rail Vision Europe Ltd Rail track asset survey system
KR20180049024A (ko) 2015-09-04 2018-05-10 크라운 이큅먼트 코포레이션 특징부-기반 위치파악 및 네비게이션을 이용하는 산업용 차량
US9684081B2 (en) 2015-09-16 2017-06-20 Here Global B.V. Method and apparatus for providing a location data error map
US9517767B1 (en) 2015-11-04 2016-12-13 Zoox, Inc. Internal safety systems for robotic vehicles
US10607182B2 (en) 2015-11-09 2020-03-31 Simbe Robotics, Inc. Method for tracking stock level within a store
US20170150129A1 (en) 2015-11-23 2017-05-25 Chicago Measurement, L.L.C. Dimensioning Apparatus and Method
US10336543B1 (en) 2016-01-21 2019-07-02 Wing Aviation Llc Selective encoding of packages
US10352689B2 (en) 2016-01-28 2019-07-16 Symbol Technologies, Llc Methods and systems for high precision locationing with depth values
US10145955B2 (en) 2016-02-04 2018-12-04 Symbol Technologies, Llc Methods and systems for processing point-cloud data with a line scanner
KR102373926B1 (ko) 2016-02-05 2022-03-14 삼성전자주식회사 이동체 및 이동체의 위치 인식 방법
US10197400B2 (en) 2016-02-25 2019-02-05 Sharp Laboratories Of America, Inc. Calibration methods and systems for an autonomous navigation vehicle
US10229386B2 (en) 2016-03-03 2019-03-12 Ebay Inc. Product tags, systems, and methods for crowdsourcing and electronic article surveillance in retail inventory management
US9928438B2 (en) * 2016-03-10 2018-03-27 Conduent Business Services, Llc High accuracy localization system and method for retail store profiling via product image recognition and its corresponding dimension database
US20170261993A1 (en) 2016-03-10 2017-09-14 Xerox Corporation Systems and methods for robot motion control and improved positional accuracy
US10721451B2 (en) 2016-03-23 2020-07-21 Symbol Technologies, Llc Arrangement for, and method of, loading freight into a shipping container
EP3437031A4 (de) 2016-03-29 2019-11-27 Bossa Nova Robotics IP, Inc. System und verfahren zur ortung, identifizierung und zählung von artikeln
US9805240B1 (en) 2016-04-18 2017-10-31 Symbol Technologies, Llc Barcode scanning and dimensioning
US9791862B1 (en) 2016-04-25 2017-10-17 Thayermahan, Inc. Systems and method for unmanned undersea sensor position, orientation, and depth keeping
EP3454698B1 (de) 2016-05-09 2024-04-17 Grabango Co. System und verfahren für durch computervision angesteuerte anwendungen innerhalb einer umgebung
US10625426B2 (en) 2016-05-19 2020-04-21 Simbe Robotics, Inc. Method for automatically generating planograms of shelving structures within a store
US9639935B1 (en) 2016-05-25 2017-05-02 Gopro, Inc. Apparatus and methods for camera alignment model calibration
US10394244B2 (en) 2016-05-26 2019-08-27 Korea University Research And Business Foundation Method for controlling mobile robot based on Bayesian network learning
CA3028156A1 (en) 2016-06-30 2018-01-04 Bossa Nova Robotics Ip, Inc. Multiple camera system for inventory tracking
US10785418B2 (en) 2016-07-12 2020-09-22 Bossa Nova Robotics Ip, Inc. Glare reduction method and system
US20180025412A1 (en) 2016-07-22 2018-01-25 Focal Systems, Inc. Determining in-store location based on images
US9827683B1 (en) 2016-07-28 2017-11-28 X Development Llc Collaborative inventory monitoring
US20180053091A1 (en) 2016-08-17 2018-02-22 Hawxeye, Inc. System and method for model compression of neural networks for use in embedded platforms
US10054447B2 (en) 2016-08-17 2018-08-21 Sharp Laboratories Of America, Inc. Lazier graph-based path planning for autonomous navigation
US10776661B2 (en) 2016-08-19 2020-09-15 Symbol Technologies, Llc Methods, systems and apparatus for segmenting and dimensioning objects
US20180101813A1 (en) 2016-10-12 2018-04-12 Bossa Nova Robotics Ip, Inc. Method and System for Product Data Review
US10019803B2 (en) 2016-10-17 2018-07-10 Conduent Business Services, Llc Store shelf imaging system and method using a vertical LIDAR
US10210603B2 (en) 2016-10-17 2019-02-19 Conduent Business Services Llc Store shelf imaging system and method
US10289990B2 (en) 2016-10-17 2019-05-14 Conduent Business Services, Llc Store shelf imaging system and method
US20180114183A1 (en) 2016-10-25 2018-04-26 Wal-Mart Stores, Inc. Stock Level Determination
US10451405B2 (en) 2016-11-22 2019-10-22 Symbol Technologies, Llc Dimensioning system for, and method of, dimensioning freight in motion along an unconstrained path in a venue
US10354411B2 (en) 2016-12-20 2019-07-16 Symbol Technologies, Llc Methods, systems and apparatus for segmenting objects
US9778388B1 (en) 2016-12-22 2017-10-03 Thayermahan, Inc. Systems and methods for autonomous towing of an underwater sensor array
US10121072B1 (en) 2016-12-30 2018-11-06 Intuit Inc. Unsupervised removal of text from form images
US10293485B2 (en) 2017-03-30 2019-05-21 Brain Corporation Systems and methods for robotic path planning
US10229322B2 (en) 2017-04-06 2019-03-12 Ants Technology (Hk) Limited Apparatus, methods and computer products for video analytics
US10505057B2 (en) 2017-05-01 2019-12-10 Symbol Technologies, Llc Device and method for operating cameras and light sources wherein parasitic reflections from a paired light source are not reflected into the paired camera
US10591918B2 (en) 2017-05-01 2020-03-17 Symbol Technologies, Llc Fixed segmented lattice planning for a mobile automation apparatus
US20180314908A1 (en) 2017-05-01 2018-11-01 Symbol Technologies, Llc Method and apparatus for label detection
US10726273B2 (en) 2017-05-01 2020-07-28 Symbol Technologies, Llc Method and apparatus for shelf feature and object placement detection from shelf images
US11367092B2 (en) 2017-05-01 2022-06-21 Symbol Technologies, Llc Method and apparatus for extracting and processing price text from an image set
US10949798B2 (en) 2017-05-01 2021-03-16 Symbol Technologies, Llc Multimodal localization and mapping for a mobile automation apparatus
US10663590B2 (en) 2017-05-01 2020-05-26 Symbol Technologies, Llc Device and method for merging lidar data
CN107067382A (zh) 2017-05-11 2017-08-18 南宁市正祥科技有限公司 一种改进的图像边缘检测方法
WO2019023249A1 (en) 2017-07-25 2019-01-31 Bossa Nova Robotics Ip, Inc. REDUCTION OF DATA IN A BAR CODE READING ROBOT SHELF SURVEILLANCE SYSTEM
US10127438B1 (en) 2017-08-07 2018-11-13 Standard Cognition, Corp Predicting inventory events using semantic diffing
US10861302B2 (en) 2017-08-17 2020-12-08 Bossa Nova Robotics Ip, Inc. Robust motion filtering for real-time video surveillance
WO2019040659A1 (en) 2017-08-23 2019-02-28 Bossa Nova Robotics Ip, Inc. METHOD OF DETECTING NEW PACKET
US10572763B2 (en) 2017-09-07 2020-02-25 Symbol Technologies, Llc Method and apparatus for support surface edge detection
US20190180150A1 (en) 2017-12-13 2019-06-13 Bossa Nova Robotics Ip, Inc. Color Haar Classifier for Retail Shelf Label Detection
JP7081140B2 (ja) * 2017-12-25 2022-06-07 富士通株式会社 物体認識装置、物体認識方法及び物体認識プログラム

Also Published As

Publication number Publication date
BE1026149A1 (nl) 2019-10-22
GB202015525D0 (en) 2020-11-11
AU2019247400B2 (en) 2021-12-16
BE1026149A9 (nl) 2019-10-28
AU2019247400A1 (en) 2020-10-15
GB2586403B (en) 2022-08-17
GB2586403A (en) 2021-02-17
WO2019195603A1 (en) 2019-10-10
CA3095182C (en) 2022-12-06
US10740911B2 (en) 2020-08-11
BE1026149B1 (nl) 2020-07-03
CA3095182A1 (en) 2019-10-10
US20190311486A1 (en) 2019-10-10

Similar Documents

Publication Publication Date Title
DE112019001788T5 (de) Verfahren, system und vorrichtung zum korrigieren von transluzenzartefakten in daten, die eine trägerstruktur darstellen
DE102018120487A1 (de) Verfahren und vorrichtung zur kantenerkennung von auflageflächen
DE112018002314T5 (de) Verfahren und vorrichtung zur erkennung eines objektstatus
EP2767925A2 (de) Verfahren zur Erkennung von Objekten in einem Lager und/oder zur räumlichen Orientierung in einem Lager
DE112016006583T5 (de) Vorrichtung und Verfahren zur Dimensionierung unter Verwendung von digitalen Bildern und Tiefendaten
DE112015005076T5 (de) Nicht-parametrisches Verfahren und System zum Abschätzen von Dimensionen von Objekten mit beliebiger Form
DE102015209963A1 (de) Bildbearbeitungsverfahren und Systeme zur Barcode- und/oder Produktkennzeichen-Erkennung
DE102014213981A1 (de) Parkplatz-Erfassungsvorrichtung und entsprechendes Verfahren
DE112012004192T5 (de) Vorrichtung und Verfahren zum Lesen von arbiträr in Bildgabe-Arbeitsstationen ausgerichteten Zielen
DE102013112040B4 (de) System und Verfahren zum Auffinden von sattelpunktartigen Strukturen in einem Bild und Bestimmen von Informationen daraus
DE102016109891A1 (de) Datenbrowsevorrichtung, Datenbrowseverfahren, Programm und Speichermedium
DE102020127732A1 (de) Dreidimensionale (3d) tiefenbildgebungssysteme und -verfahren zur automatischen bestimmung einer versandcontainerfüllung basierend auf bildgebungsvorlagen
CH708993B1 (de) Verfahren und Vorrichtung zum Identifizieren eines zweidimensionalen Punktcodes.
DE102020124613A1 (de) Verbesserte auswahl eines objekts von interesse für neuronale netzwerksysteme an verkaufspunken
DE112015003520T5 (de) Erfassen einer Fensterverschlechterung auf einer Barcode scannenden Arbeitsstation
DE112019006132T5 (de) Verfahren, system und vorrichtung zur hilfsetikett-erkennung und -zuordnung
EP3696135A1 (de) Gabelstapler und system mit gabelstapler zur identifikation einer ware
CH708994B1 (de) Verfahren und Vorrichtung zum Identifizieren eines zweidimensionalen Punktcodes.
DE112021002050T5 (de) Verfahren, system und vorrichtung zur datenerfassungsbeleuchtungssteuerung
EP3123393B1 (de) Verfahren zur optischen erkennung von zeichen
DE102020126353A1 (de) Verfahren und systeme zur erkennung von in warenträgern zurückgelassenen artikeln
DE112021002519T5 (de) Referenzoberflächenerkennung zur mobilen bemessung
DE112019006186T5 (de) Verfahren und vorrichtung zur steuerung von lichtemittern einer mobilen automatisierungsvorrichtung
DE102019125987A1 (de) Verfahren, system und vorrichtung zur navigationsunterstützung
DE112019001796T5 (de) Verfahren, system und vorrichtung zur lokalisierung mobiler automatisierungsvorrichtungen

Legal Events

Date Code Title Description
R012 Request for examination validly filed