CN114359314B - 面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法 - Google Patents
面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法 Download PDFInfo
- Publication number
- CN114359314B CN114359314B CN202210267015.9A CN202210267015A CN114359314B CN 114359314 B CN114359314 B CN 114359314B CN 202210267015 A CN202210267015 A CN 202210267015A CN 114359314 B CN114359314 B CN 114359314B
- Authority
- CN
- China
- Prior art keywords
- key
- piano
- positioning
- black
- white
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000001514 detection method Methods 0.000 title claims abstract description 39
- 230000000007 visual effect Effects 0.000 title claims abstract description 35
- 230000009466 transformation Effects 0.000 claims abstract description 22
- 239000011159 matrix material Substances 0.000 claims abstract description 19
- 230000002159 abnormal effect Effects 0.000 claims abstract description 8
- 238000001914 filtration Methods 0.000 claims abstract description 7
- 238000007781 pre-processing Methods 0.000 claims abstract description 6
- 238000003708 edge detection Methods 0.000 claims description 10
- 230000035772 mutation Effects 0.000 claims description 7
- 238000005070 sampling Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 3
- 206010000117 Abnormal behaviour Diseases 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 210000000078 claw Anatomy 0.000 abstract description 8
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 241000282414 Homo sapiens Species 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法。首先获得彩图和深度图并预处理;接着对彩图进行背景粗过滤,获得琴面候选区域;之后采用区域生长算法获取白键区域,再提取白键面上下轮廓边界线,获得琴键定位点集合;然后利用白键区域的深度图信息进行白键面拟合,获得定位点对应的点云信息;最后采用点云配准算法获得所有定位点在相机坐标系下的坐标。另外,通过定位检测得到的坐标,基于点云变换矩阵判断琴键位置是否存在异常。本发明方法在不同干扰环境下,仍然能快速检测定位钢琴琴键位置,并且通过定位结果判断琴键是否移动等异常状态,对仿人钢琴演奏机器人的臂爪定位有更好的鲁棒性和安全性。
Description
技术领域
本发明属于计算机视觉领域,尤其涉及一种面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法。
背景技术
随着机器人在各行各业的应用越来越广泛,更具智能意识的机器人开始出现替代人类完成一些机械重复性任务,尤其是在工业领域流水线生产工作上等。面向家庭、公共等场景下,艺术领域的机器人也渐渐出现在人类的视野中,例如弹琴机器人。目前,弹琴仿人机器人作为最接近人类的机器人,需要具备更高的智能实现弹琴这任务。弹琴机器人的智能性主要体现在机器人能够自主定位所需要弹的琴键位置,能够看谱弹琴,能够移动自身适应弹奏曲目等。因此,机器人的视觉系统非常重要,利用机器人的视觉系统对钢琴琴键进行定位,从而实现机械臂爪移动到准确的位置进行弹奏是弹琴机器人的基本任务之一。
为了实现琴键定位任务,其中一种实现方案是利用标记物定位,例如在目标琴键上贴二维码等标记物,但是,基于机器人本体视觉传感器获得的图像由于视角畸变问题会存在琴键键盘不完整情况,而且在机器人弹奏过程中,由于手臂、手爪的遮挡,导致标记物无法检测的问题。另外一种实现方案是利用深度神经网络训练相关数据集获得模型,利用模型识别图像中的琴键位置。然而,琴键中键与键的特征并没有明显差异,但是对应弹奏的琴音确有很大差异,因此该方法无法定位指定的琴键。
发明内容
本发明的目的在于针对现有技术的不足,提供一种面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法。
本发明的目的是通过以下技术方案来实现的:
本发明实施例的第一方面提供了一种面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法,包括如下步骤:
S1、获取琴键彩图和与其对齐的深度图,对琴键彩图进行预处理得到二值化图;
S2、对二值化图进行背景粗过滤,粗定位获得琴面候选区域;
S3、基于二值化图采用区域生长算法获取白键面区域图像,并提取白键面上下轮廓边界线,对粗定位的琴面候选区域进行修正,得到修正后的琴面候选区域;
S4、基于修正后的琴面候选区域获得定位点集合;
S5、提取深度图中白键区域的深度信息,将该深度信息与白键平面进行拟合得到白键平面,基于定位点集合和白键平面获得定位点集合在平面上对应的定位点的点云信息;
S6、利用点云匹配算法将定位点的点云信息和琴键模版点云信息进行匹配,获得琴键定位点在相机坐标系下的坐标。
进一步地,所述步骤S2中对琴面候选区域进行粗定位具体包括如下子步骤:
S2.1、考虑图像中琴面候选区域存在倾斜角度,采用一旋转直线对二值化图全图进行遍历;记录该直线上像素黑白变化的个数;
S2.2、对像素黑白变化的个数进行排序,得到像素黑白变化个数最多的直线;自定义设置最小黑白像素突变数目阈值,使该直线在其垂线方向上下滑动,寻找小于黑白突变个数阈值的边界线,得到黑键上边界线和黑键下边界线;
S2.3、以步骤S2.2得到的黑键下边界线作为初始直线,继续在其垂线方向上,向下滑动,自定义设置白色像素阈值,计算白色像素占比,当白色像素占比小于白色像素阈值时,将此时的滑动曲线作为琴面白键下边界线;
S2.4、分别以黑键上边界线和白键下边界线两条线作为边界框的上下边界,对二值化图像中不属于边界框内的像素点全部置为黑色,获得背景粗过滤图像,完成琴面候选区域粗定位。
进一步地,在步骤S3中,修正琴面候选区域的具体步骤如下:
S3.1、采用Sobel算子对步骤S2得到的经粗定位的琴面候选区域图进行边缘检测;
S3.2、从边缘检测图中提取边界线段,并且计算线段梯度自定义设置梯度阈值,保留与S2中获得的像素黑白变化个数最多的直线斜率绝对值差小于梯度阈值的线段,作为线段集合;
S3.3、利用随机抽样一致性算法对线段集合进行线段分类,将同一直线上的线段分为一类,利用最小二乘法对同一类线段进行直线拟合;保留与黑键上边界线和黑键下边界线最近的两条直线,得到黑键精准的上下边界线,更新黑键上边界线和黑键下边界线;
S3.4、在黑键下边界线上抽样选取一些白色像素的点作为种子点集合,利用该种子点集合进行区域生长,生长出白键面;重复步骤S2.3更新白键区域下边界线;根据琴面边界线和白键面获得修正后的键面候选区域图。
进一步地,在步骤S4中,定位点集合包括琴面边界点和黑键边界端点,获得定位点集合的像素坐标的具体步骤如下:
S4.1、采用Sobel算子对修正后的琴面候选区域图进行边缘检测,基于相机内参,获得黑键的边缘线集合;
S4.2、根据黑键长度提取琴面左右边界线,将琴面左右边界线与黑键上边界线、黑键下边界线的交点作为琴面的边界定位点;
S4.3、计算琴面边缘线和黑键下边界线的交点,获得黑键的边界点集合,将步骤S4.2得到的琴面的边界定位点和黑键的边界点集合作为定位点集合。
进一步地,所述步骤S4.2具体为:计算黑键上边界线和黑键下边界线的间距,即为黑键长度;从步骤S4.1获得的黑键侧边边缘线集合中选出候选的琴面左右边界线;若候选的琴面左右边界线大于黑键长度,判断为琴面的左右边界线;分别计算琴面的左右边界线与黑键上边界线、黑键下边界线的交点作为琴面的边界定位点,如果该边界定位点超出图像像素坐标范围,则舍去。
进一步地,所述步骤S5具体为:基于步骤S3修正后的琴面候选区域对S1步骤获得的深度图信息进行提取,获得修正后的琴面候选区域对应的深度信息,将该深度信息与琴面进行拟合,得到拟合后的白键平面,基于相机内参,将步骤S4中获得的定位点集合映射到拟合的白键平面上,获得定位点的点云信息。
进一步地,还包括连续帧和定位坐标判断琴键位置是否存在异常状态;自定义设置点云变换矩阵差值阈值,通过对连续帧的定位检测结果进行逻辑判断,计算所有连续帧的点云变换矩阵,判断任意相邻帧之间的变换矩阵的差值是否小于点云变换矩阵差值阈值,所述点云变换矩阵差值阈值通过坐标系xyz三个方向的差值平均误差计算;若成立则说明钢琴位置没有进行移动的异常行为,否则进行异常提醒。
本发明实施例的第二方面提供了一种面向仿人钢琴演奏机器人的实时视觉琴键检测与定位装置,包括一个或多个处理器,用于实现上述的面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法。
本发明实施例的第三方面提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,用于实现上述的面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法。
本发明的有益效果是:本发明方法实时获得基于钢琴琴键对应的彩图和深度图,融合图像处理、图像拟合、点云配准等技术手段实现琴键的检测和精准定位。特别是在具有琴键部分遮挡、视野内琴键不完整等干扰的情况下仍然能够快速定位钢琴琴键位置,对钢琴演奏机器人的臂爪定位有更好的鲁棒性。并且本发明方法还提出一种基于点云变换矩阵的逻辑判断方法用于钢琴位置异常监测,为进行下一步的机械臂爪弹琴操作奠定基础,提高了在钢琴琴键不完整情况下的琴键定位准确率。
附图说明
图1是本发明一种面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法的流程图;
图2是本发明的实施例每一步骤的结果示意图;其中,(a)为二值化图像,(b)为琴面候选区域粗定位图,(c)为琴键候选区域图,(d)为琴键定位点检测图,(e)为白键面平面拟合点云图;
图3为本发明实施例在琴键部分遮挡情况下的结果示意图;
图4是本发明实施例提供的面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法装置的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
下面结合附图,对本发明的面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法进行详细说明。在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。
下面通过附图和实施例,对本发明进行详细阐述。
如图1所示,本发明提供了一种面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法,该方法应用在弹琴机器人的琴键定位任务中,本发明实施例中使用IntelREALSENSE DEPTH CAMERA D455摄像头,具体包括如下步骤:
步骤S1、获取琴键彩图和与其对齐的深度图,对琴键彩图进行预处理得到二值化图。
本发明实施例中,通过RGBD相机获取得到RGB琴键彩图和深度图,深度图在空间坐标系下与该彩图进行对齐,对RGB图像进行预处理,所述预处理包括动态白平衡调整图像亮度,彩图灰度化、图像二值化等操作,获得二值化图像。如图2中的(a)所示,图2中的(a)为琴键彩图预处理后得到的二值化图像。
步骤S2、对二值化图进行背景粗过滤,粗定位获得琴面候选区域。
本发明实施例中在步骤S1得到的二值化图像基础上,利用滑动直线进行遍历,通过计算黑白像素突变数判断琴键中黑键的候选区域,通过白色像素占比判断白键区域,对背景进行粗过滤,对琴面候选区域进行粗定位。具体采用如下子步骤:
S2.2、对二维数组中的像素黑白变化的个数进行排序,选择二维数组中最大数,即
像素黑白变化个数最多的直线,直线在其垂线方向进行上下滑动,自定义设置最小黑白
像素突变数目阈值,该最小黑白像素突变数目阈值一般为黑白变化数的
1/3左右,计算直线上的黑白像素突变数目,当时,判断找到黑
键候选区域边界线黑键上边界线和黑键下边界线。在本发明实施例中设定最小黑白
像素突变数目。
S2.3、以黑键下边界线作为初始直线,继续在其垂直线方向向下滑动,计算当
前直线白色像素占滑动曲线当前像素的总占比,根据白色像素占比设定白色像素阈值,白
色像素占比一般为3/10~1/2,即设置白色像素阈值为0.3~0.5,当白色像素占比小于
白色像素阈值时,记录当前的滑动曲线,将此时的滑动曲线作为琴面白键下边界线;记录对应的琴面白键下边边界线,即完成钢琴白键下边界线粗定位,本实施
例中设置白色像素阈值。
S2.4、分别以黑键上边界线和黑键下边界线两条线作为边界框的上下边
界,对步骤S1的二值化图像中不属于边界框内的像素点全部置为黑色,即获得背景粗过滤
图像,以及初步的琴键候选框定位,如图2中的(b)所示。
步骤S3、基于二值化图采用区域生长算法获取白键面区域图像,提取上下轮廓边界线并获取白键面区域图像,对粗定位的琴面候选区域进行修正,得到修正后的琴面候选区域;具体步骤如下所示:
S3.1、本发明实施例中优选采用Sobel算子对步骤S2得到的经粗定位的琴面候选区域图进行边缘检测。
S3.2、步骤S3.2边缘检测图中,在琴面候选区域边界附近分布有离散的短线段。从
边缘检测图中提取所述离散的线段,并且计算所有短线段对应的线段梯度,自定义设置梯
度阈值,保留与S2中获得的像素黑白变化个数最多的直线斜率绝对值差小于阈值的线段,作为线段集合A;本发明实施例中设置梯度阈值。
S3.3、利用随机抽样一致性算法(Random Sample Consensus ,RANSAC)对线段集
合A进行线段分类,将属于同一直线上的线段分为一类,利用最小二乘法对同一类线段进行
直线拟合,即将同一条直线上离散的短线段进行补全;保留与黑键上边界线和黑键下边
界线最近的两条直线,作为黑键精准的上下边界线,更新黑键上边界线和黑键下边
界线。
S3.4、在步骤S3.3获得的黑键下边界线上抽样选取白色像素的点作为种子点
集合,利用这些种子点在步骤S1的二值化图像上做区域生长,得到白色区域;基于更新黑键
下边界线边界线,重复步骤S2.3,更新白键区域下边界线;为了防止白键面受
到其他干扰,区域生长面过大,采用白键区域下边界线作为区域生长范围的限制。
步骤S4、通过步骤S3获得的修正后的琴面候选区域获得定位点集的像素坐标,具体步骤如下所示:
S4.1、本发明实施例中优选采用Sobel算子对琴修正后的面候选区域图进行边缘检测,由于钢琴黑键和白键之间存在高度差,成像时会导致图像中的黑键部分边界线不是真实的黑白键分界线,因此基于相机内参,排除非真实的黑键侧边边缘线,获得黑键侧边边缘线集合;
S4.2、计算黑键上边界线和黑键下边界线的间距,即为黑键长度;从步骤
S4.1获得的黑键侧边边缘线集合中选出候选的琴面左右边界线;若候选的琴面左右边界线
大于黑键长度,判断为琴面的左右边界线;分别计算琴面的左右边界线与黑键上边界线、
白键下边界线的交点作为琴面的边界定位点(即琴面四边形顶点),如果该边界定位
点超出图像像素坐标范围(即超出图像范围),则舍去。
步骤S5、提取深度图中白键区域的深度信息,将该深度信息与白键平面进行拟合得到白键平面,基于定位点集合和白键平面获得定位点集合在平面上对应的定位点的点云信息。
具体地,本发明实施例中基于步骤S3修正后的白键琴面候选区域对S1步骤获得的
深度图信息提取,获得白键琴面候选区域对应的深度信息,接着进行平面拟合,获得的白键
平面表达式为,其中为平面表达式系数数;基于相机内参将步骤S4中获得的定位点映射到拟合的白键平面上,获得定位点的点云信息
(即相机坐标系下的三维坐标);拟合的平面如图2中的(e)所示。
步骤S6、利用点云匹配算法将定位点的点云信息和琴键模版点云信息进行匹配,获得琴键定位点在相机坐标系下的坐标。
具体地,采用点云匹配算法(Iterative Closest Point,ICP)将步骤S5获得的定位点的点云信息和琴键模版点云信息匹配,最终获得模板点云变换矩阵和琴面定位点在相机坐标系下的坐标。所述琴键模版点云信息预设的琴键坐标位置真实值,在本发明实施例中,以琴面的左上顶点作为坐标原点建立坐标系。
步骤S7、通过连续帧定位检测结果判断琴面是否存在移动等异常状态。具体为:
若当前琴面状态是移动的,计算所有连续帧的点云变换矩阵,则判断队列中任意
相邻帧之间的变换矩阵的差值是否小于点云变换矩阵差值阈值,所述点云变换矩阵
差值阈值包括在空间坐标系xyz三个方向的差值(本发明实施例中设为0.008)和欧拉角的
差值(本发明实施例中设为0.02);若成立,则说明琴面状态为停止,更改状态,记录检测结
果平均值作为基准坐标,并且将队列中第一个点云变换矩阵移除,若不成立,则清空队列;
若当前状态是停止,则判断队列中任意连续5个结果与基准坐标的差值是否大于
一定阈值,阈值包括在空间坐标系xyz三个方向的差值(本发明实施例中设为0.008)
和欧拉角的差值(本发明实施例中设为0.02),若成立,则说明琴面状态为移动,更改状态,
并且队列清空,若不成立,则队列中第一个点云变换矩阵移除。
本发明方法提出上述的基于点云变换矩阵的逻辑判断方法用于钢琴位置异常监测,通过检测琴面是否存在移动等异常状态,为进行下一步的机械臂爪弹琴操作奠定基础。在琴面移动的情况下,为提高演奏机器人运动的安全性奠定基础,并提高了在钢琴琴键不完整情况下的琴键定位准确率。
实施例1
图3为本发明实施例在琴键部分遮挡情况下的结果示意图,其中,图3中的(a)为转化的二值化图像,(b)为琴面候选区域粗定位图,(c)为修正后的琴键候选区域图,(d)为琴键定位点检测图,(e)为白键面平面拟合点云图。经实验可知,本发明方法在琴键部分被机械手遮挡的情况下,视野内琴键不完整的干扰情况下仍然能够快速定位琴键位置,对演奏机器人的臂爪定位有更好的鲁棒性。
与前述面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法的实施例相对应,本发明还提供了面向仿人钢琴演奏机器人的实时视觉琴键检测与定位装置的实施例。
参见图4,本发明实施例提供的一种面向仿人钢琴演奏机器人的实时视觉琴键检测与定位装置,包括一个或多个处理器,用于实现上述实施例中的面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法。
本发明面向仿人钢琴演奏机器人的实时视觉琴键检测与定位装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本发明面向仿人钢琴演奏机器人的实时视觉琴键检测与定位装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
综上所述,本发明方法基于RGBD相机实时获得基于钢琴琴键对应的彩图和深度图,融合图像处理、图像拟合、点云配准等技术手段实现琴键的检测和精准定位。特别是在具有琴键部分遮挡、视野内琴键不完整等干扰的情况下仍然能够快速定位钢琴琴键位置,对钢琴演奏机器人的臂爪定位有更好的鲁棒性。并且本发明方法还提出一种基于点云模板矩阵的逻辑判断方法用于钢琴位置异常监测,为进行下一步的机械臂爪弹琴操作奠定基础,提高了在钢琴琴键不完整情况下的琴键定位准确率。
以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。所以,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。
Claims (10)
1.一种面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法,其特征在于,包括如下步骤:
S1、获取琴键彩图和与其对齐的深度图,对琴键彩图进行预处理得到二值化图;
S2、对二值化图进行背景粗过滤,粗定位获得琴面候选区域;
S3、基于二值化图采用区域生长算法获取白键面区域图像,并提取白键面上下轮廓边界线,对粗定位的琴面候选区域进行修正,得到修正后的琴面候选区域;
S4、基于修正后的琴面候选区域获得定位点集合;
S5、提取深度图中白键区域的深度信息,将该深度信息进行拟合得到白键平面,基于定位点集合和白键平面获得定位点集合在平面上对应的定位点的点云信息;
S6、利用点云匹配算法将定位点的点云信息和琴键模版点云信息进行匹配,获得琴键定位点在相机坐标系下的坐标。
2.根据权利要求1所述的面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法,其特征在于,所述步骤S2中对琴面候选区域进行粗定位具体包括如下子步骤:
S2.1、考虑图像中琴面候选区域存在倾斜角度,采用一旋转直线对二值化图全图进行遍历;记录该直线上像素黑白变化的个数;
S2.2、对像素黑白变化的个数进行排序,得到像素黑白变化个数最多的直线;自定义设置最小黑白像素突变数目阈值,使该直线在其垂线方向上下滑动,寻找小于黑白突变个数阈值的边界线,得到黑键上边界线和黑键下边界线;
S2.3、以步骤S2.2得到的黑键下边界线作为初始直线,继续在其垂线方向上,向下滑动,自定义设置白色像素阈值,计算白色像素占比,当白色像素占比小于白色像素阈值时,将此时的滑动曲线作为琴面白键下边界线;
S2.4、分别以黑键上边界线和白键下边界线两条线作为边界框的上下边界,对二值化图像中不属于边界框内的像素点全部置为黑色,获得背景粗过滤图像,完成琴面候选区域粗定位。
4.根据权利要求2所述的面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法,其特征在于,在步骤S3中,修正琴面候选区域的具体步骤如下:
S3.1、采用Sobel算子对步骤S2得到的经粗定位的琴面候选区域图进行边缘检测;
S3.2、从边缘检测图中提取边界线段,并且计算线段梯度自定义设置梯度阈值,保留与S2中获得的像素黑白变化个数最多的直线斜率绝对值差小于梯度阈值的线段,作为线段集合;
S3.3、利用随机抽样一致性算法对线段集合进行线段分类,将同一直线上的线段分为一类,利用最小二乘法对同一类线段进行直线拟合;保留与黑键上边界线和黑键下边界线最近的两条直线,得到黑键精准的上下边界线,更新黑键上边界线和黑键下边界线;
S3.4、在黑键下边界线上抽样选取一些白色像素的点作为种子点集合,利用该种子点集合进行区域生长,生长出白键面;重复步骤S2.3更新白键区域下边界线;根据琴面边界线和白键面获得修正后的键面候选区域图。
5.根据权利要求1所述的面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法,其特征在于,在步骤S4中,定位点集合包括琴面边界点和黑键边界端点,获得定位点集合的像素坐标的具体步骤如下:
S4.1、采用Sobel算子对修正后的琴面候选区域图进行边缘检测,基于相机内参,获得黑键的边缘线集合;
S4.2、根据黑键长度提取琴面左右边界线,将琴面左右边界线与黑键上边界线、黑键下边界线的交点作为琴面的边界定位点;
S4.3、计算琴面边缘线和黑键下边界线的交点,获得黑键的边界点集合,将步骤S4.2得到的琴面的边界定位点和黑键的边界点集合作为定位点集合。
6.根据权利要求5所述的面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法,其特征在于,所述步骤S4.2具体为:计算黑键上边界线和黑键下边界线的间距,即为黑键长度;从步骤S4.1获得的黑键侧边边缘线集合中选出候选的琴面左右边界线;若候选的琴面左右边界线大于黑键长度,判断为琴面的左右边界线;分别计算琴面的左右边界线与黑键上边界线、黑键下边界线的交点作为琴面的边界定位点,如果该边界定位点超出图像像素坐标范围,则舍去。
7.根据权利要求1所述的面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法,其特征在于,所述步骤S5具体为:基于步骤S3修正后的琴面候选区域对S1步骤获得的深度图信息进行提取,获得修正后的琴面候选区域对应的深度信息,将该深度信息进行拟合,得到拟合后的白键平面,基于相机内参,将步骤S4中获得的定位点集合映射到拟合的白键平面上,获得定位点的点云信息。
8.根据权利要求1所述的面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法,其特征在于,还包括基于连续帧的定位检测结果判断琴键位置是否存在异常状态;自定义设置点云变换矩阵差值阈值,通过对连续帧的定位检测结果进行逻辑判断,计算所有连续帧的点云变换矩阵,判断任意相邻帧之间的变换矩阵的差值是否小于点云变换矩阵差值阈值,所述点云变换矩阵差值阈值通过坐标系xyz三个方向差值和欧拉角差值进行设置;若成立则说明钢琴位置没有进行移动的异常行为,否则进行异常提醒。
9.一种面向仿人钢琴演奏机器人的实时视觉琴键检测与定位装置,其特征在于,包括一个或多个处理器,用于实现权利要求1-8中任一项所述的面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法。
10.一种计算机可读存储介质,其上存储有程序,其特征在于,该程序被处理器执行时,用于实现权利要求1-8中任一项所述的面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210267015.9A CN114359314B (zh) | 2022-03-18 | 2022-03-18 | 面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210267015.9A CN114359314B (zh) | 2022-03-18 | 2022-03-18 | 面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114359314A CN114359314A (zh) | 2022-04-15 |
CN114359314B true CN114359314B (zh) | 2022-06-24 |
Family
ID=81094927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210267015.9A Active CN114359314B (zh) | 2022-03-18 | 2022-03-18 | 面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114359314B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117207204B (zh) * | 2023-11-09 | 2024-01-30 | 之江实验室 | 一种弹琴机器人的控制方法及控制装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005300971A (ja) * | 2004-04-13 | 2005-10-27 | Seiko Epson Corp | 操作支援システム、及び操作支援方法 |
KR20120065865A (ko) * | 2010-12-13 | 2012-06-21 | 주식회사 팬택 | 증강 현실 제공 단말기 및 방법 |
CN109243248A (zh) * | 2018-09-29 | 2019-01-18 | 南京华捷艾米软件科技有限公司 | 一种基于3d深度摄像模组的虚拟钢琴及其实现方法 |
CN109448131A (zh) * | 2018-10-24 | 2019-03-08 | 西北工业大学 | 一种基于Kinect的虚拟钢琴弹奏系统的构建方法 |
CN111695499A (zh) * | 2020-06-09 | 2020-09-22 | 小叶子(北京)科技有限公司 | 一种琴键识别方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109493683B (zh) * | 2018-11-15 | 2021-06-01 | 深圳市象形字科技股份有限公司 | 一种基于计算机视觉技术的辅助钢琴练习者指法检测方法 |
CN113723264A (zh) * | 2021-08-25 | 2021-11-30 | 桂林智神信息技术股份有限公司 | 一种用于辅助钢琴教学的智能识别弹奏错误的方法及系统 |
-
2022
- 2022-03-18 CN CN202210267015.9A patent/CN114359314B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005300971A (ja) * | 2004-04-13 | 2005-10-27 | Seiko Epson Corp | 操作支援システム、及び操作支援方法 |
KR20120065865A (ko) * | 2010-12-13 | 2012-06-21 | 주식회사 팬택 | 증강 현실 제공 단말기 및 방법 |
CN109243248A (zh) * | 2018-09-29 | 2019-01-18 | 南京华捷艾米软件科技有限公司 | 一种基于3d深度摄像模组的虚拟钢琴及其实现方法 |
CN109448131A (zh) * | 2018-10-24 | 2019-03-08 | 西北工业大学 | 一种基于Kinect的虚拟钢琴弹奏系统的构建方法 |
CN111695499A (zh) * | 2020-06-09 | 2020-09-22 | 小叶子(北京)科技有限公司 | 一种琴键识别方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
Piano AR: A Markerless Augmented Reality Based Piano Teaching System;Feng Huang et al.;《2011 Third International Conference on Intelligent Human-Machine Systems and Cybernetics》;20111010;47-52 * |
基于机器视觉的智能电子琴;林训烨;《电脑编程技巧与维护》;20200630;118-120 * |
Also Published As
Publication number | Publication date |
---|---|
CN114359314A (zh) | 2022-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11360571B2 (en) | Information processing device and method, program and recording medium for identifying a gesture of a person from captured image data | |
US7995055B1 (en) | Classifying objects in a scene | |
US11227405B2 (en) | Determining positions and orientations of objects | |
JP6321106B2 (ja) | 現実環境内にバーチャルオブジェクトを描写する方法および装置 | |
CN110473221B (zh) | 一种目标物体自动扫描系统及方法 | |
CN110309808B (zh) | 一种大范围尺度空间下的自适应烟雾根节点检测方法 | |
CN111627072A (zh) | 一种对多传感器进行标定的方法、装置和存储介质 | |
JP2019192022A (ja) | 画像処理装置、画像処理方法及びプログラム | |
CN113689429B (zh) | 一种基于计算机视觉的木板缺陷检测方法 | |
CN106679671A (zh) | 一种基于激光数据的导航标识图识别方法 | |
CN109948393A (zh) | 一种一维条码的定位方法及装置 | |
Muñoz et al. | Fast 6D pose from a single RGB image using Cascaded Forests Templates | |
Ansari | A review on SIFT and SURF for underwater image feature detection and matching | |
CN116168028B (zh) | 低可见度下基于边缘滤波的高铁原始图像处理方法和系统 | |
CN114359314B (zh) | 面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法 | |
CN108388854A (zh) | 一种基于改进fast-surf算法的定位方法 | |
CN111523341A (zh) | 二维码图像的二值化方法及设备 | |
CN118411507A (zh) | 一种具有动态目标的场景的语义地图构建方法及系统 | |
CN113780421B (zh) | 基于人工智能的脑部pet影像识别方法 | |
CN104268550A (zh) | 特征提取方法及装置 | |
JP2001101419A (ja) | 画像特徴追跡処理方法、画像特徴追跡処理装置、3次元データ作成方法 | |
Rink et al. | Feature based particle filter registration of 3D surface models and its application in robotics | |
CN112348853B (zh) | 基于红外显著性特征融合的粒子滤波跟踪的方法 | |
CN115187744A (zh) | 一种基于激光点云的机柜识别方法 | |
CN113743265A (zh) | 一种基于深度相机的自动驾驶可行驶区域检测方法及系统 |
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 |