%\def\figdir{./Fig} 

\title{Attribute combinations for image segmentation} 

\author{Adam Halpert and Robert G. Clapp}
\footer{SEP-138}

\lefthead{Halpert and Clapp}
\righthead{Attribute combinations}

\begin{abstract}
Seismic image segmentation relies upon attributes calculated from seismic data, but a single attribute (usually amplitude) is not always sufficient to produce an accurate result. Therefore, a combination of information from different attributes should lead to an improved segmentation outcome. This paper explores opportunities for combining attribute information at three different stages: before segmentation (by multiplying attribute volumes), after the eigenvector calculation (via a linear combination of individual eigenvectors), and after individual boundaries have been drawn (by using uncertainty calculations to extract the best elements of individual boundaries). Overall, a method that uses uncertainty calculations to determine weights for the eigenvector linear combination produces satisfactory results, while avoiding potential drawbacks of other methods.  This method produces promising results when tested on field data in both two and three dimensions. 

\end{abstract}
\section{Introduction}
%
Image segmentation - an automated process of dividing an image into regions - offers a number of promising applications for seismic data.  Among the most straightforward of these applications is to the task of picking salt bodies on seismic images, a process that can be ambiguous and time-consuming when undertaken manually, especially for large three-dimensional datasets with complex salt body geometries.  The development of an algorithm for automatically tracking salt boundaries \cite[]{Lomask.sepphd.126,Lomask-1} in many cases allows for the quick, efficient and globally-optimized calculation of a salt interface location.  Such information may then be used, for example, to quickly update a velocity model as part of an iterative migration system \cite[]{Halpert.seg08}.

The seismic image segmentation scheme is based on the Normalized Cut Image Segmentation (NCIS) algorithm \cite[]{Shi-1}, which calculates an eigenvector based on specific attributes gleaned from the image; the eigenvector is then used to trace a boundary across the image. Although the most straightforward attribute for delineating salt boundaries on seismic images is amplitude of the envelope, this attribute alone is not always sufficient to produce an accurate calculation of the boundary. In such cases, other attributes may be used for segmentation.  For example, an estimate of dips in a seismic image is often used for interpretation purposes \cite[]{Bednar.sep.95.bednarb}, and strong variations in dominant dips within an image can be indicative of a salt interface.  \cite{Halpert.sep.136.adam1} provide details on using dip variability, as well as an instantaneous frequency attribute, for segmentation with a single attribute. Ideally, however, a segmentation algorithm will combine information from multiple attributes into a single result. In this paper, we discuss three strategies for combining attributes: a multiplication of attribute volumes, a combination of individually calculated boundaries, and a linear combination of individual eigenvectors. The latter method, when combined with an uncertainty measurement derived from the eigenvectors, produces results superior to those using only a single attribute. Since improvements in computing capabilities make increasingly complex segmentation problems tractable, it is important to extend this process to three dimensions. Initial results from a combined-attribute 3D segmentation scheme suggest that a more sophisticated, interpreter-guided segmentation process can be successful. 
 

\section{Attribute combinations}
%
In the segmentation algorithm, the determination of a salt interface takes place in three distinct stages. The first stage is the calculation of attributes that may be useful in indicating a boundary between sediments and a salt body. The second stage involves transforming the attribute volumes into eigenvectors of the image via the construction of a weight matrix based on the attribute values.  Finally, the third stage ``draws" the salt boundary using the eigenvector values. Each of these three stages represents an opportunity for combining information from different attributes. The following sections will explore these three options, and illustrate their advantages and disadvantages with example calculations on a 2D seismic section taken from a 3D Gulf of Mexico field dataset, seen in Figure \ref{fig:dat}.


\plot{dat}{width=4in,height=3.0in}{A migrated seismic section used for 2D segmentation examples. Note the discontinous nature of the strong reflector (salt boundary), which will present challenges for the segmentation algorithm. [{\bf ER}]}

