WO2017182378A1 - Verfahren und vorrichtung zur kantendetektion - Google Patents

Verfahren und vorrichtung zur kantendetektion Download PDF

Info

Publication number
WO2017182378A1
WO2017182378A1 PCT/EP2017/058876 EP2017058876W WO2017182378A1 WO 2017182378 A1 WO2017182378 A1 WO 2017182378A1 EP 2017058876 W EP2017058876 W EP 2017058876W WO 2017182378 A1 WO2017182378 A1 WO 2017182378A1
Authority
WO
WIPO (PCT)
Prior art keywords
edge
filter
image
value
detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/EP2017/058876
Other languages
English (en)
French (fr)
Inventor
Peter Husar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Technische Universitaet Ilmenau
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Original Assignee
Technische Universitaet Ilmenau
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Technische Universitaet Ilmenau, Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV filed Critical Technische Universitaet Ilmenau
Publication of WO2017182378A1 publication Critical patent/WO2017182378A1/de
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection

Definitions

  • Embodiments of the present invention relate to a method and an associated device for edge detection and a corresponding computer program.
  • Edge detection in particular edge detection of structures in images, is one of the most important tasks in image processing and is, for example, a core component of pattern recognition.
  • the previous edge detectors work only insufficiently for broad edges, noisy pictures and local extreme values in the picture.
  • some approaches are known which try to optimize individual of the problem areas just mentioned.
  • the problem of spatial edge detection comes mainly from the fact that the detectors mostly search for the steepest gradient in the image and attribute the edge position to it.
  • the steepest gradient can occur anywhere on the edge.
  • This system-inherent problem is often insufficiently attempted subsequently by subsequent processing steps or algorithms.
  • NMS algorithm Non-Maximum-Suppression Algorithm
  • Such edge-detection refinements are location-unreliable because they do not solve the primary problem of randomly distributing the gradients across the edge, and are inherently stochastic
  • the object of the present invention is to provide a concept for (statistically) reliable and location-accurate edge detection, which is robust against noise and other disturbances (extreme values, outliers, eg due to punctual light reflections or failed pixels of the image matrix).
  • Embodiments of the present invention provide a method for edge detection in an image.
  • the method comprises the steps of "applying the edge filter to the image with the edges in a first direction to obtain a filter value for each pixel of the image and to obtain a first extremum per edge” and "applying the edge filter to the image Image in a second direction which is inverse to the first direction (ie opposite direction, ie rotated by 180 °) in order to obtain a further filter value for each pixel and to obtain a zero crossing per edge ".
  • the first and second zero crossing indicate the center of the edges, respectively.
  • the edge filter simulates an edge pattern with regard to its filter characteristic.
  • this edge pattern can be simulated by one or more vectors, which then, converted into filter coefficients, form the filter characteristic.
  • a filter characteristic typically has two average sections (one in the negative and one in the positive region) and a linear rise therebetween.
  • the mean value sections are also linear. The present invention is therefore based on the finding that by bidirectional filtering of an image with a model-modeled model of an edge, edges can be detected reliably and precisely by means of easily detectable zero crossings in the filter result.
  • the replica of the edge with the filter is based on the assumption / knowledge that before and behind the edge - at least in a short section - the gray value is relatively constant, while at the edge itself a high gradient, thus a strong slope prevails; as a result, the edge is defined by a linear (rising or falling) variable-length section, while the regions in front of and behind the edge are represented by a (locally) constant value.
  • the entire structure of the filter reduces the noise power reciprocally to the number of pixels involved, which has the advantage that locally sharp edges can be detected, this detection being extremely insensitive to noise and local extremes or outliers.
  • this edge detection proves to be independent of the actual width of the edge and also independent of the gray values of the individual pixels in the middle of the edge in comparison to the known edge detections.
  • FIG. 1 For example, by 15 ° or by an arbitrarily selectable step in the range of 1 ° to 180 ° and by repeating the step, "applying the edge filter in the first or the second direction for the different rotations" Directional independence of the edge search achieved.
  • the filter characteristic is zero-symmetric. This offers the advantage that no constant component is generated here.
  • the first norm of the filter characteristic is identical to 1, which offers the advantage that the average gray value level is not affected.
  • the step of applying the edge filter comprises the step of folding the filter function with the image and / or the cross correction. lierens the filter function with the image.
  • the filter result impulse response
  • the filter result has one or more zero crossings, each zero crossing representing just one edge or one edge center. Therefore, the method according to others
  • Embodiments have the step of finding zeros.
  • the method may be implemented by a computer program.
  • Another embodiment provides a device for
  • the apparatus includes a filter processor configured to edge-scan the image in a first direction and in a second direction to determine the zero-crossings indicative of the edge centers.
  • the device may have an additional filter processor
  • FIG. 1a is a schematic flowchart of a method for edge detection according to exemplary embodiments
  • Fig. Lb is a schematic block diagram of an apparatus for edge detection
  • Fig. L c shows a schematic edge pattern from which the edge filters
  • FIG. 4 is an illustration of an image along with a rotated version thereof illustrating an optional step in edge detection according to further embodiments;
  • Figures 5a-5g are illustrations of images illustrating conventional edge detection.
  • the edge detection proceeds as follows:
  • the starting point for the analysis is a vertical cylinder with an actual diameter of 10 pixels with a relatively wide optical edge, as shown in FIGS. 5a and 5b.
  • Fig. 5a shows the cylinder with the wide edge in the gray value representation
  • Fig. 5b illustrates the cylinder with the wide edge in a 3D representation.
  • Such a scenario is the rule under real conditions of X-ray or image capture in low light conditions.
  • the edge detection according to Sobel is illustrated in Fig. 5c.
  • Fig. 5c shows the edge detection with the Sobel operator in binary representation.
  • the orthogonal orientation of the Sobel operator is reflected in edge detection. It should be noted that the broad edge is formally detected by Sobel 5 to 7 May successively at different points of the edge. It thus turns out that the actual edge in the orthogonal preferred direction gen X and Y (matrix-based) repeated or redundant and therefore very uncertain at several points is detected.
  • FIG. 5d shows the edge detection with the Canny operator in binary representation. For circular structures, this Canny operator is well suited, but for broad edges, one edge is detected three to five times along its course.
  • FIG. 5f illustrates the detection of the noisy cylinder of Fig. 5e by means of the Sobel operator. An edge is no longer detectable. Only the structure of the Sobel operation result suggests a symmetrical structure.
  • Fig. 5g shows the Canny operator result of the noisy cylinder of Fig. 5c.
  • Fig. 5c shows the noisy cylinder of Fig. 5c.
  • the noise was still relatively weak: the noise variance was 4 (gray scale from 0 to 255) with a gray level average at the vertex of the cylinder of 80, ie the signal to noise ratio was about 16 dB at the maximum.
  • the edge detection several methods and methods are available, the aim of which is to improve the detection reliability as well as the locating accuracy. Overall, they are very complex, often iterative and as a result hardly secure. For example, reference is made to the NMS algorithm or empirically dimensioned hysteresis threshold method.
  • 1 a shows a method 100 with the steps 110 and 120 as well as an optional step 130.
  • Step 110 represents the application of an edge filter 12 (see Fig. 1b) to the image 5 in a first direction while step 120 applies the same edge filter 12 to the same image in a second direction inverse to the first direction.
  • steps 110 and 120 represent the bidirectional filtering of the image.
  • the filtering by means of the edge filter 12 of the image 5 is generally realized by local cross-corellation or simple folding in the original region.
  • the filter 12 is modeled on a pattern edge, as shown in Fig. 1c, wherein the edge pattern can be interpreted as a vector of filter coefficients.
  • Fig. 1c shows an edge pattern 12k with three linear sections 12a, 12b and 12c.
  • the left area 12a (at the left edge of the edge) has negative values and serves to reduce the noise of the model-constant gray value.
  • the right portion 12c (right edge of the edge) has positive values and also serves for noise reduction of the model constant gray value.
  • both portions 12a and 12c are formed with variable length average portions.
  • the background to this is that the model approach assumes that the gray values are relatively constant in front of and behind the edge, at least in a short section.
  • the middle area 12b serves for the linear approximation of the real edge.
  • the section is also linear and has a variable length.
  • a filter can be determined vectorially, for example.
  • the filter profile can be described mathematically by the formula (1), for example. (1)
  • the latter is zero-symmetrical, which is advantageous because it shows no constant components.
  • its first standard is identical to 1 (Formula 1) so as not to affect the gray scale levels.
  • the bidirectional application of the filter 12 to the edge image 5 essentially corresponds to the calculation of the local cross-correlation between the mirrored edge pattern 12k and the cutting line.
  • the result of such a filtering along a column or a row is illustrated in Fig. Id.
  • Fig. 11 shows the result of zero-phase bidirectional cut-line filtering.
  • Fig. Le shows a picture line with two edges 5kl and 5k2.
  • the zero crossing 14a marks the center of the ascending edge (see Fig.5kl in Fig. Id), while the zero crossing 14b marks the zero crossing of the descending edge (compare 5k2 in Fig. Id).
  • Both zero crossings 14a and 14b are formed only after the second filter passage (compare step 120). As can be seen further, the noise variance is reduced by the factor of the edge length.
  • the filter profile is zero-phase, so there is no pixel shift in terms of edge detection. The respective edge detection no longer has to take place uncertainly over the extreme values, since the edge center alone results from the zero crossings 14a and 14b.
  • the method can be summarized by the fact that, in a first filter pass from FIG. 5, the profile in FIG. If arises, ie extreme values lie in the middle of the edge. Since these are difficult to detect, a second filter pass in the inverse direction follows inversely on the already filtered image. After the second filter pass, the image le is created.
  • a zero crossing 14a or 14b marks the edge center.
  • FIG. If. Fig. If shows a row / column after one-sided filtering along the row / column.
  • the zero crossing 14n marks the center between the two edges in Figure 5e. Note the shift around the edge length.
  • the background to this is that the negative minimum 14min marks the center of the positive edge, while the positive maximum 14max marks the middle of the negative edge.
  • the information about the gradient of the edge is additionally present. These can be analyzed starting from the zero crossings 14a and 14b or 14n and the extreme values 14max and 14min.
  • This edge-based method based on the zero-phase bidirectional cut-line filtering can be further improved by multiple bidirectional filtering of the image 5 from different rotation angles.
  • the method 100 then has the Step 130 of the rotation, wherein the steps 110 and 120 for the rotated version of the image 5 'are repeated.
  • the method can be extended in terms of directional independence.
  • FIG. 4. 4 shows the original image 5 and a variant 5 'rotated by 30 ° for the subsequent filtering along the column.
  • the gray values are logarithmized for better illustration.
  • the above-explained steps 110 and 120 are performed unchanged, ie, that the image matrix is still filtered column by column for the rotated image.
  • Another embodiment relates to an apparatus for edge detection.
  • Apparatus 10 includes a filter processor 11 configured to perform the filtering operations 110 and 120 discussed above.
  • This filter processor 11 can be implemented, for example, as a CPU or preferably as an FPGA (freely programmable array).
  • the filter processor 11 loads the filter 12 and filters the image matrix of the image 5 accordingly.
  • the device 10 may also be configured to perform the omnidirectional filtering and therefore comprises an optimal image rotator 22. This rotates the image 5 according to the predetermined values and then outputs this to the filter processor 11.
  • the device 10 may also include a zero-crossing detector 24 configured to detect the respective zero-crossings in the bidirectionally filtered image matrices or rotated image matrices so as to locate the edge.
  • the output result essentially represents the coordinate of the detected edge points.
  • a significant advantage of this device 10 and the method 100 compared to the previous edge detection is that regardless of the actual Width of the edge, of the noise and the gray value in each case a single point (pixel) in the middle of the edge is clearly displayed as a detection result.
  • An essential advantage of the invention in comparison with previously known edge detectors is that regardless of the actual width of the edge, the noise and the GW, a single point (pixel) in the middle of the edge is unambiguously displayed as a detection result.
  • the disadvantage of the previous method that the maximum gradient is not fixed to a prominent point of the edge (middle, upper / lower corner), fixed. Irrespective of the pixel-wise course of the edge gradient, the center of the edge is always detected. This greatly reduces stochastic fluctuations.
  • the Canny Edge detector provides a Gaussian low-pass filter because the pattern edge inherently reduces the noise (more so than comparable edge operators or smoothing filters). Furthermore, downstream iterative methods such. As the NMS (non-maximum suppression) is no longer necessary because the edge center is clearly detected. Since the edge center is determined in the real numbers, theoretically an infinitely good resolution is achievable. In practice, this is used to determine the edge center in the subpixel area with the desired resolution in order to achieve the required accuracy.
  • the computing time can be precisely calculated in advance since the filtering corresponds to a discrete convolution with an FIR filter.
  • the detection of the zero crossings is also done by calculable number of arithmetic operations. It is possible to exactly determine the required computing time or computing power in advance and then dimension the time regime of the image processing.
  • virtually all steps of the described method can be parallelized so that parallel technology (FPGA) or at least one quasi-parallel technique (GPU) can be used for efficient processing.
  • FPGA parallel technology
  • GPU quasi-parallel technique
  • FIG. 2a shows an image 5x of an eye with a pupil 5p, wherein the pupil edge is to be detected.
  • This original image from FIG. 2a is filtered with the edge pattern explained in FIG. 1c.
  • the filter result is illustrated in Fig. 2b.
  • the corresponding filter values are plotted on the same image matrix, with the transitions between black and white representing the zero crossing and thus the sought-after edges.
  • the gray values in this representation represent the gradient level before and after the zero crossing. Therefore, this representation is comparable to a high-pass filtered image or image after application of the above-mentioned gradient search operators.
  • FIG. 3a-c illustrates the use of the above-discussed approach for the noisy cylinder of Fig. 5e.
  • FIG. 3a shows the noisily filtered noiseless cylinder of FIG. 5e, filtered bidirectionally with the edge pattern from FIG. 1c, in a three-dimensional representation. As can be seen, the noise is largely suppressed since the zero crossings lie in the middle of the edges and are not shifted pixel by pixel.
  • FIG. 3b illustrates a binary representation of the edge detection with the edge pattern from FIG. 1c. The circle in the middle of the picture indicates the center of the original edge. The noise around the detected edge can be optionally eliminated by various known means.
  • FIG. 3c illustrates a section of the image from FIG. 3b.
  • the detected edge is indicated by individual pixels exactly in its center. At locations with two pixels, the discretizing image matrix is insufficient and can be calculated or represented by subpixel extension or real number representation to exactly one point. In this respect, according to a further embodiment, the image matrix can be extended by pixel expansion.
  • the pending procedure can be used wherever pattern recognition in images or graphics is required: video-based personal identification, traffic sign recognition, space and traffic monitoring, robotics, autonomous driving, assistance systems, medical technology, communications systems, media technology, advertising, psychology and sociology.
  • edge filter it should be noted that from the point of view of conventional filter theory, in which spectral filters are defined (highpass, lowpass, bandpass and bandstop filters), one can not actually speak about filters here.
  • the filter is any structure that has a system function (impulse response). This is where the term edge filter comes from.
  • the edge filtering is performed by calculating the cross-correlation between the pattern edge and the image.
  • the term "edge filter” best fits. It should be noted at this point that the application of a filter in the inverse direction should be understood to rotate (repeat) the filter or filter function by 180 ° ) is applied. Alternatively, it would be conceivable that the image is rotated by 180 ° or is mirrored and then the filter function is applied. From the mathematical point of view or in the vector algebra, the inverse direction means a reversal of the sign before the projection vector.
  • the inverse direction is from right to left (second application of the filter). That is, generally stated, that the inverse direction is a direction that is rotated by 180 °.
  • applying in the inverse direction has the following consequence: If you fold the edge filter once from left to right and then (inversely) from right to left, you can achieve zero-phase filtering. This means that the center of the edge is determined correctly with pixel accuracy. If one filters with a combined filter in only one direction, then there is the pixel shift of the edge center in the direction of the filtering, ie an erroneous detection of the edge center.
  • phase shift or pixel shift is sufficiently proven and known, but is often neglected. In this application scenario, we must not neglect it. That is why it is filtered once in one direction and then in the inverse direction. Theoretically one could combine this operation into a Laplace-like filter. However, in practice, this would lead to an increase in noise and not to a reduction, as in the notified case.
  • aspects have been described in the context of a device, it will be understood that these aspects also constitute a description of the corresponding method, so that a block or a component of a device is also to be understood as a corresponding method step or as a feature of a method step. Similarly, aspects described in connection with or as a method step also represent a description of a corresponding block or detail or feature of a corresponding device.
  • Some or all of the method steps may be performed by a hardware device (or using a hardware device). Apparatus), such as a microprocessor, a programmable computer or an electronic circuit. In some embodiments, some or more of the most important method steps may be performed by such an apparatus.
  • embodiments of the invention may be implemented in hardware or in software.
  • the implementation may be performed using a digital storage medium, such as a floppy disk, a DVD, a Blu-ray Disc, a CD, a ROM, a PROM, an EPROM, an EEPROM or FLASH memory, a hard disk, or other magnetic disk or optical memory are stored on the electronically readable control signals that can cooperate with a programmable computer system or cooperate such that the respective method is performed. Therefore, the digital storage medium can be computer readable.
  • some embodiments according to the invention include a data carrier having electronically readable control signals capable of interacting with a programmable computer system such that one of the methods described herein is performed.
  • embodiments of the present invention can be implemented as a computer program product with a program code, the program code being is effective to perform one of the methods when the computer program product runs on a computer.
  • the program code can, for example, also be stored on a machine-readable carrier.
  • inventions include the computer program for performing any of the methods described herein, wherein the computer program is stored on a machine-readable medium.
  • an embodiment of the method according to the invention is thus a computer program which has a program code for performing one of the methods described herein when the computer program runs on a computer.
  • a further embodiment of the inventive method is thus a data carrier (or a digital storage medium or a computer-readable medium) on which the computer program is recorded for carrying out one of the methods described herein.
  • a further embodiment of the method according to the invention is thus a data stream or a sequence of signals, which represent the computer program for performing one of the methods described herein.
  • the data stream or the sequence of signals may be configured, for example, to be transferred via a data communication connection, for example via the Internet.
  • Another embodiment includes a processing device, such as a computer or a programmable logic device, that is configured or adapted to perform one of the methods described herein.
  • a processing device such as a computer or a programmable logic device, that is configured or adapted to perform one of the methods described herein.
  • Another embodiment includes a computer on which the computer program is installed to perform one of the methods described herein.
  • Another embodiment according to the invention comprises a device or system designed to at least execute a computer program to transmit one of the methods described herein to a receiver.
  • the transmission can be done for example electronically or optically.
  • the receiver may be, for example, a computer, a mobile device, a storage device or a similar device.
  • the device or system may include a file server for transmitting the computer program to the recipient.
  • a programmable logic device eg, a field programmable gate array, an FPGA
  • a field programmable gate array may cooperate with a microprocessor to perform any of the methods described herein.
  • the methods are performed by any hardware device. This may be a universal hardware such as a computer processor (CPU) or hardware specific to the method, such as an ASIC.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

