EDGE-PRESERVING ENHANCEMENT OF SEISMIC IMAGES BY NONLINEAR ANISOTROPIC DIFFUSION

Abstract: rocessing a seismic image comprising the steps of(a) obtaining a two or three dimensional initial image data set, wherein each element u(m=0) of the data set is the initial image intensity of a point of the image;(b) calculating for each point the partial derivatives of u(m) in n directions to obtain n derivative data sets of the partial derivatives uxi; (c) calculating for each point a symmetric nxn structural matrix S, wherein the elements spq equal uxp.uxq, and an nxn diffusion matrix D, wherein the elements dij are a function of the elements spq; (d) calculating for each point u(m+1) from u(m) using the following equation u(m+1)=u(m)+c.div( epsilon .Dgrad(u(m))), wherein c is a predetermined constant, 0</=c</=1, and wherein epsilon is a scalar, 0</= epsilon </=, wherein epsilon is close to zero when near an edge and close to 1 when far away from an edge (10, 11, 12, 14, 15); and(e) repeating steps (b) through (e) M times to obtain the processed image.

Description: EDGE-PRESERVING ENHANCEMENT OF SEISMIC IMAGES BY NONLINEAR ANISOTROPIC DIFFUSION The present invention relates to a method of processing an image, for example a seismic image, applying a diffusion process. Such methods are known, see for example the thesis Anisotropic diffusion in image processing' by J eickert, January 1996, pages 41-44. Known is a diffusion method that comprises the steps of (a) obtaining an n-dimensional initial image data set, wherein each element u(m=0) of the data set is the initial image intensity of a point of the image, and wherein n=2 or n=3; (b) calculating for each point the partial derivatives of u (m) in n directions to obtain n derivative data sets of the partial derivatives u x ^; (c) calculating for each point a symmetric nxn structural matrix S, wherein the elements Spq equal u X p.u X g,- (d) calculating for each point an nxn diffusion matrix D, wherein the elements dj_j are a function of the elements Spg,- (e) calculating for each point u(m+l) from u ( ) using the following equation u (m+1) =u (m) +div (Dgrad (u (m) ) ) ; and (f) repeating steps (b) through (e) M times to obtain the processed image. Unless otherwise specified, the following holds throughout the specification and the claims: u x j_= 9u/δx j _. An element of the image data set is also referred to as a point of the image. In the known method an initial image is processed to obtain successive images, wherein each image is obtained from the previous one by a diffusion process. The diffusion method can as well be described by the d diffusion equation —- = div(DNu) . a There are four types of diffusion methods. At first there is the isotropic diffusion in which the diffusivity D is a scalar and the anisotropic diffusion in which D is a matrix. Then for each of these two types, the diffusion can be linear, in which D is not a function of u or the diffusion can be non linear in which D is a function of u. This method can as well be applied to processing a seismic image, in that case the image intensity is the amplitude of the seismic signal. An advantage of the diffusion method is that noise is suppressed. A further advantage, which is particularly relevant to processing a seismic image is that after a few cycles the geological structure is highlighted more clearly. However, a problem with this method is preserving edges. Edge preservation is of great interest in the interpretation of seismic images, which play an important role in the study of underground formations, and in particular in the study of underground formations that contain hydrocarbons. Moreover there is a great interest in edge preserving techniques, which allow highlighting of faults while removing noise from the seismic data. For edge preservation in combination with isotropic diffusion processing is proposed a method based on the Perona-Malik model (see the thesis of Weickert, page 10) of which the diffusion equation is — = div(g(|Vu| )Vu) , dt wherein the non-linear diffusivity is g(|Vu| 2 ) = ( 1 + |Vu| 2 / λ 2 , the scalar λ being a pre¬ determined edge preservation parameter. Applicant proposes a simple addition to the known method that has proved to be an effective way of preserving edges while capable of removing noise. Moreover Applicant proposes such a method that is applicable to anisotropic diffusion. To this end the method of processing an image according to the present invention comprises the steps of (a) obtaining an n-dimensional initial image data set, wherein each element u(m=0) of the data set is the initial image intensity of a point of the image, and wherein n=2 or n=3; (b) calculating for each point the partial derivatives of u (m) in n directions to obtain n derivative data sets of the partial derivatives u x j_; (c) calculating for each point a symmetric nxn structural matrix S, wherein the elements Spg equal u X p.u X g, # (d) calculating for each point an nxn diffusion matrix D, wherein the elements d_ are a function of the elements Spg,- (e) calculating for each point u(m+l) from u (m) using the following equation u (m+1) =u (m) +c. div (ε. Dgrad (u (m) ) ) , wherein c is a predetermined constant, 0<c<l, and wherein ε is a scalar, 0<ε<l, wherein ε is close to zero when near an edge and close to 1 when far away from an edge; and (f) repeating steps (b) through (e) M times to obtain the processed image. In this way edge preservation is introduced in anisotropic, non-linear diffusion. Suitably step (c) comprises calculating for each point a symmetric nxn structural precursor matrix S® , wherein the elements s^pg equal u X p. X g/ creating (l/2)n(n+l) data sets, wherein the elements of the first data set are s®n pertaining to each point, the elements of the second data set are s0]_2 and so on; and filtering each of these data sets by convolution with a suitable kernel to obtain the elements Spg of the nxn structural matrix S . Alternatively step (c) comprises filtering for each point the partial derivatives u x j_ by convolution with a suitable kernel to obtain regularized partial derivatives u r x j_; calculating for each point a symmetric nxn structural precursor matrix S^, wherein the elements s^pg equal u r X p.u r X g; creating (l/2)n(n+l) data sets, wherein the elements of the first data set are s^il pertaining to each point, the elements of the second data set are s0χ2 an< so on; and filtering each of these data sets by convolution with a suitable kernel to obtain the elements s p g of the nxn structural matrix S. The above described alternatives for step (c) , wherein a precursor matrix is calculated allows defining the edge preservation parameter as follows: ε=trace (S^S) / (trace (S°) .trace (S) ) . In this way the edge preservation parameter is calculated for each point. The present invention also relates to a method of processing an image in order to display the edge preservation parameter. This method comprises the steps of (a) obtaining an n-dimensional initial image data set, wherein each element u(m=0) of the data set is the initial image intensity of a point of the image, and wherein n=2 or n=3; (b) calculating for each point the partial derivatives of u(m) in n directions to obtain n derivative data sets of the partial derivatives u xj _; (c) calculating for each point a symmetric nxn structural matrix S°, wherein the elements s°pg equal u xp .u X g; creating (l/2)n(n+l) data sets, wherein the elements of the first data set are s®n pertaining to each point, the elements of the second data set are 5^12 an d so on; and filtering each of these data sets by convolution with a suitable kernel to obtain the elements s p g of the nxn structural matrix S; and (d) calculating for each point ε=trace (S^S) / (trace (S°) .trace (S) ) and attributing the calculated value of ε to each point to obtain an image in which faults are highlighted. Alternatively, the method of processing an image comprises the steps of (a) obtaining an n-dimensional initial image data set, wherein each element u(m=0) of the data set is the initial image intensity of a point of the image, and wherein n=2 or n=3; (b) calculating for each point the partial derivatives of u (m) in n directions to obtain n derivative data sets of the partial derivatives x ^ ; (c) filtering for each point the partial derivatives u x j_ by convolution with a suitable kernel to obtain regularized partial derivatives u r x j_; calculating for each point a symmetric nxn structural precursor matrix S^, wherein the elements s^pg equal u r X p.u r X g; creating (l/2)n(n+l) data sets, wherein the elements of the first data set are S^- pertaining to each point, the elements of the second data set are s^^2 anc so on; anc ^ filtering each of these data sets by convolution with a suitable kernel to obtain the elements s p g of the nxn structural matrix S; (d) calculating for each point ε=trace (S°S) / (trace (S°) .trace (S) ) and attributing the calculated value of ε to each point to obtain an image in which faults are highlighted. In the paper ^Coherence-Enhancing Diffusion Filtering' by J Weickert, International Journal of Computer Vision vol 31(2/3), pages 111-127, (1999), modifications of the method known from the above- mentioned thesis are discussed. The paper discloses a method for enhancing coherence in images with flow-like structures. This method is not a method for preserving edges, and no parameter corresponding to the parameter ε - of the present invention is disclosed. The present invention will now be described by way of example in more details. At first the equations for a two-dimensional image are discussed, then for a three dimensional image and thereafter alternative embodiments. In two dimensions, the initial image data set comprises j_ 2 elements (or points) u(m=0), wherein the value of each element u is the initial image intensity of a point of the image, and wherein k]_ and 2 are the number of points in the two directions ]_ and X2 of the two-dimensional image. The word pixel is used to refer to such a point in two dimensions, and in three dimensions, the point is called a voxel. The next step comprises calculating the partial derivatives of all points u (m) in n directions to obtain n derivative data sets of the partial derivatives u x j_ . The first data set comprises k]_xk2 values of u x] _ (=9u/3xι) and the second data set comprises k]_xk2 values of u x 2 (=9u/9x2) . Then for each point a symmetric nxn structural matrix S is calculated, wherein the elements Spg equal u X p.u X g. The structural matrix S is in two dimensions uχl- u xl u xl- u x2" Then for each point an nxn diffusion matrix D is calculated, wherein the elements d_j are a function of the elements Sp , which elements Spg are a function of the partial derivatives u xp and u X g. Then the image comprising the elements u(m=0) is processed in M steps to obtain a processed image comprising elements u(m=M), wherein after each step the integer m is increased with 1. The k]_xk2 values u(m+l) of each image are obtained from the values u (m) from a previous image by solving a diffusion type equation: u (m+l)=u (m) +c.div(ε. Dgrad(u (m) ) ) . The number of times the image is processed, M, is a predetermined value. In order to remove noise, M is suitably in the range of from 2 to 4, and when in addition thereto the image has to be simplified, M is suitably in the range of from 5 to 20. In this equation, c is a predetermined constant, 0<c<l, and ε is a scalar, 0<ε<l, wherein ε is close to zero when near an edge and close to 1 when far away from an edge. The scalar ε can be understood to be a fault highlighter. In two dimensions, div (ε.Dgrad(u)) = ∑ -— (ε(d ; j_ 1 u x ι + j_2 u 2) ) • i = 1 dx i In three dimensions, the image data set comprises kχ 2x 3 image intensities (m) . The first derivative data set comprises k xk2xk3 values of u x] _ (=9u/9x]_) , the second derivative data set comprises k ] _xk2 k3 values of u x 2 (=9u/9x2), and the third derivative data set comprises k^ 2xk3 values of u x 3 (=3u/δx3) . The nxn uxi-Uxi xl .u x2 u xl .Uχ3^ structural matrix S is In three dimensions, 3 3 div (ε.Dgrad(u)) = ∑ - — (ε(dϋu xl + d i2 u x2 + d i3 u x3 ) ) i = 1 Sx i In the above, the diffusion matrix is not calculated directly from the image intensities. However, suitably the diffusion matrix is calculated from filtered data. Therefore the step of calculating the structural matrix suitably comprises calculating for each point a symmetric nxn structural precursor matrix S® , wherein the elements s^pg equal X p.u X g," creating (l/2)n(n+l) data sets, wherein the elements of the first data set are s®n pertaining to each point, the elements of the second data set are s^-|_2 and so on; and filtering each of these data sets by convolution with a suitable kernel to obtain the elements Sp of the nxn structural matrix S. In an alternative embodiment, the nxn structural matrix S is calculated from filtered partial derivatives. To this end, the partial derivatives u x j_ are filtered for each point by convolution with a suitable kernel to obtain regularized partial derivatives u r x -}_ . For each point a symmetric nxn structural precursor matrix S® is calculated, wherein the elements s^pg equal u r X p.u r x g. Then the (l/2)n(n+l) data sets are created, wherein the elements of the first data set are s^il pertaining to each point, the elements of the second data set are s < - > 2 and so on. And these data sets are filtered by convolution with a suitable kernel to obtain the elements Spg of the nxn structural matrix S. Suitably the edge preservation parameter ε is derived from the image data set by calculations. Applicant had found that the structural precursor matrix S® can be used to estimate the scalar ε, suitably ε=trace (S°S) / (trace (S°) .trace (S) ) , wherein trace (A) is the sum of the diagonal elements a^^ of the matrix A. In this way ε becomes a function of the partial derivatives of u (m) in the two or three directions. And the scalar ε is a fault highlighter that is calculated for each point. The scalar is about 1 in the absence of a fault and much smaller than 1 in the presence of a fault. Suitably step (d) comprises determining the n eigenvalues λ± and n eigenvectors J_ of each of the structural matrices S; sorting the eigenvalues so that λ]_>λ2 (>λ3 ) and calculating for each point an nxn diffusion matrix D, wherein the elements dpg equal v 2p- v 2q (wherein v is the eigenvector pertaining to the smallest eigenvalue if n=2) or wherein the elements d p g equal V2p. 2 t 3p.v3g (wherein 2 and 3 are the eigenvectors pertaining to the smallest eigenvalues if n=3) . The symbols v p and j_q denote the p-th and q-th element of the eigenvector vj_ # As a result the eigenvector pertaining to the largest eigenvalue does not contribute to the diffusion matrix, and the eigenvector (s) pertaining to the smaller eigenvalue (s) do contribute. This inhibits diffusion of the image luminance in the direction of the eigenvector pertaining to the largest eigenvalue, which latter eigenvector is directed perpendicular to the reflection. The suitable kernel is a kernel for low pass filtering, such a kernel is symmetric and positive everywhere. A suitable kernel is the Gaussian kernel of width σ>0, which is given by the following equation: The Gaussian kernel is used as a K σ (x) = convolution mask, wherein x is the position of the centre of the convolution mask and |j is the Euclidean norm, and n is the dimension. The invention will now be described by way of example with reference to the accompanying drawings, wherein Figure 1 shows the original image; Figure 2 shows the image treated according to the present invention with three anisotropic diffusion steps; Figure 3 shows the image treated according to the present invention with ten anisotropic diffusion steps; Figure 4 shows the image treated not according to the present invention with three anisotropic diffusion steps with no edge preservation, ε=l; Figure 5 shows the image treated not according to the present invention with ten anisotropic diffusion steps with no edge preservation, ε=l; Figure 6 shows the image treated not according to the invention with isotropic diffusion without edge preservation; Figure 7 shows the image treated not according to the invention with isotropic diffusion with edge preservation according to Perona-Malik with λ=10; and Figure 8 shows the image of Figure 1 treated so as to highlight the faults. Reference is made to Figure 1, which shows the original image. The image is 128 pixels by 128 pixels having a value in the range from 0 to 255. The picture shows reflectors 1, 2, 3, 4 and 5 and faults 10, 11, 12, 14 and 15. For the sake of clarity, not all reflectors and faults have been referred to with a reference numeral . Figures 2 and 3 show the original image treated according to the present invention. The structural tensor had been calculated as follows, at first for each point the partial derivatives u x j were filtered by convolution with a Gaussian kernel to obtain regularized partial derivatives u r x j_; then for each point a symmetric nxn structural precursor matrix s0 was calculated, wherein the elements s^pg equal r X p.u r X g; creating (l/2)n(n+l) data sets, wherein the elements of the first data set are s ^ll pertaining to each point, the elements of the second data set are s 1 -^ and so on. To obtain the elements s p g of the nxn structural matrix S each of these data sets is filtered by convolution with a Gaussian kernel. In order to get Figure 2, three anisotropic diffusion steps were applied. The edges are made clearer whilst noise is reduced. Figure 3 shows a smoother picture, with less noise, obtained with the method according to the present invention after ten anisotropic diffusion steps. In order to show the improvement obtained with the method according to the present invention, reference is made to Figures 4-7, which have been obtained with known methods. Figure 4 shows the image treated not according to the present invention with three anisotropic diffusion steps with no edge preservation, in which ε=l . Figure 5 shows the image treated not according to the present invention with ten anisotropic diffusion steps with no edge preservation, ε=l . Figure 6 shows the image treated not according to the invention with isotropic diffusion without edge preservation; and Figure 7 shows the image treated not according to the invention with isotropic diffusion with edge preservation according to Perona-Malik with λ=10. Figure 8 shows an image ■ obtained from Figure 1 processed to highlight the faults. The method of processing the image comprised calculating for each point of the original image (Figure 1) the partial derivatives of u (m) in n directions to obtain n derivative data sets of the partial derivatives u x _; filtering for each point the partial derivatives u x j_ by convolution with a suitable kernel to obtain regularized partial derivatives u r x _; calculating for each point a symmetric nxn structural precursor matrix S^, wherein the elements s^p equal u r xp .u r X g; creating (l/2)n(n+l) data sets, wherein the elements of the first data set are s^i pertaining to each point, the elements of the second data set are s®i2 and so on; and filtering each of these data sets by convolution with a suitable kernel to obtain the elements s p g of the nxn structural matrix S. Then for each point ε=trace (S^S) / (trace (S°) . trace (S) ) was calculated, and the value of ε was attributed to each point to obtain Figure 8 in which faults are highlighted in black.

