PS:建议 180% 以上倍率查看 README.pdf,否则可能导致某些图像边缘坐标信息的丢失,可以通过书签页迅速跳转查看各章节。
-
航速:拖网最高(
),其次为刺网(
),最低为张网(
)。浙江数字渔场建设工作方案给出的各类型渔船航速的数据显示,总体速度波动较大,但基本都存在一个稳定的作业速度,所以可以先对速度检测曲线进行类似下图的平滑处理,减少速度曲线的波动。
-
航向(轨迹图):经过观察分析发现各类型渔船的航向图有着各自类型独有的特点,比如拖网航向变化很频繁,轨迹图形成多个集中的区域;张网的航向变化很少,轨迹图多为直线;刺网兼有拖网及张网的特点,需要预处理后才能区分。可以尝试通过卷积神经网络对航向图像进行分类处理(已画出所有拖网船型的轨迹图,无明显可区分特征,未经预处理不适合卷积神经网络直接分类)。
-
航速比:相同类型船只的航速比去除掉一些奇异点之后的直方图拟合曲线具有一定的相似性,具有较强的可区分特征。可以尝试用卷积神经网络做分类(航速比直方图拟合曲线图多为背景信息,图像信息较少,可能结果不是很好,作为第二方案)。
-
航速变化率及航向变化率:可以尝试将航速变化率及航向变化划分为几个区域,然后在这些区域内提取不同的统计学特征用来表征这个类型的船只,关键点在于如何选择合适的区域使得提取的特征具有可区分性。
-
拖网类型船只的总样本数(船号数)为
445
,总的数据组数为17,730,700
,其中船号为47292
的拖网渔船拥有最少记录数据20,922
组,拥有最多记录数据的船号为50029
,包含63,356
组:船号 数据总数(组) 47292(最少数据) 20,922 50029(最多数据) 63,356 所有拖网船只 17,730,700 其中,船号31436,第3411、3412航速数据错误。
-
拖网数据特点: 航速在
及
附近的权重较大,这点与其它两种类型的船只差别较大,因而该航速比直方图特征可直接作为部分的拖网船型的特征(为防止可能存在的错误航速数据的影响,设定航速最大值
,然后归一化处理)。
-
通过先对经、纬度坐标信息做降维去相关处理,然后可以得到每条渔船的
维的特征,随后通过对特征固定数量的采样确保每条渔船的特征维数(暂时取
1000
维)都相同。 -
接着使用主成分分析法从这些
1000
维特征中提取出M
维的特征向量(暂时先取35
维)并做归一化处理,最后将该特征与速占比特征(100
维)结合得到该条渔船最终的特征(135
维)。 -
下图是前两条拖网渔船的最终特征(Intel(R) Xeon(R) CPU @ 2.30GHz下,该类型所有船只的特征提取总耗时约
1511
秒)。
-
张网类型船只的总样本数(船号数)为
77
,总的数据组数为2,875,900
,其中船号为35234
的张网渔船拥有最少记录数据20,557
组,拥有最多记录数据的船号为55430
,包含57,307
组:船号 数据总数(组) 35234(最少数据) 20,557 55430(最多数据) 57,307 所有张网船只 2,875,900 -
张网数据特点: 航速在
之间分布较多,这点与刺网相似,但是张网的航线轨迹图的 目标地点 更加的明确,侧面反映该类渔船的航向变化不是很频繁,这点与其它两种类型的船只差别较大。
-
通过与拖网渔船相同的操作,可以得到该条张网渔船的采样特征。该特征与其它两类船型有着明显的差异性,在一定区域内较为平稳,且有着近似周期的性质。
-
前两条张网渔船的最终
135
维特征(该类型所有船只的特征提取总耗时约243
秒)。
-
刺网类型船只的总样本数(船号数)为
173
,总的数据组数为8,481,908
,其中船号为52251
的刺网渔船拥有最少记录数据25,871
组,拥有最多记录数据的船号为28824
,包含63,410
组:船号 数据总数(组) 52251(最少数据) 25,871 28824(最多数据) 63,410 所有刺网船只 8,481,908 -
刺网数据特点: 速度直方图分布与张网类型的船只很像,在航线轨迹图上与拖网十分的相似(都在频繁的改变航向)。
-
通过同样的数据预处理操作,可以得到该条刺网渔船的采样特征。该采样特征与其它两类船型的采样特征相比,波动性很明显,是非常好的可区分特征。
-
前两条刺网渔船的最终
135
维特征(该类型所有船只的特征提取总耗时约710
秒)。
-
笼壶类型船只的总样本数(船号数)为
127
,总的数据组数为3,424,891
,其中船号为39278
的笼壶渔船拥有最少记录数据11,412
组,拥有最多记录数据的船号为44967
,包含54,877
组:船号 数据总数(组) 39278(最少数据) 11,412 44967(最多数据) 54,877 所有笼壶船只 3,424,891 -
钓具类型船只的总样本数(船号数)为
6
,总的数据组数为320,988
,其中船号为51554
的钓具渔船拥有最少记录数据42,660
组,拥有最多记录数据的船号为35513
,包含56,327
组:船号 数据总数(组) 51554(最少数据) 42,660 35513(最多数据) 56,327 所有钓具船只 320,988 -
杂渔具类型船只的总样本数(船号数)为
61
,总的数据组数为2,151,697
,其中船号为39441
的杂渔具渔船拥有最少记录数据24,116
组,拥有最多记录数据的船号为46675
,包含57,201
组:船号 数据总数(组) 39441(最少数据) 24,116 46675(最多数据) 57,201 所有杂渔具船只 2,151,697 -
围网类型船只的总样本数(船号数)为
62
,总的数据组数为2,178,901
,其中船号为45232
的围网渔船拥有最少记录数据18,276
组,拥有最多记录数据的船号为47029
,包含63,362
组:船号 数据总数(组) 45232(最少数据) 18,276 47029(最多数据) 63,362 所有围网船只 2,178,901
这 4
种类型渔船所有船只的特征提取总耗时约 660
秒。
对上述提取的特征采用包含 2
个隐层的神经网络做分类,网络结构如下所示:
对 3
种类型共 695
条渔船做分类识别,结果如下所示:
Epoch 1, cross_entropy: 0.8688, accuracy: 64.84%.
Epoch 10, cross_entropy: 0.2746, accuracy: 89.84%.
Epoch 20, cross_entropy: 0.1436, accuracy: 94.53%.
Epoch 30, cross_entropy: 0.0974, accuracy: 97.66%.
Epoch 40, cross_entropy: 0.0647, accuracy: 98.44%.
Epoch 50, cross_entropy: 0.0174, accuracy: 100.00%.
Epoch 60, cross_entropy: 0.0215, accuracy: 100.00%.
Epoch 70, cross_entropy: 0.0161, accuracy: 99.22%.
Epoch 80, cross_entropy: 0.0323, accuracy: 99.22%.
Epoch 90, cross_entropy: 0.0462, accuracy: 98.44%.
Epoch 100, cross_entropy: 0.0179, accuracy: 100.00%.
Epoch 110, cross_entropy: 0.0072, accuracy: 100.00%.
Epoch 120, cross_entropy: 0.0125, accuracy: 100.00%.
Epoch 130, cross_entropy: 0.0077, accuracy: 100.00%.
Epoch 140, cross_entropy: 0.0119, accuracy: 100.00%.
Epoch 150, cross_entropy: 0.0078, accuracy: 100.00%.
Training completed.
Cross_entropy on the whole training set: 0.0034, accuracy: 100.00%.
通过 Tensorboard
进行可视化处理后得到识别精度随迭代次数的变化(由于尚未对特征参数及网络结构优化,所以训练后期仍存在 0.5%
的较小精度波动):
以及交叉熵损失随迭代次数的变化:
采用上述相同的网络结构对 7
种类型(拖网、张网、刺网、笼壶、钓具、杂渔具、围网)共 951
条渔船做分类识别,结果如下所示:
Epoch 1, cross_entropy: 1.6541, accuracy: 39.06%.
Epoch 10, cross_entropy: 0.4156, accuracy: 88.28%.
Epoch 20, cross_entropy: 0.1895, accuracy: 92.19%.
Epoch 30, cross_entropy: 0.1489, accuracy: 94.53%.
Epoch 40, cross_entropy: 0.0976, accuracy: 96.09%.
Epoch 50, cross_entropy: 0.0540, accuracy: 98.44%.
Epoch 60, cross_entropy: 0.0474, accuracy: 98.44%.
Epoch 70, cross_entropy: 0.0320, accuracy: 98.44%.
Epoch 80, cross_entropy: 0.0783, accuracy: 95.31%.
Epoch 90, cross_entropy: 0.0357, accuracy: 98.44%.
Epoch 100, cross_entropy: 0.0133, accuracy: 100.00%.
Epoch 110, cross_entropy: 0.0147, accuracy: 100.00%.
Epoch 120, cross_entropy: 0.0304, accuracy: 99.22%.
Epoch 130, cross_entropy: 0.0150, accuracy: 100.00%.
Epoch 140, cross_entropy: 0.0141, accuracy: 100.00%.
Epoch 150, cross_entropy: 0.0151, accuracy: 100.00%.
Training completed.
Cross_entropy on the whole training set: 0.0089, accuracy: 100.00%.
通过可视化处理后得到识别精度随迭代次数的变化(由于船只类型及样本数的增加,当采用与之前相同的网络结构做分类时,网络对随机小批量样本的识别精度的波动也变大,因而我在不改变总体网络结构的情况下微调了几个超参,使得网络能保持在 3
种类型船只分类任务上的表现):
交叉熵损失随迭代次数的变化:
采用包含 1
个隐层的小波神经网络做特征分类,网络结构与神经网络类似,只是将固定的激活函数换成了可平移缩放的小波函数。
隐层的小波函数采用的是 POLYWOG1
小波[1],左下图所示的为 POLYWOG1
小波的母函数,右下图所示的则为 POLYWOG1
小波母函数的导函数。
同样对 3
种类型共 695
条渔船做分类识别,结果如下所示(60
次迭代之后随机小批量训练数据的识别精度已经稳定在 100%
,最终所有训练集数据的识别精度仍然保持在了 100%
):
Epoch 1, cross_entropy: 0.9755, accuracy: 57.81%.
Epoch 10, cross_entropy: 0.3573, accuracy: 89.84%.
Epoch 20, cross_entropy: 0.2520, accuracy: 91.41%.
Epoch 30, cross_entropy: 0.2118, accuracy: 93.75%.
Epoch 40, cross_entropy: 0.0841, accuracy: 97.66%.
Epoch 50, cross_entropy: 0.0395, accuracy: 99.22%.
Epoch 60, cross_entropy: 0.0217, accuracy: 100.00%.
Epoch 70, cross_entropy: 0.0193, accuracy: 100.00%.
Epoch 80, cross_entropy: 0.0242, accuracy: 100.00%.
Epoch 90, cross_entropy: 0.0102, accuracy: 100.00%.
Epoch 100, cross_entropy: 0.0069, accuracy: 100.00%.
Epoch 110, cross_entropy: 0.0109, accuracy: 100.00%.
Epoch 120, cross_entropy: 0.0064, accuracy: 100.00%.
Epoch 130, cross_entropy: 0.0071, accuracy: 100.00%.
Epoch 140, cross_entropy: 0.0047, accuracy: 100.00%.
Epoch 150, cross_entropy: 0.0056, accuracy: 100.00%.
Training completed.
Cross_entropy on the whole training set: 0.0047, accuracy: 100.00%.
通过可视化处理后得到识别精度随迭代次数的变化(训练后期识别精度无波动,说明小波神经网络的拟合、泛化能力都比普通神经网络要强,更适用于此类型的分类任务):
交叉熵损失随迭代次数的变化(交叉熵损失的波动也小于神经网络):
在7
种类型共 951
条渔船的分类任务上同样采用是包含 1
个隐层相同网络结构的小波神经网络。隐层的小波函数采用的是 POLYWOG2
小波,左下图所示的为 POLYWOG2
小波的母函数,右下图所示的则为 POLYWOG2
小波母函数的导函数。
在船只类型及样本数都增加的情况下,没有经过超参的微调,该网络仍然能够维持在 3
种类型船只分类任务上的表现,结果如下所示(90
次迭代之后随机小批量训练数据的识别精度稳定在 100%
,最终所有训练集数据的识别精度仍然维持在 100%
,POLYWOG1
小波在 100
次迭代之后识别精度能稳定在 100%
):
Epoch 1, cross_entropy: 1.5239, accuracy: 42.97%.
Epoch 10, cross_entropy: 0.6749, accuracy: 80.47%.
Epoch 20, cross_entropy: 0.3296, accuracy: 92.97%.
Epoch 30, cross_entropy: 0.1649, accuracy: 96.88%.
Epoch 40, cross_entropy: 0.1068, accuracy: 97.66%.
Epoch 50, cross_entropy: 0.0574, accuracy: 99.22%.
Epoch 60, cross_entropy: 0.0585, accuracy: 99.22%.
Epoch 70, cross_entropy: 0.0386, accuracy: 100.00%.
Epoch 80, cross_entropy: 0.0137, accuracy: 100.00%.
Epoch 90, cross_entropy: 0.0181, accuracy: 100.00%.
Epoch 100, cross_entropy: 0.0182, accuracy: 100.00%.
Epoch 110, cross_entropy: 0.0124, accuracy: 100.00%.
Epoch 120, cross_entropy: 0.0169, accuracy: 100.00%.
Epoch 130, cross_entropy: 0.0105, accuracy: 100.00%.
Epoch 140, cross_entropy: 0.0100, accuracy: 100.00%.
Epoch 150, cross_entropy: 0.0130, accuracy: 100.00%.
Training completed.
Cross_entropy on the whole training set: 0.0102, accuracy: 100.00%.
通过可视化处理后得到识别精度随迭代次数的变化:
交叉熵损失随迭代次数的变化:
脚注 (Footnote)
[1]: Othmani M, Khlifi Y. 3D Object Model Reconstruction Based on Polywogs Wavelet Network Parametrization[J]. World Academy of Science, Engineering and Technology, International Journal of Computer, Electrical, Automation, Control and Information Engineering, 2016, 10(7): 1289-1294.