本发明涉及一种高尔夫模拟器的技术领域,尤其涉及一种高尔夫击打触发器及其感测方法。
背景技术:
视觉击打触发器可以连续感测场景以及环境图像,每一幅图像都蕴含着大量的信息,其中既包含有效信息,也包含大量的无用信息。而那些感兴趣的有效信息,可以通过单幅或者多幅图像的分析、提取、比对等方式获得。
目前已知的运动物体击打触发器,特别是高尔夫的视觉击打触发器,需要借助多个摄像头或者结合其他传感器进行感测,其对环境有较高要求(如特定的光照条件、球不可遮挡、场景内不可有多个目标球等)。在高尔夫击打触发设计上,通常采用红外传感器或声纳传感器完成,当球越过红外线,或击打产生的声音被这类传感器接受到,经过一定的处理判断,实现触发。
此外,对于用于视觉感测的摄像头普遍有较高的要求,一般地,需要配备全局快门,具备高速运动物体拍摄能力,超过400fps的帧率,特殊的焦距,高解析度和高分辨率等。
高尔夫模拟器是利用计算机图形图像处理技术将国际标准高尔夫球场资料装入系统静态存储器中。当系统运行时,计算机便自动将该球场资料输入系统内部动态存储器,并通过超大屏幕投影机将球场景观逼真地投射到打球者前面的耐撞击屏幕上,高尔夫模拟器使打球者有一种身临球场的感受,高尔夫模拟器是仿真室外高尔夫而做的一项室内高尔夫运动。
技术实现要素:
本发明的目的在于提供一种仅使用普通民用摄像头的普遍适用性的高尔夫击打触发器及其感测方法。
本发明的另一目的在于提供一种利用图像处理算法、提高触发相应速度的高尔夫击打触发器及其感测方法。
本发明提供一种高尔夫击打触发器,用于高尔夫模拟装置,其包括:对使用者使用高尔夫球杆状态进行拍摄的一摄像头、以及与该摄像头连接且用于处理摄像头所获取的图像的图像处理装置;其中,所示图像处理装置包括:处理由所述摄像头获取图像并标记该图像的预处理模块、检测高尔夫球的运动状态和触发状态的准备击打状态模块、以及记录击打高尔夫球的有效帧图像的后处理模块。
本发明又提供一种高尔夫击打触发器的感测方法,包括如下步骤:
步骤S1:获取使用者准备使用高尔夫球杆击打高尔夫球状态的图像、并处理和标记该图像;
步骤S2:识别图像中的高尔夫球、检测高尔夫球的运动状态和触发状态。
步骤S3:读取图像队列里击打高尔夫球的有效帧图像和建立相应的时间轴,并按时间轴顺序保存有效帧图像。
本发明不借助其他传感器的辅助,只使用普通民用摄像头,为一种具备普遍适用性的高尔夫击打触发器,单目实现高尔夫击打触发器的设计;本高尔夫击打触发器利用图像处理算法,提高触发响应速度,同时提高图像处理技术对多种环境因素的抗性。
附图说明
图1所示为本发明实施例的高尔夫模拟装置的结构示意图;
图2所示为图1所示高尔夫模拟装置的击打触发器的组成示意图;
图3所示为图2所示击打触发器的触发方法的过程示意图;
图4为图3所示触发方法的步骤S1的过程示意图;
图5为图3所示触发方法的步骤S2的过程示意图;
图6为图3所示触发方法的步骤S3的过程示意图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。在以下详细的描述中,列出了许多具体的细节,以提供对权利要求所保护的主题的透彻理解。但是,本技术领域的人员将会理解,权利要求所要求保护的主题可以被实施,而不需要这些具体的细节。另外,显而易见地,下面描述仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些实施例获得其他的实施例。另外,被普通技术人员熟知的方法、设备或系统没有被详细描述,以避免使得权利要求所保护的主体变得不明显。
本发明揭示一种用于高尔夫击打触发器,请参阅图1所示为高尔夫模拟装置的结构示意图,其中高尔夫模拟装置100应用在屏幕高尔夫系统上、用于感测使用者1使用高尔夫球杆2的模拟装置。该高尔夫模拟装置100包括用于感测使用者1使用高尔夫球杆2状态的击打触发器。
在本实施中,击打触发器包括对使用者1使用高尔夫球杆2状态进行拍摄的一摄像头3、以及与该摄像头3连接且用于处理摄像头3所获取的图像的图像处理装置4。
其中,摄像头3为普通的民用摄像头,其不具备图像优化与高解析高分辨要求、且无全局快门摄像能力;摄像头3的帧率满足一般的20-80fps,其曝光率可调;摄像头3拍摄出来的影像为单目视觉图像(单目视觉是指仅利用一台摄像机完成定位工作);摄像头3拍摄的图像为低曝光度(低曝光度是指通过调整镜头快门速度,以及镜头光圈大小,降低镜头进光量,得到的较为昏暗的图像)。
本击打触发器经过光照与阴影的抗性设计,当遮挡或高尔夫球遮挡时,摄像头3无法获取图像,本击打触发器具备多干扰抗性能。
本击打触发器经过光照与阴影的抗性设计、基于梯度特征训练的识别方法、以及过程中特征集的更新与学习,同时还包括图像的软件预处理(如:软件补光、滤波、形态学处理、去噪)。高尔夫球遮挡、非击打移动抗性,以及高尔夫球击打准备的快速恢复,采用图5所示方法快读提取的高尔夫球物理信息进行处理。
本发明通过摄像头3实现高尔夫击打触发的目的;本发明利用图像处理装置的图像处理算法,提高触发响应速度,同时提高击打触发器对多种环境因素的抗性。
请参阅图2所示,在本实施例中,图像处理装置4读取由摄像头3所获取的图像进行预处理、变成可以被进一步有效信息提取的可用图像。该图像处理装置4包括:处理由摄像头3获取图像并标记该图像的预处理模块41、检测高尔夫球的运动状态和触发状态的准备击打状态模块42、以及记录击打高尔夫球的有效帧图像的后处理模块43。
预处理模块41提取高尔夫球的物理信息包括:高尔夫球的大小、纹理、轮廓、位置等,利用提取到的高尔夫球物理信息进行实时判断使用者1目前在推杆过程中的状态。
该预处理模块41包括:对摄影头3获取图像进行处理的图像补光单元411、对由该图像补光单元处理的图像进行滤波处理的图像滤波单元412、以及对由该图形滤波单元412进行处理和标记的形态学处理及聚类单元413。
图像补光单元411:根据局部光照条件,进行图像亮度的补偿。图像滤波单元412:主要分为环境噪点的滤波、以及亮度噪点的滤波,去除图像的杂质同时对反光的高亮区域进行处理。形态学处理及聚类单元413:用于将图像中各个物体分割开,并聚类用不同的符号标记。
准备击打状态模块42包括:检测图像是否有高尔夫球的背景分离单元421、对高尔夫球的物理状态分析的识别器422、以及检测高尔夫球的运动状态和触发状态的检测单元423。
背景分离单元421:使用背景差、分离前景物体,根据形态学处理及聚类单元413的结果记录,具体利用混合背景模型的构建,有效的检测出所有前景,即检测图像中的高尔夫球。通过背景分离单元421,剔除了击打触发器无效信息并缩小可能有效信息区域,大大提高了运算的效率。识别器421:训练利用纹理梯度、轮廓、像素密度,识别各个前景物体,寻找高尔夫球,再利用形状特性,定位球的位置。检测单元423:根据球所在的不同位置,判断球所处的运动状态,并利用检测到的高尔夫球的不同运动状态判断击打触发与否。
击打触发后进入后处理模块43,该后处理模块43包括:提取高尔夫球击打状态的有效帧图像的帧选取单元431、以及制定每个帧图像时间轴的时间轴设定单元432。
其中,单帧图像就是指一幅静止的画面。帧——就是影像动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜头。单帧就是一幅静止的画面,连续的帧就形成动画,如电视图象等。
帧选取单元431:选取有效帧,摄像头3感测的图像以环形队列形式连续地、循环地保存在缓存中。当击打触发后,由于击打触发帧的的有效性,以此为原点,用向前回溯以及向后延伸的方式提取有效帧。时间轴设定单元432:为每一帧图像制作时间轴,以便其他信息的计算,同时根据环形队列的性质,结合对应的时间轴,将有效帧按时间顺序保存下来。
本高尔夫模拟装置的击打触发器基于高尔夫球物理信息的击打状态判断,根据实时的击打触发球和对有效运动帧图像的选择和储存,并根据鲁棒的背景模型构建与学习,构建高尔夫模拟装置。
本发明还揭示一种用于高尔夫模拟装置的感测方法,请参阅图3所示,本感测方法包括如下步骤:
步骤S1:采用预处理模块41,获取使用者准备使用高尔夫球杆击打高尔夫球状态的图像、并处理和标记该图像。
步骤S2:采用准备击打状态模块42,识别图像中的高尔夫球、检测高尔夫球的运动状态和触发状态。
步骤S3:采用后处理模块43,读取图像队列里击打高尔夫球的有效帧图像和建立相应的时间轴,并按时间轴顺序保存有效帧图像。
本发明结合背景模型与高尔夫球物理信息的快速触发判断。采用图5所示方法提高对多干扰的抗性,利用连续帧以及背景模型,在一定的比对规则下快速缩小并提取兴趣区域,再利用高尔夫球物理信息检测触发。
请参阅图4所示为预处理模块的感测方法步骤图,也即上述步骤S1的具体步骤,预处理模块41的补光单元411对摄像头3获取的图像具有如下处理步骤:
步骤A1:读入由摄像头3获取使用者1准备使用高尔夫球杆2击打高尔夫球状态的低曝光度图像。
步骤A2:低曝光度图像由红绿蓝三通道的数据形成空间转换为灰度图像表示(具体为0-255的灰度形成的单通道值进行表示)。
步骤A3:统计灰度图像的直方图,根据直方图特征将图像像素进行压缩,减少反光干扰。
步骤A4:根据像素概率局部峰值的分布,判断图像可用性,对可用图像进行局部补光。
其中,局部补光采用小区域统计的自适应阈值进行,目的是似的图像亮度分布均匀、柔和。
步骤A5:经过补光处理后的图像,如果确定可用,继续下一步;如果确定不可用,重复上述步骤A1至A4的步骤,直至确定可用为止。
步骤A6:根据灰度图像的上下限,进行图像像素的展宽,提高图像的对比度。
上述处理后,原本低曝光度图像变成一幅亮度均匀、对比度高、可视性好的图像。
在对低曝光度图像处理的的过程中,低曝光图像的噪音等杂质也被放大,预处理模块41的图像滤波单元412对由补光单元411处理后的图像进行滤波去噪处理。
图像滤波单元412先采用中值滤波在最大限度的保留边缘以及纹理信息的情况下去除椒盐噪点,再采用高斯滤波平滑整体图像的像素值。聚类之前,再通过形态学处理及聚类单元412的形态学滤波,去除无意义的类噪点。最终经过形态学处理及聚类单元412的聚类单元,得到一幅较纯净且平滑的高清晰图像,并较完整的标记出不同的物体图像。
经过该预处理模块41处理得到据标记的高清晰图像、并将该图像输入至准备击打状态模块42。
请参阅图5所示为准备击打状态模块的感测方法步骤图,图5示意了从系统初始化状态、到准备状态,再到触发状态的检测过程。
准备击打状态模块42包括如下步骤:
步骤B1:读取一张经过预处理图像的初始状态。
步骤B2:先采用背景分离单元421,再采用识别器422,检测到图像中是否有高尔夫球,如果有,进入下一步准备状态;如果没有,继续步骤B1的读取图像。
采用预先用高尔夫球纹理、梯度、像素密度特征训练好的识别器422,进行高尔夫球的识别,再利用形状信息计算高尔夫球的位置、大小等物理信息。当在上述的特定区域检测到的高尔夫球的物理信息满足可击打条件,则系统进入准备状态。
步骤B3:准备击打高尔夫球的准备状态,准备状态内学习并更新背景模型,以便后续高尔夫球运动信息的检测。
步骤B4:在准备状态内,采用检测单元423持续检测高尔夫球的运动状态,并结合高尔夫球物理的位置信息。
如果高尔夫球不是运动状态,则回到步骤B3;如果高尔夫球处于运动状态,继续进入下一步。
步骤B5:当高尔夫球位置产生变化时,判断高尔夫球的运动状态,是否由于干扰、遮挡、光照变化等环境因素造成误判,如果不是,则进入步骤B6或步骤B7;如果是,回到步骤B3。
步骤B6:是否满足瞬发条件,如果是,则进入步骤B8;如果不是,则进入步骤B7。
为提高击打触发的体验和实用性,击打触发器引入瞬发机制。瞬发机制是在准备状态与触发状态切换时进行判断的。若高尔夫球在遮挡或者其他环境原因,无法被摄像头3捕获时,当高尔夫球再次出现,且高尔夫球的物理位置与之前状态球的物理位置满足特定关系时,击打触发器忽略之前环境的干扰,直接完成击打状态的切换,触发计数加一。
这么做的目的是为了解决挥杆瞬间环境总是存在干扰的问题,由于杆的运动、人的阴影、手或杆对球的遮挡等情况,挥杆瞬间总是比一般时候存在更大的干扰,为保证触发的响应速度,采用瞬发装置,在干扰下依然实现触发的准确判断。
步骤B7:持续判断一段时间的高尔夫球运动状态,若其运动状态一直满足触发条件,触发计数大于阈值后,击打触发器进入触发状态。
步骤B8:检测高尔夫球的触发状态,即:检测使用者1使用高尔夫球杆2对高尔夫球进行触发打击。
请参阅图6所示为后处理模块43的感测方法步骤图,即:上述步骤S3的具体步骤,高尔夫球击打触发之后的后处理过程43。
后处理模块43包括如下步骤:
步骤C1:触发响应之后,先停止环形队列的读写操作,即不再将摄像头感测到的数据写入缓存,这样确保了有效帧能正确的保留在图像队列中;再采用帧选取单元431,从图像队列里读取击打高尔夫球的有效帧图像。
步骤C2:采用时间轴设定单元432,将队列里每一帧的截取时间记录下来,保存对应的时间轴。
步骤C3:以触发帧为原点,在缓存的图像队列里,按一定的范围的有效图像帧保存下来。
由于触发帧一定是有效帧,且一般为击打的第2帧,击打触发器利用这个规则可以大大的减小用于保存图像的队列长度以及有效帧搜索范围。这样提高了运算的效率。
采用回溯的方式,避免有效帧的丢失。利用击打触发帧的有效性,以此作为提取原点,回溯以及延伸提取一定数量帧。其中,由于触发帧必定包含高尔夫球球信息,换言之触发帧必定是有效的,以此帧作为起点向前、向后提取的帧,必定与有效帧存在子集关系,此设计方法,大大减少内存占用量以及运算时间,提高触发的实时性。
步骤C4:当触发以及有效帧都保存完成之后,击打触发器根据之前记录的图像截取时间,建立相应时间的时间轴,并按照时间轴由小到大的顺序将有效帧图像按截取顺序保存下来。
整个击打触发器的设计以及触发流程也就完成了。
本发明还揭示一种高尔夫模拟装置,其包括上述击打触发器。
本发明不借助其他传感器的辅助,只使用普通民用摄像头,为一种具备普遍适用性的高尔夫击打触发器,单目实现高尔夫击打触发器的设计;本高尔夫击打触发器利用图像处理算法,提高触发响应速度,同时提高图像处理技术对多种环境因素的抗性。
以上对本发明的具体实施例进行了详细说明,但内容仅为本发明创造的典型实施例,不能被认为用于限定本发明创造的实施范围。凡依本发明创造申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。