声音识别和自然语言处理类似,声音和文本都是一种序列化的数据。自然语言处理要处理文本,首先要将文本表示成为计算机能够识别的数据,比如one-hot编码,词袋模型,或者训练成词向量嵌入到空间内。在声音领域内,声音可以通过librosa库进行特征处理,例如提取melspectrogram,mfcc特征。进而可以成为计算机可以识别,处理的数据。
本次做食物声音识别,共有20种咀嚼食物的声音,如咀嚼肉饼,卷心菜等。baseline采用的是CNN,最后一层接全连接层,激活函数采用softmax,做多种声音识别
提取特征后的数据要经过处理输入到Conv2D函数中,Conv2D处理的数据是四维数据,且Conv2D处理的数据格式为conv2d(in_channels,out_channels,kernel_size, stride=(1,1),padding=0,dilation=(1,1),groups=1)。
经过处理之后X-train格式为(750,16,8,1),X-test格式为(250,16,8,1),四维数据的物理意义为(batch_size, channel, height, width)
经过CNN网络,卷积,池化,flatten,最后经过softmax分类经过的网络结构如下图所示,总共的参数为1144596个
Layer (type) Output Shape Param #
conv2d (Conv2D) (None, 16, 8, 64) 640
max_pooling2d (MaxPooling2D) (None, 8, 4, 64) 0
conv2d_1 (Conv2D) (None, 8, 4, 128) 73856
max_pooling2d_1 (MaxPooling2 (None, 4, 2, 128) 0
dropout (Dropout) (None, 4, 2, 128) 0
flatten (Flatten) (None, 1024) 0
dense (Dense) (None, 1024) 1049600
dense_1 (Dense) (None, 20) 20500
Total params: 1,144,596
Trainable params: 1,144,596
Non-trainable params: 0
框架选用的是基于tensorflow的kears框架,最后将训练后的model应用到测试数据,即可预测测试声音的标签,结果并保存到submit.csv
Original: https://blog.csdn.net/qq_33588413/article/details/115666469
Author: qq_33588413
Title: 语音识别-食物声音识别
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/526878/
转载文章受原作者版权保护。转载请注明原作者出处!