APP下载

基于卷积神经网络的过闸船舶越限识别方式

2024-01-01熊先华宾进宽姜飞

西部交通科技 2024年5期
关键词:识别卷积神经网络

摘要:高水头船闸在泄水过程中,若船舶位置越过闸室警戒线,则可能会导致泄水时船舶碰撞到闸室门槛,造成不安全事件。文章应用卷积神经网络进行深度学习的方法,通过建立实际训练网络、收集现场数据进行验证,研讨一种船舶越线的识别方式,对船舶是否越线进行检测。实验结果表明,该方式能有效克服水位的影响,具有较高的识别正确率,证明基于卷积神经网络的识别技术对比传统特征提取识别技术具备一定的先进性。

关键词:卷积神经网络;船舶越限;识别

U641.7+8A581864

0 引言

高水头船闸在船闸闸室充水完成后,闸首门槛被闸室内上升的水位淹没,进闸船舶无法通过目视确定闸首门槛具体位置,只能通过警戒线来判断闸首门槛大概位置。在船闸泄水时,若船舶尾部位置越过闸室警戒线,则在闸首门槛露出水面时,船舶尾部会碰撞闸室门槛,造成船舶损坏、影响船闸通航能力等不安全事件发生。船舶位置是否越过闸室警戒线目前多数靠船闸值班调度员通过摄像头观察确定,随着船闸控制系统的集约化发展,船闸值班调度员监控的船闸数量不断增加,一般情况下船闸值班调度员会在船闸人字门关门时通过摄像头观察闸室船舶是否越过警戒线,在泄水过程中不会对船舶是否越过警戒线进行持续性观察,存在一定的安全隐患。

由于人员精力有限,依靠人工监控船舶是否越过警戒线存在一定的不足,对于提高整个船闸的安全性与过闸效率有着一定的制约。船闸常用船舶越限检测技术手段一般通过激光器进行检测,但在高水头船闸中,水质比较浑浊、水面有杂物等因素,将极大干扰激光的测量数据,导致检测结果不准确。随着图像算法技术的不断发展,使用摄像头图像检测船舶越线亦开始应用于现场。图像识别常用的技术手段为特征提取识别和神经网络识别。本文通过建立实际训练网络、收集现场数据进行验证,对比传统特征提取识别技术和神经网络识别技术的识别效果,证明基于卷积神经网络的识别技术对比传统特征提取识别技术具备一定的先进性。

1 传统特征提取识别技术介绍

统计学习方法在20世纪90年代大放异彩,1995年统计学家Vapnik提出了SVM算法,其具备完备的理论基础(凸优化和统计学),并且在分类任务领域取得了卓越的成就[1]。SVM支持向量机(support vector machines,SVM)是一种二分类模型,而船舶越限行为本质上也是一个二分类问题:警戒线附件有没有船,所以SVM算法在船舶越限识别中具有良好的适应性。但实际船闸运行情况复杂多变,SVM算法适用于中小型数据样本、非线性、高维的分类问题,通过OpenCV建立的SVM算法在面对上万张船舶越限样本的识别率并不高,需要不断增大训练模型。SVM算法是人工监督学习,增大训练模型需要人工不断提取特征进行修正,工作量巨大,所以SVM算法在大型数据样本的分类问题上存在一定程度的缺陷。

2 神经网络识别技术介绍

基于人工神经网络的目标识别算法是基于生物神经元连接,模拟人脑信息机制抽象出一种非语言非逻辑的人工智能算法。2013年基于候选区域的卷积神经网络目标检测模型被Girshick等提出,使用神经网络完成自动抽取特征,解决了需要人工对特征进行构造的问题[2]。由此,神经网络识别技术进入快速发展时代。卷积神经网络(Convolutional Neural Network,CNN)是处理网格结构的一种专用网络,多用于图像处理。卷积网络的特别之处在于神经网络结构中至少有一层网络运算为卷积操作[3]。卷积结构可以减少深层网络占用的内存量,其有三个关键的操作,其一是局部感受视野,其二是权值共享,其三是pooling层,有效地减少了网络的参数个数,缓解了模型的过拟合问题。

