CN117689717B - 用于机器人拾取的地面羽毛球位姿检测方法 - Google Patents
用于机器人拾取的地面羽毛球位姿检测方法 Download PDFInfo
- Publication number
- CN117689717B CN117689717B CN202410137724.4A CN202410137724A CN117689717B CN 117689717 B CN117689717 B CN 117689717B CN 202410137724 A CN202410137724 A CN 202410137724A CN 117689717 B CN117689717 B CN 117689717B
- Authority
- CN
- China
- Prior art keywords
- badminton
- image
- point
- dimensional
- shuttlecock
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 28
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 34
- 239000013598 vector Substances 0.000 claims abstract description 26
- 230000036544 posture Effects 0.000 claims abstract description 19
- 238000000034 method Methods 0.000 claims abstract description 18
- 238000012549 training Methods 0.000 claims abstract description 14
- 230000009466 transformation Effects 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 16
- 210000003746 feather Anatomy 0.000 claims description 15
- 239000011159 matrix material Substances 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 12
- 239000002390 adhesive tape Substances 0.000 claims description 10
- 238000013135 deep learning Methods 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 4
- 230000001131 transforming effect Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000003068 static effect Effects 0.000 abstract description 4
- 238000010191 image analysis Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000000284 resting effect Effects 0.000 description 4
- 238000003032 molecular docking Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
- B25J5/007—Manipulators mounted on wheels or on carriages mounted on wheels
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Geometry (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明所述的用于机器人拾取的地面羽毛球位姿检测方法,运用图像分析技术识别与处理运动羽毛球的基础上,区分并测算静止于地面上的平躺和竖立羽毛球的位置和姿态,为机器人精确、无损伤的拾取羽毛球提供重要的数据支撑,也为与发球机对接,形成用于羽毛球训练的发、捡球智能循环系统奠定基础。该方法包括以下步骤:通过RGB‑D相机采集二维彩色图像和深度图像,建立相机三维坐标系OXYZ以及二维图像坐标和相机三维坐标之间的对应关系;通过三帧差分算法分析并去除二维图像中被识别为运动羽毛球的区域;识别包含平躺和竖立羽毛球的目标图像矩形框;通过单位姿态矢量表征羽毛球的姿态;计算用于机器人拾取的中心位置点坐标。
Description
技术领域
本申请涉及一种用于机器人拾取的地面羽毛球位姿检测方法,属于图像处理与计算机应用领域。
背景技术
羽毛球作为一项历史悠久的体育运动,已有大量的羽毛球爱好者和专业运动员参与其中。随着机器人和人工智能技术的不断发展,自动发球机已应用于羽毛球训练过程,这就需要在羽毛球场反复的拾取羽毛球。已公开的专利CN 113041578 A,名称为一种基于形态特征和单目测量的机器人自主捡球方法,其技术方案是通过扫入式设备拾取羽毛球。这种方式拾取的羽毛球是无序摆放的,无法同发球机衔接;羽毛球在被扫入时毛片容易受到挤压而损伤。通过机器人准确的夹取羽毛球较坚硬的球头部,可以在不损伤羽毛球的基础上将其精确、有序的放在发球机指定的位置,为发球机持续的补充羽毛球,从而实现发球机发球、训练人员回接球、智能机器人捡球、发球机再发球的循环,提高训练效率。
通过机器视觉和图像处理技术计算地面羽毛球位姿是机器人捡球的前提条件。已公开的专利CN110648362A,名称为一种双目立体视觉的羽毛球定位识别与姿态计算方法,其技术方案主要是利用Faster-RCNN深度神经网络识别羽毛球在图像中的位置;再利用双目立体视觉对识别出的羽毛球进行三维重建,确定羽毛球的空间位置;最后提取羽毛球清晰的边缘,计算羽毛球实时姿态角。该方案一方面仅针对平躺于球场上的羽毛球进行位置和姿态的计算,并未考虑竖立的羽毛球;另一方面,仅计算出羽毛球整体空间位置,并没有进一步计算用于机器人拾取的关键点坐标。另外,为了提高效率,发球机持续发球时机器人不会等所有球都发完才去捡球,而是边发球边捡球。因此视觉系统所拍摄的图像中既包含空中运动的羽毛球,也包含地面静止的羽毛球,如何区分两者上述专利并未考虑,缺少相应的识别与处理手段。
有鉴于此,特提出本专利申请。
发明内容
为解决上述问题,本发明提出的用于机器人拾取的地面羽毛球位姿检测方法,其目的在于运用图像分析技术识别与处理运动羽毛球的基础上,区分并测算静止于地面的平躺和竖立羽毛球的位姿,通过球头胶条区域关键点坐标的计算确定机器人拾取中心点的位置,为机器人精确、无损伤的拾取羽毛球提供重要的数据支撑,也为与发球机对接,形成用于羽毛球训练的发、捡球智能循环系统奠定基础。
另一设计目的是,将所计算的拾取中心点定位于较为坚硬的球头贴有胶条的区域,既方便图像识别和计算,又能够保证羽毛球拾取过程中不会受到损伤。
设计目的还在于,可同时检测静止于地面的多个羽毛球的位姿。
为实现上述设计目的,所述用于机器人拾取的地面羽毛球位姿检测方法,在获取RGB-D相机采集的二维彩色图像和深度图像的基础上,通过三帧差分算法分析并去除二维图像中被识别为运动羽毛球的区域;再采用基于深度学习的目标检测算法识别出包含平躺和竖立羽毛球的目标图像矩形框;分别对图像矩形框内的深度信息进行分析,计算得出用于机器人拾取的羽毛球姿态和关键点位置坐标。具体地,该方法包括以下步骤:
步骤1、通过RGB-D相机获得二维彩色图像和深度图像,建立相机三维坐标系OXYZ以及二维图像坐标和相机三维坐标之间的对应关系;
步骤2、通过三帧差分算法分析并去除二维图像中被识别为运动羽毛球的区域;
步骤3、对于已去除运动羽毛球的图像,采用基于深度学习的目标检测算法,识别出包含平躺和竖立羽毛球的目标图像矩形框;
步骤4、通过计算与羽毛球中心线重合、且从球头指向毛片方向的单位姿态矢量
在相机三维坐标轴X、Y、Z上的投影,表征羽毛球的姿态;
步骤5、计算用于机器人拾取的中心点位置坐标。
进一步地,所述的步骤1,将RGB-D相机RealSense置于羽毛球场地的垂直上方,构
建相机三维空间坐标系OXYZ,其中Z轴指向球场地面并与之垂直,X轴与球网平面平行,Y轴
与球网平面垂直;获取RGB-D相机RealSense二维彩色图像和深度图像配准后的相关参数,
建立二维图像坐标与相机三维空间坐标之间的对应关系;相应计算公式如下,,,;上式中,x、y、z为相机三维坐标系
OXYZ下的坐标,Uc、Vc 为二维图像中的坐标;fx、fy、Cx、Cy为相机内部参数,fx、fy为深度相
机焦距,Cx、Cy分别代表图像中心与图像坐标原点在x、y两个方向的距离;为深度图像中
像素点对应的深度值,为该深度值和实际深度值之间的比例。
进一步地,所述的步骤2,连续采集三帧图像,运用三帧差分算法得到包含运动羽毛球的二值化图像;将二值化图像取反后作为掩膜与原始第二帧图像相乘,得到去除运动羽毛球的二维图像。
进一步地,所述的步骤3,应用基于PyTorch的YOLO V5目标检测算法,采集球场上不同位置、姿态的平躺羽毛球和竖立羽毛球图像作为数据集,将其中一部分用于YOLO算法模型的训练,另一部分用于模型的验证,得到平躺羽毛球和竖立羽毛球的识别模型;运用上述识别模型对步骤2中已去除运动羽毛球的二维图像进行检测,分别得到平躺羽毛球、竖立羽毛球的目标图像矩形框;记录上述所有目标矩形框在被测图像中的位置坐标(XL, YL)和尺寸大小(W*H),(XL, YL)表示目标矩形框的左上角在被测图像中的坐标,W和H分别表示目标矩形框的宽和高。
进一步地,所述的步骤4,对于地面平躺的羽毛球,包括以下步骤,
S401、对于地面平躺的羽毛球,通过分析羽毛球目标矩形框图像,计算出以X轴正
向作为参考方向、矢量在XOY平面上的投影沿逆时针方向形成的方位角θ;
采用OTSU算法对羽毛球目标矩形框图像进行二值化分割;
对于二值化分割后的图像,采用轮廓检测算法,运用OpenCV开源库中的findContours函数取得所有白色区域的外轮廓点集;
运用contourArea函数计算各外轮廓面积,其中面积最大的为羽毛球毛片,面积第二大的为球头;
运用minAreaRect函数获取毛片和球头外轮廓的最小外接矩形及相应的中心点C1和C2在图像中的位置坐标(C1x, C1y)、(C2x, C2y),直线C2C1为图像中白色羽毛球区域的中心线;
根据步骤1建立的二维图像坐标和相机三维坐标之间的对应关系,得到点C1和C2在坐标系OXYZ中的三维坐标(C1_3dx, C1_3dy, C1_3dz)、(C2_3dx, C2_3dy, C2_3dz),上述两个三维点在XOY平面上的投影C1’、C2’坐标分别为(C1_3dx, C1_3dy, 0)、(C2_3dx, C2_3dy, 0),直线C2’C1’为羽毛球中心线在XOY平面上的投影;
由于矢量与羽毛球单位姿态矢量在XOY平面上的投影同向,上述方位角θ
的计算公式如下:
,
S402、依据国家标准GB/T 11881-2006,羽毛球形状尺寸为标准值,地面平躺羽毛
球的单位姿态矢量与XOY平面的夹角α大小为固定值,且矢量与Z轴正向的夹角γ= α +
π/2,根据γ和θ计算出表征羽毛球姿态的Dx、Dy、Dz值,具体计算公式如下,
。
进一步地,所述的步骤4,对于竖立于地面的羽毛球,单位姿态矢量和Z轴正向同
向,γ=0,则 。
进一步地,所述的步骤5,对于地面平躺羽毛球目标矩形框图像,计算得到球头胶带边界关键点P1,将该点在羽毛球中心线上的投影P2点作为机器人拾取的中心点;包括以下步骤,
S501、分析地面平躺羽毛球目标矩形框图像,得到图像中羽毛球的中心线与球头胶带边界的交点P1,获得P1在坐标系OXYZ中的三维点坐标;
根据步骤S401获得的二值化图像中球头的外轮廓,采用基于轮廓的孔洞填充算法,运用drawContours函数消除球头区域里的孔洞;
根据步骤S401获得的羽毛球毛片和球头区域的中心点坐标C1(C1x, C1y)、C2(C2x, C2y),运用Bresenham直线算法获得从起始点C2到终止点C1形成线段的像素点集;
从颜色为白的起始像素点开始遍历,直至找到颜色为黑的像素点P1为止;
根据P1点在二维图像中的位置坐标,获得该点在坐标系OXYZ中的三维坐标(P1_3dx, P1_3dy, P1_3dz);
S502、计算三维点P1在羽毛球中心线上的投影P2点坐标;
将P1点作坐标变换,得到其在羽毛球中心线上的投影P2点坐标(P2_3dx, P2_3dy,P2_3dz),该点即为机器人拾取的中心点;P2点位置坐标计算公式为:
。
进一步地,所述的步骤S502包括下述P1点坐标变换过程,
(1)沿X、Y轴分别平移-P1_3dx和-P1_3dy,使得Z轴经过P1点,对应变换矩阵如下,;
(2)围绕Z轴逆时针旋转-θ角,使得羽毛球中心线处于XOZ平面上,对应变换矩阵如
下,;其中,θ角为步骤401获得的方位角θ;
(3)将P1垂直投影到羽毛球中心线上(投影点即为P2点),对应的变换矩阵如下:;其中,α为步骤S402获得的夹角α,RH为羽毛球球头半径,
由于羽毛球形状尺寸是标准的,球头半径RH为已知的确定值;
(4)再次围绕Z轴逆时针旋转θ角,对应变换矩阵如下,;
(5)沿X、Y轴方向分别平移P1_3dx和P1_3dy,P1点回到初始位置,对应变换矩阵如
下,;
进一步地,所述的步骤5,对于竖立的羽毛球目标矩形框图像,计算得到羽毛球相对于地面最高点M,以该点为参考,计算得到机器人拾取中心点P2的位置;
遍历竖立于地面的羽毛球目标矩形框图像的每个像素点,找到Z方向深度值最小的点M,该点处于羽毛球中心线上,是羽毛球相对于地面的最高点;
根据M点在二维图像中的位置坐标,获得该点在坐标系OXYZ中的三维坐标(M_3dx,M_3dy, M_3dz);
由于羽毛球形状尺寸是标准的,球头高度Hqt和球头胶带的宽度Wjd为已知的确定值,则机器人拾取中心点P2位置坐标的计算公式如下,
P2_3dx=M_3dx,P2_3dy=M_3dy,P2_3dz=M_3dz+Hqt-Wjd。
综上内容,本申请提出的用于机器人拾取的地面羽毛球位姿检测方法具有以下优点:
1、本申请符合现有智能化羽毛球训练系统及方法的使用要求,在视觉系统测算地面羽毛球姿态的基础上,通过计算球头胶条区域关键点坐标确定机器人拾取中心点的位置,为机器人精确、无损伤的拾取羽毛球提供重要的数据支撑,有利于实现与发球机的精准对接,保障发球机发球、训练人员回接球、机器人捡球与发球机再发球的全自动化循环,训练效率与使用效果均较明显。
2、本申请针对静止于地面的羽毛球进行位姿检测,排除了运动羽毛球的干扰,同时能够准确地区分与测算平躺和竖立羽毛球的具体位置与姿态,提高了机器人拾取的准确性和效率。
3、本申请提出将机器人拾取的关键点定位于较为坚硬的球头胶条区域,既有利于机器人快速准确地拾取,又能保证羽毛球的羽毛部分不受损伤,有利于提高羽毛球的使用寿命。
4、本申请提出的图像识别与位姿检测技术能够同时检测出静止于地面的多个羽毛球,有利于提高机器人拾取的效率。
附图说明
现结合以下附图来进一步地说明本申请;
图1是应用本申请的系统示意图;
图2是本申请所述一种用于机器人拾取的地面羽毛球位姿检测方法流程图;
图3是相机三维空间坐标系OXYZ示意图;
图4是去除运动羽毛球的图像处理示意图;其中,(a)为包含运动羽毛球的二值化图像;(b)为视觉系统所拍摄包含运动羽毛球的第二帧原始图像;(c)为去除运动羽毛球后的图像;
图5是羽毛球目标检测结果图像;
图6是目标矩形框图像分割过程示意图;其中,(a)为目标矩形框图像的R通道灰度图;(b)为目标矩形框区域采用OTSU算法分割后的二值化图像;
图7 是球头与毛片区域的最小外接矩形及中心点C2、C1位置示意图;
图8是羽毛球单位姿态矢量在坐标系中的示意过程图;其中,(a)为羽毛球单位姿态矢量与矢量关系示意图;(b)为羽毛球单位姿态矢量在X、Y、Z轴上的投影示意图;
图9是C2、C1点与P1点关系示意图;
图10是点P1与拾取中心点P2关系示意图;
图11是坐标变换后羽毛球中心线在XOZ平面时P1和P2点的关系示意图;
图12为竖立羽毛球的最高点M与P2点的位置关系图。
具体实施方式
为了使本发明实施例所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。
实施例1,如图1所示,本申请所述的用于机器人拾取的地面羽毛球位姿检测方法,应用于羽毛球训练中的发、捡球智能循环系统,其中捡球部分主要包括:计算机1、RGB-D相机2、捡球机器人3。
所述的RGB-D相机2,用于将拍摄并采集到的二维彩色图像和深度图像传递给计算机1;
所述的计算机1,用于接收并处理RGB-D相机2上传的图像,在应用本申请所述位姿检测方法的前提下将多个静止于地面的羽毛球关键点(图1中的P2)位置坐标和姿态信息发送给捡球机器人3,并向捡球机器人3发出拾取指令;
所述的捡球机器人3,用于接收并执行计算机1发出的拾取指令,按照关键点位置坐标和姿态信息准确、无损伤的拾取多个静止于地面的羽毛球,并将其精确、有序的放在发球机指定的位置,为发球机持续的补充羽毛球,最终实现发球机发球、训练人员回接球、机器人捡球与发球机再次发球的循环。
所述的用于机器人拾取的地面羽毛球位姿检测方法,在获取RGB-D相机采集的二维彩色图像和深度图像的基础上,通过三帧差分算法分析并去除二维图像中被识别为运动羽毛球的区域;再采用基于深度学习的目标检测算法识别出包含平躺和竖立羽毛球的目标图像矩形框;分别对图像矩形框内的深度信息进行分析,计算得出用于机器人拾取的羽毛球姿态和关键点位置坐标(图1中的P2点)。
具体地,如图2所示,用于机器人拾取的地面羽毛球位姿检测方法包括以下步骤:
步骤1、通过RGB-D相机获得二维彩色图像和深度图像,建立相机三维坐标系OXYZ以及二维图像坐标和相机三维坐标之间的对应关系;
将RGB-D相机RealSense置于羽毛球场地的垂直上方,如图3所示,构建相机三维空间坐标系OXYZ,其中Z轴指向球场地面并与之垂直,X轴与球网平面平行,Y轴与球网平面垂直;
获取RGB-D相机RealSense二维彩色图像和深度图像配准后的相关参数,建立二维图像坐标与相机三维空间坐标之间的对应关系,相应计算公式如下,
,
,
,
上式中,x、y、z为相机三维坐标系OXYZ下的坐标,Uc、Vc 为二维图像中的坐标;fx、
fy、Cx、Cy为相机内部参数,fx、fy为深度相机焦距,Cx、Cy分别代表图像中心与图像坐标原
点在x、y两个方向的距离;为深度图中像素点对应的深度值,为该深度值和实际
深度值之间的比例。
步骤2、对RGB-D相机所拍摄的二维图像,通过三帧差分算法分析并去除二维图像中被识别为运动羽毛球的区域;
连续采集三帧图像,运用三帧差分算法,得到包含运动羽毛球的二值化图像,如图4中的(a)所示;
将二值化图像取反后作为掩膜与原始第二帧图像相乘,如图4中的(b)所示,得到去除运动羽毛球的二维图像,如图4中的(c)所示。
步骤3、对于已去除运动羽毛球的图像,采用基于深度学习的目标检测算法,识别出包含平躺和竖立羽毛球的目标图像矩形框;
应用基于PyTorch的YOLO V5目标检测算法,采集球场上不同位置、姿态的平躺羽毛球和竖立羽毛球图像作为数据集,将其中一部分用于YOLO算法模型的训练,另一部分用于模型的验证,得到平躺羽毛球和竖立羽毛球的识别模型;
运用上述识别模型对步骤2中已去除运动羽毛球的二维图像进行检测,分别得到平躺羽毛球、竖立羽毛球的目标图像矩形框,如图5所示,图中0表示平躺的羽毛球,1表示竖立的羽毛球;
记录上述所有目标矩形框在被测图像中的位置坐标(XL, YL)和尺寸大小(W*H),(XL, YL)表示目标矩形框的左上角在被测图像中的坐标,W和H分别表示目标矩形框的宽和高。
步骤4、通过计算与羽毛球中心线重合、且从球头指向毛片方向的单位姿态矢量
在相机三维坐标轴X、Y、Z上的投影,表征羽毛球的姿态;
S401、对于地面平躺的羽毛球,通过分析羽毛球目标矩形框图像,计算出以X轴正
向作为参考方向、矢量在XOY平面上的投影沿逆时针方向形成的方位角θ;
地面平躺羽毛球的目标矩形框图像有红色R、绿色G、蓝色B三个通道的分量,而羽毛球颜色一般为白色,球场地面颜色一般为绿色,两者在红色R通道的区别最为明显,提取目标矩形框图像的R通道灰度图,如图6中的(a)所示;
采用OTSU(大津法)实现上述图像的二值化分割,如图6中的(b)所示,图中球托和毛片为纯白色,球场地面为纯黑色,球托上的胶带与地面颜色相近,分割后也为纯黑色;
对于二值化分割后的羽毛球目标矩形框图像,采用轮廓检测算法,运用OpenCV开源库中的findContours函数取得所有白色区域的外轮廓点集;
运用contourArea函数计算各外轮廓面积,其中面积最大的为羽毛球毛片,面积第二大的为球头;
运用minAreaRect函数获取毛片和球头外轮廓的最小外接矩形及相应的中心点C1和C2在图像中的位置坐标(C1x, C1y)、(C2x, C2y),直线C2C1为图像中白色羽毛球区域的中心线,如图7所示;
根据步骤1建立的二维图像坐标和相机三维坐标之间的对应关系,得到点C1和C2在坐标系OXYZ中的三维坐标(C1_3dx, C1_3dy, C1_3dz)、(C2_3dx, C2_3dy, C2_3dz),上述两个三维点在XOY平面上的投影C1’、C2’坐标分别为(C1_3dx, C1_3dy, 0)、(C2_3dx, C2_3dy, 0),直线C2’C1’为羽毛球中心线在XOY平面上的投影;
由于矢量与羽毛球单位姿态矢量在XOY平面上的投影同向,如图8中的(a)
所示,上述方位角θ的计算公式如下:
;
S402、依据国家标准GB/T 11881-2006,羽毛球形状尺寸为标准值,地面平躺羽毛
球的单位姿态矢量与XOY平面的夹角α大小为固定值,且矢量与Z轴正向的夹角γ= α +
π/2,根据γ和θ计算出表征羽毛球姿态的Dx、Dy、Dz值,如图8中的(b)所示,具体计算公式如
下: ;
S403、对于竖立于地面的羽毛球,单位姿态矢量和Z轴正向同向,γ=0,则 。
步骤5、计算用于机器人拾取的中心点位置坐标,具体包括:对于地面平躺的羽毛球目标矩形框图像,计算得到球头胶带边界关键点P1,将该点在羽毛球中心线上的投影P2点作为机器人拾取的中心点;对于竖立的羽毛球目标矩形框图像,计算得到羽毛球相对于地面最高点M,以该点为参考,计算得到机器人拾取中心点P2的位置;
S501、分析地面平躺的羽毛球目标矩形框图像,得到图像中羽毛球的中心线与球头胶带边界的交点P1,获得P1在坐标系OXYZ中的三维点坐标;
根据步骤S401获得的二值化图像中球头的外轮廓,采用基于轮廓的孔洞填充算法,运用drawContours函数消除球头区域里的孔洞;
根据步骤S401获得的羽毛球毛片和球头区域的中心点坐标C1(C1x, C1y)、C2(C2x, C2y),运用Bresenham直线算法获得从起始点C2到终止点C1形成线段的像素点集;
从颜色为白的起始像素点开始遍历,直至找到颜色为黑的像素点P1为止,如图9所示;
根据P1点在二维图像中的位置坐标,获得该点在坐标系OXYZ中的三维坐标(P1_3dx, P1_3dy, P1_3dz);
S502、计算三维点P1在羽毛球中心线上的投影P2点坐标;
如图10所示,对于平躺于地面的羽毛球,将P1点作如下坐标变换,得到其在羽毛球中心线上的投影P2点坐标(P2_3dx, P2_3dy, P2_3dz),该点即为机器人拾取的中心点,
(1)沿X、Y轴分别平移-P1_3dx和-P1_3dy,使得Z轴经过P1点,对应变换矩阵如下,;
(2)围绕Z轴逆时针旋转-θ角,使得羽毛球中心线处于XOZ平面上,对应变换矩阵如
下,;其中,θ角为步骤401获得的方位角θ;
(3)将P1垂直投影到羽毛球中心线上(投影点即为P2点,如图11所示),对应的变换
矩阵如下:;其中,α为步骤S402获得的夹角α,RH为羽毛球
球头半径,由于羽毛球形状尺寸是标准的,球头半径RH为已知的确定值;
(4)再次围绕Z轴逆时针旋转θ角,对应变换矩阵如下,;
(5)沿X、Y轴方向分别平移P1_3dx和P1_3dy,P1点回到初始位置,对应变换矩阵如
下,;
P2点位置坐标计算公式为:;
S503、分析竖立的羽毛球目标矩形框图像,得到羽毛球相对于地面最高点M,再以该点为参考,结合羽毛球自身形状尺寸,计算出机器人拾取中心点P2的坐标;
如图12所示,对于竖立于地面的羽毛球,按下述过程计算机器人拾取中心点P2位置坐标:
遍历竖立于地面的羽毛球目标矩形框图像的每个像素点,找到Z方向深度值最小的点M,该点处于羽毛球中心线上,是羽毛球相对于地面的最高点;
根据M点在二维图像中的位置坐标,获得该点在坐标系OXYZ中的三维坐标(M_3dx,M_3dy, M_3dz);
由于羽毛球形状尺寸是标准的,球头高度Hqt和球头胶带的宽度Wjd为已知的确定值,因此机器人拾取中心点P2位置坐标的计算公式如下:
P2_3dx=M_3dx,P2_3dy=M_3dy,P2_3dz=M_3dz+Hqt-Wjd。
上述计算得出机器人拾取羽毛球的中心点P2,该点处于较为坚硬的球头部,机器人夹取时可保持稳定且不会损伤到羽毛球毛片,有利于机器人精确、有序的将羽毛球放在发球机指定的位置,为发球机持续的补充羽毛球。
如上内容,结合附图中给出的实施例仅是实现本发明目的的优选方案。对于所属领域技术人员来说可以据此得到启示,而直接推导出符合本发明设计构思的其他替代结构。由此得到的其他结构特征,也应属于本发明所述的方案范围。
Claims (5)
1.一种用于机器人拾取的地面羽毛球位姿检测方法,其特征在于:在获取RGB-D相机采集的二维彩色图像和深度图像的基础上,通过三帧差分算法分析并去除二维图像中被识别为运动羽毛球的区域;再采用基于深度学习的目标检测算法识别出包含平躺和竖立羽毛球的目标图像矩形框;分别对图像矩形框内的深度信息进行分析,计算得出用于机器人拾取的羽毛球姿态和关键点位置坐标;
包括以下步骤,
步骤1、通过RGB-D相机获得二维彩色图像和深度图像,建立相机三维坐标系OXYZ以及二维图像坐标和相机三维坐标之间的对应关系;
步骤2、通过三帧差分算法分析并去除二维图像中被识别为运动羽毛球的区域;
步骤3、对于已去除运动羽毛球的图像,采用基于深度学习的目标检测算法,识别出包含平躺和竖立羽毛球的目标图像矩形框;
步骤4、通过计算与羽毛球中心线重合、且从球头指向毛片方向的单位姿态矢量在相机三维坐标轴X、Y、Z上的投影,表征羽毛球的姿态;
对于地面平躺的羽毛球包括以下步骤,
S401、对于地面平躺的羽毛球,通过分析羽毛球目标矩形框图像,计算出以X轴正向作为参考方向、矢量在XOY平面上的投影沿逆时针方向形成的方位角θ;
采用OTSU算法对羽毛球目标矩形框图像进行二值化分割;
对于二值化分割后的图像,采用轮廓检测算法,运用OpenCV开源库中的findContours函数取得所有白色区域的外轮廓点集;
运用contourArea函数计算各外轮廓面积,其中面积最大的为羽毛球毛片,面积第二大的为球头;
运用minAreaRect函数获取毛片和球头外轮廓的最小外接矩形及相应的中心点C1和C2在图像中的位置坐标(C1x,C1y)、(C2x,C2y),直线C2C1为图像中白色羽毛球区域的中心线;
根据步骤1建立的二维图像坐标和相机三维坐标之间的对应关系,得到点C1和C2在坐标系OXYZ中的三维坐标(C1_3dx,C1_3dy,C1_3dz)、(C2_3dx,C2_3dy,C2_3dz),上述两个三维点在XOY平面上的投影C1’、C2’坐标分别为(C1_3dx,C1_3dy,0)、(C2_3dx,C2_3dy,0),直线C2’C1’为羽毛球中心线在XOY平面上的投影;
由于矢量与羽毛球单位姿态矢量/>在XOY平面上的投影同向,上述方位角θ的计算公式如下,
S402、依据国家标准GB/T 11881-2006,羽毛球形状尺寸为标准值,地面平躺羽毛球的单位姿态矢量与XOY平面的夹角α大小为固定值,且矢量/>与Z轴正向的夹角γ=α+π/2,根据γ和θ计算出表征羽毛球姿态的Dx、Dy、Dz值,具体计算公式如下,
Dx=sinγcosθ Dy=sinγsinθ Dz=cosγ;
对于竖立于地面的羽毛球,单位姿态矢量D┴→和Z轴正向同向,γ=0,则Dx=0Dy=0Dz=1;
步骤5、计算用于机器人拾取的中心点位置坐标;
对于地面平躺羽毛球目标矩形框图像,计算得到球头胶带边界关键点P1,将该点在羽毛球中心线上的投影P2点作为机器人拾取的中心点;包括以下步骤,
S501、分析地面平躺羽毛球目标矩形框图像,得到图像中羽毛球的中心线与球头胶带边界的交点P1,获得P1在坐标系OXYZ中的三维点坐标;
根据步骤S401获得的二值化图像中球头的外轮廓,采用基于轮廓的孔洞填充算法,运用drawContours函数消除球头区域里的孔洞;
根据步骤S401获得的羽毛球毛片和球头区域的中心点坐标C1(C1x,C1y)、C2(C2x,C2y),运用Bresenham直线算法获得从起始点C2到终止点C1形成线段的像素点集;
从颜色为白的起始像素点开始遍历,直至找到颜色为黑的像素点P1为止;
根据P1点在二维图像中的位置坐标,获得该点在坐标系OXYZ中的三维坐标(P1_3dx,P1_3dy,P1_3dz);
S502、计算三维点P1在羽毛球中心线上的投影P2点坐标;
将P1点作坐标变换,得到其在羽毛球中心线上的投影P2点坐标(P2_3dx,P2_3dy,P2_3dz),该点即为机器人拾取的中心点;P2点位置坐标计算公式为:
(P2_3dx P2_3dy P2_3dz 1)=(P1_3dx P1_3dy P1_3dz 1)×T1×T2×T3×T4×T5;
对于竖立的羽毛球目标矩形框图像,计算得到羽毛球相对于地面最高点M,以该点为参考,计算得到机器人拾取中心点P2的位置;
遍历竖立于地面的羽毛球目标矩形框图像的每个像素点,找到Z方向深度值最小的点M,该点处于羽毛球中心线上,是羽毛球相对于地面的最高点;
根据M点在二维图像中的位置坐标,获得该点在坐标系OXYZ中的三维坐标(M_3dx,M_3dy,M_3dz);
由于羽毛球形状尺寸是标准的,球头高度Hqt和球头胶带的宽度Wjd为已知的确定值,则机器人拾取中心点P2位置坐标的计算公式如下,
P2_3dx=M_3dx,P2_3dy=M_3dy,P2_3dz=M_3dz+Hqt-Wjd。
2.根据权利要求1所述的用于机器人拾取的地面羽毛球位姿检测方法,其特征在于:所述的步骤1,将RGB-D相机RealSense置于羽毛球场地的垂直上方,以构建相机三维空间坐标系OXYZ,其中Z轴指向球场地面并与之垂直,X轴与球网平面平行,Y轴与球网平面垂直;
获取RGB-D相机RealSense二维彩色图像和深度图像配准后的相关参数,建立二维图像坐标与相机三维空间坐标之间的对应关系;相应计算公式如下,
z=zD×deep_scale
上式中,x、y、z为相机三维坐标系OXYZ下的坐标,Uc、Vc为二维图像中的坐标;fx、fy、Cx、Cy为相机内部参数,fx、fy为深度相机焦距,Cx、Cy分别代表图像中心与图像坐标原点在x、y两个方向的距离;zD为深度图中像素点对应的深度值,deep_scale为该深度值和实际深度值之间的比例。
3.根据权利要求1所述的用于机器人拾取的地面羽毛球位姿检测方法,其特征在于:所述的步骤2,连续采集三帧图像,运用三帧差分算法得到包含运动羽毛球的二值化图像;
将二值化图像取反后作为掩膜与原始第二帧图像相乘,得到去除运动羽毛球的二维图像。
4.根据权利要求1所述的用于机器人拾取的地面羽毛球位姿检测方法,其特征在于:所述的步骤3,应用基于PyTorch的YOLO V5目标检测算法,采集球场上不同位置、姿态的平躺羽毛球和竖立羽毛球图像作为数据集,将其中一部分用于YOLO算法模型的训练,另一部分用于模型的验证,得到平躺羽毛球和竖立羽毛球的识别模型;
运用上述识别模型对步骤2中已去除运动羽毛球的二维图像进行检测,分别得到平躺羽毛球、竖立羽毛球的目标图像矩形框;
记录平躺羽毛球、竖立羽毛球的目标图像矩形框在被测图像中的位置坐标(XL,YL)和尺寸大小(W*H),(XL,YL)表示目标矩形框的左上角在被测图像中的坐标,W和H分别表示目标矩形框的宽和高。
5.根据权利要求1所述的用于机器人拾取的地面羽毛球位姿检测方法,其特征在于:所述的步骤S502包括下述P1点坐标变换过程,
1)、沿X、Y轴分别平移-P1_3dx和-P1_3dy,使得Z轴经过P1点,对应变换矩阵如下,
2)、围绕Z轴逆时针旋转-θ角,使得羽毛球中心线处于XOZ平面上,对应变换矩阵如下,
其中,θ角为步骤401获得的方位角θ;
3)、将P1垂直投影到羽毛球中心线上(投影点即为P2点),对应的变换矩阵如下:
其中,α为步骤S402获得的夹角α,RH为羽毛球球头半径,由于羽毛球形状尺寸是标准的,球头半径RH为已知的确定值;
4)、再次围绕Z轴逆时针旋转θ角,对应变换矩阵如下,
5)、沿X、Y轴方向分别平移P1_3dx和P1_3dy,P1点回到初始位置,对应变换矩阵如下,
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410137724.4A CN117689717B (zh) | 2024-02-01 | 2024-02-01 | 用于机器人拾取的地面羽毛球位姿检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410137724.4A CN117689717B (zh) | 2024-02-01 | 2024-02-01 | 用于机器人拾取的地面羽毛球位姿检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117689717A CN117689717A (zh) | 2024-03-12 |
CN117689717B true CN117689717B (zh) | 2024-05-28 |
Family
ID=90128506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410137724.4A Active CN117689717B (zh) | 2024-02-01 | 2024-02-01 | 用于机器人拾取的地面羽毛球位姿检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117689717B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118181304B (zh) * | 2024-05-13 | 2024-08-09 | 浙江正雅齿科股份有限公司 | 壳状矫治器的拾取方法、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110314349A (zh) * | 2019-07-15 | 2019-10-11 | 重庆大学 | 羽毛球捡拾机器人及其控制方法 |
CN110648362A (zh) * | 2019-09-11 | 2020-01-03 | 商丘师范学院 | 一种双目立体视觉的羽毛球定位识别与姿态计算方法 |
CN113041578A (zh) * | 2021-02-24 | 2021-06-29 | 南京师范大学 | 一种基于形态特征和单目测量的机器人自主捡球方法 |
KR20230061612A (ko) * | 2021-10-28 | 2023-05-09 | 아이둡 주식회사 | 머신 러닝을 이용한 물체의 피킹 자동화 시스템 및 그 제어 방법 |
-
2024
- 2024-02-01 CN CN202410137724.4A patent/CN117689717B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110314349A (zh) * | 2019-07-15 | 2019-10-11 | 重庆大学 | 羽毛球捡拾机器人及其控制方法 |
CN110648362A (zh) * | 2019-09-11 | 2020-01-03 | 商丘师范学院 | 一种双目立体视觉的羽毛球定位识别与姿态计算方法 |
CN113041578A (zh) * | 2021-02-24 | 2021-06-29 | 南京师范大学 | 一种基于形态特征和单目测量的机器人自主捡球方法 |
KR20230061612A (ko) * | 2021-10-28 | 2023-05-09 | 아이둡 주식회사 | 머신 러닝을 이용한 물체의 피킹 자동화 시스템 및 그 제어 방법 |
Non-Patent Citations (2)
Title |
---|
Badminton motion capture with visual image detection of picking robotics;Changxin Li;International Journal of Advanced Robotic Systems;20201118;第1-10页 * |
基于Intel SoC的羽毛球捡拾机器人设计与实现;刘永兵;何伟;张玲;;电子技术应用;20200906(09);第118-122页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117689717A (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117689717B (zh) | 用于机器人拾取的地面羽毛球位姿检测方法 | |
CN108555908B (zh) | 一种基于rgbd相机的堆叠工件姿态识别及拾取方法 | |
CN101839692B (zh) | 单相机测量物体三维位置与姿态的方法 | |
US9436987B2 (en) | Geodesic distance based primitive segmentation and fitting for 3D modeling of non-rigid objects from 2D images | |
US9154773B2 (en) | 2D/3D localization and pose estimation of harness cables using a configurable structure representation for robot operations | |
CN112396656B (zh) | 一种视觉与激光雷达融合的室外移动机器人位姿估计方法 | |
JP3735344B2 (ja) | キャリブレーション装置、キャリブレーション方法、及びキャリブレーション用プログラム | |
US11948344B2 (en) | Method, system, medium, equipment and terminal for inland vessel identification and depth estimation for smart maritime | |
CN110142785A (zh) | 一种基于目标检测的巡检机器人视觉伺服方法 | |
CN108305264A (zh) | 一种基于图像处理的无人机精确着陆方法 | |
CN110648362B (zh) | 一种双目立体视觉的羽毛球定位识别与姿态计算方法 | |
Urban et al. | Finding a good feature detector-descriptor combination for the 2D keypoint-based registration of TLS point clouds | |
CN112734844B (zh) | 一种基于正八面体的单目6d位姿估计方法 | |
CN115816471B (zh) | 多视角3d视觉引导机器人的无序抓取方法、设备及介质 | |
CN114140439A (zh) | 基于深度学习的激光焊接焊缝特征点识别方法及装置 | |
CN115619738A (zh) | 一种模组侧缝焊焊后检测方法 | |
CN115816460A (zh) | 一种基于深度学习目标检测与图像分割的机械手抓取方法 | |
CN108171753A (zh) | 基于形心特征点与邻域灰度互相关性的立体视觉定位方法 | |
CN113313116A (zh) | 一种基于视觉的水下人工目标准确检测与定位方法 | |
CN114842144A (zh) | 双目视觉三维重构方法及系统 | |
CN111964681A (zh) | 一种巡检机器人的实时定位系统 | |
CN116012415A (zh) | 基于视觉测量的乒乓球旋转估计方法及旋转估计系统 | |
Berezhnoy et al. | Approaches for automated monitoring and evaluation of in vitro plant’s morphometric parameters | |
CN109410272A (zh) | 一种变压器螺母识别与定位装置及方法 | |
CN115880220A (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 |