Ein Verfahren zur Kantendetektion umfasst die Schritte: Anwenden eines Kantenfilters auf ein Bild in einer ersten Richtung und anschließend in einer zweiten zu der ersten inversen Richtung. Beim ersten Anwenden wird je Kante ein Extremwert erhalten. Beim zweiten Anwenden wird je Kante ein Nulldurchgang erhalten. Der Nulldurchgang zeigt jeweils Kantenmitte an. Der Kantenfilter ist hinsichtlich seiner Filtercharakteristik einem Kantenmuster nachgebildet.

Description

Verfahren und Vorrichtung zur Kantendetektion
Beschreibung
Ausführungsbeispiele der vorliegenden Erfindung beziehen sich auf ein Verfahren sowie eine zugehörige Vorrichtung zur Kantendetektion und ein entsprechendes Computerprogramm. Die Kantendetektion, insbesondere die Kantendetektion von Strukturen in Bildern, gehört in der Bildverarbeitung zu den wichtigsten Aufgaben und ist beispielsweise Kernbestandteil der Mustererkennung. Die bisherigen Kantendetektoren arbeiten bei breiten Kanten, verrauschten Bildern und lokalen Extremwerten im Bild nur unzureichend. Im Stand der Technik sind einige Ansätze bekannt, die einzelne der eben angesprochenen Problemfelder zu optimieren versuchen.
Zur Kantendetektion werden Operatoren beziehungsweise Algorithmen nach Sobel, Scharr, Laplace, Prewitt, Roberts, Kirsch, Canny, Marr-Hildreth oder sogenannte Kontrastverstärker sowie Konturverfolgung verwendet, Diesen Operatoren, die faktisch als flächige digitale Filter (2D-Filter) mit Hilfe der diskreten Faltung implementiert werden, ist gemeinsam, dass sie pixelbasiert arbeiten. Das bedeutet, ihre Irnpulsantwort ist nur wenige (drei bis fünf) Pixel breit bzw. lang. Daraus folgt systembedingt, dass längere beziehungsweise breitere Kanten, die in realen Bildern viele Pixel lang sein können (Kantenlänge in der Dekade von 5 bis 50 Pixel ist üblich), nicht ortsgenau detektiert werden können. Sie werden zwar im Sinne der Detektion nachgewiesen, allerdings ist der genaue Ort ihrer Position je nach Kantenlänge verschmiert und daher nicht exakt identifizierbar. Das Problem der ortsungenauen Kantendetektion rührt im Wesentlichen daraus, dass die Detektoren überwiegend nach dem steilsten Gradienten im Bild suchen und diesem die Kantenposition zuschreiben. Allerdings kann entlang einer realen Kante, bedingt durch den stochastischen Charakter der Bildinhalte, der steilste Gradient an einer beliebigen Stelle der Kante auftreten. Dieses systemimmanente Problem wird oft durch nachfolgende Verarbeitungsschritte beziehungsweise Algorithmen nachträglich nur unzureichend versucht gelöst zu werden. So versucht man beispielsweise mit dem NMS-Algorithmus (Non-Maximum-Suppression Algorithmus) das Pixel mit dem größten Wert des Gradienten zu finden und alle anderen weniger zu gewichten beziehungs- weise aus der Detektion auszuschließen. Solche Nachbesserungen auf dem Weg zur Kanten- detektion sind ortsbezogen unzuverlässig, da sie das primäre Problem der zufälligen Verteilung der Gradienten über die Kante nicht lösen und sind durch natürliche stochastische
Schwankungen im Bild (Rauschen) statistisch unsicher.
Konventionell versucht man den Einfluss des Rauschens vorab durch lokale Glättung (flächiger Tiefpass) zu reduzieren, wie z. B. mit einem 2D-Gauß-Filter beim Canny-Operator. Zwar ist danach das Rauschen reduziert, allerdings auch die Kanten beziehungsweise ihre Ecken dementsprechend verschmiert. Durch eine solche Rauschreduktion erhöht man zunächst die statistische Detektionssicherheit, gleichzeitig aber verschlechtert man sie durch das Verschmieren. Im Endeffekt ändert sich die Detektionssicherheit kaum, sie kann sogar schlechter werden. Deshalb besteht der Bedarf nach einem verbesserten Ansatz.
Aufgabe der vorliegenden Erfindung ist es, ein Konzept zur (statistisch) zuverlässigen und ortsgenauen Kantendetektion zu schaffen, das gegen Rauschen und andere Störungen (Extremwerte, Ausreißer z. B. infolge von punktuellen Lichtreflexen oder ausgefallenen Pixeln der Bildmatrix) robust ist.
Die Aufgabe wird durch die unabhängigen Patentansprüche gelöst.
Ausführungsbeispiele der vorliegenden Erfindung schaffen ein Verfahren zur Kantendetektion in einem Bild. Das Verfahren umfasst die Schritte:„Anwenden des Kantenfilters auf das Bild mit den Kanten in einer ersten Richtung, um für jeden Bildpunkt des Bildes einen Filter- wert zu erhalten und um je Kante einen ersten Extremwert zu erhalten" und„Anwenden des Kantenfilters auf das Bild in einer zweiten Richtung, die zu der ersten Richtung invers (entgegengesetzte, d.h. um 180° gedrehte Richtung) ist, um für jeden Bildpunkt einen weiteren Filterwert zu erhalten und um je Kante einen Nulldurchgang zu erhalten". Der erste und der zweite Nulldurchgang zeigen jeweils die Mitte der Kanten an. Das Kantenfilter bildet hinsichtlich seiner Filtercharakteristik ein Kantenmuster nach.
Entsprechend Ausführungsbeispielen kann dieses Kantenmuster durch einen oder mehrere Vektoren nachgebildet werden, die dann transferiert in Filterkoeffizienten die Filtercharakteristik bilden. Eine derartige Filtercharakteristik weist typischerweise zwei Mittelwertabschnitte (einen im negativen und einen im positiven Bereich) sowie einen linearen Anstieg dazwischen auf. Auch die Mittelwertabschnitte sind linear. Der vorliegenden Erfindung liegt also die Erkenntnis zugrunde, dass durch bidirektionale Filterung eines Bildes mit einem Filter, der modellhaft eine Kante nachbildet, Kanten zuverlässig und ortsgenau anhand von einfach zu detektierenden Nulldurchgängen in dem Fil- terergebnis detektiert werden können. Die Nachbildung der Kante mit dem Filter erfolgt unter der Annahme / Erkenntnis, dass vor und hinter der Kante - zumindest in einem kurzen Abschnitt - der Grauwert relativ konstant ist, während an der Kante selbst ein hoher Gradient, somit also eine starke Steigung, vorherrscht; die Kante wird infolge dessen durch einen linearen (ansteigenden oder abfallenden) Abschnitt mit variabler Länge definiert, während die Bereiche vor und hinter der Kante durch einen (bereichsweise) konstanten Wert abgebildet werden. Insgesamt reduziert sich durch das komplette Gebilde des Filters die Rauschleistung reziprok zu der Anzahl der beteiligten Pixel, was den Vorteil mit sich bringt, dass örtlich scharfe Kanten detektiert werden können, wobei diese Detektion extrem unempfindlich gegen Rauschen und lokale Extremwerte oder Ausreißer ist. Des Weiteren erweist sich diese Kantendetektion im Vergleich zu den bekannten Kantendetektionen als unabhängig von der tatsächlichen Breite der Kante und auch unabhängig von den Grauwerten der einzelnen Pixel in der Mitte der Kante.
Weitere Ausführungsbeispiele erweitern das oben erläuterte Verfahren der bidirektionalen Kantendetektion unter Nutzung eines Filters, der eben die Kante nachbildet dadurch, dass das Verfahren für ein und dasselbe Bild in unterschiedlichen Rotationsstufen ein- oder mehrfach wiederholt wird. Das Verfahren umfasst also entsprechend diesen Ausführungsbeispielen den Schritt des Rotierens des Bildes, z. B. um 15° oder um einen sonst beliebig wählbaren Schritt im Bereich von 1° bis 180° und des Wiederholens des Schritts;„Anwenden des Kan- tenfilters in der ersten oder der zweiten Richtung für die unterschiedlichen Rotationen". Dadurch wird vorteilhafterweise die komplette Richtungsunabhängigkeit der Kantensuche erreicht.
Entsprechend weiteren Ausführungsbeispielen ist die Filtercharakteristik nullsymmetrisch. Dies bietet den Vorteil, dass hier kein konstanter Anteil erzeugt wird. Entsprechend weiteren Ausführungsbeispielen ist die erste Norm der Filtercharakteristik identisch zu 1, was den Vorteil bietet, dass der mittlere Grauwertpegel nicht beeinflusst wird.
Entsprechend weiteren Ausführungsbeispielen umfasst der Schritt des Anwendens des Kan- tenfilters den Schritt des Faltens der Filterfunktion mit dem Bild und/oder des Kreuzkorre- lierens der Filterfunktion mit dem Bild. Im Ergebnis weist das Filterergebnis (Impulsantwort) einen oder mehrere Nulldurchgänge auf, wobei jeder Nulldurchgang eben eine Kante beziehungsweise eine Kantenmitte darstellt. Deshalb kann das Verfahren entsprechend weiteren
Ausführungsbeispielen den Schritt des Auffindens von Nullstellen aufweisen.
Entsprechend weiteren Ausführungsbeispielen kann das Verfahren durch ein Computerprogramm implementiert sein, Ein weiteres Ausführungsbeispiel schafft eine Vorrichtung zur
Kantendetektion in einem Bild. Die Vorrichtung umfasst einen Filterprozessor, der ausgebildet ist, eine Kantenfilterung des Bildes in eine erste Richtung und in eine zweite Richtung durchzuführen, um die Nulldurchgänge, welche die Kantenmitten anzeigen, zu ermitteln. Entsprechend zusätzlichen Ausführungsbeispielen kann die Vorrichtung einen zusätzlichen
Bildprozessor aufweisen, der die Rotation des Bildes durchführt, so dass dieses mittels des Filterprozessors wiederholt gefiltert werden kann.
Weiterbildungen sind in den Unteransprüchen definiert. Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend anhand der beiliegenden Zeichnungen erläutert und zeigen:
Fig. la ein schematisches Flussdiagramm eines Verfahrens zur Kantendetektion gemäß Ausführungsbeispielen;
Fig. lb ein schematisches Blockschaltbild einer Vorrichtung zur Kantendetektion
gemäß Ausführungsbeispielen;
Fig. l c ein schematisches Kantenmuster ausgehend von welchem die Kantenfilter
entsprechend Ausführungsbeispielen implementiert ist;
Fig. l d-lf Darstellungen von Filterergebnissen zur Illustration des eigentlichen Schritts
der Kantendetektion gemäß Ausführungsbeispielen;
Fig. 2a-2c Darstellungen eines Bildes in unterschiedlichen Bearbeitungsstufen der Kantendetektion gemäß Ausführungsbeispielen;
Fig. 3a-3c Darstellungen weiterer Figuren bei der Kantendetektion gemäß Ausführungsbeispielen; Fig. 4 eine Darstellung eines Bildes zusammen mit einer gedrehten Version desselben zur Illustration eines optionalen Schritts bei der Kantendetektion gemäß weiteren Ausführungsbeispielen; und
Fig. 5a-5g Darstellungen von Bildern zur Illustration der konventionalen Kantendetektion.
Bevor nachfolgend Ausführungsbeispiele der vorliegenden Erfindung anhand der Figuren im Detail erläutert werden, sei darauf hingewiesen, dass gleichwirkende Elemente und Strukturen mit gleichen Bezugszeichen versehen sind, so dass die Beschreibung derer aufeinander anwendbar beziehungsweise austauschbar ist.
Im Nachgang wird zuerst auf die konventionelle Kantendetektion und die bei dieser vorlie- genden Nachteile eingegangen, bevor die eigentlichen Ausführungsbeispiele der vorliegenden Erfindung erläutert werden.
Entsprechend dem aktuellen Stand der Technik verläuft die Kantendetektion beispielsweise wie folgt:
Ausgangspunkt für die Analyse soll ein vertikaler Zylinder mit einem tatsächlichen Durchmesser von 10 Pixeln mit einer relativ breiten optischen Kante dienen, wie er in Fig. 5a und 5b dargestellt ist. Fig. 5a zeigt den Zylinder mit der breiten Kante in der Grauwertdarstellung, während Fig. 5b den Zylinder mit der breiten Kante in einer 3D-Darstellung illustriert.
Ein solches Szenario ist unter realen Bedingungen der Röntgenaufnahme oder Bilderfassung unter schlechten Lichtverhältnissen die Regel. Man kann das Verfahren zur Kantendetektion anwenden. Beispiele hierfür sind Operatoren nach Sobel und Canny. Die Kantendetektion nach Sobel ist in Fig. 5c illustriert. Fig. 5c zeigt die Kantendetektion mit dem Sobel-Operator in der Binärdarstellung. Die orthogonale Orientierung des Sobel- Operators spiegelt sich in der Kantendetektion wider. Zu beachten ist, dass die breite Kante durch Sobel 5 bis 7 Mai nacheinander an unterschiedlichen Stellen der Kante formal detek- tiert wird. Es zeigt sich also, dass die tatsächliche Kante in den orthogonalen Vorzugsrichtun- gen X und Y (Matrizen-basiert) wiederholt beziehungsweise redundant und daher sehr unsicher an mehreren Stellen detektiert wird.
Eine leichte Verbesserung kann mit dem Canny-Operator erreicht werden, der grundsätzlich omnidirektional arbeitet. Hierbei ist jedoch immer noch nicht ein zuverlässiges Detektionser- gebnis zu erhalten, wie aus Fig. 5d hervorgeht. Fig. 5d zeigt die Kantendetektion mit dem Canny-Operator in der Binärdarstellung. Für zirkuläre Strukturen ist dieser Canny-Operator gut geeignet, bei breiten Kanten wird allerdings entlang ihres Verlaufs drei bis fünf Mal eine Kante detektiert.
Wird dem Datenmodell weißes Rauschen hinzuaddiert (vgl. Fig. 5e], so verschlechtern sich die Detektionsergebnisse dramatisch. Fig. 5e zeigt ein derartiges verrauschtes Bild eines Zylinders mit breiten Kanten. Das Vorliegen von Rauschen beziehungsweise weißern Rauschen stellt den Normalfall der realen Bildverarbeitung dar.
Sowohl nach dem Sobel-Operator (vgl. Fig. 5f) als auch nach dem Canny-Verfahren (vgl. Fig. 5g) ist eine Kante definitiv nicht mehr offenbart. Fig. 5f illustriert die Detektion des verrauschten Zylinders aus Fig. 5e mittels dem Sobel-Operator. Eine Kante ist nicht mehr detek- tierbar. Lediglich lässt die Struktur des Sobel-Operationsergebnisses auf symmetrische Ge- bilde schließen.
Fig. 5g zeigt das Canny-Operator-Ergebnis des verrauschten Zylinders aus Fig. 5c. Hier ist zwar noch eine stückweise Kantendetektion möglich. Hierbei erstrecken sich allerdings die
Kanten mehrfach entlang der realen Kante, so dass hier keine zuverlässige Detektion möglich ist.
In den oben erläuterten Testbildern war das Rauschen noch relativ schwach: die Rauschvarianz betrug 4 (Grauwertskala 0 bis 255) bei einem Mittelwert des Grauwerts am Scheitel des Zylinders von 80, d. h. der Signalrauschabstand betrug im Maximum etwa 16 dB. Für die Ver- besserung der Kantendetektion stehen mehrere Methoden und Verfahren zur Verfügung, deren Ziel es ist, die Detektionssicherheit sowie die Ortungsgenauigkeit zu verbessern. Sie sind insgesamt sehr aufwendig, oft iterativ und im Ergebnis kaum sicherer. Hierzu sei beispielsweise auf den NMS-Algorithmus oder auf empirisch dimensionierte Hysterese- Schwellwertverfahren verwiesen. Um nun eine Kantendetektion unabhängig davon, wie lang oder wie breit oder welche Vorzugsrichtung sie im Bild hat, zu ermöglichen wurde ein verbesserter Ansatz entwickelt, der nicht auf den oben genannten Operatoren beziehungsweise Algorithmen basiert. Dieser Ansatz wird anhand von den Fig. la bis le erläutert.
Fig. la zeigt ein Verfahren 100 mit den Schritten 110 und 120 sowie einen optionalen Schritt 130.
Schritt 110 stellt das Anwenden eines Kantenfilters 12 (vgl. Fig. 1b) auf das Bild 5 in eine ers- te Richtung dar, während der Schritt 120 denselben Kantenfilter 12 auf dasselbe Bild in eine zweite, zu der ersten Richtung inversen Richtung anwendet. Diese zwei Schritte 110 und 120 stellen also zusammen das bidirektionale Filtern des Bildes dar. Die Filterung mittels des Kantenfilters 12 des Bildes 5 ist im Regelfall durch lokale Kreuzkorellation bzw. einfache Faltung im Orginalbereich realisiert.
Der Filter 12 ist einer Musterkante, wie sie in Fig. 1c dargestellt ist, nachempfunden, wobei das Kantenmuster als Vektor von Filterkoeffizienten interpretiert sein kann.
Fig. 1c zeigt ein Kantenmuster 12k mit drei linearen Abschnitten 12a, 12b und 12c. Der linke Bereich 12a (am linken Rand der Kante) hat negative Werte und dient zur Rauschreduktion des modellhaft konstanten Grauwerts. Der rechte Abschnitt 12c (rechter Rand der Kante) hat positive Werte und dient ebenfalls zur Rauschreduktion des modellhaften konstanten Grauwerts. Infolgedessen sind beide Abschnitte 12a und 12c Mittelwertabschnitte mit variabler Länge ausgebildet. Hintergrund hierzu ist, dass der Modellansatz davon ausgeht, dass vor und hinter der Kante zumindest in einem kurzen Abschnitt die Grauwerte relativ konstant sind. Der mittlere Bereich 12b dient zur linearen Approximation der realen Kante. Der Abschnitt ist ebenfalls linear und hat eine variable Länge.
Ausgehend von der idealisierten Kante kann ein Filter z.B. vektoriell bestimmt werden. Der Filterverlauf ist beispielsweise mathematisch durch die Formel (1) beschreibbar. (1)
Figure imgf000009_0001
Durch diesen Filterverlauf des Filters 12 mit der linearen Approximation der Kante 12k reduziert das komplette Gebilde die Rauschleistung reziprok zur Anzahl der beteiligten Pixel. Diese sind in Abbildung lc durch Sternchen markiert. In diesem Fall wird die Rauschvarianz um den Faktor 14 reduziert.
Bezug nehmend auf den Filter sei angemerkt, dass dieser, wie insbesondere aus Fig. lc hervorgeht, nullsymmetrisch ist, was deshalb vorteilhaft ist, weil es keine konstanten Anteile zeigt. Weiterhin ist seine erste Norm identisch 1 (Formel 1), um die Grauwertpegel nicht zu beeinflussen.
Das bidirektionale Anwenden des Filters 12 auf das Kantenbild 5 entspricht im Wesentlichen der Berechnung der lokalen Kreuzkorrelation zwischen dem gespiegelten Kantenmuster 12k und der Schnittlinie. Das Ergebnis einer solchen Filterung entlang einer Spalte oder einer Zeile ist in Fig. Id illustriert.
Fig. le zeigt das Ergebnis der nullphasigen bidirektionalen Schnittlinienfilterung. Hierbei wird von dem verrauschten Bild des Zylinders mit der breiten Kante aus Fig. 5e bzw. der Zeile aus Fig. Id ausgegangen, wobei eben der Kantenfilter 12 aus Fig. lc zur Anwendung kommt. Fig. le zeigt eine Bildzeile mit zwei Kanten 5kl und 5k2. Außer dem hier in Fig. le dargestellte Ergebnis der Filterung für eine Zeile beziehungsweise eine Spalte ist zu erkennen, dass es zwei Nulldurchgänge gibt. Der Nulldurchgang 14a markiert die Mitte der aufsteigenden Kante (vgl. 5kl in Fig. Id), während der Nulldurchgang 14b den Nulldurchgang der absteigenden Kante (vgl. 5k2 in Fig. Id) markiert. Beide Nulldurchgänge 14a und 14b entstehen erst nach dem zweiten Filterdurchgang (vgl. Schritt 120). Wie weiter zu erkennen ist, ist die Rauschva- rianz um den Faktor der Kantenlänge reduziert. Der Filterverlauf ist nullphasig, also es kommt hinsichtlich der Kantendetektion zu keiner Pixelverschiebung. Die jeweilige Kanten- detektion muss nicht mehr unsicher über die Extremwerte stattfinden, da sich die Kantenmitte alleine aus den Nulldurchgängen 14a und 14b ergibt. In anderen Worten kann das Verfahren dadurch zusammengefasst werden, dass in einem ersten Filterdurchgang aus Bild 5 der Verlauf in Fig. If entsteht, also in Kantenmitte liegen Extremwerte. Da diese schwer zu detektieren sind, folgt invers auf das bereits einmal gefilterte Bild ein zweiter Filterdurchgang in der inversen Richtung. Nach zweitem Filterdurchgang entsteht das Bild le. Hier markiert ein Nulldurchgang 14a bzw. 14b die Kantenmitte.
Dass es vorteilhaft ist, die Filterung bidirektional, d. h. also in eine erste Richtung und eine inverse Richtung durchzuführen, wird im Hinblick auf Fig. If klar. Fig. If zeigt eine Zeile/Spalte nach einer einseitigen Filterung entlang der Zeile/Spalte. Der Nulldurchgang 14n markiert die die Mitte zwischen den beiden Kanten im Bild 5e. Zu beachten ist die Verschiebung um die Kantenlänge. Hintergrund hierzu ist, dass das negative Minimum 14min die Mitte der positiven Kante markiert, während das positive Maximum 14max die Mitte der negativen Kante markiert. Dieser Effekt wird eben durch die bidirektionale Fil- terung, wie aus Fig. Id hervorgeht, eliminiert und so zuverlässig ohne Einfiuss des Rauschpegels eine Detektion ermöglicht.
Entsprechend weiteren Ausführungsbeispielen sind zusätzlich die Informationen über den Gradienten der Kante vorhanden. Diese können ausgehend von den Nulldurchgängen 14a und 14b beziehungsweise 14n sowie den Extremwerten 14max und 14min analysiert werden.
Dieses Flanken-basierte Verfahren ausgehend von der nullphasigen bidirektionalen Schnittlinienfilterung kann weiterverbessert werden, indem das Bild 5 aus unterschiedlichen Rotati- onswinkeln mehrfach bidirektional gefiltert wird. Hierzu weist dann das Verfahren 100 den Schritt 130 des Rotierens auf, wobei die Schritte 110 und 120 für die rotierte Version des Bildes 5' wiederholt werden. Durch diese Rotation in dem Schritt 130 kann das Verfahren hinsichtlich Richtungsunabhängigkeit erweitert werden. Hierzu erfolgt eine Veränderung der relativen Drehung der Schnittlinie und des Kantenmusters. Dies kann beispielsweise im re- chentechnisch effektiven Sinne dadurch geschehen, dass man immer z. B. entlang der Bildmatrix-Spalten filtert, das Bild vorher aber immer um den vordefinierten Winkel, z. B. 30° oder allgemein 15-45° dreht. Hierbei ist es sinnvoll, diese Rotation in konstanten Winkelschritten zu wiederholen, bis das Bild um 180° beziehungsweise um 360° gedreht ist. Bezüglich dieser omnidirektionalen Variante sei auf Fig. 4 hingewiesen. Fig. 4 zeigt das Originalbild 5 und eine um 30° gedrehte Variante 5' für die anschließende Filterung entlang der Spalte. Bei diesem Beispiel sind für eine bessere Darstellung die Grauwerte logarithmiert. Die oben erläuterten Schritte 110 und 120 werden unverändert durchgeführt, d. h. also, dass die Bildmatrix nach wie vor spaltenweise für das gedrehte Bild gefiltert wird. Ein weiteres Ausführungsbeispiel bezieht sich auf eine Vorrichtung zur Kantendetektion. Die
Vorrichtung 10 umfasst einen Filterprozessor 11, der ausgebildet ist, die oben erläuterten Filtervorgänge 110 und 120 durchzuführen. Dieser Filterprozessor 11 kann beispielsweise als CPU oder bevorzugt als FPGA (frei programmierbares Array) implementiert sein. Hierzu lädt der Filterprozessor 11 den Filter 12 ein und filtert die Bildmatrix des Bildes 5 entspre- chend.
Entsprechend weiteren Ausführungsbeispielen kann auch die Vorrichtung 10 ausgebildet sein, die omnidirektionale Filterung vorzunehmen und umfasst deshalb einen optimalen Bildrotierer 22. Dieser rotiert das Bild 5 entsprechend den vorgegebenen Werten und gibt dieses dann an den Filterprozessor 11 aus.
Entsprechend einem zusätzlichen Ausführungsbeispiel kann die Vorrichtung 10 auch noch einen Nulldurchgangsdetektor 24 umfassen, der ausgebildet ist, die jeweiligen Nulldurchgänge in den bidirektional gefilterten Bildmatrizen beziehungsweise rotierten Bildmatrizen zu detektieren, um so die Kante zu lokalisieren. Das ausgegebene Ergebnis stellt im Wesentlichen die Koordinate der detektierten Kantenpunkte dar.
Ein wesentlicher Vorteil dieser Vorrichtung 10 beziehungsweise des Verfahrens 100 gegenüber der bisherigen Kantendetektion besteht darin, dass unabhängig von der tatsächlichen Breite der Kante, vom Rauschen und vom Grauwert jeweils ein einziger Punkt (Pixel) in der Mitte der Kante eindeutig als Detektionsergebnis angezeigt wird.
Ein wesentlicher Vorteil der Erfindung im Vergleich zu bisher bekannten Kantendetektoren besteht darin, dass unabhängig von der tatsächlichen Breite der Kante, vom Rauschen und vom GW jeweils ein einziger Punkt (Pixel) in der Mitte der Kante eindeutig als Detektionsergebnis angezeigt wird. Damit wird der Nachteil der bisherigen Verfahren, dass der maximale Gradient nicht an einem markanten Punkt der Kante (Mitte, obere/untere Ecke) fixiert ist, behoben. Unabhängig vom pixelweisen Verlauf des Kantengradienten wird immer die Kan- tenmitte delektiert. Dadurch werden stochastisch bedingte Schwankungen weitgehend reduziert.
Dieses Verfahren benötigt im Vorfeld keine Rauschreduktion wie z. B. der Canny-Edge- Detektor einen Gauß-Tiefpass, da die Musterkante von sich aus das Rauschen stark reduziert (stärker als vergleichbare Kantenoperatoren beziehungsweise Glättungsfilter). Weiterhin sind auch nachgelagerte iterative Methoden wie z. B. das NMS (Non-Maximum-Suppression) nicht mehr nötig, da die Kantenmitte eindeutig detektiert wird. Da die Kantenmitte im Bereich der reellen Zahlen ermittelt wird, ist theoretisch eine unendlich gute Auflösung erreichbar. Diese wird im praktischen Einsatz dazu genutzt, die Kantenmitte im Subpixelbereich mit gewünschter Auflösung zur ermittein, um die geforderte Genauigkeit zu erzielen.
Der Ansatz besitzt hinsichtlich der kalkulierbaren Rechenzeit wesentliche Vorteile im Vergleich zu bisherigen adaptiven beziehungsweise iterativen Verfahren: Die Rechenzeit lässt sich vorab exakt kalkulieren, da die Filterung einer diskreten Faltung mit einem FIR-Filter entspricht. Die Detektion der Nulldurchgänge erfolgt ebenfalls durch kalkulierbare Anzahl von arithmetischen Operationen. Man kann vorab die benötigte Rechenzeit beziehungsweise Rechenleistung exakt bestimmen und danach das Zeitregime der Bildverarbeitung dimensionieren. Hinzu kommt, dass praktisch alle Schritte des beschriebenen Verfahrens parallelisier- bar sind, so dass im Sinne einer effizienten Verarbeitung parallele Technologie (FPGA) oder zumindest eine quasi-parallele Technik (GPU) eingesetzt werden können.
Bezug nehmend auf Fig. 2a-c wird die oben erläuterte Kantendetektion anhand eines konkreten Beispiels illustriert. Fig. 2a zeigt ein Bild 5x eines Auges mit einer Pupille 5p, wobei die Pupillenkante detektiert werden soll. Dieses Originalbild aus Fig. 2a wird mit dem in Fig. 1c erläuterten Kantenmuster gefiltert. Das Filterergebnis ist in Fig. 2b illustriert. Hier sind dann die entsprechenden Filterwerte an derselben Bildmatrix aufgetragen, wobei die Obergänge zwischen Schwarz-Weiß den Nulldurchgang und damit die gesuchten Kanten darstellen. Die Grauwerte in dieser Darstellung repräsentieren den Gradientenpegel vor und nach dem Nulldurchgang. Daher ist diese Darstellung vergleichbar mit einem Hochpass-gefilterten Bild oder einem Bild nach Anwendung der oben genannten Operatoren für Gradientensuche.
In Fig. 2c zeigt dann das Originalbild überlagert mit Pixeln der Kantendetektion (helle Punkte) nach wiederholter Nutzung (vgl. Schritt 120) des Kantenmusters aus Fig. lc. Wie hier deutlich zu erkennen ist, kann die Pupille nun einfach anhand der Kante 5pk detektiert wer- den.
Fig. 3a-c illustriert die Nutzung des oben erläuterten Ansatzes für den verrauschten Zylinder aus Fig. 5e. Fig. 3a zeigt den mit dem Kantenmuster aus Fig. lc bidirektional gefilterten verrauschten Zylinder aus Fig. 5e in einer dreidimensionalen Darstellung. Wie zu erkennen ist, ist das Rauschen weitestgehend unterdrückt, da die Nulldurchgänge in der Mitte der Kanten liegen und nicht pixelweise verschoben sind. Fig. 3b illustriert eine binäre Darstellung der Kantendetektion mit dem Kantenmuster aus Fig. lc. Der Kreis in der Bildmitte zeigt die Mitte der Originalkante an. Das Rauschen um die detektierte Kante lässt sich mit diversen bekannten Mitteln optional beseitigen. Fig. 3c illustriert einen Ausschnitt des Bildes aus Fig. 3b. Die detektierte Kante ist durch einzelne Pixel exakt in ihrer Mitte angezeigt. An Stellen mit zwei Pixeln reicht die diskretisierende Bild- matrix nicht aus und lässt sich durch Subpixel-Erweiterung beziehungsweise reelle Zahlendarstellung auf genau einen Punkt berechnen beziehungsweise darstellen. Insofern kann entsprechend einem weiteren Ausführungsbeispiel die Bildmatrix durch Pixel-Erweiterung erweitert werden. Das angemeldete Verfahren ist überall dort einsetzbar, wo Mustererkennung in Bildern oder Grafiken benötigt wird: Videobasierte Personenidentifikation, Verkehrszeichenerkennung, Raum- und Verkehrsüberwachung, Robotik, autonomes Fahren, Assistenzsysteme, Medizintechnik, Kommunikationssysteme, Medientechnik, Werbewirtschaft, Psychologie und Soziologie. An dieser Stelle sei bezüglich dem Terminus Kantenfilter angemerkt, dass man aus Sicht der konventionellen Filtertheorie, in der man spektrale Filter definiert (Hoch-,Tief- und Bandpass sowie Bandsperre), hier eigentlich nicht über Filter sprechen kann. In der digitalen Welt wird als Filter jede Struktur bezeichnet, die eine Systemfunktion (Impulsantwort) besitzt. Hieraus rührt die Bezeichnung Kantenfilter her. Entsprechend bevorzugten Ausführungsbeispielen erfolgt die Kantenfilterung durch Berechnung der Kreuzkorrelation zwischen der Musterkante und dem Bild. Da aber diese praktisch durch gespiegelte Filterung berechnet wird, passt der Begriff Kantenfilter am besten, An dieser Stelle sei angemerkt, dass das Anwenden eines Filters in die inverse Richtung derart zu verstehen ist, dass das Filter bzw. die Filterfunktion um 180° gedreht (wiederholt) angewendet wird. Alternativ wäre es denkbar, dass das Bild um 180° gedreht wird bzw. gespiegelt wird und dann die Filterfunktion angewendet wird. Von der mathematischen Sichtweise bzw. in der Vektoralgebra bedeutet die inverse Richtung eine Umkehrung des Vorzeichens vor dem Projektionsvektor. Wenn also eine Kante im Bild zunächst von links nach rechts gesucht wird (erste Anwendung des Filters), so ist die inverse Richtung von rechts nach links (zweite Anwendung des Filters). Das heißt allgemein formuliert, dass die inverse Richtung eine Richtung ist, die um 180° verdreht ist. Bezogen auf die Filterung hat das Anwenden in der inversen Richtung folgende Konsequenz: Wenn man das Kantenfilter einmal von links nach rechts faltet und anschließend (invers) von rechts nach links, so erreicht man eine nullphasige Filterung. Das bedeutet, die Kantenmitte wird korrekt pixelgenau ermittelt. Wenn man mit einem kombinierten Filter in nur eine Richtung filtert, so kommt es zur Pixelverschiebung der Kantenmitte in Richtung der Filterung, also einer fehlerhaften Detektion der Kantenmitte. Der Effekt der Phasenverschiebung bzw. Pixelverschiebung ist hinreichend belegt und bekannt, wird allerdings oft vernachlässigt. In diesem Anwendungsszenarium dürfen wir ihn aber nicht vernachlässigen. Genau deswegen wird einmal in eine Richtung und anschließend in der Inversen Richtung gefiltert. Theoretisch könnte man diese Operation zu einem Laplace-ähnlichen Filter zusammenfassen. Aller- dings würde das in der Praxis zu einer Anhebung des Rauschens führen und nicht zu einer Reduktion, wie im angemeldeten Verfahren.
Bezüglich des oben diskutierten Kantenfilters sei auch noch angemerkt, dass dieses sich von einem einfachen Gradientenfilter erheblich unterscheidet. Gradientenfilter ergeben natürlich Extremwerte an den Kanten. Allerdings hängt ihre Position im Bild nicht nur vom analysier- ten Bildinhalt, sondern auch vom Raschen und Störungen ab. Da Gradientenfilter differenzierenden Charakter haben, so verstärken sie sogar noch den EinOuss von Rauschen und Störungen. Das angemeldete Filter wirkt genau umgekehrt; Es findet Extremwerte an der Kante, während das Rauschen und die Störungen reduziert werden.
Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, sodass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist. Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details oder Merkmals einer entsprechenden Vorrichtung dar. Einige oder alle der Verfahrensschritte können durch einen Hardware-Apparat (oder unter Verwendung eines Hardware-Apparats), wie zum Beispiel einen Mikroprozessor, einen programmierbaren Computer oder eine elekt- ronische Schaltung ausgeführt werden. Bei einigen Ausführungsbeispielen können einige oder mehrere der wichtigsten Verfahrensschritte durch einen solchen Apparat ausgeführt werden.
Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele der Er- findung in Hardware oder in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk, einer DVD, einer Blu-ray Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einem programmierbaren Computersystem derart zusammenwirken können oder zusammenwirken, dass das jeweilige Verfahren durchgeführt wird. Deshalb kann das digitale Speichermedium computerlesbar sein.
Manche Ausführungsbeispiele gemäß der Erfindung umfassen also einen Datenträger, der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmierbaren Computersystem derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren durchgeführt wird.
Allgemein können Ausführungsbeispiele der vorliegenden Erfindung als Computerpro- grammprodukt mit einem Programmcode implementiert sein, wobei der Programmcode da- hin gehend wirksam ist, eines der Verfahren durchzuführen, wenn das Computerprogrammprodukt auf einem Computer abläuft.
Der Programmcode kann beispielsweise auch auf einem maschinenlesbaren Träger gespei- chert sein.
Andere Ausführungsbeispiele umfassen das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren, wobei das Computerprogramm auf einem maschinenlesbaren Träger gespeichert ist.
Mit anderen Worten ist ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens somit ein Computerprogramm, das einen Programmcode zum Durchführen eines der hierin beschriebenen Verfahren aufweist, wenn das Computerprogramm auf einem Computer abläuft. Ein weiteres Ausführungsbeispiel der erfindungsgemäßen Verfahren ist somit ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet ist. Ein weiteres Ausführungsbeispiel des erfindungsgemäßen Verfahrens ist somit ein Datenstrom oder eine Sequenz von Signalen, der bzw. die das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren darstellt bzw. darstellen. Der Datenstrom oder die Sequenz von Signalen kann bzw. können beispielsweise dahin gehend konfiguriert sein, über eine Datenkommunikationsverbindung, beispielsweise über das Internet, transferiert zu werden.
Ein weiteres Ausführungsbeispiel umfasst eine Verarbeitungseinrichtung, beispielsweise einen Computer oder ein programmierbares Logikbauelement, die dahin gehend konfiguriert oder angepasst ist, eines der hierin beschriebenen Verfahren durchzuführen.
Ein weiteres Ausführungsbeispiel umfasst einen Computer, auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren installiert ist.
Ein weiteres Ausführungsbeispiel gemäß der Erfindung umfasst eine Vorrichtung oder ein System, die bzw. das ausgelegt ist, um ein Computerprogramm zur Durchführung zumindest eines der hierin beschriebenen Verfahren zu einem Empfänger zu übertragen. Die Übertragung kann beispielsweise elektronisch oder optisch erfolgen. Der Empfänger kann beispielsweise ein Computer, ein Mobilgerät, ein Speichergerät oder eine ähnliche Vorrichtung sein. Die Vorrichtung oder das System kann beispielsweise einen Datei-Server zur Übertragung des Computerprogramms zu dem Empfänger umfassen.
Bei manchen Ausführungsbeispielen kann ein programmierbares Logikbauelement (beispielsweise ein feldprogrammierbares Gatterarray, ein FPGA) dazu verwendet werden, manche oder alle Funktionalitäten der hierin beschriebenen Verfahren durchzuführen. Bei man- chen Ausführungsbeispielen kann ein feldprogrammierbares Gatterarray mit einem Mikroprozessor zusammenwirken, um eines der hierin beschriebenen Verfahren durchzuführen. Allgemein werden die Verfahren bei einigen Ausführungsbeispielen seitens einer beliebigen Hardwarevorrichtung durchgeführt. Diese kann eine universell einsetzbare Hardware wie ein Computerprozessor (CPU) sein oder für das Verfahren spezifische Hardware, wie beispiels- weise ein ASIC.
Die oben beschriebenen Ausführungsbeispiele stellen lediglich eine Veranschaulichung der Prinzipien der vorliegenden Erfindung dar. Es versteht sich, dass Modifikationen und Variationen der hierin beschriebenen Anordnungen und Einzelheiten anderen Fachleuten einleuch- ten werden. Deshalb ist beabsichtigt, dass die Erfindung lediglich durch den Schutzumfang der nachstehenden Patentansprüche und nicht durch die spezifischen Einzelheiten, die anhand der Beschreibung und der Erläuterung der Ausführungsbeispiele hierin präsentiert wurden, beschränkt sei.

