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.The
The present invention relates to the detection of surface defects
and in particular to the optical, non-contact or non-tactile
Detection of surface defects,
being embodiments
the present invention, in particular to the detection of errors
in castings.
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.The
Production of complex shaped, metallic components by casting and
subsequent
Machining functional surfaces
is a widely used indispensable manufacturing method
the production of various goods,
such as. in the branch machine building, automobile, sanitary etc.
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.Due process
can in the casting process
in complicated forms the formation of pores or voids or
faulty cavities
in the castings
not completely
be excluded, so that potentially also surface defects
due to pores exposed during subsequent processing or
Voids are inevitable. Further surface defects may occur during the
Processing or transport of the parts arise.
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 Fehlerab messungen bei großen, zu prüfenden Flächen ist
die Prüfung
durch menschliches Personal jedoch sehr aufwendig, fehleranfällig, subjektiv,
inhuman und kostenintensiv.by virtue of
whose absolute accuracy of the castings can not be
be achieved. But such absolute freedom from errors is reversed by
For example, the automotive industry increasingly demanded. In this
Case it is therefore necessary to have a 100% visual inspection of
complete production, i. a visual inspection of each casting, with
subsequent sorting out of defective parts. by virtue of
the usually very complex form of castings, the poorly accessible location
functional surfaces,
such as. in holes, as well as the small Fehlerab measurements on large surfaces to be tested is
the exam
by human staff but very elaborate, prone to error, subjective,
inhumane and costly.
Es
wäre deshalb
wünschenswert,
Oberflächenfehler
in Gussteilen automatisch und auch bei hohen Durchsätzen sicher
erkennen zu können.It
That would be why
desirable,
surface defects
in castings automatically and also at high throughputs safely
to be able to recognize.
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.In
S.D. Yanowitz and A.M. Bruckstein, "A new method for image segmentation", computational vision
Graphics Image Process., V. 46, p. 82-95 (1989), becomes an artifact recognition system
described. The system works in the following way. The image to be tested
is using a mean filter
adjusted. The gradient of the intensity of the image is calculated.
The gradient image is binarized and thinned by a threshold. When
As a result, boundaries of the objects are found. At found fragments
the boundaries are taken as threshold the current gray values.
An entire threshold surface
is generated from these local thresholds, according to a
so-called potential surface,
the solution
the Laplace equation
represents. The entire image is then segmented and artifacts
are detected and deleted.
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.disadvantageous
The procedure is that the algorithms for calculating the
Gradients and especially the potential surface extremely time consuming and
so not for
a test system
are capable of doing this at high speed under real-time conditions
to work in a production environment. Furthermore, the
potential surface,
away from image zones of interest to the average brightness
to approach the picture,
which is why in the picture there, where only a few characteristic
Image features are seen, will produce a great many artifacts.
The exam
And eliminating these artifacts will take a long time
to take.
Die EP 0574336 B1 bezieht
sich auf ein Verfahren zum Nachweis von Oberflächenfehlern von langgestreckten
metallischen Werkzeugen, bei dem Fehler dadurch erfasst werden,
dass mit einer CCD-Kamera die langen Produkte aufgenommen werden,
während
diese entlang einer Förderachse an
der Kamera vorbeibewegt werden. Insbesondere wird entlang einer
CCD-Zeile das „Vorbeifahren" von Fehlern durch
Beobachten des Helligkeitsunterschieds einzelner Pixel der CCD-Zeile
zu aufeinanderfolgenden Zeitpunkten bestimmt.The EP 0574336 B1 relates to a method for detecting surface defects of elongated metallic tools, in which errors are detected by taking the long products with a CCD camera as they move along a conveying axis on the camera. Specifically, along a CCD line, the "passing" of errors is determined by observing the brightness difference of individual pixels of the CCD line at successive times.
Die DE 693 28 533 T2 bezieht
sich auf ein Verfahren zum Prüfen
eines Festkörpers
auf Fremdstoffe hin. Nach diesem Verfahren werden obere und untere
Grenzpegelwerte derart eingestellt, dass die Pegel der Bildsignale,
die kleine Stücke
von Fremdstoffen zeigen, in eine Bandbreite zwischen der oberen
und unteren Grenze fallen. Ein Erkennen von Fremdstoffen wird dann
durch eine Auswertung von drei Pixelpunkten erzielt.The DE 693 28 533 T2 refers to a method for testing a solid for foreign matter. According to this method, upper and lower limit level values are set so that the levels of the image signals showing small pieces of foreign matter fall within a bandwidth between the upper and lower limits. Detection of foreign matter is then achieved by evaluating three pixel points.
Die EP 0 671 845 81 bezieht
sich auf eine multidimensionale Bilddatenkompression und -dekompression.The EP 0 671 845 81 refers to multidimensional image data compression and decompression.
Es
ist die Aufgabe der vorliegenden Erfindung, ein Verfahren und eine
Vorrichtung zur Erkennung von Fehlern einer Objektoberfläche eines
Objekts zu schaffen, die unaufwendigere automatische Prüfung von
Oberflächen
auf Fehler hin ermöglichen.It
is the object of the present invention, a method and a
Device for detecting errors of an object surface of a
Object to create the less expensive automatic testing of
surfaces
allow for errors.
Diese
Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1 und ein Verfahren
gemäß Anspruch
15 gelöst.These
The object is achieved by a device according to claim 1 and a method
according to claim
15 solved.
Die
Erkenntnis der vorliegenden Erfindung besteht darin, dass eine unaufwendigere
und gleichzeitig aber auch genauso sichere Erkennung von Oberflächenfehlern
erzielt werden kann, wenn 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. Erfindungsgemäß werden
deshalb zunächst
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.The
Knowledge of the present invention is that a less expensive
and at the same time also just as reliable detection of surface defects
can be achieved if the detection is made gradually
is the number of pixels to be examined or the size of the test in
Consider as small as possible to draw pixel regions
hold. According to the invention
therefore first
determines those pixels among all the pixels of the image of the surface,
its pixel brightness value from an average value of pixel brightness values
of pixels in an environment thereof more than a predetermined one
Brightness threshold deviate. The thus determined candidate pixels
become too coherent
Clusters or blobs grouped. In this way, further troubleshooting can be done
be restricted to the blobs and their environment. In a second
Stage, the blobs are examined to see if near a border
of the blob a contour line can be pulled, which is more than a predetermined
Minimum contrast lighter from darker pixels in and around the blob
separates. In this way, the subsequent troubleshooting of two-dimensional
Pixel clusters further restricted to one-dimensional pixel strings, the
form the contour lines of so-called objects. A contour line comparison
with target contour lines can then be used to high
Security objects in the shots assigned to target contours, but
also to errors at object edges, i. Deviations from an assignable nominal contour line,
determine.
Eine
weitere Kenntnis der vorliegenden Erfindung bestand darin, 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.A
Further knowledge of the present invention was that
it for
the error detection is immaterial, whether the defects in the
surface
in the optical picture actually
be properly determined in their extent, or merely
a part of the defect is detected in the form of a contour line.
Indeed
it is only necessary that to each visible in the image data
Defective a contour line of any shape is determined, the then
leads to an error detection.
Die
erfindungsgemäße Eingrenzung
der Fehlersuche auf bestimmte Pixelregionen ist besonders effektiv,
wenn die optische Aufnahme der Objektoberfläche kontrastreich ist. Gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung werden deshalb die Bilddaten dadurch
erzeugt, dass die Objektoberfläche
unter einem Einfallswinkel beleuchtet wird, während zur Bilderfassung im
wesentlichen nur Strahlen verwendet werden, die unter einem Ausfallswinkel
zur Oberfläche
von dem Objekt reflektiert werden, der gleich dem Einfallswinkel
ist. In dem Fall einer örtlich
ausreichend glatten Oberfläche,
wie es bei Gussteilen der Fall ist, ergibt sich auf diese Weise ein
hoher Kontrast zwischen Kanten, Kerben und freigeschliffenen Lunkern
auf der einen und der großflächig reflektierenden
Objektoberfläche
auf der anderen Seite.The
Restriction according to the invention
troubleshooting certain pixel regions is particularly effective,
when the optical image of the object surface is rich in contrast. According to one
embodiment
Therefore, according to the present invention, the image data becomes thereby
creates that object surface
illuminated at an angle of incidence, while image capturing in
essentially only beams are used which are at a failure angle
to the surface
be reflected from the object, which is equal to the angle of incidence
is. In the case of a local
sufficiently smooth surface,
as is the case with castings, this results in a
high contrast between edges, notches and cut voids
on the one hand and the large-area reflective
object surface
on the other hand.
Gemäß einem
weiteren 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ög licht,
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.According to one
another embodiment of the
present invention does not find lighting and image capture
only using the same incidence and angle of reflection,
rather, angles of incidence and angle of attack are chosen perpendicular to the surface. This is possible
this according to a
Alternative by a beam splitter located in the beam path
and according to one
Another alternative is a light source with an effective luminous area, the
in the optical and perpendicular to the object surface extending axis an opening for a
Light detector has. By vertical incidence and angle of departure
it will be additional
with planar object surfaces
allows light,
a big part
the object surface
simultaneously in the depth of field area
of the light detector designed as a camera, for example,
so that a planar
Image capture enabled
becomes. Furthermore, on the lighting side, there are no shadowing protruding
Object features or on surface recesses
on.
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen näher
erläutert.
Es zeigen:preferred
embodiments
The present invention will be described below with reference to FIG
the enclosed drawings closer
explained.
Show it:
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; 1 a picture of a casting surface with complex contours, using the illumination / image capture arrangement of 7 has been generated, according to an embodiment of the present invention;
2 einen
Ausschnitt aus der Aufnahme von 1, in dem
ein Oberflächendefekt
zu erkennen ist; 2 a section of the recording of 1 in which a surface defect can be recognized;
3 eine
mikroskopische Aufnahme des in 2 erkennbaren
Oberflächendefektes; 3 a micrograph of the in 2 recognizable surface defect;
4 ein
Flussdiagramm zur Veranschaulichung der Verfahrensschritte bei der
Fehlererkennung nach einem Ausführungsbeispiel
der vorliegenden Erfindung; 4 a flowchart for illustrating the method steps in the error detection according to an embodiment of the present invention;
5 ein
schematisches Raumbild der Beleuchtungs/Bilderfassungsanordnung
gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung; 5 a schematic space image of the illumination / imaging arrangement according to an embodiment of the present invention;
6 ein
schematisches Raumbild einer Beleuchtungs/Bilderfassungsanordnung
gemäß einem weiteren
Ausführungsbeispiel
der vorliegenden Erfindung; 6 a schematic space image of a lighting / imaging arrangement according to another embodiment of the present invention;
7 ein
schematisches Raumbild einer Beleuchtungs/Bilderfassungsanordnung
gemäß einem weite ren
Ausführungsbeispiel
der vorliegenden Erfindung; 7 a schematic space image of a lighting / imaging device according to a further embodiment of the present invention;
8 ein
schematisches Raumbild einer Beleuchtungs/Bilderfassungsanordnung
gemäß einem weiteren
Ausführungsbeispiel
der vorliegenden Erfindung; 8th a schematic space image of a lighting / imaging arrangement according to another embodiment of the present invention;
9 ein
schematisches Raumbild einer Beleuchtungs/Bilderfassungsanordnung
gemäß einem weiteren
Ausführungsbeispiel
der vorliegenden Erfindung; 9 a schematic space image of a lighting / imaging arrangement according to another embodiment of the present invention;
10 ein
schematisches Raumbild einer Beleuchtungs/Bilderfassungsanordnung
gemäß einem
weiteren Ausführungsbeispiel
der vorliegenden Erfindung; 10 a schematic space image of a lighting / imaging arrangement according to another embodiment of the present invention;
11 ein
Flussdiagramm zur Veranschaulichung der Verfahrensschritte bei der Überprüfung, ob für einen
Blob eine Konturlinie existiert; 11 a flowchart illustrating the steps in the process of checking whether a contour line exists for a blob;
12 eine
schematische Darstellung eines Blobs zur Veranschaulichung der Vorgehensweise nach 11; 12 a schematic representation of a blob to illustrate the procedure according to 11 ;
13 ein
Flussdiagramm zur Veranschaulichung der Verfahrensschritte bei der
Erkennung von Fehlern auf der Grundlage der Objekte, bei denen Konturlinien
gezogen werden konnten, und von Sollbildobjekten; 13 a flowchart illustrating the steps in the detection of errors based on the objects in which contour lines could be drawn, and of target image objects;
14 ein
Flussdiagramm zur Veranschaulichung der Verfahrensschritte bei der
Erkennung von Kantenfehlern unter den Objekten mit Konturlinien, die
bereits als zu einer bestimmten Sollkonturlinie gehörig erkannt
worden sind; und 14 a flowchart illustrating the method steps in the detection of edge errors among the objects with contour lines that have already been recognized as belonging to a specific target contour line; and
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. 15 a schematic drawing showing a section of a Blobkonturlinie and an associated nominal contour line and two of the three associated functions, according to the procedure of 14 be generated.
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.Before
Referring to the following figures, the present invention
based on embodiments
is explained in more detail,
It is noted that the same or equivalent
Elements in the figures provided with the same or similar reference numerals
are omitted, and that a repeated description of these elements
becomes.
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.The
The present invention will be discussed below in the light of
Surface inspection of castings
described, either untreated castings or castings,
after the casting process
further surface treatments, in particular
Grinding, have been subjected. Castings of the previously described
Art have a metallic, reflective surface, which is suitable for the following
described generation of high-contrast image recordings of the surface well
suitable. However, the present invention is not limited to the surface testing of
Limited castings. So
For example, the embodiments described below are suitable
as well for
the surface inspection of
Glass components or polished surfaces of any material.
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. 1 shows by way of example the image recording of a casting to be examined, or more precisely the image recording of a surface to be examined of a casting. In the present exemplary case, the casting is a plate-shaped article having two substantially coplanar main sides, between which apertures and holes of different shape extend along the plate thickness.
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 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 1 als die helle Fläche 2 zu erkennen.
Kanten des Gussteils erscheinen aufgrund ihrer Neigung zur Oberfläche 2 dunkel.The admission of 1 has been photographed under special illumination / imaging conditions, such that the illumination is aligned with the optical axis of the receiving light detector such that the light source appears at the glancing angle with respect to the image-side visible surface area, ie the angle of incidence of the illumination beams to the object surface is equal to the reflected angle of the reflected light Rays to the object surface is. Because of these illumination / imaging conditions, most of the planar surface of the planar casting reflects the rays used for illumination directly into the imaging unit, such as a camera. These places of the surface are in the receptacle of 1 as the bright surface 2 to recognize. Edges of the casting appear due to their inclination to the surface 2 dark.
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. 2 shows a section of the image of 1 , As you can see, the in 2 represented section of the surface 2 of the casting essentially white throughout, except for those in 2 visible two holes 4 and 6 , However, it can also be seen at 8 a point at which a contiguous group of pixels of the image of 2 at the otherwise bright area 2 stand out darkly.
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. 3 shows a micrograph of the surface of the casting in the section which is in 2 on the spot 8th has been pictured. As you can see, this is the place 8th around the image of a surface defect, in the present case, a voids exposed by a grinding process with a diameter of about 0.3 mm. As will be discussed in more detail below with respect to 5-10, the blowhole appears 8th in the intake of 1 or 2 dark, because the surface of the casting at this point rugged and ins special inclined to the rest of the surface 2 is, so that the incident rays are reflected by the light source at an angle other than the gloss angle and thus do not reach the receiving light detector. Examples of other surface defects in castings include edge breakouts, scratches or other deviations of the surface from a desired shape.
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.Referring now to the 1 - 3 an exemplary embodiment of a possible surface to be tested, namely that of a casting, as well as examples of possible surface defects, are described in the following embodiments of the present invention for detecting surface defects against the background of the surface inspection of castings, where appropriate, on one of the 1 - 3 Reference is made.
4 zeigt
die Verfahrensschritte bei der Oberflächenfehlererkennung gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung in grober Übersicht. Das Verfahren beginnt
im Schritt 10 damit, dass eine Bildaufnahme der zu prüfenden Objektoberfläche vorgenommen
wird. Das Ergebnis sind 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. 4 shows the method steps in the surface defect detection according to an embodiment of the present invention in a rough overview. The procedure begins in step 10 with the fact that an image acquisition of the object surface to be tested is undertaken. The result is image data having a brightness value H for each pixel of a pixel array. Although the pixels may of course also be arranged differently, it is assumed below that the pixels are regularly arranged in rows and columns, wherein the brightness value for a pixel in the x-th row and y-th column with H (x , y).
Bezug
nehmend auf die 5 – 10 werden
im folgenden Ausführungsbeispiele
für Beleuchtungs/Bilderfassungsanordnungen
beschrieben, die zur Bilderzeugung im Schritt 10 verwendet
werden können.Referring to the 5 - 10 are described in the following embodiments for illumination / image acquisition devices that are used to image in step 10 can be used.
5 zeigt
ein erstes Ausführungsbeispiel für eine Beleuchtungs/Bilderfassungsanordnung.
Die Anordnung von 5, die allgemein mit 12 angezeigt ist,
umfasst als Lichtquelle 19 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 Beleuchtungsstrahlen 22 treffen auf die Oberfläche 24 unter
einem Eintrittswinkel θe auf. 5 shows a first embodiment of a lighting / imaging arrangement. The arrangement of 5 generally with 12 is displayed as the light source 19 an arrangement of a cold light source 16 , a light guide 18 in which the light of the cold light source 16 is coupled, and a cross-section converter 20 in which the light in the light guide 18 is fanned out so that the light of the cold light source 16 emerging from a row of exit pupils, so that parallel illumination beams 22 on a surface to be tested 24 of a test object 26 generate a line light, ie a line-shaped exposed area 28 , The lighting beams 22 hit the surface 24 at an entrance angle θ e .
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.Capture or recording side includes the arrangement 12 from 5 a line camera 30 with a lens 32 , The optical axis of the lens 32 is on the line 28 directed, at which the lighting beams 22 on the surface 24 meet and is to the surface 24 inclined at an exit angle θ a such that the light source 14 with regard to the surface area visible in the camera image 28 appears in the glancing angle. The objective 32 forms the illuminated linear area 28 the surface 24 on a pixel array in the camera 30 from.
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.Furthermore, the arrangement comprises 12 a displacement unit for moving the DUT 26 perpendicular to the surface normal to the illuminated area 28 and preferably also perpendicular to the illumination line 28 , wherein the displacement unit in 5 for clarity only by an arrow 34 is indicated, which should simultaneously represent the direction of displacement.
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.An image capture using the array 12 from 5 takes place in the following way. The light source 14 creates a line light 22 that on the surface 24 to a line-shaped exposed area 28 leads. From there, the illumination beams become 22 mostly for serving as a light detector line scan camera 30 reflected. The lens forms the illuminated line-shaped area 28 on the line array of the line scan camera 30 from. For each pixel, only those rays contribute to the image capture, which are at the respective surface point along the line 28 , which are reflected on the respective pixel, reflected and the glancing angle only slightly or not at all, otherwise they are not in the entrance pupil of the camera 30 and do not contribute to the image acquisition. This initially creates a pixel row or pixel column, which is an image of the illuminated area 28 or the on the pixel line of the line scan camera 30 represents imaged surface area.
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.The line camera repeats with a certain bar 30 their pictures and creates more pixel lines or pixel columns. Meanwhile, however, the examinee becomes along the direction 34 coplanar to the surface 24 postponed. Due to the displacement perpendicular to the surface normal, the surface remains 24 of the test piece 26 in the deep-focus area of the lens 32 or at the place where the illumination beams 22 and optical axis of the camera 30 to cut. However, the shifting action effectively causes the illuminated area during successive pixel line captures 28 along the surface 24 in a direction opposite to the direction of displacement 34 is moved virtually, so that the successive shots of the line scan camera 30 By joining the individual images, a two-dimensional pixel array results, which is an image recording of the object surface 24 represents.
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.As mentioned above, this is the surface to be tested 24 an example of the example machined surface of a raw cast part 26 , This reflects the largest part of the light 22 to the camera 30 in which regions in which the gloss angle condition, ie, θ e = θ a , is well satisfied, appear brighter in the image pickup or the pixel array than regions in which the gloss angle condition is not or only approximately fulfilled , This is the case with defects such as voids, dents or scratches. In the inspection of raw cast parts, due to the lower reflectivity, cast green areas appear on average darker than mechanically processed areas.
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.In the embodiment of 5 fell the light used for lighting 22 obliquely on the surface to be tested 24 , Due to this fact arise during the scanning process in the case of protruding surface features, such as cones, shadowing, the evaluation of the image data, as from the camera 30 are supplied, and which will be explained in more detail below, makes impossible in the shaded area. Furthermore, the optical axis of the camera had to be inclined to the surface 24 inclined, so that some surface areas are not visible despite scans, such as the bottom of blind holes or the hidden area behind a prominent feature.
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.The following with reference to the 6 - 10 described embodiments circumvent this problem by merging the illumination beam path and the reflected beam path so that they coincide, which corresponds to a lighting perpendicular to the surface and a light detection with an optical axis perpendicular to the surface. In other words, in the special case of an optical axis of the camera perpendicular to the surface in question, the fulfillment of the gloss angle condition means that the illumination must also be arranged perpendicular to the viewed surface, ie in the optical axis of the camera.
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 14. In
dem Fall von 6 ist jedoch die Kamera 30 eine
flächenhaft
messende Kamera, die ein zweidi mensionales 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. 6 shows a possible arrangement for the realization of this special case. The arrangement of 6 is generally with 12a displayed. The order 12a includes like the arrangement of 5 a camera 30 with a lens 32 and a light source 14 , In the case of 6 but the camera is 30 a planar measuring camera, which has a zweiidi dimensional pixel array, on which the lens 32 a surface of interest of the surface 24 of the test piece 26 maps. With its optical axis 36 is the camera 30 perpendicular to the surface 24 aligned. The light source 14 exists in contrast to the embodiment of 5 from a flat, scattering light source 38 , The gloss angle condition is used in the embodiment of 6 satisfied by that between lens 32 and examinee 26 a beam splitter 40 is arranged, which is the light 22 from the light source 14 deflects, so that at least a large part of the illumination light beams 22 perpendicular to the surface 24 falls. A part of the light 22 the light source 14 lets the beam splitter 40 pass through, where it is absorbed by a light trap, for example, as is the case in subsequent embodiments. The beam splitter 40 is further provided to a portion of the reflected radiation 42 to the camera 30 to let pass.
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.In contrast to the arrangement of 5 is in the arrangement of 6 no sliding unit necessary as the lens 32 the surface of interest 24 areally on the pixelarray of the camera 30 images and the light source 14 the surface 24 areally illuminated. Again, the lens bundles 32 on the individual pixels of the camera 30 only such rays from an object point on the object surface 24 on the pixels of the camera, which are only slightly inclined to the glancing angle, namely here to the surface normal. Surface defects therefore appear dark, as do edges.
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 Abschattungen 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.While 6 a surface-measuring arrangement showed, shows 7 an embodiment of a line-by-line measuring arrangement, as shown in FIG 5 has been shown, with the difference that, however, as in 6 a vertical lighting and detection is used. In addition to the in 5 shown components therefore includes the arrangement of 7 generally with 12b is displayed, a beam splitter 40 , where beam splitter 40 , Line camera 30 and light source 14 as referring to 6 described, relative to the object surface 24 are arranged. The shift along the direction 34 takes care of as referring to 5 described that for the successive recorded one-dimensional pixel images joined together a two-dimensional image of the object surface 24 yield, but this time without shadowing and the like. In addition, the arrangement includes 12b a light trap 41 that the cross-section converter 20 the light source 14 over the beam splitter 40 is arranged opposite and is intended to light from the light source 14 passing through the beam splitter 40 pass undisturbed, capture and prevent it from going back to the beam splitter 40 where it is otherwise to the camera 30 could be distracted and could lead to artifacts there.
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.The embodiments of 6 and 7 saw to the realization of an arrangement vertical optical axis and vertical illumination, to provide a beam splitter in the beam path of the camera image, namely, in front of the lens, the light from the light source was reflected in the beam path of the camera image. Of course, it is also possible, conversely, to allow the illuminating light from the light source to pass the beam splitter towards the object surface, and to deflect the reflected light into the camera.
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.Another possible embodiment, the embodiments of 8th and 9 In these embodiments, no beam splitter is used to "superimpose" illuminating light and reflected light, but a large aperture lamp is used in which an aperture is provided through which the lens of the camera exposes the object surface to the photosensitive surface can map the camera.
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. 8th shows a lighting / imaging arrangement 12c , It includes a surface camera 30 with a lens 32 whose optical axis 36 as in the embodiment of 6 perpendicular to the surface of interest 24 of the test piece 26 stands and the surface 24 in the depth of field of the lens 32 that is the surface 24 on the two-dimensional pixel array of the area camera 30 maps. As illumination light source 14 serves a scattering, surface light source 44 which is in about its center of its luminous area, at the point where it is the optical axis 36 cuts, an opening 46 having. The effective illuminated area 44 the light source 14 is substantially perpendicular to the optical axis 36 arranged and located along the optical axis 36 looks between the camera 30 and examinee 26 , Preferably, very close to the lens inlet, so that the visible for the camera solid angle range is hardly limited. In this way, the one immediately behind the light 44 attached camera 30 able through the breakthrough or the opening 46 in the light 44 on the surface to be tested 24 to look. This allows the dimension of the breakthrough 46 be chosen small without the look of the camera 30 is hampered. In this way, the gloss angle condition is substantially met.
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. 9 shows an arrangement 12d , It differs from the arrangement of 8th in that the area camera 30 through a line camera 30 was replaced, and the arrangement 12d in addition a displacement device 34 having. In addition, in the embodiment of 9 the effectively glowing area with opening through which the camera 30 can see through, achieved that on each side of the optical axis 36 a light source 48a respectively. 48b has been arranged, in the present case, two narrow line-shaped non-directional light sources in the vicinity of the optical axis 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. 10 shows an embodiment of an arrangement, which generally with 12e is displayed. 10 illustrates the possibility of multiple illumination / image capture arrangements of the type of 7 transverse to the direction of displacement 34 several times, so that in a scan or a shift operation at the same resolution a wider strip of the object surface to be tested 24 can be recorded or scanned, as with reference to 7 respectively. 5 has been described. For clarity, are in 10 Beam splitter, light source and light trap are not shown separately for each line scan camera 30 or - in common form - may be provided in common for multiple line scan cameras.
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.The embodiments of 5 - 10 provide images of an object surface to be tested with a high contrast. More precisely, with the aid of a corresponding illumination and one or more cameras in these exemplary embodiments, the image of the surface to be tested is detected, wherein for easier detection of the defects on the surface, such as voids, scratches or edge outbreaks, ie deviations of the shape of object contours, Based on the images produced, the illumination in these embodiments allows a high-contrast image.
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.This
becomes in these embodiments thereby
achieved that the lighting in each case so to the optical axis of the
appropriate camera is aligned, that the light source with respect to the
visible surface area in the camera image
appears in the glancing angle. Because the surface to be tested the
largest part
of the light in these circumstances
back
Reflected to the camera, the areas where
the gloss angle condition is well met, brighter
as areas where the gloss angle condition is not or only approximately fulfilled.
This is just the case with defects such as e.g. exposed voids,
Dents or scratches.
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 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 5, 7, 9 und 10 beschrieben
worden ist.As was apparent from the foregoing embodiments, the cameras may be both area cameras and line scan cameras. Line scan cameras have the advantage that there are versions available on the market that allow the generation of images with a much higher resolution than area cameras, namely images with a resolution in one direction, which depends on the magnification and pixel pitch of the pixel line of the camera, and a resolution across it, which depends on the image refresh rate and the Verschiebge speed depends. However, when using a line camera, the image must be generated by means of a general linear relative movement of the object and the camera, as referenced 5 . 7 . 9 and 10 has been described.
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.To image the surface to be tested, normal lenses, as known from phototechnology, or telecentric lenses may be used. The advantage of the telecentric lens is the image without perspective distortions, but in this case the aperture of the lens front lens must be larger than the surface to be considered, which is advantageous only for the investigation of smaller workpieces. The advantage of the normal lens is the ability to capture a virtually any large workpiece without relative movement generation. If the object is too large to be captured at the specified resolution with a camera, you can use several cameras simultaneously, as shown in 10 is shown. Each camera then delivers only a partial image of the entire surface.
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ührungsbei spielen
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.Before referring again to 4 The further progress of the surface defect detection will be described below, possible variations to the embodiments of 5 - 10 described. As already mentioned and as will be apparent from the following description, high-contrast images are advantageous for the subsequent evaluation. In all Ausführungsbei games was made use of the fact that the surface of castings, whether machined or unprocessed, although rough, but the light predominantly reflected back with normal incidence of light back along the surface normal, that does not act like a Lambert radiator that looks just as bright from all angles. Of the back-reflected rays those were selected which are inclined from the respective object point substantially only slightly to the surface normal, since only these rays reach the lens opening. Defects have a different reflection characteristic, namely a wider scattering, which is why less light in the solid angle segment is reflected back around the surface normal.
Den
Ausführungsbeispielen
von 5 – 10 liegt
dabei der Gedanke zugrunde, 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.The embodiments of 5 - 10 It is based on the idea that a very high - contrast image of an object surface and thus a facilitated and / or reliable evaluation of the image data to detect surface defects, is possible if illumination device and detection device are arranged to the surface to be tested such that the angle of incidence of Illuminating beam to the surface has the same angle as the detection beam is inclined to the surface, that is, the gloss angle condition is satisfied, since then a very high-contrast image is obtained in which faulty of defect-free surface sites differ greatly in their brightness.
Die
vorliegende Erfindung ist aber nicht auf diese Vorgehensweise eingegrenzt.
Es kann auch umgekehrt gerade ein Raumwinkelsegment der zurückreflektierten
Strahlen der Oberflächenpunkte
der zu prüfenden
Oberfläche
selektiert werden, in welchem von den flächigen Teilen der Oberfläche nur wenig
Licht zurückreflektiert
wird, was eben gerade der Fall ist, wenn die Glanzwinkel-Bedingung
nicht erfüllt
ist. In diesem Fall erscheint die Oberfläche im wesentlichen dunkel.
Fehlstellen jedoch, an denen das Licht mehr ge streut als gespiegelt
wird, erscheinen dagegen heller, da sie auch unter anderem in den
interessierenden Raumwinkelbereich zurückreflektieren. Dieser Aufnahmetyp,
bei dem, Oberflächenteile
dunkel erscheinen, könnte
dadurch erreicht werden, dass Kamera und Beleuchtung nicht unter Glanzwinkelbedingung
zueinander und zu der Objektoberfläche ausgerichtet werden. Ferner
könnte
in dem bildseitigen Fokus der aufnahmeseitigen Linse Licht in der
optischen Achse blockiert werden, so dass dasjenige Licht, was von
der Oberfläche
im Glanzwinkel bzw. entlang der Flächennormalen zurückreflektiert
wird und bei der Abbildung durch den bildseitigen Fokus verläuft blockiert
wird, gestreutes Licht aber durchgelassen wird. Auch in diesem Fall würden lediglich
Objektpunkte hell erscheinen, die das Licht mehr zurückstreuen
als es zielgerichtet zurückzuspiegeln,
so dass auch bei dieser Ausführungsvariante
Fehlstellen hell erscheinen würden.The
however, the present invention is not limited to this practice.
Conversely, it is just a solid angle segment of the reflected back
Rays of surface points
the one to be tested
surface
in which of the flat parts of the surface little
Light reflected back
becomes what is just the case when the gloss angle condition
not fulfilled
is. In this case, the surface appears substantially dark.
Defects, however, where the light is more scattered than mirrored
is, on the other hand, appear brighter, as they also in the
Reflecting the spatial angle area of interest. This recording type,
at that, surface parts
could appear dark
be achieved by the camera and lighting not under gloss angle condition
aligned with each other and to the object surface. Further
could
in the image-side focus of the taking-side lens, light in the
be blocked on the optical axis, so that light, which is from
the surface
reflected back in the glancing angle or along the surface normal
is blocked and in the picture by the image-side focus is blocked
is, but scattered light is transmitted. Also in this case would only
Object points appear bright, which scatter the light back more
as purposefully reflecting back
so that also in this embodiment
Defects would appear bright.
Es
soll noch darauf hingewiesen werden, dass obige Beleuchtungs/Bilderfassungsanordnungen
auch zur Erzeugung kontrastreicher Abbildungen geeignet sind, wenn
die zu prüfende
Oberfläche andere
Reflexionseigenschaften aufweist als Gussteile. So funktionierte
obiges Verfahren 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.It
It should be noted that the above illumination / image acquisition arrangements
are also suitable for producing high-contrast images, if
the one to be tested
Surface others
Has reflection properties as castings. That's how it worked
The above procedure, of course, even with smoother reflecting surfaces, such as
e.g. in glass or the like. It is also pointed out
in the foregoing, the possibility of shifting only with respect to
described on the recording with one-dimensionally measuring line scan cameras
has been. Of course, it is also possible to move the object laterally
shift and measure it area by area to a
to measure larger area.
Nachdem
nun im Vorhergehenden Bezug nehmend auf die 5 – 10 Ausführungsbeispiele
für Anordnungen
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.Having now made reference to FIGS 5 - 10 Embodiments of arrangements for carrying out the step 10 , namely, the image recording, have been described, whereby the brightness image H (x, y) is supplied, the evaluation of these brightness images is described below, the evaluation of an apparatus 50 is performed, the same representative of the other embodiments of image pickup devices only in 5 is shown. This evaluation device 50 is with the camera 30 connected to receive and evaluate the image data H (x, y), as will be described below. The evaluation device 50 For example, if a computer runs a suitable computer program, it could also be a hardware-implemented module that performs the steps described below with reference to the flowcharts by means of a correspondingly integrated circuit.
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 über prüft, wobei in diesem Fall das
Pixel als Kandidatenpixel deklariert wird:
Now in step 10 the image acquisition has been carried out and the brightness matrix H in the evaluation device 50 has arrived, is now in one step 52 Each pixel (x, y) then checks to see whether it deviates by a predetermined brightness threshold from an average of the brightness values within a surrounding area thereof. Any pixel in which this is the case is considered a candidate pixel, ie, a pixel that is eligible to be a pixel onto which a surface defect has been mapped. More specifically, in the step 52 for each pixel (x, y), perform the following steps: - The average brightness of the image in an environment of the pixel (x, y) of N + 1 by N + 1 pixels is calculated, ie
- Thereafter, the current brightness of the pixel (x, y) is compared with the calculated average brightness and, if the deviation exceeds a certain selectable threshold θ, the current pixel is marked as a candidate pixel. In other words, the following inequality is checked for correctness, in which case the pixel is declared as a candidate pixel:
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.The tag may include either adding the pair x, y of a candidate pixel to a list of candidate pixel coordinate pairs, or step 52 generates an array of tags, each associated with a pixel and indicating whether or not it is a candidate pixel.
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).In one step 54 Thereafter, contiguous clusters of candidate pixels are grouped into contiguous regions of pixels, referred to as blobs in accordance with the present description. Thus, blobs, since they consist of candidate pixels, lie near a boundary between light and dark areas of the image 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.Thereupon, in one step 56 Each blob then examines whether near a border or border of the blob a contour line can be drawn that separates more than a predetermined minimum contrast from darker pixels in and around the blob.
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.The step 56 taking the reference 11 will be described in more detail below, is to locate among all blobs the relevant blobs, quasi the candidate blobs that potentially represent images of surface defects. These candidate blobs are referred to below as objects. The step 56 makes it possible to reduce the amount of information about the relevant blobs, namely those around which the contour line can be dragged, since from then on only the pixels on the contour line need to be viewed.
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.The result of the step 56 are pixel strings that represent the contour lines of the relevant blobs. As it is later referring to 11 will be described in more detail, only such blobs are picked out as a candidate blob around which a closed contour line can be dragged, or a contour line running from pixelarray margin to pixel array margin. Other blobs are discarded, although along their edge, in part, a contour line with considerable contrast can be drawn, such as a U-shaped contour line. The reason for this is that it has been discovered that such blobs mostly result only in reflective deposits or the like and would otherwise lead to false-positive misdiagnoses, ie the erroneous assumption that it is a surface defect.
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.After that, in one step 58 the candidate blobs to which a contour line has been assigned, ie, the objects compared to a set of target image objects to check each object among the objects for whether it has more than a predetermined degree of match to any of the target image objects, thereby an association between objects and target image objects is obtained, which assigns at most one target image object and vice versa to a target image object at most one candidate blob an object.
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.The target image objects may have been obtained from an image acquisition of a flawless reference object or casting in the same way as the objects described above, ie by image acquisition, locating blobs and drag contour lines. The target image objects consequently do not affect surface defects, but instead represent, for example, the edges of the surface to be tested of the reference casting so places that are desirable, but in the image recording just dark, for example, compared to the rest of the object surface appear. The set of target image objects is also sometimes referred to as a pattern list in the following. Alternatively, the target image objects could not have been generated in the same way as the candidate blobs or objects, namely based on a shot, but could have been generated by a CAD program from model data of the casting to be tested or from a shot but with a for example, other, more accurate, and more elaborate algorithm for generating the contour lines.
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.In the case of a test object without surface defects, the mapping between objects on the one hand and target image objects on the other should be done in step 58 is generated, be bijective, ie each target image object should be assigned to exactly one candidate object and vice versa. This would mean that in the step 10 generated image acquisition only desired contours, such as the surface edges.
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.If candidate blobs can not be assigned to a target image object, they are to be interpreted as surface defects, such as isolated exposed voids or the like, and accordingly, in one step 60 each such candidate blob is identified as an image of a defect and added, for example, to a list of dissenting objects.
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.If a target image object from the pattern list can not be assigned to any of the candidate blobs, this also means a surface defect, such as the lack of a hole. Accordingly, in one step 62 the image area of the image capture H, in the step 10 has been generated, which are located at locations of target image objects, to which no candidate blob can be assigned, interpreted as an image of a defect and, for example, added to the same list of dissimilar objects as in step 60 was used or another.
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.In one step 64 Then, those candidate blobs that could be assigned to target image objects are then checked to see whether their possibly existing deviations of their contour line to the contour line of the target image object indicate an edge error, which, if so, this in one step 66 also be added to a list of dissenting objects.
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.Is to a examinee up to the step 66 no object has yet been added to the list of dissenting objects, namely in one of the steps 60 . 62 and 66 Thus, the test specimen is error-free, which can be indicated by a corresponding signal, or simply by the test casting is forwarded to a predetermined station, such as a packaging station. Otherwise, the object surface of the device under test is faulty, and this can also be indicated by a corresponding signal or by passing the casting to a location for defective castings. The list of dissimilar objects may be used to further examine the corresponding locations on the casting, by any additional measurement techniques available, or by human resources, such as the location of objects in the list of dissimilar objects or the corresponding locations of the casting displayed on a monitor, whereby false-negative error messages can be revised, that is, messages that erroneously diagnose an error, although there is no error.
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. Now that the procedure for surface defect detection has been described in broad terms, reference will be made below 11 the step 56 for an example blob in more detail. Such a blob is exemplary in 12 shown. In 12 should the individual boxes 70 each represent one pixel below the pixels arranged in columns and rows. A borderline 72 surrounds those pixels belonging to an exemplary blob, ie the candidate pixels of the blob surrounded by non-candidate pixels. In the description of 11 will be on in the following 12 Referenced.
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.In one step 74 Now, first a candidate pixel of the blob 72 appointed as center pixel. The selection is made such that the center pixel is a candidate pixel of the blob located at the edge of the blob 72 located. In the exemplary case of 12 was in step as the center pixel 74 the pixel 76 the one that is in the rightmost column and below the candidate pixels of the blob 72 in this column is the lowest pixel. Of course, in an alternative embodiment, the top left candidate pixel of the blob could also be selected.
Wie
es im folgenden noch näher
beschrieben wird, wird das Zentrumpixel im Laufe des Verfahrens ständig weiterverlegt
bzw. verschoben. Bei dem Ausführungsbeispiel
von 12 ist das aktuelle Zentrumpixel deshalb das Pixel 78.As will be described in more detail below, the center pixel is constantly relocated or moved in the course of the process. In the embodiment of 12 the current center pixel is therefore the 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
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 Prozessor 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.In one step 80 then the pixels will be in a threshold environment 82 around the current center pixel 78 around into bright and dark pixels. For this, as it is in 12 through the arrow 84 is indicated from the brightness values of the Pixels within the threshold environment area 82 a local histogram 86 evaluated, a representation in which is plotted for each possible brightness value H, such as for each of 256 possible brightness values, the number of pixels having this brightness value. The sorting into light and dark pixels then takes place, for example, by determining a threshold that corresponds to the lowest minimum of the histogram, if it is multimodal, as in the diagram 86 through the dashed line 88 is indicated. It is also possible to determine a sorting threshold in other ways, such as the average of the brightness of the pixels within the threshold environment 82 , So while the threshold 88 the sorting of the pixels has been described by histogram analysis, a different approach is possible. In particular, it should be noted that the above-described histogram analysis can not lead to a result, namely, if it is not possible to determine the threshold from the analysis of the histogram. In this case, as well as in the case of low contrast, the processor would have to be aborted, as will be described below 12 is not shown for clarity and because this abort alternative may not occur when using other sorting options.
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.Returning to 12 , For example, all pixels to the left of the dashed line would be the dark pixels, and all pixels to the right of the dashed line 88 would be the bright pixels. In the exemplary case of 12 The line that passes the pixels of the area thus sorted into light and dark pixels passes 82 separates, exemplary as in 90 displayed, with the bright pixels in the area 82 above the line 90 and the dark ones are below it.
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 one step 92 becomes the contrast between the light and dark pixels in the threshold environment 82 calculated. This calculation includes, for example, calculating the average of the brightness of the bright pixels and the average of the brightness of the dark pixels, and forming the quotient of the two averages. Of course, other calculations for the contrast are possible, such as forming the difference between the two afore-mentioned averages.
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.In one step 94 is then checked to see if the step 92 calculated contrast exceeds a certain preset minimum contrast. If this is not the case, the contour line search ends with no success 96 so that, as in 4 described this blob as a candidate blob is discarded. However, if the contrast is greater than the minimum contrast, the pixels will be at the boundary 90 between the light and dark pixels in the threshold environment 82 , namely in 12 the pixels displayed with circles, to an instantaneous pixel string in 12 is displayed with crosses and away from the first named center pixel 74 up to the momentary center pixel 78 extends, appended. This will be the dividing line 90 between light and dark pixels as the searched contour line, within the range 82 lies, interpreted.
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.Thereupon, in one step 100 The pixel chain then checks whether it is closed or not. If not, will be in one step 102 made the already mentioned change of the center pixel. And that becomes the center pixel 78 on the border pixel, ie the pixel on the borderline 90 , selected as the new center pixel, at the edge of the threshold environment area 82 lies. The new center pixel would be in 12 the pixel 104 , On the step 102 there would be steps 80 . 92 . 94 . 98 and 100 be performed again for the new center pixel.
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 das Verfahren 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.Gives the test in step 100 however, that the pixel string is closed, the pixel string is identified as the contour line of the blob, in the step 106 , Then the process ends again at 96 , Overall, the expiration of 11 Consequently, it ends in two ways, namely on the one hand by finding a contour line in the step 106 or by losing the pixel string in the step 94 through too little contrast. In the former case, the blob with the contour line as object is subjected to further analyzes, as has already been described above and will be discussed in more detail below. In the latter case, the blob is discarded and not examined further.
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.The procedure according to 11 makes it possible, in particular in the typical manner occurring in castings surface defects to separate potentially faulty surface areas of only artifacts in the pixel image H (x, y), as may be generated for example by a speck of dust in the beam path or by moisture deposits or the like.
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.With respect to the step 100 be advised that it is in the review in step 100 it can be considered equivalent to a closed pixel string if a pixel string extends from one edge of the pixel array to the edge of the pixel array, or edge to edge of a previously selected area of interest (AOI) of the pixel array.
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. 13 shows an embodiment of the process 58 - 66 in a slightly more detailed form. The expiration of 13 joins the execution of the expiration of 11 for every blob.
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 (xl, yl)
und die rechte untere Ecke (xr, yr), wobei xl das
Minimum aller x-Koordinaten der Pixel auf der Pixelkette des Blobs,
yl 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 (|xl – xr|, |yl – 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.
At one step 120 First, one or more general properties of a first one of the candidate blobs are determined. Such properties include: - A brightness indication, such as a binary value, that indicates whether the object is lighter or darker than the background. It should be noted again that at the step 52 It is not excluded that even brighter spots form blobs and thus become candidate blobs. The brightness of a blob depends on the solid angle retroreflective characteristic of the corresponding surface location of the casting to be tested and thus allows candidate blobs to associate with different error categories.
- - the number of associated pixels. By its nature, this value corresponds to a surface specification of the blob. The number of associated pixels is determined as the pixels within and on the contour line.
- - the size of the circumscribing rectangle. The size of the circumscribing rectangle provides information about the shape of the blob, namely oblong or round. The size of the circumscribing rectangle is defined, for example, by two points, namely for example the upper left corner (x l , y l ) and the lower right corner (x r , y r ), where x l is the minimum of all x coordinates of the pixels the pixel chain of the blob, y l the maximum of the y-coordinates of the pixels on the pixel string, x r the maximum of the x-coordinates of the pixels on the pixel string and y r the minimum of the y-coordinates of the pixels on the pixel string. Alternatively, the size of the circumscribing rectangle is defined by the tuple (| xl - xr |, | yl - yr |)
- - the position of the circumscribing rectangle. For example, it is implicit in the specification of the size of the circumscribing rectangle, that is, in the two-corner indication, or specified by one of the corner pixels.
- The length of the pixel string describing the boundary of the candidate blob.
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.These
Define properties together with the pixel string of the candidate blob
the candidate blob for
the subsequent steps completely. Other information about the
Blob are no longer evaluated. This simplifies the evaluation
or the abundance
enormous amount of information to be processed.
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.The information thus becoming a blob in the step 120 have been collected, namely the general properties plus the existing contour line in the form of the pixel chain, together form a unit, which is referred to below as an object. step 120 thus, to a candidate blob creates an object that includes the general properties and contour line of that candidate blob.
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.In a subsequent step 122 becomes the object of step 120 then checks whether it fits due to its general properties to a target image object from a list of free target image objects. The list of free target objects corresponds to the beginning of the expiration of 13 still the pattern list. However, as will become apparent below, this list will be increasingly thinned out by removing target image objects from the list of free target image objects.
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.The step 122 comprises a stepwise comparison of the general properties of the object with corresponding properties of the target image object. For example, the property comparison is performed step-by-step in the order in which the example properties were listed above, top to bottom. By this measure it is ensured that it is made possible by very simple comparisons to be able to exclude an assignment of the current object with the currently considered target image object from the list of free target image objects as early as possible, if this assignment actually does not exist. A complex contour line comparison is therefore performed only for an object / target image object pair, where due to the general or inaccurate properties an indication exists that such an assignment could be present.
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.Gives the step 122 in that the object and the target image object agree in their general properties ( 124 ), so in one step 126 Checks whether the contour lines of the current blob and the current target image object match sufficiently. The contour lines are in the step 126 For example, compared precisely by searching for corresponding contour points of the pattern object or target image object for a selectable number of contour points of the current object. If most of the pairs are within deviations specified in frames, the pattern object is recognized as the object corresponding to the current object, whereby there is a match.
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.Gives the test by step 126 a sufficient match ( 128 ), so in one step 130 The current target image object is deleted from the list of free target image objects. The step 130 means that none of the candidate blobs or objects to be checked subsequently has to be compared with the target image object, since this target image object already has its counterpart in the image acquisition from step 10 having.
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.In step 132 an accurate comparison of the contour lines of the pair of object and associated target image object is performed to obtain edge errors know. This step will be further discussed below 14 and 15 explained in more detail.
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.Gives the step 132 an error ( 134 ), this error becomes an error list in the step 136 added. This step will also be referred to 14 explained in more detail.
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.The comparisons 130 . 132 and 136 are performed only because the current object through the steps 122 and 126 has been assigned to the current target image object. Results in one of the steps 124 and 128 However, a mismatch, so in one step 138 Checks whether the list of free reference picture objects contains further reference picture objects with which the current object has not yet been compared. If this is the case, then at step 122 started again with a next target image object from the list of free target image objects. If this is not the case, however, and there is no longer a target image object in the list of free target image objects with which the current object has been compared, the current object in step 140 added to the error list, since apparently a test object without surface defects, such as a used for generating the target image objects Referenzgussteil, would not have caused such an object in the image acquisition.
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.After the step 140 , or if in the comparison of step 132 no error results, and after the step 136 , becomes in one step 142 Checks if another blob with contour line, ie a blob to which a contour line was assignable, does not exist yet 120 - 140 has been subjected. If so, the steps become 120 - 140 repeated for the further blob or the resulting object. If not, will be in one step 144 the leftover objects from the list of free target image objects are added to the defect list, since apparently no counterparts exist in the image record of the test object, which could indicate the absence of a wanted edge.
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.Referring to 14 and 15 will be the next step 132 from 13 described in more detail. 15 shows in the upper part an exemplary section 150 of the pixel array of image capture by step 10 , where the pixels 70 again through boxes 70 are indicated. At the neckline 150 For example, the pixels representing the pixel string corresponding to the contour line of the current object are shown by crosses "X." Circles show those pixels that form the pixel string corresponding to the contour line of the target image object with which the contour line of the current object It should be noted that the clipping 150 represents only a portion of the contour lines that close at another location, not shown.
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.In one step 152 Now, for each pixel from the contour of the current object, the smallest distance to the desired contour line is calculated, ie the distance to the nearest pixel on the contour of the pattern object or to the nearest pixel on the target contour line. The result of step 152 is a function a (n p ) which assigns the value a (n p ) to the n p th pixel from the contour of the object. In 15 is at 154 below the clipping 150 For the exemplary case of the section of FIG. 150, a diagram is shown in which the pixel number n p is plotted along the y-axis a (n p ) and along the x-axis. In the exemplary case of 15 the pixel number n p at the pixels of the contour of the object increases from left to right. It should be noted that at 150 two immediately consecutive pixels of the pixel string of the current object are in one column, but their pixel numbers are in the diagram 154 course at adjacent x-axis positions are arranged. The diagram is therefore aligned with the x-axis only from the left pixel to the first of these two pixels arranged in a column. The function a (n p ) is called the curve for the "current distance".
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. Based on the curve for the current distance will be in one step 156 For each pixel from the pixel chain of the contour of the current object, a mean value is calculated, such as the mean of the smallest distances of the respective pixel and its neighboring pixels from the pixel string, ie where N / 2 is the number of pixels in the pixel string used for averaging before and after each pixel in the pixel string.
Das
Ergebnis von Schritt 156 ā(np)
ist in 15 für den exemplarischen Fall von 150 bei 158 als
ein dem Diagramm von 154 entsprechenden Diagramm 158 angezeigt.The result of step 156 ā (n p ) is in 15 for the exemplary case of 150 at 158 as a the diagram of 154 corresponding diagram 158 displayed.
In
einem Schritt 160 wird daraufhin die Wegableitung von a(np) entlang der Pixelkette berechnet, d.h. wie z.B. a'(np)
= a(np) – a(np–1).
Das Ergebnis von Schritt 160 ist a'(np).In one step 160 Then the path derivative of a (n p ) along the pixel string is calculated, ie such as a '(n p ) = a (n p ) - a (n p-1 ). The result of step 160 is a '(n p ).
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 steps 156 and 160, it should be noted that the function a (n p ) is repeated cyclically that can, since the pixel chain is closed.
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.In one step 162 then a counter i is initialized, namely to the counter value zero. The counter value i is used in the following for scanning the pixels of the pixel chain of the current object. In one step 164 is then checked whether the current distance a (i) exceeds the mean distance ā (i), or whether a (i)> ā (i) is true. If this is the case, it will be in one step 166 checks whether the value of the derivative a '(n p ) exceeds an adjustable threshold θ. If this is also the case, the beginning of the deviation of the contour lines is added to the error list up to a suitably determined end of the deviation. The end of the defect is detected by further scanning the pixels of the pixel string on the decrease of the current distance a (i) to the value of the mean distance a '(i), whereupon the value i in step 168 is set to the end of the defect.
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.Give the checks 164 and 166 in that the actual distance is less than the mean distance or the first derivative does not exceed the threshold, then in one step 170 the counter value i increments. Step 170 will also after step 168 carried out. In one step 172 is checked to see if the counter value has exceeded the pixel string length expressed in number of pixels. If this is the case, the process ends at 174 , Otherwise, the verification of step 164 on again.
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.Through the checks in the steps 164 and 166 Edge breakouts can be detected. At the step of adding to 168 it may be provided that an object for an edge defect is formed by using the contour line of the current object from the beginning to the end of the defect together with the corresponding portion of the contour line of the target image object to define a closed contour for the edge defect, so that a closed contour line of the object is created. For this object could then also general properties as in step 120 be determined.
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 Muster liste verwendet wurde, übereinstimmt. Dieser Schritt
kann auch Interpolationen umfassen.Having described in the foregoing embodiments for the present invention, reference is made to the following. It is inevitable that when taking pictures in step 10 due to position tolerances, the position of the test part and thus the surface to be tested in the image of test part to test part is different. It can therefore be between the steps 10 and 52 a position correction is provided in which the content of the current image H (x, y) is shifted and rotated such that the position of the current test part in the image exactly matches the position of the part in a reference image used to obtain the pattern list , matches. This step may also include interpolations.
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.With regard to the course of 11 It should be noted that the procedure shown there for each blob can lead to the creation of contour lines from the blobs, which relate to the same surface appearance in the image recording. These doppelgangers, due to the process after 11 can be detected and deleted by comparing the boundaries of all objects.
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.Referring to the 4 . 10 . 11 . 13 and 14 It is pointed out that it is possible to deviate both from the step sequence shown there and from the individual steps. The object creation of step 120 For example, it can be done in advance for all blobs with contour lines. Furthermore, it may be more advantageous for other specimens than castings to allow even non-closed contour lines, and the above general characteristics would have to be partially defined differently. Also, the handling of the list of free target image objects can be realized differently, namely both by creating a copy of all the objects in the pattern list and successively painting objects in the same or by marking target image objects in the pattern list as found in step 130 , where in step 138 only count unmarked target image objects. Furthermore, only one of the general properties can be used or the steps 120 and 122 can be left out altogether. Furthermore, the step could 132 be omitted if edge errors are not essential in a particular application. Conversely, it may be that in some applications, the bijection of the assignment between target image objects and objects can be assumed, so that the assignment after step 56 respectively. 126 could be simplified or omitted, which would be looked out for edge errors only. In addition, the case may occur because a reference part has only one target image object, eg the outer edge of a closed flat surface. In this case, the assignment is forcibly given to the object obtained in the test part and the target image object. Furthermore, the objects of the error list do not all have to be compiled. The above sequence of steps could be interrupted immediately as soon as only one possible error has been recognized.
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.It should also be noted that the previous embodiments are not only applicable to flat surfaces. For example, the embodiments could after 5 . 7 . 9 and 10 be varied in that a cylindrical object with its Symmet axis parallel to the light line 28 is arranged, which then runs along the cylinder jacket. Instead of a linear relative displacement then, for example, a rotation of the cylinder would take place about its cylinder axis. Locally 28 the lighting would be the surface always sufficiently flat locally. Of course, this also applies to other object shapes, but more or less complicated movements are necessary for the relative movement. The same applies, of course, to shooting with area cameras. The various lists mentioned above can be stored in any memory of the evaluation device 50 and / or be stored externally for this purpose.
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.Regarding the description of 12 It should also be noted that the order of steps may vary. For example, the determination of the binary value described there as an exemplary embodiment for a brightness indication, which shows whether the object is lighter or darker than the background, could be determined as follows: If the threshold environment area 82 already divided into light and dark pixels, one can determine the direction of the brightness gradient at the resulting boundary. For example, if the bright pixels are at the top and the gradient is from bottom to top. It then creates a pixel string describing the boundary, from left to right, so that the pixel string, if closed, will always run around a dark spot in a clockwise direction and around a bright spot always counterclockwise. In this way one can determine from the pixel chain itself whether the object is lighter or darker than the background.
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.To the referring to 12 Properties could also count as a possible alternative the length of the blob, which could be defined, for example, as the maximum distance between two pixels on the pixel string of the candidate blob. However, the calculation of this property is considerably more complicated than the calculation of, for example, the length of the pixel string, which is quasi obtained as a "waste product" without any additional effort, for example, the length of the blob is only carried out when evaluating the errors found, since this procedure is rather expensive The expense there is then comparatively low, because normally blobs that represent errors are small and accordingly have very short pixel strings of, for example, at most 100 pixels, whereas the regular objects can contain chains of up to several thousand pixels and may even be In real-time mode, the use of the length of the blobs as a property for the above list comparisons would therefore hardly be feasible, but as an evaluation aid for the errors found already.
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.The image processing process after the 4 . 10 . 11 . 13 and 14 is described again in other words in the following:
To generate a test result of a surface, the recorded images are evaluated in a computer.
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.In
a so-called learning step becomes an image of a perfect part
recorded, extracted thereon contours of the test part
and stored in a sample list in the computer.
Im
(automatischen) Prüfbetrieb
wird ein Bild des jeweils zu prüfenden
Teils aufgenommen und im Auswerterechner bereitgestellt.in the
(automatic) test operation
will take a picture of each one to be tested
Partly recorded and provided in the evaluation computer.
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.by virtue of
unavoidable tolerances is the position of the test part and thus the surfaces to be tested in the
picture in each case different. With the help of the step of the position correction
the content of the current image is shifted and twisted,
that the location of the current test part
in the picture exactly with the position of the part in the reference image for extraction
matches the pattern list.
Im
aktuellen Bild des zu prüfenden
Teils wird eine Objektliste erstellt. Die aktuelle Objektliste kann nach
dem gleichen Verfahren erstellt werden wie die Musterliste. Ein
mögliches
Ausführungsbeispiel
hierzu ist in Abschnitt 4.7.1 beschrieben.in the
current image of the to be tested
Partly an object list is created. The current object list can be after
the same procedure as the sample list. One
potential
embodiment
this is described in Section 4.7.1.
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.The
current object list is compared with the pattern list. To do this
Objects of the current object list that are not objects of the pattern list
can be assigned
in another list for
inserted deviating objects.
Also objects of the pattern list that are not an object of the
current list of objects can be assigned to the list for different
Inserted objects.
A possible embodiment
this is described in Section 4.7.2.
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. to
Evaluation of the test part
the list of different objects is used. If the list is empty,
it is an error-free part. If the list is not empty
is, further tests take place.
For that will be
for each
Object from list depending on type corresponding comparison criteria applied.
The thresholds for
the comparison criteria can
be specified by the user. This will ultimately be the decision
whether the object is a defect or an irrelevant one
Appearance in the picture is. The rating as a relevant defect
then solve
a "bad part" signal that
used to sort out the part in the production plant
can.
Die
Erzeugung von Objektlisten kann beispielsweise durch folgende Verfahrensschritte
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 des beschriebenen Verfahrens entstehen können, wofür die Grenze
aller Objekte verglichen werden.
The generation of object lists can ge, for example, by the following method steps Schehen: - 1. The average brightness of the image on an environment of N × N pixels is calculated.
- 2. The current brightness of the image is compared to the average brightness and, if the deviations exceed a certain selectable threshold, the current pixel is highlighted.
- 3. Adjacent, marked pixels are grouped into contiguous areas, ie objects ("blob"), and their coordinates are determined All marked pixels of the blob appear to lie near a border between the light and dark areas.
- 4. For each blob, the following procedure is performed: a. One of the marked pixels is assumed to be the center for a so-called thresholding area (eg the left, upper, marked pixels in the blob). b. All pixels of the area are sorted into "light" and "dark" pixels after examining the area's local histogram. c. The contrast between "light" and "dark" pixels is calculated. If the contrast, according to an adjustable threshold, is high enough, the dividing line between light and dark pixels is interpreted as the searched limit that lies within the range. If the contrast is not high enough, the procedure is aborted. d. The boundary is traced to the edge of the area. e. The point where the boundary meets the edge of the area is determined and selected as the center for next thresholding area. f. Points 4b. - 4e. are repeated (except for the search for the corresponding boundary) until one of the following events occurs: Either a closed contour is found around an object or the boundary reaches the edge of the image or a previously selected AOI ("Area Of Interest"). ) or the edge is lost due to too low contrast in the thresholding area g) The features (light / dark, number of pixels, size of the circumscribing rectangle, contour in the form of a pixel string) of the found object are calculated and stored.
- 5. Recognition and deletion of all duplicates that may arise as a result of the described method, for which the boundary of all objects are compared.
4.7.2 Erzeugen der Liste
abweichender Objekte4.7.2 Generating the list
deviant objects
-
1. Für
jedes Objekt aus der aktuellen Liste führt man folgende Prozedur aus: 1. For
For each object in the current list, execute the following procedure:
-
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.a. The characteristics of the object are with corresponding characteristics
of an object from the pattern list, in the following
Order: type (edge / object), color (light / dark), position of the
circumscribing rectangle, size of border
(approximately).
If all parameters match,
The boundaries are compared exactly, for a selectable number of contour points
corresponding contour points of the pattern object of the current object
be searched. If most couples in frame specified deviations
lie, the pattern object will be the one corresponding to the current object
If not detected, object will be the next pattern objects in turn
compared.
b. Objects of the current object list that are not objects
The pattern list can be assigned to another
List for
inserted deviating objects.
c.
Also objects of the pattern list that are not an object of the
current list of objects can be assigned to the list for deviating objects
inserted.
-
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.2. Current objects, for
which one finds the corresponding pattern objects are with these
Pattern objects compared using the following procedure:
a. For each
Pixel from the contour of the current object becomes the distance up
to the next
Pixels calculated from the contour of the pattern object (curve for the "current
Distance").
b.
This calculates two more curves: the "mean distance" between current
Object outline and pattern object outline on a specified environment
around the current pixel and first derivative of the current distance.
c.
Positions where the current deviation exceeds the mean deviation
while the value of the first derivative exceeds a selectable threshold,
are marked as the beginning of a defect. The end of the defect will
after the decline
the current deviation to the value of the mean deviation registered.
-
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.3. An object for
an "edge error" is now formed
from the current contour between the beginning and the end of a
found deviation and the corresponding section of the contour
of the pattern object, leaving a closed contour line of the object
whose characteristics are then calculated in the same way as in 4.2.g
can be.
-
4. Das Objekt wird in die Objektliste für Abweichungen eingefügt, wie
nach dem Punkt 4.7.2.1 oder c.4. The object is inserted in the object list for deviations, such as
according to point 4.7.2.1 or c.
Abschließend wird
darauf hingewiesen, dass abhängig
von den Gegebenheiten das erfindungsgemäße Schema zur Oberflächenfehlererkennung auch
in Software implementiert sein kann. Die Implementation kann auf
einem digitalen Speichermedium, insbesondere einer Diskette oder
einer CD mit elektronisch auslesbaren Steuersignalen erfolgen, die
so mit einem programmierbaren Computersystem zusammenwirken können, dass
das entsprechende Verfahren ausgeführt wird. Allgemein besteht
die Erfindung somit auch in einem Computerprogrammprodukt mit auf
einem maschinenlesbaren Träger
gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens,
wenn das Computerprogrammprodukt auf einem Rechner abläuft. In anderen
Worten ausgedrückt
kann die Erfindung somit als ein Computerprogramm mit einem Programmcode
zur Durchführung
des Verfahrens realisiert werden, wenn das Computerprogramm auf
einem Computer abläuft.Finally, it is pointed out that, depending on the circumstances, the inventive scheme for surface defect detection can also be implemented in software. The implementation can be done on a digital storage medium, in particular a floppy disk or a CD with electronically readable control signals, which can cooperate with a programmable computer system such that the corresponding Procedure is performed. In general, the invention thus also consists in a computer program product with program code stored on a machine-readable carrier for carrying out the method according to the invention when the computer program product runs on a computer. In other words, the invention can thus be realized as a computer program with a program code for carrying out the method when the computer program runs on a computer.