面临越来越复杂的水下环境,船舶航行时需要能够有效对水下的目标进行识别和避让[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.r、x.g、x.b分别表示水下目标图像在红、绿、蓝三种像素点上的分量大小,μ.r,μ.g,μ.b分别为目标背景的红、绿、蓝3种像素点分量大小,S.r2,S.g2,S.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)假设水下目标的背景图像为B(x, y),其协方差为S2(x, 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}。 $ |
目标的特性输出为
3)上述的G(x, y)即目标的识别结果。
2 基于BP网络模型的目标特征处理 2.1 阈值设定采用BP网络模型时,需要预先设置阈值大小,从而使图像的灰度处理达到最优[5 -6]。一般情况下,阈值的选取是根据整个图像的统计特性进行设定的。若在目标图像中,共存在ni个灰度级为i的像素矢量,那么可以得到图像
$ N = \sum\limits_{i = 0}^{L - 1} {{n_i}} 。 $ | (4) |
水下目标的灰度级的选取概率为
$ {p_i} = \frac{{{n_i}}}{N}。 $ | (5) |
设目标图像的灰度k为上限值,整个图像可以表示为2个部分,0~k和k + 1~L -1两个阈值部分,其像素分布在A和B两个区域,则像素在A和B的概率为
$ {w_A} = \sum\limits_{i = 0}^k {{p_i}} , $ | (6) |
$ {w_B} = \sum\limits_{i = k + 1}^{L - 1} {{p_i}}。 $ | (7) |
A和B区域像素的平均灰度表示为
$ {\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) |
式中;
下面是对网络中隐含层的权系数进行修正。应用梯度法,对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) |
式中:
下面对BP网络的水下目标识别性能进行仿真,首先确定合适的网络特征参数。图 2为目标识别率仿真曲线,可以发现当系统的噪声越小时,水下目标的识别率越高。
水下目标的识别性能好坏直接决定了船舶的综合航行性能,因此本文提出的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. |