李宗鑫,王启曙,于娟娟
(1.92001 部队,山东 青岛 266000;2.烟台幼儿师范高等专科学校,山东 烟台 266000)
海上舰船目标的检测与识别是计算机视觉和人工智能领域关注的重要问题,其在军事作战应用、海上交通运输、海事救援、海洋渔业等领域具有十分重要的意义。随着可见光、红外、合成孔径雷达(Synthetic Aperture Radar,SAR)及卫星遥感等成像技术的发展成熟,基于图像处理、计算机视觉技术的舰船目标检测与识别成为当前的研究热点,具有广阔的应用前景[1]。
一般而言,可见光图像中舰船目标特征主要有颜色、轮廓、形状以及纹理等,现有的舰船目标检测识别算法大多依据此类特征,综合运用图像处理、机器学习等相关算法进行检测识别。
舰船目标检测识别算法一般可分为检测和识别两个阶段。检测阶段多使用图像处理相关算法,对图像进行分割筛选获取包含舰船目标的区域。常见的有阈值分割法、边缘检测法以及基于视觉显著性的方法。阈值分割法有最小误差阈值分割法[2]、多阈值分割法[3]、最大类间方差法[4]、最大熵法以及自适应阈值法[5]等。此类算法对背景或者舰船目标的颜色、纹理分析统计后得出分割阈值,优点是分离精度高,但通用性一般。边缘检测算法通过计算图像的边缘特征提取目标区域,常用的如小波检测[6]、Canny 边缘检测、霍夫变换[7]等。基于边缘的分割方法需要连续的轮廓才能保证识别效果,当目标与背景颜色相近、边缘特征不明显时效果不理想。基于视觉显著性模型(Visual Attention Mechanism,VAM)的方法可分为空域和频域两类。Itti 算法为典型的空域算法。谱残差方法(Spectral Residual)是频域方法的代表。闫成章等[8]提出了一种多尺度优化阈值的显著性检测算法,对输入图像做金字塔分解,然后应用谱残差法对图像序列做显著性检测得到显著性子图,最后融合各子图并进行阈值分割得到最终检测结果。徐芳等[9]应用多显著性检测模型搜索海面目标生成显著图,图像分割后使用梯度方向特征进行鉴别验证,排除非舰船干扰。王刚等[10]利用大尺度图像块邻域最大对比特 性(Image Path Maximum Contrast Measurement,IPMCM)获取图像显著图,并自适应分割感兴趣区域,然后计算多尺度图像块邻域最小对比度并进行最大值合并操作,最后以自适应阈值精确检测目标位置。基于视觉显著性模型的方法实现简单,在背景较为单一且目标特征较为明显时效果较好。
舰船目标识别阶段,多使用机器学习或模板匹配等方法进行验证识别。常用的特征有LBP 特征、Hu 不变矩特征、SIFT 特征、HOG 特征和Harris 角点特征等。一些算法依据面积比、长宽比等构建组合特征进行识别验证[11-12]。近年来,随着深度学习及神经网络算法的发展[13],基于CNN、R-CNN、YOLO 等的舰船目标检测识别算法得到了广泛应用[14-16],基于深度学习和神经网络的算法可自适应地分层学习目标特征,相比较于人工特征提取,泛化能力更强。
海上舰船种类较多,外观、颜色等变化较大,但图像场景相对单一,干扰目标相对较少。为提高检测精度和算法处理速度,本文提出了一种基于全局对比度特征的舰船目标检测识别方法。该方法包括3 个主要内容:计算图像各通道全局对比度特征图并进行融合,得到显著图;采用Otsu 算法自适应分割图像,获取舰船目标待识别区域;使用HOG特征+SVM 分类器对候选区域图像进行验证识别,得到舰船目标检测识别结果。实验结果表明,本文提出的算法能够有效检测识别舰船目标,检测识别准确率高,算法鲁棒性好。
舰船目标检测算法流程如图1 所示。
图1 舰船目标检测算法流程
视觉显著性检测(Visual Saliency Detection)技术依据人类的视觉特点,对图像中显著性目标区域进行增强处理,降低背景干扰,广泛应用于图像处理及目标检测。
1.1.1 全局对比度特征计算和图像融合
输入离散空间图像p(x,y),将图像从RGB 颜色空间转换到HSV 颜色空间,求HSV 空间中每个特征通道的均值Hα、Sα、Vα,计算图像各通道像素值与均值的距离,即原始图像中各通道像素值与均值相减,由此得到像素点3 个通道的全局对比度特征值:
将Hα、Sα、Vα作为显著图中对应像素的特征分量,则显著图可表示为:
式中,α、β、γ为各通道全局对比度特征值所占权重。实际处理时,为弱化光照变化的影响,根据测试结果设置归一化因子值为:
1.1.2 频域滤波
使用高斯滤波器对融合后的显著图进行平滑 处理:
1.1.3 分块压缩处理
为了减小后期算法计算量,需要对显著图进行分块压缩处理,计算公式如下:
按照一定的分块尺度将显著图分块划分。假设分块尺寸为m×n,则图像可划分为M×N个子图像块(最后输出的显著图的分辨率即为M×N),求图像块内像素灰度均值,作为输出后的压缩图像中对应像素灰度值。本文中m和n取值均为4,其中blk(i,j)(i,j)块的值i∈[0,m),j∈[0,n)。经过上述步骤处理得到包含舰船目标区域的显著图,如图2 所示。显著图中,像素灰度值分布如图3 所示,其中x和y轴为图像二维坐标,z轴为像素灰度值。可以看出,舰船目标与背景区域对比度较高,具有二类可分性。
图2 舰船目标及其显著图
图3 舰船目标显著图像素值灰度分布
海上场景相对比较单一,除舰船、岛屿外,天空和海面区域占据大部分画面,因此可使用灰度统计的方法计算出阈值t,对显著图进行二值分割,剔除海面和天空区域,保留舰船目标。
本文使用最大类间方差法(Otsu)对显著图进行二值化,分离舰船目标与背景图像。对于图像p(x,y),假设阈值T可将图像分成前景和背景两部分,其中,ω0为前景像素点占整幅图像的比例,φ0为前景像素灰度均值,ω1为背景像素点占整幅图像的比例,φ1为背景像素灰度均值,φ为整幅图像的灰度均值。假设图像中前景像素亮度值高于背景亮度,则类间方差为σ2:
采用遍历法计算出使类间方差最大的阈值T,即为最佳分割阈值,分割结果如图4 所示。
图4 Otsu 分割结果
图像二值化后,为了消除离散杂波点等非舰船目标干扰,提高舰船目标区域内部的连续性,先进行形态学腐蚀膨胀处理,再对二值图像进行连通区域查找,找出舰船目标区域轮廓,标记其小外接矩形,并按照最小外接矩形的面积及长宽比进行筛选过滤,最后在分块压缩后的图像中提取该矩形区域作为待识别区域。为了避免过度分割,保证舰船候选区域的完整性,提取待识别区域时扩大10&的像素范围。
方向梯度直方图(Histogram of Oriented Gradient,HOG)是一种用来描述图像局部区域边缘梯度和方向的特征算子,能够较好地反映目标的边缘信息,对几何和光学变化都有很好的不变性。本文使用HOG 特征对待识别图像进行特征描述。
考虑到光学图像中舰船目标尺度特点,设置block 尺寸为16×16,cell 尺寸为8×8,cell 特征向量维数设置为6 维,梯度直方图方向Bin 的个数为9,检测窗口大小为128×64 像素,滑动步长为8×8像素。Block 和cell 划分,如图5 所示。
图5 Block 和cell 划分
支持向量机(Support Vector Machine,SVM)是一种应用广泛的统计学习方法,在非线性及高维模式识别中优势突出。SVM 通过最大化分类间隔找到一个最优超平面对样本点进行分类。如图6 所示,平面中实线圆和虚线圆表示不同的样本点,虚线l1和l2之间的距离为最大间隔。SVM 的目的是找到一条直线l(超平面),使之到两类样本点的最短距离相等,即d1=d2。
图6 二维线性划分的最优超平面
定义线性可分情况下,样本集S和判别函数f(x)分别为:
式中:(xi,yi)为样本点;xi为n维样本向量;yi为样本点类别;f(x)>0 和f(x)<0 时对应于yi=1 和yi=-1 的数据点,判别函数f(x)=0 为对应的分类面方程(分类超平面)。
定义分类间隔d,即l1、l2之间的距离为:
约束条件:
求最优分类超平面即求目标函数τ(φ)的最小值:
通常情况下,训练样本为线性不可分。此时,可通过引入松弛变量和核函数,通过某种非线性映射,将低维的线性不可分转换到高维线性可分,如图7 所示。
图7 映射关系
定义映射函数x=ω(x),则该问题可表述如下。
要求分类面φx+c=0 满足:
使用核函数K(xi,xj)表示映射函数的乘积,即K(xi,xj)=ω(xi)ω(xj)。线性不可分时,核函数的作用就是将低维空间数据转换为高维空间内积,以减少计算量,简化计算过程。
以下4 个核函数使用频率较高。
(1)线性核函数(linear):
(2)多项式核函数(polynomial):
(3)径向基(Radical Basis Function,RBF)核函数(高斯核函数):
(4)Sigmoid 核函数:
式中,v、c为定义参数。
分类器训练及识别阶段使用具有n类分组的C 类支持向量机(n≥2)作为分类器。C 类支持向量机可通过异常值惩罚因子对样本点进行不完全分类。核函数选择径向基核函数(Radial Basis Function,RBF)。分类器训练时,首先计算样本图像HOG 特征,然后将计算的HOG 特征向量输入到SVM 中进行分类器训练,训练完毕后得到可用于舰船目标识别的分类器。
2.3.1 样本库构建
构建样本库是舰船识别前一个非常重要的工作。样本库中样本的数量、种类和质量,直接关系到训练的分类器的好坏。样本库分为正样本和负样本大两类。正样本为不同天气、光照条件下的舰船图像(军舰、商船和多种类型船只),按照拍摄角度分成正面和侧面两个类别。负样本为海面、天空、岛屿以及杂波干扰等非舰船目标。样本库共有正样本2 572 张,侧面1 700 张,正面872 张。样本库共有负样本共计3 000 张。样本库示例如图8 所示。
图8 样本示例
2.3.2 分类器训练
分类器离线训练时,将样本图像按照舰船正面、侧面以及负样本3 种类别进行标记,然后输入到SVM 中进行训练,得到用于舰船识别的分类器。由于SVM 中常用的核函数有线性核函数、多项式核函数、径向核函数和Sigmoid 核函数4 种,因此文中对4 类核函数分别进行测试,以选取分类准确率高和计算复杂度较低的核函数,提高识别效率,测试结果如表1 所示。
表1 不同核函数的分类性能
测试时,选择C 类支持向量机。使用线性核函数时,惩罚系数设置为0.37;使用多项式核函数和sigmoid 核函数时,degree 参数设置为10,gamma参数设置为0.09,coef0 参数设置为1.0;使用径向基核函数时,gamma 参数设置为0.09。通过测试结果可以看出,径向基核函数分类准确率高且速度较快,用于舰船目标分类效果较好。因此,分类器离线训练时采用径向基核函数。
为验证算法性能,选取270 张包含舰船目标的图像进行测试,图像尺寸为1 600×1 200。测试环境:CPU处理器为AMD Ryzen 5 3500U 2.1 GHz,内存8 GB,系统Windows10 64 bit。算法各模块执行时间如表1 所示,检测识别单帧图像平均耗时182.202 ms。
表2 算法时间性能测试
设p为正确检测数目,q为错误检测数目,r为漏检数目,定义漏检率L即正确检测识别出的舰船目标数占实际总数的比例,计算公式为:
定义准确率R为正确检测识别出的舰船目标数占检测出的舰船目标总数(包含错误的检测识别)的比例,计算公式为:
由表3 可知,270 张测试图像中,舰船目标总数为341 个,算法检测识别出的舰船目标总数为362 个,漏检13 个,错误检测34 个,漏检率为3.81&,检测准确率为93.18&。
表3 算法测试结果
表4 为本文算法及另外3 种算法在相同测试环境下处理同一幅图像时的时间性能和准确率测试结果。可以看出,本文提出的算法具备较高的准确率和时间效率。
表4 算法时间性能测试
针对光学图像中海上舰船目标的检测识别问题,提出了一种基于图像显著性特征的舰船目标检测识别算法。该算法首先计算图像各通道全局对比度特征值,融合并进行分块压缩后得到显著图,其次使用Otsu 算法分割图像得到舰船目标候选区域,最后使用HOG 特征+SVM 分类器对候选区域图像进行验证识别,最终得到舰船目标检测识别结果。实验结果表明,该算法在复杂海天背景下检测识别准确率较高,具有一定的抗干扰性,计算量小,检测识别时间短,对舰船目标实时检测系统设计具有一定的参考意义。