天天看點

【圖像重建】基于matlab BP神經網絡雙基地SAR成像圖像重建【含Matlab源碼 1950期】

一、BP神經網絡成像圖像重建簡介

1 BP神經網絡的圖像重建算法原理

在目前基于神經網絡的圖像重建算法中,網絡的類型一般采用BP神經網絡。BP網絡是一種多層前饋神經網絡,它采用後向傳播算法,亦稱BP算法(首先樣本從輸入層經各中間層向輸出層傳播,輸出層的各神經元獲得網絡的輸入響應;然後減小目标輸出與實際輸出誤差的方向,從輸出層開始經中間層逐層修正各連接配接權值,以達到學習目的)。

一個三層的BP網絡結構,輸入層由信号源節點組成,輸入信号為測量電容值Ci(i=1,2,…m,本文中我們采用12電極系統,故m=66),第二層為隐含層,之是以被稱為“隐層”,是因為它隻接受内部輸入(來自其它神經元的輸入),并且隻産生内部輸出(到其它神經元的輸出)。第三層為輸出層,輸出信号為圖像像素灰階值gi(i=1,2…n)。

BP神經網絡的的學習過程由資訊正向傳播和誤差反向傳播構成:

1.1 正向傳播過程:

輸入資訊從輸入層經隐含層逐層處理,傳向輸出層。若輸出層的實際輸出與期望的輸出不符,則轉入誤差的反向傳播。

a.輸入層:輸入值一般為樣本各分量輸入值,輸出值一般等于輸入值。

b.隐含層:對于節點j,其輸入值△j為其前一層各節點輸出值Oi的權重和:

【圖像重建】基于matlab BP神經網絡雙基地SAR成像圖像重建【含Matlab源碼 1950期】

其輸出值為:

【圖像重建】基于matlab BP神經網絡雙基地SAR成像圖像重建【含Matlab源碼 1950期】

式中:fs稱為激勵函數或作用函數,一般采用sigmoid函數:

【圖像重建】基于matlab BP神經網絡雙基地SAR成像圖像重建【含Matlab源碼 1950期】

式中:"j稱為閥值,#稱為溫度系數,隐含層可為一層或多層。

c.輸出層:輸出層的輸入△j和輸出Ok與隐含層類似,分别為:

【圖像重建】基于matlab BP神經網絡雙基地SAR成像圖像重建【含Matlab源碼 1950期】

1.2 反向傳輸過程,

采用鍊導數法則将連接配接權關于誤差函數的導數沿原來的連接配接通路傳回,通過修改各層的權值使得誤差函數減小。

設網絡輸入模式樣本為CP={Cpi},期望輸出為{gpk},均方差誤差函數EP為:

【圖像重建】基于matlab BP神經網絡雙基地SAR成像圖像重建【含Matlab源碼 1950期】

對所有的學習樣本,系統的均方誤差為:

【圖像重建】基于matlab BP神經網絡雙基地SAR成像圖像重建【含Matlab源碼 1950期】

為了達到學習的目的,要根據誤差函數來相應的調整網絡的連接配接權值,标準BP學習算法采用最速梯度下降法調整權值,輸出層的權值調節公式:

【圖像重建】基于matlab BP神經網絡雙基地SAR成像圖像重建【含Matlab源碼 1950期】

式中:0<&<1,稱為學習率。從上式可推出連接配接權值的修正量公式:

【圖像重建】基于matlab BP神經網絡雙基地SAR成像圖像重建【含Matlab源碼 1950期】

隐層權值調節公式:

【圖像重建】基于matlab BP神經網絡雙基地SAR成像圖像重建【含Matlab源碼 1950期】

BP網絡的突出優點就是具有很強的非線性映射能力和柔性的網絡結構。但是BP網絡存在着很多不足,為了得到電容層析成像高品質的重建圖像,研究人員都在嘗試利用改進BP網絡,以解決這些不足。

二、部分源代碼

clc;
close all;

% 恒定參數 
C = 2.9979e8;                                   % 電磁波速度 
j=sqrt(-1); 
% 雷達參數 
Fc = 10e9;                                      % 載頻 
Lambda = C/Fc;                                  % 波長 
Tr = 5e-6;                                      % 脈沖寬度 
Br = 300e6;                                     % 脈沖信号帶寬 
Kr = Br / Tr;                                   % 脈沖調頻斜率 
Fs = 400e6;                                     % 脈沖采樣頻率 
PRF = 0.5e3;                                    % 脈沖重複頻率 
Na = 1024;                                      % 方位向采樣點數 
Nr = 4096;                                      % 距離向采樣點數      
Beamangle_T = 6 * pi / 180;                     % 發射機波束寬度(弧度) 
Beamangle_R = 8 * pi / 180;                     % 接收機波束寬度(弧度) 
 
% 場景資訊 
Pcenter = [0,0,0,0];                    % 場景中心點坐标[x,y,z,掩碼] 
Ntarget = 1;                            % 散射點數目 
Dx = 0.5;                               % 像素間隔 X 方向 (米) 
Dy = 0.5;                               % 像素間隔 Y 方向 (米) 

ArrayposTar = [Pcenter+[0*Dx,0*Dy,0,1];       % 散射點位置及掩碼,當ArrayposTar(i, 4) == 0 時,該點不産生回波 
               Pcenter+[-10*Dx,0*Dy,0,1]; 
               Pcenter+[10*Dx,0*Dy,0,1]; 
               Pcenter+[0*Dx,-10*Dy,0,1]; 
               Pcenter+[0*Dx,10*Dy,0,0]; 
               Pcenter+[10*Dx,-10*Dy,0,0]; 
               Pcenter+[-10*Dx,10*Dy,0,0]; 
               Pcenter+[-10*Dx,-10*Dy,0,0]; 
               Pcenter+[10*Dx,10*Dy,0,0];]; 
figure('Name','原始場景');
hold on 
for iii = 1 : Ntarget 
    if (ArrayposTar(iii, 4) == 0) 
        continue; 
    end 
    plot3(ArrayposTar(iii, 1), ArrayposTar(iii, 2), ArrayposTar(iii, 3), '*');      

三、運作結果

【圖像重建】基于matlab BP神經網絡雙基地SAR成像圖像重建【含Matlab源碼 1950期】
【圖像重建】基于matlab BP神經網絡雙基地SAR成像圖像重建【含Matlab源碼 1950期】
【圖像重建】基于matlab BP神經網絡雙基地SAR成像圖像重建【含Matlab源碼 1950期】
【圖像重建】基于matlab BP神經網絡雙基地SAR成像圖像重建【含Matlab源碼 1950期】

四、matlab版本及參考文獻

1 matlab版本

2014a

繼續閱讀