掌桥专利:专业的专利平台
掌桥专利
首页

乐谱识别方法、装置、设备及存储介质

文献发布时间:2023-06-19 11:19:16


乐谱识别方法、装置、设备及存储介质

技术领域

本发明涉及人工智能技术领域,尤其涉及一种乐谱识别方法、装置、设备及存储介质。

背景技术

一直以来,音乐大多一直通过手写乐谱进行传播。随着时间的推移,为了保护和传播优美音乐遗产,将乐谱进行数字化并进行保存至关重要。而如今全球等待录制的乐谱数以万计,人工录制费时费力又容易出差错,无疑对音乐制作者和传播者带来了极大的困难,因此,人们逐渐开始寻求能够自动识别乐谱并进行记录的技术手段。

现有的乐谱图片识别技术可以将乐谱图像转换为机器可读格式,其中有一些现有工具也能够对乐谱图片进行自动识别。

但在现有的技术中,由于人们的手写样式数不胜数,笔迹也参差不齐,软件辨识的准确度会大幅度下降,故现有的乐谱图片识别技术对手写的乐谱识别错误较多,识别结果不准确。

发明内容

本发明的主要目的在于解决现有的乐谱图片识别技术对手写的乐谱识别错误较多,识别结果不准确的问题。

本发明第一方面提供了一种乐谱识别方法,包括:

获取待识别手写乐谱图像;

根据预设尺寸,对所述待识别手写乐谱图像进行调整,并基于调整后的手写乐谱图像提取待识别图像集;

将所述待识别图像集输入预置的特征提取模型进行特征提取,得到所述待识别图像集的乐谱特征矩阵;

将所述乐谱特征矩阵输入预置的特征识别模型中进行识别,得到初始识别结果矩阵;

调用损失函数对所述初始识别结果矩阵进行优化,得到手写乐谱识别结果。

可选的,在本发明第一方面的第一种实现方式中,所述根据预设尺寸,对所述待识别手写乐谱图像进行调整,并基于调整后的手写乐谱图像提取待识别图像集包括:

根据所述待识别手写乐谱图像中的内容位置,将所述待识别手写乐谱图像分割成多个切分图像片;

在保持所述切分图像片的长宽比例不变的前提下,将所述多个切分图像片中每个切分图像片像素高度调整为预设像素高度,得到多个调整图像片;

将所述调整图像片按原顺序进行排列,得到待识别图像集。

可选的,在本发明第一方面的第二种实现方式中,所述特征提取模型包括卷积层和池化层,所述将所述待识别图像集输入预置的特征提取模型进行特征提取,得到所述待识别图像集的乐谱特征矩阵包括:

将所述待识别图像集输入至所述卷积层进行乐谱特征提取,得到乐谱特征图像集;

将乐谱特征图像集输入至所述池化层进行池化操作,将所述乐谱特征图像集中的手写乐谱图像按所述预设尺寸输出,得到所述待识别图像集的乐谱特征矩阵。

可选的,在本发明第一方面的第三种实现方式中,所述特征识别模型包括双向长短期记忆网络层和密集层,所述将所述乐谱特征矩阵输入预置的特征识别模型中进行识别,得到初始识别结果矩阵包括:

将所述乐谱特征矩阵输入至所述双向长短期记忆网络层中进行节奏和音调的识别,得到节奏输出矩阵和音调输出矩阵;

将所述节奏输出矩阵和音调输出矩阵输入至所述密集层进行合成,得到初始识别结果矩阵。

可选的,在本发明第一方面的第四种实现方式中,所述将所述乐谱特征矩阵输入至所述双向长短期记忆网络层中进行节奏和音调的识别,得到节奏输出矩阵和音调输出矩阵包括:

调用所述双向长短期记忆网络层对所述乐谱特征矩阵进行前向识别,得到前向识别结果,其中,所述前向识别结果包括前向节奏识别矩阵和前向音调识别矩阵;

调用双向长短期记忆网络对所述乐谱特征矩阵进行后向识别,得到后向识别结果,其中,所述后向识别结果包括后向节奏识别矩阵和后向音调识别矩阵;

将所述前向节奏识别矩阵和所述后向节奏识别矩阵进行合成,得到节奏输出矩阵;

将所述前向音调识别矩阵和所述后向音调识别矩阵进行合成,得到音调输出矩阵。

可选的,在本发明第一方面的第五种实现方式中,在所述将所述待识别图像集输入预置的特征提取模型进行特征提取,得到所述待识别图像集的乐谱特征矩阵之前,还包括:

收集若干手写乐谱图像,对所述手写乐谱图像中包含的乐谱信息进行标记,得到标记手写乐谱图像;

将所述标记手写乐谱图像进行随机模糊、扭曲形变处理,得到处理标记手写乐谱图像,将所述处理手写乐谱图像组成手写乐谱图像样本集;

根据所述手写乐谱图像样本集对所述卷积神经网络进行训练,得到特征提取模型。

可选的,在本发明第一方面的第六种实现方式中,在所述将所述乐谱特征矩阵输入预置的特征识别模型中进行识别,得到初始识别结果矩阵之前,还包括;

获取所述手写乐谱图像样本集;

调用所述特征提取模型对所述手写乐谱图像样本集进行特征提取,得到手写乐谱特征样本集;

根据所述手写乐谱特征样本集对特征识别算法进行训练,得到特征识别模型。

本发明第二方面提供了一种乐谱识别装置,包括:

获取模块,用于获取待识别手写乐谱图像;

图片处理模块,用于根据预设尺寸,对所述待识别手写乐谱图像进行调整,并基于调整后的手写乐谱图像提取待识别图像集;

特征提取模块,用于将所述待识别图像集输入预置的特征提取模型进行特征提取,得到所述待识别图像集的乐谱特征矩阵;

识别模块,用于将所述乐谱特征矩阵输入预置的特征识别模型中进行识别,得到初始识别结果矩阵;

优化输出模块,用于调用损失函数对所述初始识别结果矩阵进行优化,得到手写乐谱识别结果。

可选的,在本发明第二方面的第一种实现方式中,所述图片处理模块包括:

图片分割单元,用于根据所述待识别手写乐谱图像中的内容位置,将所述待识别手写乐谱图像分割成多个切分图像片;

尺寸调整单元,用于在保持所述切分图像片的长宽比例不变的前提下,将所述多个切分图像片中每个切分图像片像素高度调整为预设像素高度,得到多个调整图像片;

图像集组成单元,用于将所述调整图像片按原顺序进行排列,得到待识别图像集。

可选的,在本发明第二方面的第二种实现方式中,所述特征提取模块中的特征提取模型中包括卷积层和池化层,所述特征提取模块包括:

卷积单元,用于将所述待识别图像集输入至所述卷积层进行乐谱特征提取,得到乐谱特征图像集;

池化单元,用于将乐谱特征图像集输入至所述池化层进行池化操作,将所述乐谱特征图像集中的手写乐谱图像按所述预设尺寸输出,得到所述待识别图像集的乐谱特征矩阵。

可选的,在本发明第二方面的第三种实现方式中,所述识别模块中的所述特征识别模型包括双向长短期记忆网络层和密集层,所述识别模块包括:

输出矩阵获取单元,用于将所述乐谱特征矩阵输入至所述双向长短期记忆网络层中进行节奏和音调的识别,得到节奏输出矩阵和音调输出矩阵;

输出矩阵合成单元,用于将所述节奏输出矩阵和音调输出矩阵输入至所述密集层进行合成,得到初始识别结果矩阵。

可选的,在本发明第二方面的第四种实现方式中,所述输出矩阵获取单元包括:

前向识别子单元,用于调用所述双向长短期记忆网络层对所述乐谱特征矩阵进行前向识别,得到前向识别结果,其中,所述前向识别结果包括前向节奏识别矩阵和前向音调识别矩阵;

后向识别子单元,用于调用双向长短期记忆网络对所述乐谱特征矩阵进行后向识别,得到后向识别结果,其中,所述后向识别结果包括后向节奏识别矩阵和后向音调识别矩阵;

节奏合成子单元,用于将所述前向节奏识别矩阵和所述后向节奏识别矩阵进行合成,得到节奏输出矩阵;

音调合成子单元,用于将所述前向音调识别矩阵和所述后向音调识别矩阵进行合成,得到音调输出矩阵。

可选的,在本发明第二方面的第五种实现方式中,所述乐谱识别装置还包括特征提取模型训练模块,所述特征提取模型训练模块包括:

样本获取单元,用于收集若干手写乐谱图像,对所述手写乐谱图像中包含的乐谱信息进行标记,得到标记手写乐谱图像;

样本扩充单元,用于将所述标记手写乐谱图像进行随机模糊、扭曲形变处理,得到处理标记手写乐谱图像,将所述处理手写乐谱图像组成手写乐谱图像样本集;

特征提取模型训练单元,用于根据所述手写乐谱图像样本集对所述卷积神经网络进行训练,得到特征提取模型。

可选的,在本发明第二方面的第六种实现方式中,所述乐谱识别装置还包括特征识别模型训练模块,所述特征识别模型训练模块包括:

特征样本集生成单元,用于获取所述手写乐谱图像样本集,调用所述特征提取模型对所述手写乐谱图像样本集进行特征提取,得到手写乐谱特征样本集;

特征识别模型训练单元,用于根据所述手写乐谱特征样本集对特征识别算法进行训练,得到特征识别模型。

本发明第三方面提供了一种手写乐谱识别设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述手写乐谱识别设备执行上述的乐谱识别方法的步骤。

本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的乐谱识别方法的步骤。

本发明提供的技术方案中,首先获取待识别手写乐谱图像;根据预设尺寸,对待识别手写乐谱图像进行调整,并基于调整后的手写乐谱图像提取待识别图像集;将待识别图像集输入预置的特征提取模型进行特征提取,得到待识别图像集的乐谱特征矩阵;将乐谱特征矩阵输入预置的特征识别模型中进行识别,得到初始识别结果矩阵;调用损失函数对初始识别结果矩阵进行优化,得到手写乐谱识别结果。本发明实施例中,该乐谱识别方法能够提高对手写乐谱识别的效果,使识别结果更加准确。

