Small Targets in LADAR Images Using Fuzzy Clustering ... - CiteSeerX

1 downloads 0 Views 176KB Size Report
email: glim@destroyer.cs.uwf.edu [email protected]. Abstract. This paper describes an automatic target recognition system for detecting targets in ...
Small Targets in LADAR Images Using Fuzzy Clustering Sok Gek Lim and James C. Bezdek 

Computer Science Department University of West Florida 11000, University Parkway, Pensacola, FL, 32514 email: [email protected] [email protected]

Abstract

feature space. The prototypes generated for each class of objects by FCM are then manually labeled and subsequently used to classify an unknown object using a nearest prototype classi er (NPC). Section 2 describes the small target detection system for intensity LADAR images. Results are presented in Section 3 and our conclusions are o ered in Section 4.

This paper describes an automatic target recognition system for detecting targets in temporal sequences of intensity LADAR images. The system rst nds all objects in the images using a general method that is capable of nding both blobs and curves. Then features of the objects are extracted. Next fuzzy c-means is used to cluster the objects in feature space. Finally, prototypes generated for each class of objects are used to classify unknown objects using a nearest prototype classi er.

2 Small Target Detection System The small target detection system consists of three main modules: preprocessing, feature extraction and classi cation. Each module consists of several algorithmic procedures as shown in Figure 2.

1 Introduction This paper describes an automatic target recognition (ATR) system to detect small targets in LADAR images. Figure 1 is an example of an intensity LADAR image where the targets are indicated by white rectangles that were inserted manually. The image is 1022x148 pixels and cannot be tted onto the page without being reduced in size. We have manually cropped the image to avoid shrinking it so as to preserve its resolution. All processing was done on the entire original image. In Figure 1 the image contains six small targets. It also contains roads and other background objects. In this paper we describe a system that detects small targets and discards background objects such as roads and noise. The system nds all the objects in the image, then extracts the features of the objects, and then uses the feature vectors for classi cation. Most existing methods for nding objects are either region-based (blobs) or boundary-based (boundaries of the objects). In real images, however, objects can be a solid blob (small target) or a curve (road). This leads us to propose a more general method that is capable of nding both solid blobs and curves. In [1], a general approach was introduced to detect curves only. In this paper we extend the approach in [1] to cope with both blobs and curves. Next, we extract features using moments and other features derived from the moments. Fuzzy c-means (FCM) [2] is then used to cluster in the  Research supported by ONR Grant # N 00014-96-1-0642

2.1 Preprocessing Module The preprocessing module has two objectives: to detect the presence of objects and to reduce noise in the intensity image. There are two kinds of noise present in the image: speckle noise due to atmospheric and material properties; and banding noise due to a detector mismatch in the hardware. Frame di erencing is a standard method for detecting the presence of objects from a temporal sequence of images. This is done by comparing the pixel intensity values of two consecutive images. Pixels with a signi cant di erence are set to 255 (white), otherwise 0 (black). The input to this operation is a pair of intensity images I and I +1 and the output is a thresholded binary difference image, dI . The di erence image dI +1 (x; y) is de ned as:   if jI (x; y) ? I +1 (x; y)j >  dI +1 (x; y) = 255 0 otherwise (1) i

i

i;i

i

i;i

i

d

where 8x; y; 0  x < N , 0  y < M , I (x; y); I +1 (x; y) are the intensity values of pixel (x,y) of images i and i +1 respectively, dI +1 (x; y) is the intensity value of pixel (x,y) of the di erence image,  is a threshold, 0 <  . An unexpected result from frame di erencing is that the di erence image is almost free of banding noise which i

i

i;i

d

1

d

LADAR Intensity Image Sequence

Preprocessing Module Frame Differencing

Low Pass Filtering

Thresholding

Isolated Pixel Fills

Feature Extraction Module Local Data Modeling

Chunking

Classification Module FCM and NPC

Output

Figure 2: Block diagram of the small target detection system is present in the original image, but the speckle noise is still present. Therefore, the rest of the operations in the preprocessing module are aimed at removing speckle noise in the di erence image dI +1 . To remove the speckle noise which appears as small \white" spots from the image, we rst low pass lter the image and then apply thresholding. The low pass lter attenuates high frequency white spots, and thresholding separates the foreground from the background. The input to the low pass ltering operation is the binary di erence image dI +1 and the output is a grey-level de-speckled image dS . The de-speckled image dS (x; y), using a W xW mask, is de ned as: i;i

i;i