由于船闸现场对比公路汽车识别问题属于处理数据量相对较轻的,故使用轻量级网络进行训练能节约训练时间及识别时间。CNN网络常用的轻量级网络模型有:VGG16、GoodLetNet、ResNet。考虑船闸现场场景的相对简化,并且是二分类问题,故本文使用GoodLetNet作为主要训练网络。

3 GoodLetNet网络介绍

GoodLetNet网络参数为500万个,AlexNet网络参数个数是GoodLetNet的12倍,VGG16参网络数又是AlexNet的3倍,因此在有限算力资源下,GoodLetNet的性能也更加优越,识别速度更快,可以满足实际应用需要。

3.1 损失函数

每一个样本经过模型后会得到一个预测值,然后得到的预测值和真实值的差值就成为损失(损失值越小证明模型越是成功)。损失函数的使用主要是在模型的训练阶段,每个批次的训练数据送入模型后,通过前向传播输出预测值,然后损失函数会计算出预测值和真实值之间的差异值,也就是损失值。得到损失值之后,模型通过反向传播去更新各个参数,来降低真实值与预测值之间的损失,使得模型生成的预测值往真实值方向靠拢,从而达到学习的目的。GoodLetNet为了防止梯度消失,在层内增加了两个损失函数:softmax0和softmax1,正是这两个损失函数导致了GoodLetNet虽然扩展性差,但在分类领域还是具有非常高的识别率,这也是本文选择GoodLetNet作为训练网络的原因。

3.2 Softmax损失函数

Softmax的表达式为:

Softmax(s)=esk∑jejk(1)

式中,sk表示的是输入到Softmax函数的数据。 Softmax函数能将输入到它的数据转换为介于0和1的数值,因此通过Softmax函数可以将输入的数据解析成为概率。

3.3 交叉熵损失函数

经过Softmax函数之后的是概率,那么最根本的想法是使正确类别的概率最大。交叉熵损失函数出现的目的就是使正确类别概率最大。

交叉熵是用来衡量两个概率之间的差别。深度学习中使用Softmax输出的概率拟合真实概率,并使得这两个概率之间的交叉熵最小。

假设交叉熵损失函数为L,那么单个样本的损失定义为:

Li=-YilogPi(2)

该式表示样本是Xi的情况下,使用概率分布Pi拟合真实概率分布Yi的误差。将(1)式代入(2)式得:

Li=-YilogeXi∑jeXj(3)

多个样本时,损失函数表达为:

L=1N∑Li(4)

式中,Y=(y1,…,yi)是真实概率,在二分类问题上yi要么为0要么为1;X=(x1,…,xi)是神经网络输出的概率。

3.4 GoodLetNet网络模型

GoodLetNet网络模型的特点是引入了Inception结构(见图1),并且使用1×1的卷积核进行降维以及映射处理。

GoodLetNet使用的降维Inception结构见图2。

图1是Inception初始版本。从图1可以看出,卷积层之间、卷积层和池化层之间是串联结构。而图2增减了三个1×1的卷积核,使得特征矩阵的深度降低,极大地减少了参数,进而减少了计算量。

GoodLetNet整体计算过程如图3所示。

由图3可知,原始图片为224×224×3,最后输出1 000数据特征,将三维数据(224×224×3)降维到一维数据(1 000个数据特征)。

4 基于卷积神经网络的船舶越限识别网络训练

实验平台是装有英特尔i7-13700KF 3.4 GHz,显卡为RTX3060,内存为32 GB,操作系统为Windows 11。利用tensorflow2.0和python 3.9搭建卷积神经网络,将前预处理的图片送进网络进行训练,最后进行优化和验证。总体流程如图4所示。

4.1 获取数据

数据获取来自长洲四线船闸固定摄像头。数据获取从4月开始一直到8月结束,涵盖洪水期、雷雨天气、阴雨天气、晴朗天气、高水位、低水位等多个工况,总图片数约为1万张(见图5)。

4.2 数据预处理

在1万张图片中,提取感兴趣区域(警戒线附近),进行人工进行图片分类(有船或没有船两类),然后在所有图片中随机生产训练集和测试集(见图6)。

4.3 网络模型搭建

