一种基于声音和图像多模态协同学习的路面材质识别方法

文档序号:25860005发布日期:2021-07-13 16:15阅读:135来源:国知局
一种基于声音和图像多模态协同学习的路面材质识别方法

本发明涉及一种基于声音和图像多模态协同学习的路面材质识别方法,属于移动机器人路况识别与自主导航技术领域。



背景技术:

当前,智能移动机器人已经被广泛应用于工业、农业、国防、医疗、服务等行业。导航技术是移动机器人的核心技术之一,它是指移动机器人通过传感器感知环境信息和自身状态,实现自主避障及面向目标的自主运动。在室外自主移动行驶过程中对当前的路面材质有准确的认知对自主导航功能的实现非常重要。

国内外相关人员对路面材质识别方向进行了大量的研究,实时、全面、准确、迅速、可靠的路面材质识别技术是当今研究的重点和难点。现阶段对路面材质识别的研究主要基于激光雷达、相机等获取的视觉信息,但是移动机器人的工作环境多样,当遇到光照条件不好、颜色纹理等细节相似、能见度低的雾霾天气等复杂条件时,仅仅通过单一模态下的视觉信息很难实现对路面材质的有效识别。对于路面材质识别而言,听觉信息也是一种重要的信息来源,不同的路面材质采集到的声音数据是不同的,通过听觉信息也可以实现路面材质识别。尤其在视觉信息受到干扰的复杂条件下,听觉信息可以作为有效的补充。但是,当环境噪音比较严重时,听觉信息会受到干扰,此时仅仅通过单一模态下的听觉信息也很难实现对路面材质的有效识别。

为此,本发明提出一种基于声音和图像多模态协同学习的移动机器人路面材质识别方法,综合利用听觉和视觉两种模态信息,实现特征融合互补,并搭建卷积神经网络,实现对多种路面材质的分类识别。该方法能够有效的解决单一模态下路面材质识别能力的不足,有效提高了识别算法的鲁棒性和准确性,并提高了实际应用能力。



技术实现要素:

为了克服现有技术中存在的不足,本发明目的是提供一种基于声音和图像多模态协同学习的路面材质识别方法。本发明方法,综合利用听觉和视觉两种模态信息,实现特征融合互补,并搭建卷积神经网络,实现对多种路面材质的分类识别。该方法能够有效的解决单一模态下路面材质识别能力的不足,有效提高了识别算法的鲁棒性和准确性,并提高了实际应用能力,具有重要的理论意义和应用价值。

为了实现上述发明目的,解决己有技术中存在的问题,本发明采取的技术方案是:一种基于声音和图像多模态协同学习的路面材质识别方法,其特征在于,包括以下步骤:

步骤1、路面材质声音数据和图像数据的同步采集:将路面材质分为10个类别,分别为草地路面、瓷砖路面、沥青路面、天然石路面、水泥路面、橡胶路面、地砖路面、木板路面、鹅卵石路面及碎石路面,采用声音采集器对每个类别路面按照每50下敲击为一组的规则进行路面材质声音数据采集,建立路面材质声音数据集s={si|1≤i≤10},其中,i为路面材质类别,si为第i类路面材质对应的声音数据,采用相机同步拍摄对应路面材质的图像数据,每一类路面材质在不同角度不同路段拍摄图像200张,建立的路面材质图像数据集i={im,n|1≤m≤10,1≤n≤200},其中,m为路面材质类别,n为第m类路面材质对应的图像张数;

步骤2、路面材质声音及图像数据预处理:对于路面材质声音数据,通过分割、滤波降噪、分帧加窗、端点检测预处理操作,提高路面材质声音数据的质量,去除噪声影响;对于路面材质图像数据进行数据增强及裁剪,具体包括以下子步骤:

(a)对路面材质原始声音数据通过分割得到单次敲击数据,第i类路面材质声音数据si={sij|1≤j≤50},其中sij为分割得到的单独路面材质声音数据文件,j为单独路面材质声音数据文件对应的敲击次数;

(b)将采集的路面材质声音数据经过高通滤波器进行滤波,通过公式(1)进行描述,

其中,α表示滤波器系数,sij(t)为当前时刻的路面材质声音数据,表示经过滤波降噪处理后t时刻的路面材质声音数据,通过滤波器能够平衡频谱,改善信号-噪声比,能够抑制低频信息的比重,相对提高高频有用成分的比重;

(c)为了满足傅里叶变换条件,需要将路面材质声音数据分割成短时稳定信号,分帧截取时间段的范围是10~30ms,对分帧后的路面材质声音数据fij进行加窗处理,以减少分帧带来的影响,加窗后的路面材质声音数据cij=fij×w,其中窗函数w采用汉明窗;

