-
ERFINDUNGSGEBIET
-
Die
vorliegende Erfindung betrifft allgemein das Gebiet der Bildverarbeitung
und insbesondere eine Mehrfachauflösungs-Etikettenfindevorrichtung
in einem automatisierten Paketsortiersystem.
-
ALLGEMEINER
STAND DER TECHNIK
-
Das
automatisierte Sortieren von Paketen wird sehr populär, weil
es Arbeitskosten reduziert und dabei schnelle und zuverlässige Paketlieferdienste
bereitstellt. Da Pakete jedoch selten die gleiche Größe und Gestalt
aufweisen, wird die automatisierte Paketsortierung, die zum Identifizieren
von Adreßetiketten
Bildverarbeitung verwendet, sehr kompliziert und kann für Etikettenlesefehler
anfällig
sein.
-
Zum
Erfassen eines Bildes eines Adreßetiketts eines Pakets mit
ausreichender Qualität,
damit ein menschlicher Bediener die Zieladresse lesen und dann eintippen
kann, muß eine
Kamera die Oberfläche
eines Pakets mit relativ hoher Auflösung abtasten. Ein hochaufgelöstes Bild
führt zu
großen
Paketbildern und entsprechend großen Datenspeicherungsanforderungen.
Ein Problem beim automatischen Sortieren von Paketen ist die Verarbeitung
von hochaufgelösten
Paketbildern mit einer Geschwindigkeit, die der Ausgabe des mechanischen
Abschnitts oder Fördersystems
des automatischen Paketsortiersystems gleichwertig ist.
-
Zusätzlich zu
der Verarbeitungszeit für
große
Bilder besteht ein weiteres Problem bei der Verarbeitung hochaufgelöster Bilder
von Paketen im Finden des Zieladreßetiketts. Selbst bei hochaufgelösten Bildern
muß der
menschliche Bediener auf einem das Bild anzeigenden Schirm immer
noch nach oben, unten oder zur Seite blicken, um die Stelle des
Zieladreßetiketts
zu identifizieren. Dieses Abtasten mit dem Auge reduziert die Effizienz
eines automatischen Paketsortiersystems signifikant.
-
Andere
automatisierte Paketsortiersysteme haben die Effizienz zu verbessern
versucht, indem sie die Notwendigkeit eliminierten, daß ein menschlicher
Bediener Zieladressen eines Etiketts liest und eintippt. Solche
anderen automatisierten Paketsortiersysteme enthalten Einrichtungen,
die Bezugsmarkierungen und Systeme verwenden, die darauf basieren,
daß die
Vorderkante von Paketen eine bekannte Gestalt aufweist.
-
Automatisierte
Paketsortiersysteme, die Bezugsmarken verwenden, verwenden optische Zeichenerkennung
(OCR), um den Ort und die Orientierung eines Objekts oder eines
an einem Objekt befestigten Texts zu bestimmen. Beispielsweise tastet
ein OCR-Lesesystem ein eine Bezugsmarke tragendes Paket ab und findet
die Bezugsmarke. Auf diese Weise kann eine Bezugsmarke, die in einer
bekannten Beziehung zum Zieladreßblock plaziert ist, von dem
OCR-System dazu
verwendet werden, die Position des Zieladreßblocks zu finden. Analog kann
zum Bestimmen der Orientierung des Texts eine orientierungsspezifische
Bezugsmarke, deren Orientierung in einer bekannten Beziehung zu
der Orientierung des Texts innerhalb eines Zieladreßblocks
plaziert ist, von einem OCR-System verwendet werden.
-
Wenngleich
Bezugsmarkensysteme die Effizienz verbessern können, erfordern diese Systeme,
daß jede
Pakete empfangende Stelle identische Bezugsmarkierungen aufweist,
sodaß jedes
OCR-System eine
bestimmte Bezugsmarke erkennen kann. Deshalb erfordern solche Systeme
im allgemeinen vorgedruckte Etiketten oder Pakete, die die Bezugsmarke
umfassen und einen markierbaren Bereich zum Plazieren von Text spezifizieren.
Vorgedruckte Etiketten und vorgedruckte Pakete sind teuer, und ein
gewisser Prozentsatz von Kunden wird sie unweigerlich nicht verwenden.
-
Bei
anderen Systemen, die keine Bezugsmarken und vorgedruckten Etiketten
verwenden, wird die Vorderkante eines Pakets mit einer bekannten
Gestalt eingesetzt, um die Orientierung und den Ort des Texts auf
einem Paket zu bestimmen. Analog zu den Bezugsmarkensystemen jedoch
weisen diese Systeme hinsichtlich Größe und/oder Gestalt von Paketen
keine Flexibilität
auf.
-
DE-C 196 32 847 lehrt
ein Bildaufzeichnungssystem für
das automatische Adressenfinden auf großen Briefen und Paketen, wobei
das System eine Grauskalenkamera mit hoher Auflösung und eine Farbkamera mit
niedriger Auflösung
enthält.
Außerdem
beschreibt ein Artikel des Institute of Electrical and Electronics
Engineers (IEEE) mit dem Titel "A
Multi-Resolution Approach to Extract the Address Block on Flat Mail
Pieces", Autoren
C. Viard-Gaudin und D. Barbs, veröffentlicht 1991, S. 2701–2704, einen
Ansatz zum Extrahieren des Blockadreßziels auf Postpaketen auf
der Basis einer pyramidenförmigen
Datenstruktur, die das Bild darstellt, mit einem Mehrfachauflösungsansatz.
Diese Literaturstellen lehren jedoch nicht die Identifikation von
Etikettenkandidatenbereichen auf der Basis von geeigneten Dezimierte-Bild-Charakteristiken
und Kantenauftrittsbildcharakteristiken, noch lehren diese Literaturstellen
das Klassifizieren der Kandidatenbereiche gemäß der Wahrscheinlichkeit, daß die Bereiche
Angaben mit interessierenden Charakteristiken enthalten.
-
Es
besteht dementsprechend ein Bedarf in der Technik für ein automatisches
Paketsortiersystem, das Zieladreßetiketten ohne weiteres innerhalb
eines gescannten Bilds eines Pakets ungeachtet der Größe und/oder
Gestalt des Pakets identifizieren kann. Es besteht ein weiterer
Bedarf in der Technik nach einem automatischen Paketsortiersystem,
das die Zeitdauer, die zum Verarbeiten eines Bilds oder zum Erfassen
von Zieladreßetikettendaten
von einem gescannten Bild benötigt
wird, signifikant reduziert.
-
KURZE DARSTELLUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung, wie durch die beigefügten Ansprüche definiert, ist eine Mehrfachauflösungs-Etikettenfindevorrichtung,
die eine Liste von einem oder mehreren Bereichen innerhalb eines
verarbeiteten Bilds eines Pakets liefert, die interessierende Etiketten
enthalten können.
Die Mehrfachauflösungs-Etikettenfindevorrichtung
ist in der Regel Teil eines automatischen Paketsortiersystems.
-
Das
automatische Paketsortiersystem enthält in der Regel eine neben
einer Fördervorrichtung
montierte Videokamera. Die Videokamera ist operativ an zwei Videoprozessoren
angeschlossen, die mindestens zwei verschiedene Arten von Bildsignalen
eines Pakets erzeugen. Die Videoprozessoren erzeugen ein erstes dezimiertes
(niedrigaufgelöstes)
Bild des Pakets und ein zweites Bild, das Kantenauftritten von Angaben
entspricht, deren Erscheinen auf einem Etikett erwartet wird, wie
etwa Text.
-
Die
von dem Videoprozessor erzeugten beiden Bilder identifizieren verschiedene
Charakteristiken des ursprünglichen
hochaufgelösten
Bilds. Beispielsweise kann die Dezimierte-Bild-Hardware des Videoprozessors Bereiche
in dem Bild identifizieren, die für Etiketten typische Charakteristiken
aufweisen, wohingegen der Kantenauftrittsprozessor Bereiche identifizieren
kann, die für
Text typische Charakteristiken aufweisen.
-
Mit
diesen beiden Bildern wird ein separater Mikroprozessor gefüttert, der
ein Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm
verwendet, um einen oder mehrere Bereiche auf dem Paket zu identifizieren,
die ein interessierendes Etikett enthalten können. Das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm
klassifiziert dann diese Bereiche und erstellt eine Liste dieser
Kandidatenbereiche auf der Basis von Daten, die aus dem vom Videoprozessor
erzeugten ersten und zweiten Bild extrahiert wurden.
-
Allgemein
ausgedrückt
ist die Erfindung, wie durch die beigefügten Ansprüche definiert, ein Mehrfachauflösungs-Etikettenfindevorrichtungssystem
für ein
automatisches Paketsortiersystem. Das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
erhält
ein Videosignal, das mehrere Pixel enthält, die ein eingegebenes Bild
eines Substrats definieren. Das Mehrfachauflösungs- Etikettenfindevorrichtungssystem unterteilt
das eingegebene Bild in mehrere Mehrpixelzellen. Bei sich anschließenden Berechnungen
extrahiert das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
Merkmalswerte, die dem vorverarbeiteten dezimierten Bild und Kantenauftrittsbild
entsprechen.
-
Das
Mehrfachauflösungs-Etikettenfindevorrichtungssystem
erzeugt dann das dem eingegebenen Bild entsprechende dezimierte
Bild (niedrigaufgelöstes
Bild), um die Datenmenge in den anschließenden Berechnungen zu reduzieren.
Dieses dezimierte Bild wird erzeugt, indem ein normaler charakteristischer
Wert wie etwa ein einziges Pixel verwendet wird, der jeder Mehrpixelzelle
des angegebenen Bilds entspricht. Jeder gemeinsame charakteristische
Wert stellt ein dezimiertes Bild der Pixel innerhalb der entsprechenden
Zelle dar. Wenn beispielsweise das Mehrfachauflösungs-Findevorrichtungssystem
so ausgelegt ist, daß es
Etiketten auf einem Päckchen
oder Paket findet, dann sucht das System nach großen, relativ
weißen
zusammenhängenden Bereichen
(oder Bereichen mit einer anderen Farbe, je nach der Arbeitsumgebung
der vorliegenden Erfindung) auf dem Päckchen oder Paket, da Etiketten
im allgemeinen eine andere Farbe aufweisen oder Licht mit einer anderen
Intensität
relativ zu dem Päckchen
oder Paket reflektieren. Denjenigen Gebieten des Pakets oder Päckchens
mit einer höheren
Lichtintensität
oder einen anderen Farbwert wird ein Dezimierter-Bild-Wert zugeordnet,
und diese Daten werden dann auf einen Bildraum abgebildet, um das
dezimierte Bild zu erzeugen.
-
Mit
diesem dezimierten Bild kann die auf dem Mikroprozessor implementierte
Merkmalsextrahierungsfunktion Merkmalsparameter der Etikettenkandidatenbereiche
effizient extrahieren. Einige der Merkmalsparameter können normierte
Abmessungen und Bereiche der Etikettenkandidaten, Seitenverhältnisse
und die relativen mittleren Lichtintensitäten von von dem dezimierten
Bild abgeleiteten potentiellen Etikettenkandidatenbereichen enthalten.
Diese Merkmalsparameter werden die eingegebenen Daten für die Klassifizierungsfunktion
(auch unten erörtert).
-
Während der
erste Videoprozessor des Mehrfachauflösungs-Findevorrichtungssystems
das dezimierte Bild erzeugt, erzeugt der zweite Videoprozessor des
Mehrfachauflösungs-Etikettenfindevorrichtungssystems
gleichzeitig ein Kantenauftrittsbild, das dem eingegebenen Bild
entspricht. Das Kantenauftrittsbild enthält einen Kantenwert, der jeder
Zelle des eingegebenen Bilds entspricht. Jeder Kantenwert stellt
die Anzahl von Auftritten von Kanten innerhalb der Pixel einer entsprechenden
Zelle des eingegebenen Bilds dar. Wenn beispielsweise das Mehrfachauflösungs-Findevorrichtungssystem
so ausgelegt ist, daß es
Adreßetiketten
auf einem Päckchen
oder Paket findet, sucht das Findevorrichtungssystem nach engbeabstandeten schwarzen
und weißen Übergängen, weil
Text auf Adreßetiketten
solche Charakteristiken aufweist. Auch Strichcodes weisen schwarze
und weiße Übergänge auf,
doch sind die Übergänge in einer
gleichförmigen
Orientierung ausgerichtet. Andererseits weisen Übergänge innerhalb eines mit der
Hand oder Schreibmaschine geschriebenen Texts auf Etiketten im allgemeinen
eine Zufallsorientierung auf. Das Mehrfachauflösungs-Findevorrichtungssystem verwendet
deshalb diese Charakteristiken, um ein textenthaltendes Adreßetikett
von einem Strichcodeetikett zu unterscheiden.
-
Nach
dem Erzeugen des Kantenauftrittsbilds und des dezimierten Bilds
identifiziert das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
innerhalb dieser Bilder einen oder mehrere Kandidatenbereiche, die den
interessierenden Charakteristiken entsprechende Dezimierte-Bild-Charakteristiken
und Kantenauftrittscharakteristiken aufweisen. Diese Identifikation
beinhaltet die weitere Verarbeitung der getrennten Bilder. Spezifisch
klassifiziert das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm
dann die Kandidatenbereiche entsprechend der Wahrscheinlichkeit,
daß das
eingegebene Bild Angaben mit den interessierenden Charakteristiken
enthält.
Auf der Basis dieser Charakteristiken erstellt das Mehrfachauflösungs-Etikettenfindevorrichtungsmodul
dann eine Liste von einem oder mehreren Kandidatenbereichen, die
mit größter Wahrscheinlichkeit
Angaben mit den interessierenden Charakteristiken enthalten.
-
Dezimierte-Bild-Attribute
-
Das
Mehrfachauflösungs-Etikettenfindevorrichtungssystem
erzeugt dann das dezimierte Bild durch Berechnen eines Histogramms
von Pixelwerten, die innerhalb jeder Zelle des eingegebenen Bilds
auftreten. Beispielsweise kann der normale charakteristische Wert
oder Pixelwert der angenäherten
Farbe für
jedes Pixel entsprechen. Das Mehrfachauflösungs-Etikettenfindevorrichtungssystem wählt dann
aus dem Histogramm einen Modenwert aus, der dem Pixelwert entspricht,
der am häufigsten
innerhalb einer jeweiligen Zelle des eingegebenen Bilds auftritt.
Das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
setzt dann einen jeweiligen normalen charakteristischen Wert in
dem dezimierten Bild für
die Zelle auf den Modenwert.
-
Um
innerhalb des dezimierten Bilds einen oder mehrere Kandidatenbereiche
mit Charakteristiken zu identifizieren, die den erwarteten Charakteristiken
der Angaben entsprechen, berechnet das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
ein dem dezimierten Bild entsprechendes Histogramm normaler Charakteristiken.
Das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
glättet
dann das Histogramm normaler Charakteristiken sowohl mit einem Tiefpaßfilter
als auch einem Adaptiv-Beweglichen-Fenster-Filter.
-
Um
Etikettenkandidaten von einem Pakethintergrund zu trennen, wählt das
Mehrfachauflösungs-Etikettenfindevorrichtungssystem
einen oder mehrere Spitzenwerte aus dem Histogramm gefilterter normaler Charakteristiken
und isoliert ein Spitzengebiet um jeden Spitzenwert durch Identifizieren
oberer und unterer begrenzender Talwerte. Das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
erzeugt dann ein segmentiertes Bild durch Abbilden der Pixel innerhalb
jedes Spitzengebiets in ein leeres Bild entsprechend dem dezimierten
Bild. Danach identifiziert das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
eine oder mehrere verbundene Komponenten innerhalb des segmentierten
Bilds, die den interessierenden Charakteristiken entsprechen. Dadurch
entsteht ein segmentiertes Bild, in dem Kleckse oder Kandidatenbereiche
von einem Begrenzungsfenster oder einem Kasten eingeschlossen werden.
-
Für jedes
begrenzende Fenster berechnet das Mehrfachauflösungs-Etikettenfindevorrichtungsmodul einen
oder mehrere Merkmalswerte, die geometrische Charakteristiken des
Begrenzungsfensters und/oder relative mittlere Lichtintensitätswerte
für Zellen
innerhalb des Begrenzungsfensters enthalten können. Zu weiteren Merkmalswerten
können
normierte Abmessungen der Begrenzungsfenster, normierte Bereiche
für die
Begrenzungsfenster und Seitenverhältnisse für die Begrenzungsfenster zählen. Diese
Merkmalswerte sind in der Regel bezüglich der Orientierung und
Beleuchtung der Kamera unveränderlich.
Mit anderen Worten ändern sich
diese Merkmalswerte nicht, wenn die Kameraorientierung modifiziert
wird oder wenn sich die Hintergrundbeleuchtung ändert. Nachdem die Merkmalswerte
erhalten sind, konstruiert das Mehrfachauflösungs-Etikettenfindevorrichtungsmodul dann
einen Merkmalsvektor, der die Begrenzungsfenster-Merkmalswerte und die Merkmalswerte
für den
Bereich innerhalb des Begrenzungsfensters enthält.
-
Kantenauftrittsbildattribute
-
Zur
Erzeugung des Kantenauftrittsbilds digitalisiert eine Schwarz-Weiß-Schwellwertfunktion
des ersten Videoprozessors des Mehrfachauflösungs-Etikettenfindevorrichtungssystems
die Pixelwerte innerhalb jeder Zelle des eingegebenen Bilds. Zur
Digitalisierung von Pixelwerten innerhalb einer Zelle des eingegebenen Bilds
wendet das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
auf die Pixelwerte innerhalb der Zelle eine adaptive Digitalisierungstechnik
an, um einen Schwellwert für
das Digitalisieren der Pixelwerte auf der Basis der identifizierten
Hintergrundpixelwerte auszuwählen.
Das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
identifiziert dann Übergänge in den
erwarteten Orientierungen unter den digitalisierten Pixelwerten
innerhalb jeder Zelle. Das Mehrfachauflösungs-Etikettenfindevorrichtungssystem berechnet
dann einen summierten Kantenauftrittswert für jede Zelle auf der Basis
von Übergängen innerhalb
der Zelle und setzt den Kantenwert für jede Zelle auf den summierten
Kantenauftrittswert für
die Pixel innerhalb der Zelle.
-
Das
Mehrfachauflösungs-Etikettenfindevorrichtungssystem
identifiziert diese Übergänge in einer
bestimmten Zelle durch Vergleichen der Pixelwerte innerhalb der
Zelle mit mehreren Schablonen, die Pixelmuster definieren, die sich
unter den interessierenden Charakteristiken befinden. Das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
summiert dann Übergänge bei
erwarteten Orientierungen unter den digitalisierten Pixelwerten
innerhalb der Zelle auch durch das Definieren von Zählern für jede Orientierung.
Für jede
Schablone vergleicht das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
Fälle jeder
Schablone mit nichtüberlappenden,
zusammenhängenden
Teilen der Zelle mit der gleichen Größe wie die Schablone, sodaß jedes
Pixel der Zelle mit mindestens einem Fall der Schablone verglichen
wird. Das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
identifiziert dann ein oder mehrere übereinstimmende Pixelmuster
innerhalb der Zelle, die einem durch die Schablone definierten Pixelmuster
entsprechen. Das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
identifiziert eine Orientierung, die dem Pixelmuster zugeordnet
ist, und inkrementiert einen oder mehrere der Zähler als Reaktion auf das Auftreten
jedes übereinstimmenden
Pixelmusters.
-
Um
den summierten Kantenauftrittswert für jede Zelle auf der Basis
der Übergänge und
ihrer jeweiligen Zählerwerte
zu berechnen, wendet das Mehrfachauflösungs-Etikettenfindevorrichtungssystem eine
Summierungsformel an, die die Zählerwerte
filtert, um den summierten Kantenauftrittswert als Reaktion auf
zufällige
Orientierungen zu inkrementieren, die das Vorliegen von Text innerhalb
der Zelle anzeigen. Mit dieser Summierungsformel verhindert das
Mehrfachauflösungs-Etikettenfindevorrichtungssystem
das Inkrementieren des summierten Kantenauftrittswerts als Reaktion
auf gleichförmige
oder parallel beabstandete Übergänge, die das
Vorliegen eines Strichcodes innerhalb der Zelle anzeigen. Dadurch
kann das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
Kandidatenbereiche innerhalb des eingegebenen Bilds eliminieren,
die Strichcodeetiketten entsprechen, die keinen Text und somit keine
Zieladreßinformationen
enthalten.
-
Begrenzungsfensterattribute
-
Das
Mehrfachauflösungs-Etikettenfindevorrichtungssystem
kann viele verschiedene Merkmalswerte für jedes Begrenzungsfenster
berechnen. Ein Merkmalswert enthält
eine normierte Höhe,
die ein Verhältnis
einer durch das Begrenzungsfenster definierten Höhe zu einer durch das segmentierte
Bild definierten Höhe
darstellt. Ein weiterer Begrenzungsfenstermerkmalswert enthält eine
normierte Breite, die ein Verhältnis
einer durch das Begrenzungsfenster definierten Breite zu einer durch
das segmentierte Bild definierten Breite darstellt. Ein zusätzlicher
Begrenzungsfenstermerkmalswert enthält einen normierten Bereich,
der das Verhältnis eines
durch das Begrenzungsfenster definierten Bereichs zu einem durch
das segmentierte Bild definierten Bereich darstellt. Ein weiterer
Begrenzungsfenstermerkmalswert enthält ein Seitenverhältnis, das
ein Verhältnis
der durch das Begrenzungsfenster definierten Breite zu der durch
das Begrenzungsfenster definierten Höhe darstellt.
-
Das
Mehrfachauflösungs-Etikettenfindevorrichtungssystem
kann zusätzlich
zu den Begrenzungsfensternmerkmalswerten viele verschiedene Merkmalswerte
berechnen, die der mittleren Lichtintensität für Zellen innerhalb des Begrenzungsfensters
entsprechen. Das Mehrfachauflösungs-Etikettenfindevorrichtungssystem kann
einen Merkmalswert auf der Basis einer normierten Kantenauftrittsintensität berechnen,
die ein Verhältnis der
Summe von Kantenauftrittswerten für Zellen innerhalb des Begrenzungsfensters
zu einer Gesamtzahl von Zellen innerhalb des Begrenzungsfensters
darstellt. Das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
kann auch einen Merkmalswert auf der Basis einer normierten Kantenauftrittsintensität berechnen,
die ein Verhältnis
der Summe der summierten Kantenauftrittswerte für Zellen innerhalb des Begrenzungsfensters
zu einem durch das Begrenzungsfenster definierten Bereich darstellt.
Um beim Berechnen der normierten Kantenauftrittsintensität (die Übergangsintensität für die bevorzugte
Ausführungsform)
Rauschen zu entfernen, nullt das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
summierte Übergangswerte
für Zellen
innerhalb des Begrenzungsfensters unter einem vordefinierten Schwellwert.
-
Vorklassifizierung
und Klassifizierung von Kandidatenbereichen
-
Auf
der Basis der Merkmalswertcharakteristiken kann das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
durch das Anwenden von Schwellwerten, die für die interessierenden Charakteristiken
typisch sind, Kandidatenbereiche vorklassifizieren. Wenn beispielsweise
die Mehrfachauflösungs-Findevorrichtung
so ausgelegt ist, daß sie
Zieladreßetiketten
auf einem Päckchen
oder Paket findet, kann die Mehrfachauflösungs-Findevorrichtung Kandidatenbereiche
auf der Basis einer Größe des Bereichs
eliminieren, da Etiketten in der Regel eine kleinste und größte Größe aufweisen.
Das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
kann dann einen oder mehrere Kandidatenbereiche mit einem entsprechenden
Begrenzungsfenster, das einen Bereich unter einem vordefinierten
kleinsten Schwellwert definiert, eliminieren. Das Mehrfachauflösungs-Etikettenfindevorrichtungssystem kann
analog einen oder mehrere Kandidatenbereiche mit einem entsprechenden
Begrenzungsfenster, das einen Bereich über einem vordefinierten Höchstwert
definiert, eliminieren. Außerdem
kann das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
einen oder mehrere Kandidatenbereiche so beschneiden, daß sie einem
Begrenzungsfenster mit einer vordefinierten Größe entsprechen, das um einen
Schwerpunkt zentriert ist, der für
die Merkmalswerte des entsprechenden Kandidatenbereichs berechnet
ist.
-
Nach
dem Vorklassifizieren von Kandidatenbereichen klassifiziert das
Mehrfachauflösungs-Etikettenfindevorrichtungssystem
die Kandidatenbereiche entsprechend der Wahrscheinlichkeit, daß sie Angaben
mit den interessierenden Charakteristiken enthalten, indem jeweilige
Merkmalsvektoren jeweiliger Kandidatenbereiche verglichen werden.
Um eine Liste zu erstellen, die die Kandidatenbereich klassifiziert,
berechnet das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
einen ersten Entscheidungswert, der einem oder mehreren der Begrenzungsfenstermerkmalswerte
entspricht, durch Vergleichen des Begrenzungsfenstermerkmalswerts
mit einem erwarteten Wert des Begrenzungsfenstermerkmalswerts. In
diesem Fall befindet sich der erwartete Wert des Begrenzungsfenstermerkmalswerts
unter den interessierenden Charakteristiken. Beispielsweise kann
bei einem Etikettenfindevorrichtungsdesign das Begrenzungsfenster
eines tatsächlichen
Etiketts einen vorbestimmten erwarteten Bereich, einen vorbestimmten
erwarteten Umfang und/oder ein vorbestimmtes erwartetes Seitenverhältnis aufweisen.
-
Das
Mehrfachauflösungs-Etikettenfindevorrichtungssystem
berechnet nach der Berechnung eines ersten Entscheidungswerts auf
der Basis der Begrenzungsfenstermerkmalswerte dann einen zweiten
Entscheidungswert, der einem oder mehreren der verbleibenden Merkmalswerte
entspricht (das heißt
außer
den Begrenzungsfenstermerkmalswerten) durch Vergleichen der Merkmalswerte
mit erwarteten Werten der Merkmalswerte. Die erwarteten Werte der
Merkmalswerte befinden sich ebenfalls unter den interessierenden
Charakteristiken.
-
Das
Mehrfachauflösungs-Etikettenfindevorrichtungssystem
kann nach dem Berechnen von Entscheidungswerten Kandidatenbereiche
in einer nach Prioritäten
geordneten Reihenfolge auflisten durch Definieren eines Entscheidungsraums
mit mehreren Entscheidungsteilräumen.
Das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
berechnet dann die Entscheidungsräume und bildet die Merkmalsvektoren
auf die Entscheidungsräume
auf der Basis der relativen Werte der Begrenzungsfenster- und Merkmalswerte
der Merkmalsvektoren ab.
-
Hardwarekomponenten
-
Die
vorliegende Erfindung kann in einem Videobildsystem verkörpert werden,
das dahingehend betätigt
werden kann, daß es
einen Datenstrom mit Pixelwerten empfängt, die ein eingegebenes Bild
definieren, und die Pixelwerte verarbeitet, um Angaben innerhalb
des eingegebenen Bilds mit interessierenden Charakteristiken zu
finden. Das Videobildsystem enthält
in der Regel einen ersten Bildvideoprozessor, der betätigt werden
kann zum Unterteilen des eingegebenen Bilds in mehrere Mehrpixelzellen.
Das Videobildsystem erzeugt außerdem
ein dezimiertes Bild entsprechend dem eingegebenen Bild umfassend
ein Element entsprechend jeder Zelle des eingegebenen Bilds.
-
Jedes
Element des dezimierten Bilds stellt eine normale Charakteristik
wie etwa eine mittlere Lichtintensität der Pixel innerhalb einer
entsprechenden Zelle des eingegebenen Bilds dar. Um das dezimierte
Bild zu erzeugen, enthält
der erste Videobildprozessor einen Pufferspeicher, der dahingehend
arbeitet, Pixelwerte seriell zu empfangen. Der erste Videobildprozessor
ist in der Regel innerhalb eines anwenderprogrammierbaren Gatearrays
(FPGA) implementiert, das mit dem Pufferspeicher verbunden ist und
dahingehend arbeiten kann, einen Pixelstrom zu empfangen. Der erste
Videobildprozessor enthält
weiterhin eine Statikspeichereinrichtung und ist konfiguriert, seine
Operationen auszuführen,
während
die Pixel durch das FPGA strömen.
-
Das
Videobildsystem enthält
in der Regel zusätzlich
zu dem ersten Videoprozessor einen zweiten Videoprozessor, der dahingehend
arbeiten kann, daß er
ein Kantenauftrittsbild entsprechend dem eingegebenen Bild umfassend
ein Element entsprechend jeder Zelle des eingegebenen Bilds erzeugt.
Jedes Element des Kantenauftrittsbilds stellt die Anzahl der Auftritte
einer Kante innerhalb der Pixel der entsprechenden Zelle des eingegebenen
Bilds dar.
-
Der
zweite Videoprozessor ist wie der erste Videoprozessor in der Regel
in einem FPGA implementiert. Um das Kantenauftrittsbild zu erzeugen,
enthält
der zweite Videobildprozessor in der Regel einen Pufferspeicher,
der operativ mit mehreren Schieberegistern verbunden ist. Die mehreren
Schieberegister sind operativ mit einer Dynamikspeichereinrichtung
verbunden.
-
Ein
dritter Videoprozessor, der bevorzugt als ein auf einem Allzweckcomputer
laufendes Softwaresystem konfiguriert ist, identifiziert ein oder
mehrere Gebiete innerhalb des dezimierten Bilds mit Charakteristiken, die
den erwarteten Charakteristiken der Angaben entsprechen. Der dritte
Videoprozessor kombiniert das dezimierte Bild und das Kantenauftrittsbild
und klassifiziert Kandidatenbereiche entsprechend der Wahrscheinlichkeit,
daß diese
Bereiche Angaben mit den interessierenden Charakteristiken enthalten.
Nach dem Klassifizieren stellt der dritte Videoprozessor eine nach
Prioritäten
geordnete Liste aus einem oder mehreren Kandidatenbereichen auf,
die mit größter Wahrscheinlichkeit
Angaben mit den interessierenden Charakteristiken enthalten.
-
Um
die Daten des ersten und zweiten Videoprozessors zu kombinieren
und die nach Prioritäten
geordnete Liste vom Kandidatenbereichen zu berechnen, enthält der dritte
Videobildprozessor eine zentrale Verarbeitungseinheit und eine Speichereinrichtung.
Der dritte Videobildprozessor kann dahingehend betätigt werden,
einen oder mehrere Kadidatenbereiche innerhalb des eingegebenen
Bilds mit Dezimierte-Bild-Charakteristiken und Kantenauftrittsbildcharakteristiken
entsprechend den interessierenden Charakteristiken zu identifizieren.
Der dritte Videobildprozessor kann weiterhin dahingehend betätigt werden,
die Kandidatenbereiche gemäß der Wahrscheinlichkeit
zu klassifizieren, daß sie
Angaben mit den interessierenden Charakteristiken enthalten, und
eine nach Prioritäten
geordnete Liste des einen oder der mehreren Kandidatenbereiche zu
erstellen, die mit größter Wahrscheinlichkeit
Angaben mit den interessierenden Charakteristiken enthalten.
-
Beispielhaftes
Arbeitsumfeld
-
Die
vorliegende Erfindung stellt ein System bereit, das dahingehend
betätigt
werden kann, Etiketten mit interessierenden Charakteristiken auf
einem sich bewegenden Strom von Paketen oder Päckchen zu finden. Das System
enthält
ein Päckchen,
einen Förderer,
der dahingehend betätigt
werden kann, daß er
das Päckchen
bewegt und eine Videoeinrichtung, die neben und in der Regel über dem
Förderer
positioniert ist. Die Videoeinrichtung tastet jedes Päckchen ab,
während
es sich an der Videoeinrichtung vorbeibewegt. Der operativ mit der
Videoeinrichtung verbundene Videoprozessor erzeugt ein dezimiertes
Bild und ein Kantenauftrittsbild des Päckchens.
-
Um
das dezimierte Bild und das Kantenauftrittsbild auszuwerten, enthält das System
weiterhin einen operativ mit dem Videoprozessor verbundenen Mikroprozessor.
Der Mikroprozessor erstellt eine nach Prioritäten geordnete Liste aus einem
oder mehreren Kandidatenbereichen, die mit größter Wahrscheinlichkeit Angaben
mit den interessierenden Charakteristiken enthalten.
-
Aus
der folgenden ausführlichen
Beschreibung der Ausführungsbeispiele
und den beigefügten
Zeichnungen und Ansprüchen
geht hervor, daß die
Erfindung automatisierte Paketsortiersysteme des Stands der Technik
verbessert und die oben beschriebenen Vorteile erzielt.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Funktionsblockdiagramm eines über dem Band angeordneten Mehrfachauflösungs- Etikettenfindevorrichtungssystems,
das das Arbeitsumfeld für
die veranschaulichenden Ausführungsformen
der vorliegenden Erfindung liefert.
-
2 ist
ein Blockdiagramm, das ein interessierendes Substrat für das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
darstellt.
-
3 ist
ein Funktionsblockdiagramm, das ein Mehrfachauflösungs-Etikettenfindevorrichtungssystem gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung veranschaulicht.
-
4 ist
ein ausführlicheres
Logikflußdiagramm,
das die Hardware und Software für
das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
identifiziert.
-
5 ist
ein Diagramm, das ein dezimiertes Bild des Substrats eines interessierenden
Pakets darstellt.
-
6 ist
ein Diagramm, das ein aus dem dezimierten Bild erzeugtes segmentiertes
Bild darstellt.
-
7 ist
ein Diagramm, das ein von einem der Videobildprozessoren des Mehrfachauflösungs-Etikettenfindevorrichtungssystems
erzeugtes Kantenauftrittsbild zeigt.
-
8 ist
ein Diagramm, das die Begrenzungsfenster zeigt, die von dem segmentierten
Bild auf das Kantenauftrittsbild abgebildet werden.
-
9A ist
ein Funktionsblockdiagramm der Hardware zur Schwellwertbildung an
dem ursprünglichen, von
der Kamera erzeugten hochaufgelösten
Bild zu einem binären
Schwarzweißbild.
-
9B ist
ein Diagramm, das die Schwarz-Weiß-Schwellwertlogik für die binäre Schwarzweißbildhardware
von 9A beschreibt.
-
10 ist
ein Funktionsblockdiagramm, das die Hardware zum Erzeugen des Kantenauftrittsbilds
darstellt.
-
11 ist
ein Funktionsblockdiagramm der Hardware, die für das Erzeugen des dezimierten
Bilds des Mehrfachauflösungs-Etikettenfindevorrichtungssystems
zuständig
ist.
-
12 ist
ein Logikflußdiagramm,
das einen Prozeß zum
Identifizieren von Übergängen in
erwarteten Orientierungen unter digitalisierten Pixelwerten innerhalb
der Zelle eines Kantenauftrittsbilds darstellt.
-
13 ist
ein Logikflußdiagramm,
das einen Prozeß zum
Berechnen eines summierten Kantenauftrittswerts für eine Zelle
auf der Basis der Übergänge innerhalb
des Kantenauftrittsbilds darstellt.
-
14 ist
ein Logikflußdiagramm,
das einen Prozeß zum
Erzeugen des dezimierten Bild durch Berechnen eines Histogramms
von innerhalb jeder Zelle des dezimierten Bilds auftretenden Pixelwerten
darstellt.
-
15 ist
ein Logikflußdiagramm,
das einen Prozeß zum
Finden der Spitzen im Histogramm jeder Zelle des dezimierten Bilds
darstellt.
-
16 ist
ein Logikflußdiagramm,
das einen Prozeß zum
Identifizieren eines oder mehrerer Kandidatenbereiche innerhalb
des dezimierten Bilds mit Charakteristiken darstellt, die den erwarteten
Charakteristiken der Angaben auf dem Substrat entsprechen.
-
17 ist
ein Diagramm, das ein Histogramm des dezimierten Bilds darstellt.
-
18 ist
eine graphische Darstellung, die zeigt, wie Spitzen des Dezimierten-Bild-Histogramms durch
hohe und tiefe Punkte bestimmt werden.
-
19 ist
ein Logikflußdiagramm,
das einen Prozeß zum
Identifizieren eines oder mehrerer Kandidatenbereiche innerhalb
des eingegebenen Bilds mit Dezimierten-Bild-Charakteristiken und
Kantenauftrittsbildcharakteristiken entsprechend den interessierenden
Charakteristiken darstellt.
-
20 ist
ein Diagramm, das ein um jede verbundene Komponente innerhalb des
segmentierten Bilds ausgebildetes Begrenzungsfenster darstellt.
-
21 ist
ein Logikflußdiagramm,
das einen Prozeß zum
Vorklassifizieren von Kandidatenbereichen durch Anwenden einer Gruppe
von Qualifikationen veranschaulicht.
-
22 ist
ein Logikflußdiagramm,
das einen Prozeß zum
Auflisten von Kandidatenbereichen darstellt, die einen oder mehrere
Merkmalsvektoren aufweisen.
-
AUSFÜHRLICHE
BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN
-
Es
versteht sich, daß die
hier beschriebenen Programme, Prozesse, Verfahren und so weiter
nicht zu einem bestimmten Computer, Prozessor oder einer bestimmten
Vorrichtung in Beziehung stehen oder darauf beschränkt sind.
Vielmehr können
verschiedene Arten von Recheneinrichtungen verwendet werden, um
die vorliegenden Verfahrensschritte durchzuführen. Insbesondere basieren
die hier beschriebenen bevorzugten Ausführungsformen zur Durchführung der
hier beschriebenen computerimplementierten Prozesse auf einem oder
mehreren anwenderprogrammierbaren Gatearrays (FPGAs). Es versteht
sich jedoch, daß zur
Ausführung
der hier beschriebenen Verfahrensschritte andere Arten von Recheneinrichtungen
wie etwa traditionelle von-Neumann-Prozessoren oder andere Arten
von speziell dafür
vorgesehenen Hardwaresystemem gleichwertig verwendet werden könnten.
-
Beschreibung
des Arbeitsumfelds der bevorzugten Ausführungsformen der vorliegenden
Erfindung
-
Nunmehr
unter Bezugnahme auf die Zeichnungen, in denen gleiche Zahlen in
den verschiedenen Figuren gleiche Elemente anzeigen, ist 1 ein
Diagramm eines Mehrfachauflösungs-Etikettenfindevorrichtungssystems 20,
das das Arbeitsumfeld für
die veranschaulichenden Ausführungsformen
der Erfindung liefert. Das Mehrfachauflösungs-Etikettenfindevorrichtungssystem 20 enthält einen
Pakete 24a–24c tragenden Förderer 22.
Eine CCD-Kamera 26 erzeugt ein standardmäßiges analoges
Videobild des Förderers 22 und
der Oberfläche
der Pakete 24a–24c aus
reflektiertem Licht, während
die Pakete 24a–24c unter
der CCD-Kamera 26 vorbeilaufen.
-
Bei
der CCD-Kamera 26 kann es sich um eine monochrome 4096
Pixel-Kamera vom Zeilenscantyp handeln, wie etwa eine, die einen
CCD-Chip Thompson TH7833A verwendet. Die Auflösung des von der CCD-Kamera 26 erzeugten
analogen Bilds beträgt
etwa 187 Pixel oder "Punkte" pro Inch (dpi) über den
Förderer 22.
In der Praxis kann jedes zweite Pixel in einem Bild entfallen, um
ein 93 dpi-Videobild zu erzeugen und die zu verarbeitende Datenmenge
zu reduzieren.
-
Ein
Videoprozessor 28 konvertiert das von der CCD-Kamera erzeugte
analoge Videobild in ein 8 Bit-Grauskalenvideosignal. Der Videoprozessor 28 konvertiert
dann dieses 8 Bit-Grauskalenvideosignal
in ein Dezimiertes-Bild-Signal 30. Der Videoprozessor 28 konvertiert außerdem das
8 Bit-Grauskalenvideosignal in ein Kantenauftrittsbildsignal 32.
-
Der
Videoprozessor 28 überträgt das Dezimierte-Bild-Signal 30 und
das Kantenauftrittsbildsignal 32 zu einem Hostcomputer
oder Mikroprozessor 34, der ein Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 enthält. Das
Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 legt
eine nach Prioritäten geordnete
Liste aus einem oder mehreren Kandidatenbereichen oder Etikettenkandidaten 38 an,
die mit größter Wahrscheinlichkeit
Zieladreßetiketten
enthalten.
-
Zusammengefaßt wandelt
der Videoprozessor 28 des Mehrfachauflösungs-Etikettenfindevorrichtungssystems 20 das
analoge Videosignal 27 in ein 8 Bit-Grauskalenvideosignal um. Der Videoprozessor 28 konvertiert
dann dieses 8 Bit-Grauskalenvideosignal
in ein Dezimiertes-Bild-Signal 30. Der Videoprozessor 28 konvertiert
außerdem
das 8 Bit-Grauskalenvideosignal in ein Kantenauftrittsbildsignal 32.
Der Videoprozessor 28 überträgt dann
das Dezimierte-Bild-Signal 30 und das Kantenauftrittsbildsignal 32 zu
dem Hostcomputer oder Mikroprozessor 34, wo ein Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 Daten
aus dem Dezimierten-Bild-Signal 30 und
dem Kantenauftrittsbild 32 extrahiert und die nach Prioritäten geordnete
Liste von Etikettenkandidaten 38 erstellt.
-
2 zeigt
eine Oberfläche
des von der CCD-Kamera 26 gescanten Pakets 24a,
wobei das Paket das Objekt des Dezimierten-Bild- und Kantenauftrittssignals
ist. Das Paket 24a enthält
ein Zieladreßetikett 40 und ein
Ursprungsadreßetikett 42.
Das Paket 24a trägt
einen Strichcode 44, der üblicherweise einen der Versandpartei
entsprechenden Code und einen dem Päckchen von der Paketversandfirma
zugeordneten eindeutigen Verfolgungscode enthält. Das Paket 24a enthält weiterhin
eine Freimachungsmarke 46 und äußere Markierungen 25,
die von der CCD-Kamera 26 gescant werden. Die äußeren Markierungen 25 sind
beiläufige
Elemente auf einem Paketpäckchen,
die in der Regel während
der Handhabung des Päckchens
auftreten. Bei den Markierungen 25 kann es sich um Tintenflecke,
Schmutz oder andere Verunreinigungen handeln, die während des Versands
mit dem Päckchen
in Kontakt kommen und dieses "markieren" können. Die
CCD-Kamera 26 erzeugt ein digitales Videobild 48,
das die oben erwähnten
Etiketten 40 und 42, den Strichcode 44,
die äußeren Markierungen 25 und
die Freimachungsmarke 46 erfaßt.
-
Das
zweidimensionale pixelierte Bild 48 wird in mehrere Zellen
unterteilt (in den 5–8 gezeigt). Jede
Zelle des zweidimensionalen pixelierten Bilds 48 enthält bevorzugt
32 kollineare Pixel von 32 aufeinanderfolgenden Scanlinien, die
ein 32 Pixel mal 32 Pixel großes
Quadrat oder Rechteck bilden (das heißt 32 Spalten und 32 Zeilen
von Pixeln). Jede Zelle des zweidimensionalen pixelierten Bilds 48 ist
ein Quadrat, wobei jede Seite etwa ein Drittel von einem Inch lang
ist (0,85 Zentimeter). Es versteht sich deshalb, daß 32 gescante
Linien 128 Zellen umfassen, die über
den Förderer 22 Seite
an Seite aufgereiht sind. Die Zellen liefern einen festen Bezugsrahmen,
innerhalb dessen das Mehrfachauflösungs-Etikettenfindevorrichtungssystem Etikettenkandidaten 38 identifiziert.
-
Überblick über das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
-
3 zeigt
ein ausführlicheres
Funktionsblockdiagramm des Mehrfachauflösungs-Etikettenfindevorrichtungssystems 20.
Der Videoprozessor 28 des Mehrfachauflösungs-Etikettenfindevorrichtungssystems 20 enthält eine
Kantenauftrittsbildschaltung 50 und eine Dezimierte-Bild-Schaltung 52.
Sowohl die Kantenauftrittsbildschaltung 50 als auch die
Dezimierte-Bild-Schaltung 52 konvertieren das analoge 187-dpi-8-Bit/Pixel-Videosignal
in digitale 3-dpi-8-Bit/Pixel-Videosignale. Eine Speicherungseinrichtung 54 wie
etwa ein SRAM speichert die von der Kantenauftrittsbildschaltung 50 und
der Dezimierten-Bild-Schaltung 52 empfangenen verarbeiteten
3-dpi-8-Bit/Pixel-Videosignale.
-
Der
Videoprozessor 28, der die Dezimierte-Bild- und Kantenauftrittsbildschaltung 50 und 52 enthält, wird
in der Regel in Hardware wie etwa FPGAs implementiert, die die Ausgangsbilder
erzeugen, während
die Pixeldaten durch die Hardware strömen. Der Videoprozessor 28 überträgt das 3-dpi-Kantenauftrittsbildsignal 32 und
das 3-dpi-Dezimierte-Bild-Signal 30 an einen Klassifizierungsprozessor,
der den Mikroprozessor 34 und das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 enthält. Der
Klassifizierungsprozessor 34, 36 kann eine herkömmliche
Workstation oder ein herkömmlicher
PC sein, auf dem das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm laufen
kann.
-
Der
Klassifizierungsprozessor 34, 36 identifiziert
einen oder mehrere Kandidatenbereiche innerhalb des eingegebenen
Bilds, der Dezimierte-Bild-Charakteristiken und Kantenauftrittsbildcharakteristiken
aufweist. Der Klassifizierungsprozessor 34, 36 klassifiziert
die Kandidatenbereiche entsprechend der Wahrscheinlichkeit, daß sie interessierende
Etiketten enthalten. Der Klassifizierungsprozessor 34, 36 erstellt
eine nach Prioritäten
geordnete Liste von einem oder mehreren Kandidatenbereichen innerhalb
des eingegebenen Bilds des Pakets 24a, die mit größter Wahrscheinlichkeit
Adreßetiketten
enthalten. Der Klassifizierungsprozessor 34, 36 gibt
dann eine vorbestimmte Anzahl von Kandidatenetikettenstellen 38 aus.
-
Alternative Ausführungsformen
der Erfindung
-
Der
Fachmann erkennt, daß aufgrund
der Geschwindigkeits- und Größenzunahmen
von Prozessoren das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm
auch innerhalb von anderen Programmmodulen innerhalb eines einzigen
Prozessors implementiert werden kann. Allgemein enthalten Programmmodule Routinen,
Programme, Komponenten, Datenstrukturen usw., die bestimmte Aufgaben
durchführen
oder bestimmte abstrakte Datentypen implementieren. Außerdem erkennt
der Fachmann, daß die
Erfindung mit anderen Rechensystemkonfigurationen einschließlich handgehaltener
Einrichtungen, Multiprozessorsystemen, mikroprozessorbasierten oder
programmierbaren Verbraucherelektroniken, Minicomputern, Großrechnern und
dergleichen ausgeübt
werden kann. Die Erfindung kann auch in dezentralen Rechenumgebungen
praktiziert werden, wo Aufgaben von abgesetzten Verarbeitungseinrichtungen
ausgeführt
werden, die über
ein Kommunikationsnetz verbunden sind.
-
Wenngleich
die vorliegende Erfindung bevorzugt in einer automatisierten Paketsortierumgebung
verwendet wird, ist die Erfindung nicht auf diese Anwendung begrenzt
und kann in anderen Bereichen verwendet werden, die die Identifikation
eines ersten Objekts oder einer ersten Menge von Objekten, die auf
einem zweiten Objekt vorliegen, erfordern. Beispielsweise kann die
vorliegende Erfindung verwendet werden, um spezifische Elemente
wie etwa Leitungen oder Mikrochips auf einer Leiterplatte zu finden.
Bei dieser Anwendung könnte
die Dezimierte-Bild-Schaltung 52 Attribute
der Leitungen oder Mikrochips auf hoher Ebene identifizieren, während die
Kantenauftrittsbildschaltung 50 nach diskreten Differenzen
zwischen den Leitungen oder Mikrochips auf einer kleineren Skala
relativ zu der Dezimierten-Bild-Schaltung 52 suchen könnte.
-
Analog
zu dem Leiterplattenbeispiel könnte
das Mehrfachauflösungs-Findevorrichtungssystem
alternativ dazu verwendet werden, um fluoreszierende Markierungen
auf Paketen oder spezifische Formen auf Paketen wie etwa Sechsecke
zu identifizieren, die eine Frankierung oder dergleichen anzeigen
können.
Als weitere Alternative könnte
die Mehrfachauflösungs-Etikettensuchvorrichtung
in einer Herstellungsumgebung verwendet werden, um Defekte in Produkten
wie etwa Risse und andere Defekte, die durch Videobildverarbeitung detektiert
werden können,
zu finden. Zu anderen Herstellungsanwendungen könnte die Identifikation von
Defekten bei der Herstellung von gefärbten Geweben oder anderen
Produkten mit visuellen Charakteristiken zählen, die sich durch Videobildverarbeitung
ohne weiteres detektieren lassen. Die vorliegende Erfindung kann somit
in vielen verschiedenen Umfeldern verwendet werden, wo sich visuelle
Charakteristiken eines Objekts ohne weiteres durch Videobildverarbeitung
detektieren lassen.
-
Überblick über das
Mehrfachauflösungs-Etikettenfindevorrichtungssystem
-
4 ist
ein Logikflußdiagramm
eines computerimplementierten Prozesses für das Mehrfachauflösungs-Etikettenfindevorrichtungssystem 20.
Im Schritt 86 wird das von der CCD-Kamera 26 erzeugte Grauskalenbild
zwischen der Kantenauftrittsbildschaltung 50 und der Dezimierten-Bild-Schaltung 52 aufgeteilt. Wenngleich
der Ablauf der Schritte der Kantenauftrittsbildschaltung 50 und
der Dezimierten-Bild-Schaltung 52 separat beschrieben werden,
sei angemerkt, daß beide
Schaltungen das von der CCD-Kamera 26 erhaltene Grauskalenbildsignal
simultan verarbeiten.
-
In
Routine 88 digitalisiert die Kantenauftrittsbildschaltung 50 das
von der CCD-Kamera erhaltene Grauskalenbild unter Erzeugung des
Kantenauftrittsbilds, wie in 7 dargestellt.
Speziell verwendet in Routine 88 der Digitalisierer 66 eine
adaptive Schwellwertbildungstechnik oder einen ähnlichen Prozeß, um das von
der CCD-Kamera 26 erzeugte analoge Signal in ein digitales
Ein-Bit-(das heißt
Schwarz-Weiß)-Videosignal
umzuwandeln.
-
Bei
der bevorzugten Ausführungsform
verwendet während
der Routine 88 die Kantenauftrittsbildschaltung 50 ein
4-mal-4-Pixel-Fenster, um die Übergänge (Kantenauftritte)
innerhalb des digitalisierten Bilds zu detektieren. Spezifisch verwendet
die Kantenauftrittsbildschaltung 50 einen Satz von vordefinierten 4-mal-4-Schablonen,
um die räumliche
Orientierung von Kantenauftritten eines 4-mal-4-Pixel-Fensters der analysierten
Zelle zu detektieren.
-
Ein
Beispiel für
ein 4-mal-4-Pixel-Fenster ist in der folgenden Tabelle gezeigt: TABELLE
1 Pixelfenster
-
In
Tabelle 1 stellen Nullen (0) leere Gebiete in einem Pixel der interessierenden
Zelle dar, während Einsen
(1) das Vorliegen eines Objekts oder einer Markierung in einem Pixel
der interessierenden Zelle darstellen. Tabelle 1 zeigt an, daß in drei
Spalten in der letzten Zeile der Tabelle eine horizontale Linie
vorliegt. Allen Stellen in Tabelle 1 wird auf der Basis von Tabelle
2 ein Zahlenwert zugeordnet: TABELLE
2 Zuordnungstabelle
-
In
Tabelle 2 definieren die Zahlen in den Klammern die relative Stelle
der Pixel in Tabelle 1. Jede Stelle in der Tabelle stellt auch einen
spezifischen Abschnitt eines Sechzehn-Bit-Registers dar. Die erste
Zahl in den Klammern ist jeweils die Spaltennummer des 4-mal-4-Pixel-Fensters,
während
die zweite Zahl die Zeilennummer des 4-mal-4-Pixel-Fensters ist.
Die Zahlen außerhalb
der Klammern sind die Dezimaläquivalente
für die relative
Stelle eines jeweiligen Abschnitts in dem 16-Bit-Register. Durch
Summieren dieser Werte kann jedes mögliche Muster mit dem 4-mal-4-Fenster durch
einen eindeutigen Dezimalwert dargestellt werden.
-
Für das 4-mal-4-Pixel-Fenster
von Tabelle 1 wird der Musterwert als Sieben (7) berechnet. Dieser Musterwert
von Sieben (7) basiert auf einer Summierung der folgenden Stellen
in der 4-mal-4-Zelle
von Tabelle 2: 1(0,0), 2(1,0) und 4(2,0), wobei 1+2+4 = 7. Der Musterwert
von Sieben (7) wird dann mit einer Nachschlagetabelle für Musterwerte/gewichtete
Werte verglichen. Das heißt,
jedem Muster wird ein Gewicht zugeordnet, das durch eine Tabelle
zu dem Muster indexiert wird, wobei der mit dem Muster verbundene
Musterwert zum Identifizieren des Musters verwendet wird. Einem
Musterwert von Sieben (7) in einer Nachschlagetabelle ist ein gewichteter
Wert von Einhundertzwei (102) zugeordnet worden.
-
Die
Musterwertnachschlagetabelle weist zehn verschiedene Werte auf,
die verschiedenen Orientierungen oder Kombinationen von Orientierungen
entsprechen, die Gruppen von Musterwerten zugeordnet sind. Mit anderen
Worten werden alle Muster in einer bestimmten Gruppe so angesehen,
daß sie
die gleiche Orientierung oder Kombination von Orientierungen aufweisen,
und diese Orientierung oder Kombination von Orientierungen wird
durch den der Gruppe zugeordneten Musterwert dargestellt. Spezifisch
entspricht jede Ziffer der niedrigeren vier Ziffern des Musterwerts
wie folgt einer bestimmten Orientierung: 135°, 90°, 45°, 0°. Das heißt, das binäre Bit "0" (niedrigstwertiges
Bit) entspricht einer Orientierung von 0°, das binäre Bit "1" (zweit-niedrigstwertiges
Bit) entspricht einer Orientierung von 45°, das binäre Bit "2" (dritt-niedrigstwertige
Bit) entspricht einer Orientierung von 90° und das binäre Bit "3" (viert-niedrigstwertiges
Bit) entspricht einer Orientierung von 135°.
-
Jeder
Musterwert basiert auf dieser bitbasierten Orientierungsbezeichnung,
um anzuzeigen, welche Orientierung oder Kombination von Orientierungen
in der entsprechenden Gruppe von Mustern erscheint. Beispielsweise
weist der Musterwert 65 einen Binärwert von 0010 0001 auf. Die
niedrigstwertigen vier Ziffern, 0001, geben eine Orientierung von
0° an (d.h.,
das 135°-Bit
ist nicht gesetzt, das 90°-Bit
ist nicht gesetzt, das 45°-Bit
ist nicht gesetzt und das 0°-Bit
ist gesetzt). Somit werden alle Muster in der Gruppe von Mustern,
der der Musterwert von 65 zugeordnet ist, so angesehen, daß sie eine
Orientierung von 0° aufweisen.
-
Analog
zeigt der Musterwert 66, der einen Binärwert von 0010 0010 aufweist,
eine Orientierung von 45° an
(d.h., das 135°-Bit
ist nicht gesetzt, das 90°-Bit
ist nicht gesetzt, das 45°-Bit
ist gesetzt und das 0°-Bit ist
nicht gesetzt). Somit werden alle Muster in der Gruppe von Mustern,
der der Musterwert von 66 zugeordnet ist, so betrachtet, daß sie eine
Orientierung von 45° aufweisen.
Und der Musterwert 108, der einen Binärwert von 0110 1100 aufweist,
zeigt eine Kombination der Orientierungen 135° und 90° an (d.h., das 135°-Bit ist
gesetzt, das 90°-Bit
ist gesetzt, das 45°-Bit
ist nicht gesetzt und das 0°-Bit
ist nicht gesetzt). Somit wird jedes Muster in der Gruppe von Mustern,
der der Musterwert von 108 zugeordnet ist, so angesehen, daß sie Orientierungen
von 135° und
90° aufweisen.
Eine bevorzugte Musterwertnachschlagetabelle ist in Tabelle 3 dargestellt. Die
letzten vier Ziffern der Binäräquivalente
der Musterwerte sind in Tabelle 3 fett gezeigt, um die bitbasierten Orientierungsbezeichnungen
jedes Bitmusters hervorzuheben. TABELLE
3
-
In
Routine 90 detektiert die Kantenauftrittsschaltung 50 das
Vorliegen und die Orientierung der digitalisierten Pixelwerte innerhalb
einer Zelle. Der Ausdruck "Kantenauftritt" bedeutet, daß es für bestimmte
Angaben auf einem Substrat oder Objekt bestimmte Oberflächen auf
den Angaben gibt, die, wenn sie mit einer relativ hohen Häufigkeit
vorliegen, das Vorliegen derartiger Angaben anzeigen. Beispielsweise
weisen handgeschriebene Etiketten eine bestimmte Menge von Kantencharakteristiken
auf, die sich von einer Menge von Kantencharakteristiken für ein Strichcodeetikett
unterscheiden. Wenn alternativ das Mehrfachauflösung-Findevorrichtungssystem in anderen Umgebungen
verwendet wird, wie etwa bei der Leiterplattenherstellung, erzeugt
die Kantenauftrittsschaltung 50 ein Kantenauftrittsbild,
das bestimmte Mikrochips oder Leitungen zeigt, die eine Menge von
Kantencharakteristiken mit einer relativ hohen Häufigkeit aufweisen, die von
anderen Mikrochips oder Leitungen und der Leiterplatte selbst verschieden
sind oder relativ zu diesen eindeutig sind.
-
Wie
in 7 dargestellt, zeigt das Kantenauftrittsbild 58 die
verschiedenen Merkmalswerte zwischen den Etikettenkandidatenbereichen 25D, 40D, 42D, 44D und 46D.
Das Kantenauftrittsbild 58 zeigt, wie sich die Darstellungen
der getippten Etiketten 40D, 42D von der Darstellung
des Strichcodes 44D unterscheiden. Spezifisch weisen die
getippten Etikettendarstellungen 40D und 42D zufällig orientierte
gefärbte
Pixel auf, während die
Strichcodedarstellung 44D gefärbte Pixel aufweist, die auf
gleichförmige
Weise orientiert sind. Die Routine 90, die ein Veranschaulichendes
Verfahren zum Identifizieren der oben erwähnten Unterschiede zwischen
Etikettenkandidatenbereichen liefert, wird bezüglich 12 unten
ausführlicher
beschrieben.
-
In
Routine 92 summiert die Kantenauftrittsbildschaltung 50 die Übergänge für jede Zelle
des Kantenauftrittsbilds 58. Weitere Einzelheiten der Routine 92 werden
unter Bezugnahme auf 13 erörtert.
-
Während der
Routinen 88–92 führt das
Mehrfachauflösungs-Etikettenfindevorrichtungssystem
die Routinen 94–98 gleichzeitig
aus. In Routine 94 berechnet die Dezimierte-Bild-Schaltung 52 ein
Histograrmm von Pixelwerten, die innerhalb einer Zelle des Grauskalenbilds
des Pakets oder Substrats auftreten. Weitere Einzelheiten der Routine 94 sind
bezüglich 14 beschrieben.
-
In
Routine 96 wählt
die Dezimierte-Bild-Schaltung 52 aus dem in Routine 94 erzeugten
Histogramm einen Dezimierten-Bild-Wert aus, der dem innerhalb der
Zelle am häufigsten
auftretenden Pixelwert entspricht. Der Ausdruck "dezimiertes Bild" für
eine Etikettenfindevorrichtungsanwendung der vorliegenden Erfindung
bedeutet ein Bild, das man erhält
durch Tiefpaßfilterung
und Anwenden eines Adaptiv-Beweglichen-Fenster-Filters auf ein eingegebenes
Bild und dann Unterabtastung des gefilterten Bilds. Der "normale charakteristische Wert" ist ein einziger
Wert, der den Charakter einer ganzen entsprechenden Zelle darstellt.
Beispielsweise kann der normale charakteristische Wert einer Zelle
der "Moden-" oder am häufigsten
auftretende Pixelwert innerhalb der Zelle sein. In diesem Fall ist
der normale charakteristische Wert der Spitzenwert, der an die physische
Stelle der entsprechenden Zelle in einem Bildraum abgebildet wird.
Dieser normale charakteristische Wert wird als ein Pixelwert aufgehoben,
der, wie in 5 dargestellt, die Basis für das "Dezimiertes-Bild"-Bild wird. Das heißt, die
Dezimierte-Bild-Schaltung 52 bildet Zellenmodenwerte auf
einem Bildraum ab, um das dezimierte Bild von 54 zu erzeugen,
wie in 5 dargestellt.
-
In
der Regel identifizieren abrupte Änderungen im dezimierten Bild 54 in 5 Etikettendatenbereiche 25A, 40A, 42A, 44A und 46A.
Die oben erwähnten
Etikettenkandidatenbereiche enthalten im allgemeinen Bereiche mit
Charakteristiken (Pixelwerten), die von dem Hintergrund oder der
Paketoberfläche 24a verschieden sind.
Das dezimierte Bild 54 zeigt somit ein "Überblicks-" oder "niedrigaufgelöstes Bild" oder ein Bild auf "hoher Ebene" der visuellen Hauptunterschiede
zwischen interessierenden Bereichen (wie etwa Etiketten) und im
Hintergrund (eine Oberfläche
eines Pakets). Beispielsweise werden die Etikettenkandidatenbereiche 25A, 40A, 42A, 44A und 46A in 5 durch
kleine Quadrate dargestellt, die miteinander verkettet sind, während die übrigen leeren
Bereiche der Paketoberfläche
keinerlei Oberflächendarstellung
aufweisen. Die Dezimierte-Bild-Schaltung 52 betrachtet
den interessierenden Gegenstand auf einem makroskopischen Niveau
im Vergleich zu der eingeschränkten
Konzentration der Kantenauftrittsbildschaltung 50. Weitere
Einzelheiten darüber,
wie das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
in Routine 96 das dezimierte Bild 54 erzeugt,
wird in der Erörterung
des Logikflußdiagramms
von 15 beschrieben.
-
Sowohl
das dezimierte Bild 54 als auch das Kantenauftrittsbild 58 sind
3-dpi-Bildsignale, die von dem ursprünglichen 187-dpi-Bildsignal
abgeleitet sind. Nachdem die Dezimierte-Bild-Schaltung 52 und die Kantenauftrittsbildschaltung 50 ihre
jeweiligen Bilder 54 und 58 erzeugen, werden die
restlichen Schritte/Routinen 98–106 des Mehrfachauflösungs-Etikettenfindevorrichtungssystems 20 bevorzugt
von dem Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 ausgeführt.
-
Im
Schritt 98 segmentiert das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 Kleckse oder
mit anderen Worten erzeugt es ein segmentiertes Bild 56,
wie in 6 dargestellt, durch Abbilden von Pixeln von Spitzengebieten
in ein leeres Bild entsprechend dem dezimierten Bild 54.
Um das segmentierte Bild 56 zu erzeugen, erzeugt das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 ein
von dem dezimierten Bild 54 abgeleitetes Dezimiertes-Bild-Histogramm.
Weiterhin identifiziert das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 im
Schritt 98 eine oder mehrere verbundene Komponenten innerhalb
des segmentierten Bilds 56 und erzeugt Begrenzungsfenster 25C, 40C, 42C, 44C und 46C.
Die Einzelheiten vom Schritt 98 werden bezüglich 18 beschrieben.
-
In
Routine 100 kombiniert das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 das
segmentierte Bild 56 und das Kantenauftrittsbild 58 unter
Ausbildung des zusammengesetzten Bilds 60 von 8. Das
Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 extrahiert
dann Merkmalswerte aus dem zusammengesetzten Bild 60. Weitere
Einzelheiten der Routine 100 sind in 19 gezeigt.
-
In
Routine 102 vorklassifiziert das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 Etikettenkandidaten
entsprechend vordefinierten Kriterien von erwarteten Begrenzungsfenster-Merkmalswerten von
Etikettenkandidatenbereichen. Eines der Kriterien beinhaltet die
Länge und
Breite eines Etikettenkandidatenbereichs, wie in 20 dargestellt.
Weitere Einzelheiten des Vorklassifizierungsprozesses gemäß den vordefinierten
Kriterien in Routine 102 werden unter Bezugnahme auf 21 unten
beschrieben.
-
In
Routine 104 klassifiziert das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 Etikettenkandidatenbereiche
gemäß einer
weiteren Menge vordefinierter Kriterien, auf die allgemein als Merkmalswerte
Bezug genommen wird, einschließlich
Merkmalswerte außer
Begrenzungsfenster-Merkmalswerten. Weitere Einzelheiten der Routine 104 werden
unter Bezugnahme auf 22 unten beschrieben.
-
In
Routine 106 gibt das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 eine
vorbestimmte Anzahl von Etikettenkandidaten aus oder erstellt eine
nach Prioritäten
geordnete Liste aus einem oder mehreren Kandidatenbereichen, die
mit größter Wahrscheinlichkeit
Angaben mit interessierenden Charakteristiken enthalten. Wenn beispielsweise
handgeschriebene Zieladreßetiketten
gesucht werden, würde
das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 eine
nach Prioritäten
geordnete Liste von Kandidatenbereichen erzeugen, die mit größter Wahrscheinlichkeit
handgeschriebene Zieladreßetiketten
enthalten, entsprechend den Objekten in dem von der CCD-Kamera 26 erzeugten
ursprünglichen
hochaufgelösten
Bild.
-
Von der Mehrfachauflösungs-Etikettenfindevorrichtung
erzeugte Bilder
-
5 zeigt
das dezimierte Bild 54 in der Oberfläche des Pakets 24a.
Das dezimierte Bild 54 weist im Vergleich zu dem ursprünglichen
hochaufgelösten
digitalen Bild 48 von 2 eine viel
geringere Auflösung auf.
Bei diesem besonderen Beispiel der Mehrfachauflösungs-Etikettenfindevorrichtung enthält das dezimierte Bild 54 mehrere
Etikettenkandidatenbereiche 25A, 40A, 42A, 44A und 46A.
Diese Etikettenkandidatenbereiche entsprechen den Adreßetiketten 40 und 42,
dem Strichcode 44, fremden Markierungen 25 und
einer Postfrankierungsmarke 46 von 2. Die Pixel
im dezimierten Bild 54 stellen den Modus (d.h. den am häufigsten auftretenden
Pixelwert innerhalb einer entsprechenden Zelle) eines entsprechenden
Gebiets von Pixeln in dem hochaufgelösten Bild 48 von 2 dar.
Deshalb bewahrt das dezimierte Bild 54 etwaige in dem ursprünglichen
hochaufgelösten
digitalen Bild 48 vorliegende abrupte Farbänderungen
auf.
-
Nach
der Verarbeitung des dezimierten Bilds 54 erzeugt die Dezimierte-Bild-Schaltung 52 das
segmentierte Bild 56. Das segmentierte Bild enthält mehrere
verbundene Komponenten 25B, 40B, 42B, 44B und 46B.
Diese verbundenen Komponenten entsprechen den Etikettenkandidatenbereichen 25A, 40A, 42A, 44A und 46A des
dezimierten Bilds 54. Das segmentierte Bild 56 enthält weiterhin
Begrenzungsfenster 25C, 40C, 42C, 44C und 46C.
Diese Begrenzungsfenster entsprechen dem Umriß oder den Umfängen der
verbundenen Komponenten 25B, 40B, 42B, 44B und 46B.
Das Verfahren zum Erzeugen der verbundenen Komponenten und Begrenzungsfenster
wird in der Beschreibung der Funktionsweise der bevorzugten Vorrichtung
unter Bezugnahme auf die Logikflußdiagramme von 12–22 eingehender
erörtert.
-
Wenngleich
das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
das dezimierte Bild 54 erzeugt, erzeugt das System gleichzeitig
auch das Kantenauftrittsbild 58, wie in 7 dargestellt.
Das Kantenauftrittsbild 58 enthält eine Mehrzahl eines zweiten
Satzes von Etikettenkandidatenbereichen 25D, 40D, 42D, 44D und 46D.
Der zweite Satz von Etikettenkandidatenbereichen entspricht auch
den Adreßetiketten 40 und 42,
dem Strichcode 44, fremden Markierungen 25 und
der Portofrankierungsmarke 46 des ursprünglichen hochaufgelösten digitalen
Videobilds 48 von 2. Bei dieser
besonderen Anwendung des Mehrfachauflösungs-Findevorrichtungssystems
erzeugt die Kantenauftrittsbildschaltung 50 das Kantenauftrittsbild 58 durch proportionales
Zuordnen von Pixelfarben zu der Gleichmäßigkeit der Verteilung von
Kantenorientierungen innerhalb entsprechender Gebiete von Pixeln
in dem hochaufgelösten
digitalen Videobild 48. Das heißt, eine hohe Anzahl zufällig orientierter Übergänge führt zu einem
hohen Kantenauftrittswert, während
eine niedrige Anzahl von Übergängen oder
eine hohe Anzahl von normnalorientierten Übergängen zu einem niedrigen Kantenauftrittswert
führt.
-
Wenn
die Mehrfachauflösungs-Etikettenfindevorrichtung
die Verarbeitung sowohl für
das Kantenauftrittsbild 56 als auch die segmentierten Bilder 58 fertiggestellt
hat, erzeugt das System dann das zusammengesetzte Bild 60 von 8,
wo Daten von dem segmentierten Bild 56 mit dem Kantenauftrittsbild 58 kombiniert werden.
Die Begrenzungsfenster 25C, 40C, 42C, 44C und 46C des
segmentierten Bilds 56 werden um die zweite Menge von Etikettenkandidatenbereichen 25D, 40D, 42D, 44D und 46D des
Kantenauftrittsbilds 58 abgebildet. Genauer gesagt extrahiert der
Hostcomputer oder Mikroprozessor 34, durch das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 gesteuert,
aus dem zusammengesetzten Bild 60 Begrenzungsfenster-Merkmalswerte
und Merkmalswerte, die den Merkmalswerten für Zellen innerhalb jedes Begrenzungsfensters
entsprechen. Der Hostcomputer oder Mikroprozessor 34 klassifiziert
unter der Führung
des Mehrfachauflösungs-Etikettenfindevorrichtungsprogramms 36 die
Etikettenkandidatenbereiche 25D, 40D, 42D, 44D und 46D gemäß den Begrenzungsfenster-Merkmalswerten
und den Merkmalswerten der Etikettenkandidatenbereiche, die von
der Kantenauftrittsschaltung 50 erzeugt wurden.
-
Beschreibung
einer bevorzugten Vorrichtung
-
Wie
oben beschrieben stellen die bevorzugten Ausführungsformen der vorliegenden
Erfindung ein effizientes Verfahren bereit, um die Stelle von Adreßetiketten
zu bestimmen. Andere Anwendungen des Mehrfachauflösungs-Findevorrichtungssystems
liegen jedoch innerhalb des Schutzbereichs der vorliegenden Erfindung.
-
Zur
Implementierung des Verfahrens der vorliegenden Erfindung zeigt 9A ein
Funktionsblockdiagramm, das die Hardware 88 für den Schritt
des Digitalisierens des Grauskalenbilds nach dem Verfahren veranschaulicht,
die Teil der Kantenauftrittsbildschaltung 50 ist. Die Hardware 88 der
Kantenauftrittsbildschaltung 50 enthält eine Schwarzweiß-Schwellwertslogikschaltung 62,
die operativ mit einem Pufferspeicher 64 verbunden ist.
Bei dem Pufferspeicher 64 kann es sich um einen herkömmlichen
Durchlaufpufferspeicher (FIFO) handeln, der aus kommerziell erhältlichen
Chips konstruiert ist, wie etwa 8k-mal-18-Bit-Modell-IDT-72255L20PF-Chips,
hergestellt von IDT-Corporation. Der Pufferspeicher 64 kann
alternativ als ein Controller und eine Statik-RAM-Speicherressource
implementiert werden. Die Hardware 88 der Kantenauftrittsbildschaltung 50 führt an dem
ursprünglichen
hochaufgelösten
digitalen Videobild 48 von der CCD-Kamera 26 eine
Schwellwertbildung zu einem binären
Schwarzweißbild
aus.
-
Die
digitalisierende Hardware 88 verwendet standardmäßige Schwellwertbildungstechniken
oder einen ähnlichen
Prozeß,
um das von der CCD-Kamera 26 erzeugte analoge Signal in
ein digitales Ein-Bit-Schwarzweiß-Videosignal 67 umzuwandeln.
Durch Verwendung eines digitalen Ein-Bit-Schwarzweiß-Videosignals 67 erhält man eine
leichtere Verarbeitung des Videosignals 67 durch die Kantenauftrittsbildschaltung 50.
-
Wie
in 9B dargestellt, arbeitet die digitalisierende
Hardware 88 gemäß der in
Tabelle 4 dargelegten Logik mit durch ein 5-mal-4-Pixel-Fenster
definierten Variablen. Die digitalisierende Hardware 88 bestimmt einen
Pixelwert gemäß den Werten
seiner benachbarten Pixel in einem Pixelfeld. Mit anderen Worten
trennt die digitalisierende Hardware 88 Vordergrundinformationen
von Hintergrundbildinformationen durch Vergleichen von relativen
Farbintensitäts-
oder Lichtintensitätswerten
zwischen Pixeln innerhalb eines Bilds. Die Variablen von Tabelle
4 werden durch das in 9B gezeigte Pixelfenster wie
folgt definiert: B2 bezieht sich auf den Grauskalenwert der Scanlinie
B; Position 2 BWC4 bezieht sich auf den Schwarzweißwert der
Scanlinie C bei Position 4. Die übrigen
Variablen von Tabelle 4 sind analog definiert.
-
TABELLE 4
-
(Beispielhafte Schwarzweiß-Schwellwertlogik
auf der Basis von 9B)
-
- F = Max (|B2-A1|, |B2-A2|, |B2-A3|, |B2-B1|, |B2-B3|, |B2-C1|,
|B2-C2|, |B2-C3|)
- S = Element von {A1, A2, A3, B1, B3, C1, C2, C3}, für die |B2-S|
= F
- Wenn (F > Rauschschwellwert)
- Wenn (B2 > S)
- BWB2 = weiß
- Sonst
- BWB2 = schwarz
- Sonst
- Wenn (BWB3 = schwarz UND BWC1 = schwarz UND BWC2 = schwarz UND
BWC3 = schwarz)
- BWB2 = schwarz
- Sonst
- BWB2 = weiß
-
Tabelle
5 liefert eine Logik für
das Entfernen von Speckle oder Rauschen auf der Basis der durch
-
das
in 9B gezeigte Pixelfenster definierten Variablen.
-
TABELLE 5
-
(Entfernen eines einzigen
schwarzen Pixel-"Speckle" auf der Basis von 9B)
-
- Wenn (BWB3 = weiß UND
BWB4 = weiß UND
BWB5 = weiß UND
BWC3 = weiß UND
- BWC5 = weiß UND
BWD3 = weiß UND
BWD4 = weiß UND
BWD5 = weiß)
- BWC3 = weiß
- Sonst
- BWC3 = BWC3
-
Nachdem
die digitalisierende Hardware 88 das Ein-Bit-Schwarzweiß-Videosignal
erzeugt, verarbeitet die Hardware entsprechend Routine 90 von 4 das
Schwarzweiß-Videosignal. 10 zeigt
die Hardware für
die Routine 90 der Kantenauftrittsbildschaltung 50.
Die Hardware 90 der Kantenauftrittsschaltung 50 enthält den Digitalisierer 88,
den Pufferspeicher 68, Schieberegister 70A-70D,
einen flüchtigen
Speicher 72 und einen Orientierungssummierer 74.
Die digitalisierende Hardware oder der Digitalisierer 88 wandelt,
wie oben angemerkt, das analoge Grauskalenvideosignal in ein digitales
Ein-Bit-Videosignal 67 um.
-
Die
digitalisierende Hardware 88 überträgt das digitale Ein-Bit-Videosignal 67 an
den Pufferspeicher 68. Der Pufferspeicher 68 enthält Datenleitungen
Li–Li-3, wobei jede Datenleitung auf ein Schieberegister
mit 4096 Bits zugreift – wobei
ein Bit jedem Pixel der CCD-Kamera 26 entspricht. Jedes
Register kann deshalb eine Bitmapdarstellung einer Scanlinie des
bei einem Zyklus der CCD-Kamera 26 erzeugten Bilds 30 enthalten.
Die Linien Li bis Li-3 des
Pufferspeichers 68 entsprechen der (nicht gezeigten) 32-Pixel-Höhe der 32?32 jeder
Zelle.
-
Wie
in 10 gezeigt, ist jede Datenleitung Li bis
Li-3 an die nächst nachfolgende Datenleitung
so angeschlossen, daß jedesmal,
wenn eine neue Scanlinie in den Pufferspeicher 68 gelesen
wird, sich die vorausgegangenen Scanlinien jeweils zu dem nachfolgenden
Register verschieben. Bei dem Pufferspeicher 68 kann es
sich um einen herkömmlichen
Durchlaufpufferspeicher (FIFO) handeln, der aus kommerziell erhältlichen Chips
konstruiert ist, wie etwa ein 4k-mal-18-Bit-Modell-IDT-72245L20PF-Chips, hergestellt
von IDT-Corporation. Der Pufferspeicher 68 kann alternativ
durch einen Controller in einer Statik-RAM-(SRAM)-Speicherquelle implementiert
werden.
-
Die
Datenleitungen Li bis Li-3 des
Pufferspeichers 68 sind an mehrere Schieberegister 70A–70D angeschlossen.
Die Schieberegister 70A–70D liefern
Pixelinformationen an den flüchtigen
Speicher 72. Bei dem flüchtigen
Speicher 72 kann es sich um einen herkömmlichen Direktzugriffsspeicher-(RAM)-Chip
handeln, der aus kommerziell erhältlichen
Chips konstruiert ist, wie etwa das 64k-mal-4-Bit-Modell IDT-61298SA12Y,
hergestellt von IDT Corporation. Der flüchtige Speicher 72 erzeugt
ein Musterorientierungssignal 76.
-
Der
flüchtige
Speicher 72 liefert das Musterorientierungssignal 76 in
den Orientierungssummierer 92. Der Orientierungssummierer 92 erzeugt
ein Zellenorientierungssignal 78. Die Funktionsweise des
Pufferspeichers 68, der Schieberegister 70A–70D und
des flüchtigen
Speichers 72 wird unten bezüglich 12 eingehender
beschrieben. Die Funktionsweise des Orientierungssummierers 74 wird
unten bezüglich 13 eingehender
beschrieben.
-
Während die
digitalisierende Hardware 88 das Kantenauftrittsbild 58 von 7 erzeugt,
erzeugt die Hardware 52 von 11 das
dezimierte Bild 54. Die Dezimierte-Bild-Schaltung 52 enthält bevorzugt
einen Pufferspeicher 80, ein anwenderprogrammierbares Gatearray 82 und
einen SRAM 84. Bei dem Pufferspeicher 80 kann
es sich um einen herkömmlichen
Durchlaufpufferspeicher (FIFO) handeln, der aus kommerziell erhältlichen
Chips konstruiert ist, wie etwa ein 4k-mal-18-Bit-Modell-IDT-72245LB20PF-FIFO-Chip,
hergestellt von IDT-Corporation.
Das anwenderprogrammierbare Gatearray 82 kann ein herkömmlicher
FPGA-Chip sein, wie etwa der von Altera Corporation hergestellte
EPM7256SRC208-7-FPGA-Chip. Bei dem SRAM-Chip 84 kann es
sich um ein 64k-mal-16-Bit-Modell IDT-71V016SA10PH-SRAM-Chip handeln, hergestellt
von IDT Corporation.
-
Der
FIFO 80 und FPGA 82 erzeugen das Dezimierte-Bild-Signal 30 für das Mehrfachauflösungs-Etikettenfindevorrichtungssystem 20.
Die Funktionsweise der Dezimierten-Bild-Schaltung 52 wird bezüglich 14 und 15 eingehender
beschrieben.
-
Beschreibung
der Funktionsweise der bevorzugten Vorrichtung unter Bezugnahme
auf die Logikflußdiagramme
-
Die
unten beschriebenen Logikflußdiagramme
veranschaulichen das Verfahren der Kantenauftrittsschaltung 50,
der Dezimierte-Bild-Schaltung 52 und des Mehrfachauflösungs-Etikettenfindevorrichtungsprogramms 36 von 4 eingehender.
Das Logikflußdiagramm
von 4 entspricht 1 des ganzen
Mehrfachauflösungs-Etikettenfindevorrichtungssystems 20.
Die Logikflußdiagramme
der 12 und 13 entsprechen
der Schwarzweiß-Schwellwertlogik 62,
dem FIFO 64, dem FIFO 68, den Schieberegistern 70A–70D, dem
RAM 72 und den Orientierungssummierern 74 der 9A, 9B und 10.
Die Logikflußdiagramme der 14 und 15 entsprechen
dem FIFO 80, dem FPGA 82 und dem SRAM 84 von 11.
Die Logikflußdiagramme
der 18, 19, 21 und 22 entsprechen
dem Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36,
wie in 1 gezeigt.
-
Die
Logikflußdiagramme
veranschaulichen ein bevorzugtes Verfahren zum Implementieren der
vorliegenden Erfindung, wobei angemerkt wird, daß an den dargestellten Verfahren
innerhalb des Schutzbereichs und des Gedankens der vorliegenden
Erfindung viele Änderungen
und Abwandlungen vorgenommen werden können. Es versteht sich außerdem,
daß die
Logikflußdiagramme
eine Zuordnung von Programmierungsaufgaben über die oben beschriebene bevorzugte
Vorrichtung definieren. Viele verschiedene Zuordnungen von Programmierungsaufgaben über verschiedene
Chips und viele verschiedene Zuordnungen von Programmierungsaufgaben über verschiedene
FPGA-Chipkonfigurationen können
analog innerhalb des Schutzbereichs und des Gedankens der vorliegenden
Erfindung definiert werden.
-
Kantenauftrittsbildverarbeitung
-
12 ist
ein Logikflußdiagramm
eines computerimplementierten Prozesses für die Routine 90 (Vorliegen
und Orientierungen von Kanten detektieren) von 4. 12 zeigt
außerdem
den computerimplementierten Prozeß für den FIFO 68, die
Schieberegister 70–70D und
den RAM 72 von 10. 12 entspricht
außerdem
den Anfangsschritten beim Erzeugen des in 5 dargestellten
Kantenauftrittsbilds 54.
-
Routine 90 beginnt
bei Schritt 200, bei dem der Logikausdruck "Pixel_NUM MOD 32
= 0" bei jedem Vielfachen
von 32, d.h. bei 32, 64, 96, 128 usw., von ja auf nein umschaltet.
Dieser Vorgang entspricht dem Unterteilen der 4096 Pixel einer Scanlinie
in Teilscanlinien mit jeweils einer Breite von 32 Pixeln. Wenn die
Antwort auf die Anfrage von Entscheidungsschritt 200 ja
ist, wird der "Ja"-Zweig bis Schritt 202 weiterverfolgt. Wenn
die Antwort auf die Anfrage von Entscheidungsschritt 200 nein
ist, wird der "Nein"-Zweig bis Schritt 204 weiterverfolgt.
-
In
Schritt 202 wird ein summierter Kantenauftrittswert T durch
eine mathematische Beziehung zwischen den Zählern A, B und C definiert.
Jeder Zelle des digitalisierten Bilds werden die drei Zähler A,
B und C zugeordnet. Diese Zähler
definieren die relative Orientierung von Kanten innerhalb einer
jeweiligen Zelle. Im Schritt 202 filtert die Dominante-Merkmals-Bildschaltung 50 Informationen
auf der Basis des summierten Kantenauftrittswerts T aus. Da beispielsweise
die Zähler
A, B und C für
jede Zelle die relative Orientierung von Kanten innerhalb einer
Zelle darstellen, kann dann die Kantenauftrittsbildschaltung 50 für bestimmte
Kanten, wie etwa Strichcodes, Strichcodes aufgrund der normalen
Orientierung der Übergänge ausfiltern.
Diese Filterung ist nicht auf die Etikettenumgebung der bevorzugten
Ausführungsform
beschränkt.
Beispielsweise können
bei einer Leiterplatinenidentifizierungsanwendung für die vorliegende
Erfindung Leiter oder Markierungen (Kanten) auf Chips mit vordefinierten
Orientierungen in der Filterungsgleichung berücksichtigt werden.
-
Im
Schritt 206 werden die Zähler A, B und C zurückgesetzt.
Im Schritt 208 speichert die Kantenauftrittsbildschaltung 50 die
Zählerwerte
der aktuellen Zellen. Im Schritt 209 geht die Kantenauftrittsbildschaltung 50 zu
den Zählerwerten
der nächsten
Zelle.
-
Wenn
im Schritt 200 der Logikausdruck "Pixel-NUM MOD 32" nicht gleich 0 ist, dann wird der "Nein"-Zweig zum Schritt 204 weiterverfolgt,
wo die Variable M auf Falsch gesetzt wird. Die Variable M ist ein Flag,
mit dem das Ergebnis des Logikausdrucks im Schritt 200 bezeichnet
wird.
-
Die
Funktionsweise des Detektierens des Vorliegens und der Orientierung
von Kanten in 12 weiter verfolgend, wird die
Anzahl der Kanten gemäß Routine 92 von 4 summiert,
was von 13 weiter erläutert wird. 13 zeigt
den computerimplementierten Prozeß für den Orientierungssummierer 74 von 10.
Routine 92 wird nach dem Vergleichen der Zellen des digitalisierten
Bilds mit den Schablonen einer 4-mal-4-Nachschlagetabelle durchgeführt.
-
Routine 92 beginnt
im Schritt 300, bei dem die die relativen Orientierungen
von Kanten innerhalb jeder Zelle darstellenden Zähler A, B und C auf Null initialisiert
werden. Im Schritt 304 wartet der Summierer 74 auf die
nächste
Scanlinie. Im Schritt 306 wird der Scanlinienzähler Scan-Line_NUM
um Eins inkrementiert. Der Scanlinienzähler für den Summierer 74 Scan-Line_NUM zählt von
1 bis 32 und rollt dann über,
was der Unterteilung des eingegebenen Bilds in Zellen mit einer
Höhe von
32 Pixeln entspricht.
-
Im
Schritt 308 wartet der Summierer auf das nächste Pixel.
Im Schritt 310 wird der Pixelzähler Pixel_NUM inkrementiert.
Auf Schritt 310 folgt der Entscheidungsschritt 312,
in dem bestimmt wird, ob die Bedingung Pixel_NUM MOD 32 erfüllt ist.
-
Wenn
die Antwort auf die Anfrage vom Schritt 312 wahr ist, dann
wird der "Ja"-Zweig zu Schritt 314 weiterverfolgt,
bei dem der Summierer 74 den Orientierungswert einer Zelle
berechnet. Wenn die Antwort auf die Anfrage von Schritt 312 falsch
ist, dann wird der "Nein"-Zweig von Schritt 312 zu Schritt 314 weiterverfolgt, bei
dem der Summierer 74 bestimmt, ob der Zellenorientierungswert
für das
aktuelle Pixel gleich null (0) Grad und nicht neunzig (90) Grad
ist.
-
Wenn
die Antwort auf die Anfrage von Schritt 314 ja ist, wird
der "Ja"-Zweig zu Schritt 316 weiterverfolgt,
in dem der Summierer 74 den Zähler A dekrementiert, während er
den Zähler
C inkrementiert. Wenn die Antwort auf die Anfrage vom Schritt 314 nein
ist, wird der "Nein"-Zweig zu Schritt 318 weiterverfolgt.
-
Im
Schritt 318 wird bestimmt, ob der Zellenorientierungswert
gleich neunzig (90) Grad und nicht null (0) Grad ist. Wenn die Anfrage
von Schritt 318 ja ist, wird der "Ja"-Zweig
bis zu Schritt 320 weiterverfolgt, bei dem der Summierer 74 die
Zähler
A und C inkrementiert. Wenn die Antwort auf die Anfrage vom Schritt 318 nein
ist, wird der "Nein"-Zweig bis zu Schritt 322 weiterverfolgt,
bei dem bestimmt wird, ob der Zellenorientierungswert gleich fünfundvierzig
(45) Grad und nicht einhundertfünfunddreißig (135)
Grad ist.
-
Wenn
die Anfrage von Schritt 322 ja ist, wird der "Ja"-Zweig bis zu Schritt 324 weiterverfolgt,
bei dem der Summierer 74 beide Zähler B und C inkrementiert.
Wenn die Anfrage vom Schritt 322 nein ist, wird der "Nein"-Zweig bis zu Schritt 326 weiterverfolgt,
bei dem bestimmt wird, ob der Zellenorientierungswert gleich einhundertfünfunddreißig (135)
Grad und nicht fünfundvierzig
(45) Grad ist. Die Zellenorientierungswerte der vorliegenden Erfindung
sind nicht auf die in Routine 92 aufgezählten Werte beschränkt. Andere
Werte hängen von
der jeweiligen Anwendung für
das Mehrfachauflösungssystem
ab.
-
Unter
Fortsetzung mit der Routine 92, wenn die Anfrage von Schritt 326 ja
ist, wird der "Ja"-Zweig zu Schritt 328 weiterverfolgt,
bei dem dem Zähler
B reduziert wird, während
Zähler
C inkrementiert wird. Wenn die Anfrage von Schritt 326 nein
ist, wird der "Nein"-Zweig zu Schritt 330 weiterverfolgt,
bei dem bestimmt wird, ob das aktuelle Pixel das letzte Pixel in
der Scanlinie ist.
-
Wenn
das aktuelle Pixel nicht das letzte Pixel in dieser Scanlinie ist,
wird der "Nein"-Zweig von Schritt 330 zu
Schritt 308 weiterverfolgt, bei dem der Summierer 74 auf
das nächste
Pixel wartet. Wenn das aktuelle Pixel das letzte Pixel in der Scanlinie
ist, wird der "Ja"-Zweig von Schritt 330 zu
Schritt 304 weiterverfolgt, bei dem der Summierer 74 auf
die nächste
Scanlinie wartet. Nach dem Verarbeiten der Daten gemäß den oben umrissenen
Schritten erzeugt das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
das Kantenauftrittsbild 58, wie in 7 dargestellt.
-
Dezimierte-Bild-Verarbeitung
-
Während das
Mehrfachauflösungs-Etikettenfindevorrichtungssystem
die Schritte der Routinen 88-92 für die Kantenauftrittsbildverarbeitung
ausführt,
führt das
Mehrfachauflösungs-Etikettenfindevorrichtungssystem
gleichzeitig die in den 14-16 dargestellten
Schritte der Routinen 94–98 zum
Herstellen des dezimierten Bilds 54 von 5 aus. 14 ist
ein Logikflußdiagramm
eines computerimplementierten Prozesses für die Routine 94 der
Dezimierte-Bild-Schaltung 52 von 4.
-
Routine 94 beginnet
im Schritt 400 von 4, bei der
die RAMs A und B gleich Null gesetzt werden. Im Schritt 402 wartet
die Dezimierte-Bild-Schaltung 52 auf die nächste Scanlinie.
In Schritt 404 wird der Scanlinienzähler Scan-Line_NUM um Eins
inkrementiert. Der Scanlinienzähler
Scan-Line_NUM zählt
von 1 bis 32.
-
In
Schritt 406 wird bestimmt, ob die Bedingung Scan-Line_NUM
MOD 32 = 0 erfüllt
ist. Der Fachmann versteht, daß der
Logikausdruck "Scan-Line_NUM
MOD 32 = 0" bei
jedem Vielfachen von 32, d.h. bei 32, 64, 96, 128 usw., von Falsch
auf Wahr umschaltet. Dieser Vorgang unterteilt effektiv das eingegebene
Bild in Zellen mit einer Höhe
von 32 Pixeln.
-
Wenn
die Antwort auf die Anfrage von Schritt 406 ja ist, wird
der "Ja"-Zweig bis Schritt 408 weiterverfolgt,
bei dem die Spitze des Histogramms jeder Zelle bestimmt wird. Wenn
die Antwort auf die Anfrage von Schritt 406 nein ist, wird
der "Nein"-Zweig zu Schritt 408 verfolgt,
bei dem die Dezimierte-Bild-Schaltung 52 auf das nächste Pixel
wartet.
-
In
Schritt 410 wird der Pixelzähler Pixel_NUM inkrementiert.
Im Schritt 412 wird bestimmt, ob der Pixel_NUM-Zählerwert
ungerade ist. Wenn die Anfrage auf Schritt 412 ja lautet,
wird der "Ja"-Zweig zu Schritt 414 weiterverfolgt,
in dem eine Variable VALUE gleich dem Inhalt von RAM B an der Adresse
Pixel_NUM MOD 32, Pixelwert, gesetzt wird. In Schritt 416 wird
die Variable VALUE inkrementiert. In Schritt 418 wird die
Variable VALUE an der Adresse Pixel_NUM MOD 32, Pixelwert in das
RAM B geschrieben.
-
Wenn
die Anfrage von Schritt 412 nein ist, wird der "Nein"-Zweig bis Schritt 420 weiterverfolgt,
bei dem die Variable VALUE an der Adresse Pixel_NUM MOD 32, Pixelwert
gleich dem Inhalt von RAM A gesetzt wird. Im Schritt 422 wird
die Variable VALUE um Eins inkrementiert. Im Schritt 424 wird
die Variable VALUE an der Adresse Pixel_NUM MOD 32, Pixelwert in
RAM A geschrieben.
-
In
Schritt 426 wird bestimmt, ob der aktuelle Pixelwert der
letzte Pixelwert in der Scanlinie ist. Wenn das aktuelle Pixel nicht
das Pixel in der Scanlinie ist, wird der "Nein"-Zweig
vom Schritt 426 zu Schritt 408 weiterverfolgt,
bei dem die Dezimierte-Bild-Schaltung 52 auf das nächste Pixel
wartet. Wenn das aktuelle Pixel das letzte Pixel in der Scanlinie
ist, wird der "Ja"-Zweig vom Schritt 426 zu
Schritt 402 weiterverfolgt, bei dem die Dezimierte-Bild-Schaltung 52 auf
die nächste
Scanlinie wartet.
-
Nachdem
die in 14 dargestellten Schritte für die Routine 94 ausgeführt worden
sind, setzt das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
die Verarbeitung von Daten gemäß den Schritten
der ausgewählten
Dezimierte-Bild-Routine 92 fort. 15 zeigt
einen computerimplementierten Prozeß für die ausgewählte Dezimierte-Bild-Routine 96 von 4.
-
Schritt 500 ist
der erste Schritt in der Routine 96. In Schritt 500 von 15 wird
ein Adreßzähler gleich Null
gesetzt. In Schritt 502 werden eine Spitzenwertsvariable
und eine Spitzenabschnittsvariable auf Null gesetzt. In Schritt 504 wird
der Abschnittswert gleich dem Inhalt von RAM A an der Adresse [Adreßzähler] plus dem
Inhalt von RAM B bei Adresse [Adreßzähler] gesetzt.
-
Beim
Entscheidungsschritt 506 bestimmt die Dezimierte-Bild-Schaltung 52,
ob der Abschnittswert größer ist
als der Spritzenwert. Wenn die Anfrage von Schritt 506 ja
ist, wird der "Ja"-Zweig bis Schritt 508 weiterverfolgt,
bei dem der Spitzenwert gleich dem Abschnittswert und der Spitzenabschnittswert
gleich dem Adreßzähler MOD 255 gesetzt
wird.
-
Wenn
die Anfrage vom Schritt 506 nein ist, wird der "Nein"-Zweig bis Entscheidungsschritt 510 weiterverfolgt,
bei dem bestimmt wird, ob der Adreßzähler gleich einem Höchstwert
ist. Wenn die Anfrage des Entscheidungsschritts 510 ja
ist, dann wird der "Ja"-Zweig dorthin weiterverfolgt,
wo der Prozeß fortgesetzt
wird. Wenn die Anfrage von Schritt 510 nein ist, dann wird
der "Nein"-Zweig zu Entscheidungsschritt 512 weiterverfolgt,
bei dem bestimmt wird, ob die Variable Adreßzähler MOD 255 gleich
Null ist.
-
Wenn
die Anfrage von Entscheidungsschritt 512 ja ist, wird der "Ja"-Zweig bis Schritt 514 weiterverfolgt,
bei dem Zellenwert gleich dem Adreßzähler und der Spitzenwert gleich
dem Spitzenabschnittswert gesetzt wird. Von Schritt 514 geht
die Dezimierte-Bild-Schaltung 52 zu Schritt 502.
-
Wenn
die Anfrage von Entscheidungsschritt 512 nein ist, wird
der "Nein"-Zweig zu Schritt 516 verfolgt, bei
dem der Adreßzähler um
Eins inkrementiert wird. Von Schritt 516 geht die Dezimierte-Bild-Schaltung 52 zurück zu Schritt 504.
Nach dem Verarbeiten der Daten gemäß den oben umrissenen Schritten
erzeugt das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
das dezimierte Bild 54, wie in 5 dargestellt.
-
Segmentierte-Bild-Verarbeitung
-
16 veranschaulicht
den computerimplementierten Prozeß für Routine 98 von 4,
die das segmentierte Bild 56 von 6 erzeugt.
Routine 98 beginnt im Schritt 600 von 16,
bei der das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 ein
Histogramm des dezimierten Bilds 54 von 5 berechnet.
-
Nach
dem Schritt 600 verbindet im Schritt 602 das Mehrfachauflösungs- Etikettenfindevorrichtungsprogramm 36 Spitzen
des Histogramms auf stückweise
lineare Weise, um eine Kurve zu erzeugen. Das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm
führt zwei
Stufen der Filterung im Schritt 602 aus:
zuerst filtert
das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 das
im Schritt 600 berechnete Histogramm durch Einsatz eines
Tiefpaßfilters.
Das Tiefpaßfilter
beinhaltet die Anwendung eines beweglichen Sieben(7)-Pixel-Fensters
oder einer entsprechenden Hüllkurve,
um niederenergetische Schwingungen zu entfernen und das im Schritt 600 berechnete
Histogramm zu glätten.
Als nächstes
wendet das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 ein
Adaptiv-Bewegliches-Fenster-Filter in der zweiten Stufe an, um die
gefilterten Daten weiter zu verarbeiten.
-
17 ist
eine graphische Darstellung, die die glättende Hüllkurve oder das Tiefpaßfilter
zeigt, die/der im Schritt 602 von 16 verwendet
werden. Die Abszisse der graphischen Darstellung für die bevorzugte Ausführungsform
stellt die Lichtintensität
der Pixel für
das dezimierte Bild 54 dar, während die Ordinate die Anzahl
der Auftritte/Pixel/Histogramme für eine bestimmte Lichtintensität darstellt.
Weitere Meßparameter
zusätzlich
zur Lichtintensität
liegen nicht außerhalb
des Schutzbereichs der vorliegenden Erfindung. Beispielsweise könnte ein
Histogramm/eine graphische Darstellung auf der Basis von Farbe verwendet
werden, wenn das Mehrfachauflösungs-Findevorrichtungssystem
Farbaufnahmen verwendet. Das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 wendet
das bewegliche Sieben(7)-Pixel-Fenster oder die entsprechende Hüllkurve
an, um niederenergetische Schwingungen zu entfernen und das Histogramm
zu glätten.
-
Als
nächstes
verwendet das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 einen
Prozeß der
Adaptiv-Bewegliche-Fenster-Filterung, der das Bewegen entlang der
Kurve von links nach rechts beinhaltet. Wenn die Histogramme für jeden
aufeinanderfolgenden Punkt schwingen, dann ist der Wert des mittleren
Punkts gleich dem Mittelwert von zwei benachbarten Punkten. Deshalb
ist Hi+1 = 0,5×(hi +
hi+2), wobei Hi der
Histogrammwert bei Punkt i ist. Dieser Prozeß ist ein beweglicher Mittelwert
aus zwei Punkten, der rauhe Bereiche der Kurve glättet.
-
Nachdem
der Prozeß der
Adaptiv-Beweglichen-Fenster-Filterung abgeschlossen ist, setzt das
Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 die
Verarbeitung zu Schritt 604 fort. In Schritt 604 identifiziert
das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 Spitzen
des gefilterten Histogramms, wie in 18 dargestellt.
Bei dem gezeigten Beispiel entsprechen die Spitzen des gefilterten
Histogramms von 18 den verbundenen Komponenten
des dezimierten Bilds 54.
-
Wie
in 18 dargestellt, sucht das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 nach
jeder Spitze in der Reihenfolge von der höchsten zur niedrigsten Spitze.
Punkt H wird als ein niedriger Punkt angesehen, wenn für ein Gefälle D1>12
und D2>10
und H2>20;
oder D1>5
und D2>2
und H1>20
und H2>8 und
V<30; oder i =
255 oder hi = –1 (wobei hi der
Histogrammwert beim Pixelwert i ist). Punkt H wird als ein niedriger
Punkt angesehen, wenn für
eine Steigung H1>12 und V<5;
oder H1>10
und D1>20
und V<10; oder
i = 255; oder H1 = –1; oder H1>80 und D1>1 und V<8; oder H1>5
und D1>5
und V<2.
-
Beim
Entscheidungsschritt 606 bestimmt das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36,
ob die Anzahl der Spitzen für
ein Gebiet größer als
10 ist, ob die Höhe
des Gebiets kleiner als drei (3) Pixel ist oder ob die Fläche kleiner
als dreißig
(30) Pixel beträgt.
Diese Werte für
die Anzahl der Spitzen, die Höhe
und die Fläche
hängen
von der Anwendung des Mehrfachauflösungs-Findevorrichtungssystems
ab. Mit anderen Worten können
diese Werte für
die spezifische Größe der interessierenden
Merkmale modifiziert werden. Wenn beispielsweise die Mehrfachauflösungs-Findevorrichtung
auf einer Leiterplatte einen Mikrochip spezifischer Größe sucht,
würden
die Werte für
die Größe des bestimmten
Mikrochips modifiziert werden.
-
Wenn
die Anfrage von Schritt 606 ja ist, dann wird der "Ja"-Zweig zu Schritt 608 weiterverfolgt,
bei dem diese Daten gespeichert werden. Im Schritt 610 werden
die Spitzen gelöscht
und das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 kehrt
zu Schritt 604 zurück.
Wenn die Anfrage vom Schritt 606 nein ist, wird der "Nein"-Zweig zurück zu Schritt 612 weiterverfolgt.
-
Im
Schritt 612 erzeugt das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 ein
segmentiertes Bild 56 (wie in 6 dargestellt)
durch Abbilden von Pixeln innerhalb jedes Spitzengebiets des gefilterten
Histogramms in ein leeres Bild entsprechend dem dezimierten Bild 54.
Das segmentierte Bild zeigt in der Regel Kandidatenbereiche oder
KLECKSEi-n an. Im Schritt 614 verwendet
das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 eine
Verbundene-Komponenten-Funktion, wie etwa die von SRI International erhältlich ist,
um verbundene Komponenten 25B, 40B, 42B, 44B und 46B zu
erzeugen, die die Kandidatenbereiche darstellen. Die SRI-Funktion
verbindet innerhalb des segmentierten Bilds 56 Gebiete
mit ähnlichen
Pixelintensitäten.
Die SRI-Funktion erzeugt weiterhin Begrenzungsfenster 25C, 40C, 42C, 44C und 46C,
die die verbundenen Komponenten 25B, 40B, 42B, 44B und 46B eingrenzen.
-
Zusammengesetzte-Bild-Verarbeitung
-
Nach
dem Erzeugen des segmentierten Bilds 56 von 6 infolge
der Routine 98 von 16 setzt die
Mehrfachauflösungs-Etikettenfindevorrichtung
die Routine 100 von 19 fort.
Routine 100 beginnt Schritt 700, bei dem das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 die
Begrenzungsfenster 25C, 40C, 42C, 44C und 46C des
segmentierten Bilds 56 mit den Etikettenkandidatenbereichen 25D, 40D, 42D, 44D und 46D des
Kantenauftrittsbild 58 kombiniert. Im Schritt 702 werden
die Begrenzungsfenster 25C, 40C, 42C, 44C und 46C von 6 in
das Kantenauftrittsbild 58 von 7 abgebildet,
um das zusammengesetzte Bild 60 von 8 zu erzeugen.
-
Im
Schritt 704 extrahiert das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 Merkmalswerte
auf der Basis von Begrenzungsfenstern. Die Begrenzungsfenster-Merkmalswerte
enthalten die folgenden: eine normierte Höhe, die ein Verhältnis einer
durch das Begrenzungsfenster definierten Höhe zu einer durch das segmentierte
Bild definierten Höhe
darstellt (X1/H, wobei X1 die
Höhe des
Begrenzungsfensters und H die durch das segmentierte Bild 56 definierte
Höhe ist);
eine normierte Breite, die ein Verhältnis der durch das Begrenzungsfenster
definieren Breite zu einer durch das segmentierte Bild definierten
Breite darstellt (X2/W, wobei X2 die
Breite des Begrenzungsfensters und W die durch das segmentierte
Bild 56 definierte Breite ist); einen normierten Bereich,
der ein Verhältnis
eines durch das Begrenzungsfenster definierten Bereichs zu einem
durch das segmentierte Bild definierten Bereich darstellt (X2×X1/H×W)
und ein Seitenverhältnis,
das ein Verhältnis
der durch das Begrenzungsfenster definierten Breite zu der durch
das Begrenzungsfenster definierten Höhe darstellt. Siehe 20 hinsichtlich
einer beispielhaften Länge
X2 und Breite X1 eines
Begrenzungsfensters 10.
-
Das
Begrenzungsfenster 10 von 20 ist
auf ein segmentiertes Bild 56 abgebildet worden, wo Spitzengebiets-Isolationsdaten 12 von
dem Begrenzungsfenster 10 eingeschlossen werden. Das Seitenverhältnis für das Begrenzungsfenster 10 wird
wie folgt berechnet: X1/X2 wenn
X1 ≥ X2; ansonsten wird X2/X1 verwendet.
-
Wie
oben angemerkt extrahiert das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 Merkmalswerte
auf der Basis von Charakteristiken von Begrenzungsfenstern. Die
Merkmalswerte können
jedoch einen beliebigen der folgenden enthalten: eine normierte
Merkmalsintensität
T, die ein Verhältnis
der Summe von Merkmalswerten für
Zellen innerhalb des Begrenzungsfensters zu einer Gesamtzahl von
Zellen innerhalb des Begrenzungsfensters darstellt; und eine normierte
Kantenauftrittsintensität
I, die ein Verhältnis der
Summe der summierten Kantenauftrittswerte für Zellen innerhalb des Begrenzungsfensters
zu einem durch das Begrenzungsfenster definierten Bereich darstellt.
-
Nachdem
das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 die
Merkmalswerte auf der Basis von Charakteristiken von Begrenzungsfenstern
extrahiert, konstruiert das Programm 36 im Schritt 706 einen
Vektor V für
jeden Etikettenkandidatenbereich. Der Vektor V basiert auf mehreren
Merkmalswerten, die solche enthalten, die auf Charakteristiken von
Begrenzungsfenstern basieren, und Werte, die nicht auf Charakteristiken
von Begrenzungsfenstern basieren, wie etwa die Lichtintensität. Das Programm 36 bestimmt mit
dem Vektor V in der Vorklassifiziererroutine 102 und der
Klassifiziererroutine 104, ob es wahrscheinlich ist, daß ein bestimmter
Etikettenkandidatenbereich ein tatsächliches Zieladreßetikett
enthält.
-
Vorklassifiziererroutine
-
21 zeigt
einen computerimplementierten Prozeß für die Vorklassifiziererroutine 102 von 4. Schritt 800 ist
der erste Schritt der Routine 102. Bei Schritt 800 eliminiert
das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 einen
oder mehrere Kleckse oder Etikettenkandidatenbereiche mit einem
entsprechenden Begrenzungsfenster, das einen Bereich unter einem
vordefinierten Kleinstschwellwert definiert. Der Etikettenkandidatenbereich
wird durch Seiten mit einer Länge
X1 und einer Breite X2 bestimmt.
Das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 kann
Kandidatenbereiche eliminieren, falls derartige Bereiche unter einen
Wert wie etwa 20 fallen. Der Fachmann erkennt, daß diese
Schwellwerte auf der Basis der Anwendung des Mehrfachauflösungs-Findevorrichtungssystems
abgeändert
werden können.
Beispielsweise könnte
das Mehrfachauflösungs-Etikettenfindevorrichtungssystem
so ausgelegt werden, daß es
spezifische Leitungen auf einer Leiterplatte mit einer vordefinierten
Länge und
Breite identifiziert. In diesem Fall würden die Schwellwerte auf der
Länge und
Breite der interessierenden Leitungen basieren.
-
Im
Schritt 802 eliminiert das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 einen
oder mehrere Kleckse oder Kandidatenbereiche mit einem entsprechenden
Begrenzungsfenster, das einen Bereich über einem vordefinierten größten Schwellwert
definiert. Beispielsweise kann das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 Etikettenkandidatenbereiche
mit einem Wert über
1600 eliminieren, da es wahrscheinlicher ist, daß solche Bereiche angesichts
der Abmessungen des Bilds, des Pixelabstands und so weiter keine
Adreßetiketten
aufweisen. Adreßetiketten
weisen in der Regel Begrenzungsfensterbereiche auf, die kleiner
als 1600 sind (etwa 40 Quadrat-Inch bei dem 3-dpi-Bild der bevorzugten
Ausführungsform).
-
Im
Schritt 804 kann das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 erwartete,
die Etikettengröße aufweisende
Kandidatenbereiche oder Kleckse extrahieren, die eine Fläche aufweisen,
die zwischen einen vordefinierten kleinsten und größten Wert
fällt.
Beispielsweise könnte
ein kleinster Wert 20 (etwa 4,5 Quadrat-Inch) betragen, während ein
größter Schwellwert 1024 (etwa
32 Quadrat-Inch) betragen könnte.
-
Bei
Schritt 806 beschneidet das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 einen oder
mehrere Kandidatenbereiche oder Kleckse, so daß sie einem Begrenzungsfenster
mit einer vordefinierten Größe entsprechen,
das um einen Schwerpunkt zentriert ist, der für die Lichtintensitäts-Merkmalswerte
des entsprechenden Kandidatenbereichs berechnet ist. Im Schritt 806 ruft
das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 eine
Schwerpunkt-Unterroutine
auf, um einen potentiellen Kandidatenbereich zwischen der höchsten Kantenauftrittsdichte
herum zu schneiden. Für
die bevorzugte Ausführungsform
wäre der höchste Kantenauftritt
die gleichmäßigste Verteilung
von Orientierungen. Das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 geht
dann weiter zum Ausgabekasten 808, in dem die Variable
VBi-m den Merkmalsvektor eines bestimmten
Kleckses oder eines potentiellen Etikettenkandidatenbereichs darstellt.
-
Klassifizierungsroutine
-
Nach
dem Abschluß des
in 21 dargestellten Vorklassifizierungsprozesses
initiiert das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 eine
Klassifizierungsroutine 104, wie in 22 dargestellt. Schritt 900 ist
der erste Schritt in der Routine 104. Im Schritt 900 berechnet
das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 absolute
Entscheidungswerte oder Fehler entsprechend einem oder mehreren
der Merkmalswerte, die auf den Charakteristiken der Begrenzungsfenster
basieren können.
Ein Begrenzungsfenster-Merkmalswert
kann wie oben erwähnt
ein Seitenverhältnis
eines Begrenzungsfensters sein. Dieses Seitenverhältnis wird
dann mit einem erwarteten oder typischen Seitenverhältnis für ein Adreßetikett
erwarteter Größe berechnet.
-
Während die
Begrenzungsfenster-Merkmalswerte zu den Abmessungen eines Etikettenkandidatenbereichs
in Beziehung stehen, können
andere Merkmalswertcharakteristiken zu den von einer Videokamera detektierbaren
Bildparameter in Beziehung stehen. Beispielsweise kann ein Merkmalswert
die normierte Kantenauftrittsdichte eines Kandidatenbereichs innerhalb
des Kantenauftrittsbilds 58 sein. Diese normierte Kantenauftrittsdichte
wird dann mit einer erwarteten Kantenauftrittsdichte verglichen.
Ein weiterer Merkmalswert kann eine normierte Lichtintensität sein.
Diese normierte Lichtintensität eines
potentiellen Kandidatenbereichs wird mit einer erwarteten Lichtintensität eines
dezimierten Bilds 54 eines Etiketts verglichen.
-
Die
im Schritt 900 berechneten absoluten Entscheidungsfehlerwerte
können
wie folgt zusammengefaßt
werden:
-
Seitenverhältnis – Absoluter
Entscheidungsfehler eR:
-
- eR = |X1/X2-R0|, wobei
- R0 das erwartete oder typische Seitenverhältnis ist.
Für Adreßetiketten
wurde dieser Wert als 1,5 bestimmt. X1/X2 ist das Seitenverhältnis für ein Begrenzungsfenster eines
spezifischen Kleckses oder Etikettenkandidatenbereichs. (Siehe 20 wegen
der Längen-
und Breitenabmessungen X1 und X2 eines
Begrenzungsfensters.)
-
Kantenauftritt – Absoluter
Entscheidungsfehler eT:
-
- eT = |Ti/N-T0|, wobei
- T0 die erwartete Kantenauftrittsdichte
ist. Für
Adreßetiketten
wurde T0 als 1,0 bestimmt. Ti/N
ist die Kantenauftrittsdichte für
einen potentiellen Kandidatenbereich.
-
Grauskalenlichtintensität – Absoluter
Entscheidungsfehler eI:
-
- EI = |Ii/N-I0|, wobei
- I0 die erwartete Lichtintensität des dezimierten
Bilds 54 ist. Der erwartete Wert von I0 für die Etikettenumgebung beträgt 255.
Ii/N ist die Lichtintensität eines
spezifischen Kleckses oder Etikettenkandidatenbereichs.
-
Normierte Abmessung-Absoluter
Entscheidungsfehler eD:
-
- eD1 = Maximum (|d1–I1|)
- eD2 = Maximum (|d2–I2|), wobei d1 und
d2 normierte Abmessungen eines Etikettenkandidatenbereichs
sind.
- d1 = X1/W
- d2 = X2/W, wobei
- X1 und X2 die
Längen-
und Breitenabmessungen eines Begrenzungsfensters sind, während W
die Breite des dezimierten Bilds 54 ist.
- I1 und I2 sind
erwartete normierte Abmessungen, wobei
- I1 = 20/W und I2 =
22/W, wenn d1<d2; oder
- wenn d1> = d2, dann
- I1 = 22/W und I2 =
20/W.
-
Nach
dem Berechnen der absoluten Entscheidungsfehler von Schritt
900 geht
das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm
36 dann
zu Schritt
902 weiter. Im Schritt
902 weist das
Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm
36 jedem
Etikettenkandidatenbereich vier Fehlercodes (C
A, C
T, C
I, C
D)
zu. Jede der Codes (C
R, C
T,
C
I, C
D) weist einen
Wert auf, der auf Berechnungen mit den Entscheidungsfehlerwerten
im Schritt
900 basiert. Der Fachmann erkennt, daß diese
Fehlercodewerte je nach der Anwendungsart für das Mehrfachauflösungs-Findevorrichtungssystem
justiert werden können.
Folgendes sind die Gleichungen zum Bestimmen der Fehlercodes: Seitenverhältnis – Fehlercode
C
R:
Kantenauftritt – Fehlercode
C
T:
Grauskalenlichtintensität – Fehlercode
C
I:
Normierte
Abmessung – Fehlercode
C
D:
-
Nach
dem Berechnen der Fehlercodes vom Schritt
902 geht das
Mehrfachauflösungs- Etikettenfindevorrichtungsprogramm
36 weiter
zu Schritt
904. In Schritt
904 ordnet das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm
36 einen
Klasse-"S"-Wert jedem Etikettenkandidatenbereich
auf der Basis der im Schritt
902 berechneten Fehlercodes
C zu. Der Klasse-"S"-Wert wird wie folgt
berechnet: Klasse-"S"-Wert:
-
Wenn
das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm
36 das
Zuordnen eines Klasse-"S"-Werts zu jedem Etikettenkandidatenbereich
beendet, geht es weiter zu Schritt
906. Im Schritt
906 wird jedem
Etikettenkandidatenbereich ein Fehlertabellenkoordinatenwert J zugeordnet.
Jeder Fehlertabellenkoordinatenwert J wird wie folgt berechnet: Fehlertabellenkoordinatenwert
J:
-
Nach
dem Zuordnen des Fehlertabellenkoordinatenwerts J zu jedem Etikettenkandidatenbereich
eliminiert das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 Etikettenkandidatenbereiche
mit einem Klasse-S-Wert gleich –1.
Nachdem das Programm 36 die Eliminierung von Etikettenkandidatenbereichen mit
einem Klasse-S-Wert gleich –1
ausgeführt
hat, geht das Programm 36 zu Schritt 908 weiter.
-
In
Schritt 908 berechnet das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 dann
relative Entscheidungsfehler E für
jeden Etikettenkandidatenbereich mit einem Klasse-S-Wert gleich
1 oder 0 gemäß den folgenden
Regeln:
-
Regel 1
-
Der
relative Fehler E für
Merkmalsvektoren V von Etikettenkandidatenbereichen mit einem Klasse-S-Wert
= 1 wird als kleiner als der relative Fehler für die Merkmalsvektoren V von
Etikettenkandidatenbereichen mit einem Klasse-S-Wert = 0 kategorisiert;
-
Regel 2
-
Der
relative Fehler E für
einen Merkmalsvektor V eines Etikettenkandidatenbereichs mit einem
Klasse-S-Wert = 1 wird gleich seinem absoluten Kantenauftritts-Entscheidungsfehler
eT gesetzt;
-
Regel 3
-
Der
relative Fehler E für
einen Merkmalsvektor V eines Etikettenkandidatenbereichs mit einem
Klasse-S-Wert = 0 wird wie folgt berechnet:
Das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm
36 bestimmt
den relativen Fehler E von Etikettenkandidatenbereichen mit einem
Klasse-S-Wert = 0 durch Vergleichen von Paaren von Merkmalsvektoren V
1, V
2 jeweiliger
Paare von Etikettenkandidatenbereichen, um zu bestimmen, welcher
eines Paars von Etikettenkandidatenbereichen einen kleineren relativen
Fehler E aufweist. Das Programm
36 verwendet den Fehlertabellenkoordinatenwert
J jedes Etikettenkandidatenbereichs eines jeweiligen Paars von Etikettenkandidatenbereichen,
um einen Fehlerindexwert L zu bestimmen. Beispielsweise wird der
Fehlerindexwert L für
ein Paar von Etikettenkandidatenbereichen durch Verwendung von zwei
Fehlertabellenkoordinatenwerten (J
1 eines
ersten Etikettenkandidatenbereichs und J
2 eines
zweiten Etikettenkandidatenbereichs) bestimmt, die die entsprechende
Stelle des in Tabelle 6 vorliegenden Fehlerindexwerts liefern: TABELLE
6 Fehlerindex
-
Nach
dem Bestimmen des Fehlerindexes L aus Tabelle 6 für ein Paar
Etikettenkandidatenbereiche bestimmt das Programm 36 den
relativen Fehler E für
jeden des Paars von Etikettenkandidatenbereichen auf der Basis der
folgenden Kriterien:
-
- Wenn L = 1, dann ist der relative Fehler Ei = dem absoluten Kantenauftritts-Entscheidungsfehler eTi, wobei Ei der
relative Fehler eines Merkmalsvektors Vi eines
Etikettenkandidatenbereichs ist und wobei i = 1, 2 – jeden des
jeweiligen Paars von Etikettenkandidatenbereichen bezeichnend;
- Wenn L = 3, dann ist der relative Fehler Ei =
absoluter Grauskalenlichtintensitäts-Entscheidungsfehler ELi;
- Wenn L = 4, dann ist der relative Fehler E; (Absoluter Kantenauftritts-Entscheidungsfehler
eTi + absoluter Seitenverhältnis-Entscheidungsfehler
eR);
- Wenn L = 5 und J2 = 0 und normierter
Abmessungsfehlercode CD2 = 1; oder L = 5
und J2 = 2 und normierter Abmessungsfehlercode
CD1 ≠ 1,
dann E2 < E1; ansonsten E2 > E1;
- Wenn L = 6 und J1 = 3 und Grauskalenlichtintensitäts-Fehlercode
C11 = 1, dann E1 =
0,5 (Absoluter Grauskalenlichtintensitäts-Entscheidungsfehler e11 + absoluter Seitenverhältnis-Entscheidungsfehler eR1);
- Wenn L = 6 und J2 = 2 und Grauskalenlichtintensitäts-Fehlercode
C12 = 1, dann E2 =
0,5 (Absoluter Grauskalenlichtintensitäts-Entscheidungsfehler e12 + absoluter Seitenverhältnis-Entscheidungsfehler eR2);
und
- Wenn L = 8 und J2 = 2 und Grauskalenlichtintensitäts-Fehlercode
C12 = 1, dann E2 < E1;
ansonsten E1 > E2.
-
Nach
dem Berechnen des relativen Fehlers E für jeden Etikettenkandidaten
im Schritt 908 geht das Programm 36 weiter zu
Schritt 910. Im Schritt 910 eliminiert das Programm 36 überlappende
Etikettenkandidatenbereiche. Etikettenkandidatenbereiche werden
als überlappend
angesehen, wenn ein jeweiliger Etikettenkandidatenbereich entlang
jeder Abmessung eines anderen Etikettenkandidatenbereichs um fünfundachtzig
Prozent (85%) überlappt.
Bei diese Überlappungskriteria
erfüllenden
Etikettenkandidatenbereichen eliminiert das Programm 36 einen
der beiden überlappenden
Etikettenkandidatenbereiche gemäß den folgenden Kriterien:
Wenn
einer der überlappenden
Etikettenkandidatenbereiche einen zugeordneten Klassenwert von S
= 1 und der andere Etikettenkandidatenbereich einen zugeordneten
Klassenwert von S = 0 aufweist, dann eliminiert das Programm 36 den
Kandidatenbereich mit einem Klassenwert S = 0. Ansonsten eliminiert
das Programm 36 den Kandidatenbereich mit einem größeren relativen
Fehler E.
-
Im
Schritt 912 identifiziert und listet das Mehrfachauflösungs-Etikettenfindevorrichtungsprogramm 36 die
Etikettenkandidatenbereiche mit der größten Wahrscheinlichkeit, daß sie Adreßetiketten
gemäß den folgenden
Kriterien enthalten: Wenn mehr als drei Etikettenkandidatenbereiche
mit einem Klasse-S-Wert = 1 vorliegen, dann zeigt dies die drei
Etikettenkandidatenbereiche mit dem kleinsten relativen Fehler E
als diejenigen Etikettenkandidatenbereiche an, die mit der größten Wahrscheinlichkeit
ein Etikett enthalten; wenn zwei oder drei Etikettenkandidatenbereiche
mit einem Klasse-S-Wert = 1 vorliegen, dann zeigt dies die Gruppe
von Etikettenkandidatenbereichen mit denjenigen Etikettenkandidatenbereichen
an, die mit der größten Wahrscheinlichkeit
Adreßetiketten
enthalten. Mit anderen Worten, wenn weniger als drei Kandidaten
mit S = 1 vorliegen, dann Anpassen der Etikettenkandidaten durch
die Kandidaten mit dem kleinsten relativen Fehler mit einem Klasse-S-Wert
= 0. Wenn keine Etikettenkandidatenbereiche vorliegen oder wenn
ein Etikettenkandidatenbereich mit einer Klasse S = 0 vorliegt,
dann zeigt dies alle Etikettenkandidatenbereiche mit einer Klasse
S = 1 und die Etikettenkandidaten mit dem kleinsten relativen Fehler
E mit einer Klasse S = 0 als diejenigen Etikettenkandidatenbereiche
an, die mit größter Wahrscheinlichkeit
Adreßetiketten
enthalten. Wenn keine Kandidaten mit einem Klasse-S-Wert = 1 oder
= 0 vorliegen, dann sind die Kandidaten keine Etiketten.
-
Ausgabe einer
nach Prioritäten
geordneten Liste von Etikettenkandidatenbereichen
-
Nachdem
das Programm 36 den Auflistungs- und Auswahlprozeß im Schritt 912 beendet,
geht das Programm 36 weiter zur Routine 106. In
Routine 106 gibt das Mehrfachauflösungs-Etikettenfindevorrichtungssystem eine
nach Prioritäten
geordnete Liste derjenigen Etikettenkandidatenbereiche an eine Displayeinrichtung
oder eine andere Ausgabeeinrichtung (wie etwa einen Drucker) aus,
die mit größter Wahrscheinlichkeit Adreßetiketten
enthalten. Mit dieser nach Prioritäten geordneten Liste von Etikettenkandidatenbereichen
kann ein automatisiertes Paketsortiersystem Paketpäckchen mit
einer mittleren Geschwindigkeit von 25 Päckchen pro Sekunde mit einer
Genauigkeitsrate von etwa neunzig Prozent (90%) für Bilder
mit einem niedrigem Dynamikbereich verarbeiten. Bei Bildern mit
einem hohen Dynamikbereich kann das Paketsortiersystem Paketpäckchen mit
einer Genauigkeit von etwa fünfundneunzig
Prozent (95%) verarbeiten.
-
Wenngleich
die vorliegende Erfindung die Paketverarbeitungs- oder -sortiergenauigkeit
erhöht,
liegen weitere Anwendungen oder Ausführungsformen des Mehrfachauflösungs-Findevorrichtungssystems
nicht jenseits des Schutzbereichs der vorliegenden Erfindung. Andere
Anwendungen oder Ausführungsformen
enthalten beispielsweise folgendes: Identifizieren von Leitungen
oder Mikrochips auf einer Leiterplatte; Identifizieren von fluoreszierenden Markierungen
auf Paketen; Identifizieren von spezifischen Formen auf Paketen
wie etwa Sechsecken, die Frankierung oder dergleichen anzeigen können; das
Finden von Defekten in Produkten wie etwa Risse oder andere Defekte,
die durch Videobildverarbeitung detektiert werden können; Identifizieren
von Defekten bei der Herstellung von gefärbten Geweben und andere ähnliche
Umgebungen, wo visuelle Charakteristiken eines Objekts durch Videobildverarbeitung
ohne weiteres detektiert werden können.
-
Auf
die oben beschriebene Weise gibt die bevorzugte Ausführungsform
des Mehrfachauflösungs-Etikettenfindevorrichtungssystems 20 eine
vorbestimmte Anzahl von Kandidatenetikettenstellen auf der Basis
eines gescanten Bilds aus. Es versteht sich, daß die vorliegende Erfindung
ein verbessertes Verfahren und eine verbesserte Vorrichtung zum
Finden von Angaben mit interessierenden Charakteristiken auf einem
Substrat bereitstellt. Viele andere Modifikationen und zusätzliche
Merkmale ergeben sich angesichts der vorausgegangenen Beschreibung
der Ausführungsbeispiele
der Erfindung. Es versteht sich deshalb, daß sich das oben gesagte nur
auf die Ausführungsbeispiele
der vorliegenden Erfindung bezieht und daß daran zahlreiche Änderungen
vorgenommen werden können,
ohne vom Schutzbereich der Erfindung, wie er durch die folgenden
Ansprüche
definiert ist, abzuweichen.