BE1029610B1 - Systeme und Verfahren zum Verbessern einer Performanz einer trainierbaren optischen Zeichenerkennung (OCR) - Google Patents

Systeme und Verfahren zum Verbessern einer Performanz einer trainierbaren optischen Zeichenerkennung (OCR) Download PDF

Info

Publication number
BE1029610B1
BE1029610B1 BE20225583A BE202205583A BE1029610B1 BE 1029610 B1 BE1029610 B1 BE 1029610B1 BE 20225583 A BE20225583 A BE 20225583A BE 202205583 A BE202205583 A BE 202205583A BE 1029610 B1 BE1029610 B1 BE 1029610B1
Authority
BE
Belgium
Prior art keywords
character
unrecognized
payload
ocr
font library
Prior art date
Application number
BE20225583A
Other languages
English (en)
Other versions
BE1029610A1 (de
Inventor
Matthew Lawrence Horner
Iii Frederick D Liguori
Robert W Digiovanna
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 BE1029610A1 publication Critical patent/BE1029610A1/de
Application granted granted Critical
Publication of BE1029610B1 publication Critical patent/BE1029610B1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/40Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
    • 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/10712Fixed beam scanning
    • G06K7/10722Photodetector array or CCD scanning
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Toxicology (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Character Discrimination (AREA)

Abstract

Vorliegend werden Systeme und Verfahren zum Verbessern einer Performanz einer trainierbaren optischen Zeichenerkennung (OCR) offenbart. Ein beispielhaftes Verfahren beinhaltet bei einer Anwendung, die auf einer mit einer Bildverarbeitungskamera in Kommunikationsverbindung stehenden Benutzer-Datenverarbeitungseinrichtung ausgeführt wird, erfolgendes Empfangen eines von der Bildverarbeitungskamera erfassten Bildes, wobei das Bild ein Kennzeichen, das Nutzdaten codiert, und eine Zeichenkette beinhaltet. Das Beispielverfahren beinhaltet zudem Identifizieren des Kennzeichens und der Zeichenkette; Decodieren des Kennzeichens, um die Nutzdaten zu bestimmen; und Anwenden eines Algorithmus für optische Zeichenerkennung (OCR) auf das Bild, um die Zeichenkette zu interpretieren und ein nicht erkanntes Zeichen innerhalb der Zeichenkette zu identifizieren. Das Beispielverfahren beinhaltet zudem Vergleichen der Nutzdaten mit der Zeichenkette, um das nicht erkannte Zeichen als einem in den Nutzdaten enthaltenen bekannten Zeichen entsprechend zu validieren; und in Reaktion auf das Validieren des nicht erkannten Zeichens erfolgendes Hinzufügen des nicht erkannten Zeichens zu einer von dem OCR-Algorithmus referenzierten Schriftartenbibliothek.

Description

1 BE2022/5583
Systeme und Verfahren zum Verbessern einer Performanz einer trainierbaren optischen Zeichenerkennung (OCR)
HINTERGRUND
Seit der Einführung erschwinglicher Bildverarbeitungs- (machine vision) Systeme wurden diese Systeme schnell in einer Vielzahl von
Industriezweigen übernommen und für eine noch größere Anzahl von
Zwecken eingesetzt. Zusätzlich zu deren Übernahme versuchen Entwickler kontinuierlich, die Genauigkeit dieser Bildverarbeitungssysteme zu erhöhen und zu maximieren. Bildverarbeitung kann grundsätzlich hochgenaue
Bildanalyse bieten, kann jedoch auch einen Mangel an Genauigkeit aufweisen, wenn sie nicht richtig trainiert wird. Somit stellt das Trainieren von Bildverarbeitungssystemen für eine Vielzahl von Industriezweigen ein
Thema von großem Interesse dar.
Das Trainieren solcher Bildverarbeitungssysteme ist jedoch üblicherweise ein rechenintensiver Prozess, der vor der
Systemimplementierung stattfinden kann und/oder anderweitig die
Effizienz des vom Bildverarbeitungssystem abgebildeten Prozesses drastisch reduzieren kann. Bei Anwendungen zur optischen
Zeichenerkennung (optical character recognition, OCR) muss ein Benutzer beispielsweise manuell eine Bibliothek von Zeichen erstellen, die vom OCR-
Algorithmus nicht identifiziert werden können. Folglich kann die OCR bei der Initialisierung der OCR-Bibliothek häufig fehlschlagen, weil die
Bibliotheksdefinition für ein nicht erkanntes Zeichen möglicherweise nicht ausreicht, um das nicht erkannte Zeichen sicher zu identifizieren, was zu zahlreichen Fehlern und ineffizienten Prozessen führt. Diese Probleme sind besonders akut in Fällen, in denen OCR den Typ eines Gegenstands für
Kontrollkettenvorgänge kategorisieren muss.
Es besteht also ein Bedarf an Systemen und Verfahren zum
Verbessern einer Performanz einer trainierbaren OCR, die eine schnelle,
9 BE2022/5583 effiziente und genaue Zeichenerkennung und ein entsprechendes OCR-
Bibliothekstraining ermöglichen.
KURZDARSTELLUNG
In einer Ausführungsform bietet die vorliegende Erfindung ein
Verfahren zum Verbessern einer Performanz einer trainierbaren optischen
Zeichenerkennung (OCR). Das Verfahren kann Folgendes umfassen: bei einer Anwendung, die auf einer mit einer Bildverarbeitungskamera in
Kommunikationsverbindung stehenden Benutzer-
Datenverarbeitungseinrichtung ausgeführt wird, erfolgendes Empfangen eines von der Bildverarbeitungskamera erfassten Bildes, wobei das Bild ein
Kennzeichen, das Nutzdaten codiert, und eine Zeichenkette beinhaltet;
Identifizieren des Kennzeichens und der Zeichenkette in dem Bild;
Decodieren des Kennzeichens, um die Nutzdaten zu bestimmen; Anwenden eines Algorithmus für optische Zeichenerkennung (OCR) auf das Bild, wobei der OCR-Algorithmus die Zeichenkette interpretiert und ein nicht erkanntes Zeichen in der Zeichenkette identifiziert; Vergleichen der
Nutzdaten mit der Zeichenkette, um das nicht erkannte Zeichen als einem in den Nutzdaten enthaltenen bekannten Zeichen entsprechend zu validieren; und in Reaktion auf das Validieren des nicht erkannten Zeichens erfolgendes Hinzufügen des nicht erkannten Zeichens zu einer von dem
OCR-Algorithmus referenzierten Schriftartenbibliothek (vorliegend als "OCR-Bibliothek", "trainierbare OCR-Bibliothek" und "OCR-
Schriftartenbibliothek" bezeichnet) als Fintrag für das bekannte Zeichen.
In einer Variante dieser Ausführungsform umfasst das
Identifizieren des nicht erkannten Zeichens durch den OCR-Algorithmus ferner: durch den OCR-Algorithmus erfolgendes Bestimmen, dass das nicht erkannte Zeichen jedem jeweiligen bekannten Zeichen aus der
3 BE2022/5583
Schriftartenbibliothek mit jeweiligen Konfidenzniveaus entspricht, die einen Schwellenwert für automatische Erkennung nicht erfüllen.
In einer anderen oder weiteren Variante dieser Ausführungsform umfasst das Vergleichen der Nutzdaten mit der Zeichenkette ferner: durch den OCR-Algorithmus erfolgendes Bestimmen, ob das nicht erkannte
Zeichen bei Vergleich mit dem in den Nutzdaten enthaltenen bekannten
Zeichen einen Schwellenwert für akzeptable Konfidenz erfüllt; und in
Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den
Schwellenwert für akzeptable Konfidenz erfüllt, erfolgendes Validieren des nicht erkannten Zeichens als das in den Nutzdaten enthaltene bekannte
Zeichen. Der Schwellenwert für akzeptable Konfidenz kann von einem
Benutzer definiert werden, der mit einer Schnittstelle der Anwendung interagiert. Das Vergleichen der Nutzdaten mit der Zeichenkette kann ferner Folgendes umfassen: in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den Schwellenwert für akzeptable Konfidenz nicht erfüllt, durch den OCR-Algorithmus erfolgendes Vergleichen jedes dem bekannten
Zeichen entsprechenden Eintrags der Schriftartenbibliothek mit dem nicht erkannten Zeichen; durch den OCR-Algorithmus erfolgendes Bestimmen, ob das nicht erkannte Zeichen einen Schriftartenbibliothekseintrags-
Schwellenwert erfüllt, wobei der Schriftartenbibliothekseintrags-
Schwellenwert auf einem zusammengesetzten Ähnlichkeitswert zwischen dem nicht erkannten Zeichen und jedem dem bekannten Zeichen entsprechenden Eintrag der Schriftartenbibliothek beruht; und in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den
Schriftartenbibliothekseintrags-Schwellenwert erfüllt, erfolgendes
Validieren des nicht erkannten Zeichens als das in den Nutzdaten enthaltene bekannte Zeichen.
In weiteren Varianten dieser Ausführungsform umfasst das
Vergleichen der Nutzdaten mit der Zeichenkette ferner Folgendes: durch
4 BE2022/5583 den OCR-Algorithmus erfolgendes Bestimmen, ob das nicht erkannte
Zeichen bei Vergleich mit dem in den Nutzdaten enthaltenen bekannten
Zeichen einen Schwellenwert für akzeptable Konfidenz erfüllt; in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den Schwellenwert für akzeptable Konfidenz nicht erfüllt, durch den OCR-Algorithmus erfolgendes
Vergleichen jedes Eintrags in der Schriftartenbibliothek mit dem nicht erkannten Zeichen; durch den OCR-Algorithmus erfolgendes Bestimmen, ob das nicht erkannte Zeichen einen jeweiligen
Schriftartenbibliothekseintrags-Schwellenwert erfüllt, wobei der jeweilige
Schriftartenbibliothekseintrags-Schwellenwert auf einem jeweiligen zusammengesetzten Ähnlichkeitswert zwischen dem nicht erkannten
Zeichen und jedem dem jeweiligen bekannten Zeichen entsprechenden
Eintrag der Schriftartenbibliothek beruht; und in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen einen ersten jeweiligen
Schriftartenbibliothekseintrags-Schwellenwert erfüllt, erfolgendes
Validieren des nicht erkannten Zeichens als das erste jeweilige bekannte
Zeichen, das in den Nutzdaten enthalten ist.
In einer anderen oder weiteren Variante dieser Ausführungsform umfasst das Vergleichen der Nutzdaten mit der Zeichenkette zur
Validierung des nicht erkannten Zeichens ferner: durch die Anwendung erfolgendes Erstellen einer Relativfixierung der Zeichenkette und des
Kennzeichens, um einem Benutzer zu ermöglichen, das Bild zu drehen und dessen Bildeigenschaften zu variieren, ohne die Zeichenkette von dem
Kennzeichen zu trennen.
In einer anderen oder weiteren Variante dieser Ausführungsform umfasst das Verfahren ferner auf einer Schnittstelle der Anwendung erfolgendes Anzeigen der Zeichenkette, wobei das nicht erkannte Zeichen durch das bekannte Zeichen ersetzt wird.
In einer weiteren Ausführungsform bietet die vorliegende
Erfindung ein Bildverarbeitungssystem zum Verbessern einer Performanz einer trainierbaren optischen Zeichenerkennung (OCR). Das System kann
Folgendes umfassen: eine Bildverarbeitungskamera, die so konfiguriert ist, 5 dass sie ein Bild erfasst, das ein Kennzeichen, das Nutzdaten codiert, und eine Zeichenkette beinhaltet; und eine Benutzer-
Datenverarbeitungseinrichtung, die eine Anwendung ausführt. Die
Benutzer-Datenverarbeitungseinrichtung steht mit der
Bildverarbeitungskamera in Kommunikationsverbindung und ist so konfiguriert, dass sie: das von der Bildverarbeitungskamera erfasste Bild empfängt, in dem Bild das Kennzeichen und die Zeichenkette identifiziert, das Kennzeichen decodiert, um die Nutzdaten zu bestimmen, einen
Algorithmus für optische Zeichenerkennung (OCR) auf das Bild anwendet, wobei der OCR-Algorithmus die Zeichenkette interpretiert und ein nicht erkanntes Zeichen innerhalb der Zeichenkette identifiziert, die Nutzdaten mit der Zeichenkette vergleicht, um das nicht erkannte Zeichen als einem in den Nutzdaten enthaltenen bekannten Zeichen entsprechend zu validieren, und in Reaktion auf das Validieren des nicht erkannten Zeichens das nicht erkannte Zeichen zu einer von dem OCR-Algorithmus referenzierten
Schriftartenbibliothek als Eintrag für das bekannte Zeichen hinzufügt.
In einer Variante dieser Ausführungsform identifiziert die den
OCR-Algorithmus anwendende Benutzer-Datenverarbeitungseinrichtung das nicht erkannte Zeichen durch Bestimmen, dass das nicht erkannte
Zeichen jedem jeweiligen bekannten Zeichen aus der Schriftartenbibliothek mit jeweiligen Konfidenzniveaus entspricht, die einen Schwellenwert für automatische Erkennung nicht erfüllen.
In einer anderen oder weiteren Variante dieser Ausführungsform ist die Benutzer-Datenverarbeitungseinrichtung ferner so konfiguriert, dass sie: durch den OCR-Algorithmus bestimmt, ob das nicht erkannte Zeichen
6 BE2022/5583 bei Vergleich mit dem in den Nutzdaten enthaltenen bekannten Zeichen einen Schwellenwert für akzeptable Konfidenz erfüllt, und in Reaktion auf
Bestimmen, dass das nicht erkannte Zeichen den Schwellenwert für akzeptable Konfidenz erfüllt, das nicht erkannte Zeichen als das in den
Nutzdaten enthaltene bekannte Zeichen validiert. Der Schwellenwert für akzeptable Konfidenz kann von einem Benutzer definiert werden, der mit einer Schnittstelle der Anwendung interagiert. Die Benutzer-
Datenverarbeitungseinrichtung kann ferner so konfiguriert sein, dass sie: in
Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den
Schwellenwert für akzeptable Konfidenz nicht erfüllt, durch den OCR-
Algorithmus jeden dem bekannten Zeichen entsprechenden Eintrag der
Schriftartenbibliothek mit dem nicht erkannten Zeichen vergleicht, durch den OCR-Algorithmus bestimmt, ob das nicht erkannte Zeichen einen
Schriftartenbibliothekseintrags-Schwellenwert erfüllt, wobei der
Schriftartenbibliothekseintrags-Schwellenwert auf einem zusammengesetzten Ähnlichkeitswert zwischen dem nicht erkannten
Zeichen und jedem dem bekannten Zeichen entsprechenden Eintrag der
Schriftartenbibliothek beruht, und in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den Schriftartenbibliothekseintrags-Schwellenwert erfüllt, das nicht erkannte Zeichen als das in den Nutzdaten enthaltene bekannte Zeichen validiert.
In weiteren Varianten dieser Ausführungsform ist die Benutzer-
Datenverarbeitungseinrichtung ferner so konfiguriert, dass sie: durch den
OCR-Algorithmus bestimmt, ob das nicht erkannte Zeichen bei Vergleich mit dem in den Nutzdaten enthaltenen bekannten Zeichen einen
Schwellenwert für akzeptable Konfidenz erfüllt, in Reaktion auf
Bestimmen, dass das nicht erkannte Zeichen den Schwellenwert für akzeptable Konfidenz nicht erfüllt, durch den OCR-Algorithmus jeden
Eintrag in der Schriftartenbibliothek mit dem nicht erkannten Zeichen
7 BE2022/5583 vergleicht, durch den OCR-Algorithmus bestimmt, ob das nicht erkannte
Zeichen einen jeweiligen Schriftartenbibliothekseintrags-Schwellenwert erfüllt, wobei der jeweilige Schriftartenbibliothekseintrags-Schwellenwert auf einem jeweiligen zusammengesetzten Ähnlichkeitswert zwischen dem nicht erkannten Zeichen und jedem dem jeweiligen bekannten Zeichen entsprechenden Eintrag der Schriftartenbibliothek beruht, und in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen einen ersten jeweiligen
Schriftartenbibliothekseintrags-Schwellenwert erfüllt, das nicht erkannte
Zeichen als das erste jeweilige bekannte Zeichen validiert, das in den
Nutzdaten enthalten ist.
In einer anderen oder weiteren Variante dieser Ausführungsform ist die Benutzer-Datenverarbeitungseinrichtung ferner so konfiguriert, dass sie: durch die Anwendung eine Relativfixierung der Zeichenkette und des
Kennzeichens erstellt, um einem Benutzer zu ermöglichen, das Bild zu drehen und dessen Bildeigenschaften zu varlieren, ohne die Zeichenkette von dem Kennzeichen zu trennen.
In einer weiteren Ausführungsform stellt die vorliegende
Erfindung ein materielles maschinenlesbares Medium bereit, das
Anweisungen umfasst, die bei Ausführung bewirken, dass eine Maschine zumindest: von einer Bildverarbeitungskamera ein Bild empfängt, das ein
Kennzeichen, das Nutzdaten codiert, und eine Zeichenkette beinhaltet; in dem Bild das Kennzeichen und die Zeichenkette identifiziert; das
Kennzeichen decodiert, um die Nutzdaten zu bestimmen; einen Algorithmus für optische Zeichenerkennung (OCR) auf das Bild anwendet, wobei der
OCR-Algorithmus die Zeichenkette interpretiert und ein nicht erkanntes
Zeichen innerhalb der Zeichenkette identifiziert; die Nutzdaten mit der
Zeichenkette vergleicht, um das nicht erkannte Zeichen als einem in den
Nutzdaten enthaltenen bekannten Zeichen entsprechend zu validieren; und in Reaktion auf das Validieren des nicht erkannten Zeichens das nicht
8 BE2022/5583 erkannte Zeichen zu einer von dem OCR-Algorithmus referenzierten
Schriftartenbibliothek als Eintrag für das bekannte Zeichen hinzufügt.
In einer Variante dieser Ausführungsform bewirken die
Anweisungen bei Ausführung ferner, dass die Maschine zumindest: durch den OCR-Algorithmus das nicht erkannte Zeichen durch Bestimmen identifiziert, dass das nicht erkannte Zeichen jedem jeweiligen bekannten
Zeichen aus der Schriftartenbibliothek mit jeweiligen Konfidenzniveaus entspricht, die einen Schwellenwert für automatische Erkennung nicht erfüllen.
In einer anderen oder weiteren Variante dieser Ausführungsform bewirken die Anweisungen bei Ausführung ferner, dass die Maschine zumindest: durch den OCR-Algorithmus bestimmt, ob das nicht erkannte
Zeichen bei Vergleich mit dem in den Nutzdaten enthaltenen bekannten
Zeichen einen Schwellenwert für akzeptable Konfidenz erfüllt; und in
Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den
Schwellenwert für akzeptable Konfidenz erfüllt, das nicht erkannte Zeichen als das in den Nutzdaten enthaltene bekannte Zeichen validiert. Die
Anweisungen können bei Ausführung ferner bewirken, dass die Maschine zumindest: in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den Schwellenwert für akzeptable Konfidenz nicht erfüllt, durch den OCR-
Algorithmus jeden dem bekannten Zeichen entsprechenden Eintrag der
Schriftartenbibliothek mit dem nicht erkannten Zeichen vergleicht; durch den OCR-Algorithmus bestimmt, ob das nicht erkannte Zeichen einen
Schriftartenbibliothekseintrags-Schwellenwert erfüllt, wobei der
Schriftartenbibliothekseintrags-Schwellenwert auf einem zusammengesetzten Ähnlichkeitswert zwischen dem nicht erkannten
Zeichen und jedem dem bekannten Zeichen entsprechenden Eintrag der
Schriftartenbibliothek beruht; und in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den Schriftartenbibliothekseintrags-Schwellenwert
9 BE2022/5583 erfüllt, das nicht erkannte Zeichen als das in den Nutzdaten enthaltene bekannte Zeichen validiert.
In anderen oder weiteren Varianten dieser Ausführungsform bewirken die Anweisungen bei Ausführung ferner, dass die Maschine zumindest: durch den OCR-Algorithmus bestimmt, ob das nicht erkannte
Zeichen bei Vergleich mit dem in den Nutzdaten enthaltenen bekannten
Zeichen einen Schwellenwert für akzeptable Konfidenz erfüllt; in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den Schwellenwert für akzeptable Konfidenz nicht erfüllt, durch den OCR-Algorithmus jeden
Eintrag in der Schriftartenbibliothek mit dem nicht erkannten Zeichen vergleicht; durch den OCR-Algorithmus bestimmt, ob das nicht erkannte
Zeichen einen jeweiligen Schriftartenbibliothekseintrags-Schwellenwert erfüllt, wobei der jeweilige Schriftartenbibliothekseintrags-Schwellenwert auf einem jeweiligen zusammengesetzten Ähnlichkeitswert zwischen dem nicht erkannten Zeichen und jedem dem jeweiligen bekannten Zeichen entsprechenden Eintrag der Schriftartenbibliothek beruht,;und in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen einen ersten jeweiligen
Schriftartenbibliothekseintrags-Schwellenwert erfüllt, das nicht erkannte
Zeichen als das erste jeweilige bekannte Zeichen validiert, das in den
Nutzdaten enthalten ist.
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.
10 BE2022/5583
FIG. 1 ist ein Beispiel für ein intelligentes Bildgebungssystem zum Verbessern einer Performanz einer trainierbaren optischen
Zeichenerkennung (OCR) gemäß vorliegend beschriebenen
Ausführungsformen.
FIG. 2A ist eine perspektivische Ansicht der
Bildgebungseinrichtung aus FIG. 1 gemäß vorliegend beschriebenen
Ausführungsformen.
FIG. 2B ist ein Blockdiagramm einer beispielhaften
Logikschaltung zum Implementieren vorliegend beschriebener beispielhafter Verfahren und/oder Operationen.
FIG. 3 ist ein Flussdiagramm, das eine beispielhafte OCR-
Validierung, die von der OCR-Performanzverbesserungsanwendung aus
FIG. 1 durchgeführt wird, gemäß vorliegend beschriebenen
Ausführungsformen darstellt.
FIG. 4 ist ein Flussdiagramm, das ein Verfahren zum Verbessern einer Performanz einer trainierbaren OCR gemäß vorliegend beschriebenen
Ausführungsformen darstellt.
Ein Fachmann versteht, dass Elemente in den Figuren der
Einfachheit und Klarheit halber dargestellt sind und nicht unbedingt maßstabsgetreu 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
11 BE2022/5583
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.
AUSFÜHRLICHE BESCHREIBUNG
Besitzer/Betreiber von Bildverarbeitungssystemen hatten bisher das Problem, dass sie nicht in der Lage waren,
Bildverarbeitungsanwendungen (z.B. optische Zeichenerkennung (OCR)) schnell und genau zu trainieren. Herkömmliche OCR-Systeme erfordern eine mühsame und zeitaufwändige manuelle Eingabe von
Zeichendefinitionen in eine trainierbare OCR-Bibliothek. Infolgedessen erkennen herkömmliche OCR-Systeme häufig Zeichen falsch und/oder können diese aufgrund einer fehlenden OCR-Bibliotheksdefinition für diese
Zeichen nicht genau identifizieren, was zu zahlreichen Fehlern,
Prozessstillständen und einer allgemeinen Prozessineffizienz führt.
Eine Aufgabe der vorliegenden Offenbarung besteht somit darin, diese und andere Probleme mit herkömmlichen OCR-Systemen zu beseitigen, indem eine automatische Zeichenerkennung und ein Training einer OCR-Bibliothek unter Verwendung von Barcodedaten ermöglicht wird. Die Systeme und Verfahren der vorliegenden Offenbarung bieten dadurch ein genaueres und effizienteres Training von OCR-Bibliotheken sowie eine genauere und effizientere Zeichenerkennung als herkömmliche
Bildverarbeitungssysteme (z.B. herkömmliche OCR-Systeme). Wie vorliegend beschrieben, können die Ausführungsformen der vorliegenden
Offenbarung die Notwendigkeit kostspieliger zusätzlicher Bilderfassungen verringern, das Training und die allgemeine Implementierung eines OCR-
Systems beschleunigen und allgemein sicherstellen, dass das OCR-System
12 BE2022/5583 die Effizienz und Genauigkeit der Bilderfassung und -verarbeitung maximiert.
FIG. 1 veranschaulicht ein Beispiel für ein intelligentes
Bildgebungssystem 100 zum Verbessern einer Performanz einer trainierbaren optischen Zeichenerkennung (OCR) gemäß verschiedenen vorliegend offenbarten Ausführungsformen. In der beispielhaften
Ausführungsform aus Fig. 1 beinhaltet das intelligente Bildgebungssystem 100 eine Benutzer-Datenverarbeitungseinrichtung 102 und eine
Bildgebungseinrichtung 104, die über ein Netzwerk 106 mit der Benutzer-
Datenverarbeitungseinrichtung 102 in Kommunikationsverbindung steht.
Grundsätzlich können die Benutzer-Datenverarbeitungseinrichtung 102 und die Bildgebungseinrichtung 104 in der Lage sein, Anweisungen auszuführen, um beispielsweise Vorgänge der vorliegend beschriebenen beispielhaften Verfahren zu implementieren, wie sie in den
Flussdiagrammen der Zeichnungen, die dieser Beschreibung beigefügt sind, dargestellt sein können. Konkret kann die Bildgebungseinrichtung 104 über ein Netzwerk 106 mit der Benutzer-Datenverarbeitungseinrichtung 102 verbunden sein und kann allgemein so konfiguriert sein, dass sie von der
Benutzer-Datenverarbeitungseinrichtung 102 empfangene Informationen interpretiert und verarbeitet.
Beispielsweise kann die Bildgebungseinrichtung 104 eine
Auftragsdatei mit einem oder mehreren Auftragsskripten von der Benutzer-
Datenverarbeitungseinrichtung 102 über das Netzwerk 106 erhalten, die den Bildverarbeitungsauftrag definieren können und die
Bildgebungseinrichtung 104 so konfigurieren können, dass sie Bilder gemäß dem Bildverarbeitungsauftrag erfasst und/oder analysiert. Die
Bildgebungseinrichtung 104 kann einen Flash-Speicher beinhalten, der zum
Bestimmen, Speichern oder anderweitigen Verarbeiten von
Bildgebungsdaten/-datensätzen und/oder Post-Bildgebungs-Daten
13 BE2022/5583 verwendet wird. Die Bildgebungseinrichtung 104 kann dann einen Auslöser empfangen, erkennen und/oder anderweitig interpretieren, der die
Bildgebungseinrichtung 104 veranlasst, gemäß der über das eine oder die mehreren Auftragsskripte festgelegten Konfiguration ein Bild des
Zielobjekts zu erfassen. Nach der Erfassung und/oder Analyse kann die
Bildgebungseinrichtung 104 die Bilder und alle zugehörigen Daten über das
Netzwerk 106 an die Benutzer-Datenverarbeitungseinrichtung 102 zur weiteren Analyse und/oder Speicherung übertragen. In verschiedenen
Ausführungsformen kann die Bildgebungseinrichtung 104 eine intelligente ("Smart"-) Kamera sein und/oder anderweitig so konfiguriert sein, dass sie automatisch hinreichende Funktionalität der Bildgebungseinrichtung 104 ausführt, um Auftragsskripte zu erhalten, zu interpretieren und auszuführen, die Bildverarbeitungsaufträge definieren, wie beispielsweise ein oder mehrere Auftragsskripte, die in einer oder mehreren
Auftragsdateien enthalten sind, die beispielsweise von der Benutzer-
Datenverarbeitungseinrichtung 102 erhalten werden.
In jedem Fall ist die Benutzer-Datenverarbeitungseinrichtung 102 grundsätzlich so konfiguriert, dass sie es einem Benutzer/Bediener ermöglicht, beispielsweise einen Bildverarbeitungsauftrag zur Ausführung zu erstellen und hochzuladen und/oder anderweitig mit der
Bildverarbeitungseinrichtung 104 zu interagieren. Der Benutzer/Bediener kann Konfigurationsanpassungen, Softwareaktualisierungen und/oder beliebige andere geeignete Informationen über das Netzwerk 106 an die
Bildgebungseinrichtung 104 übertragen/hochladen, wo die Informationen dann entsprechend interpretiert und verarbeitet werden. Die Benutzer-
Datenverarbeitungseinrichtung 102 kann eine oder mehrere Bediener-
Workstations umfassen und kann einen oder mehrere Prozessoren 108, einen oder mehrere Speicher 110, eine Netzwerkschnittstelle 112, eine
Eingabe/Ausgabe- (E/A-) Schnittstelle 114, eine Anwendung 116 für
14 BE2022/5583 intelligente Bildgebung (smart imaging) und eine Anwendung 128 zur
Verbesserung einer Performanz einer optischen Zeichenerkennung (OCR) beinhalten.
Grundsätzlich kann die Smart-Imaging-Anwendung 116 ausführbare Anweisungen (z.B. über den einen oder die mehreren
Prozessoren 108) enthalten und/oder anderweitig umfassen, die es einem
Benutzer gestatten, einen Bildverarbeitungsauftrag und/oder
Bildgebungseinstellungen der Bildgebungseinrichtung 104 zu konfigurieren.
Beispielsweise kann die Smart-Imaging-Anwendung 116 eine grafische
Benutzerschnittstelle (GUT) auf einer Anzeige (z.B. der E/A-Schnittstelle 114) der Benutzer-Datenverarbeitungseinrichtung 102 darstellen, und der
Benutzer kann mit der GUI interagieren, um verschiedene Einstellungen zu ändern, Bildverarbeitungsaufträge zu modifizieren, Daten einzugeben usw.
Darüber hinaus kann die Smart-Imaging-Anwendung 116 Ergebnisse des ausgeführten Bildverarbeitungsauftrags ausgeben, um sie dem Benutzer anzuzeigen, und der Benutzer kann erneut mit der GUI interagieren, um die Ergebnisse zu genehmigen, Bildgebungseinstellungen zu modifizieren, um den Bildverarbeitungsauftrag erneut auszuführen, und/oder andere geeignete Eingaben vorzunehmen, oder Kombinationen aus diesen.
Die OCR-Performanzverbesserungsanwendung 128 kann (z.B. über den einen oder die mehreren Prozessoren 108) ausführbare
Anweisungen beinhalten und/oder anderweitig umfassen, die automatisch
OCR an Bildern durchführen, die von der Bildgebungseinrichtung 104 erfasst wurden, und eine trainierbare OCR-Bibliothek auf Grundlage decodierter Nutzdaten der entsprechenden Kennzeichen trainieren.
Beispielsweise kann ein auf ein Objekt aufgedrucktes Kennzeichen (z.B. ein
Barcode) eine Zeichenkette (z.B. eine Textfolge) aufweisen, die sich in der
Nähe des Kennzeichens befindet (z.B. über, unter oder neben diesem). Wenn das Kennzeichen decodiert und die Nutzdaten interpretiert sind, können der
15 BE2022/5583 eine oder die mehreren Prozessoren 108 einen OCR-Algorithmus ausführen, der Teil der OCR-Performanzverbesserungsanwendung 128 ist, um die
Zeichenkette in der Nähe des Kennzeichens zu identifizieren/interpretieren.
Falls der OCR-Algorithmus aufgrund eines oder mehrerer nicht erkannter
Zeichen nicht in der Lage ist, die gesamte Zeichenkette oder einen Teil davon zu interpretieren, kann der OCR-Algorithmus Anweisungen enthalten, die den einen oder die mehreren Prozessoren 108 veranlassen, die decodierten Nutzdaten des Kennzeichens mit der Zeichenkette zu vergleichen, um wahrscheinliche Zeichen zu bestimmen, die dem einen oder den mehreren nicht erkannten Zeichen entsprechen.
Darüber hinaus kann die OCR-
Performanzverbesserungsanwendung 128 Anweisungen enthalten, die den einen oder die mehreren Prozessoren 108 veranlassen, die Position des
Kennzeichens relativ zur entsprechenden Zeichenkette zu fixieren. Wenn beispielsweise ein von der Bildgebungseinrichtung 104 erfasstes Bild analysiert wird, können der eine oder die mehreren Prozessoren 108 die
Position eines Kennzeichens und der entsprechenden Zeichenkette innerhalb des Bildes identifizieren. In Reaktion darauf kann die OCR-
Performanzverbesserungsanwendung 128 den einen oder die mehreren
Prozessoren 108 anweisen, die Positionen des Kennzeichens und der entsprechenden Zeichenkette in dem einen oder den mehreren Speichern 110 und/oder die relativen Positionen des Kennzeichens in Bezug auf die entsprechende Zeichenkette zu sichern/zu speichern. Beispielsweise sei angenommen, dass ein Kennzeichen in einem ersten Bild, das von der
Bildgebungseinrichtung 104 erfasst wurde, gegenüber der entsprechenden
Zeichenkette um 3 Pixel nach oben und 5 Pixel nach rechts verschoben ist.
In diesem Beispiel kann die OCR-Performanzverbesserungsanwendung 128 den einen oder die mehreren Prozessoren 108 anweisen, die relative
Position (3 Pixel oberhalb und 5 Pixel rechts) des Kennzeichens in Bezug
16 BE2022/5583 auf die entsprechende Zeichenkette in dem einen oder den mehreren
Speichern 110 zu speichern, so dass nachfolgende Anweisungen von der
OCR-Performanzverbesserungsanwendung 128 diese relative Verschiebung nutzen können, um die Zeichenkette/das Kennzeichen unabhängig von
Anpassungen der Ausrichtung des ersten Bildes genau zu lokalisieren.
Die Bildgebungseinrichtung 104 kann einen oder mehrere
Prozessoren 118, einen oder mehrere Speicher 120, eine
Netzwerkschnittstelle 122, eine E/A-Schnittstelle 124, eine
Bildgebungsanordnung 126 sowie die Smart-Imaging-Anwendung 116 und wahlweise die OCR-Performanzverbesserungsanwendung 128 enthalten.
Die Bildgebungsanordnung 126 kann eine Digitalkamera und/oder eine digitale Videokamera zum Erfassen oder Aufnehmen von digitalen Bildern und/oder Rahmen (frames) beinhalten. Jedes digitale Bild kann Pixeldaten umfassen, die gemäß Anweisungen analysiert werden können, die die
Smart-Imaging-Anwendung 116 und/oder die OCR-
Performanzverbesserungsanwendung 128 umfassen, wie sie von dem einen oder den mehreren Prozessoren 118 ausgeführt werden, wie vorliegend beschrieben. Die Digitalkamera und/oder die digitale Videokamera z.B. der
Bildgebungsanordnung 126 können so konfiguriert sein, dass sie digitale
Bilder aufnehmen, erfassen oder anderweitig erzeugen, und können zumindest in einigen Ausführungsformen solche Bilder in einem Speicher (z.B. einem oder mehreren Speichern 110, 120) einer jeweiligen Einrichtung (z.B. der Benutzer-Datenverarbeitungseinrichtung 102, der
Bildgebungseinrichtung 104) speichern.
Die Bildgebungsanordnung 126 kann beispielsweise eine fotorealistische Kamera (nicht gezeigt) zum Erfassen, Abtasten oder
Scannen von 2D-Bilddaten beinhalten. Die fotorealistische Kamera kann eine auf RGB (rot, grün, blau) beruhende Kamera zum Erfassen von 2D-
Bildern mit RGB-basierten Pixeldaten sein. In verschiedenen
17 BE2022/5583
Ausführungsformen kann die Bildgebungsanordnung zusätzlich eine dreidimensionale (3D-) Kamera (nicht gezeigt) zum Erfassen, Abtasten oder
Scannen von 3D-Bilddaten beinhalten. Die 3D-Kamera kann einen Infrarot- (IR-) Projektor und eine zugehörige IR-Kamera zum Erfassen, Abtasten oder Scannen von 3D-Bilddaten/-datensätzen beinhalten. In einigen
Ausführungsformen kann die fotorealistische Kamera der
Bildgebungsanordnung 126 2D-Bilder und zugehörige 2D-Bilddaten zum gleichen oder einem ähnlichen Zeitpunkt wie die 3D-Kamera der
Bildgebungsanordnung 126 erfassen, so dass die Bildgebungseinrichtung 104 sowohl den 3D-Bilddatensatz als auch den 2D-Bilddatensatz für eine bestimmte Oberfläche, ein Objekt, einen Bereich oder eine Szene zum gleichen oder einem ähnlichen Zeitpunkt zur Verfügung hat. In verschiedenen Ausführungsformen kann die Bildgebungsanordnung 126 die 3D-Kamera und die fotorealistische Kamera als eine einzige
Bildgebungsvorrichtung beinhalten, die so konfiguriert ist, dass sie 3D-
Tiefenbilddaten gleichzeitig mit 2D-Bilddaten erfasst. Folglich können die erfassten 2D-Bilder und die entsprechenden 2D-Bilddaten mit den 3D-
Bildern und 3D-Bilddaten tiefenausgerichtet werden.
Die Bildgebungseinrichtung 104 kann zudem die 2D-Bilddaten/- datensätze und/oder 3D-Bilddatensätze für die Verwendung durch andere
Einrichtungen (z.B. die Benutzer-Datenverarbeitungseinrichtung 102, einen externen Server) verarbeiten. Beispielsweise können der eine oder die mehreren Prozessoren 118 die von der Bildgebungsanordnung 126 erfassten, gescannten oder abgetasteten Bilddaten oder -datensätze verarbeiten. Die Verarbeitung der Bilddaten kann Post-Bildgebungs-Daten erzeugen, die Metadaten, vereinfachte Daten, normalisierte Daten,
Ergebnisdaten, Statusdaten oder Alarmdaten beinhalten können, die aus den ursprünglich gescannten oder abgetasteten Bilddaten bestimmt wurden. Die Bilddaten und/oder die Post-Bildgebungs-Daten können an die
18 BE2022/5583
Benutzer-Datenverarbeitungseinrichtung 102, die beispielsweise die Smart-
Imaging-Anwendung 136 und/oder die OCR-
Performanzverbesserungsanwendung 128 ausführt, zur Betrachtung,
Bearbeitung und/oder anderweitigen Interaktion gesendet werden. In anderen Ausführungsformen können die Bilddaten und/oder die Post-
Bildgebungs-Daten zur Speicherung oder zur weiteren Bearbeitung an einen Server gesendet werden. Wie vorliegend beschrieben, können die
Benutzer-Datenverarbeitungseinrichtung 102, die Bildgebungseinrichtung 104 und/oder ein externer Server oder eine andere zentralisierte
Verarbeitungseinheit und/oder ein Speicher solche Daten speichern und zudem die Bilddaten und/oder die Post-Bildgebungs-Daten an eine andere
Anwendung senden, die auf einer Benutzereinrichtung implementiert ist, wie beispielsweise einer Mobileinrichtung, einem Tablet, einer tragbaren
Einrichtung oder einer Desktop-Einrichtung.
Jeder des einen oder der mehreren Speicher 110, 120 kann eine oder mehrere Formen von flüchtigem und/oder nicht-flüchtigem, festem und/oder auswechselbarem Speicher beinhalten, wie beispielsweise Nur-
Lese-Speicher (ROM), elektronischer programmierbarer Nur-Lese-Speicher (EPROM), Direktzugriffsspeicher (RAM), löschbarer elektronischer programmierbarer Nur-Lese-Speicher (EEPROM) und/oder andere
Festplatten, Flash-Speicher, MicroSD-Karten und andere. Allgemein kann ein Computerprogramm oder ein computergestütztes Produkt, eine
Anwendung oder ein Code (z.B. die Smart-Imaging-Anwendung 116, die
OCR-Performanzverbesserungsanwendung 128 und/oder andere vorliegend beschriebene Datenverarbeitungsanweisungen) auf einem computerverwendbaren Speichermedium oder einem materiellen nicht- transienten computerlesbaren Medium (z.B. Standard-
Direktzugriffsspeicher (RAM), eine optische Platte, ein USB- (Universal
Serial Bus) Laufwerk oder dergleichen) gespeichert sein, in dem ein solcher
19 BE2022/5583 computerlesbarer Programmcode oder Computeranweisungen enthalten sind, wobei der computerlesbare Programmcode oder die
Computeranweisungen auf dem einen oder den mehreren Prozessoren 108, 118 installiert oder anderweitig zur Ausführung durch diese angepasst sein können (z.B. in Verbindung mit dem jeweiligen Betriebssystem in dem einen oder den mehreren Speichern 110, 120), um die maschinenlesbaren
Anweisungen, Verfahren, Prozesse, Elemente oder Beschränkungen zu erleichtern, zu implementieren oder auszuführen, wie sie in den verschiedenen Flussdiagrammen, Darstellungen, Diagrammen, Figuren und/oder anderen Offenbarungen vorliegend veranschaulicht, dargestellt oder beschrieben werden. Dabei kann der Programmcode in jeder gewünschten Programmiersprache implementiert werden, und zwar als
Maschinencode, Assemblercode, Bytecode, interpretierbarer Quellcode oder dergleichen (z.B. über Golang, Python, C, C++, C#, Objective-C, Java, Scala,
ActionScript, JavaScript, HTML, CSS, XML usw.)
In dem einen oder den mehreren Speichern 110, 120 kann ein
Betriebssystem (OS) (z.B. Microsoft Windows, Linux, Unix usw.) gespeichert sein, das in der Lage ist, die vorliegend beschriebenen Funktionalitäten,
Anwendungen, Verfahren oder andere Software zu ermöglichen. In dem einen oder den mehreren Speichern 110, 120 können zudem die Smart-
Imaging-Anwendung 116 und/oder die OCR-
Performanzverbesserungsanwendung 128 gespeichert sein. Zusätzlich oder alternativ können die Smart-Imaging-Anwendung 116 und/oder die OCR-
Performanzverbesserungsanwendung 128 auch in einer externen
Datenbank (nicht gezeigt) gespeichert sein, die über das Netzwerk 106 zugänglich ist oder anderweitig mit der Benutzer-
Datenverarbeitungseinrichtung 102 in Kommunikationsverbindung steht.
Der eine oder die mehreren Speicher 110, 120 können zudem maschinenlesbare Anweisungen speichern, einschließlich einer oder
20 BE2022/5583 mehrerer Anwendungen, einer oder mehrerer Softwarekomponenten und/oder einer oder mehrerer Anwendungsprogrammierschnittstellen (APIs), die implementiert werden können, um die vorliegend beschriebenen
Merkmale, Funktionen oder andere Offenbarungen zu ermöglichen oder auszuführen, wie beispielsweise jegliche Verfahren, Prozesse, Elemente oder Beschränkungen, wie sie in den verschiedenen Flussdiagrammen,
Darstellungen, Diagrammen, Figuren und/oder anderen Offenbarungen vorliegend veranschaulicht, dargestellt oder beschrieben werden. Zum
Beispiel können zumindest einige der Anwendungen, Softwarekomponenten oder APIs eine auf Bildverarbeitung beruhende Bildgebungsanwendung wie beispielsweise die Smart-Imaging-Anwendung 116 und/oder die OCR-
Performanzverbesserungsanwendung 128 sein, beinhalten oder anderweitig ein Teil davon sein, wobei jede so konfiguriert sein kann, dass sie ihre verschiedenen vorliegend beschriebenen Funktionen ermöglicht. Es ist zu beachten, dass eine oder mehrere andere Anwendungen denkbar sind, die durch den einen oder die mehreren Prozessoren 108, 118 ausgeführt werden können.
Der eine oder die mehreren Prozessoren 108, 118 können mit dem einen oder den mehreren Speichern 110, 120 über einen Computerbus verbunden sein, der für das Übertragen von elektronischen Daten,
Datenpaketen oder anderen elektronischen Signalen zu und von dem einen oder den mehreren Prozessoren 108, 118 und dem einen oder den mehreren
Speichern 110, 120 zuständig ist, um die maschinenlesbaren Anweisungen,
Verfahren, Prozesse, Elemente oder Beschränkungen zu implementieren oder durchzuführen, wie sie in den verschiedenen Flussdiagrammen,
Darstellungen, Diagrammen, Figuren und/oder anderen Offenbarungen vorliegend veranschaulicht, dargestellt oder beschrieben werden.
Der eine oder die mehreren Prozessoren 108, 118 können mit dem einen oder den mehreren Speichern 110, 120 über den Computerbus
91 BE2022/5583 verbunden sein, um das Betriebssystem (OS) auszuführen. Der eine oder die mehreren Prozessoren 108, 118 können zudem über den Computerbus mit dem einen oder den mehreren Speichern 110, 120 verbunden sein, um
Daten zu erstellen, zu lesen, zu aktualisieren, zu löschen oder anderweitig abzurufen und mit ihnen zu interagieren, die in dem einen oder den mehreren Speichern 110, 120 und/oder externen Datenbanken (z.B. einer relationalen Datenbank wie Oracle, DB2, MySQL oder einer NoSQL- basierten Datenbank wie MongoDB) gespeichert sind. Die in dem einem oder den mehreren Speichern 110, 120 und/oder einer externen Datenbank gespeicherten Daten können alle oder einen Teil beliebiger der vorliegend beschriebenen Daten oder Informationen enthalten, einschlieBlich beispielsweise einer trainierbaren OCR-Bibliothek (die z.B. erkannte
Zeichen beinhaltet, die als Ergebnis der OCR-
Performanzverbesserungsanwendung 128 gespeichert wurden) und/oder anderer geeigneter Informationen.
Die Netzwerkschnittstellen 112, 122 können so konfiguriert sein, dass sie Daten über einen oder mehrere externe/Netzwerkanschlüsse an ein oder mehrere Netzwerke oder lokale Endgeräte, wie dem vorliegend beschriebenen Netzwerk 106, kommunizieren (z.B. senden und empfangen).
In einigen Ausführungsformen können die Netzwerkschnittstellen 112, 122 eine Client-Server-Plattformtechnologie wie ASP.NET, Java J2EE, Ruby on
Rails, Node.js, einen Webdienst oder eine Online-API beinhalten, die auf elektronische Anfragen reagieren und diese beantworten. Die
Netzwerkschnittstellen 112, 122 können die Client-Server-
Plattformtechnologie implementieren, die über den Computerbus mit dem einen oder den mehreren Speichern 110, 120 (einschließlich der darin gespeicherten Anwendungen, Komponenten, APIs, Daten usw.) interagieren kann, um die maschinenlesbaren Anweisungen, Verfahren, Prozesse,
Elemente oder Beschränkungen zu implementieren oder durchzuführen, wie
29 BE2022/5583 sie in den verschiedenen Flussdiagrammen, Darstellungen, Diagrammen,
Figuren und/oder anderen Offenbarungen vorliegend veranschaulicht, dargestellt oder beschrieben werden.
Gemäß einigen Ausführungsformen können die
Netzwerkschnittstellen 112, 122 einen oder mehrere Sendeempfänger (z.B.
WWAN-, WLAN- und/oder WPAN-Sendeempfänger ) beinhalten oder mit diesen interagieren, die gemäß IEEE-Standards, 3GPP-Standards oder anderen Standards funktionieren und für den Empfang und die
Übertragung von Daten über externe/Netzwerkanschlüsse verwendet werden können, die mit dem Netzwerk 106 verbunden sind. In einigen
Ausführungsformen kann das Netzwerk 106 ein privates Netzwerk oder ein lokales Netzwerk (LAN) umfassen. Zusätzlich oder alternativ kann das
Netzwerk 106 ein öffentliches Netzwerk wie das Internet umfassen. In einigen Ausführungsformen kann das Netzwerk 106 Router, drahtlose
Switches oder andere derartige drahtlose Verbindungspunkte umfassen, die mit der Benutzer-Datenverarbeitungseinrichtung 102 (über die
Netzwerkschnittstelle 112) und der Bildgebungseinrichtung 104 (über die
Netzwerkschnittstelle 122) über drahtlose Kommunikation auf Grundlage eines oder mehrerer verschiedener drahtloser Standards kommunizieren, darunter, ohne jedoch hierauf eingeschränkt zu sein, IEEE 802.11a/b/c/g (WIFT), der BLUETOOTH-Standard oder dergleichen.
Die E/A-Schnittstellen 114, 124 können Bedienerschnittstellen beinhalten oder implementieren, die so konfiguriert sind, dass sie einem
Administrator oder Bediener Informationen darstellen und/oder Eingaben vom Administrator oder Bediener empfangen. Eine Bedienerschnittstelle kann einen Anzeigebildschirm bereitstellen (z.B. über die Benutzer-
Datenverarbeitungseinrichtung 102 und/oder die Bildgebungseinrichtung 104), den ein Benutzer/Bediener verwenden kann, um beliebige Bilder,
Grafiken, Texte, Daten, Merkmale, Pixel und/oder andere geeignete
23 BE2022/5583
Visualisierungen oder Informationen zu visualisieren. Beispielsweise können die Benutzer-Datenverarbeitungseinrichtung 102 und/oder die
Bildgebungseinrichtung 104 zumindest teilweise eine grafische
Benutzerschnittstelle (GUT) zum Anzeigen von Bildern, Grafiken, Text,
Daten, Merkmalen, Pixeln und/oder anderen geeigneten Visualisierungen oder Informationen auf dem Anzeigebildschirm umfassen, implementieren, darauf zugreifen, diese wiedergeben oder anderweitig offenlegen. Die E/A-
Schnittstellen 114, 124 können zudem E/A-Komponenten beinhalten (z.B.
Anschlüsse, kapazitive oder resistive berührungsempfindliche
Eingabefelder, Tasten, Knöpfe, Lichter, LEDs, eine beliebige Anzahl von
Tastaturen, Mäusen, USB-Laufwerken, optischen Laufwerken,
Bildschirmen, Touchscreens usw.), auf die direkt/indirekt über die
Benutzer-Datenverarbeitungseinrichtung 102 und/oder die
Bildgebungseinrichtung 104 zugegriffen werden kann oder die an diese angeschlossen sind. Gemäß einigen Ausführungsformen kann ein
Administrator oder Benutzer/Bediener auf die Benutzer-
Datenverarbeitungseinrichtung 102 und/oder die Bildgebungseinrichtung 104 zugreifen, um eine Bildgebungseinstellungskalibrierung zu initiieren,
Bilder oder andere Informationen zu überprüfen, Änderungen vorzunehmen, Antworten und/oder Auswahlen einzugeben und/oder andere
Funktionen auszuführen.
Wie vorstehend beschrieben, kann in einigen Ausführungsformen die Benutzer-Datenverarbeitungseinrichtung 102 die vorliegend beschriebenen Funktionen als Teil eines "Cloud"-Netzwerks durchführen oder anderweitig mit anderen Hardware- oder Softwarekomponenten innerhalb der Cloud kommunizieren, um vorliegend beschriebene Daten oder Informationen zu senden, abzurufen oder anderweitig zu analysieren.
FIG. 2A ist eine perspektivische Ansicht der
Bildgebungseinrichtung 104 aus FIG. 1 gemäß vorliegend beschriebenen
24 BE2022/5583
Ausführungsformen. Die Bildgebungseinrichtung 104 beinhaltet ein
Gehäuse 202, eine Bildgebungsblende 204, eine
Benutzerschnittstellenkennzeichnung 206, einen Kuppelschalter/-knopf 208, eine oder mehrere Leuchtdioden (LEDs) 210 und einen oder mehrere
Befestigungspunkte 212. Wie bereits erwähnt, kann die
Bildgebungseinrichtung 104 automatisch und/oder in Reaktion auf von einer Benutzer-Datenverarbeitungseinrichtung (z.B. der Benutzer-
Datenverarbeitungseinrichtung 102) empfangene Anweisungen eine
Anwendung (z.B. die Smart-Imaging-Anwendung 116 und/oder die OCR-
Performanzverbesserungsanwendung 128) initiieren, um einem Benutzer die Konfiguration und/oder Ausführung eines Bildverarbeitungsauftrags und/oder von Bildgebungseinstellungen der Bildgebungseinrichtung 104 zu ermöglichen. Natürlich kann die Bildgebungseinrichtung 104 die
Bildgebungseinstellungen (z.B. der Bildgebungsanordnung 126) in Reaktion auf die Bestimmungen, die als Teil der Ausführung der Smart-Imaging-
Anwendung 116 und/oder der OCR-Performanzverbesserungsanwendung 128 gemacht wurden, unabhängig anpassen, und/oder die
Bildgebungseinrichtung 104 kann eine Anzeige dieser Bestimmungen an die
Benutzer-Datenverarbeitungseinrichtung 102 zur Überprüfung/Akzeptanz durch einen Benutzer/Bediener übertragen.
Beispielsweise können die als Teil der Ausführung der Smart-
Imaging-Anwendung 116 und/oder der OCR-
Performanzverbesserungsanwendung 128 getroffenen Bestimmungen
Anweisungen zur Anpassung einer oder mehrerer Einstellungen in Bezug auf die Bildgebungsblende 204 beinhalten. Konkret sei etwa angenommen, dass zumindest ein Teil der Analyse, die der Ausführung der Smart-
Imaging-Anwendung 116 und/oder der OCR-
Performanzverbesserungsanwendung 128 entspricht, erfordert, dass die
Bildgebungseinrichtung 104 die Helligkeit des Kennzeichens und der
95 BE2022/5583 entsprechenden Zeichenkette in einem erfassten Bild maximiert. Um dieser
Anforderung gerecht zu werden, kann die Bildgebungseinrichtung 104 die
BlendengröBe der Bildgebungsöffnung 204 vergröBern. Somit kann die
Bildgebungseinrichtung 104 so konfiguriert werden, dass sie ihre eigene
Konfiguration automatisch anpasst, um Bilder mit optimalen
Bildeigenschaften/-qualitäten (z.B. Helligkeit, Schärfe) zumindest für das
Kennzeichen und die entsprechende Zeichenkette zu erfassen. Zudem kann die Bildgebungseinrichtung 104 beispielsweise, ohne jedoch hierauf eingeschränkt zu sein, ein oder mehrere Bandpassfilter, einen oder mehrere
Polarisatoren, einen oder mehrere DPM-Diffusoren, eine oder mehrere C-
Mount-Linsen und/oder eine oder mehrere C-Mount-Flüssiglinsen beinhalten oder so angepasst sein, dass sie diese beinhaltet, oder anderweitig die durch die Bildgebungsblende 204 empfangene Beleuchtung beeinflussen.
Die Benutzerschnittstellenkennzeichnung 206 kann den
Kuppelschalter/-knopf 208 und eine oder mehrere LEDs 210 beinhalten und dadurch eine Vielzahl von interaktiven und/oder anzeigenden Merkmalen ermöglichen. Allgemein kann die Benutzerschnittstellenkennzeichnung 206 es einem Benutzer ermöglichen, die Bildgebungseinrichtung 104 auszulösen und/oder abzustimmen (z.B. über den Kuppelschalter/-knopf 208) und zu erkennen, wenn eine oder mehrere Funktionen, Fehler und/oder andere
Aktionen in Bezug auf die Bildgebungseinrichtung 104 ausgeführt wurden oder stattgefunden haben (z.B. über die eine oder die mehreren LEDs 210).
Beispielsweise kann die Auslösefunktion eines Kuppelschalters/-knopfes (z.B. der Kuppelschalter/-knopf 208) es einem Benutzer ermöglichen, ein
Bild mit der Bildgebungseinrichtung 104 zu erfassen und/oder einen
Auslöserkonfigurationsbildschirm einer Benutzeranwendung (z.B. der
Smart-Imaging-Anwendung 116) anzuzeigen. Der
Auslöserkonfigurationsbildschirm kann es dem Benutzer ermöglichen, einen
26 BE2022/5583 oder mehrere Auslöser für die Bildgebungseinrichtung 104 zu konfigurieren, die im Speicher (z.B. einem oder mehreren Speichern 110, 120) zur
Verwendung in Bildverarbeitungsaufträgen gespeichert werden können.
Als weiteres Beispiel kann die Abstimmungsfunktion eines
Kuppelschalters/-knopfes (z.B. des Kuppelschalters/-knopfes 208) es einem
Benutzer ermöglichen, die Konfiguration der Bildgebungseinrichtung 104 automatisch und/oder manuell einzustellen und/oder einen
Bildgebungskonfigurationsbildschirm einer Benutzeranwendung (z.B. der
Smart-Imaging-Anwendung 116) anzuzeigen. Der
Bildgebungskonfigurationsbildschirm kann es dem Benutzer ermöglichen, eine oder mehrere Konfigurationen der Bildgebungseinrichtung 104 (z.B.
Blendengröße, Belichtungslänge usw.) zu konfigurieren, die im Speicher (z.B. einem oder mehreren Speichern 110, 120) für die Verwendung in
Bildverarbeitungsaufträgen gespeichert werden können, wie vorliegend beschrieben wird. Darüber hinaus kann ein Benutzer, wie vorliegend weiter erläutert, den Bildgebungskonfigurationsbildschirm (oder allgemeiner die
Smart-Imaging-Anwendung 116 und/oder die OCR-
Performanzverbesserungsanwendung 128) verwenden, um spezifische
Parameter eines bevorzugten Bildverarbeitungsauftrags/einer bevorzugten
Bildverarbeitungsaufgabe zu konfigurieren, die es der
Bildgebungseinrichtung 104 ermöglichen, eine
Bildgebungseinstellungskalibrierung automatisch in einer Weise durchzuführen, die die Bildgebungseinstellungen, die sich aus der
Ausführung der Smart-Imaging-Anwendung 116 und/oder der OCR-
Performanzverbesserungsanwendung 128 ergeben, auf den bevorzugten
Bildverarbeitungsauftrag/die bevorzugte Bildverarbeitungsaufgabe abstimmt. Der Benutzer kann dann die resultierenden
Bildgebungseinstellungen als Teil eines Bildverarbeitungsauftrags speichern, der anschließend von der Bildgebungseinrichtung 104 ausgeführt
27 BE2022/5583 werden kann. Der Bildverarbeitungsauftrag kann dann die Prozessoren der
Bildgebungseinrichtung 104 (z.B. einen oder mehrere Prozessoren 118) anweisen, die Bildgebungseinstellungen der Bildgebungseinrichtung 104 automatisch gemäß den Bildgebungseinstellungen anzupassen, die als Teil der Ausführung der Smart-Imaging-Anwendung 116 und/oder der OCR-
Performanzverbesserungsanwendung 128 bestimmt wurden.
Der oder die Befestigungspunkte 212 können es einem Benutzer ermöglichen, die Bildgebungseinrichtung 104 mit einer
Befestigungseinrichtung (z.B. einem Bildgebungsstativ, einer
Kamerahalterung usw.), einer Strukturoberfläche (z.B. einer
Lagerhauswand, einer Lagerhausdecke, einem Strukturstützbalken usw.), anderen Zubehörteilen und/oder anderen geeigneten
Verbindungseinrichtungen, -strukturen oder -oberflächen zu verbinden und/oder lösbar zu befestigen. Beispielsweise kann die
Bildgebungseinrichtung 104 optimal auf einer Befestigungseinrichtung in einem Verteilungszentrum, einer Produktionsanlage, einem Lagerhaus und/oder einer anderen Einrichtung platziert werden, um die
Qualität/Konsistenz von Produkten, Paketen und/oder anderen
Gegenständen abzubilden und zu überwachen, während sie das Sichtfeld der Bildgebungseinrichtung 104 passieren. Darüber hinaus können der oder die Befestigungspunkte 212 es einem Benutzer ermöglichen, die
Bildgebungseinrichtung 104 mit einer Vielzahl von Zubehörteilen zu verbinden, darunter, ohne jedoch hierauf eingeschränkt zu sein, eine oder mehrere externe Beleuchtungseinrichtungen, eine oder mehrere
Befestigungseinrichtungen/Halterungen und dergleichen.
Darüber hinaus kann die Bildgebungseinrichtung 104 mehrere
Hardwarekomponenten im Gehäuse 202 beinhalten, die eine Verbindung zu einem Computernetzwerk (z.B. dem Netzwerk 106) ermöglichen. Zum
Beispiel kann die Bildgebungseinrichtung 104 eine Netzwerkschnittstelle
98 BE2022/5583 (z.B. die Netzwerkschnittstelle 122) beinhalten, die es der
Bildgebungseinrichtung 104 ermöglicht, sich mit einem Netzwerk zu verbinden, wie beispielsweise eine Gigabit-Ethernet-Verbindung und/oder eine Dual-Gigabit-Ethernet-Verbindung. Ferner kann die
Bildgebungseinrichtung 104 Sendeempfänger und/oder andere
Kommunikationskomponenten als Teil der Netzwerkschnittstelle beinhalten, um mit anderen Finrichtungen (z.B. der Benutzer-
Datenverarbeitungseinrichtung 102) zu kommunizieren, z.B. über
Ethernet/IP, PROFINET, Modbus TCP, CC-Link, USB 3.0, RS-232 und/oder
Jedes andere geeignete Kommunikationsprotokoll oder Kombinationen aus diesen.
FIG. 2B ist ein Blockdiagramm, das eine beispielhafte
Logikschaltung darstellt, die beispielsweise eine oder mehrere
Komponenten der beispielhaften Bildgebungseinrichtung 104 aus FIG. 2A implementieren kann. Bei der beispielhaften Logikschaltung aus FIG. 2B handelt es sich um eine Verarbeitungsplattform 230, die in der Lage ist,
Anweisungen auszuführen, um beispielsweise Operationen der vorliegend beschriebenen beispielhaften Verfahren zu implementieren, wie sie in den
Flussdiagrammen der Zeichnungen, die dieser Beschreibung beigefügt sind, dargestellt sein können. Zu weiteren beispielhaften Logikschaltungen, die beispielsweise Operationen der vorliegend beschriebenen beispielhaften
Verfahren implementieren kännen, zählen frei programmierbare Gate-
Arrays (FPGAs) und anwendungsspezifische integrierte Schaltungen (ASICS).
Die beispielhafte Verarbeitungsplattform 230 aus FIG. 2B beinhaltet einen Prozessor 232 wie beispielsweise einen oder mehrere
Mikroprozessoren, Controller und/oder eine beliebige geeignete Art von
Prozessor. Die beispielhafte Verarbeitungsplattform 230 aus FIG. 2B enthält einen Speicher (z.B. flüchtigen Speicher, nichtflüchtigen Speicher)
29 BE2022/5583 234, auf den der Prozessor 232 zugreifen kann (z.B. über einen
Speichercontroller). Der beispielhafte Prozessor 232 interagiert mit dem
Speicher 234, um beispielsweise im Speicher 234 gespeicherte maschinenlesbare Anweisungen zu erhalten, die beispielsweise den in den
Flussdiagrammen dieser Offenbarung dargestellten Operationen entsprechen. Der Speicher 234 enthält zudem die Smart-Imaging-
Anwendung 116 und wahlweise die OCR-
Performanzverbesserungsanwendung 128, auf die der beispielhafte
Prozessor 232 jeweils zugreifen kann. Die Smart-Imaging-Anwendung 116 und/oder die OCR-Performanzverbesserungsanwendung 128 können regelbasierte Anweisungen, ein auf künstlicher Intelligenz (KT) und/oder maschinellem Lernen beruhendes Modell und/oder eine beliebige andere geeignete Algorithmusarchitektur oder eine Kombination aus diesen umfassen, die beispielsweise zur Verbesserung einer Performanz einer trainierbaren OCR konfiguriert ist. Zur Veranschaulichung kann der beispielhafte Prozessor 232 auf den Speicher 234 zugreifen, um die Smart-
Imaging-Anwendung 116 und/oder die OCR-
Performanzverbesserungsanwendung 128 auszuführen, wenn die
Bildgebungseinrichtung 104 (über die Bildgebungsanordnung 126) einen
Satz von Bilddaten erfasst, der Pixeldaten aus einer Vielzahl von Pixeln umfasst. Zusätzlich oder alternativ können maschinenlesbare Anweisungen, die den vorliegend beschriebenen beispielhaften Operationen entsprechen, auf einem oder mehreren Wechselmedien (z.B. einer Compact Disc, einer
Digital Versatile Disc, einem auswechselbaren Flash-Speicher usw.) gespeichert werden, die mit der Verarbeitungsplattform 230 gekoppelt werden können, um Zugriff auf die darauf gespeicherten maschinenlesbaren
Anweisungen zu ermöglichen.
Die beispielhafte Verarbeitungsplattform 230 aus FIG. 2B enthält zudem eine Netzwerkschnittstelle 236, um Kommunikation mit anderen
30 BE2022/5583
Maschinen über beispielsweise ein oder mehrere Netzwerke zu ermöglichen.
Die beispielhafte Netzwerkschnittstelle 236 enthält eine beliebige geeignete
Art von Kommunikationsschnittstelle(n) (z.B. drahtgebundene und/oder drahtlose Schnittstellen), die so konfiguriert sind, dass sie gemäß einem beliebigen geeigneten Protokoll arbeiten (z.B. Ethernet für drahtgebundene
Kommunikation und/oder IEEE 802.11 für drahtlose Kommunikation).
Die beispielhafte Verarbeitungsplattform 230 aus FIG. 2B enthält zudem Eingabe/Ausgabe- (E/A-) Schnittstellen 238, um den Empfang von
Benutzereingaben und die Kommunikation von Ausgabedaten an den
Benutzer zu ermöglichen. Zu solchen Benutzereingaben und - kommunikation können z.B. eine beliebige Anzahl von Tastaturen, Mäusen,
USB-Laufwerken, optischen Laufwerken, Bildschirmen, Touchscreens usw. zählen.
FIG. 3 ist ein Flussdiagramm, das eine beispielhafte OCR-
Validierung 300, die von der OCR-Performanzverbesserungsanwendung 128 aus FIG. 1 durchgeführt wird, gemäß vorliegend beschriebenen
Ausführungsformen darstellt. Die beispielhafte OCR-Validierung 300 beinhaltet ein erstes Bild 302, das von einer Bildgebungseinrichtung (z.B. der Bildgebungseinrichtung 104) erfasst wurde und grafische
Überlagerungen enthält, die für eine anfängliche Bildverarbeitung repräsentativ sind, die entweder von der Bildgebungseinrichtung und/oder der Benutzer-Datenverarbeitungseinrichtung (z.B. der Benutzer-
Datenverarbeitungseinrichtung 102) durchgeführt wurde und dazu dient, zumindest das Kennzeichen 306 und die Zeichenkette 308 zu identifizieren/decodieren/interpretieren. Es versteht sich, dass das erste
Bild 302, das zweite Bild 320 und/oder jedes andere geeignete Bild und jede grafische Überlagerung, die von der Bildgebungseinrichtung und/oder der
Benutzer-Datenverarbeitungseinrichtung erfasst und/oder verarbeitet wurden, jeweils auf einer Anzeige (z.B. als Teil der E/A-Schnittstelle 114,
31 BE2022/5583 124) zur Betrachtung durch einen Benutzer dargestellt werden können. Als
Ergebnis der anfänglichen Bildverarbeitung enthält das erste Bild 302 eine interessierende Region 304, das Kennzeichen 306 (z.B. einen Barcode), die
Zeichenkette 308, einen Satz einzelner Zeichen 310, die die Zeichenkette 308 bilden, und ein OCR-Ergebnis 312.
Allgemein kann die Zeichenkette 308, wie in Fig. 3 dargestellt, eine Abweichung, einen Defekt, einen Fleck und/oder eine andere Störung des ersten Zeichens "D" enthalten, so dass die anfängliche Bildverarbeitung (einschließlich eines OCR-Algorithmus), die von einem oder mehreren
Prozessoren (z.B. dem einen oder den mehreren Prozessoren 108, 118) durchgeführt wird, dazu führen kann, dass der eine oder die mehreren
Prozessoren alle außer dem ersten Zeichen des Satzes einzelner Zeichen 310 identifizieren und erkennen/interpretieren. Dementsprechend können der eine oder die mehreren Prozessoren die Zeichenkette 308 in ähnlicher Weise wie das OCR-Ergebnis 312 interpretieren, wobei das erste Zeichen der
Zeichenkette 308 durch ein Symbol oder ein anderes Zeichen (hier ein "?"-
Symbol) dargestellt wird, das anzeigt, dass der eine oder die mehreren
Prozessoren das erste Zeichen nicht erkennen können.
Wie vorliegend besprochen, können der eine oder die mehreren
Prozessoren bestimmen, dass ein Zeichen nicht erkennbar ist, weil die
Zeichen, von denen vorhergesagt wird, dass sie dem vom OCR-Algorithmus ausgegebenen nicht erkannten Zeichen am ehesten entsprechen, keine zugehörigen Konfidenzintervalle aufweisen, die einen entsprechenden
Konfidenzschwellenwert überschreiten und/oder anderweitig erfüllen. In diesem Fall ist der OCR-Algorithmus möglicherweise nicht in der Lage, das
Zeichen zu erkennen, und aktualisiert die trainierbare OCR-Bibliothek möglicherweise nicht automatisch durch Eingeben einer Darstellung des nicht erkannten Zeichens als gültige Darstellung eines bekannten Zeichens (z.B. eines in der trainierbaren OCR-Bibliothek enthaltenen Zeichens). Es
39 BE2022/5583 versteht sich jedoch, dass, wenn der von dem einen oder den mehreren
Prozessoren 108 angewandte OCR-Algorithmus in der Lage ist, genau/sicher vorherzusagen, dass ein bestimmtes identifiziertes Zeichen ein bekanntes Zeichen darstellt, weil das zugehörige Konfidenzintervall den entsprechenden Konfidenzschwellenwert überschreitet und/oder anderweitig erfüllt, der eine oder die mehreren Prozessoren 108 die trainierbare OCR-Bibliothek automatisch aktualisieren können, indem sie eine Darstellung des erkannten Zeichens als eine gültige Darstellung eines bekannten Zeichens eingeben.
In jedem Fall können der eine oder die mehreren Prozessoren mit der Ausführung der OCR-Performanzverbesserungsanwendung 128 fortfahren, um das nicht erkannte erste Zeichen genau zu identifizieren. Als
Teil der Ausführung der OCR-Performanzverbesserungsanwendung 128 können der eine oder die mehreren Prozessoren 108 Nutzdaten aus dem
Kennzeichen 306 identifizieren und decodieren. Es versteht sich, dass der eine oder die mehreren Prozessoren 108 die Nutzdaten unabhängig aus dem
Kennzeichen 306 identifizieren und decodieren können, zum Beispiel als
Teil der Smart-Imaging-Anwendung 116. In jedem Fall können, wenn der eine oder die mehreren Prozessoren 108 die Nutzdaten aus dem
Kennzeichen 306 decodiert haben, der eine oder die mehreren Prozessoren 108 auf Grundlage von Anweisungen, die sie von der OCR-
Performanzverbesserungsanwendung 128 empfangen haben, die decodierten Nutzdaten mit der Zeichenkette 308 und insbesondere jedes jeweilige Zeichen der decodierten Nutzdaten mit einem entsprechenden
Jeweiligen Zeichen in dem Satz einzelner Zeichen 310 vergleichen.
Der eine oder die mehreren Prozessoren 108 können auf diese
Weise bestimmen, ob das Zeichen aus den decodierten Nutzdaten dem nicht erkannten Zeichen hinreichend entspricht, um einen Schwellenwert für akzeptable Konfidenz zu erfüllen. Der einer automatischen Erkennung
33 BE2022/5583 durch den OCR-Algorithmus entsprechende Konfidenzschwellenwert kann beispielsweise 90 % und der Schwellenwert für akzeptable Konfidenz 80 % betragen. In bestimmten Ausführungsformen kann der Schwellenwert für akzeptable Konfidenz ein benutzerdefinierter Schwellenwert sein, so dass ein Benutzer dem einen oder den mehreren Prozessoren 108 erlauben kann, eine trainierbare OCR-Bibliothek (z.B. als Teil der OCR-
Performanzverbesserungsanwendung 128) automatisch mit einer
Darstellung des nicht erkannten Zeichens als gültige Darstellung eines bekannten Zeichens zu aktualisieren, wenn das mit dem Vergleich des
Zeichens aus den decodierten Nutzdaten mit dem nicht erkannten Zeichen verbundene Konfidenzintervall den Schwellenwert für akzeptable Konfidenz erfüllt.
Basierend auf der Bestimmung können der eine oder die mehreren Prozessoren 108 ein Bild ausgeben, das dem zweiten Bild 320 ähnlich ist und das die interessierende Region 304, das Kennzeichen 306, die Zeichenkette 308, den Satz einzelner Zeichen 310 und ein validiertes
OCR-Ergebnis 322 enthält. Das validierte OCR-Ergebnis 322 kann als
Ergebnis des Vergleichs der decodierten Nutzdaten mit der Zeichenkette 308 einen validierten Zeicheneintrag für das erste Zeichen des Satzes einzelner Zeichen 310 enthalten. Der eine oder die mehreren Prozessoren 108 können auf Grundlage von Anweisungen der OCR-
Performanzverbesserungsanwendung 128 zudem die trainierbare OCR-
Bibliothek mit dem ersten Zeichen des Satzes einzelner Zeichen 310 als gültige Darstellung des bekannten Zeichens "D" aktualisieren.
FIG. 4 ist ein Flussdiagramm, das ein Verfahren 400 zum
Verbessern einer Performanz einer trainierbaren OCR gemäß vorliegend beschriebenen Ausführungsformen darstellt. Allgemein, und wie vorstehend erwähnt, nutzt das Verfahren 400 zum Verbessern einer Performanz einer trainierbaren OCR erfasste Bilddaten, um ein Kennzeichen und eine
34 BE2022/5583 entsprechende Zeichenkette zu identifizieren und anschließend zu bestimmen, ob ein nicht erkanntes Zeichen, das als Teil der Zeichenkette enthalten ist, zu einer trainierbaren OCR-Bibliothek hinzugefügt werden sollte. Genauer gesagt, ermöglicht das Verfahren 400 der
Bildgebungseinrichtung (z.B. der Bildgebungseinrichtung 104) und/oder einer anderen geeigneten Einrichtung (z.B. der Benutzer-
Datenverarbeitungseinrichtung 102), die Leistung des OCR-Algorithmus auf Grundlage sowohl eines vorbestimmten Konfidenzschwellenwertes des
OCR-Algorithmus als auch eines benutzerdefinierten Schwellenwerts für akzeptable Konfidenz zu verbessern. Es versteht sich, dass jeder der
Schritte des Verfahrens 400 beispielsweise von der Bildgebungseinrichtung 104, der Benutzer-Datenverarbeitungseinrichtung 102, der Smart-Imaging-
Anwendung 116, der OCR-Performanzverbesserungsanwendung 128, dem einen oder den mehreren Prozessoren 108, 118 und/oder beliebigen anderen geeigneten Komponenten oder Kombinationen davon, die vorliegend besprochen werden, durchgeführt werden kann.
In Block 402 beinhaltet das Verfahren 400 Empfangen eines von einer Bildverarbeitungskamera (z.B. der Bildgebungseinrichtung 104) erfassten Bildes. Das Bild kann ein Kennzeichen enthalten, das Nutzdaten codiert, und das Bild kann eine Zeichenkette enthalten. Außerdem kann das
Bild von einer Anwendung (z.B. der Smart-Imaging-Anwendung 116, der
OCR-Performanzverbesserungsanwendung 128) empfangen werden, die auf einer Benutzer-Datenverarbeitungseinrichtung (z.B. der Benutzer-
Datenverarbeitungseinrichtung 102) ausgeführt wird, die mit der
Bildverarbeitungskamera in Kommunikationsverbindung steht. Sobald das
Bild empfangen wurde, können die Prozessoren, die die Anwendung ausführen, das Kennzeichen und die Zeichenkette im Bild identifizieren (Block 404). Beispielsweise können die Prozessoren einen OCR-Algorithmus nutzen (z.B. als Teil der OCR-Performanzverbesserungsanwendung 128),
35 BE2022/5583 um sowohl das Kennzeichen als auch die Zeichenkette zu identifizieren. Die
Prozessoren können dann mit dem Decodieren des Kennzeichens fortfahren, um die Nutzdaten des Kennzeichens zu bestimmen (Block 406).
Das Verfahren 400 kann zudem Anwenden eines OCR-
Algorithmus auf das Bild beinhalten, wobei der OCR-Algorithmus die
Zeichenkette interpretiert und ein nicht erkanntes Zeichen innerhalb der
Zeichenkette identifiziert (Block 408). In bestimmten Ausführungsformen kann, wie vorstehend erwähnt wurde, der OCR-Algorithmus beispielsweise bestimmen, dass das nicht erkannte Zeichen jedem jeweiligen bekannten
Zeichen aus der Schriftartenbibliothek mit Konfidenzniveaus entspricht, die einen Schwellenwert für automatische Erkennung nicht erfüllen.
Ferner kann das Verfahren 400 Vergleichen der Nutzdaten mit der Zeichenkette beinhalten, um das nicht erkannte Zeichen als einem bekannten Zeichen in den Nutzdaten entsprechend zu validieren (Block 410). In bestimmten Ausführungsformen können der eine oder die mehreren
Prozessoren (z.B. der eine oder die mehreren Prozessoren 108, 118) durch
Ausführen der Anweisungen, die den OCR-Algorithmus bilden, bestimmen, ob das nicht erkannte Zeichen bei Vergleich mit dem in den Nutzdaten enthaltenen bekannten Zeichen einen Schwellenwert für akzeptable
Konfidenz erfüllt. In diesen Ausführungsformen, und in Reaktion auf
Bestimmen, dass das nicht erkannte Zeichen den Schwellenwert für akzeptable Konfidenz erfüllt, können der eine oder die mehreren
Prozessoren das nicht erkannte Zeichen als das in den Nutzdaten enthaltene bekannte Zeichen validieren. Darüber hinaus kann der
Schwellenwert für akzeptable Konfidenz von einem Benutzer definiert werden, der mit einer Schnittstelle der Anwendung interagiert.
In bestimmten Ausführungsformen können der eine oder die mehreren Prozessoren bestimmen, dass das nicht erkannte Zeichen den
Schwellenwert für akzeptable Konfidenz nicht erfüllt. In diesen
36 BE2022/5583
Ausführungsformen, und in Reaktion auf das Bestimmen, dass das nicht erkannte Zeichen den Schwellenwert für akzeptable Konfidenz nicht erfüllt, können der eine oder die mehreren Prozessoren gemäß den Anweisungen, die den OCR-Algorithmus bilden, jeden Eintrag der Schriftartenbibliothek, der dem bekannten Zeichen entspricht, mit dem nicht erkannten Zeichen vergleichen. Der eine oder die mehreren Prozessoren können ferner bestimmen, ob das nicht erkannte Zeichen einen
Schriftartenbibliothekseintrags-Schwellenwert erfüllt, wobei der
Schriftartenbibliothekseintrags-Schwellenwert auf einem zusammengesetzten Ähnlichkeitswert zwischen dem nicht erkannten
Zeichen und jedem dem bekannten Zeichen entsprechenden Eintrag der
Schriftartenbibliothek beruht. Falls der eine oder die mehreren Prozessoren bestimmen, dass das nicht erkannte Zeichen den
Schriftartenbibliothekseintrags-Schwellenwert erfüllt, können der eine oder die mehreren Prozessoren das nicht erkannte Zeichen als das in den
Nutzdaten enthaltene bekannte Zeichen validieren.
In einigen Ausführungsformen können der eine oder die mehreren
Prozessoren auf Grundlage der Anweisungen, die den OCR-Algorithmus bilden, bestimmen, ob das nicht erkannte Zeichen bei Vergleich mit dem in den Nutzdaten enthaltenen bekannten Zeichen einen Schwellenwert für akzeptable Konfidenz erfüllt. In Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den Schwellenwert für akzeptable Konfidenz nicht erfüllt, können jedoch der eine oder die mehreren Prozessoren jeden Eintrag in der
Schriftartenbibliothek mit dem nicht erkannten Zeichen vergleichen. Der eine oder die mehreren Prozessoren können zudem bestimmen, ob das nicht erkannte Zeichen einen jeweiligen Schriftartenbibliothekseintrags-
Schwellenwert erfüllt, wobei der jeweilige Schriftartenbibliothekseintrags-
Schwellenwert auf einem jeweiligen zusammengesetzten Ähnlichkeitswert zwischen dem nicht erkannten Zeichen und jedem dem jeweiligen
37 BE2022/5583 bekannten Zeichen entsprechenden Eintrag der Schriftartenbibliothek beruht. In Reaktion auf Bestimmen, dass das nicht erkannte Zeichen einen ersten Schriftartenbibliothekseintrags-Schwellenwert erfüllt, können der eine oder die mehreren Prozessoren das nicht erkannte Zeichen als das erste jeweilige bekannte Zeichen validieren, das in den Nutzdaten enthalten ist.
Als Beispiel für die vorangehenden Ausführungsformen sei angenommen, dass ein nicht erkanntes Zeichen dem Buchstaben "A" entspricht (diesen repräsentiert) und dass die trainierbare OCR-Bibliothek
Einträge enthält, die den bekannten Zeichen "A", "B", "C" und "D" entsprechen, und entsprechende jeweilige Schriftartenbibliothekseintrags-
Schwellenwerte 75, 80, 80 und 90 betragen. Ferner sei angenommen, dass der OCR-Algorithmus das nicht erkannte Zeichen analysiert und nicht in der Lage ist, das nicht erkannte Zeichen sicher (z.B. den Schwellenwert für automatische Erkennung erfüllend) einem in der trainierbaren OCR-
Bibliothek enthaltenen bekannten Zeichen zuzuordnen. Die OCR-
Performanzverbesserungsanwendung kann den einen oder die mehreren
Prozessoren anweisen, den OCR-Algorithmus auf das nicht erkannte
Zeichen und jeden jeweiligen Eintrag für die bekannten Zeichen "A", "B", "C" und "D" anzuwenden. Der eine oder die mehreren Prozessoren können einen ersten zusammengesetzten Ähnlichkeitswert zwischen dem nicht erkannten Zeichen und den jeweiligen Einträgen für das bekannte Zeichen "A" von 85, einen zweiten zusammengesetzten Ähnlichkeitswert zwischen dem nicht erkannten Zeichen und den jeweiligen Einträgen für das bekannte Zeichen "B" von 35, einen dritten zusammengesetzten
Ähnlichkeitswert zwischen dem nicht erkannten Zeichen und den jeweiligen
Einträgen für das bekannte Zeichen "C" von 50 und einen vierten zusammengesetzten Ähnlichkeitswert zwischen dem nicht erkannten
Zeichen und den jeweiligen Einträgen für das bekannte Zeichen "D" von 40
38 BE2022/5583 erzeugen. In diesem Beispiel können der eine oder die mehreren
Prozessoren automatisch (oder nach Empfangen von Eingaben von einem
Benutzer) die OCR-Bibliothek aktualisieren, indem das nicht erkannte
Zeichen, das das Zeichen "A" darstellt, als Eintrag für das bekannte Zeichen "A" in die OCR-Bibliothek eingegeben wird.
Es versteht sich, dass der OCR-Algorithmus jede geeignete
Metrik oder Kombinationen davon enthalten und/oder den einen oder die mehreren Prozessoren anweisen kann, diese zu verwenden, um zu bestimmen, ob das nicht erkannte Zeichen einem in den Nutzdaten und/oder in der Schriftartenbibliothek enthaltenen bekannten Zeichen ausreichend entspricht, um als Eintrag für das bekannte Zeichen in die
Schriftartenbibliothek aufgenommen zu werden.
In bestimmten Ausführungsformen können der eine oder die mehreren Prozessoren eine Relativfixierung der Zeichenkette und des
Kennzeichens erstellen, um es einem Benutzer zu ermöglichen, das erfasste
Bild zu drehen und/oder dessen Bildeigenschaften anderweitig zu variieren, ohne die Zeichenkette von dem Kennzeichen zu trennen. Beispielsweise können unter Bezugnahme auf FIG. 3 der eine oder die mehreren
Prozessoren die relativen Positionen des Kennzeichens 306 und der
Zeichenkette 308 fixieren, so dass, wenn ein Benutzer das Bild für eine optimale Betrachtung dreht, der eine oder die mehreren Prozessoren das
Kennzeichen 306 und die Zeichenkette 308 schnell und zuverlässig zuordnen kännen. Es versteht sich, dass die von dem einen oder den mehreren Prozessoren erstellte Fixierung es den Prozessoren ermôglichen kann, das Kennzeichen und die Zeichenkette unabhängig von der Art der an dem Bild vorgenommenen Anpassung, wie Skalierung, Drehung, Streckung und/oder einer anderen Bildanpassung oder Kombinationen aus diesen, genau zuzuordnen.
39 BE2022/5583
Das Verfahren 400 kann in Reaktion auf Validieren des nicht erkannten Zeichens zudem Hinzufügen des nicht erkannten Zeichens zu einer von dem OCR-Algorithmus referenzierten Schriftartenbibliothek als
Eintrag für das bekannte Zeichen beinhalten (Block 412). In einigen
Ausführungsformen können der eine oder die mehreren Prozessoren auf einer Schnittstelle der Anwendung (z.B. der E/A-Schnittstelle 114, 124) die
Zeichenkette anzeigen, wobei das nicht erkannte Zeichen durch das bekannte Zeichen ersetzt wird.
Es versteht sich, dass die Aktionen des Verfahrens 400 beliebig oft durchgeführt werden können, um nicht erkannte Zeichen zu identifizieren. Darüber hinaus ist zu beachten, dass der OCR-Algorithmus nach Anwendung des Verfahrens 400 auf ein erstes nicht erkanntes Zeichen das erste nicht erkannte Zeichen aufgrund seines Eintrags in der
Schriftartenbibliothek als Eintrag für ein entsprechendes bekanntes
Zeichen erkennen kann. Somit kann eine nachfolgende Iteration des
Verfahrens 400 ein zweites nicht erkanntes Zeichen enthalten, das sich von dem ersten nicht erkannten Zeichen unterscheidet.
Die vorstehende Beschreibung bezieht sich auf ein
Blockdiagramm der beiliegenden Zeichnungen. Alternative
Implementierungen des durch das Blockdiagramm dargestellten Beispiels 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"
40 BE2022/5583 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
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
41 BE2022/5583
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 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
42 BE2022/5583
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
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,
43 BE2022/5583 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 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
44 BE2022/5583 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 mit der Maßgabe 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 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
45 BE2022/5583 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 (20)

46 BE2022/5583 ANSPRÜCHE
1. Verfahren zum Verbessern einer Performanz einer trainierbaren optischen Zeichenerkennung (OCR), wobei das Verfahren umfasst: bei einer Anwendung, die auf einer mit einer Bildverarbeitungskamera in Kommunikationsverbindung stehenden Benutzer- Datenverarbeitungseinrichtung ausgeführt wird, erfolgendes Empfangen eines von der Bildverarbeitungskamera erfassten Bildes, wobei das Bild ein Kennzeichen, das Nutzdaten codiert, und eine Zeichenkette beinhaltet; Identifizieren des Kennzeichens und der Zeichenkette in dem Bild; Decodieren des Kennzeichens, um die Nutzdaten zu bestimmen; Anwenden des Algorithmus für optische Zeichenerkennung (OCR) auf das Bild, wobei der OCR-Algorithmus die Zeichenkette interpretiert und ein nicht erkanntes Zeichen in der Zeichenkette identifiziert; Vergleichen der Nutzdaten mit der Zeichenkette, um das nicht erkannte Zeichen als einem in den Nutzdaten enthaltenen bekannten Zeichen entsprechend zu validieren; und in Reaktion auf das Validieren des nicht erkannten Zeichens erfolgendes Hinzufügen des nicht erkannten Zeichens zu einer von dem OCR- Algorithmus referenzierten Schriftartenbibliothek als Eintrag für das bekannte Zeichen.
2. Verfahren nach Anspruch 1, wobei das Identifizieren des nicht erkannten Zeichens durch den OCR-Algorithmus ferner umfasst: durch den OCR-Algorithmus erfolgendes Bestimmen, dass das nicht erkannte Zeichen jedem jeweiligen bekannten Zeichen aus der
47 BE2022/5583 Schriftartenbibliothek mit jeweiligen Konfidenzniveaus entspricht, die einen Schwellenwert für automatische Erkennung nicht erfüllen.
3. Verfahren nach Anspruch 1 oder 2, wobei das Vergleichen der Nutzdaten mit der Zeichenkette ferner umfasst: durch den OCR-Algorithmus erfolgendes Bestimmen, ob das nicht erkannte Zeichen bei Vergleich mit dem in den Nutzdaten enthaltenen bekannten Zeichen einen Schwellenwert für akzeptable Konfidenz erfüllt; und in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den Schwellenwert für akzeptable Konfidenz erfüllt, erfolgendes Validieren des nicht erkannten Zeichens als das in den Nutzdaten enthaltene bekannte Zeichen.
4. Verfahren nach Anspruch 3, wobei der Schwellenwert für akzeptable Konfidenz durch einen Benutzer definiert wird, der mit einer Schnittstelle der Anwendung interagiert.
5. Verfahren nach Anspruch 3 oder 4, wobei das Vergleichen der Nutzdaten mit der Zeichenkette ferner umfasst: in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den Schwellenwert für akzeptable Konfidenz nicht erfüllt, durch den OCR- Algorithmus erfolgendes Vergleichen jedes dem bekannten Zeichen entsprechenden Eintrags der Schriftartenbibliothek mit dem nicht erkannten Zeichen; durch den OCR-Algorithmus erfolgendes Bestimmen, ob das nicht erkannte Zeichen einen Schriftartenbibliothekseintrags-Schwellenwert erfüllt, wobei der Schriftartenbibliothekseintrags-Schwellenwert auf einem zusammengesetzten Ahnlichkeitswert zwischen dem nicht erkannten
48 BE2022/5583 Zeichen und jedem dem bekannten Zeichen entsprechenden Eintrag der Schriftartenbibliothek beruht; und in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den Schriftartenbibliothekseintrags-Schwellenwert erfüllt, erfolgendes Validieren des nicht erkannten Zeichens als das in den Nutzdaten enthaltene bekannte Zeichen.
6. Verfahren nach einem der vorhergehenden Ansprüche 1 oder 2, wobei das Vergleichen der Nutzdaten mit der Zeichenkette ferner umfasst: durch den OCR-Algorithmus erfolgendes Bestimmen, ob das nicht erkannte Zeichen bei Vergleich mit dem in den Nutzdaten enthaltenen bekannten Zeichen einen Schwellenwert für akzeptable Konfidenz erfüllt; in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den Schwellenwert für akzeptable Konfidenz nicht erfüllt, durch den OCR- Algorithmus erfolgendes Vergleichen jedes Eintrags in der Schriftartenbibliothek mit dem nicht erkannten Zeichen; durch den OCR-Algorithmus erfolgendes Bestimmen, ob das nicht erkannte Zeichen einen jeweiligen Schriftartenbibliothekseintrags-Schwellenwert erfüllt, wobei der jeweilige Schriftartenbibliothekseintrags-Schwellenwert auf einem jeweiligen zusammengesetzten Ähnlichkeitswert zwischen dem nicht erkannten Zeichen und jedem dem jeweiligen bekannten Zeichen entsprechenden Eintrag der Schriftartenbibliothek beruht; und in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen einen ersten jeweiligen Schriftartenbibliothekseintrags-Schwellenwert erfüllt, erfolgendes Validieren des nicht erkannten Zeichens als das erste jeweilige bekannte Zeichen, das in den Nutzdaten enthalten ist.
49 BE2022/5583
7. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Vergleichen der Nutzdaten mit der Zeichenkette zur Validierung des nicht erkannten Zeichens ferner umfasst: durch die Anwendung erfolgendes Erstellen einer Relativfixierung der Zeichenkette und des Kennzeichens, um einem Benutzer zu ermöglichen, das Bild zu drehen und dessen Bildeigenschaften zu variieren, ohne die Zeichenkette von dem Kennzeichen zu trennen.
8. Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend: auf einer Schnittstelle der Anwendung erfolgendes Anzeigen der Zeichenkette, wobei das nicht erkannte Zeichen durch das bekannte Zeichen ersetzt wird.
9. Bildverarbeitungssystem zum Verbessern einer Performanz einer trainierbaren optischen Zeichenerkennung (OCR), wobei das System umfasst: eine Bildverarbeitungskamera, die so konfiguriert ist, dass sie ein Bild erfasst, das ein Kennzeichen, das Nutzdaten codiert, und eine Zeichenkette beinhaltet; und eine Benutzer-Datenverarbeitungseinrichtung, die eine Anwendung ausführt, wobei die Benutzer-Datenverarbeitungseinrichtung mit der Bildverarbeitungskamera in Kommunikationsverbindung steht und so konfiguriert ist, dass sie: das von der Bildverarbeitungskamera erfasste Bild empfängt, in dem Bild das Kennzeichen und die Zeichenkette identifiziert, das Kennzeichen decodiert, um die Nutzdaten zu bestimmen,
50 BE2022/5583 einen Algorithmus für optische Zeichenerkennung (OCR) auf das Bild anwendet, wobei der OCR-Algorithmus die Zeichenkette interpretiert und ein nicht erkanntes Zeichen innerhalb der Zeichenkette identifiziert, die Nutzdaten mit der Zeichenkette vergleicht, um das nicht erkannte Zeichen als einem in den Nutzdaten enthaltenen bekannten Zeichen entsprechend zu validieren, und in Reaktion auf das Validieren des nicht erkannten Zeichens das nicht erkannte Zeichen zu einer von dem OCR-Algorithmus referenzierten Schriftartenbibliothek als Eintrag für das bekannte Zeichen hinzufügt.
10. System nach Anspruch 9, wobei die den OCR-Algorithmus anwendende Benutzer-Datenverarbeitungseinrichtung das nicht erkannte Zeichen durch Bestimmen identifiziert, dass das nicht erkannte Zeichen jedem jeweiligen bekannten Zeichen aus der Schriftartenbibliothek mit jeweiligen Konfidenzniveaus entspricht, die einen Schwellenwert für automatische Erkennung nicht erfüllen.
11. System nach Anspruch 9 oder 10, wobei die Benutzer- Datenverarbeitungseinrichtung ferner so konfiguriert ist, dass sie: durch den OCR-Algorithmus bestimmt, ob das nicht erkannte Zeichen bei Vergleich mit dem in den Nutzdaten enthaltenen bekannten Zeichen einen Schwellenwert für akzeptable Konfidenz erfüllt, und in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den Schwellenwert für akzeptable Konfidenz erfüllt, das nicht erkannte Zeichen als das in den Nutzdaten enthaltene bekannte Zeichen validiert.
12. System nach Anspruch 11, wobei der Schwellenwert für akzeptable Konfidenz durch einen Benutzer definiert wird, der mit einer Schnittstelle der Anwendung interagiert.
51 BE2022/5583
13. System nach Anspruch 10 oder 11, wobei die Benutzer- Datenverarbeitungseinrichtung ferner so konfiguriert ist, dass sie: in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den Schwellenwert für akzeptable Konfidenz nicht erfüllt, durch den OCR- Algorithmus jeden dem bekannten Zeichen entsprechenden Eintrag der Schriftartenbibliothek mit dem nicht erkannten Zeichen vergleicht, durch den OCR-Algorithmus bestimmt, ob das nicht erkannte Zeichen einen Schriftartenbibliothekseintrags-Schwellenwert erfüllt, wobei der Schriftartenbibliothekseintrags-Schwellenwert auf einem zusammengesetzten Ähnlichkeitswert zwischen dem nicht erkannten Zeichen und jedem dem bekannten Zeichen entsprechenden Eintrag der Schriftartenbibliothek beruht, und in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den Schriftartenbibliothekseintrags-Schwellenwert erfüllt, das nicht erkannte Zeichen als das in den Nutzdaten enthaltene bekannte Zeichen validiert.
14. System nach Anspruch 9 oder 10, wobei die Benutzer- Datenverarbeitungseinrichtung ferner so konfiguriert ist, dass sie: durch den OCR-Algorithmus bestimmt, ob das nicht erkannte Zeichen bei Vergleich mit dem in den Nutzdaten enthaltenen bekannten Zeichen einen Schwellenwert für akzeptable Konfidenz erfüllt, in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den Schwellenwert für akzeptable Konfidenz nicht erfüllt, durch den OCR- Algorithmus jeden Eintrag in der Schriftartenbibliothek mit dem nicht erkannten Zeichen vergleicht, durch den OCR-Algorithmus bestimmt, ob das nicht erkannte Zeichen einen jeweiligen Schriftartenbibliothekseintrags-Schwellenwert erfüllt, wobei der
59 BE2022/5583 jeweilige Schriftartenbibliothekseintrags-Schwellenwert auf einem jeweiligen zusammengesetzten Ähnlichkeitswert zwischen dem nicht erkannten Zeichen und jedem dem jeweiligen bekannten Zeichen entsprechenden Eintrag der Schriftartenbibliothek beruht, und in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen einen ersten jeweiligen Schriftartenbibliothekseintrags-Schwellenwert erfüllt, das nicht erkannte Zeichen als das erste jeweilige bekannte Zeichen validiert, das in den Nutzdaten enthalten ist.
15. System nach einem der vorhergehenden Ansprüche, wobei die Nutzer-Datenverarbeitungseinrichtung ferner so konfiguriert ist, dass sie: durch die Anwendung eine Relativfixierung der Zeichenkette und des Kennzeichens erstellt, um einem Benutzer zu ermöglichen, das Bild zu drehen und dessen Bildeigenschaften zu varlieren, ohne die Zeichenkette von dem Kennzeichen zu trennen.
16. Materielles maschinenlesbares Medium, das Anweisungen umfasst, die bei Ausführung bewirken, dass eine Maschine zumindest: von einer Bildverarbeitungskamera ein Bild empfängt, das ein Kennzeichen, das Nutzdaten codiert, und eine Zeichenkette beinhaltet; in dem Bild das Kennzeichen und die Zeichenkette identifiziert; das Kennzeichen decodiert, um die Nutzdaten zu bestimmen; einen Algorithmus für optische Zeichenerkennung (OCR) auf das Bild anwendet, wobei der OCR-Algorithmus die Zeichenkette interpretiert und ein nicht erkanntes Zeichen innerhalb der Zeichenkette identifiziert;
53 BE2022/5583 die Nutzdaten mit der Zeichenkette vergleicht, um das nicht erkannte Zeichen als einem in den Nutzdaten enthaltenen bekannten Zeichen entsprechend zu validieren; und in Reaktion auf das Validieren des nicht erkannten Zeichens das nicht erkannte Zeichen zu einer von dem OCR-Algorithmus referenzierten Schriftartenbibliothek als Eintrag für das bekannte Zeichen hinzufügt.
17. Materielles maschinenlesbares Medium nach Anspruch 16, wobei die Anweisungen bei Ausführung ferner bewirken, dass die Maschine zumindest: durch den OCR-Algorithmus das nicht erkannte Zeichen durch Bestimmen identifiziert, dass das nicht erkannte Zeichen jedem jeweiligen bekannten Zeichen aus der Schriftartenbibliothek mit jeweiligen Konfidenzniveaus entspricht, die einen Schwellenwert für automatische Erkennung nicht erfüllen.
18. Materielles maschinenlesbares Medium nach Anspruch 16 oder 17, wobei die Anweisungen bei Ausführung ferner bewirken, dass die Maschine zumindest: durch den OCR-Algorithmus bestimmt, ob das nicht erkannte Zeichen bei Vergleich mit dem in den Nutzdaten enthaltenen bekannten Zeichen einen Schwellenwert für akzeptable Konfidenz erfüllt; und in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den Schwellenwert für akzeptable Konfidenz erfüllt, das nicht erkannte Zeichen als das in den Nutzdaten enthaltene bekannte Zeichen validiert.
19. Materielles maschinenlesbares Medium nach Anspruch 18, wobei die Anweisungen bei Ausführung ferner bewirken, dass die Maschine zumindest:
54 BE2022/5583 in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den Schwellenwert für akzeptable Konfidenz nicht erfüllt, durch den OCR- Algorithmus jeden dem bekannten Zeichen entsprechenden Eintrag der Schriftartenbibliothek mit dem nicht erkannten Zeichen vergleicht; durch den OCR-Algorithmus bestimmt, ob das nicht erkannte Zeichen einen Schriftartenbibliothekseintrags-Schwellenwert erfüllt, wobei der Schriftartenbibliothekseintrags-Schwellenwert auf einem zusammengesetzten Ähnlichkeitswert zwischen dem nicht erkannten Zeichen und jedem dem bekannten Zeichen entsprechenden Eintrag der Schriftartenbibliothek beruht; und in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den Schriftartenbibliothekseintrags-Schwellenwert erfüllt, das nicht erkannte Zeichen als das in den Nutzdaten enthaltene bekannte Zeichen validiert.
20. Materielles maschinenlesbares Medium nach Anspruch 16 oder 17, wobei die Anweisungen bei Ausführung ferner bewirken, dass die Maschine zumindest: durch den OCR-Algorithmus bestimmt, ob das nicht erkannte Zeichen bei Vergleich mit dem in den Nutzdaten enthaltenen bekannten Zeichen einen Schwellenwert für akzeptable Konfidenz erfüllt; in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen den Schwellenwert für akzeptable Konfidenz nicht erfüllt, durch den OCR- Algorithmus jeden Eintrag in der Schriftartenbibliothek mit dem nicht erkannten Zeichen vergleicht; durch den OCR-Algorithmus bestimmt, ob das nicht erkannte Zeichen einen jeweiligen Schriftartenbibliothekseintrags-Schwellenwert erfüllt, wobei der jeweilige Schriftartenbibliothekseintrags-Schwellenwert auf einem
55 BE2022/5583 jeweiligen zusammengesetzten Ähnlichkeitswert zwischen dem nicht erkannten Zeichen und jedem dem jeweiligen bekannten Zeichen entsprechenden Eintrag der Schriftartenbibliothek beruht; und in Reaktion auf Bestimmen, dass das nicht erkannte Zeichen einen ersten jeweiligen Schriftartenbibliothekseintrags-Schwellenwert erfüllt, das nicht erkannte Zeichen als das erste jeweilige bekannte Zeichen validiert, das in den Nutzdaten enthalten ist.
BE20225583A 2021-08-05 2022-07-21 Systeme und Verfahren zum Verbessern einer Performanz einer trainierbaren optischen Zeichenerkennung (OCR) BE1029610B1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US17/395,168 US20230042611A1 (en) 2021-08-05 2021-08-05 Systems and Methods for Enhancing Trainable Optical Character Recognition (OCR) Performance

Publications (2)

Publication Number Publication Date
BE1029610A1 BE1029610A1 (de) 2023-02-13
BE1029610B1 true BE1029610B1 (de) 2023-09-07

Family

ID=83995680

Family Applications (1)

Application Number Title Priority Date Filing Date
BE20225583A BE1029610B1 (de) 2021-08-05 2022-07-21 Systeme und Verfahren zum Verbessern einer Performanz einer trainierbaren optischen Zeichenerkennung (OCR)

Country Status (4)

Country Link
US (1) US20230042611A1 (de)
BE (1) BE1029610B1 (de)
DE (1) DE112022003816T5 (de)
WO (1) WO2023014426A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117217876B (zh) * 2023-11-08 2024-03-26 深圳市明心数智科技有限公司 基于ocr技术的订单预处理方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120106787A1 (en) * 2009-03-31 2012-05-03 Azimuth Intellectual Products Pte Ltd Apparatus and methods for analysing goods packages
US20160019431A1 (en) * 2014-07-15 2016-01-21 Google Inc. Extracting card identification data using card types
CN106446732B (zh) * 2015-08-13 2019-05-07 株式会社理光 一种条形码的识别方法、装置及设备
CN111738031A (zh) * 2020-08-06 2020-10-02 江苏东大集成电路系统工程技术有限公司 一种一维条码识别方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5880451A (en) * 1997-04-24 1999-03-09 United Parcel Service Of America, Inc. System and method for OCR assisted bar code decoding
US6427032B1 (en) * 1997-12-30 2002-07-30 Imagetag, Inc. Apparatus and method for digital filing
US8620083B2 (en) * 2004-12-03 2013-12-31 Google Inc. Method and system for character recognition
US9177210B2 (en) * 2007-10-30 2015-11-03 Hki Systems And Service Llc Processing container images and identifiers using optical character recognition and geolocation
US7480411B1 (en) * 2008-03-03 2009-01-20 International Business Machines Corporation Adaptive OCR for books
KR101860569B1 (ko) * 2011-09-08 2018-07-03 삼성전자주식회사 문자 및 바코드를 동시에 인식하는 문자 및 바코드 인식 장치 및 그 제어 방법
US9043349B1 (en) * 2012-11-29 2015-05-26 A9.Com, Inc. Image-based character recognition
JP2017187988A (ja) * 2016-04-07 2017-10-12 東芝テック株式会社 コード認識装置
US20200065537A1 (en) * 2018-08-22 2020-02-27 Zebra Technologies Corporation Automatic form data reading
US11620843B2 (en) * 2019-09-10 2023-04-04 Intuit Inc. Metamodeling for confidence prediction in machine learning based document extraction
JP2021163178A (ja) * 2020-03-31 2021-10-11 キヤノン株式会社 情報処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120106787A1 (en) * 2009-03-31 2012-05-03 Azimuth Intellectual Products Pte Ltd Apparatus and methods for analysing goods packages
US20160019431A1 (en) * 2014-07-15 2016-01-21 Google Inc. Extracting card identification data using card types
CN106446732B (zh) * 2015-08-13 2019-05-07 株式会社理光 一种条形码的识别方法、装置及设备
CN111738031A (zh) * 2020-08-06 2020-10-02 江苏东大集成电路系统工程技术有限公司 一种一维条码识别方法

Also Published As

Publication number Publication date
US20230042611A1 (en) 2023-02-09
WO2023014426A1 (en) 2023-02-09
DE112022003816T5 (de) 2024-05-16
BE1029610A1 (de) 2023-02-13

Similar Documents

Publication Publication Date Title
DE102018115440A1 (de) Techniken zum Trainieren tiefer neuronaler Netzwerke
DE112017001311T5 (de) System und Verfahren zum Trainieren eines Objektklassifikators durch maschinelles Lernen
DE112020000279T5 (de) Erlernen eines erkennungsmodells unter verwenden einer verlustfunktion
DE102016222036A1 (de) System für eine visuelle Objekt- und Ereignis-Erkennung und - Vorhersage unter Verwendung von Sakkaden
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern
DE102012005325A1 (de) Maschinelles Bilderkennungsverfahren basierend auf einem Kl-System
DE102022202017A1 (de) Konzeptbasiertes kontradiktorisches Erzeugungsverfahren mit steuerbarer und diverser Semantik
BE1029610B1 (de) Systeme und Verfahren zum Verbessern einer Performanz einer trainierbaren optischen Zeichenerkennung (OCR)
DE102021203020A1 (de) Generative-adversarial-network-modelle zur detektion kleiner strassenobjekte
DE112019004488T5 (de) Doppelmodus-datenerfassungssystem zur kollisionserfassung und objektdimensionierung
DE112021005070T5 (de) Multi-hop-transformer für räumlich-zeitliches denken und lokalisierung
DE112022001743T5 (de) Systeme und verfahren zur optimierung der bildgebungseinstellungen und der bilderfassung für einen bildverarbeitungsauftrag
DE112020005732T5 (de) Erzeugen von trainingsdaten zur objekterkennung
DE112021005678T5 (de) Normieren von OCT-Bilddaten
DE112021002291T5 (de) Verringern von ressourcenkosten bei visueller erkennung
BE1029597B1 (de) Bildverarbeitungssysteme und -verfahren zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder
DE102022124537A1 (de) Verfahren zur erstellung eines optimierten/adaptiven bereichs von interesse (roi) basierend auf einer erkennung einer strichcodeposition im sichtfeld (fov)
DE202023101378U1 (de) Ein System zur Verbesserung der schlechten Sichtbarkeit durch Bildverbesserungstechnik unter Verwendung von Contrast Stretched - CLAHE (CS-CLAHE)
DE112022001773T5 (de) Systeme und Verfahren zur Bestimmung eines adaptiven Bereichs von Interesse (ROI) für die Berechnung von Bildmetriken
DE102022209528A1 (de) Visuelle Analysesysteme zur Diagnose und Verbesserung von Deep-Learning-Modellen für bewegbare Objekte beim autonomen Fahren
DE112018006782T5 (de) Verfahren und vorrichtung zum abgleichen von bildern anhand semantischer merkmale
DE102021128522A1 (de) Identifizierung von regeln des netzwerkdatenverkehrs
DE112021005555T5 (de) Multitasking-lernen über gradienteilung zur umfangreichen menschlichen analyse
DE112020004774T5 (de) Detektieren von szenenübergängen in videoaufnahmen
BE1029306B1 (de) Industrielles ethernet-konfigurationswerkzeug mit vorschaufunktionen

Legal Events

Date Code Title Description
FG Patent granted

Effective date: 20230907