1.本发明涉及深度学习、声音识别技术领域,具体而言,本发明涉及一种基于声音的活动识别方法、装置、电子设备及介质。
背景技术:2.重型施工设备用于执行许多施工任务,尤其是在土方作业中。中型和大型工业或住宅项目总预算的很大一部分包括设备租赁、拥有和维护成本。因此,持续监控施工设备运行有助于保持施工活动的进度,发现潜在问题和障碍,防止这些问题,并降低项目成本。目前,施工设备进度监控是通过现场工作访问、访谈和调查手动进行的。这些方法虽然有益,但缺乏一致性和准确性,这就需要稳健的自动化方法。现有的自动化方法为:利用声音数据自动识别重型建筑设备的活动。虽然现有的方法是有效的,但它们只侧重于跟踪单个设备的活动。在施工现场,环境中混合了多种设备声音信号;因此,基于现有技术中的方法来识别多种设备的声音信号中的活动,不能准确识别出各个设备的活动。
技术实现要素:3.本发明所要解决的技术问题是提供了一种基于声音的活动识别方法、装置、电子设备及介质,旨在解决上述至少一个技术问题。
4.第一方面,本发明解决上述技术问题的技术方案如下:一种基于声音的活动识别方法,该方法包括:
5.获取至少一个设备进行活动时的待识别声音信号;
6.识别待识别声音信号中的频率特征;
7.将频率特征输入至预先训练好的活动识别模型中,得到至少一个设备中每个设备的目标活动,活动识别模型是基于至少两个设备同时进行活动时的声音信号训练得到的。
8.本发明的有益效果是:对于至少一个设备进行活动时的待识别声音信号,可根据待识别声音信号中的频率特征,通过预先训练好的活动识别模型,识别出每个设备的目标活动,其中,由于活动识别模型是基于至少两个设备同时进行活动时的声音信号训练得到的,则基于该活动识别模型可以自动地、准确地识别出至少一个设备中每个设备的目标活动。
9.在上述技术方案的基础上,本发明还可以做如下改进。
10.进一步,上述活动识别模型是通过以下方式训练得到的:
11.获取训练样本,训练样本包括至少两个设备中每个设备单独活动时的第一声音信号;
12.将各个第一声音信号进行混合,得到混合声音信号,并生成混合声音信号的第一标注结果,第一标注结果表征了混合声音信号中各个设备所进行的真实活动;
13.识别出混合声音信号中的频率特征,并将混合声音信号的频率特征作为输入图像;
14.根据输入图像对初始模型进行训练,得到第一模型,将第一模型作为活动识别模型。
15.采用上述进一步方案的有益效果是,在活动识别模型训练的过程中,训练样本中包括至少两个设备中每个设备在不同的应用场景下进行活动时的初始声音信号,初始声音信号中包括每个设备单独进行活动时的第一声音信号,基于将各个设备单独进行活动时的第一声音信号进行混合后的混合声音信号对初始模型进行训练,这样可使得训练得到的活动识别模型可以准确的区分出每个设备对应的活动。
16.进一步,每个第一声音信号中包括至少一个第一子信号,每个第一子信号为设备进行一项活动时的声音信号,将各个第一声音信号进行混合,得到混合声音信号,包括:
17.过滤掉每个第一声音信号中持续时长小于第一设定时长的第一子信号,得到多个第二声音信号;
18.过滤掉每个第二声音信号中持续时长大于第二设定时长的第一子信号,得到多个第三声音信号,第一设定时长小于第二设定时长;
19.将各个第三声音信号进行混合,得到混合声音信号。
20.采用上述进一步方案的有益效果是,小于第一设定时长的第一子信号不能准确的表达一项活动,则可先过滤掉每个第一声音信号中持续时长小于第一设定时长的第一子信号,再过滤掉每个第二声音信号中持续时长大于第二设定时长的第一子信号,最后再将各个第三声音信号进行混合,使得后续基于混合声音信号训练得到的活动识别模型的识别精度更加准确。
21.进一步,该方法还包括:
22.将每个第三声音信号均匀划分为设定数量的第二子信号;
23.将各个第三声音信号中不同设备对应的第二子信号进行组合,得到多个组合信号;
24.将每个组合信号作为一个混合声音信号;
25.上述识别出混合声音信号中的频率特征,并将混合声音信号的频率特征作为输入图像,包括:
26.识别出每个混合声音信号中的频率特征,并将各个混合声音信号的频率特征作为各个输入图像。
27.采用上述进一步方案的有益效果是,通过上述方法,可对用于模型训练的混合声音信号进行数据扩充,即丰富混合声音信号中各种不同的活动对应的声音信号,以使得后续基于混合声音信号训练得到的活动识别模型的识别精度更加准确。
28.进一步,上述将每个组合信号作为一个混合声音信号,包括:
29.获取每个组合信号中的各个第二子信号的权重;
30.对于每个组合信号,根据组合信号中的第二子信号和组合信号中的各个第二子信号的权重,对组合信号中的各个第二子信号进行加权处理,得到加权处理后的组合信号;
31.将每个加权处理后的组合信号作为一个混合声音信号。
32.采用上述进一步方案的有益效果是,考虑到不同的设备的声音信号对于混合声音信号的重要程度不同,则可根据各个第二子信号和各个第二子信号对应的权重,将各个组合信号中各自对应的第二子信号进行加权处理,得到多个混合声音信号。
33.进一步,上述初始模型包括特征提取层、一个完全连接的层、一个退出层和分类层,上述根据输入图像对初始模型进行训练,得到第一模型,包括:
34.将输入图像输入至特征提取层,通过特征提取层的第一神经元对输入图像进行特征提取,得到输入图像的第一特征向量;
35.将第一特征向量输入至完全连接的层,通过完全连接的层的第二神经元对第一特征向量进行特征提取,得到第二特征向量,初始模型的神经元包括第一神经元和第二神经元;
36.在通过退出层判断初始模型中用于提取特征向量的神经元的数量为设定数量时,将等于设定数量时得到的第二特征向量输入至分类层,通过分类层得到混合声音信号对应的活动识别结果,设定数量大于第一神经元的数量。
37.采用上述进一步方案的有益效果是,初始模型中仅包括一个完全连接的层,相较于现有模型包括两个或多个完全连接的层,可减少计算量,提高模型训练速度,初始模型中包括退出层,通过退出层判断初始模型中何时停止特征提取,可防止模型过度拟合。
38.进一步,该方法还包括:
39.获取各个设备同时进行活动时的第四声音信号以及第二声音信号的第二标注结果,第二标注结果表征了第四声音信号中各个设备所进行的真实活动;
40.根据第四声音信号和混合声音信号,对第一模型进行评估,得到评估结果;
41.若评估结果满足预设的评估条件,上述将第一模型作为活动识别模型,包括:
42.将满足评估条件的第一模型作为活动识别模型;
43.若评估结果不满足评估条件,方法还包括:
44.调整初始模型的模型参数,并基于调整后的模型参数对初始模型重新进行训练,直到评估结果满足评估条件。
45.采用上述进一步方案的有益效果是,本技术方案中混合了真实世界的单一设备声音信号,以生成混合声音信号进行模型训练,同时本技术方案中采集了真实世界的设备声音混合物(第二声音信号),并使用第二声音信号和混合声音信号来评估第一模型,可得到精度更高的活动识别模型。
46.第二方面,本发明为了解决上述技术问题还提供了一种基于声音的活动识别装置,该装置包括:
47.获取模块,用于获取至少一个设备进行活动时的待识别声音信号;
48.频率特征识别模块,用于识别待识别声音信号中的频率特征;
49.活动识别模块,用于将频率特征输入至预先训练好的活动识别模型中,得到至少一个设备中每个设备的目标活动,活动识别模型是基于至少两个设备同时进行活动时的声音信号训练得到的。
50.第三方面,本发明为了解决上述技术问题还提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该计算机程序时实现本技术的基于声音的活动识别方法。
51.第四方面,本发明为了解决上述技术问题还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现本技术的基于声音的活动识别方法。
52.本技术附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
53.为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍。
54.图1为本发明一个实施例提供的一种基于声音的活动识别方法的流程示意图;
55.图2为本发明一个实施例提供的一种设备1对应的第一声音信号和设备2对应的第一声音信号的示意图;
56.图3为本发明一个实施例提供的一种数据扩充的流程示意图;
57.图4为本发明一个实施例提供的一种初始模型的网络结构示意图;
58.图5为本发明一个实施例提供的一种模型评估流程示意图;
59.图6为本发明一个实施例提供的又一种基于声音的活动识别方法的流程示意图;
60.图7为本发明一个实施例提供的一种采集声音信号的应用场景示意图;
61.图8为本发明一个实施例提供的一种基于声音的活动识别装置的结构示意图;
62.图9为本发明一个实施例提供的一种电子设备的结构示意图。
具体实施方式
63.以下对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
64.下面以具体实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
65.本发明实施例所提供的方案可以适用于任何需要识别至少一个设备同时进行活动的待识别声音信号中各个设备的目标活动的应用场景中。本发明实施例提供了一种可能的实现方式,如图1所示,提供了一种基于声音的活动识别方法的流程图,该方案可以由任一电子设备执行,例如,可以是终端设备,或者由终端设备和服务器共同执行。为描述方便,下面将以终端设备作为执行主体为例对本发明实施例提供的方法进行说明,如图1中所示的流程图,该方法可以包括以下步骤:
66.步骤s110,获取至少一个设备进行活动时的待识别声音信号;
67.步骤s120,识别待识别声音信号中的频率特征;
68.步骤s130,将频率特征输入至预先训练好的活动识别模型中,得到至少一个设备中每个设备的目标活动,活动识别模型是基于至少两个设备同时进行活动时的声音信号训练得到的。
69.通过本发明的方法,对于至少一个设备进行活动时的待识别声音信号,可根据待识别声音信号中的频率特征,通过预先训练好的活动识别模型,识别出每个设备的目标活动,其中,由于活动识别模型是基于至少两个设备同时进行活动时的声音信号训练得到的,则基于该活动识别模型可以自动地、准确地识别出至少一个设备中每个设备的目标活动。
70.下面结合以下具体的实施例,对本发明的方案进行进一步的说明,在该实施例中,
基于声音的活动识别方法可以包括以下步骤:
71.步骤s110,获取至少一个设备进行活动时的待识别声音信号;
72.其中,待识别声音信号指的是需要识别待识别声音信号中的每个设备对应的是什么活动的声音信号,该待识别声音信号可通过麦克风从至少一个设备的工作现场进行收集,该至少一个设备工作可在同一个工作场景同时进行工作。
73.至少一个设备可以是建筑工地上进行工作的各种工程设备,比如,装载机、卡车等,至少一个设备中每个设备进行的活动包括前向移动、向后移动、上移手臂和下移手臂等。待识别声音信号中还可包括一些背景噪声,比如锤击声等。则为了避免这些背景噪声对待识别声音信号识别的准确性,可过滤掉待识别声音信号中的背景噪声。可选的,可采用非平稳去噪算法来滤除待识别声音信号的期望信号,该期望信号可反映背景噪声。
74.步骤s120,识别待识别声音信号中的频率特征。
75.可选的,可采用短时傅里叶stft(short-time fourier transform)的方法识别待识别声音信号中的频率特征,也可采用连续小波变换(continuous wavelet transform,cwt)识别待识别声音信号中的频率特征,本发明方案中不限定识别待识别声音信号中的频率特征的具体实现方式,均在本技术的保护范围内,其中,如果使用短时傅里叶,可节省计算时间,如果采用连续小波变换,相较于短时傅里叶,可更加准确的识别出频率特征,可基于具体的实际需求选择识别频率特征的方法。cwt的大小大于stft,并显著增加了输入的尺寸。这种增加会影响数据扩充和训练的计算时间。最初的计算和实现表明,与stft相比,它将数据扩充过程提高了约1600倍。这一增长是由于总组合的数量大幅增加。此外,stft提供了更大的灵活性来修改输入大小,而无需任何调整大小功能,这会增加数据的失真和噪声。此外,stft为设备活动识别提供了令人满意的性能。
76.步骤s130,将频率特征输入至预先训练好的活动识别模型中,得到至少一个设备中每个设备的目标活动,活动识别模型是基于至少两个设备同时进行活动时的声音信号训练得到的。
77.其中,上述活动识别模型可基于卷积神经网络cnn(convolutional neural network)训练得到的,具体的,上述活动识别模型是通过以下方式训练得到的:
78.获取训练样本,训练样本包括至少两个设备中每个设备单独活动时的第一声音信号;将各个第一声音信号进行混合,得到混合声音信号,并生成混合声音信号的第一标注结果,第一标注结果表征了混合声音信号中各个设备所进行的真实活动;识别出混合声音信号中的频率特征,并将混合声音信号的频率特征作为输入图像;根据输入图像对初始模型进行训练,得到第一模型,将第一模型作为活动识别模型。
79.其中,上述训练样本中的各个第一声音信号也可使用麦克风从工作现场收集,对于至少两个设备中的每个设备,可停止工作现场中的其他设备的工作,只保留一个设备进行工作,即排除其他设备对该设备的影响。然后,工作人员可让设备执行不同的活动,每项活动持续1到10秒的时间,对至少两个设备中的每个设备均进行相同的操作,得到每个设备单独进行不同活动时的第一声音信号,一个设备对应一个第一声音信号。
80.在本技术方案中,还可使用zoom h1数字手持记录仪收集数据,采样频率为44.1khz。此外,在采集训练样本的过程中,还可使用摄像机记录每个设备的活动,以确定各个设备的真实活动,即确定每个设备所对应的真实活动是什么。
81.将各个第一声音信号进行混合,得到混合声音信号,该混合声音信号中混合了各个设备各自单独活动时的声音,基于该混合声音信号对初始模型进行训练,可得到用于识别包括多个设备同时进行活动时的待识别声音信号。
82.对于每个第一声音信号,该第一声音信号为一个设备进行至少一项活动时对应的声音信号,则每个第一声音信号中可包括至少一个第一子信号,即每一项活动对应一个第一子信号,在实际应用中,考虑到各项活动的持续时间的长短不同,一项活动的声音信号的持续时长过短,可能会影响后续识别的准确性,一项活动的声音信号的持续时间过长,可能会因为持续时间过程影响识别效率,因此,在本技术的可选方案中,上述将各个第一声音信号进行混合,得到混合声音信号,包括:
83.过滤掉每个第一声音信号中持续时长小于第一设定时长的第一子信号,得到多个第二声音信号;过滤掉每个第二声音信号中持续时长大于第二设定时长的第一子信号,得到多个第三声音信号;将各个第三声音信号进行混合,得到混合声音信号。
84.其中,第一设定时长和第二设定时长可基于实际需求设置,可选的,第一设定时长小于第二设定时长,比如,第一设定时长为2s,第二设定时长为4s,则每个第三声音信号为2s至4s之间的声音信号,每个第三声音信号中可包括至少一段第一子信号。
85.作为一个示例,参见图2中所示的设备1对应的第一声音信号和设备2对应的第一声音信号的示意图,设备1对应的第一声音信号中包括多个第一子信号,每个第一子信号对应一项活动,可基于摄像机记录每个设备的真实活动,在设备1对应的第一声音信号中标记出各个第一子信号的开始时间和结束时间,同理,也可在设备1对应的第一声音信号中标记出各个第一子信号的开始时间和结束时间。
86.根据第一设定时长和第二设定时长,可从设备1对应的第一声音信号(equipment 1signal)中筛选出4段第一子信号,其中,序号1对应的第一子信号表示设备1在向前移动或向后移动(moving forward/backward)时对应的声音信号,序号2对应的第一子信号表示设备1在进行手臂向上移动或手臂上下移动(moving arm up/down)时对应的声音信号,序号3对应的第一子信号表示设备1在进行刮擦(scraping)时对应的声音信号,序号4对应的第一子信号表示设备1在停止(stop)时对应的声音信号。根据第一设定时长和第二设定时长,可从设备2对应的第一声音信号(equipment 2signal)中筛选出3段第一子信号,其中,序号5对应的第一子信号表示设备2在向前移动(moving forward)时对应的声音信号,序号6对应的第一子信号表示设备2向后移动(moving backward)时对应的声音信号,序号7对应的第一子信号表示设备2在停止(stop)时对应的声音信号。图2的上半部所显示的是各个第一子信号对应的时域图,图2的下半部所显示的是各个第一子信号对应的频谱图(spectrogram)。
87.可选的,在本技术的可选方案中,还可将各个第三声音信号缩放为相同的功率,因此在后续混合过程中,一个第三声音信号的频率内容不会超过另一个第三声音信号的频率内容。
88.为了增加训练样本中混合声音信号的数量,可以对训练样本采用下面的方式进行数据扩充,以增加训练样本中数据的大小,并避免过度拟合模型。具体的,数据扩充的一种可实现方式为:
89.将每个第三声音信号均匀划分为设定数量的第二子信号;将各个第三声音信号中
不同设备对应的第二子信号进行组合,得到多个组合信号;将每个组合信号作为一个混合声音信号;识别出混合声音信号中的频率特征,并将混合声音信号的频率特征作为输入图像,包括:
90.识别出每个混合声音信号中的频率特征,并将各个混合声音信号的频率特征作为各个输入图像。
91.其中,设定数量可基于实际需求设置,经验证,一段第二子信号中所包括的信息足够用来进行活动识别的,此外,较低的持续时间不会产生准确的结果。在经过上述处理得到的混合声音信号中,增加了多种声音组合方式,每种组合方式中对应不同设备各自在执行不同活动时的声音信号。可选的,可将设定数量设置为20,则对于4s长的第三声音信号,该第三声音信号可均匀划分为20段第二子信号,每段第二子信号的时长为200ms。数据扩充后,可得到多张输入图像,则可通过多张输入图像进行模型训练。
92.由于一段第三声音信号中可包括各项活动对应的第一子信号,每项活动对应的时长基本相同,则一项活动对应的第一子信号中可至少包括一个第二子信号。为了区分第三声音信号中的各个活动,可对每个活动对应的第一子信号设置对应的标签,对于同一个设备,该设备对应不同的活动,不同的活动可对应不同的标签,比如,当两台设备运行时,第一台设备有四个活动,第二台设备有三个活动,第一台设备对应的标签可以为{1,2,3,4},第二台设备对应的标签可以为{1,2,3}。
93.上述将各个第三声音信号中不同设备对应的第二子信号进行组合,得到多个组合信号具体指的是将各台设备对应的第二子信号,按照活动进行组合,得到多个组合信号,一个组合信号中包括至少两个设备中每个设备单独在进行至少一项活动时对应的第二子信号。
94.作为一个示例,以设备1对应的第三声音信号和设备2对应的第三声音信号为例,将设备1对应的第三声音信号均匀划分为20段第二子信号,将设备2对应的第三声音信号均匀划分为20段第二子信号,将设备1的第一个活动中的一个第二子信号与设备2的第一个活动中的一个第二子信号进行混合,得到一个组合信号,按照同样的方式,可混合得到多个组合信号。组合信号的数量等于设定数量,比如,划分为20段第二子信号,在对应得到20段组合信号。
95.可选的,上述将每个组合信号作为一个混合声音信号具体指的是,对于每个组合信号,将该组合信号中的各第二子信号相加,得到对应的一个混合声音信号。
96.考虑到每个设备的声音信号对于组合信号的重要程度不同,则上述将每个组合信号作为一个混合声音信号,包括:
97.获取每个组合信号中的各个第二子信号的权重;对于每个组合信号,根据组合信号中的第二子信号和组合信号中的各个第二子信号的权重,对组合信号中的各个第二子信号进行加权处理,得到加权处理后的组合信号;将每个加权处理后的组合信号作为一个混合声音信号。
98.其中,对于不同的组合信号中的同一个第二子信号,该同一个第二子信号在不同的组合信号中对应的权重可以不同,也可以相同。随着声音在空间中传播,其表面积增加,这意味着相同能量的声音分布在更大的区域,其能量强度降低。这种现象被称为声衰减。类似地,在实际的建筑工地上,设备声音从不同的距离接收,其能量也相应衰减。消声公式如
公式(1)所示:
[0099][0100]
其中:spl2为点1处的声压级,单位为db,spl1为点2处的声压级,r1为声源到点1的距离,r2为声源到点2的距离。平方反比定律表明,每次到声源的距离减少2倍,spl就会增加4倍。
[0101]
基于上述的声衰减原理可知,接收声音的设备距离声源的距离越近,声压级越大,如果不同设备距离接收声音的设备的距离不同,则对应的声音衰减不同,进而各个组合信号中的第二子信号对应的权重也不同。上述各个权重中每个权重的取值均为0到1之间的随机值,该权重可预先设置,也可以基于设备与接收声音的设备之间的距离确定。
[0102]
可选的,上述对于每个组合信号,根据组合信号中的第二子信号和组合信号中的各个第二子信号的权重,对组合信号中的各个第二子信号进行加权处理,得到加权处理后的组合信号可通过以下公式(2)计算得到,其中公式(2)为:
[0103][0104]
其中,mixed signal为混合声音信号,即加权处理后的组合信号,s
ij(1)
是设备(1)对应的活动i的第j个第二子信号,n是设备总数,r
(1)
是设备(1)对应的权重。
[0105]
在每个组合中,算法为每个第二子信号选择随机值(0到1之间),然后在时域中将其与噪声信号混合。为每个第二子信号分配随机值有助于模型在混合时增加或减少信号的功率。需要说明的是,在本技术方案是所指的混合,均是将至少两个信号相加。
[0106]
参见图3所示的,遍历设备1对应的所有第二子信号和所有活动和设备2对应的所有第二子信号和所有活动(对应图3中所示的loop over all sub-segments and all activities),设备1对应的第三声音信号中包括4项活动对应的第一子信号,分别为序号1对应的第一子信号、序号2对应的第一子信号、序号3对应的第一子信号和序号4对应的第一子信号,设备2对应的第三声音信号中包括3项活动对应的第一子信号,分别为序号5对应的第一子信号、序号6对应的第一子信号和序号7对应的第一子信号。
[0107]
将序号1对应的第一子信号中的第一个第二子信号和序号5对应的第一子信号中的第一个第二子信号进行组合,得到一个组合信号,组合指的是将两个第二子信号进行相加。将序号1对应的第一子信号中的第一个第二子信号和序号5对应的第一子信号中的第二个第二子信号进行组合,得到一个组合信号,按照相同的方式,直到将序号4对应的第一子信号中的最后一个第二子信号和序号7对应的第一子信号中的最后一个第二子信号进行组合,得到一个组合信号。图3中的序号4对应的第一子信号中的最后一个第二子信号、序号5对应的第一子信号中的第一个第二子信号和第二个第二子信号,这三个第二子信号(sub-segments)的持续时长之和为0.2sec(秒)。
[0108]
遍历设备1对应的所有第二子信号和所有活动和设备2对应的所有第二子信号和所有活动(对应图3中所示的loop over all sub-segments and all activities),获取每个第二子信号的权重,其中,序号1对应的第一子信号中的第一个第二子信号的权重为0.3,序号5对应的第一子信号中的第一个第二子信号的权重为0.8,序号1对应的第一子信号中的第一个第二子信号的权重为0.6,序号5对应的第一子信号中的第二个第二子信号的权重
为0.1,序号4对应的第一子信号中的最后一个第二子信号的权重为0.9,序号7对应的第一子信号中的最后一个第二子信号的权重为0.2。所有的权重均为0到1之间的随机值(random value between 0and 1),对于每个组合信号,根据组合信号中的第二子信号和组合信号中的各个第二子信号的权重,对组合信号中的各个第二子信号进行加权处理,得到加权处理后的组合信号;将每个加权处理后的组合信号作为一个混合声音信号。其中,如图3所示,序号4对应的第一子信号中的最后一个第二子信号和序号7对应的第一子信号中的最后一个第二子信号组合得到的组合信号对应的标签为[4,1]和[7,1],表示的是该组合信号中包括设备4进行活动标签为1的活动,以及设备7进行活动标签为1的活动。
[0109]
将得到的各个加权处理后的组合信号作为多个混合声音信号,并通过stft将每个混合声音信号转换为输入图像(input image),其大小为513*39。以序号4对应的第一子信号中的最后一个第二子信号和序号7对应的第一子信号中的最后一个第二子信号组合得到的加权处理后的组合信号为例,通过stft将该加权处理后的组合信号转换为输入图像(synthetic mixed image)。
[0110]
此外,在本技术方案中,还可将各活动的标签存储在字典中,为每个合成的混合声音信号生成地面真值标签(活动标签),地面真值标签即为前文所描述的第一标注结果。最后,计算每个混合声音信号的stft,以识别每个混合声音信号的频率特征,并存储与活动标签相对应的绝对值,该绝对值表征了活动标签对应的频率特征的绝对值。将各个混合声音信号的stft绝对值及其相应的地面真值标签存储在数据库中,以供下一步使用。
[0111]
在本技术方案中,若采用短时傅里叶方法识别每个混合信号中的频率特征,本发明方案中可采用1024个样本大小的汉宁窗口,80%重叠,1024个fft长度。这些值确保生成的光谱图在时域和频域都具有良好的分辨率。
[0112]
在确定了各个混合信号对应的输入图像后,基于各个输入图像对初始模型进行训练,该初始模型可以是cnn模型,初始模型包括特征提取层和分类层,分类层包括一个完全连接的层和一个退出层,根据输入图像对初始模型进行训练,得到第一模型,包括:
[0113]
将输入图像输入至特征提取层,通过特征提取层的第一神经元对输入图像进行特征提取,得到输入图像的第一特征向量;将第一特征向量输入至完全连接的层,通过完全连接的层的第二神经元对第一特征向量进行特征提取,得到第二特征向量,初始模型的神经元包括第一神经元和第二神经元;在通过退出层判断初始模型中用于提取特征向量的神经元的数量为设定数量时,将等于设定数量时得到的第二特征向量输入至分类层,通过分类层得到混合声音信号对应的活动识别结果,设定数量大于第一神经元的数量。
[0114]
在本技术方案中,提出以混合声音信号的频谱图(频率特征对应的特征图)代表这些信号的图像。使用时频掩蔽(time-frequency masking,tfm)的概念来估计至少两个声源(设备)的每个时频单元(time-frequency bin)中的信号能量含量。混合声音信号的频谱图由这些时频单元组成,每个时频单元具有特定的能量值,类似于每个像素显示特定值的图像。这种相似性表明,混合声音信号的频谱图可以被解释为一幅可以馈送到初始模型的输入图像。
[0115]
以一个混合声音信号的频率特征为例,介绍通过短时傅里叶方法确定混合声音信号的频率特征,并将该频率特征作为输出图像的实现过程:采用一半的stft系数,去掉了其余的系数。由于stft系数中的后n/2个系数是前n/2个系数的复共轭,顺序相反。因此,在本
申请方案中,只使用了513个系数,生成输入图像的第一维度(即宽度),第二维度(即长度)的计算公式(3)所示:
[0116][0117]
其中:susbsegment样本量为抽样频率(44.1khz)的0.2(即0.2
×
44100=8820);
[0118]
重叠样本大小overlap sample size为窗口大小(1024)的0.8(即圆形(0.8
×
1024)=819);
[0119]
跃点样本大小hop sample size为窗口大小-重叠样本大小(即1024-819=205)。
[0120]
其中,短时傅里叶变换(stft,short-time fourier transform,或short-term fourier transform)是和傅里叶变换相关的一种数学变换,用以确定时变信号其局部区域的正弦波的频率与相位。它的思想是:选择一个时频局部化的窗函数,假定分析窗函数g(t)在一个短时间间隔内是平稳(伪平稳)的,移动窗函数,使f(t)g(t)在不同的有限时间宽度内是平稳信号,从而计算出各个不同时刻的功率谱。
[0121]
短时傅里叶变换使用一个固定的窗函数,窗函数一旦确定了以后,其形状就不再发生改变,短时傅里叶变换的分辨率也就确定了。如果要改变分辨率,则需要重新选择窗函数。短时傅里叶变换用来分析分段平稳信号或者近似平稳信号犹可,但是对于非平稳信号,当信号变化剧烈时,要求窗函数有较高的时间分辨率;而波形变化比较平缓的时刻,主要是低频信号,则要求窗函数有较高的频率分辨率。短时傅里叶变换不能兼顾频率与时间分辨率的需求。短时傅里叶变换窗函数受到w.heisenberg不确定准则的限制,时频窗的面积不小于2。这也就从另一个侧面说明了短时傅里叶变换窗函数的时间与频率分辨率不能同时达到最优。
[0122]
由此,可基于预先设置的时频窗的面积(窗口大小),确定第二维度。
[0123]
在本技术方案中,可在中实现了cnn,用于对设备活动进行分类。使用80/20的训练和验证比率来测试最终模型。
[0124]
图4示出了所提出的初始模型的网络结构。其中,初始模型中隐藏层的数量、每层中过滤器的数量以及完全连接层的数量可根据本技术方案的要求进行调整。
[0125]
基于图4可知,初始模型包括依次连接的特征提取层(图4中所示的feature extraction)和分类层(classfication),分类层包括一个完全连接的层(fully connected)和一个退出层(drop out),分类层中还包括损失函数层softmax,该损失函数层采用交叉商损失函数cross entropy;其中,特征提取层可包括三个,每个特征提取层均包括依次连接的卷积层(conv)、批量归一化层(batchnormalization)和激活函数leaky relu,每两个特征提取层之间还包括一个最大池化层(max pooling)。第一个特征提取层中的卷积层conv1包括64个3*3的卷积核(convs),步长为4,第二个特征提取层中的卷积层2包括128个3*3的卷积核,步长stride为[4 2],第三个特征提取层中的卷积层3包括32个3*3的卷积核,步长stride为[4 1],第一个最大池化层max pooling1包括1个2*2的卷积核,步长stride为[1 1],第二个最大池化层max pooling2包括1个2*2的卷积核,步长stride为[1 1]。
[0126]
基于图4中所示的初始模型的网络结构,将输入图像输入至该初始模型,经过各层处理后,从分类层输出各个预测结果,每个预测结果表征了每个设备对应的各个活动的标
签。
[0127]
交叉验证在深度网络中并不常见,因为它的计算时间很长,所以我从有限的参数中选择了超参数,使用不同数量的过滤器(卷积核)评估了不同数量的隐藏层,每个块的步长值不同,每个块的退出层值不同。本技术方案中使用了卷积+批量归一化+leaky relu的前三个块(特征提取层)从输入图像中提取特征。在这些块中,卷积层根据输入图像生成激活映射。此外,“批量规范化”层对输入进行规范化,以稳定深层网络。此外,泄漏的relu增加了网络的非线性。
[0128]
在本技术方案中,从各个激活函数中选择了leaky relu作为初始模型的激活函数,因为它不饱和,计算效率高,并且比sigmoid或tanh激活函数收敛更快。最大池化层对输入进行下采样,使网络计算效率更高,并突出显示批处理中最现有的功能。此外,在深度学习中,通常会在最后一层添加两个完全连接的层,以编译从以前的层中提取的特征。本技术方案中只添加了一个完全连接的层,因为它是仅次于卷积层的第二个最耗时的层。最后一个完全连接的层表示输入图像的最终特征向量。另外,在本技术方案中还添加了一个退出层,通过百分比(设定数量占初始模型中所有神经元的总数的比例)来停止对神经元的调用,防止模型过度拟合。
[0129]
本技术方案使用softmax层将设备活动分类为标签,与活动设备的数量相等,softmax层作为分支添加到最后一层。每个softmax层分支根据其拥有的活动数量对每个设备的活动进行分类。例如,当两台设备运行时,第一台设备有四个活动,第二台设备有三个活动,网络会自动调整其最后一层。该网络增加了softmax层的两个分支,分别有四个节点和三个节点。
[0130]
在本技术方案中,采用了两种不同的场景来评估第一模型的性能。在第一个场景中,混合了真实世界的单一设备的第一声音信号,以生成合成的混合声音信号。这种情况是必要的,因为它提供了调查更多设备类型的机会,在第二个场景中,可记录了真实世界的设备声音混合物,即本来就存在至少两个设备各自进行活动时对应的第四声音信号,并使用第四声音信号和混合声音信号来评估第一模型。在本技术方案中,可选择归一化后的第四声音信号作为第一模型的输入。
[0131]
具体方案为:获取各个设备同时进行活动时的第四声音信号以及第四声音信号的第二标注结果,第二标注结果表征了第四声音信号中各个设备所进行的真实活动;根据第四声音信号和混合声音信号,对第一模型进行评估,得到评估结果;
[0132]
若评估结果满足预设的评估条件,将第一模型作为活动识别模型,包括:将满足评估条件的第一模型作为活动识别模型;
[0133]
若评估结果不满足评估条件,该方法还包括:
[0134]
调整初始模型的模型参数,并基于调整后的模型参数对初始模型重新进行训练,直到评估结果满足评估条件。
[0135]
其中,可遍历第四声音信号(图5所示上部分所示的声音信号)中与混合声音信号大小相等的信号段(图5左侧所示的声音信号),该信号段与混合声音信号的重叠率可超过设定比例(比如,重叠50%),其中,重叠率可为信号段与混合声音信号的重叠段与信号段的比值,重叠率超过设定比例表示,所选的信号段与混合声音信号相似,然后再将时域信号(信号段)通过spectrogram函数转换为基于stft的输入图像,将该输入图像输入至基于cnn
的第一模型,并对输入图像中包含的多个设备的活动进行分类,输出分类标签,参见图5中右侧所示的labels,所识别出来的分类标签分别为3和3,两个分类标签分别对应的设备1的活动(equipment 1activity 3)为刮擦或装载活动scraping/loading,设备2的活动(equipment 2activity 3)为手臂向上活动。
[0136]
图5中labels左侧的序号表示的是设备标识,每个设备对应一个唯一的设备标识,以图5中的左侧序号为例,1表示设备1,2表示设备2,以此类推,图5右侧的数字表示的是活动标签,1表示设备对应的活动包括1对应的活动标签所表征的活动,0表示设备对应的活动不包括0对应的活动标签所表征的活动。不同的活动标签表示不同的活动。其中,关于第一模型的输出结果可以为分类标签,分类标签可以为1或0。
[0137]
此外,该第一模型使用移动模式函数来查找一段时间内出现次数最多的分类标签。周期取决于设备类型及其具体活动和持续时间。例如,0.5到2秒的周期产生可接受的输出。该模型识别1s内的所有分类标签,包括大约九个分类标签。该第一模型得到1秒内分类标签的数量为9
[0138]
其中,上述评估条件可基于实际需求设置,可以基于精确性、召回率和总体准确性设置,根据出现次数最多的分类标签,可确定第一模型对应的精确性、召回率和总体准确性,则基于第一模型对应的精确性、召回率和总体准确性和评估条件,可更好的评估第一模型。
[0139]
在windows 10 64位操作系统上测试了该第一模型,该操作系统具有3.6ghzcore(i7)cpu和64.00gb ram。使用了三种性能指标(即精确性、召回率和总体准确性)来衡量cnn模型的性能。此外,还使用了混淆矩阵来可视化这些值。
[0140]
为了更好的说明及理解本发明所提供的方法的原理,下面结合一个可选的具体实施例对本发明的方案进行说明。需要说明的是,该具体实施例中的各步骤的具体实现方式并不应当理解为对于本发明方案的限定,在本发明所提供的方案的原理的基础上,本领域技术人员能够想到的其他实现方式也应视为本发明的保护范围之内。
[0141]
参见图6和图7所示,本发明方案由三部分组成,第一部分为数据准备阶段(data preparation),也即前文所描述的获取训练样本,根据训练样本,确定各个输入图像的过程。第二部分为模型训练阶段(model training),也即前文所描述的根据输入图像训练初始模型,得到第一模型的处理过程。第三部分为模型评估阶段,也即前文所描述的根据第四声音信号和混合声音信号,对第一模型进行评估的处理过程。
[0142]
其中,第一部分具体包括三个处理过程,第一个处理过程为数据收集(data collection),也就是前文所描述的获取训练样本,以及获取第四声音信号的处理过程,具体还可参见图7中所示的应用场景示意图,在图7所示的应用场景中,包括两个工程车,用来制造混合声音,包括两个工程各自进行活动时的第一声音信号,以及两个工程车同时进行活动(multiple machines working simultaneously)时的第四声音信号,其中一个工作人员通过zoom h1数字手持记录仪录制声音(recording sound),同时,另外一个工作人员用手机录制视频(recording video),用于确定活动标签(第一标注结果),然后将上述录制的声音和录制的视频存储在数据存储设备(data storage)中。
[0143]
第二处理过程为数据选择(data selection),具体包括:对录制的声音和录制的视频进行去噪,对各个第一声音信号进行过滤处理,得到各个第三声音信号。
[0144]
第三处理过程为数据扩充(data augmentation),具体包括:将每个第三声音信号均匀划分为20个第二子信号,使用模拟真实世界混合信号的方法混合这些第二子信号,得到20个组合信号,再根据每个组合信号中的各个第二子信号的权重,得到各个加权处理后的组合信号,将每个加权处理后的组合信号与噪声信号进行混合,以模拟真实世界的混合声音信号,得到多个混合声音信号,再使用stft将每个混合声音信号转换为输入图像。
[0145]
在第二部分,可根据前文所描述的方法,将各个输入图像输入至初始模型中,输出各个输入图像对应的分类标签,每个分类标签表征了对应输入图像中各个设备的活动。
[0146]
在第三部分,可基于前文所描述的方法,基于第四声音信号和混合声音信号对上述训练得第一模型进行评估,以评估多设备活动识别性能,得到一个识别精度高的活动识别模型。评估的一种实现方式可以为:基于第四声音信号,识别出真实分类结果,基于混合声音信号,可识别得到预测分类结果,基于真实分类结果和预测分类结果,可评估第一模型的精确性、召回率和总体准确性。
[0147]
现有技术中基于声音的活动识别方法主要针对单设备场景。现有的模型经过训练,可以在没有其他重叠声源的情况下检测单个设备的活动。尽管评估单一设备方案的方法的性能很重要,但仍有必要转向更现实的方案。多种设备类型在施工作业现场执行日常活动,其声音信号可能重叠。因此,应通过针对多设备场景提出新方法来改进基于声音的方法。
[0148]
现有技术中的采集声音信号的一种方法为使用麦克风阵列,这是一种基于硬件的方法。这种方法既不实用也不高效,因为麦克风阵列不像单麦克风那样常见。此外,录音和硬件设置也存在一定的挑战。麦克风阵列需要连接到笔记本电脑上,并且应通过特定应用程序(例如audacity)调整和运行多个设置。因此,本技术方案基于软件的方法,能够使用现成的麦克风识别多个设备的活动,而无需将其连接到笔记本电脑。
[0149]
考虑到现有技术中没有针对多设备的活动识别方案,本技术方案中提出了一种基于声音的自动活动识别方法,以检测同时运行的多个设备的活动。该方案主要中对真实和合成声音数据验证所提出的方法。合成声音数据是必要的,因为它提供了使用所需数量的设备和模型配置测试不同场景的机会,使该方法更稳健地应用于真实数据。当多台设备同时运行时,本技术方案中记录了真实世界的声音数据。此外,本技术方案中还录制了单个设备的声音信号,并将其混合,以创建合成的混合数据。
[0150]
综上,本本技术方案中有以下四个方面的有益效果:
[0151]
(1)在施工现场考虑重叠的设备声音,即对多个设备同时进行活动的声音进行识别;
[0152]
(2)该方法采用两级多标签声音分类,可以直接识别设备类型(设别标识)及其相应的活动(活动标签),无需分离声音信号;
[0153]
(3)本方案提出了一种基于软件的方法,使用单通道麦克风,消除了对麦克风阵列的需要;
[0154]
(4)本方案提出了一种生成真实世界混合声音的数据增强方法,以训练cnn并防止过度拟合。在音乐、语音和环境声音检测等领域,也有多标签声音分类器。尽管如此,本方案提出的模型是专门为嘈杂的建筑工地设计的,这些工地的几个重叠声源由一个单通道麦克风捕获。
[0155]
基于与图1中所示的方法相同的原理,本发明实施例还提供了一种基于声音的活动识别装置20,如图8中所示,该基于声音的活动识别装置20可以包括获取模块210、频率特征识别模块220和活动识别模块230,其中:
[0156]
获取模块210,用于获取至少一个设备进行活动时的待识别声音信号;
[0157]
频率特征识别模块220,用于识别待识别声音信号中的频率特征;
[0158]
活动识别模块230,用于将频率特征输入至预先训练好的活动识别模型中,得到至少一个设备中每个设备的目标活动,活动识别模型是基于至少两个设备同时进行活动时的声音信号训练得到的。
[0159]
可选的,上述活动识别模型是通过以下模型训练模块训练得到的,其中,模型训练模块,用于获取训练样本,训练样本包括至少两个设备中每个设备单独活动时的第一声音信号;将各个第一声音信号进行混合,得到混合声音信号,并生成混合声音信号的第一标注结果,第一标注结果表征了混合声音信号中各个设备所进行的真实活动;识别出混合声音信号中的频率特征,并将混合声音信号的频率特征作为输入图像;根据输入图像对初始模型进行训练,得到第一模型,将第一模型作为活动识别模型。
[0160]
可选的,每个第一声音信号中包括至少一个第一子信号,每个第一子信号为设备进行一项活动时的声音信号,上述模型训练模块在将各个第一声音信号进行混合,得到混合声音信号时,具体用于:过滤掉每个第一声音信号中持续时长小于第一设定时长的第一子信号,得到多个第二声音信号;过滤掉每个第二声音信号中持续时长大于第二设定时长的第一子信号,得到多个第三声音信号,第一设定时长小于第二设定时长;将各个第三声音信号进行混合,得到混合声音信号。
[0161]
可选的,该装置还包括:
[0162]
数据扩充模块,用于将每个第三声音信号均匀划分为设定数量的第二子信号;将各个第三声音信号中不同设备对应的第二子信号进行组合,得到多个组合信号;将每个组合信号作为一个混合声音信号;
[0163]
上述模型训练模块在识别出混合声音信号中的频率特征,并将混合声音信号的频率特征作为输入图像时,具体用于:识别出每个混合声音信号中的频率特征,并将各个混合声音信号的频率特征作为各个输入图像。
[0164]
可选的,上述模型训练模块在将每个组合信号作为一个混合声音信号时,具体用于:获取每个组合信号中的各个第二子信号的权重;对于每个组合信号,根据组合信号中的第二子信号和组合信号中的各个第二子信号的权重,对组合信号中的各个第二子信号进行加权处理,得到加权处理后的组合信号;将每个加权处理后的组合信号作为一个混合声音信号。
[0165]
可选的,上述初始模型包括特征提取层和分类层,分类层包括一个完全连接的层和一个退出层,上述模型训练模块在根据输入图像对初始模型进行训练,得到第一模型时,具体用于:
[0166]
将输入图像输入至特征提取层,通过特征提取层的第一神经元对输入图像进行特征提取,得到输入图像的第一特征向量;将第一特征向量输入至完全连接的层,通过完全连接的层的第二神经元对第一特征向量进行特征提取,得到第二特征向量,初始模型的神经元包括第一神经元和第二神经元;在通过退出层判断初始模型中用于提取特征向量的神经
元的数量为设定数量时,将等于设定数量时得到的第二特征向量输入至分类层,通过分类层得到混合声音信号对应的活动识别结果,设定数量大于第一神经元的数量。
[0167]
该装置还包括:
[0168]
模型评估模块,用于获取各个设备同时进行活动时的第四声音信号以及第四声音信号的第二标注结果,第二标注结果表征了第四声音信号中各个设备所进行的真实活动;根据第四声音信号和混合声音信号,对第一模型进行评估,得到评估结果;
[0169]
若评估结果满足预设的评估条件,上述模型训练模块在将第一模型作为活动识别模型时,具体用于:将满足评估条件的第一模型作为活动识别模型;若评估结果不满足评估条件,该装置还包括:调整模块,用于调整初始模型的模型参数,并基于调整后的模型参数对初始模型重新进行训练,直到评估结果满足评估条件。
[0170]
本发明实施例的基于声音的活动识别装置可执行本发明实施例所提供的基于声音的活动识别方法,其实现原理相类似,本发明各实施例中的基于声音的活动识别装置中的各模块、单元所执行的动作是与本发明各实施例中的基于声音的活动识别方法中的步骤相对应的,对于基于声音的活动识别装置的各模块的详细功能描述具体可以参见前文中所示的对应的基于声音的活动识别方法中的描述,此处不再赘述。
[0171]
其中,上述基于声音的活动识别装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该基于声音的活动识别装置为一个应用软件;该装置可以用于执行本发明实施例提供的方法中的相应步骤。
[0172]
在一些实施例中,本发明实施例提供的基于声音的活动识别装置可以采用软硬件结合的方式实现,作为示例,本发明实施例提供的基于声音的活动识别装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的基于声音的活动识别方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)或其他电子元件。
[0173]
在另一些实施例中,本发明实施例提供的基于声音的活动识别装置可以采用软件方式实现,图8示出了存储在存储器中的基于声音的活动识别装置,其可以是程序和插件等形式的软件,并包括一系列的模块,包括获取模块210、频率特征识别模块220和活动识别模块230,用于实现本发明实施例提供的基于声音的活动识别方法。
[0174]
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定。
[0175]
基于与本发明的实施例中所示的方法相同的原理,本发明的实施例中还提供了一种电子设备,该电子设备可以包括但不限于:处理器和存储器;存储器,用于存储计算机程序;处理器,用于通过调用计算机程序执行本发明任一实施例所示的方法。
[0176]
在一个可选实施例中提供了一种电子设备,如图9所示,图9所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本发明实施例的限定。
[0177]
处理器4001可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
[0178]
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0179]
存储器4003可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0180]
存储器4003用于存储执行本发明方案的应用程序代码(计算机程序),并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。
[0181]
其中,电子设备也可以是终端设备,图9示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0182]
本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
[0183]
根据本发明的另一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种实施例实现方式中提供的方法。
[0184]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0185]
应该理解的是,附图中的流程图和框图,图示了按照本发明各种实施例的方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0186]
本发明实施例提供的计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0187]
上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
[0188]
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。