1 Introduction

The rotary kiln oxidized pellet sintering industrial process involves mass transfer, heat transfer and complex chemical reactions. The control of the modern pellet palletizing process is very complex, and it relates to a large number of physical parameters such as temperature, pressure, speed and flow rate, and many other factors including the physical changes and chemical reactions as well as the distribution of gas in the solid material layers[1].For a long time, the control strategy of the rotary kiln palletizing process is half automation by relying on the operating workers’ experience about fire. Because the control performances are susceptible to the operating workers’ subjective factors, it is difficult to ensure long-term stable and qualified product quality. It is important to stabilize the rotary kiln sintering process and improve the pulverized coal combustion efficiency by recognizing the pulverized coal combustion working conditions in the rotary kiln using digital image processing technique.

Inspired by the operation mode of watching fire, and close relationship between the rotary kiln combustion working conditions[1] and the flame images, many scholars carried out researches on working condition recognition and temperature detection by analyzing the flame images in the rotary kiln sintering process. Li et al.[2] proposed a neural network control system for rotary kiln based on flame image feature, which adopted a visual inspection system to identify rotary kiln with a flame burning, including flame image acquisition, preprocessing, segmentation, feature extraction and recognition. Szatvanyi et al.[3] studied the combustion related variables and prediction of product quality based on the flame digital RGB images and multivariate image analysis (MIA) technology. Li et al.[4] proposed a second simulation method based on a clustering image processing and pattern recognition method. Jiang et al.[5] proposed an improved sintering state identification method, which included image preprocessing, image segmentation, feature extraction based on integration of image processing methods and the support vector machine (SVM) theory. The simulation results showed that the multi-level SVM recognition rate was 93.89%, while the back propagation (BP) neural network recognition rate was 65%. Zhang et al.[6] proposed a flame image description method based on Fourier transform and used artificial neural network and the SVM to realize flame image recognition. Sun et al.[7] proposed a machine identification method for the firing zone status based on the flame image features and the key process data fusion. Yuan et al.[8] proposed an improved ART-2 clustering decomposition algorithm to identify the rotary kiln working conditions by using information fusion technology. Sun et al.[9] proposed an image FCM segmentation method based on the image gray values and texture roughness characteristics.

Based on the texture features of the pulverized coal combustion flame images in the rotary kiln oxidized pellet sintering process, the paper proposed a kernel principal component analysis and generalized learning vector (KPCA-GLVQ) working condition recognition method. Experiments showed that the method achieved good results in the execution speed and recognition accuracy.

2 Recognition strategy

The block diagram of the rotary kiln combustion condition recognition system is shown in Fig. 1. Firstly, the 14 texture parameters of the combustion flame image based on the grey-level co-occurrence matrix (GLCM) are calculated to describe the visual features of the flame image. Then in order to reduce the target dimension and the size of the GLVQ neural network, the KPCA method is used to realize the dimension reduction of the high dimensional input vector composed of the normalized texture features data. Finally, the GLVQ network is used to recognize the rotary kiln combustion working conditions.

Fig. 1
figure 1

Block diagram of rotary kiln combustion conditions recognition system

3 Texture features extraction

3.1 Grey-level co-occurrence matrix

The statistical characteristics of the combustion flame image texture variables of the rotary kiln can reflect the working conditions of the pulverized coal combustion. The grey-level co-occurrence matrix (GLCM) is an important method to analyze the image texture features based on the second combination condition probability density function of the estimated image[10, 11]. Fig. 2 is a GLCM schematic diagram, where i and j denote the gray scale of the corresponding pixel.

Fig. 2
figure 2

Grey-level co-occurrence matrix

GLCM means the simultaneous occurrence probability P(i, j, δ,δ) of two pixels. They are the pixel with gray scale i from the image f(x, y) and thepixel (x + Δx, y + Δy) with gray scale j, declination θ and distance δ.Themathematical formula is