使用tensorflow2.0和python 3.9搭建GoodLetNet网络模型。为了以减少通道数,减少模型训练参数,从而降低模型的复杂性,第四条路径使用3×3最大汇聚层,然后使用1×1卷积层来改变通道数。这四条路径都使用合适的填充来使输入与输出的高和宽一致,以保证输出特征能在通道维度上进行拼接。最后将每条线路的输出在通道维度上连结,并构成Inception块的输出(见图7)。

第一条路径:1×1卷积层提取信息。

第二条路径:1×1卷积层减少通道数,3×3卷积层提取信息。

第三条路径:1×1卷积层减少通道数,5×5卷积层提取信息。

第四条路径:3×3最大汇聚层提取信息,1×1卷积层改变通道数。

4.4 训练网络

训练集图片统一转换为224×224大小,并归一化处理,进行分类标签设置,通过数据增强(图片旋转、图片裁剪等)增强数据的多样性,选取50%样本作为训练集,另外的50%样本作为测试集,最后输入网络。网络进行自适应训练,由模型自动调整参数,训练周期为20个训练周期。

4.5 测试网络

对训练好的模型进行测试,联合测试后,出现过拟合情况,测试次数增加,识别率不提高。

4.6 修正网络

根据网络测试的结果,修正学习率,学习次数。

4.7 重新训练

根据新的参数,再次训练网络。

4.8 最优输出

经过重新训练,最终在测试网络时,达到最优输出。

5 识别效果讨论

5.1 神经网络训练识别效果

按照上述流程对数据进行预处理、训练网络、测试网络等步骤,训练网络的识别结果如图8、图9所示。图8~9网络的损失函数在第7次迭代后梯度不再下降,相应的识别准确率也在第7次迭代后达到98%后不再显著增加,在第12次迭代训练后准确率保持在99%以上,证明识别正确率数据良好,所设计的网络可以顺利识别任务。

5.2 实际识别效果对比

本次实验以正确识别和识别时间作为2种方法检测效果的评价指标,正确识别可以反映算法对船舶越限检测的情况,识别时间作为现场应用的重要技术指标。表1反映了实际测试下两种识别方法的检测效果。

由表1可知,GoodLetNet网络能够顺利完成完成识别任务,SVM算法在识别上存在一定的错误识别。由于GoodLetNet网络运行中使用了tensorflow的张量并行加速,充分发挥GPU的计算性能,识别时间上相较于传统的SVM算法运行有了大幅提高,具备应用于现场的运行性能。

为了验证训练好的卷积神经网络在实际中的识别准确率,进行了准确率识别试验,识别正确率为识别正确的图片数量对比测试图片总样本数量。试验图片随机从现场摄像头中提取,以500张图片为测试基数,每次增加500张测试图片,并计算训练好的卷积神经网络识别正确率,具体数据如表2所示。

由表2可知,随着试验的图片增加,识别正确率有一定的下降,这主要是随着测试样本数量的增加,随机挑选的夜间图片数量增加,夜间图片正确识别率相对降低。但该网络总体上保持了较高的识别正确率,随着测试样本的继续增加,识别正确率趋向稳定。

6 结语

通过实际搭建卷积神经网络进行训练及测试,在固定摄像头位置的情形下,卷积神经网络识别船舶越限的正确率相比于传统的特征提取算法具有更高的识别正确率,并可以充分利用GPU的运算性能,提高网络运行速度,实现工业级别的运算性能。同时,在现实应用中,情形是多变的且复杂的,卷积神经网络在夜间情形下识别正确率仍旧不高,需要通过红外摄像头或辅助激光雷达辅助进行综合判定,以提高识别正确率。

参考文献:

[1]陈 壮.基于卷积神经网络的内河船舶检测与识别研究[D].大连:大连理工大学,2020.

[2]曲颖丽.基于卷积神经网络的船舶识别[D].大连:大连海事大学,2020.

[3]罗文慧.智慧交通背景下道路交叉口交通流控制模型与算法研究[D].北京:北京交通大学,2019.

猜你喜欢

识别卷积神经网络
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
法学意义上的弱者识别问题研究
深度学习算法应用于岩石图像处理的可行性研究
浅谈哈密瓜病虫害的防治措施
基于深度卷积网络的人脸年龄分析算法与实现
苹果树常见病虫害防治技术
青岛市中山公园园林树木易混淆品种识别
基于卷积神经网络的树叶识别的算法的研究
论犯罪危险人格的识别