8x; y; W=2  x  (N ? (W=2)), W=2  y  (M ? (W=2)), 0 < W , W is odd, and (W=2 + 1) ? W , W ? (W=2 + 1) 2 Z + Figure 1: An example of the intensity LADAR image where the targets are indicated by white rectangles (manually inserted).

W

dS (x; y) =

2

?(X2+1) W=

?

r =(W=2+1)

W

?(X2+1) W=

?

W s=(W=2+1)

W2

dI (x + s; y + r)

W

(2)

The thresholding module operates on the de-speckled image dS to produce a binary image T1 de ned as:   if jdS (x; y)j >  T1 (x; y) = 255; (3) 0; otherwise where  is a threshold, 0   . t

t

t

The nal operation, isolated pixel lls, of the preprocessing module is to remove isolated pixel noise in T1, and produce a less noisy image T2 . If the center pixel in any 3x3 window has the opposite color to all its eight neighbours, then its color is changed. This is done by checking the eight nearest neighbours of every pixel centered in a 3x3 window, and replacing its value as follows:

8x; y; 0 < x < N; 0 < y < M; ?1  r; s  1 T2 (x; y) = 0

, T (x; y) = 255 &

T2 (x; y) = 255

,

1

T1(x + s; y + r) = 0 (a) (4) T1(x; y) = 0 & T1(x + s; y + r) = 255 (b)

An example of the di erence image at the end of the preprocesing module is shown in Figure 3. It contains objects from both input images.

2.2 Feature Extraction Module In order to extract features of the objects, we need to nd all the objects in T2. Instead of nding the objects using pixel intensities, we model the data via local (statistical) descriptors, then we nd objects by applying a chunking process to cluster the extracted descriptors. The two operations involved are local data modeling and chunking. The local data modeling operation transforms T2 into a set of local descriptors de ned on non-overlapping windows in the image. Speci cally, we use the spatial mean m of the set of white pixels within each window. The output of the local data modeling operation is a set of N  (real-valued) means, X = fm1;    ; m  g  R2 . An example of the image at the end of the local data modeling procedure is shown in Figure 4. The local data modeling process is summarized as follows:  scan the image from left to right and top to bottom;  let W = window centered at p of radius R1 ; n = # white pixels in W (see Figure 5); x = spatial coordinates of pixels in W  for the i-th window, W , compute the mean m Figure 3: An example of the image after preprocessing of the set of n white pixels in W as follows: module X m= x=n (5) N

p

Wp

p

p

pi

i

Wp

i

p

x2W pi

W pi

3

R1

(p)

R1

Figure 5: A window centered at p of radius R1 The chunking operation yields crisp clusters in the set of local descriptors X . Each cluster corresponds to one object. The input to the chunking process is the set of means, X = fm1;    ; m  g  R2 , and the output is a set of c objects that are a crisp c-partition of X . The chunking process proceeds as follows: N

Step 1: pick m from X Step 2: if m does not belong to a cluster, assign m to X , and remove m from X r

r

Repeat r

i

r

s = arg min d(m ; m ) 8m 2 X where d(m ; m ) is the Euclidean distance r

t

t

t

between m and m if d(m ; m ) <  , then append m to X and remove m from X , Until there is no d(m ; m ) <  Step 3: repeat Step 2 until X is empty r

t

r

s

r

t

E

s

i

s

r

s

E