The following examples will seek to combine useful information from two attributes - amplitude and dip variability. Figure \ref{fig:eigs-ann} shows eigenvectors derived from these two individual attributes. The eigenvector values range from -1 to +1; in the figures here, negative values are dark and positive values are light. The salt boundary is typically drawn along the zero-contour of the eigenvector, where values pass from negative to positive. Thus, a sharp transition from dark to light colors in the eigenvector indicates a boundary location with relative certainty, while a grey area indicates a slower transition from negative to positive values, and relative uncertainty of the boundary location. Clearly, the amplitude eigenvector provides better information throughout most of the image, although the transition near $x=18000$ suggests significant uncertainty. This is logical, as the original section (Figure \ref{fig:dat}) shows a great deal on discontinuity at this location. Overall, the dip eigenvector shows much less certainty than the one derived from the amplitude attribute; however, the previously mentioned location appears more certain on the dip eigenvector. The boundary calculations corresponding to these two eigenvectors (Figure \ref{fig:ampdipbnd}) confirm these observations. Therefore, an obvious goal for combining information from these two attributes is to produce a boundary that uses information from the amplitude attribute in most locations, but incorporates the dip information at this location.

\plot{eigs-ann}{width=\textwidth,height=3in}{Eigenvectors derived from amplitude of the envelope (a) and dip variability (b) attributes. Areas of relative boundary certainty and uncertainty are indicated. [{\bf CR}]}
%\sideplot[t]{bnds}{width=3in,height=2in}{Salt boundaries corresponding to the eigenvectors in Figure \ref{fig:eigs}}

\plot{ampdipbnd}{width=\textwidth,height=6in}{Zero-contour boundaries corresponding to the amplitude (a) and dip variability (b) eigenvectors seen in Figure \ref{fig:eigs-ann}. [{\bf CR}]}


\subsection{Attribute multiplication}

One approach, suggested by \cite{Lomask.sepphd.126}, is to combine multiple attribute volumes into a single volume via multiplication:
\begin{equation}
A = \prod_{i=\mathrm{each \ attribute}}^{\mathrm{all \ attributes}} a_i \ ,
\end{equation}
where $a_i$ is an individual attribute volume, and then proceed with segmentation normally. Multiplication of the attribute data has the effect of reinforcing information in areas where the attributes ``agree," which can be beneficial. However, it also can have the effect of destroying potentially valuable information if the two attributes are not in agreement.  Panel (a) in Figure \ref{fig:uno-bnds} shows the boundary calculation resulting from this process.

%\plot{attrmult}{width=\textwidth,height=3in}{Eigenvector (a) and boundary calculation (b) resulting from segmentation using attribute volumes multiplied together.}

Clearly, in this case the disadvantages of multiplying attribute volumes together outweigh the possible advantages - the process appears to have incorporated the worst information from each of the attributes, resulting in a final boundary that does not improve on either of the individual results (Figure \ref{fig:ampdipbnd}) in any location.

\subsection{Boundary combinations}
%
A second ``domain'' in which information from different attributes may be combined is after individual boundary calculations have already taken place. This method requires a measure of uncertainty along each individual boundary, so that a new boundary can be created by incorporating the ``most certain'' boundary at each location in the image. As discussed previously, such an uncertainty measure may be gleaned from the zero-crossing of the eigenvector:
\begin{equation}
d = |p_1 - n_1| \ ,
\end{equation}
where $p_1$ and $n_1$ are the two values on either side of the boundary (one will be positive, one negative).
A sharp transition from positive to negative values - quantitatively, a large value of $d$ at that location - signifies relative certainty, while a slow transition or small difference signals uncertainty. In this case, the measurement is taken perpendicular to the calculated boundary, so as to avoid the assumption that the boundary is in all locations locally horizontal. After such calculations are made at all locations for each boundary, a combined boundary is formed by taking the most certain boundary location (depth value) at each horizontal location. Panel (b) in Figure \ref{fig:uno-bnds} shows the result of this process. 

This approach performs very well in this example. Information from the amplitude attribute is honored nearly everywhere, and the dip information is incorporated only where it is superior to the amplitude information.  However, the manner in which this approach is implemented could lead to problems in some circumstances. Taking the best elements of different boundaries could easily lead to erratic, ``either/or'' behavior in the combined boundary; indeed, some indications of this behavior may be seen in the jaggedness of the boundary where the dip information plays a significant role. It is likely that this behavior would be even more troublesome in three dimensions.


\plot{uno-bnds}{width=\textwidth,height=7in}{Calculated boundaries corresponding to: (a) Attribute multiplication segmentation; (b) Combination of individual boundaries; (c) Equally-weighted eigenvector combination; and (d) Uncertainty-weighted eigenvector combination. [{\bf CR}]}  

\subsection{Eigenvector combinations}
%
Finally, a third approach is to use the individual attribute volumes to calculate multiple eigenvectors, and then combine the eigenvectors before determining a boundary.  Following the recommendation of Shi and Malik (2000), a simple way to combine the eigenvectors is via linear combination:

\begin{equation}
E = \sum_{i=\mathrm{each \ attribute}}^{\mathrm{all \ attributes}} \lambda_i e_i \ ,
\end{equation}
where $e_i$ is an individual eigenvector and $\lambda_i$ is a specific weight value assigned to the attribute in question.  Of course, taking this approach introduces the problem of determining weight values for each attribute. Panel (c) in Figure \ref{fig:uno-bnds} shows the result of this approach if equal weights are given to the amplitude and dip attributes. While the boundary is satisfactory in many locations, the dip attribute clearly has too much influence in some areas where the amplitude attribute provides much better information. This method shows promise, but a mechanism for assigning better weights is necessary. One such mechanism has already been discussed; we can use the eigenvector uncertainty measurement,  utilized previously for the boundary combination approach, to assign attribute weight values for a linear combination of eigenvectors. In this way, we are able to follow the recommendation of Shi and Malik for combining information from different sources, while at the same time taking advantage of a ``built-in'' method for estimating uncertainties.