$$\matrix{{P(i,j,\delta ,\theta) = \{ [(x,y),(x + \Delta x,y + \Delta y)]|f(x,y) = i,} \hfill \cr {f(x + \Delta x,y + \Delta y) = j;x = 0,1, \cdots ,{N_x} - 1;} \hfill \cr {y = 0,1, \cdots ,{N_y} - 1\} } \hfill \cr }$$
(1)

where i, j = 0, 1, ⋯, L − 1, x and y are the coordinates of the image pixel, L is the image gray level, N x and N y represent the numbers of columns and rows of the image. Haralick et al.[12] proposed 14 GLCM based texture parameters (f 1f 14): angular second moment (ASM), contrast, correlation, sum of squares (SS), sum average (SA), inverse difference moment (IDM), entropy, sum variance (SV), sum entropy (SE), difference entropy (DE), difference variance (DV), maximum correlation coefficient (MCC) and information measures of correlation (IOC), whose calculation equations are shown in Table 1.

Table 1 Grey-level co-occurrence matrix

This paper adopts four methods (GLCM_Features 1, GLCM_Features 2, GLCM_Features 3 and GLCM_Features 4) to calculate the GLCM based combustion flame image texture parameters. The experimental results of the time complexity are shown in Fig. 3. It can be seen from Fig. 3 that the GLCM_Features 4 method has the shortest time. The combustion flame image texture parameters can be used to reflect the rotary kiln sintering working conditions, which are divided into the complete combustion (represented by 1) and incomplete combustion (represented by 0). The paper utilizes the formulas in Table 1 and GLCM_Features 4 method to calculate the texture features of 100 combustion flame images. The results are shown in Table 2.

Fig. 3
figure 3

Grey-level co-occurrence matrix

Table 2 GLCM based texture parameters of flame images

3.2 Dimension reduction of flame image texture features based on KPCA

The kernel principal component analysis (KPCA) method is used to reduce the dimensionality of the high-dimensional input vector[13, 14]. The KPCA analysis is carried out on the combustion flame image texture features to reduce the dimensionality of the high-dimensional input vector, whose basic principle is described as follows[15, 16].

Given a sample set x i (i = 1, 2, ⋯,M) and x i R N, the nonlinear mapping relation is given as

$$\varphi :{{\bf{R}}^N} \rightarrow F\quad x \rightarrow \varphi (x).$$
(2)

So sample x i is mapped to φ(x i ). Then the covariance matrix of the new sample space is calculated according to

$$R = {1 \over M}\sum\limits_{i = 1}^M {\varphi \left({{x_i}} \right)} {x_i}^{\rm{T}}.$$
(3)

The eigenvalue decomposition is carried out according to

$$\lambda Q = RQ$$
(4)

where λ (λ > 0) is the eigenvalue of R,and Q is the corresponding eigenvector. Multiplying both sides of (4) by φ(x i ), we obtain

$$\lambda \left({\varphi \left({{x_i}} \right)\cdot Q} \right) = \left({\varphi \left({{x_i}} \right)\cdot RQ} \right),\ \ i = 1,2, \cdots ,M.$$
(5)

And coefficient α i (i = 1, 2, ⋯, M) exists such that the following equation holds.

$$Q = \sum\limits_{i = 1}^M {{\alpha _i}\varphi \left({{x_i}} \right)} .$$
(6)

By combining the above two equations, matrix K(M × M) is defined as

$$\matrix{{\lambda \sum\limits_{i = 1}^M {{\alpha _i}\left({\varphi \left({{x_k}} \right),\varphi \left({{x_i}} \right)} \right)} = } \hfill \cr {{1 \over M}\sum\limits_{i = 1}^M {{\alpha _i}\left({\varphi \left({{x_k}} \right),\sum\limits_{j = 1}^M {\varphi \left({{x_j}} \right)} } \right)\left({\varphi \left({{x_j}} \right),\varphi \left({{x_i}} \right)} \right)} } \hfill \cr }$$
(7)
$${K_{i,j}} = \left({\varphi \left({{x_i}} \right)\varphi \left({{x_j}} \right)} \right) = K\left({{x_i},{x_j}} \right).$$
(8)

