1 Introduction

A TC is said to be a high-speed rotating storm, characterized by a low-pressure centre with a closed low-level atmospheric movement of winds which produces heavy rain [1,2,3,4]. This may cause natural disaster, death and loss of property. A matured cyclone develops a centre called Eye associated with a ring of high intensity winds around it. According to researchers about 90% of the damage is due to flood by sea water formed by high intensity winds [3, 4].

TC’s are observed from various observation centres worldwide [5]. Indian Meteorological Department (IMD) observes the tropical cyclones which are formed in the Arabian Sea (ARB) and Bay of Bengal (BoB) [5, 6]. The scale given in Table 1 [7] is used by IMD for cyclone classification.

Table 1 Cyclone classification

The World Meteorological Organization Tropical Cyclone Programme is assigned to set up national and regionally coordinated systems to check that the damage or loss caused by TC [5]. Intensity of TCs is measured from these centres by a specific scale known as tropical cyclone intensity scale [8]. Various other techniques are also established to predict the impact of a TC [9,10,11,12,13,14,15,16]. Dvorak technique [17] is a widely used method to detect cyclones using pattern recognition.

There are many techniques proposed by researchers towards intensity detection apart from Dvorak and modified Dvorak techniques [17,18,19,20]. Feature-based techniques [11, 12, 21, 22] are mostly focused on the geometric features of the TC images. Machine learning algorithms were introduced to solve many problems like image classification [12]. Earlier MLP algorithm used in order to predict the TC intensity [13, 14], but the approach proposed here depends on image based geometric features of TC. Intensity prediction using sea surface temperature is a popular method and many research works have been done in this area. A recent research attempt based on sea surface temperature is given in [23].

The TC eye detection is an important phase towards TC intensity detection [24]. TC eye is considered to be a unique area and is characterized by the cloud-free zone and is surrounded by thick cloud and weak wind [25]. Eye generally forms at the centre of Central Dense Overcast (CDO) region of storm and in most cases diameter of the Eye of a storm is about 10–50 km. In the Dvorak technique [17], the presence of eye in satellite images are used for approximation of TC intensity.

The proposed model here is used to train and test the feature values of TC images through multilayer perceptron (MLP). MLP is considered to be a supervised learning technique [26]. MLP is a class of feed forward artificial neural network and it consists of input layer, output layer and at least one hidden layer. In MLP each node treated as a neuron which follows a non-linear activation function except for input nodes. It uses a supervised learning procedure called backpropagation algorithm and used for training and testing of the model [22].

In this paper Sect. 2 describes the dataset. Section 3 describes the methods and implementation details of the proposed algorithm. Section 4 is devoted to results and discussion and Sect. 5 concludes the proposed work.

2 Datasets

TC images are collected from Institute of Meteorological Satellite Studies [27] and IMD [28]. The images were taken from satellite known as INSAT 3D, Kalpana1 and Meteosat-7 (Fig. 1). The complete dataset is divided into the three categories based on the intensity (Table 1).

Fig. 1
figure 1

TC image of ESCS and CS [27]

3 Methodology and implementation

There following steps are taken for model formulation and implementation:

  1. (a)

    Image recognition process

  2. (b)

    Pre-processing of TC images

  3. (c)

    Feature extraction from TC images

  4. (d)

    Training and testing through MLP

Block diagram of the proposed system is given Fig. 2.

Fig. 2
figure 2

Block diagram of proposed methodology

  1. (a)

    Collection of TC images

TC images are collected from the dataset mentioned in Sect. 2. Further, images are categorized based on various classes referred in Table 1.

  1. (b)

    Pre-processing of TC images

In the pre-processing step, images are cropped based on ROI. Here images of D, CS and ESCS are passes through Gaussian blur or Gaussian smoothing to remove the noise (Fig. 3).

Fig. 3
figure 3

Figure after the ROI detection

  1. (c)

    Features extraction from TC images

Mean (M), variance (V), density (D), decentricity (DC), area of cyclone (AC) and area of eye (AE) are extracted from a TC image. First, Centre of Gravity (CoG) needs to be calculated based on work done by Onodera [29] for finding the features such as mean, variance (V), density (D), decentrcity (DC) [10, 11, 29, 30]. The following formulas are used on image I of size m × n to calculate the CoG:

$${\mathrm{i}}_{\mathrm{cog}} = {{\left( {\mathop \sum \limits_{i = 1}^{m} \mathop \sum \limits_{j = 1}^{n} i*I_{ij} } \right)} \mathord{\left/ {\vphantom {{\left( {\mathop \sum \limits_{i = 1}^{m} \mathop \sum \limits_{j = 1}^{n} i*I_{ij} } \right)} {\left( {\mathop \sum \limits_{i = 1}^{m} \mathop \sum \limits_{j = 1}^{n} I_{ij} } \right)}}} \right. \kern-0pt} {\left( {\mathop \sum \limits_{i = 1}^{m} \mathop \sum \limits_{j = 1}^{n} I_{ij} } \right)}}$$
(1)
$${\mathrm{j}}_{\mathrm{cog}} = {{\left( {\mathop \sum \limits_{i = 1}^{m} \mathop \sum \limits_{j = 1}^{n} j*I} \right)} \mathord{\left/ {\vphantom {{\left( {\mathop \sum \limits_{i = 1}^{m} \mathop \sum \limits_{j = 1}^{n} j*I} \right)} {\left( {\mathop \sum \limits_{i = 1}^{m} \mathop \sum \limits_{j = 1}^{n} I_{ij} } \right)}}} \right. \kern-0pt} {\left( {\mathop \sum \limits_{i = 1}^{m} \mathop \sum \limits_{j = 1}^{n} I_{ij} } \right)}}$$
(2)

The parameters stated above are used further to find area of cyclone over original image (AC) and area of eye (AE) which are formulated exclusively for this work.

$${\mathrm{AC}} = \pi \times \left( {\mathrm{edmax}} \right)^{2}$$
(3)
$${\mathrm{AE}} = \pi \times \left( {{\mathrm{ed}}_{\mathrm{k}} } \right)^{2}$$
(4)
$$ed_{ij} = \sqrt {\left( {i - i_{cog} } \right)^{2} + \left( {j - j_{cog} } \right)^{2} }$$
(5)
$${\mathrm{M}} = \frac{1}{\mathrm{n}}\mathop \sum \limits_{{{\mathrm{k}} = 1}}^{\mathrm{n}} \frac{{{\mathrm{ed}}_{\mathrm{k}} }}{{{\mathrm{ed}}_{\mathrm{max} } }}$$
(6)
$${\mathrm{V}} = \frac{1}{{{\mathrm{n}} - 1}}\mathop \sum \limits_{{{\mathrm{k}} = 1}}^{\mathrm{n}} \left( {\frac{{{\mathrm{ed}}_{\mathrm{k}} }}{{{\mathrm{ed}}_{ \mathrm{max} } }} - {\mathrm{M}}} \right)^{2}$$
(7)
$${\mathrm{D}} = \frac{1}{{ \left( {\pi *{\mathrm{ed}}_{\mathrm{max} } } \right)^{2} }} \times \left( {\mathop \sum \limits_{{{\mathrm{i}} = 1}}^{\mathrm{m}} \mathop \sum \limits_{{{\mathrm{j}} = 1}}^{\mathrm{n}} {mathrm{c}}_{\mathrm{ij}} } \right)$$
(8)
$${\mathrm{DC}} = \frac{{{\mathrm{ed}}_{ \mathrm{min} } }}{{{\mathrm{ed}}_{ \mathrm{max} } }}$$
(9)

The Table 2 stated below summarises the features used for proposed work.

Table 2 Features of the TC image
  1. (d)

    Multilayer perceptron for training and testing:

MLP is an artificial neural network which is used to train and test the proposed model. MLP is a feedforward network with one or more hidden layers [31]. It uses backpropagation algorithm for finding the gradient (Fig. 4).

Fig. 4
figure 4

Architecture of multilayer perceptron [31]

In MLP the gradient is determined by the backpropagation algorithm. The change in weight is calculated by multiplying the gradient with the learning rate and added to the previous change in the weight multiplied by momentum. The standard formula for perceptron learning is given below:

$$\upsilon ({\mathrm{x}}) = \frac{1}{{1 + {\mathrm{e}}^{{ - {\mathrm{ax}}}} }}$$
(10)

The above-mentioned sigmoid function is used as an activation function where 0 < υ(x) < 1, a is a constant to control the activation function.

The error function for each unknown training pattern p is calculated based on following formula:

$${\mathrm{r}}_{\mathrm{p}} = \mathop \sum \limits_{i = 1}^{n} \left( {o_{ip} - t_{ip} } \right)^{2}$$
(11)

where rp is the error calculated based on output oip and target tip.

The purpose of backpropagation algorithm is to minimize the error gradually by adjusting the weight values.

$${\mathrm{w}}_{{({\mathrm{next}})}} = {\mathrm{w}} + \Delta {\mathrm{w}}$$
(12)
$$\Delta {\mathrm{w}} = \eta \times {\mathrm{G}} + \alpha \times \Delta {\mathrm{w}}_{{({\mathrm{previous}})}}$$
(13)

Here, η is learning rate 0 < η < 1, G is gradient and α stands for momentum factor 0 < α < 1.

4 Testing and result analysis

In this project we have used Octave GNU version 4.2.0 for the feature extraction whereas we have used Weka for the training and testing purposes and the version of Weka is 3.8.

  1. (a)

    Octave GNU

Octave GNU version 4.2.0 is open source software [32] used for feature extraction using image processing techniques.

  1. (b)

    Weka

Weka version 3.8 [33] is a collection of machine learning techniques for data mining and other activities. The feature values are used in Weka to train and test the model through MLP.

  1. (c)

    Discussion on results of MLP

The result of Multilayer layer perceptron (MLP) is comparable with other feature-based methods. Accuracy of MLP is approximately 84% in tenfold cross validation test. The test results in a 66% split in MLP is 83%, which is given in the Table 3.

Table 3 Summary of test results

Receiver operating characteristic curve (ROC) is a graphical representation of true positive rate (TPR) against the false positive rate (FPR). ROC curve is used to illustrate the diagnostic capability of a classifier. The following formulas are associated with ROC curve.

$$TPR = \frac{TP}{TP + FN}$$
(14)
$$TPR = \frac{FP}{FP + TN}$$
(15)

where true positive (TP), true negative (TN), false positive (FP), false negative (FN) (Table 4).

Table 4 (a) Summary of test results confusion matrix for test mode: tenfold cross-validation, (b) confusion matrix for test mode: 66% split

The ROC curves shown in Figs. 5 and 6 represent the performance of MLP in tenfold cross validation and 66% split. The performance of MLP in 66% spilt is better than tenfold cross validation.

Fig. 5
figure 5

ROC curves tenfold cross-validation (X axis FPR, Y axis TPR). a Class value: D area under ROC = 0.9005, b class value: ESCS area under ROC = 0.9446, c class value: CS area under ROC = 0.9136

Fig. 6
figure 6

ROC curves 66% split (X axis FPR, Y axis TPR). a Class value: D area under ROC = 0.9005, b class value: ESCS area under ROC = 0.9586, c class value: CS area under ROC = 0.9055

5 Conclusion

The MLP technique with geometric features turned out to be useful for the detection of cyclone intensity. In comparison with the conventional method like Dvorak Technique and other standard methods, this method works fine on ESCS, CS and D cyclones. The proposed method is completely based on images and its geometric property with accuracy around 84%. This proposed method is highly inspired by the work done on feature vectors of [10, 11]. The detection method is solely based on the images such as ESCS, CS and D which have been analysed in the results section. Below is a comparison made between other feature-based TC intensity detection techniques with our proposed method.

The other methods compared here (Fig. 7) are also tested on similar type of images and environment. Moreover, the number of images used here is greater than the work done in [10, 11]. The proposed method also compared with the work done by Pradhan et al. [12], where the performance of deep convolution network is varying from 80.66 to 95.47% and 76.91 to 92.55% depending upon datasets. The number of cyclone images of ESCS, CS and D classes is 379. The proposed work is restricted on ESCS, CS, and D type of images and to be extended further with other classes such as DD, ECS, and VSCS.

Fig. 7
figure 7

Comparison between various methods