根据2021年全国渔业经济统计公报显示, 截止到2021年末中国渔船总数为52.08万艘, 呈不断下降趋势. 但仍存在过度捕捞、非法捕捞等问题, 严重威胁渔业生态安全[1]. 所以如何加强渔船监管能力, 有效保护渔业资源是近几年研究的热点问题之一. 渔船作业行为识别可根据安装在渔船上的船载终端连续传输的时空位置数据判定渔船所处的作业方式, 以此来规范渔船捕捞行为, 掌控捕捞作业强度, 感知渔场态势和动态变化[2], 为渔船监管和渔业资源的保护提供强有力的支持.
近年来, 随着人工智能领域的迅猛发展, 不断有国内外学者针对渔船行为识别问题使用传统的机器学习和深度学习方法进行研究. Vermard等[3]提出了一种基于隐马尔可夫过程(HMP)的贝叶斯层次模型(HBM)来区分渔船一段轨迹中不同的行为状态. Zhang等[4]提出了一种基于多步聚类算法的捕鱼行为识别方法, 可以根据当前的轨迹数据实时判断渔船处于捕鱼状态、航行状态还是停泊状态. Huang等[5]提出了一种基于VMS轨迹的渔船类型识别方案: FVID, 以XGBoost的特征工程和机器学习方案为两个关键模块, 将渔船分为9类. 单晓英等[6]则使用麻雀搜索算法(SSA)优化过的支持向量机(SVM)模型来对渔船捕捞方式进行识别, 并取得了较高的识别率. 以上都是基于传统的机器学习知识对渔船行为识别问题进行研究, 虽都取得了一定的效果, 但需依靠大量的先验知识, 经过复杂的特征工程后才能取得较好的效果.
深度学习模型则可以自动提取数据特征并具有更强的学习能力和泛化能力, 因此以卷积神经网络(con-volutional neural networks, CNN)[7]和循环神经网络(recurrent neural network, RNN)[8]为代表的深度学习算法逐渐被应用到各领域的分类任务中. Kroodsma等[9]通过训练两个卷积神经网络(CNNs)并结合AIS数据将深度学习应用于渔船作业类型识别. Rainey等[10]使用卷积神经网络从卫星图像中自动识别船舶类型, 并取得了较好的分类效果. 李盼等[11]利用CNN提取电子卷宗图像的静态特征, 利用RNN提取电子卷宗时序信号的动态特征, 结果表明电子卷宗的自动识别准确率可达到95%以上. 胡涛[12]基于北斗轨迹序列数据使用两层长短期记忆网络(LSTM)构建了渔船作业方式判别模型预测围网、刺网和拖网3种渔船作业方式. 然而传统的卷积神经网络更适合于图像识别领域, 在时空数据分类任务中应用CNN还需要进一步改进, 同时直接使用循环神经网络也会存在特征丢失、长期依赖等问题.
综上所述, 本文使用一维卷积神经网络和门控循环单元网络(gated recurrent unit, GRU)直连的网络结构, 完成渔船轨迹数据空域特征和时域特征的提取; 然后在循环层加入自注意力机制突出重要特征对分类结果的影响; 最后引入dropout层和自适应矩估计优化算法Adam的变体Rectified Adam (RAdam)算法改进和优化网络, 防止过拟合问题的发生, 提高网络输出的准确性. 经实验表明, 基于以上深度学习方法构建的渔船作业方式识别模型(1DCNN-SAGRU)在准确率和稳定性方面均优于其他模型, 可推广应用于各渔业渔船动态监管平台中.
1 数据准备 1.1 数据源本文实验所需渔船轨迹数据来源于山东籍渔船搭载的北斗船载终端每10 min左右上报的时空轨迹点, 该数据包含渔船北斗ID、经纬度、速度等动态信息. 但实时的动态信息并不包括渔船的作业行为, 所以需要根据北斗ID与渔船注册登记时所存储的静态信息进行匹配, 获取完整的轨迹点信息, 如表1所示. 然后根据北斗ID和船名筛选出每一条渔船的所有轨迹点生成渔船出海作业时的完整轨迹序列, 并将其在MapTalks加载的天地图中进行可视化, 如图1所示, 可初步了解不同渔船的作业方式及相应的轨迹特征, 为下一步基于轨迹序列的数据清洗和作业方式识别提供先验知识.
1.2 数据清洗
数据采集过程中需要经历多个步骤, 而设备异常、网络中断以及天气、地理等因素的变化都有可能产生异常轨迹数据. 常见的轨迹异常包括轨迹点冗余、轨迹点缺失、轨迹点漂移. 当轨迹点发生冗余时可根据时间一致性原则将冗余的数据直接去除保留一条; 轨迹点少量缺失情况可采用插补法进行修复, 针对轨迹点漂移现象, 如图1(a)中所示, 也可以使用插补法处理, 只不过需要先将漂移轨迹点剔除, 本文采用的插补法公式如下所示:
$ {{{y}}_i} = {y_m} + \frac{{k({y_m} - {y_n})}}{{{t_m} - {t_n}}} $ | (1) |
其中,
为解决使用深度学习方法识别渔船作业行为时, 单独使用卷积神经网络和循环神经网络会出现不适用和精度低等问题, 提出了基于改进1DCNN-SAGRU的渔船作业方式识别模型, 如图2所示, 其详细构建过程如下.
(1)输入特征选取. 经由数据清洗后得到的每一条渔船轨迹都有大量的轨迹点数据, 直接使用原始参数作为输入会在循环层造成信息丢失现象. 本文对每一条轨迹进行二次分段, 每一条划分为64段, 统计选取每一段渔船轨迹的10个特征: 经度均值(lon_mean)与75%分位数(lon_3/4)、纬度均值(lon_mean)与25%分位数(lon_1/4)、经纬度协方差矩阵(xy_cov)、时空差均速(skd_vmean)、速度均值(v_mean)、速度标准差(v_std)与75%分位数(v_3/4)和方向均值(d_mean), 作为模型的输入.
(2)标准化. 为解决各特征的量纲和数值的量级间的差异性, 使得不同的特征具有相同的尺度. 本文使用标准分数标准化(Z-Score), 计算公式如下:
$ {x_{{\rm{new}}}} = \frac{{x - u}}{\sigma } $ | (2) |
其中,
(3)将所有的特征序列划分为训练集(80%)、验证集(10%)和测试集(10%), 其中训练集用于训练模型及确定参数, 验证集用于确定网络结构及调整模型的超参数, 测试集留做模型的最终评估.
(4)构建1DCNN-SAGRU模型, 模型结构如图2所示. 输入和输出时使用全连接层对轨迹特征序列做线性变换, 同时在一维卷积层的前后使用激活函数LeakyReLU[13]添加非线性因素, 提高模型的鲁棒性和收敛速度. 模型首先接收轨迹特征序列作为输入, 在一维卷积层挖掘数据空间特征后输入到循环层提取数据之间的时序规律, 然后使用自注意力方法筛选不同时刻的状态特征, 最后将保留的信息送入全连接层进行线性变换后输出得到分类结果.
(5)引入dropout机制改进模型. 当预测模型的训练误差较小, 测试误差较大且远大于训练误差时, 这种模型预测结果被称为过拟合[14]. 加入dropout方法的网络在训练时可以以一定的概率使得一部分节点随机失活, 减弱节点之间的联系, 提高模型的泛化能力, 防止过拟合现象的发生.
(6)选择RAdam优化器作用于模型的训练过程. RAdam是Adam[15]算法的一种变体, 可以自动地、动态地调整自适应学习率, 有效地防止使用Adam优化器在训练初期可能会陷入局部最优解问题的发生.
(7)采用交叉熵损失函数, 交叉熵表示为真实概率分布与预测概率分布之间的差异, 常用于分类任务中, 其计算方法是:
$ L = - \sum\limits_{i = 1}^n {{y_i}} \log (S({f_\theta }({x_i}))) $ | (3) |
其中,
(8)使用训练集和验证集不断训练和调整模型参数.
(9)输出最优模型并用于后续测试评估.
2.2 一维卷积神经网络卷积神经网络是一种带有卷积结构的深度神经网络, 能够从原始数据中提取出更高层次和更抽象的数据特征. CNN主要有3部分构成: 卷积层(convolutional layer)、池化层(pooling layer)和全连接层(fully connected layer). 其中卷积层用来提取数据中的局部信息; 池化层用来降低参数量级; 全连接层则用来输出最终的结果. 同时因CNN具有局部连接、参数共享等特性, 可以有效提取数据特征[16], 在一定程度上修正了全连接神经网络的局限性.
卷积神经网络通常指二维卷积神经网络, 其被广泛应用于图像分类、人脸识别等领域[17]. 而渔船轨迹数据属时空序列数据, 直接使用多维卷积则会造成时间相关性的丢失, 因此本文采用一维卷积神经网络(1DCNN)来提取渔船时空位置数据的局部特征, 且仅使用其中的卷积层, 保证输入到循环神经网络的信息最大化. 1DCNN的卷积层工作时按照固定方向滑动, 通过卷积操作提取一个滑动窗口的特征, 如图3所示, 其中卷积核设置为3, 步长设置为1. 其表达式可作如下描述:
$ {y_{i + 1}} = f({x_{{i}}} \otimes {w_{i + 1}} + {b_{i + 1}}) $ | (4) |
其中,
2.3 门控循环单元网络
循环神经网络是以序列数据
GRU的重置门用于决定舍弃先前信息的程度, 计算公式如下所示:
$ {r_t} = \sigma ({W_r} \cdot [{h_{t - 1}}, {x_t}]) $ | (5) |
其中,
$ {\bar h_t} = \tanh (W \cdot [{r_t} \times {h_{t - 1}}, {x_t}]) $ | (6) |
即
GRU的更新门则可以决定要丢弃哪些信息和要添加哪些新信息, 其计算公式如下所示:
$ {{\textit{z}}_t} = \sigma ({W_{\textit{z}}} \cdot [{h_{t - 1}}, {x_t}]) $ | (7) |
$ {h_t} = (1 - {{\textit{z}}_t}) \times {h_{t - 1}} + {{\textit{z}}_t} \times {\bar h_t} $ | (8) |
式(7)为更新门公式,
注意力机制(attention mechanism)源于对人类视觉的研究, 在深度学习中主要表现为选择对研究目标影响较大的信息特征并为其分配更多的权重. 起初注意力机制被运用于计算机视觉[20], 而后因其独特的关注机制被广泛应用于NLP[21]等其他领域中.
渔船轨迹数据具有多维, 含噪声的特点, 直接使用循环神经网络只能按顺序对同一时间步的所有特征向量赋予相同的权重, 其噪声数据也会被完整地保留下来并对分类的结果造成不好的影响, 因此本文使用自注意力机制(self-attention)来改进门控循环单元形成SAGRU网络, 如图5所示. 自注意力机制是注意力机制的一个变体, 它更关注于输入信息的内部关联性, 利用其可以为重要信息分配更大权值的特性加大关键信息的影响力, 进而提高渔船作业行为识别的准确率. 本文中所使用的自注意力机制对GRU输出的数据特征矩阵做如下计算:
$ A{{ttention(Q, K, V) = {\textit{Softmax}}}}\left(\frac{{Q \cdot {K^{\rm{T}}}}}{{\sqrt {{d_k}} }}\right) \cdot {{V}} $ | (9) |
其中,
3 实验与分析 3.1 实验环境
本文算法实验所需的软硬件及环境配置如表2所示.
3.2 评估指标本文采用总体准确率A (Accuracy)评估改进的1DCNN-SAGRU算法对于渔船拖网、围网和刺网作业的识别准确度, 评估公式如下:
$ A = \left(\sum\limits_n^m {\frac{{T{P_n} + T{N_n}}}{{T{P_n} + F{P_n} + F{N_n} + T{N_n}}}} \right)\Bigg/m $ | (10) |
其中,
为了进一步分析本文分类算法和其他对比算法对每一种作业类型的分类效果加入精确率P(Precision)、召回率R (Recall)、F1值(F)作为各个模型的评价标准, 其各自公式如下所示:
$ P = \frac{{TP}}{{TP + FP}} $ | (11) |
$ R = \frac{{TP}}{{TP + FN}} $ | (12) |
$ F = \frac{{2 \times P \times R}}{{P + R}} $ | (13) |
使用训练集和验证集进行模型训练时, 一维卷积的卷积核大小设置为3, 使用双向GRU, 其隐藏层维度设置为64, 优化器使用RAdam优化器, 初始学习率设置为0.000 3, 批大小设置为64, 迭代次数设置为100的同时使用早停止(early stopping)机制, 损失函数采用交叉熵损失, 其训练损失变化趋势如图6所示, 总体准确率变化趋势如图7所示. 由图6和图7可知, 随着训练次数的增加, 模型准确率不断被优化, 当迭代次数达到47次左右时网络达到最优状态, 此时达到收敛条件停止训练并保存最优模型.
3.4 对比实验
为验证本文算法的有效性, 在同等实验环境下, 使用未参与训练的测试集, 并选择传统机器学习模型LightGBM[22]和深度学习模型LSTM[12], 以及将CNN和LSTM并联组合形成的ConvLSTM模型[23]做对比实验. 此部分实验在总体准确率A的基础上加入精确率P、召回率R和F1值F作为模型的评估标准, 揭示各类算法对于每一类渔船作业行为识别的效果. 实验结果如表3所示.
由表3可知, 使用各类实验模型识别渔船作业方式时, 拖网和刺网作业识别的各项评估指标均优于围网作业, 这可能是因为渔船在进行围网作业时具有更灵活多变的方式所导致的. 在对比实验中本文算法相较于LightGBM模型和LSTM模型分别提高了3.4%和1.7%的准确率, 相较于ConvLSTM模型则提高了1.9%的准确率, 相较于仅使用CNN模型而言更是提高了4.4%的准确率. 由此表明了本文提出的改进的1DCNN-SAGRU模型在渔船作业方式识别任务中具有更好的识别效果.
3.5 消融试验为了进一步验证改进的1DCNN-SAGRU模型中加入自注意力机制及采用dropout方法和RAdam优化器的有效性, 采取在本文算法的基础上分别移除上述机制的方式进行消融实验, 以训练准确率和测试准确率作为评判标准, 实验结果如表4所示.
由表4可知, 移除自注意力机制无论是在训练集还是测试集上都对实验结果产生了较大的影响, 准确率分别下降了2.3%和1.8%. 而移除dropout方法后仅对测试集影响较大, 下降了3.2%的准确率, 这可能是过拟合现象的发生所导致的, 将RAdam优化器改成Adam优化器后虽然对模型效果影响不大, 但会仍导致准确率的下降. 由此证明了使用自注意力机制、dropout方法及RAdam优化器改进模型的有效性.
4 总结通过识别渔船的作业类型也可以有效的控制渔船非法捕捞行为, 加强渔业资源的保护, 但渔船作业方式识别不同于传统的渔船状态识别, 后者仅判断渔船处于捕捞或非捕捞状态, 所以前者具有更高的难度. 因此本文以北斗船载终端所上报的渔船轨迹序列作为数据支撑, 搭建改进的1DCNN-SAGRU模型, 利用该模型能有效提取轨迹数据空域和时域特征及自动分析数据中内部信息关系并赋予不同贡献度的优势进行渔船作业方式识别. 经实验表明, 此模型相较于其他模型有着更高的识别准确度, 说明该模型在渔船监管任务中具有良好的应用前景. 由于渔船也配备AIS系统, 未来将继续研究把北斗和AIS数据进行融合以获取更完整的轨迹数据作为模型的研究对象, 进一步提高渔船作业类型识别的准确率.
[1] |
Li JP, Zhu KY, Wang F, et al. Deep neural network-based real time fish detection method in the scene of marine fishing supervision. Journal of Intelligent & Fuzzy Systems, 2021, 41(3): 4527-4532. |
[2] |
许振琦, 汪金涛, 雷林, 等. AIS数据在远洋渔业中的应用研究进展. 海洋渔业. 1–11.
|
[3] |
Vermard Y, Rivot E, Mahévas S, et al. Identifying fishing trip behaviour and estimating fishing effort from VMS data using Bayesian hidden Markov models. Ecological Modelling, 2010, 221(15): 1757-1769. DOI:10.1016/j.ecolmodel.2010.04.005 |
[4] |
Zhang JL, Geng JL, Wan J, et al. An automatically learning and discovering human fishing behaviors scheme for CPSCN. IEEE Access, 2018, 6: 19844-19858. DOI:10.1109/ACCESS.2018.2817486 |
[5] |
Huang HG, Hong F, Liu J, et al. FVID: Fishing vessel type identification based on VMS trajectories. Journal of Ocean University of China, 2019, 18(2): 403-412. DOI:10.1007/s11802-019-3717-9 |
[6] |
单晓英, 任迎春. 基于改进麻雀搜索优化支持向量机的渔船捕捞方式识别. 计算机科学, 2022, 49(S1): 211-216, 222. DOI:10.11896/jsjkx.220300216 |
[7] |
Kim Y. Convolutional neural networks for sentence classification. Proceedings of 2014 Conference on Empirical Methods in Natural Language Processing. Doha: Association for Computational Linguistics, 2014. 1746–1751.
|
[8] |
Elman JL. Finding structure in time. Cognitive Science, 1990, 14(2): 179-211. DOI:10.1207/s15516709cog1402_1 |
[9] |
Kroodsma DA, Mayorga J, Hochberg T, et al. Tracking the global footprint of fisheries. Science, 2018, 359(6378): 904-908. DOI:10.1126/science.aao5646 |
[10] |
Rainey K, Reeder JD, Corelli AG. Convolution neural networks for ship type recognition. Proceedings of the 2016 Automatic Target Recognition XXVI. Baltimore: SPIE, 2016. 984409.
|
[11] |
李盼, 王玉, 吴正午. 基于神经网络的电子卷宗自动分类方法研究. 中国电子科学研究院学报, 2021, 16(4): 363-368. DOI:10.3969/j.issn.1673-5692.2021.04.010 |
[12] |
胡涛. 基于北斗轨迹序列数据的渔船作业方式预测[硕士学位论文]. 武汉: 中南民族大学, 2021.
|
[13] |
Guo XY, Zhang L, Xing YX. Study on analytical noise propagation in convolutional neural network methods used in computed tomography imaging. Nuclear Science and Techniques, 2022, 33(6): 77. DOI:10.1007/s41365-022-01057-3 |
[14] |
车昱娇, 陈云霞, 崔宇轩. KPCA和改进LSTM在滚动轴承剩余寿命预测中的应用研究. 电子测量与仪器学报, 2021, 35(2): 109-114. DOI:10.13382/j.jemi.B2003649 |
[15] |
潘锦业, 王苗苗, 阚威, 等. 基于Adam优化算法和长短期记忆神经网络的锂离子电池荷电状态估计方法. 电气技术, 2022, 23(4): 25-30, 36. DOI:10.3969/j.issn.1673-3800.2022.04.005 |
[16] |
万洪亮, 潘家财, 甄荣, 等. 基于CNN-GRU的船舶轨迹预测. 广州航海学院学报, 2022, 30(2): 12-18. DOI:10.3969/j.issn.1009-8526.2022.02.004 |
[17] |
周飞燕, 金林鹏, 董军. 卷积神经网络研究综述. 计算机学报, 2017, 40(6): 1229-1251. DOI:10.11897/SP.J.1016.2017.01229 |
[18] |
Suo YF, Chen WK, Claramunt C, et al. A ship trajectory prediction framework based on a recurrent neural network. Sensors (Basel), 2020, 20(18): 5133. DOI:10.3390/s20185133 |
[19] |
Chung J, Gulcehre C, Cho KH, et al. Empirical evaluation of gated recurrent neural networks on sequence modeling. arXiv:1412.3555, 2014.
|
[20] |
Larochelle H, Hinton GE. Learning to combine foveal glimpses with a third-order Boltzmann machine. Proceedings of the 23rd International Conference on Neural Information Processing Systems. British Columbia: Curran Associates Inc., 2010. 1243–1251.
|
[21] |
Bahdanau D, Cho KH, Bengio Y. Neural machine translation by jointly learning to align and translate. Proceedings of the 3rd International Conference on Learning Representations. San Diego: ICLR, 2015. 1–15.
|
[22] |
储倩. 基于机器学习的渔船轨迹数据挖掘与行为识别模型[硕士学位论文]. 兰州: 兰州大学, 2021.
|
[23] |
宁耀. 基于深度学习的渔船行为识别方法研究[硕士学位论文]. 兰州: 兰州大学, 2020.
|