随着内河水运事业的迅猛发展,内河通航环境日益复杂,船舶航行风险加大,传统的巡航模式已无法满足保障水运监管安全的需要。因此研究各个水域监控点视频,建立一个内河道智能监控系统和管理平台非常重要。
智能视频监控利用计算机视觉和图像处理的方法对图像序列进行目标检测、目标分类、目标跟踪以及对监视场景中目标行为的理解与描述。目标检测是后期进行目标跟踪、对行为进行理解的重要基础,属于最底层的视频监控体系,其性能好坏直接影响后续目标跟踪等算法的性能。与道路车辆检测不同,内河船舶的背景图像较为复杂,并且面临光照影响、船舶移动速度低和易受波光影响等挑战,增加了船舶检测的难度。一般的运动物体检测算法难以检测到内河船舶,因此有必要开发高效的内河船舶检测算法[1]。
传统上有3种目标检测方法:光流法[2]、帧间差分法[3]和背景建模法[4]。其中,光流法通过灰度图像中像素的运动矢量来提取和跟踪物体,它具有较高的检测精度,但抗噪能力差。此外,光流法较为复杂,如果没有特定的硬件支持,不能满足实时性要求。帧间差分法通过计算相邻两帧之间的差值,对结果做阈值化处理提取运动目标,该方法计算量较小,可实时有效地实现对运动目标区域的检测,但是对“慢速”目标不敏感,并且对环境噪声十分敏感,通过帧间差分法很难获得完整的运动对象。
背景建模法是通过对当前帧与背景模板之间的差值做阈值化处理来提取出运动区域,该方法不仅可以适应多变的环境,还可以检测到完整的运动物体。因此,研究人员重点研究了背景建模法。其中典型的算法包括Wren等[5]提出的单高斯背景模型(single-gaussian background model,SGM),是一种图像处理背景提取的处理方法,适用于背景单一不变的场合。Stauffer等[6]提出的高斯混合模型(gaussian mixture model,GMM),是将一个事物分解为若干的基于高斯概率密度函数形成的模型。Van Droogenbroeck等[7]提出的ViBe模型,随机选择需要替换的像素的样本,随机选择邻域像素进行更新,是一种像素级的检测算法。而当船舶航行时,背景建模法会受到波浪、光照、阴影和树叶摇动等外界条件影响,出现误检现象。
卷积神经网络(convolutional neural networks,CNN)是一种前馈神经网络,使图像可以直接作为网络的输入,避免了传统识别算法中复杂的特征提取和数据重建过程[8]。与传统方法相比,卷积神经网络可以有效解决外界条件影响,更适合内河船舶的目标检测。为此,本文提出了基于卷积神经网络的单次多框检测器(single shot multibox detector,SSD)检测方法,能够快速精确的检测出内河船舶目标。
卷积神经网络主要由卷积层、池化层和全连接层组成。卷积层与前一层的局部接受域相连,做卷积运算并提取该局部区域的特征。池化层是对上一层的数据进行抽样或聚合,选择该区域的最大值(或平均值)取代该区域,使数据的敏感度大大降低,同时也在保留数据信息的基础上降低了数据的计算复杂度。全连接层在整个卷积神经网络中起到分类器的作用,将学到的分布式特征表示映射到样本标记空间。
目前应用广泛的多目标检测算法的网络模型有Faster R-CNN[9]、YOLO(you look only once)[10]、SSD[11]等。其中,SSD结合了YOLO中的回归思想和Faster R-CNN中的选框机制,使用全图各个位置的多尺度区域特征进行回归,既保持了YOLO速度快的特性,也保证了窗口预测的跟Faster R-CNN一样比较精准。因此本文采取基于卷积神经网络的SSD模型来进行船舶视频的目标检测。
1 SSD目标检测算法实现 1.1 SSD网络模型本文的SSD框架结构如图 1所示,采用了VGG[12]网络结构的前5层,然后利用astrous算法,后2个全连接层转化成2个卷积层,再格外增加了3个卷积层和1个平均池化层。给定一个输入图像和一组真相标签,通过SSD中一系列卷积层传递图像,在不同的尺度上产生几个不同的特征映射。对于每个特征映射中的每个位置,使用3×3的卷积过滤器来评估小组默认边界框,这些默认边界框本质上等同于Faster R-CNN的锚箱。对于每个边界框,同时预测a边界框偏移量和b类概率,最后通过非极大值抑制得到每个物体在图像中的位置以及图像中的物体类别。在训练过程中,将地面真相框与基于IoU的预测方框进行匹配。最好的预测框将被标记为“positive”,以及其他所有具有实际值大于0.5的IoU框。
Download:
|
|
SSD网络模型的训练同时对位置和目标种类进行回归,其目标损失函数是置信度损失和位置损失之和,其表达式为:
$ L\left( {x, c, l, g} \right) = \frac{1}{N}\left( {{L_{{\rm{conf}}}}\left( {x, c} \right) + \alpha {L_{{\rm{loc}}}}\left( {x, l, g} \right)} \right) $ | (1) |
式中:N为匹配的默认边框的数目;L(x,c)为置信度损失;L(x,l,g)为位置损失;z为默认框与不同类别的真实物体框的匹配结果;c为预测物体框的置信度;l为预测物体框的位置信息;g为真实物体框的位置信息;α为权衡置信损失和位置损失的参数,一般设置为1。
置信度损失是希望预测的类别更加准确,位置损失希望预测的边界框和先验框的差距尽可能跟真实框和先验框的差距接近,这样预测的边界框就能尽量和真实框一样。在训练过程中,损失函数会计算真实值和预测值之间的误差,从而指导学习的走向,训练出性能较好的预测模型。
1.3 数据集构建SSD把检测和分类一体化,实现端对端的训练。训练过程主要包括数据集构建和迁移学习应用。数据集包括训练集、验证集和测试集,采用了常州花园街大桥、淮安二堡船闸、无锡四河口、扬州茱萸湾等地的视频源。从视频源中提取1 000张图片作为训练集和验证集,后2个视频中的图片用作测试集。样本的采集要兼顾不同的时间段,保证样本的全面性,这对于最后检测器的泛化性能有重要影响。
与目标识别方法不同,SSD的训练样本需要手动标定其中的船舶,因此训练图片都是包含有船舶位置信息的图片。为了增加样本的多样性,缓解训练过程中的过拟合现象,本文对训练的船舶样本做样本增强,对每一个样本进行水平翻转和对比度调整,成倍的增加样本数量,如图 2所示。通过样本增强,数据集的图片扩展到3 000张。其中2 100张训练集,900张验证集,图像尺寸为856×480,每批训练图片数量设置为24,迭代次数为20 000。
Download:
|
|
训练采用前文提过的SSD模型,因为标定的数据量只有3 000张,在庞大的神经网络参数面前显得非常少,如果从头开始训练SSD网络,则参数不好调整并且特征提取泛化能力不强。因此在训练SSD神经网络时利用迁移学习技术,将原有模型的参数信息作为要训练的新模型的初始化参数。原有模型采用PASCAL VOC数据集训练好的模型,PASCAL VOC为图像识别和分类提供了一整套标准化的优秀的数据集,其模型前几层的特征层主要是图像的基本特征,这些特征与船舶具有相似性,存在可以迁移的目标基础,因此在训练船舶目标检测网络时可以只训练最后几层的特征层,在提高训练效率的同时,也可以实现更好的泛化能力。
2 实验结果分析本文选取在常州龙城大桥、无锡沿山大桥等3组船舶监控视频进行算法的验证与分析。仿真实验的操作系统为Ubuntu16.10,处理器型号为Inter(R)Xeron(R) E5-2650 v2,主频为2.60 GHz,显卡为NVIDIA GeForce GTX TITAN Blank。将背景建模法与SSD算法的结果进行比较,从定性和定量两方面来评价本文SSD算法的目标检测效果。
2.1 定性分析图 3与图 4为监控视频下2种方法的检测结果。本文对比了背景建模法与SSD算法的船舶目标检测效果,其中背景建模基于Vibe算法。船舶在行驶过程中会产生波浪,由于波浪的影响,图 3(a)中产生了误检现象,并且经Vibe算法检测的船舶框比真实框要大,而SSD算法的框图较之相对准确。对比图 3(b)与图 4(b)发现,当水面上产生波光或者岸边树叶晃动时,Vibe算法出现了漏检和误检现象,SSD算法并没有出现这种情况。SSD算法基于卷积神经网络,避免了复杂的特征提取过程,对识别位移、缩放和扭曲具有良好的鲁棒性,而Vibe算法依赖于背景建模效果,检测结果相对不稳定。综上所述,基于卷积神经网络的SSD算法可以有效解决波浪、树叶晃动等外界条件影响,具有良好的鲁棒性。
Download:
|
|
Download:
|
|
为了进一步验证本研究方法的有效性,本文选取准确率Pr、召回率Re和调和平均F1以及检测耗时对船舶的识别结果进行定量评价,其计算公式:
$ \left\{ \begin{array}{l} {P_r} = \frac{{{\rm{TP}}}}{{{\rm{TP}} + {\rm{FP}}}}\\ {R_e} = \frac{{{\rm{TP}}}}{{{\rm{TP}} + {\rm{TN}}}}\\ {F_1} = \frac{{2{\rm{TP}}}}{{{\rm{TP}} \times 2 + {\rm{FP + TN}}}} \end{array} \right. $ | (2) |
式中:TP为正确检测的船舶数量;FP为错误检测的船舶数量;TN为漏检的船舶数量。
表 1列出了2种方法在3组测试视频下的评价指标对比,实验结果表明,本文采用的SSD方法召回率Re与Vibe算法相当,而本文算法的准确率Pr和调和平均F1均明显高于Vibe算法,传统背景建模法的误检目标数量远大于基于卷积神经网络的SSD算法。经研究发现误检的目标大部分是船舶产生的波浪和岸边树枝晃动,而SSD算法只针对船舶特征进行学习与检测,可以有效减少类似的误检情况。
实验中SSD算法对所有船舶图片的平均检测时间为125 ms,耗时高于背景建模法。在实际应用中,尽管该算法时间复杂度较高,但实时性可以满足实际要求。因此相比于背景建模法,基于卷积神经网络的SSD算法具有更高的检测率和更低的误检率,鲁棒性强,具有很好的应用前景。
3 结论1) 通过对训练的船舶样本做样本增强,可以丰富船舶图像训练集,更好的提取图像特征,泛化模型,也可以解决船舶样本数量不足的问题。
2) 利用迁移学习技术,先使用在Image Net竞赛中训练好模型的前几层参数来提取浅层特征,再加上标注好的船舶样本来训练新的模型。可以避免新的网络训练比较复杂,参数不好调整并且泛化能力不强的问题。
3) 相比于传统的目标检测方法,本文提出的SSD检测算法能够克服在波浪和岸边树叶晃动下造成的误检,其对不同清晰度、不同监控视角、不同船舶类型的场景具有很好的鲁棒性和实时性,工程适用性强。
[1] |
黄洁, 姜志国, 张浩鹏, 等. 基于卷积神经网络的遥感图像舰船目标检测[J]. 北京航空航天大学学报, 2017, 43(9): 1841-1848. HUANG Jie, JIANG Zhiguo, ZHANG Haopeng, et al. Ship object detection in remote sensing images using convolutional neural networks[J]. Journal of Beijing University of Aeronautics and Astronautics, 2017, 43(9): 1841-1848. (0) |
[2] |
BARRON J L, FLEET D J, BEAUCHEMIN S S. Performance of optical flow techniques[J]. International journal of computer vision, 1994, 12(1): 43-77. (0)
|
[3] |
ALI A T, DAGLESS E L. Alternative practical methods for moving object detection[C]//Proceedings of 1992 International Conference on Image Processing and ITS Applications. Maastricht, 1992: 77-80.
(0)
|
[4] |
HARITAOGLU I, HARWOOD D, DAVIS L S. W4:real-time surveillance of people and their activities[J]. IEEE transactions on pattern analysis and machine intelligence, 2000, 22(8): 809-830. DOI:10.1109/34.868683 (0)
|
[5] |
WREN C R, AZARBAYEJANI A, DARRELL T, et al. Pfinder: real-time tracking of the human body[C]//Proceedings of the Second International Conference on Automatic Face and Gesture Recognition. Killington, 1996: 780-785. https://www.media.mit.edu/publications/pfinder-real-time-tracking-of-the-human-body-2/
(0)
|
[6] |
STAUFFER C, GRIMSON W E L. Adaptive background mixture models for real-time tracking[C]//Proceedings of 1999 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (Cat. No PR00149). Fort Collins, 1999, 2: 246-252. https://wenku.baidu.com/view/511754bf1a37f111f1855b84.html
(0)
|
[7] |
BARNICH O, VAN DROOGENBROECK M. ViBe:a universal background subtraction algorithm for video sequences[J]. IEEE transactions on image processing, 2011, 20(6): 1709-1724. DOI:10.1109/TIP.2010.2101613 (0)
|
[8] |
MEI Langqi, GUO Jianming, LU Pingping, et al. Inland ship detection based on dynamic group sparsity[C]//Proceedings of the 9th International Conference on Advanced Computational Intelligence. Doha, 2017: 1-6.
(0)
|
[9] |
REN Shaoqing, HE Kaiming, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[C]//Proceedings of the 28th International Conference on Neural Information Processing Systems. Montreal, 2015: 91-99.
(0)
|
[10] |
REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, 2016: 779-788.
(0)
|
[11] |
LIU Wei, ANGUELOV D, ERHAN D, et al. SSD: single shot MultiBox detector[M]//LEIBE B, MATAS J, SEBE N, et al. Computer Vision-ECCV2016. Cham: Springer, 2016: 21-37.
(0)
|
[12] |
SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[Z]. arXiv preprint arXiv: 1409.1556, 2014.
(0)
|