舰船科学技术  2017, Vol. 39 Issue (1A): 118-120   PDF    
水下探测目标识别的BP网络模型的设计与实现
陈晓伟, 杨明莉     
商丘职业技术学院, 河南 商丘 476000
摘要: 船舶在海洋中航行时,需要雷达系统对航道进行实时监控,此时水下目标的自动识别就显得尤为重要,只有对水下潜在的危险目标进行实时的预测,才能保证航行的安全。因此,本文着重对水下目标的特性识别方法进行了研究,通过BP网络模型建立了能够提取水下目标特征值的算法,同时对输出层和隐含层进行优化,得到了较为理想的水下目标识别模型。仿真结果表明,通过BP网络模型对目标识别算法的优化,目标的识别率都获得了较为明显的提升。
关键词: 水下目标识别     BP网络     优化    
Design and realization of bp network model for underwater detection target recognition
CHEN Xiao-wei, YANG Ming-li     
Shangqiu Polytechnic, Shangqiu 476000, China
Abstract: In order to ensure the safety of navigation, it is very important to recognize the underwater targets in real time when the ship is sailing in the ocean, and the real-time monitoring of the waterway is required by the radar system. Therefore, this paper focuses on the recognition method of underwater target characteristics, through the BP network model to establish the algorithm to extract the underwater target eigenvalue, while the output layer and the hidden layer optimization, get the ideal underwater Target recognition model. The simulation results show that the target recognition algorithm is improved and the recognition rate of the target is improved obviously by the BP network model.
Key words: underwater target recognition     BP network     optimization    
0 引言

面临越来越复杂的水下环境,船舶航行时需要能够有效对水下的目标进行识别和避让[1-2]。本文提出的基于BP网络模型的目标识别算法,能够对水下的目标特征进行提取,通过对提取规则和输入、输出层的优化,该模型能够显著改善目标的识别效果。

1 水下目标的特征提取

假设水下目标的矢量为x,其均值为μ,矢量的协方差矩阵用Σ表示,可以得到xμ的距离表达式为

$ d = \sqrt {{{(x - \mu )}^t}{\Sigma ^{ - 1}}(x - \mu )}, $ (1)

根据获得的水下目标图像,可以假设图像中的每一个像素点分量彼此独立,即每个之间的协方差都为0,矩阵Σ的非对角线元素全部为0

$ \begin{array}{l} d = \sqrt {{{(x - \mu )}^t}{\Sigma ^{ - 1}}(x - \mu )} \\ = \sqrt {\frac{{{{(x.r - \mu .r)}^2}}}{{S.{r^2}}} + \frac{{{{(x.g - \mu .g)}^2}}}{{S.{g^2}}} + \frac{{{{(x.b - \mu .b)}^2}}}{{S.{b^2}}}} 。 \end{array} $ (2)

上式中x.rx.gx.b分别表示水下目标图像在红、绿、蓝三种像素点上的分量大小,μ.rμ.gμ.b分别为目标背景的红、绿、蓝3种像素点分量大小,S.r2S.g2S.b2分别为红、绿、蓝3种像素的方差。

对于任意一个像素点(x, y),其方差为:

$ {S^2}(x,y).c = \frac{1}{{N - 1}}\sum\limits_{i = 1}^N {|{F_i}(x,y).c - \mu (x,y).c} {|^2}。 $ (3)

式中:Fi为像素采样帧,共有N帧,μ为背景像素。

通过分析上述的距离公式,可以得到,目标识别的最终目的为对每个像素的各个矢量进行统一的归一化处理,同时为了降低多个矢量方向的误差,应该尽量降低减小矢量的影响[3 -4]

具体的水下目标运动点识别算法流程如图 1所示。

图 1 目标判断流程 Fig. 1 Target to determine the process

1)假设水下目标的背景图像为Bx, y),其协方差为S2x, y

2)对目标的每一个像素点(x, y)进行扫描:

$ \sqrt {\frac{{{{(F(x,y).r - B(x,y).r)}^2}}}{{{S^2}(x,y).r}} \!\!+\!\! \frac{{{{(F(x,y).g - B(x,y).g)}^2}}}{{{S^2}(x,y).g}} \!\!+\!\! \frac{{{{(F(x,y).b - B(x,y).b)}^2}}}{{{S^2}(x,y).b}}} \geqslant {T_b}。 $

目标的特性输出为$G(x,y) = 1$,否则$G(x,y) = 0$

3)上述的Gx, y)即目标的识别结果。

2 基于BP网络模型的目标特征处理 2.1 阈值设定

采用BP网络模型时,需要预先设置阈值大小,从而使图像的灰度处理达到最优[5 -6]。一般情况下,阈值的选取是根据整个图像的统计特性进行设定的。若在目标图像中,共存在ni个灰度级为i的像素矢量,那么可以得到图像$f(x,y)$的全部像素数为

$ N = \sum\limits_{i = 0}^{L - 1} {{n_i}} 。 $ (4)

水下目标的灰度级的选取概率为

$ {p_i} = \frac{{{n_i}}}{N}。 $ (5)

设目标图像的灰度k为上限值,整个图像可以表示为2个部分,0~kk + 1~L -1两个阈值部分,其像素分布在AB两个区域,则像素在AB的概率为

$ {w_A} = \sum\limits_{i = 0}^k {{p_i}} , $ (6)
$ {w_B} = \sum\limits_{i = k + 1}^{L - 1} {{p_i}}。 $ (7)

AB区域像素的平均灰度表示为

$ {\mu _A} = \frac{1}{{{w_A}}}\sum\limits_{i = 0}^k {i{p_i}}, $ (8)
$ {\mu _B} = \frac{1}{{{w_B}}}\sum\limits_{i = k + 1}^{L - 1} {i{p_i}}。 $ (9)

整个目标图像的平均灰度为

$ \mu = \sum\limits_{i = 0}^{L - 1} {i{p_i}} = {w_A}{\mu _A} + {w_B}{\mu _B}, $ (10)

2个部分的方差为

$ {\sigma ^2} = {w_A}{({\mu _A} - \mu )^2} + {w_B}{({\mu _B} - \mu )^2}。 $ (11)

由最大类间方差原则,只要计算从0到L -1的改变量k,得到类间方差,即可进行阈值的确定。

2.2 BP网络的规则调整

首先对BP网络的输出层权系数进行调整,设输出层汇总每个元素的权系数都遵循统一的函数梯度进行反方向的自动调整,并最终得到收敛的结果。由梯度法,在网络中的每个元素权系数调整为:

$ \begin{aligned} & \Delta wki = - \eta \frac{{\partial Jp}}{{\partial wki}} = - \eta \frac{{\partial Jp}}{{\partial \mathop {net}\nolimits_k^p }} \bullet \frac{{\partial \mathop {net}\nolimits_k^p }}{{\partial wki}}=\\ & - \eta \frac{{\partial Jp}}{{\partial \mathop {net}\nolimits_k^p }} \bullet \frac{\partial }{{\partial wki}}(\sum\limits_{i = 1}^q {wki\mathop o\nolimits_i^p } - \theta k) = - \eta \frac{{\partial Jp}}{{\partial \mathop {net}\nolimits_k^p }}\mathop o\nolimits_i^p 。 \end{aligned} $ (12)

式中η为学习速率,η > 0。

$ \begin{split} \\[-12pt] \mathop \delta \nolimits_k^p & = - \frac{{\partial Jp}}{{\partial \mathop {net}\nolimits_k^p }} = - \frac{{\partial Jp}}{{\partial \mathop o\nolimits_k^p }} \cdot \frac{{\partial \mathop o\nolimits_k^p }}{{\partial \mathop {net}\nolimits_k^p }}= \\ & (\mathop t\nolimits_k^p - \mathop o\nolimits_k^p ) \cdot g(\mathop {net}\nolimits_k^p ) =\\ & (\mathop t\nolimits_k^p - \mathop o\nolimits_k^p )\mathop o\nolimits_k^p (1 - \mathop o\nolimits_k^p )。 \end{split} $ (13)

上述的输出层每个元素的k的加权系数调整为:

$ \Delta wki = \eta \mathop \delta \nolimits_k^p \mathop o\nolimits_i^p = \eta \mathop o\nolimits_k^p (1 - \mathop o\nolimits_k^p )(\mathop t\nolimits_k^p - \mathop o\nolimits_k^p )\mathop o\nolimits_i^p 。 $ (14)

式中; $\mathop o\nolimits_i^p $为网络中的隐含节点ip情况下的输出值; $\mathop o\nolimits_k^p $为每个输出节点kp情况下的输出值;$\mathop t\nolimits_k^p $为在p情况下节点k的目标值。

下面是对网络中隐含层的权系数进行修正。应用梯度法,对BP网络中的隐含层的每个元素的系数进行修正,其公式为

$ \begin{split} \\[-12pt] \Delta wij & = - \eta \frac{{\partial Jp}}{{\partial wij}} = - \eta \frac{{\partial Jp}}{{\partial \mathop {net}\nolimits_i^p }} \cdot \frac{{\partial \mathop {net}\nolimits_i^p }}{{\partial wij}}=\\ & - \eta \frac{{\partial Jp}}{{\partial \mathop {net}\nolimits_i^p }} \cdot \frac{\partial }{{\partial wij}}(\sum\limits_{j = 1}^M {wij\mathop o\nolimits_i^p } - \theta i)=\\ & - \eta \frac{{\partial Jp}}{{\partial \mathop {net}\nolimits_i^p }} \cdot \mathop o\nolimits_i^p = \eta \mathop \delta \nolimits_i^p \mathop o\nolimits_i^p , \end{split} $ (15)

式中η为学习速率,η > 0。

$ \begin{split} \\[-12pt] \mathop \delta \nolimits_i^p & = - \eta \frac{{\partial Jp}}{{\partial \mathop {net}\nolimits_i^p }} = - \frac{{\partial Jp}}{{\partial \mathop o\nolimits_i^p }} \cdot \frac{{\partial \mathop o\nolimits_i^p }}{{\partial \mathop {net}\nolimits_i^p }}=\\ & - \frac{{\partial Jp}}{{\partial \mathop o\nolimits_i^p }} \cdot g(\mathop {net}\nolimits_i^p ) = - \frac{{\partial Jp}}{{\partial \mathop o\nolimits_i^p }} \cdot \mathop o\nolimits_i^p \cdot (1 - \mathop o\nolimits_i^p )。 \end{split} $ (16)

当隐含层中的任意一个输出发生变化时,则与该元素相关联的所有输出也会发生改变,即

$ \begin{split} \\[-12pt] - \frac{{\partial Jp}}{{\partial \mathop o\nolimits_i^p }} & = - \sum\limits_{k = 1}^L {\frac{{\partial Jp}}{{\partial \mathop {net}\nolimits_k^p }}} \cdot \frac{{\partial \mathop {net}\nolimits_k^p }}{{\partial \mathop o\nolimits_i^p }}=\\ & - \sum\limits_{k = 1}^L {\frac{{\partial Jp}}{{\partial \mathop {net}\nolimits_k^p }}} \cdot \frac{\partial }{{\partial \mathop o\nolimits_i^p }}(\sum\limits_{i = 1}^q {wki\mathop o\nolimits_i^p - \theta k} )=\\ & \sum\limits_{k = 1}^L {( - \frac{{\partial Jp}}{{\partial \mathop {net}\nolimits_k^p }})} \cdot wki = \sum\limits_{k = 1}^L {\mathop \delta \nolimits_K^P } \cdot Wki。 \end{split} $ (17)

因此,有必要对网络隐含层中的每个元素的系数进行调整:

$ \Delta wij = \eta \mathop \delta \nolimits_i^p \mathop o\nolimits_j^p = \eta \mathop o\nolimits_i^p (1 - \mathop o\nolimits_i^p )(\sum\limits_{k = 1}^L {\mathop \delta \nolimits_k^p } \cdot wki)\mathop o\nolimits_j^p 。 $ (18)

式中:$\mathop o\nolimits_i^p $为网络隐含节点ip情况下的输出值,$\mathop o\nolimits_j^p $为输入节点jp情况下的输出值。

下面对BP网络的水下目标识别性能进行仿真,首先确定合适的网络特征参数。图 2为目标识别率仿真曲线,可以发现当系统的噪声越小时,水下目标的识别率越高。

图 2 识别率仿真曲线 Fig. 2 Recognition rate simulation curve
3 结语

水下目标的识别性能好坏直接决定了船舶的综合航行性能,因此本文提出的BP网络识别模型具有重大的现实意义,其应用的领域也会越来越广泛。

参考文献
[1] 张明远, 于铭. 基于小波包分解的水下物体探测仪目标特征提取[J]. 林业机械与木工设备, 2009 (3): 24–27.
[2] 公茂法, 张言攀, 柳岩妮, 等. 基于BP网络算法优化模糊Petri网的电力变压器故障诊断[J]. 电力系统保护与控制, 2015 (3): 113–117.
[3] 姚李孝, 宋玲芳, 李庆宇, 等. 基于模糊聚类分析与BP网络的电力系统短期负荷预测[J]. 电网技术, 2005 (1): 20–23.
[4] 祝文姬, 何怡刚. 基于遗传BP网络的模拟电路故障诊断方法及其应用[J]. 计算机辅助设计与图形学学报, 2009 (9): 1283–1289.
[5] WU Ji-dong, LI Ning, YANG Hui-juan, et al. Risk evaluation of heavy snow disasters using BP artificial neural network:the case of Xilingol in Inner Mongolia[J]. Stochastic Environmental Research and Risk Assessment, 2008, 226 : 1342–1345.
[6] DUAN Bao-fu, LI Jun-meng, ZHANG Meng. BP neural network model on the forecast for blasting vibrating parameters in the course of hole-by-hole detonation[J]. Journal of Coal Science and Engineering (China), 2010, 163 : 657–660.