CN114359314A - 面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法 - Google Patents

面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法 Download PDF

Info

Publication number
CN114359314A
CN114359314A CN202210267015.9A CN202210267015A CN114359314A CN 114359314 A CN114359314 A CN 114359314A CN 202210267015 A CN202210267015 A CN 202210267015A CN 114359314 A CN114359314 A CN 114359314A
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.)
Granted
Application number
CN202210267015.9A
Other languages
English (en)
Other versions
CN114359314B (zh
Inventor
钟灵
高广
黄志勇
袁海辉
顾建军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202210267015.9A priority Critical patent/CN114359314B/zh
Publication of CN114359314A publication Critical patent/CN114359314A/zh
Application granted granted Critical
Publication of CN114359314B publication Critical patent/CN114359314B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

本发明公开了一种面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法。首先获得彩图和深度图并预处理;接着对彩图进行背景粗过滤,获得琴面候选区域;之后采用区域生长算法获取白键区域,再提取白键面上下轮廓边界线,获得琴键定位点集合;然后利用白键区域的深度图信息进行白键面拟合,获得定位点对应的点云信息;最后采用点云配准算法获得所有定位点在相机坐标系下的坐标。另外,通过定位检测得到的坐标,基于点云变换矩阵判断琴键位置是否存在异常。本发明方法在不同干扰环境下,仍然能快速检测定位钢琴琴键位置,并且通过定位结果判断琴键是否移动等异常状态,对仿人钢琴演奏机器人的臂爪定位有更好的鲁棒性和安全性。

Description

面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法
技术领域
本发明属于计算机视觉领域,尤其涉及一种面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法。
背景技术
随着机器人在各行各业的应用越来越广泛,更具智能意识的机器人开始出现替代人类完成一些机械重复性任务,尤其是在工业领域流水线生产工作上等。面向家庭、公共等场景下,艺术领域的机器人也渐渐出现在人类的视野中,例如弹琴机器人。目前,弹琴仿人机器人作为最接近人类的机器人,需要具备更高的智能实现弹琴这任务。弹琴机器人的智能性主要体现在机器人能够自主定位所需要弹的琴键位置,能够看谱弹琴,能够移动自身适应弹奏曲目等。因此,机器人的视觉系统非常重要,利用机器人的视觉系统对钢琴琴键进行定位,从而实现机械臂爪移动到准确的位置进行弹奏是弹琴机器人的基本任务之一。
为了实现琴键定位任务,其中一种实现方案是利用标记物定位,例如在目标琴键上贴二维码等标记物,但是,基于机器人本体视觉传感器获得的图像由于视角畸变问题会存在琴键键盘不完整情况,而且在机器人弹奏过程中,由于手臂、手爪的遮挡,导致标记物无法检测的问题。另外一种实现方案是利用深度神经网络训练相关数据集获得模型,利用模型识别图像中的琴键位置。然而,琴键中键与键的特征并没有明显差异,但是对应弹奏的琴音确有很大差异,因此该方法无法定位指定的琴键。
发明内容
本发明的目的在于针对现有技术的不足,提供一种面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法。
本发明的目的是通过以下技术方案来实现的:
本发明实施例的第一方面提供了一种面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法,包括如下步骤:
S1、获取琴键彩图和与其对齐的深度图,对琴键彩图进行预处理得到二值化图;
S2、对二值化图进行背景粗过滤,粗定位获得琴面候选区域;
S3、基于二值化图采用区域生长算法获取白键面区域图像,并提取白键面上下轮廓边界线,对粗定位的琴面候选区域进行修正,得到修正后的琴面候选区域;
S4、基于修正后的琴面候选区域获得定位点集合;
S5、提取深度图中白键区域的深度信息,将该深度信息与白键平面进行拟合得到白键平面,基于定位点集合和白键平面获得定位点集合在平面上对应的定位点的点云信息;
S6、利用点云匹配算法将定位点的点云信息和琴键模版点云信息进行匹配,获得琴键定位点在相机坐标系下的坐标。
进一步地,所述步骤S2中对琴面候选区域进行粗定位具体包括如下子步骤:
S2.1、考虑图像中琴面候选区域存在倾斜角度,采用一旋转直线对二值化图全图进行遍历;记录该直线上像素黑白变化的个数;
S2.2、对像素黑白变化的个数进行排序,得到像素黑白变化个数最多的直线;自定义设置最小黑白像素突变数目阈值,使该直线在其垂线方向上下滑动,寻找小于黑白突变个数阈值的边界线,得到黑键上边界线和黑键下边界线;
S2.3、以步骤S2.2得到的黑键下边界线作为初始直线,继续在其垂线方向上,向下滑动,自定义设置白色像素阈值,计算白色像素占比,当白色像素占比小于白色像素阈值时,将此时的滑动曲线作为琴面白键下边界线;
S2.4、分别以黑键上边界线和白键下边界线两条线作为边界框的上下边界,对二值化图像中不属于边界框内的像素点全部置为黑色,获得背景粗过滤图像,完成琴面候选区域粗定位。
进一步地,所述旋转直线为通过点
Figure 427546DEST_PATH_IMAGE001
斜率为k的曲线;
其中,
Figure 360867DEST_PATH_IMAGE002
Figure 498587DEST_PATH_IMAGE003
,图像划分为
Figure 960793DEST_PATH_IMAGE004
行,
Figure 449543DEST_PATH_IMAGE005
列,m为正数;斜率k为
Figure 153931DEST_PATH_IMAGE006
进一步地,在步骤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.1、考虑图像中琴面候选区域存在倾斜角度因素,采用一条可旋转的滑动直线
Figure 411737DEST_PATH_IMAGE007
对步骤S1得到的二值化图像进行遍历。使用以二维数组形式记录直线上像素黑白变化个 数。
所述可旋转的滑动直线
Figure 310423DEST_PATH_IMAGE007
具体为:将整张图像划分为
Figure 20890DEST_PATH_IMAGE008
行,
Figure 30435DEST_PATH_IMAGE009
列;滑动 直线
Figure 142747DEST_PATH_IMAGE007
通过点
Figure 946755DEST_PATH_IMAGE010
,其中,
Figure 144518DEST_PATH_IMAGE011
Figure 957753DEST_PATH_IMAGE012
,m为正数;该滑动直线
Figure 423108DEST_PATH_IMAGE013
的斜率
Figure 929175DEST_PATH_IMAGE014
本发明实施例中,该滑动直线
Figure 348655DEST_PATH_IMAGE015
通过点
Figure 965581DEST_PATH_IMAGE016
。其中,
Figure 786907DEST_PATH_IMAGE017
Figure 198297DEST_PATH_IMAGE018
Figure 105073DEST_PATH_IMAGE019
表示整张图像的行数,
Figure 260111DEST_PATH_IMAGE009
表示整张图像的列数;通过点p的滑动直线
Figure 201522DEST_PATH_IMAGE020
的斜率为
Figure 49392DEST_PATH_IMAGE021
S2.2、对二维数组中的像素黑白变化的个数进行排序,选择二维数组中最大数,即 像素黑白变化个数最多的直线
Figure 709044DEST_PATH_IMAGE022
,直线
Figure 635149DEST_PATH_IMAGE023
在其垂线方向进行上下滑动,自定义设置最小黑白 像素突变数目阈值
Figure 431067DEST_PATH_IMAGE024
,该最小黑白像素突变数目阈值
Figure 184259DEST_PATH_IMAGE025
一般为黑白变化数的 1/3左右,计算直线
Figure 331207DEST_PATH_IMAGE026
上的黑白像素突变数目
Figure 828047DEST_PATH_IMAGE027
,当
Figure 744050DEST_PATH_IMAGE028
时,判断找到黑 键候选区域边界线黑键上边界线
Figure 402565DEST_PATH_IMAGE029
和黑键下边界线
Figure 771229DEST_PATH_IMAGE030
。在本发明实施例中设定最小黑白 像素突变数目
Figure 806181DEST_PATH_IMAGE031
S2.3、以黑键下边界线
Figure 340806DEST_PATH_IMAGE030
作为初始直线,继续在其垂直线方向向下滑动,计算当 前直线白色像素占滑动曲线当前像素的总占比,根据白色像素占比设定白色像素阈值,白 色像素占比一般为3/10~1/2,即设置白色像素阈值
Figure 170221DEST_PATH_IMAGE032
为0.3~0.5,当白色像素占比小于 白色像素阈值
Figure 291761DEST_PATH_IMAGE032
时,记录当前的滑动曲线,将此时的滑动曲线作为琴面白键下边界线
Figure 130404DEST_PATH_IMAGE033
;记录对应的琴面白键下边边界线
Figure 489841DEST_PATH_IMAGE034
,即完成钢琴白键下边界线粗定位,本实施 例中设置白色像素阈值
Figure 21317DEST_PATH_IMAGE035
S2.4、分别以黑键上边界线
Figure 98994DEST_PATH_IMAGE029
和黑键下边界线
Figure 6907DEST_PATH_IMAGE034
两条线作为边界框的上下边 界,对步骤S1的二值化图像中不属于边界框内的像素点全部置为黑色,即获得背景粗过滤 图像,以及初步的琴键候选框定位,如图2中的(b)所示。
步骤S3、基于二值化图采用区域生长算法获取白键面区域图像,提取上下轮廓边界线并获取白键面区域图像,对粗定位的琴面候选区域进行修正,得到修正后的琴面候选区域;具体步骤如下所示:
S3.1、本发明实施例中优选采用Sobel算子对步骤S2得到的经粗定位的琴面候选区域图进行边缘检测。
S3.2、步骤S3.2边缘检测图中,在琴面候选区域边界附近分布有离散的短线段。从 边缘检测图中提取所述离散的线段,并且计算所有短线段对应的线段梯度,自定义设置梯 度阈值
Figure 486430DEST_PATH_IMAGE036
,保留与S2中获得的像素黑白变化个数最多的直线
Figure 923228DEST_PATH_IMAGE037
斜率绝对值差小于阈值
Figure 275753DEST_PATH_IMAGE036
的线段,作为线段集合A;本发明实施例中设置梯度阈值
Figure 456199DEST_PATH_IMAGE038
S3.3、利用随机抽样一致性算法(Random Sample Consensus ,RANSAC)对线段集 合A进行线段分类,将属于同一直线上的线段分为一类,利用最小二乘法对同一类线段进行 直线拟合,即将同一条直线上离散的短线段进行补全;保留与黑键上边界线
Figure 790228DEST_PATH_IMAGE029
和黑键下边 界线
Figure 663506DEST_PATH_IMAGE030
最近的两条直线,作为黑键精准的上下边界线,更新黑键上边界线
Figure 715776DEST_PATH_IMAGE029
和黑键下边 界线
Figure 699913DEST_PATH_IMAGE030
S3.4、在步骤S3.3获得的黑键下边界线
Figure 154028DEST_PATH_IMAGE030
上抽样选取白色像素的点作为种子点 集合,利用这些种子点在步骤S1的二值化图像上做区域生长,得到白色区域;基于更新黑键 下边界线
Figure 932628DEST_PATH_IMAGE030
边界线,重复步骤S2.3,更新白键区域下边界线
Figure 472194DEST_PATH_IMAGE034
;为了防止白键面受 到其他干扰,区域生长面过大,采用白键区域下边界线
Figure 260021DEST_PATH_IMAGE034
作为区域生长范围的限制。
S3.5、根据黑键上边界线
Figure 67178DEST_PATH_IMAGE029
和黑键下边界线
Figure 16679DEST_PATH_IMAGE030
和白色区域获得修正后的白键面 候选区域图,如图2中的(c)所示。
步骤S4、通过步骤S3获得的修正后的琴面候选区域获得定位点集的像素坐标,具体步骤如下所示:
S4.1、本发明实施例中优选采用Sobel算子对琴修正后的面候选区域图进行边缘检测,由于钢琴黑键和白键之间存在高度差,成像时会导致图像中的黑键部分边界线不是真实的黑白键分界线,因此基于相机内参,排除非真实的黑键侧边边缘线,获得黑键侧边边缘线集合;
S4.2、计算黑键上边界线
Figure 43541DEST_PATH_IMAGE029
和黑键下边界线
Figure 369480DEST_PATH_IMAGE030
的间距,即为黑键长度;从步骤 S4.1获得的黑键侧边边缘线集合中选出候选的琴面左右边界线;若候选的琴面左右边界线 大于黑键长度,判断为琴面的左右边界线;分别计算琴面的左右边界线与黑键上边界线
Figure 532608DEST_PATH_IMAGE029
、 白键下边界线
Figure 653011DEST_PATH_IMAGE034
的交点作为琴面的边界定位点(即琴面四边形顶点),如果该边界定位 点超出图像像素坐标范围(即超出图像范围),则舍去。
S4.3、计算黑键侧边边缘线和黑键下边界线
Figure 432748DEST_PATH_IMAGE030
的交点,获得黑键的边界点集合, 将步骤S4.2得到的琴面的边界定位点和黑键边界点集合统一组成作为定位点集合,如图2 中的(d)所示。
步骤S5、提取深度图中白键区域的深度信息,将该深度信息与白键平面进行拟合得到白键平面,基于定位点集合和白键平面获得定位点集合在平面上对应的定位点的点云信息。
具体地,本发明实施例中基于步骤S3修正后的白键琴面候选区域对S1步骤获得的 深度图信息提取,获得白键琴面候选区域对应的深度信息,接着进行平面拟合,获得的白键 平面表达式为
Figure 296799DEST_PATH_IMAGE039
,其中
Figure 314434DEST_PATH_IMAGE040
为平面表达式系数数;基于相机内参
Figure 635431DEST_PATH_IMAGE041
将步骤S4中获得的定位点映射到拟合的白键平面上,获得定位点的点云信息 (即相机坐标系下的三维坐标);拟合的平面如图2中的(e)所示。
步骤S6、利用点云匹配算法将定位点的点云信息和琴键模版点云信息进行匹配,获得琴键定位点在相机坐标系下的坐标。
具体地,采用点云匹配算法(Iterative Closest Point,ICP)将步骤S5获得的定位点的点云信息和琴键模版点云信息匹配,最终获得模板点云变换矩阵和琴面定位点在相机坐标系下的坐标。所述琴键模版点云信息预设的琴键坐标位置真实值,在本发明实施例中,以琴面的左上顶点作为坐标原点建立坐标系。
步骤S7、通过连续帧定位检测结果判断琴面是否存在移动等异常状态。具体为:
本发明实施例中,利用一个队列存放连续帧的点云变换矩阵,自定义设置点云变 换矩阵差值阈值
Figure 371306DEST_PATH_IMAGE042
,当队列大小为10时(即帧数为10时),进行以下逻辑判断:
若当前琴面状态是移动的,计算所有连续帧的点云变换矩阵,则判断队列中任意 相邻帧之间的变换矩阵的差值是否小于点云变换矩阵差值阈值
Figure 304627DEST_PATH_IMAGE042
,所述点云变换矩阵 差值阈值包括在空间坐标系xyz三个方向的差值(本发明实施例中设为0.008)和欧拉角的 差值(本发明实施例中设为0.02);若成立,则说明琴面状态为停止,更改状态,记录检测结 果平均值作为基准坐标,并且将队列中第一个点云变换矩阵移除,若不成立,则清空队列;
若当前状态是停止,则判断队列中任意连续5个结果与基准坐标的差值是否大于 一定阈值
Figure 176768DEST_PATH_IMAGE043
,阈值包括在空间坐标系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、分别以黑键上边界线和白键下边界线两条线作为边界框的上下边界,对二值化图像中不属于边界框内的像素点全部置为黑色,获得背景粗过滤图像,完成琴面候选区域粗定位。
3.根据权利要求2所述的面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法, 其特征在于,所述旋转直线为通过点
Figure 898297DEST_PATH_IMAGE001
斜率为k的曲线;
其中,
Figure 284279DEST_PATH_IMAGE002
Figure 532857DEST_PATH_IMAGE003
,图像划分为
Figure 396908DEST_PATH_IMAGE004
行,
Figure 913078DEST_PATH_IMAGE005
列,m为正数;斜率k为
Figure 204382DEST_PATH_IMAGE006
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中任一项所述的面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法。
CN202210267015.9A 2022-03-18 2022-03-18 面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法 Active CN114359314B (zh)

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 true CN114359314A (zh) 2022-04-15
CN114359314B 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117207204A (zh) * 2023-11-09 2023-12-12 之江实验室 一种弹琴机器人的控制方法及控制装置

Citations (7)

* Cited by examiner, † Cited by third party
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的虚拟钢琴弹奏系统的构建方法
CN109493683A (zh) * 2018-11-15 2019-03-19 深圳市象形字科技股份有限公司 一种基于计算机视觉技术的辅助钢琴练习者指法检测方法
CN111695499A (zh) * 2020-06-09 2020-09-22 小叶子(北京)科技有限公司 一种琴键识别方法、装置、电子设备及存储介质
CN113723264A (zh) * 2021-08-25 2021-11-30 桂林智神信息技术股份有限公司 一种用于辅助钢琴教学的智能识别弹奏错误的方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
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的虚拟钢琴弹奏系统的构建方法
CN109493683A (zh) * 2018-11-15 2019-03-19 深圳市象形字科技股份有限公司 一种基于计算机视觉技术的辅助钢琴练习者指法检测方法
CN111695499A (zh) * 2020-06-09 2020-09-22 小叶子(北京)科技有限公司 一种琴键识别方法、装置、电子设备及存储介质
CN113723264A (zh) * 2021-08-25 2021-11-30 桂林智神信息技术股份有限公司 一种用于辅助钢琴教学的智能识别弹奏错误的方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FENG HUANG ET AL.: "Piano AR: A Markerless Augmented Reality Based Piano Teaching System", 《2011 THIRD INTERNATIONAL CONFERENCE ON INTELLIGENT HUMAN-MACHINE SYSTEMS AND CYBERNETICS》 *
林训烨: "基于机器视觉的智能电子琴", 《电脑编程技巧与维护》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117207204A (zh) * 2023-11-09 2023-12-12 之江实验室 一种弹琴机器人的控制方法及控制装置
CN117207204B (zh) * 2023-11-09 2024-01-30 之江实验室 一种弹琴机器人的控制方法及控制装置

Also Published As

Publication number Publication date
CN114359314B (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
JP6321106B2 (ja) 現実環境内にバーチャルオブジェクトを描写する方法および装置
US7995055B1 (en) Classifying objects in a scene
CA3066502A1 (en) Determining positions and orientations of objects
CN112476434A (zh) 一种基于协作机器人的视觉3d取放方法及系统
CN110309808B (zh) 一种大范围尺度空间下的自适应烟雾根节点检测方法
CN111627072A (zh) 一种对多传感器进行标定的方法、装置和存储介质
WO2017093037A1 (en) Method for identification of candidate points as possible characteristic points of a calibration pattern within an image of the calibration pattern
CN109948393B (zh) 一种一维条码的定位方法及装置
JP2019192022A (ja) 画像処理装置、画像処理方法及びプログラム
CN109035300B (zh) 一种基于深度特征与平均峰值相关能量的目标跟踪方法
CN110288612B (zh) 铭牌定位与校正方法及设备
Ansari A review on SIFT and SURF for underwater image feature detection and matching
JP2010218232A (ja) 対象物追跡装置
Muñoz et al. Fast 6D pose from a single RGB image using Cascaded Forests Templates
CN116168028B (zh) 低可见度下基于边缘滤波的高铁原始图像处理方法和系统
CN114359314B (zh) 面向仿人钢琴演奏机器人的实时视觉琴键检测与定位方法
Zhu et al. 3D reconstruction of plant leaves for high-throughput phenotyping
CN111523341A (zh) 二维码图像的二值化方法及设备
CN104268550A (zh) 特征提取方法及装置
JP2001101419A (ja) 画像特徴追跡処理方法、画像特徴追跡処理装置、3次元データ作成方法
CN115880683B (zh) 一种基于深度学习的城市内涝积水智能水位检测方法
Rink et al. Feature based particle filter registration of 3D surface models and its application in robotics
CN108388854A (zh) 一种基于改进fast-surf算法的定位方法
CN112348853B (zh) 基于红外显著性特征融合的粒子滤波跟踪的方法
CN115187744A (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