Claims

Patentansprüche
1. Verfahren (100) zur Kantendetektion in einem Bild (5), mit folgenden Schritten:
Anwenden (110) eines Kantenfilters (12) auf das Bild (5) in einer Richtung, um für jeden Bildpunkt des Bildes (5) einen Filterwert zu erhalten und um je Kante einen Extremwert (14min, 14max) zu erhalten, und
Anwenden (120) des Kantenfilters (12) auf das gefilterte Bild (5) in einer zweiten, zu der ersten inversen Richtung, um für jeden Bildpunkt einen weiteren Filterwert zu erhalten und um je Kante einen Nulldurchgang (14a, 14b) zu erhalten, wobei jeder Nulldurchgang (14a, 14b) jeweils die Kantenmitte anzeigt, wobei das Kantenfilter (12) hinsichtlich seiner Filtercharakteristik ein Kantenmuster (12k) nachbildet.
2. Verfahren (100) gemäß Anspruch 1, wobei das Verfahren (100) den Schritt des Rotierens (130) des Bildes (5) umfasst und wobei die Schritte Anwenden des Kantenfilters (12) in der ersten und in der zweiten Richtung für unterschiedliche Rotationen (130) wiederholt werden.
3. Verfahren (100) gemäß Anspruch 2, wobei das Bild (5) mehrmals in wählbaren Winkelgrad-Schritten rotiert wird.
4. Verfahren (100) gemäß einem der vorherigen Ansprüche, wobei die Filtercharakteristik Filterkoeffizienten umfasst, die den Vektor eines Kantenmusters (12k) nachbilden.
5. Verfahren (100) gemäß einem der vorherigen Ansprüche, wobei die Filtercharakteristik zwei Mittelwertabschnitte sowie einen linearen Anstiegsabschnitt dazwischen aufweist.
6. Verfahren (100) gemäß Anspruch 5, wobei der erste Mittelwertabschnitt einen negativen Betrag und der zweite Mittelwertabschnitt einen positiven Betrag aufweist.
7. Verfahren (100) gemäß einem der vorherigen Ansprüche, wobei die Filtercharakteristik nullsymmetrisch ist.
8. Verfahren (100) gemäß einem der vorherigen Ansprüche, wobei die erste mathematische Norm der Filtercharakteristik den Wert 1 hat.
9, Verfahren (100) gemäß einem der vorherigen Ansprüche, wobei die Filtercharakteristik eine Filterfunktion umfasst, die gemäß folgender Forme! definiert ist:
wobei
Figure imgf000019_0001
10. Verfahren (100) gemäß einem der vorherigen Ansprüche, wobei das Anwenden des Kantenfilters den Schritt des Faltens und/oder der Kreuzkorrelation des Bildes (5) mit der Filtercharakteristik umfasst.
11. Verfahren (100) gemäß einem der vorherigen Ansprüche, wobei das Verfahren (100) den Schritt des Auffindens von Nullstellen umfasst.
12. Computerprogramm mit einem Programmcode zur Durchführung des Verfahrens
(100) nach einem der Ansprüche 1 bis 11, wenn das Programm auf einem Computer abläuft.
13. Vorrichtung (10) zur Kantendetektion in einem Bild (5), mit folgenden Merkmalen: einem Filterprozessor (11), der ausgebildet ist, ein Kantenfilter (12) auf das Bild (5) in einer ersten Richtung (110) anzuwenden, um für jeden Bildpunkt einen Filterwert zu erhalten und um je Kante einen Extremwert (14min, 14max) zu erhalten, und der ausgebildet ist, um das Kantenfilter (12) auf das gefilterte Bild (5) in einer zweiten, zu der ersten inversen Richtung (120) anzuwenden, um für jeden Bildpunkt einen weite ren Filterwert zu erhalten und um je Kante einen Nulldurchgang (14a, 14b) zu erhalten, wobei die Nulldurchgänge (14a, 14b) jeweils die Kantenmitte anzeigen, wobei das Kantenfilter (12) hinsichtlich seiner Filtercharakteristik ein Kantenmuster (12k) nachbildet.
Vorrichtung (10) gemäß Anspruch 13, wobei die Vorrichtung (10) einen Bildprozessor (22) aufweist, der ausgebildet ist, das Bild (5) zu rotieren, wobei der Filterprozessor (11) ausgebildet ist, das Anwenden des Filters in der ersten und in der zweiten Richtung für jede Rotation zu wiederholen,
PCT/EP2017/058876 2016-04-18 2017-04-12 Verfahren und vorrichtung zur kantendetektion Ceased WO2017182378A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102016206508.4 2016-04-18
DE102016206508.4A DE102016206508A1 (de) 2016-04-18 2016-04-18 Verfahren und Vorrichtung zur Kantendetektion

