【图像重建】基于matlab BP神经网络双基地SAR成像图像重建【含Matlab源码 1950期】

举报
海神之光 发表于 2022/07/11 00:27:01 2022/07/11
【摘要】 一、BP神经网络成像图像重建简介 1 BP神经网络的图像重建算法原理 在目前基于神经网络的图像重建算法中,网络的类型一般采用BP神经网络。BP网络是一种多层前馈神经网络,它采用后向传播算法,亦称BP算法...

一、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的加权和:
在这里插入图片描述
其输出值为:
在这里插入图片描述
式中:fs称为激励函数或作用函数,一般采用sigmoid函数:
在这里插入图片描述
式中:"j称为阀值,#称为温度系数,隐含层可为一层或多层。
c.输出层:输出层的输入△j和输出Ok与隐含层类似,分别为:
在这里插入图片描述
1.2 反向传输过程,
采用链导数法则将连接权关于误差函数的导数沿原来的连接通路返回,通过修改各层的权值使得误差函数减小。
设网络输入模式样本为CP={Cpi},期望输出为{gpk},均方差误差函数EP为:
在这里插入图片描述
对所有的学习样本,系统的均方误差为:
在这里插入图片描述
为了达到学习的目的,要根据误差函数来相应的调整网络的连接权值,标准BP学习算法采用最速梯度下降法调整权值,输出层的权值调节公式:
在这里插入图片描述
式中:0<&<1,称为学习率。从上式可推出连接权值的修正量公式:
在这里插入图片描述
隐层权值调节公式:
在这里插入图片描述
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), '*'); 
end 

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42

三、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 卫怀玉,王大伟,陈德运.基于BP网络的电容层析成像图像重建算法[J].黑龙江科技信息. 2008,(01)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

文章来源: qq912100926.blog.csdn.net,作者:海神之光,版权归原作者所有,如需转载,请联系作者。

原文链接:qq912100926.blog.csdn.net/article/details/125702410

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。