一种乐谱识别分类及演奏控制方法与流程

文档序号:17223558发布日期:2019-03-27 12:18阅读:553来源:国知局
一种乐谱识别分类及演奏控制方法与流程

本发明涉及机器视觉技术领域,特别涉及一种乐谱图像识别及分类方法。



背景技术:

机器视觉,是指通过机器视觉产品将被摄取目标转换成图像信号,传送给专用的图像处理系统,得到被摄目标的形态信息,根据像素分布和亮度、颜色等信息,转变成数字化信号,图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。

现有的乐谱图像识别方法大多只能识别特定的乐谱(如单独识别五线谱或简谱),有的图像识别方法还基于传统计算机识别方法,无法做到快速精确识别,有的还需要对识别的乐谱做出高度规范化要求,不利于使用。



技术实现要素:

本发明旨在提供一种乐谱图像识别分类及弹奏控制方法,可以解决目前乐谱识别精度不高及乐谱识别规范过多等问题。

为达上述目的,本发明实施例公开了,一种乐谱图像识别分类及弹奏控制方法,包括:获取待处理的简谱或五线谱图像,并对其使用k近邻算法进行图像的预处理以去除图像上的无用点;随后采用基于高斯-拉普拉斯算子(log)的边缘检测方法,对图像进行倾斜校正并获取经图像滤波、增强、检测和定位后的图像1;对图像中的乐谱进行识别分类:通过采用直线检测中的lsd算法获取音符位置,并通过直线聚类与直线筛选对图像1进行去噪,然后输入乐谱分类器中对图像1中的直线间的相对距离与预设的阈值进行比较,判断得到乐谱的类别,即五线谱或简谱;将分类后的五线谱或简谱分别输入已训练好的不同参数的遗传算法(因五线谱与简谱的音符大小不同,故训练参数稍有不同)进行图像分割从而获得每个独立音符的图像2;将图像2分成表层和里层,分别输入到已训练好的卷积神经网络中,表层识别音符、里层识别连音符,经过神经网络识别后将识别后的音符和连音符组成完整的音符,获得标准的音符;通过获得的标准音符匹配音符库中的音符,并将标准音符所对应地音符库中的音符所对应的数控音乐平台控制指令调出,按照目标指令进行弹奏。

优选的,对待处理的乐谱图像进行初次滤波的预处理,包括:首先采用k近邻算法(knn)对获取到的图像进行边缘平滑滤波,再采用斑点(blob)检测的方法,识别音符旁的连音连奏符,断音断奏符,附点等连音符。

优选的,所述的乐谱图像识别方法,其特征在于,对识别的乐谱使用基于log算子的边缘检测方法,对图像进行倾斜校正并获取经图像滤波、增强、检测和定位,得到图像1,其中包括:

a)选用log算子:

b)选用log常用模板:

优选的,通过采用直线检测中的lsd算法获取乐谱每行中的音符位置,并通过直线聚类与直线筛选对图像1中的直线进行去噪,并将获得的图像1中最短的直线距离输入乐谱分类器中,根据分类器内预设的阈值判断乐谱类别,即五线谱或简谱。

优选的,将分类完的五线谱或简谱图像分别输入训练好的遗传算法中进行图像分割从而获得每个完整独立的音符图像,记为图像2。

优选的,将获得的图像2分成表层和里层,表层为音符主体,里层为连音符,休止符等修饰音符,然后将表层和里层分别输入预设的卷积神经网络中识别,将识别出表里层音符组合成完整音符,即为目标音符。

优选的,将目标音符分别匹配编辑好的音符控制单元中,此音符控制单元中包含每个音符所对应的电机电流,丝杠进给量等参数控制信息,从而完成音乐平台的乐谱弹奏动作。

由上述技术方案可见,本发明实施例,对获取待处理的乐谱(五线谱及简谱):先通过k近邻(knn)算法去除待处理乐谱图像上的无用点,再分析对待处理的乐谱进行基于高斯-拉普拉斯算子(log算子)的边缘检测方法进行图像倾斜校正并获取乐谱内容;采用直线检测中的lsd算法获取乐符在乐谱中的位置,然后在通过直线聚类和直线筛选去除误判直线,并以直线位置及相对距离判断乐谱类别,即五线谱或简谱(直线距离大且每个距离相差波动小的为简谱)通过乐谱分类器进行分类,然后将分类过的乐谱通过遗传算法(ga)进行图像分割,从而得到每个独立音符的图像;将获得图像分层(表层和里层),表层识别音符,里层识别连音符,将表里层分别输入卷积神经网络识别,再将识别后的结果结合,便可得到完整的乐符,并将音符与相应电机控制进给相关联,实现数控平台自主识别乐谱及弹琴的目标。本专利发明的乐谱识别方法及装置,相比于现有的其他同类方法,具有识别范围广,识别精度及鲁棒性高等特点。当然,实施本发明的任一产品或方法必不一定需要同时到达以上所述的所有优点。

附图说明

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

图1是本发明乐谱识别分类及演奏控制装置的一种实施例中的结构示意图;

图2是本发明乐谱识别分类及演奏控制方法的一种实施例中的流程图;

图3是本发明乐谱识别分类及演奏控制方法的一种实施例中的关键技术流程图;

图4是本发明乐谱识别分类及演奏控制方法的一种实施例中的直线检测及乐谱分类原理图;

图5是本发明乐谱识别分类及演奏控制方法的一种实施例中的卷积神经网络结构图。

具体实施方式

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

本发明乐谱识别方法第一种实施例,如图1所示,包括以下步骤:步骤1:获得的乐谱图像;步骤2:先通过k近邻(knn)算法去除待处理乐谱图像上的无用点,再分析对待处理的乐谱进行基于高斯-拉普拉斯算子(log算子)的边缘检测方法进行图像倾斜校正并获取乐谱内容;步骤3:对识别的乐谱使用基于log算子的边缘检测方法,对图像进行倾斜校正并获取经图像滤波、增强、检测和定位;步骤4:通过乐谱分类器进行分类,然后将分类过的乐谱通过遗传算法(ga)进行图像分割,从而得到每个独立音符的图像;步骤5:将获得图像分层(表层和里层),表层识别音符,里层识别连音符,将表里层分别输入卷积神经网络识别,再将识别后的结果结合,便可得到完整的乐符;步骤6:将音符与相应电机控制进给相关联,实现数控平台自主识别乐谱及弹琴的目标。

本发明乐谱图像识别装置一种实施例的结构,如图xx所示,包括:图像获取模块,获取待处理的乐谱图像;乐谱预处理模块,通过knn滤波及log算子的边缘检测方法,获得乐谱图像的边缘信息和基本内容;乐谱分类模块,采用基于lsd算法的直线检测方法获取乐谱直线位置,再将乐符直线相对距离输入预设阈值的乐谱分类器中,判断乐谱为五线谱还是简谱,并根据类别分别输入不同的遗传算法中,从而分割得到每个独立的音符;乐谱音符识别模块,将分类模块获得的图像分层(表层和里层),表层识别音符,里层识别连音符,将表里层分别输入卷积神经网络识别,再将识别后的表层里层结果相结合,获得标准的音符;乐谱弹奏模块,通过获得的标准音符匹配音符库中的音符,并将标准音符所对应地音符库中的音符所对应的数控音乐平台控制指令调出,按照目标指令进行弹奏。

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