Set α as the corresponding eigenvector of the kernel matrix K. Then

$$K\alpha = M\lambda \alpha $$
(9)

where α = (α 1, α 2, …, α M )T.

Assume that the solution of (9) is \({\lambda _1} \geqslant {\lambda _2} \geqslant \cdots \geqslant {\lambda _p} \geqslant \cdots \geqslant {\lambda _M}\). λ P is the last non-zero eigenvalue, whose corresponding eigenvector is (\(\alpha _1^k\), ⋯, \(\alpha _1^p\), ⋯ \(\alpha _M^k\)). Then the eigenvector of F is normalized according to

$$\left({{Q^k}\cdot{Q^k}} \right) = I,\quad k = 1,2, \cdots ,p.$$
(10)

Putting \(Q = \mathop \sum \nolimits_{i = 1}^M \,\alpha \varphi ({x_i})\) and \({K_{ij}} = (\varphi ({x_i})\varphi ({x_j}))\) into (10) leads to

$$\matrix{{I = \sum\limits_{i,j = 1}^M {\alpha _i^k\alpha _j^k\left({\varphi \left({{x_i}} \right)\varphi \left({{x_j}} \right)} \right)} = \sum _{i.j = 1}^M\alpha _i^k\alpha _j^k{K_{ij}} = } \hfill \cr {{\alpha ^k}K{\alpha ^k} = {\lambda _k}\left({{\alpha ^k}\cdot{\alpha ^k}} \right),{\rm{ }}k = 1,2, \cdots ,p.} \hfill \cr }$$
(11)

The principal component of a new sample x i is obtained by mapping sample φ(x)of F into Q k, which is described by

$${Q^k}\varphi \left(x \right) = \sum\limits_{j = 1}^M {\alpha _j^k\left({\varphi \left({{x_i}} \right)\varphi \left(x \right)} \right)} = \sum\limits_{j = 1}^M {\alpha _j^kK\left({{x_j},x} \right)} .$$
(12)

For the sake of simplicity, \(\hat K = K - {I_M}K - K{I_M} + {I_M}K{I_M}\) is used to substitute kernel matrix of all mapping samples, among which \({({I_M})_{ij}} = {1 \over M}\). The paper adopts Gaussian function as the KPCA kernel function, which is described as

$$K\left({{x_j},x} \right) = {{\rm{e}}^{ - {{{{\left| {{x_j} - x} \right|}^2}} \over {{\sigma ^2}}}}}.$$
(13)

Based on the aforementioned, the procedure of KPCA algorithm is described as

  1. 1)

    Calculate kernel matrix \({\hat K}\).

  2. 2)

    Calculate eigenvalues and eigenvectors of kernel matrix \({\hat K}\).

  3. 3)

    Sort eigenvalues in the descend order; assume \({\lambda_1}\geqslant{\lambda_2}\geqslant \cdots \geqslant {\lambda _M}\); calculate the contribution ratio by (14) to decide the number of the extracted character information ø(}P})

    $$\phi \left(p \right) = {{\sum\limits_{i = 1}^p {{\lambda _i}} } \over {\sum\limits_{i = 1}^M {{\lambda _i}} }}.$$
    (14)
  4. 4)

    The eigenvectors in accordance with the previous p (1 p ≼ M) biggest eigenvalues are normalized according to (11).

  5. 5)

    Calculate a new principal component by (12).

The GLCM based texture parameters of flame images are carried out by kernel principal component analysis, whose results are described in Table 3. It can be seen that the contribution ratio of the previous 5 principal components already exceed 85 %. Thus, the principal components obtained by the KPCA on the original variables data are the input variables of the GLVQ neural network model, which not only reserves the character information of original variables, but also simplifies the network scale of GLVQ neural network.

Table 3 Contribution rates of principle components

4 Working condition recognition

4.1 Training of LVQ neural network

