AT7514U1 - Vorrichtung zur erkennung von oberflächenfehlern - Google Patents
Vorrichtung zur erkennung von oberflächenfehlern Download PDFInfo
- Publication number
- AT7514U1 AT7514U1 AT0078403U AT7842003U AT7514U1 AT 7514 U1 AT7514 U1 AT 7514U1 AT 0078403 U AT0078403 U AT 0078403U AT 7842003 U AT7842003 U AT 7842003U AT 7514 U1 AT7514 U1 AT 7514U1
- Authority
- AT
- Austria
- Prior art keywords
- pixel
- pixels
- cluster
- contour line
- light
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
- G01N21/94—Investigating contamination, e.g. dust
Landscapes
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Biochemistry (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Immunology (AREA)
- Pathology (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
- Image Processing (AREA)
Abstract
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.
Description
AT 007 514 U1
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. 5 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 10 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 15 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 Fehler-20 abmessungen 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. Visi-25 on 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 30 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 35 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 produzie-40 ren werden. 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. 45 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 Einfallswin-50 kel 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 55 dadurch zu vereinfachen, dass die Erkennung stufenweise vorgenommen wird, um die Anzahl zu 2 5 10 15 20 25 30 35 40 45 50 AT 007 51 4 U1 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: Fig. 1 eine Bildaufnahme einer Gussteil-Oberfläche mit komplexen Konturen, die unter Verwendung der Beleuchtungs/Bilderfassungsanordnung von Fig. 7 erzeugt worden ist, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; Fig. 2 einen Ausschnitt aus der Aufnahme von Fig. 1, in dem ein Oberflächendefekt zu erkennen ist; Fig. 3 eine mikroskopische Aufnahme des in Fig. 2 erkennbaren Oberflächendefektes; Fig. 4 ein Flussdiagramm zur Veranschaulichung der Schritte bei einer Fehlererkennung nach einem Ausführungsbeispiel der vorliegenden Erfindung; Fig. 5 ein schematisches Raumbild der Beleuchtungs/Bilderfassungsanordnung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; Fig. 6 ein schematisches Raumbild einer Beleuchtungs-/Bilderfassungsanordnung gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung; Fig. 7 ein schematisches Raumbild einer Beleuchtungs/Bilderfassungsanordnung gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung; Fig. 8 ein schematisches Raumbild einer Beleuchtungs/Bilderfassungsanordnung gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung; Fig. 9 ein schematisches Raumbild einer Beleuchtungs/Bilderfassungsanordnung gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung; Fig. 10 ein schematisches Raumbild einer Beleuchtungs/Bilderfassungsanordnung gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung; Fig. 11 ein Flussdiagramm zur Veranschaulichung der Schritte bei der Überprüfung, ob für einen Blob eine Konturlinie existiert; Fig. 12 eine schematische Darstellung eines Blobs zur Veranschaulichung der Vorgehenswei- 3 55 5 10 15 20 25 30 35 40 45 50 AT 007 51 4 U1 se nach Fig. 11; Fig. 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; Fig. 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 Fig. 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 Fig. 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. Fig. 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 entlang der Plattendicke erstrecken. Die Aufnahme von Fig. 1 ist unter speziellen Beleuchtungs- bzw. 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 Beleuchtungs/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 Fig. 1 als die helle Fläche 2 zu erkennen. Kanten des Gussteils erscheinen aufgrund ihrer Neigung zur Oberfläche 2 dunkel. Fig. 2 zeigt einen Ausschnitt der Bildaufnahme von Fig. 1. Wie zu sehen ist, erscheint der in Fig. 2 dargestellte Abschnitt der Oberfläche 2 des Gussteils im wesentlichen durchweg weiß abgesehen von den in Fig. 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 Fig. 2 an dem ansonsten hell erscheinenden Bereich 2 dunkel hervorstechen. Fig. 3 zeigt eine mikroskopische Aufnahme der Oberfläche des Gussteils in dem Abschnitt, der in Fig. 2 auf die Stelle 8 abgebildet worden ist. We 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. We im Folgenden bezüglich Fig. 5-10 noch näher erörtert werden wird, erscheint der Lunker 8 in der Aufnahme von Fig. 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 Wnkel 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 Fig. 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 4 55 AT 007 51 4 U1 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 Fig. 1 - 3 Bezug genommen wird. 5 Fig. 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 Fig. 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 ange-10 ordnet 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 Fig. 5-10 werden im folgenden Ausführungsbeispiele für Beleuch-tungs-/Bilderfassungsanordnungen gemäß der vorliegenden Erfindung beschrieben, die zur Bilder-15 zeugung im Schritt 10 verwendet werden.
Fig. 5 zeigt ein erstes Ausführungsbeispiel für eine Beleuchtungs-/Bilderfassungsanordnung. Die Anordnung von Fig. 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 20 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 Beleuchtungsstrahlen 22 treffen auf die Oberfläche 24 unter einem Eintrittswinkel 0e auf.
Erfassungs- bzw. aufnahmeseitig umfasst die Anordnung 12 von Fig. 5 eine Zeilenkamera 30 25 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 0a 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. 30 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 Fig. 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 Fig. 5 erfolgt auf folgende Weise. 35 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 40 28, der auf das jeweilige Pixel abgebildet wird, reflektiert werden und vom Glanzwinkel nur gering fü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. 45 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. 50 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. 55 Wie im Vorhergehenden erwähnt, handelt es sich vorliegend bei der zu prüfenden Oberfläche 5 AT 007 51 4 U1 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. 0e = 0a, 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 5 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 Reflektivi-tät Rohgussbereiche durchschnittlich dunkler auszusehen als mechanisch bearbeitete Bereiche.
Bei dem Ausführungsbeispiel von Fig. 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 Scanvor-10 ganges 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 Sackbohrun-15 gen oder der verdeckte Bereich hinter einem vorstehenden Merkmal.
Die nachfolgend Bezug nehmend auf die Fig. 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 20 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.
Fig. 6 zeigt eine mögliche Anordnung zur Realisierung dieses Sonderfalls. Die Anordnung von 25 Fig. 6 ist allgemein mit 12a angezeigt. Die Anordnung 12a umfasst wie die Anordnung von Fig. 5 eine Kamera 30 mit einem Objektiv 32 und eine Lichtquelle 14. In dem Fall von Fig. 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. 30 Die Lichtquelle 14 besteht im Unterschied zu dem Ausführungsbeispiel von Fig. 5 aus einer flächigen, streuenden Lichtquelle 38. Die Glanzwinkel-Bedingung wird bei dem Ausführungsbeispiel von Fig. 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 Lichtquel-35 le 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 Fig. 5 ist bei der Anordnung von Fig. 6 keine Verschiebe-40 einheit 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 45 deshalb dunkel, ebenso wie Kanten. Während Fig. 6 eine flächenhaft vermessende Anordnung darstellte, zeigt Fig. 7 ein Ausführungsbeispiel für eine zeilenweise vermessende Anordnung, wie sie in Fig. 5 gezeigt worden ist, mit dem Unterschied, dass jedoch wie in Fig. 6 eine senkrechte Beleuchtung und Erfassung verwendet wird. Neben den in Fig. 5 gezeigten Bauteilen umfasst deshalb die Anordnung von Fig. 7, so die allgemein mit 12b angezeigt ist, einen Strahlteiler 40, wobei Strahlteiler 40, Zeilenkamera 30 und Lichtquelle 14, wie Bezug nehmend auf Fig. 6 beschrieben, relativ zur Objektoberfläche 24 angeordnet sind. Die Verschiebung entlang der Richtung 34 sorgt, wie Bezug nehmend auf Fig. 5 beschrieben, dafür, dass die nacheinander aufgenommenen eindimensionalen Pixelbilder aneinandergefügt ein zweidimensionales Bild der Objektoberfläche 24 ergeben, diesmal jedoch ohne 55 Abschattungen und dergleichen. Zusätzlich umfasst die Anordnung 12b eine Lichtfalle 41, die dem 6 AT 007 51 4 U1
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önn-5 te.
Die Ausführungsbeispiele von Fig. 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 10 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 Fig. 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 15 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.
Fig. 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 Fig. 6 senkrecht zur interessierenden Oberfläche 24 des Prüflings 26 steht und die Oberfläche 24 sich im 20 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 25 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 30 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.
Fig. 9 zeigt eine Anordnung 12d. Sie unterscheidet sich von der Anordnung von Fig. 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 35 von Fig. 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.
Fig. 10 zeigt ein Ausführungsbeispiel einer Anordnung, die allgemein mit 12e angezeigt ist. 40 Fig. 10 stellt die Möglichkeit dar, mehrere Beleuchtungs/Bilderfassungsanordnungen des Typs von Fig. 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 Fig. 7 bzw. 5 beschrieben worden ist. Aus Übersichtlichkeitsgründen sind in Fig. 10 Strahlteiler, Lichtquelle 45 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 Fig. 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 50 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 die Beleuchtung bei diesen Ausführungsbeispielen eine kontrastreiche Abbildung ermöglicht.
Dies wird bei diesen Ausführungsbeispielen dadurch erreicht, dass die Beleuchtung jeweils so 55 zur optischen Achse der entsprechenden Kamera ausgerichtet wird, dass die Lichtquelle bezüglich 7 AT 007 51 4 U1 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. 5 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 10 von der Vergrößerung und dem Pixelabstand 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 Fig. 5, 7, 9 und 10 beschrieben worden ist. 15 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 telezentri-schen 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, 20 ein quasi beliebig 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 Fig. 10 gezeigt ist. Jede Kamera liefert dann nur ein Teilbild der gesamten Oberfläche.
Bevor wieder Bezug nehmend auf Fig. 4 der weitere Fortgang der Oberflächenfehlerdetektion 25 beschrieben wird, werden im folgenden noch mögliche Variationen zu den Ausführungsbeispielen von Fig. 5-10 beschrieben. We 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 30 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 35 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 wirkten obige Bilderzeugungsvorrichtungen von Fig.5-10 freilich auch bei glätteren spiegelnden Oberflächen, wie z.B. bei Glas oder 40 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 Fig. 5 -10 Ausführungsbeispiele für 45 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 Fig. 5 dargestellt ist. Diese Auswerteeinrichtung 50 ist mit der Kamera 30 verbunden, 50 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. 55 Nachdem nun im Schritt 10 die Bildaufnahme durchgeführt worden ist und die Helligkeitsmatrix 8 5 AT 007 51 4 U1 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 Pi-xeln wird berechnet, d.h.
N N 10 15 x+— y+— γ γ H(U) N . N (N + 1)2 i=x — j=y— 2 J ' 2
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: 20 H(x,y) N N x+— y+— 2 2Σ Σ N . N i=x—j=y— 2J 2 H(i.j) (N +1)2 >a 25
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 zugeordnet ist und angibt, ob dasselbe ein Kandidatenpixel ist oder nicht. 30 In einem Schritt 54 werden daraufhin zusammenhängende Cluster von Kandidatenpixein 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 Kan-didatenpixeln bestehen, in der Nähe von einer Grenze zwischen hellen und dunklen Bereichen des Bildes H(x,y). 35 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 Fig. 11 noch näher beschrieben werden wird, ist dazu da, unter allen Blobs die relevanten Blobs, quasi die Kandidatenblobs, die potentiell Abbildungen 40 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 dar-45 stellen. Wie es später Bezug nehmend auf Fig. 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 50 worden ist, dass solche Blobs zumeist nur von 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 zuordenbar war, d.h. die Objekte, mit einem Satz von Sollbildobjekten verglichen, um jedes Objekt 55 unter den Objekten daraufhin zu überprüfen, ob dasselbe zu einem der Sollbildobjekte mehr als 9 AT 007 51 4 U1 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. 5 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äch'enfehler, 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 10 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 aufwendige-15 ren 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, 20 wie z.B. die Oberflächenkanten.
Sind Kandidatenblobs keinem Sollbildobjekt zuordenbar, 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. 25 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 30 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 zuordenbar waren, daraufhin überprüft, ob ihre gegebenenfalls vorhandenen Abweichungen ihrer Konturlinie zu der Konturlinie des Sollbildobjekts auf einen Kantenfehler hindeuten lassen, wobei, 35 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 40 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 45 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. 50 Nachdem nun in groben Zügen die Vorgehensweise bei der Oberflächenfehlererkennung be schrieben worden ist, wird im folgenden Bezug nehmend auf Fig. 11 der Schritt 56 für einen Beispiel-Blob näher beschrieben. Ein solcher Blob ist exemplarisch in Fig. 12 dargestellt. In Fig. 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 exemplari-55 sehen Blob gehören, d.h. die Kandidatenpixel des Blobs, die von Nicht-Kandidatenpixeln umgeben 10 AT 007 514 U1 sind. Bei der Beschreibung von Fig. 11 wird im folgenden auch auf Fig. 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 Fig. 12 wurde als das 5 Zentrumpixel im Schritt 74 das Pixel 76 ernannt, nämlich dasjenige, das sich in der rechtesten Spalte befindet und unter den Kandidatenpixein 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 Abar-10 beitung der Schritte von Fig. 11 ständig weiterverlegt bzw. verschoben. Bei dem Ausführungsbeispiel von Fig. 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 Fig. 12 durch den Pfeil 84 angedeutet ist, aus den Helligkeitswerten der Pixel innerhalb des Schwellenum-15 gebungsbereichs 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 20 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 25 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 Fig. 12 aus Übersichtlichkeitsgründen nicht gezeigt ist und deshalb, weil diese Abbruchalternative bei Verwendung anderer Sortierungsmöglichkeiten mögli-30 cherweise nicht auftritt.
Zurückkehrend zu Fig. 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 Fig. 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 35 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 40 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 Fig. 4 beschrieben, dieser Blob als Kandidatenblob verworfen wird. Ist der Kontrast jedoch größer als der Mindestkontrast, werden die Pixel an 45 der Grenze 90 zwischen den hellen und den dunklen Pixeln im Schwellenumgebungsbereich 82, nämlich in Fig. 12 die mit Kreisen angezeigten Pixel, an eine augenblickliche Pixelkette, die in Fig. 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, inter-50 pretiert.
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 Schwellenum-55 gebungsbereichs 82 liegt. Das neue Zentrumpixel wäre in Fig. 12 das Pixel 104. Auf den Schritt · 11 AT 007 514 U1 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 5 Konturliniensuchprozess wiederum bei 96. Insgesamt kann der Ablauf von Fig. 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 10 Fall wird der Blob verworfen und nicht näher untersucht.
Die Vorgehensweise nach Fig. 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. 15 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. 20 Fig. 13 zeigt ein Ausführungsbeispiel für den Ablauf 58 - 66 in etwas detaillierterer Form. Der Ablauf von Fig. 13 schließt sich an die Durchführung des Ablaufs von Fig. 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 25 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 der entsprechenden Oberflächenstelle des zu testenden Gusstücks ab und ermöglicht es somit, Kandidatenblobs verschiednen Fehlerkategorien zuzuordnen. 30 - 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 um-35 schreibenden Rechtecks wird beispielweise definiert durch zwei Punkte, nämlich bei spielsweise die linke obere Ecke (xi,yi) und die rechte untere Ecke (Xr,yr), wobei xt das Minimum aller x-Koordinaten der Pixel auf der Pixelkette des Blobs, yi 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. Alter-40 nativ wird die Größe des umschreibenden Rechtecks definiert durch das Tupel (|Χ|-Χγ|, lyi-yrl)· 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. 45 - 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. 50 Die Informationen, die so zu einem Blob im Schritt 120 gesammelt worden sind, nämlich die all gemeinen 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. 55 In einem nachfolgenden Schritt 122 wird das Objekt von Schritt 120 daraufhin überprüft, ob 12 AT 007 51 4 U1 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 Fig. 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 5 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 10 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 15 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 20 aktuellen Objekts entsprechende Konturpunkte des Musterobjekts bzw. Sollbildobjekts gesucht werden. Falls die meisten Paare in Rahmen der 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 25 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 Paares von Objekt und zugehö-30 rigem Sollbildobjekt durchgeführt, um Kantenfehler zu erkennen. Dieser Schritt wird im folgenden noch Bezug nehmend auf Fig. 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 Fig. 14 näher erläutert.
Die Vergleiche 130, 132 und 136 werden nur deshalb durchgeführt, weil das aktuelle Objekt 35 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 begon-40 nen. 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. 45 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 zuordenbar 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 50 ü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 Fig. 14 und 15 wird im folgenden der Schritt 132 von Fig. 13 näher beschrieben. Fig. 15 zeigt im oberen Teil einen exemplarischen Ausschnitt 150 des Pixelarrays der 55 Bildaufnahme von Schritt 10, wobei die Pixel 70 wiederum durch Kästchen 70 angedeutet sind. Bei 13 AT 007 514 U1 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 5 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 10 Kontur des Objekts den Wert a(np) zuordnet. In Fig. 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 Fig. 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 15 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. 20 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. 30 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 a(np) ist in Fig. 15 für den exemplarischen Fall von Fig. 15 bei 158 als ein dem Diagramm von 154 entsprechenden Diagramm 158 angezeigt. 35 In einem Schritt 160 wird daraufhin die Wegableitung von a(np) entlang der Pixelkette berech net, d.h. a(np) = a' (np), wie z.B. a’ (np) = a(np) - ain,^). 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. 40 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 a(i) übersteigt, bzw. ob a(i)>a(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 45 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 50 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. 55 Durch die Überprüfungen in den Schritten 164 und 166 werden Kantenausbrüche feststellbar. 14 AT 007 51 4 111
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 5 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 Ober-10 flä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. 15 Überhaupt wird darauf hingewiesen, dass die vorhergehenden Ausführungsbeispiele für Be- leuchtungs-/Bilderfassungsanordnungen freilich auch in Kombination mit anderen Bilddatenaus-werteschrittfolgen 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 20 Bilderzeugung gemäß der vorliegenden Erfindung besser veranschaulichen zu können.
In bezug auf den Ablauf von Fig. 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 Fig. 11 entstehen können, können erkannt und gelöscht 25 werden, indem die Grenzen aller Objekte miteinander verglichen werden.
Bezugnehmend auf die Fig. 4, 10, 11, 13 und 14 wird noch 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 30 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 35 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 40 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, dass 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 45 alle zusammengetragen werden. Obige Schrittfolge könnte sofort unterbrochen werden, sobald nur ein möglicher Fehler erkannt worden ist.
Ferner wird darauf hingewiesen, dass die vorhergehenden Ausführungsbeispiele nicht nur auf flache Oberflächen anwendbar sind. Beispielsweise könnten die Ausführungsbeispiele nach Fig. 5, 7, 9 und 10 darin variiert werden, dass ein zylinderförmiger Gegenstand mit seiner Symmetrieach-50 se 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 mehr oder weniger komplizierte Bewegungen notwendig sind. Dasselbe gilt 55 freilich auch für die Aufnahmen mit Flächenkameras. Die im vorhergehenden genannten verschie- 15 AT 007 51 4 U1 denen Listen können in beliebigen Speichern der Auswerteeinrichtung 50 und/oder extern hierzu gespeichert sein.
In Bezug auf die Beschreibung von Fig. 12 wird noch darauf hingewiesen, dass die Reihenfolge der Schritte auch variieren kann. So könnte beispielsweise die Bestimmung des dort als Ausfüh-5 rungsbeispiel 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 Pixelket-10 te, 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 Fig. 12, Eigenschaften könnte als mögliche Alternative auch die 15 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 ziem-20 lieh 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 25 obige Listen-Vergleiche folglich kaum machbar, als Auswertehilfe für die gefundenen Fehler jedoch schon.
Der Bildverarbeitungsprozess nach den Fig. 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 30 einem Rechner ausgewertet.
In einem sog. Lemschritt 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. 35 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 40 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 45 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 Vergleichskri-50 terien angewendet. 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. 55 Die Erzeugung von Objektlisten kann beispielsweise durch folgende Schritte geschehen: 16 5 10 15 20 25 30 35 40 45 50 AT 007 51 4 U1 1. Die mittlere Helligkeit des Bildes auf einer Umgebung von NxN 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 Gebiete, 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 Grenzen 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 der 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 jedes 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 17 55
Claims (14)
- AT 007 51 4 U1 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, 5 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. 10 ANSPRÜCHE: 15 20 25 30 35 40 45 50 1. Vorrichtung zur Erkennung von Fehlern einer Objektoberfläche (24) eines Objekts (26), mit einer Lichtquelle (14) zur Beleuchtung des Objekts (26) mit einem Beleuchtungsstrahl (22), der unter einem Einfallswinkel zur Oberfläche (24) auf das Objekt (26) fällt; einem Lichtdetektor (30) zum Erfassen eines von der Objektoberfläche (24) auf den Belichtungsstrahl (22) hin reflektierten Strahls (42), der unter einem Ausfallswinkel zur Objektoberfläche (24) von dem Objekt (26) reflektiert wird, um Bilddaten zu erhalten; und einer Auswerteeinrichtung (50) zum Auswerten der Bilddaten, um mögliche Fehler zu erkennen, dadurch gekennzeichnet, dass die Lichtquelle (14) derart zu einer optischen Achse des Lichtdetektors (30) ausgerichtet ist, dass die Lichtquelle (14) bezüglich eines bildseitig sichtbaren Oberflächenbereiches des Objekts (26) im Glanzwinkel erscheint.
- 2. Vorrichtung gemäß Anspruch 1, dadurch gekennzeichnet, dass das Objekt (26) ein metallisches Gussteil ist.
- 3. Vorrichtung gemäß Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Lichtquelle (14) und der Lichtdetektor (30) derart zueinander und zu dem Objekt (26) angeordnet sind, dass reflektierter Strahl (42) und Beleuchtungsstrahl (22) in etwa senkrecht zur Objektoberfläche (24) stehen.
- 4. Vorrichtung gemäß einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Vorrichtung ferner folgendes Merkmal aufweist: einen Strahlteiler (40), der in den Beleuchtungsstrahl (22) geschaltet ist, zum entweder Durchlässen desselben und Umlenken des reflektierten Strahls (42) zum Lichtdetektor (30) hin, oder Durchlässen des reflektierten Strahls (42) und Umlenken des Beleuchtungsstrahls (22) von der Lichtquelle (14) auf das Objekt (26).
- 5. Vorrichtung gemäß Anspruch 4, dadurch gekennzeichnet, dass die Vorrichtung ferner folgendes Merkmal aufweist: eine Lichtfalle (41) zum Auffangen von Licht, das von der Lichtquelle (14) durch den Strahlteiler (40) nicht auf das Objekt (26) umgelenkt oder nicht zum Objekt (26) hin durchgelassen wird.
- 6. Vorrichtung gemäß einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Lichtquelle (14) eine effektive Leuchtfläche (44) mit einer Lücke (46) aufweist, durch die der reflektierte Lichtstrahl hindurchläuft.
- 7. Vorrichtung gemäß einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Lichtdetektor (30) ein Flächenlichtdetektor (30) mit einer Mehrzahl von Pixeldetektoren ist, und dass die Vorrichtung ferner folgendes Merkmal aufweist: eine Optik (32) zum Abbilden der Objektoberfläche (24) auf den Flächendetektor (30).
- 8. Vorrichtung gemäß Anspruch 7, dadurch gekennzeichnet, dass die Vorrichtung ferner folgendes Merkmal aufweist: eine Relativbewegungserzeugungseinrichtung zum Erzeugen einer Relativbewegung zwischen Objekt (26) einerseits und Lichtdetektor (30) andererseits in einer Relativbewegungsrichtung (34), die im wesentlichen senkrecht zu einer Flächennormalen der Objektoberfläche (24) steht.
- 9. Vorrichtung gemäß einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Lichtdetektor (30) ein Zeilenlichtdetektor (30) mit einer Zeile von Pixeldetektoren ist und wobei die Vorrichtung ferner folgende Merkmale aufweist: 18 55 AT 007 51 4 U1 eine Optik (32) zum Abbilden der Objektoberfläche (24) auf den Zeilenlichtdetektor (30); und eine Relativbewegungserzeugungseinrichtung zum Erzeugen einer Relativbewegung zwischen Objekt (26) einerseits und Zeilenlichtdetektor (30) andererseits in einer Relativbe-5 wegungsrichtung (34), die im wesentlichen senkrecht zur Zeile von Pixeldetektoren steht.
- 10. Vorrichtung gemäß einem der vorhergehenden Ansprüche, bei der die von den Pixeldetektoren erzeugten Bilddaten für jedes Pixel (70) eines Arrays von Pixeln einen Helligkeitswert umfassen, und die Einrichtung (50) ein Computer ist, auf dem ein Computerprogramm abläuft, das folgenden Algorithmus implementiert: 10 Feststellen (52) jedes Pixels, dessen Pixelhelligkeitswert von einem mittleren Wert der Pi- xelhelligkeitswerte von Pixeln in einer vorbestimmten Umgebung desselben mehr als um eine vorbestimmte Helligkeitsschwelle abweicht, um Kandidatenpixel zu erhalten; Gruppieren (54) der Kandidatenpixel zu zusammenhängenden Clustern (72) von Kandida-tenpixeln; 15 Untersuchen (56) eines Clusters (72), um festzustellen, ob in der Nähe eines Rands des Clusters (72) von Kandidatenpixein eine Konturlinie ziehbar ist, die mit mehr als einem vorbestimmten Mindestkontrast hellere von dunkleren Pixeln in dem und um das Cluster (72) herum trennt; und falls die Untersuchung ergibt, dass eine Konturlinie von Pixeln in der Nähe eines Randes 20 des Clusters (72) in dem und um das Cluster (72) herum ziehbar ist, Vergleichen (58, 126, 64,132) dieser Konturlinie mit einer vorbestimmten Sollkonturlinie, um festzustellen, ob die Konturlinie mit der vorbestimmten Sollkonturlinie um mehr als einen vorbestimmten Übereinstimmungsgrad übereinstimmt, und, falls keine Übereinstimmung mit der vorbestimmten Sollkonturlinie vorliegt, Identifizieren (60, 138, 140, 136) des Clusters (72) von Kandida-25 tenpixeln als eine Abbildung eines möglichen Fehlers der Objektoberfläche (24).
- 11. Vorrichtung gemäß Anspruch 10, bei der der durch das Computerprogramm implementierte Algorithmus ferner das Feststellen aufweist, ob in der Nähe eines Randes des Clusters (72) eine Konturlinie von Pixeln ziehbar ist, die mit mehr als einem vorbestimmten Mindestkontrast hellere von dunkleren Pixeln in dem und um das Cluster (72) herum trennt 30 und die geschlossen ist.
- 12. Vorrichtung gemäß Anspruch 10 oder 11, bei der der durch das Programm implementierte Algorithmus derart implementiert ist, dass das Untersuchen durch folgenden Teilalgorithmus erzielt wird: Ernennen (74) eines der Kandidatenpixel des vorbestimmten Clusters (72) als Zentrumpi-35 xel (76); Einteilen (80) von Pixeln in einem Schwellenumgebungsbereich (82) um das Zentrumpixel (78) herum in helle Pixel und dunkle Pixel; Berechnen (92) eines Kontrastwertes zwischen den hellen Pixeln und den dunklen Pixeln im Schwellenumgebungsbereich (82); 40 falls der Kontrastwert kleiner als der vorbestimmte Mindestkontrast ist, Abbrechen (96) der Untersuchung, wodurch die Untersuchung ergibt, dass keine Konturlinie in dem und um das Cluster (72) herum ziehbar ist; falls der Kontrastwert größer als der vorbestimmte Mindestkontrast ist, Hängen von Grenzpixeln an einer Grenze zwischen den hellen und den dunklen Pixeln an eine augen- 45 blickliche Pixelkette; Prüfen, ob die augenblickliche Pixelkette geschlossen ist; falls die Pixelkette geschlossen ist, Identifizieren der Pixelkette als Konturlinie des Clusters (72), wodurch die Untersuchung ergibt, dass eine Konturlinie in dem und um das Cluster (72) herum ziehbar ist; und 50 falls die Pixelkette nicht geschlossen ist, Bewirken, dass die Einrichtung zum Einteilen die Einteilung erneut für ein Grenzpixel durchführt, das zwischen einem Rand des Schwellenumgebungsbereichs und dem Zentrumpixel liegt.
- 13. Vorrichtung gemäß einem der Ansprüche 10-12, die folgendes Merkmal aufweist: eine Einrichtung zum Bereitstellen mehrerer Sollkonturlinien, 55 wobei der durch das Computerprogramm implementierte Algorithmus ferner folgenden 19 AT 007 51 4 U1 Teilalgorithmus implementiert: Bestimmen einer zugeordneten Eigenschaft für jedes Cluster (72), wobei die zugeordnete Eigenschaft aus einer Gruppe ausgewählt ist, die eine auf einer Länge des Clusters (72), einer Fläche des Clusters (72), einer Helligkeit des Clusters (72), einer auf dem Durchmesser des Clusters (72) oder einer Form des Clusters 5 (72) basierende Größe umfasst; und Vergleichen (58) der Eigenschaft jedes Clusters (72) mit jeder Solleigenschaft eines Satzes von Solleigenschaften, wobei jeweils eine Solleigenschaft und eine Sollkonturlinie einander zugeordnet sind, wobei das Vergleichen darauf ansprechend durchgeführt wird, dass die Eigenschaft des Clusters (72) mit der Solleigenschaft der vorbestimmten Sollkon-10 turlinie überein stimmt.
- 14. Vorrichtung gemäß einem der Ansprüche 10-13, bei der der durch das Computerprogramm implementierte Algorithmus ferner implementiert ist, um auf einen möglichen Fehler in der Oberfläche des Objekts zu schließen, wenn unter den Paaren von Sollkonturlinien und zugeordneten Solleigenschaften eines existiert, mit welcher keine Übereinstimmung 15 mit einem Paar von Konturlinien und zugeordneter Eigenschaft besteht. HIEZU 8 BLATT ZEICHNUNGEN 20 25 30 35 40 45 50 20 55
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AT0078403U AT7514U1 (de) | 2003-11-07 | 2003-11-07 | Vorrichtung zur erkennung von oberflächenfehlern |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AT0078403U AT7514U1 (de) | 2003-11-07 | 2003-11-07 | Vorrichtung zur erkennung von oberflächenfehlern |
Publications (1)
Publication Number | Publication Date |
---|---|
AT7514U1 true AT7514U1 (de) | 2005-04-25 |
Family
ID=34140160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
AT0078403U AT7514U1 (de) | 2003-11-07 | 2003-11-07 | Vorrichtung zur erkennung von oberflächenfehlern |
Country Status (1)
Country | Link |
---|---|
AT (1) | AT7514U1 (de) |
-
2003
- 2003-11-07 AT AT0078403U patent/AT7514U1/de not_active IP Right Cessation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10000364B4 (de) | Merkmalbasierende Feststellung von Fehlern | |
DE69531805T2 (de) | Inspektion einer Kontaktlinse mit einer Beleuchtung mit Doppelfokus | |
DE68923353T2 (de) | Anordnung und Verfahren zum Ermitteln von Fehlern in zu prüfenden Mustern. | |
DE102005011237B3 (de) | Verfahren zur Bestimmung von Defekten in Bildern | |
EP1987348B1 (de) | Verfahren zum Erkennen von Fehlern auf der Oberfläche eines zylindrischen Objekts | |
DE19803021A1 (de) | Verfahren und Vorrichtung zur Musteruntersuchung | |
EP1669741A1 (de) | Verfahren und System zur Inspektion eines Wafers | |
DE102017116036A1 (de) | Verfahren und Vorrichtung zum Erkennen von Fehlstellen | |
EP3104117B1 (de) | Verfahren zur fehleranalyse von drahtverbindungen | |
DE112007002927T5 (de) | Fehlerdetektionsvorrichtung, Fehlerdetektionsverfahren, Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Programm dafür | |
DE10011200A1 (de) | Verfahren zur Bewertung von Strukturfehlern auf einer Waferoberfläche | |
DE102018202051B4 (de) | Vorrichtung zum automatischen Prüfen von Linsen und Verfahren zum automatischen Prüfen einer Vielzahl von Linsen | |
EP2022347B1 (de) | Optische Kontrolle von Produkten der Tabak verarbeitenden Industrie | |
DE102010032241A1 (de) | Verfahren und Vorrichtung zum Erkennen von Oberflächenfehlern | |
DE102016107900A1 (de) | Verfahren und Vorrichtung zur Kantenermittlung eines Messobjekts in der optischen Messtechnik | |
EP2669622B1 (de) | Prüfverfahren und hierzu geeigneter Prüfkopf | |
DE102020120887B4 (de) | Verfahren zum erfassen einer einhängeposition eines auflagestegs und flachbettwerkzeugmaschine | |
EP0927348A1 (de) | Verfahren und anordnung zur automatischen optischen qualitätskontrolle von flachen, ebenen produkten | |
DE20317095U1 (de) | Vorrichtung zur Erkennung von Oberflächenfehlern | |
DE102008001174B9 (de) | Inspektionssystem und -verfahren für die optische Untersuchung von Objektoberflächen, insbesondere von Waferoberflächen | |
DE102017106764A1 (de) | Prüfvorrichtung, speichermedium und programm | |
DE102007018204A1 (de) | Vorrichtung und Verfahren zur Erfassung von Fehlerstellen in Tierhäuten | |
DE3688833T2 (de) | Untersuchungssystem durch Linienabtastung für Schaltungsplatten. | |
EP3462164A1 (de) | Anordnung und verfahren zur inspektion von bewegten plattenförmigen objekten | |
DE102008001171B4 (de) | Inspektionssytem und -verfahren für die optische Untersuchung von Objektkanten, insbesondere von Waferkanten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MK07 | Expiry |
Effective date: 20131130 |