Publications (1)

Publication Number Publication Date
WO2017182378A1 true WO2017182378A1 (de) 2017-10-26

Family

ID=58548698

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2017/058876 Ceased WO2017182378A1 (de) 2016-04-18 2017-04-12 Verfahren und vorrichtung zur kantendetektion

Country Status (2)

Country Link
DE (1) DE102016206508A1 (de)
WO (1) WO2017182378A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110728692A (zh) * 2019-10-29 2020-01-24 中国计量大学 一种基于Scharr算子改进的图像边缘检测方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114155222B (zh) * 2021-12-06 2024-02-20 合肥工业大学 一种基于fpga的实时边缘检测系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DERICHE R: "USING CANNY'S CRITERIA TO DERIVE A RECURSIVELY IMPLEMENTED OPTIMAL EDGE DETECTOR", INTERNATIONAL JOURNAL OF COMPUTER VISION, DORDRECHT, NL, 1 January 1987 (1987-01-01), pages 167 - 187, XP000579415, DOI: 10.1007/BF00123164 *
FREDERIC DEVERNAY: "A Fast and Efficient Subpixelic Edge Detector", 1 January 1993 (1993-01-01), pages 1 - 5, XP055372544, Retrieved from the Internet <URL:http://devernay.free.fr/publis/devernay-orasis93.pdf> [retrieved on 20170515] *
SARKAR S ET AL: "Optimal infinite impulse response zero crossing based edge detectors", CVGIP IMAGE UNDERSTANDING, ACADEMIC PRESS, DULUTH, MA, US, vol. 54, no. 2, 1 September 1991 (1991-09-01), pages 224 - 243, XP026968110, ISSN: 1049-9660, [retrieved on 19910901] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110728692A (zh) * 2019-10-29 2020-01-24 中国计量大学 一种基于Scharr算子改进的图像边缘检测方法

