-
Die vorliegende Erfindung bezieht
sich auf die Erkennung von Oberflächenfehlern und insbesondere auf
die optische, berührungslose
bzw. nichttaktile Erfassung von Oberflächenfehlern, wobei sich Ausführungsbeispiele
der vorliegenden Erfindung insbesondere auf die Erkennung von Fehlern
in Gussteilen beziehen.
-
Die Herstellung komplex geformter,
metallischer Bauteile durch Gießen
und anschließende
Bearbeitung funktionaler Oberflächen
ist eine weit verbreitete, unverzichtbare Fertigungsmethode bei
der Produktion verschiedenster Güter,
wie z.B. in dem Branchenmaschinenbau, Automobil, Sanitär usw.
-
Verfahrensbedingt kann im Gießprozess
bei komplizierten Formen die Bildung von Poren oder Lunkern bzw,
fehlerhaften Hohlräumen
in den Gussstücken
nicht völlig
ausgeschlossen werden, so dass potentiell auch Oberflächendefekte
aufgrund von bei der nachfolgenden Bearbeitung freigelegten Poren
oder Lunkern unvermeidlich sind. Weitere Oberflächendefekte können während der
Bearbeitung oder des Transportes der Teile entstehen.
-
Aufgrund dessen kann eine absolute
Fehlerfreiheit der Gussstücke
nicht erreicht werden. Eine solche absolute Fehlerfreiheit wird
aber umgekehrt durch beispielsweise die Kfz-Industrie zunehmend
gefordert. In diesem Fall ist es deshalb notwendig, eine hundertprozentige
Sichtprüfung
der kompletten Produktion, d.h. eine Sichtprüfung jedes Gussstücks, mit
nachfolgender Aussortierung fehlerhafter Teile durchzuführen. Aufgrund
der meist sehr komplexen Form von Gussteilen, der schlecht zugänglichen
Lage funktionaler Flächen, wie
z.B. in Bohrungen, sowie der kleinen Fehlerabmessungen bei großen, zu
prüfenden
Flächen
ist die Prüfung durch
menschliches Personal jedoch sehr aufwendig, fehleranfällig, subjektiv,
inhuman und kostenintensiv.
-
Es wäre deshalb wünschenswert,
Oberflächenfehler
in Gussteilen automatisch und auch bei hohen Durchsätzen sicher
erkennen zu können.
-
In S.D. Yanowitz und A.M. Bruckstein, „A new
method for image segmentation",
Comput. Vision Graphics Image Process., v. 46, S. 82 – 95 (1989),
wird ein Artefakterkennungssystem beschrieben. Das System arbeitet
auf folgende Weise. Das zu prüfende
Bild wird mit einem Mittelwert-Filter
abgeglichen. Der Gradient der Intensität des Bildes wird berechnet.
Das Gradienten-Bild wird durch eine Schwelle binarisiert und gedünnt. Als
Ergebnis werden Grenzen der Objekte gefunden. An gefundenen Fragmenten
der Grenzen werden als Schwelle die aktuellen Grauwerte genommen.
Eine gesamte Schwellwert-Oberfläche
wird aus diesen lokalen Schwellwerten erzeugt, und zwar gemäß einer
sogenannten potentiellen Oberfläche,
die die Lösung
der Laplace-Gleichung
darstellt. Das gesamte Bild wird daraufhin segmentiert und Artefakte
werden erkannt und gelöscht.
-
Nachteilhaft an der Vorgehensweise
ist, dass die Algorithmen zum Berechnen der Gradienten und besonders
der potentiellen Oberfläche
extrem zeitaufwendig und damit nicht für ein Prüfsystem geeignet sind, das
mit hoher Geschwindigkeit unter Echtzeitbedingungen in einer Produktionsumgebung
arbeiten soll. Ferner tendiert die potentielle Oberfläche dazu,
sich entfernt von interessierenden Bildzonen an die mittlere Helligkeit des
Bildes anzunähern,
weshalb sich auf dem Bild dort, wo nur wenige charakteristische
Bildmerkmale zu sehen sind, sehr viele Artefakte produzieren wird.
Die Prüfung
und Eliminierung dieser Artefakte wird wiederum viel Zeit in Anspruch
nehmen.
-
Es ist die Aufgabe der vorliegenden
Erfindung, eine Vorrichtung zur Erkennung von Fehlern einer Objektoberfläche eines
Objekts zu schaffen, die unaufwendigere und/oder sicherere Prüfung von
Oberflächen
auf Fehler hin ermöglicht.
-
Diese Aufgabe wird durch eine Vorrichtung
gemäß Anspruch
1 gelöst.
-
Die Erkenntnis der vorliegenden Erfindung
besteht darin, dass eine sehr kontrastreiche Abbildung einer Objektoberfläche und
damit eine erleichterte und/oder sichere Auswertung der Bilddaten,
um Oberflächenfehler
zu erkennen, möglich
ist, wenn Beleuchtungseinrichtung und Erfassungseinrichtung derart
zu der zu prüfenden
Oberfläche
angeordnet werden, dass der Einfallswinkel des Beleuchtungsstrahls
zur Oberfläche den
gleichen Winkel aufweist, wie der Erfassungsstrahl zur Oberfläche geneigt
ist, d. h. die Glanzwinkel-Bedingung erfüllt ist, da dann dadurch eine
sehr kontrastreiche Abbildung erhalten wird, bei der sich fehlerhafte von
fehlerfreien Oberflächenstellen
stark in ihrer Helligkeit unterschieden.
-
Gemäß einem Ausführungsbeispiel
wird der hohe Kontrast dazu verwendet, die Auswertung dadurch zu
vereinfachen, dass die Erkennung stufenweise vorgenommen wird, um
die Anzahl zu untersuchender Pixel bzw. die Größe bei der Prüfung in
Betracht zu ziehender Pixelregionen so gering wie möglich zu
halten. Zunächst
werden unter allen Pixeln des Abbildes der Oberfläche diejenigen
Pixel ermittelt, deren Pixelhelligkeitswert von einem mittleren
Wert der Pixelhelligkeitswerte von Pixeln in einer Umgebung derselben
mehr als um eine vorbestimmte Helligkeitsschwelle abweichen. Die
so ermittelten Kandidatenpixel werden zu zusammenhängenden
Clustern bzw. Blobs gruppiert. Auf diese Weise kann die weitere
Fehlersuche auf die Blobs und ihre Umgebung eingeschränkt werden.
In einer zweiten Stufe werden die Blobs daraufhin untersucht, ob
in der Nähe
eines Randes des Blobs eine Konturlinie ziehbar ist, die mit mehr
als einem vorbestimmten Mindestkontrast hellere von dunkleren Pixeln
in dem und um den Blob herum trennt. Auf diese Weise wird die nachfolgende
Fehlersuche von zweidimensionalen Pixelclustern weiter auf eindimensionale
Pixelketten eingeschränkt, die
die Konturlinien von sogenannten Objekten bilden. Ein Konturlinienvergleich
mit Sollkonturlinien kann dann dazu verwendet werden, um mit hoher
Sicherheit Objekte in den Aufnahmen Sollkonturen zuzuordnen, aber auch
um Fehler an Objektkanten, d.h. Abweichungen von einer zuordbaren
Sollkonturlinie, festzustellen. Diese Vorgehensweise nutzt aus,
dass es für
die Fehlererkennung unwesentlich ist, ob die Fehlstellen in der
Oberfläche
in der optischen Abbildung tatsächlich
in ihrer Ausdehnung richtig ermittelt werden, oder ob lediglich
ein Teil der Fehlstelle in Form einer Konturlinie erfasst wird.
Tatsächlich
ist es lediglich notwendig, dass zu jeder in den Bilddaten sichtbaren
Fehlstelle eine Konturlinie jedweder Form ermittelt wird, die dann
zu einer Fehlererkennung führt.
-
Gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung findet Beleuchtung und Bilderfassung nicht
nur unter Verwendung gleichen Einfalls- und Ausfallswinkels statt,
sondern vielmehr werden Einfalls- und Ausfallswinkel senkrecht zur
Oberfläche
gewählt.
Ermöglicht
wird dies gemäß einer
Alternative durch einen sich im Strahlengang befindlichen Strahlteiler
und gemäß einer
weiteren Alternative durch eine Lichtquelle mit einer effektiven
Leuchtfläche,
die in der optischen und senkrecht zur Objektoberfläche verlaufenden
Achse eine Öffnung
für einen
Lichtdetektor aufweist. Durch senkrechten Einfalls- und Ausfallswinkel
wird es zusätzlich
bei planaren Objektoberflächen
ermöglicht,
einen großen
Teil der Objektoberfläche
gleichzeitig in dem Tiefenschärfenbereich
des beispielsweise als Kamera ausgebildeten Lichtdetektors anzuordnen,
so dass eine flächenhafte
Bildaufnahme ermöglicht
wird. Ferner treten beleuchtungsseitig keine Abschattungen an vorstehenden
Objektmerkmalen oder an Oberflächenausnehmungen
auf.
-
Bevorzugte Ausführungsbeispiele der vorliegenden
Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden
Zeichnungen näher
erläutert.
Es zeigen:
-
1 eine
Bildaufnahme einer Gussteil-Oberfläche mit komplexen Konturen,
die unter Verwendung der Beleuchtungs/Bilderfassungsanordnung von 7 erzeugt worden ist, gemäß einem
Ausführungsbeispiel der
vorliegenden Erfindung;
-
2 einen
Ausschnitt aus der Aufnahme von 1,
in dem ein Oberflächendefekt
zu erkennen ist;
-
3 eine
mikroskopische Aufnahme des in 2 erkennbaren
Oberflächendefektes;
-
4 ein
Flussdiagramm zur Veranschaulichung der Schritte bei einer Fehlererkennung
nach einem Ausführungsbeispiel
der vorliegenden Erfindung;
-
5 ein
schematisches Raumbild der Beleuchtungs/Bilderfassungsanordnung
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung;
-
6 ein
schematisches Raumbild einer Beleuchtungs/Bilderfassungsanordnung
gemäß einem
weiteren Ausführungsbeispiel
der vorliegenden Erfindung;
-
7 ein
schematisches Raumbild einer Beleuchtungs/Bilderfassungsanordnung
gemäß einem
weiteren Ausführungsbeispiel
der vorliegenden Erfindung;
-
8 ein
schematisches Raumbild einer Beleuchtungs/Bilderfassungsanordnung
gemäß einem
weiteren Ausführungsbeispiel
der vorliegenden Erfindung;
-
9 ein
schematisches Raumbild einer Beleuchtungs/Bilderfassungsanordnung
gemäß einem
weiteren Ausführungsbeispiel
der vorliegenden Erfindung;
-
10 ein
schematisches Raumbild einer Beleuchtungs/Bilderfassungsanordnung
gemäß einem
weiteren Ausführungsbeispiel
der vorliegenden Erfindung;
-
11 ein
Flussdiagramm zur Veranschaulichung der Schritte bei der Überprüfung, ob
für einen
Blob eine Konturlinie existiert;
-
12 eine
schematische Darstellung eines Blobs zur Veranschaulichung der Vorgehensweise
nach 11;
-
13 ein
Flussdiagramm zur Veranschaulichung der Schritte bei der Erkennung
von Fehlern auf der Grundlage der Objekte, bei denen Konturlinien
gezogen werden konnten, und von Sollbildobjekten;
-
14 ein
Flussdiagramm zur Veranschaulichung der Schritte bei der Erkennung
von Kantenfehlern unter den Objekten mit Konturlinien, die bereits
als zu einer bestimmten Sollkonturlinie gehörig erkannt worden sind; und
-
15 eine
schematische Zeichnung, die einen Ausschnitt einer Blobkonturlinie
und einer zugeordneten Sollkonturlinie sowie zwei der drei zugehörigen Funktionen
darstellt, die nach dem Vorgehen von 14 erzeugt
werden.
-
Bevor Bezug nehmend auf die nachfolgenden
Figuren die vorliegende Erfindung anhand von Ausführungsbeispielen
näher erläutert wird,
wird darauf hingewiesen, dass gleiche oder einander entsprechende
Elemente in den Figuren mit gleichen oder ähnlichen Bezugszeichen versehen
sind, und dass eine wiederholte Beschreibung dieser Elemente weggelassen
wird.
-
Die vorliegende Erfindung wird im
folgenden vor dem Hintergrund der Oberflächenprüfung von Gussteilen beschrieben,
und zwar entweder unbehandelten Gussteilen oder Gussteilen, die
nach dem Gießvorgang weiteren
Oberflächenbearbeitungen,
insbesondere Schleifen, unterzogen worden sind. Gussteile der vorher beschriebenen
Art weisen eine metallische, spiegelnde Oberfläche auf, die sich für die nachfolgend
beschriebene Erzeugung von kontrastreichen Bildaufnahmen der Oberfläche gut
eignen. Die vorliegende Erfindung ist jedoch nicht auf die Oberflächenprüfung von
Gussteilen beschränkt.
So eignen sich die nachfolgend beschriebenen Ausführungsbeispiele
beispielsweise ebenso für
die Oberflächenprüfung von
Glasbauteilen oder geschliffenen Oberflächen jedweden Materials.
-
1 zeigt
exemplarisch die Bildaufnahme eines zu untersuchenden Gussteils
oder genauer ausgedrückt
die Bildaufnahme einer zu untersuchenden Oberfläche eines Gussteils. In dem
vorliegenden exemplarischen Fall ist das Gussteil ein plattenförmiger Gegenstand
mit zwei im wesentlichen koplanaren Hauptseiten, zwischen denen
sich Durchbrüche
und Bohrungen unterschiedlicher Form entlange der Plattendicke erstrecken.
-
Die Aufnahme von 1 ist unter speziellen Beleuchtungs/Bilderfassungsbedingungen
aufgenommen worden, nämlich
derart, dass die Beleuchtung derart zur optischen Achse des aufnehmenden
Lichtdetektors ausgerichtet ist, dass die Lichtquelle bezüglich des
bildseitig sichtbaren Oberflächenbereichs
im Glanzwinkel erscheint, d.h. dass der Einfallswinkel der Beleuchtungsstrahlen
zur Objektoberfläche
gleich Ausfallswinkel der reflektierten erfassten Strahlen zur Objektoberfläche ist.
Aufgrund dieser Beleuch tungs/Bilderfassungsbedingungen reflektiert
der größte Teil
der planaren Oberfläche
des planaren Gussteils die zur Beleuchtung verwendeten Strahlen
direkt in die bildaufnehmende Einheit, wie z.B. eine Kamera. Diese
Stellen der Oberfläche sind
in der Aufnahme von 1 als
die helle Fläche 2 zu
erkennen. Kanten des Gussteils erscheinen aufgrund ihrer Neigung
zur Oberfläche 2 dunkel.
-
2 zeigt
einen Ausschnitt der Bildaufnahme von 1.
Wie es zu sehen ist, erscheint der in 2 dargestellte
Abschnitt der Oberfläche 2 des
Gussteils im wesentlichen durchweg weiß, abgesehen von den in 2 sichtbaren zwei Bohrungen 4 und 6.
Zu erkennen ist jedoch ferner bei 8 eine Stelle, an der
eine zusammenhängende
Gruppe von Pixeln der Bildaufnahme von 2 an dem ansonsten hell erscheinenden
Bereich 2 dunkel hervorstechen.
-
3 zeigt
eine mikroskopische Aufnahme der Oberfläche des Gussteils in dem Abschnitt,
der in 2 auf die Stelle 8 abgebildet
worden ist. Wie es zu erkennen ist, handelt es sich bei der Stelle 8 um
das Bild eines Oberflächendefektes,
in dem vorliegenden Fall einen durch einen Schleifvorgang freigelegten
Lunker mit einem Durchmesser von etwa 0,3 mm. Wie es im folgenden
noch bezüglich 5 – 10 noch
näher erörtert werden
wird, erscheint der Lunker 8 in der Aufnahme von 1 bzw. 2 dunkel, weil die Oberfläche des Gussteils
an dieser Stelle zerklüftet
und insbesondere geneigt zu dem Rest der Oberfläche 2 ist, so dass
die einfallenden Strahlen von der Lichtquelle unter einem anderen
Winkel als dem Glanzwinkel reflektiert werden und somit nicht zum
aufnehmenden Lichtdetektor gelangen. Beispiele anderer Oberflächenfehler
bei Gussteilen umfassen Kantenausbrüche, Kratzer oder andere Abweichungen
der Oberfläche
von einer Sollform.
-
Nachdem nun Bezug nehmend auf die 1 – 3 ein
Ausführungsbeispiel
für eine
mögliche
zu prüfende
Oberfläche
beschrieben worden ist, nämlich
diejenige eines Gussteils, sowie Beispiele für mögliche Oberflächenfehler,
werden im folgenden Ausführungsbeispiele
der vorliegenden Erfindung zur Erkennung von Oberflächenfehlern
vor dem Hintergrund der Oberflächenprüfung von
Gussteilen beschrieben, wobei, wenn es sachdienlich ist, auf eine
der 1 – 3 Bezug genommen wird.
-
4 zeigt
die Schritte bei der Oberflächenfehlererkennung
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung in grober Übersicht. Die Vorgehensweise
beginnt im Schritt 10 damit, dass eine Bildaufnahme der
zu prüfenden
Objektoberfläche
mit einer der in 5–10 gezeigten Vorrichtungen
vorgenommen wird. Das Ergebnis sind kontrastreiche Bilddaten, die
für jedes
Pixel eines Pixelarrays einen Helligkeitswert H aufweisen. Obwohl
die Pixel freilich auch anders angeordnet sein können, wird im folgenden davon
ausgegangen, dass die Pixel in Zeilen und Spalten regelmäßig angeordnet
sind, wobei im folgenden der Helligkeitswert für ein Pixel in der x-ten Zeile
und y-ten Spalte mit H(x,y) angegeben wird.
-
Bezug nehmend auf die 5 – 10 werden
im folgenden Ausführungsbeispiele
für Beleuchtungs/Bilderfassungsanordnungen
gemäß der vorliegenden
Erfindung beschrieben, die zur Bilderzeugung im Schritt 10 verwendet
werden.
-
5 zeigt
ein erstes Ausführungsbeispiel
für eine
Beleuchtungs/Bilderfassungsanordnung. Die Anordnung von 5, die allgemein mit 12 angezeigt
ist, umfasst als Lichtquelle 14 eine Anordnung aus einer Kaltlichtquelle 16,
einem Lichtleiter 18, in den das Licht der Kaltlichtquelle 16 eingekoppelt
wird, und einen Querschnittwandler 20, in welchem das Licht
in dem Lichtleiter 18 derart aufgefächert wird, dass das Licht
der Kaltlichtquelle 16 aus einer Zeile von Austrittspupillen
austritt, so dass parallel verlaufende Beleuchtungsstrahlen 22 auf
einer zu prüfenden
Oberfläche 24 eines
Prüflings 26 ein
Linienlicht erzeugen, d.h. einen linienförmigen belichteten Bereich 28.
Die Beleuch tungsstrahlen 22 treffen auf die Oberfläche 24 unter
einem Eintrittswinkel θe auf.
-
Erfassungs- bzw. aufnahmeseitig umfasst
die Anordnung 12 von 5 eine
Zeilenkamera 30 mit einem Objektiv 32. Die optische
Achse des Objektivs 32 ist auf die Linie 28 gerichtet,
an der die Beleuchtungsstrahlen 22 auf die Oberfläche 24 treffen
und ist zu der Oberfläche 24 in
einem Austrittswinkel θa geneigt, derart, dass die Lichtquelle 14 bezüglich dem
im Kamerabild sichtbaren Oberflächenbereich 28 im
Glanzwinkel erscheint. Das Objektiv 32 bildet den beleuchteten
linienförmigen
Bereich 28 der Oberfläche 24 auf
ein Pixelarray in der Kamera 30 ab.
-
Ferner umfasst die Anordnung 12 eine
Verschiebeeinheit zum Verschieben des Prüflings 26 senkrecht zur
Flächennormalen
am beleuchteten Bereich 28 und vorzugsweise auch senkrecht
zur Beleuchtungslinie 28, wobei die Verschiebeeinheit in 5 aus Übersichtlichkeitsgründen nur
durch einen Pfeil 34 angedeutet ist, der gleichzeitig die
Verschieberichtung darstellen soll.
-
Eine Bildaufnahme unter Verwendung
der Anordnung 12 von 5 erfolgt
auf folgende Weise. Die Lichtquelle 14 erzeugt ein Linienlicht 22,
das auf der Oberfläche 24 zu
einem linienförmigen
belichteten Bereich 28 führt. Von dort aus werden die
Beleuchtungsstrahlen 22 größtenteils zur als Lichtdetektor
dienenden Zeilenkamera 30 reflektiert. Das Objektiv bildet
den beleuchteten linienförmigen
Bereich 28 auf das Zeilenarray der Zeilenkamera 30 ab.
Bei jedem Pixel tragen zur Bildaufnahme nur diejenigen Strahlen
bei, die am jeweiligen Oberflächenpunkt
entlang der Linie 28, der auf das jeweilige Pixel abgebildet
wird, reflektiert werden und vom Glanzwinkel nur geringfügig oder
gar nicht abweichen, da sie ansonsten nicht in die Eintrittspupille
der Kamera 30 gelangen und nicht zur Bildaufnahme beitragen.
Hierdurch entsteht zunächst
eine Pixelzeile oder Pixelspalte, die eine Abbildung des beleuchteten
Bereichs 28 bzw. des auf die Pixelzeile der Zeilenkamera 30 abgebildeten
Oberflächenbereichs
darstellt.
-
Mit einem bestimmten Takt wiederholt
die Zeilenkamera 30 ihre Aufnahmen und erzeugt weitere
Pixelzeilen bzw. Pixelspalten. Währenddessen
wird jedoch der Prüfling
entlang der Richtung 34 koplanar zur Oberfläche 24 verschoben.
Aufgrund der Verschiebung senkrecht zur Flächennormalen verbleibt die
Oberfläche 24 des
Prüflings 26 im
Tiefeschärfenbereich
des Objektivs 32 bzw. an dem Ort, an dem sich Beleuchtungsstrahlen 22 und
optische Achse der Kamera 30 schneiden. Durch den Verschiebevorgang
wird jedoch effektiv bewirkt, dass während aufeinanderfolgender
Pixelzeilenaufnahmen der beleuchtete Bereich 28 entlang
der Oberfläche 24 in
einer Richtung entgegengesetzt zur Verschieberichtung 34 virtuell
bewegt wird, so dass die aufeinanderfolgenden Aufnahmen der Zeilenkamera 30 durch
Aneinanderfügen
der einzelnen Aufnahmen ein zweidimensionales Pixelarray ergeben,
das eine Bildaufnahme der Objektoberfläche 24 darstellt.
-
Wie im Vorhergehenden erwähnt, handelt
es sich vorliegend bei der zu prüfenden
Oberfläche 24 exemplarisch
um die beispielsweise bearbeitete Oberfläche eines Rohgussteils 26.
Diese spiegelt den größten Anteil
des Lichts 22 zur Kamera 30, wobei Bereiche, bei
denen die Glanzwinkel-Bedingung,
d.h. θe = θa, gut erfüllt ist, heller in der Bildaufnahme
bzw. dem Pixelarray erscheinen bzw. abgebildet werden als Bereiche,
bei denen die Glanzwinkel-Bedingung nicht oder nur annähernd erfüllt ist.
Dies ist gerade bei Defekten, wie freigelegten Lunkern, Dellen oder
Kratzern, der Fall. Bei der Objektprüfung von Rohgussteilen erscheinen
aufgrund der niedrigeren Reflektivität Rohgussbereiche durchschnittlich
dunkler auszusehen als mechanisch bearbeitete Bereiche.
-
Bei dem Ausführungsbeispiel von 5 fiel das zur Beleuchtung
verwendete Licht 22 schräg auf die zu prüfende Oberfläche 24.
Aufgrund dieser Tatsache entstehen während des Scanvorganges in
dem Fall hervorstehender Oberflächenmerkmale,
wie z.B. Zapfen, Abschattungen, die eine Auswertung der Bilddaten,
wie sie von der Kamera 30 geliefert werden, und welche
im folgenden noch näher
erläutert
werden wird, in dem abgeschatteten Bereich unmöglich macht. Ferner musste
auch die optische Achse der Kamera schräg zur Oberfläche 24 geneigt
sein, so dass einige Oberflächenbereiche
trotz Scans nicht zu sehen sind, wie z.B. der Boden von Sackbohrungen
oder der verdeckte Bereich hinter einem vorstehenden Merkmal.
-
Die nachfolgend Bezug nehmend auf
die 6 – 10 beschriebenen Ausführungsbeispiele
umgehen dieses Problem, indem Beleuchtungsstrahlengang und reflektierter
Strahlengang zusammengelegt werden, so dass sie zusammenfallen,
was einer Beleuchtung senkrecht zur Oberfläche und einer Lichterfassung
mit einer optischen Achse senkrecht zur Oberfläche entspricht. Anders ausgedrückt bedeutet
in dem Sonderfall einer zur betrachteten Oberfläche senkrecht angeordneten
optischen Achse der Kamera die Erfüllung der Glanzwinkelbedingung,
dass auch die Beleuchtung senkrecht zur betrachteten Oberfläche, d.h.
in der optischen Achse der Kamera, angeordnet werden muss.
-
6 zeigt
eine mögliche
Anordnung zur Realisierung dieses Sonderfalls. Die Anordnung von 6 ist allgemein mit 12a angezeigt.
Die Anordnung 12a umfasst wie die Anordnung von 5 eine Kamera 30 mit einem
Objektiv 32 und eine Lichtquelle 1A. In dem Fall
von 6 ist jedoch die
Kamera 30 eine flächenhaft messende
Kamera, die ein zweidimensionales Pixelarray aufweist, auf welches
das Objektiv 32 einen interessierenden flächigen Teil
der Oberfläche 24 des
Prüflings 26 abbildet.
Mit ihrer optischen Achse 36 ist die Kamera 30 senkrecht
zur Oberfläche 24 ausgerichtet.
Die Lichtquelle 14 besteht im Unterschied zu dem Ausführungsbeispiel
von 5 aus einer flächigen,
streuenden Lichtquelle 38. Die Glanzwinkel-Bedingung wird
bei dem Ausführungsbeispiel
von 6 dadurch erfüllt, dass
zwischen Objektiv 32 und Prüfling 26 ein Strahlteiler 40 angeordnet
ist, der das Licht 22 von der Lichtquelle 14 umlenkt,
so dass zumindest ein großer
Teil der Beleuchtungslichtstrahlen 22 senkrecht auf die
Oberfläche 24 fällt. Einen
Teil des Lichtes 22 der Lichtquelle 14 lässt der
Strahlteiler 40 hindurch bzw. passieren, wo es beispielsweise
durch eine Lichtfalle absorbiert wird, wie es in nachfolgenden Ausführungsbeispielen
der Fall ist. Der Strahlteiler 40 ist ferner vorgesehen,
um einen Teil der reflektierten Strahlung 42 zur Kamera 30 hin
passieren zu lassen.
-
Im Gegensatz zu der Anordnung von 5 ist bei der Anordnung
von 6 keine Verschiebeeinheit notwendig,
da das Objektiv 32 die interessierende Oberfläche 24 flächenhaft
auf das Pixelarray der Kamera 30 abbildet und die Lichtquelle 14 die
Oberfläche 24 flächenhaft
beleuchtet. Wiederum bündelt
das Objektiv 32 auf den einzelnen Pixeln der Kamera 30 nur
solche Strahlen von einem Objektpunkt auf der Objektoberfläche 24 auf
den Pixeln der Kamera, die nur wenig zum Glanzwinkel geneigt sind,
nämlich
hier zur Flächennormalen.
Oberflächendefekte
erscheinen deshalb dunkel, ebenso wie Kanten.
-
Während 6 eine flächenhaft
vermessende Anordnung darstellte, zeigt 7 ein Ausführungsbeispiel für eine zeilenweise
vermessende Anordnung, wie sie in 5 gezeigt
worden ist, mit dem Unterschied, dass jedoch wie in 6 eine senkrechte Beleuchtung und Erfassung
verwendet wird. Neben den in 5 gezeigten
Bauteilen umfasst deshalb die Anordnung von 7, die allgemein mit 12b angezeigt
ist, einen Strahlteiler 40, wobei Strahlteiler 40,
Zeilenkamera 30 und Lichtquelle 14, wie Bezug
nehmend auf 6 beschrieben,
relativ zur Objektoberfläche 24 angeordnet
sind. Die Verschiebung entlang der Richtung 34 sorgt, wie
Bezug nehmend auf 5 beschrieben,
dafür,
dass die nacheinander aufgenommenen eindimensionalen Pixelbilder
aneinandergefügt
ein zweidimensionales Bild der Objektoberfläche 24 ergeben, diesmal
jedoch ohne Abschat tungen und dergleichen. Zusätzlich umfasst die Anordnung 12b eine
Lichtfalle 41, die dem Querschnittwandler 20 der
Lichtquelle 14 über
den Strahlteiler 40 gegenüber angeordnet ist und dazu
vorgesehen ist, Licht von der Lichtquelle 14, das durch
den Strahlteiler 40 unabgelenkt hindurchtritt, einzufangen
und zu verhindern, dass es wieder zum Strahlteiler 40 hin
reflektiert wird, wo es ansonsten zur Kamera 30 hin abgelenkt
werden könnte
und dort zu Artefakten führen
könnte.
-
Die Ausführungsbeispiele von 6 und 7 sahen zur Realisierung eine Anordnung
mit senkrechter optischer Achse und lotrechter Beleuchtung vor,
einen Strahlteiler im Strahlengang der Kameraabbildung vorzusehen,
nämlich
genau genommen vor dem Objektiv, wobei das Licht von der Lichtquelle
in den Strahlengang der Kameraabbildung eingespiegelt wurde. Freilich
ist es ferner möglich,
umgekehrt das beleuchtende Licht von der Lichtquelle den Strahlteiler
zur Objektoberfläche
hin passieren zu lassen, und das reflektierte Licht in die Kamera
hin abzulenken.
-
Eine andere Realisierungsmöglichkeit
stellen die Ausführungsbeispiele
von 8 und 9 dar. Bei diesen Ausführungsbeispielen
wird kein Strahlteiler verwendet, um Beleuchtungslicht und reflektiertes
Licht „übereinander
zu legen", sondern
es wird eine Leuchte mit großflächiger Apertur
verwendet, in der ein Durchbruch vorgesehen ist, durch welchen das
Objektiv der Kamera die Objektoberfläche auf die photoempfindliche
Fläche
der Kamera abbilden kann.
-
8 zeigt
eine Beleuchtungs/Bilderfassungsanordnung 12c. Sie umfasst
eine Flächenkamera 30 mit einem
Objektiv 32, deren optische Achse 36 wie bei dem
Ausführungsbeispiel
von 6 senkrecht zur
interessierenden Oberfläche 24 des
Prüflings 26 steht
und die Oberfläche 24 sich
im Tiefenschärfenbereich
des Objektivs 32 befindet, das die Oberfläche 24 auf
das zweidimensionale Pixelarray der Flächenkamera 30 abbildet.
Als Beleuchtungslichtquelle 14 dient eine streuende, flächige Lichtquelle 44,
die in in etwa ihrer Mitte ihrer Leuchtfläche, an der Stelle, da dieselbe
die optische Achse 36 schneidet, eine Öffnung 46 aufweist.
Die effektive Leuchtfläche 44 der
Lichtquelle 14 ist im wesentlichen senkrecht zur optischen
Achse 36 angeordnet und befindet sich entlang der optischen
Achse 36 betrachtet zwischen der Kamera 30 und
Prüfling 26,
und zwar vorzugsweise ganz in der Nähe des Objektiveinlasses, so
dass der für
die Kamera sichtbare Raumwinkelbereich kaum eingeschränkt wird.
Auf diese Weise ist die unmittelbar hinter der Leuchte 44 angebrachte Kamera 30 in
der Lage, durch den Durchbruch bzw. die Öffnung 46 in der Leuchte 44 auf
die zu prüfende
Oberfläche 24 zu
blicken. Hierdurch kann die Abmessung des Durchbruchs 46 klein
gewählt
werden, ohne dass der Blick der Kamera 30 behindert wird.
Auf diese Weise wird die Glanzwinkel-Bedingung im wesentlichen erfüllt.
-
9 zeigt
eine Anordnung 12d. Sie unterscheidet sich von der Anordnung
von 8 dadurch, dass die
Flächenkamera 30 durch
eine Zeilenkamera 30 ersetzt wurde, und die Anordnung 12d zusätzlich eine
Verschiebeeinrichtung 34 aufweist. Zusätzlich wurde bei dem Ausführungsbeispiel
von 9 die effektiv leuchtende
Fläche
mit Öffnung,
durch die die Kamera 30 hindurchblicken kann, dadurch erzielt,
dass zu je einer Seite der optischen Achse 36 eine Lichtquelle 48a bzw. 48b angeordnet
wurde, im vorliegenden Fall zwei schmale linienförmige ungerichtete Lichtquellen
in der Nähe
der optischen Achse 36.
-
10 zeigt
ein Ausführungsbeispiel
einer Anordnung, die allgemein mit 12e angezeigt ist. 10 stellt die Möglichkeit
dar, mehrere Beleuchtungs/Bilderfassungsanordnungen des Typs von 7 quer zur Verschieberichtung 34 mehrmals
anzuordnen, so dass in einem Scanvorgang bzw. einem Verschiebevorgang bei
gleicher Auflösung
ein breiterer Streifen der zu prüfenden
Objektoberfläche 24 aufgenommen
bzw. abgetastet werden kann, wie es Bezug nehmend auf
-
7 bzw. 5 beschrieben worden ist.
Aus Übersichtlichkeitsgründen sind
in 10 Strahlteiler,
Lichtquelle und Lichtfalle nicht gezeigt, die einzeln für jede Zeilenkamera 30 oder – in verbreiteter
Form – für mehrere
Zeilenkameras gemeinsam vorgesehen sein können.
-
Die Ausführungsbeispiele von 5 – 10 liefern
Bildaufnahmen einer zu prüfenden
Objektoberfläche mit
einem hohen Kontrast. Genauer ausgedrückt wird mit Hilfe einer entsprechenden
Beleuchtung und einer oder mehreren Kameras bei diesen Ausführungsbeispielen
die Abbildung der zu prüfenden
Oberfläche
erfasst, wobei zur leichteren Detektion der Defekte auf der Oberfläche, wie
z.B. von Lunkern, Kratzern oder Kantenausbrüchen, d.h. Abweichungen der
Form von Objektkonturen, anhand der erzeugten Abbildungen, ermöglicht die
Beleuchtung bei diesen Ausführungsbeispielen
eine kontrastreiche Abbildung.
-
Dies wird bei diesen Ausführungsbeispielen
dadurch erreicht, dass die Beleuchtung jeweils so zur optischen
Achse der entsprechenden Kamera ausgerichtet wird, dass die Lichtquelle
bezüglich
dem im Kamerabild sichtbaren Oberflächenbereich im Glanzwinkel
erscheint. Weil die zu prüfende
Oberfläche
den größten Anteil
des Lichts unter diesen Umständen
zurück
zur Kamera spiegelt bzw. reflektiert, werden die Bereiche, bei denen
die Glanzwinkel-Bedingung gut erfüllt ist, heller abgebildet
als Bereiche, bei denen die Glanzwinkel-Bedingung nicht oder nur
annähernd
erfüllt
ist. Dies ist gerade der Fall bei Defekten, wie z.B. freigelegten
Lunkern, Dellen oder Kratzern.
-
Wie aus den vorhergehenden Ausführungsbeispielen
klar wurde, können
die Kameras sowohl Flächenkameras
als auch Zeilenkameras sein. Zeilenkameras haben den Vorteil, dass
hier Ausführungen
am Markt zur Verfügung
stehen, die die Erzeugung von wesentlich höher aufgelösten Bildern erlauben als Flächenkameras,
nämlich
Bilder mit einer Auflösung
in der einen Richtung, die von der Vergrößerung und dem Pixel abstand
der Pixelzeile der Kamera abhängt,
und einer Auflösung
quer dazu, die von der Bildwiderholfrequenz und der Verschiebgeschwindigkeit
abhängt.
Allerdings muss bei Einsatz einer Zeilenkamera das Bild mit Hilfe
einer allgemeinen linearen Relativbewegung von Objekt und Kamera
erzeugt werden, wie es Bezug nehmend auf 5, 7, 9 und 10 beschrieben worden ist.
-
Zur Abbildung der zu prüfenden Oberfläche können normale
Objektive, wie sie aus der Phototechnik bekannt sind, oder telezentrische
Objektive verwendet werden. Der Vorteil des telezentrischen Objektivs
ist die Abbildung ohne perspektivische Verzerrungen, allerdings
muss dabei die Apertur der Objektiv-Frontlinse größer als
die zu betrachtende Fläche
sein, was nur für
die Untersuchung kleinerer Werkstücke vorteilhaft ist. Der Vorteil
des normalen Objektivs ist die Möglichkeit,
ein quasi beliebige großes
Werkstück
ohne Relativbewegungserzeugung zu erfassen. Falls das Objekt zu
groß ist,
um mit angegebener Auflösung
mit einer Kamera erfasst zu werden, kann man mehrere Kameras gleichzeitig
einsetzen, wie es in 10 gezeigt
ist. Jede Kamera liefert dann nur ein Teilbild der gesamten Oberfläche.
-
Bevor wieder Bezug nehmend auf 4 der weitere Fortgang der
Oberflächenfehlerdetektion
beschrieben wird, werden im folgenden noch mögliche Variationen zu den Ausführungsbeispielen
von 5 – 10 beschrieben. Wie bereits
erwähnt
und wie es aus der nachfolgenden Beschreibung noch herauskommen
wird, sind kontrastreiche Abbildungen für die nachfolgende Auswertung
von Vorteil. Bei allen Ausführungsbeispielen wurde
von der Tatsache Gebrauch gemacht, dass die Oberfläche von
Gussteilen, seien sie bearbeitet oder unbearbeitet, zwar rau ist,
aber dennoch bei senkrecht einfallendem Licht das Licht vornehmlich
wieder entlang der Flächennormalen
zurückreflektiert,
d.h. nicht wie ein Lambert-Strahler wirkt, der von allen Seiten
aus betrachtet genauso hell erscheint. Von den zurückreflektierten
Strahlen wurden diejenigen ausselektiert, die von dem jeweiligen Objektpunkt
im wesentlichen nur wenig zur Flächennormalen
geneigt sind, da nur diese Strahlen in die Objektivöffnung gelangen.
Fehlstellen weisen eine andere Reflexionscharakteristik auf, nämlich eine
breiter streuende, weshalb derer weniger Licht in dem Raumwinkelsegment
um die Flächennormalen
zurückreflektiert
wird. Obige Beleuchtungs/Bilderfassungsanordnungen sind aber auch
zur Erzeugung kontrastreicher Abbildungen geeignet, wenn die zu
prüfende
Oberfläche
andere Reflexionseigenschaften aufweist als Gussteile. So erzeugten
obige Bilderzeugungsvorrichtungen von 5–10 freilich auch bei glätteren spiegelnden
Oberflächen,
wie z.B. bei Glas oder dergleichen. Ferner wird darauf hingewiesen,
dass im Vorhergehenden die Verschiebemöglichkeit lediglich in bezug
auf die Aufnahme mit eindimensional vermessenden Zeilenkameras beschrieben
worden ist. Freilich ist es ferner möglich, das Objekt lateral zu
verschieben und es abschnittsweise flächenhaft zu vermessen, um eine
größere Fläche einzumessen.
-
Nachdem nun im Vorhergehenden Bezug
nehmend auf die 5 – 10 Ausführungsbeispiele für Vorrichtungen
zur Durchführung
des Schritts 10, nämlich
der Bildaufnahme, beschrieben worden sind, wodurch das Helligkeitsbild
H(x,y) geliefert wird, wird im folgenden die Auswertung dieser Helligkeitsbilder
beschrieben, die von einer Auswerteeinrichtung 50 durchgeführt wird,
wobei dieselbe stellvertretend für
die anderen Ausführungsbeispiele
von Bildaufnahmeeinrichtungen lediglich in 5 dargestellt ist. Diese Auswerteeinrichtung 50 ist
mit der Kamera 30 verbunden, um die Bilddaten H(x,y) zu
erhalten und auszuwerten, wie es im folgenden beschrieben wird.
Die Auswerteeinrichtung 50 ist beispielsweise ein Computer,
auf dem ein geeignetes Computerprogramm abläuft, könnte aber auch ein in Hardware
implementiertes Modul sein, das die im folgenden Bezug nehmend auf
die Flussdiagramme beschriebenen Schritte mittels entsprechend integrierter
Schaltung durchführt.
-
Nachdem nun im Schritt 10 die
Bildaufnahme durchgeführt
worden ist und die Helligkeitsmatrix H bei der Auswerteeinrichtung 50 eingetroffen
ist, wird nun in einem Schritt 52 jedes Pixel (x, y) daraufhin überprüft, ob dasselbe
um einen vorbestimmten Helligkeitsschwellenwert von einem Mittelwert
der Helligkeitswerte innerhalb eines Umgebungsbereichs desselben
abweicht. Jedes Pixel, bei dem dies der Fall ist, gilt als Kandidatenpixel,
d.h. als Pixel, das dafür
in Frage kommt, ein Pixel zu sein, auf das ein Oberflächenfehler
abgebildet worden ist. Genauer ausgedrückt werden in dem Schritt 52 für jedes
Pixel (x, y) die folgenden Schritte durchgeführt:
-
- – Die
mittlere Helligkeit des Bildes in einer Umgebung des Pixels (x,
y) von N+1 mal N+1 Pixeln wird berechnet, d.h.
-
-
- – Danach
wird die aktuelle Helligkeit des Pixels (x, y) mit der berechneten
mittleren Helligkeit verglichen und, falls die Abweichung eine bestimmte,
wählbare
Schwelle θ übersteigt,
wird das aktuelle Pixel als Kandidatenpixel markiert. Anders ausgedrückt, wird
folgende Ungleichung auf ihre Richtigkeit hin überprüft, wobei in diesem Fall das
Pixel als Kandidatenpixel deklariert wird:
-
-
Die Markierung kann entweder das
Hinzufügen
des Paars x, y eines Kandidatenpixels zu einer Liste von Kandidatenpixelkoordinatenpaaren
umfassen, oder der Schritt 52 erzeugt ein Array von Markierungen, von
denen jede einem Pixel zugeord net ist und angibt, ob dasselbe ein
Kandidatenpixel ist oder nicht.
-
In einem Schritt 54 werden
daraufhin zusammenhängende
Cluster von Kandidatenpixeln zu Gruppen bzw. in zusammenhängende Gebiete
von Pixeln zusammengefasst, die gemäß der vorliegenden Beschreibung
als Blobs bezeichnet werden. Blobs liegen folglich, da sie ja aus
Kandidatenpixeln bestehen, in der Nähe von einer Grenze zwischen
hellen und dunklen Bereichen des Bildes H(x,y).
-
Daraufhin wird in einem Schritt 56 jeder
Blob daraufhin untersucht, ob in einer Nähe eines Rands bzw. der Umrandung
des Blobs eine Konturlinie ziehbar ist, die mit mehr als einem vorbestimmten
Mindestkontrast hellere von dunkleren Pixeln in dem und um den Blob
herum trennt.
-
Der Schritt 56, der Bezug
nehmend auf 11 noch
näher beschrieben
werden wird, ist dazu da, unter allen Blobs die relevanten Blobs,
quasi die Kandidatenblobs, die potentiell Abbildungen von Oberflächenfehlern
darstellen, ausfindig zu machen. Diese Kandidatenblobs werden im
Folgenden als Objekte bezeichnet. Der Schritt 56 ermöglicht es
dabei, die Informationsfülle über die
relevanten Blobs, nämlich
diejenigen, um die die Konturlinie ziehbar ist, zu reduzieren, da
von da an nur noch die Pixel auf der Konturlinie betrachtet werden müssen.
-
Das Ergebnis des Schritts 56 sind
Pixelketten, die die Konturlinien der relevanten Blobs darstellen.
Wie es später
Bezug nehmend auf 11 noch
näher beschrieben
werden wird, werden nur solche Blobs als Kandidatenblobs herausgesucht,
um die eine geschlossene Konturlinie ziehbar ist, oder eine Konturlinie,
die von Pixelarrayrand bis Pixelarrayrand läuft. Andere Blobs werden verworfen,
auch wenn entlang ihren Randes teilweise eine Konturlinie mit erheblichem
Kontrast ziehbar ist, wie z.B. eine U-förmige Konturlinie. Der Grund hierfür besteht
darin, dass entdeckt worden ist, dass solche Blobs zumeist nur reflektierende
Ablagerungen oder ähnlichem
herrühren
und somit anderenfalls zu Falsch-Positiv-Fehldiagnosen führen würden, d.h.
der fälschlichen
Annahme, es handele sich um einen Oberflächenfehler.
-
Danach werden in einem Schritt 58 die
Kandidatenblobs bzw. die Blobs, denen eine Konturlinie zuordbar
war, d.h. die Objekte, mit einem Satz von Sollbildobjekten verglichen,
um jedes Objekt unter den Objekten daraufhin zu überprüfen, ob dasselbe zu einem der
Sollbildobjekte mehr als einen vorbestimmten Grad an Übereinstimmung
aufweist, wodurch eine Zuordnung zwischen Objekten und Sollbildobjekten
erhalten wird, die einem Objekt höchstens ein Sollbildobjekt
und umgekehrt einem Sollbildobjekt höchstens ein Kandidatenblob
zuordnet.
-
Die Sollbildobjekte können aus
einer Bildaufnahme eines fehlerlosen Referenzobjektes bzw. Gussteils auf
dieselbe Weise erhalten worden sein wie die im vorhergehenden beschriebenen
Objekte, d.h. durch Bildaufnahme, Ausfindigmachen von Blobs und
ziehen von Konturlinien. Die Sollbildobjekte betreffen folglich
keine Oberflächenfehler,
sondern stellen beispielsweise die Kanten der zu prüfenden Oberfläche des
Referenzgussteils dar also Stellen, die erwünscht sind, aber in der Bildaufnahme
eben beispielsweise dunkel im Vergleich zur restlichen Objektoberfläche erscheinen.
Der Satz von Sollbildobjekten wird im folgenden auch manchmal als
Musterliste bezeichnet. Alternativ könnten die Sollbildobjekte nicht
auf dieselbe Art und Weise wie die Kandidatenblobs bzw. Objekte
erzeugt worden sein, nämlich
basierend auf einer Aufnahme, sondern sie könnten durch ein CAD-Programm
aus Modelldaten des zu prüfenden
Gussteils erzeugt worden sein oder aus einer Aufnahme aber mit einem
beispielsweise anderen, genaueren und aufwendigeren Algorithmus
zur Erzeugung der Konturlinien.
-
Bei einem Prüfling ohne Oberflächenfehler
sollte die Abbildung zwischen Objekten einerseits und Sollbildobjekten
andererseits, die im Schritt 58 erzeugt wird, bijektiv
sein, d.h. jedes Sollbildobjekt sollte genau einem Kandidatenobjekt
zugeordnet sein und umgekehrt. Dies würde nämlich bedeuten, dass die im
Schritt 10 erzeugte Bildaufnahme lediglich gewünschte Konturen
aufweist, wie z.B. die Oberflächenkanten.
-
Sind Kandidatenblobs keinem Sollbildobjekt
zuordbar, so sind sie als Oberflächenfehler,
wie z.B. isolierte freigelegte Lunker oder dergleichen, zu interpretieren,
und dementsprechend wird in einem Schritt 60 jeder solche
Kandidatenblob als Bild einer Fehlstelle identifiziert und beispielsweise
einer Liste für
abweichende Objekte hinzugefügt.
-
Kann ein Sollbildobjekt aus der Musterliste
keinem der Kandidatenblobs zugeordnet werden, bedeutet dies allerdings
auch einen Oberflächenfehler,
wie z.B. das Fehlen einer Bohrung. Dementsprechend wird in einem
Schritt 62 der Bildbereich der Bildaufnahme H, die im Schritt 10 erzeugt
worden ist, die sich an Stellen von Sollbildobjekten befinden, denen
kein Kandidatenblob zugeordnet werden kann, als Bild einer Fehlstelle interpretiert
und beispielsweise derselben Liste von abweichenden Objekten hinzugefügt, wie
sie bei Schritt 60 verwendet wurde, oder einer anderen.
-
In einem Schritt 64 werden
daraufhin diejenigen Kandidatenblobs, die Sollbildobjekten zuordbar
waren, daraufhin überprüft, ob ihre
gegebenenfalls vorhandenen Abweichungen ihrer Konturlinie zu der
Konturlinie des Sollbildobjekts auf einen Kantenfehler hindeuten
lassen, wobei, wenn dies der Fall ist, diese in einem Schritt 66 ebenfalls
einer Liste von abweichenden Objekten hinzugefügt werden.
-
Ist zu einem Prüfling bis zu dem Schritt 66 noch
kein Objekt der Liste von abweichenden Objekten hinzugefügt worden,
nämlich
in einem der Schritte 60, 62 und 66,
so ist der Prüfling
fehlerfrei, was durch entsprechendes Signal angezeigt werden kann,
oder einfach dadurch, dass das Testgussstück zu einer vorbestimmten Station,
beispielsweise einer Verpackungsstation weitergeleitet wird. Andernfalls
ist die Objektoberfläche des
Prüflings
fehlerhaft, wobei dies ebenfalls durch entsprechendes Signal angezeigt
werden kann oder durch Weiterleiten des Gussstücks an einen Ort für fehlerhafte
Gusstücke.
Die Liste von abweichenden Objekten kann dazu verwendet werden,
die entsprechenden Stellen am Gusstück näher zu untersuchen, durch gegebenenfalls
zusätzlich
vorhandene Messverfahren oder durch menschliches Personal, das den
Ort der sich in der Liste von abweichenden Objekten befindlichen
Objekte bzw. der entsprechenden Stellen des Gusstücks beispielsweise
an einem Monitor angezeigt bekommt, wodurch Falsch-Negativ-Fehlermeldungen revidiert werden
können,
d.h. Meldungen, die fälschlicher
Weise eine Fehlerhaftigkeit diagnostizieren, obgleich kein Fehler
vorhanden ist.
-
Nachdem nun in groben Zügen die
Vorgehensweise bei der Oberflächenfehlererkennung
beschrieben worden ist, wird im folgenden Bezug nehmend auf 11 der Schritt 56 für einen
Beispiel-Blob näher
beschrieben. Ein solcher Blob ist exemplarisch in 12 dargestellt. In 12 sollen die einzelnen Kästchen 70 jeweils ein
Pixel unter den in Spalten und Zeilen angeordneten Pixeln darstellen.
Eine Umrandungslinie 72 umrandet diejenigen Pixel, die
zu einem exemplarischen Blob gehören,
d.h. die Kandidatenpixel des Blobs, die von Nicht-Kandidatenpixeln
umgeben sind. Bei der Beschreibung von 11 wird im folgenden auch auf 12 Bezug genommen.
-
In einem Schritt 74 wird
nun zunächst
ein Kandidatenpixel des Blobs 72 als Zentrumpixel ernannt.
Die Auswahl erfolgt derart, dass das Zentrumpixel ein Kandidatenpixel
des Blobs ist, das sich am Rand des Blobs 72 befindet.
In dem exemplarischen Fall von 12 wurde
als das Zentrumpixel im Schritt 74 das Pixel 76 ernannt,
nämlich
dasjenige, das sich in der rechtesten Spalte befindet und unter
den Kandidatenpixeln des Blobs 72 in dieser Spalte das
unterste Pixel ist. Bei einem alternativen Ausführungsbeispiel könnte freilich
auch das oberste linke Kandidatenpixel des Blobs gewählt werden.
-
Wie es im folgenden noch näher beschrieben
wird, wird das Zentrumpixel im Laufe der Abarbeitung der Schritte
von 11 ständig weiterverlegt
bzw. verschoben. Bei dem Ausführungsbeispiel
von 12 ist das aktuelle
Zentrumpixel deshalb das Pixel 78.
-
In einem Schritt 80 werden
dann die Pixel in einem Schwellenumgebungsbereich 82 um
das aktuelle Zentrumpixel 78 herum in helle und dunkle
Pixel eingeteilt. Hierzu wird, wie es in 12 durch den Pfeil 84 angedeutet
ist, aus den Helligkeitswerten der Pixel innerhalb des Schwellenumgebungsbereichs 82 ein
lokales Histogramm 86 ausgewertet, eine Darstellung, bei
der für
jeden möglichen
Helligkeitswert H, wie z.B. für
jeden von 256 möglichen
Helligkeitswerten, die Anzahl an Pixeln aufgetragen wird, die diesen
Helligkeitswert aufweisen. Die Sortierung in helle und dunkle Pixel
erfolgt dann beispielsweise durch Ermitteln einer Schwelle, die dem
tiefsten Minimum des Histogramms, falls es multimodal ist, entspricht,
wie es in dem Diagramm 86 durch die gestrichelte Linie 88 angedeutet
ist. Man kann eine Schwelle für
die Sortierung auch auf andere Weise ermitteln, wie z.B. als Mittelwert
der Helligkeit der Pixel innerhalb des Schwellenumgebungsbereichs 82.
Während
also im vorhergehenden unter Bezugnahme auf das Diagramm 86 und
die Schwelle 88 die Sortierung der Pixel mittels Histogramm-Analyse
beschrieben worden ist, ist auch eine andere Vorgehensweise möglich. Insbesondere
wird darauf hingewiesen, dass die vorbeschriebene Histogramm-Analyse
zu keinem Ergebnis führen
kann, nämlich
dann, wenn es nicht möglich
ist, die Schwelle aus der Analyse des Histogramms zu ermitteln.
In diesem Fall müsste
der Prozess wie auch in dem Fall zu niedrigen Kontrastes, wie es
im folgenden noch beschrieben wird, abgebrochen werden, was jedoch
in 12 aus Übersichtlichkeitsgründen nicht
gezeigt ist und deshalb, weil diese Abbruchalternative bei Verwendung
anderer Sortierungsmöglichkeiten
möglicherweise
nicht auftritt.
-
Zurückkehrend zu 12. wären
alle Pixel links der gestrichelten Linie die dunklen Pixel, und
alle Pixel rechts der gestrichelten Linie 88 wären die
hellen Pixel. In dem exemplarischen Fall von 12 verläuft die Linie, die die derart
in helle und dunkle Pixel sortierten Pixel des Bereichs 82 trennt,
exemplarisch wie bei 90 angezeigt, wobei die hellen Pixel in dem
Bereich 82 oberhalb der Linie 90 und die dunklen
unterhalb derselben liegen.
-
In einem Schritt 92 wird
dann der Kontrast zwischen den hellen und dunklen Pixeln im Schwellenumgebungsbereich 82 berechnet.
Diese Berechnung umfasst beispielsweise das Berechnen des Mittelwerts
der Helligkeit der hellen Pixel und des Mittelwerts der Helligkeit
der dunklen Pixel und das Bilden des Quotienten der beiden Mittelwerte.
Freilich sind auch andere Berechnungen für den Kontrast möglich, wie
z.B. das Bilden der Differenz der beiden vorerwähnten Mittelwerte.
-
In einem Schritt 94 wird
daraufhin geprüft,
ob der im Schritt 92 berechnete Kontrast einen bestimmten voreingestellten
Mindestkontrast überschreitet.
Ist dies nicht der Fall, so endet die Konturliniensuche ohne Erfolg
bei 96, so dass, wie in 4 beschrieben,
dieser Blob als Kandidatenblob verworfen wird. Ist der Kontrast jedoch
größer als
der Mindestkontrast, werden die Pixel an der Grenze 90 zwischen
den hellen und den dunklen Pixeln im Schwellenumgebungsbereich 82,
nämlich
in 12 die mit Kreisen
angezeigten Pixel, an eine augenblickliche Pixelkette, die in 12 mit Kreuzen angezeigt
ist und sich von dem zuerst ernannten Zentrumpixel 74 bis
zu dem augenblicklichen Zentrumpixel 78 erstreckt, angehängt. Hierdurch
wird die Trennlinie 90 zwischen hellen und dunklen Pixeln
als die gesuchte Konturlinie, die innerhalb des Bereichs 82 liegt,
interpretiert.
-
Daraufhin wird in einem Schritt 100 die
Pixelkette daraufhin überprüft, ob sie
geschlossen ist oder nicht. Ist dies nicht der Fall, wird in einem
Schritt 102 die bereits erwähnte Änderung des Zentrumpixels vorgenommen.
Und zwar wird das Zentrumpixel 78 auf das Grenzpixel, d.h.
das Pixel an der Grenzlinie 90, als neues Zentrumpixel
ausgewählt,
das am Rand des Schwellenumgebungsbereichs 82 liegt. Das
neue Zentrumpixel wäre
in 12 das Pixel 104.
Auf den Schritt 102 hin würden die Schritte 80, 92, 94, 98 und 100 für das neue
Zentrumpixel erneut durchgeführt
werden.
-
Ergibt die Prüfung im Schritt 100 jedoch,
dass die Pixelkette geschlossen ist, wird die Pixelkette als die Konturlinie
des Blobs identifiziert, und zwar in dem Schritt 106. Daraufhin
endet der Konturliniensuchprozess wiederum bei 96. Insgesamt
kann der Ablauf von 11 folglich
auf zweierlei Arten enden, nämlich
einerseits durch das Finden einer Konturlinie im Schritt 106 oder
durch Verlieren der Pixelkette im Schritt 94 durch zu wenig
Kontrast. Im erstgenannten Fall wird der Blob mit der Konturlinie
als Objekt weiteren Analysen unterzogen, wie es im vorhergehenden
bereits beschrieben worden ist und im folgenden noch näher erörtert werden wird.
Im letzteren Fall wird der Blob verworfen und nicht näher untersucht.
-
Die Vorgehensweise nach 11 ermöglicht es insbesondere bei
den typischer Weise bei Gussteilen vorkommenden Oberflächenfehlern,
potentiell fehlerhafte Oberflächenstellen
von lediglich Artefakten im Pixelbild H(x,y) zu trennen, wie sei
beispielsweise durch ein Staubkorn im Strahlengang oder durch Feuchtigkeitsablagerungen
erzeugt werden oder dergleichen.
-
In bezug auf den Schritt 100 wird
darauf hingewiesen, dass es bei der Überprüfung im Schritt 100 es als
zu einer geschlossenen Pixelkette äquivalent angesehen werden
kann, wenn eine Pixelkette von einem Rand des Pixelarrays bis wieder
zum Rand des Pixelarrays verläuft
bzw. von Rand zu Rand einer vorher gewählten AOI (AOI = area of interest
= interessierender Bereich) des Pixelarrays.
-
13 zeigt
ein Ausführungsbeispiel
für den
Ablauf 58 – 66 in
etwas detaillierterer Form. Der Ablauf von 13 schließt sich an die Durchführung des
Ablaufs von 11 für jeden
Blob an.
-
Bei einem Schritt 120 wird
zunächst
eine oder mehrere allgemeine Eigenschaften eines ersten der Kandidatenblobs
bestimmt. Solche Eigenschaften umfassen:
-
- – eine
Helligkeitsangabe, beispielsweise ein binärer Wert, der zeigt, ob das
Objekt heller oder dunkler als der Hintergrund ist. Hierzu sei noch
mal darauf hingewiesen, dass bei dem Schritt 52 es nicht
ausgeschlossen ist, dass auch hellere Stellen Blobs bilden und damit
zu Kandidatenblobs werden. Die Helligkeit eines Blobs hängt mit
der Raumwinkelrückstrahlcharakteristik
des entsprechenden Oberflächenstelle
des zu testenden Gusstücks
ab und ermöglicht
es somit Kandidatenblobs verschiednen Fehlerkategorien zuzuordnen.
- – die
Anzahl der zugehörigen
Pixel. Dieser Wert entspricht seinem Wesen nach einer Flächenangabe
des Blobs. Die Anzahl der zugehörigen
Pixel wird bestimmt als die Pixel innerhalb und auf der Konturlinie.
- – die
Größe des umschreibenden
Rechtecks. Die Größe des umschreibenden
Rechtecks gibt Auskunft über
die Form des Blobs, nämlich
länglich
oder rund. Die Größe des umschreibenden
Rechtecks wird beispielweise definiert durch zwei Punkte, nämlich beispielsweise
die linke obere Ecke (x1, y1)
und die rechte untere Ecke (xr, Yr) , wobei x1 das
Minimum aller x-Koordinaten der Pixel auf der Pixelkette des Blobs,
y1 das Maximum der y-Koordinaten der Pixel auf der Pixelkette,
xr das Maximum der x-Koordinaten der Pixel auf
der Pixelkette und yr das Minimum der y-Koordinaten
der Pixel auf der Pixelkette ist. Alternativ wird die Größe des umschreibenden
Rechtecks definiert durch das Tupel (|x1– xr|, |y1– yr|).
- – die
Position des umschreibenden Rechtecks. Sie ist beispielsweise implizit
in der Angabe der Größe des umschreibenden
Rechtecks enthalten, nämlich
in der Zwei-Ecken-Angabe, oder wird durch einen der Eckpunktpixel
angegeben.
- – die
Länge der
Pixelkette, die die Grenze des Kandidatenblobs beschreibt.
-
Diese Eigenschaften definieren zusammen
mit der Pixelkette des Kandidatenblobs den Kandidatenblob für die darauffolgenden
Schritte vollständig.
Andere Informationen über
den Blob werden nicht mehr ausgewertet. Somit vereinfacht sich die
Auswertung bzw. die Fülle
an zu bearbeitenden Informationen enorm.
-
Die Informationen, die so zu einem
Blob im Schritt 120 gesammelt worden sind, nämlich die
allgemeinen Eigenschaften plus die bereits vorhandene Konturlinie
in Form der Pixelkette, bilden zusammen eine Einheit, die im folgenden
als Objekt bezeichnet wird. Schritt 120 erstellt folglich
zu einem Kandidatenblob ein Objekt, das die allgemeinen Eigenschaften
und die Konturlinie dieses Kandidatenblobs umfasst.
-
In einem nachfolgenden Schritt 122 wird
das Objekt von Schritt 120 daraufhin überprüft, ob dasselbe aufgrund seiner
allgemeinen Eigenschaften zu einem Sollbildobjekt aus einer Liste
von freien Sollbildobjekten passt. Die Liste von freien Sollbildobjekten
entspricht am Anfang des Ablaufs von 13 noch
der Musterliste. Wie es im folgenden jedoch deutlich werden wird,
wird diese Liste zunehmend ausgedünnt, indem Sollbildobjekte
aus der Liste von freien Sollbildobjekten entfernt werden.
-
Der Schritt 122 umfasst
einen schrittweisen Vergleich der allgemeinen Eigenschaften des
Objekts mit entsprechenden Eigenschaften des Sollbildobjekts. Der
Eigenschaftsvergleich wird beispielsweise schrittweise in der Reihenfolge
durchgeführt,
in der die exemplarischen Eigenschaften im Vorhergehenden aufgelistet wurden,
nämlich
von oben nach unten. Durch diese Maßnahme wird es gewährleistet,
dass es durch sehr einfache Vergleiche ermöglicht wird, eine Zuordnung
des aktuellen Objekts mit dem aktuell betrachteten Sollbildobjekt
aus der Liste von freien Sollbildobjekten möglichst früh ausschließen zu können, falls diese Zuordnung tatsächlich nicht
existiert. Ein aufwendiger Konturlinienvergleich wird deshalb nur
für ein
Objekt/Sollbildobjekt-Paar durchgeführt, wo aufgrund der allgemeinen
bzw. ungenauen Eigenschaften ein Indiz dafür besteht, dass eine solche
Zuordnung vorliegen könnte.
-
Ergibt der Schritt 122,
dass Objekt und Sollbildobjekt in ihren allgemeinen Eigenschaften übereinstimmen
(124), so wird in einem Schritt 126 geprüft, ob die
Konturlinien des aktuellen Blobs und des aktuellen Sollbildobjekts
ausreichend übereinstimmen.
Die Konturlinien werden im Schritt 126 beispielsweise dadurch
genau verglichen, dass für
eine wählbare
Anzahl von Konturpunkten des aktuellen Objekts entsprechende Konturpunkte
des Musterobjekts bzw. Sollbildobjekts gesucht werden. Falls die
meisten Paare in Rahmen angegebenen Abweichungen liegen, wird das
Musterobjekt als das dem aktuellen Objekt entsprechende Objekt erkannt,
wodurch Übereinstimmung
vorliegt.
-
Ergibt die Prüfung von Schritt 126 eine
ausreichende Übereinstimmung
(128), so wird in einem Schritt 130 das aktuelle
Sollbildobjekt aus der Liste von freien Sollbildobjekten gestrichen.
Der Schritt 130 bedeutet, dass keiner der nachfolgend zu überprüfenden Kandidatenblobs
bzw. Objekten mehr mit dem Sollbildobjekt verglichen werden muss,
da dieses Sollbildobjekt ja bereits sein Pendant in der Bildaufnahme
von Schritt 10 aufweist.
-
Im Schritt 132 wird ein
genauer Vergleich der Konturlinien des Paars von Objekt und zugehörigem Sollbildobjekt
durchgeführt,
um Kantenfehler zu erkennen. Dieser Schritt wird im folgenden noch
Bezug nehmend auf 14 und 15 näher erläutert.
-
Ergibt der Schritt 132 einen
Fehler (134), so wird dieser Fehler zu einer Fehlerliste
im Schritt 136 hinzugefügt.
Auch dieser Schritt wird Bezug nehmend auf 14 näher
erläutert.
-
Die Vergleiche 130, 132 und 136 werden
nur deshalb durchgeführt,
weil das aktuelle Objekt durch die Schritte 122 und 126 dem
aktuellen Sollbildobjekt zugeordnet worden ist. Ergibt einer der
Schritte 124 und 128 jedoch eine fehlende Übereinstimmung,
so wird in einem Schritt 138 überprüft, ob in der Liste von freien
Sollbildobjekten weitere Sollbildobjekte vorhanden sind, mit denen
das aktuelle Objekt noch nicht verglichen worden ist. Ist dies der
Fall, so wird bei Schritt 122 von neuem mit einem nächsten Sollbildobjekt
aus der Liste von freien Sollbildobjekten erneut begonnen. Ist dies
jedoch nicht der Fall und gibt es folglich kein Sollbildobjekt mehr
in der Liste von freien Sollbildobjekten, mit denen das aktuelle
Objekt verglichen worden ist, wird das aktuelle Objekt im Schritt 140 der
Fehlerliste hinzugefügt,
da offenbar ein Prüfling
ohne Oberflächenfehler,
wie z.B. ein zur Erzeugung der Sollbildobjekte herangezogenes Referenzgussteil,
kein solches Objekt in der Bildaufnahme bewirkt hätte.
-
Nach dem Schritt 140, oder
wenn sich bei dem Vergleich von Schritt 132 kein Fehler
ergibt, und nach dem Schritt 136, wird in einem Schritt 142 überprüft, ob ein
weiterer Blob mit Konturlinie, d.h. ein Blob, dem eine Konturlinie
zuordbar war, existiert, der noch nicht den Schritten 120 – 140 unterzogen
worden ist. Ist dies der Fall, werden die Schritte 120 – 140 für den weiteren
Blob bzw. das daraus entsehende Objekt wiederholt. Ist dies nicht
der Fall, werden in einem Schritt 144 die übriggebliebenen
Objekte aus der Liste von freien Sollbildobjekten der Fehlerliste
hinzugefügt,
da offenbar für
diese keine Pendants in der Bildaufnahme des Prüflings existieren, was auf
das Fehlen einer gewollten Kante schließen lassen könnte.
-
Bezug nehmend auf 14 und 15 wird
im folgenden der Schritt 132 von 13 näher
beschrieben. 15 zeigt
im oberen Teil einen exemplarischen Ausschnitt 150 des
Pixelarrays der Bildaufnahme von Schritt 10, wobei die
Pixel 70 wiederum durch Kästchen 70 angedeutet
sind. Bei dem Ausschnitt 150 sind mit Kreuzen „X" exemplarisch die
Pixel gezeigt, die die Pixelkette bilden, die der Konturlinie des
aktuellen Objekts entspricht. Mit Kreisen sind diejenigen Pixel
gezeigt, die die Pixelkette bilden, die der Konturlinie des Sollbildobjekts
entspricht, mit der die Konturlinie des aktuellen Objekts verglichen
werden soll. Es wird darauf hingewiesen, dass der Ausschnitt 150 nur
einen Abschnitt der Konturlinien darstellt, die sich an anderer,
nicht gezeigter Stelle schließen.
-
In einem Schritt 152 wird
nun zunächst
für jedes
Pixel aus der Pixelkette der Kontur des aktuellen Objekts der kleinste
Abstand zu der Sollkonturlinie berechnet, d.h. der Abstand bis zum
nächstgelegenen
Pixel auf der Kontur des Musterobjekts bzw. bis zum nächstgelegenen
Pixel auf der Sollkonturlinie. Das Ergebnis von Schritt 152 ist
eine Funktion a(np), die dem nP-ten
Pixel aus der Kontur des Objekts den Wert a(np)
zuordnet. In 15 ist
bei 154 unterhalb des Ausschnitts 150 für den exemplarischen Fall des
Ausschnitts von 150 ein Diagramm dargestellt, bei dem entlang
der y-Achse a(nP) und entlang der x-Achse
die Pixelnummer nP aufgetragen ist. In dem
exemplarischen Fall von 15 steigt
die Pixelnummer nP bei den Pixeln der Kontur
des Objekts von links nach rechts an. Es wird darauf hingewiesen,
dass bei 150 zwei unmittelbar aufeinander folgende Pixel
der Pixelkette des aktuellen Objekts in einer Spalte liegen, deren
Pixelnummern aber in dem Diagramm 154 natürlich an
benachbarten x-Achsen-Positionen angeordnet sind. Das Diagramm ist
deshalb mit der x-Achse nur von dem linken Pixel bis zu dem ersten
dieser beiden in einer Spalte angeordneten Pixel ausgerichtet. Die
Funktion a(np) wird als Kurve für den „aktuellen
Abstand" bezeichnet.
-
Basierend auf der Kurve für den aktuellen
Abstand wird in einem Schritt 156 für jedes Pixel aus der Pixelkette
der Kontur des aktuellen Objekts ein mittlerer Wert, wie z.B. der
Mittelwert der kleinsten Abstände des
jeweiligen Pixels und seiner benachbarten Pixel aus der Pixelkette
berechnet, d.h.
-
-
wobei N/2 die Anzahl von Pixeln in
der Pixelkette ist, die vor und hinter dem jeweiligen Pixel in der
Pixelkette zur Mittelung herangezogen wird.
-
Das Ergebnis von Schritt 156 ā(np) ist in 15 für den exemplarischen
Fall von Fig. 150 bei 158 als ein dem Diagramm
von 154 entsprechenden Diagramm 158 angezeigt.
-
In einem Schritt 160 wird
daraufhin die Wegableitung von a(nP) entlang
der Pixelkette berechnet, d.h.
-
-
Das Ergebnis von Schritt 160 ist
a'(np).
-
Bei den Schritten 156 und
160 ist zu beachten, dass die Funktion a(np)
zyklisch wiederholt werden kann, da ja die Pixelkette geschlossen
ist.
-
In einem Schritt 162 wird
daraufhin ein Zähler
i initialisiert, und zwar auf den Zählerwert Null. Der Zählerwert
i dient im folgenden zum Durchscannen der Pixel der Pixelkette des
aktuellen Objekts. In einem Schritt 164 wird daraufhin überprüft, ob der
aktuelle Abstand a(i) den mittleren Abstand ā(i) übersteigt, bzw. ob a(i)>ā(i) wahr ist. Ist dies der
Fall, so wird in einem Schritt 166 überprüft, ob auch der Wert der Ableitung
a'(np) eine
einstellbare Schwelle θ übersteigt.
Ist dies ebenfalls der Fall, so wird der Beginn der Abweichung der
Konturlinien bis zu einem geeignet bestimmten Ende der Abweichung
zu der Fehlerliste hinzugefügt.
Das Ende des Defektes wird beim weiteren Durchscannen der Pixel
der Pixelkette an dem Rückgang
des aktuellen Abstand a(i) zum Wert des mittleren Abstands a'(i) erkannt, woraufhin
dann der Wert i bei Schritt 168 auf das Ende des Defektes
eingestellt wird.
-
Ergeben die Überprüfungen 164 und 166,
dass der aktuelle Abstand kleiner als der mittlere Abstand ist oder
die erste Ableitung den Schwellenwert nicht übersteigt, so wird in einem
Schritt 170 der Zählerwert
i inkrementiert. Schritt 170 wird auch nach Schritt 168 durchgeführt. In
einem Schritt 172 wird daraufhin überprüft, ob der Zählerwert
die Pixelkettenlänge,
ausgedrückt
in Anzahl an Pixeln, überschritten
hat. Ist dies der Fall, endet der Vorgang bei 174. Andernfalls
wird die Überprüfung von
Schritt 164 an erneut durchgeführt.
-
Durch die Überprüfungen in den Schritten 164 und 166 werden
Kantenausbrüche
feststellbar. Bei dem Schritt der Hinzufügung nach 168 kann
es vorgesehen sein, dass ein Objekt für einen Kantenfehler dadurch gebildet
wird, dass die Konturlinie des aktuellen Objekts vom Anfang bis
zum Ende des Defektes zusammen mit dem entsprechenden Abschnitt
der Konturlinie des Sollbildobjekts verwendet wird, um eine geschlossene Kontur
für den
Kantenfehler zu definieren, so dass eine geschlossene Konturlinie
des Objekts entsteht. Für dieses
Objekt könnten
dann auch allgemeine Eigenschaften wie in Schritt 120 ermittelt
werden.
-
Nachdem im Vorhergehenden Ausführungsbeispiele
für die
vorliegende Erfindung beschrieben worden sind, wird auf folgendes
hingewiesen. Es ist unvermeidlich, dass bei der Bildaufnahme im
Schritt 10 aufgrund von Lagetoleranzen die Lage des Prüfteils und
damit der zu prüfenden
Oberfläche
im Bild von Prüfteil zu
Prüfteil
unterschiedlich ist. Es kann deshalb zwischen den Schritten 10 und 52 eine
Lagekorrektur vorgesehen werden, bei der der Inhalt des aktuellen
Bildes H(x,y) derart verschoben und verdreht wird, dass die Lage des
aktuellen Prüfteils
im Bild exakt mit der Lage des Teils in einem Referenzbild, das
zur Gewinnung der Musterliste verwendet wurde, übereinstimmt. Dieser Schritt
kann auch Interpolationen umfassen.
-
Überhaupt
wird darauf hingewiesen, dass die vorhergehenden Ausführungsbeispiele
für Beleuchtungs-/Bilderfassungsanordnungen
freilich auch in Kombination mit anderen Bilddatenauswerteschrittfolgen als
den vorher gezeigten eingesetzt werden könnten, und dass im folgenden
lediglich exemplarisch diese Anordnungen im Zusammenhang mit der
Oberflächenfehlererfassung
bei Gussteilen unter Verwendung dieser Schrittfolgen beschrieben
werden, um die Vorzüge
der Bilderzeugung gemäß der vorliegenden
Erfindung besser veranschaulichen zu können.
-
In bezug auf den Ablauf von 11 wird darauf hingewiesen,
dass die dort gezeigte Vorgehensweise für jeden Blob dazu führen kann,
dass aus den Blobs Konturlinien erzeugt werden, die sich auf ein
und dieselbe Oberflächenerscheinung
in der Bildaufnahme beziehen. Diese Doppelgänger, die aufgrund des Vorgangs
nach 11 entstehen können, können erkannt
und gelöscht
werden, indem die Grenzen aller Objekte miteinander verglichen werden.
-
Bezugnehmend auf die 4, 10, 11, 13 und 14 wird
nach darauf hingewiesen, dass sowohl von der dort gezeigten Schrittreihenfolge
als auch von den einzelnen Schritten abgewichen werden kann. Die
Objekterzeugung von Schritt 120 kann beispielsweise vorab
zunächst
für alle
Blobs mit Konturlinie durchgeführt
werden. Ferner mag es bei anderen Prüflingen als Gussteilen vorteilhafter
sein, auch nicht geschlossene Konturlinien zuzulassen, wobei auch
die obigen allgemeinen Eigenschaften teilweise anders definiert
werden müssten.
Auch die Handhabung der Liste von freien Sollbildobjekten kann unterschiedlich
realisiert werden, nämlich sowohl
durch Erzeugen einer Kopie alle Objekte in Musterliste und aufeinanderfolgendes
Streichen von Objekten in derselben oder durch Markieren von Sollbildobjekten
in der Musterliste als gefunden in Schritt 130, wobei in
Schritt 138 nur unmarkierte Sollbildobjekte zählen. Ferner
kann auch nur eine der allgemeinen Eigenschaften verwendet werden
oder die Schritte 120 und 122 können ganz
weggelassen werden. Ferner könnte der
Schritt 132 weggelassen werden, wenn Kantenfehler bei einer
bestimmten Anwendung nicht wesentlich sind. Umgekehrt kann es sein,
dass bei manchen Anwendungen die Bijektion der Zuordnung zwischen
Sollbildobjekten und Objekten vorausgesetzt werden kann, so dass
die Zuordnung nach Schritt 56 bzw. 126 vereinfacht
bzw. weggelassen werden könnte,
wodurch nur nach Kantenfehlern Ausschau gehalten werden würde. Zudem
kann der Fall Auftreten, da ein Referenzteil nur ein Sollbildobjekt
aufweist, z.B. die Außenkante
einer geschlossenen flachen Oberfläche. In diesem Fall ist die
Zuordnung dem bei dem Testteil erhaltenen Objekt und dem Sollbildobjekt
zwangsweise vorgegeben. Ferner müssen
die Objekte der Fehlerliste ja nicht alle zusammengetragen werden.
Obige Schrittfolge könnte
sofort unterbrochen werden, sobald nur ein möglicher Fehler erkannte worden
ist.
-
Ferner wird darauf hingewiesen, dass
die vorhergehenden Ausführungsbeispiele
nicht nur auch flache Oberflächen
anwendbar sind. Beispielsweise könnten
die Ausführungsbeispiele
nach 5, 7, 9 und 10 darin variiert werden,
dass ein zylinderförmiger
Gegenstand mit seiner Symmetrieachse parallel zur Lichtlinie 28 angeordnet
wird, die dann entlang des Zylindermantels verläuft. Anstelle einer Linearrelativverschiebung
würde dann
beispielsweise eine Drehung des Zylinders um seine Zylinderachse
erfolgen. Am Ort 28 der Beleuchtung wäre die Oberfläche auf
diese Weise stets lokal ausreichend flach. Dies trifft freilich
auch für
andere Objektformen zu, wobei jedoch für die Relativbewegung jedoch
mehr oder weniger komplizierte Bewegungen notwendig sind. Dasselbe
gilt freilich auch für
die Aufnahmen mit Flächenkameras.
Die im vorhergehenden genannten verschiednen Listen können in
beliebigen Speichern der Auswerteeinrichtung 50 und/oder
extern hierzu gespeichert sein.
-
In Bezug auf die Beschreibung von 12 wird noch darauf hingewiesen,
dass die Reihenfolge der Schritte auch variieren kann. So könnte beispielsweise
die Bestimmung des dort als Ausführungsbeispiel
für eine
Helligkeitsangabe beschriebenen binären Werts, der zeigt, ob das
Objekt heller oder dunkler als der Hintergrund ist, folgendermaßen durchgeführt werden:
Wenn der Schwellenumgebungsbereich 82 schon in helle und
dunkle Pixel geteilt ist, kann man an der entstehenden Grenze die
Richtung des Helligkeitsgradienten ermitteln. Seien die hellen Pixel
beispielsweise oben und der Gradient sei von unten nach oben gerichtet.
Es wird dann eine Pixelkette, die die Grenze beschreibt, von links
nach rechts, erstellt, so dass die Pixelkette, falls sie geschlossen
wird, um einen dunklen Fleck immer im Uhrzeigersinn herum läuft und
um einen hellen Fleck immer entgegen den Uhrzeigersinn. Auf diese
Weise kann man aus der Pixelkette selbst bestimmen, ob das Objekt
heller oder dunkler als der Hintergrund ist.
-
Zu den bezugnehmend auf 12 Eigenschaften könnte als
mögliche
Alternative auch die Länge
des Blobs zählen,
die beispielsweise als der maximale Abstand zweier Pixel auf der
Pixelkette des Kandidatenblobs definiert sein könnte. Die Berechnung dieser
Eigenschaft ist jedoch deutlich aufwendiger als die Berechnung von
beispielsweise der Länge
der Pixelkette, die quasi als „Abfallprodukt" ohne jeglichen Zusatzaufwand erhalten
wird. Deshalb wird die Länge
des Blobs beispielsweise erst bei Auswertung der gefundenen Fehler durchgeführt, da
diese Prozedur ziemlich aufwendig ist. Der dortige Aufwand ist dann
vergleichsweise gering, denn normalerweise sind Blobs, die Fehler
darstellen, klein und haben dementsprechend sehr kurze Pixelketten
von beispielsweise schlimmstenfalls 100 Pixeln. Die regelmäßigen Objekte
können
demgegenüber
Ketten bis zu mehreren 1000 Pixeln enthalten und sind dabei vielleicht
auch noch zahlreich auf der Oberfläche zu sehen. Im Echtzeit-Modus
wäre die
Verwendung der Länge
der Blobs als Eigenschaft für
obige Listen-Vergleiche folglich kaum machbar, als Auswertehilfe
für die
gefundenen Fehler jedoch schon.
-
Der Bildverarbeitungsprozess nach
den 4, 10, 11, 13 und 14 wird im folgenden noch einmal in anderen
Worten beschrieben:
-
Zur Erzeugung eines Prüfergebnisses
einer Oberfläche
werden die aufgenommenen Bilder in einem Rechner ausgewertet.
-
In einem sog. Lernschritt wird von
einem einwandfreiem Teil ein Bild aufgenommen, die darauf befindlichen
Konturen des Prüfteils
extrahiert und in einer Musterliste im Rechner hinterlegt.
-
Im (automatischen) Prüfbetrieb
wird ein Bild des jeweils zu prüfenden
Teils aufgenommen und im Auswerterechner bereitgestellt.
-
Aufgrund unvermeidlicher Toleranzen
ist die Lage des Prüfteils
und damit der zu prüfenden
Oberflächen
im bild jeweils unterschiedlich. Mit Hilfe des Schrittes der Lagekorrektur
wird der Inhalt des aktuellen Bildes derart verschoben und verdreht,
dass die Lage des aktuellen Prüfteils
im Bild exakt mit der Lage des Teils im Referenzbild zur Gewinnung
der Musterliste übereinstimmt.
-
Im aktuellen Bild des zu prüfenden Teils
wird eine Objektliste erstellt. Die aktuelle Objektliste kann auf dieselbe
Weise erstellt werden wie die Musterliste. Ein mögliches Ausführungsbeispiel
hierzu ist in Abschnitt 4.7.1 beschrieben.
-
Die aktuelle Objektliste wird mit
der Musterliste verglichen. Dazu werden Objekte der aktuellen Objektliste,
die keinem Objekt der Musterliste zugeordnet werden können, in
eine weitere Liste für
abweichende Objekte eingefügt.
Ebenfalls werden Objekte der Musterliste, die keinem Objekt der
aktuellen Objektliste zugeordnet werden können, in die Liste für abweichende
Objekte eingefügt.
Ein mögliches
Ausführungsbeispiel hierzu
ist in Abschnitt 4.7.2 beschrieben.
-
Zur Bewertung es Prüfteils wird
die Liste der abweichenden Objekte herangezogen. Ist die Liste leer, handelt
es sich um ein fehlerfreies Teil. Wenn die Liste nicht leer ist,
erfolgen weitere Prüfungen.
Dafür werden für jedes
Objekt aus der Liste je nach Typ entsprechende Vergleichskriterien
angewendete. Die Schwellwerte für
die Vergleichskriterien können
vom Benutzer vorgegeben werden. Damit wird letztendlich die Entscheidung getroffen,
ob es sich bei dem Objekt um einen Defekt oder eine irrelevante
Erscheinung im Bild handelt. Die Bewertung als relevanter Defekt
löst dann
ein „Schlechtteil"-Signal aus, das
zur Aussortierung des Teils im Produktionsbetrieb genutzt werden
kann.
-
Die Erzeugung von Objektlisten kann
beispielsweise durch folgende Schritte geschehen:
-
- 1. Die mittlere Helligkeit des Bildes auf einer
Umgebung von N×N
Pixel wird berechnet.
- 2. Die aktuelle Helligkeit des Bildes wird mit der mittleren
Helligkeit verglichen und, falls die Abweichungen eine bestimmte,
wählbare
Schwelle übersteigen,
wird das aktuelle Pixel markiert.
- 3. Benachbarte, markierte Pixel werden in zusammenhängende Gebiet,
d. h. Objekte („Blob"), zusammengefasst,
und deren Koordinaten werden ermittelt. Alle markierten Pixel des
Blobs liegen offenbar in der Nähe
von einer Grenze zwischen hellem und dunklem Bereich.
- 4. Für
jeden Blob wird folgende Prozedur ausgeführt:
a. Einer der markierten
Pixel wird als Zentrum für
einen sogenannten Thresholding-Bereich angenommen (z. B. der linke,
obere, markierte Pixel im Blob).
b. Alle Pixel des Bereichs
werden nach der Untersuchung des lokalen Histogramms des Bereichs
in „helle" und „dunkle" Pixel sortiert.
c.
Der Kontrast zwischen „hellen" und „dunklen" Pixeln wird berechnet.
Falls der Kontrast, gemäß einer
einstellbaren Schwelle, hoch genug ist, wird die Trennlinie zwischen
hellen und dunklen Pixeln als die gesuchte Grenze, die innerhalb
des Bereichs liegt, interpretiert. Falls der Kontrast nicht hoch
genug ist, wird die Prozedur abgebrochen.
d. Die Grenze wird
bis zum Rand des Bereichs verfolgt.
e. Der Punkt, in dem die
Grenze den Rand des Bereichs trifft, wird bestimmt und als Zentrum
für nächsten Thresholding-Bereich
ausgewählt.
f.
Punkte 4b. – 4e,
werden wiederholt (mit Ausnahme für die Suche nach dazugehöriger Grenze),
bis eines der folgenden Ereignisse auftritt: Entweder es wird eine
geschlossene Kontur um ein Objekt gefunden oder die Grenze erreicht
den Rand des Bildes bzw. einer vorher gewählten AOI („Area Of Interest") oder die Kante
wird durch einen zu niedrigen Kontrast im Thresholding-Bereich verloren.
g.
Die Merkmale (hell/dunkel, Anzahl der zugehörigen Pixel, Größe des umschreibenden
Rechtecks, die Kontur in Form einer Pixelkette) des gefundenen Objekts
werden berechnet und gespeichert.
- 5. Erkennen und Löschen
aller Doppelgänger,
die aufgrund der beschriebenen Vorgehensweise entstehen können, wofür die Grenze
aller Objekte verglichen werden.
-
4.7.2 Erzeugen der Liste abweichender
Objekte
-
- 1. Für
jedes Objekt aus der aktuellen Liste führt man folgende Prozedur aus:
a.
Die Merkmale des Objekts werden mit entsprechenden Merkmalen eines
Objekts aus der Musterliste verglichen, und zwar in folgender Reihenfolge:
Typ (Kante/Objekt), Farbe (hell/dunkel), Position des umschreibenden
Rechtecks, Größe der Grenze
(ungefähr).
Falls alle Parameter übereinstimmen,
werden die Grenzen genau verglichen, indem für eine wählbare Anzahl von Konturpunkten
des aktuellen Objektes entsprechende Konturpunkte des Musterobjekts
gesucht werden. Falls die meisten Paare in Rahmen angegebenen Abweichungen
liegen, wird das Musterobjekt als das dem aktuellen Objekt entsprechende
Objekt erkannt, falls nicht, werden der Reihe nach die nächsten Musterobjekte
verglichen.
b. Objekte der aktuellen Objektliste, die keinem
Objekt der Musterliste zugeordnet werden können, werden in eine weitere
Liste für
abweichende Objekte eingefügt.
c.
Ebenfalls werden Objekte der Musterliste, die keinem Objekt der
aktuellen Objektliste zugeordnet werden können, in die Liste für abweichende
Objekte eingefügt.
- 2. Aktuelle Objekte, für
die man die entsprechenden Musterobjekte findet, werden mit diesen
Musterobjekten nach folgender Prozedur verglichen:
a. Für jeden
Pixel aus der Kontur des aktuellen Objektes wird der Abstand bis
zum nächsten
Pixel aus der Kontur des Musterobjektes berechnet (Kurve für den „aktuellen
Abstand").
b.
Damit werden zwei weitere Kurven berechnet: Der „mittlere Abstand" zwischen aktueller
Objektkontur und Musterobjekt-Kontur auf einer angegebenen Umgebung
um das aktuelle Pixel und erste Ableitung des aktuellen Abstands.
c.
Stellen, wo die aktuelle Abweichung die mittlere Abweichung übersteigt
und dabei auch der Wert der ersten Ableitung eine wählbare Schwelle übersteigt,
werden als Anfang eines Defekts markiert. Das Ende des Defekts wird
nach dem Rückgang
der aktuellen Abweichung zum Wert der mittleren Abweichung registriert.
- 3. Ein Objekt für
einen „Kantenfehler" wird nun gebildet
aus der aktuellen Kontur zwischen dem Anfang und dem Ende einer
gefundenen Abweichung und dem entsprechenden Abschnitt der Kontur
des Musterobjekts, so dass eine geschlossene Konturlinie des Objekts
entsteht, dessen Merkmale dann in gleicher Weise wie in 4.2.g berechnet
werden können.
- 4. Das Objekt wird in die Objektliste für Abweichungen eingefügt, wie
nach dem Punkt 4.7.2.1 oder c.