乒乓球机器人作为一种典型的实时智能机器人, 需要感知竞技对象的发球路线和轨迹, 并做出合理的判断和回球策略, 从而完成灵活击打[1]. 其所包含的高速乒乓球识别跟踪、快速精确击球预测、机械手臂运动规划与控制等关键技术有着广泛的应用前景[2,3]. 其中乒乓球的检测与定位, 是乒乓球轨迹预测精度的基础, 直接影响着乒乓球机器人的击球成功率和击球效果[4,5].
由于乒乓球机器人的高实时性与鲁棒性等要求, 部分效果良好的目标检测与跟踪方法在实际应用过程中无法稳定的在有效时间内完成乒乓球识别任务[6]. 致使乒乓球的快速精确检测成为了乒乓球机器人研究中的重难点问题. 文献[7]研究了RGB加权法对乒乓球图像灰度化, 结合阈值分割达到乒乓球检测的目的, 该方法速度快, 但对光照敏感. 文献[8]将乒乓球RGB图像转换到HSV颜色模型中进行颜色筛选, 克服了RGB颜色模型对光照敏感的问题. 文献[9]提出了基于HSV模型的颜色阈值自学习方法. 通常, 基于单一颜色模型的分割方法会受到相近颜色及光照变化的干扰. 因此, 文献[10,11]研究了基于运动分析的帧间差分法对运动目标进行提取, 同时为了提高乒乓球定位精度, 提出了基于采样点生长的中心定位算法, 该方法检测效果良好, 但对运动干扰鲁棒性较差. 文献[12]提出了结合运动分析与基于HSV颜色模型筛选的乒乓球检测方法, 能够有效检测出乒乓球区域. 但仍然无法排除相近颜色(如肤色等)干扰.
为了解决现有乒乓球分割方法无法在复杂环境下对乒乓球进行有效检测与跟踪这一问题, 本文提出了一种基于多颜色模型的乒乓球检测与跟踪方法. 综合乒乓球在RGB颜色空间与HSV颜色空间中的颜色分布特性, 能够有效排除光照与相近颜色的干扰, 提取出乒乓球区域. 并以图像中乒乓球区域的质心位置作为乒乓球的定位坐标, 同时结合ROI技术缩小后续图像的筛选范围, 降低图像处理的时间花费, 达到乒乓球的快速检测与跟踪的目的. 通过追踪效果的三维重建分析, 证实了该方法的可行性及有效性.
1 多颜色模型基于多颜色模型的乒乓球分割算法是根据乒乓球在不同颜色模型中不同的颜色描述特性提出的, 本文中的多颜色模型结合了RGB模型的强颜色表达能力与HSV模型中色调与饱和度对光照的抗干扰能力, 能够有效的对复杂背景下的乒乓球进行分割与提取.
其中, RGB颜色模型作为最常用模型, 主要用于显示器等发光体的颜色显示, 是一种加色法混色模型. 通过将红(R)、绿(G)、蓝(B)三种基本色按其亮度的不同分别划分为256个等级, 进行不同程度的叠加, 能够表示1600多万种不同的颜色. 该模型的颜色表达能力强, 但对光照变化较为敏感. 如图1所示, 图1(a)与图1(b)分别为相机在强光条件与弱光条件下采集到的乒乓球RGB图像, 统计后分别得到两种光照条件下乒乓球的RGB颜色分布范围(如表1所示). 通过对比发现, 在不同光照条件下, 乒乓球的RGB颜色分布范围变化较大, 证明了RGB模型对光照敏感这一特性.
HSV颜色模型用色调(Hue)、饱和度(Saturation)和亮度(Value)三元素来描述色彩[3], 更贴近人眼的视觉感知. 如图2所示, 色调H表示颜色的色彩信息(范围从0°~360°), 即所处的光谱颜色的位置; 饱和度S(范围从0%~100%)表示所选颜色接近光谱色的程度, 饱和度越高, 则颜色越深、越鲜艳; 亮度V(范围从0~1)表示色彩的明亮程度.
通常, 相机采集到的数字图像是以RGB颜色模型来描述的. 因此, 要获得该图像的在HSV颜色模型下的描述需对图像进行颜色模型转换[10](本文将HSV颜色模型中H范围设定为0–360, S与V范围设定为0–255): 假设某个像素点的RGB空间颜色描述为(r,g,b), 而HSV空间颜色描述为(h,s,v), 为了方便计算与表述, 定义变量RGBmax和RGBmin分别表示RGB分量中的最大值和最小值:
$RGB_{ \max} = max(r,g,b)$ | (1) |
$RGB_{\rm \min} = min(r,g,b)$ | (2) |
色调h为所处的光谱颜色的位置, 其表示的颜色信息与RGBmax相关(如图1所示, 若RGBmax=r, 则色调h表示红色区间内某一颜色), 该参数以一角度量来表示, 具体定义如下:
$h = \left\{\!\!\!\! {\begin{array}{*{20}{l}} {0,}&\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!{RGB_{\max } =RGB_{ \min} } {(\displaystyle\frac{{60^\circ \cdot (g - b)}}{{(RGB_{\max}\!-\! RGB_{\min} )}} \!+\! 360^\circ )od 360^\circ ,}&\!\!\!{RGB_{\max} = r} \\ [9pt] {\displaystyle\frac{{60^\circ \cdot (b - r)}}{{(RGB_{\max} - RGB_{\min} )}} + 120^\circ ,}&\!\!\!{RGB_{\max} = g} \\ [9pt] {\displaystyle\frac{{60^\circ \cdot (r - g)}}{{(RGB_{\max} - RGB_{\min} )}} + 240^\circ ,}&\!\!\!{RGB_{\max} = b} \end{array}} \right.$ | (3) |
饱和度s表示色调h所表示颜色的纯度(RGBmax–RGBmin)和该颜色最大的纯度RGBmax之间的比率(注: 当s=0时, 图像为灰度图像), 计算公式如下:
${{s}} = \left\{ {\begin{array}{*{20}{l}}{0,} \;\;\;{{\rm if}\quad RGB_{\rm max} = 0}{255 \cdot \displaystyle\frac{{(RGB_{\rm max} - RGB_{\rm min})}}{RGB_{\rm{max }}},}\;{\rm otherwise}\end{array}} \right.$ | (4) |
亮度v反映了颜色的明亮程度, 与物体的透射比或反射比有关, 定义如下:
$v = RGB_{\rm max} $ | (5) |
不同于RGB颜色模型, HSV 颜色模型各分量之间相对独立, 颜色变化不易受到其它分量的影响. 同时HSV模型中的H、S分量在光照干扰下具有较强的鲁棒性. 如表2所示, 在HSV颜色模型中, 分别对图3中强光条件与弱光条件下的乒乓球颜色分布进行统计. 对比发现, 乒乓球的在HSV模型中, 不同光照条件对H分量范围影响较小, 同时S分量在弱光条件(光照条件2)下的分布范围为强光条件(光照条件1)下分布范围的子集. 因此, 在HSV模型中, 乒乓球的色调(H)与饱和度(S)在不同光照的影响下具有较好的稳定性.
乒乓球为球体形状, 其部分表面会由于光源被遮挡导致所受光照不均匀, 从而无法使用单一的RGB模型进行乒乓球提取. 利用单一的HSV模型能够在无相近颜色干扰的实验环境中具有良好的乒乓球分割果, 但乒乓球机器人的研究目的之一是为了实现人机对战, 这导致在实际实验场景中往往会出现肤色(H分量值为10–20, 与乒乓球相近)等其他颜色较为相近的复杂背景出现, 这时单一的HSV颜色模型无法对图像中的乒乓球进行有效的分割与提取. 基于多颜色模型的乒乓球分割算法能够有效的解决这一问题, 通过利用对光照干扰鲁棒的HSV模型进行初步筛选, 得到所有与乒乓球颜色相近的物体, 再利用具有高区分度的RGB模型去除非乒乓球区域的图像噪声, 达到复杂环境下乒乓球分割的目的.
2 场景中乒乓球的提取与跟踪 2.1 视觉系统设计如图3所示, 实验环境为场景较为复杂的室内环境. 其中视觉系统的硬件部分由两台Basler 高速相机(acA1600)和一台图像处理计算机(Core i5-5200U)的组成, 相机固定在握拍机械臂的左右两侧后上方.
系统工作时, 两台相机以100 fps (frames per second)的速率同步抓取图像, 经由图像处理计算机进行处理, 达到乒乓球的检测与实时跟踪的目的, 具体工作原理如图4所示.
2.2 乒乓球快速提取与中心定位利用多颜色模型对乒乓球进行检测与分割需要获得图像在多颜色模型下的分割阈值: 首先对实验环境中各个位置乒乓球的RGB变化范围进行离线统计, 得到乒乓球在RGB颜色空间中的各分量区间(rl,ru), (gl,gu), (bl,bu)(其中l代表区间下限, u代表区间上限), 统一记作ThresholdRGB. 然后将RGB图像转换到HSV颜色模型中, 统计出乒乓球在HSV颜色空间中的各分量范围(hl,hu), (sl,su), 记作ThresholdHSV.
经统计得到各颜色分量的分割阈值后, 实时乒乓球视觉系统便能够使用多颜色模型分割法对乒乓球进行快速提取与定位操作.
如图5所示, 对于一幅输入的RGB图像, 首先进行颜色模型转换得到其各像素点(x,y)对应的HSV各分量值, 然后分别对该像素的r、g、b值与h、s值进行阈值判断:
$binary(i,j) = \left\{ {\begin{array}{*{20}{l}} {255,}&{(r,g,b,h,s) \in Threshold} \\ {0,}&{\rm otherwise} \end{array}} \right.$ | (6) |
从而得到多颜色模型下的乒乓球分割二值图. 分割后的图像包含的是乒乓球区域图像, 要对球心进行定位, 则需要获得乒乓球的中心位置, 本文以二值图像binary中乒乓球区域的质心位置作为乒乓球中心坐标. 假设二值图像的大小为M×N, 则质心坐标
$\bar x = (\sum\limits_{i = 0}^{N - 1} {\sum\limits_{j = 0}^{M - 1} {j \cdot binary(i,j)} )/A} $ | (7) |
$\bar y = (\sum\limits_{i = 0}^{N - 1} {\sum\limits_{j = 0}^{M - 1} {i \cdot binary(i,j)} } )/A$ | (8) |
其中, A表示二值图中, 乒乓球面积的大小:
$A = \sum\limits_{i = 0}^{N - 1} {\sum\limits_{j = 0}^{M - 1} {binary(i,j)} } $ | (9) |
2.3 基于ROI技术的乒乓球实时跟踪
乒乓球在运动过程中其前后位置具有连续相关性, 即相邻两帧图像中乒乓球的位置是相近的, 同时乒乓球区域面积只占整幅图像的一小部分, 这使得对图像进行全局处理会增加不必要的时间开销. 为了保证乒乓球跟踪的实时性, 本文引用了感兴趣区域(Region Of Interests, ROI)算法对乒乓球进行快速跟踪. 在当前图像中, 将前一帧图像中乒乓球所在位置的附近区域设定为感兴趣区域, 以较小的感兴趣区域的局部图像处理替代全局图像处理, 不仅能够提升分割速度, 同时也避免了非感兴趣区域的噪声干扰.
基于ROI技术的乒乓球检测的主要目的是以局部检测代替全局检测, 从而达到快速跟踪的目的. 如图6所示, 对于实时采集到RGB图像, 首先利用多颜色模型法对图像进行全局检测, 直至检测出第i帧图像中包含乒乓球, 球心坐标记作Pci; 由于乒乓球在运动过程中前后位置具有相关性. 因此, 在第i+1帧图像中, 乒乓球的位置Pci+1通常处于Pci附近某个小区域内, 将该区域设定为感兴趣区域进行局部检测, 能够有效的提高乒乓球检测效率.
其中感兴趣区域的位置及区域大小的确定是该算法的核心问题, 需要作为离线参数在实时系统工作前确定下来. 本文中感兴趣区域的中心位置基于前一帧图像中乒乓球球心的位置Pc的, 假设当前帧为第i帧, 可以确定感兴趣区域的中心位置center:
$cente{r^i} = P_c^{i - 1}$ | (10) |
感兴趣区域的长宽H×W则是根据实验环境中, 运动的乒乓球在相邻帧之间的位移差得到. 其中, 乒乓球心在相邻帧图像间横坐标位移dxi与纵坐标位移dyi分别定义如下:
$d_x^i = |{P_c}_x^i - {P_c}_x^{i - 1}|$ | (11) |
$d_y^i = |{P_c}_y^i - {P_c}_y^{i - 1}|$ | (12) |
那么在i次实验统计中, 结合最大位置差与图像中乒乓球半径r与容错边界值b(经验值得到), 可以得到感兴趣区域的长宽值m'、n'分别为:
$W = 2(\max(d_x^1,d_x^2,\cdots,d_x^i) + {b_x} + r)$ | (13) |
$H = 2(\max(d_y^1,d_y^2,\cdots,d_y^i) + {b_y} + r)$ | (14) |
基于感兴趣区域算法的乒乓球实时跟踪方法能够有效的减少图像处理的工作量, 同时对于ROI区域可能出现的检测不到乒乓球的情况, 也设定了异常处理机制. 在提升图像处理速度的同时, 保证了乒乓球分割性能的稳定性. 经实验, 该算法的执行时间小于实验中相机设定的采样时间间隔10 ms, 能够与相机进行同步工作.
3 场景中乒乓球的提取与跟踪如图7所示, 以该环境作为实验环境, 通过多次实验统计得到乒乓球在RGB与HSV模型中的分割范围ThresholdRGB与ThresholdHSV, 具体阈值分布如表3所示.
根据表3中的分割阈值对图6进行乒乓球分割与提取, 提取结果如图8所示. 其中, 图8(a)与图8(b)分别为在单一的RGB颜色模型与HSV颜色模型下的乒乓球分割得到的效果图, 结果证明单一的颜色模型无法将乒乓球与颜色相近的机械手臂等干扰物体区分开来. 图8(c)为本文所提出的多颜色模型下的乒乓球分割效果, 分割效果较好, 对相近颜色区分度较高. 图8(d)为对图8(c)进行去噪处理后得到的效果图. 经过以上乒乓球分割效果的对比, 表明了多颜色模型下乒乓球分割算法的可行性.
在利用多颜色模型分割法进行乒乓球分割效果良好的前提下, 为了证实图像中乒乓球的定位精度满足乒乓球机器人的击球精度, 需要结合双目视觉的三维重建方法对定位效果进行检验.
表4展示了在图7所示的实验环境下, 结合OpenCV开源库中的相机标定技术与本文提出的乒乓球识别方法, 对乒乓球进行三维定位的部分数据. 其中, X、Y、Z的坐标方向如图9所示.
为了更直观的展示算法的实时性及有效性, 本文通过仿真平台对乒乓球的实时定位结果进行分析, 如图10所示, 其中黄色轨迹为实时定位数据的仿真复现. 轨迹仿真结果较为平滑, 证明了算法的鲁棒性. 以测量值为实际值, 通过多次试验对比得到: 重建后的乒乓球三维坐标位置与实际位置误差约为5 mm(距离相机3 m处)~20 mm(距离相机5 m处), 小于乒乓球拍半径长度(约75 mm), 满足乒乓球机器人的击球需要.
4 结论与展望
充分考虑了乒乓球所固有的颜色特征, 在分析各颜色模型的基础上, 提出了多颜色模型下的乒乓球分割算法. 结合RGB颜色模型与HSV颜色模型对复杂环境下的乒乓球进行分割操作, 以质心法对乒乓球进行精确定位. 同时采用基于前帧位置的ROI技术降低后续帧中乒乓球跟踪的时间开销, 达到实时跟踪的目的. 实验证明, 该算法处理时间小于10 ms, 定位误差小于20 mm, 满足乒乓球机器人系统的击球需要. 但本文中乒乓球定位的方法采取的是质心法, 在乒乓球运动过快的情况下会造成相机所抓取的图像包含运动模糊或部分缺失, 从而使得乒乓球的定位产生一定的误差, 需要进一步优化该算法, 这将是下一步需研究的内容.
[1] |
Sun YC, Xiong R, Zhu QG, et al. Balance motion generation for a humanoid robot playing table tennis. Proceedings of the 11th IEEE-RAS International Conference on Humanoid Robots. Bled, the Republic of Slovenia. 2011. 19–25.
|
[2] |
Zhao YS, Zhang YF, Xiong R, et al. Optimal state estimation of spinning Ping-Pong ball using continuous motion model. IEEE Transactions on Instrumentation and Measurement, 2015, 64(8): 2208-2216. |
[3] |
Zhang K, Fang ZJ, Liu JR, et al. An adaptive way to detect the racket of the table tennis robot based on HSV and RGB. Proceedings of the 34th Chinese Control Conference. Hangzhou, China. 2015. 5936–5940.
|
[4] |
Koç O, Maeda G, Peters J. A new trajectory generation framework in robotic table tennis. Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems. Daejeon, Korea. 2016. 3750–3756.
|
[5] |
Huang YL, Scholköpf B, Peters J. Learning optimal striking points for a Ping-Pong playing robot. Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems. Hamburg, Germany. 2015. 4587–4592.
|
[6] |
张远辉, 韦巍. 在线角速度估计的乒乓球机器人视觉测量方法. 浙江大学学报(工学版), 2012, 46(7): 1320-1326. |
[7] |
张德龙. 乒乓球机器人视觉伺服关键技术研究[硕士学位论文]. 郑州: 郑州大学, 2014.
|
[8] |
郏海峰. 无标记仿人乒乓球机器人本体视觉系统及其轨迹预测研究[硕士学位论文]. 杭州: 浙江大学, 2016.
|
[9] |
章逸丰, 熊蓉. 乒乓球机器人的视觉伺服系统. 中国科学: 信息科学, 2012, 42(9): 1115-1129. |
[10] |
Zhang ZT, Xu D, Tan M. Visual measurement and prediction of ball trajectory for table tennis robot. IEEE Transactions on Instrumentation and Measurement, 2010, 59(12): 3195-3205. |
[11] |
张正涛. 乒乓球机器人视觉测量与控制[博士学位论文]. 北京: 中国科学院研究生院(自动化研究所), 2010.
|
[12] |
张远辉. 基于实时视觉的乒乓球机器人标定和轨迹跟踪技术研究[博士学位论文]. 杭州: 浙江大学, 2009.
|