Also Published As

Publication number Publication date
DE102016206508A1 (de) 2017-10-19

Similar Documents

Publication Publication Date Title
DE69530566T2 (de) Hough-Transform mit Fuzzy-Gradient und Wahl
EP3178036B1 (de) Fahrerassistenzsystem
WO2018158020A1 (de) Verfahren und vorrichtung zur ermittlung einer trajektorie in off-road-szenarien
EP2856390A1 (de) Verfahren und vorrichtung zur verarbeitung stereoskopischer daten
DE102015205505A1 (de) Verfahren und Vorrichtung zum Detektieren elliptischer Strukturen in einem Bild
DE102013002889A1 (de) Verfahren und Vorrichtung zur Modellierung eines Fahrbahnrandes und Fahrzeug mit einer solchen Vorrichtung
EP1748301A2 (de) Verfahren zur Bestimmung einer Relativposition einer mobilen Einheit durch Vergleichen von Scans einer Umgebung und mobile Einheit
EP1836681A1 (de) Verfahren zur bestimmung der eigenbewegung eines fahrzeugs
DE102016206508A1 (de) Verfahren und Vorrichtung zur Kantendetektion
EP0394959A2 (de) Verfahren zur Bildauswertung
EP3576013A1 (de) Abschätzen eines verlaufs eines schienenpfads
EP3973458A1 (de) Verfahren zum betreiben eines tiefen neuronalen netzes
EP2887264B1 (de) Kreissegment- und Formdetektion
EP3756157B1 (de) Verfahren zum erstellen von panoramabildern, zugehöriges computerprogrammprodukt, steuergerät und fahrzeug
DE102017104957A1 (de) Verfahren zum Bestimmen einer Bewegung von zueinander korrespondierenden Bildpunkten in einer Bildsequenz aus einem Umgebungsbereich eines Kraftfahrzeugs, Auswerteeinrichtung, Fahrerassistenzsystem sowie Kraftfahrzeug
DE102017221381A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Ermitteln eines Abstandes zu einem Objekt
EP4118620A1 (de) Verfahren und vorrichtung zum verarbeiten von bildern
EP3142068A1 (de) Verfahren zur dreidimensionalen erfassung von objekten
DE102019202451A1 (de) Glättung für Bildklassifikation
EP3036684A2 (de) Verfahren zur erkennung von fehlern für zumindest ein bildverarbeitungssystem
WO2019072451A1 (de) Verfahren zum verarbeiten von bildern
DE102019217951A1 (de) Verfahren und Vorrichtung zum Bestimmen einer Domänendistanz zwischen mindestens zwei Datendomänen
WO2024132592A1 (de) Verfahren und vorrichtung zur erzeugung von anomaliekarten von fertigungsobjekten
DE102024123824A1 (de) Verfahren und Vorrichtung zum Erzeugen einer Tiefenkarte und/oder eines optischen Flusses
DE102023111912A1 (de) Datenkompression eines von einer Frontkamera oder einer Rückkamera eines Kraftfahrzeugs empfangenen Videodatenstroms

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17717692

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17717692

Country of ref document: EP

Kind code of ref document: A1