附图说明

图1为本发明实施例中乐谱识别方法的一个实施例示意图;

图2为本发明实施例中乐谱识别方法的另一个实施例示意图;

图3为本发明实施例中乐谱识别方法的另一个实施例示意图;

图4为本发明实施例中乐谱识别方法的另一个实施例示意图;

图5为本发明实施例中乐谱识别装置的一个实施例示意图;

图6为本发明实施例中乐谱识别装置的另一个实施例示意图;

图7为本发明实施例中乐谱识别设备的一个实施例示意图。

具体实施方式

本发明实施例提供了一种乐谱识别方法、装置、设备及存储介质,首先获取待识别手写乐谱图像;根据预设尺寸,对待识别手写乐谱图像进行调整,并基于调整后的手写乐谱图像提取待识别图像集;将待识别图像集输入预置的特征提取模型进行特征提取,得到待识别图像集的乐谱特征矩阵;将乐谱特征矩阵输入预置的特征识别模型中进行识别,得到初始识别结果矩阵;调用损失函数对初始识别结果矩阵进行优化,得到手写乐谱识别结果。本发明实施例中,该乐谱识别方法能够提高对手写乐谱识别的效果,使识别结果更加准确。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中乐谱识别方法的一个实施例包括:

101、获取待识别手写乐谱图像;

可以理解的是,本发明的执行主体可以为乐谱识别装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。

由于现存的乐谱特别是年代较为久远的古典乐谱大多为手写乐谱,在进行乐谱的获取时,可以采用对原始的手写乐谱文件进行扫描或拍照获得待识别的手写乐谱图像,也可以直接在网络数据库中获取已有的手写乐谱文件的图像。

102、根据预设尺寸,对待识别手写乐谱图像进行调整,并基于调整后的手写乐谱图像提取待识别图像集;

获取到待识别的手写乐谱识别图像后,首先对手写乐谱图像进行简单的内容识别。具体地,该内容识别主要是对待识别手写乐谱图像进行识别,从而确定该待识别手写乐谱图像中的内容的大致位置,其中,待识别手写乐谱图像中的内容的大致位置具体包括待识别手写乐谱图像中的五线谱的大致位置以及乐谱音符的大致位置。

具体的,将待识别手写乐谱图像进行对比度加强等图像处理,得到处理待识别手写乐谱图像,对处理待识别手写乐谱图像识别得到五线谱位置后,将待识别手写乐谱图像按五线谱的行进行分割,得到仅包括单行五线谱的待识别手写乐谱图像。在这一步骤中,将待识别手写乐谱图像分为多个单行五线谱的图像,以便于后续的识别操作。

获取到多个单行五线谱的图像后,根据多个单行五线谱中音符的大致位置,将单行五线谱的待识别手写乐谱图像进行分段操作,分段后获得多个图像片。随后将所述图像片调整为预设的大小。

在图像片调整为预设的大小后将图像片进行二进制的转换,得到所述待识别手写乐谱图片的二进制图像片,并将调整后的图像片组成待识别图像集。

103、将待识别图像集输入预置的特征提取模型进行特征提取,得到待识别图像集的乐谱特征矩阵;

