CN105183849B - 一种斯诺克比赛视频事件检测与语义标注方法 - Google Patents

一种斯诺克比赛视频事件检测与语义标注方法 Download PDF

Info

Publication number
CN105183849B
CN105183849B CN201510564255.5A CN201510564255A CN105183849B CN 105183849 B CN105183849 B CN 105183849B CN 201510564255 A CN201510564255 A CN 201510564255A CN 105183849 B CN105183849 B CN 105183849B
Authority
CN
China
Prior art keywords
slitting
event
sportsman
detection
score
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
Application number
CN201510564255.5A
Other languages
English (en)
Other versions
CN105183849A (zh
Inventor
于俊清
黄易欣
何云峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201510564255.5A priority Critical patent/CN105183849B/zh
Publication of CN105183849A publication Critical patent/CN105183849A/zh
Application granted granted Critical
Publication of CN105183849B publication Critical patent/CN105183849B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually

Abstract

本发明公开一种斯诺克比赛视频事件检测与语义标注方法,包括:全台面镜头的检测;比分条信息提取;利用隐马尔可夫模型进行音频分类;对回放镜头进行检测;融合多模态的信息并结合斯诺克的领域知识实现斯诺克比赛视频的事件检测与语义标注。本发明方法融合视频内在的多种模态信息,实现了斯诺克比赛视频内容的事件检测与语义标注,为建立基于语义的视频索引打下坚实的基础。

Description

一种斯诺克比赛视频事件检测与语义标注方法
技术领域
本发明属于基于内容的视频检索领域,具体涉及一种斯诺克比赛视频事件检测和语义标注方法。
背景技术
基于语义内容的视频分析一直是多媒体研究领域的热点问题。体育视频作为一类重要的视频资源,有着巨大的观众基数和商业价值,得到了相关科研机构和研究人员的广泛关注。随着近年来三网融合环境下体育视频数量的急剧增长和移动计算设备的迅速普及,人们早已不再满足于当前的体育视频观看与检索现状,而对于快速定位自己感兴趣的视频内容有着更加迫切的需求,解决这一问题的关键就是对视频中的语义事件进行自动检测与标注。
台球是世界三大绅士运动之一,在世界范围内具有广泛的群众基础,而斯诺克则是公认的最规范和最有影响力的台球运动。斯诺克运动在中国发展之迅速、水平提升之显著令整个台球界惊讶,英国的天空电视台也曾预言斯诺克的未来将在中国。随着中国斯诺克选手在国际赛场上的异军突起,国内普通观众也开始越来越多地关注斯诺克赛事。由于斯诺克赛事耗时较长,人们一般很少有时间去看完一场完整的斯诺克比赛,人们希望利用闲暇时间观看最精彩的部分,如精彩的单杆高分、精彩进球、精彩安全球等,或者仅仅只是希望跳过一段局间插播的广告或者对局中乏味的防守大战。此外,如何从海量的斯诺克比赛视频中快速找到观众感兴趣的内容,也是一个重要的需求。为了满足这些需求,关键是对视频中的语义事件进行自动检测与标注,而现有的对于斯诺克视频分析的研究成果并不足以完成这一任务。因此,一个基于语义内容的斯诺克比赛视频事件检测系统的意义就显得格外重要。
目前国内外针对体育视频的分析工作大多把焦点集中在足球、篮球、网球等体育运动中,并取得了一些重要的研究成果。而斯诺克作为近年来越来越热门的体育运动,正受到来自社会各界的广泛关注。虽然目前已有少量斯诺克视频分析的研究成果,但这些成果对于构建一个基于语义内容的事件检测与标注系统还有一定的距离,具体表现在以下几个方面:1.现有的针对斯诺克比赛视频的分析工作都把目标定位在视频摘要的自动生成与比赛过程的三维重建,并没有完全针对事件检测与标注的相关研究,而现有的研究成果远不足以实现基于内容的视频检索;2.现有的针对斯诺克比赛视频摘要的研究,往往只是简单地对整个比赛流程进行流水账式的记录,并没有区分各类事件的重要性,同时也忽略了很多重要的语义事件,虽然这些摘要对于专业球员和教练有较大帮助,但是其中的大部分内容都是普通观众不感兴趣的,普通观众感兴趣的只是比赛中精彩的或者关键的事件;3.现有的针对斯诺克比赛视频的分析工作仅仅依靠单一的视觉信息进行分析,而忽略了包含有大量语义信息的文字与音频信息,这是现有研究工作的一个巨大缺陷。
发明内容
针对现有技术中存在的问题,本申请提供的是一种斯诺克比赛视频事件检测与语义标注方法,其中根据斯诺克视频的具体特征而对其视频进行分析及标注,以实现对视频的检索,与现有体育视频分析相比,该方法可以满足广大观众的需求,因而尤其适用于当今斯诺克视频。
为实现上述目的,按照本发明的一个方面,提供了一种斯诺克比赛视频事件检测与语义标注方法,通过对视频内在的各个模态信息的利用,并结合斯诺克的领域知识,实现斯诺克比赛视频的事件检测和语义标注,包括以下步骤:
(1)对全台面镜头中的比分条信息进行提取,具体包括以下子步骤:
(1-1)使用全台面镜头检测算法进行全台面镜头检测;
(1-2)根据比分条的位置特点及文字的边缘特征确定出比分条的精确位置;
(1-3)根据相邻比分条区域图像之差对当前击球球员指示符进行定位;
(1-4)利用比分条与当前击球球员指示符的位置信息,进一步分割出比分条中的各个信息字段;
(1-5)使用光学字符识别技术对分割出的信息字段进行文字识别;
(1-6)针对识别过程中球员名可能出现的错误,将识别结果与官方球员数据库进行模糊匹配,以获得准确的球员名;
(1-7)去除比分条信息序列中的冗余信息。
(2)通过使用隐马尔可夫模型对正式对局过程中的音频流进行音频分类,定位出掌声、笑声和叹息声三类对事件检测有价值的音频类型。
(3)使用回放镜头检测算法进行回放镜头的检测。
(4)通过文字、音频、视频三种模态信息的融合,并结合斯诺克的领域知识,使用相应的算法对各类语义事件进行检测及标注,具体包括以下子步骤:
(4-1)从比分条信息变化序列推断事件;
(4-2)根据比分条信息序列推断回放镜头的事件类型;
(4-3)结合音频分类结果与其他两个模态的信息检测事件。
总体而言,按照本发明的上述技术构思与现有技术相比,主要具备以下的技术优点:
(1)提出了一种可靠的全台面镜头检测方法;
(2)在全台面镜头检测的基础上,提出了比分条的定位与其中各个信息字段的提取方法;
(3)实现了对以下斯诺克事件的检测与标注:局、单杆高分、防守大战、长考、犯规、精彩进球、精彩安全球、失误和有趣事件。对于局、单杆高分、防守大战、长考和犯规五类事件实现了完美的检测效果,精彩进球与精彩安全球事件也达到了较高的检测性能;
(4)提出的检测方法可自适应于不同分辨率的视频。
附图说明
图1为本发明提供的一种斯诺克比赛视频事件检测与语义标注方法的总体流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为本发明一种斯诺克比赛视频事件检测与语义标注方法的总体流程示意图,主要包括四个阶段:比分条信息提取阶段,包括全台面镜头检测、比分条定位、当前击球球员指示符定位、字段分割与文字识别;音频分类阶段,使用隐马尔可夫模型进行音频分类;回放镜头检测阶段,使用回放镜头检测算法检测回放镜头;融合多模态信息的事件检测阶段,分别从利用比分条信息、结合比分条信息与回放镜头、结合音频分类结果与其他两个模态的信息三个角度来进行事件检测。具体包括如下步骤:
(1)比分条信息提取
全台面镜头检测步骤如下:
步骤1:对于某一视频帧,根据颜色特征提取台面区域;
步骤2:对台面区域图像进行闭操作处理,去除可能造成干扰的小物体;
步骤3:使用边缘检测算法检测边缘;
步骤4:使用霍夫变换检测直线,对位置相近的直线仅保留其中一条;
步骤5:根据是否同时满足以下两个条件判断该视频帧是否为全台面镜头:
条件1:直线条数为4;
条件2:4条直线的坐标(θ,ρ)满足以下位置要求:
直线1:θ=π/2±π/60,ImgHeight*0.03<ρ<ImgHeight*0.3;
直线2:θ=π/2±π/60,ImgHeight*0.6<ρ<ImgHeight*0.9;
直线3:θ=π/12±π/18,ImgHeight*0.1<ρ<ImgHeight*0.4;
直线4:θ=11π/12±π/18,ImgHeight*-0.9<ρ<ImgHeight*-0.5。
其中,ImgHeight为视频帧的高度。
对于检测出的全台面镜头,比分条定位步骤如下:
步骤1:计算出桌面梯形区域的4条边对应的4条直线中下方直线与左右两条直线的交点,左交点记为P1,右交点记为P2。
步骤2:计算P1与视频帧左边界的距离以及P2与视频帧右边界的距离,取较小距离对应的点作为确定比分条大致区域的基准点P。
步骤3:按视频帧高度的0.08倍计算比分条大致区域的高度,记为H。
步骤4:根据桌面梯形区域的上下两条边对应的直线计算出梯形高度,作为桌面区域的高度,记为TH。
步骤5:找到位于P点正下方距离P点TH*0.03的点Q。
步骤6:计算出点Q关于视频帧中垂线的镜像点Q’。
步骤7:计算Q与Q’的水平距离,即为比分条大致区域的宽度,记为W。
步骤8:以点Q为原点,取出台面区域正下方宽为W,高为H的矩形区域,即得到比分条的大致区域。
步骤9:将比分条大致区域的图像作灰度化处理。
步骤10:对该灰度图像使用边缘检测算法检测边缘。
步骤11:使用宽度为0.3*H(H为比分条大致区域的高度),高度为1的横条形结构元先后对边缘图像进行腐蚀和膨胀操作,得到水平长直线所在位置对应的图像,然后将边缘图像与该图像作差,即得到去除水平长直线后的边缘图像。
步骤12:使用Sobel算子分别计算水平与垂直方向上图像的梯度强度,并将这两个分量相加。
步骤13:计算出梯度强度图像在各行上像素值之和、各行上像素值之和的平均值Mean以及各行上像素值之和的最大值Max。
步骤14:如果各行上像素值之和的均值小于10*W(W为大致比分条区域的宽度),就认为不存在比分条,不需要再进行后续检测;否则,则认为存在比分条。
步骤15:对于比分条存在的情况,以0.7*Max为阈值,对于在梯度强度图像中像素值之和大于该阈值的行则归入最终的比分条定位结果中,这样就得到了比分条在原视频帧中精确的水平位置范围。
步骤16:从整个比赛视频中取50个比分条位置的样本,每个样本包含三个值:比分条左上角在原视频帧中水平方向的坐标、垂直方向的坐标以及比分条的高度,对这三个值分别在所有样本中取统计中位数作为最终的比分条位置。
当前击球球员指示符的定位步骤如下:
步骤1:从前往后对斯诺克视频每隔1秒取一次样本帧,如果该样本帧是全台面镜头并且包含比分条,则取出比分条区域的图像,然后将其转换为灰度图像,每次得到灰度图像之后,与前一样本帧的比分条灰度图像在对应位置按灰度值求差,如果差值小于0,则置为0。
步骤2:初始化一个大小与比分条宽度(列数)相同的布尔型数组A,全部元素置为false。
步骤3:统计差图像中左侧30%区域及右侧30%区域(排除可能的比分变化对指示符定位的影响)中每一列的灰度值情况,该列中只要出现一次灰度值大于40的像素值,则将A中对应列位置的元素置为true。
步骤4:找到A中第一个值为true的元素的下标i与最后一个值为true的元素下标j,计算w=j-i+1,w即为检测出的指示符的宽度。如果w大于比分条的高度,或者小于比分条高度的0.2倍,则不合法,忽略当前的差图像,继续检测下一个样本帧;否则,检测到指示符在比分条横向方向中的位置(起始位置i与结束位置j),根据指示符总是在关于比分条中垂线对称的位置来回变化的特点,可以很容易计算出指示符在比分条另一侧出现的位置。
比分条字段分割步骤如下:
步骤1:使用全台面镜头检测算法检查视频帧是否为全台面镜头,对于非全台面镜头,直接忽略;对于全台面镜头,使用已经得到的比分条位置信息从原视频帧中取出比分条区域内的图像。
步骤2:将比分条图像作灰度化处理。
步骤3:使用Canny边缘检测算法提取图像边缘。
步骤4:去除边缘图像中水平方向的长直线。
步骤5:去除由包围比分的方框造成的竖直边缘线。由于这些竖直边缘线常常与比分条图像的上下边缘相接,通过在比分条的第一行与最后一行像素中扫描边缘像素点,然后以该点为起始点使用漫水填充算法即可去除大部分的竖直边缘线。
步骤6:为了增强文字区域的像素值强度,便于后续的分割操作,使用Sobel算子分别计算水平与竖直方向上图像的梯度强度,并将这两个方向上的梯度强度相加,得到梯度强度图像。
步骤7:计算出梯度强度图像在各行上像素值之和及各行上像素值之和的平均值Mean,如果Mean小于10*W(W为比分条区域的宽度),就认为该大致比分条区域中不存在比分条,不需要再继续进行检测;否则认为该大致比分条区域中存在比分条,可以进行后续的分割处理。
步骤8:计算出梯度强度图像在各列上像素值之和,记为S[i],1≤i≤比分条宽度。
步骤9:利用当前击球球员指示符在比分条两侧的位置,分别计算比分条左右两侧位于指示符区间内的S[i]值之和,如果两者之差大于较小值的3倍,则值较大的那个值对应的一侧的球员当前拥有击球权,将该信息记录在本视频帧的比分条信息记录中。随后,将S中左右指示符区间内的元素值置为0。
步骤10:为了消除噪声对后续文字分割的影响,将S中值小于0.5*Mean的值置为0,并且将S中宽度小于0.3倍的比分条高度的数据全部置为0。
步骤11:从S的中间位置开始,分别向左右两侧检测文字目标所处的位置。这里文字目标指S中连续的非零值组成的块,并且间隔小于0.1倍的比分条高度的块被认为属于同一块。为了处理某些赛事视频比分条中出现的球员所属国籍的国旗(并不需要提取出球员国籍信息),当分别向左右两侧扫描到第4块时,若其宽度小于1.5倍的比分条高度且能继续扫描到宽度更大的块,则将后面的块作为球员名字段所在位置。
文字识别步骤如下:
步骤1:根据各字段的位置,从原比分条中取出包含各字段的子图像。为了防止比分条上下边缘对文字识别可能造成的影响,子图像中并不包括原比分条中的上下部分边缘,边缘的高度均为比分条高度的0.1倍。
步骤2:为了提高OCR的识别精度,对各子图像使用大津法(Otsu's method)进行自适应阈值的二值化处理。
步骤3:按照斯诺克电视转播的惯例,比分条中的总局数由两侧的括号所包围,为了准确识别总局数,需要去除这些括号。取二值化后的总局数图像的正中间一行,分别从两侧向中间搜寻前景色(统计整个图片中两种灰度值所占的比例,占比较小的灰度值即为前景色,本例中前景色为白色),对遇到的第一个前景色元素,以该元素位置为起始点使用漫水填充算法以背景色进行填充,即可去掉总局数两侧的括号。
步骤4:使用开源OCR引擎Tesseract对各个字段的子图像进行光学字符识别。
球员名模糊匹配步骤如下:
步骤1:从世界台联的官方网站的球员页面
(http://www.worldsnooker.com/players/)抓取完整的球员名列表,记为PlayerList,同时记录下各个球员的国籍。
步骤2:初始化扩展球员名单为空,记为ExtendedPlayerList。
步骤3:对于PlayerList中的每个球员名,判断其是否是中国籍球员,若是,则扩展为“姓氏名字”、“姓氏首字母.名字”、“姓氏”及“名字”四项;否则,扩展为“姓氏名字”、“姓氏首字母.名字”及“姓氏”三项。然后,将扩展后的球员名统一转为大写形式插入到ExtendedPlayerList中。
步骤4:当得到10条比分条信息记录后(每条记录中都包含各自独立识别出的球员名),取这些记录中出现次数最多的球员名作为候选球员名(包括球员1及球员2的候选球员名),并统一转为大写形式。将两个候选球员名分别与扩展球员名中的每一条记录进行相似度的计算,取相似度最高的记录作为模糊匹配结果。
(2)音频分类
该步骤使用隐马尔可夫模型(Hidden Markov Model,HMM)对正式对局过程中的音频信息进行分类,分为以下八种音频类型:纯掌声、带解说声的掌声、笑声、回放镜头中的击球声、击球声、叹息声、安静声和解说声。
音频模型的训练步骤如下:
步骤1:从各种有代表性的斯诺克比赛视频(包含不同赛事、不同语言的解说)中收集大量音频训练样本(每个样本长度为2秒)并进行人工音频类型标注;
步骤2:对每类音频样本,分别按以下步骤训练出对应的HMM模型:
步骤2.1:对每个2秒的音频片段进行分帧,帧长为512,帧移为256。
步骤2.2:对每个音频帧分别进行特征提取,得到26维的特征向量,其中包含:
(1)1维的短时平均能量;
(2)1维的短时平均过零率;
(3)12维的梅尔频率倒谱系数(Mel-Frequency Cepstral Coefficients,MFCC);
(4)12维的MFCC差分系数。
其中,MFCC是基于人耳的听觉特性所提出来的音频特征,MFCC差分系数是将静态的MFCC特征作一阶与二阶差分所得到的动态特征。这样每个音频片段得到观察值序列,即26维的向量。
步骤2.3:使用Baum-Welch算法在不同的隐状态数目下进行模型训练,得到不同隐状态数目下该音频类型对应的HMM模型。
使用已经训练好的各个音频类型的模型对斯诺克视频中的音频流进行分类的步骤如下:
步骤1:加载已经训练好的各个HMM音频模型。
步骤2:从目标视频中提取音频部分。
步骤3:将音频按2秒进行分段,相邻两段之间重合1秒。
步骤4:对每个分段进行分帧之后对每个音频帧进行特征提取,得到观测序列。
步骤5:分别用每个音频类型的HMM对每个音频片段使用前向算法计算对数似然值,取似然值最高的那个HMM对应的音频类型作为该音频片段的类型,即完成该段音频的分类。
步骤6:对每个音频分段逐一进行分类,得到整个视频在每一秒处的音频类型。
步骤7:对整个视频的音频分类结果序列进行处理,仅保留四类有价值的音频类型记录,并将纯掌声与带解说声的掌声统一标记为掌声。
(3)回放镜头检测
该步骤可以采用现有方法,如文献“Huang Q,Hu J,Hu W,et al.A reliable logoand replay detector for sports video.in:Proceedings of the2007IEEEInternational Conference on Multimedia and Expo.Beijing:IEEE,2007,1695~1698”中描述的方法。
(4)融合多模态信息的事件检测
该步骤包括以下子步骤:
(4-1)从比分条信息变化序列推断事件
该步骤包括以下子步骤:
(4-1-1)根据相邻比分条信息记录检测简单事件
根据相邻比分条信息记录之间的变化,结合斯诺克的比赛规则,可以推断出得分、“失误或安全球”和犯规三类简单的事件。设前后两条比分记录分别记为FormerRecord、LatterRecord,每个比分记录的击球权、球员1分数、球员2分数、球员1局分、球员2局分、总局数各个字段分别记为turn、score1、score2、frameScore1、frameScore2、bestFrames,其中turn字段取值为1或2,表示球员1或球员2拥有击球权。以点号“.”分隔比分记录名与相应的记录属性,例如前一条比分记录的球员1比分字段记FormerRecord.score1(后文中若引用某条比分记录及其字段,均遵循此约定)。这里,使用“==”作为等号,以便和后文的赋值号“=”相区别。各类简单事件的判定依据如下:
1.得分事件
(a)球员1得分
1≤LatterRecord.score1-FormerRecord.score1≤8
LatterRecord.score2==FormerRecord.score2
LatterRecord.turn==FormerRecord.turn
LatterRecord.turn==1
(b)球员2得分
1≤LatterRecord.score2-FormerRecord.score2≤8
LatterRecord.score1==FormerRecord.score1
LatterRecord.turn==FormerRecord.turn
LatterRecord.turn==2
2.“失误或安全球”事件
(a)球员1失误或安全球
LatterRecord.score1==FormerRecord.score1
LatterRecord.score2==FormerRecord.score2
FormerRecord.turn==1
LatterRecord.turn==2
(b)球员2失误或安全球
LatterRecord.score1==FormerRecord.score1
LatterRecord.score2==FormerRecord.score2
FormerRecord.turn==2
LatterRecord.turn==1
3.犯规事件
(a)球员1犯规
LatterRecord.score1==FormerRecord.score1
4≤LatterRecord.score2-FormerRecord.score2≤7FormerRecord.turn==1
LatterRecord==2
(b)球员2犯规
LatterRecord.score2==FormerRecord.score2
4≤LatterRecord.score1-FormerRecord.score1≤7
FormerRecord.turn==2
LatterRecord==1
对于犯规事件在原视频中的开始时刻与结束时刻,根据斯诺克比赛的特点,将开始时刻设置为更新后的比分记录对应的时刻之前10秒,结束时刻设置为比分更新之后2秒。
(4-1-2)局事件检测
局事件主要通过比分条中局比分和当局比分的变化来检测,检测算法步骤如下:
步骤1:判断比分记录的总条数是否小于2,若小于2,则退出算法;否则继续下一步。
步骤2:初始化一条空的比分记录FormerRecord及局起始帧号Start。
步骤3:从完整比分序列中取出下一条比分记录Record,如已无记录可取,转步骤5;如果Record是第一条记录,则FormerRecord=Record(这里“=”表示赋值,后文遵循此约定),Start=Record.frameId(这条比分记录对应的视频帧号);否则转步骤4。
步骤4:如果Record中的局分与FormerRecord中的局分完全相同,则FormerRecord=Record,转步骤3;否则,新建局事件Frame,其各个字段按以下规则确定:
开始时刻=Start;
结束时刻=FormerRecord.frameId;
球员1的当局比分=FormerRecord.score1;
球员2的当局比分=FormerRecord.score2;
该局开始前的球员1的局分=FormerRecord.frameScore1;
该局开始前的球员2的局分=FormerRecord.frameScore2;
该局结束后的球员1的局分=Record.frameScore1;
该局结束后的球员2的局分=Record.frameScore2;
当前局数=FormerRecord.frameScore1+FormerRecord.frameScore2+1;
当FormerRecord.frameScore1==总局数/2且FormerRecord.frameScore2≠总局数/2时,赛点标志为球员1;当FormerRecord.frameScore1≠总局数/2且FormerRecord.frameScore2==总局数/2时,赛点标志为球员2;当FormerRecord.frameScore1==总局数/2且FormerRecord.frameScore2==总局数/2时,赛点标志为双赛点。
保存该局事件之后,令FormerRecord=Record,转步骤3。
步骤5:对于比分序列中最后一条记录LastRecord,如果LastRecord对应的视频帧号与Start之差对应的视频时长大于1分钟,则新建局事件,该局即为该视频所包含的最后一局,各字段按如下规则确定:
开始时刻=Start;
结束时刻=LastRecord.frameId;
球员1的当局比分=LastRecord.score1;
球员2的当局比分=LastRecord.score2;
该局开始前的球员1的局分=LastRecord.frameScore1;
该局开始前的球员2的局分=LastRecord.frameScore2;
如果LastRecord.score1>LastRecord.score2,则该局结束后的球员1的局分=LastRecord.frameScore1+1;否则该局结束后的球员1的局分=LastRecord.frameScore1;
如果LastRecord.score2>LastRecord.score1,则该局结束后的球员2的局分=LastRecord.frameScore2+1;否则该局结束后的球员2的局分=LastRecord.frameScore2;
当前局数=LastRecord.frameScore1+LastRecord.frameScore2+1;
当LastRecord.frameScore1==总局数/2且LastRecord.frameScore2≠总局数/2时,赛点标志为球员1;当LastRecord.frameScore1≠总局数/2且LastRecord.frameScore2==总局数/2时,赛点标志为球员2;当LastRecord.frameScore1==总局数/2且LastRecord.frameScore2==总局数/2时,赛点标志为双赛点。
(4-1-3)单杆高分事件检测
单杆高分事件主要依据比分条中得分与击球权的变化来检测,检测算法步骤如下:
步骤1:判断比分记录的总条数是否小于2,若小于2,则退出算法;否则继续下一步。
步骤2:设定单杆高分事件的高分阈值Threshold=50,初始化一条空的比分记录FormerRecord,初始化事件起始时刻Start,初始化高分记录Score=0。
步骤3:从完整比分序列中取出下一条比分记录Record,如已无记录可取,转0。如果Record是第一条记录,则FormerRecord=Record,Start=Record.frameId(这条比分记录对应的视频帧号);否则转步骤4。
步骤4:如果在Record中局分相对于FormerRecord发生了增长,并且Score>Threshold,则新建单杆高分事件,各字段按以下规则设置:
高分分数=Score;
开始时刻=Start;
结束时刻=FormerRecord.frameId;
击出该高分的球员=FormerRecord.turn。
保存该事件之后,Start=Record.frameId,FormerRecord=Record,转0;如果局分未发生变化,比分增加,但击球权未变化,则将比分增加的一方的所增加的分数累加至Score中,FormerRecord=Record,转0;如果局分未变化,比分也未变化,而击球权发生交换,若Score>Threshold,则新建单杆高分事件,规则如0中所示,Start=Record.frameId,FormerRecord=Record,转0;如果局分未变化,比分增加且击球权交换,若这时Score>Threshold,则新建单杆高分事件,规则如0中所示,Start=Record.frameId,FormerRecord=Record,转0。
步骤5:如果Score>Threshold,则取比分序列中最后一条记录LastRecord,新建单杆高分事件,规则如下:
高分分数=Score;
开始时刻=Start;
结束时刻=LastRecord.frameId;
击出该高分的球员=LastRecord.turn。
(4-1-4)防守大战事件检测
防守大战事件通过双方在一段时间内(如5分钟)未能得分(犯规造成的对方比分增加除外)、击球权不断交换这一特征来进行判断,检测算法步骤如下:
步骤1:判断比分记录的总条数是否小于2,若小于2,则退出算法;否则继续下一步。
步骤2:设置防守大战的时间长度阈值Threshold,大于该长度的防守过程才被记录为防守大战事件,初始化事件开始时刻Start,并初始化一条空的比分记录FormerRecord。
步骤3:从完整比分序列中取出下一条比分记录Record,如已无记录可取,则防守大战检测结束,退出算法;否则根据以下情况进行处理:
如果Record是第一条记录,则Start=Record.frameId,FormerRecord=Record,转0;
如果Record中局分与FormerRecord相比发生变化,则Start=Record.frameId,FormerRecord=Record,转0;
如果Reocrd中比分与FormerRecord相比未变化,而击球权交换,说明处于防守中,FormerRecord=Record,转0;
如果Record相较上一记录比分变化且击球权变化,这时通过犯规事件的检测方法判断是否有球员犯规,若出现犯规,则仍处于防守大战中,FormerRecord=Record,转0;若没有球员犯规,说明是正常得分,防守大战结束,判断这时Record.frameId与Start之差对应的时间是否大于5分钟,若满足,则按以下规则新建犯规事件:
开始时刻=Start;
结束时刻=FormerRecord.frameId。
保存事件后,Start=Record.frameId,FormerRecord=Record,转0;
如果Record与FormerRecord比分不同,但未交换击球权,说明是正常得分,防守大战结束,判断这时Record.frameId与Start之差对应的时间是否大于5分钟,若满足,则按以下规则新建犯规事件:
开始时刻=Start;
结束时刻=FormerRecord.frameId;
保存事件后,Start=Record.frameId,FormerRecord=Record,转0。
(4-1-5)长考事件检测
长考事件(球员陷入长时间思考的状态)依据比分条信息序列中处于同一局范围内相邻记录的时间间隔来判定,该时间间隔就是球员当时击球所用的时间,这里将击球时间大于80秒的情况判定为长考事件,长考事件的开始时刻与结束时刻分别对应于击球前后的比分条记录的时刻,长考事件涉及的球员就是前一条比分条记录中正在击球的球员。
(4-2)推断回放镜头的事件类型
本步骤使用以下步骤推断回放镜头所属的事件类型:
步骤1:根据该回放镜头的开始时刻与结束时刻,检查该时间范围是否在已经检测到的局事件范围内,若在范围内则继续步骤2;否则忽略该回放镜头。
步骤2:确定回放镜头的开始时刻对应的视频帧号n。
步骤3:在比分序列中找到n之后的一条记录,记为LatterRecord。
步骤4:找到LatterRecord的前一条比分记录,记为FormerRecord。
步骤5:根据FormerRecord与LatterRecord判定事件类型和涉及的球员:若为得分,则事件类型是精彩进球;若失误或安全球,则将其作为临时事件暂时予以记录;若犯规,则忽略。
(4-3)结合音频分类结果与其他两个模态的信息进行事件检测
在每个局事件时间范围内,分别从每局球的开始时刻开始遍历音频特征序列,对遇到的各种不同的音频类型分别进行事件的判定。根据音频信息的出现时刻确定更新前后的比分记录并判断事件类型的过程如下:
步骤1:将以秒为单位的音频特征出现时刻转换为视频对应的帧号n。
步骤2:在比分序列中找到两条比分记录(Record1、Record2),分别使它们的帧号满足Record1.frameNum≤n≤Record2.frameNum。
步骤3:如果Record1.frameNum==n,则LatterRecord=Record1,转步骤7。
步骤4:如果Record2.frameNum==n,则LatterRecord=Record2,转步骤7。
步骤5:Record1.frameNum<n<Record2.frameNum,分别计算n与前后两个比分序列之间的距离d1、d2。
步骤6:如果d1<d2且d1对应的秒数小于2秒,则LatterRecord=r1,否则LatterRecord=Record2。
步骤7:找到LatterRecord的前一条比分记录FormerRecord。
步骤8:根据FormerRecord与LatterRecord判定事件类型(得分、犯规、“失误或安全球”)。如果音频类型为掌声,统计掌声的持续时间。长度小于3秒的掌声常常是误检的结果,予以忽略;对于长度大于或等于3秒的情况,将掌声的时长(单位为秒)作为该事件的精彩度评分。对于掌声,前面检测出的事件类型一定只有两种情况:得分和“失误或安全球”。如果是得分,那么可以得到精彩进球事件;如果是“失误或安全球”,则断定该事件一定是精彩安全球。精彩进球事件与精彩安全球事件的开始与结束时刻设为掌声的开始时刻前10秒至后2秒。当音频类型是叹息声时,通过前后比分的变化检测出的事件类型如果是“失误或安全球”,则事件类型一定是失误,其开始时刻与结束时刻取为叹息声开始时刻的前10秒至后2秒。笑声是一类特殊的音频信息,笑声的出现预示着有趣的事件。同样,为了降低误检率,只对持续时间大于或等于3秒的笑声进行处理。由于斯诺克比赛中的笑声并不一定是由球员击球所引起,所以没必要结合比分条记录进行事件判定,可以直接取笑声开始时刻的前10秒至后2秒作为有趣事件列入本系统最终检测出的事件之一。
步骤9:对于每个“失误或安全球”事件,将事件开始时刻的前5秒至事件的结束时刻作为音频特征检查的范围,在该范围内,如果出现了掌声(长度在3秒及以上),则该事件的类型一定是安全球;若没有出现掌声,那么该事件就归为失误事件。

Claims (2)

1.一种斯诺克比赛视频事件检测与语义标注方法,其特征在于,所述斯诺克比赛视频包括全台面镜头、音频,所述全台面镜头中包括比分条信息,包括以下步骤:
(1)对斯诺克比赛视频中的比分条信息进行提取,具体包括以下子步骤:
(1-1)对所述全台面镜头进行检测;
(1-2)根据比分条的位置特点及文字的边缘特征确定出比分条的精确位置;
(1-3)根据比分条区域图像的灰度之差对当前击球球员指示符进行定位;
(1-4)利用比分条与当前击球球员指示符的位置信息,进一步分割出比分条中的各个信息字段,其包括局数、参赛者姓名以及比分;
(1-5)使用光学字符识别技术对分割出的信息字段进行文字识别;
(1-6)针对识别过程中球员名可能出现的错误,将识别结果与官方球员数据库进行模糊匹配,以获得准确的球员名;
(2)通过使用隐马尔可夫模型对正式对局过程中的音频流进行音频分类,定位出掌声、笑声和叹息声三类对事件检测有价值的音频类型;
(3)使用回放镜头检测算法进行回放镜头的检测;
(4)通过所述文字识别的文字、音频、视频三种模态信息的融合,对各类语义事件进行检测及标注。
2.如权利要求1所述的方法,其特征在于,所述步骤(4)具体包括以下步骤:
(4-1)从比分条信息变化序列推断事件;
(4-2)根据比分条信息序列推断回放镜头的事件类型;
(4-3)结合音频分类结果与其他两个模态的信息检测事件。
CN201510564255.5A 2015-09-06 2015-09-06 一种斯诺克比赛视频事件检测与语义标注方法 Active CN105183849B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510564255.5A CN105183849B (zh) 2015-09-06 2015-09-06 一种斯诺克比赛视频事件检测与语义标注方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510564255.5A CN105183849B (zh) 2015-09-06 2015-09-06 一种斯诺克比赛视频事件检测与语义标注方法

Publications (2)

Publication Number Publication Date
CN105183849A CN105183849A (zh) 2015-12-23
CN105183849B true CN105183849B (zh) 2018-11-02

Family

ID=54905930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510564255.5A Active CN105183849B (zh) 2015-09-06 2015-09-06 一种斯诺克比赛视频事件检测与语义标注方法

Country Status (1)

Country Link
CN (1) CN105183849B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107707931B (zh) * 2016-08-08 2021-09-10 阿里巴巴集团控股有限公司 根据视频数据生成解释数据、数据合成方法及装置、电子设备
CN107086033B (zh) * 2017-02-16 2020-09-01 西藏北纬科技有限公司 云计算系统
CN107087218A (zh) * 2017-02-20 2017-08-22 常英梅 网络电视机
CN107247942B (zh) * 2017-06-23 2019-12-20 华中科技大学 一种融合多模态特征的网球视频事件检测方法
CN108710918B (zh) * 2018-05-23 2021-05-25 北京奇艺世纪科技有限公司 一种直播视频的多模态信息的融合方法和装置
CN108846433A (zh) * 2018-06-08 2018-11-20 汕头大学 一种篮球运动员的团队价值量评估方法
CN110969133B (zh) * 2019-12-05 2023-04-07 浙江大学 一种乒乓球比赛视频的智能数据采集方法
CN111259851B (zh) * 2020-01-23 2021-04-23 清华大学 一种多模态事件检测方法及装置
CN112733718B (zh) * 2021-01-11 2021-08-06 深圳市瑞驰文体发展有限公司 一种基于异物检测的台球比赛作弊识别方法和系统
CN114724271B (zh) * 2022-02-28 2024-03-22 杭州景而腾科技有限公司 一种适用于斯诺克赛事的计时系统
CN115937855B (zh) * 2023-03-10 2023-06-06 四川语璐科技有限公司 一种基于大数据的智能设备控制方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103143158A (zh) * 2013-03-09 2013-06-12 北京工业大学 一种提高斯诺克台球击中率的方法
CN103871078A (zh) * 2013-07-12 2014-06-18 北京瑞盖科技有限公司 一种台球击球关键信息检测方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229195A (ja) * 2000-02-18 2001-08-24 Fujitsu Ltd 映像データ処理システム
WO2012024453A1 (en) * 2010-08-17 2012-02-23 Homezada, Inc. On-line property asset system and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103143158A (zh) * 2013-03-09 2013-06-12 北京工业大学 一种提高斯诺克台球击中率的方法
CN103871078A (zh) * 2013-07-12 2014-06-18 北京瑞盖科技有限公司 一种台球击球关键信息检测方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
3D台球训练考评系统的设计与实现;张丽等;《电脑与信息技术》;20141215;第53页-第56页 *

Also Published As

Publication number Publication date
CN105183849A (zh) 2015-12-23

Similar Documents

Publication Publication Date Title
CN105183849B (zh) 一种斯诺克比赛视频事件检测与语义标注方法
CN107241645B (zh) 一种通过对视频的字幕识别自动提取进球精彩瞬间的方法
Wang et al. Survey of sports video analysis: research issues and applications
US7006945B2 (en) Processing of video content
Zhu et al. Player action recognition in broadcast tennis video with applications to semantic analysis of sports game
US20060059120A1 (en) Identifying video highlights using audio-visual objects
Kawashima et al. Indexing of baseball telecast for content-based video retrieval
CN107247942B (zh) 一种融合多模态特征的网球视频事件检测方法
JP2015070503A (ja) 情報処理装置、情報処理方法及びプログラム
Connaghan et al. Game, shot and match: Event-based indexing of tennis
CN107454437A (zh) 一种视频标注方法及其装置、服务器
US8300894B2 (en) Method for decomposition and rendering of video content and user interface for operating the method thereof
CN109460724B (zh) 基于对象检测的停球事件的分离方法和系统
JP4200219B2 (ja) 画像認識装置及び画像認識プログラム
Faulkner et al. Tenniset: a dataset for dense fine-grained event recognition, localisation and description
CN110969133B (zh) 一种乒乓球比赛视频的智能数据采集方法
CN110314368B (zh) 台球击球的辅助方法、装置、设备及可读介质
Tong et al. Shot classification in sports video
JP2021141434A (ja) シーン抽出方法、装置およびプログラム
Choroś Detection of tennis court lines for sport video categorization
Maram et al. Images to signals, signals to highlights
KR100963744B1 (ko) 축구 동영상의 이벤트 학습 및 검출방법
Abbas et al. Deep-Learning-Based Computer Vision Approach For The Segmentation Of Ball Deliveries And Tracking In Cricket
Choroś Categorization of sports video shots and scenes in tv sports news based on ball detection
Rughwani Shot Classification and Semantic Query Processing on Broadcast Cricket Videos

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant