基于PCANet的海面船只检测算法
2017-04-13龙钢,任健强,龚小谨
基于PCANet的海面船只检测算法
以水面无人艇的视觉感知系统的研发为背景,使用级联主成分分析网络的深度学习框架,进行了海面船只检测算法研究.输入海面船只的可见光图像,通过显著性检测确定疑似目标区域,对检测出的疑似目标区域使用PCANet模型进行特征提取,将结果输入支持向量机中,得到最终二分类结果.实验结果表明,所设计的算法可以成功地输出海面船只检测结果,并通过与CNN算法的对比,验证了PCANet方法的高效性和准确性,证明了PCANet在特征提取方面的优越性.
船只检测;深度学习;级联主成分分析;显著性检测;支持向量机
0 引 言
作为人工智能领域新兴的无人控制系统,水面无人艇以迅速的势头在各行业内发挥着重要的作用,尤其受到了各国海军高技术系统研发部门的关注.其中自动目标检测识别技术是保证水面无人艇自主运行的核心功能模块,为此,本文进行了海面船只检测识别算法方面的相关研究.
海面船只检测算法的难点是需要具有非常高的工程实用性.在复杂的动态背景下,既要快速高效地检测海面目标,又要用尽量少的场景先验,以保证最大的利用率[1].同时,还要求在保持系统检测率和检测精度的基础上,尽量提高目标的检测距离,提高系统预警能力.现阶段海面船只检测主要有背景建模或背景估计[2]、特征提取与学习分类[3]、图像分割[4]、显著性检测[5]、颜色空间变换或颜色特征提取[6]等方法.本文在分析上述方法优缺点基础上,采用“特征提取+分类器设计+搜索策略”与显著性检测算法相结合的思路进行海面船只检测.
在特征提取与分类器设计的过程中,需要采用深度学习模型,对不同场景和数据集进行训练和分类.深度学习的本质是通过构建非线性的深层次网络结构来达到对较为复杂的函数逼近和目标的分布式特征表示的目的[7].本文基于文献[8]提出的主成分分析网络(Principal Component Analysis,PCANet)结构,进行海面船只检测算法研究,从少量的样本中学习到目标的本质特征,而且具有比较高的特征鲁棒性.
1 算法流程框架
本文的研究目标是对输入的海面图像中的船只进行目标检测和目标识别,针对图像中船只和背景的差异性来提出解决方案.使用一个简单的深度学习模型,使其在一些有差异的船只样本和背景中进行训练和分类,最终输出对船只的识别结果.同时提供一个参考标准,实现更为广泛的目标检测和目标识别.
海面船只检测算法的流程框架如图1所示.
图1 海面船只检测算法流程框架
在输入一张海面船只图片后,首先进行显著性检测[9].显著性检测是基于人眼注意力机制的,模仿了人眼的生理视觉,主要通过构造区域复杂度特征、区域差异性特征、周围差异性特征等方法来实现[10].
在得到显著性检测结果图之后,设定结果图的平均灰度的3倍为阈值,对结果图进行二值化,将大于此阈值的赋值为1,小于此阈值的赋值为0.其次,在之前得到的二值化图像中,对每一个连通域求取最小外接矩形,作为目标的可疑区域.
确定目标疑似区域之后,对每个检测出矩形区域使用PCANet模型进行分类.将每一个矩形区域输入PCANet,计算得到其对应的特征向量,将该特征向量输入到使用船只正负样本训练得到的支持向量机(Support Vector Machine,SVM)中,得到最终的二分类结果.对于分类前所检测到的各个不同目标,经过PCANet模型识别,排除误检区域,最终实现海面船只的目标检测和识别.
2 PCANet算法
PCANet是一个比较简单的深度学习网络,用于图像分类.根据以往的研究,经典的卷积神经网络(Convolutional Neural Network,CNN)存在的问题是训练的时间比较长.在PCANet中,每个阶段的卷积滤波器层的选择是最基本的PCA滤波器;非线性处理层设置成最简单的二进制哈希编码;下采样层中是分块直方图以及二进制哈希编码结合的方式.特征提取结果就是下采样层最终的输出[8].因此该体系结构设计和学习极其容易而且有效.
图2 PCANet第一层流程图
PCANet的第一层流程如图2所示.对于每个像素,使用滑动窗口来提取局部特征,得到很多个采样块.对每个采样块进行零均值化的过程就是一张图片特征提取的过程.对所有图片特征提取之后,得到一个样本矩阵.然后对样本矩阵做主成分分析,W就是PCA滤波器,通过滤波之后保留了主要信息.从第一层可以看出,PCA算法的训练准确率非常高的原因是因为对所有图片的样本矩阵求出了相应的标准正交矩阵,所以可以将重构误差降到最低.
第二层的计算类似第一层,都是先对采样块零均值化,然后通过PCA滤波器取主成分并且进行卷积运算.O是二阶PCA滤波的输出的特征矩阵.这样就能将简单结构延伸为多层的深度网络模型.
第三层首先是对每个输出矩阵进行二进制的哈希编码.其次,将所运算出的十进制图片做一个直方块到矩阵的变换.
通过三层运算之后,由于每一张图片都转换成了相应的列向量,因此可以将所有图片排列成向量矩阵,输入SVM进行训练.SVM的输出就是最终的二分类结果.
3 实验方法与结果分析
由于国际上没有公开的关于真实海面场景可见光目标检测的数据集,为此,在网络上搜集了287张各类船只的图片作为正样本,另外还截取了333张海面场景中的非船只部分图像作为负样本,利用PCANet算法学习船只特征,从而对显著性检测到的目标是否是船只进行判断.算法如下:
1)在声明和定义函数之后,读取图片数据集,将图像尺寸调整为50×50像素,进行PCANet训练;
2)进行SVM训练.,设置SVM的参数,定义SVM、核函数的类型.同时,设计终止准则函数,即当迭代的次数达到最大值时终止.训练SVM时需要建立一个SVM类的实例,训练模型的参数为输入数据、响应等之前设置过的参数;
3)执行目标检测算法.计算训练错误率,执行PCANet+SVM算法.检测船只时,执行目标检测算法,并画出二值化显著图轮廓.
3.1 训练PCANet的时间
对所选取样本的每一张图片用一个行向量表示,然后用PCANet运算方法对图片向量进行矩阵运算,之后添加标签,重复训练数据集,并记录PCA滤波器的训练内容.PCANet训练结果如表1所示.
表1 用正负样本进行PCANet训练的时间 s
3.2 统计训练PCANet的正确率
对所选取样本进行训练PCANet的正确率统计,正/负样本正确率统计如表2所示.
表2 正/负样本正确率统计
使用PCANet算法训练所要求识别的图像是海面船只,而排除掉海面场景中非船只部分的图像,因此理想情况要求正样本能够被识别出是船只,而负样本不可以被识别出是船只.由表2可以看出,进行正样本统计时正确率为92.7%,进行负样本统计时正确率为99.7%,因此训练结果良好,PCANet算法能达到图像分类和对海面船只进行目标识别的要求.
3.3 显著性检测和PCANet+SVM识别结果
利用显著性检测大致确定目标的可疑区域的过程中会输出显著性检测结果图和二值化显著性检测结果图,之后对每个检测出的可疑矩形区域使用PCANet模型进行分类,并通过SVM得到最终的二分类结果.
5张海面船只检测与识别结果如图3所示.
图3 海面船只检测识别结果
3.4 PCANet和CNN算法对比
为了说明PCANet的准确性和速度优势,本文利用CNN对同一个数据集进行分类识别,结果如表3所示.
表3 PCANet和CNN算法对比
同时在进行显著性检测之后,对每个检测出的可疑矩形区域使用CNN模型进行分类,得到CNN+SVM识别结果,与PCANet+SVM识别结果作对比,如此图4所示,其中第一行为PCANet+SVM识别结果,第二行为CNN+SVM识别结果.
图4 PCANet+SVM与CNN+SVM识别结果对比图
从表3中可以看出,和CNN相比,PCANet具有更快的训练速度和更高的准确性.从图4中可以看出,CNN算法有时将船头作为误检区域,有时又没有排除浪花等非船只部分,相比于PCANet算法的识别结果有一定的偏差.因此,PCANet算法在训练速度和训练准确性上都表现得更为出色,适合用于海面船只目标的快速检测.
3.5 算法复杂度分析
计算机硬件配置如下:CPU为双核四线程Intel Core i5-4210M,主频2.6 GHz,内存8 GB,硬盘IOPS为600 M/s,总线频率800 MHz.
操作系统为64位Windows 7,开发环境为Microsoft Visual Studio 2010.
PCANet算法对所有图片的样本矩阵求出了相应的标准正交矩阵,然后通过PCA滤波器取主成分并且进行卷积运算,它的算法执行时间不随着问题规模n的增加而增长,因此PCANet的时间复杂度为O(1).CNN算法中的循环结构第一层循环了n次,其嵌套语句均循环常数次,因此CNN算法的时间复杂度为O(n).算法结构上可以看出,PCANet是一个非常简洁的深度学习模型,适合快速检测海面船只目标.
4 结束语
本文采用模拟数据集执行所设计的基于PCANet的海面船只检测算法,成功得到海面船只矩形区域的检测结果.通过与CNN算法作对比,PCANet方法缩短了训练时间,提高了识别准确率,具有一定的理论优越性.基于PCANet的海面船只检测算法为今后的深度学习网络模型研究提供了理论基础与实验依据,同时算法复杂度低,易于实现,因此在水面无人艇的相关工程实践上具有重要的意义.
[1]SOCEK D, CULIBRK D, MARQUES O, et al. A hybrid color-based foreground object detection method for automated marine surveillance[C]//International Conference on Advanced Concepts for Intelligent Vision Systems. Springer Berlin Heidelberg, 2005:340-347.
[2]WU Q, CUI H, DU X, et al. Real-time Moving Maritime Objects Segmentation and Tracking for Video Communication[C]//2006 International Conference on Communication Technology. IEEE, 2006:1-4.
[3]WIJNHOVEN R, VAN RENS K, JASPERS E G T, et al. Online learning for ship detection in maritime surveillance[C]// Proceedings of 31th Symposium on Information Theory in the Benelux, 2010:73-80.
[4]曾文静,万磊,张铁栋,等.复杂海空背景下弱小目标的快速自动检测[J].光学精密工程.2012,20(2):403-412.
[5]ALBRECHT T, WEST G A W, TAN T, et al. Visual maritime attention using multiple low-level features and naïve bayes classification[C]//Digital Image Computing Techniques and Applications (DICTA), 2011 International Conference on. IEEE, 2011:243-249.
[6]VALKENBURG, HAARST T, LEIJEN A V, GROEN F C. Colour as an attribute for automated detection in maritime environments[C]//Information Fusion, 2009. FUSION’09.12th International Conference on. IEEE, 2009:1679-1686.
[7]孙志军,薛磊,许阳明,等.深度学习研究综述[J].计算机应用研究,2012,29(8):2806-2810.
[8]CHAN T H, JIA K, GAO S, et al. PCANet: A simple deep learning baseline for image classification?[J]. IEEE Transactions on Image Processing, 2015,24(12):5017-5032.
[9]HOU X, ZHANG L. Saliency detection: A spectral residual approach[C]//2007 IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2007:1-8.
[10]CHENG M M, ZHANG Z, LIN W Y, et al. BING: Binarized normed gradients for objectness estimation at 300fps[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2014:3286-3293.
龙 钢,任健强,龚小谨
(浙江大学信息与电子工程学院,浙江 杭州 310027)
A PCANet-based Algorithm for Ship Detection on the Sea Surface
LONG Gang, REN Jianqiang, GONG Xiaojin
(CollegeofInformationScienceandElectronicEngineering,ZhejiangUniversity,HangzhouZhejiang310027,China)
To develop the vision perception system of unmanned surface vehicles, this paper employs the principal component analysis net(PCANet) which is a simple deep learning baseline, and proposes an algorithm for ship detection on the sea surface. First, it inputs a surface vehicle image, and then determines the hypothesis area of the target. Second, it classifies the detected areas using PCANet model, together with a support vector machine(SVM), and gets the final dichotomous result. The experimental results show that the designed algorithm can successfully output the result of ship detection on the sea surface, and verify that the PCANet method has fast training time and high accuracy, prove that PCANet has the advantages in feature extraction.
ship detection; deep learning; principal component analysis net; saliency detection; support vector machine
2016-09-20
国家高技术研究发展计划(863计划)资助项目(2014AA09A510)
龙钢(1994-),男,陕西西安人,本科生,信息与通信工程.通信作者:龚小谨副教授,E-mail:gongxj@zju.edu.cn.
TP391.4
A
1001-9146(2017)02-0023-05