一种乐谱图像识别方法及装置与流程

文档序号:12272338阅读:595来源:国知局
一种乐谱图像识别方法及装置与流程

本发明涉及图像识别技术领域,特别涉及一种乐谱图像识别方法及装置。



背景技术:

图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。

现有技术中的乐谱图像识别方法,大多基于传统计算机视觉方法,在识别精度和识别速度上不是十分理想,无法做到快速精准识别,甚至需要对待识别的乐谱做出高度规范化要求,不利于日常场景的使用。



技术实现要素:

本发明实施例的目的在于提供一种乐谱图像识别方法及装置,可以解决现有技术中存在的乐谱识别精度和识别速度不理想的问题。

为达到上述目的,本发明实施例公开了,一种乐谱图像识别方法,包括:

获得待处理的五线谱图像;

对待处理的五线谱图像采用边缘检测方法描绘出图像的边缘信息,再通过直线检测方法检测出五线位置坐标;

采用预设的音符分类器,对待处理的五线谱图像进行音符定位分割,得到每个完整音符在图像中的位置;

采用预设的卷积神经网络对分割获得的音符符头进行识别,判断是实心符头还是空心符头,并得到符头的位置;

根据所述得到的五线位置坐标、每个完整音符的相对位置、是实心符头还是空心符头及符头的位置,识别出每个完整音符。

优选的,所述的音符分类器的训练过程,包括:

建立正样本数据集和负样本数据集,数据集中包括定位框的位置数据及定位框内的五线谱图像的图像数据,正样本数据集为包括完整音符的图像数据,负样本数据集为包括除过完整音符之外的其余乐谱可能出现的图像数据;

提取正样本数据集和负样本数据集中每个样本的通道特征,训练音符分类器。

优选的,所述的每个样本的通道特征,包括,灰度和颜色、线性滤波、非线性变换、逐点变换、梯度直方图。

优选的,对待处理的五线谱图像进行音符定位分割,包括,

在待处理的五线谱图像上随机选取若干个候选定位框,逐个扫描定位框,对每个定位框内的图像提取所述的通道特征,将提取的通道特征输入到音符分类器中,判断定位框内的图像为正样本或者为负样本,正样本判定为乐谱中的完整音符,负样本判定为乐谱背景舍弃,从而得到待处理的五线谱图像中的完整音符,对照音符分类器中定位框的位置数据得到每个完整音符在图像中的位置。

优选的,所述的卷积神经网络的训练过程,包括,

建立音符符头数据集,包括实心符头、空心符头和背景三种分类数据;

构建卷积神经网络,包括2个卷积层,2个下采样层和1个全连接层;

将音符符头数据集中的符头图像数据输入到卷积神经网络中,完成训练。

优选的,所述的采用卷积神经网络对分割获得的音符符头进行识别,包括,

将音符定位分割得到的完整音符,输入到卷积神经网络中,通过和音符符头数据集里的数据对比,得出是实心符头、空心符头或者背景,舍弃背景,同时对照音符符头数据集里的符头的位置数据,确定完整音符中符头的位置。

优选的,所述的待处理的五线谱图像,具体为:对五线谱图像进行去噪、对比度增强、灰度化、减少噪声或光照不均匀的处理,得到的二值图像。

优选的,所述的边缘检测方法为单边边缘检测方法,包括:

a)选用Sobel算子,分别求出水平方向上和垂直方向上的梯度值:

水平梯度:sx=(a2+2a3+a4)-(a0+2a7+a6)

垂直梯度:sy=(a0+2a1+a2)-(a6+2a5+a4)

幅值:

Sobel模板:

其中,a0-a7代表8个邻域像素点;

b)采用非极大值抑制对水平方向上和垂直方向上的梯度值进行抑制,即仅保留每个方向梯度直线上的最大值的点,其余点的值均设为0;

c)采用自适应阈值方法,得到每个区域中待设置阈值的大小,使用该阈值作为是否连接边缘的条件限制,描绘出图像的边缘信息。

优选的,所述的直线检测方法采用hough直线检测方法。

本发明实施例还公开了,一种乐谱图像识别装置,包括,

图像获取单元,获得待处理的五线谱图像;

五线位置坐标检测单元,对待处理的五线谱图像采用边缘检测方法描绘出图像的边缘信息,再通过直线检测方法检测出五线位置坐标;

音符定位分割单元,采用预设的音符分类器,对待处理的五线谱图像进行音符定位分割,得到每个完整音符在图像中的位置;

音符符头识别单元,采用预设的卷积神经网络对分割获得的音符符头进行识别,判断是实心符头还是空心符头,并得到符头的位置;

乐谱图像识别单元,根据所述得到的五线位置坐标、每个完整音符的相对位置、是实心符头还是空心符头及符头的位置,识别出每个完整音符。

由上述的技术方案可见,本发明实施例,对待处理的五线谱图像采用边缘检测方法描绘出图像的边缘信息,再通过直线检测方法检测出五线位置坐标;采用预设的音符分类器,对待处理的五线谱图像进行音符定位分割,得到每个完整音符在图像中的位置;采用预设的卷积神经网络对分割获得的音符符头进行识别,判断是实心符头还是空心符头,并得到符头的位置;根据所述得到的五线位置坐标、每个完整音符的相对位置、是实心符头还是空心符头及符头的位置,识别出每个完整音符。相较于传统计算机视觉方法,本发明采用音符分类器与卷积神经网络级联进行音符识别,具有识别速度快,识别精度高的优点。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明乐谱识别方法第一种实施例的流程图;

图2是本发明乐谱识别方法第二种实施例的流程图;

图3是本发明乐谱识别方法第二种实施例中单边边缘检测方法原理图;

图4是本发明乐谱识别方法第二种实施例中五线位置坐标检测的效果图;

图5是本发明乐谱识别方法第二种实施例中音符分类器的训练过程示意图;

图6是本发明乐谱识别方法第二种实施例中正样本数据集和负样本数据集的样本示意图;

图7是本发明乐谱识别方法第二种实施例中音符定位分割的流程图;

图8是本发明乐谱识别方法第二种实施例中音符定位分割的效果图;

图9是本发明乐谱识别方法第二种实施例中卷积神经网络的训练过程示意图;

图10是本发明乐谱识别方法第二种实施例中卷积神经网络结构图;

图11是本发明乐谱识别方法第二种实施例中音符符头识别的流程图;

图12是本发明乐谱识别装置的一种实施例的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明乐谱识别方法第一种实施例,如图1所示,包括以下步骤:

步骤101:获得待处理的五线谱图像;

步骤102:对待处理的五线谱图像采用边缘检测方法描绘出图像的边缘信息,再通过直线检测方法检测出五线位置坐标;

步骤103:采用预设的音符分类器,对待处理的五线谱图像进行音符定位分割,得到每个完整音符在图像中的位置;

步骤104:采用预设的卷积神经网络对分割获得的音符符头进行识别,判断是实心符头还是空心符头,并得到符头的位置;

步骤105:根据所述得到的五线位置坐标、每个完整音符的相对位置、是实心符头还是空心符头及符头的位置,识别出每个完整音符。

本发明乐谱识别方法第二种实施例,如图2所示,包括以下步骤:

步骤201:获取五线谱图像;

步骤202:对得到的五线谱图像进行去噪、对比度增强、灰度化、减少噪声或光照不均匀的处理,得到二值图像;

步骤203:对得到的二值图像采用单边边缘检测方法描绘出图像的边缘信息,再通过hough直线检测方法检测出五线位置坐标;

优选的,步骤203中的单边边缘检测方法,包括:

a)选用Sobel算子,分别求出水平方向上和垂直方向上的梯度值:

水平梯度:sx=(a2+2a3+a4)-(a0+2a7+a6)

垂直梯度:sy=(a0+2a1+a2)-(a6+2a5+a4)

幅值:

Sobel模板:

其中,a0-a7代表8个邻域像素点;

b)采用非极大值抑制对水平方向上和垂直方向上的梯度值进行抑制,即仅保留每个方向梯度直线上的最大值的点,其余点的值均设为0;

c)采用自适应阈值方法得到每个区域中待设置阈值的大小,使用该阈值作为是否连接边缘的条件限制,描绘出图像的边缘信息。

