BE1029780B1 - Schätzverfahren für optischen Fluss zur Verbesserung von 1D/2D-Decodierung - Google Patents

Schätzverfahren für optischen Fluss zur Verbesserung von 1D/2D-Decodierung Download PDF

Info

Publication number
BE1029780B1
BE1029780B1 BE20225786A BE202205786A BE1029780B1 BE 1029780 B1 BE1029780 B1 BE 1029780B1 BE 20225786 A BE20225786 A BE 20225786A BE 202205786 A BE202205786 A BE 202205786A BE 1029780 B1 BE1029780 B1 BE 1029780B1
Authority
BE
Belgium
Prior art keywords
image
roi
barcode
determining
optical flow
Prior art date
Application number
BE20225786A
Other languages
English (en)
Other versions
BE1029780A1 (de
Inventor
Raveen T Thrimawithana
Anatoly Kotlarsky
Original Assignee
Zebra Technologies
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zebra Technologies filed Critical Zebra Technologies
Publication of BE1029780A1 publication Critical patent/BE1029780A1/de
Application granted granted Critical
Publication of BE1029780B1 publication Critical patent/BE1029780B1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14131D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/10861Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing of data fields affixed to objects or articles, e.g. coded labels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1465Methods for optical code recognition the method including quality enhancement steps using several successive scans of the optical code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/0036Checkout procedures
    • G07G1/0045Checkout procedures with a code reader for reading of an identifying code of the article to be registered, e.g. barcode reader or radio-frequency identity [RFID] reader
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Toxicology (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Measuring Volume Flow (AREA)

Abstract

Vorliegend werden Verfahren und Vorrichtungen zur Schätzung von optischem Fluss zur Verbesserung von 1D/2D-Decodierung offenbart. Ein Beispielverfahren beinhaltet Empfangen einer Bildserie von der optischen Bildgebungsanordnung, die zumindest ein erstes Bild und ein zweites Bild beinhaltet, die über das FOV aufgenommen wurden; Decodieren eines Barcodes in dem ersten Bild; Identifizieren einer ersten Position eines Schlüsselpunktes innerhalb des ersten Bildes; Identifizieren einer zweiten Position des Schlüsselpunktes innerhalb des zweiten Bildes; Berechnen eines optischen Flusses für den Barcode auf Grundlage zumindest der ersten Position und der zweiten Position; und Verfolgen des Barcodes auf Grundlage des optischen Flusses.

Description

1 BE2022/5786
Schätzverfahren für optischen Fluss zur Verbesserung von 1D/2D-
Decodierung
HINTERGRUND
Ein Barcodeleser identifiziert Artikel unter Umständen nicht immer korrekt. Beispielsweise kann ein Artikel über einen Barcodeleser geführt werden, der Barcode des Artikels jedoch nicht gelesen werden.
Ferner kann ein Barcodeleser mehrere im Wesentlichen ähnliche oder identische Barcodes als identisch ansehen oder einen einzelnen Artikel-
Barcode als mehrere ansehen, wenn er in Position gehalten wird. Es besteht daher ein Bedarf an Systemen, die die Genauigkeit der Identifizierung von
Artikeln erhöhen.
KURZDARSTELLUNG
In einer Ausführungsform besteht die vorliegende Erfindung in einem Verfahren zum Verfolgen und Scannen von Objekten, z.B. Barcodes, unter Verwendung eines Bildgebungssystems, das eine optische Anordnung mit einem Sichtfeld (field of view, FOV) beinhaltet. Das Verfahren beinhaltet Empfangen einer Bildserie von der optischen
Bildgebungsanordnung, die zumindest ein erstes Bild und ein zweites Bild beinhaltet, die über das FOV erfasst wurden; Decodieren eines Barcodes in dem ersten Bild; und Identifizieren einer ersten Position eines
Schlüsselpunktes innerhalb des ersten Bildes. Der Schlüsselpunkt kann auf dem Barcode basieren. Das Verfahren beinhaltet ferner Identifizieren einer zweiten Position des Schlüsselpunktes innerhalb des zweiten Bildes;
Berechnen eines optischen Flusses für den Barcode auf Grundlage zumindest der ersten Position und der zweiten Position; und Verfolgen des
Barcodes auf Grundlage des optischen Flusses.
In einer Variante dieser Ausführungsform kann die erste Position durch eine erste x-Koordinate und eine erste y-Koordinate innerhalb des ersten Bildes definiert werden; die zweite Position kann durch eine zweite
9 BE2022/5786 x-Koordinate und eine zweite y-Koordinate innerhalb des zweiten Bildes definiert werden; und das Berechnen des optischen Flusses kann umfassen:
Berechnen eines ersten Abstandes zwischen der ersten x-Koordinate und der zweiten x-Koordinate; Berechnen eines zweiten Abstandes zwischen der ersten y-Koordinate und der zweiten y-Koordinate; Bestimmen einer
Bewegungsrichtung auf Grundlage des ersten Abstandes und des zweiten
Abstandes; und Bestimmen eines Bewegungsvektors für den optischen
Fluss auf Grundlage zumindest des ersten Abstandes, des zweiten
Abstandes und der Bewegungsrichtung.
In einer anderen oder weiteren Variante dieser Ausführungsform kann das Verfolgen Vorhersagen eines Standortes des Barcodes in einem zusätzlichen Bild der Bildserie unter Verwendung zumindest des optischen
Flusses und des Schlüsselpunktes beinhalten, wobei das zusätzliche Bild nach dem ersten Bild aufgenommen wird.
In einer anderen oder weiteren Variante dieser Ausführungsform kann das Verfahren ferner beinhalten: Decodieren des Barcodes in dem zusätzlichen Bild; Bestimmen einer zusätzlichen Position des decodierten
Barcodes; Vergleichen des vorhergesagten Standortes des Barcodes und der zusätzlichen Position des decodierten Barcodes in dem zusätzlichen Bild;
Bestimmen, dass sich die zusätzliche Position des Barcodes und der vorhergesagte Standort des Barcodes überlappen; und Aktualisieren des optischen Flusses unter Verwendung der zusätzlichen Position.
Alternativ oder zusätzlich kann das Verfahren ferner beinhalten:
Decodieren des Barcodes in dem zusätzlichen Bild; Bestimmen einer zusätzlichen Position des decodierten Barcodes; Vergleichen des vorhergesagten Standortes des Barcodes und der zusätzlichen Position des decodierten Barcodes in dem zusätzlichen Bild; Bestimmen, dass sich die zusätzliche Position des Barcodes und der vorhergesagte Standort des decodierten Barcodes nicht überlappen; und in Reaktion auf das
Bestimmen, dass sich die zusätzliche Position des Barcodes und der
3 BE2022/5786 vorhergesagte Standort des decodierten Barcodes nicht überlappen, erfolgendes Bestimmen, dass sich der decodierte Barcode von dem ersten
Barcode (dem Barcode in dem ersten Bild) unterscheidet.
In einer anderen oder weiteren Variante dieser Ausführungsform, bei der der Schlüsselpunkt ein erster Schlüsselpunkt ist, der Barcode ein erster Barcode ist und der optische Fluss ein erster optischer Fluss ist, kann das Verfahren ferner umfassen: Bestimmen, dass ein zweiter Barcode in einem dritten Bild der Bildserie vorhanden ist; Decodieren des zweiten
Barcodes; Identifizieren einer ersten Position eines zweiten
Schlüsselpunktes innerhalb des Bildes; Identifizieren einer zweiten Position des zweiten Schlüsselpunktes innerhalb eines vierten Bildes; Berechnen eines zweiten optischen Flusses für den zweiten Barcode auf Grundlage zumindest der ersten Position des zweiten Schlüsselpunktes und der zweiten Position des zweiten Schlüsselpunktes; und Verfolgen des zweiten
Barcodes auf Grundlage des optischen Flusses.
Das Verfolgen des zweiten Barcodes und das Verfolgen des ersten
Barcodes können gleichzeitig durchgeführt werden.
In weiteren oder anderen Varianten dieser Ausführungsform kann das Verfahren ferner Decodieren eines Teils eines zusätzlichen Bildes der Bildserie umfassen, wobei das zusätzliche Bild nach dem ersten Bild aufgenommen wird und wobei der Teil nicht den vorhergesagten Standort beinhaltet.
Das Berechnen und/oder das Verfolgen können vorteilhaft in
Echtzeit durchgeführt werden.
Das Identifizieren der ersten Position des Schlüsselpunktes kann
Erzeugen einer Signatur für den Schlüsselpunkt beinhalten, wobei die
Signatur Informationen über den Schlüsselpunkt umgebende Gradienten beinhaltet.
Das Identifizieren der zweiten Position des Schlüsselpunktes kann Bestimmen beinhalten, dass ein Schlüsselpunkt in dem zweiten Bild
4 BE2022/5786 eine Signatur aufweist, die mit der Signatur für den Schlüsselpunkt übereinstimmt.
In einer anderen Ausführungsform umfasst die Erfindung ein
Verfahren zum Verfolgen und Scannen von Barcodes unter Verwendung eines Bildgebungssystems, das eine optische Anordnung mit einem Sichtfeld (FOV) aufweist, wobei das Verfahren umfasst: Empfangen einer Bildserie von der optischen Bildgebungsanordnung, die zumindest ein erstes Bild und ein zweites Bild beinhaltet, die über das FOV erfasst wurden; Decodieren eines Barcodes in dem ersten Bild; Identifizieren einer Position eines
Schlüsselpunktes innerhalb des ersten Bildes; Empfangen von OF- (optischer Fluss) Daten für den Schlüsselpunkt; und Verfolgen des Barcodes auf Grundlage der OF-Daten.
Das Verfolgen kann Vorhersagen eines Standortes des Barcodes in einem zusätzlichen Bild der Bildserie unter Verwendung zumindest der
OF-Daten und des Schlüsselpunktes beinhalten, wobei das zusätzliche Bild nach dem ersten Bild aufgenommen wird.
In einer anderen oder weiteren Variante dieser Ausführungsform kann das Verfahren ferner beinhalten: Decodieren des Barcodes in dem zusätzlichen Bild; Bestimmen einer zusätzlichen Position des decodierten
Barcodes; Vergleichen des vorhergesagten Standortes des Barcodes und der zusätzlichen Position des decodierten Barcodes in dem zusätzlichen Bild;
Bestimmen, dass sich die zusätzliche Position des Barcodes und der vorhergesagte Standort des Barcodes überlappen; und Aktualisieren der
OF-Daten unter Verwendung der zusätzlichen Position.
Alternativ oder zusätzlich kann das Verfahren ferner umfassen:
Decodieren eines Barcodes in dem zusätzlichen Bild; Bestimmen einer zusätzlichen Position des decodierten Barcodes; Vergleichen des vorhergesagten Standortes des Barcodes und der zusätzlichen Position des decodierten Barcodes in dem zusätzlichen Bild; Bestimmen, dass sich die zusätzliche Position des Barcodes und der vorhergesagte Standort des decodierten Barcodes nicht überlappen; und in Reaktion auf das
Bestimmen, dass sich die zusätzliche Position des Barcodes und der vorhergesagte Standort des decodierten Barcodes nicht überlappen, erfolgendes Bestimmen, dass sich der decodierte Barcode von dem ersten 5 Barcode (dem Barcode in dem ersten Bild) unterscheidet.
In einer anderen oder weiteren Variante dieser Ausführungsform, bei der die Position des Schlüsselpunktes eine erste Position eines ersten
Schlüsselpunktes ist, der Barcode ein erster Barcode ist und die OF-
Informationen erste OF-Daten sind, kann das Verfahren ferner umfassen:
Bestimmen, dass ein zweiter Barcode in einem dritten Bild der Bildserie vorhanden ist; Decodieren des zweiten Barcodes; Identifizieren einer ersten
Position eines zweiten Schlüsselpunktes innerhalb des Bildes und/oder
Identifizieren einer zweiten Position des zweiten Schlüsselpunktes innerhalb des Bildes (z.B. des vierten Bildes); Berechnen und/oder
Empfangen zweiter OF-Daten für den zweiten Schlüsselpunkt, z.B. auf
Grundlage zumindest der ersten Position des zweiten Schlüsselpunktes und der zweiten Position des zweiten Schlüsselpunktes; und Verfolgen des zweiten Barcodes auf Grundlage der zweiten OF-Daten.
In einer anderen oder weiteren Variante dieser Ausführungsform können das Verfolgen des zweiten Barcodes und das Verfolgen des ersten
Barcodes gleichzeitig durchgeführt werden.
In einer anderen oder weiteren Variante dieser Ausführungsform kann das Verfahren ferner Decodieren eines Teils eines zusätzlichen Bildes der Bildserie beinhalten, wobei das zusätzliche Bild nach dem ersten Bild aufgenommen wird und wobei der Teil nicht den vorhergesagten Standort beinhaltet.
Das Berechnen, das Empfangen und/oder das Verfolgen können vorteilhaft in Echtzeit durchgeführt werden.
Das Identifizieren der Position des Schlüsselpunktes, z.B. des ersten Schlüsselpunktes, kann beinhalten: Erzeugen einer Signatur für den
6 BE2022/5786
Schlüsselpunkt, wobei die Signatur Informationen über den Schlüsselpunkt umgebende Gradienten beinhalten kann.
Das Identifizieren der zweiten Position des Schlüsselpunktes kann beinhalten: Bestimmen, dass ein Schlüsselpunkt in dem zweiten Bild eine Signatur aufweist, die mit der Signatur für den Schlüsselpunkt (z.B. des ersten Schlüsselpunktes) übereinstimmt.
In einer anderen Ausführungsform besteht die vorliegende
Erfindung in einem Verfahren für Objektverfolgung unter Verwendung eines Bildgebungssystems, das eine optische Anordnung mit einem Sichtfeld (FOV) beinhaltet. Das Verfahren beinhaltet Empfangen einer Bildserie von der optischen Bildgebungsanordnung, die zumindest ein erstes Bild und ein zweites Bild beinhaltet, die über das FOV erfasst wurden; Decodieren eines
Barcodes in dem ersten Bild; Identifizieren einer Position eines
Schlüsselpunktes innerhalb des ersten Bildes; Empfangen von OF-Daten für den Schlüsselpunkt; und Verfolgen des Barcodes auf Grundlage der OF-
Daten.
In einer anderen oder weiteren Variante dieser Ausführungsform kann das Verfolgen Vorhersagen eines Standortes des Barcodes in einem zusätzlichen Bild der Bildserie unter Verwendung zumindest der OF-Daten und des Schlüsselpunktes beinhalten, wobei das zusätzliche Bild nach dem ersten Bild aufgenommen wird.
In einer weiteren oder anderen Variante dieser Ausführungsform kann das Verfahren ferner beinhalten: Decodieren des Barcodes in dem zusätzlichen Bild; Bestimmen einer zusätzlichen Position des decodierten
Barcodes; Vergleichen des vorhergesagten Standortes des Barcodes und der zusätzlichen Position des decodierten Barcodes in dem zusätzlichen Bild;
Bestimmen, dass sich die zusätzliche Position des Barcodes und der vorhergesagte Standort des Barcodes überlappen; und Aktualisieren der
OF-Daten unter Verwendung der zusätzlichen Position.
7 BE2022/5786
In einer anderen oder weiteren Variante dieser Ausführungsform erfolgen Decodieren eines Barcodes in dem zusätzlichen Bild; Bestimmen einer zusätzlichen Position des decodierten Barcodes; Vergleichen des vorhergesagten Standortes des Barcodes und der zusätzlichen Position des decodierten Barcodes in dem zusätzlichen Bild; Bestimmen, dass sich die zusätzliche Position des Barcodes und der vorhergesagte Standort des decodierten Barcodes nicht überlappen; und in Reaktion auf das
Bestimmen, dass sich die zusätzliche Position des Barcodes und der vorhergesagte Standort des decodierten Barcodes nicht überlappen, erfolgendes Bestimmen, dass sich der decodierte Barcode von dem ersten
Barcode unterscheidet.
In einer anderen oder weiteren Variante dieser Ausführungsform ist die Position des Schlüsselpunktes eine erste Position eines ersten
Schlüsselpunktes, der Barcode ist ein erster Barcode, die OF-Informationen sind erste OF-Daten, und das Verfahren umfasst ferner Bestimmen, dass ein zweiter Barcode in einem dritten Bild der Bildserie vorhanden ist;
Decodieren des zweiten Barcodes; Identifizieren einer zweiten Position eines zweiten Schlüsselpunktes innerhalb des Bildes; Empfangen zweiter OF-
Daten für den zweiten Schlüsselpunkt; und Verfolgen des zweiten Barcodes auf Grundlage der zweiten OF-Daten.
In einer anderen oder weiteren Variante dieser Ausführungsform können das Verfolgen des zweiten Barcodes und das Verfolgen des ersten
Barcodes gleichzeitig durchgeführt werden.
In einer anderen oder weiteren Variante dieser Ausführungsform kann das Verfahren ferner Decodieren eines Teils eines zusätzlichen Bildes der Bildserie beinhalten, wobei das zusätzliche Bild nach dem ersten Bild aufgenommen wird und wobei der Teil nicht den vorhergesagten Standort beinhaltet.
8 BE2022/5786
In einer anderen oder weiteren Variante dieser Ausführungsform können das Empfangen und/oder das Verfolgen in Echtzeit durchgeführt werden.
In einer anderen Variante dieser Ausführungsform beinhaltet das
Identifizieren der Position des Schlüsselpunktes: Erzeugen einer Signatur für den Schlüsselpunkt, wobei die Signatur Informationen über den
Schlüsselpunkt umgebende Gradienten beinhaltet.
In einer anderen Ausführungsform besteht die vorliegende
Erfindung in einem Verfahren für Objektverfolgung unter Verwendung eines Bildgebungssystems, das eine optische Anordnung mit einem Sichtfeld (FOV) beinhaltet. Das Verfahren beinhaltet Empfangen einer Bildserie von der optischen Bildgebungsanordnung, die zumindest ein erstes Bild und ein zweites Bild beinhaltet, die über das FOV erfasst wurden; Identifizieren einer ersten interessierenden Region (region of interest, ROT) innerhalb des ersten Bildes und einer zweiten ROI innerhalb des zweiten Bildes, wobei die erste ROI und die zweite ROI auf einem Objekt basieren, das dem ersten
Bild und dem zweiten Bild gemeinsam ist; Bestimmen einer ersten Position der ersten ROI innerhalb des ersten Bildes und einer zweiten Position der zweiten ROI innerhalb des zweiten Bildes; Identifizieren eines optischen
Flusses für das Objekt auf Grundlage zumindest der ersten Position und der zweiten Position, wobei der optische Fluss für eine Positionsänderung zwischen der ersten Position und der zweiten Position repräsentativ ist; und
Verfolgen des Objekts auf Grundlage des optischen Flusses.
In einer Variante dieser Ausführungsform kann das Identifizieren des optischen Flusses ferner beinhalten: Bestimmen, z.B. Berechnen, eines
Abstandes zwischen der ersten Position und der zweiten Position;
Bestimmen einer Bewegungsrichtung für das Objekt auf Grundlage der ersten Position und der zweiten Position; und Bestimmen eines
Bewegungsvektors für das Objekt auf Grundlage des Abstandes und der
Bewegungsrichtung.
9 BE2022/5786
In einer anderen oder weiteren Variante dieser Ausführungsform kann das Bestimmen der ersten Position der ersten ROI Bestimmen einer ersten Position zumindest einiger einer Vielzahl von Pixeln innerhalb der ersten ROI innerhalb des ersten Bildes beinhalten; das Bestimmen der zweiten Position der zweiten ROI beinhaltet Bestimmen einer zweiten
Position zumindest einiger der Vielzahl von Pixeln innerhalb der zweiten
ROI innerhalb des zweiten Bildes; und das Bestimmen des Abstandes zwischen der ersten Position und der zweiten Position beinhaltet
Bestimmen eines Abstandes zwischen (i) der ersten Position der einigen der
Vielzahl von Pixeln und (ii) der zweiten Position der einigen der Vielzahl von Pixeln.
In einer anderen oder weiteren Variante dieser Ausführungsform kann das Verfahren ferner beinhalten: Bestimmen, dass der
Bewegungsvektor für eine vorbestimmte Zeitspanne unter einem vorbestimmten Schwellenwert liegt; und Anzeigen, dass das Objekt zuvor gescannt wurde.
In einer anderen oder weiteren Variante dieser Ausführungsform beinhaltet das Verfahren ferner Berechnen einer dritten Position einer dritten ROI unter Verwendung eines Vorhersagealgorithmus auf Grundlage der ersten Position und der zweiten Position; und Aktualisieren des optischen Flusses auf Grundlage der dritten Position.
In einer anderen oder weiteren Variante dieser Ausführungsform kann das Verfolgen des Objekts beinhalten: Empfangen eines dritten Bildes der über das FOV erfassten Bildserie von der optischen
Bildgebungsanordnung; Berechnen eines geschätzten optischen Flusses auf
Grundlage zumindest der zweiten Position und des optischen Flusses;
Zuschneiden einer vorhergesagten ROI des dritten Bildes auf Grundlage des geschätzten optischen Flusses; Bestimmen, dass die vorhergesagte ROI das
Objekt enthält; und Aktualisieren des optischen Flusses mit dem geschätzten optischen Fluss.
10 BE2022/5786
In einer anderen oder weiteren Variante dieser Ausführungsform kann das Verfolgen des Objekts Bestimmen beinhalten, dass ein Abstand zwischen der ersten Position und der zweiten Position größer als ein vorbestimmter unterer Schwellenwert und kleiner als ein vorbestimmter oberer Schwellenwert ist, wobei das Identifizieren des optischen Flusses in
Reaktion auf das Bestimmen erfolgen kann, dass der Abstand größer als der vorbestimmte untere Schwellenwert und kleiner als der vorbestimmte obere
Schwellenwert ist.
In einer anderen oder weiteren Variante dieser Ausführungsform, bei der die Bildserie eine erste Bildserie ist und das Objekt ein erstes Objekt ist, kann das Verfahren ferner beinhalten: Empfangen einer zweiten
Bildserie von der optischen Bildgebungsanordnung, die zumindest ein drittes Bild und ein viertes Bild beinhaltet, die über das FOV erfasst wurden; Identifizieren einer dritten ROI innerhalb des dritten Bildes und einer vierten ROI innerhalb des vierten Bildes auf Grundlage eines zweiten
Objekts, das dem dritten Bild und dem vierten Bild gemeinsam ist;
Bestimmen einer dritten Position der dritten ROI innerhalb des dritten
Bildes und einer vierten Position der vierten ROI innerhalb des vierten
Bildes; Aktualisieren des optischen Flusses auf Grundlage der dritten
Position der dritten ROI und der vierten Position der vierten ROI; und
Zuschneiden der vierten ROI in Reaktion auf Bestimmen, dass das erste
Objekt außerhalb des FOV liegt.
In einer anderen oder weiteren Variante dieser Ausführungsform beinhaltet das Identifizieren der dritten ROI Bestimmen, dass die dritte
ROI der ersten ROI im Wesentlichen ähnlich ist; Berechnen eines
Abstandes zwischen der dritten ROI und der ersten ROI in dem FOV;
Bestimmen, dass der Abstand zwischen der dritten ROI und der ersten ROI einen vorbestimmten Schwellenwert überschreitet; und Bestimmen, dass die dritte ROI von der ersten ROI verschieden ist, auf Grundlage der
11 BE2022/5786
Bestimmung, dass der Abstand zwischen der dritten ROI und der ersten
ROI den vorbestimmten Schwellenwert überschreitet.
In einer anderen oder weiteren Variante dieser Ausführungsform kann das Verfahren ferner Ausrichten einer Beleuchtungsquelle auf
Grundlage des Verfolgens des Objekts beinhalten.
In einer weiteren Ausführungsform besteht die vorliegende
Erfindung in einem Bildgebungssystem für Objektverfolgung, das eine optische Bildgebungsanordnung mit einem Sichtfeld (FOV), die so konfiguriert ist, dass sie eine zumindest ein erstes Bild und ein zweites Bild beinhaltende Bildserie über das FOV erfasst, und einen Controller umfasst.
Der Controller ist so konfiguriert, dass er von der optischen
Bildgebungsanordnung die Bildserie empfängt, die zumindest das erste Bild und das zweite Bild beinhaltet, die über das FOV erfasst wurden; eine erste interessierende Region (ROI) innerhalb des ersten Bildes und eine zweite
ROI innerhalb des zweiten Bildes identifiziert, wobei die erste ROI und die zweite ROI auf einem Objekt basieren, das dem ersten Bild und dem zweiten Bild gemeinsam ist; eine erste Position der ersten ROI innerhalb des ersten Bildes und eine zweite Position der zweiten ROI innerhalb des zweiten Bildes bestimmt; einen optischen Fluss für das Objekt auf
Grundlage zumindest der ersten Position und der zweiten Position identifiziert, wobei der optische Fluss für eine Positionsänderung zwischen der ersten Position und der zweiten Position repräsentativ ist; und das
Objekt auf Grundlage des optischen Flusses verfolgt.
In Varianten dieser Ausführungsform implementiert das System eines oder mehrere oder jedes der vorstehend beschriebenen Verfahren.
In einer Variante dieser Ausführungsform kann das Identifizieren des optischen Flusses beinhalten: Bestimmen, z.B. Berechnen, eines
Abstandes zwischen der ersten Position und der zweiten Position;
Bestimmen einer Bewegungsrichtung für das Objekt auf Grundlage der ersten Position und der zweiten Position; und Bestimmen eines
19 BE2022/5786
Bewegungsvektors für das Objekt auf Grundlage des Abstandes und der
Bewegungsrichtung.
In einer anderen oder weiteren Variante dieser Ausführungsform kann das Bestimmen der ersten Position der ersten ROI Bestimmen einer ersten Position zumindest einiger einer Vielzahl von Pixeln innerhalb der ersten ROI innerhalb des ersten Bildes beinhalten; das Bestimmen der zweiten Position der zweiten ROI beinhaltet Bestimmen einer zweiten
Position zumindest einiger der Vielzahl von Pixeln innerhalb der zweiten
ROI innerhalb des zweiten Bildes; und das Bestimmen des Abstandes zwischen der ersten Position und der zweiten Position kann Bestimmen eines Abstandes zwischen (i) der ersten Position der einigen der Vielzahl von Pixeln und (ii) der zweiten Position der einigen der Vielzahl von Pixeln beinhalten.
In einer anderen oder weiteren Variante dieser Ausführungsform kann der Controller so konfiguriert sein, dass er bestimmt, dass der
Bewegungsvektor für eine vorbestimmte Zeitspanne unter einem vorbestimmten Schwellenwert liegt; und anzeigt, dass das Objekt zuvor gescannt wurde.
In einer anderen oder weiteren Variante dieser Ausführungsform kann der Controller ferner so konfiguriert sein, dass er eine dritte Position einer dritten ROI unter Verwendung eines Vorhersagealgorithmus auf
Grundlage der ersten Position und der zweiten Position berechnet; und den optischen Fluss auf Grundlage der dritten Position aktualisiert.
In einer anderen oder weiteren Variante dieser Ausführungsform kann das Verfolgen des Objekts beinhalten: Empfangen eines dritten Bildes der über das FOV erfassten Bildserie von der optischen
Bildgebungsanordnung; Berechnen eines geschätzten optischen Flusses auf
Grundlage zumindest der zweiten Position und des optischen Flusses;
Zuschneiden einer vorhergesagten ROI des dritten Bildes auf Grundlage des geschätzten optischen Flusses; Bestimmen, dass die vorhergesagte ROI das
13 BE2022/5786
Objekt enthält; und Aktualisieren des optischen Flusses mit dem geschätzten optischen Fluss.
In einer anderen oder weiteren Variante dieser Ausführungsform kann das Verfolgen des Objekts Bestimmen beinhalten, dass ein Abstand zwischen der ersten Position und der zweiten Position größer als ein vorbestimmter unterer Schwellenwert und kleiner als ein vorbestimmter oberer Schwellenwert ist, wobei das Identifizieren des optischen Flusses in
Reaktion auf das Bestimmen erfolgt, dass der Abstand größer als der vorbestimmte untere Schwellenwert und kleiner als der vorbestimmte obere
Schwellenwert ist.
In einer anderen oder weiteren Variante dieser Ausführungsform, bei der die Bildserie eine erste Bildserie ist und das Objekt ein erstes Objekt ist, kann der Controller ferner so konfiguriert sein, dass er von der optischen Bildgebungsanordnung eine zweite Bildserie empfängt, die zumindest ein drittes Bild und ein viertes Bild beinhaltet, die über das FOV erfasst wurden; eine dritte ROI innerhalb des dritten Bildes und eine vierte
ROI innerhalb des vierten Bildes auf Grundlage eines zweiten Objekts identifiziert, das dem dritten Bild und dem vierten Bild gemeinsam ist; eine dritte Position der dritten ROI innerhalb des dritten Bildes und eine vierte
Position der vierten ROI innerhalb des vierten Bildes bestimmt; den optischen Fluss auf Grundlage der dritten Position der dritten ROI und der vierten Position der vierten ROI aktualisiert; und in Reaktion auf
Bestimmen, dass das erste Objekt außerhalb des FOV liegt, die vierte ROI zuschneidet.
In einer anderen oder weiteren Variante dieser Ausführungsform kann das Identifizieren der dritten ROI beinhalten: Bestimmen, dass die dritte ROI der ersten ROI im Wesentlichen ähnlich ist; Berechnen eines
Abstandes zwischen der dritten ROI und der ersten ROI in dem FOV;
Bestimmen, dass der Abstand zwischen der dritten ROI und der ersten ROI einen vorbestimmten Schwellenwert überschreitet; und Bestimmen, dass
14 BE2022/5786 die dritte ROI von der ersten ROI verschieden ist, auf Grundlage der
Bestimmung, dass der Abstand zwischen der dritten ROI und der ersten
ROI den vorbestimmten Schwellenwert überschreitet.
In einer anderen oder weiteren Variante dieser Ausführungsform, bei der das System ferner eine Beleuchtungsquelle beinhaltet, kann der
Controller ferner so konfiguriert sein, dass er die Beleuchtungsquelle auf
Grundlage des Verfolgens des Objekts ausrichtet.
KURZBESCHREIBUNG DER ZEICHNUNGEN
Die beiliegenden Figuren, in denen sich gleiche Bezugszeichen auf identische oder funktionell ähnliche Elemente in den einzelnen Ansichten beziehen, sind zusammen mit der nachstehenden ausführlichen
Beschreibung Bestandteil der Spezifikation und dienen zur weiteren
Veranschaulichung von Ausführungsformen von Konzepten, die die beanspruchte Erfindung beinhalten, und zur Erläuterung verschiedener
Grundsätze und Vorteile dieser Ausführungsformen.
FIG. 1A veranschaulicht eine perspektivische Ansicht einer beispielhaften Kassenarbeitsstation gemäß den Lehren dieser Offenbarung.
FIG. 1B veranschaulicht eine perspektivische Ansicht eines beispielhaften tragbaren Barcodescanners gemäß den Lehren dieser
Offenbarung.
FIG. 2 veranschaulicht ein schematisches Blockdiagramm einiger der Komponenten eines Barcodelesers aus FIG. 1A und 1B gemäß einer
Ausführungsform der vorliegenden Erfindung.
FIG. 3A veranschaulicht ein Bild, das über das Sichtfeld (FOV) der optischen Bildgebungsanordnungen aus FIG. 1A und 1B erfasst wurde.
FIG. 3B veranschaulicht ein Bild, das über das Sichtfeld (FOV) der optischen Bildgebungsanordnungen aus FIG. 1A und 1B erfasst wurde.
15 BE2022/5786
FIG. 4 ist ein Flussdiagramm eines Verfahrens für genaue
Objektverfolgung gemäß einer Ausführungsform der vorliegenden
Erfindung.
FIG. 5 ist ein Flussdiagramm eines Verfahrens für genaue
Objektverfolgung gemäß einer anderen Ausführungsform der vorliegenden
Erfindung.
FIG. 6 ist ein Flussdiagramm eines Verfahrens für genaue
Objektverfolgung gemäß einer weiteren Ausführungsform der vorliegenden
Erfindung.
FIG. 7 ist ein Flussdiagramm eines Verfahrens zur genauen
Objektverfolgung gemäß einer weiteren Ausführungsform der vorliegenden
Erfindung.
Ein Fachmann versteht, dass Elemente in den Figuren der
Einfachheit und Klarheit halber dargestellt sind und nicht unbedingt mabstabsgetreu sind. So können beispielsweise die Abmessungen einiger
Elemente in den Figuren im Vergleich zu anderen Elementen übertrieben dargestellt sein, um das Verständnis von Ausführungsformen der vorliegenden Erfindung zu erleichtern.
Die Vorrichtungs- und Verfahrenskomponenten sind in den
Zeichnungen gegebenenfalls durch herkömmliche Symbole dargestellt, wobei nur die konkreten Einzelheiten gezeigt werden, die für das
Verständnis der Ausführungsformen der vorliegenden Erfindung von
Bedeutung sind, um die Offenbarung nicht mit Einzelheiten zu verdecken, die für den Fachmann nach Durchsicht der vorliegenden Beschreibung ohne
Weiteres ersichtlich sind. Ein Fachmann wird aus der nachstehenden
Diskussion leicht erkennen, dass alternative Beispiele der vorliegend dargestellten Anordnungen und Verfahren verwendet werden können, ohne von den vorliegend dargelegten Grundsätzen abzuweichen.
16 BE2022/5786
AUSFÜHRLICHE BESCHREIBUNG
FIG. 1A veranschaulicht eine perspektivische Ansicht eines beispielhaften Scansystems 100A gemäß den Lehren dieser Offenbarung. In der beispielhaften Ausführungsform beinhaltet das System 100A eine
Arbeitsstation 102 mit einem Tresen 104 und einem bi-optischen (auch als "bioptisch" bezeichneten) Barcodeleser 106. Der Barcodeleser 106 kann auch als bioptischer Scanner oder als Zeichenleser bezeichnet werden. Das
Scansystem 100A kann von einem Ladenmitarbeiter wie beispielsweise einem Verkäufer bedient werden. In anderen Fällen kann das Scansystem 100A Teil einer Selbstbedienungskasse sein, an der Kunden ihre Produkte selbst abrechnen.
Der Barcodeleser 106 beinhaltet ein Gehäuse 112, das aus einem unteren Gehäuse 124 und einem erhöhten Gehäuse 126 besteht. Das untere
Gehäuse 124 kann als erster Gehäuseteil und das erhöhte Gehäuse 126 kann als Turm oder zweiter Gehäuseteil bezeichnet werden. Das untere
Gehäuse 124 beinhaltet einen oberen Teil 128 und beherbergt eine optische
Bildgebungsanordnung 130. In einigen Ausführungsformen kann der obere
Teil 128 eine abnehmbare oder nicht abnehmbare Platte (z.B. eine
Wiegeplatte) beinhalten. Der obere Teil 128 kann als im Wesentlichen parallel zur Oberfläche des Tresens 104 positioniert betrachtet werden. In einigen Implementierungen ist die Formulierung "im Wesentlichen parallel" innerhalb von 10° parallel. In weiteren Implementierungen bedeutet der
Ausdruck "im Wesentlichen parallel", dass der obere Teil 128
Fertigungstoleranzen berücksichtigt. Während der Tresen 104 und der obere Teil 128 in FIG. 1A annähernd koplanar dargestellt sind, kann der
Tresen 104 in anderen Ausführungsformen relativ zur Oberseite des oberen
Teils 128 angehoben oder abgesenkt sein, wobei der obere Teil 128 immer noch als im Wesentlichen parallel zur Oberfläche des Tresens 104 positioniert angesehen wird,
17 BE2022/5786
Das erhöhte Gehäuse 126 ist so konfiguriert, dass es sich oberhalb des oberen Teils 128 erstreckt, und beinhaltet eine optische
Bildgebungsanordnung 132. Das erhöhte Gehäuse 126 ist in einer allgemein aufrechten Ebene relativ zum oberen Teil 128 angeordnet. Es ist zu beachten, dass Verweise auf "aufrecht" eine Vertikale einschließen, ohne jedoch hierauf eingeschränkt zu sein. So kann in einigen
Implementierungen etwas, das aufrecht ist, um bis zu 45 Grad von einer vertikalen Achse/Ebene abweichen.
Die optischen Bildgebungsanordnungen 130 und 132 beinhalten mindestens einen Bildsensor und stehen mit einem Prozessor 116 in
Kommunikationsverbindung. Die Bildsensoren können eine oder mehrere
Farbkameras, einen oder mehrere Monochrombildgeber und/oder einen oder mehrere optische Zeichenleser beinhalten. Der Prozessor 116 kann innerhalb des Barcodelesers 106 oder an einem anderen Ort angeordnet sein. Die optischen Bildgebungsanordnungen 130 und 132 können ein oder mehrere Bilder von Zielobjekten (z.B. einem Zielobjekt 118) innerhalb ihres jeweiligen Sichtfelds (FOV) erfassen. In der beispielhaften Ausführungsform aus FIG. 1A sind die optischen Bildgebungsanordnungen 130 und 132 in demselben Barcodeleser 106 enthalten. In anderen Ausführungsformen sind die optischen Bildgebungsanordnungen 130 und 132 in verschiedenen
Barcodelesern enthalten.
Das Zielobjekt 118 kann an dem Barcodeleser 106 vorbeigeführt werden. Dabei wird ein mit dem Zielobjekt 118 assoziierter Produktcode 120 innerhalb des FOV der optischen Bildgebungsanordnungen 130 und 132 positioniert. Der Produktcode 120 kann ein Barcode, ein RFID- (Radio
Frequency Identification, Funkfrequenzerkennungs-) Tag, ein QR- (Quick
Response, Schnellantwort-) Code und/oder ein anderer
Produktidentifikationscode sein.
FIG. 1B veranschaulicht eine perspektivische Ansicht eines anderen beispielhaften Scansystems 100B gemäß den Lehren dieser
18 BE2022/5786
Offenbarung. In der beispielhaften Ausführungsform beinhaltet das System 100B einen tragbaren Barcodeleser 105. In einigen Implementierungen kann der Barcodeleser bioptisch sein, wie vorstehend beschrieben. Das
Scansystem kann von einem Ladenmitarbeiter wie beispielsweise einem
Verkäufer, einem Kunden, einem Lagerarbeiter oder einer ähnlichen Person bedient werden.
Der Barcodeleser 105 beinhaltet ein Gehäuse 111, das neben der
Hülle des Gehäuses 111 ferner zumindest einen Auslöser 113 und eine
Taste 115 beinhaltet. In einigen Ausführungsformen ist das Gehäuse 111 des Barcodelesers so gestaltet, dass der Barcodeleser 105 mit einer
Dockingstation (nicht gezeigt) verbunden werden kann. Das Gehäuse 111 beinhaltet ferner eine optische Bildgebungsanordnung 131. Die optische
Bildgebungsanordnung 131 beinhaltet mindestens einen Bildsensor und steht mit einem Prozessor 117 in Kommunikationsverbindung. Die
Bildsensoren können eine oder mehrere Farbkameras, einen oder mehrere
Monochrombildgeber und/oder einen oder mehrere optische Zeichenleser beinhalten. Der Prozessor 117 kann innerhalb des Barcodelesers 105 oder an einem anderen Ort angeordnet sein. Die optische Bildgebungsanordnung 131 kann ein oder mehrere Bilder von Zielobjekten (z.B. dem Zielobjekt 118) innerhalb des FOV erfassen.
Wenn der Auslöser 113 gedrückt und/oder niedergedrückt wird, kann er eine Decodierverarbeitungsfunktion des Barcodelesers 105 aktivieren. In einigen Implementierungen bleibt die
Decodierverarbeitungsfunktion so lange aktiv, wie der Auslöser gedrückt und/oder niedergedrückt wird. In anderen Implementierungen bleibt die
Decodierverarbeitungsfunktion nach dem Drücken und/oder Niederdrücken des Auslösers für eine eingestellte Zeitspanne aktiv. Je nach
Implementierung kann die Zeitspanne über die Taste 115 geändert werden.
Diese Methode der Funktionalität wird vorliegend als Handmodus oder
Handfunktionalität bezeichnet. Alternativ kann der Barcodeleser 105 in
19 BE2022/5786 einem Präsentationsmodus oder mit einer Präsentationsfunktionalität arbeiten, bei dem/der der Barcodeleser 105 die Decodierungsverarbeitung aktiviert, wenn der Barcodeleser 105 einen Barcode erkennt. In einigen
Implementierungen kann die Taste 115 einen Übergang zwischen dem
Handmodus und dem Präsentationsmodus bewirken. In weiteren
Implementierungen kann der Barcodeleser 105 erkennen, dass der Leser 105 in einer Dockingstation (nicht dargestellt) platziert wurde, und automatisch den Präsentationsmodus aktivieren.
Das Zielobjekt 118 kann an dem in einem Präsentationsmodus arbeitenden Barcodeleser 105 vorbeigeführt werden. Dabei werden ein oder mehrere mit dem Zielobjekt 118 assoziierte Produktcodes 120A-120N innerhalb des FOV der optischen Bildgebungsanordnung 131 positioniert.
Alternativ kann der Barcodeleser auch in einem Handmodus verwendet werden und über das Zielobjekt 118 geführt werden, um einen ähnlichen
Effekt zu erzielen. Der Produktcode kann ein Barcode, ein RFID- (Funkfrequenzerkennungs-) Tag, ein QR- (Schnellantwort-) Code und/oder ein anderer Produktidentifikationscode sein.
Gemäß FIG. 2 beinhaltet die optische Bildgebungsanordnung 130/131 einen lichterkennenden Sensor oder Bildgeber 240, der je nach
Implementierung betriebsmäBig mit einer Leiterplatte (printed circuit board, PCB) 242 im unteren Gehäuse 124 oder im Gehäuse 111/112 gekoppelt oder auf dieser montiert ist. Der obere Teil 128 mit der optischen
Bildgebungsanordnung 132 kann eine im Wesentlichen ähnliche
Konfiguration aufweisen. In einer Ausführungsform ist der Bildgeber 240 eine Solid-State-Einrichtung, z.B. ein CCD- oder CMOS-Bildgeber, mit einer eindimensionalen Anordnung von adressierbaren Bildsensoren oder Pixeln, die in einer einzigen Zeile angeordnet sind, oder einer zweidimensionalen
Anordnung von adressierbaren Bildsensoren oder Pixeln, die in zueinander orthogonalen Zeilen und Spalten angeordnet sind, und dient zum Erkennen von zurückkommendem Licht, das von einer Bildgebungsobjektivanordnung
20 BE2022/5786 244 über ein FOV entlang einer Bildgebungsachse 246 durch ein Fenster 208 erfasst wird. Das zurückkommende Licht wird von einem Zielobjekt (z.B. dem Zielobjekt 118) über das FOV gestreut und/oder reflektiert. Die
Bildgebungsobjektivanordnung 244 dient zum Bündeln des zurückkommenden Lichts auf die Anordnung der Bildsensoren, damit das
Zielobjekt 118 und insbesondere der Produktcode 120 (bzw. die
Produktcodes 120A-N) gelesen werden können. Das Zielobjekt 118 kann sich in einem beliebigen Arbeitsbereich zwischen einem Arbeitsabstand im
Nahbereich (WD1) und einem Arbeitsabstand im Fernbereich (WD2) befinden. In einer Implementierung ist WD1 etwa einen halben Zoll vom
Fenster 208 entfernt, und WD2 ist etwa dreißig Zoll vom Fenster 208 entfernt.
In dem Barcodeleser 105/106 ist zudem eine
Beleuchtungslichtanordnung montiert, die mit der optischen
Bildgebungsanordnung 130/131 verbunden ist und sich je nach
Implementierung im unteren Gehäuse 124 bzw. im Gehäuse 111/112 befindet. Die Beleuchtungslichtanordnung beinhaltet eine
Beleuchtungslichtquelle, beispielsweise mindestens eine Leuchtdiode (LED) 250 und mindestens eine Beleuchtungslinse 252. In einigen
Implementierungen beinhaltet die Beleuchtungslichtquelle mehrere LEDs 250 und Beleuchtungslinsen 252. Die Beleuchtungslichtquelle ist so konfiguriert, dass sie ein im Wesentlichen gleichmäßig verteiltes
Beleuchtungsmuster von Beleuchtungslicht auf und entlang des durch
Bilderfassung zu lesenden Zielobjekts 118 erzeugt. Zumindest ein Teil des gestreuten und/oder reflektierten zurückkommenden Lichts ergibt sich aus dem Beleuchtungsmuster von Licht auf und entlang des Zielobjekts 118.
Wie ebenfalls in FIG. 2 gezeigt, sind der Bildgeber 240 und die
Beleuchtungs-LED 250 betriebsmäßig mit einem Controller oder einem programmierten Mikroprozessor, beispielsweise dem Controller 258, verbunden, der den Betrieb dieser Komponenten steuert. Ein Speicher 160
91 BE2022/5786 ist mit dem Controller 258 gekoppelt und für diesen zugänglich. Der
Controller 258 kann zudem so konfiguriert sein, dass er die optische
Bildgebungsanordnung 130/131/132 und die assoziierte Beleuchtungs-LED 250 steuert. In alternativen Implementierungen können die optische
Bildgebungsanordnung 130 und die optische Bildgebungsanordnung 132 von verschiedenen Controllern gesteuert werden. Der Controller 258 kann
Informationen (d.h. ein oder mehrere Bilder und/oder Bilddaten) zur weiteren Verarbeitung an einen Prozessor (z.B. die Prozessoren 116 oder 117) senden. Alternativ kann der Controller 258 den Prozessor 116 oder 117 beinhalten. Während die optischen Bildgebungsanordnungen 130 und 132 in FIG. 1A rechtwinklig dargestellt sind, können die optischen
Bildgebungsanordnungen auch koplanar sein oder in einer anderen
Anordnung mit überlappendem FOV vorliegen.
FIG. 3A veranschaulicht eine Bildserie 302A, die ein erstes Bild 312, ein zweites Bild 314 und ein drittes Bild 316 beinhaltet, die von der optischen Bildgebungsanordnung 130/131 über ein FOV erfasst wurden, sowie optische Flüsse 318 und 320, die zwischen jedem Satz von Bildern berechnet wurden. Die Bilder beinhalten zum Beispiel ein Gesicht oder ein anderes interessierendes Objekt 305. In einigen Implementierungen handelt es sich bei dem interessierenden Objekt 305 um das vorstehend in FIG. 1A und 1B beschriebene Zielobjekt 118. Der Controller (z.B. der Controller 258) kann jedes Bild der Serie 302A zur Analyse in ein Raster aus Pixeln unterteilen. Die Bildserie 302A kann die Bewegung des interessierenden
Objekts 305 durch das FOV darstellen.
In einer beispielhaften Ausführungsform von FIG. 3A zeigen die optischen Flüsse 318 und 320 die Bewegung des interessierenden Objekts jeweils zwischen den Bildern 312/314 bzw. 314/316. Der Klarheit halber werden nachstehend das erste Bild 312, das zweite Bild 314 und der optische Fluss 318 beispielhaft erläutert. In einigen Implementierungen bestimmt der Controller 258 zur Bestimmung des optischen Flusses 318
99 BE2022/5786 zunächst einen ersten Standort für jedes Pixel in dem ersten Bild 312.
Anschließend bestimmt der Controller 258 einen zweiten Standort für jedes
Pixel in dem zweiten Bild 314. Um den optischen Fluss 318 zwischen dem ersten Bild 312 und dem zweiten Bild 314 zu berechnen, berechnet der
Controller 258 den Abstand zwischen dem ersten und dem zweiten Standort jedes Pixels und bestimmt die Bewegungsrichtung. In einigen
Implementierungen berechnet der Controller 258 den ersten Standort und den zweiten Standort für jedes Pixel des interessierenden Objekts. In anderen Implementierungen erstellt der Controller 258 zunächst einen
Umriss für das interessierende Objekt. Der Controller 258 kann einen solchen Umriss erstellen, indem er jedes Pixel am Rand des interessierenden Objekts identifiziert. AnschlieBend berechnet der
Controller 258 den ersten Standort und den zweiten Standort für jedes
Pixel, das den Umriss des interessierenden Objekts bildet. In anderen
Implementierungen berechnet der Controller 258 einen ersten Standort und einen zweiten Standort für einen Schlüsselpunkt auf dem interessierenden
Objekt. Der Schlüsselpunkt kann eine Ecke, ein Rand oder ein erkennbares
Merkmal sein. Je nach Implementierung kann der Controller 258 einen
Schlüsselpunkt durch den ihn umgebenden Bereich definieren, wie in FIG. 7 nachstehend näher beschrieben.
In einigen Implementierungen protokolliert und/oder identifiziert der Controller 258 einen Zeitstempel des ersten Bildes 312 und des zweiten
Bildes 314. Der Zeitstempel kann eine Uhrzeit und/oder ein Datum der
Erfassung des Bildes angeben, oder alternativ kann der Zeitstempel einen relativen Zeitpunkt der Erfassung angeben. Der Controller 258 kann dann die Zeitstempel verwenden, um den optischen Fluss 318 zwischen dem ersten Bild 312 und dem zweiten Bild 314 zu bestimmen.
FIG. 3B zeigt, ähnlich wie FIG. 3A, eine Serie 302B von Bildern, die ein erstes Bild 322 und ein zweites Bild 324 beinhaltet, die von der optischen Bildgebungsanordnung 130/131 über ein FOV erfasst wurden,
93 BE2022/5786 sowle einen optischen Fluss 326 zwischen den Bildern 322 und 324. Im
Gegensatz zu FIG. 3A ist in FIG. 3B jedoch ferner ein geschätzter optischer
Fluss 328 dargestellt.
In einer beispielhaften Ausführungsform von FIG. 3B zeigt die
Bildserie 302B ein interessierendes Objekt 305 mit einem Produktcode 120 und die Positionierung des interessierenden Objekts 305 zwischen verschiedenen Zeitpunkten wie in den Bildern 322 und 324 erfasst. Der
Controller 258 kann den optischen Fluss 326 wie vorstehend in FIG. 3A beschrieben berechnen. In einigen Implementierungen kann der Controller 258 präemptiv einen geschätzten optischen Fluss 328 unter Verwendung eines Vorhersagealgorithmus, der ersten und der zweiten Position des interessierenden Objekts 305 und eines oder mehrerer bereits berechneter optischer Flüsse 326 berechnen. Bei dem Vorhersagealgorithmus kann es sich zum Beispiel um einen Kalman-Filter-Algorithmus handeln. Je nach
Implementierung kann der Controller Methoden des maschinellen Lernens nutzen, um den Vorhersagealgorithmus zu trainieren und den geschätzten optischen Fluss 328 genauer zu berechnen.
In einigen Implementierungen erfasst die optische
Bildgebungsanordnung 130/131 das interessierende Objekt 305 als Ganzes, und der Controller 258 verfolgt das gesamte Objekt. In weiteren
Implementierungen kann die optische Bildgebungsanordnung 130/131 das interessierende Objekt 305 teilweise oder ganz erfassen, und der Controller 258 kann eine interessierende Region (ROT) 335 des Objekts 305 zuschneiden, die der Controller 258 dann über die Bildserie 302B hinweg verfolgt. Das Objekt 305 kann den Produktcode 120 beinhalten oder aus diesem bestehen. Das Objekt 305 kann zudem ein Produktetikett beinhalten oder aus diesem bestehen, beispielsweise ein Etikett mit einem
Produktnamen, Firmennamen, Logo und/oder Preis. Der Controller 258 identifiziert die ROI 335 auf Grundlage des Objekts 305, das in jedem der
Serie von Bildern 302B vorhanden ist. In einigen Implementierungen
94 BE2022/5786 identifiziert der Controller 258 die ROI 335 auf Grundlage eines mit der
ROI 335 assozlierten Ereignisses. Beispielsweise kann der Controller 258 einen Produktcode 120 auf einem interessierenden Objekt 305 decodieren und in Reaktion hierauf bestimmen, dass es sich bei einem Teil des oder dem gesamten interessierenden Objekt 305 um eine ROI 335 handelt. Der
Controller 258 kann dann die ROI 335 des Objekts 305 zuschneiden und mit einem Verfolgen des Objekts 305 von der ROI 335 zu einer zweiten ROI 336 und/oder einem Berechnen eines optischen Flusses 326 für das Objekt 305 beginnen. In einer anderen Implementierung erkennt der Controller 258 eine Bewegung innerhalb eines vorbestimmten Bereichs der optischen
Bildgebungsanordnung 130/131 (z.B. zwischen WD1 und WD2) und bestimmt eine ROI 335 für das sich bewegende Objekt 305. In einer weiteren Implementierung kennzeichnet ein Benutzer die ROI 335 manuell durch einen physischen Auslöser an einer Einrichtung, über einen berührungsempfindlichen Bildschirm (Touchscreen) oder durch Auswählen einer Eingabe, die dem Benutzer auf einem Anzeigebildschirm angezeigt wird. Andere ähnliche Ereignisse, die im Fachgebiet bekannt sind, können ebenfalls als Ereignis zum Identifizieren einer ROI 335 dienen.
Das interessierende Objekt 305 kann ein Zielobjekt 118 mit mehreren Produktcodes 120 sein, wie in FIG. 1B beschrieben. Somit kann der Controller 258 eine ROI 337 für einen zweiten Produktcode 120N identifizieren. In einigen Implementierungen können der erste Produktcode 120A und der zweite Produktcode 120N im Wesentlichen ähnlich oder identisch sein. In solchen Implementierungen kann der Controller 258 den optischen Fluss 326 verwenden, um zwischen dem ersten Produktcode 120A und dem zweiten Produktcode 120N zu unterscheiden. Beispielsweise kann der Controller 258 bestimmen, dass ein optischer Fluss 326 oder ein geschätzter optischer Fluss 328 der ersten ROI 335 anzeigt, dass sich der erste Produktcode 120A mit einer bestimmten Geschwindigkeit und in eine bestimmte Richtung bewegt, bei denen es unwahrscheinlich wäre, dass er
95 BE2022/5786 die Position erreicht, an der sich der zweite Produktcode 120N befindet (d.h. die ROI 337), und somit bestimmen, dass es sich bei dem Produktcode in einer zweiten ROI 336 und dem Produktcode in der ROI 337 um unterschiedliche Produktcodes handelt. Alternativ kann der Controller 258 bestimmen, dass ein Produktcode, der dort vorhanden ist, wo der optische
Fluss 326 anzeigt, dass dort der erste Produktcode 120A sein sollte (d.h. die
ROI 336), der Produktcode 120A ist. In einigen Implementierungen bestimmt der Controller 258 ferner, ob ein Produktcode 120N der
Produktcode 120A ist, auf Grundlage des Vorhandenseins eines oder mehrerer Schlüsselpunkte für den Produktcode 120A, wie nachstehend in
Bezug auf FIG. 7 näher beschrieben. In ähnlicher Weise kann der Controller 258 bestimmen, dass nur ein Teil des ersten Produktcodes 120A im FOV sichtbar sein sollte oder nur ein Teil des zweiten Produktcodes 120N sichtbar ist, und somit bestimmen, dass die beiden ROIs 336 und 337 verschieden sind. In einigen Implementierungen kann der Controller 258 optische Flüsse 326 für jeden der beiden Produktcodes 120A und 120N gleichzeitig verfolgen und berechnen.
In weiteren Implementierungen kann der Controller 258 auf
Grundlage des optischen Flusses 326 bestimmen, ob ein Produktcode 120 relativ stillsteht. Beispielsweise kann ein Benutzer das interessierende
Objekt 305 mit mehreren ähnlichen Produktcodes 120A-N so schnell über die optische Bildgebungsanordnung 130/131 bewegen, dass sich zwei im
Wesentlichen ähnliche, aber getrennte ROIs 335 und 337 in zwei getrennten
Bildern der Bildserie 302A/302B im Wesentlichen an derselben Stelle befinden. Der Controller 258 kann auf Grundlage eines optischen Flusses 326 bestimmen, dass der erste Produktcode 120A nicht an im Wesentlichen der gleichen Stelle verbleiben würde und daher der erste Produktcode 120A und der zweite Produktcode 120N getrennt sind. Alternativ kann der
Controller 258 bestimmen, dass ein optischer Fluss 326 der ROI 335 unter einem bestimmten Schwellenwert liegt, und somit bestimmen, dass die
26 BE2022/5786 erste ROI 335 und/oder die zweite ROI 336, die mit dem ersten Produktcode 120A assozliert sind, und die ROI 337, die mit dem zweiten Produktcode 120N assoziiert ist, dieselben sind. Der Controller 258 kann dann bestimmen, dass der Produktcode 120A relativ stillsteht. In einigen
Implementierungen kann der Controller 258 den Barcodeleser 105/106 veranlassen, dem Benutzer anzuzeigen, dass er den Produktcode 120A weiterbewegen soll.
FIG. 4 zeigt ein Flussdiagramm 400, das ein Verfahren für genaue Objektverfolgung durch einen Controller 258 veranschaulicht, der mit einer optischen Bildgebungsanordnung 130/131/132 in Kommunikation steht. Der Klarheit halber wird FIG. 4 mit Bezug auf das erste Bild 322, das zweite Bild 324, den optischen Fluss 326 und die ROI 335 besprochen.
Zu Beginn empfängt in Block 402 der Controller 258 eine
Bildserie 302 von einer optischen Bildgebungsanordnung 130/131/132 mit einem FOV. Die Bildserie 302 beinhaltet zumindest ein erstes Bild 322 und ein zweites Bild 324, die über ein FOV erfasst wurden. In einigen
Implementierungen empfängt der Controller 258 das erste Bild 322 und das zweite Bild 324 in Echtzeit (d.h. der Controller 258 empfängt jedes Bild separat). In anderen Implementierungen überträgt die optische
Bildgebungsanordnung 130/131/132 die Bildserie 302 in einer oder mehreren Gruppen gleichzeitig. In Block 404 identifiziert der Controller 258 eine erste ROI 335 und eine zweite ROI 336 innerhalb des ersten Bildes 322 bzw. des zweiten Bildes 324 auf Grundlage eines gemeinsamen Objekts 305 zwischen den beiden Bildern. Das Ereignis, das die Identifizierung der ersten ROI 335 und der zweiten ROI 336 bewirkt, kann, wie vorstehend beschrieben, ein Decodierungsereignis, ein Bewegungsverfolgungsereignis, ein manuelles Auslöseereignis oder ein anderes ähnliches Ereignis sein.
Ebenso können die erste ROI 335 und die zweite ROI 336 ein Barcode, QR-
Code, RFID-Tag, Produktetikett oder ein ähnlicher identifizierender
Produktcode oder Gegenstand sein.
97 BE2022/5786
In Block 406 bestimmt der Controller 258 eine erste Position der ersten ROI 335 innerhalb des ersten Bildes 322 und eine zweite Position der zweiten ROI 336 innerhalb des zweiten Bildes 324. In einigen
Implementierungen bestimmt der Controller 258 die erste Position der ersten ROI 335 durch Identifizieren eines der ROI 335 entsprechenden ersten Koordinatenwertes entlang einer ersten Achse des ersten Bildes 322 und/oder Identifizieren eines der ROI 335 entsprechenden zweiten
Koordinatenwertes entlang einer zweiten Achse des ersten Bildes 322.
AnschlieBend bestimmt der Controller 258 die zweite Position der zweiten
ROI 336 durch Identifizieren eines der ROI 336 entsprechenden dritten
Koordinatenwertes entlang einer ersten Achse des zweiten Bildes 324 und/oder Identifizieren eines der ROI 336 entsprechenden vierten
Koordinatenwertes entlang einer zweiten Achse des zweiten Bildes 324. Als
Nächstes identifiziert in Block 408 der Controller 258 einen optischen Fluss 326 für das Objekt 305 auf Grundlage zumindest der ersten Position und der zweiten Position. In einigen Implementierungen identifiziert der
Controller 258 den optischen Fluss 326 für das Objekt 305 durch Berechnen der Positionsdifferenz zwischen der ersten Position und der zweiten
Position. In solchen Implementierungen kann der Controller 258 die
Positionsdifferenz zwischen der ersten Position und der zweiten Position durch Berechnen der Differenz zwischen dem durch den ersten und den zweiten Koordinatenwert definierten Punkt und dem durch den dritten und den vierten Koordinatenwert definierten Punkt berechnen. Der Controller 258 kann ferner auf Grundlage des ersten Bildes 322 und des zweiten Bildes 324 eine relative Richtung bestimmen, in die sich die ROI 335 bewegt hat.
In Block 410 kann der Controller 258 dann das Objekt 305 auf
Grundlage des optischen Flusses 326 verfolgen. In einigen
Implementierungen beinhaltet das Verfolgen des Objekts 305 auf Grundlage des optischen Flusses 326 Empfangen eines dritten Bildes (z.B. eines neuen zweiten Bildes, wobei das zweite Bild ein neues erstes Bild ist) und
98 BE2022/5786
Berechnen eines aktualisierten optischen Flusses auf Grundlage des zweiten Bildes 324 und des dritten Bildes. Der Controller 258 aktualisiert daraufhin den optischen Fluss 326 mit dem aktualisierten optischen Fluss.
In einigen Implementierungen berechnet der Controller 258 auf Grundlage der zweiten Position und des optischen Flusses 326 einen geschätzten optischen Fluss 328 für das Objekt 305. Der Controller 258 schneidet dann auf Grundlage des geschätzten optischen Flusses eine vorhergesagte Region des dritten Bildes zu. Der Controller 258 kann dann bestimmen, dass die vorhergesagte Region das Objekt 305 enthält, und den optischen Fluss 326 entsprechend aktualisieren. In einigen Implementierungen kann der
Controller 258 auf Grundlage des Verfolgens des Objekts 305 oder auf
Grundlage eines geschätzten optischen Flusses 328 eine
Beleuchtungslichtquelle ausrichten.
In weiteren Implementierungen verfolgt der Controller 258 das
Objekt 305, indem er zunächst bestimmt, dass ein Abstand zwischen der ersten Position und der zweiten Position größer als ein vorbestimmter unterer Schwellenwert und kleiner als ein vorbestimmter oberer
Schwellenwert ist, und in Reaktion hierauf den optischen Fluss identifiziert.
Der Controller 258 bestimmt beispielsweise, dass das Objekt 305 weder stillsteht noch weiter springt, als ein Benutzer das Objekt 305 normalerweise zwischen Bildern bewegen könnte.
FIG. 5 zeigt ein Flussdiagramm 500, das ein Verfahren für genaue Objektverfolgung durch einen Controller 258 veranschaulicht, der mit einer optischen Bildgebungsanordnung 130/131/132 in Kommunikation steht. Das Flussdiagramm 500 beschreibt insbesondere ein Verfahren zum
Identifizieren eines optischen Flusses. Der Klarheit halber wird FIG. 5 mit
Bezug auf das Objekt 305, das erste Bild 322, das zweite Bild 324, den optischen Fluss 326, die erste ROI 326 und die zweite ROI 336 besprochen.
Zu Beginn bestimmt in Block 502 der Controller 258 eine erste
Position jedes eines Satzes von Pixeln, z.B. einiger einer Vielzahl von
29 BE2022/5786
Pixeln, innerhalb der ersten ROI 335 für das Objekt 305 innerhalb des ersten Bildes 322. Ebenso bestimmt der Controller in Block 504 eine zweite
Position jedes aus dem Satz von Pixeln innerhalb der zweiten ROI 336 des
Objekts 305 innerhalb des zweiten Bildes 324. In der beispielhaften
Ausführungsform von FIG. 5 wird jedes des Satzes von Pixeln innerhalb der ersten ROI 335 innerhalb des ersten Bildes 322 mit jedem des Satzes von
Pixeln innerhalb der zweiten ROI 336 innerhalb des zweiten Bildes 324 abgeglichen. Der Controller 258 kann die erste Position und die zweite
Position Jedes des Satzes von Pixeln in ähnlicher Weise bestimmen wie die
Position der ersten ROI 335 und die Position der zweiten ROI 336, wie vorstehend in FIG. 4 beschrieben.
In Block 506 berechnet der Controller 258 den Abstand zwischen der ersten Position und der zweiten Position jedes des Satzes von Pixeln innerhalb der ROIs 335 und 336. In Block 508 bestimmt der Controller 258 ferner eine Bewegungsrichtung für das Objekt 305 auf Grundlage der ersten
Position und der zweiten Position für jedes des Satzes von Pixeln innerhalb der ROIs 335 und 336. Der Controller 258 kann den Abstand berechnen und die Richtung der Bewegung des Objekts 305 anhand von Koordinaten bestimmen, wie vorstehend in FIG. 4 beschrieben. In Block 510 bestimmt der Controller 258 auf Grundlage des Abstandes und der
Bewegungsrichtung einen Bewegungsvektor für das Objekt 305. In einigen
Implementierungen kann der Controller 258 einen separaten
Bewegungsvektor für jedes Pixel bestimmen, der wiederum den optischen
Fluss 326 umfassen kann. In weiteren Implementierungen berechnet der
Controller 258 einen durchschnittlichen Bewegungsvektor für den Satz von
Pixeln innerhalb der ROIs 335 und 336, der wiederum den optischen Fluss 326 umfassen kann. In weiteren Implementierungen bestimmt der
Controller 258 entweder den maximalen Bewegungsvektor oder den minimalen Bewegungsvektor der Bewegungsvektoren für die Pixel, der wiederum den optischen Fluss 326 umfassen kann.
30 BE2022/5786
Im Gegensatz zu bisherigen Methoden kann der Controller 258 das Objekt 305 unter Verwendung des Satzes von Pixeln auch für zylindrische Objekte, Objekte ohne festes Volumen, Objekte mit spektraler
Reflexion oder Objekte mit gekipptem Barcode verfolgen. So kann der
Controller 258 beispielsweise bestimmen, dass ein Satz von Pixeln eine ROI umfasst, auch wenn der Barcode aufgrund von Anderungen der Form des
Objekts gedreht oder verzerrt ist.
FIG. 6 zeigt ein Flussdiagramm 600, das ein Verfahren für genaue Objektverfolgung durch einen Controller 258 veranschaulicht, der mit einer optischen Bildgebungsanordnung 130/131/132 in Kommunikation steht. Zu Beginn empfängt bei Block 602 der Controller 258 von der optischen Bildgebungsanordnung 130/131/132 eine zweite Bildserie, die ein drittes Bild und ein viertes Bild beinhaltet, die über das FOV erfasst wurden. In einigen Implementierungen kann das dritte Bild das zweite Bild 324 und das vierte Bild ein drittes Bild sein, das nach dem ersten Bild 322 und dem zweiten Bild 324 erfasst wurde. In Implementierungen, in denen mehrere Objekte sichtbar sind, kann das dritte Bild das erste Bild 322 und das vierte Bild das zweite Bild 324 sein. In Block 604 identifiziert der
Controller 258 eine dritte ROI innerhalb des dritten Bildes und eine vierte
ROI innerhalb des vierten Bildes auf Grundlage eines gemeinsamen Objekts zwischen den Bildern. Ähnlich wie beim Identifizieren der ersten ROI 335 und der zweiten ROI 336 kann der Controller 258 die Bestimmung auf
Grundlage eines Ereignisses vornehmen, wie vorstehend in FIG. 3B und 4 beschrieben. In einigen Implementierungen, in denen das zweite Objekt dem ersten Objekt im Wesentlichen ähnlich ist, kann der Controller das zweite Objekt identifizieren, indem er einen Abstand zwischen dem ersten
Objekt und dem zweiten Objekt berechnet und anschließend bestimmt, dass der Abstand zwischen dem ersten Objekt und dem zweiten Objekt einen vorbestimmten Schwellenwert überschreitet. Somit kann der Controller 258 auf Grundlage der Bestimmung, dass der Abstand zwischen dem ersten
31 BE2022/5786
Objekt und dem zweiten Objekt den vorbestimmten Schwellenwert überschreitet, bestimmen, dass das zweite Objekt vom ersten Objekt verschieden ist.
In Block 606 bestimmt der Controller 258 eine dritte Position der dritten ROI innerhalb des dritten Bildes. In Block 608 bestimmt der
Controller 258 eine vierte Position der vierten ROI innerhalb des vierten
Bildes. In einigen Implementierungen bestimmt der Controller 258 die dritte Position der dritten ROI durch Identifizieren eines der dritten ROI entsprechenden ersten Koordinatenwertes entlang einer ersten Achse des dritten Bildes und/oder Identifizieren eines der dritten ROI entsprechenden zweiten Koordinatenwertes entlang einer zweiten Achse des dritten Bildes.
Anschließend bestimmt der Controller 258 die vierte Position der vierten
ROI durch Identifizieren eines der vierten ROI entsprechenden dritten
Koordinatenwertes entlang einer ersten Achse des vierten Bildes und/oder
Identifizieren eines der vierten ROI entsprechenden vierten
Koordinatenwertes entlang einer zweiten Achse des vierten Bildes. In weiteren Implementierungen kann der Controller 258 die dritte und die vierte Position der dritten bzw. vierten ROI bestimmen, indem er eine dritte und vierte Position für jedes eines Satzes von Pixeln innerhalb der dritten
ROI innerhalb des dritten Bildes und der vierten ROI innerhalb des vierten
Bildes bestimmt, wie vorstehend in FIG. 5 beschrieben.
Nach dem Bestimmen der dritten Position der dritten ROI und der vierten Position der vierten ROI in den Blöcken 606 und 608 kann der
Controller 258 einen Abstand zwischen der dritten und der vierten Position berechnen und eine Richtung für die Bewegung des Objekts bestimmen. In
Block 610 aktualisiert der Controller 258 dann den optischen Fluss 326 auf
Grundlage zumindest der dritten und der vierten Position. In einigen
Implementierungen aktualisiert der Controller 258 den optischen Fluss 326 ferner auf Grundlage des berechneten Abstandes und der bestimmten
Richtung. In Block 612 schneidet der Controller 258 die vierte ROI in
39 BE2022/5786
Reaktion auf Bestimmen zu, dass die erste ROI 335 oder das erste Objekt außerhalb des FOV liegt.
Wenngleich die in FIG. 4 bis 6 beschriebenen Implementierungen für sich genommen implementiert werden können, können die
Implementierungen und Verfahren auch Teil einer breiteren
Implementierung sein, wie nachstehend in FIG. 7 beschrieben. Je nach
Implementierung können die Verfahren aus FIG. 4 bis 6 auch Zweige oder mögliche Ausführungsformen des in FIG. 7 beschriebenen Verfahrens sein.
FIG. 7 zeigt ein Flussdiagramm 700, das ein Verfahren für genaue Objektverfolgung durch einen Controller 258 veranschaulicht, der mit einer optischen Bildgebungsanordnung 130/131/132 in Kommunikation steht. In der beispielhaften Implementierung von FIG. 7 identifiziert und verfolgt der Controller 258 einen oder mehrere Schlüsselpunkte der
Barcodes über eine Serie von Rahmen und/oder Bildern hinweg, um
Situationen zu lösen, in denen Barcodes nicht leicht und/oder schnell decodiert werden können. Der Controller 258 kann dann einen optischen
Fluss für die Schlüsselpunkte berechnen, um den Standort des Barcodes zu bestimmen, selbst wenn dieser nicht decodiert werden kann.
Zu Beginn empfängt in Block 702 der Controller 258 eine
Bildserie, die zumindest ein erstes Bild und ein zweites Bild beinhaltet, ähnlich wie in Block 402 aus FIG. 4, wobei das erste Bild und das zweite
Bild denselben Barcode aufweisen können. Als Nächstes identifiziert in
Block 704 der Controller 258 einen ersten Punkt innerhalb des ersten Bildes und einen zweiten Punkt innerhalb des zweiten Bildes, wobei der erste
Punkt und der zweite Punkt beide einem oder mehreren Schlüsselpunkten (auch bekannt als Schlüsselpixelpunkte) auf einem Barcode 120 entsprechen, der sowohl im ersten Bild als auch im zweiten Bild sichtbar ist. Je nach Implementierung kann ein Schlüsselpunkt des Barcodes 120 eine Ecke des Barcodes 120, ein Punkt entlang des Randes des Barcodes 120 oder eine charakteristische Markierung auf dem Barcode 120 sein. In
33 BE2022/5786 weiteren Implementierungen können sich die Schlüsselpunkte an einer beliebigen Stelle im Bildrahmen relativ zum Barcode befinden. Wenngleich sich FIG. 7 konkret auf einen Barcode bezieht, kann der Controller 258 in einigen Implementierungen stattdessen einen Punkt auf einem beliebigen anderen geeigneten Identifizierungsetikett identifizieren, wie vorstehend ausführlicher beschrieben.
In einigen Implementierungen wird der erste Punkt durch eine erste x-Koordinate und eine erste y-Koordinate des ersten Bildes definiert.
In weiteren Implementierungen wird der zweite Punkt durch eine zweite x-
Koordinate und eine zweite y-Koordinate des zweiten Bildes definiert. In ähnlicher Weise kann eine beliebige Anzahl von N Punkten in N Bildern durch eine x-Koordinate und eine y-Koordinate innerhalb des entsprechenden N-ten Bildes definiert werden.
Als Nächstes identifiziert in Block 706 der Controller 258 einen optischen Fluss für den Barcode 120 auf Grundlage zumindest des ersten
Punktes und des zweiten Punktes. In einigen Implementierungen identifiziert der Controller 258 den optischen Fluss für den Barcode 120 auf
Grundlage eines oder mehrerer Bewegungsvektoren für die
Schlüsselpunkte. Der Controller 258 kann anschließend die
Bewegungsvektoren mit jedem jeweiligen Bild assozileren. Zum Beispiel kann der Controller 258 bestimmen, dass ein Schlüsselpunkt einen
Bewegungsvektor von 1 Zoll von links nach rechts zwischen einem ersten
Bild und einem zweiten Bild aufweist. Der Controller 258 kann dann diesen
Bewegungsvektor mit dem ersten oder zweiten Bild registrieren. In einigen
Implementierungen berechnet der Controller 258 den Bewegungsvektor durch Berechnen eines ersten Abstandes zwischen den x-Koordinaten einer ersten Position eines Schlüsselpunktes und einer zweiten Position des
Schlüsselpunktes, eines zweiten Abstandes zwischen den y-Koordinaten einer ersten Position des Schlüsselpunktes und einer zweiten Position des
34 BE2022/5786
Schlüsselpunktes, und Bestimmen einer Bewegungsrichtung für den
Schlüsselpunkt auf Grundlage des ersten und des zweiten Abstandes.
In einigen Implementierungen weist der Controller 258 auf
Grundlage des betreffenden Punktes sowie von Umgebungsinformationen jedem Schlüsselpunkt eine Signatur zu. Zum Beispiel kann die Signatur für einen Schlüsselpunkt, der die Ecke eines Barcodes ist, Informationen beinhalten, die besagen, dass sich der Barcode relativ nach unten und nach rechts erstreckt, nicht aber in andere Richtungen. Je nach Implementierung berechnet der Controller 258 den optischen Fluss unter Verwendung der zugewiesenen Signaturen. Beispielsweise kann die Signatur für einen
Schlüsselpunkt ein Deskriptor sein, der eine Differenz von Gradienten in der Pixelumgebung oder andere ähnlich geeignete Informationen über die
Gradienten in der Pixelumgebung ausdrückt.
In Block 708 verfolgt der Controller 258 den Barcode 120 auf
Grundlage des optischen Flusses. Je nach Implementierung verfolgt und/oder decodiert der Controller 258 dann den Barcode 120 in Echtzeit unter Verwendung der berechneten Bewegungsvektoren. In einigen
Implementierungen verwendet der Controller den optischen Fluss, um einen Standort für den Barcode 120 in einem zweiten Bild nach dem ersten
Bild zu bestimmen und/oder vorherzusagen. In einigen solchen
Implementierungen kann der Controller 258 bestimmen, dass es sich bei einem Objekt, das einen bestimmten Standort überlappt, um den Barcode 120 handelt. Der Controller 258 verzichtet dann darauf, den Barcode an den
Benutzer zu melden, um ein erneutes Decodieren des Barcodes zu vermeiden. Alternativ kann der Controller 258 darauf verzichten, den
Barcode an den Benutzer melden, es sei denn, der Controller 258 erkennt die Schlüsselpunkte außerhalb des bestimmten Bereichs.
In anderen Implementierungen kann der Controller 258 den
Barcode im zweiten Bild oder einem späteren Bild decodieren. In solchen
Implementierungen kann der Controller 258 auf Grundlage des Standortes,
35 BE2022/5786 der Schlüsselpunkte und/oder der Decodierdaten bestimmen, dass es sich bei dem Barcode um den Barcode 120 handelt. Der Controller 258 verzichtet dann darauf, den Barcode an den Benutzer zu melden, ähnlich wie vorstehend beschrieben. In weiteren Implementierungen kann der
Controller 258 den Barcode 120 in dem zweiten oder späteren Bild decodieren und intern die Position und/oder den optischen Fluss des
Barcodes aktualisieren, ohne einen Benutzer zu benachrichtigen. Der
Controller 258 kann stattdessen auf Grundlage des Standortes und/oder der
Decodierdaten bestimmen, dass der Barcode im zweiten Bild ein anderer
Barcode 120N ist, und dem Benutzer das Vorhandensein eines neuen
Barcodes melden und/oder mit dem Verfolgen des Barcodes 120N unter
Verwendung eines zweiten optischen Flusses gleichzeitig mit dem ersten
Barcode 120A beginnen. In weiteren Implementierungen kann der
Controller 258 vor dem Verfolgen einen zweiten Satz von Schlüsselpunkten für den Barcode 120N identifizieren oder kann ferner eine der vorstehend in
FIG. 4 bis 6 beschriebenen Ausführungsformen verwenden.
In Implementierungen, in denen der Controller 258 bestimmt, dass ein zweiter Barcode 120N im FOV des Scansystems 100A/B vorhanden ist, kann der Controller 258 bestimmen, dass der zweite Barcode 120N zusammen mit dem ersten Barcode 120A vorhanden ist. Wie vorstehend erwähnt, kann je nach Implementierung der Controller 258 den zweiten
Barcode 120N als solchen identifizieren, nachdem er bestimmt hat, dass ein
Objekt vorhanden ist, das dem ersten Barcode 120A im Wesentlichen ähnlich ist, sich aber nicht an derselben Position oder an einer Position befindet, die auf Grundlage des optischen Flusses vorhergesagt wurde. In einigen Implementierungen ist ein Objekt im Wesentlichen ähnlich, wenn das Objekt das gleiche Layout und/oder Design wie der erste Barcode 120A aufweist. In anderen Implementierungen ist ein Objekt im Wesentlichen ähnlich, wenn es mit dem ersten Barcode 120A identisch (d.h. ein Duplikat) ist. Der Controller 258 kann zudem bestimmen, dass es sich bei einem
36 BE2022/5786
Objekt nicht um einen Barcode handelt, und kann daraufhin bestimmen, nicht mit dem Objekt zu interagieren, sondern das Verfolgen des ersten
Barcodes 120A fortzusetzen.
Nach dem Bestimmen, dass es sich bei einem Objekt um einen zweiten Barcode 120N handelt, kann der Controller 258 dann eine erste und eine zweite Position eines oder mehrerer Schlüsselpunkte für den zweiten
Barcode 120N identifizieren und einen optischen Fluss bestimmen, bevor der zweite Barcode 120N verfolgt wird, wie vorstehend für den ersten
Barcode 120A beschrieben. In einigen Implementierungen verfolgt der
Controller 258 den zweiten Barcode 120N mit zumindest einer gewissen zeitlichen Überlappung mit dem ersten Barcode 120A. Anders ausgedrückt, kann der Controller 258 den zweiten Barcode 120N und den ersten Barcode 120A gleichzeitig, getrennt oder mit einer gewissen Überlappung verfolgen.
Ferner kann der Controller 258 eine beliebige Anzahl von
Barcodes gleichzeitig und/oder in Echtzeit verfolgen, wie vorstehend beschrieben. Somit kann der Controller 258 eine beliebige Anzahl von
Barcodes verfolgen, bis die verfolgten Barcodes nicht mehr im FOV vorhanden sind oder bis der Controller 258 bestimmt, dass eine
Decodierungssitzung beendet ist.
In einigen Implementierungen empfängt der Controller 258 OF-
Daten von der Hardware des Scan-Systems 100A/B. In solchen
Implementierungen identifiziert der Controller 258 nur Schlüsselpunkte im ersten Bild und verfolgt den Barcode unter Verwendung der empfangenen
OF-Daten und der Bewegung der Schlüsselpunkte wie vorstehend beschrieben. Somit kann der Controller 258 die vorstehend beschriebenen
Methoden unter Verwendung von der Hardware empfangener OF-Daten implementieren, anstatt den optischen Fluss zu berechnen.
Die vorstehende Beschreibung bezieht sich auf ein
Blockdiagramm der beiliegenden Zeichnungen. Alternative
Implementierungen des durch das Blockdiagramm dargestellten Beispiels
37 BE2022/5786 beinhalten ein/e oder mehrere zusätzliche oder alternative Elemente,
Prozesse und/oder Einrichtungen. Zusätzlich oder alternativ können einer oder mehrere der Beispielblöcke des Diagramms kombiniert, geteilt, neu angeordnet oder weggelassen werden. Durch die Blöcke des Diagramms dargestellte Komponenten werden durch Hardware, Software, Firmware und/oder eine beliebige Kombination aus Hardware, Software und/oder
Firmware implementiert. In einigen Beispielen wird mindestens eine der durch die Blöcke dargestellten Komponenten durch eine Logikschaltung implementiert. Vorliegend ist die Bezeichnung "Logikschaltung" ausdrücklich definiert als eine physische Einrichtung, das mindestens eine
Hardwarekomponente enthält, die (z.B. durch einen Betrieb gemäß einer vorbestimmten Konfiguration und/oder durch Ausführung gespeicherter maschinenlesbarer Anweisungen) konfiguriert ist, um eine oder mehrere
Maschinen zu steuern und/oder Operationen einer oder mehrerer
Maschinen durchzuführen. Zu Beispielen für eine Logikschaltung zählen ein oder mehrere Prozessoren, ein oder mehrere Coprozessoren, ein oder mehrere Mikroprozessoren, ein oder mehrere Controller, ein oder mehrere digitale Signalprozessoren (DSPs), eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs), ein oder mehrere frei programmierbare Gate-Arrays (FPGAs), eine oder mehrere
Mikrocontroller-Einheiten (MCUs), ein oder mehrere
Hardwarebeschleuniger, ein oder mehrere Spezial-Computerchips und eine oder mehrere Ein-Chip-System- (system on a chip, SoC-) Einrichtungen.
Einige beispielhafte Logikschaltungen, wie ASICs oder FPGAs, sind speziell konfigurierte Hardware zum Durchführen von Operationen (z.B. einer oder mehrerer der vorliegend beschriebenen und in den Flussdiagrammen dieser
Offenbarung dargestellten Operationen, sofern solche vorhanden sind).
Einige beispielhafte Logikschaltungen sind Hardware, die maschinenlesbare Anweisungen ausführt, um Operationen durchzuführen (z.B. eine oder mehrere der vorliegend beschriebenen und durch die
38 BE2022/5786
Flussdiagramme dieser Offenbarung dargestellten Operationen, sofern solche vorhanden sind). Einige beispielhafte Logikschaltungen beinhalten eine Kombination aus speziell konfigurierter Hardware und Hardware, die maschinenlesbare Anweisungen ausführt. Die vorstehende Beschreibung bezieht sich auf verschiedene vorliegend beschriebene Operationen und
Flussdiagramme, die zur Veranschaulichung des Ablaufs dieser
Operationen dieser Beschreibung beiliegen können. Alle derartigen
Flussdiagramme sind repräsentativ für vorliegend offenbarte beispielhafte
Verfahren. In einigen Beispielen implementieren die durch die
Flussdiagramme dargestellten Verfahren die durch die Blockdiagramme dargestellten Vorrichtungen. Alternative Implementierungen vorliegend offenbarter beispielhafter Verfahren können zusätzliche oder alternative
Operationen beinhalten. Darüber hinaus können Operationen alternativer
Implementierungen der vorliegend offenbarten Verfahren kombiniert, aufgeteilt, neu angeordnet oder weggelassen werden. In einigen Beispielen werden die vorliegend beschriebenen Operationen durch maschinenlesbare
Anweisungen (z.B. Software und/oder Firmware) implementiert, die auf einem Medium (z.B. einem materiellen maschinenlesbaren Medium) zur
Ausführung durch eine oder mehrere Logikschaltungen (z.B. Prozessor(en)) gespeichert sind. In einigen Beispielen werden die vorliegend beschriebenen
Operationen durch eine oder mehrere Konfigurationen einer oder mehrerer speziell entwickelter Logikschaltungen (z.B. ASIC(s)) implementiert. In einigen Beispielen werden die vorliegend beschriebenen Operationen durch eine Kombination aus speziell entwickelten Logikschaltungen und maschinenlesbaren Anweisungen implementiert, die auf einem Medium (z.B. einem materiellen maschinenlesbaren Medium) zur Ausführung durch
Logikschaltung(en) gespeichert sind.
Vorliegend sind die Bezeichnungen "materielles maschinenlesbares Medium", "nicht-transientes maschinenlesbares
Medium" und "maschinenlesbare Speichereinrichtung" jeweils ausdrücklich
39 BE2022/5786 definiert als ein Speichermedium (z.B. eine Platte eines
Festplattenlaufwerks, eine Digital Versatile Disc, eine Compact Disc, ein
Flash-Speicher, ein Nur-Lese-Speicher, ein Direktzugriffsspeicher usw.), auf dem maschinenlesbare Anweisungen (z.B. Programmcode in Form von beispielsweise Software und/oder Firmware) für eine beliebige geeignete
Zeitdauer (z.B. dauerhaft, für einen längeren Zeitraum (z.B. während der
Ausführung eines den maschinenlesbaren Anweisungen zugehörigen
Programms) und/oder für einen kurzen Zeitraum (z.B. während eines
Cachens der maschinenlesbaren Anweisungen und/oder während eines
Pufferungsprozesses)) gespeichert werden. Ferner sind vorliegend die
Bezeichnungen "materielles maschinenlesbares Medium”, "nicht-transientes maschinenlesbares Medium" und "maschinenlesbare Speichereinrichtung" jeweils ausdrücklich so definiert, dass sie sich ausbreitende Signale ausschließen. Das heißt, keine der in Ansprüchen dieses Patents verwendeten Bezeichnungen "materielles maschinenlesbares Medium", "nicht-transientes maschinenlesbares Medium" und "maschinenlesbare
Speichereinrichtung" kann so gelesen werden, dass sie durch ein sich ausbreitendes Signal implementiert werden.
In der vorstehenden Spezifikation wurden konkrete
Ausführungsformen beschrieben. Einem Fachmann ist jedoch klar, dass verschiedene Modifikationen und Änderungen vorgenommen werden können, ohne vom Umfang der Erfindung, wie er in den nachstehenden
Ansprüchen dargelegt ist, abzuweichen. Dementsprechend sind die
Spezifikation und die Figuren eher veranschaulichend als einschränkend zu verstehen, und alle derartigen Modifikationen sollen in den Umfang der vorliegenden Lehren fallen. Darüber hinaus sollten die beschriebenen
Ausführungsformen/Beispiele/Implementierungen nicht als sich gegenseitig ausschlieBend interpretiert werden, sondern als potenziell kombinierbar, soweit solche Kombinationen in irgendeiner Weise zulässig sind. Mit anderen Worten: Jedes Merkmal, das in einer/m der vorstehenden
40 BE2022/5786
Ausführungsformen/Beispiele/Implementierungen offenbart wird, kann in jeder/m der anderen vorstehenden
Ausführungsformen/Beispiele/Implementierungen enthalten sein.
Der Nutzen, die Vorteile, die Problemlösungen und alle Elemente, die dazu führen können, dass ein Nutzen, ein Vorteil oder eine Lösung erfolgt oder stärker ausgeprägt ist, sind nicht als entscheidende, erforderliche oder wesentliche Merkmale oder Elemente eines oder aller
Ansprüche zu verstehen. Die beanspruchte Erfindung wird ausschließlich durch die beiliegenden Ansprüche einschließlich aller während der
Anhängigkeit dieser Anmeldung vorgenommenen Änderungen und aller erteilten Äquivalente dieser Ansprüche definiert. Aus Gründen der Klarheit und einer prägnanten Beschreibung werden Merkmale vorliegend als Teil der gleichen oder separater Ausführungsformen beschrieben, es versteht sich jedoch, dass der Umfang der Erfindung Ausführungsformen mit
Kombinationen aller oder einiger der beschriebenen Merkmale umfassen kann. Es versteht sich, dass die gezeigten Ausführungsformen die gleichen oder ähnliche Komponenten aufweisen, abgesehen von Stellen, an denen diese als unterschiedlich beschrieben sind.
Darüber hinaus können in diesem Dokument relationale
Bezeichnungen wie "erster" und "zweiter", "oben" und "unten" und dergleichen lediglich zur Unterscheidung einer Entität oder Aktion von einer anderen Entität oder Aktion verwendet werden, ohne dass dies notwendigerweise eine tatsächliche derartige Beziehung oder Reihenfolge zwischen diesen Entitäten oder Aktionen erfordert oder impliziert. Die
Ausdrücke "umfasst", "umfassend", "hat/weist auf", "mit", "beinhaltet", "einschließlich/darunter", "enthält", "enthaltend" oder eine andere
Abwandlung davon sollen eine nicht ausschließliche Einbeziehung derart abdecken, dass ein Prozess, ein Verfahren, ein Artikel oder eine
Vorrichtung, der/die/das eine Liste von Elementen umfasst, aufweist, beinhaltet, enthält, nicht nur diese Elemente beinhaltet, sondern auch
41 BE2022/5786 andere Elemente beinhalten kann, die nicht ausdrücklich aufgelistet sind oder inhärent zu einem solchen Prozess, Verfahren, Artikel oder einer
Vorrichtung gehören. Ein Element, das mit "umfasst ... ein/e", "weist ... ein/e … auf", "beinhaltet … ein/e", "enthält … ein/e" eingeleitet wird, schließt ohne weitere Einschränkungen die Existenz weiterer identischer Elemente in dem Prozess, dem Verfahren, dem Artikel oder der Vorrichtung, der/die/das das Element umfasst, aufweist, beinhaltet oder enthält, nicht aus. Die
Bezeichnung "ein/e" ist als ein oder mehrere definiert, sofern vorliegend nicht ausdrücklich etwas anderes angegeben ist. Die Ausdrücke "im
Wesentlichen", "ungefähr", "etwa" oder Abwandlungen davon sind so definiert, dass sie gemäß dem Verständnis eines Fachmanns nahe an etwas liegen, und in einer nicht-einschränkenden Ausführungsform ist der
Ausdruck so definiert, dass er innerhalb von 10 % liegt, in einer anderen
Ausführungsform innerhalb von 5 %, in einer anderen Ausführungsform innerhalb von 1 % und in einer anderen Ausführungsform innerhalb von 0,5 %. Die vorliegend verwendete Bezeichnung "gekoppelt" ist definiert als verbunden, wenn auch nicht unbedingt direkt und nicht unbedingt mechanisch. Eine Einrichtung oder Struktur, die in einer bestimmten Weise "konfiguriert" ist, ist in zumindest dieser Weise konfiguriert, kann jedoch auch in anderer Weise konfiguriert sein, die nicht aufgeführt ist.
Die Zusammenfassung der Offenbarung soll es dem Leser ermöglichen, sich schnell über das Wesen der technischen Offenbarung zu informieren. Sie wird in dem Verständnis vorgelegt, dass sie nicht zur
Auslegung oder Einschränkung des Umfangs oder der Bedeutung der
Ansprüche herangezogen wird. Zudem ist aus der vorstehenden ausführlichen Beschreibung ersichtlich, dass verschiedene Merkmale in verschiedene Ausführungsform zusammengefasst sind, um die Offenbarung zu straffen. Diese Vorgehensweise in der Offenbarung ist nicht so auszulegen, dass die beanspruchten Ausführungsformen mehr Merkmale als explizit in jedem Anspruch angegeben erfordern sollen. Wie die
49 BE2022/5786 folgenden Ansprüche zeigen, kann der Erfindungsgegenstand vielmehr in weniger als allen Merkmalen einer einzigen offenbarten Ausführungsform liegen. Die nachfolgenden Ansprüche werden somit hierdurch für die ausführliche Beschreibung in Bezug genommen, wobei jeder Anspruch als separat beanspruchter Gegenstand für sich steht. Der bloße Umstand, dass bestimmte Maßnahmen in voneinander unterschiedlichen Ansprüchen verwendet werden, deutet nicht darauf hin, dass eine Kombination dieser
Maßnahmen nicht vorteilhaft genutzt werden kann. Für einen Fachmann sind viele Varianten denkbar. Alle Varianten fallen unter den in den folgenden Ansprüchen definierten Erfindungsumfang.

Claims (1)

  1. 43 BE2022/5786 ANSPRÜCHE
    1. Verfahren zum Verfolgen und Scannen von Barcodes unter Verwendung eines Bildgebungssystems, das eine optische Anordnung mit einem Sichtfeld (FOV) beinhaltet, wobei das Verfahren umfasst: Empfangen einer Bildserie von der optischen Bildgebungsanordnung, die zumindest ein erstes Bild und ein zweites Bild beinhaltet, die über das FOV erfasst wurden; Decodieren eines Barcodes in dem ersten Bild; Identifizieren einer ersten Position eines Schlüsselpunktes innerhalb des ersten Bildes; Identifizieren einer zweiten Position des Schlüsselpunktes innerhalb des zweiten Bildes; Berechnen eines optischen Flusses für den Barcode auf Grundlage zumindest der ersten Position und der zweiten Position; und Verfolgen des Barcodes auf Grundlage des optischen Flusses.
    2. Verfahren nach Anspruch 1, wobei: der erste Punkt durch eine erste x-Koordinate und eine erste y-Koordinate innerhalb des ersten Bildes definiert wird; die zweite Position durch eine zweite x-Koordinate und eine zweite y-Koordinate innerhalb des zweiten Bildes definiert wird; und das Berechnen des optischen Flusses beinhaltet: Berechnen eines ersten Abstandes zwischen der ersten x-Koordinate und der zweiten x-Koordinate; Berechnen eines zweiten Abstandes zwischen der ersten y-Koordinate und der zweiten y-Koordinate;
    44 BE2022/5786 Bestimmen einer Bewegungsrichtung auf Grundlage des ersten Abstandes und des zweiten Abstandes; und Bestimmen eines Bewegungsvektors für den optischen Fluss auf Grundlage zumindest des ersten Abstandes, des zweiten Abstandes und der Bewegungsrichtung.
    3. Verfahren nach Anspruch 1 oder 2, wobei das Verfolgen beinhaltet: Vorhersagen eines Standortes des Barcodes in einem zusätzlichen Bild der Bildserie unter Verwendung zumindest des optischen Flusses und des Schlüsselpunktes, wobei das zusätzliche Bild nach dem ersten Bild aufgenommen wird.
    4. Verfahren nach Anspruch 3, ferner umfassend: Decodieren des Barcodes in dem zusätzlichen Bild; — Bestimmen einer zusätzlichen Position des decodierten Barcodes; Vergleichen des vorhergesagten Standortes des Barcodes und der zusätzlichen Position des decodierten Barcodes in dem zusätzlichen Bild; Bestimmen, dass sich die zusätzliche Position des Barcodes und der vorhergesagte Standort des Barcodes überlappen; und Aktualisieren des optischen Flusses unter Verwendung der zusätzlichen Position.
    5. Verfahren nach Anspruch 3, ferner umfassend: Decodieren eines Barcodes in dem zusätzlichen Bild; Bestimmen einer zusätzlichen Position des decodierten Barcodes;
    45 BE2022/5786 Vergleichen des vorhergesagten Standortes des Barcodes und der zusätzlichen Position des decodierten Barcodes in dem zusätzlichen Bild; Bestimmen, dass sich die zusätzliche Position des Barcodes und der vorhergesagte Standort des decodierten Barcodes nicht überlappen; und in Reaktion auf das Bestimmen, dass sich die zusätzliche Position des Barcodes und der vorhergesagte Standort des decodierten Barcodes nicht überlappen, erfolgendes Bestimmen, dass sich der decodierte Barcode von dem Barcode in dem ersten Bild unterscheidet.
    6. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schlüsselpunkt ein erster Schlüsselpunkt ist, der Barcode ein erster Barcode ist, der optische Fluss ein erster optischer Fluss ist, und ferner umfassend: Bestimmen, dass ein zweiter Barcode in einem dritten Bild der Bildserie vorhanden ist; Decodieren des zweiten Barcodes; Identifizieren einer ersten Position eines zweiten Schlüsselpunktes innerhalb des Bildes; Identifizieren einer zweiten Position des zweiten Schlüsselpunktes innerhalb eines vierten Bildes; Berechnen eines zweiten optischen Flusses für den zweiten Barcode auf Grundlage zumindest der ersten Position des zweiten Schlüsselpunktes und der zweiten Position des zweiten Schlüsselpunktes; und Verfolgen des zweiten Barcodes auf Grundlage des optischen Flusses.
    7. Verfahren nach Anspruch 6, wobei das Verfolgen des zweiten Barcodes und das Verfolgen des ersten Barcodes gleichzeitig durchgeführt werden.
    46 BE2022/5786
    8. Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend: Decodieren eines Teils eines zusätzlichen Bildes der Bildserie, wobei das zusätzliche Bild nach dem ersten Bild aufgenommen wird und wobei der Teil nicht den vorhergesagten Standort beinhaltet.
    9. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Berechnen und das Verfolgen in Echtzeit durchgeführt werden.
    10. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Identifizieren der ersten Position des Schlüsselpunktes beinhaltet: Erzeugen einer Signatur für den Schlüsselpunkt, wobei die Signatur Informationen über den Schlüsselpunkt umgebende Gradienten beinhaltet.
    11. Verfahren nach Anspruch 10, wobei das Identifizieren der zweiten Position des Schlüsselpunktes beinhaltet: Bestimmen, dass ein Schlüsselpunkt in dem zweiten Bild eine Signatur aufweist, die mit der Signatur für den Schlüsselpunkt übereinstimmt. 12, Verfahren zum Verfolgen und Scannen von Barcodes unter Verwendung eines Bildgebungssystems, das eine optische Anordnung mit einem Sichtfeld (FOV) beinhaltet, wobei das Verfahren umfasst: Empfangen einer Bildserie von der optischen Bildgebungsanordnung, die zumindest ein erstes Bild und ein zweites Bild beinhaltet, die über das FOV erfasst wurden; Decodieren eines Barcodes in dem ersten Bild; Identifizieren einer Position eines Schlüsselpunktes innerhalb des ersten Bildes;
    47 BE2022/5786 Empfangen von OF- (optischer Fluss) Daten für den Schlüsselpunkt; und Verfolgen des Barcodes auf Grundlage der OF-Daten.
    15. Verfahren nach Anspruch 12, wobei das Verfolgen beinhaltet: Vorhersagen eines Standortes des Barcodes in einem zusätzlichen Bild der Bildserie unter Verwendung zumindest der OF-Daten und des Schlüsselpunktes, wobei das zusätzliche Bild nach dem ersten Bild aufgenommen wird.
    14. Verfahren nach Anspruch 13, ferner umfassend: Decodieren des Barcodes in dem zusätzlichen Bild; Bestimmen einer zusätzlichen Position des decodierten Barcodes; Vergleichen des vorhergesagten Standortes des Barcodes und der zusätzlichen Position des decodierten Barcodes in dem zusätzlichen Bild; Bestimmen, dass sich die zusätzliche Position des Barcodes und der vorhergesagte Standort des Barcodes überlappen; und Aktualisieren der OF-Daten unter Verwendung der zusätzlichen Position.
    15. Verfahren nach Anspruch 13, ferner umfassend: Decodieren eines Barcodes in dem zusätzlichen Bild; — Bestimmen einer zusätzlichen Position des decodierten Barcodes; Vergleichen des vorhergesagten Standortes des Barcodes und der zusätzlichen Position des decodierten Barcodes in dem zusätzlichen Bild; Bestimmen, dass sich die zusätzliche Position des Barcodes und der vorhergesagte Standort des decodierten Barcodes nicht überlappen; und
    48 BE2022/5786 in Reaktion auf das Bestimmen, dass sich die zusätzliche Position des Barcodes und der vorhergesagte Standort des decodierten Barcodes nicht überlappen, erfolgendes Bestimmen, dass sich der decodierte Barcode von dem Barcode in dem ersten Bild unterscheidet.
    16. Verfahren nach einem der vorhergehenden Ansprüche 12 bis 15, wobei die Position des Schlüsselpunktes eine erste Position eines ersten Schlüsselpunktes ist, der Barcode ein erster Barcode ist, die OF-Informationen erste OF-Daten sind, und ferner umfassend: Bestimmen, dass ein zweiter Barcode in einem dritten Bild der Bildserie vorhanden ist; Decodieren des zweiten Barcodes; Identifizieren einer zweiten Position eines zweiten Schlüsselpunktes innerhalb des Bildes; Empfangen zweiter OF-Daten für den zweiten Schlüsselpunkt; und Verfolgen des zweiten Barcodes auf Grundlage der zweiten OF-Daten.
    17. Verfahren nach Anspruch 16, wobei das Verfolgen des zweiten Barcodes und das Verfolgen des ersten Barcodes gleichzeitig durchgeführt werden.
    18. Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend: Decodieren eines Teils eines zusätzlichen Bildes der Bildserie, wobei das zusätzliche Bild nach dem ersten Bild aufgenommen wird und wobei der Teil nicht den vorhergesagten Standort beinhaltet.
    49 BE2022/5786
    19. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Empfangen und das Verfolgen in Echtzeit durchgeführt werden.
    20. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Identifizieren der Position des Schlüsselpunktes beinhaltet: Erzeugen einer Signatur für den Schlüsselpunkt, wobei die Signatur Informationen über den Schlüsselpunkt umgebende Gradienten beinhaltet.
    21. Verfahren zum Verfolgen von Objekten unter Verwendung eines Bildgebungssystems, das eine optische Anordnung mit einem Sichtfeld (FOV) beinhaltet, wobei das Verfahren umfasst: Empfangen einer Bildserie von der optischen Bildgebungsanordnung, die zumindest ein erstes Bild und ein zweites Bild beinhaltet, die über das FOV erfasst wurden; Identifizieren einer ersten interessierenden Region (ROD) innerhalb des ersten Bildes und einer zweiten ROI innerhalb des zweiten Bildes, wobei die erste ROI und die zweite ROI auf einem Objekt basieren, das dem ersten Bild und dem zweiten Bild gemeinsam Ist; Bestimmen einer ersten Position der ersten ROI innerhalb des ersten Bildes und einer zweiten Position der zweiten ROI innerhalb des zweiten Bildes; Identifizieren eines optischen Flusses für das Objekt auf Grundlage zumindest der ersten Position und der zweiten Position, wobei der optische Fluss für eine Positionsänderung zwischen der ersten Position und der zweiten Position repräsentativ ist; und Verfolgen des Objekts auf Grundlage des optischen Flusses.
    50 BE2022/5786
    22. Verfahren nach Anspruch 21, wobei das Identifizieren eines optischen Flusses ferner beinhaltet: Bestimmen eines Abstandes zwischen der ersten Position und der zweiten Position; Bestimmen einer Bewegungsrichtung für das Objekt auf Grundlage der ersten Position und der zweiten Position; und Bestimmen eines Bewegungsvektors für das Objekt auf Grundlage des Abstandes und der Bewegungsrichtung.
    23. Verfahren nach Anspruch 22, wobei das Bestimmen der ersten Position der ersten ROI Bestimmen einer ersten Position zumindest einiger einer Vielzahl von Pixeln innerhalb der ersten ROI innerhalb des ersten Bildes beinhaltet; wobei das Bestimmen der zweiten Position der zweiten ROI Bestimmen einer zweiten Position zumindest einiger der Vielzahl von Pixeln innerhalb der zweiten ROI innerhalb des zweiten Bildes beinhaltet; und wobei das Bestimmen des Abstandes zwischen der ersten Position und der zweiten Position Bestimmen eines Abstandes zwischen (1) der ersten Position der einigen der Vielzahl von Pixeln und (ii) der zweiten Position der einigen der Vielzahl von Pixeln beinhaltet.
    24. Verfahren nach Anspruch 22 oder 23, ferner umfassend: Bestimmen, dass der Bewegungsvektor für eine vorbestimmte Zeitspanne unter einem vorbestimmten Schwellenwert liegt; und Anzeigen, dass das Objekt zuvor gescannt wurde.
    25. Verfahren nach einem der vorhergehenden Ansprüche 21 bis 24, ferner umfassend:
    51 BE2022/5786 unter Verwendung eines Vorhersagealgorithmus erfolgendes Berechnen einer dritten Position einer dritten ROI auf Grundlage der ersten Position und der zweiten Position; und Aktualisieren des optischen Flusses auf Grundlage der dritten Position.
    26. Verfahren nach einem der vorhergehenden Ansprüche 21 bis 25, wobei das Verfolgen des Objekts umfasst: Empfangen eines dritten Bildes der über das FOV erfassten Bildserie von der optischen Bildgebungsanordnung; Berechnen eines geschätzten optischen Flusses auf Grundlage zumindest der zweiten Position und des optischen Flusses; Zuschneiden einer vorhergesagten ROI des dritten Bildes auf Grundlage des geschätzten optischen Flusses; Bestimmen, dass die vorhergesagte ROI das Objekt enthält; und Aktualisieren des optischen Flusses mit dem geschätzten optischen Fluss.
    27. Verfahren nach einem der vorhergehenden Ansprüche 21 bis 26, wobei das Verfolgen des Objekts umfasst: Bestimmen, dass ein Abstand zwischen der ersten Position und der zweiten Position größer als ein vorbestimmter unterer Schwellenwert und kleiner als ein vorbestimmter oberer Schwellenwert ist, und wobei das Identifizieren des optischen Flusses in Reaktion auf das Bestimmen erfolgt, dass der Abstand größer als der vorbestimmte untere Schwellenwert und kleiner als der vorbestimmte obere Schwellenwert ist.
    59 BE2022/5786
    28. Verfahren nach einem der vorhergehenden Ansprüche 21 bis 27, wobei die Bildserie eine erste Bildserie ist und das Objekt ein erstes Objekt ist, ferner umfassend: Empfangen einer zweiten Bildserie von der optischen Bildgebungsanordnung, die zumindest ein drittes Bild und ein viertes Bild beinhaltet, die über das FOV erfasst wurden; Identifizieren einer dritten ROI innerhalb des dritten Bildes und einer vierten ROI innerhalb des vierten Bildes, auf Grundlage eines zweiten Objekts, das dem dritten Bild und dem vierten Bild gemeinsam ist; Bestimmen einer dritten Position der dritten ROI innerhalb des dritten Bildes und einer vierten Position der vierten ROI innerhalb des vierten Bildes; Aktualisieren des optischen Flusses auf Grundlage der dritten Position der dritten ROI und der vierten Position der vierten ROI; und Zuschneiden der vierten ROI in Reaktion auf Bestimmen, dass das erste Objekt außerhalb des FOV liegt.
    29. Verfahren nach Anspruch 28, wobei das Identifizieren der dritten ROI beinhaltet: Bestimmen, dass die dritte ROI der ersten ROI im Wesentlichen ähnlich ist; _ Berechnen eines Abstandes zwischen der dritten ROI und der ersten ROI in dem FOV; Bestimmen, dass der Abstand zwischen der dritten ROI und der ersten ROI einen vorbestimmten Schwellenwert überschreitet; und Bestimmen, dass die dritte ROI von der ersten ROI verschieden ist, auf Grundlage der Bestimmung, dass der Abstand zwischen der dritten ROI und der ersten ROI den vorbestimmten Schwellenwert überschreitet.
    53 BE2022/5786
    30. Verfahren nach einem der vorhergehenden Ansprüche 21 bis 29, ferner umfassend Ausrichten einer Beleuchtungsquelle auf Grundlage des Verfolgens des Objekts.
    31. Bildgebungssystem für Objektverfolgung über ein Sichtfeld (FOV), umfassend: eine optische Bildgebungsanordnung, die das FOV aufweist und so konfiguriert ist, dass sie über das FOV eine Bildserie erfasst, die zumindest ein erstes Bild und ein zweites Bild beinhaltet; und einen Controller, der so konfiguriert ist, dass er: von der optischen Bildgebungsanordnung die Bildserie empfängt, die zumindest das erste Bild und das zweite Bild beinhaltet; eine erste interessierende Region (ROD) innerhalb des ersten Bildes und eine zweite ROI innerhalb des zweiten Bildes identifiziert, wobei die erste ROI und die zweite ROI auf einem Objekt basieren, das dem ersten Bild und dem zweiten Bild gemeinsam ist; eine erste Position der ersten ROI innerhalb des ersten Bildes und eine zweite Position der zweiten ROI innerhalb des zweiten Bildes bestimmt; einen optischen Fluss für das Objekt auf Grundlage zumindest der ersten Position und der zweiten Position identifiziert, wobei der optische Fluss für eine Positionsänderung zwischen der ersten Position und der zweiten Position repräsentativ ist; und das Objekt auf Grundlage des optischen Flusses verfolgt.
    82. System nach Anspruch 31, wobei das Identifizieren des optischen Flusses beinhaltet: Bestimmen eines Abstandes zwischen der ersten Position und der zweiten Position;
    54 BE2022/5786 Bestimmen einer Bewegungsrichtung für das Objekt auf Grundlage der ersten Position und der zweiten Position; und Bestimmen eines Bewegungsvektors für das Objekt auf Grundlage des Abstandes und der Bewegungsrichtung.
    33. System nach Anspruch 32, wobei das Bestimmen der ersten Position der ersten ROI Bestimmen einer ersten Position zumindest einiger einer Vielzahl von Pixeln innerhalb der ersten ROI innerhalb des ersten Bildes beinhaltet; wobei das Bestimmen der zweiten Position der zweiten ROI Bestimmen einer zweiten Position zumindest einiger der Vielzahl von Pixeln innerhalb der zweiten ROI innerhalb des zweiten Bildes beinhaltet; und wobei das Bestimmen des Abstandes zwischen der ersten Position und der zweiten Position Bestimmen eines Abstandes zwischen (i) der ersten Position der einigen der Vielzahl von Pixeln und (ii) der zweiten Position der einigen der Vielzahl von Pixeln beinhaltet.
    34. System nach Anspruch 32 oder 33, wobei der Controller ferner so konfiguriert ist, dass er: bestimmt, dass der Bewegungsvektor für eine vorbestimmte Zeitspanne unter einem vorbestimmten Schwellenwert liegt; und anzeigt, dass das Objekt zuvor gescannt wurde.
    35. System nach einem der vorangehenden Ansprüche 31 bis 34, wobei der Controller ferner so konfiguriert ist, dass er: unter Verwendung eines Vorhersagealgorithmus eine dritte Position einer dritten ROT auf Grundlage der ersten Position und der zweiten Position berechnet; und
    55 BE2022/5786 den optischen Fluss auf Grundlage der dritten Position aktualisiert.
    36. System nach einem der vorhergehenden Ansprüche 31 bis 35, wobei das Verfolgen des Objekts umfasst: Empfangen eines dritten Bildes der über das FOV erfassten Bildserie von der optischen Bildgebungsanordnung; Berechnen eines geschätzten optischen Flusses auf Grundlage zumindest der zweiten Position und des optischen Flusses; Zuschneiden einer vorhergesagten ROI des dritten Bildes auf Grundlage des geschätzten optischen Flusses; Bestimmen, dass die vorhergesagte ROI das Objekt enthält; und Aktualisieren des optischen Flusses mit dem geschätzten optischen Fluss.
    37. System nach einem der vorhergehenden Ansprüche 31 bis 36, wobei das Verfolgen des Objekts umfasst: Bestimmen, dass ein Abstand zwischen der ersten Position und der zweiten Position größer als ein vorbestimmter unterer Schwellenwert und kleiner als ein vorbestimmter oberer Schwellenwert ist, und wobei das Identifizieren des optischen Flusses in Reaktion auf das Bestimmen erfolgt, dass der Abstand größer als der vorbestimmte untere Schwellenwert und kleiner als der vorbestimmte obere Schwellenwert ist.
    38. System nach einem der vorhergehenden Ansprüche 31 bis 37, wobei die Bildserie eine erste Bildserie ist und das Objekt ein erstes Objekt ist, wobei der Controller ferner so konfiguriert ist, dass er:
    56 BE2022/5786 von der optischen Bildgebungsanordnung eine zweite Bildserie empfängt, die zumindest ein drittes Bild und ein viertes Bild beinhaltet, die über das FOV erfasst wurden; eine dritte ROI innerhalb des dritten Bildes und eine vierte ROI innerhalb des vierten Bildes auf Grundlage eines zweiten Objekts identifiziert, das dem dritten Bild und dem vierten Bild gemeinsam ist; eine dritte Position der dritten ROI innerhalb des dritten Bildes und eine vierte Position der vierten ROI innerhalb des vierten Bildes bestimmt; den optischen Fluss auf Grundlage der dritten Position der dritten ROI und der vierten Position der vierten ROI aktualisiert; und in Reaktion auf Bestimmen, dass das erste Objekt außerhalb des FOV liegt, die vierte ROI zuschneidet.
    39. System nach Anspruch 38, wobei das Identifizieren der dritten ROI beinhaltet: Bestimmen, dass die dritte ROI der ersten ROI im Wesentlichen ähnlich ist; Berechnen eines Abstandes zwischen der dritten ROI und der ersten ROI in dem FOV; Bestimmen, dass der Abstand zwischen der dritten ROI und der ersten ROI einen vorbestimmten Schwellenwert überschreitet; und Bestimmen, dass die dritte ROI von der ersten ROI verschieden ist, auf Grundlage der Bestimmung, dass der Abstand zwischen der dritten ROI und der ersten ROI den vorbestimmten Schwellenwert überschreitet.
    40. System nach einem der vorhergehenden Ansprüche 31 bis 39, ferner umfassend eine Beleuchtungsquelle, und wobei der Controller ferner so
    57 BE2022/5786 konfiguriert ist, dass er die Beleuchtungsquelle auf Grundlage des Verfolgens des Objekts ausrichtet.
BE20225786A 2021-09-30 2022-09-30 Schätzverfahren für optischen Fluss zur Verbesserung von 1D/2D-Decodierung BE1029780B1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US202163250325P 2021-09-30 2021-09-30

Publications (2)

Publication Number Publication Date
BE1029780A1 BE1029780A1 (de) 2023-04-14
BE1029780B1 true BE1029780B1 (de) 2023-12-18

Family

ID=84785320

Family Applications (1)

Application Number Title Priority Date Filing Date
BE20225786A BE1029780B1 (de) 2021-09-30 2022-09-30 Schätzverfahren für optischen Fluss zur Verbesserung von 1D/2D-Decodierung

Country Status (2)

Country Link
BE (1) BE1029780B1 (de)
WO (1) WO2023055571A1 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100158310A1 (en) * 2008-12-23 2010-06-24 Datalogic Scanning, Inc. Method and apparatus for identifying and tallying objects
US20150288889A1 (en) * 2014-04-07 2015-10-08 Wayne Steidle System and method for embedding dynamic marks into visual images in a detectable manner
US20200050866A1 (en) * 2017-09-15 2020-02-13 Snap Inc. Real-time tracking-compensated image effects
US20210044730A1 (en) * 2018-01-08 2021-02-11 Scandit Ag Mobile device case and techniques for multi-view imaging

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2632746T3 (es) * 2009-04-20 2017-09-15 Metaform Ltd. Sistema y procedimiento de detección de códigos de barras múltiples
US8763908B1 (en) * 2012-03-27 2014-07-01 A9.Com, Inc. Detecting objects in images using image gradients
US9519810B2 (en) * 2012-07-31 2016-12-13 Datalogic ADC, Inc. Calibration and self-test in automated data reading systems
US9652653B2 (en) * 2014-12-27 2017-05-16 Hand Held Products, Inc. Acceleration-based motion tolerance and predictive coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100158310A1 (en) * 2008-12-23 2010-06-24 Datalogic Scanning, Inc. Method and apparatus for identifying and tallying objects
US20150288889A1 (en) * 2014-04-07 2015-10-08 Wayne Steidle System and method for embedding dynamic marks into visual images in a detectable manner
US20200050866A1 (en) * 2017-09-15 2020-02-13 Snap Inc. Real-time tracking-compensated image effects
US20210044730A1 (en) * 2018-01-08 2021-02-11 Scandit Ag Mobile device case and techniques for multi-view imaging

Also Published As

Publication number Publication date
BE1029780A1 (de) 2023-04-14
WO2023055571A1 (en) 2023-04-06

Similar Documents

Publication Publication Date Title
DE102012110375B4 (de) Verfahren und Vorrichtung zum Dekodieren von auf Objekten aufgetragenen Codes für den Einsatz mit einem Bildsensor, der ein zweidimensionales Sichtfeld beinhaltet
DE112015002368T5 (de) Zielmusterform als abstandssensor für barcodescanner
DE102012110376B4 (de) Verfahren und Vorrichtung zum Ordnen von Codekandidaten in einem Bild für Dekodierversuche
EP3454298A1 (de) Kameravorrichtung und verfahren zur erfassung eines stromes aus objekten
DE112021003033T5 (de) Strichcodeleser mit 3d-kamera(s)
DE102007028866A1 (de) Vorrichtung zum optischen Lesen von in einem graphischen Symbol gespeicherter Information
DE112013000571B4 (de) Verfahren zum Decodieren eines Strichcodes innerhalb eines Bilderzeugungssichtfelds eines Bilderzeugungssystems und Vorrichtung
EP3663963B1 (de) Lesen von optischen codes
DE602004011145T2 (de) Vorrichtung und Verfahren zum Lesen von optischen Informationen
DE102019119985A1 (de) System und verfahren zum autofokussieren einer sichtsystemkamera auf barcodes
DE102020124613A1 (de) Verbesserte auswahl eines objekts von interesse für neuronale netzwerksysteme an verkaufspunken
DE112009000485T5 (de) Objektvergleich für Verfolgung, Indizierung und Suche
DE102013112040B4 (de) System und Verfahren zum Auffinden von sattelpunktartigen Strukturen in einem Bild und Bestimmen von Informationen daraus
DE102022116204B4 (de) Verfahren zum Unterscheiden zwischen Fokusabweichung und einer Änderung in einem Abstand zu einem Ziel bei Linsen mit variablem Fokus
DE112019006242T5 (de) Verfahren und vorrichtung zur dekodierung mehrerer symboltypen
DE112015003520T5 (de) Erfassen einer Fensterverschlechterung auf einer Barcode scannenden Arbeitsstation
DE112020004895T5 (de) System und verfahren zur situationsadaptiven verbesserung der bilderfassung beim lesen von strichcodes
DE112018005068T5 (de) Verfahren und system zum lesen von barcodes, die auf mehreren bildern aufgenommen sind
DE112012004995T5 (de) Vorrichtung und Verfahren zum gleichförmigen Beleuchten von Sichtfeldern in einer Transaktionsstellen-Arbeitsstation
DE112012004267T5 (de) Verfahren und Vorrichtung zum automatischen Erkennen der Ausrichtung von Freiform-dokumenten mit Strichcodes
DE112019006132T5 (de) Verfahren, system und vorrichtung zur hilfsetikett-erkennung und -zuordnung
DE112019002006T5 (de) Dekodieren eines bestimmten strichcodes im sichtfeld eines strichcodelesers
BE1029780B1 (de) Schätzverfahren für optischen Fluss zur Verbesserung von 1D/2D-Decodierung
DE102020119430A1 (de) Verkaufspunkt-Scanner mit Signalisierung an eine Kamera
DE112020005390T5 (de) Systeme und verfahren zur benutzerauswahl eines strichcode-scanbereichs

Legal Events

Date Code Title Description
FG Patent granted

Effective date: 20231218