(d)端点检测:通过设置不同的音量阈值确定路面材质声音有效数据的起始位置和结束位置,首先计算出该段加窗后的路面材质声音数据cij中的音量最大值vmaxij和最小值vminij,并通过相减得到路面材质声音数据的变换范围值vdifij,以最低路面材质声音数据为起点,分别取vminij+vdifij×0.1、vminij+vdifij×0.01、vminij+vdifij×0.05三种不同的阈值作为路面材质声音数据的端点位置判断,当超过该阈值时则需要开始记录起始点,并判断下一时刻路面材质声音数据是否大于该阈值,直到检测到低于阈值的端点并记录下来,将最终起始点位置和最后的低于阈值的位置之间的路面材质声音数据作为敲击路面的有效路面材质声音数据eij;

(e)对路面材质图像数据通过旋转、镜像、仿射变换方式进行数据增强,进一步增加图像数量,提高泛化能力,得到路面材质图像数据集

步骤3、路面材质声音数据的梅尔倒谱特征提取:为了体现不同路面材质声音数据之间的特征差异,有效区分不同材质的路面声音数据,提取路面材质声音数据的梅尔倒谱特征,具体包括以下子步骤:

(a)对端点检测得到的有效路面材质声音数据eij进行一维傅里叶变换得到对应的频域信号其中n代表每一帧路面材质声音数据中的采样点数,k为采样点,功率谱gij=|pij(k)|2

(b)将每一帧路面材质声音数据的功率谱gij放入到梅尔三角滤波器组中进行滤波处理,并计算对数能量qij,通过如下公式进行描述,0≤m≤m,其中,hij表示梅尔滤波器的频率响应,m为梅尔滤波器的数目;

(c)对qij进行离散余弦变换得到最终的梅尔倒谱特征系数,通过如下公式进行描述,其中melij表示梅尔倒谱特征系数,v表示梅尔倒谱系数的阶数,n为每一帧路面材质声音数据中的采样点数;

步骤4、训练集的标定及建立:对从路面材质声音数据提取出的梅尔倒谱特征进行标注,并对路面材质图像数据进行标注,为神经网络构造训练集;

步骤5、构建多模态协同学习深度卷积神经网络进行训练:构建多模态协同学习深度卷积神经网络,基于不同路面材质声音数据的梅尔倒谱特征melij和图像数据两种模态信息进行协同学习,实现路面材质分类识别,具体包括以下子步骤:

(a)路面材质声音数据特征增强及图像数据预处理:对路面材质声音数据特征增加一些辅助特征,包括音频中的色度频率特征、me1频谱特征、谱对比度特征、色调质心特征,通过特征拼接融合构成了193维的特征向量,最后通过补零对齐形成196维的特征向量,进一步将特征转换为二维的矩阵形式14×14,在该网络中的输入端进行维度扩充得到3d张量14×14×1,通过裁剪将图像尺寸统一为64x64x3;

(b)分类网络包括声音卷积分类网络和图像卷积分类网络两个分支,其中,声音卷积分类网络包含1个卷积层conv1,参数为卷积核尺寸1×1、步长1、相同填充、输出通道数32,进行批量归一化(bn)处理,并采用leaky_relu激活函数进行激活;3个轻量化深度可分离卷积层dconv2、dconv3、dconv4,串行连接。其中,dconv2的参数为卷积核尺寸3×3、步长1、相同填充、输出通道数32,进行批量归一化处理,并采用leaky_relu激活函数进行激活;池化层maxpool1的参数为2×2最大池化、步长2、无填充;dconv3的参数为卷积核尺寸3×3、步长1、相同填充、输出通道数64,进行批量归一化处理,并采用leaky_relu激活函数进行激活;dconv4的参数为卷积核尺寸3×3、步长1、相同填充、输出通道数64,进行批量归一化处理,并采用leaky_relu激活函数进行激活;池化层maxpool2的参数为3×3最大池化、步长2、填充值为1,然后展平为1024维的特征向量;声音解码端为了防止过拟合先进行dropout操作,比率设为0.5,然后包含3个全连接层dense1、dense2和dense3,其中,dense1的输出神经元数目为512,采用leaky_relu激活函数进行激活;dense2的输出神经元数目为128,采用leaky_relu激活函数进行激活;dense3的输出神经元数目为10,并对分类结果进行softmax处理;

图像卷积分类网络包含5个深度可分离卷积层dconv1、conv2、dconv3、dconv4、dconv5,dconv1参数为卷积核尺寸3×3、步长1、相同填充、输出通道数32,进行批量归一化(bn)处理,并采用relu激活函数进行激活;池化层maxpool1的参数为2×2最大池化、步长2、无填充;dconv2的参数为卷积核尺寸3×3、步长1、相同填充、输出通道数64,进行批量归一化处理,并采用relu激活函数进行激活;池化层maxpool2的参数为2×2最大池化、步长2、无填充;dconv3的参数为卷积核尺寸5×5、步长2、相同填充、输出通道数256,进行批量归一化处理,并采用relu激活函数进行激活;池化层maxpool3的参数为2×2最大池化、步长2、无填充;dconv4的参数为卷积核尺寸3×3、步长1、相同填充、输出通道数512,进行批量归一化处理,并采用relu激活函数进行激活;池化层maxpool4的参数为2×2最大池化、步长2、无填充;dconv4的参数为卷积核尺寸4×4、步长1、无填充、输出通道数1024,进行批量归一化处理,并采用relu激活函数进行激活,然后展平为1024维的特征向量,图像解码端为了防止过拟合先进行dropout操作,比率设为0.5,然后包含3个全连接层dense1、dense2和dense3。其中,dense1的输出神经元数目为512,采用relu激活函数进行激活;dense2的输出神经元数目为128,采用relu激活函数进行激活;dense3的输出神经元数目为10,并对分类结果进行softmax处理;

(c)对新获取的路面材质声音数据,通过步骤2、步骤3、步骤5子步骤(a)处理后,利用步骤5子步骤(b)中训练好的声音卷积分类网络对新的声音数据进行分类识别,将分类概率大于0.9的路面材质声音数据及其对应的图像数据,根据分类结果进行自动标注,并将标注好的路面材质图像数据补充到图像卷积分类网络的训练集中,进行数据扩充;

同理,对新获取的路面材质图像数据,通过步骤2、步骤5子步骤(a)处理后,利用步骤5子步骤(b)中训练好的图像卷积分类网络对新的图像数据进行分类识别,将分类概率大于0.9的路面材质图像数据及其对应的路面材质声音数据,根据分类结果进行自动标注,并将标注好的路面材质声音数据补充到声音卷积分类网络的训练集中,进行数据扩充;

(d)不断更新协同学习,对于新获取的每一帧路面材质图像数据和对应的路面材质声音数据,重复进行步骤5子步骤(c)和步骤5子步骤(b),在给出分类结果的同时,不断交叉扩充图像训练集和声音训练集,不断更新图像卷积分类网络和声音卷积分类网络;

步骤6、基于训练好的多模态协同学习深度卷积神经网络模型进行路面材质识别。

本发明有益效果是:一种基于声音和图像多模态协同学习的路面材质识别方法,包括以下步骤:(1)路面材质声音数据和图像数据的同步采集,(2)路面材质声音及图像数据预处理,(3)路面材质声音数据的梅尔倒谱特征提取,(4)训练集的标定及建立,(5)构建多模态协同学习深度卷积神经网络进行训练,(6)基于训练好的多模态协同学习深度卷积神经网络模型进行路面材质识别。与已有技术相比,本发明具有以下优点:一是,本发明综合利用声音和图像两种模态信息实现对路面材质的分类识别,能够有效弥补单一模态的不足。二是,本发明基于梅尔倒谱特征实现了对路面材质声音特征的有效提取,并提出了多模态协同学习深度卷积神经网络模型,能够综合利用路面材质声音数据和图像数据有效进行多材质路面的识别。

附图说明

图1是本发明方法步骤流程图。

图2是路面材质图像及对应的材质声音数据图。

图中:(a)是草地路面声音数据图,(b)是草地路面图像图,(c)是瓷砖路面声音数据图,(d)是瓷砖路面图像图,(e)是沥青路面声音数据图,(f)是沥青路面图像图,(g)是天然石路面声音数据图,(h)是天然石路面图像图,(i)是水泥路面声音数据图,(j)是水泥路面图像图,(k)是橡胶路面声音数据图,(1)是橡胶路面图像图,(m)是地砖路面声音数据图,(n)是地砖路面图像图,(o)是木板路面声音数据图,(p)是木板路面图像图,(q)是鹅卵石路面声音数据图,(r)是鹅卵石路面图像图,(s)是碎石路面声音数据图,(t)是碎石路面图像图。

图3是多模态协同学习深度卷积神经网络流程图。

具体实施方式

下面结合附图对本发明作进一步说明。

如图1所示,一种基于声音和图像多模态协同学习的路面材质识别方法,包括以下步骤:

