梁锦雄,王刻奇
(1.广州城市职业学院信息技术系,广东 广州510405;2.中山大学南方学院 电子通信与软件工程系,广东 广州510970)
随着国际社会在海洋领域的竞争日益激烈,我国舰船规模不断扩大,例如兼备多种功能的海洋调查船、各种海军战舰[1-2]等。海上舰船目标的自动识别也随之成为国内外极为关注的焦点,舰船自动识别技术为准确跟踪舰船目标、实现导弹精确制导等提供了重要保障,该技术可以说已成为海上作战系统中不可或缺的部分。但舰船自动识别技术发展至今,还远远未达到广泛普及的地步,因此船舰目标自动识别技术还有待进一步探索。BP神经网络模型是目前应用最为广泛和取得成果最为突出的神经网络之一,这是一种并行的、复杂的、非线性的、动力学系统,它可以表示极其复杂的非线性模型,对非确定规律性系统具有自适应特征[3],因此在各领域得到广泛应用。
以往的船舰目标识别技术通常包括图像预处理、船舰特征选择、分类器设计3 大步骤。图像预处理主要包括图像降噪、目标增强、背景-目标分割等步骤。特征选择是识别过程中较为重要的部分,常用的特征有颜色特征、纹理特征、尺寸特征等,不同的特征适用于不同的应用场合,但不管何种应用场景,选取的特征必须满足以下3个条件:1)能使类间差异大,而类内差异小;2)易于计算和存储;3)鲁棒性好,具有旋转不变性、尺度不变性等优良特性。分类器主要包括KNN、神经网络、SVM等,不同的分类器适用的场景也不相同。本文主要针对6 种船舰目标的红外图像进行分类,在对图像进行预处理后,选取了Hu 不变矩、边缘梯度方向直方图、周长-面积比3个特征,利用4 层BP神经网络对6 种类别的船舰进行分类。
船舰红外图像的信噪比往往较低,随机噪声会严重干扰后续的图像分割和特征提取。而传统的中值滤波可处理红外图像中的随机噪声和椒盐噪声,其优点就在于不仅执行简单,可有效去除噪声,而且有保留图像细节的能力,因此选用中值滤波对图像进行降噪处理。
在中值滤波去噪的基础上,利用OTSU法将图像分割成背景和目标部分。OTSU法又称大津法,该分割法以不同类之间的方差作为目标函数,力求使不同类间的差异达到最大,而相同类间的差异达到最小,通过最大化目标函数的计算来寻找合适的图像分割阈值,从而使错分概率最小。由于该方法计算简单,适用范围广,且能取得较好的分割结果,因此选用该分割法提取船舰目标。
特征提取是船舰目标识别的关键部分。为有效识别船只类型,特征需满足旋转仿射不变性、运算量低等特点。本文选取Hu 不变矩、边缘方向直方图以及周长-面积比作为船舰识别的特征。
Hu 矩具有诸多优点,如不太受噪声影响、可描述目标形状轮廓等。f(x,y)的p+ q 阶矩定义为:
mpq和f(x,y)都能被对方唯一确定。f(x,y)的p+ q 阶中心矩定义为:
以下7个具有平移、旋转和尺度不变性的矩即构成Hu 矩,是由归一化的二阶和三阶中心矩得到的:
图像边缘是图像中灰度变化较大的部分,通常边缘方向直方图能很好地反映目标的形状轮廓。利用x 方向和y 方向梯度算子计算图像的水平和垂直梯度,图1 给出了垂直和水平方向梯度模板。
图1 垂直和水平方向梯度模板Fig.1 Vertical and horizontal template
在求出边缘的水平梯度dx和垂直梯度dy 后,其梯度方向定义为:
式中:θ的取值为0 ≤θ ≤180 ,在实际统计过程中,需要对θ 进行量化,量化后累加出每个等级梯度方向的总个数。由于直接统计出的边缘方向直方图不仅受目标方向影响,且同一目标在不同尺度下的梯度方向直方图也有差异,为了消除旋转和尺度缩放对直方图的影响,本文对方向直方图做以下2 点处理:
1)使其具有尺度缩放不变性。为此,需对直方图作归一化处理:
式中:H(i)为直方图;N 为边缘像素总个数。
2)使其具有旋转不变性。首先找出直方图的最大值,然后将其循环右移至最右端。由于固定的将最大值右移至最右端,因此处理后的直方图将不受目标旋转的影响。
舰船的面积定义为舰船区域的像素总个数,虽然也可考虑用其他方法来计算舰船面积,但利用对像素计数的方法来求区域面积不仅最简单,而且也是对原始模拟区域面积的无偏和一致的最好估计。
对于舰船周长的计算,首先使用8- 方向链码对舰船的边界进行编码,然后将链码进行右循环以使其构成的自然数最小,从而达到链码归一化的目的,在周长计算时,规定链码0,2,4,6方向的周长为1;1,3,5,7 方向的周长为,链码中所有方向代表的周长相加即得舰船的总周长。
由于BP 网络各层隐含节点常用Sigmoidal 函数作为激活函数,因此BP 网也称为隐节点激活函数采用Sigmoidal 函数的多层感知器。根据实际应用不同,输出节点的激活函数有不同选择:若用BP 网络进行分类,则输出层节点激活函数一般采用Sigmoidal 函数或硬极限函数;若利用BP神经网络进行函数逼近,则应使用线性函数作为激活函数,图2 给出了BP 网的网络结构。
图2 BP 网络结构Fig.2 Network structure of BP
对于BP 网中的各计算节点,有如下公式:
式中:f(·)为Sigmoidal 函数;uj为每个节点的输入;yj为每个节点的输出。以4 层BP神经网络为例,假设其有n个输入节点,则其输入向量为x ∈Rn,第1 隐层共n1个神经元,各节点相应的输出为x′ ∈Rn1;第2 隐层共n2个神经元,各节点对应的输出为x″∈Rn2;输出层共m个神经元。又设输入层到第1 隐层权为wij,节点阈值为θj;第1 隐层到第2 隐层权为,节点阈值为θ′k;第2 隐层到输出层权为w″kl,节点阈值为θ′l。于是各层神经元输出为:
显然BP神经网络完成了n 维输入空间到m 维输出空间的映射。
BP 学习算法可用于训练连接权值和节点阈值。设共有P个训练样本,d(1),d(2),…,d(p)为其对应的期望输出,通过训练误差不断校正连接权值和节点阈值,直到实际网络输出y(p)接近期望输出d(p),学习规则基于最小均方误差。当所有样本都输入后,总误差为:
根据梯度下降法可计算各层的反传误差为:
图3 给出了训练和测试误差随训练次数的变化情况,训练和测试数据集都来自美国海军研究院和美国海军武器中心[4],4 层BP 网络结构为21-30-30-6,学习率η 取固定值0.02,目标误差0.01,初始权值和阈值都是 (- 0.1,0.1)之间的随机数。
图3 训练误差曲线Fig.3 Training error
图4 训练误差和测试精度曲线Fig.4 Training and testing error
为使分类精度和训练误差都达到最优,根据图3,取最大训练次数为1 500,为使分类结果有效,共进行5 组重复试验。表1 给出了各重复实验下算法对每个类别的分类精度。
表1 分类精度Tab.1 Classification accuracy
本文利用4 层BP 网络对航母、驱逐舰、护卫舰、客船、集装箱、民用货船6 种船只类型进行了分类。首先对图像进行中值滤波,去除图像随机噪声和椒盐噪声,然后利用OTSU法将灰度图像分割成背景和目标2个部分,在此分割基础上,提取了目标区域的Hu 不变矩、边缘梯度方向直方图、周长-面积比3个特征。为使边缘梯度方向直方图同样也具有旋转和尺度不变性,本文将直方图循环右移至其最大值到达最右端。最后利用BP 网络对船舰图像进行了训练和测试,对船舰的分类精度达到84%左右,有效实现了常见船舰类型的识别分类,具有一定参考价值。
[1]陈练,苏强,董亮,等.国内外海洋调查船发展对比分析[J].舰船科学技术,2014,36(S1):2-7.CHEN Lian,SU Qiang,DONG Liang,et al.The development and comparative analysis of ocean survey ship[J].Ship Science and Technology,2014,36(S1):2-7.
[2]熊正南,蔡开仕,武凤德,等.21 世纪美国战略潜艇导航技术发展综述[J].舰船科学技术,2002,24(3):30-37.XIONG Zheng-nan,CAI Kai-shi,WU Feng-de,et al.Review of submarine navigation technology of United States in 21st century[J].Ship Science and Technology,2002,24(3):30-37.
[3]李聪.基于BP神经网络的股票指数期货价格预测[D].青岛:青岛大学,2012.LI Cong.Prediction of stock index futures price based on BP network[D].Qingdao:Qingdao University,2012.
[4]刘世军.海空背景下红外舰船目标识别方法研究[D].成都:电子科技大学,2011.LIU Shi-jun.Ship recognition under sea-sky background[D].Chengdu:University of Electronic Science and Technology of China,2011.