The learning vector quantization (LVQ) neural network is a self-organizing neural network model with the supervised learning strategy proposed by Kohonen[17, 18].The LVQ neural network is composed of three layers of neurons, namely input layer, hidden layer (competitive layer) and output layer. The network structure is shown in Fig. 4.

Fig. 4
figure 4

Structure diagram of LVQ neural network

In the training procedure, x p is the p-th training vector, T p is the belonged category of x p , C j is the belonged category of j-th output neuron, and the cluster number is n. Thus the training steps of the competition layer weights are described as follows:

  • Step 1. Initialize the competitive layer weight vectors W = {w 1, w 2, ⋯, w n }, the learning ratio ŋ ∈ [0, 1], the number of iterations n, and the total iteration number N.

  • Step 2. Execute (1) and (2) for each vector x p in the training set.

  1. 1)

    Calculate the distance between each sample xp and the clustering center, and find the cluster center k with the minimum distance to obtain the winning neuron by \(\Vert{w_k} - {x^p}\Vert < \Vert{w_j} - {x^p}\Vert,\,(j = 1,2,\, \ldots ,n)\).

  2. 2)

    Revise the weights by the following equations.

    $$\matrix{{W_{ij}^{{\rm{new}}} = W_{ij}^{{\rm{old}}} + \eta \>({x_i} - W_{ij}^{{\rm{old}}}),\>\>\>\>\>\>{\rm{Right}}\>\>{\rm{classification}}} \hfill \cr {W_{ij}^{{\rm{new}}} = W_{ij}^{{\rm{old}}} - \eta \>({x_i} - W_{ij}^{{\rm{old}}}),\>\>\>\>\>\>{\rm{False}}\>\>{\rm{classification}}.} \hfill \cr }$$
    (15)
  • Step 3. The learning rate ŋ is updated by

    $$\eta = {\eta _0}\left({1 - {n \over N}} \right).$$
    (16)
  • Step 4. Check the termination condition. If n is smaller than N, return to Step 2, otherwise terminate the training procedure.

4.2 GLVQ neural network

The LVQ algorithm has two drawbacks: 1) there are underutilized neurons; 2) the information between the input samples and the competition units are wasted[19].So, Pal et al.[20] proposed a generalized learning vector quantization (GLVQ) network. For a given input vector, the GLVQ algorithm updates all neurons weights in the competitive layer. Given n samples, the feature space is p dimensional, namely X = {X 1, X 2, ⋯, X n }, where i represents the notation of the optimal matched neuron. The loss function L x is defined as

