Chaff Discrimination Using Convolutional Neural Networks and Range Profile Data
Chaff Discrimination Using Convolutional Neural Networks and Range Profile Data
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.
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.
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.