CN115620310B - 图像识别方法、模型训练方法、介质、装置及计算设备 - Google Patents
图像识别方法、模型训练方法、介质、装置及计算设备 Download PDFInfo
- Publication number
- CN115620310B CN115620310B CN202211514783.6A CN202211514783A CN115620310B CN 115620310 B CN115620310 B CN 115620310B CN 202211514783 A CN202211514783 A CN 202211514783A CN 115620310 B CN115620310 B CN 115620310B
- Authority
- CN
- China
- Prior art keywords
- music
- music score
- track
- image
- sample
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/30—Character recognition based on the type of data
- G06V30/304—Music notations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/16—Image preprocessing
- G06V30/162—Quantising the image signal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/18—Extraction of features or characteristics of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19107—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19173—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Auxiliary Devices For Music (AREA)
Abstract
本公开的实施方式提供了一种图像识别方法、模型训练方法、介质、装置及计算设备。该图像识别方法包括:计算设备通过获取待识别乐谱图像,将待识别乐谱图像输入音轨识别模型进行音轨识别,获取识别得到的多个单音轨乐谱区域。其中,音轨识别模型是根据多个样本乐谱图像训练得到的、用于识别输入的乐谱图像中的多个单音轨乐谱区域的模型,每个样本乐谱图像包括音轨标注信息和干扰标注信息,音轨标注信息用于说明样本乐谱图像中每行乐谱对应的音轨数,干扰标注信息用于标注样本乐谱图像中非乐谱部分的干扰信息区域。通过音轨识别模型进行音轨识别,本公开的方法显著地提高了识别精度。
Description
技术领域
本公开的实施方式涉及图像识别领域,更具体地,本公开的实施方式涉及图像识别方法、模型训练方法、介质、装置及计算设备。
背景技术
本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
乐谱是一种以印刷或手写制作,用符号来记录音乐的方法,用户可以根据乐谱中记载的符号来唱歌或演奏乐器。对于乐器初学者来说,乐谱的正确认识和理解是至关重要的。因此,产生了基于乐谱识别来辅助初学者进行乐谱理解和跟踪弹奏的需求。其中,乐谱图像版面分析是乐谱识别中的重要组成部分。
目前,乐谱图像版面分析主要是通过对拍摄得到的乐谱图像进行去噪,增强,二值化处理,之后根据处理后的图像中每个像素点的灰度值,确定出处理后的图像中的乐谱描述区,以达到分析的目的。然而,现有技术容易将非乐谱部分误识别为乐谱,存在识别精度较低的问题。
发明内容
本公开提供一种图像识别方法、模型训练方法、介质、装置及计算设备,以解决/实现现有技术中识别乐谱区域的精度较低的问题。
在本公开实施方式的第一方面中,提供了一种图像识别方法,包括:
获取待识别乐谱图像;
将所述待识别乐谱图像输入音轨识别模型进行音轨识别,获取识别得到的多个单音轨乐谱区域;
其中,所述音轨识别模型是根据多个样本乐谱图像训练得到的、用于识别输入的乐谱图像中多个单音轨乐谱区域的模型,每个样本乐谱图像包括音轨标注信息和干扰标注信息,所述音轨标注信息用于说明所述样本乐谱图像中每行乐谱对应的音轨数,所述干扰标注信息用于标注所述样本乐谱图像中非乐谱部分的干扰信息区域。
在本公开的一个实施例中,所述将所述待识别乐谱图像输入音轨识别模型进行音轨识别,获取识别得到的多个单音轨乐谱区域,包括:
获取所述待识别乐谱图像的二值掩码;
获取所述待识别乐谱图像中每行乐谱对应的音轨数;
根据所述二值掩码以及所述音轨数,获取所述乐谱图像中的多个单音轨乐谱区域。
在本公开的另一实施例中,所述获取所述待识别乐谱图像中每行乐谱对应的音轨数,包括:
抽取所述待识别乐谱图像的多个特征层;
针对每一特征层,将所述特征层与上一层的处理结果进行向量拼接,将拼接得到的第一矩阵进行卷积处理,得到所述特征层的处理结果;
根据最后一层的处理结果,确定所述待识别乐谱图像中每行乐谱对应的音轨数。
在本公开的又一个实施例中,所述针对每一特征层,将所述特征层与上一层的处理结果进行向量拼接,将拼接得到的第一矩阵进行卷积处理,得到所述特征层的处理结果,包括:
针对每一特征层,对所述特征层进行裁剪,保留所述特征层的预设区域中的预设数量列,获取裁剪后的特征层;
针对每一特征层,对裁剪后的特征层与上一层的处理结果进行向量拼接,并将拼接得到的第二矩阵进行卷积处理,得到所述特征层的处理结果。
在本公开的再一个实施例中,所述根据最后一层的处理结果,确定所述待识别乐谱图像中每行乐谱对应的音轨数,包括:
根据最后一层的处理结果,通过二分类模块判断所述待识别乐谱图像中每行乐谱对应的音轨数为单音轨还是多音轨,所述二分类模块为所述音轨识别模型中的模块;
若为多音轨,则将所述二值掩码对应的二值掩码矩阵进行裁剪,保留所述二值掩码矩阵的预设区域中的预设数量列,获取裁剪后的二值掩码矩阵;
将所述最后一层的处理结果与所述裁剪后的二值掩码矩阵进行拼接处理,并将拼接得到的第三矩阵进行转置处理,获取转置后的矩阵;
根据循环神经网络RNN预测模块对转置后的矩阵进行处理,获取所述待识别乐谱图像中每行乐谱对应的音轨数,所述RNN预测模块为所述音轨识别模型中的模块。
在本公开的再一个实施例中,所述根据所述二值掩码以及所述音轨数,获取所述乐谱图像中的多个单音轨乐谱区域,包括:
将所述二值掩码中每个像素的二值掩码值在水平方向上进行累加,获取多个二值掩码累加和,所述水平方向为与音轨平行的方向;
根据所述音轨数,将所述二值掩码中大于预设二值掩码值的二值掩码累加和所处的水平区域确定为音轨区域;
根据所述音轨数和所述音轨区域,从所述待识别乐谱图像中确定出各音轨区域对应的单音轨乐谱区域。
在本公开的再一个实施例中,所述根据所述音轨数和所述音轨区域,从所述音轨区域抽取所述待识别乐谱图像中对应的多个单音轨乐谱区域,包括:
在所述音轨数为多音轨时,对所述二值掩码中所述音轨区域内的二值掩码累加和进行聚类处理,聚类出与所述音轨数相同数量个聚类中心;
针对每一聚类中心,在所述二值掩码的垂直方向上确定出与所述聚类中心距离为预设长度的两个边界线,所述垂直方向为与音轨垂直的方向;
针对每一聚类中心,根据所述两个边界线,获取所述二值掩码中所述聚类中心对应的子音轨区域;
根据各聚类中心对应的子音轨区域,从所述待识别乐谱图像中确定出各子音轨区域对应的单音轨乐谱区域。
在本公开实施方式的第二方面中,提供了一种模型训练方法,包括:
获取多个样本乐谱图像,每个样本乐谱图像包括音轨标注信息和干扰标注信息,所述音轨标注信息用于说明所述样本乐谱图像中每行乐谱对应的音轨数,所述干扰标注信息用于标注所述样本乐谱图像中非乐谱部分的干扰信息区域;
根据每个样本乐谱图像中的干扰标注信息,将所述样本乐谱图像中的干扰信息区域的二值掩码值确定为预设的背景掩码值,并对处理后的图像进行二值化处理,获取每个样本乐谱图像对应的二值掩码标注信息;
根据多个样本乐谱图像、每个样本乐谱图像对应的音轨标注信息和二值掩码标注信息,进行模型训练,获取音轨识别模型,所述音轨识别模型用于识别输入的乐谱图像中的单音轨乐谱区域。
在本公开的一个实施例中,所述根据每个样本乐谱图像中的干扰标注信息,将所述样本乐谱图像中的干扰信息区域的二值掩码值确定为预设的背景掩码值,并对处理后的图像进行二值化处理,获取每个样本乐谱图像对应的二值掩码标注信息,包括:
根据每个样本乐谱图像中的干扰标注信息,将每个样本乐谱图像中的干扰信息区域的二值掩码值确定为所述背景掩码值,并对处理后的图像进行二值化处理,生成初始二值掩码标注信息;
对每个样本乐谱图像的初始二值掩码标注信息进行形态学运算操作,生成每个样本乐谱图像的二值掩码标注信息。
在本公开的另一个实施例中,所述形态学运算操作包括膨胀处理和腐蚀处理。
在本公开的又一个实施例中,在所述根据每个样本乐谱图像中的干扰标注信息,将所述样本乐谱图像中的干扰信息区域的二值掩码值确定为预设的背景掩码值,并对处理后的图像进行二值化处理,获取每个样本乐谱图像对应的二值掩码标注信息之后,所述方法还包括:
针对任一样本乐谱图像,在所述样本乐谱图像中增加干扰信息,并将增加干扰信息后的样本乐谱图像确定为第一样本乐谱图像,所述第一样本乐谱图像的音轨标注信息和二值掩码标注信息与所述样本乐谱图像相同。
在本公开的再一个实施例中,在所述根据每个样本乐谱图像中的干扰标注信息,将所述样本乐谱图像中的干扰信息区域的二值掩码值确定为预设的背景掩码值,并对处理后的图像进行二值化处理,获取每个样本乐谱图像对应的二值掩码标注信息之后,所述方法还包括:
针对任一样本乐谱图像,在对所述样本乐谱图像的顶角设置预设图标之后,获取第二样本乐谱图像,所述第二样本乐谱图像是对设置后的样本乐谱图像进行拍摄得到的图像,所述第二样本乐谱图像的音轨标注信息和二值掩码标注信息与所述样本乐谱图像相同;
将所述第二样本乐谱图像与所述样本乐谱图像进行匹配和校准,获取校准结果;
根据所述校准结果对所述第二样本乐谱图像的二值掩码标注信息进行调整,获取处理后的二值掩码标注信息。
在本公开的再一个实施例中,所述根据多个样本乐谱图像、每个样本乐谱图像对应的音轨标注信息和二值掩码标注信息,进行模型训练,获取音轨识别模型,包括:
构建多任务模型,所述多任务模型包括二值掩码生成子任务以及音轨数识别子任务;其中,所述二值掩码生成子任务用于获取乐谱图像的二值掩码,所述音轨数识别子任务用于获取乐谱图像中每行乐谱的音轨数,并根据所述二值掩码以及所述每行乐谱对应的音轨数,获取所述乐谱图像的单音轨乐谱区域;
根据多个样本乐谱图像以及每个样本乐谱图像对应的音轨标注信息和二值掩码标注信息,对所述多任务模型中的所述音轨数识别子任务以及所述音轨数识别子任务进行模型训练,获取所述音轨识别模型。
在本公开的再一个实施例中,所述根据多个样本乐谱图像以及每个样本乐谱图像对应的音轨标注信息和二值掩码标注信息,对所述多任务模型中的所述音轨数识别子任务以及所述音轨数识别子任务进行模型训练,获取所述音轨识别模型,包括:
根据多个样本乐谱图像以及每个样本乐谱图像对应的二值掩码标注信息,对所述音轨数识别子任务进行模型训练;
根据多个样本乐谱图像以及每个样本乐谱图像对应的二值掩码标注信息和音轨标注信息,对所述音轨数识别子任务的二分类模块和RNN预测模块进行模型训练,获取所述音轨识别模型;其中,二分类模块用于基于所述乐谱图像的多个特征层,判断所述乐谱图像中每行乐谱对应的音轨为单音轨还是多音轨,RNN预测模块用于在乐谱图像中每行乐谱对应的音轨为多音轨时,基于所述乐谱图像的多个特征层和乐谱图像中乐谱区域的二值掩码,确定所述乐谱图像中每行乐谱对应的音轨数。
在本公开的再一个实施例中,所述音轨数识别子任务用于:
抽取所述乐谱图像的多个特征层;
针对每一特征层,对所述特征层进行裁剪,保留所述特征层的预设区域中的预设数量列,获取裁剪后的特征层;
针对每一特征层,对裁剪后的特征层与上一层的处理结果进行向量拼接,并将拼接得到的第二矩阵进行卷积处理,得到所述特征层的处理结果;
根据最后一层的处理结果,通过所述二分类模块判断所述待识别乐谱图像中每行乐谱对应的音轨为单音轨还是多音轨;
若为多音轨,则将所述二值掩码对应的二值掩码矩阵进行裁剪,保留所述二值掩码矩阵的预设区域中的预设数量列,获取裁剪后的二值掩码矩阵;
将所述最后一层的处理结果与所述裁剪后的二值掩码矩阵进行拼接处理,并将拼接得到的矩阵进行转置处理,获取转置后的矩阵;
根据RNN预测模块对转置后的矩阵进行处理,获取所述待识别乐谱图像中每行乐谱对应的音轨数。
在本公开实施方式的第三方面中,提供了一种存储介质,所述存储介质中存储有计算机程序指令,所述计算机程序指令被执行时,实现第一方面、第二方面以及各可能设计所述的方法。
在本公开实施方式的第四方面中,提供了一种图像识别装置,包括:
获取模块,用于获取待识别乐谱图像;
输入模块,用于将所述待识别乐谱图像输入音轨识别模型进行音轨识别,获取识别得到的多个单音轨乐谱区域;
其中,所述音轨识别模型是根据多个样本乐谱图像训练得到的、用于识别输入的乐谱图像中的多个单音轨乐谱区域的模型,每个样本乐谱图像包括音轨标注信息和干扰标注信息,所述音轨标注信息用于说明所述样本乐谱图像中每行乐谱对应的音轨数,所述干扰标注信息用于标注所述样本乐谱图像中非乐谱部分的干扰信息区域。
在本公开的一个实施例中,所述获取模块,具体用于:
获取所述待识别乐谱图像的二值掩码;
获取所述待识别乐谱图像中每行乐谱对应的音轨数;
根据所述二值掩码以及所述音轨数,获取所述乐谱图像中的多个单音轨乐谱区域。
在本公开的另一个实施例中,所述获取模块,具体用于:
抽取所述待识别乐谱图像的多个特征层;
针对每一特征层,将所述特征层与上一层的处理结果进行向量拼接,将拼接得到的第一矩阵进行卷积处理,得到所述特征层的处理结果;
根据最后一层的处理结果,确定所述待识别乐谱图像中每行乐谱对应的音轨数。
在本公开的又一个实施例中,所述获取模块,具体用于:
针对每一特征层,对所述特征层进行裁剪,保留所述特征层的预设区域中的预设数量列,获取裁剪后的特征层;
针对每一特征层,对裁剪后的特征层与上一层的处理结果进行向量拼接,并将拼接得到的第二矩阵进行卷积处理,得到所述特征层的处理结果。
在本公开的再一个实施例中,所述获取模块,具体用于:
根据最后一层的处理结果,通过二分类模块判断所述待识别乐谱图像中每行乐谱对应的音轨数为单音轨还是多音轨,所述二分类模块为所述音轨识别模型中的模块;
若为多音轨,则将所述二值掩码对应的二值掩码矩阵进行裁剪,保留所述二值掩码矩阵的预设区域中的预设数量列,获取裁剪后的二值掩码矩阵;
将所述最后一层的处理结果与所述裁剪后的二值掩码矩阵进行拼接处理,并将拼接得到的第三矩阵进行转置处理,获取转置后的矩阵;
根据RNN预测模块对转置后的矩阵进行处理,获取所述待识别乐谱图像中每行乐谱对应的音轨数,所述RNN预测模块为所述音轨识别模型中的模块。
在本公开的再一个实施例中,所述获取模块,具体用于:
将所述二值掩码中每个像素的二值掩码值在水平方向上进行累加,获取多个二值掩码累加和,所述水平方向为与音轨平行的方向;
根据所述音轨数,将所述二值掩码中大于预设二值掩码值的二值掩码累加和所处的水平区域确定为音轨区域;
根据所述音轨数和所述音轨区域,从所述待识别乐谱图像中确定出各音轨区域对应的单音轨乐谱区域。
在本公开的再一个实施例中,所述获取模块,具体用于:
在所述音轨数为多音轨时,对所述二值掩码中所述音轨区域内的二值掩码累加和进行聚类处理,聚类出与所述音轨数相同数量个聚类中心;
针对每一聚类中心,在所述二值掩码的垂直方向上确定出与所述聚类中心距离为预设长度的两个边界线,所述垂直方向为与音轨垂直的方向;
针对每一聚类中心,根据所述两个边界线,获取所述二值掩码中所述聚类中心对应的子音轨区域;
根据各聚类中心对应的子音轨区域,从所述待识别乐谱图像中确定出各子音轨区域对应的单音轨乐谱区域。
在本公开实施方式的第五方面中,提供了一种模型训练装置,包括:
获取模块,用于获取多个样本乐谱图像,每个样本乐谱图像包括音轨标注信息和干扰标注信息,所述音轨标注信息用于说明所述样本乐谱图像中每行乐谱对应的音轨数,所述干扰标注信息用于标注所述样本乐谱图像中非乐谱部分的干扰信息区域;
处理模块,用于根据每个样本乐谱图像中的干扰标注信息,将所述样本乐谱图像中的干扰信息区域的二值掩码值确定为预设的背景掩码值,并对处理后的图像进行二值化处理,获取每个样本乐谱图像对应的二值掩码标注信息;
训练模块,用于根据多个样本乐谱图像以及每个样本乐谱图像对应的音轨标注信息和二值掩码标注信息,进行模型训练,获取音轨识别模型,所述音轨识别模型用于识别输入的乐谱图像中的单音轨乐谱区域。
在本公开的一个实施例中,所述处理模块,具体用于:
根据每个样本乐谱图像中的干扰标注信息,将每个样本乐谱图像中的干扰信息区域的二值掩码值确定为所述背景掩码值,并对处理后的图像进行二值化处理,生成初始二值掩码标注信息;
对每个样本乐谱图像的初始二值掩码标注信息进行形态学运算操作,生成每个样本乐谱图像的二值掩码标注信息。
在本公开的另一个实施例中,所述形态学运算操作包括膨胀处理和腐蚀处理。
在本公开的又一个实施例中,在所述根据每个样本乐谱图像中的干扰标注信息,将所述样本乐谱图像中的干扰信息区域的二值掩码值确定为预设的背景掩码值,并对处理后的图像进行二值化处理,获取每个样本乐谱图像对应的二值掩码标注信息之后,所述处理模块,还用于:
针对任一样本乐谱图像,在所述样本乐谱图像中增加干扰信息,并将增加干扰信息后的样本乐谱图像确定为第一样本乐谱图像,所述第一样本乐谱图像的音轨标注信息和二值掩码标注信息与所述样本乐谱图像相同。
在本公开的再一个实施例中,在所述根据每个样本乐谱图像中的干扰标注信息,将所述样本乐谱图像中的干扰信息区域的二值掩码值确定为预设的背景掩码值,并对处理后的图像进行二值化处理,获取每个样本乐谱图像对应的二值掩码标注信息之后,所述处理模块,还用于:
针对任一样本乐谱图像,在对所述样本乐谱图像的顶角设置预设图标之后,获取第二样本乐谱图像,所述第二样本乐谱图像是对设置后的样本乐谱图像进行拍摄得到的图像,所述第二样本乐谱图像的音轨标注信息和二值掩码标注信息与所述样本乐谱图像相同;
将所述第二样本乐谱图像与所述样本乐谱图像进行匹配和校准,获取校准结果;
根据所述校准结果对所述第二样本乐谱图像的二值掩码标注信息进行调整,获取处理后的二值掩码标注信息。
在本公开的再一个实施例中,所述获取模块,具体用于:
构建多任务模型,所述多任务模型包括二值掩码生成子任务以及音轨数识别子任务;其中,所述二值掩码生成子任务用于获取乐谱图像的二值掩码,所述音轨数识别子任务用于获取乐谱图像中每行乐谱的音轨数,并根据所述二值掩码以及所述每行乐谱对应的音轨数,获取所述乐谱图像的单音轨乐谱区域;
根据多个样本乐谱图像以及每个样本乐谱图像对应的音轨标注信息和二值掩码标注信息,对所述多任务模型中的所述音轨数识别子任务以及所述音轨数识别子任务进行模型训练,获取所述音轨识别模型。
在本公开的再一个实施例中,所述获取模块,具体用于:
根据多个样本乐谱图像以及每个样本乐谱图像对应的二值掩码标注信息,对所述音轨数识别子任务进行模型训练;
根据多个样本乐谱图像以及每个样本乐谱图像对应的二值掩码标注信息和音轨标注信息,对所述音轨数识别子任务的二分类模块和RNN预测模块进行模型训练,获取所述音轨识别模型;其中,二分类模块用于基于所述乐谱图像的多个特征层,判断所述乐谱图像中每行乐谱对应的音轨为单音轨还是多音轨,RNN预测模块用于在乐谱图像中每行乐谱对应的音轨为多音轨时,基于所述乐谱图像的多个特征层和乐谱图像中乐谱区域的二值掩码,确定所述乐谱图像中每行乐谱对应的音轨数。
在本公开的再一个实施例中,所述音轨数识别子任务用于:
抽取所述乐谱图像的多个特征层;
针对每一特征层,对所述特征层进行裁剪,保留所述特征层的预设区域中的预设数量列,获取裁剪后的特征层;
针对每一特征层,对裁剪后的特征层与上一层的处理结果进行向量拼接,并将拼接得到的第二矩阵进行卷积处理,得到所述特征层的处理结果;
根据最后一层的处理结果,通过所述二分类模块判断所述待识别乐谱图像中每行乐谱对应的音轨为单音轨还是多音轨;
若为多音轨,则将所述二值掩码对应的二值掩码矩阵进行裁剪,保留所述二值掩码矩阵的预设区域中的预设数量列,获取裁剪后的二值掩码矩阵;
将所述最后一层的处理结果与所述裁剪后的二值掩码矩阵进行拼接处理,并将拼接得到的矩阵进行转置处理,获取转置后的矩阵;
根据RNN预测模块对转置后的矩阵进行处理,获取所述待识别乐谱图像中每行乐谱对应的音轨数。
在本公开实施方式的第六方面中,提供了一种计算设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,实现第一方面、第二方面以及各可能设计所述的方法。
根据本公开实施方式的图像识别方法、模型训练方法、介质、装置及计算设备,该图像识别方法包括:计算设备通过获取待识别乐谱图像,将待识别乐谱图像输入音轨识别模型进行音轨识别,获取识别得到的多个单音轨乐谱区域。其中,音轨识别模型是根据多个样本乐谱图像训练得到的、用于识别输入的乐谱图像中的多个单音轨乐谱区域的模型,每个样本乐谱图像包括音轨标注信息和干扰标注信息,音轨标注信息用于说明样本乐谱图像中每行乐谱对应的音轨数,干扰标注信息用于标注样本乐谱图像中非乐谱部分的干扰信息区域。在本技术方案中,由于该音轨识别模型的训练集是根据样本乐谱图像的干扰标注信息确定的,因此该音轨识别模型具有将乐谱图像中乐谱部分与背景部分分离的能力,有效的避免了乐谱图像质量、光照、乐谱背景水印对识别处理的影响,提高识别精度。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1为本公开实施例提供的一种应用场景示意图;
图2为本公开一实施例提供的图像识别方法的流程图;
图3为本公开另一实施例提供的图像识别方法的流程图;
图4为本公开一实施例提供的二值掩码的示意图;
图5为本公开一实施例提供的二值掩码中音轨区域的示意图;
图6为本公开另一实施例提供的二值掩码中音轨区域的示意图;
图7为本公开一实施例提供的音轨识别模型的结构图;
图8为本公开另一实施例提供的音轨识别模型的结构图;
图9为本公开再一实施例提供的音轨识别模型的结构图;
图10为本公开一实施例提供的模型训练方法的流程图;
图11为本公开另一实施例提供的模型训练方法的流程图;
图12为本公开一实施例提供的存储介质示意图;
图13为本公开一实施例提供的图像识别装置的结构示意图;
图14为本公开一实施例提供的模型训练装置的结构示意图;
图15为本公开一实施例提供的计算设备的结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本公开的实施方式可以实现为一种图像识别方法、模型训练方法、介质、装置及计算设备。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本公开的实施方式,提出了一种图像识别方法、模型训练方法、介质、装置及计算设备。
在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
另外,本公开所涉及的数据可以为经用户授权或者经过每个方充分授权的数据,对数据的采集、传播、使用等,均符合国家相关法律法规要求,本公开实施方式/实施例可以互相组合。
下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。
发明概述
本发明人发现,乐谱图像版面分析是乐谱识别中非常重要的一个环节,高效精准的版面分析能大大提高后续乐谱识别的精准度。目前,乐谱图像版面分析主要是通过对拍摄得到的乐谱图像进行去噪,增强,二值化处理,再根据处理后的图像的水平投影确定乐谱的五线谱区。进一步的,还可以根据水平投影判断乐谱图像的第一行与第一组五线谱之间是否存在文字符号和空白间隔,若存在,则将乐谱图像第一行与第一组五线谱之间区域划分为乐谱描述区,根据乐谱描述区的水平投影和垂直投影位置确定乐谱标题区和乐谱演奏速度文本区。但是,在通过上述方式确定乐谱区域(也就是上述的五线谱区)时,去噪处理难以解决乐谱图像质量、光照、乐谱背景水印对后续识别乐谱区域的影响。也就是说,上述方法对乐谱图像质量、光照、乐谱背景水印等因素极为敏感,很容易受到上述因素的影响,存在识别错误的问题。并且,一旦有一行乐谱识别出现错误,就会导致后续紧跟的乐谱均会识别错误,导致识别精度下降。
基于上述问题,本公开提供一种图像识别方法、模型训练方法、介质、装置及计算设备,通过样本乐谱图像的干扰标注信息,获取该样本乐谱图像的二值掩码标注信息,并通过多个样本乐谱图像以及每个样本乐谱图像对应的音轨标注信息和二值掩码标注信息,进行模型训练,从而获取能够识别输入的乐谱图像中的多个单音轨乐谱区域的音轨识别模型。该音轨识别模型具有分离乐谱部分与背景部分的能力,通过该音轨识别模型识别单音轨乐谱区域时,能够有效减少乐谱图像质量、光照、乐谱背景水印等因素对识别的影响,提高了识别精度。
在介绍了本公开的基本原理之后,下面具体介绍本公开的每种非限制性实施方式。
应用场景总览
首先参考图1对本公开提供的方案的应用场景进行示例说明。图1为本公开实施例提供的一种应用场景示意图,如图1所示,本应用场景包括数据存储设备101、计算设备102以及多个单音轨乐谱区域(图1中以单音轨乐谱区域103、单音轨乐谱区域104、单音轨乐谱区域105、单音轨乐谱区域106、单音轨乐谱区域107、单音轨乐谱区域108表示)。
在本应用场景中,数据存储设备101中存储有乐谱图像,该乐谱图像可以包括待识别乐谱图像以及已识别乐谱图像。计算设备102中存储有音轨识别模型,该音轨识别模型可以是计算设备102预先根据多个样本乐谱图像训练得到的模型,还可以是从其他设备中获取的模型,对此不进行具体限制。
计算设备102可以从数据存储设备101中获取待识别乐谱图像,将该待识别乐谱图像输入至音轨识别模型中,从而获取待识别乐谱图像的单音轨乐谱区域103、单音轨乐谱区域104、单音轨乐谱区域105、单音轨乐谱区域106、单音轨乐谱区域107、单音轨乐谱区域108。
需要说明的是,附图1仅是本公开实施例提供的一种应用场景的示意图,本公开实施例不对图1中包括的设备进行限定,也不对图1中设备之间的位置关系进行限定,例如,在图1中,数据存储设备101相对计算设备102可以是外部存储器,在其它情况下,也可以将数据存储设备101置于计算设备102中。
在本公开的实施例中,计算设备可以是终端设备,如手机、台式电脑、笔记本电脑等,还可以是服务器。计算设备具体是终端设备,还是服务器,可以根据实际情况进行确定,对此不进行具体限制。
示例性方法
下面结合图1的应用场景,参考图2来描述根据本公开示例性实施方式的用于图像识别方法。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
首先,通过具体实施例介绍图像识别方法。
图2为本公开一实施例提供的图像识别方法的流程图。本公开实施例的方法可以应用于计算设备中,该计算设备可以是服务器或终端设备等。如图2所示,本公开实施例的方法包括:
S201、获取待识别乐谱图像。
在本步骤中,根据乐谱图像实现跟踪弹奏时,首先需要获取待识别的乐谱图像。
其中,该乐谱图像可以包括五线谱、音符、谱号、连音线等乐谱部分,还可以包括其他的如标题文字、歌词文字、作者、行号、装饰图、背景水印等干扰信息。
可选的,该乐谱图像可以是通过相关工作人员预先存储在计算设备中的图像,可以是计算设备从其他设备或网络中获取的图像,还可以是计算设备对打印出来的乐谱进行拍摄得到的图像,本公开实施例不对获取乐谱图像的方式进行具体限制。
S202、将待识别乐谱图像输入音轨识别模型进行音轨识别,获取识别得到的多个单音轨乐谱区域。
在本步骤中,在获取待识别乐谱图像后,还需要确定该待识别乐谱图像中各单音轨乐谱区域,以使后续能够依次识别各单音轨乐谱区域中的音符,从而实现跟踪弹奏。在本方案中,从待识别乐谱图像中识别出各单音轨乐谱区域可以通过音轨识别模型实现。
其中,音轨识别模型是根据多个样本乐谱图像训练得到的、用于识别输入的乐谱图像中多个单音轨乐谱区域的模型,每个样本乐谱图像包括音轨标注信息和干扰标注信息,音轨标注信息用于说明样本乐谱图像中每行乐谱对应的音轨数,干扰标注信息用于标注样本乐谱图像中非乐谱部分的干扰信息区域。
示例性的,参照图1所示的待识别乐谱图像,该待识别乐谱图像中包括4行乐谱,每行乐谱对应的音轨数为2。举例子来说,单音轨乐谱区域103和单音轨乐谱区域104中的单音轨乐谱为同一行乐谱。
可选的,多个单音轨乐谱区域可以为图1所示的单音轨乐谱区域。
可选的,该音轨识别模型可以是预先存储在计算设备中的模型,还可以是其他设备中获取的模型,本公开实施例不对音轨识别模型的获取方式进行限制。
本公开实施例提供的图像识别方法,计算设备通过获取待识别乐谱图像,将待识别乐谱图像输入音轨识别模型进行音轨识别,获取识别得到的多个单音轨乐谱区域。其中,音轨识别模型是根据多个样本乐谱图像训练得到的、用于识别输入的乐谱图像中多个单音轨乐谱区域的模型,每个样本乐谱图像包括音轨标注信息和干扰标注信息,音轨标注信息用于说明样本乐谱图像中每行乐谱对应的音轨数,干扰标注信息用于标注样本乐谱图像中非乐谱部分的干扰信息区域。在本技术方案中,音轨识别模型能够精准提取到单音轨乐谱区域,对于乐谱图像的背景水印具有较好的泛化性,具有将乐谱图像中乐谱部分与背景部分分离的能力,有效避免了乐谱图像质量、光照、乐谱背景水印等因素对识别处理的影响,提高了识别精度。
下面,对音轨识别模型如何识别得到待识别乐谱图像中的多个单音轨乐谱区域进行详细说明。图3为本公开另一实施例提供的图像识别方法的流程图。如图3所示,作为一种可能的实现方式,上述步骤S202可以包括以下步骤:
S301、获取待识别乐谱图像的二值掩码。
在本步骤中,由于音轨识别模型需要根据待识别乐谱图像的二值掩码以及待识别乐谱图像中每行乐谱对应的音轨数,确定该待识别乐谱中的各单音轨乐谱区域,因此需要先确定该待识别乐谱图像中的乐谱区域的二值掩码。
可选的,可以通过图像分割算法中的编码器(英文:Encoder)和解码器(英文:Decoder)获取待识别乐谱图像的二值掩码。示例性的,图像分割算法可以为UNet,Deeplab系列,可以根据实际情况进行限定,本公开实施例对此不进行具体限制。
应理解,二值掩码(英文:Mask)也就是灰度图,二值掩码中的像素只有两个数值,分别为0和255。其中,数值为0的像素为黑色,为待识别乐谱图像中的背景部分;数值为255的像素为白色,为待识别乐谱图像中的乐谱部分(也可以理解为前景部分),包括待识别乐谱图像中的五线谱部分以及五线谱中的音符。
S302、获取待识别乐谱图像中每行乐谱对应的音轨数。
在本步骤中,为了确定待识别乐谱中的各单音轨乐谱区域,在获取待识别乐谱图像的二值掩码之后,还需要确定待识别乐谱图像中每行乐谱对应的音轨数。
在一种可能的实现方式中,S302可以通过下述步骤(1)-(3)实现:
步骤(1)、抽取待识别乐谱图像的多个特征层。
为了减少计算量并充分进行特征共享,可以从图像分割算法的编码器中的特征中抽取多个特征层。
示例性的,可以抽取三个特征层,分别为特征层1(英文:feat1)、特征层2(英文:feat2)、特征层3(英文:feat3)。
步骤(2)、针对每一特征层,将特征层与上一层的处理结果进行向量拼接,将拼接得到的第一矩阵进行卷积处理,得到特征层的处理结果。
可选的,考虑到在乐谱图像中,音轨信息主要集中在每行乐谱的开始部分,因此只需要每个特征层中每行乐谱开始部分对应的特征就可以判断得到每行乐谱对应的音轨数。在此基础上,步骤(2)可以通过步骤(a)和(b)实现:
步骤(a)、针对每一特征层,对特征层进行裁剪,保留特征层的预设区域中的预设数量列,获取裁剪后的特征层。
示例性的,预设区域可以为每行乐谱开始部分,也就是特征层的左侧,预设数量为1/4。也就是说,可以针对每一特征层,对该特征层进行裁剪,保留该特征层左边的1/4列,获取裁剪后的特征层。
步骤(b)、针对每一特征层,对裁剪后的特征层与上一层的处理结果进行向量拼接(英文:Concat),并将拼接得到的第二矩阵进行卷积处理,得到特征层的处理结果。
步骤(3)、根据最后一层的处理结果,确定待识别乐谱图像中每行乐谱对应的音轨数。
可选的,最后一层的处理结果可以为特征层4(英文:feat4),步骤(3)可以通过下述步骤(c)-(f)实现:
步骤(c)、根据最后一层的处理结果,通过二分类模块判断待识别乐谱图像中每行乐谱对应的音轨数为单音轨还是多音轨。
其中,二分类模块为音轨识别模型中的模块。
可选的,若为单音轨,则不执行后续的步骤(d)-步骤(f)。
步骤(d)、若为多音轨,则将二值掩码对应的二值掩码矩阵进行裁剪,保留二值掩码矩阵的预设区域中的预设数量列,获取裁剪后的二值掩码矩阵。
若为多音轨,则还需要再次确定每行乐谱对应的具体音轨数量,为后续精准确定待识别乐谱图像中各单音轨乐谱区域奠定基础。
步骤(e)、将最后一层的处理结果与裁剪后的二值掩码矩阵进行拼接处理,并将拼接得到的第三矩阵进行转置处理,获取转置后的矩阵。
对拼接得到的第三矩阵进行转置处理,能够将竖长的特征转换为横长的特征,以使能通过循环神经网络(Recurrent neural network,RNN)预测模块以序列的形式结合前后信息来判断每行乐谱的音轨数量类别。其中,RNN预测模块为音轨识别模型中的模块。
可选的,在将最后一层的处理结果与裁剪后的二值掩码矩阵进行拼接处理之前,还需要将裁剪后的二值掩码矩阵缩放到和feat4一样的尺寸,再对缩放后的二值掩码矩阵以及最后一层的处理结果进行concat操作。
步骤(f)、根据RNN预测模块对转置后的矩阵进行处理,获取待识别乐谱图像中每行乐谱对应的音轨数。
S303、根据二值掩码以及音轨数,获取待识别乐谱图像中的多个单音轨乐谱区域。
可选的,S303可以通过下述步骤(4)-(6)实现:
步骤(4)、将二值掩码中每个像素的二值掩码值在水平方向上进行累加,获取多个二值掩码累加和。
由于背景部分和乐谱部分的二值掩码值差异较大,因此可以计算二值掩码在水平方向上的二值掩码累加和,根据该二值掩码累加和的大小确定单音轨乐谱区域。
其中,水平方向为与音轨平行的方向。
图4为本公开一实施例提供的二值掩码的示意图。如图4所示,箭头方向为水平方向。
步骤(5)、根据音轨数,将二值掩码中大于预设二值掩码值的二值掩码累加和所处的水平区域确定为音轨区域。
图5为本公开一实施例提供的二值掩码中音轨区域的示意图。如图5所示,长方形框即为音轨区域,该音轨区域中包含两个单音轨乐谱。
其中,在音轨数为多音轨时,同一行乐谱中的多个单音轨乐谱间的距离较近,音符可能会超出所在的五线谱区域,导致同一行乐谱中的多个单音轨乐谱间的区域二值掩码累加和会较大。因此,根据二值掩码累加和确定出的音轨区域为一行乐谱所在的区域。可选的,该音轨区域可以通过边界框(英文:Bounding box)表示。
可选的,预设二值掩码值可以通过相关工作人员的经验值进行预先配置。
步骤(6)、根据音轨数和音轨区域,从待识别乐谱图像中确定出各音轨区域对应的单音轨乐谱区域。
在一种可实现的方式中,在音轨数为单音轨时,此时音轨区域中只包含一个单音轨乐谱,可以直接将该音轨区域确定为单音轨乐谱区域。并且,由于待识别乐谱图像与二值掩码存在对应关系,因此在确定出二值掩码中的单音轨乐谱区域后,还可以确定出待识别乐谱图像中对应的单音轨乐谱区域。
在另一种可实现的方式中,在音轨数为多音轨时,为了进一步从音轨区域中区分出单音轨区域,步骤(6)可以通过下述步骤(g)-(j)实现:
步骤(g)、在音轨数为多音轨时,对二值掩码中音轨区域内的二值掩码累加和进行聚类处理,聚类出与音轨数相同数量个聚类中心。
由于五线谱区域的二值掩码累加和较大,与五线谱区域相比,不同单音轨乐谱间区域的二值掩码累加和较小。因此,可以聚类出与音轨数相同数量个聚类中心,聚类中心即为五线谱区域的中心。
可选的,可以通过K最邻近分类算法(K-Nearest Neighbor,KNN)进行聚类处理。应理解,还可以通过其他聚类算法进行聚类处理,可以根据实际情况进行确定,本公开实施例对此不进行具体限制。
步骤(h)、针对每一聚类中心,在二值掩码的垂直方向上确定出与聚类中心距离为预设长度的两个边界线。
其中,垂直方向为与音轨垂直的方向。
进一步的,在确定出聚类中心后,可以以聚类中心为中心,寻找到距离聚类中心一定距离的边界线,作为该行五线谱的对应的单音轨乐谱区域的上下边界。
可选的,预设长度可以是相关工作人员预先根据经验值确定的,本公开实施例对此不进行具体限制。
步骤(i)、针对每一聚类中心,根据两个边界线,获取二值掩码中聚类中心对应的子音轨区域。
示例性的,假设每行音轨的单音轨数为2,对每个边界框里面二值掩码累加和进行聚类处理,聚类出2个的聚类中心。这2个聚类中心就是五线谱对应的区域,以聚类中心为中心,寻找到距离聚类中心一定距离的边缘线,作为该行五线谱的对应的单音轨乐谱的上下边界,从而确定出每个聚类中心的子音轨区域。在此示例中,每个音轨区域中包含两个子音轨区域。
步骤(j)、根据各聚类中心对应的子音轨区域,从待识别乐谱图像中确定出各子音轨区域对应的单音轨乐谱区域。
由于待识别乐谱图像与二值掩码存在对应关系,因此在确定出二值掩码中的单音轨乐谱区域后,还可以确定出待识别乐谱图像中对应的单音轨乐谱区域。
在图5的基础上,图6为本公开另一实施例提供的二值掩码中音轨区域的示意图。如图6所示,图6中的两个长方形框即为两个聚类中心分别对应的子音轨区域,每个子音轨区域的水平直线即为聚类中心
图7为本公开一实施例提供的音轨识别模型的结构图。如图7所示,该音轨识别模型使用的图像分割算法包括编码器和解码器。音轨识别模型获取输入的待识别乐谱图像,通过编码器和解码器获取待识别乐谱图像的二值掩码,并从编码器中的特征中抽取特征层1、特征层2以及特征层3。对特征层1进行裁剪,保留特征层1中左边的1/4列,并对其进行卷积处理;进一步的,对特征层2进行裁剪,保留特征层2中左边的1/4列,对裁剪后的特征层2与卷积处理后的特征层1进行向量拼接操作,并将拼接后的矩阵进行卷积处理,得到特征层2的处理结果;最后,对特征层3进行裁剪,保留特征层3中左边的1/4列,对裁剪后的特征层3与特征层2的处理结果进行向量拼接操作,并将拼接后的矩阵进行卷积处理,得到特征层3的处理结果,也就是特征层4。
进一步的,通过二分类模块对特征层3的处理结果进行二分类,判断待识别乐谱图像中每行乐谱对应的音轨数为单音轨还是多音轨。
图8为本公开另一实施例提供的音轨识别模型的结构图。如图8所示,在待识别乐谱图像中每行乐谱对应的音轨数为多音轨时,将二值掩码进行裁剪,保留二值掩码中左边的1/4列,并缩放到和特征层4一样的尺寸,再将缩放后的二值掩码矩阵与特征层4进行拼接,并将拼接得到的矩阵进行转置处理,通过RNN预测模块对转置后的矩阵进行处理,从而确定待识别乐谱图像中每行乐谱对应的音轨数。
图9为本公开再一实施例提供的音轨识别模型的结构图。如图9所示,音轨识别模型获取输入的待识别乐谱图像,通过图像分割算法提取出待识别乐谱图像中的标题,乐谱文字描述,乐谱行号等干扰信息,获取待识别乐谱图像的二值掩码。进一步的,识别待识别乐谱图像中每行乐谱对应的音轨数为单音轨还是多音轨。在为单音轨时,则直接根据二值掩码从待识别乐谱中确定出多个单音轨乐谱区域;在为多音轨时,则通过RNN预测模块确定待识别乐谱图像中每行乐谱对应的具体音轨数,再根据二值掩码从待识别乐谱中确定出多个单音轨乐谱区域。
在通过音轨识别模型使用前述任一方式识别乐谱图像的多个单音轨乐谱区域之前,还可以使用包含多个样本乐谱图像的训练集进行模型训练,以获取音轨识别模型。下面对模型训练过程进行说明。
图10为本公开一实施例提供的模型训练方法的流程图。本公开实施例的方法可以应用于计算设备中,该计算设备可以是服务器或终端设备等。如图10所示,本公开实施例的方法包括:
S1001、获取多个样本乐谱图像。
在本步骤中,在进行模型训练之前,需要预先获取用于模型训练的训练集,该训练集中包括多个样本乐谱图像。
其中,每个样本乐谱图像包括音轨标注信息和干扰标注信息,音轨标注信息用于说明样本乐谱图像中每行乐谱对应的音轨数,干扰标注信息用于标注样本乐谱图像中非乐谱部分的干扰信息区域。
可选的,可以预先从网络中下载大批量的印刷体且背景干净的乐谱图像作为多个样本乐谱图像,并人工对每个样本乐谱图像中的干扰信息区域通过矩形框的方式进行标识,该标识即为干扰标注信息。
可选的,还可以人工标注每个样本乐谱图像中每行乐谱对应的音轨数,标注得到的信息即为音轨标注信息,该音轨标注信息用于进行模型训练,以使训练得到的音轨识别模型具有识别乐谱图像中每行乐谱中的单音轨乐谱数量的能力。
S1002、根据每个样本乐谱图像中的干扰标注信息,将样本乐谱图像中的干扰信息区域的二值掩码值确定为预设的背景掩码值,并对处理后的图像进行二值化处理,获取每个样本乐谱图像对应的二值掩码标注信息。
在本步骤中,为使训练得到的音轨识别模型具有分离干扰信息和乐谱部分的功能,还需要根据每个样本乐谱图像中的干扰标注信息,确定每个样本乐谱图像对应的二值掩码标注信息,并参与后续的模型训练。
可选的,预设的背景掩码值可以为0,达到将干扰信息区域设置为背景区域的目的。
进一步的,对处理后的图像进行二值化处理,可以将乐谱部分和背景部分进行分离。
在一种可能的实现方式中,S1002可以通过下述步骤(8)和步骤(9)实现:
步骤(8)、根据每个样本乐谱图像中的干扰标注信息,将每个样本乐谱图像中的干扰信息区域的二值掩码值确定为背景掩码值,并对处理后的图像进行二值化处理,生成初始二值掩码标注信息;
应理解,步骤(8)可以参考S1002中的实现方式和原理,此处不再赘述。
步骤(9)、对每个样本乐谱图像的初始二值掩码标注信息进行形态学运算操作,生成每个样本乐谱图像的二值掩码标注信息。
一方面,由于二值化对于一些小细节和颜色不明确的像素容易产生错误的二值化结果,存在乐谱信息丢失的问题,比如会丢失单独的一个音符线;另一方面,由于乐谱中的有些音符的线较纤细,例如五线谱或者音符尾线等,太细的线在音轨识别模型进行图像分割的时候,容易被漏分割。基于上述两点考虑,还可以对初始二值掩码标注信息进行形态学运算操作,填补一些空洞区域,使得区域信息区域明确且连贯,能够有效防止乐谱信息的丢失。
可选的,形态学运算操作包括膨胀处理和腐蚀处理。
可选的,可以对初始二值掩码标注信息分别进行膨胀处理、腐蚀处理、再膨胀处理。
应理解,每个样本乐谱图像的二值掩码标注信息中的乐谱部分的二值掩码值为255。
S1003、根据多个样本乐谱图像以及每个样本乐谱图像对应的音轨标注信息和二值掩码标注信息,进行模型训练,获取音轨识别模型。
其中,音轨识别模型用于识别输入的乐谱图像中的单音轨乐谱区域。
在一种可能的实现方式中,S1003可以通过步骤(10)和步骤(11)实现:
步骤(10)、构建多任务模型。
其中,多任务模型包括二值掩码生成子任务以及音轨数识别子任务。二值掩码生成子任务用于获取乐谱图像的二值掩码,音轨数识别子任务用于获取乐谱图像中每行乐谱的音轨数,并根据二值掩码以及每行乐谱对应的音轨数,获取乐谱图像的单音轨乐谱区域。
可选的,多任务模型还包括单音轨乐谱区域提取子任务。
步骤(11)、根据多个样本乐谱图像以及每个样本乐谱图像对应的音轨标注信息和二值掩码标注信息,对多任务模型中的音轨数识别子任务以及音轨数识别子任务进行模型训练,获取音轨识别模型。
可选的,步骤(11)可以通过步骤(k)和步骤(l)实现:
步骤(k)、根据多个样本乐谱图像以及每个样本乐谱图像对应的二值掩码标注信息,对音轨数识别子任务进行模型训练;
步骤(l)、根据多个样本乐谱图像以及每个样本乐谱图像对应的二值掩码标注信息和音轨标注信息,对音轨数识别子任务的二分类模块和RNN预测模块进行模型训练,获取音轨识别模型。
其中,二分类模块用于基于乐谱图像的多个特征层,判断乐谱图像中每行乐谱对应的音轨为单音轨还是多音轨,RNN预测模块用于在乐谱图像中每行乐谱对应的音轨为多音轨时,基于乐谱图像的多个特征层和乐谱图像中乐谱区域的二值掩码,确定乐谱图像中每行乐谱对应的音轨数。
本公开实施例提供一种模型训练方法,计算设备通过获取多个样本乐谱图像,根据每个样本乐谱图像中的干扰标注信息,将样本乐谱图像中的干扰信息区域的二值掩码值确定为预设的背景掩码值,并对处理后的图像进行二值化处理,获取每个样本乐谱图像对应的二值掩码标注信息,根据多个样本乐谱图像以及每个样本乐谱图像对应的音轨标注信息和二值掩码标注信息,进行模型训练,获取音轨识别模型。在本技术方案中,该音轨识别模型具有将乐谱图像中乐谱部分与背景部分分离、判断乐谱图像中每行乐谱对应音轨为单音轨还是多音轨、识别各单音轨乐谱区域的能力,有效的避免了乐谱图像质量、光照、乐谱背景水印等因素对识别处理的影响,提高识别精度。
为了提升模型对包含水印的乐谱图像以及拍照得到的乐谱图像的泛化能力,还可以扩充训练集中的样本数量。对于拍照图片和水印等乐谱图像,采用模仿数据生成的方式生成对应的样本乐谱图像。接下来具体介绍两种扩充训练集中的样本数量的方式。
方式一、增加水印类型的样本乐谱图像。
在S1002之后,该模型训练方法还可以包括以下步骤:
针对任一样本乐谱图像,在样本乐谱图像中增加干扰信息,并将增加干扰信息后的样本乐谱图像确定为第一样本乐谱图像,第一样本乐谱图像的音轨标注信息和二值掩码标注信息与样本乐谱图像相同。
方式二、增加拍照图像类型的样本乐谱图像。
图11为本公开另一实施例提供的模型训练方法的流程图。如图11所示,在S1002之后,本公开实施例的方法还包括:
S1101、针对任一样本乐谱图像,在对样本乐谱图像的顶角设置预设图标之后,获取第二样本乐谱图像。
在本步骤中,为了增加拍照类型的样本乐谱图像,可以将任一样本乐谱图像打印出来,并在该样本乐谱图像顶角设置预设图标,以便于后续对样本乐谱图像进行定位。用户可以通过计算设备对设置后的样本乐谱图像进行拍摄,以使计算设备获取第二样本乐谱图像。
也就是说,第二样本乐谱图像是对设置后的样本乐谱图像进行拍摄得到的图像,第二样本乐谱图像的音轨标注信息和二值掩码标注信息与样本乐谱图像相同;
S1102、将第二样本乐谱图像与样本乐谱图像进行匹配和校准,获取校准结果。
在本步骤中,此时第二样本乐谱图像与该第二样本乐谱图像的二值掩码标注信息并不完全一致,因此还需要根据样本乐谱图像在第二样本乐谱中的位置,对二值掩码标注信息进行处理,以使处理后的二值掩码标注信息能够与第二样本乐谱图像匹配。
其中,匹配和校准方式可以为将样本乐谱图像的四个顶点与第二样本乐谱图像中的预设图标进行匹配和校准。
S1103、根据校准结果对第二样本乐谱图像的二值掩码标注信息进行调整,获取处理后的二值掩码标注信息。
在本步骤中,确定校准结果,也就是确定了样本乐谱图像处于第二样本乐谱图像中的位置。因此,可以根据校准结果对二值掩码标注信息进行相应的调整,以使二值掩码标注信息处在处理后的二值掩码标注信息中的位置,与样本乐谱图像处于第二样本乐谱图像中的位置相同。
可选的,在一种具体的实现方式中,音轨数识别子任务可以用于以下步骤:
步骤①、抽取乐谱图像的多个特征层;
步骤②、针对每一特征层,对特征层进行裁剪,保留特征层的预设区域中的预设数量列,获取裁剪后的特征层;
步骤③、针对每一特征层,对裁剪后的特征层与上一层的处理结果进行向量拼接,并将拼接得到的第二矩阵进行卷积处理,得到特征层的处理结果;
步骤④、根据最后一层的处理结果,通过二分类模块判断待识别乐谱图像中每行乐谱对应的音轨为单音轨还是多音轨;
步骤⑤、若为多音轨,则将二值掩码对应的二值掩码矩阵进行裁剪,保留二值掩码矩阵的预设区域中的预设数量列,获取裁剪后的二值掩码矩阵;
步骤⑥、将最后一层的处理结果与裁剪后的二值掩码矩阵进行拼接处理,并将拼接得到的矩阵进行转置处理,获取转置后的矩阵;
步骤⑦、根据RNN预测模块对转置后的矩阵进行处理,获取待识别乐谱图像中每行乐谱对应的音轨数。
应理解步骤①-步骤⑦的实现原理和过程可以参照上述实施例,此处不再赘述。
示例性介质
在介绍了本公开示例性实施方式的方法之后,接下来,参考图12对本公开示例性实施方式的存储介质进行说明。
参考图12所示,存储介质1200中存储着根据本公开的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机执行指令,该计算机执行指令用于使计算设备执行本公开所提供的图像识别方法和模型训练方法。然而,本公开的程序产品不限于此。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机执行指令。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开公开操作的计算机执行指令,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。计算机执行指令可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备。
示例性装置
在介绍了本公开示例性实施方式的介质之后,接下来,参考图13和图14分别对本公开示例性实施方式的图像识别装置和模型训练装置进行说明,用于实现上述任一方法实施例中的方法,其实现原理和技术效果类似,在此不再赘述。
图13为本公开一实施例提供的图像识别装置的结构示意图,如图13所示,本公开实施例的图像识别装置1300包括:
获取模块1301,用于获取待识别乐谱图像;
输入模块1302,用于将待识别乐谱图像输入音轨识别模型进行音轨识别,获取识别得到的多个单音轨乐谱区域;
其中,音轨识别模型是根据多个样本乐谱图像训练得到的、用于识别输入的乐谱图像中的多个单音轨乐谱区域的模型,每个样本乐谱图像包括音轨标注信息和干扰标注信息,音轨标注信息用于说明样本乐谱图像中每行乐谱对应的音轨数,干扰标注信息用于标注样本乐谱图像中非乐谱部分的干扰信息区域。
在一些实施例中,获取模块1301,具体用于:
获取待识别乐谱图像的二值掩码;
获取待识别乐谱图像中每行乐谱对应的音轨数;
根据二值掩码以及音轨数,获取乐谱图像中的多个单音轨乐谱区域。
在一些实施例中,获取模块1301,具体用于:
抽取待识别乐谱图像的多个特征层;
针对每一特征层,将特征层与上一层的处理结果进行向量拼接,将拼接得到的第一矩阵进行卷积处理,得到特征层的处理结果;
根据最后一层的处理结果,确定待识别乐谱图像中每行乐谱对应的音轨数。
在一些实施例中,获取模块1301,具体用于:
针对每一特征层,对特征层进行裁剪,保留特征层的预设区域中的预设数量列,获取裁剪后的特征层;
针对每一特征层,对裁剪后的特征层与上一层的处理结果进行向量拼接,并将拼接得到的第二矩阵进行卷积处理,得到特征层的处理结果。
在一些实施例中,获取模块1301,具体用于:
根据最后一层的处理结果,通过二分类模块判断待识别乐谱图像中每行乐谱对应的音轨数为单音轨还是多音轨,二分类模块为音轨识别模型中的模块;
若为多音轨,则将二值掩码对应的二值掩码矩阵进行裁剪,保留二值掩码矩阵的预设区域中的预设数量列,获取裁剪后的二值掩码矩阵;
将最后一层的处理结果与裁剪后的二值掩码矩阵进行拼接处理,并将拼接得到的第三矩阵进行转置处理,获取转置后的矩阵;
根据RNN预测模块对转置后的矩阵进行处理,获取待识别乐谱图像中每行乐谱对应的音轨数,RNN预测模块为音轨识别模型中的模块。
在一些实施例中,获取模块1301,具体用于:
将二值掩码中每个像素的二值掩码值在水平方向上进行累加,获取多个二值掩码累加和,水平方向为与音轨平行的方向;
根据音轨数,将二值掩码中大于预设二值掩码值的二值掩码累加和所处的水平区域确定为音轨区域;
根据音轨数和音轨区域,从待识别乐谱图像中确定出各音轨区域对应的单音轨乐谱区域。
在一些实施例中,获取模块1301,具体用于:
在音轨数为多音轨时,对二值掩码中音轨区域内的二值掩码累加和进行聚类处理,聚类出与音轨数相同数量个聚类中心;
针对每一聚类中心,在二值掩码的垂直方向上确定出与聚类中心距离为预设长度的两个边界线,垂直方向为与音轨垂直的方向;
针对每一聚类中心,根据两个边界线,获取二值掩码中聚类中心对应的子音轨区域;
根据各聚类中心对应的子音轨区域,从待识别乐谱图像中确定出各子音轨区域对应的单音轨乐谱区域。
图14为本公开一实施例提供的模型训练装置的结构示意图,如图14所示,本公开实施例的模型训练装置1400包括:
获取模块1401,用于获取多个样本乐谱图像,每个样本乐谱图像包括音轨标注信息和干扰标注信息,音轨标注信息用于说明样本乐谱图像中每行乐谱对应的音轨数,干扰标注信息用于标注样本乐谱图像中非乐谱部分的干扰信息区域;
处理模块1402,用于根据每个样本乐谱图像中的干扰标注信息,将样本乐谱图像中的干扰信息区域的二值掩码值确定为预设的背景掩码值,并对处理后的图像进行二值化处理,获取每个样本乐谱图像对应的二值掩码标注信息;
训练模块1403,用于根据多个样本乐谱图像以及每个样本乐谱图像对应的音轨标注信息和二值掩码标注信息,进行模型训练,获取音轨识别模型,音轨识别模型用于识别输入的乐谱图像中的单音轨乐谱区域。
在一些实施例中,处理模块1402,具体用于:
根据每个样本乐谱图像中的干扰标注信息,将每个样本乐谱图像中的干扰信息区域的二值掩码值确定为背景掩码值,并对处理后的图像进行二值化处理,生成初始二值掩码标注信息;
对每个样本乐谱图像的初始二值掩码标注信息进行形态学运算操作,生成每个样本乐谱图像的二值掩码标注信息。
在一些实施例中,形态学运算操作包括膨胀处理和腐蚀处理。
在一些实施例中,在根据每个样本乐谱图像中的干扰标注信息,将样本乐谱图像中的干扰信息区域的二值掩码值确定为预设的背景掩码值,并对处理后的图像进行二值化处理,获取每个样本乐谱图像对应的二值掩码标注信息之后,处理模块1402,还用于:
针对任一样本乐谱图像,在样本乐谱图像中增加干扰信息,并将增加干扰信息后的样本乐谱图像确定为第一样本乐谱图像,第一样本乐谱图像的音轨标注信息和二值掩码标注信息与样本乐谱图像相同。
在一些实施例中,在根据每个样本乐谱图像中的干扰标注信息,将样本乐谱图像中的干扰信息区域的二值掩码值确定为预设的背景掩码值,并对处理后的图像进行二值化处理,获取每个样本乐谱图像对应的二值掩码标注信息之后,处理模块1402,还用于:
针对任一样本乐谱图像,在对样本乐谱图像的顶角设置预设图标之后,获取第二样本乐谱图像,第二样本乐谱图像是对设置后的样本乐谱图像进行拍摄得到的图像,第二样本乐谱图像的音轨标注信息和二值掩码标注信息与样本乐谱图像相同;
将第二样本乐谱图像与样本乐谱图像进行匹配和校准,获取校准结果;
根据校准结果对第二样本乐谱图像的二值掩码标注信息进行调整,获取处理后的二值掩码标注信息。
在一些实施例中,获取模块1401,具体用于:
构建多任务模型,多任务模型包括二值掩码生成子任务以及音轨数识别子任务;其中,二值掩码生成子任务用于获取乐谱图像的二值掩码,音轨数识别子任务用于获取乐谱图像中每行乐谱的音轨数,并根据二值掩码以及每行乐谱对应的音轨数,获取乐谱图像的单音轨乐谱区域;
根据多个样本乐谱图像以及每个样本乐谱图像对应的音轨标注信息和二值掩码标注信息,对多任务模型中的音轨数识别子任务以及音轨数识别子任务进行模型训练,获取音轨识别模型。
在一些实施例中,获取模块1401,具体用于:
根据多个样本乐谱图像以及每个样本乐谱图像对应的二值掩码标注信息,对音轨数识别子任务进行模型训练;
根据多个样本乐谱图像以及每个样本乐谱图像对应的二值掩码标注信息和音轨标注信息,对音轨数识别子任务的二分类模块和RNN预测模块进行模型训练,获取音轨识别模型;其中,二分类模块用于基于乐谱图像的多个特征层,判断乐谱图像中每行乐谱对应的音轨为单音轨还是多音轨,RNN预测模块用于在乐谱图像中每行乐谱对应的音轨为多音轨时,基于乐谱图像的多个特征层和乐谱图像中乐谱区域的二值掩码,确定乐谱图像中每行乐谱对应的音轨数。
在一些实施例中,音轨数识别子任务用于:
抽取乐谱图像的多个特征层;
针对每一特征层,对特征层进行裁剪,保留特征层的预设区域中的预设数量列,获取裁剪后的特征层;
针对每一特征层,对裁剪后的特征层与上一层的处理结果进行向量拼接,并将拼接得到的第二矩阵进行卷积处理,得到特征层的处理结果;
根据最后一层的处理结果,通过二分类模块判断待识别乐谱图像中每行乐谱对应的音轨为单音轨还是多音轨;
若为多音轨,则将二值掩码对应的二值掩码矩阵进行裁剪,保留二值掩码矩阵的预设区域中的预设数量列,获取裁剪后的二值掩码矩阵;
将最后一层的处理结果与裁剪后的二值掩码矩阵进行拼接处理,并将拼接得到的矩阵进行转置处理,获取转置后的矩阵;
根据RNN预测模块对转置后的矩阵进行处理,获取待识别乐谱图像中每行乐谱对应的音轨数。
示例性计算设备
在介绍了本公开示例性实施方式的方法、介质和装置之后,接下来,参考图15对本公开示例性实施方式的计算设备进行说明。
图15显示的计算设备102仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图15所示,计算设备102以通用计算设备的形式表现。计算设备102的组件可以包括但不限于:至少一个处理单元1021、至少一个存储单元1022,连接不同系统组件(包括处理单元1021和存储单元1022)的总线1023。其中,至少一个存储单元1022中存储有计算机执行指令;至少一个处理单元1021包括处理器,处理器执行该计算机执行指令,以实现上文描述的方法。
总线1023包括数据总线、控制总线和地址总线。
存储单元1022可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)10221和/或高速缓存存储器10222,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(ROM)10223。
存储单元1022还可以包括具有一组(至少一个)程序模块10224的程序/实用工具10225,这样的程序模块10224包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备102也可以与一个或多个外部设备1024(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口1025进行。并且,计算设备102还可以通过网络适配器1026与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图15所示,网络适配器1026通过总线1023与计算设备102的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备102使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了图像识别装置和模型训练装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对每个方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的每个种修改和等同布置。
Claims (18)
1.一种图像识别方法,包括:
获取待识别乐谱图像;
将所述待识别乐谱图像输入音轨识别模型进行音轨识别,获取识别得到的多个单音轨乐谱区域;
其中,所述音轨识别模型是根据多个样本乐谱图像训练得到的、用于识别输入的乐谱图像中多个单音轨乐谱区域的模型,每个样本乐谱图像包括音轨标注信息和干扰标注信息,所述音轨标注信息用于说明所述样本乐谱图像中每行乐谱对应的音轨数,所述干扰标注信息用于标注所述样本乐谱图像中非乐谱部分的干扰信息区域;
其中,所述音轨识别模型包括编码器、解码器、二分类模块以及循环神经网络RNN预测模块;
所述将所述待识别乐谱图像输入音轨识别模型进行音轨识别,获取识别得到的多个单音轨乐谱区域,包括:
通过所述编码器和所述解码器获取所述待识别乐谱图像的二值掩码;
通过所述编码器、所述二分类模块以及所述RNN预测模块获取所述待识别乐谱图像中每行乐谱对应的音轨数;
根据所述二值掩码以及所述音轨数,获取所述乐谱图像中的多个单音轨乐谱区域。
2.根据权利要求1所述的方法,所述获取所述待识别乐谱图像中每行乐谱对应的音轨数,包括:
抽取所述待识别乐谱图像的多个特征层;
针对每一特征层,将所述特征层与上一层的处理结果进行向量拼接,将拼接得到的第一矩阵进行卷积处理,得到所述特征层的处理结果;
根据最后一层的处理结果,确定所述待识别乐谱图像中每行乐谱对应的音轨数。
3.根据权利要求2所述的方法,所述针对每一特征层,将所述特征层与上一层的处理结果进行向量拼接,将拼接得到的第一矩阵进行卷积处理,得到所述特征层的处理结果,包括:
针对每一特征层,对所述特征层进行裁剪,保留所述特征层的预设区域中的预设数量列,获取裁剪后的特征层;
针对每一特征层,对裁剪后的特征层与上一层的处理结果进行向量拼接,并将拼接得到的第二矩阵进行卷积处理,得到所述特征层的处理结果。
4.根据权利要求3所述的方法,所述根据最后一层的处理结果,确定所述待识别乐谱图像中每行乐谱对应的音轨数,包括:
根据最后一层的处理结果,通过二分类模块判断所述待识别乐谱图像中每行乐谱对应的音轨数为单音轨还是多音轨,所述二分类模块为所述音轨识别模型中的模块;
若为多音轨,则将所述二值掩码对应的二值掩码矩阵进行裁剪,保留所述二值掩码矩阵的预设区域中的预设数量列,获取裁剪后的二值掩码矩阵;
将所述最后一层的处理结果与所述裁剪后的二值掩码矩阵进行拼接处理,并将拼接得到的第三矩阵进行转置处理,获取转置后的矩阵;
根据循环神经网络RNN预测模块对转置后的矩阵进行处理,获取所述待识别乐谱图像中每行乐谱对应的音轨数,所述RNN预测模块为所述音轨识别模型中的模块。
5.根据权利要求1-4任一项所述的方法,所述根据所述二值掩码以及所述音轨数,获取所述乐谱图像中的多个单音轨乐谱区域,包括:
将所述二值掩码中每个像素的二值掩码值在水平方向上进行累加,获取多个二值掩码累加和,所述水平方向为与音轨平行的方向;
根据所述音轨数,将所述二值掩码中大于预设二值掩码值的二值掩码累加和所处的水平区域确定为音轨区域;
根据所述音轨数和所述音轨区域,从所述待识别乐谱图像中确定出各音轨区域对应的单音轨乐谱区域。
6.根据权利要求5所述的方法,所述根据所述音轨数和所述音轨区域,从所述音轨区域抽取所述待识别乐谱图像中对应的多个单音轨乐谱区域,包括:
在所述音轨数为多音轨时,对所述二值掩码中所述音轨区域内的二值掩码累加和进行聚类处理,聚类出与所述音轨数相同数量个聚类中心;
针对每一聚类中心,在所述二值掩码的垂直方向上确定出与所述聚类中心距离为预设长度的两个边界线,所述垂直方向为与音轨垂直的方向;
针对每一聚类中心,根据所述两个边界线,获取所述二值掩码中所述聚类中心对应的子音轨区域;
根据各聚类中心对应的子音轨区域,从所述待识别乐谱图像中确定出各子音轨区域对应的单音轨乐谱区域。
7.一种模型训练方法,包括:
获取多个样本乐谱图像,每个样本乐谱图像包括音轨标注信息和干扰标注信息,所述音轨标注信息用于说明所述样本乐谱图像中每行乐谱对应的音轨数,所述干扰标注信息用于标注所述样本乐谱图像中非乐谱部分的干扰信息区域;
根据每个样本乐谱图像中的干扰标注信息,将所述样本乐谱图像中的干扰信息区域的二值掩码值确定为预设的背景掩码值,并对处理后的图像进行二值化处理,获取每个样本乐谱图像对应的二值掩码标注信息;
根据多个样本乐谱图像、每个样本乐谱图像对应的音轨标注信息和二值掩码标注信息,进行模型训练,获取音轨识别模型,所述音轨识别模型用于识别输入的乐谱图像中的单音轨乐谱区域;
其中,所述音轨识别模型包括编码器、解码器、二分类模块以及循环神经网络RNN预测模块;所述编码器和所述解码器用于获取待识别乐谱图像的二值掩码;所述编码器、所述二分类模块以及所述RNN预测模块用于获取所述待识别乐谱图像中每行乐谱对应的音轨数。
8.根据权利要求7所述的方法,所述根据每个样本乐谱图像中的干扰标注信息,将所述样本乐谱图像中的干扰信息区域的二值掩码值确定为预设的背景掩码值,并对处理后的图像进行二值化处理,获取每个样本乐谱图像对应的二值掩码标注信息,包括:
根据每个样本乐谱图像中的干扰标注信息,将每个样本乐谱图像中的干扰信息区域的二值掩码值确定为所述背景掩码值,并对处理后的图像进行二值化处理,生成初始二值掩码标注信息;
对每个样本乐谱图像的初始二值掩码标注信息进行形态学运算操作,生成每个样本乐谱图像的二值掩码标注信息。
9.根据权利要求8所述的方法,所述形态学运算操作包括膨胀处理和腐蚀处理。
10.根据权利要求7所述的方法,在所述根据每个样本乐谱图像中的干扰标注信息,将所述样本乐谱图像中的干扰信息区域的二值掩码值确定为预设的背景掩码值,并对处理后的图像进行二值化处理,获取每个样本乐谱图像对应的二值掩码标注信息之后,所述方法还包括:
针对任一样本乐谱图像,在所述样本乐谱图像中增加干扰信息,并将增加干扰信息后的样本乐谱图像确定为第一样本乐谱图像,所述第一样本乐谱图像的音轨标注信息和二值掩码标注信息与所述样本乐谱图像相同。
11.根据权利要求7所述的方法,在所述根据每个样本乐谱图像中的干扰标注信息,将所述样本乐谱图像中的干扰信息区域的二值掩码值确定为预设的背景掩码值,并对处理后的图像进行二值化处理,获取每个样本乐谱图像对应的二值掩码标注信息之后,所述方法还包括:
针对任一样本乐谱图像,在对所述样本乐谱图像的顶角设置预设图标之后,获取第二样本乐谱图像,所述第二样本乐谱图像是对设置后的样本乐谱图像进行拍摄得到的图像,所述第二样本乐谱图像的音轨标注信息和二值掩码标注信息与所述样本乐谱图像相同;
将所述第二样本乐谱图像与所述样本乐谱图像进行匹配和校准,获取校准结果;
根据所述校准结果对所述第二样本乐谱图像的二值掩码标注信息进行调整,获取处理后的二值掩码标注信息。
12.根据权利要求7至11任一项所述的方法,所述根据多个样本乐谱图像、每个样本乐谱图像对应的音轨标注信息和二值掩码标注信息,进行模型训练,获取音轨识别模型,包括:
构建多任务模型,所述多任务模型包括二值掩码生成子任务以及音轨数识别子任务;其中,所述二值掩码生成子任务用于获取乐谱图像的二值掩码,所述音轨数识别子任务用于获取乐谱图像中每行乐谱的音轨数,并根据所述二值掩码以及所述每行乐谱对应的音轨数,获取所述乐谱图像的单音轨乐谱区域;
根据多个样本乐谱图像以及每个样本乐谱图像对应的音轨标注信息和二值掩码标注信息,对所述多任务模型中的所述音轨数识别子任务以及所述音轨数识别子任务进行模型训练,获取所述音轨识别模型。
13.根据权利要求12所述的方法,所述根据多个样本乐谱图像以及每个样本乐谱图像对应的音轨标注信息和二值掩码标注信息,对所述多任务模型中的所述音轨数识别子任务以及所述音轨数识别子任务进行模型训练,获取所述音轨识别模型,包括:
根据多个样本乐谱图像以及每个样本乐谱图像对应的二值掩码标注信息,对所述音轨数识别子任务进行模型训练;
根据多个样本乐谱图像以及每个样本乐谱图像对应的二值掩码标注信息和音轨标注信息,对所述音轨数识别子任务的二分类模块和循环神经网络RNN预测模块进行模型训练,获取所述音轨识别模型;其中,二分类模块用于基于所述乐谱图像的多个特征层,判断所述乐谱图像中每行乐谱对应的音轨为单音轨还是多音轨,RNN预测模块用于在乐谱图像中每行乐谱对应的音轨为多音轨时,基于所述乐谱图像的多个特征层和乐谱图像中乐谱区域的二值掩码,确定所述乐谱图像中每行乐谱对应的音轨数。
14.根据权利要求13所述的方法,所述音轨数识别子任务用于:
抽取所述乐谱图像的多个特征层;
针对每一特征层,对所述特征层进行裁剪,保留所述特征层的预设区域中的预设数量列,获取裁剪后的特征层;
针对每一特征层,对裁剪后的特征层与上一层的处理结果进行向量拼接,并将拼接得到的第二矩阵进行卷积处理,得到所述特征层的处理结果;
根据最后一层的处理结果,通过所述二分类模块判断所述待识别乐谱图像中每行乐谱对应的音轨为单音轨还是多音轨;
若为多音轨,则将所述二值掩码对应的二值掩码矩阵进行裁剪,保留所述二值掩码矩阵的预设区域中的预设数量列,获取裁剪后的二值掩码矩阵;
将所述最后一层的处理结果与所述裁剪后的二值掩码矩阵进行拼接处理,并将拼接得到的矩阵进行转置处理,获取转置后的矩阵;
根据RNN预测模块对转置后的矩阵进行处理,获取所述待识别乐谱图像中每行乐谱对应的音轨数。
15.一种存储介质,所述存储介质中存储有计算机程序指令,所述计算机程序指令被执行时,实现如权利要求1至14中任一项所述的方法。
16.一种图像识别装置,包括:
获取模块,用于获取待识别乐谱图像;
输入模块,用于将所述待识别乐谱图像输入音轨识别模型进行音轨识别,获取识别得到的多个单音轨乐谱区域;
其中,所述音轨识别模型是根据多个样本乐谱图像训练得到的、用于识别输入的乐谱图像中的多个单音轨乐谱区域的模型,每个样本乐谱图像包括音轨标注信息和干扰标注信息,所述音轨标注信息用于说明所述样本乐谱图像中每行乐谱对应的音轨数,所述干扰标注信息用于标注所述样本乐谱图像中非乐谱部分的干扰信息区域;
其中,所述音轨识别模型包括编码器、解码器、二分类模块以及循环神经网络RNN预测模块;
所述输入模块,具体用于:
通过所述编码器和所述解码器获取所述待识别乐谱图像的二值掩码;
通过所述编码器、所述二分类模块以及所述RNN预测模块获取所述待识别乐谱图像中每行乐谱对应的音轨数;
根据所述二值掩码以及所述音轨数,获取所述乐谱图像中的多个单音轨乐谱区域。
17.一种模型训练装置,包括:
获取模块,用于获取多个样本乐谱图像,每个样本乐谱图像包括音轨标注信息和干扰标注信息,所述音轨标注信息用于说明所述样本乐谱图像中每行乐谱对应的音轨数,所述干扰标注信息用于标注所述样本乐谱图像中非乐谱部分的干扰信息区域;
处理模块,用于根据每个样本乐谱图像中的干扰标注信息,将所述样本乐谱图像中的干扰信息区域的二值掩码值确定为预设的背景掩码值,并对处理后的图像进行二值化处理,获取每个样本乐谱图像对应的二值掩码标注信息;
训练模块,用于根据多个样本乐谱图像以及每个样本乐谱图像对应的音轨标注信息和二值掩码标注信息,进行模型训练,获取音轨识别模型,所述音轨识别模型用于识别输入的乐谱图像中的单音轨乐谱区域;
其中,所述音轨识别模型包括编码器、解码器、二分类模块以及循环神经网络RNN预测模块;所述编码器和所述解码器用于获取待识别乐谱图像的二值掩码;所述编码器、所述二分类模块以及所述RNN预测模块用于获取所述待识别乐谱图像中每行乐谱对应的音轨数。
18.一种计算设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至14中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211514783.6A CN115620310B (zh) | 2022-11-30 | 2022-11-30 | 图像识别方法、模型训练方法、介质、装置及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211514783.6A CN115620310B (zh) | 2022-11-30 | 2022-11-30 | 图像识别方法、模型训练方法、介质、装置及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115620310A CN115620310A (zh) | 2023-01-17 |
CN115620310B true CN115620310B (zh) | 2023-05-09 |
Family
ID=84880411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211514783.6A Active CN115620310B (zh) | 2022-11-30 | 2022-11-30 | 图像识别方法、模型训练方法、介质、装置及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115620310B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116310745B (zh) * | 2023-05-10 | 2024-01-23 | 北京瑞莱智慧科技有限公司 | 图像处理方法、数据处理方法、相关装置及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112133264A (zh) * | 2020-08-31 | 2020-12-25 | 广东工业大学 | 一种乐谱识别方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003242438A (ja) * | 2003-02-06 | 2003-08-29 | Kawai Musical Instr Mfg Co Ltd | 楽譜認識装置 |
KR101459766B1 (ko) * | 2008-02-12 | 2014-11-10 | 삼성전자주식회사 | 휴대 단말에서 자동반주 악보를 인식하는 방법 |
CN113056908B (zh) * | 2019-01-29 | 2024-04-05 | 深圳市欢太科技有限公司 | 视频字幕合成方法、装置、存储介质及电子设备 |
CN112926603B (zh) * | 2021-03-26 | 2024-01-23 | 平安科技(深圳)有限公司 | 乐谱识别方法、装置、设备及存储介质 |
CN114359946A (zh) * | 2021-12-14 | 2022-04-15 | 湖南师范大学 | 一种基于残差注意力Transformer的光学乐谱图像识别方法 |
-
2022
- 2022-11-30 CN CN202211514783.6A patent/CN115620310B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112133264A (zh) * | 2020-08-31 | 2020-12-25 | 广东工业大学 | 一种乐谱识别方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115620310A (zh) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109948615B (zh) | 多语言文本检测识别系统 | |
CN114596566B (zh) | 文本识别方法及相关装置 | |
CN112232341B (zh) | 文本检测方法、电子设备及计算机可读介质 | |
CN110717470A (zh) | 一种场景识别方法、装置、计算机设备和存储介质 | |
CN112149663A (zh) | 结合rpa和ai的图像文字的提取方法、装置及电子设备 | |
CN113869138A (zh) | 多尺度目标检测方法、装置及计算机可读存储介质 | |
Castellanos et al. | A Neural Approach for Full-Page Optical Music Recognition of Mensural Documents. | |
CN115620310B (zh) | 图像识别方法、模型训练方法、介质、装置及计算设备 | |
Tsai et al. | Using cell phone pictures of sheet music to retrieve MIDI passages | |
CN116884003B (zh) | 图片自动标注方法、装置、电子设备及存储介质 | |
KR20230038087A (ko) | 영상 데이터에 포함된 텍스트 플레이트 비식별화 방법 및 이를 수행하기 위한 장치 | |
CN118155231B (zh) | 文档的识别方法、装置、设备、介质及产品 | |
CN112668580A (zh) | 一种文本识别方法、文本识别装置及终端设备 | |
CN113780326A (zh) | 一种图像处理方法、装置、存储介质及电子设备 | |
CN113705468B (zh) | 基于人工智能的数字图像识别方法及相关设备 | |
JP2022522425A (ja) | 文字認識装置及び文字認識装置による文字認識方法 | |
CN117671426B (zh) | 基于概念蒸馏和clip的可提示分割模型预训练方法及系统 | |
CN114266901A (zh) | 文档轮廓提取模型构建方法、装置、设备及可读存储介质 | |
Tian et al. | Focal text: An accurate text detection with focal loss | |
CN111815748A (zh) | 一种动画处理方法、装置、存储介质及电子设备 | |
CN112801960B (zh) | 图像处理方法及装置、存储介质、电子设备 | |
CN115761778A (zh) | 一种文献重构方法、装置、设备和存储介质 | |
Gupta et al. | C2vnet: A deep learning framework towards comic strip to audio-visual scene synthesis | |
CN110378378B (zh) | 事件检索方法、装置、计算机设备及存储介质 | |
JPH11327030A (ja) | カメラ制御装置及び方法並びに記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |