Page 38 - 《应用声学》2021年第4期
P. 38
522 2021 年 7 月
频记录,4 类不同的船只目标和 1 类环境噪声,数据 噪声干扰强烈和模糊不清的信号。对数据进行预处
是利用自容式水听器对码头上往来的船只噪声信 理,去除空白信号,并将原始信号按照 5 s 时长进行
号进行记录,以采集不同船速下的噪声以及与进坞 分帧和标注,共生成 1956 个标注样本。将所有样本
或离坞时的空化噪声。由于数据是在真实开放水域 按照7 : 1.5 : 1.5的比例进行随机分割,得到训练集、
中采集的,部分信号中混杂了人说话声、自然背景 验证集和测试集数据样本分别为 1370 个、293 个和
噪声,偶尔也会记录到海洋哺乳动物的声音。最后, 293个。
该数据集由5 类wav格式的90条记录组成。每个类 详细信息如表 2 所示,第一列是声信号目标类
别包含一个或多个目标,每个声频片段的持续时间 别,第二列是每类对应的细分船只,第三列是每类目
从15 s 到10 min 不等。经初步处理后,消除了背景 标的帧数。
表 2 待测试数据集中的目标类别及帧数
Table 2 Target category and number of frames in the data set to be tested
类别 细分船只 帧数
Little boat fishing boats, trawlers, mussel boats, tugboats, dredgers 98/28/ /95/23/52
Moto boat motorboats, pilot boats, sailboats 195/26/76
Passenger passenger ferries 703
Ocean boat ocean liners, ro-ro vessels 174/261
Nature Noise background noise 225
结合本文所述方法和网络模型,采用 Tensor- 8 3_layer loss
3_layer aug loss
flow2.1 和 Librosa [16] 模块对声频信号进行处理,具 7 8_layer VGG loss
8_layer VGG_aug loss
6 ResNet loss
体参数如下: 3_layer Val_loss
3_layer aug Val_loss
特征提取:将输入数据下采样到 22050 Hz, ૯ܿ 5 4 8_layer VGG Val_loss
8_layer VGG_aug Val_loss
3 ResNet Val_loss
STFT 采样窗口为 2048,步长移动率为 25%,然后
2
在加权谱图上利用 Mel 滤波器组,生成 128 bin 和 1
43 帧/s的Mel频谱; 0
0 20 40 60 80 100
数据增强:时域拉伸的尺度选择为rate = {0.8, Epochs
1.2},音调变换中音高 pitch = { − 2, 2},在时频谱 (a) ૯ܿజጳ
图掩蔽中,时间掩蔽的最大值为 T = 30,时间掩蔽 1.0
数m_T = 2,频率掩蔽最大值为 F = 13,频率掩蔽
0.8
数 m_F = 2,输入信号通过数据增强变换后,共产 3_layer acc
3_layer aug acc
生10倍的数据增强; юᆸဋ 0.6 8_layer VGG acc
8_layer VGG_aug acc
ResNet acc
网络训练:将输入数据归一化为零均值和单 3_layer Val_acc
0.4
3_layer aug Val_acc
位方差,采用 Adam 进行优化,损失函数为交叉熵 8_layer VGG Val_acc
8_layer VGG_aug Val_acc
0.2 ResNet Val_acc
(Cross entropy),在卷积层中,采用基于高斯分布的
0 20 40 60 80 100
方法进行随机初始化,以ReLU作为激活函数,使用 Epochs
softmax 函数来获得每个目标类别的概率。训练中, (b) юᆸဋజጳ
共采用 100 个 Epoch,batch_size = 256,初始学习 图 4 不同方法的目标分类性能对比
速率为1 × 10 −4 ,50 ∼ 100迭代周期时线性衰减,最 Fig. 4 Comparison of target classification perfor-
小达到5 × 10 −6 。 mance of different methods
2.2 实验结果 图4(a) 为训练周期中的训练损失曲线,图4(b) 为识
本 文 分 别 验 证 数 据 增 强 和 改 进 的 VGG 网 别率曲线,其中,虚线表示训练集的测试结果,实线
络模型对于水声信号的分类识别结果,如图 4 所示, 表示测试集结果。本文共对比了5种方法,分别为