You are on page 1of 5

Chaff Discrimination Using Convolutional Neural

Networks and Range Profile Data


Utku Kaydok
Roketsan Inc.
Ankara, Turkey
Email: ukaydok@roketsan.com.tr

Abstract—In this paper a method for chaff and ship The network both tested on MATLAB using Levenberg-
discrimination is discussed. The method uses one dimensional Marquardt algorithm and Python using Stochastic Gradient
range profile data for the input of the convolutional neural algorithm. Runtime of the network is also investigated on GPU
network (CNN). The classification results for the CNN running and CPU
on MATLAB and using Levenberg-Marquardt algorithm are
presented for a database composed of 3 types of ship and one II. THE NETWORK, TEST AND TRAINING DATA
type of chaff. This input database is corrupted with different
levels of sea clutter in order to conclude on the performance of A. CNN Layers
the CNN in different SCR conditions. The same CNN is also built The convolutional neural network class for MATLAB used
using Python with Tensorflow backend. The CNN is tested for in this paper is created by Mihail Sirotenko [1]. This class
the database corrupted with sea clutter having a Gaussian includes three main types of layers: subsampling,
spectral function on Python. Classification rates starting from convolutional and fully connected layers. The general layout
%87 for low SCR (5 dB) up to %99 for high SCR (20 dB) are of the network and flowchart is shown in Fig. 1. After the input
obtained for the ship and chaff database which are corrupted preprocessing, the network always starts with a subsampling
with sea clutter. layer followed by a convolutional layer. The number of
subsampling and convolutional layers can be adjusted by user.
Keywords—chaff, ship, convolutional neural networks, CNN,
chaff discrimination, target-chaff classification, K-distribution, sea
After subsampling and convolutional layers the network passes
clutter outputs to a fully connected layer which outputs the
classification result of the network. The number of fully
I. INTRODUCTION connected layers can also be set by the user.
Chaff is first used in World War II as a countermeasure for The CNN is trained using Levenberg-Marquardt algorithm
creating false targets to confuse radar operators. Today chaff is [2], [3]. The first version of Levenberg-Marquardt algorithm is
mostly used for distracting radar and IR guided missiles and proposed by Levenberg as:
dispensed by aircrafts or ships as a radar and EO
countermeasure. Chaff used against radar and radar guided = −( + ) ∇ ( ) 
missiles consists of small strips of metal sheets (generally
aluminum) covered with glass whose wavelength is where ∇ is the gradient of function to minimise, is the th
proportional to a particular threat RF emitter. Chaff by having element of vector , is hessian matrix evaluated at ,
low production cost and easy operational use, is still a very identity matrix and is the scale parameter.
valuable countermeasure against radars and radar guided
missiles. In (1) if the value of is very large, the contribution of the
hessian matrix is dramatically decreases. In order to avoid this,
Convolutional Neural Networks are a type of deep feed- Marquardt proposed a different approach, replacing the identity
forward artificial neural networks, composed primarily of matrix with the diagonal of the Hessian matrix which resulted
convolutional, subsampling (pooling) and fully connected the Levenberg-Marquardt algorithm:
layers. The CNNs are successfully used on images for
recognition of objects or classification of different classes
= −( + ( )) ∇ ( ) (2)
objects with very high performance. In this paper, the CNN is
used on one dimensional range data, to classify between chaff
Equation (2) ensures larger steps in the direction with low
and ship.
curvature and small steps in the direction with high curvature
Database composed of range profiles of one chaff type on since Hessian is proportional to the curvature of .
different blooming stages (early and late chaff), and three
different ship types measured in different aspect angles is put
together. This database is used to train the proposed CNN
network. The database furthermore corrupted with different
levels of sea clutter and the performance of the network is
tested on various levels of sea clutter. Fig. 1. Building blocks and flowchart of CNN on MATLAB.

978-1-7281-6813-5/20/$31.00 ©2020 IEEE 373


Authorized licensed use limited to: J.R.D. Tata Memorial Library Indian Institute of Science Bengaluru. Downloaded on September 21,2023 at 23:19:26 UTC from IEEE Xplore. Restrictions apply.
Fig. 2. Proposed network and its layers.

