Skip to main content
. 2019 May 10;19(9):2168. doi: 10.3390/s19092168
Algorithm 1 Approach to flying small target detection based on GMM_CS.
Input: Flying small target image sequence
Output: Detection results of each image in sequence
  •   1:

    Initialize Ntrain, Ndetect, s, m, ξ, α, β, R, K, ϵ

  •   2:

    for i=1toNtrain do

  •   3:

     Break image into patches by Equation (11) and compressive sensing by Equation (3)

  •   4:

     Make GMM_CS for each patch by Equations (7)–(10)

  •   5:

    end for

  •   6:

    for i=1toNdetect do

  •   7:

     Break image into patches by Equation (11) and compressive sensing by Equation (3)

  •   8:

     Identify candidate patches by Equations (7), (12), (13)

  •   9:

     for j=1toNpatch do

  •  10:

      Designate successive patches and compose a data matrix G

  •  11:

      repeat

  •  12:

       Set k=0,L^0=0,S^0=0,Ω^L={},Ω^S={},P0=G

  •  13:

       Update indicator k=k+1

  •  14:

       Identify supports: ΩL′=argmaxΩ⊂O{∥FΩ(Pk−1)∥F:|Ω|≤2R}

  •  15:

       Merging: Ω˜L=Ω^L∪ΩL′

  •  16:

       Estimating: L˜k=argminL{∥G−L−S^k−1∥F:L∈span(Ω˜L)}

  •  17:

       Pruning: Ω^L=argmaxΩ⊂O{∥FΩ(L˜k)∥F:|Ω|≤R}, L^k=FΩ^L(L˜k)

  •  18:

       Update residue: P˜k=G−L^k−S^k−1

  •  19:

       Identify supports: ΩS′=argmaxΩ⊂Q{∥HΩ·P˜k∥F:|Ω|≤2K}

  •  20:

       Merging: Ω˜S=Ω^S∪ΩS′

  •  21:

       Estimating: S˜k=argminS{∥G−L^k−S∥F:S=HΩ·P˜k,Ω⊂Ω˜S}

  •  22:

       Pruning: Ω^S=argmaxΩ⊂Q{∥HΩ·S˜k∥F:|Ω|≤K}, S^k=HΩ^S·S˜k

  •  23:

       Update residue: Pk=G−L^k−S^k

  •  24:

      until ∥G−L^k−S^k∥F/∥G∥F≤ϵ

  •  25:

     end for

  •  26:

     Detect target over reconstructed sparse images by threshold segmentation

  •  27:

    end for