$${L_x} = L(X;{W_1},{W_2}, \cdots ,{W_c}) = \sum\limits_{r = 1}^c {{g_{ir}}{{\left\| {X - {W_r}} \right\|}^2}} $$
(17)
$$g_{ir} = \left\{ {\begin{array}{*{20}c} {1,} & {r = 1} \\ {\frac{1} {{\sum\limits_{j = 1}^c {\left\| {X - W_j } \right\|^2 } }},} & {r \ne 1} \\ \end{array} } \right.$$
(18)

where c is the number of categories.

The purpose of the GLVQ learning algorithm is to find the c cluster centers W r . Then the set W = {W r } makes the expected value Γ(W) of the loss function L x calculated by (19) minimum. The gradient descent algorithm can be utilized to solve this optimization problem.

$$\Gamma (W) = {{\sum\limits_{k = 1}^n {\sum\limits_{r = 1}^c {{g_{ir}}{{|| {{X_k} - {W_r}} ||}^2}} } } \over n}.$$
(19)

The procedure of the GLVQ learning algorithm can be summarized as follows:

  1. 1)

    Give a set of data X = {X 1, X 2, ⋯, X n } ∈ R p without notations, the class number c, the iteration number T and the allowable error ε > 0.

  2. 2)

    Initialize W 0 = {W 10, W 20, ⋯, W c0} and the initial learning step α 0.

  3. 3)

    For t = 1, 2, ⋯, T, calculate \({\alpha _t} = {\alpha _0}(1 - {t \over T})\). For k =1, 2, ⋯,n, find the X k satisfying the following expression.

    $$||{X_k} - {W_i}(t)|| = \mathop {\min }\limits_{1 \leqslant j \leqslant c} \{ ||{X_k} - {W_j}(t)||\} .$$
    (20)

    Then the c weight vector {W r (t + 1)} is updated in accordance with the following equation.

    $$\matrix{{{W_i}(t + 1) = {W_i}(t) + {\alpha _t}[{X_k} - {W_i}(t)]\cdot} \hfill \cr {{{{D^2} - D + ||{X_k} - {W_i}(t)|{|^2}} \over {{D^2}}},{\rm{ }}r = i.} \hfill \cr }$$
    (21)

    Otherwise,

    $${W_r}(t + 1) = {W_r}(t) + {\alpha _t}[{X_k} - {W_i}(t)]\cdot{{||{X_k} - {W_r}(t)|{|^2}} \over {{D^2}}}$$
    (22)

    where \(D = \sum _{r = 1}^c||{X_k} - {W_r}(t)||{^2}\)

  4. 4)

    Calculate

    $$\matrix{{{E_t} = ||W(t + 1) - W(t)|{|_1} = \sum\limits_{r = 1}^c {||{W_r}(t + 1) - {W_r}(t)|{|_1}} = } \hfill \cr {\sum\limits_{k = 1}^n {\sum\limits_{r = 1}^c {\left| {{w_{rk}}(t + 1) - {w_{rk}}(t)} \right|} } .} \hfill \cr }$$
    (23)
  5. 5)

    if E t ε, terminate the procedure. Otherwise, recalculate for the next iteration t.

  6. 6)

    Compute the division U =[u ik ] c×n of the data set X to the c clustering centers, where

    $$u_{ik} = \left\{ {\begin{array}{*{20}c} {1,} & {\left\| {X_k - W_i } \right\| \leqslant \left\| {X_k - W_j } \right\|,i \leqslant j \leqslant c,j \ne i} \\ {0,} & {1 \leqslant j \leqslant c,1 \leqslant k \leqslant n, Otherwise.} \\ \end{array} } \right.$$
    (24)

4.3 Recognition of rotary kiln combustion working conditions

The paper selected 100 combustion flame images with clear working conditions in the rotary kiln production process as sample images. The 60 randomly selected images served as training samples (42 complete combustion images and 18 incomplete combustion images). The remaining 40 images served as test samples (24 complete combustion images and 16 incomplete combustion images).

The main parameters of the GLVQ classifier can be set as follows. The input layer has 5 neurons in accordance with the 5 nonlinear principles of the texture feature variables obtained by the KPCA method. The output layer has 2 neurons representing the 2 combustion working conditions: Complete combustion notated as 1 and incomplete combustion notated as 0. The maximum iteration number is 5000, the allowable error is 0.001 and the learning step α 0 = 0.5. The LVQ classifier is utilized for comparison with the proposed KPCA-GLVQ classifier. The classification results are shown in Table 4.

Table 4 Identification results of rotary kiln combustion working conditions

As seen from Table 4, the identification positive ratios of the KPCA-GLVQ reach 95.83% and 93.75%, the latter one is 12.5 percentage points above the LVQ classifier. In the overall recognition rate, the identification positive ratio of the KPCA-GLVQ method reaches 95%, which indicates that the KPCA-GLVQ classification method has achieved better results in the execution speed and recognition accuracy.

5 Conclusions

A combustion working condition recognition method based on the GLVQ neural network is proposed based on the pulverized coal combustion flame image texture features of the rotary kiln oxide pellets sintering process. The test results show that the proposed KPCA-GLVQ classifier has an excellent performance for training speed and correct recognition ratio.

In the future, the proposed KPCA-GLVQ recognition method of rotary kiln combustion working conditions will be merged into real-time optimized process control. In addition, design of a better classification method is an important task that merits future study.