The network proposed for this classification is composed of 2


subsampling, 3 convolutional and 2 fully connected layers
(Fig. 2). Convolutional kernels are selected as 17x1, 12x1 and
5x1 vectors, subsampling ratios are 4 and 2, the first fully
connected layer consists of 16 neurons and final fully
connected layer outputs the classification result with 2 neurons.
B. Test and Training Data
The test and training data are extracted from measurements
of 3 types of ships and 1 chaff type. The ship types are fishing
vessel (20 meters length, 5 meters breadth, 1.5 meters draft),
frigate (130 meters length, 13 meters breadth, 8 meters draft)
and patrol boat (62 meters length, 8 meters breadth, 2.5 meters
draft). The ship data are collected from poop and larboard of
the ships. The chaff data is related to one type of chaff in
different blooming stages of chaff. The blooming stages of Fig. 4. Chaff profile for ”late chaff”.
chaff included in chaff database are labeled as early and late The data collection is done by a system operated in Ku
chaff. Early chaff data includes the chaff profile data collected band with horizontal polarization. The measurement system is
between 0th and 30th second of chaff bloom (Fig. 3) while late placed on a platform that is 15 meters above sea surface. The
chaff data includes chaff profile data from 30th second and later background was calm sea (0.1-0.5 meters waves, moderate
(Fig. 4). The measurements for the chaff are done in way that wind) with sea state around 2 in Douglas Sea State scale.
the data contains no ship component.
The data is preprocessed to have zero mean and unity
variance before it is fed to the network. Also the chaff and ship
data are randomly shuffled and two separate dataset of equal
size is formed for the testing and training of the network
C. Classification Results
5000 test and 5000 training data are fed into the
convolutional neural network. The network ran for 30 epochs.
The misclassification rate (MCR) for two class classifications
(chaff and ship) during training is around %1 (Fig. 5).The error
function aimed to be minimized is mean squared error.
The network, furthermore, tested with a dataset built up
with a separate data that is not used in training or testing of the
network. This time only forward pass of the dataset on the
CNN network is performed. Classification rate of %99.8 is
achieved with a random test dataset of 40000 samples of chaff
and 40000 samples of ship. The speed of the network is also
Fig. 3. Chaff profile for ”early chaff”.
investigated.

374
Authorized licensed use limited to: J.R.D. Tata Memorial Library Indian Institute of Science Bengaluru. Downloaded on September 21,2023 at 23:19:26 UTC from IEEE Xplore. Restrictions apply.
K-distributed random variable defined with (3) for = 1 and
= 1 is shown in Fig. 6 and Fig. 7.

Fig. 5. RMSE (root mean squared error) and MCR (misclassification rate
plots of the Network.

For every forward pass, the elapsed time is stored and an


Fig. 6. K-distributed random variable with = and = .
average run time of the network is calculated over 40000
samples. The average run time of the network is found to be
4.574 ms. for Intel(R) Core(TM) i7 4810MQ CPU at 2.8 GHz
on MATLAB.
III. PERFORMANCE OF THE NETWORK ON DIFFERENT SIGNAL
TO CLUTTER LEVELS
Although the collected data has clutter components, since
the sea state was very low during measurements, it was far
from creating corruptive effect on the collected signal.
Therefore measured data is artificially corrupted with sea
clutter and the performance of the network on different sea
clutter conditions is investigated.
A. Sea Clutter Generation
Determining the amplitude characteristics of sea clutter Fig. 7. Histogram of K-distributed random variable with = and = .
plays an important role defining a realistic clutter model. There Furthermore spectral distribution of the clutter is modelled.
are different models to define the amplitude characteristic of There are different alternatives for modelling the Doppler
sea clutter. Some popular distribution models include Rayleigh, spectrum of the clutter [10], [11], [12], [13]. The models either
Log-Normal and K-distribution. Previous works on these assumes a Gaussian or non-Gaussian line shapes for the basis
distribution showed that K-distribution is more reliable for use function of the Doppler spectrum. In this paper a Gaussian
in low grazing angle situations where the transmitted and shaped Doppler spectrum is applied to create sea clutter as
received in horizontal polarization. It is also shown that K- discussed in [11], [12] and [13]. The Gaussian base function to
distribution produce reasonable fits to measured sea clutter shape the Doppler spectrum is defined as following:
statistics [4], [5], [6], [7], [8], [9].
The probability density function of the K-distribution used
to produce clutter data is defined as: ( )= , (5)

( )= ( ) (2 ) (3) where stands for Doppler bandwidth and stands for


( )
Doppler shift. Time domain and frequency domain
where Γ( ) is gamma function, is a shape parameter, c is a visualization of clutter data with two different shape functions
scale parameter, is th order modified Bessel function of for the spectral distribution is shown in Fig. 8 and Fig. 9. Fig.
second kind. When (3) used, the mean clutter power is defined 8 shows a sea clutter data with flat spectral distribution and
as: Fig. 9 shows a sea clutter data with Gaussian spectral
distribution having spectral bandwidth =0.5 and no Doppler
= (4) shift ( = 0).

The shape parameter defines the spikeness of the sea


clutter. When the value of shape parameter is small, sea clutter
becomes spikier, when value of parameter is big, sea clutter
becomes less spiky. The histogram and amplitude values for a

375
Authorized licensed use limited to: J.R.D. Tata Memorial Library Indian Institute of Science Bengaluru. Downloaded on September 21,2023 at 23:19:26 UTC from IEEE Xplore. Restrictions apply.
dataset with Gaussian spectral function. Classification rate
increases to %87.71 for the input dataset of 5dB SCR level
with Gaussian spectral function. For 7 dB SCR, classification
rate increases to %97.89 and for 10 dB SCR, classification rate
increases to %98.64.
Classification rates for the dataset with constant spectral
function are around %99, they only drop down to %98 when
the SCR level is 5 dB.
C. Performance of CNN on Python
Fig. 8. Time and frequency domain plots of flat spectrum sea clutter data. MATLAB CNN class which is used in previous sections only
allows us using the CPU so it is decided to use Python which
allows us utilizing GPU. Since Python allows us utilizing GPU,
the run time performance of the CNN could be compared for
both CPU and GPU. The same CNN is formed in Python using
Keras and Tensorflow as the backend.
TABLE I. CLASSIFICATION RATES FOR D ATASET CLUTTERED WITH FLAT
SPECTRAL FUNCTION (TRAINING DATASET: UNCLUTTERED).
Clutter Parameters Classification
Rate
SCR Spectral Func.
20 dB 1 Constant %99.13
Fig. 9. Time and frequency domain plots of sea clutter with Gaussian
spectrum function. 10 dB 1 Constant %98.03
B. Performance of MATLAB CNN for Different SCR 7 dB 1 Constant %94.02
Chaff and target data obtained with measurements are 5 dB 1 Constant %82.16
corrupted with sea clutter with different clutter power to test
different signal to clutter ratio levels. Sea clutter amplitude is TABLE II. CLASSIFICATION RATES FOR DATASET CLUTTERED WITH GAUSSIAN
formed as K-distribution and the power of the sea clutter is SPECTRAL FUNCTION. (TRAINING DATASET: UNCLUTTERED).
controlled with (4). Spectral properties of sea clutter are Clutter Parameters Classification
defined by (5). Rate
SCR Spectral w
Dataset having 20dB, 10 dB, 7 dB and 5 dB SCR levels are Func.
produced and tested on the CNN. Cluttered dataset is formed
from corrupting the original dataset with K-distributed sea 20 dB 1 Gaussian 0.5 0 %99.09
clutter having constant spectral function. A dataset of 5000
10 dB 1 Gaussian 0.5 0 %91.62
samples of chaff and 5000 samples of ships for each of four
different SCR levels are produced for the test. These test 7 dB 1 Gaussian 0.5 0 %63.96
samples are applied on the CNN trained with uncluttered data.
TABLE I shows the clutter parameters and classification rates. 5 dB 1 Gaussian 0.5 0 %12.62
Classification rate of %99.13 is achieved for 20 dB SCR.
Classification rate drops down to %82.16 for 5 dB SCR. TABLE III. CLASSIFICATION RATES FOR THE CNN TRAINED WITH CLUTTERED
DATA WITH GAUSSIAN SPECTRAL FUNCTION
Same SCR levels are also tested with a dataset corrupted Clutter Parameters Classification
with clutter having a Gaussian spectral function. Again, the Rate
CNN trained with uncluttered data is used for testing on these SCR Spectral w
test samples The classification rate is almost same for 20 dB Distr.
SCR but the rate drops to %91.62 for 10 dB SCR and %63.96 20 dB 1 Gaussian 0.5 0 %99.51
for 7 dB SCR. The classification rate for 5 dB SCR
dramatically drops down to %12.62 (TABLE II). 10 dB 1 Gaussian 0.5 0 %98.64
The CNN trained with uncluttered data performs well on 7 dB 1 Gaussian 0.5 0 %97.89
low clutter environments but its performance falls short on
5 dB 1 Gaussian 0.5 0 %87.71
high clutter environment. Training is repeated with the dataset
having Gaussian spectral function and 5 dB SCR level. This 20 dB 1 Constant - - %99.57
trained network is then applied on the dataset with Gaussian
and flat spectral function having 5 dB, 7 dB, 10 dB and 20 dB 10 dB 1 Constant - - %99.25
SCR levels. The classification results are shown in TABLE III. 7 dB 1 Constant - - %98.42
Low SCR classification performance of the network 5 dB 1 Constant - - %98.01
dramatically increases for the network trained on the cluttered

376
Authorized licensed use limited to: J.R.D. Tata Memorial Library Indian Institute of Science Bengaluru. Downloaded on September 21,2023 at 23:19:26 UTC from IEEE Xplore. Restrictions apply.
TABLE IV. CLASSIFICATION RATES FOR THE CNN TRAINED WITH have to be made for Python training algorithm to increase the
CLUTTERED DATASET (PYTHON) classification rate on higher SCR levels. Training of the
Clutter Parameters Classification network with a broader database consisting of different levels
Rate of SCR could also be beneficial for increasing the high SCR
SCR Spectral w
Func. classification rates.

20 dB 1 Gaussian 0.5 0 %97.23 The runtime of the CNN is a crucial measure since these
algorithms aimed to be run without intervening the runtime of
10 dB 1 Gaussian 0.5 0 %97.22 the overall system algorithm in time critical missions. The
runtime of the CNN is around 4.5 ms on MATLAB using
7 dB 1 Gaussian 0.5 0 %97.14 Intel(R) Core(TM) i7 4810MQ CPU at 2.8 GHz. The runtime
5 dB 1 Gaussian 0.5 0 %93.56 of the network on GPU is far better as expected. The runtime
of the network on Python using CUDA enabled Nvidia Quadro
The CNN built on Python is composed of 2 subsampling, 3 K1100M GPU which has a compute capability level of 3 is 88
convolutional and 2 fully connected layers as the case in μs. The complexity of the network directly impacts the runtime
MATLAB (Fig. 2). It uses mean squared error as the loss of the network. The detailed work on optimizing the number of
function and Stochastic Gradient Descent algorithm for the layers or size of convolutional kernels has yet not been
training of the network. performed. It is believed that further improvements can be
done on runtime of the network considering the tradeoffs
The CNN is trained with cluttered dataset having Gaussian between classification rate and network complexity.
spectral function. The classification rate results are shown in
TABLE IV. The results for the 5 dB SCR level (%93.56) is REFERENCES
better compared to MATLAB CNN (%87.71), 7 dB and 10 dB [1] M. Sirotenko, CNN - Convolutional neural network class
results (%97.14 and %97.22 respectively) are slightly worse (https://www.mathworks.com/matlabcentral/fileexchange/24291-cnn-
than MATLAB results (%97.89 and %98.64 respectively). The convolutional-neural-network-class), MATLAB Central File Exchange.
Retrieved September 1, 2018.
20 dB SCR results (%97.23) are worse compared to MATLAB
[2] K. Levenberg, “A method for the solution of certain problems in least
results (%99.51). squares”, Quart. Appl. Math., vol. 2, pp. 164–168, 1944.
Furthermore, some runtime tests are applied on the CNN. [3] D. Marquardt, “An algorithm for least-squares estimation of nonlinear
The average runtime of the CNN on GPU is tested over parameters,” SIAM J. Appl. Math., vol. 11, pp. 431–441, 1963.
140000 samples. The runtime of the network is found to be 88 [4] X.-Y. Hou and N. Morinaga, “Detection performance in K-distributed
and correlated Rayleigh clutters”, IEEE Trans. AES, vol. 25, no. 5, pp.
μs on Nvidia Quadro K1100M GPU. This is around 50 times 634-641, September 1989.
better than the runtime of the network with MATLAB on CPU.
[5] H. C. Chan, “Radar sea clutter at low grazing angles”, IEE Proc., vol.
137, no. 2, pp. 102-112, April 1990.
IV. CONCLUSIONS
[6] W. J. Szajnowski, “Generation of correlated log-normal clutter
In this paper a CNN model which uses range profile data is samples”, Electronic Letters, vol. 12, no. 19, pp. 497-498, September
proposed for discrimination of naval chaff from ships. The 1976.
CNN model is trained with a database consists of chaff and [7] I. J. Marier, “Correlated K-distributed clutter generation for radar
ship data. The database used in this work includes range detection and track,” IEEE Trans. AES, vol. 31, no. 2, pp. 568-580,
April 1995.
profiles of one chaff type in different chaff evolution stages
and three different ship types with several aspect angles to the [8] C. J. Baker, “K-distributed coherent sea clutter”, IEE Proc., vol. 138, no.
2, pp. 89-92, April 1991.
radar. Classification rate of %99 is achieved for the CNN using
[9] K. D. Ward, C. J. Baker, S. Watts, “Maritime surveillance radar Part 1:
MATLAB on this database. This database which has more than Radar scattering from ocean surface”, IEE Proc., vol. 137, no. 2, pp. 51-
20 dB SCR is corrupted with different levels of sea clutter. The 62, April 1990
classification rates of the CNN for the database corrupted with [10] K.D. Ward, R. J. A. Tough and S. Watts, Sea clutter: Scattering, the K-
sea clutter having Gaussian function ranges from %87 to %99 distribution and radar performance, The Institution of Engineering and
on MATLAB (TABLE III.). The mean runtime of the network Technology, London, UK, 2006
on CPU with MATLAB is around 4.5 ms. The classification [11] D. Walker, "Doppler modeling of radar sea clutter," IEE Proc. on Radar,
rates of the CNN for the database corrupted with sea clutter Sonar and Navigation, vol. 148, no. 2, pp. 73-80, April 2001
having Gaussian function ranges from %93 to %97 on Python [12] D. Walker, "Experimentally motivated model for low grazing angle
radar Doppler spectra of the sea surface, "IEE Proc. on Radar, Sonar and
which uses Gradient Descent algorithm. The classification rate Navigation, vol. 147, no. 3, pp. 114-120, June 2000
for the CNN on Python (%93) for the low SCR (5dB) is better
[13] P. H. Y. Lee, et al., "Powener spectral lineshapes of microwave radiation
compared to MATLAB (%87). But the classification rate of backscattered from sea surfaces at small grazing angles," IEE Proc. on
CNN on Python (%95) is lower in high SCR (20 dB) compared Radar, Sonar and Navigation, vol. 142, no. 5, pp. 252-258, Oct. 1995.
to CNN on MATLAB (%99). This suggests that further tweaks

377
Authorized licensed use limited to: J.R.D. Tata Memorial Library Indian Institute of Science Bengaluru. Downloaded on September 21,2023 at 23:19:26 UTC from IEEE Xplore. Restrictions apply.

You might also like