-
Die
vorliegende Erfindung betrifft allgemein das Gebiet der Signalverarbeitung
und insbesondere die Signalverarbeitung eines charakteristischen
Signals eines Subjekts.
-
Bei
der industriellen Automatisierung wird Signalverarbeitung benutzt,
um ein hergestelltes oder verarbeitetes Objekt auf der Basis eines
Merkmals des Objekts zu klassifizieren. Zum Beispiel könnte ein
Apfel durch einen zum Messen des Gewichts des Apfels konfigurierten
Gewichtssensor klassifiziert werden. Wenn das Gewicht größer als
ein vorbestimmtes Gewicht ist, wird der Apfel als "gut" identifiziert, und
andernfalls wird der Apfel als "schlecht" identifiziert.
-
Das
Objekt kann jedoch auch durch andere Signale klassifiziert werden.
Zum Beispiel könnte
der Apfel auch durch Beschaffen eines Farbdigitalbildes des Apfels
klassifiziert werden. Wenn der Apfel dunkler als eine vorbestimmte
Graustufe ist oder dem Apfel ausreichende rote Farbe fehlt, wird
der Apfel als "schlecht" identifiziert. Das
Problem besteht darin, zu bestimmen, welches Merkmal (z. B. Gewicht,
Farbe, Graustufe usw.) das Objekt am besten in die gewünschten
Klassifizierungen klassifiziert, sodass während der Produktion das beste
Merkmal zur automatischen Klassifizierung von Objekten verwendet werden
kann.
-
Aus
US-4658429 ist ein System und ein Verfahren zum Erstellen eines
Erkennungswörterbuchs bekannt.
Zur Erstellung eines Baumstruktur-Erkennungswörterbuchs sollte eine Merkmalsmenge
an jedem Knoten des Baums das Merkmal sein, das die größte diskrete
Verteilungsnummer ergibt. Elemente eines Objekts werden in Kategorien
klassifiziert oder unterteilt, wohingegen diese Klassifizierung
beeinflusst wird, wenn der Abstand zwischen Verteilungen für ein bestimmtes
Merkmal größer als
ein vorbestimmter Wert ist.
-
Es
wurde ein Standardverfahren zur Auswertung der Klassifizierung von
Objekten implementiert, das eine Bimodalverteilung des gemessenen
Merkmals voraussetzt, wobei die Verteilungen als Gaußsch angenommen
werden. Zum Beispiel erzeugt mit Bezug auf 1 dieses
Standardverfahren ein Histogramm 10 der Häufigkeit
des Auftretens verschiedener Werte des Merkmals. Die x-Achse repräsentiert
die Werte des Merkmals (z. B. Gewicht, Farbe usw.), und die y-Achse
repräsentiert
die Häufigkeit von
Objekten mit diesem Merkmal. Ein erster Modus 12 umfasst
Objekte in einer ersten Klasse (z. B. "schlechte" Objekte) und ein zweiter Modus 14 umfasst
Objekte in einer zweiten Klasse (z. B. "gute" Objekte).
Gemäß diesem
Verfahren werden die Mittelwerte 17, 18 jedes
Modus identifiziert, die Varianzen der Mittelwerte 17, 18 werden
bestimmt und der Abstand 19 zwischen Mittelwerten 17 und 18 wird
bestimmt. Je kleiner die Varianzen und je größer das Intervall zwischen
den Mittelwerten 17, 18 ist, desto größer ist
die Qualität
des Merkmals für
die Klassifizierung dieses Objekts.
-
Ein
Nachteil dieses Verfahrens besteht darin, dass Charakteristik-Verteilungen
häufig
weder bimodal noch Gaußsch
sind und somit durch dieses vorbekannte Verfahren falsch ausgewertet
werden. Mit Bezug auf 2 ist eine Häufigkeitsverteilung 20 eines
anderen Merkmals gezeigt, wobei der Modus 22 nicht Gaußsch ist.
Ferner umfasst Modus 22 Objekte in einer ersten Klasse,
Modus 24 umfasst Objekte in einer zweiten Klasse und Modus 26 umfasst
zusätzliche
Objekte in der ersten Klasse. Ein Beispiel für eine solche Verteilung wäre ein solches,
bei dem das Merkmal die Länge
eines Holzdübels
ist, wobei "gute" Dübel eine
Länge innerhalb
einer bestimmten Toleranz aufweisen müssen. "Schlechte" Dübel
sind also länger
(Modus 26) und kürzer
(Modus 22) als "gute" Dübel (Modus 24).
Vorbekannte Verfahren werten die Eignung dieses Merkmals für Klassifizierungszwecke
nicht angemessen aus, da die Verteilung von 2 nicht
Gaußsch
und nicht bimodal ist.
-
Folglich
werden ein System und ein Verfahren zur Klassifikationseignungsbeurteilung
von Merkmalen benötigt.
Ferner werden ein solches System und ein solches Verfahren benötigt, das
auf nicht-Gaußsche
Verteilungen anwendbar ist. Weiterhin werden ein solches System
und ein Verfahren benötigt,
das auf nichtbimodale Verteilungen anwendbar ist. Außerdem werden
ein solches System und Verfahren benötigt, das robust gegenüber Rauschen ist.
-
Gemäß einer
beispielhaften Ausführungsform
wird ein Verfahren zur Beurteilung eines Merkmals in Bezug auf Eignung
bei der Klassifikation von Subjekten auf der Basis von Subjektdaten
bereitgestellt. Die Subjektdaten umfassen Merkmaldaten und Klassendaten.
Das Verfahren umfasst das Anordnen der Subjektdaten auf einer Achse
auf der Basis der Werte der Merkmaldaten und das Identifizieren
der Anzahl von Klassenänderungen
von einer Klasse zu einer anderen Klasse in den angeordneten Subjektdaten.
Die Anzahl der Klassenänderungen
repräsentiert
die Eignung des Merkmals für
die Klassifikation der Subjekte.
-
Gemäß einer
alternativen Ausführungsform wird
ein Verfahren zur Beurteilung eines Merkmals in Bezug auf Eignung
bei der Klassifikation von Subjekten auf der Basis von Subjektdaten
bereitgestellt. Die Subjektdaten umfassen Merkmaldaten und Klassendaten.
Das Verfahren umfasst das Anordnen der Subjektdaten auf einer Achse
auf der Basis der Werte der Merkmaldaten, das Identifizieren aufeinanderfolgender
Subjektdaten, die eine Klassenänderung aufweisen,
und das Messen des Intervalls zwischen den zwei aufeinanderfolgenden
Subjektdaten. Das Intervall zwischen Klassenänderungen repräsentiert die
Eignung des Merkmals für
die Klassifikation des Subjekts.
-
Gemäß einer
weiteren alternativen Ausführungsform
wird ein System zur Beurteilung eines Merkmals in Bezug auf Eignung bei
der Klassifikation von Subjekten bereitgestellt. Das System umfasst Messmittel
zum Beschaffen von Merkmaldaten von mehreren Subjekten und Klassifikationsmittel
zum Klassifizieren jedes Subjekts mit einer ersten Klasse oder einer
zweiten Klasse. Das System umfasst ferner Mittel zum Anordnen der
Subjektdaten auf einer Achse auf der Basis der Werte der Merkmaldaten und
zum Identifizieren der Anzahl der Klassenänderungen von einer Klasse
zu einer anderen Klasse in den angeordneten Subjektdaten. Die Anzahl
der Klassenänderungen
repräsentiert
die Eignung des Merkmals für
die Klassifikation der Subjekte.
-
Die
Erfindung wird aus der folgenden ausführlichen Beschreibung in Verbindung
mit den beigefügten
Zeichnungen, in denen gleiche Bezugszahlen auf gleiche Elemente
verweisen, besser verständlich.
Es zeigen:
-
1 ein
Histogramm einer bimodalen, Gaußschen
Häufigkeitsverteilung
eines Merkmals;
-
2 ein
Histogramm einer nichtbimodalen, nicht-Gaußschen
Häufigkeitsverteilung
eines Merkmals;
-
3 ein
Blockschaltbild eines Systems zur Beurteilung eines Merkmals in
Bezug auf Eignung bei der Klassifikation von Objekten gemäß einer
beispielhaften Ausführungsform;
-
4 ein
Flußdiagramm
von Schritten in einem Verfahren gemäß einer beispielhaften Ausführungsform;
-
5 einen
Zahlenstrahl gemäß einer
beispielhaften Ausführungsform;
-
6 einen
Zahlenstrahl, der ein für
die Klassifikation relativ gutes Merkmal darstellt;
-
7 einen
Zahlenstrahl, der ein für
die Klassifikation relativ schlechtes Merkmal darstellt.
-
Zunächst mit
Bezug auf 3 ist ein Blockschaltbild eines
beispielhaften Systems gezeigt. Das System 10 enthält mehrere
Sensoren 12 und eine Signalverarbeitungsschaltung 14 und wahlweise
ein Display 16 und eine Benutzereingabeeinrichtung 18. Das
System 10 beschafft Merkmaldatensätze (z. B. einen Bilddatensatz,
einen Tondatensatz, andere eindimensionale oder mehrdimensionale
Signaldatensätze
usw.) eines Subjekts 20 (z. B. eines Objekts wie etwa eines
Schweißpunkts,
einer Fliese, eines Motors usw.) auf einem Förderband oder einer Plattform 22.
Das System 10 kann auf einem Mehrsignalverarbeitungssystem
implementiert werden, wie z. B. SIMULTAN, hergestellt von der Siemens
AG, München.
Das SIMULTAN-System kann viele verschiedene Merkmaldatensätze bezüglich eines
Subjekts erzeugen und kann vielfältige
Signaltypen verarbeiten, wie zum Beispiel Bilder, Ton, Vibration,
Strom, Kraft usw. Das nachfolgend beschriebene System und Verfahren
wählt somit
das beste Merkmal bzw. die besten Merkmale zur Verwendung für jeden
Klassifikationszweck.
-
Sensoren 12 (z.
B. Videokameras, Ultraschallwandler, Infrarotsensoren, Mikrophone
usw.) sind dafür
konfiguriert, Merkmaldaten zum Beispiel in Form eines digitalen
Bildes des Subjekts 20 vor einem Hintergrund oder einer
Plattform 22 zu beschaffen. In diesem Beispiel ist eine
Videokamera dafür konfiguriert,
einen Bilddatensatz in Graustufen zu beschaffen und den Bilddatensatz
zu der Signalverarbeitungsschaltung 14 zu senden. Als Alternative kann
die Videokamera Merkmaldaten in Farbe beschaffen und separate Subjektdatensätze für rot, grün und blau
für jedes
Bild senden. Als Alternative kann nur ein Sensor verfügbar sein,
obwohl aus der Ausgabe des einen Sensors mehrere Sätze von Merkmaldaten
erzeugt oder berechnet werden.
-
Die
Signalverarbeitungsschaltung 14 (d. h. ein Computer) enthält einen
programmierten Mikroprozessor (z. B. einen Prozessor des Typs INTEL x86,
einen Mikrocontroller usw.), Speicher, Kommunikationsschnittstellen
usw. Als Alternative kann die Signalverarbeitungsschaltung 14 programmierbare Logik,
diskrete Schaltungskomponenten usw. umfassen. Die Schaltung 14 arbeitet
gemäß einem
in Speicher (z. B. Festplattenspei cherung, Firmware, nichtflüchtigen
Speicher usw.) gespeicherten Soft- oder Hardwareprogramm, ist dafür konfiguriert,
verschiedene Signalverarbeitungsfunktionen an den empfangenen Merkmaldatensätzen auszuführen und
kann ferner dafür
konfiguriert sein, dem Display 16 (z. B. eine Kathodenstrahlröhre, Flüssigkristallanzeige usw.)
Display-Signale zuzuführen
und von der Benutzereingabeeinrichtung 18 (z. B. einer
Tastatur, einem Berührungsschirm
usw.) Benutzereingaben zu empfangen.
-
Nunmehr
mit Bezug auf 4 werden durch die Schaltung 14 durchgeführte Schritte
beschrieben. Im Schritt 102 ist das System 10 dafür konfiguriert, über die
Sensoren 12 Merkmaldaten bezüglich des Subjekts 20 zu
messen. Gemäß einem
Beispiel platziert ein Benutzer das Subjekt 20 (z. B. ein
Metallteil mit einer Punktschweißung) auf die Plattform 22 und drückt einen
Schalter (z. B. Taste, Mouseklick, Berührungsschirm usw.) auf der
Benutzereingabeeinrichtung 18. Als Reaktion befiehlt die
Signalverarbeitungsschaltung 14 den Sensoren 12,
ein oder mehrere Merkmale des Objekts 20 zu messen. Zum
Beispiel könnte
einer der Sensoren 12 eine Videokamera sein, die dafür konfiguriert
ist, ein digitales Bild des Subjekts 20 zu erhalten. Ein
anderer der Sensoren 12 könnte ein Gewichtsensor sein,
die dafür
konfiguriert ist, das Subjekt 20 zu wiegen. Ein weiterer
der Sensoren 12 könnte
ein Längensensor
sein, der dafür
konfiguriert ist, einen Durchmesser des Subjekts 20 zu
messen. Es wird eine beliebige Art von Sensor zur Messung eines
beliebigen Merkmals über
ein Subjekt 20 in Betracht gezogen. Wenn der eine oder die
mehreren Merkmaldatensätze
des Subjekts 20 beschafft sind, werden sie zu der Signalverarbeitungsschaltung 14 gesendet,
die die Merkmaldaten im Speicher zur weiteren Verarbeitung in einer
Datenstruktur speichert. Die Datenstruktur enthält sowohl Merkmaldaten als
auch etwaige andere Subjektdaten, wie etwa Klassendaten (siehe den
nachfolgenden Schritt 104). Der Benutzer verarbeitet in
der Regel eine Anzahl von Subjekten, (z. B. 10, 20–30 usw.),
um eine statistisch signifikante Stichprobe der verschiedenen Klassen
von Subjekten zu erhalten.
-
Im
Schritt 104 werden die Subjektdaten in eine von mehreren
Klassen klassifiziert. Bei dieser beispielhaften Ausführungsform
werden die Subjektdaten in eine "gute" Klasse und eine "schlechte" Klasse klassifiziert.
Als Alternative können
Subjektdaten in Klassen klassifiziert werden, die verschiedene Größen repräsentieren
(z. B. kurz, mittel, lang), oder Eigenschaften, Charakteristika
usw. Ein Verfahren zum Klassifizieren von Subjektdaten besteht darin,
dass ein Benutzer einen Schalter an der Benutzereingabeeinrichtung 18 betätigt, um
anzuzeigen, ob das sich gerade auf der Plattform 22 befindende
Subjekt gut oder schlecht ist. Ein Benutzer legt mehrere Subjekte
auf die Plattform 22 und beschafft für jedes Subjekt Merkmaldaten
und assoziiert eine Klasse (z. B. gute Punktschweißung, schlechte
Punktschweißung
usw.) mit jedem Subjekt, um die Klassendaten zu erzeugen. Die Schaltung 14 ist
dafür konfiguriert, die
Subjektdaten mit den Merkmaldaten und den Klassendaten als Vorbereitung
für die
weitere Verarbeitung in einem Speicher zu speichern.
-
Im
Schritt 106 ist die Schaltung 14 dafür konfiguriert,
mit der Verarbeitung der Subjektdaten zu beginnen. Die Schaltung 14 ordnet
die Subjektdaten zuerst auf der Basis der Werte der Merkmaldaten. Genauer
gesagt nehmen die Merkmaldaten in der Regel Werte über einen
Bereich von Werten von einem Minimum zu einem Maximum an (z. B.
von einer tiefroten Farbe zu einer tiefblauen Farbe, von einem Minimalgewicht
von 0 bis zu einem Maximalgewicht von vielleicht 2–3 Kilogramm
usw.) 5 zeigt als graphische Repräsentation das Ergebnis dieser
Anordnung, einen Zahlenstrahl 30. Der Zahlenstrahl 30 enthält eine
sich von einem minimalen Merkmalwert 34 nach außen erstreckende
Linie 32. Alle Subjektdaten werden auf dem Zahlenstrahl 30 aufgetragen, wie
zum Beispiel an den Punkten "X" 36 und "O" 38 gezeigt. Die Indizien "X" und "O" repräsentieren
die Klassendaten für
jeden Datenpunkt (z. B. Klasse X, Klasse O), die im Schritt 104 erzeugt
werden. Der Zahlenstrahl ist lediglich eine Repräsentation der Anordnung; in
der Regel ist bei einer tatsächlichen
Ausführungsform
die Schaltung 14 da für
konfiguriert, die Subjektdaten in einer linearen Datenstruktur oder
an aufeinander folgenden Speicherstellen zur Bildung der Anordnung
zu speichern. Es werden alternative Anordnungsverfahren in Betracht
gezogen.
-
Im
Schritt 108 ist die Schaltung 14 dafür konfiguriert,
die Anzahl der Klassenänderungen
von einer Klasse zu einer anderen in den angeordneten Subjektdaten
zu identifizieren. Wieder mit Bezug auf 5 ist die
Schaltung 14 dafür
konfiguriert, die Klassendaten aus allen Subjektdaten, voranschreitend
von dem Punkt 34 entlang der Linie 32 auf dem Zahlenstrahl 30,
zu lesen. Im Punkt 40 wird eine Klasse "X" gelesen.
Der nächste
aufeinander folgende oder benachbarte Punkt auf der Linie 32 (Punkt 42)
gibt eine Klasse "O" an, d. h. eine Klassenänderung
von Klasse "X" zu Klasse "O". Die Schaltung 14 ist dafür konfiguriert,
dies als eine Klassenänderung zu
identifizieren und einen Klassenänderungszähler (z.
B. eine Speicherstelle) zu erhöhen.
Die Schaltung 14 fährt
auf dem Zahlenstrahl 30 fort, bis sie den Punkt 44,
einen Punkt der Klasse "O", und den Punkt 46,
einen Punkt der Klasse "X", erreicht. Die Schaltung 14 identifiziert
dies als eine weitere Klassenänderung
und erhöht
wiederum den Klassenänderungszähler. Die
Schaltung 14 schreitet auf diese Weise voran, bis alle
oder genügend
Subjektdaten gelesen sind. Die Anzahl der Klassenänderungen
repräsentiert
die Eignung dieses Merkmals für
die Klassifikation des Subjekts 20. Wenn eine große Anzahl von
Klassenänderungen
vorliegt, ist das Merkmal weniger für die Klassifikation des Subjekts 20 geeignet.
Wenn eine kleine Anzahl von Klassenänderungen vorliegt, ist das
Merkmal besser für
die Klassifikation des Subjekts 20 geeignet.
-
Im
Schritt 110 ist ein weiteres vorteilhaftes Erfindungsmerkmal
gezeigt. Die Schaltung 14 ist ferner dafür konfiguriert,
das Intervall zwischen Klassenänderungen
in den angeordneten Subjektdaten, wie zum Beispiel die Intervalle 48 und 50 in 5,
zu messen. Je größer die
Intervalle zwischen Klassenänderungen
sind, desto geeigneter ist das Merkmal für die Klassifikation des Subjekts 20.
Je weniger sich die Intervalle zwischen Klassen ändern, desto weniger geeignet
ist das Merkmal für
die Klassifikation des Subjekts 20. Es ist ersichtlich,
dass entweder die Anzahl der Klassenänderungen oder die Größe der Intervalle
oder beides von der Schaltung 14 zur Bestimmung der Eignung
des Merkmals für
die Klassifikation des Subjekts 20 verwendet werden können.
-
Im
Schritt
112 ist die Schaltung
14 dafür konfiguriert,
für jedes
Merkmal auf der Basis der Anzahl von Klassenänderungen und/oder der Größe der Intervalle
in den angeordneten Subjektdaten einen Geeignetheitswert zu erzeugen.
Der Geeignetheitswert kann dann dazu verwendet werden, mehrere Merkmale
des Subjekts
20 in Bezug aufeinander zu vergleichen, um
zu bestimmen, welches am besten für Klassifikationen geeignet
ist. Gemäß einer
beispielhaften Gleichung wird der Geeignetheitswert folgendermaßen berechnet:
wobei i = ein Index, n =
die Anzahl der Klassenänderungen,
d
i = das Intervall zwischen Klassenänderungen
und a ist eine Konstante, die zum Variieren des relativen Gewichts
oder der Anzahl von Klassenänderungen
im Vergleich zu der Größe der Intervalle verwendet
wird. Diese Gleichung berücksichtigt
die Situation, bei der d(i) = 0 ist, d. h. wenn zwei Subjektdaten
denselben Merkmalwert, aber andere Klassen aufweisen. Je kleiner
dieser Geeignetheitswert ist, desto besser ist das Merkmal für das Klassifizieren der
Subjekte. Je größer dieser
Geeignetheitswert ist, desto schlechter ist das Merkmal für das Klassifizieren
der Subjekte.
-
Im
Schritt 114 wird eines oder mehrere der Merkmale als am
besten für
die Klassifikation des Subjekts 20 geeignet ausgewählt. Die
Schaltung 14: kann dafür
konfiguriert sein, diesen Schritt automatisch durch einfaches Vergleichen
der Geeignetheitswerte auszuführen,
oder dies kann durch einen Benutzer über die Benutzereingabeeinrichtung 18 nach Betrachten
der Geeignetheitswerte, der Anzahl von Klassenänderungen und/oder Intervalle
zwischen Klassenänderungen
auf dem Display 16 geschehen. Wenn die Schritte 102–114 abgeschlossen
sind, ist die Schaltung 14 dafür konfiguriert, Subjekte zum Beispiel
während
der Produktion unter Verwendung des besten Merkmals oder der besten
Gruppe von Merkmalen für
Klassifikationszwecke automatisch zu klassifizieren.
-
6 und 7 sind
Zahlenstrahlen 120 und 130, die ein erstes, für die Klassifikation
relativ gutes Merkmal bzw. ein zweites, für die Klassifikation relativ
schlechtes Merkmal 130 darstellen. Der Zahlenstrahl 120 enthält nur vier
Klassenänderungen, die
jeweils durch mindestens ein kleines Intervall getrennt werden.
Der Zahlenstrahl 130 enthält ungefähr elf Klassenänderungen,
wovon der größte Teil
durch ein sehr kleines Intervall getrennt wird.
-
Die
gemessenen Merkmale der Subjekte können wie erwähnt eine
beliebige Art von Merkmal über
die Subjekte sein, das gemessen oder berechnet werden kann. Zusätzlich zu
den erwähnten
kann die Schaltung 14 dafür konfiguriert sein, auf der
Basis gemessener Merkmaldaten weitere Merkmale zu berechnen. Zum
Beispiel kann die Schaltung 14 aus einem Digitalbild des
Subjekts den Mittelwert, die Varianz, den Durchmesser, die Standardabweichung usw.
von Punkten in dem digitalen Bild berechnen, wobei all diese jeweils
ein weiteres Merkmal des Subjekts sind, das für Klassifikationszwecke geeignet
sein kann. Als ein weiteres Beispiel kann ein Mikrophon ein Tonsignal
von dem Subjekt empfangen. Ein Verfahren zum Prüfen der Qualität einer
Fliese ist das Anschlagen der Fliese mit einem Hammer und das Aufzeichnen
des von dieser resonierenden Tons. Dieses Tonsignal ist ein Merkmal
des Subjekts und aus dem Tonsignal abgeleitete Daten, wie etwa Maximalamplitude,
Frequenz, Abklingzeit, Quadratwurzel, Absolut-Quadrat usw. sind
weitere Merkmale des Subjekts, die für Klassifikationszwecke geeignet
sein können.
Das System und Verfahren von 3-5 identifiziert,
welches dieser Merkmale am besten für die Klassifikation der Fliesen,
zum Beispiel in "gute" und "schlechte" Teile, geeignet
ist.
-
Obwohl
Ausführungsbeispiele
dargestellt und beschrieben wurden, versteht sich, dass die hier offengelegten
Ausführungsformen
lediglich als Beispiel dargestellt werden. Zum Beispiel können die Subjektdaten,
die Merkmaldaten und Klassendaten umfassen, in verschiedenen Arten
von Datenstrukturen und/oder auf verschiedenen Arten von Speichern gespeichert
und angeordnet werden. Zusätzlich
zu Zwei-Klassifikationsschemata (z. B. "gute" Teile
und "schlechte" Teile) können Subjekte
in drei, vier oder mehr Klassifikationen klassifiziert werden. Die
Erfindung ist nicht auf eine konkrete Ausführungsform beschränkt, sondern
erstreckt sich auf verschiedene Modifikationen, die dessen ungeachtet
in den Schutzumfang der angefügten
Ansprüche
fallen.