Since the eigenvectors range in value from -1 to +1, the eigenvector difference across one of  the boundaries can never be greater than two. Thus, the value
\begin{equation}
\omega = \frac{1}{2} (1+d_{amp} - d_{dip}) \ ,
\end{equation}
where $d$ is the difference across a calculated boundary at a particular $x$ location, will range from 0 to 1. If we want to heavily penalize uncertainty in one of the eigenvectors, we set the weight values as follows:
\begin{eqnarray}
W_{amp} & = & \left\{ \begin{array}{rl}
\omega^2 &\mbox{ if $\omega < 0.5$} \\
\sqrt{\omega} &\mbox{ if $\omega > 0.5$}
\end{array} \right. \\ 
W_{dip} & = & 1 - w_{amp} \ .     
\end{eqnarray}  

The results of assigning weight values in this manner to create an eigenvector are shown in panel (d) of Figure \ref{fig:uno-bnds}. The boundary successfully follows the salt interface everywhere the amplitude-only boundary does, and incorporates the dip information only where the amplitude boundary fails. Furthermore, we do not see the erratic behavior in areas where the dip information is most significant, as we did for the boundary combination method.


\section{Segmentation in three dimensions}
%
We have shown that image segmentation with one or multiple attributes can be very effective for 2D seismic data. However, it is in three dimensions that the advantages of automated image segmentation should become even more apparent. While a skilled human interpreter can easily examine a 2D section and pick out a salt interface, visualization and time constraints make this a very difficult process for a 3D survey. In contrast, a computer is not bound by these limitations and can excel at ``seeing" in three dimensions. Furthermore, the drastic increase in the number of pixel-to-pixel comparisons available in three dimensions compared to two should also increase the robustness and accuracy of the segmentation process.  

\subsection{Computational issues}
Of course, moving to 3D also greatly increases the computational complexity and expense of the image segmentation process.  \cite{Lomask.sepphd.126} describes several modifications to the algorithm that help to lessen the impact, such as comparing each pixel to a random selection of other pixels instead of all pixels in a specified neighborhood. However, constant technological advances in the computer hardware industry also contribute to the increasing tractability of large-scale computational problems such as this one. The segmentation algorithm used here involves heavy computations with very large, sparse matrices. As such, a promising avenue of interest is to work with many-core, large-memory machines such as those recently developed by SiCortex \cite[]{reilly}. Because such machines feature very fast interprocessor communication capabilities, they lend themselves well to the sparse-matrix eigenvector calculation portion of the segmentation scheme that, in most cases, represents the majority of overall computational expense. Early implementations of the eigenvector calculation algorithm on a SiCortex development machine with 72 low-power, relatively low-performance nodes bear out this hypothesis.  The matrix-vector multiplications needed for calculation of the eigenvector on a 250 x 400 x 50 cube of data required approximately four minutes on this machine, representing a speedup of over 750\% when compared to the same calculations on a single processor with much higher relative speed and power consumption. Optimization of codes to take greater advantage of the machine's capabilities should further improve these results.

\subsection{Attribute combinations in 3D}
%
An ideal goal for an image segmentation algorithm is to be able to extend information gathered from a 2D seismic section by using it to guide the segmentation for a 3D volume. For instance, if an interpreter picks an interface on the 2D section, an automated inversion scheme could determine which combination of attribute information would have led the segmentation algorithm to produce the same boundary. This information would then be used to segment the entire 3D cube.  Here, we have an opportunity to test a primitive version of this process.

Figure \ref{fig:unocal4} displays a depth slice, inline section and crossline section of the 3D cube containing a portion of the seismic section (Figure \ref{fig:dat}) used to demonstrate the 2D boundary combinations above; the inline section shown is not the same as the one used for Figure \ref{fig:dat}. Single-attribute 3D segmentations with amplitude and dip variability attributes produce the eigenvectors seen in Figure \ref{fig:3deigs}. As we saw in the 2D case, the amplitude segmentation shows greater certainty in most locations; however, the dip variability eigenvector is noticeably superior in the two indicated areas. We seek to combine the two eigenvector volumes such that the most accurate information from each attribute is contained in a single eigenvector volume. 

\plot{unocal4}{width=\textwidth,height=5in}{Depth slice and inline and crossline sections of a seismic data cube used for 3D image segmentation. [{\bf ER}]}

\plot{3deigs}{width=6in,height=8in}{Slices of the 3D eigenvectors calculated from amplitude (top) and dip variability (bottom) attributes corresponding to the image in Figure \ref{fig:unocal4}. The circles indicate areas where the dip eigenvector is noticeably superior to the amplitude eigenvector. [{\bf CR}]}

Previously, we used an uncertainty-weighted eigenvector combination scheme to produce the boundary in panel (d) of Figure \ref{fig:uno-bnds}.  From this process, we can retain the individual weight values used for each attribute's eigenvector at each $x$-direction sample.  By making the assumption that these weights will remain constant in the crossline direction, we can combine the 3D eigenvector volumes by using these same weight values for every crossline section. Figure \ref{fig:comboeig} shows the results of this process for the same slices displayed in Figure \ref{fig:unocal4}. The new eigenvector improves on the ambiguities indicated on the amplitude eigenvector in Figure \ref{fig:3deigs}, yet retains the amplitude eigenvector's superior results in other locations. The corresponding zero-contour boundaries for these slices are seen in Figure \ref{fig:3dbnd}; the boundary accurately tracks the salt interface on all three sections.

\plot{comboeig}{width=\textwidth,height=5in}{Combined eigenvector, using a linear combination of  the eigenvectors in Figure \ref{fig:3deigs} with weights determined during the 2D example. [{\bf CR}]}

\plot{3dbnd}{width=\textwidth,height=5in}{Zero-contour boundary corresponding to the combined eigenvector in Figure \ref{fig:comboeig}. The salt interface is accurately tracked on all three sections. [{\bf CR}]}


\section{Conclusions}
%
Seismic image segmentation using a single attribute is not always sufficient to produce an accurate salt boundary calculation, so the use of other attributes such as dip variability is often necessary. By combining information from different attributes, we hope to incorporate the most reliable information from each attribute into a single, improved segmentation result. While opportunities for such combinations exist at several stages of the segmentation process, the most promising method in 2D involves a linear combination of eigenvectors from individual attributes, weighted according to uncertainties derived from each eigenvector. In the examples here, this approach successfully incorporates useful information from two different attributes, while avoiding potential pitfalls of other methods. This method may be extended to three dimensions with the assumption that weight values are constant in the crossline direction; in the 3D example shown here, such an approach yields an improved eigenvector and accurate salt interface pick on a 3D seismic cube. While the constant-weights assumption is part of an early and somewhat primitive approach, the results here hold promise for the success of more sophisticated 3D image segmentations schemes.

\section{Acknowledgments}
We thank Phil Schultz (formerly at Unocal, now Chevron) for providing the field data used in these examples.




%Multiplying attribute volumes together has the effect of enhancing information common to all attributes, but overall gives an inferior result due to potentially useful information being destroyed. Combining eigenvectors from individual attributes is a second option, but a linear combination of eigenvectors requires the assignment of weight values to information from individual attributes. Such weights may be derived using an uncertainty measure calculated from the eigenvectors and the individual zero-contour boundaries. An eigenvector produced using weights calculated in this manner leads to a boundary that incorporates the best elements of individual attribute boundaries, without displaying erratic behavior that could arise from simply taking elements from individual boundaries on a point-by-point basis.


\bibliographystyle{seg} 
\bibliography{SEGMENT,SEP,MISC}


