《1 引言》

1 引言

海军航空兵侦察是侦察系统的重要组成部分, 它以水面舰船为主要侦察对象, 对及时发现敌军海上目标起重要作用。如何找到一种适合于水面舰船的科学判读识别方法, 一直是海军判读人员的努力方向。

笔者针对水面舰船的识别特征, 提出了一种基于遗传算法的识别方案, 通过初始种群构建和函数计算等步骤实现该方案;文后的实验结果通过对巡洋舰、驱逐舰和护卫舰三类水面舰船目标的分类和识别, 验证了该方法实际应用的可行性。

除遗传算法提取图像边缘外, 常见到的提取算法还有小波变换、分形技术等。常用的小波函数诸如高斯函数的导数、中心B样条函数的导数、Bubble小波等, 这些小波函数对边缘的提取都利用模极大值点对应图像边缘的特点。具体算法是:对一个n×n的图像窗口, 经小波变换后, 计算出该窗口中最大值与最小值之差, 若差值不小于阈值, 则认为该窗口中心点为边缘点。利用该方法进行边缘检测的关键是确定阈值, 阈值的确定是动态的, 且受诸多条件限制, 很难保证其精确。此外, 利用分形技术进行目标识别的首要问题是确定图像中目标的分形维数, 具体过程中要计算各小立方体的灰度值, 灰度值是难以准确确定的。最后还要找出该分形维数D在一定误差范围 (即根据经验所选取的阈值) 内所对应的目标, 根据经验所选取的这个阈值具有一定的主观性, 可能出现虚警或遗漏目标。

《2 基本遗传算法模型及实现过程》

2 基本遗传算法模型及实现过程

基本遗传算法 (simple genetic algorithms, SGA) 是比较简单的抽象模型, 其个体用固定长度的遗传串表示, 群体大小也是固定的[1]。SGA的一个重要特征是它维持一个二进制串的群体, 每个0或1串都代表被优化问题的一个解;通过变换和变异两类操作符, 从当前群体中产生下一代群体的个体。这一过程能够重复进行, 直到某种条件被满足。SGA的最大特点是不考虑特定问题的特征, 它不是特意设计来解决特殊类问题的, 而是一个复杂的、非线性现象的模拟模型。基本遗传算法的实现过程是:

1) 对所涉及问题的可能解进行染色体编码;

2) 针对问题寻找一个客观的适应度函数;

3) 生成满足所有约束条件的初始种群;

4) 计算种群中每个染色体的适应度;

5) 一旦找到问题的最优解, 即退出循环;否则就向下进行;

6) 根据每个染色体的适应度产生新的种群称为选择操作;

7) 进行交叉操作和变异操作, 产生交叉操作的概率记作Pc, 产生变异操作的概率记作Pm;

8) 返回过程4) 。

《3 识别应用》

3 识别应用

《2.1初始种群的构造》

2.1初始种群的构造

遗传运算首先是从一个初始种群开始的, 而识别特征及隐含层结点个数是初始种群构建的基础。在解决目标识别特征及隐含层结点个数优选问题时, 构造初始种群为一个10×n的矩阵, 每一行是一个染色体, 每一行的前n-1位代表从总的输入特征N中选取的有效特征位数, 第n位代表隐含层结点的个数。下面用一个从N=64个特征中选取n=9个有效特征送入识别网络的例子, 说明初始种群的构造过程:[2 5 7 10 20 22 26 30 33 3]是种群中的一个染色体, 其中前9位代表36个特征中第几个特征被选中, 而第10位代表隐含层结点个数为3。笔者以单隐含层为例进行说明, 多隐层的求解同样适用。前9个数的取值范围为1~36。神经网络隐含层的最大结点数目和输入层节点数有很大关系, 隐含层的结点个数取值范围限定为3~15。

《2.2基本遗传算法函数的计算》

2.2基本遗传算法函数的计算

适值函数用来衡量种群中染色体的好坏。根椐目标识别这一特定问题, 将适值函数定义为目标的正确识别率。

《2.2.1 选择操作》

2.2.1 选择操作

采用转轮法作为选择方法, 这是一种正比选择策略, 能够根椐与适值成正比的概率选出新的种群。转轮法由4步完成:a.计算各染色体适值Fitness (i) ;b.计算种群中所有染色体适值之和Fitnessnum;c.计算染色体P (i) =Fitness (i) /Fitnessnum;d. 计算各染色体累积概率Q (i) =∑P (i) 。以上i均满足1≤i≤popsize;这里popsize =10, 代表种群的大小;选择过程是旋转转轮popsize次, 每一次按如下方法选出一个染色体来构成新的种群:在[0, 1]区间内产生popsize个伪随机数R (i) , 若R (i) ≤Q (1) , 则选择第一个染色体;否则, 当Q (K-1) ≤R (i) ≤Q (K) 时, 选择第K个染色体 (1≤K≤popsize) 。

《2.2.2 交叉和变异操作》

2.2.2 交叉和变异操作

采用单断点交叉法。首先随机产生一个断点, 然后交换双亲的右端, 生成新的后代。交叉时, 通常定义一个交叉率Pc;Pc定义为0.25, 即表示种群中有25%的染色体进行交叉。变异与交叉类似, 也存在变异率;变异率设为0.01, 表示种群中有1%的染色体进行变异。具体操作如图1所示。

《图1》

图1交叉与变异操作Fig.1 Cross and variation operation

《4 实验结果分析》

4 实验结果分析

笔者采用BP神经网络对水面舰船目标图像进行分类和识别, 在构建初始种群时采用输入层、隐含层和输出层BP网络[2]。输入层的节点个数为遗传算法多代遗传后所优选出的特征个数;隐含层个数由遗传算法自身决定;输出层为3个节点, 对应于三类水面舰船目标。输入层和隐含层的激励函数采用sigmoid函数形式;输出层采用线性输出函数。将三类水面舰船目标图像共150个分为两组, 其中一组对应于每类目标25个三类水面舰船目标图像作为神经网络的训练样本集, 用来对神经网络进行训练和记忆;另外一组共75个作为测试样本集用来对神经网络进行测试。对应于三类水面舰船目标, 神经网络的输出分别为[1 0 0], [0 1 0]和[0 0 1]。

运用该方法对三类水面舰船目标图像进行分类和识别, 实验中所用图像资料的信噪比为15 dB。在实验中通过遗传算法的多次遗传迭代, 对三类水面舰船的识别结果分别列在表1、表2。表1代表优选特征个数选择最优为10时, 不同遗传次数情况下三类水面舰船目标的识别率。识别结果表明, 当遗传次数达到约20时, 算法基本收敛, 继续增加遗传次数, 识别率提高不大。表2代表对应于选取不同特征长度条件下遗传20次时三类水面舰船目标的识别率。水面舰船目标图像虽然占据32个距离分辨单元, 但真正反映目标特性的只是其中的一部分数据, 而另外一部分数据在目标识别中的作用是微小的, 然而这些起较小作用的特征却为目标的分类和识别带来不小困难。首先, 输入节点个数增多, 网络训练收敛时间就会变长;其次这些特征可能导致模式空间中不同类别样本相互交织、边界模糊、聚类性差, 直接影响目标识别的效果。基于以上分析, 最佳特征个数的选取需通过实验反复验证。多次实验结果表明, 当选择10作为特征个数时, 可以获得较好的识别效果。表2中列出了特征个数为8~11的识别情况。

  

表1 选择不同遗传次数时三类水面舰船的识别率Table 1 Identifying rate of three kinds of surface shipses using different genetic times%  

《图2》

表1 选择不同遗传次数时三类水面舰船的识别率Table 1 Identifying rate of three kinds of surface shipses using different genetic times%

  

表2 选择不同特征长度时三类水面舰船的识别率Table 2 Identifying rate of three kinds of surface shipses using different characteristic length%  

《图3》

表2 选择不同特征长度时三类水面舰船的识别率Table 2 Identifying rate of three kinds of surface shipses using different characteristic length%

《5 结论》

5 结论

笔者针对水面舰船目标识别中目标特征选取和识别网络的隐含层结点数确定两个问题, 克服了小波变换和分形技术的弱点, 提出了一种基于遗传算法的解决方案, 通过对三类水面舰船目标实际图像的分类识别, 验证了该方法对于解决以上两个问题是有效的, 说明该方法适用于舰船目标的识别。其原因主要有两点:

1) 在航空照片中舰船目标一般为海水所包围, 背景单一、目标特征明显, 易于数据建模, 因此降低了染色体编码的难度, 使初始种群的构造成为可能并可快速完成。

2) 不论是巡洋舰还是护卫舰, 不同舰级的舰船都有一定长度和宽度范围, 这便于适应度函数自变量阈值的确定和种群中所有染色体适值、Fitnessnum的计算。

笔者主要针对原始图像优选做了一些工作, 至于目标图像的进一步处理, 提取有利于目标识别的相对不变特征量, 进而利用遗传算法进行优化运算等工作, 尚未涉及, 后者对提高目标识别率、减小运算量具有更重要的意义。