步骤1、路面材质声音数据和图像数据的同步采集:将路面材质分为10个类别,分别为草地路面、瓷砖路面、沥青路面、天然石路面、水泥路面、橡胶路面、地砖路面、木板路面、鹅卵石路面及碎石路面,采用声音采集器对每个类别路面按照每50下敲击为一组的规则进行路面材质声音数据采集,建立路面材质声音数据集s={si|1≤i≤10},其中,i为路面材质类别,si为第i类路面材质对应的声音数据,采用相机同步拍摄对应路面材质的图像数据,每一类路面材质在不同角度不同路段拍摄图像200张,建立的路面材质图像数据集i={im,n|1≤m≤10,1≤n≤200},其中,m为路面材质类别,n为第m类路面材质对应的图像张数;路面材质图像及对应的材质声音数据图,如图2所示。

步骤2、路面材质声音及图像数据预处理:对于路面材质声音数据,通过分割、滤波降噪、分帧加窗、端点检测预处理操作,提高路面材质声音数据的质量,去除噪声影响;对于路面材质图像数据进行数据增强及裁剪,具体包括以下子步骤:

(a)对路面材质原始声音数据通过分割得到单次敲击数据,第i类路面材质声音数据si={sij|1≤j≤50},其中sij为分割得到的单独路面材质声音数据文件,j为单独路面材质声音数据文件对应的敲击次数;

(b)将采集的路面材质声音数据经过高通滤波器进行滤波,通过公式(1)进行描述,

其中,α表示滤波器系数,sij(t)为当前时刻的路面材质声音数据,表示经过滤波降噪处理后t时刻的路面材质声音数据,通过滤波器能够平衡频谱,改善信号-噪声比,能够抑制低频信息的比重,相对提高高频有用成分的比重;

(c)为了满足傅里叶变换条件,需要将路面材质声音数据分割成短时稳定信号,分帧截取时间段的范围是10~30ms,对分帧后的路面材质声音数据fij进行加窗处理,以减少分帧带来的影响,加窗后的路面材质声音数据cij=fij×w,其中窗函数w采用汉明窗;

(d)端点检测:通过设置不同的音量阈值确定路面材质声音有效数据的起始位置和结束位置,首先计算出该段加窗后的路面材质声音数据cij中的音量最大值vmaxij和最小值vminij,并通过相减得到路面材质声音数据的变换范围值vdifij,以最低路面材质声音数据为起点,分别取vminij+vdifij×0.1、vminij+vdifij×0.01、vminij+vdifij×0.05三种不同的阈值作为路面材质声音数据的端点位置判断,当超过该阈值时则需要开始记录起始点,并判断下一时刻路面材质声音数据是否大于该阈值,直到检测到低于阈值的端点并记录下来,将最终起始点位置和最后的低于阈值的位置之间的路面材质声音数据作为敲击路面的有效路面材质声音数据eij;

(e)对路面材质图像数据通过旋转、镜像、仿射变换方式进行数据增强,进一步增加图像数量,提高泛化能力,得到路面材质图像数据集

步骤3、路面材质声音数据的梅尔倒谱特征提取:为了体现不同路面材质声音数据之间的特征差异,有效区分不同材质的路面声音数据,提取路面材质声音数据的梅尔倒谱特征,具体包括以下子步骤:

(a)对端点检测得到的有效路面材质声音数据eij进行一维傅里叶变换得到对应的频域信号其中n代表每一帧路面材质声音数据中的采样点数,k为采样点,功率谱gij=|pij(k)|2

(b)将每一帧路面材质声音数据的功率谱gij放入到梅尔三角滤波器组中进行滤波处理,并计算对数能量qij,通过如下公式进行描述,0≤m≤m,其中,hij表示梅尔滤波器的频率响应,m为梅尔滤波器的数目;

(c)对qij进行离散余弦变换得到最终的梅尔倒谱特征系数,通过如下公式进行描述,其中melij表示梅尔倒谱特征系数,v表示梅尔倒谱系数的阶数,n为每一帧路面材质声音数据中的采样点数;

步骤4、训练集的标定及建立:对从路面材质声音数据提取出的梅尔倒谱特征进行标注,并对路面材质图像数据进行标注,为神经网络构造训练集;

步骤5、构建多模态协同学习深度卷积神经网络进行训练:构建多模态协同学习深度卷积神经网络,如图3所示,基于不同路面材质声音数据的梅尔倒谱特征melij和图像数据两种模态信息进行协同学习,实现路面材质分类识别,具体包括以下子步骤:

(a)路面材质声音数据特征增强及图像数据预处理:对路面材质声音数据特征增加一些辅助特征,包括音频中的色度频率特征、me1频谱特征、谱对比度特征、色调质心特征,通过特征拼接融合构成了193维的特征向量,最后通过补零对齐形成196维的特征向量,进一步将特征转换为二维的矩阵形式14×14,在该网络中的输入端进行维度扩充得到3d张量14×14×1,通过裁剪将图像尺寸统一为64x64x3;

(b)分类网络包括声音卷积分类网络和图像卷积分类网络两个分支,其中,声音卷积分类网络包含1个卷积层conv1,参数为卷积核尺寸1×1、步长1、相同填充、输出通道数32,进行批量归一化(bn)处理,并采用leaky_relu激活函数进行激活;3个轻量化深度可分离卷积层dconv2、dconv3、dconv4,串行连接。其中,dconv2的参数为卷积核尺寸3×3、步长1、相同填充、输出通道数32,进行批量归一化处理,并采用leaky_relu激活函数进行激活;池化层maxpool1的参数为2×2最大池化、步长2、无填充;dconv3的参数为卷积核尺寸3×3、步长1、相同填充、输出通道数64,进行批量归一化处理,并采用leaky_relu激活函数进行激活;dconv4的参数为卷积核尺寸3×3、步长1、相同填充、输出通道数64,进行批量归一化处理,并采用leaky_relu激活函数进行激活;池化层maxpool2的参数为3×3最大池化、步长2、填充值为1,然后展平为1024维的特征向量;声音解码端为了防止过拟合先进行dropout操作,比率设为0.5,然后包含3个全连接层dense1、dense2和dense3,其中,dense1的输出神经元数目为512,采用leaky_relu激活函数进行激活;dense2的输出神经元数目为128,采用leaky_relu激活函数进行激活;dense3的输出神经元数目为10,并对分类结果进行softmax处理;

图像卷积分类网络包含5个深度可分离卷积层dconv1、conv2、dconv3、dconv4、dconv5,dconv1参数为卷积核尺寸3×3、步长1、相同填充、输出通道数32,进行批量归一化(bn)处理,并采用relu激活函数进行激活;池化层maxpool1的参数为2×2最大池化、步长2、无填充;dconv2的参数为卷积核尺寸3×3、步长1、相同填充、输出通道数64,进行批量归一化处理,并采用relu激活函数进行激活;池化层maxpool2的参数为2×2最大池化、步长2、无填充;dconv3的参数为卷积核尺寸5×5、步长2、相同填充、输出通道数256,进行批量归一化处理,并采用relu激活函数进行激活;池化层maxpool3的参数为2×2最大池化、步长2、无填充;dconv4的参数为卷积核尺寸3×3、步长1、相同填充、输出通道数512,进行批量归一化处理,并采用relu激活函数进行激活;池化层maxpool4的参数为2×2最大池化、步长2、无填充;dconv4的参数为卷积核尺寸4×4、步长1、无填充、输出通道数1024,进行批量归一化处理,并采用relu激活函数进行激活,然后展平为1024维的特征向量,图像解码端为了防止过拟合先进行dropout操作,比率设为0.5,然后包含3个全连接层dense1、dense2和dense3。其中,dense1的输出神经元数目为512,采用relu激活函数进行激活;dense2的输出神经元数目为128,采用relu激活函数进行激活;dense3的输出神经元数目为10,并对分类结果进行softmax处理;

(c)对新获取的路面材质声音数据,通过步骤2、步骤3、步骤5子步骤(a)处理后,利用步骤5子步骤(b)中训练好的声音卷积分类网络对新的声音数据进行分类识别,将分类概率大于0.9的路面材质声音数据及其对应的图像数据,根据分类结果进行自动标注,并将标注好的路面材质图像数据补充到图像卷积分类网络的训练集中,进行数据扩充;

同理,对新获取的路面材质图像数据,通过步骤2、步骤5子步骤(a)处理后,利用步骤5子步骤(b)中训练好的图像卷积分类网络对新的图像数据进行分类识别,将分类概率大于0.9的路面材质图像数据及其对应的路面材质声音数据,根据分类结果进行自动标注,并将标注好的路面材质声音数据补充到声音卷积分类网络的训练集中,进行数据扩充;

(d)不断更新协同学习,对于新获取的每一帧路面材质图像数据和对应的路面材质声音数据,重复进行步骤5子步骤(c)和步骤5子步骤(b),在给出分类结果的同时,不断交叉扩充图像训练集和声音训练集,不断更新图像卷积分类网络和声音卷积分类网络;

步骤6、基于训练好的多模态协同学习深度卷积神经网络模型进行路面材质识别。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1