曹晓明, 高宏力, 张 洁
在拍摄过程中,与足球、乒乓球不同,羽毛球外形轮廓在一直变化,白颜色较背景差异较小,故在运动检测的方法和策略的选取上必然会有一些差别。现阶段,羽毛球运动在工业和机器人领域也有了一定的研究成果。苏振阳等人针对羽毛球裁判系统提出了基于机器视觉的系统设计研究方案,提高了羽毛球落点判定效率[1]。陈兵琪等人对羽毛球进行单相机实时采集,基于羽毛球运动特性进行复杂背景的运动检测,并分析羽毛球的运动类型[2]。廖之健等人通过研究羽毛球各种类型球运动参数,设计了羽毛球自动发球机的控制系统。
本文对羽毛球动态轨迹进行采集与处理,对比分析了几种常用运动检测算法的效果和差异,基于三帧差算法对羽毛球运动轨迹进行检测,并根据轮廓外接矩形面积,检测帧间隔,羽毛球运动特性,轨迹点数量改进检测策略,实现了对羽毛球运动单次轨迹的有效提取。通过对Basler双目相机进行基于硬件触发的同步曝光、采集、处理,基于双目标定结果进行羽毛球运动的三维测量并拟合出运动轨迹[3],通过落点位置的测量对本文方法进行了实验验证与精度分析。
视觉硬件搭建方式如图1所示。对双目Basler工业相机采用硬件触发的方式进行同步曝光,获取左右相机拍得的羽毛球运动图像序列。Basler相机型号为Aca2040,90 μm,分辨率最高可达2 048像素×2 048像素,帧率在最高分辨率的情况下可达到90帧/s,完全可以满足运动检测的需求,镜头选取KOWA的6 mm大视场短焦镜头,相机接口为USB3.0,可接入电脑进行采集处理。
图1 视觉硬件系统
本文采用Basler相机pylon SDK在VS2013环境下对相机进行硬件触发模式的调用,并将获取的图像转换为Mat类图像,便于后续处理。羽毛球轨迹检测流程如图2所示。基于三帧差算法进行检测,根据轮廓信息、外接矩形面积、帧间隔、运动特性、轨迹点数量统计获取羽毛球各次运动轨迹。
图2 羽毛球轨迹检测流程
双目视觉获取羽毛球空间轨迹的流程如图3。使用平行式双目视觉模型,基于左右相机检测坐标,计算出羽毛球的空间坐标,从而获得空间轨迹。
图3 羽毛球空间轨迹检测流程
由于光流法的实时性相较较差,故本文针对背景差法、帧间差分法、三帧间差分法进行比较分析[4,5]。对于羽毛球的检测效果如图4所示。可见背景差算法对羽毛球的提取最为完整,帧差法和三帧差法的提取效果相近。但背景差算法检测到的干扰较多,三帧差算法检测到的干扰较少。
图4 运动目标检测算法对比
帧间差法运算量小,但对较大和颜色一致的运动目标检测时容易产生重影和空洞。三帧差算法是基于帧差算法的改进,对第k-1,k,k+1帧的三帧差分图F(x,y)表示为
(1)
(2)
F(x,y)=F1(x,y)∩F2(x,y)
(3)
本文采用基于三帧差算法进行羽毛球运动检测。
由于检测目标为视场中运动的羽毛球,故对图像进行截取,只检测图像中上部分。基于中值滤波降低图像噪声。基于图像差分与运算后,进行轮廓提取,获取各轮廓的外接矩形。针对羽毛球目标小的特点,先对提取前景进行基于矩形框面积的筛选,即图2中Thresh1和Thresh2,分别表示面积Area筛选的下限和上限。将识别的最小外接矩形框中心作为羽毛球测量的图像坐标,以此为圆心绘制圆至第一帧图像上,显示效果如图5。可以看出,羽毛球的运动轨迹通过叠加后显示明显,但需要对单次轨迹进行提取,并剔除伪轨迹和干扰点。
图5 三帧差初步效果
在实际检测过程中,需要对羽毛球单次轨迹进行获取,引入帧间隔Δf概念,表示当前帧序号和上一次识别到运动目标帧序号的差。当帧间隔超过阈值Thresh5时,则视为一次运动轨迹完成。但还需要对短序列轨迹的干扰进行剔除,故需要统计轨迹目标个数Fnum。当Fnum超过设定阈值Thresh6时才将轨迹视为待检轨迹。前4次轨迹获取效果如图6所示。可以看出,每次轨迹提取状况良好,但在第二次和第四次轨迹中,可看到明显的干扰点,第三次轨迹则直接为人进入场中产生的干扰轨迹。所以需要根据羽毛球的运动特性对轨迹检测进一步优化[6]。
图6 前4次轨迹检测效果
由于羽毛球在空中运动,相邻帧间运动的羽毛球相距较近,其他干扰与其相距较远,故当相邻运动帧都检测到多个运动点时,获取当前帧检测点和上一帧检测点间距离最短的两个点作为两帧中羽毛球的坐标点。并基于羽毛球的运动速度,基于阈值Thresh3和Thresh4,将不符合运动距离的点剔除。由于羽毛球运动横向是朝一个方向运动的,纵向上升和下降过程的运动方向也是一致的,故基于Δx2·Δx1和Δy2·Δy1判断运动方向是否一致。其中Δx2表示当前检测帧和前一检测帧检测坐标的横向差值,Δx1表示前一检测帧和前两检测帧检测坐标的横向差值。Δy1和Δy2则对应纵向差值。最终检测流程如图2所示,检测效果如图7。
图7 轨迹检测优化
获取到羽毛球运动目标后,便可根据左右相机目标坐标进行三维轨迹重建[7]。平行式双目视觉模型,如图8所示。
图8 平行式双目视觉模型
设空间点P在左、右相机的图像点为p,p′。其三维坐标计算如式(4)。图中B为基线距离,f为焦距,xR,yR为点P在左图像中的横、纵图像坐标值,xT,yT为点P在右图像中的横、纵图像坐标值,D为左右图像视差[8]
(4)
通过双目相机对羽毛球运动进行检测[9],得到其空间轨迹,和实际情况进行对比,分析轨迹的测量精度。为了实验的方便,从相机同侧发球,羽毛球向相机对面运动。出于实时性和测试的考虑,相机采集图像分辨率设置为640像素×480像素,触发信号为30 Hz的方波。
使用MALTAB工具箱进行相机标定[10],得到双目标定结果如表1。
表1 左右相机内参数标定结果
根据获取的左右目标坐标信息和双目标定结果,获取各次轨迹的空间坐标[11],并对空间轨迹进行拟合,效果如图9所示。
图9 3次运动轨迹
定性分析:3次轨迹羽毛球落点区域如图10所示。由图9和图10可以看出,羽毛球的轨迹得到了较好的重现,并且符合3次运动的空间位置,当羽毛球落地后,处在同一水平面上。
图10 羽毛球落点区域
定量分析:通过实际直接测量每次羽毛球最终落点的信息,比对使用双目视觉测量得到的结果,对测量结果进行定量分析。3次落点的测量结果、实际结果、测量误差如表2。
表2 3次轨迹最终落点的测量结果 mm
可以看出,检测误差均在5.2 cm以内,平均误差为2.973 cm,测量精度较为良好。
基于三帧差算法对羽毛球运动进行检测,并对轨迹检测进行了改进优化,可有效地提取羽毛球的单次轨迹。使用双目工业相机进行硬件触发,同步获取羽毛球的左右像素坐标,基于双目标定结果最终获取羽毛球的运动空间轨迹。通过对测量结果进行定性和定量的分析,说明了视觉测量运动目标空间轨迹的可行性和有效性。
参考文献:
[1] 应文杰,徐 开,徐少平.羽毛球机器人机械臂运动轨迹多目标规划[J].计算机工程与应用,2017,53(3):258-265.
[2] 陈兵旗.机器视觉技术及应用实例详解[M].北京:化学工业出版社,2014.
[3] 王婷婷,李 戈,赵 杰,等.基于双目视觉的运动目标检测跟踪与定位[J].机械与电子,2015(6):73-76.
[4] 黄成都,黄文广,闫 斌.基于Codebook背景建模的视频行人检测[J].传感器与微系统,2017,36(3):144-146.
[5] 吕嘉卿,刘立程,郝禄国,等.基于视觉背景提取的自适应运动目标提取算法[J].计算机应用,2015,35(7):2029-2032.
[6] 张远辉.基于实时视觉的乒乓球机器人标定和轨迹跟踪技术研究[D].杭州:浙江大学,2009.
[7] 王 琳,赵健康,夏 轩,等.基于双目立体视觉技术的桥梁裂缝测量系统[J].计算机应用,2015,35(3):901-194.
[8] 张 娟,潘建寿,吴亚鹏,等.基于双目视觉的运动目标跟踪与测量[J].计算机工程与应用,2009,45(25):191-194.
[9] 张 梁,徐锦法.基于双目视觉的无人飞行器目标跟踪与定位[J].计算机工程与应用,2014,50(24):27-31.
[10] 蔡 珲.视觉测量中的摄像机标定与三维重建方法研究[D].哈尔滨:哈尔滨工业大学,2013.
[11] 王耀东,余祖俊,石井抱.高速立体视觉与机械运动异常动作三维检测[J].仪器仪表学报,2013,34(10):2161-2169.