Claims: C L A I M S 1. Method of processing an image comprising the steps of (a) obtaining an n-dimensional initial image data set, wherein each element u(m=0) of the data set is the initial image intensity of a point of the image, and wherein n=2 or n=3; (b) calculating for each point the partial derivatives of u (m) in n directions to obtain n derivative data sets of the partial derivatives u x j_; (c) calculating for each point a symmetric nxn structural matrix S, wherein the elements Spg equal u X p.u X g,- (d) calculating for each point an nxn diffusion matrix D, wherein the elements dj_j are a function of the elements Spg; (e) calculating for each point u(m+l) from u (m) using the following equation u (m+1) =u (m) +c. di (ε. Dgrad (u (m) ) ) , wherein c is a predetermined constant, 0<c<l, and wherein ε is a scalar, 0<ε<l, wherein ε is close to zero when near an edge and close to 1 when far away from an edge; and (f) repeating steps (b) through (e) M times to obtain the processed image. 2. The method according to claim 1, wherein step (c) comprises calculating for each point a symmetric nxn structural precursor matrix S^, wherein the elements s^pg equal u X p.u X g,- creating (l/2)n(n+l) data sets, wherein the elements of the first data set are s ^il pertaining to each point, the elements of the second data set are s0η_2 and so on; and filtering each of these data sets by convolution with a suitable kernel to obtain the elements Spg of the nxn structural matrix S. 3. The method according to claim 1, wherein step (c) comprises filtering for each point the partial derivatives u x _ by convolution with a suitable kernel to obtain regularized partial derivatives u r x j_; calculating for each point a symmetric nxn structural precursor matrix S^, wherein the elements s^pg equal u r X p.u r X g; creating (l/2)n(n+l) data sets, wherein the elements of the first data set are s®n pertaining to each point, the elements of the second data set are s®i2 and so on; and filtering each of these data sets by convolution with a suitable kernel to obtain the elements Spg of the nxn structural matrix S. 4. The method according to claim 2 or 3, wherein ε=trace(S°S) / (trace (S°) .trace (S) ) . 5. The method according any one of the claims 1-4, wherein step (d) comprises determining the n eigenvalues λ j _ and n eigenvectors v-j_ of each of the nxn structural matrices S; sorting the eigenvalues so that λ]_>λ2 ( 3) and calculating for each point an nxn diffusion matrix D, wherein the elements d pq equal 2p-V2g (if n=2) or wherein the elements dpg equal V2p- v 2q +v 3p- v 3q (if n=3). 6. A method of processing an image comprising the steps of (a) obtaining an n-dimensional initial image data set, wherein each element u(m=0) of the data set is the initial image intensity of a point of the image, and wherein n=2 or n=3; (b) calculating for each point the partial derivatives of u (m) in n directions to obtain n derivative data sets of the partial derivatives u x j_; (c) calculating for each point a symmetric nxn structural matrix S°, wherein the elements sO p g equal Up.Ug,- creating (l/2)n(n+l) data sets, wherein the elements of the first data set are s®n pertaining to each point, the elements of the second data set are s0]_2 and so on; and filtering each of these data sets by convolution with a ssuuiittaabbllee kkeerrnneell ttoo oobbttaaiirn the elements s p g of the nxn structural matrix S; and (d) calculating for each point ε=trace (S^S) / (trace (S°) .trace (S) ) and attributing the calculated value of ε to each point to obtain an image in which faults are highlighted. 7. A method of processing an image comprising the steps of (a) obtaining an n-dimensional initial image data set, wherein each element u(m=0) of the data set is the initial image intensity of a point of the image, and wherein n=2 or n=3; (b) calculating for each point the partial derivatives of u (m) in n directions to obtain n derivative data sets of the partial derivatives u x j_; (c) filtering for each point the partial derivatives u x _ by convolution with a suitable kernel to obtain regularized partial derivatives u r x _; calculating for each point a symmetric nxn structural precursor matrix S^, wherein the elements s^pg equal u r X p.u r X g; creating (l/2)n(n+l) data sets, wherein the elements of the first data set are s^n pertaining to each point, the elements of the second data set are s^ ] _2 and so on; and filtering each of these data sets by convolution with a suitable kernel to obtain the elements Spg of the nxn structural matrix S; and (d) calculating for each point ε=trace (S^S) / (trace (S°) .trace (S) ) and attributing the calculated value of ε to each point to obtain an image in which faults are highlighted.

Inventors: BOUTS ERIK, FEHMERS GIJSBERT CHRISTIAAN, KALITZIN STILIYAN NIKOLOV, BOUTS, ERIK, FEHMERS, GIJSBERT, CHRISTIAAN, KALITZIN, STILIYAN, NIKOLOV
Applicants: BOUTS ERIK, FEHMERS GIJSBERT CHRISTIAAN, KALITZIN STILIYAN NIKOLOV, SHELL CANADA LTD, SHELL INT RESEARCH, BOUTS, ERIK, FEHMERS, GIJSBERT, CHRISTIAAN, KALITZIN, STILIYAN, NIKOLOV, SHELL CANADA LIMITED, SHELL INTERNATIONALE RESEARCH MAATSCHAPPIJ B.V.
Application year: 2001
Main classification: G06T5
IPC codes: G01V1, G06K9, G06T5