图像处理在乒乓球智能计分中的应用

2022-08-19 06:18童雨辉李万彬王巾铨陈飞扬许淑萍
电子测试 2022年15期
关键词:计分发球灰度

童雨辉,李万彬,王巾铨,陈飞扬,许淑萍

(华北电力大学,北京,102206)

0 引言

乒乓球这项运动在社区、高校、公园中的出现十分频繁。我们想设计出一种简便的智能计分系统,作为辅助设备辅助裁判计分。以视频检测的方法跟踪球的轨迹在其他运动中已有使用,譬如在大型网球场使用的“鹰眼”。同时,乒乓球智能计分在国内外有不同的研究与设计。美国佐治亚学院的王中林设计出一种木基摩擦电传感器应用于乒乓球台的乒乓球检测系统;哈尔滨工程大学的马丞浩设计了以加速度传感器和单片机芯片为主体的智能计分系统[1]。目前,OpenCV在图像处理、模式识别、目标检测与跟踪方面较为突出,我们通过OpenCV处理得出目标图像并分析出乒乓球的运动轨迹。本文所提出的计分系统使用OpenCV技术对初始图像进行一系列处理得出目标图像,将目标图像输入编写的计分程序中进行计分。

1 系统总体设计

1.1 图像预处理

我们对解帧后得到的一组图像进行读取,把每一帧图像进行分析和处理,进行灰度化处理和去噪处理将视频图像进行简化和降低模糊,在经过帧间拆分法以及二值化变换之后,我们就可以将图像中的轮廓提取并除去背景的干扰,最后在腐蚀膨胀等形态学处理后,我们就得到了初阶段的目标图像。

1.2 感兴趣区(ROI)提取

对运动目标的检测和乒乓球台的检测即感兴趣区的提取。在计分中,乒乓球台区域就是我们的感兴趣区。我们通过矩阵运算来定义此区域,然后利用函数将区域外的非感兴趣区设定为像素为0,只保留感兴趣区的像素值。这样就得出了局限于乒乓球台区域的图像。

1.3 乒乓球的轨迹分析

在上述处理完成后的图像上建系,通过帧间拆分法分析出目标轮廓,再基于乒乓球圆形的形状,以形状阈值分割准确提取出圆形的乒乓球区域。提取出乒乓球区域后,再通过矩阵算法计算出圆形区域的质心并输出坐标。

1.4 自动计分方法

在得到质心坐标的变化曲线后,就可以设置逻辑算法,分析出乒乓球的碰案、触网等特征动作,再结合发球方、接球方判断得分方。

2 视频预处理

2.1 读取帧

我们利用操作符:capture>>frame对视频进行读取,将视频按帧展开进行读取。

2.2 灰度化处理

摄像机传输的视频图像是彩色图像,每一个像素有R(红)、G(绿)、B(蓝)三个通道,像素值介于0-255之间,而灰度图像只会占用一个通道,极大地减少了计算机的计算量,提高系统的运行速度,故将视频图像灰度化处理十分必要。

我们用下面的OpenCV函数进行灰度化处理:

void cvtColor(InputArray src,OutputArray dst,int code,int dstCn=0)

其中InputArray src为输入图像,OutputArray dst为输出图像,int code是颜色转换空间标志符,int dstCn=0为目标图像的通道数,如果该参数为0,通道数就会取原图像的通道数[2]。灰度化处理时,Code参数为CV_RGB2GRAY。

2.3 去噪

由于中值滤波更适用于处理椒盐噪声和脉冲噪声,我们选取中值滤波去噪。

我们利用如下的OpenCV函数:

其中:src——输入图像;

dst——输出图像, 与src同类型;

ksize——内核大小(由于我们选取正方形窗口,只用到一个值),为奇数[3]。

2.4 帧间差分

帧差法是对两帧图像运算,得到图像相应位置像素值差的绝对值,判定它是否大于某一阈值,分析图像序列中目标物体的运动特性。其数学公式描述如下:

其中,In指视频序列中第n帧图像在像素位置的像素值,In-k指同一视频序列中第n-k 帧图像的像素值,Dn指两帧图像的像素差值,k即帧间隔,Fn指统计前、背景区域的二值图,1为前景,0是背景;T指系统设定的阈值。我们使用改进于相邻帧差法的三帧差法。

2.5 图像二值化

图像的二值化可以简化图像,使图像的轮廓更清晰。

按图像的灰度值,可以把图像分成背景和前景。方差是判断灰度分布均匀性的一种度量,类间方差越大说明形成图像的背景与前景的差别越大,它们之间的错分都会导致它们之间的差别变小。因此,使类间方差最大的分割方法同时就是使前景和背景错分最小的方法。

在OpenCV中,我们使用如下函数:

Double threshold(InputArray src,OutputArray dst,double maxval,int type)

其中src为输入组(单通道,8或32位浮点类型的Mat),dst用于存放输出结果,且和第一个参数中的Mat变量尺寸类型一致,thresh为二值化的阈值,maxval为type取THRESH_BINARY或THRESH_BINARY_INV时的最大值,type为阈值类型。

2.6 形态学处理

二值图像的形态学操作有:腐蚀、膨胀、开运算、闭运算[6]。

腐蚀图像可以对边界进行清除,使图像的边界向内部收缩,从而达到缩小目标图像的目的,主要用于把边界上无用的点消除。公式如下:

其中,用B代表卷积核,A代表原图像

膨胀与腐蚀的目的相反,膨胀就是合并边界点,使目标边界向边界点外扩张。主要用来填充目标区域中的可能出现的漏点,也可以在一定程度上消除目标区域中的噪声。公式如下:

开、闭运算是腐蚀和膨胀的组合操作,区别就在于膨胀与腐蚀的操作顺序。开运算是先腐蚀图像,然后再对图像进行膨胀操作,一般用于清除小粒的噪音,消除图像的离散点。闭运算则与开运算相反,先膨胀再腐蚀,闭运算可以填充图像里的微小空洞,连接位置靠近的多个目标。开、闭运算将腐蚀和膨胀组合使用,在对目标区域进行处理的同时又不明显改变图像区域的面积。

3 感兴趣区提取

3.1 感兴趣区

在拍摄时,由于拍摄视角广,会捕捉到其他背景区域,而这些背景会干扰乒乓球捕捉。为了降低背景干扰,我们设置了一个对应乒乓球台区域的感兴趣区。

3.2 乒乓球桌区域提取

在拍摄角度看,球桌形状为梯形,我们利用矩阵定义该区域,把对图像进行的操作转换成对矩阵的操作。矩阵运算时一般习惯上依次用高度、宽度的顺序对应矩阵中的行与列。那么,我们可以利用图像矩阵运算来定义这个梯形区域。我们通过img.shape()函数获取视频序列的宽度和高度,则左下角的点可表示为[width*a,height*b],其中a,b小于1。据此表示出四角的坐标。接着,生成掩膜图像。掩膜可以对原图像进行遮挡过滤[5],我们对非感兴趣区域进行遮挡,将感兴趣区设置为白色,将不相关区域设定为黑色。最终只会保留感兴趣区的像素值,而非感兴趣区像素值为0,被黑色遮掩。

4 乒乓球检测与跟踪

4.1 拍摄方法

我们采用两台摄像机,在水平侧边以及球台上方两个位置分别放置。侧边摄像机可以捕捉到乒乓球在空中的曲线,顶部则可以捕捉到乒乓球的落点,结合两部摄像设备就可以较为准确地恢复出乒乓球的三维轨迹。

4.2 建立坐标系

侧视角度:以球网与台面交点为中心点建立z坐标系。俯视角度:以球桌中心为原点建立xy坐标系。

4.3 基于形状的乒乓球识别

设图形的半径为r,则其的周长为C=2πr,面积为S=πr2,那其形状就可以描述为一个相对不发生变化的值:

4.4 乒乓球跟踪

4.4.1 质心定位

本文利用轮廓的矩计算乒乓球区域质心。计算方式如下:

一阶矩为:

质心的横纵坐标公式为:

由于像素点的灰度值都为1,则M00为轮廓点的个数,M10为所有点的行坐标数值和,M01为所有点列坐标的数值和。

5 自动计分方法

设球从左向右飞行,桌面长为a,宽为b,设圆心坐标为(x0,y0,z0),球半径为 r,球网高h。

5.1 出界判断

当x0≥ a/2或y0≤-b/2或y0≥b/2且z0>r且5秒内图像中无乒乓球出现时,球出界。

5.2 碰案判断

当 -a/2<x0<a/2 且 -b/2<y0<b/2 且 z0=r 时,球碰案。

5.3 打网判断

当 z0<h 且下一帧 x0<0 时,球打网。

5.4 计分方法

假设球碰案的次数为n,假设左方得分为L,右方得分为R,球心坐标为(x,y,z)。

当比赛开始时,首先进行发球方的判断:当乒乓球首次出现在画面中时x<0为左方发,x>0为右方发;然后进行擦网判断:(当x在[-r,r]区间内时,z在[h-r,h+r]区间内时,即为擦网)。

重发判定:当已判定为擦网时,若球下一次碰案所对应的x2坐标与前一次碰案所对应的x1坐标符号相反,则判断为“发球擦网”,发球方重新发球。(当n>2后不再判断是否重发)。

得分判断:现在假设是左方发球、当右方发球时结果互换。当已判断为左方发球后,如果在5秒内n的值依旧为0,即发球未上案,右方直接得分;当某一次碰案所对应的xn与上一次碰案所对应的xn-1的正负号相同时,判断n的奇偶性,如果n是奇数即为右方击球失误,左方得分、如果n是偶数那么表明左方击球失误,右方得分;在n≥1时判断,若在5秒内n的值没有变化,则为某一方击球失误,如果n是奇数则为左方失误,右方得分,如果n是偶数则为右方失误,左方得分[7]。

终局判断:若L=11,且0≤R≤10,则为左方赢下本局;若R=11,且0≤L≤10,则为右方赢下本局;若L=R=10时,只要在此后|L-R|=2,则本局结束,若L>R左方赢、若R>L右方赢。

6 结论

本文设计的乒乓球智能计分系统主要依靠图像处理得出乒乓球轨迹,并通过设定的算法将轨迹化为数字信号,在对数字信号的整合分析后就可以判定出乒乓球的特征动作,最后结合发球与接球判断得分。在整个系统上来看,乒乓球轨迹的得出及其数字化是计分的核心工作。

摄像的角度、拍摄场所的光线、拍摄设备的清晰度等影响成像的因素都会对本文的计分系统产生干扰。在视频获取时,均匀的光线、摄像设备的高速捕捉能力等都会利于乒乓球轨迹的提取进而提高分值判断的准确度。在实际应用中,可以把计分系统当做裁判的辅助工具来使用。

猜你喜欢
计分发球灰度
航空滤光片阵列多光谱图像条带灰度调整算法
多级计分测验中基于残差统计量的被试拟合研究*
采用改进导重法的拓扑结构灰度单元过滤技术
对当今世界高水平男排比赛发球体系的研究
带定性判断的计分投票制及其公理刻画
天津港智慧工作平台灰度发布系统和流程设计
Arduino小车巡线程序的灰度阈值优化方案
高级教师评审倾力一线教师
夺宝园
发球上网的步伐