将待识别图像集输入预置的特征提取模型中,其中,本步骤中的特征提取模型可以采用预先基于卷积神经网络进行训练得到,其中,卷积神经网络(Convolutional NeuralNetworks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络,其具有表征学习能力,即能够从输入信息中提取高阶特征。在对卷积神经网络进行训练后并记录训练参数,得到本步骤中使用的特征提取模型。该特征提取模型能够将待识别图像集中的图像信息特征进行提取,得到该待识别图像集中每个图像片的特征。

得到该待识别图像集中每个图像片的特征后,将每个图像片的特征按照原待识别图像集中的排列顺序以及图像位置进行排列,得到乐谱特征矩阵。

104、将乐谱特征矩阵输入预置的特征识别模型中进行识别,得到初始识别结果矩阵;

将乐谱特征矩阵输入阈值的特征识别模型中,其中,本步骤的特征识别模型可以是预先基于递归神经网络进行训练得到的,其中,递归神经网络(Recursive NeuralNetwork)是具有树状阶层结构且网络节点按其连接顺序对输入信息进行递归的人工神经网络(Artificial Neural Network,ANN),是深度学习(deep learning)算法之一。在预先对递归神经网络进行训练后得到训练参数并保存,得到特征识别模型。该特征识别模型能够基于乐谱的特征矩阵中的具体图像特征,找出与之最相关的乐谱符号内容。

具体的,将乐谱特征矩阵输入特征识别模型中进行传递,根据特征识别模型训练时确定的参数,对乐谱特征矩阵进行识别,得到初始识别结果矩阵。

105、调用损失函数对初始识别结果矩阵进行优化,得到手写乐谱识别结果。

由于训练模型时使用的训练样本不够、该待识别手写乐谱图像的图像质量较低以及乐谱中符号过于复杂等问题,为使得对手写乐谱的识别更加准确,调用损失函数对初始识别结果矩阵进行加权优化处理。

具体的,损失函数(loss function),又称代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。

本步骤中具体调用平滑L1损失函数将初始识别结果矩阵进行优化,其中,平滑L1损失函数,也被称为最小绝对值偏差(LAD),最小绝对值误差(LAE)。总的说来,它是把目标值与估计值的绝对差值的总和最小化的方法进行调整的函数。调用平滑L1损失函数调整初始识别结果矩阵,最终获取到手写乐谱识别结果。

本发明实施例中,该乐谱识别方法能够提高对手写乐谱识别的效果,使识别结果更加准确。

请参阅图2,本发明实施例中乐谱识别方法的另一个实施例包括:

201、获取待识别手写乐谱图像;

由于现存的乐谱特别是年代较为久远的古典乐谱大多为手写乐谱,在进行乐谱的获取时,可以采用对原始的手写乐谱文件进行扫描或拍照获得待识别的手写乐谱图像,也可以直接在网络数据库中获取已有的手写乐谱文件的图像。

202、根据预设尺寸,对待识别手写乐谱图像进行调整,并基于调整后的手写乐谱图像提取待识别图像集;

本实施例中的具体步骤与前述实施例中步骤102中的步骤相同,在此不再赘述。

203、收集若干手写乐谱图像,对手写乐谱图像中包含的乐谱信息进行标记,得到标记手写乐谱图像;将标记手写乐谱图像进行随机模糊、扭曲形变处理,得到处理标记手写乐谱图像,并基于处理手写乐谱图像确定手写乐谱图像样本集;

收集若干手写乐谱图像,将该手写乐谱图像中包含的乐谱信息进行标记,得到标记手写乐谱图像,其中,对手写乐谱图像中包含的乐谱信息进行标记指对手写乐谱图像中包含的各符号进行标记,包括符号的时值,当前符号的音调等信息。此外,为了提高后续得到的特征提取模型的准确性,可以采用由同一位抄谱员进行抄写或者保存状态较为相似的手写乐谱图像进行标记,得到标记手写乐谱图像。

得到标记手写乐谱图像后,将标记手写乐谱图像进行随机模糊、扭曲形变处理,得到处理标记手写乐谱图像。将处理标记手写乐谱图像和标记手写乐谱图像进行保存,得到手写乐谱图像样本集。

204、根据手写乐谱图像样本集对卷积神经网络进行训练,得到特征提取模型;

将手写乐谱图像样本集中的数据分为训练集、验证集以及测试集,对卷积神经网络(Convolutional Neural Networks,CNN)进行训练,得到特征提取的相关参数,将相关参数进行保存,得到特征提取模型,其中,特征提取模型包括卷积层以及池化层。

205、将待识别图像集输入至卷积层进行乐谱特征提取,得到乐谱特征图像集;

将待识别图像集输入预置的特征提取模型的卷积层中,其中,卷积层的功能是对输入数据进行特征提取,其内部包含多个卷积核,组成卷积核的每个元素都对应一个权重系数和一个偏差量(bias vector),类似于一个前馈神经网络的神经元(neuron)。具体的,本步骤中的特征提取模型中包含3个不同参数的卷积层,每层卷积层都利用整流线性单元激活。通过卷积层将待识别图像集中的乐谱特征进行提取,输出乐谱特征图像集。

206、将乐谱特征图像集输入至池化层进行池化操作,将乐谱特征图像集中的手写乐谱图像按预设尺寸输出,得到待识别图像集的乐谱特征矩阵;

在卷积层进行特征提取后得到乐谱特征图像集后,将乐谱特征图像集输入预置的特征提取模型的池化层,池化层会对乐谱特征图像集进行特征选择和信息过滤。其中,池化层包含预设定的池化函数,其功能是将乐谱特征图像集中单个点的结果替换为其相邻区域的乐谱特征图像集统计量。

进行池化后,将得到的乐谱特征图像集统计量按照原本的尺寸,也即是前述中的预设尺寸进行输出,得到待识别图像集的乐谱特征矩阵。

207、将乐谱特征矩阵输入预置的特征识别模型中进行识别,得到初始识别结果矩阵;

将乐谱特征矩阵输入阈值的特征识别模型中,其中,本步骤的特征识别模型可以是预先基于递归神经网络进行训练得到的,其中,递归神经网络(Recursive NeuralNetwork)是具有树状阶层结构且网络节点按其连接顺序对输入信息进行递归的人工神经网络(Artificial Neural Network,ANN),是深度学习(deep learning)算法之一。在预先对递归神经网络进行训练后得到训练参数并保存,得到特征识别模型。该特征识别模型能够基于乐谱的特征矩阵中的具体图像特征,找出与之最相关的乐谱符号内容。

具体的,将乐谱特征矩阵输入特征识别模型中进行传递,根据特征识别模型训练时确定的参数,对乐谱特征矩阵进行识别,得到初始识别结果矩阵。

208、调用损失函数对初始识别结果矩阵进行优化,得到手写乐谱识别结果。

本步骤中的具体内容与前述实施例中步骤105中相同,故在此不再赘述

本发明实施例中,该乐谱识别方法能够提高对手写乐谱识别的效果,使识别结果更加准确。

请参阅图3,本发明实施例中乐谱识别方法的另一个实施例包括:

301、获取待识别手写乐谱图像;

可以理解的是,本发明的执行主体可以为乐谱识别装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。

由于现存的乐谱特别是年代较为久远的古典乐谱大多为手写乐谱,在进行乐谱的获取时,可以采用对原始的手写乐谱文件进行扫描或拍照获得待识别的手写乐谱图像,也可以直接在网络数据库中获取已有的手写乐谱文件的图像。

302、根据预设尺寸,对待识别手写乐谱图像进行调整,并基于调整后的手写乐谱图像提取待识别图像集;

本实施例中的具体步骤与前述实施例中步骤102中的步骤相同,在此不再赘述。

303、将待识别图像集输入预置的特征提取模型进行特征提取,得到待识别图像集的乐谱特征矩阵;

将待识别图像集输入预置的特征提取模型中,其中,本步骤中的特征提取模型可以采用预先基于卷积神经网络进行训练得到,其中,卷积神经网络(Convolutional NeuralNetworks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络,其具有表征学习能力,即能够从输入信息中提取高阶特征。在对卷积神经网络进行训练后并记录训练参数,得到本步骤中使用的特征提取模型。该特征提取模型能够将待识别图像集中的图像信息特征进行提取,得到该待识别图像集中每个图像片的特征。

得到该待识别图像集中每个图像片的特征后,将每个图像片的特征按照原待识别图像集中的排列顺序以及图像位置进行排列,得到乐谱特征矩阵。

304、获取手写乐谱图像样本集;调用特征提取模型对手写乐谱图像样本集进行特征提取,得到手写乐谱特征样本集;根据手写乐谱特征样本集对特征识别算法进行训练,得到特征识别模型;

收集若干手写乐谱图像,将该手写乐谱图像中包含的乐谱信息进行标记,得到标记手写乐谱图像,其中,对手写乐谱图像中包含的乐谱信息进行标记指对手写乐谱图像中包含的各符号进行标记,包括符号的时值,当前符号的音调等信息。此外,为了提高后续得到的特征提取模型的准确性,可以采用由同一位抄谱员进行抄写或者保存状态较为相似的手写乐谱图像进行标记,得到标记手写乐谱图像。

得到标记手写乐谱图像后,将标记手写乐谱图像进行随机模糊、扭曲形变处理,得到处理标记手写乐谱图像。将处理标记手写乐谱图像和标记手写乐谱图像进行保存,得到手写乐谱图像样本集。

得到手写乐谱图像样本集后,利用预先训练好的特征提取模型对乐谱图像样本集中的图像进行特征提取,将得到的手写乐谱图像样本特征矩阵组成手写乐谱特征样本集。

将获得的手写乐谱特征样本集中的特征矩阵数据输入特征识别算法进行训练,根据训练的结果调整特征识别模型中的特征识别参数,并将训练完毕的特征识别参数保存,得到特征识别模型,其中,特征识别算法可以采用循环神经网络(RNN)实现。在本实施例中,具体利用手写乐谱特征样本集对双向长短期记忆网络(BLSTM,Bidirectional LongShort-Term Memory)进行训练,得到特征识别模型。具体地,本实施例中的特征识别模型包括双向长短期记忆网络层和密集层。

305、将乐谱特征矩阵输入至双向长短期记忆网络层中进行识别,得到节奏输出矩阵和音调输出矩阵;

长短期记忆网络(LSTM,Long Short-Term Memory)是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的,所有的RNN都具有一种重复神经网络模块的链式形式。且长短期记忆网络一定程度上可以提高具有长距离相关性的序列识别结果的准确度。

本步骤中使用的是双向长短期记忆网络(BLSTM,Bidirectional Long Short-Term Memory),在本步骤之前,要先获取若干手写乐谱图像,将该手写乐谱图像中包含的乐谱信息进行标记,得到标记手写乐谱图像,其中,对手写乐谱图像中包含的乐谱信息进行标记指对手写乐谱图像中包含的各符号进行标记,包括符号的时值,当前符号的音调等信息。此外,为了提高后续得到的特征提取模型的准确性,可以采用由同一位抄谱员进行抄写或者保存状态较为相似的手写乐谱图像进行标记,得到标记手写乐谱图像。得到标记手写乐谱图像后,将标记手写乐谱图像进行随机模糊、扭曲形变处理,得到处理标记手写乐谱图像。将处理标记手写乐谱图像和标记手写乐谱图像进行保存,得到手写乐谱图像样本集。使用该手写乐谱图像样本集对双向长短期记忆网络进行训练,得到相应参数,完成训练过程,得到训练好的双向长短期记忆网络。利用训练好的双向长短期记忆网络对乐谱特征矩阵进行识别,得到节奏输出矩阵和音调输出矩阵。

与单向的长短期记忆网络相比,双向长短期记忆网络能够同时对节奏和高音的双重识别,提高预测的精准度。

306、将节奏输出矩阵和音调输出矩阵输入至密集层进行合成,得到初始识别结果矩阵;

获取到节奏输出矩阵和音调输出矩阵后,将节奏输出矩阵和音调输出矩阵输入至密集层中,其中,密集层又称为完全连接层(FC,Fully Connected Layer),利用完全连接层将得到的节奏输出矩阵和音调输出矩阵中的信息进行合成,并将合成后的信息进行分类判断,得到初始识别结果矩阵。

307、调用损失函数对初始识别结果矩阵进行优化,得到手写乐谱识别结果。

由于训练模型时使用的训练样本不够、该待识别手写乐谱图像的图像质量较低以及乐谱中符号过于复杂等问题,为使得对手写乐谱的识别更加准确,调用损失函数对初始识别结果矩阵进行加权优化处理。

具体的,损失函数(loss function),又称代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。

本步骤中具体调用平滑L1损失函数将初始识别结果矩阵进行优化,其中,平滑L1损失函数,也被称为最小绝对值偏差(LAD),最小绝对值误差(LAE)。总的说来,它是把目标值与估计值的绝对差值的总和最小化的方法进行调整的函数。调用平滑L1损失函数调整初始识别结果矩阵,最终获取到手写乐谱识别结果。本步骤中,平滑L1损失函数定义为:

其中,本步骤中平滑L1损失函数中具体采用的置信度为0.5,式中x为本实施例中手写乐谱识别结果的值,y为想要达到手写乐谱识别结果的目标值。

本发明实施例中,该乐谱识别方法能够提高对手写乐谱识别的效果,使识别结果更加准确。

请参阅图4,本发明实施例中乐谱识别方法的另一个实施例包括:

401、获取待识别手写乐谱图像;

可以理解的是,本发明的执行主体可以为乐谱识别装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。

由于现存的乐谱特别是年代较为久远的古典乐谱大多为手写乐谱,在进行乐谱的获取时,可以采用对原始的手写乐谱文件进行扫描或拍照获得待识别的手写乐谱图像,也可以直接在网络数据库中获取已有的手写乐谱文件的图像。

402、根据待识别手写乐谱图像中的内容位置,将待识别手写乐谱图像分割成多个切分图像片;在保持切分图像片的长宽比例不变的前提下,将多个切分图像片中每个切分图像片像素高度调整为预设像素高度,得到多个调整图像片;

获取到待识别的手写乐谱识别图像后,首先对手写乐谱图像进行简单的内容识别。首先确定待识别手写乐谱图像中的内容位置将待识别手写乐谱图像进行分割得到多个切分图像片,具体的,将待识别手写乐谱图像进行对比度加强等图像处理,得到处理待识别手写乐谱图像,对处理待识别手写乐谱图像识别得到五线谱位置后,将待识别手写乐谱图像按五线谱的行进行分割,得到仅包括单行五线谱的待识别手写乐谱图像。在这一步骤中,将待识别手写乐谱图像分为多个单行五线谱的图像,以便于后续的识别操作。

获取到多个单行五线谱的图像后,根据多个单行五线谱中音符的大致位置,将单行五线谱的待识别手写乐谱图像进行分段操作,分段后获得多个切分图像片。

在保证所述多个切分图像片的图片比例不变的情况下,将所述多个切分图像片中所有切分图像片的高度调整为100像素高度,以保证生成的切分图像片具有相同的像素列高度;并将调整高度后的多个切分图像片转换为二进制图像,得到多个调整图像片。

403、将调整图像片按原顺序进行排列,得到待识别图像集;

由于上步骤中得到的调整图像片的高度均为100像素,由于上步骤中进行图片的切分时由于每段乐谱中具有不同的符号,在保持高度相同比例不变的情况下会存在调整图像片中的图像宽度均有不同的情况,故将调整图像片按原顺序进行排列时,将获取到的所有调整图像片中宽度最宽的调整图像片的宽度作为行宽度,将其他调整图像片按照行宽度进行排列。具体地,如有N个调整图像片的宽度和小于或等于行宽度时,则将该N个调整图像片排进一行中,若有N个调整图像片的宽度和小于或等于行宽度时,第N+1个调整图像片的宽度大于行宽度,则将第N+1个调整图像片排进下一行中。将这些调整图像片按原乐谱顺序进行排列后,得到待识别图像集。

404、收集若干手写乐谱图像,对手写乐谱图像中包含的乐谱信息进行标记,得到标记手写乐谱图像;将标记手写乐谱图像进行随机模糊、扭曲形变处理,得到处理标记手写乐谱图像,并基于处理手写乐谱图像确定手写乐谱图像样本集;

本步骤的具体内容与前述实施例中步骤203中的内容基本相同,故在此不再赘述。

405、根据手写乐谱图像样本集对卷积神经网络进行训练,得到特征提取模型;

将手写乐谱图像样本集中的数据分为训练集、验证集以及测试集,对卷积神经网络(Convolutional Neural Networks,CNN)进行训练,得到特征提取的相关参数,将相关参数进行保存,得到特征提取模型,其中,特征提取模型包括卷积层以及池化层。

406、将待识别图像集至卷积层进行乐谱特征提取,得到乐谱特征图像集;

将待识别图像集输入预置的特征提取模型的卷积层中,其中,卷积层的功能是对输入数据进行特征提取,其内部包含多个卷积核,组成卷积核的每个元素都对应一个权重系数和一个偏差量(bias vector),类似于一个前馈神经网络的神经元(neuron)。具体的,本步骤中的特征提取模型中包含3个不同参数的卷积层,每层卷积层都利用整流线性单元激活。通过卷积层将待识别图像集中的乐谱特征进行提取,输出乐谱特征图像集。

407、将乐谱特征图像集输入至池化层进行池化操作,将乐谱特征图像集中的手写乐谱图像按预设尺寸输出,得到待识别图像集的乐谱特征矩阵;

在卷积层进行特征提取后得到乐谱特征图像集后,将乐谱特征图像集输入预置的特征提取模型的池化层,池化层会对乐谱特征图像集进行特征选择和信息过滤。其中,池化层包含预设定的池化函数,其功能是将乐谱特征图像集中单个点的结果替换为其相邻区域的乐谱特征图像集统计量。

进行池化后,将得到的乐谱特征图像集统计量按照原本的尺寸,也即是前述中的预设尺寸进行输出,得到待识别图像集的乐谱特征矩阵。

408、获取手写乐谱图像样本集;调用特征提取模型对手写乐谱图像样本集进行特征提取,得到手写乐谱特征样本集;根据手写乐谱特征样本集对特征识别算法进行训练,得到特征识别模型;

获取前述步骤中建立好的手写乐谱图像样本集后,利用预先训练好的特征提取模型对乐谱图像样本集中的图像进行特征提取,将得到的手写乐谱图像样本特征矩阵组成手写乐谱特征样本集。

将获得的手写乐谱特征样本集中的特征矩阵数据输入特征识别算法进行训练,根据训练的结果调整特征识别模型中的特征识别参数,并将训练完毕的特征识别参数保存,得到特征识别模型,其中,特征识别算法可以采用循环神经网络(RNN)实现。在本实施例中,具体利用手写乐谱特征样本集对双向长短期记忆网络(BLSTM,Bidirectional LongShort-Term Memory)进行训练,得到特征识别模型。具体地,本实施例中的特征识别模型包括双向长短期记忆网络层和密集层。

409、调用长短期记忆网络层对乐谱特征矩阵进行前向识别,得到前向识别结果;调用长短期记忆网络对乐谱特征矩阵进行后向识别,得到后向识别结果;

本步骤中将乐谱特征矩阵输入双向长短期记忆网络层中进行识别,其中,首先利用双向长短期记忆网络层对所述乐谱特征矩阵进行前向识别,得到前向识别结果,该前向识别结果中包括前向节奏识别矩阵和前向音调识别矩阵;其次,利用双向长短期记忆网络层对乐谱特征矩阵进行后向识别,得到后向识别结果,其中,所述后向识别结果包括后向节奏识别矩阵和后向音调识别矩阵。

410、将前向节奏识别矩阵和后向节奏识别矩阵进行合成,得到节奏输出矩阵;将前向音调识别矩阵和后向音调识别矩阵进行合成,得到音调输出矩阵;

读取到前向识别结果和后向识别结果后,将前向识别结果后向识别结果进行合成。具体地,将上步骤中获取到的前向节奏识别矩阵和后向节奏识别矩阵进行合成,得到节奏识别结果的双向识别结果并输出,得到节奏输出矩阵;将上步骤中获取到的前向音调识别矩阵和后向音调识别矩阵进行合成,得到音调识别结果的双向识别结果并输出,得到音调输出矩阵。

411、将节奏输出矩阵和音调输出矩阵输入密集层进行合成,得到初始识别结果矩阵;

获取到节奏输出矩阵和音调输出矩阵后,将节奏输出矩阵和音调输出矩阵输入至密集层中,其中,密集层又称为完全连接层(FC,Fully Connected Layer),利用完全连接层将得到的节奏输出矩阵和音调输出矩阵中的信息进行合成,并将合成后的信息进行分类判断,得到初始识别结果矩阵。

412、调用损失函数对初始识别结果矩阵进行优化,得到手写乐谱识别结果。

本步骤中的具体内容与前述实施例中步骤307中相同,故在此不再赘述。

本发明实施例中,该乐谱识别方法能够提高对手写乐谱识别的效果,使识别结果更加准确。

上面对本发明实施例中乐谱识别方法进行了描述,下面对本发明实施例中乐谱识别装置进行描述,请参阅图5,本发明实施例中乐谱识别装置一个实施例包括:

获取模块501,用于获取待识别手写乐谱图像;

图片处理模块502,用于根据预设尺寸,对所述待识别手写乐谱图像进行调整,并基于调整后的手写乐谱图像提取待识别图像集;

特征提取模块503,用于将所述待识别图像集输入预置的特征提取模型进行特征提取,得到所述待识别图像集的乐谱特征矩阵;

识别模块504,用于将所述乐谱特征矩阵输入预置的特征识别模型中进行识别,得到初始识别结果矩阵;

优化输出模块505,用于调用损失函数对所述初始识别结果矩阵进行优化,得到手写乐谱识别结果。

本发明实施例中,该乐谱识别方法能够提高对手写乐谱识别的效果,使识别结果更加准确。

请参阅图6,本发明实施例中乐谱识别装置的另一个实施例包括:

获取模块501,用于获取待识别手写乐谱图像;

图片处理模块502,用于根据预设尺寸,对所述待识别手写乐谱图像进行调整,并基于调整后的手写乐谱图像提取待识别图像集;

特征提取模块503,用于将所述待识别图像集输入预置的特征提取模型进行特征提取,得到所述待识别图像集的乐谱特征矩阵;

识别模块504,用于将所述乐谱特征矩阵输入预置的特征识别模型中进行识别,得到初始识别结果矩阵;

优化输出模块505,用于调用损失函数对所述初始识别结果矩阵进行优化,得到手写乐谱识别结果。

可选的,所述图片处理模块502包括:

图片分割单元5021,用于根据所述待识别手写乐谱图像中的内容位置,将所述待识别手写乐谱图像分割成多个切分图像片;

尺寸调整单元5022,用于在保持所述切分图像片的长宽比例不变的前提下,将所述多个切分图像片中每个切分图像片像素高度调整为预设像素高度,得到多个调整图像片;

图像集组成单元5023,用于将所述调整图像片按原顺序进行排列,得到待识别图像集。

可选的,所述特征提取模块503中的特征提取模型中包括卷积层和池化层,所述特征提取模块503包括:

卷积单元5031,用于将所述待识别图像集输入至所述卷积层进行乐谱特征提取,得到乐谱特征图像集;

池化单元5032,用于将乐谱特征图像集输入至所述池化层进行池化操作,将所述乐谱特征图像集中的手写乐谱图像按所述预设尺寸输出,得到所述待识别图像集的乐谱特征矩阵。

可选的,所述识别模块504中的所述特征识别模型包括双向长短期记忆网络层和密集层,所述识别模块504包括:

输出矩阵获取单元5041,用于将所述乐谱特征矩阵输入至所述双向长短期记忆网络层中进行节奏和音调的识别,得到节奏输出矩阵和音调输出矩阵;

输出矩阵合成单元5042,用于将所述节奏输出矩阵和音调输出矩阵输入至所述密集层进行合成,得到初始识别结果矩阵。

可选的,所述输出矩阵获取单元5041包括:

前向识别子单元,用于调用所述双向长短期记忆网络层对所述乐谱特征矩阵进行前向识别,得到前向识别结果,其中,所述前向识别结果包括前向节奏识别矩阵和前向音调识别矩阵;

后向识别子单元,用于调用双向长短期记忆网络对所述乐谱特征矩阵进行后向识别,得到后向识别结果,其中,所述后向识别结果包括后向节奏识别矩阵和后向音调识别矩阵;

节奏合成子单元,用于将所述前向节奏识别矩阵和所述后向节奏识别矩阵进行合成,得到节奏输出矩阵;

音调合成子单元,用于将所述前向音调识别矩阵和所述后向音调识别矩阵进行合成,得到音调输出矩阵。

可选的,所述乐谱识别装置还包括特征提取模型训练模块,所述特征提取模型训练模块包括:

样本获取单元,用于收集若干手写乐谱图像,对所述手写乐谱图像中包含的乐谱信息进行标记,得到标记手写乐谱图像;

样本扩充单元,用于将所述标记手写乐谱图像进行随机模糊、扭曲形变处理,得到处理标记手写乐谱图像,将所述处理手写乐谱图像组成手写乐谱图像样本集;

特征提取模型训练单元,用于根据所述手写乐谱图像样本集对所述卷积神经网络进行训练,得到特征提取模型。

可选的,所述乐谱识别装置还包括特征识别模型训练模块,所述特征识别模型训练模块包括:

特征样本集生成单元,用于获取所述手写乐谱图像样本集,调用所述特征提取模型对所述手写乐谱图像样本集进行特征提取,得到手写乐谱特征样本集;

特征识别模型训练单元,用于根据所述手写乐谱特征样本集对特征识别算法进行训练,得到特征识别模型。

本发明实施例中,该乐谱识别方法能够提高对手写乐谱识别的效果,使识别结果更加准确。

上面图5和图6从模块化功能实体的角度对本发明实施例中的乐谱识别装置进行详细描述,下面从硬件处理的角度对本发明实施例中乐谱识别设备进行详细描述。

图7是本发明实施例提供的一种乐谱识别设备的结构示意图,该乐谱识别设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)710(例如,一个或一个以上处理器)和存储器720,一个或一个以上存储应用程序733或数据732的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器720和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对乐谱识别设备700中的一系列指令操作。更进一步地,处理器710可以设置为与存储介质730通信,在乐谱识别设备700上执行存储介质730中的一系列指令操作。

乐谱识别设备700还可以包括一个或一个以上电源740,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口760,和/或,一个或一个以上操作系统731,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图7示出的乐谱识别设备结构并不构成对乐谱识别设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明还提供一种乐谱识别设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述乐谱识别方法的步骤。

本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述乐谱识别方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 乐谱识别方法、装置、设备及存储介质
  • 电子装置、基于深度学习的乐谱识别方法及存储介质
技术分类

06120112880067