Figure 6 illustrates the chunking process. There are 11 means labelled 1 to 11. The chunking algorithm will nd either one or two clusters depending on the value of  . The algorithm will nd c=2 objects (clusters) when d(m6 ; m9)   . In this case, means 1 to 7 belong to X1 and means 8 to 11 belong to X2 . If d(m6; m9) <  , all 11 means will be grouped into c=1 cluster. The output of chunking is a set of c objects, or a crisp c-partition of X , X = X1 [    X , X \ X = ;; i 6= j . The i-th object X is represented by n means, n = N  . E

E

E

c

i

j

c

i

i

i=1

The value of  implicitly determines the number of objects c extracted from X . The value of  is chosen as a function of the size of the window used to extract local descriptors. Given a local descriptor extracted from W , we regard local descriptors extracted from the eight Figure 4: An example of the image after local data mod- nearest neighbor windows from W as nearest neighbors. eling procedure Thus, the value of  should be set between 0 and T, as shown in Figure 7. E

E

p

p

E

The advantage of this technique is that it is capable of nding clusters that are solid blobs as well as curves 4

two classes of objects p pin the 3-D feature space composed of the triples ( 1 , 2 , ) extracted from each C .

X1 m3

m4 m 5 m6

2.3 Classi cation Module

m7

d( m 6 ,m 9 ) >

X2 m8

o i

m2

m1

The nal step in Figure 2 is the construction of a nearest prototype classi er (NPC) using p [2]. First FCM is p FCM applied to unlabeled data in ( 1 ; 2 ; ) space using di erent values of c. The prototypes generated for the two di erent classes (small targets, other) by FCM are rst relabeled using the manually derived label of the training data using the method described in [3]. The labeled prototypes are then used to classify unknown objects in new images with the nearest prototype classi er.

τE

m9 m

10

m11

Figure 6: Chunking Example

(1+2R1 )

(1+2R1 )

3 Results

T Wp

W0

W2

W1

Our data consists of temporal sequences of images. Each sequence contains 7 snapshots of a scene taken along the

ight path of the data collection platform. The experiment we discuss uses four sequences of images that contain small targets and roads. We used two sequences of images to generate the training data and tested the system on the other two sequences of images. p pThe features used to represent an object are ( 1 , 2 , ). The training set contains 12 sets (6 for each sequence) of three dimensional feature vectors from the two training sequences of images. The feature vectors are labeled manually and pooled into one set consisting of 127 labeled data. The value of the parameters of the di erent operations used were  = 24, W = 3,  = 115, R1 = 5,  = 25.0, d = Euclidean distance and R2 = 2. The parameter values of FCM are: c = 2, 5, 10, 15 and 20, m = 2.0 and  = 0.01. The FCM prototypes V0 for each run were initialized by uniform distribution along the diagonal of the hypercube of the training data. FCM was applied to the training data in the unsupervised mode (i.e., the manually derived crisp labels were ignored). Each run of FCM results in c unlabeled prototypes fv1 ;    ; v g  R3 . The manually derived training labels were then used with the prototype relabeling algorithm [3] to append class label to each v . In this experiment there are only 2 physical classes - small targets (ST) and not small targets (NST). Thus, when c for FCM was > 2, we used multiple prototypes. The best result we found is c = 20 which has 1 prototype for ST and 19 for NST. We then tested the system using the pooled features vectors generated from the two test sequences of images (these feature vectors were also labeled manually). The confusion matrix is shown in Table 1.

Figure 7: Three nearest neighbor windows, W0 , W1 , W2 of W . T is the distance between any two diagonally aligned windows. p

(boundaries of objects) in the same image, whereas most existing methods are either region-based (blobs) or boundary-based (shapes). An example of the di erence image at the end of the chunking module is shown in Figure 8. We indicate each object by an ellipse. The chunking process produces a set of c objects where the i-th object is form by a set of n means. To extract the features of object i, we use rst and second order central moments. Computing the rst and second order moments is equivalent to computing the mean m and the covariance matrix C of the set of means that form the i-th object. Other features such as the p p eigenvalues 1 ; 2 , the square roots of the eigenvalues 1 , 2 , the ratio of the eigenvalues or square roots of the eigenvalues of C , and the orientation angle of the object w.r.t. the x-axis from the major eigenvector u, can also be derived from m and C . An object may be represented by any combination of the features listed above. The shape of the small targets and roads suggests that the eigenvalues, the ratio of the eigenvalues and the orientation of each object might be sucient to discriminate small targets from roads. We veri ed this by visually inspecting the separability of the

d

i

o i

o i

E

c

i

o i

o i

t

o i

5

ST NST ST 18 0 NST 12 100 Table 1: A summary of small target detection.

4 Conclusion In this paper we presented a system that detects small targets from images that contain background objects such as roads. A general method is introduced to nd all the objects in the image. We next extract features that best characterize two classes of objects: small targets and roads. We then used FCM to generate prototypes of the two classes and then use them to classify unknown object based on a nearest prototype classi er. The error rate for the experiment discussed is 9.23 %. Given the nature of the data, the results are encouraging.

References [1] Lim, G and Alder, M. D. A non parametric approach for detecting lines and curves. In 1996 International Conference on Image Processing, volume 1, pages 837{840, Lausanne, Switzerland, September 1996. [2] Bezdek, J. C. Pattern Recognition with Fuzzy Objective Function Algorithms. Plenum Press, New York, 1981. [3] Bezdek, J. C. and Reichherzer, T. R. and Lim, G and Attikiouzel, Y. Mulitiple Prototypes Classi er Design. IEEE Transactions on Systems, Man, and Cybernetics, (in press), 1997.

Figure 8: An example of the image after preprocessing module; 6