为了更好的说明单边边缘检测方法的有益效果,以下将传统的canny边缘检测方法和本发明采用的单边边缘检测方法做一对比说明:

1)传统的canny边缘检测方法步骤包括:

a)通过求取图像中每个像素的一阶偏导并计算梯度方向和幅值,从而得出各点在不同方向上的幅值,过程中会涉及到不同的算子模板,例如Robert算子、Prewitt算子等;

b)对梯度幅值进行非极值抑制,图像梯度幅值矩阵中的元素值越大,说明图像中该点的梯度值越大,但不足以确定该点就是边缘点,故需要寻找像素点在一条直线上的极值,将非极值点所对应的灰度值置为0,这样可以剔除掉一大部分非边缘的点;

c)用双阈值算法检测和连接边缘,选择两个阈值,根据高阈值得到一个边缘图像。在高阈值图像中把边缘链接成轮廓,当到达轮廓的端点时,算法会在断点的8值邻域点中寻找满足低阈值的点,再根据此点收集新的边缘,直到整个图像边缘闭合,形成整个边缘图像。

2)本发明采用的单边边缘检测方法步骤包括:

a)改变原有的canny算法常用的模板算子,进而选用Sobel算子(a0-a7代表8个邻域像素点),分别求出水平方向上和垂直方向上的梯度值;

水平梯度:sx=(a2+2a3+a4)-(a0+2a7+a6)

垂直梯度:sy=(a0+2a1+a2)-(a6+2a5+a4)

幅值:

Sobel模板:

b)同样对每个方向上的梯度值进行抑制,但由于需要的是直线单边的边缘,所以需要改变抑制方法,将原方法中的非极值抑制改为非极大值抑制,即仅保留每个方向梯度直线上的最大值的点,其余点的值均设为0,如图3所示,以(3*3)的区域作为比较块,分别将中心像素与(1、5)(2、6)(3、7)(4、8)相比较,将非极大值点设为0;

c)采用自适应阈值方法得到每个区域中待设置阈值的大小,使用该阈值作为是否连接边缘的条件限制,该方法借鉴了自适应二值化中的方式,这样同时减少了光照等因素对不同区域的影响。

应该说明的是,所述的自适应阈值方法,为现有技术中的常用方法。

经上述对比,传统canny方法检测时发现每条五线均出现双边边缘,影响定位效果,本发明采用非极大值抑制仅保留梯度单边极值,加入自适应阈值条件,使得五线较好的呈现出单边边缘;

应该说明的是,步骤203中的hough直线检测方法,是现有技术中的常用直线检测方法,能够根据得到的图像的边缘信息检测出五线位置坐标,如图4所示,为本实施例中五线谱定位的效果图。

步骤204:采用预设的音符分类器,对得到的二值图像进行音符定位分割,得到每个完整音符在图像中的位置;

优选的,音符分类器的训练过程,如图5所示,包括:

步骤2041:建立正样本数据集和负样本数据集,如图6所示,数据集中包括定位框的位置数据及定位框内的五线谱图像的图像数据,正样本数据集为包括完整音符的图像数据,负样本数据集为包括除过完整音符之外的其余乐谱可能出现的图像数据;

步骤2042:提取正样本数据集和负样本数据集中每个样本的通道特征,训练音符分类器。

应该说明的是,此处的负样本可以是残缺的音符图像、五线谱图像、乐谱背景图像等,但不限于列举的上述图像。

优选的,每个样本的通道特征,包括,灰度和颜色、线性滤波、非线性变换、逐点变换、梯度直方图。应该说明的是,所述的5种通道特征,为现有技术中的积分通道特征,定义解释如下:

灰度和颜色:灰度是一种简单的通道,LUV颜色空间也是三个常用的通道;

线性滤波:利用线性变换得到通道,如将图像与不同方向的Gabor滤波器进行卷积得到的通道,其中的每一个通道包含不同方向的边缘信息,从而得到图像不同尺度的纹理信息;

非线性变换:计算图像梯度幅值,捕获边缘强度信息;捕获边缘梯度信息,梯度则既包含边缘强度又包含边缘方向,对于彩图而言,则需要在3个通道分别计算梯度,并将对应位置的3个梯度的最大响应作为最后输出;二值化图像,将图像分别以两个不同阈值进行二值化;

逐点变换:通道中的任一像素可以通过任意一个函数作为后处理进行变化。如通过Log运算,可以得到局部乘法算子exp(∑ilog(xi))=∏ixi,类似的,对每个像素计算p次幂可用于求解广义均值;

梯度直方图:是一个加权直方图,它的bin索引是通过梯度的方向计算出来的,而其权值则是通过梯度的幅值计算而来的,也就是说这里的通道是这样计算的:Qθ(x,y)=G(x,y)*1[Θ(x,y)=θ],这里G(x,y)和Θ(x,y)分别是代表图像的梯度幅值和量化梯度方向,与此同时进行不同尺度的模糊,可以计算出来不同尺度的梯度信息。此外,借助于梯度幅值信息,对计算出来的直方图进行归一化,此方法类似于HOG特征。

优选的,定位框为矩形块定位框,根据五线间距interval确定定位框的大小,定位框高度height和宽度width分别根据公式计算得出:

height=5*interval;width=2.5*interval。

优选的,步骤204中对待处理的五线谱图像进行音符定位分割,如图7所示,包括,

在待识别的二值图上随机选取若干个候选定位框,逐个扫描定位框,对每个定位框内的图像提取所述的通道特征,将提取的通道特征输入到音符分类器中,判断定位框内的图像为正样本或者为负样本,正样本判定为乐谱中的完整音符,负样本判定为乐谱背景舍弃,从而得到待识别的二值图中的完整音符,对照音符分类器中定位框的位置数据得到每个完整音符在图像中的位置,如图8所示。

本实施例中随机选取2000个候选定位框。

步骤205:采用预设的卷积神经网络对分割获得的音符符头进行识别,判断是实心符头还是空心符头,并得到符头的位置;

优选的,步骤205中的卷积神经网络的训练过程,如图9所示,包括,

步骤2051:建立音符符头数据集,包括实心符头、空心符头和背景三种分类数据;

步骤2052:如图10所示,构建卷积神经网络,包括2个卷积层,2个下采样层和1个全连接层;

步骤2053:将音符符头数据集中的符头图像数据输入到卷积神经网络中,完成训练。

本实施例中的音符符头数据集包括2000张实心符头,1500张空心符头和4000张背景图像。

本实施例采用caffe框架卷积神经网络,caffe框架是一个清晰,可读性高,快速的深度学习框架,其模型结构简单、参数较少,在许多环境下(笔记本、手机等)只需要实现简单的卷积和全连接前向网络即可进行音符识别,不需要另行配置caffe环境,十分方便简单。

优选的,步骤205中的采用卷积神经网络对分割获得的音符符头进行识别,如图11所示,包括,

将音符定位分割得到的完整音符,输入到卷积神经网络中,通过和音符符头数据集里的数据对比,得出是实心符头、空心符头或者背景,舍弃背景,同时对照音符符头数据集里的符头的位置数据,确定完整音符中符头的位置。

步骤206:根据所述得到的五线位置坐标、每个完整音符的相对位置、是实心符头还是空心符头及符头的位置,识别出每个完整音符。

实际应用中,可根据识别出来的音符信息生成可播放的电子乐谱,进行播放。

采用上述第二种实施例进行音符识别,硬件为三星galaxy S3,CPU进行测试,音符识别速度达到了500fps,准确率为98.71%。

本发明乐谱图像识别装置一种实施例的结构,如图12所示,包括,

图像获取单元301,获得待处理的五线谱图像;

五线位置坐标检测单元302,对待处理的五线谱图像采用边缘检测方法描绘出图像的边缘信息,再通过直线检测方法检测出五线位置坐标;

音符定位分割单元303,采用预设的音符分类器,对待处理的五线谱图像进行音符定位分割,得到每个完整音符在图像中的位置;

音符符头识别单元304,采用预设的卷积神经网络对分割获得的音符符头进行识别,判断是实心符头还是空心符头,并得到符头的位置;

乐谱图像识别单元305,根据所述得到的五线位置坐标、每个完整音符的相对位置、是实心符头还是空心符头及符头的位置,识别出每个完整音符。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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