CN117495899B - 运动轨迹、回合开始检测方法、装置、设备及芯片 - Google Patents

运动轨迹、回合开始检测方法、装置、设备及芯片 Download PDF

Info

Publication number
CN117495899B
CN117495899B CN202311722823.0A CN202311722823A CN117495899B CN 117495899 B CN117495899 B CN 117495899B CN 202311722823 A CN202311722823 A CN 202311722823A CN 117495899 B CN117495899 B CN 117495899B
Authority
CN
China
Prior art keywords
video frame
table tennis
positions
frame
initial
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
CN202311722823.0A
Other languages
English (en)
Other versions
CN117495899A (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.)
Beijing Smartchip Microelectronics Technology Co Ltd
Original Assignee
Beijing Smartchip Microelectronics Technology Co Ltd
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 Beijing Smartchip Microelectronics Technology Co Ltd filed Critical Beijing Smartchip Microelectronics Technology Co Ltd
Priority to CN202311722823.0A priority Critical patent/CN117495899B/zh
Publication of CN117495899A publication Critical patent/CN117495899A/zh
Application granted granted Critical
Publication of CN117495899B publication Critical patent/CN117495899B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0605Decision makers and devices using detection means facilitating arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种运动轨迹、回合开始检测方法、装置、设备及芯片,运动轨迹检测方法包括:获取针对接球对象的乒乓球训练过程进行拍摄得到的视频流;确定第一视频帧中乒乓球与指定分界线间的目标距离;若判定乒乓球朝向接球对象运动,且目标距离小于预设距离阈值,确定使用第一目标检测方法对第二视频帧进行目标检测,以确定乒乓球运动轨迹;若判定乒乓球远离接球对象运动,且目标距离小于预设距离阈值,确定使用第二目标检测方法对第二视频帧进行目标检测,以确定乒乓球运动轨迹。由此实现实时性较好的乒乓球运动轨迹检测,并在保证实时性的同时可以有效提升检测的精度。

Description

运动轨迹、回合开始检测方法、装置、设备及芯片
技术领域
本发明涉及计算机视觉技术领域,尤其涉及一种运动轨迹、回合开始检测方法、装置、设备及芯片。
背景技术
在乒乓球比赛或者乒乓球训练等过程中,通常依靠裁判等人员进行回合得分和失分判断,容易产生巨大的工作量,且评分结果的不稳定性较高。因此,设计一个乒乓球自动计分系统具有重要的意义。
相关技术中,通过单目系统进行乒乓球运动轨迹识别以实现自动计分。然而,相关技术中对乒乓球运动轨迹进行检测的准确性有待提高。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种运动轨迹检测方法,能够实现实时性较好的乒乓球运动轨迹检测,并在保证实时性的同时可以有效提升检测的精度。
本发明的第二个目的在于提出一种回合开始检测方法。
本发明的第三个目的在于提出一种运动轨迹检测装置。
本发明的第四个目的在于提出一种回合开始检测装置。
本发明的第五个目的在于提出一种计算机设备。
本发明的第六个目的在于提出一种芯片。
本发明的第七个目的在于提出一种计算机可读存储介质。
为达到上述目的,本发明第一方面实施方式提出了一种运动轨迹检测方法,所述方法包括:获取针对接球对象的乒乓球训练过程进行拍摄得到的视频流;其中,所述视频流包括相邻的第一视频帧和第二视频帧;所述第一视频帧的时刻早于所述第二视频帧的时刻;所述视频流中每个视频帧具有指定分界线;确定所述第一视频帧中乒乓球与所述指定分界线间的目标距离;若判定所述乒乓球朝向所述接球对象运动,且所述目标距离小于预设距离阈值,确定使用第一目标检测方法对所述第二视频帧进行目标检测,以确定所述乒乓球运动轨迹;若判定所述乒乓球远离所述接球对象运动,且所述目标距离小于所述预设距离阈值,确定使用第二目标检测方法对所述第二视频帧进行目标检测,以确定所述乒乓球运动轨迹;其中,所述第一目标检测方法的检测精度高于所述第二目标检测方法的检测精度。
根据本发明的一个实施方式,每个所述视频帧中具有乒乓球桌面和发球机;所述乒乓球桌面被球网划分为两侧,所述发球机所在所述乒乓球桌面的一侧的上方对应有所述发球机所发射乒乓球的路经区域;在确定所述第一视频帧中乒乓球与所述指定分界线间的目标距离之前,所述运动轨迹检测方法还包括:基于所述第二目标检测方法进行所述乒乓球的目标检测,得到所述乒乓球在当前视频帧中的当前帧初始位置;若所述当前帧初始位置位于所述路经区域中的指定区域,确定所述当前帧初始位置的数量以及在所述当前帧初始位置之前检测到的参考位置;根据所述当前帧初始位置、所述当前帧初始位置的数量以及所述参考位置进行回合开始检测,得到回合开始检测结果。
根据本发明的一个实施方式,所述根据所述当前帧初始位置、所述当前帧初始位置的数量以及所述参考位置进行回合开始检测,得到回合开始检测结果,包括:若所述当前帧初始位置的数量为1个,且所述当前帧初始位置与所述参考位置之间的距离在预设距离范围内,确定所述当前帧初始位置为合格初始位置;若所述合格初始位置的数量大于等于预设位置数量,确定所述回合开始检测结果为回合开始。
根据本发明的一个实施方式,所述当前视频帧记为第N视频帧,所述N为正整数;所述运动轨迹检测方法还包括:若通过所述第二目标检测方法在第N+1视频帧的指定区域中未检测到所述乒乓球,继续检测第N+2视频帧;若在所述第N+2视频帧的指定区域中依旧未检测到所述乒乓球,确定所述回合开始检测结果为回合未开始。
根据本发明的一个实施方式,所述根据所述当前帧初始位置、所述当前帧初始位置的数量以及所述参考位置进行回合开始检测,得到回合开始检测结果,包括:若所述当前帧初始位置的数量大于1个,基于每个所述当前帧初始位置与所述参考位置之间的距离以及预设距离范围对大于1个的所述当前帧初始位置进行筛选,得到多个筛选中间位置;其中,每个所述筛选中间位置在所述当前视频帧中对应有第一待检测位置区域;通过所述第一目标检测方法对每个所述第一待检测位置区域进行目标检测,确定所述乒乓球的多个候选中间位置;基于多个所述候选中间位置与多个所述筛选中间位置进行交集运算,得到多个第一交集位置;根据每个所述第一交集位置与所述参考位置之间的距离在多个所述第一交集位置中确定合格初始位置;若所述合格初始位置的数量大于等于预设位置数量,确定所述回合开始检测结果为回合开始。
根据本发明的一个实施方式,所述根据所述当前帧初始位置、所述当前帧初始位置的数量以及所述参考位置进行回合开始检测,得到回合开始检测结果,至少还包括以下一种:若所述当前帧初始位置的数量大于1个,基于每个所述当前帧初始位置与所述参考位置之间的距离以及所述预设距离范围对大于1个的所述当前帧初始位置进行筛选,得到1个筛选中间位置,作为所述合格初始位置;若通过所述第一目标检测方法检测到1个候选中间位置,将检测到的所述候选中间位置作为所述合格初始位置;若基于多个所述候选中间位置与多个所述筛选中间位置进行交集运算,得到1个交集位置,将交集运算得到的所述交集位置作为所述合格初始位置。
根据本发明的一个实施方式,所述运动轨迹检测方法还包括:若基于所述回合开始检测结果确定回合开始后,确定当前轨迹位置序列;其中,所述当前轨迹位置序列中包括位于所述指定区域内的最后一个合格初始位置;根据所述最后一个合格初始位置对应的帧序号以及预设间歇期确定不做回合开始检测的视频帧范围。
根据本发明的一个实施方式,所述当前轨迹位置序列中倒数第一个位置对应的视频帧为所述第一视频帧;在所述确定所述第一视频帧中乒乓球与所述指定分界线间的目标距离之后,所述运动轨迹检测方法还包括:确定所述倒数第一个位置与所述当前轨迹位置序列中倒数第二个位置之间的距离差;基于所述距离差判断所述乒乓球朝向所述接球对象运动或者远离所述接球对象运动。
根据本发明的一个实施方式,所述预设距离阈值是基于所述距离差设置的;所述第一目标检测方法采用目标检测模型;所述第二目标检测方法采用帧差法。
根据本发明的一个实施方式,每个所述视频帧被所述指定分界线划分为第一检测区域和第二检测区域;其中,所述第一检测区域的面积大于所述第二检测区域的面积;所述确定使用第一目标检测方法对所述第二视频帧进行目标检测,包括:从所述第二视频帧中截取所述第二检测区域,并通过所述目标检测模型对所述第二检测区域进行目标检测;所述确定使用第二目标检测方法对所述第二视频帧进行目标检测,包括:从所述第二视频帧中截取所述第一检测区域,并通过所述帧差法对所述第一检测区域进行目标检测。
根据本发明的一个实施方式,所述确定所述乒乓球运动轨迹,包括:使用所述第一目标检测方法对所述第二视频帧进行目标检测,或者,使用所述第二目标检测方法对所述第二视频帧进行目标检测,得到所述乒乓球在所述第二视频帧中的初始位置;若所述初始位置的数量为1个,且所述初始位置与所述倒数第一个位置之间的距离在预设距离范围内,确定所述初始位置为有效初始位置;将所述有效初始位置加入所述当前轨迹位置序列,以得到所述乒乓球运动轨迹。
根据本发明的一个实施方式,所述第二视频帧的下一视频帧记为第三视频帧;所述运动轨迹检测方法包括:若在所述第二视频帧中未检测到所述乒乓球,确定连续未检到帧个数;基于所述倒数第一个位置、所述连续未检到帧个数、所述距离差以及所述指定分界线,确定使用所述第一目标检测方法对所述第三视频帧进行目标检测,或者,使用所述第二目标检测方法对所述第三视频帧进行目标检测。
根据本发明的一个实施方式,所述运动轨迹检测方法包括:若在所述第三视频帧中依旧未检测到所述乒乓球,将所述连续未检到帧个数加1;若在所述第三视频帧中检测到所述乒乓球,将所述连续未检到帧个数重置为0。
根据本发明的一个实施方式,在所述使用所述第一目标检测方法对所述第二视频帧进行目标检测,得到所述乒乓球在所述第二视频帧中的初始位置之后,所述运动轨迹检测方法包括:若所述初始位置的数量大于1个,根据每个所述初始位置与所述倒数第一个位置之间的距离在大于1个的所述初始位置中确定所述有效初始位置。
根据本发明的一个实施方式,在所述使用所述第二目标检测方法对所述第二视频帧进行目标检测,得到所述乒乓球在所述第二视频帧中的初始位置之后,所述运动轨迹检测方法包括:若所述初始位置的数量大于1个,基于每个所述初始位置与所述倒数第一个位置之间的距离以及所述预设距离范围对大于1个的所述初始位置进行筛选,得到多个筛选位置;其中,每个所述筛选位置在所述第二视频帧中对应有第二待检测位置区域;通过所述第一目标检测方法对每个所述第二待检测位置区域进行目标检测,确定所述乒乓球的多个候选位置;基于多个所述候选位置与多个所述筛选位置进行交集运算,得到多个第二交集位置;根据每个所述第二交集位置与所述倒数第一个位置之间的距离在多个所述第二交集位置中确定所述有效初始位置。
根据本发明的一个实施方式,所述运动轨迹检测方法至少包括以下一种:若所述乒乓球远离所述接球对象运动,且通过所述第二目标检测方法在第四视频帧中未检测到乒乓球,且所述连续未检到帧个数达到第一预设数量阈值,判定回合结束;其中,所述第四视频帧的时刻晚于所述第一视频帧的时刻;若通过所述第一目标检测方法在所述第四视频帧中未检测到所述乒乓球,且所述连续未检到帧个数达到第二预设数量阈值,判定回合结束;若所述当前轨迹位置序列中的位置的数量大于第三预设数量阈值,判定回合结束;其中,所述第三预设数量阈值是根据所述发球机发射所述乒乓球的频率确定的。
根据本发明的一个实施方式,若回合结束,所述运动轨迹检测方法还包括:根据所述当前轨迹位置序列中的位置,确定所述乒乓球在所述乒乓球桌面上的落点位置。
为达到上述目的,本发明第二方面实施方式提出了一种回合开始检测方法,所述方法包括:获取针对接球对象的乒乓球训练过程进行拍摄得到的视频流;其中,所述视频流的每个视频帧中具有乒乓球桌面和发球机;所述乒乓球桌面被球网划分为两侧,所述发球机所在所述乒乓球桌面的一侧的上方对应有所述发球机所发射乒乓球的路经区域;通过第二目标检测方法进行所述乒乓球的目标检测,得到所述乒乓球在当前视频帧中的当前帧初始位置;若所述当前帧初始位置位于所述路经区域中的指定区域,确定所述当前帧初始位置的数量;若所述当前帧初始位置的数量大于1个,对所述当前帧初始位置进行筛选,得到筛选中间位置;通过第一目标检测方法对每个所述筛选中间位置在所述当前视频帧中对应的待检测位置区域进行目标检测,确定所述乒乓球的候选中间位置;其中,所述第一目标检测方法的检测精度高于所述第二目标检测方法的检测精度;基于所述筛选中间位置以及所述候选中间位置对所述乒乓球回合开始进行检测。
根据本发明的一个实施方式,所述若所述当前帧初始位置的数量大于1个,对所述当前帧初始位置进行筛选,得到筛选中间位置,包括:确定在所述当前帧初始位置之前检测到的参考位置;基于每个所述当前帧初始位置与所述参考位置之间的距离以及预设距离范围对所述当前帧初始位置进行筛选,得到所述筛选中间位置。
根据本发明的一个实施方式,所述筛选中间位置的数量为多个,所述候选中间位置的数量为多个;所述基于所述筛选中间位置以及所述候选中间位置对所述乒乓球回合开始进行检测,包括:基于多个所述候选中间位置与多个所述筛选中间位置进行交集运算,得到多个第一交集位置;根据每个所述第一交集位置与所述参考位置之间的距离对多个所述第一交集位置进行筛选,得到合格初始位置;若所述合格初始位置的数量大于等于预设位置数量,判定回合开始。
根据本发明的一个实施方式,所述回合开始检测方法包括:若所述当前帧初始位置的数量为1个,且所述当前帧初始位置与参考位置之间的距离在预设距离范围内,确定所述当前帧初始位置为合格初始位置;若所述合格初始位置的数量大于等于预设位置数量,判定回合开始。
根据本发明的一个实施方式,所述当前视频帧记为第N视频帧,所述N为正整数;所述回合开始检测方法还包括:若基于所述第二目标检测方法在第N+1视频帧的指定区域中未检测到所述乒乓球,继续检测第N+2视频帧;若在所述第N+2视频帧的指定区域中依旧未检测到所述乒乓球,判定回合未开始。
根据本发明的一个实施方式,所述基于所述筛选中间位置以及所述候选中间位置对所述乒乓球回合开始进行检测,至少还包括以下一种:若基于每个所述当前帧初始位置与所述参考位置之间的距离以及所述预设距离范围对大于1个的所述当前帧初始位置进行筛选,得到1个筛选中间位置,作为所述合格初始位置;若通过所述第一目标检测方法检测到1个候选中间位置,将检测到的所述候选中间位置作为所述合格初始位置;若基于多个所述候选中间位置与多个所述筛选中间位置进行交集运算,得到1个交集位置,将交集运算得到的所述交集位置作为所述合格初始位置。
为达到上述目的,本发明第三方面实施方式提出了一种运动轨迹检测装置,所述装置包括:第一视频流获取模块,用于获取针对接球对象的乒乓球训练过程进行拍摄得到的视频流;其中,所述视频流包括相邻的第一视频帧和第二视频帧;所述第一视频帧的时刻早于所述第二视频帧的时刻;所述视频流中每个视频帧具有指定分界线;目标距离确定模块,用于确定所述第一视频帧中乒乓球与所述指定分界线间的目标距离;第一目标检测模块,用于若判定所述乒乓球朝向所述接球对象运动,且所述目标距离小于预设距离阈值,确定使用第一目标检测方法对所述第二视频帧进行目标检测,以确定所述乒乓球运动轨迹;第二目标检测模块,用于若判定所述乒乓球远离所述接球对象运动,且所述目标距离小于所述预设距离阈值,确定使用第二目标检测方法对所述第二视频帧进行目标检测,以确定所述乒乓球运动轨迹;其中,所述第一目标检测方法的检测精度高于所述第二目标检测方法的检测精度。
根据本发明的一个实施方式,每个所述视频帧中具有乒乓球桌面和发球机;所述乒乓球桌面被球网划分为两侧,所述发球机所在所述乒乓球桌面的一侧的上方对应有所述发球机所发射乒乓球的路经区域;所述运动轨迹检测装置还包括:第一帧初始位置获取模块,用于基于所述第二目标检测方法进行所述乒乓球的目标检测,得到所述乒乓球在当前视频帧中的当前帧初始位置;数量和参考位置获取模块,用于若所述当前帧初始位置位于所述路经区域中的指定区域,确定所述当前帧初始位置的数量以及在所述当前帧初始位置之前检测到的参考位置;回合开始检测结果获取模块,用于根据所述当前帧初始位置、所述当前帧初始位置的数量以及所述参考位置进行回合开始检测,得到回合开始检测结果。
根据本发明的一个实施方式,所述运动轨迹检测装置还包括:轨迹位置序列确定模块,用于若基于所述回合开始检测结果确定回合开始后,确定当前轨迹位置序列;所述当前轨迹位置序列中包括位于所述指定区域内的最后一个合格初始位置;视频帧范围确定模块,用于根据所述最后一个合格初始位置对应的帧序号以及预设间歇期确定不做回合开始检测的视频帧范围。
根据本发明的一个实施方式,所述当前轨迹位置序列中倒数第一个位置对应的视频帧为所述第一视频帧;所述目标距离确定模块,还用于确定所述倒数第一个位置与所述当前轨迹位置序列中倒数第二个位置之间的距离差;基于所述距离差判断所述乒乓球朝向所述接球对象运动或者远离所述接球对象运动。
根据本发明的一个实施方式,所述预设距离阈值是基于所述距离差设置的;所述第一目标检测方法采用目标检测模型;所述第二目标检测方法采用帧差法。
根据本发明的一个实施方式,每个所述视频帧被所述指定分界线划分为第一检测区域和第二检测区域;其中,所述第一检测区域的面积大于所述第二检测区域的面积;所述第一目标检测模块,还用于从所述第二视频帧中截取所述第二检测区域,并通过所述目标检测模型对所述第二检测区域进行目标检测;所述第二目标检测模块,还用于从所述第二视频帧中截取所述第一检测区域,并通过所述帧差法对所述第一检测区域进行目标检测。
为达到上述目的,本发明第四方面实施方式提出了一种回合开始检测装置,所述装置包括:第二视频流获取模块,用于获取针对接球对象的乒乓球训练过程进行拍摄得到的视频流;其中,所述视频流的每个视频帧中具有乒乓球桌面和发球机;所述乒乓球桌面被球网划分为两侧,所述发球机所在所述乒乓球桌面的一侧的上方对应有所述发球机所发射乒乓球的路经区域;第二帧初始位置获取模块,用于通过第二目标检测方法进行所述乒乓球的目标检测,得到所述乒乓球在当前视频帧中的当前帧初始位置;帧初始位置数量确定模块,用于若所述当前帧初始位置位于所述路经区域中的指定区域,确定所述当前帧初始位置的数量;筛选中间位置获取模块,用于若所述当前帧初始位置的数量大于1个,对所述当前帧初始位置进行筛选,得到筛选中间位置;候选中间位置确定模块,用于通过第一目标检测方法对每个所述筛选中间位置在所述当前视频帧中对应的待检测位置区域进行目标检测,确定所述乒乓球的候选中间位置;其中,所述第一目标检测方法的检测精度高于所述第二目标检测方法的检测精度;乒乓球回合开始检测模块,用于基于所述筛选中间位置以及所述候选中间位置对所述乒乓球回合开始进行检测。
根据本发明的一个实施方式,所述筛选中间位置获取模块,还用于确定在所述当前帧初始位置之前检测到的参考位置;基于每个所述当前帧初始位置与所述参考位置之间的距离以及预设距离范围对所述当前帧初始位置进行筛选,得到所述筛选中间位置。
根据本发明的一个实施方式,所述筛选中间位置的数量为多个,所述候选中间位置的数量为多个;所述乒乓球回合开始检测模块,还用于基于多个所述候选中间位置与多个所述筛选中间位置进行交集运算,得到多个第一交集位置;根据每个所述第一交集位置与所述参考位置之间的距离对多个所述第一交集位置进行筛选,得到合格初始位置;若所述合格初始位置的数量大于等于预设位置数量,判定回合开始。
根据本发明的一个实施方式,所述回合开始检测装置还包括:合格初始位置确定模块,用于若所述当前帧初始位置的数量为1个,且所述当前帧初始位置与参考位置之间的距离在预设距离范围内,确定所述当前帧初始位置为合格初始位置;回合开始判定模块,用于若所述合格初始位置的数量大于等于预设位置数量,判定回合开始。
根据本发明的一个实施方式,所述当前视频帧记为第N视频帧,所述N为正整数;所述第二帧初始位置获取模块,还用于若基于所述第二目标检测方法在第N+1视频帧的指定区域中未检测到所述乒乓球,继续检测第N+2视频帧;若在所述第N+2视频帧的指定区域中依旧未检测到所述乒乓球,判定回合未开始。
根据本发明的一个实施方式,所述乒乓球回合开始检测模块,至少还具有以下一种用途:若基于每个所述当前帧初始位置与所述参考位置之间的距离以及所述预设距离范围对大于1个的所述当前帧初始位置进行筛选,得到1个筛选中间位置,作为所述合格初始位置;若通过所述第一目标检测方法检测到1个候选中间位置,将检测到的所述候选中间位置作为所述合格初始位置;若基于多个所述候选中间位置与多个所述筛选中间位置进行交集运算,得到1个交集位置,将交集运算得到的所述交集位置作为所述合格初始位置。
为达到上述目的,本发明第五方面实施方式提出了一种计算机设备,包括存储器和处理器,所述存储器存储有第一计算机程序,所述处理器执行所述第一计算机程序时实现前述任一项实施方式所述的运动轨迹检测方法和/或回合开始检测方法的步骤。
为达到上述目的,本发明第六方面实施方式提出了一种芯片,包括存储单元和处理单元,所述存储单元存储有第二计算机程序,所述处理单元执行所述第二计算机程序时实现前述任一项实施方式所述的运动轨迹检测方法和/或回合开始检测方法的步骤。
为达到上述目的,本发明第七方面实施方式提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一项实施方式所述的运动轨迹检测方法和/或回合开始检测方法的步骤。
根据本发明提供的多个实施方式,通过针对接球对象的乒乓球训练过程进行拍摄得到视频流,并在视频流的每个视频帧中设置指定分界线,以用于根据视频帧中不同区域的目标检测干扰大小程度将视频帧划分为不同的检测区域,且不同的区域对应使用不同的目标检测方法进行目标检测。根据任一视频帧中的乒乓球的运动方向以及乒乓球与指定分界线之间的距离,对乒乓球在该视频帧的下一视频帧中的位置进行预估。当预估下一视频帧中的乒乓球有较大的概率进入目标检测干扰较大的区域中时,可以使用鲁棒性更好、精度更高的目标检测方法进行目标检测;当预估下一视频帧中的乒乓球有较大的概率进入目标检测干扰较小的区域中时,可以使用消耗资源较少的目标检测方法进行目标检测。以此,可以同时满足检测精度和检测性能的要求,并可以实现目标检测方法的自动切换,以提高检测的灵活性。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1a为根据本说明书一个实施方式提供的运动轨迹检测方法的流程示意图。
图1b为根据本说明书一个实施方式提供的视频帧的示意图。
图1c为根据本说明书一个实施方式提供的指定分界线的示意图。
图2a为根据本说明书一个实施方式提供的运动轨迹检测方法的流程示意图。
图2b为根据本说明书一个实施方式提供的摄像机安装示意图。
图2c为根据本说明书一个实施方式提供的拍摄画面示意图。
图2d为根据本说明书一个实施方式提供的场景标定效果示意图。
图2e为根据本说明书一个实施方式提供的指定区域示意图。
图3a为根据本说明书一个实施方式提供的回合开始检测的流程示意图。
图3b为根据本说明书一个实施方式提供的合格初始位置的示意图。
图4为根据本说明书一个实施方式提供的运动轨迹检测方法的流程示意图。
图5为根据本说明书一个实施方式提供的回合开始检测的流程示意图。
图6为根据本说明书一个实施方式提供的运动轨迹检测方法的流程示意图。
图7a为根据本说明书一个实施方式提供的运动轨迹检测方法的流程示意图。
图7b为根据本说明书一个实施方式提供的指定分界线的示意图。
图8a为根据本说明书一个实施方式提供的视频帧区域划分的示意图。
图8b为根据本说明书一个实施方式提供的帧差法检测效果示意图。
图8c为根据本说明书一个实施方式提供的帧差法的检测效果示意图。
图8d为根据本说明书一个实施方式提供的目标检测模型的检测效果示意图。
图9为根据本说明书一个实施方式提供的确定乒乓球运动轨迹的流程示意图。
图10为根据本说明书一个实施方式提供的运动轨迹检测方法的流程示意图。
图11为根据本说明书一个实施方式提供的运动轨迹检测方法的流程示意图。
图12为根据本说明书一个实施方式提供的一段乒乓球运动轨迹的示意图。
图13为根据本说明书一个实施方式提供的回合开始检测方法的流程示意图。
图14为根据本说明书一个实施方式提供的对当前帧初始位置进行筛选的流程示意图。
图15为根据本说明书一个实施方式提供的对乒乓球回合开始进行检测的流程示意图。
图16a为根据本说明书一个实施方式提供的运动轨迹检测装置的结构框图。
图16b为根据本说明书一个实施方式提供的运动轨迹检测装置的结构框图。
图16c为根据本说明书一个实施方式提供的运动轨迹检测装置的结构框图。
图17a为根据本说明书一个实施方式提供的回合开始检测装置的结构框图。
图17b为根据本说明书一个实施方式提供的回合开始检测装置的结构框图。
图18为根据本说明书一个实施方式提供的计算机设备的结构框图。
图19为根据本说明书一个实施方式提供的芯片的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
乒乓球是我国的国球,是一项兼具竞技性和观赏性的体育项目。目前,乒乓球项目除了出现在各大运动竞赛赛事项目中,也开始出现在中考体育测试项目中,乒乓球项目的普及性和重要性得到了较大的提升。在乒乓球比赛或者乒乓球训练等过程中,通常依靠裁判等人员进行回合得分和失分判断。由于乒乓球实际运动时的目标面积小、运动速度快,同时乒乓球具有一定的旋转性,完全依靠人工进行得分和失分判断会产生巨大的工作量,且往往无法及时有效地给出评分判断,针对一瞬即逝的过往回合较难留有足够的用于后期进行相关分析的记录等。同时,不同的评分人员对临界球的把握和界定可能不同,且评分人员在较长时间的观察和评分判断后可能因为疲劳等原因影响评分结果,导致依靠人工评分得到的评分结果具有不稳定性。因此,设计一个乒乓球自动计分系统具有重要的意义。一方面,自动计分系统可以减少相关人员的工作量,且能够准确地执行判分准则,具有较高的稳定性,以此来克服人类视觉上的极限,保证比赛等场景下的评分公平性。另一方面,自动计分系统能够记录运动员打球过程中的乒乓球运动轨迹,具有较高的准确性,以辅助运动员了解自己击球的技术等。自动计分系统在帮助运动员调整自己的状态或自身实力,以及帮助教练合理排兵布阵等方面具有非常重要的作用。
相关技术中,主要采用以下几种方案实现自动计分:
(1)通过传感器进行乒乓球落点检测。通过在球台以及球网上分别安装传感器,并将各传感器与PC(Personal Computer,个人计算机)机连接。各传感器会检测乒乓球是否触及球台或球网,然后把结果传给PC机进行分析。最后经过PC机的分析,可以把处理结果上传至得分显示屏上进行显示。该方案通过在球桌下安装多维力传感器或加速度传感器,能够保证检测的准确性和实时性,但必然会导致成本的增加,无法大量推广应用。同时,该方案只能对落点在球台上的乒乓球或者擦网的乒乓球进行判断,无法对乒乓球在空中的运动轨迹给出有效的信息。
(2)通过双目系统进行乒乓球运动轨迹识别。双目系统能够将计算机视觉与乒乓球轨迹可视化相结合,提供一个完善可行的用于精确观测和分析乒乓球轨迹的乒乓球系统。双目系统首先进行图像采集,然后进行虚拟三维重建,并结合相关算法来定位图像中的乒乓球的位置,从而得到乒乓球的运动轨迹。该方案至少需要两台摄像机负责图像采集,还需要一些主机负责三维重建和运动轨迹分析处理等,因此必然会引入多个摄像机之间的数据同步的问题。同时,由于三维数据处理需要耗费较多的时间,因此难以实现自动计分的实时性。
(3)通过单目系统进行乒乓球运动轨迹识别。单目系统通过使用传统图像处理和跟踪算法来获取乒乓球运动轨迹,并找到乒乓球的落点,以根据落点给出评分。该方案主要采用传统的图像处理算法,而传统的图像处理算法对光照、模糊等情形进行处理时的泛化性能较差。同时,对于使用发球机进行乒乓球训练或考试等应用场景,相关技术中的单目系统需要与发球机联动,以获取发球信号,以确定发球回合的起始阶段。
(4)通过鹰眼技术实现乒乓球运动轨迹识别。一些国外先进的鹰眼系统,会通过安装8台或更多的高速摄像机、服务器等,来对现场的乒乓运动的瞬间信息进行捕捉和三维数据模拟,并利用相关技术对乒乓球的运动轨迹进行分析,最终将分析处理的结果上传至显示大屏进行显示。该方案对于常规的单人训练或考试等应用场景而言成本过高,且鹰眼系统存在系统功能冗余。
为了实现实时性较好的乒乓球运动轨迹检测,并在保证实时性的同时能够有效提升检测的精度,有必要提出一种运动轨迹、回合开始检测方法、装置、设备及芯片。本说明书提出的运动轨迹检测方法通过针对接球对象的乒乓球训练过程进行拍摄得到视频流,并在视频流的每个视频帧中设置指定分界线,以用于根据视频帧中不同区域的目标检测干扰大小程度将视频帧划分为不同的检测区域,且不同的区域对应使用不同的目标检测方法进行目标检测。针对视频流中的任一视频帧,根据该视频帧中的乒乓球的位置,确定该视频帧中的乒乓球与指定分界线之间的距离,以根据乒乓球的运动方向以及乒乓球与指定分界线之间的距离,对乒乓球在该视频帧的下一视频帧中的位置进行预估。即,预估乒乓球从目标检测干扰较小的区域运动进入目标检测干扰较大的区域,或者,从目标检测干扰较大的区域运动进入目标检测干扰较小的区域,从而可以确定对该下一视频帧进行目标检测的目标检测方法。由此,当乒乓球位于目标检测干扰较小的区域中时,可以使用消耗资源较少的目标检测方法进行目标检测,当乒乓球位于目标检测干扰较大的区域中时,可以使用鲁棒性更好、精度更高的目标检测方法进行目标检测。以此,可以同时满足检测精度和检测性能的要求,并可以实现目标检测方法的自动切换,以提高检测的灵活性。
进一步地,本说明书提出的运动轨迹检测方法根据视频帧中发球机所在乒乓球桌面的一侧的上方发球机所发射乒乓球的路经区域设置指定区域,用于在上述确定视频帧中的乒乓球与指定分界线之间的距离之前进行回合开始检测。具体地,若检测到乒乓球在当前视频帧中的当前帧初始位置位于指定区域中,则确定当前视频帧中指定区域内的当前帧初始位置的数量以及在当前帧初始位置之前检测到的参考位置。针对当前视频帧,根据当前帧初始位置、当前帧初始位置的数量以及参考位置,可以从当前帧初始位置中确定出最终需要的符合条件的合格初始位置,以基于合格初始位置进行回合开始检测。若回合开始检测的结果是回合开始,则继续上述确定视频帧中的乒乓球与指定分界线之间的距离等运动轨迹检测方法的流程。由此,可以实现对乒乓球运动轨迹的回合进行自动判断,有效提高乒乓球运动轨迹检测的精度和评分的准确性。
再进一步地,在使用消耗资源较少的目标检测方法对当前视频帧进行目标检测的情况下,本说明书提出的运动轨迹检测方法在检测到的当前视频帧中的乒乓球的初始位置的数量为1个时,根据该初始位置以及在该初始位置之前检测到的该初始位置对应的上一位置之间的距离,对该初始位置进行有效性判断,以提高检测的准确性。在检测到的当前视频帧中的乒乓球的初始位置的数量为大于1个时,根据各初始位置与上一位置之间的距离对各初始位置进行筛选,以得到符合距离条件的筛选位置。若筛选位置的数量为1个,则筛选位置是需要的有效位置;若筛选位置的数量为多个,可以进一步采用鲁棒性更好、精度更高的目标检测方法对各筛选位置所在位置区域分别进行检测,以得到候选位置。若候选位置的数量为1个,则候选位置是需要的有效位置;若候选位置的数量为多个,可以根据候选位置和筛选位置的交集,确定交集位置。若交集位置的数量为1个,则交集位置是需要的有效位置;若交集位置的数量为多个,则可以根据各交集位置和上一位置之间的距离从多个交集位置中确定出需要的有效位置。由此,可以有效降低误检率,从而提高检测的精度。
又进一步地,本说明书提出的运动轨迹检测方法在基于回合开始检测结果判定回合开始后,可以根据已检测到的位于指定区域内的多个当前帧初始位置中的最后一个位置对应的帧序号以及预设间歇期确定不需要用于进行回合开始检测的视频帧范围。由此,可以提高回合检测的准确性和鲁棒性。
本说明书实施方式提供一种运动轨迹检测方法,参考图1a所示,运动轨迹检测方法可以包括以下步骤。
S110、获取针对接球对象的乒乓球训练过程进行拍摄得到的视频流;其中,视频流包括相邻的第一视频帧和第二视频帧;第一视频帧的时刻早于第二视频帧的时刻;视频流中每个视频帧具有指定分界线。
S120、确定第一视频帧中乒乓球与指定分界线间的目标距离。
S130、若判定乒乓球朝向接球对象运动,且目标距离小于预设距离阈值,确定使用第一目标检测方法对第二视频帧进行目标检测,以确定乒乓球运动轨迹。
S140、若判定乒乓球远离接球对象运动,且目标距离小于预设距离阈值,确定使用第二目标检测方法对第二视频帧进行目标检测,以确定乒乓球运动轨迹;其中,第一目标检测方法的检测精度高于第二目标检测方法的检测精度。
其中,接球对象是参与乒乓球接球和回球训练的乒乓球运动员。指定分界线可以是根据视频帧中的环境变化情况(背景变化情况)事先设置的垂直于乒乓球桌面的分界线,用于将视频帧划分为环境变化较小且目标检测复杂度较低的区域,以及环境变化较大且目标检测复杂度较高的区域。第一视频帧是已完成目标检测的视频帧,第二视频帧是当前需要进行目标检测的视频帧。目标距离采用绝对值。
可以理解的是,由于乒乓球的目标面积较小,若视频帧中的背景变化较大,则在进行目标检测时,背景变化对于乒乓球检测的干扰就会越大,因此需要使用检测精度更高的目标检测方法进行目标检测。在乒乓球训练过程中,若乒乓球朝向接球对象运动,可以认为乒乓球处于发球过程中;若乒乓球远离接球对象运动,可以认为乒乓球处于回球过程中。
在一些情况中,在乒乓球训练过程中,由于发球对象发球时,通常发球对象的活动较为单一且变化不大,而接球对象接球时的活动较为复杂且变化较大,因此,可以根据乒乓球相对于接球对象的运动方向以及乒乓球与指定分界线之间的距离确定用于对下一视频帧进行目标检测的目标检测方法。
具体地,可以获取摄像机针对接球对象的乒乓球训练过程进行拍摄得到的视频流。针对视频流中的第一视频帧,若第一视频帧中包括有处在飞行运动过程中的乒乓球,则可以根据该乒乓球的位置确定乒乓球与指定分界线之间的目标距离。若根据第一视频帧中的乒乓球,以及时刻早于第一视频帧的时刻的视频帧中的乒乓球,判定当前乒乓球是朝向目标对象运动的,且乒乓球与指定分界线之间的目标距离小于预设距离阈值,表明第二视频帧中乒乓球有较大的概率会进入视频帧中环境变化较大且目标检测复杂度较高的区域。因此,确定使用精度更高的第一目标检测方法对第二视频帧进行目标检测,以得到第二视频帧中的乒乓球的位置,从而可以确定乒乓球运动轨迹。
若根据第一视频帧中的乒乓球,以及与第一视频帧相邻且时刻早于第一视频帧的时刻的视频帧中的乒乓球,判定当前乒乓球是远离目标对象运动的,且乒乓球与指定分界线之间的目标距离小于预设距离阈值,表明第二视频帧中乒乓球有较大的概率会进入视频帧中环境变化较小且目标检测复杂度较低的区域。因此,确定使用精度较低的第二目标检测方法对第二视频帧进行目标检测,以得到第二视频帧中的乒乓球的位置,从而可以确定乒乓球运动轨迹。
在一些实施例中,为了便于检测,摄像机拍摄时可以使乒乓球桌的长边一侧与拍摄画面(视频帧)的下边缘平行。指定分界线可以设置在球网位置处且垂直于乒乓球桌面,即可以将指定分界线设置在乒乓球桌面的垂直中心线上。以视频帧的左上角顶点为坐标原点,以水平方向的轴为x轴(横轴),以竖直方向的轴为y轴(纵轴),且x轴的正方向指向视频帧的右上角顶点,y轴的正方向指向视频帧的左下角顶点。则可以根据视频帧中的乒乓球的位置对应的x坐标与指定分界线的x坐标确定乒乓球与指定分界线之间的距离。
示例性地,参考图1b所示,视频帧中乒乓球桌的长边边缘与视频帧的下边缘平行。通过对视频帧中的乒乓球桌的四个角点进行标注,可以得到四个角点的位置,从而可以计算出球网的位置。根据球网的位置,可以得到指定分界线的位置。
将第一视频帧记为第fi视频帧,将第二视频帧记为第fi+1视频帧,其中,fi可以是第一视频帧的帧序号。若根据第fi-1视频帧和第fi视频帧确定乒乓球朝向目标对象运动,且乒乓球的x坐标与指定分界线的x坐标之间的距离小于预设距离阈值,则使用第一目标检测方法对第fi+1视频帧进行目标检测,得到第fi+1视频帧中的乒乓球的位置。
若根据第fi-1视频帧和第fi视频帧确定乒乓球远离目标对象运动,且乒乓球的x坐标与指定分界线的x坐标之间的距离小于预设距离阈值,则使用第二目标检测方法对第fi+1视频帧进行位置检测,得到第fi+1视频帧中的乒乓球的位置。
在另一些实施例中,可以根据接球对象的动作范围设置指定分界线。
示例性地,经过大量的分析和实验等,接球对象的动作范围主要在接球对象所在乒乓球桌一侧偏右的区域。以上述乒乓球桌为例,参考图1c所示,可以将乒乓球桌的右上角点的x坐标作为指定分界线的x坐标,以得到指定分界线。
可以理解的是,对第一视频帧进行目标检测的目标检测方法的确定方式可以与上述方式相同。若第一视频帧是拍摄得到的发球后的第一个视频帧,由于此时乒乓球必然处于发球过程中,则使用第二目标检测方法对第一个视频帧进行目标检测。第一视频帧也可以称为第一视频帧图像,第二视频帧也可以称为第二视频帧图像。
需要说明的是,指定分界线和预设距离阈值可以根据实际情况或实际需求等进行设置,本说明书中不作具体的限定。发球对象可以是发球机,也可以是教练等人员。若发球对象是教练等人员,则不对教练等人员的发球动作进行拍摄。预设距离阈值可以根据实际测量得到或者可以根据乒乓球的运动速度和加速度等动态计算得到。第一目标检测方法可以是基于机器学习或者深度学习的方法,第二目标检测方法可以是基于图像处理的方法。
上述实施方式中,通过指定分界线将视频帧划分为干扰小、环境变化不大的检测区域和干扰大、环境变化较大的检测区域,当视频帧中的乒乓球位于干扰小、环境变化不大的检测区域中时可以采用检测精度较低的第二目标检测方法对视频帧进行目标检测;当视频帧中的乒乓球位于干扰大、环境变化较大的检测区域中时可以采用检测精度较高的第一目标检测方法对视频帧进行目标检测。相较于第一目标检测方法,第二目标检测方法的检测速度更快、消耗资源更少、实现方式更简单;相较于第二目标检测方法,第一目标检测方法的鲁棒性更好、检测精度更高。
同时,根据第一视频帧中的乒乓球与指定分界线之间的目标距离,来确定对第二视频帧进行位置检测的检测方法,使得在判断乒乓球有较大的概率会从干扰小、环境变化不大的检测区域进入干扰大、环境变化较大的检测区域中时,能够切换使用检测精度较高的第一目标检测方法;在判断乒乓球有较大的概率会从干扰大、环境变化较大的检测区域进入干扰小、环境变化不大的检测区域中时,能够切换使用检测精度较低的第二目标检测方法。由此,可以同时满足检测精度和检测性能的要求,并可以实现自动切换检测方法,提高检测的灵活性。
在一些实施方式中,每个视频帧中具有乒乓球桌面和发球机;乒乓球桌面被球网划分为两侧,发球机所在乒乓球桌面的一侧的上方对应有发球机所发射乒乓球的路经区域。参考图2a所示,在确定第一视频帧中乒乓球与指定分界线间的目标距离之前,运动轨迹检测方法还可以包括以下步骤。
S210、基于第二目标检测方法进行乒乓球的目标检测,得到乒乓球在当前视频帧中的当前帧初始位置。
S220、若当前帧初始位置位于路经区域中的指定区域,确定当前帧初始位置的数量以及在当前帧初始位置之前检测到的参考位置。
S230、根据当前帧初始位置、当前帧初始位置的数量以及参考位置进行回合开始检测,得到回合开始检测结果。
其中,指定区域是具有预设高度和预设宽度的区域。当前帧初始位置的数量是使用第二目标检测方法在当前视频帧中检测到的位于指定区域中的乒乓球的位置的数量,当前帧初始位置的参考位置是在当前视频帧之前的视频帧中检测到的当前帧初始位置的前一个位置。
将当前视频帧记为第n视频帧,若在第n-1视频帧中检测到了乒乓球,则参考位置是该第n-1视频帧中检测到的乒乓球的位置;若在第n-1视频帧中未检测到乒乓球,且在第n-2视频帧中检测到了乒乓球,则参考位置是该第n-2视频帧中检测到的乒乓球的位置。
可以理解的是,路经区域可以根据实验测量的发球机根据不同的俯角或仰角发射乒乓球后乒乓球在空中的飞行轨迹得到。一次发球就是一个回合,即一个完整的回合可以包括发球机将乒乓球发射到对侧区域,然后接球对象通过击球使乒乓球再返回发球机所在一侧球台的过程。由于视频帧中发球机所在乒乓球桌的一侧区域的背景变化不大,因此,当视频流输入或者上一回合结束后,可以使用第二目标检测方法对当前视频帧进行目标检测。参考位置的数量为一个。
具体地,可以对视频帧中的乒乓球桌面和发球机的位置进行标定,并可以根据视频帧中发球机所发射乒乓球的路经区域设置指定区域。当视频流输入时,或者,当上一回合结束后,使用第二目标检测方法对当前视频帧进行目标检测,以得到乒乓球在该当前视频帧中的当前帧初始位置,并判断当前帧初始位置是否位于指定区域中。
若该当前视频帧中的当前帧初始位置位于指定区域中,则确定乒乓球在该当前视频帧中的指定区域内的当前帧初始位置的数量,以及在当前帧初始位置之前检测到的参考位置。根据当前帧初始位置、当前帧初始位置的数量以及参考位置,可以从当前帧初始位置中确定出符合条件的合格初始位置,以基于合格初始位置进行回合开始检测,得到回合开始检测结果。
在一些实施例中,为了保证使用消耗资源较少的第二目标检测方法进行目标检测时的检测精度,需要对打球场地以及摄像机的安装做出一定约束。
示例性地,参考图2b所示,可以将摄像机安装在乒乓球桌长边正中间,且摄像机高出地面2米,距离球网1米。摄像机拍摄画面中的后台背景为黑色,乒乓球使用白色或者黄色乒乓球,乒乓球球台要符合国际乒联认定标准。其中,黑色背景是为了在使用第二目标检测方法检测视频帧中的乒乓球时,能够具有更高的检测精度。若使用白墙或者其他白色背景,当乒乓球是白色乒乓球时,视频帧中的乒乓球将会无法被准确检测到。
参考图2c所示,可以适当调整摄像头在空间中的角度,使乒乓球桌面的长边边缘与拍摄画面的下边缘平行。乒乓球桌面靠近摄像头一侧的两个角点分别位于拍摄画面的左右两侧,这样做的好处是可以将需要关注的区域最大化,并且减小其他区域的干扰。
由于最终要通过获取乒乓球是否有落点以及落点的位置来进行分数判定和保留相关的乒乓球运动轨迹以便用于后续分析,因此需要通过场景标定以明确知道乒乓球桌面及发球机的位置。参考图2d所示,通过对视频帧中的乒乓球桌面的四个角点以及发球机进行标定,可以得到四个角点的位置以及发球机的位置。通过四个角点的位置可以计算出球网的位置,并可以进一步将乒乓球桌面区域划分为四个区域,包括区域zone1、zone2、zone3和zone4。
除了上述相关位置的标定还需要对乒乓球的颜色进行标定。乒乓球的颜色有黄色和白色两种,不同的颜色在图像处理算法中会有不同的处理方式。另外,还需要对发球机在乒乓球桌面的左侧或者右侧进行标定。现场安装时发球机可以安装在乒乓球桌面的左侧,也可以安装在乒乓球桌面的右侧,如果安装在乒乓球桌面的右侧,算法处理时可以对视频帧进行左右镜像处理,以适配算法。
为了兼顾处理速度和精度,以及乒乓球快速运动的特性,摄像机的分辨率可以是720P,对应拍摄得到的视频帧图像的大小为高720像素和宽1080像素,视频帧帧率是60FPS(Frames per Second,每秒显示帧数)。
指定区域的位置和大小可以根据乒乓球桌面的标定值、路经区域和预设高度、预设宽度进行设置。示例性地,参考图2e所示,可以设置指定区域的右下角点与球网位置的上顶点重合,指定区域的宽度与区域zone3的一侧边长度相同。
示例性地,位于指定区域中的当前帧初始位置的数量可以是1个。将当前视频帧记为第fi视频帧,使用第二目标检测方法对第fi视频帧进行目标检测,得到乒乓球在第fi视频帧中的当前帧初始位置,记为(x1,y1)。将该当前帧初始位置与指定区域的边界坐标进行比较,以确定该当前帧初始位置是否位于指定区域中。若该当前帧初始位置位于指定区域中,则确定当前帧初始位置的数量为1个,以及确定在该当前帧初始位置之前检测到的参考位置。假设参考位置是第fi-1视频帧中检测到的位置,记为(x0,y0),则根据当前帧初始位置(x1,y1)、当前帧初始位置的数量以及参考位置(x0,y0),可以确定当前帧初始位置(x1,y1)是否是符合条件的合格初始位置。若当前帧初始位置(x1,y1)是符合条件的合格初始位置,则可以基于当前帧初始位置(x1,y1)进行回合开始检测。若当前帧初始位置(x1,y1)不是符合条件的合格初始位置,则不能基于当前帧初始位置(x1,y1)进行回合开始检测。
示例性地,当前帧初始位置的数量可以大于1个。将当前视频帧记为第fi视频帧,使用第二目标检测方法对第fi视频帧进行目标检测,得到乒乓球在第fi视频帧中的3个当前帧初始位置,分别记为(x11,y11)、(x12,y12)、(x13,y13)。将该3个当前帧初始位置与指定区域的边界坐标分别进行比较,以确定3个当前帧初始位置是否位于指定区域中。若确定当前帧初始位置(x12,y12)和(x13,y13)位于指定区域中,则确定当前帧初始位置的数量为2个,以及确定在当前帧初始位置(x12,y12)和(x13,y13)之前检测到的参考位置。假设参考位置是第fi-1视频帧中检测到的位置,记为(x0,y0),则根据当前帧初始位置(x12,y12)和(x13,y13)、当前帧初始位置的数量以及参考位置(x0,y0),可以确定当前帧初始位置(x12,y12)和(x13,y13)中是否有符合条件的合格初始位置。
若当前帧初始位置(x12,y12)是符合条件的合格初始位置,则可以基于当前帧初始位置(x12,y12)进行回合开始检测。若当前帧初始位置(x12,y12)和(x13,y13)均不是符合条件的合格初始位置,则当前帧初始位置(x12,y12)和(x13,y13)不能用于进行回合开始检测。
需要说明的是,指定区域的预设高度可以根据发球机的俯角和仰角进行设置,预设宽度可以根据实际需求等进行设置。指定区域也可以称为发球走廊区域。
上述实施方式中,根据视频帧中发球机所在乒乓球桌面的一侧的上方发球机所发射乒乓球的路经区域设置指定区域,用于在确定乒乓球运动轨迹之前进行回合开始检测,可以实现对乒乓球运动轨迹的回合进行自动判断,有效提高乒乓球运动轨迹检测的精度和评分的准确性。
在一些实施方式中,参考图3a所示,根据当前帧初始位置、当前帧初始位置的数量以及参考位置进行回合开始检测,得到回合开始检测结果,可以包括以下步骤。
S310、若当前帧初始位置的数量为1个,且当前帧初始位置与参考位置之间的距离在预设距离范围内,确定当前帧初始位置为合格初始位置。
S320、若合格初始位置的数量大于等于预设位置数量,确定回合开始检测结果为回合开始。
其中,合格初始位置的数量是连续多个视频帧中各视频帧的合格初始位置的数量。
在一些情况中,由于发球机的发球速度不同,不同回合的发球过程中,在指定区域内可能会有不同的乒乓球位置的数量。为了不影响不同发球速度下的回合开始检测,保证回合开始检测的鲁棒性,可以设置预设位置数量,只要指定区域内的合格初始位置的数量大于等于预设位置数量,即可认为发球开始。
具体地,针对当前视频帧,若检测到的当前视频帧中位于指定区域内的当前帧初始位置的数量为1个,则计算该当前帧初始位置与参考位置之间的距离。若计算得到的距离在预设距离范围内,将该当前帧初始位置确定为合格初始位置。针对以当前视频帧为起始帧的连续多个视频帧,根据各视频帧中的合格初始位置,可以得到合格初始位置的数量。若合格初始位置的数量大于等于预设位置数量,可以判定回合开始,即可以确定回合开始检测结果为回合开始。
在一些实施例中,当前帧初始位置与参考位置之间的距离包括x坐标的距离和y坐标的距离,预设距离范围包括x坐标距离范围和y坐标距离范围。连续多个视频帧可以是指定数量的连续多个视频帧。预设位置数量可以设置为3个。
由于乒乓球运动具有速度和加速度,因此乒乓球在当前视频帧中的当前帧初始位置必定在根据参考位置对应的乒乓球的速度和参考位置对应的视频帧和当前视频帧之间的时间差计算得到的小范围内,或者,在根据参考位置对应的乒乓球的速度和加速度,以及该时间差计算得到的小范围内。因此,可以根据参考位置对应的乒乓球的速度和加速度计算得到预设距离范围。
示例性地,将当前视频帧记为第fi视频帧。若检测到第fi视频帧中位于指定区域内的当前帧初始位置的数量为1个,将当前帧初始位置记为(x1,y1)。假设参考位置是第fi-1视频帧中检测到的位置,记为(x0,y0),则可以计算当前帧初始位置(x1,y1)和参考位置(x0,y0)之间的x坐标距离为dx1=x1-x0,以及计算当前帧初始位置(x1,y1)和参考位置(x0,y0)之间的y坐标距离为dy1=|y1-y0|(纵坐标的差值有正值或者负值的情况,因此取绝对值)。
根据参考位置(x0,y0)对应的乒乓球的速度和加速度计算得到x坐标距离范围为Tdx1,y坐标距离范围为Tdy1。将当前帧初始位置和参考位置之间的x坐标距离dx1与x坐标距离范围Tdx1进行比较,并将当前帧初始位置和参考位置之间的y坐标距离dy1与y坐标距离范围Tdy1进行比较。若x坐标距离dx1在x坐标距离范围Tdx1内,且y坐标距离dy1在y坐标距离范围Tdy1内,则将当前帧初始位置(x1,y1)确定为合格初始位置。
假设连续多个视频帧是指定数量为5个的连续多个视频帧,则连续多个视频帧包括第fi视频帧、第fi+1视频帧、第fi+2视频帧、第fi+3视频帧、第fi+4视频帧。将第fi+1视频帧作为当前视频帧,若检测到第fi+1视频帧中位于指定区域内的当前帧初始位置的数量为1个,记为(x2,y2),则参考位置为第fi视频帧中检测到的(x1,y1)。计算当前帧初始位置(x2,y2)和参考位置(x1,y1)之间的x坐标距离为dx2=x2-x1,以及计算当前帧初始位置(x2,y2)和参考位置(x1,y1)之间的y坐标距离为dy2=|y2-y1|。
根据参考位置(x1,y1)对应的乒乓球的速度和加速度计算得到x坐标距离范围为Tdx2,y坐标距离范围为Tdy2。将当前帧初始位置和参考位置之间的x坐标距离dx2与x坐标距离范围Tdx2进行比较,并将当前帧初始位置和参考位置之间的y坐标距离dy2与y坐标距离范围Tdy2进行比较。若x坐标距离dx2在x坐标距离范围Tdx2内,且y坐标距离dy2在y坐标距离范围Tdy2内,则将当前帧初始位置(x2,y2)确定为合格初始位置。将第fi+2视频帧、第fi+3视频帧、第fi+4视频帧分别作为当前视频帧的情况的描述与上述描述类似,具体不再赘述。
由此,假设第fi+2视频帧中的合格初始位置为(x3,y3),第fi+3视频帧中的合格初始位置为(x4,y4),第fi+4视频帧中的合格初始位置为(x5,y5),则可以得到合格初始位置的数量为5个,大于预设位置数量,判定回合开始。
示例性地,以上述第fi视频帧、第fi+1视频帧、第fi+2视频帧、第fi+3视频帧、第fi+4视频帧为例。假设第fi视频帧中的合格初始位置为(x1,y1),第fi+1视频帧中的合格初始位置为(x2,y2),第fi+2视频帧中没有合格初始位置,第fi+3视频帧中的合格初始位置为(x3,y3),第fi+4视频帧中没有合格初始位置,则合格初始位置的数量为3个,与预设位置数量相等,判定回合开始。
在另一些实施例中,从检测到指定区域中的第一个合格初始位置起,直至检测到指定区域中的最后一个合格初始位置,连续多个视频帧可以包括该第一个合格初始位置对应的视频帧至该最后一个合格初始位置对应的视频帧。
示例性地,参考图3b所示,假设在指定区域中的第一个合格初始位置是第fi视频帧中的合格初始位置(x1,y1)(对应图3b中的位置1),继续检测第fi+1视频帧。假设第fi+1视频帧中的合格初始位置为(x2,y2)(对应图3b中的位置2,以此类推),第fi+2视频帧中的合格初始位置为(x3,y3),第fi+3视频帧中的合格初始位置为(x4,y4),第fi+4视频帧中的合格初始位置为(x5,y5),第fi+5视频帧中的合格初始位置为(x6,y6),第fi+6视频帧中的合格初始位置为(x7,y7)(对应图3b中的位置7)。假设检测到第fi+7视频帧中的当前帧初始位置已经出了指定区域,则第fi+6视频帧中的合格初始位置是在指定区域中检测到的最后一个合格初始位置,连续多个视频帧是第fi视频帧至第fi+6视频帧的7个连续视频帧。根据该连续多个视频帧,可以确定合格初始位置的数量为7个,大于预设位置数量,判定回合开始。
进一步地,若检测到的当前视频帧中位于指定区域内的当前帧初始位置的数量为1个,且计算得到的该当前帧初始位置与参考位置之间的距离不在预设距离范围内,则可以按照未检测到乒乓球的情况处理。
需要说明的是,预设位置数量可以根据实际情况或者实际需求等进行设置,本说明书中不作具体的限定。
在一些实施方式中,当前视频帧记为第N视频帧,N为正整数。参考图4所示,运动轨迹检测方法还可以包括以下步骤。
S410、若通过第二目标检测方法在第N+1视频帧的指定区域中未检测到乒乓球,继续检测第N+2视频帧。
S420、若在第N+2视频帧的指定区域中依旧未检测到乒乓球,确定回合开始检测结果为回合未开始。
在一些情况中,为了进一步提高回合开始检测的鲁棒性,可以设定在第N视频帧中检测到位于指定区域内的合格初始位置后,若在第N视频帧之后的连续若干个视频帧的指定区域中未检测到乒乓球,可以不认定回合开始,以此为检测算法提供一个较为宽松的判定条件。
具体地,将当前视频帧记为第N视频帧。在得到第N视频帧中位于指定区域内的合格初始位置后,基于第二目标检测方法对第N+1视频帧进行目标检测。若在第N+1视频帧的指定区域中未检测到乒乓球,继续基于第二目标检测方法对第N+2视频帧进行目标检测。若在第N+2视频帧的指定区域中依旧未检测到乒乓球,则不认定回合开始,即,确定回合开始检测结果为回合未开始。
可以理解的是,在回合开始检测过程中,由于指定区域位于干扰小、环境变化较小的区域,因此,在得到回合开始检测结果之前,均可以使用第二目标检测方法对视频帧进行目标检测。
在一些实施例中,可以设置未检到视频帧个数。若在第N+1视频帧的指定区域中未检测到乒乓球,可以将未检到视频帧个数加1,若在第N+2视频帧的指定区域中依旧未检测到乒乓球,可以将未检到视频帧个数再加1,使得未检到视频帧个数达到2时,确定回合开始检测结果为回合未开始。
示例性地,将当前视频帧记为第fi视频帧。在得到第fi视频帧中位于指定区域内的合格初始位置后,基于第二目标检测方法对第fi+1视频帧进行目标检测。若得到了第fi+1视频帧中位于指定区域内的合格初始位置,基于第二目标检测方法对fi+2视频帧进行目标检测。若在第fi+2视频帧的指定区域中未检测到乒乓球,将未检到视频帧个数cumfi加1,则当前未检到视频帧个数为1个。基于第二目标检测方法继续对第fi+3视频帧进行目标检测,若在第fi+3视频帧的指定区域中依旧未检测到乒乓球,将未检到视频帧个数cumfi加1,则当前未检到视频帧个数为2个,不认定回合开始。
示例性地,将当前视频帧记为第fi视频帧。在得到第fi视频帧中位于指定区域内的合格初始位置后,基于第二目标检测方法对第fi+1视频帧进行目标检测。若在第fi+1视频帧的指定区域中未检测到乒乓球,将未检到视频帧个数cumfi加1,则当前未检到视频帧个数为1个。继续基于第二目标检测方法对第fi+2视频帧进行目标检测。若得到了第fi+2视频帧中位于指定区域内的合格初始位置,将未检到视频帧个数重置为0,并基于第二目标检测方法对第fi+3视频帧进行目标检测。若在第fi+3视频帧的指定区域中未检测到乒乓球,将未检到视频帧个数cumfi加1,则当前未检到视频帧个数为1个。继续基于第二目标检测方法对第fi+4视频帧进行目标检测。若在第fi+4视频帧的指定区域中未检测到乒乓球,将未检到视频帧个数cumfi加1,则当前未检到视频帧个数为2个,不认定回合开始。
需要说明的是,本说明书提供的运动轨迹检测方法在回合开始检测过程中,设置未检到视频帧个数阈值为2个,即在连续两个视频帧中未检测到乒乓球时认为回合未开始。其中,未检到视频帧个数阈值也可以根据实际需求或实际情况等进行设置。
在视频帧的指定区域中未检测到乒乓球可以理解为在该视频帧的指定区域中不存在合格初始位置。在视频帧的指定区域中未检测到乒乓球,可以包括视频帧中没有乒乓球的情况,或者,存在漏检的情况,或者,检测到的乒乓球的当前帧初始位置位于指定区域之外的情况,或者,检测到乒乓球的当前帧初始位置位于指定区域中但该当前帧初始位置不是合格初始位置的情况。
上述实施方式中,通过在第N视频帧中检测到位于指定区域内的合格初始位置后,若在第N视频帧之后的连续2个视频帧的指定区域中未检测到乒乓球,确定回合开始检测结果为回合未开始。由此,可以为检测算法提供一个较为宽松的回合是否开始的判定条件,即使连续2个视频帧中有一视频帧的指定区域中没检测到乒乓球,也不会影响到发球回合的检测,从而提高回合检测的鲁棒性。
在一些实施方式中,参考图5所示,根据当前帧初始位置、当前帧初始位置的数量以及参考位置进行回合开始检测,得到回合开始检测结果,可以包括以下步骤。
S510、若当前帧初始位置的数量大于1个,基于每个当前帧初始位置与参考位置之间的距离以及预设距离范围对大于1个的当前帧初始位置进行筛选,得到多个筛选中间位置;其中,每个筛选中间位置在当前视频帧中对应有第一待检测位置区域。
S520、通过第一目标检测方法对每个第一待检测位置区域进行目标检测,确定乒乓球的多个候选中间位置。
S530、基于多个候选中间位置与多个筛选中间位置进行交集运算,得到多个第一交集位置。
S540、根据每个第一交集位置与参考位置之间的距离在多个第一交集位置中确定合格初始位置。
S550、若合格初始位置的数量大于等于预设位置数量,确定回合开始检测结果为回合开始。
其中,第一待检测位置区域是当前视频帧中筛选中间位置所在的位置区域。
可以理解的是,在大部分的情况下,视频帧的指定区域中只能检测到一个乒乓球。然而,若发球机发球速度较快,上一个乒乓球的回合还没有完成,下一个回合的乒乓球就已经发出,并与上一个乒乓球在指定区域相遇;或者,上一个乒乓球的回合完成后,乒乓球在球桌上还没弹下去;或者,因受光照等因素影响,尤其是受乒乓球影子的影响,在视频帧的指定区域中可能检测到多个当前帧初始位置,因此,需要从多个当前帧初始位置中确定出一个合格初始位置。
具体地,针对当前视频帧,若检测到的当前视频帧中位于指定区域内的当前帧初始位置的数量大于1个,则计算各当前帧初始位置与参考位置之间的距离。根据距离以及预设距离范围对大于1个的当前帧初始位置进行筛选,即,将不在预设距离范围内的距离对应的当前帧初始位置剔除,得到筛选中间位置。
若筛选中间位置的数量为多个,则可以确定各筛选中间位置在当前视频帧中对应的第一待检测位置区域。通过第一目标检测方法对各第一待检测位置区域分别进行目标检测,可以得到检测到的候选中间位置。
若候选中间位置的数量为多个,则可以根据多个候选中间位置与多个筛选中间位置的交集,得到交集位置。
若交集位置的数量为多个,则计算各交集位置与参考位置之间的距离,并将满足预设条件的距离对应的交集位置确定为合格初始位置。针对以当前视频帧为起始帧的连续多个视频帧,根据各视频帧中的合格初始位置,可以得到合格初始位置的数量。若合格初始位置的数量大于等于预设位置数量,可以判定回合开始,即可以确定回合开始检测结果为回合开始。
在一些实施例中,各交集位置与参考位置之间的距离包括各交集位置与参考位置之间的x坐标距离和y坐标距离。由于交集位置与参考位置之间的位置偏移角度越小,交集位置与参考位置之间的轨迹越平滑,因此,满足预设条件的距离对应的交集位置可以是y坐标距离与x坐标距离之间的最小比值对应的交集位置。
示例性地,将当前视频帧记为第fi视频帧。若检测到第fi视频帧中位于指定区域内的当前帧初始位置的数量为5个,分别记为(x11,y11)、(x12,y12)、(x13,y13)、(x14,y14)、(x15,y15)。假设参考位置是第fi-1视频帧中检测到的位置,记为(x0,y0),则可以计算位置(x11,y11)和(x0,y0)之间的x坐标距离为dx11=x11-x0,y坐标距离为dy11=|y11-y0|;位置(x12,y12)和(x0,y0)之间的x坐标距离为dx12=x12-x0,y坐标距离为dy12=|y12-y0|;位置(x13,y13)和(x0,y0)之间的x坐标距离为dx13=x13-x0,y坐标距离为dy13=|y13-y0|;位置(x14,y14)和(x0,y0)之间的x坐标距离为dx14=x14-x0,y坐标距离为dy14=|y14-y0|;位置(x15,y15)和(x0,y0)之间的x坐标距离为dx15=x15-x0,y坐标距离为dy15=|y15-y0|。
根据参考位置(x0,y0)对应的乒乓球的速度和加速度计算得到x坐标距离范围为Tdx,y坐标距离范围为Tdy。将各当前帧初始位置和参考位置之间的x坐标距离dx与x坐标距离范围Tdx进行比较,并将各当前帧初始位置和参考位置之间的y坐标距离dy与y坐标距离范围Tdy进行比较。若位置(x14,y14)和(x0,y0)之间的x坐标距离dx14不在x坐标距离范围Tdx内,或者y坐标距离dy14不在y坐标距离范围Tdy内,则将当前帧初始位置(x14,y14)剔除。得到筛选中间位置包括(x11,y11)、(x12,y12)、(x13,y13)、(x15,y15)。
确定第fi视频帧中位置(x11,y11)所在的第一待检测位置区域,记为A11;确定第fi视频帧中位置(x12,y12)所在的第一待检测位置区域,记为A12;确定第fi视频帧中位置(x13,y13)所在的第一待检测位置区域,记为A13;确定第fi视频帧中位置(x15,y15)所在的第一待检测位置区域,记为A15。使用第一目标检测方法分别对区域A11、A12、A13、A15进行目标检测,可以得到候选中间位置。
若候选中间位置包括(x11,y11)、(x13,y13),取候选中间位置与筛选中间位置的交集,可以得到交集位置包括(x11,y11)、(x13,y13)。
根据位置(x11,y11)与参考位置(x0,y0)之间的x坐标距离dx11和y坐标距离dy11,可以计算y坐标距离与x坐标距离之间的比值为dy11/dx11;根据(x13,y13)与参考位置(x0,y0)之间的x坐标距离dx13和y坐标距离dy13,可以计算y坐标距离与x坐标距离之间的比值为dy13/dx13。将比值dy11/dx11与比值dy13/dx13进行比较,若比值dy11/dx11小于dy13/dx13,则将位置(x11,y11)确定为第fi视频帧中的合格初始位置;若比值dy13/dx13小于dy11/dx11,则将位置(x13,y13)确定为第fi视频帧中的合格初始位置。
根据以第fi视频帧为起始帧的连续多个视频帧中的合格初始位置,假设第fi+6视频帧中的合格初始位置是在指定区域中检测到的最后一个合格初始位置,第fi视频帧至第fi+6视频帧的7个连续视频帧中的合格初始位置的数量为5个。假设预设位置数量为3个,则合格初始位置的数量大于预设位置数量,判定回合开始。
需要说明的是,筛选中间位置对应的第一待检测位置区域的选取方式可以根据实际情况或者实际需求等确定,本说明书中不作具体的限定。
在一些实施方式中,根据当前帧初始位置、当前帧初始位置的数量以及参考位置进行回合开始检测,得到回合开始检测结果,至少还包括以下一种:
若当前帧初始位置的数量大于1个,基于每个当前帧初始位置与参考位置之间的距离以及预设距离范围对大于1个的当前帧初始位置进行筛选,得到1个筛选中间位置,作为合格初始位置。
若通过第一目标检测方法检测到1个候选中间位置,将检测到的候选中间位置作为合格初始位置。
若基于多个候选中间位置与多个筛选中间位置进行交集运算,得到1个交集位置,将交集运算得到的交集位置作为合格初始位置。
具体地,针对当前视频帧,若检测到的当前视频帧中位于指定区域内的当前帧初始位置的数量大于1个,则计算各当前帧初始位置与参考位置之间的距离,以根据距离对大于1个的当前帧初始位置进行筛选,得到筛选中间位置。
若筛选中间位置的数量为1个,则将该筛选位置作为合格初始位置。若筛选中间位置的数量为多个,则可以确定各筛选中间位置在当前视频帧中对应的第一待检测位置区域。通过第一目标检测方法对各第一待检测位置区域分别进行目标检测,可以得到检测到的候选中间位置。
若候选中间位置的数量为1个,则将该候选中间位置作为合格初始位置。若候选中间位置的数量为多个,则可以根据多个候选中间位置与多个筛选中间位置的交集,得到交集位置。
若交集位置的数量为1个,则将该交集位置作为合格初始位置。若交集位置的数量为多个,则计算各交集位置与参考位置之间的距离,并将满足预设条件的距离对应的交集位置确定为合格初始位置。针对以当前视频帧为起始帧的连续多个视频帧,根据各视频帧中的合格初始位置,可以得到合格初始位置的数量。若合格初始位置的数量大于等于预设位置数量,可以确定回合开始检测结果为回合开始。
在一些实施方式中,参考图6所示,运动轨迹检测方法还可以包括以下步骤。
S610、若基于回合开始检测结果确定回合开始后,确定当前轨迹位置序列;其中,当前轨迹位置序列中包括位于指定区域内的最后一个合格初始位置。
S620、根据最后一个合格初始位置对应的帧序号以及预设间歇期确定不做回合开始检测的视频帧范围。
其中,预设间歇期可以用于表示两个回合之间的时间间隔,即发球机两次发球之间的时间间隔。
在一些情况中,发球机发球开始后(或者,判定回合开始后),距离发球机下一次发球(或者,下一次回合开始检测)有一定的时间间隔,在该时间间隔内无需根据视频帧中的乒乓球进行回合开始检测,即,无需检测指定区域中的乒乓球的情况。这个时间间隔可以称为间歇期。
具体地,若基于回合开始检测结果确定回合开始后,可以将已检测到的指定区域内的多个合格初始位置加入轨迹位置序列中,得到当前轨迹位置序列。根据当前轨迹位置序列中包括的位于指定区域内的最后一个合格初始位置,可以得到该最后一个合格初始位置对应的帧序号。根据该帧序号以及预设间歇期,可以确定不需要做回合开始检测的视频帧范围。
在一些实施例中,预设间歇期对应有预设视频帧数。
示例性地,基于回合开始检测结果确定回合开始后,若已检测到的指定区域内的合格初始位置包括第fi视频帧中的合格初始位置(x1,y1)、第fi+1视频帧中的合格初始位置(x2,y2)、第fi+2视频帧中的合格初始位置(x3,y3)、第fi+3视频帧中的合格初始位置(x4,y4),且第fi+3视频帧中的合格初始位置是位于指定区域内的最后一个合格初始位置。将第fi视频帧至第fi+3视频帧中的合格初始位置加入轨迹位置序列traj中,得到当前轨迹位置序列为:
traj=[(fi,x1,y1),(fi+1,x2,y2),(fi+2,x3,y3),(fi+3,x4,y4)]
根据最后一个合格初始位置对应的帧序号fi+3,以及预设间歇期对应的预设视频帧数T,可以确定不做回合开始检测的视频帧范围为第fi+4视频帧至第fi+3+T视频帧。
需要说明的是,预设间歇期对应的预设视频帧数可以根据发球机的最快发球速度测量得到的两个发球回合之间间隔的视频帧的帧数确定。当前轨迹位置序列也可以理解为是当前轨迹位置矩阵。
在一些实施方式中,当前轨迹位置序列中倒数第一个位置对应的视频帧为第一视频帧;在确定第一视频帧中乒乓球与指定分界线间的目标距离之后,参考图7a所示,运动轨迹检测方法还可以包括以下步骤。
S710、确定倒数第一个位置与当前轨迹位置序列中倒数第二个位置之间的距离差。
S720、基于距离差判断乒乓球朝向接球对象运动或者远离接球对象运动。
具体地,在基于回合开始检测结果确定回合开始并确定当前轨迹位置序列后,针对当前的第一视频帧,可以将在该视频帧中检测到的有效的乒乓球的位置加入当前轨迹位置序列中,则第一视频帧中的乒乓球的位置即为当前轨迹位置序列中的倒数第一个位置。根据当前轨迹位置序列中的倒数第一个位置和倒数第二个位置,可以得到两个位置之间的距离差。根据距离差是正值或者负值,可以判断乒乓球朝向接球对象运动,或者,乒乓球远离接球对象运动。
在一些实施例中,当前轨迹位置序列中的倒数第一个位置和倒数第二个位置之间的距离差是倒数第一个位置的x坐标和倒数第二个位置的x坐标之间的距离差。
示例性地,继续参考图2d所示,发球机位于视频帧中乒乓球桌面的左侧,则接球对象位于视频帧中乒乓球桌面的右侧。当前轨迹位置序列traj中的倒数第一个位置traj[-1]的x坐标记为traj[-1].x,倒数第二个位置traj[-2]的x坐标记为traj[-2].x。根据该倒数第一个位置和倒数第二个位置,可以计算得到距离差,记为xdirection,则有:
xdirection=traj[-1].x-traj[-2].x
若距离差xdirection的值为正,表明视频帧中乒乓球的运动方向是从左到右,即朝向接球对象运动;若距离差xdirection的值为负,表明视频帧中乒乓球的运动方向是从右到左,即远离接球对象运动。
可以理解的是,如果发球机安装在乒乓球桌面的右侧,则算法处理时可以先对视频帧进行左右镜像处理,使得若距离差的值为正,依旧表明乒乓球朝向接球对象运动;若距离差的值为负,依旧表明乒乓球远离接球对象运动。如果发球机安装在乒乓球桌面的右侧,且不对视频帧进行左右镜像处理,则若距离差的值为正,表明乒乓球远离接球对象运动;若距离差的值为负,表明乒乓球朝向接球对象运动。
在一些实施方式中,预设距离阈值是基于距离差设置的;第一目标检测方法采用目标检测模型;第二目标检测方法采用帧差法。
具体地,可以根据当前轨迹位置序列中的倒数第一个位置和倒数第二个位置之间的距离差的绝对值设置预设距离阈值。第一视频帧中乒乓球与指定分界线间的目标距离即为该倒数第一个位置与指定分界线间的目标距离(采用绝对值)。若根据距离差判断乒乓球朝向接球对象运动,且该倒数第一个位置未超过指定分界线,且该倒数第一个位置与指定分界线之间的目标距离不小于预设距离阈值,则使用帧差法对第二视频帧进行目标检测;若根据距离差判断乒乓球朝向接球对象运动,且该倒数第一个位置未超过指定分界线,且该倒数第一个位置与指定分界线之间的目标距离小于预设距离阈值,则切换使用目标检测模型对第二视频帧进行目标检测。
若根据距离差判断乒乓球远离接球对象运动,且该倒数第一个位置未超过指定分界线,且该倒数第一个位置与指定分界线之间的目标距离不小于预设距离阈值,则使用目标检测模型对第二视频帧进行目标检测;若根据距离差判断乒乓球远离接球对象运动,且该倒数第一个位置未超过指定分界线,且该倒数第一个位置与指定分界线之间的目标距离小于预设距离阈值,则切换使用帧差法对第二视频帧进行目标检测。
在一些实施例中,可以设置预设距离阈值是0.9倍的距离差绝对值,目标检测模型是开源轻量化的基于深度学习的目标检测模型picodet-s。
示例性地,参考图7b所示,将乒乓球桌的右上角点的x坐标作为指定分界线的x坐标,以得到指定分界线,将指定分界线的x坐标记为Bx。根据当前轨迹位置序列traj中的倒数第一个位置和倒数第二个位置之间的距离差xdirection=traj[-1].x-traj[-2].x,可以设置预设距离阈值为0.9*|xdirection|。计算该倒数第一个位置的x坐标traj[-1].x和指定分界线的x坐标Bx之间的距离,记为Bdist,则有Bdist=Bx-traj[-1].x。
若Bdist的值为正且xdirection的值为正,表明乒乓球朝向接球对象运动,且该倒数第一个位置未超过指定分界线;若Bdist的值为负且xdirection的值为正,表明乒乓球朝向接球对象运动,且该倒数第一个位置超过指定分界线。
若Bdist的值为负且xdirection的值为负,表明乒乓球远离接球对象运动,且该倒数第一个位置未超过指定分界线;若Bdist的值为正且xdirection的值为负,表明乒乓球远离接球对象运动,且该倒数第一个位置超过指定分界线。
若Bdist的值为正,且Bdist的绝对值不小于0.9*|xdirection|,且xdirection的值为正,则使用帧差法对第二视频帧进行目标检测。若Bdist的值为正,且Bdist的绝对值小于0.9*|xdirection|,且xdirection的值为正,则使用目标检测模型picodet-s对第二视频帧进行目标检测。若Bdist的值为负,且Bdist的绝对值不小于0.9*|xdirection|,且距离差xdirection的值为负,则使用目标检测模型picodet-s对第二视频帧进行目标检测。若Bdist的值为负,且Bdist的绝对值小于0.9*|xdirection|,且xdirection的值为负,则使用帧差法对第二视频帧进行目标检测。
需要说明的是,若Bdist的值为0且距离差xdirection的值为正,表明乒乓球朝向接球对象运动,且该倒数第一个位置达到指定分界线,则使用目标检测模型对第二视频帧进行目标检测;若Bdist的值为0且距离差xdirection的值为负,表明乒乓球远离接球对象运动,且该倒数第一个位置达到指定分界线,则使用目标检测模型对第二视频帧进行目标检测。基于距离差设置预设距离阈值的方式可以根据实际需求或实际情况等确定,本说明书中不作具体的限定。
同时,本说明书提供的运动轨迹检测方法中,所有算法可以全部运行在带有用于深度学习推理计算的硬件的智能摄像机上,能够实现对视频流进行实时分析,以保证良好的实时性能。由于仅需使用单个摄像机,PC机可以仅用于进行场景标定以及显示乒乓球运动轨迹的识别结果和评分结果等。因此,可以一定程度上降低应用的成本。
上述实施方式中,通过结合传统的基于图像处理的目标检测算法和基于深度学习的目标检测算法模型,在保证检测乒乓球运动轨迹的速度的同时,可以有效提升检测的精度,并支持部署在低算力低性能的边端设备上。
在一些实施方式中,每个视频帧被指定分界线划分为第一检测区域和第二检测区域;其中,第一检测区域的面积大于第二检测区域的面积。确定使用第一目标检测方法对第二视频帧进行目标检测,可以包括:从第二视频帧中截取第二检测区域,并通过目标检测模型对第二检测区域进行目标检测。相应地,确定使用第二目标检测方法对第二视频帧进行目标检测,可以包括:从第二视频帧中截取第一检测区域,并通过帧差法对第一检测区域进行目标检测。
其中,第一检测区域是干扰较少、背景变化较小的检测区域,第二检测区域是干扰较大、背景变化较大的检测区域。
在一些情况中,由于使用第一目标检测方法对视频帧进行目标检测时的计算复杂度较高,因此,通过截取视频帧中的第二检测区域以通过第一目标检测方法对第二检测区域进行目标检测,可以一定程度上降低第一目标检测方法的计算复杂度。同时,由于第二检测区域的干扰较大,因此,通过截取视频帧中的第一检测区域以通过第二目标检测方法对第一检测区域进行目标检测,可以一定程度上提升检测精度。由此,可以节省对视频帧进行目标检测的时间。
具体地,根据指定分界线可以将视频帧划分为第一检测区域和第二检测区域。若确定使用第一目标检测方法对第二视频帧进行目标检测,可以从第二视频帧中将第二检测区域截取出来,以使用目标检测模型对第二视频帧中的第二检测区域进行目标检测。若确定使用第二目标检测方法对第二视频帧进行目标检测,可以从第二视频帧中将第一检测区域截取出来,以使用帧差法对第二视频帧中的第一检测区域进行目标检测。
在一些实施例中,还可以将视频帧中乒乓球桌面下方的区域划分为不需要检测的区域。
示例性地,参考图8a所示,根据标定得到的乒乓球桌面的位置和发球机的位置,可以将乒乓球桌面的右上角点的x坐标作为指定分界线的x坐标,以得到指定分界线,通过指定分界线将乒乓球桌面上方的区域划分为第一检测区域(A区域)和第二检测区域(B区域)。其中,A区域的面积约为B区域的面积的2倍多。将乒乓球桌面下方的区域划分为不需要检测的区域(C区域)。若确定使用帧差法对第二视频帧进行目标检测,则可以从第二视频帧中将A区域截取出来,并使用帧差法对A区域进行目标检测。将第一视频帧记为第k帧图像,将第二视频帧记为第k+1帧图像,则使用帧差法对第二视频帧的A区域进行目标检测的具体算法流程可以包括:
(1)获取第k帧图像的A区域并转换成灰度图,记为Ik
(2)获取第k+1帧图像的A区域并转换成灰度图,记为Ik+1
(3)按照如下公式对Ik和Ik+1进行帧间像素差分处理,得到差分图像Dk+1
Dk+1=max(Ik+1-Ik,0)
(4)对差分图像进行高斯滤波处理以去除干扰;
(5)按照如下公式对高斯滤波处理后的差分图像进行二值化处理,得到二值化图像Fk+1(x,y):
其中,(x,y)是图像中的像素点位置的坐标;T为预设的阈值,白色乒乓球和黄色乒乓球分别设置有各自对应的阈值T;
(6)对二值化图像做形态学处理,对二值化图像先进行一次腐蚀运算,再进行一次膨胀运算,以消除非球区域;
(7)使用开源库中的opencv findCounters函数找出二值化图像中的轮廓(counters),并可以通过cv2.contourArea函数获取每个轮廓的面积,通过cv2.arclength函数获取每个轮廓的周长,以及通过cv2.boundingRect函数获取每个轮廓的外接矩形。其中,通过cv2.boundingRect函数获取每个轮廓的外接矩形时,会返回外接矩形的高、宽,以及外接矩形的左上角位置的坐标;
(8)根据周长阈值、面积阈值以及外接矩形宽高阈值对各轮廓进行过滤,以过滤掉非球目标,留下的轮廓即对应需要的乒乓球的位置。
参考图8b和图8c所示,是使用帧差法进行目标检测后得到的一个检测效果示意图。进一步地,加入当前轨迹位置序列的位置可以是检测结果(外接矩形或外接圆形)的中心点位置,也可以是检测结果(外接矩形)的左上角位置和右下角位置。
若确定使用目标检测模型对第二视频帧进行目标检测,则可以从第二视频帧中将B区域截取出来,并使用目标检测模型对B区域进行目标检测。其中,目标检测模型是通过收集乒乓球图像样本数据、对乒乓球图像样本进行标注,以及使用乒乓球图像样本和对应的标注信息对初始的开源轻量化检测模型picodet-s进行模型训练得到的。将第二视频帧的B区域输入至目标检测模型,参考图8d所示,可以得到模型输出的在B区域中检测到的乒乓球的得分,以及乒乓球位置的左上角坐标和右下角坐标。进一步地,可以根据该左上角坐标和右下角坐标得到中心点位置的坐标,加入当前轨迹位置序列的位置可以是中心点位置,也可以是左上角位置和右下角位置。
需要说明的是,使用帧差法对第一检测区域进行目标检测时的第一坐标系与使用目标检测模型对第二检测区域进行目标检测时的第二坐标系可能不相同。比如,第一坐标系的坐标原点位于第一检测区域的左上角点,第二坐标系的坐标原点位于第二检测区域的左上角点。因此,在使用目标检测模型对第二检测区域进行目标检测后,需要将得到的位置的坐标进行转换,以将其转换为第一坐标系中对应的坐标。
在一些实施方式中,参考图9所示,确定乒乓球运动轨迹,可以包括以下步骤。
S910、使用第一目标检测方法对第二视频帧进行目标检测,或者,使用第二目标检测方法对第二视频帧进行目标检测,得到乒乓球在第二视频帧中的初始位置。
S920、若初始位置的数量为1个,且初始位置与倒数第一个位置之间的距离在预设距离范围内,确定初始位置为有效初始位置。
S930、将有效初始位置加入当前轨迹位置序列,以得到乒乓球运动轨迹。
具体地,针对第二视频帧,若使用第一目标检测方法或者第二目标检测方法检测得到乒乓球在第二视频帧中的初始位置的数量为1个,则计算该初始位置与当前轨迹位置序列中的倒数第一个位置之间的距离。若计算得到的距离在预设距离范围内,则将该初始位置确定为有效初始位置,并将该有效初始位置加入当前轨迹位置序列中。根据当前轨迹位置序列中的位置,可以得到乒乓球运动轨迹。
需要说明的是,上述实施方式中的初始位置不限定是位于指定区域中的初始位置。上述实施方式中关于在第二视频帧中的初始位置的数量为1个时确定有效初始位置的描述,请参考本说明书中关于在当前视频帧的指定区域中当前帧初始位置的数量为1个时确定合格初始位置的描述,具体这里不再赘述。
在一些实施方式中,第二视频帧的下一视频帧记为第三视频帧。参考图10所示,运动轨迹检测方法可以包括以下步骤。
S1010、若在第二视频帧中未检测到乒乓球,确定连续未检到帧个数。
S1020、基于倒数第一个位置、连续未检到帧个数、距离差以及指定分界线,确定使用第一目标检测方法对第三视频帧进行目标检测,或者,使用第二目标检测方法对第三视频帧进行目标检测。
其中,连续未检到帧个数是连续未检测到乒乓球(或者,连续检测到0个乒乓球)的视频帧的个数。
具体地,若在第二视频帧中未检测到乒乓球,由于在第一视频帧中检测到乒乓球(即,当前轨迹位置序列中的倒数第一个位置),因此,可以确定连续未检到帧个数为1。基于当前轨迹位置序列中的倒数第一个位置、连续未检到帧个数、当前轨迹位置序列中的倒数第一个位置和倒数第二个位置之间的距离差以及指定分界线,可以对第三视频帧中的乒乓球的位置和指定分界线之间的位置关系进行预测。若预测第三视频帧中的乒乓球的位置有较大的概率会达到或者超过指定分界线,则确定使用第一目标检测方法对第三视频帧进行目标检测;若预测第三视频帧中的乒乓球的位置有较大的概率不会达到或者超过指定分界线,则确定使用第二目标检测方法对第三视频帧进行目标检测。
示例性地,第一目标检测方法采用目标检测模型,第二目标检测方法采用帧差法。若在第二视频帧中未检测到乒乓球,可以确定连续未检到帧个数cumfi为1。继续参考图8a所示,若使用帧差法对第二视频帧进行目标检测,且当前轨迹位置序列中的倒数第一个位置和倒数第二个位置之间的距离差xdirection的值为正,可以表明当前正在发球过程中。此时,由于发球机发球后在第二视频帧中检测到的乒乓球个数不应当为0,因此,若在第二视频帧中未检测到乒乓球,只能是漏检的情况。
基于当前轨迹位置序列中的倒数第一个位置的x坐标traj[-1].x、连续未检到帧个数cumfi、距离差xdirection以及指定分界线的x坐标Bx,可以预测得到第二视频帧中的乒乓球的位置为traj[-1].x+cumfi*|xdirection|,以及预测得到第三视频帧中的乒乓球的位置为traj[-1].x+(cumfi+1)*|xdirection|。
若traj[-1].x+cumfi*|xdirection|<Bx≤traj[-1].x+(cumfi+1)*|xdirection|,则切换使用目标检测模型对第三视频帧进行目标检测。
若traj[-1].x+(cumfi+1)*|xdirection|<Bx,则使用帧差法对第三视频帧进行目标检测。使用目标检测模型对第二视频帧进行目标检测的情况的描述与上述描述类似,具体不再赘述。
需要说明的是,在第二视频帧中未检测到乒乓球,还可以包括在第二视频中不存在乒乓球的情况,或者在第二视频帧中检测到的乒乓球的初始位置不是有效初始位置的情况。
在一些实施方式中,运动轨迹检测方法可以包括:若在第三视频帧中依旧未检测到乒乓球,将连续未检到帧个数加1;若在第三视频帧中检测到乒乓球,将连续未检到帧个数重置为0。
具体地,若在第二视频帧中未检测到乒乓球,可以确定当前的连续未检到帧个数为1。若在第三视频帧中依旧未检测到乒乓球,则将连续未检到帧个数加1,当前的连续未检到帧个数为2;若在第三视频帧中检测到乒乓球,则将连续未检到帧个数由1重置为0,当前的连续未检到帧个数为0。
进一步地,若在第三视频帧中依旧未检测到乒乓球,且在第三视频帧的下一视频帧中依旧未检测到乒乓球,则当前的连续未检到帧个数为3;若在第三视频帧中依旧未检测到乒乓球,且在第三视频帧的下一视频帧中检测到乒乓球,则将连续未检到帧个数由2重置为0,当前的连续未检测帧个数为0。
在一些实施方式中,在使用第一目标检测方法对第二视频帧进行目标检测,得到乒乓球在第二视频帧中的初始位置之后,运动轨迹检测方法可以包括:若初始位置的数量大于1个,根据每个初始位置与倒数第一个位置之间的距离在大于1个的初始位置中确定有效初始位置。
其中,有效初始位置是与倒数第一个位置之间的距离满足预设条件的初始位置的初始位置。
具体地,若使用第一目标检测方法对第二视频帧进行目标检测得到多个初始位置,则可以计算每个初始位置与当前轨迹位置序列中的倒数第一个位置之间的距离。若某个初始位置与倒数第一个位置之间的距离满足预设条件,则将该初始位置确定为有效初始位置。
在一些实施例中,有效初始位置是根据与倒数第一个位置之间的距离得到的位置偏移角度最小的初始位置。可以根据初始位置与倒数第一个位置之间的y坐标距离和x坐标距离的比值确定初始位置与倒数第一个位置之间的位置偏移角度。
示例性地,第一目标检测方法采用目标检测模型,第二目标检测方法采用帧差法。将第二视频帧记为第n视频帧。若使用目标检测模型检测到第n视频帧中的初始位置的数量为3个,分别记为(xn_1,yn_1)、(xn_2,yn_2)、(xn_3,yn_3)。将当前轨迹位置序列中的倒数第一个位置的坐标记为(traj[-1].x,traj[-1].y),计算位置(xn_1,yn_1)和(traj[-1].x,traj[-1].y)之间的x坐标距离为dxn_1=xn_1-traj[-1].x,y坐标距离为dyn_1=|yn_1-traj[-1].y|;位置(xn_2,yn_2)和(traj[-1].x,traj[-1].y)之间的x坐标距离为dxn_2=xn_2-traj[-1].x,y坐标距离为dyn_2=|yn_2-traj[-1].y|;位置(xn_3,yn_3)和(traj[-1].x,traj[-1].y)之间的x坐标距离为dxn_3=xn_3-traj[-1].x,y坐标距离为dyn_3=|yn_3-traj[-1].y|。
计算位置(xn_1,yn_1)与该倒数第一个位置之间的位置偏移角度为dyn_1/dxn_1,计算位置(xn_2,yn_2)与该倒数第一个位置之间的位置偏移角度为dyn_2/dxn_2,计算位置(xn_3,yn_3)与该倒数第一个位置之间的位置偏移角度为dyn_3/dxn_3。将dyn_1/dxn_1、dyn_2/dxn_2和dyn_3/dxn_3比较,假设dyn_3/dxn_3的值最小,则将初始位置(xn_3,yn_3)作为有效初始位置。
在一些实施方式中,参考图11所示,在使用第二目标检测方法对第二视频帧进行目标检测,得到乒乓球在第二视频帧中的初始位置之后,运动轨迹检测方法可以包括以下步骤。
S1110、若初始位置的数量大于1个,基于每个初始位置与倒数第一个位置之间的距离以及预设距离范围对大于1个的初始位置进行筛选,得到多个筛选位置;其中,每个筛选位置在第二视频帧中对应有第二待检测位置区域。
S1120、通过第一目标检测方法对每个第二待检测位置区域进行目标检测,确定乒乓球的多个候选位置。
S1130、基于多个候选位置与多个筛选位置进行交集运算,得到多个第二交集位置。
S1140、根据每个第二交集位置与倒数第一个位置之间的距离在多个第二交集位置中确定有效初始位置。
需要说明的是,上述实施方式中的筛选位置和候选位置不限定是位于指定区域中的位置。上述实施方式中关于在第二视频帧中的初始位置的数量大于1个时确定有效初始位置的描述,请参考本说明书中关于在当前视频帧的指定区域中当前帧初始位置的数量大于1个时确定合格初始位置的描述,具体这里不再赘述。
在一些实施方式中,运动轨迹检测方法可以至少包括以下一种。
若乒乓球远离接球对象运动,且通过第二目标检测方法在第四视频帧中未检测到乒乓球,且连续未检到帧个数达到第一预设数量阈值,判定回合结束;其中,第四视频帧的时刻晚于第二视频帧的时刻。
若通过第一目标检测方法在第四视频帧中未检测到乒乓球,且连续未检到帧个数达到第二预设数量阈值,判定回合结束。
若当前轨迹位置序列中的位置的数量大于第三预设数量阈值,判定回合结束;其中,第三预设数量阈值是根据发球机发射乒乓球的频率确定的。
具体地,在基于回合开始检测结果确定回合开始后,针对时刻晚于第一视频帧的时刻的第四视频帧,若根据当前轨迹位置序列中的倒数第一个位置(可以理解的是,此时的倒数第一个位置不一定是在第一视频帧中检测到的有效的乒乓球的位置)与倒数第二个位置之间的距离差判断乒乓球远离接球对象运动,且确定使用第二目标检测方法对第四视频帧进行目标检测,可以表明当前乒乓球位于第一检测区域中且处于回球过程中。若在第四视频帧中未检测到乒乓球,则可以将连续未检到帧个数加1,并对当前的连续未检到帧个数进行判断。若当前的连续未检到帧个数达到第一预设数量阈值,可以认为当前没有回球,则判定回合结束。
若确定使用第一目标检测方法对第四视频帧进行目标检测,表明当前乒乓球位于第二检测区域中。由于第二检测区域在接球区,可能存在乒乓球飞出摄像头视野一段时间后接球对象才接到乒乓球,因此可能在一段时间后的视频帧中的第二检测区域中才有回球能够被再次检测到,因此,需要设置第二预设数量阈值。若在第四视频帧中未检测到乒乓球,可以将连续未检到帧个数加1,并对当前的连续未检到帧个数进行判断。若当前的连续未检到帧个数达到第二预设数量阈值,可以认为接球对象没有接到乒乓球,则判定回合结束。
根据发球机发射乒乓球的频率,可以得到一个回合所包含的视频帧的最大数量,根据一个回合的视频帧的最大数量,可以确定一个回合中能检测到的乒乓球的位置的最大数量,因此可以得到第三预设数量阈值。若当前轨迹位置序列中的位置的数量大于第三预设数量阈值,则判定回合结束。
在一些实施例中,第一预设数量阈值可以设置为5个,第二预设数量阈值可以设置为12个。
示例性地,第一目标检测方法采用目标检测模型,第二目标检测方法采用帧差法。将第一视频帧记为第fi视频帧,将第四视频帧记为第fi+m视频帧。继续参考图8a所示,第一种情况,若确定使用帧差法对第fi+m视频帧进行目标检测,且根据当前轨迹位置序列traj中的倒数第一个位置与倒数第二个位置之间的距离差xdirection的值为负,表明当前在回球过程中,乒乓球在A区中远离接球对象运动。若在第fi+m视频帧中未检测到乒乓球,则将连续未检到帧个数cumfi加1。
若在第fi+m视频帧之前已有连续的4个视频帧中未检测到乒乓球,则当前的连续未检到帧个数为5,达到第一预设数量阈值,即当前已有连续的5个视频帧中未检测到乒乓球,则认为当前没有回球,判定回合结束。
若在第fi+m视频帧之前已有连续的2个视频帧中未检测到乒乓球,则当前的连续未检到帧个数为3,未达到第一预设数量阈值,不判定回合结束。
若在第fi+m-1视频帧中检测到了乒乓球,则当前的连续未检到帧个数为1,未达到第一预设数量阈值,不判定回合结束。
第二种情况,若确定使用目标检测模型对第fi+m视频帧进行目标检测,表明乒乓球在B区中。若在第fi+m视频帧中未检测到乒乓球,则将连续未检到帧个数cumfi加1。若在第fi+m视频帧之前已有连续的11个视频帧中未检测到乒乓球,则当前的连续未检到帧个数为12,达到第二预设数量阈值,即当前已有连续的12个视频帧中未检测到乒乓球,则认为接球对象没有接到球,判定回合结束。
第三种情况,假设发球机的发球频率是每分钟30个乒乓球,即发球机每2秒发射一个乒乓球。假设视频帧帧率是60FPS,则一个回合(2秒)所包含的视频帧的最大数量是120帧,因此,第三预设数量阈值为120个。在对任一视频帧进行目标检测后,可以对当前轨迹位置序列traj的长度进行判断,即判断当前轨迹位置序列traj中的位置的数量是否大于120个。若当前轨迹位置序列traj中的位置的数量大于120个,则判定回合结束,以强制结束回合。
需要说明的是,第一预设数量阈值和第二预设数量阈值可以根据实际需求或者实际情况等进行设置,且通常第一预设数量阈值小于第二预设数量阈值发球机的发球速度可以调整,且不同厂家的发球机调整发球速度的方式大同小异,均主要通过调整发球频率和发球力度来控制发球速度。通常情况下,发球机的发球频率最快不超过每分钟60个乒乓球,对应的第三预设数量阈值可以设置为60个;发球频率最慢不少于每分钟30个乒乓球,对应的第三预设数量阈值可以设置为120个;较为适中的发球频率是每分钟40个乒乓球,即每1.5秒发一个乒乓球,对应的第三预设数量阈值可以设置为90个。
在一些实施方式中,若回合结束,运动轨迹检测方法还可以包括:根据当前轨迹位置序列中的位置,确定乒乓球在乒乓球桌面上的落点位置。
具体地,若回合结束,可以得到当前回合对应的完整的当前轨迹位置序列。由于当前轨迹位置序列中的位置是按照顺序排列的,因此根据当前轨迹位置序列中的位置,可以形成较为完整的乒乓球运动轨迹。根据乒乓球运动轨迹中的各个位置,可以依次确定乒乓球在当前回合中从回合开始至回合结束的过程中的落点位置。
在一些实施例中,可以采用尺度为3的滑动窗口在当前轨迹位置序列中取3个连续的位置,并计算任意相邻的两个位置之间的y坐标距离,由此可以得到3个连续的位置对应的2个y坐标距离。若2个y坐标距离的值是由负到正的,表明3个连续的位置中存在落点位置。
示例性地,参考图12所示,根据当前轨迹位置序列中的位置得到较为完整的乒乓球运动轨迹中的一小段轨迹,包括位置1、位置2、位置3、位置4和位置5。将位置1的y坐标记为y1,将位置2的y坐标记为y2,将位置3的y坐标记为y3,将位置4的y坐标记为y4,将位置5的y坐标记为y5。采用尺度为3的滑动窗口在该段轨迹中依次取3个连续的位置,第一次取到3个连续的位置包括位置1、位置2和位置3。计算位置1和位置2之间的y坐标距离为dy1=y2-y1,计算位置2和位置3之间的y坐标距离为dy2=dy3-dy2,则dy1和dy2的值均为负。
第二次取到3个连续的位置包括位置2、位置3和位置4。计算位置3和位置4之间的y坐标距离为dy3=y4-y3,则位置2和位置3之间的y坐标距离dy2的值为负,而dy3的值为正。位置2、位置3和位置4对应的y坐标距离dy由负到正,表明位置2、位置3和位置4中存在落点位置,且位置3即为落点位置。
第三次取到3个连续的位置包括位置3、位置4和位置5。计算位置4和位置5之间的y坐标距离为dy4=y5-y4,则位置3和位置4之间的y坐标距离dy3的值为正,且dy4的值也为正。
需要说明的是,根据乒乓球运动轨迹确定乒乓球在乒乓球桌面上的落点位置的方法可以采用相关技术中的落点识别方法,本说明书中不作具体的限定。
进一步地,根据得到的落点位置和乒乓球半径,可以得到乒乓球与乒乓球桌面的接触点位置。根据接触点位置与乒乓球桌面坐标进行对比,可以确定接触点位置位于乒乓球桌面的zone1至zone4区域中的哪一个区域,从而可以根据评分规则进行评分。
本说明书实施方式提供一种回合开始检测方法,参考图13所示,回合开始检测方法可以包括以下步骤。
S1310、获取针对接球对象的乒乓球训练过程进行拍摄得到的视频流;其中,视频流的每个视频帧中具有乒乓球桌面和发球机;乒乓球桌面被球网划分为两侧,发球机所在乒乓球桌面的一侧的上方对应有发球机所发射乒乓球的路经区域。
S1320、通过第二目标检测方法对乒乓球进行目标检测,得到乒乓球在当前视频帧中的当前帧初始位置。
S1330、若当前帧初始位置位于路经区域中的指定区域,确定当前帧初始位置的数量。
S1340、若当前帧初始位置的数量大于1个,对当前帧初始位置进行筛选,得到筛选中间位置。
S1350、通过第一目标检测方法对每个筛选中间位置在当前视频帧中对应的待检测位置区域进行目标检测,确定乒乓球的候选中间位置;其中,第一目标检测方法的检测精度高于第二目标检测方法的检测精度。
S1360、基于筛选中间位置以及候选中间位置对乒乓球回合开始进行检测。
具体地,可以获取摄像机针对接球对象的乒乓球训练过程进行拍摄得到的视频流。针对视频流中的每个视频帧,可以对视频帧中的乒乓球桌面和发球机的位置进行标定,并可以根据视频帧中发球机所发射乒乓球的路经区域设置指定区域。
当视频流输入时,或者,当上一回合结束后,使用第二目标检测方法对当前视频帧进行目标检测,以得到乒乓球在该当前视频帧中的当前帧初始位置,并判断当前帧初始位置是否位于指定区域中。若该当前视频帧中的当前帧初始位置位于指定区域中,则确定乒乓球在该当前视频帧中的指定区域内的当前帧初始位置的数量。若检测到的当前视频帧中位于指定区域内的当前帧初始位置的数量大于1个,需要对当前帧初始位置进行筛选,得到符合条件的筛选中间位置。
根据筛选中间位置,可以确定筛选中间位置在当前视频帧中对应的待检测位置区域。通过第一目标检测方法对待检测位置区域进行目标检测,将检测到的乒乓球的位置作为候选中间位置。基于筛选中间位置和候选中间位置,可以确定当前视频帧中的合格初始位置,以根据合格初始位置对乒乓球回合开始进行检测。
在一些实施例中,可以根据当前帧初始位置相对于在当前帧初始位置之前检测到的乒乓球位置的位置偏移角度以及预设偏移角度范围,对当前帧初始位置进行筛选。筛选中间位置的数量可以是1个或者多个,候选中间位置的数量也可以是1个或者多个。
示例性地,将当前视频帧记为第fi视频帧,假设当前视频帧中位于指定区域内的当前帧初始位置包括(x11,y11)、(x12,y12)、(x13,y13),在当前帧初始位置之前检测到的乒乓球的位置为(x0,y0)。计算位置(x11,y11)相对于位置(x0,y0)的位置偏移角度为(y11-y0)/(x11-x0)。
同样地,可以得到位置(x12,y12)相对于位置(x0,y0)的位置偏移角度为(y12-y0)/(x12-x0),以及得到位置(x13,y13)相对于位置(x0,y0)的位置偏移角度为(y13-y0)/(x13-x0)。假设预设偏移角度范围为[-5°,5°],则可以通过判断各位置偏移角度是否在预设偏移角度范围内,来对各当前帧初始位置进行筛选。
在另一些实施例中,也可以根据当前帧初始位置与在当前帧初始位置之前检测到的乒乓球的位置之间的距离以及预设距离范围对当前帧初始位置进行筛选。
在一些实施方式中,参考图14所示,若当前帧初始位置的数量大于1个,对当前帧初始位置进行筛选,得到筛选中间位置,可以包括以下步骤。
S1410、确定在当前帧初始位置之前检测到的参考位置。
S1420、基于每个当前帧初始位置与参考位置之间的距离以及预设距离范围对当前帧初始位置进行筛选,得到筛选中间位置。
在一些实施方式中,筛选中间位置的数量为多个,候选中间位置的数量为多个。参考图15所示,基于筛选中间位置以及候选中间位置对乒乓球回合开始进行检测,可以包括以下步骤。
S1510、基于多个候选中间位置与多个筛选中间位置进行交集运算,得到多个第一交集位置。
S1520、根据每个第一交集位置与参考位置之间的距离对多个第一交集位置进行筛选,得到合格初始位置。
S1530、若合格初始位置的数量大于等于预设位置数量,判定回合开始。
在一些实施方式中,回合开始检测方法可以包括以下步骤:若当前帧初始位置的数量为1个,且当前帧初始位置与参考位置之间的距离在预设距离范围内,确定当前帧初始位置为合格初始位置;若合格初始位置的数量大于等于预设位置数量,判定回合开始。
在一些实施方式中,当前视频帧记为第N视频帧,N为正整数;回合开始检测方法还可以包括以下步骤:若基于第二目标检测方法在第N+1视频帧的指定区域中未检测到乒乓球,继续检测第N+2视频帧;若在第N+2视频帧的指定区域中依旧未检测到乒乓球,判定回合未开始。
在一些实施方式中,基于筛选中间位置以及候选中间位置对乒乓球回合开始进行检测,至少还可以包括以下一种:
若基于每个当前帧初始位置与参考位置之间的距离以及预设距离范围对大于1个的当前帧初始位置进行筛选,得到1个筛选中间位置,作为合格初始位置。
若通过第一目标检测方法检测到1个候选中间位置,将检测到的候选中间位置作为合格初始位置。
若基于多个候选中间位置与多个筛选中间位置进行交集运算,得到1个交集位置,将交集运算得到的交集位置作为合格初始位置。
需要说明的是,上述实施方式中关于回合开始检测方法的描述,请参考本说明书中关于运动轨迹检测方法中的根据当前帧初始位置、当前帧初始位置的数量以及参考位置进行回合开始检测,得到回合开始检测结果的描述,具体这里不再赘述。
本说明书实施方式提供一种运动轨迹检测装置,参考图16a所示,运动轨迹检测装置1600可以包括:第一视频流获取模块1610、目标距离确定模块1620、第一目标检测模块1630、第二目标检测模块1640。
第一视频流获取模块1610,用于获取针对接球对象的乒乓球训练过程进行拍摄得到的视频流;其中,视频流包括相邻的第一视频帧和第二视频帧;第一视频帧的时刻早于第二视频帧的时刻;视频流中每个视频帧具有指定分界线。
目标距离确定模块1620,用于确定第一视频帧中乒乓球与指定分界线间的目标距离。
第一目标检测模块1630,用于若判定乒乓球朝向接球对象运动,且目标距离小于预设距离阈值,确定使用第一目标检测方法对第二视频帧进行目标检测,以确定乒乓球运动轨迹。
第二目标检测模块1640,用于若判定乒乓球远离接球对象运动,且目标距离小于预设距离阈值,确定使用第二目标检测方法对第二视频帧进行目标检测,以确定乒乓球运动轨迹;其中,第一目标检测方法的检测精度高于第二目标检测方法的检测精度。
在一些实施方式中,每个视频帧中具有乒乓球桌面和发球机;乒乓球桌面被球网划分为两侧,发球机所在乒乓球桌面的一侧的上方对应有发球机所发射乒乓球的路经区域;参考图16b所示,运动轨迹检测装置1600还可以包括:第一帧初始位置获取模块1650、数量和参考位置获取模块1660、回合开始检测结果获取模块1670。
第一帧初始位置获取模块1650,用于基于第二目标检测方法进行乒乓球的目标检测,得到乒乓球在当前视频帧中的当前帧初始位置。
数量和参考位置获取模块1660,用于若当前帧初始位置位于路经区域中的指定区域,确定当前帧初始位置的数量以及在当前帧初始位置之前检测到的参考位置。
回合开始检测结果获取模块1670,用于根据当前帧初始位置、当前帧初始位置的数量以及参考位置进行回合开始检测,得到回合开始检测结果。
在一些实施方式中,参考图16c所示,运动轨迹检测装置1600还可以包括:轨迹位置序列确定模块1680、视频帧范围确定模块1690。
轨迹位置序列确定模块1680,用于若基于回合开始检测结果确定回合开始后,确定当前轨迹位置序列;当前轨迹位置序列中包括位于指定区域内的最后一个合格初始位置。
视频帧范围确定模块1690,用于根据最后一个合格初始位置对应的帧序号以及预设间歇期确定不做回合开始检测的视频帧范围。
在一些实施方式中,当前轨迹位置序列中倒数第一个位置对应的视频帧为第一视频帧。目标距离确定模块1620,还用于确定倒数第一个位置与当前轨迹位置序列中倒数第二个位置之间的距离差;基于距离差判断乒乓球朝向接球对象运动或者远离接球对象运动。
在一些实施方式中,预设距离阈值是基于距离差设置的;第一目标检测方法采用目标检测模型;第二目标检测方法采用帧差法。
在一些实施方式中,每个视频帧被指定分界线划分为第一检测区域和第二检测区域;其中,第一检测区域的面积大于第二检测区域的面积。
第一目标检测模块1630,还用于从第二视频帧中截取第二检测区域,并通过目标检测模型对第二检测区域进行目标检测。
第二目标检测模块1640,还用于从第二视频帧中截取第一检测区域,并通过帧差法对第一检测区域进行目标检测。
关于运动轨迹检测装置的具体限定可以参见上文中对于运动轨迹检测方法的限定,在此不再赘述。上述运动轨迹检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本说明书实施方式提供一种回合开始检测装置,参考图17a所示,回合开始检测装置1700可以包括:第二视频流获取模块1710、第二帧初始位置获取模块1720、帧初始位置数量确定模块1730、筛选中间位置获取模块1740、候选中间位置确定模块1750、乒乓球回合开始检测模块1760。
第二视频流获取模块1710,用于获取针对接球对象的乒乓球训练过程进行拍摄得到的视频流;其中,视频流的每个视频帧中具有乒乓球桌面和发球机;乒乓球桌面被球网划分为两侧,发球机所在乒乓球桌面的一侧的上方对应有发球机所发射乒乓球的路经区域。
第二帧初始位置获取模块1720,用于通过第二目标检测方法进行乒乓球的目标检测,得到乒乓球在当前视频帧中的当前帧初始位置。
帧初始位置数量确定模块1730,用于若当前帧初始位置位于路经区域中的指定区域,确定当前帧初始位置的数量。
筛选中间位置获取模块1740,用于若当前帧初始位置的数量大于1个,对当前帧初始位置进行筛选,得到筛选中间位置。
候选中间位置确定模块1750,用于通过第一目标检测方法对每个筛选中间位置在当前视频帧中对应的待检测位置区域进行目标检测,确定乒乓球的候选中间位置;其中,第一目标检测方法的检测精度高于第二目标检测方法的检测精度。
乒乓球回合开始检测模块1760,用于基于筛选中间位置以及候选中间位置对乒乓球回合开始进行检测。
在一些实施方式中,筛选中间位置获取模块1740,还用于确定在当前帧初始位置之前检测到的参考位置;基于每个当前帧初始位置与参考位置之间的距离以及预设距离范围对当前帧初始位置进行筛选,得到筛选中间位置。
在一些实施方式中,筛选中间位置的数量为多个,候选中间位置的数量为多个。乒乓球回合开始检测模块1760,还用于基于多个候选中间位置与多个筛选中间位置进行交集运算,得到多个第一交集位置;根据每个第一交集位置与参考位置之间的距离对多个第一交集位置进行筛选,得到合格初始位置;若合格初始位置的数量大于等于预设位置数量,判定回合开始。
在一些实施方式中,参考图17b所示,回合开始检测装置1700还可以包括:合格初始位置确定模块1770、回合开始判定模块1780。
合格初始位置确定模块1770,用于若当前帧初始位置的数量为1个,且当前帧初始位置与参考位置之间的距离在预设距离范围内,确定当前帧初始位置为合格初始位置。
回合开始判定模块1780,用于若合格初始位置的数量大于等于预设位置数量,判定回合开始。
在一些实施方式中,当前视频帧记为第N视频帧,N为正整数;第二帧初始位置获取模块1720,还用于若基于第二目标检测方法在第N+1视频帧的指定区域中未检测到乒乓球,继续检测第N+2视频帧;若在第N+2视频帧的指定区域中依旧未检测到乒乓球,判定回合未开始。
在一些实施方式中,乒乓球回合开始检测模块1760,至少还具有以下一种用途:
若基于每个当前帧初始位置与参考位置之间的距离以及预设距离范围对大于1个的当前帧初始位置进行筛选,得到1个筛选中间位置,作为合格初始位置;
若通过第一目标检测方法检测到1个候选中间位置,将检测到的候选中间位置作为合格初始位置;
若基于多个候选中间位置与多个筛选中间位置进行交集运算,得到1个交集位置,将交集运算得到的交集位置作为合格初始位置。
关于回合开始检测装置的具体限定可以参见上文中对于回合开始检测方法的限定,在此不再赘述。上述回合开始检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本说明书实施方式还提供一种计算机设备,参考图18所示,该计算机设备1800包括存储器1810和处理器1820,存储器1810存储有第一计算机程序1830,处理器1820执行第一计算机程序1830时实现前述任一项实施方式的运动轨迹检测方法和/或回合开始检测方法的步骤。
本说明书实施方式还提供一种芯片,参考图19所示,该芯片1900包括存储单元1910和处理单元1920,存储单元1910存储有第二计算机程序1930,处理单元1920执行第二计算机程序1930时实现前述任一项实施方式的运动轨迹检测方法和/或回合开始检测方法的步骤。
本说明书实施方式还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现前述任一项实施方式的运动轨迹检测方法和/或回合开始检测方法的步骤。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (34)

1.一种运动轨迹检测方法,其特征在于,所述方法包括:
获取针对接球对象的乒乓球训练过程进行拍摄得到的视频流;其中,所述视频流包括相邻的第一视频帧和第二视频帧;所述第一视频帧的时刻早于所述第二视频帧的时刻;所述视频流中每个视频帧具有指定分界线;每个所述视频帧中具有乒乓球桌面和发球机;所述乒乓球桌面被球网划分为两侧,所述发球机所在所述乒乓球桌面的一侧的上方对应有所述发球机所发射乒乓球的路经区域;
基于第二目标检测方法进行所述乒乓球的目标检测,得到所述乒乓球在当前视频帧中的当前帧初始位置;
若所述当前帧初始位置位于所述路经区域中的指定区域,确定所述当前帧初始位置的数量以及在所述当前帧初始位置之前检测到的参考位置;
根据所述当前帧初始位置、所述当前帧初始位置的数量以及所述参考位置进行回合开始检测,得到回合开始检测结果;
若所述回合开始检测的结果是回合开始,确定所述第一视频帧中乒乓球与所述指定分界线间的目标距离;
若判定所述乒乓球朝向所述接球对象运动,且所述目标距离小于预设距离阈值,确定使用第一目标检测方法对所述第二视频帧进行目标检测,以确定所述乒乓球运动轨迹;
若判定所述乒乓球远离所述接球对象运动,且所述目标距离小于所述预设距离阈值,确定使用第二目标检测方法对所述第二视频帧进行目标检测,以确定所述乒乓球运动轨迹;其中,所述第一目标检测方法的检测精度高于所述第二目标检测方法的检测精度。
2.根据权利要求1所述的方法,其特征在于,所述根据所述当前帧初始位置、所述当前帧初始位置的数量以及所述参考位置进行回合开始检测,得到回合开始检测结果,包括:
若所述当前帧初始位置的数量为1个,且所述当前帧初始位置与所述参考位置之间的距离在预设距离范围内,确定所述当前帧初始位置为合格初始位置;
若所述合格初始位置的数量大于等于预设位置数量,确定所述回合开始检测结果为回合开始。
3.根据权利要求2所述的方法,其特征在于,所述当前视频帧记为第N视频帧,所述N为正整数;所述方法还包括:
若通过所述第二目标检测方法在第N+1视频帧的指定区域中未检测到所述乒乓球,继续检测第N+2视频帧;
若在所述第N+2视频帧的指定区域中依旧未检测到所述乒乓球,确定所述回合开始检测结果为回合未开始。
4.根据权利要求1所述的方法,其特征在于,所述根据所述当前帧初始位置、所述当前帧初始位置的数量以及所述参考位置进行回合开始检测,得到回合开始检测结果,包括:
若所述当前帧初始位置的数量大于1个,基于每个所述当前帧初始位置与所述参考位置之间的距离以及预设距离范围对大于1个的所述当前帧初始位置进行筛选,得到多个筛选中间位置;其中,每个所述筛选中间位置在所述当前视频帧中对应有第一待检测位置区域;
通过所述第一目标检测方法对每个所述第一待检测位置区域进行目标检测,确定所述乒乓球的多个候选中间位置;
基于多个所述候选中间位置与多个所述筛选中间位置进行交集运算,得到多个第一交集位置;
根据每个所述第一交集位置与所述参考位置之间的距离在多个所述第一交集位置中确定合格初始位置;
若所述合格初始位置的数量大于等于预设位置数量,确定所述回合开始检测结果为回合开始。
5.根据权利要求4所述的方法,其特征在于,所述根据所述当前帧初始位置、所述当前帧初始位置的数量以及所述参考位置进行回合开始检测,得到回合开始检测结果,至少还包括以下一种:
若所述当前帧初始位置的数量大于1个,基于每个所述当前帧初始位置与所述参考位置之间的距离以及所述预设距离范围对大于1个的所述当前帧初始位置进行筛选,得到1个筛选中间位置,作为所述合格初始位置;
若通过所述第一目标检测方法检测到1个候选中间位置,将检测到的所述候选中间位置作为所述合格初始位置;
若基于多个所述候选中间位置与多个所述筛选中间位置进行交集运算,得到1个交集位置,将交集运算得到的所述交集位置作为所述合格初始位置。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若基于所述回合开始检测结果确定回合开始后,确定当前轨迹位置序列;其中,所述当前轨迹位置序列中包括位于所述指定区域内的最后一个合格初始位置;
根据所述最后一个合格初始位置对应的帧序号以及预设间歇期确定不做回合开始检测的视频帧范围。
7.根据权利要求6所述的方法,其特征在于,所述当前轨迹位置序列中倒数第一个位置对应的视频帧为所述第一视频帧;在所述确定所述第一视频帧中乒乓球与所述指定分界线间的目标距离之后,所述方法还包括:
确定所述倒数第一个位置与所述当前轨迹位置序列中倒数第二个位置之间的距离差;
基于所述距离差判断所述乒乓球朝向所述接球对象运动或者远离所述接球对象运动。
8.根据权利要求7所述的方法,其特征在于,所述预设距离阈值是基于所述距离差设置的;所述第一目标检测方法采用目标检测模型;所述第二目标检测方法采用帧差法。
9.根据权利要求8所述的方法,其特征在于,每个所述视频帧被所述指定分界线划分为第一检测区域和第二检测区域;其中,所述第一检测区域的面积大于所述第二检测区域的面积;所述确定使用第一目标检测方法对所述第二视频帧进行目标检测,包括:
从所述第二视频帧中截取所述第二检测区域,并通过所述目标检测模型对所述第二检测区域进行目标检测;
所述确定使用第二目标检测方法对所述第二视频帧进行目标检测,包括:
从所述第二视频帧中截取所述第一检测区域,并通过所述帧差法对所述第一检测区域进行目标检测。
10.根据权利要求8所述的方法,其特征在于,所述确定所述乒乓球运动轨迹,包括:
使用所述第一目标检测方法对所述第二视频帧进行目标检测,或者,使用所述第二目标检测方法对所述第二视频帧进行目标检测,得到所述乒乓球在所述第二视频帧中的初始位置;
若所述初始位置的数量为1个,且所述初始位置与所述倒数第一个位置之间的距离在预设距离范围内,确定所述初始位置为有效初始位置;
将所述有效初始位置加入所述当前轨迹位置序列,以得到所述乒乓球运动轨迹。
11.根据权利要求10所述的方法,其特征在于,所述第二视频帧的下一视频帧记为第三视频帧;所述方法包括:
若在所述第二视频帧中未检测到所述乒乓球,确定连续未检到帧个数;
基于所述倒数第一个位置、所述连续未检到帧个数、所述距离差以及所述指定分界线,确定使用所述第一目标检测方法对所述第三视频帧进行目标检测,或者,使用所述第二目标检测方法对所述第三视频帧进行目标检测。
12.根据权利要求11所述的方法,其特征在于,所述方法包括:
若在所述第三视频帧中依旧未检测到所述乒乓球,将所述连续未检到帧个数加1;
若在所述第三视频帧中检测到所述乒乓球,将所述连续未检到帧个数重置为0。
13.根据权利要求10所述的方法,其特征在于,在所述使用所述第一目标检测方法对所述第二视频帧进行目标检测,得到所述乒乓球在所述第二视频帧中的初始位置之后,所述方法包括:
若所述初始位置的数量大于1个,根据每个所述初始位置与所述倒数第一个位置之间的距离在大于1个的所述初始位置中确定所述有效初始位置。
14.根据权利要求10所述的方法,其特征在于,在所述使用所述第二目标检测方法对所述第二视频帧进行目标检测,得到所述乒乓球在所述第二视频帧中的初始位置之后,所述方法包括:
若所述初始位置的数量大于1个,基于每个所述初始位置与所述倒数第一个位置之间的距离以及所述预设距离范围对大于1个的所述初始位置进行筛选,得到多个筛选位置;其中,每个所述筛选位置在所述第二视频帧中对应有第二待检测位置区域;
通过所述第一目标检测方法对每个所述第二待检测位置区域进行目标检测,确定所述乒乓球的多个候选位置;
基于多个所述候选位置与多个所述筛选位置进行交集运算,得到多个第二交集位置;
根据每个所述第二交集位置与所述倒数第一个位置之间的距离在多个所述第二交集位置中确定所述有效初始位置。
15.根据权利要求12所述的方法,其特征在于,所述方法至少包括以下一种:
若所述乒乓球远离所述接球对象运动,且通过所述第二目标检测方法在第四视频帧中未检测到乒乓球,且所述连续未检到帧个数达到第一预设数量阈值,判定回合结束;其中,所述第四视频帧的时刻晚于所述第一视频帧的时刻;
若通过所述第一目标检测方法在所述第四视频帧中未检测到所述乒乓球,且所述连续未检到帧个数达到第二预设数量阈值,判定回合结束;
若所述当前轨迹位置序列中的位置的数量大于第三预设数量阈值,判定回合结束;其中,所述第三预设数量阈值是根据所述发球机发射所述乒乓球的频率确定的。
16.根据权利要求15所述的方法,其特征在于,若回合结束,所述方法还包括:
根据所述当前轨迹位置序列中的位置,确定所述乒乓球在所述乒乓球桌面上的落点位置。
17.一种回合开始检测方法,其特征在于,所述方法包括:
获取针对接球对象的乒乓球训练过程进行拍摄得到的视频流;其中,所述视频流的每个视频帧中具有乒乓球桌面和发球机;所述乒乓球桌面被球网划分为两侧,所述发球机所在所述乒乓球桌面的一侧的上方对应有所述发球机所发射乒乓球的路经区域;
通过第二目标检测方法进行所述乒乓球的目标检测,得到所述乒乓球在当前视频帧中的当前帧初始位置;
若所述当前帧初始位置位于所述路经区域中的指定区域,确定所述当前帧初始位置的数量;
若所述当前帧初始位置的数量大于1个,对所述当前帧初始位置进行筛选,得到筛选中间位置;
通过第一目标检测方法对每个所述筛选中间位置在所述当前视频帧中对应的待检测位置区域进行目标检测,确定所述乒乓球的候选中间位置;其中,所述第一目标检测方法的检测精度高于所述第二目标检测方法的检测精度;
基于所述筛选中间位置以及所述候选中间位置对所述乒乓球回合开始进行检测;
若所述当前帧初始位置的数量为1个,且所述当前帧初始位置与参考位置之间的距离在预设距离范围内,确定所述当前帧初始位置为合格初始位置;
若所述合格初始位置的数量大于等于预设位置数量,判定回合开始。
18.根据权利要求17所述的方法,其特征在于,所述若所述当前帧初始位置的数量大于1个,对所述当前帧初始位置进行筛选,得到筛选中间位置,包括:
确定在所述当前帧初始位置之前检测到的参考位置;
基于每个所述当前帧初始位置与所述参考位置之间的距离以及预设距离范围对所述当前帧初始位置进行筛选,得到所述筛选中间位置。
19.根据权利要求18所述的方法,其特征在于,所述筛选中间位置的数量为多个,所述候选中间位置的数量为多个;所述基于所述筛选中间位置以及所述候选中间位置对所述乒乓球回合开始进行检测,包括:
基于多个所述候选中间位置与多个所述筛选中间位置进行交集运算,得到多个第一交集位置;
根据每个所述第一交集位置与所述参考位置之间的距离对多个所述第一交集位置进行筛选,得到合格初始位置;
若所述合格初始位置的数量大于等于预设位置数量,判定回合开始。
20.根据权利要求18所述的方法,其特征在于,所述当前视频帧记为第N视频帧,所述N为正整数;所述方法还包括:
若基于所述第二目标检测方法在第N+1视频帧的指定区域中未检测到所述乒乓球,继续检测第N+2视频帧;
若在所述第N+2视频帧的指定区域中依旧未检测到所述乒乓球,判定回合未开始。
21.根据权利要求19所述的方法,其特征在于,所述基于所述筛选中间位置以及所述候选中间位置对所述乒乓球回合开始进行检测,至少还包括以下一种:
若基于每个所述当前帧初始位置与所述参考位置之间的距离以及所述预设距离范围对大于1个的所述当前帧初始位置进行筛选,得到1个筛选中间位置,作为所述合格初始位置;
若通过所述第一目标检测方法检测到1个候选中间位置,将检测到的所述候选中间位置作为所述合格初始位置;
若基于多个所述候选中间位置与多个所述筛选中间位置进行交集运算,得到1个交集位置,将交集运算得到的所述交集位置作为所述合格初始位置。
22.一种运动轨迹检测装置,其特征在于,所述装置包括:
第一视频流获取模块,用于获取针对接球对象的乒乓球训练过程进行拍摄得到的视频流;其中,所述视频流包括相邻的第一视频帧和第二视频帧;所述第一视频帧的时刻早于所述第二视频帧的时刻;所述视频流中每个视频帧具有指定分界线;每个所述视频帧中具有乒乓球桌面和发球机;所述乒乓球桌面被球网划分为两侧,所述发球机所在所述乒乓球桌面的一侧的上方对应有所述发球机所发射乒乓球的路经区域;
第一帧初始位置获取模块,用于基于第二目标检测方法进行所述乒乓球的目标检测,得到所述乒乓球在当前视频帧中的当前帧初始位置;
数量和参考位置获取模块,用于若所述当前帧初始位置位于所述路经区域中的指定区域,确定所述当前帧初始位置的数量以及在所述当前帧初始位置之前检测到的参考位置;
回合开始检测结果获取模块,用于根据所述当前帧初始位置、所述当前帧初始位置的数量以及所述参考位置进行回合开始检测,得到回合开始检测结果;
目标距离确定模块,用于若所述回合开始检测的结果是回合开始,确定所述第一视频帧中乒乓球与所述指定分界线间的目标距离;
第一目标检测模块,用于若判定所述乒乓球朝向所述接球对象运动,且所述目标距离小于预设距离阈值,确定使用第一目标检测方法对所述第二视频帧进行目标检测,以确定所述乒乓球运动轨迹;
第二目标检测模块,用于若判定所述乒乓球远离所述接球对象运动,且所述目标距离小于所述预设距离阈值,确定使用第二目标检测方法对所述第二视频帧进行目标检测,以确定所述乒乓球运动轨迹;其中,所述第一目标检测方法的检测精度高于所述第二目标检测方法的检测精度。
23.根据权利要求22所述的装置,其特征在于,所述装置还包括:
轨迹位置序列确定模块,用于若基于所述回合开始检测结果确定回合开始后,确定当前轨迹位置序列;所述当前轨迹位置序列中包括位于所述指定区域内的最后一个合格初始位置;
视频帧范围确定模块,用于根据所述最后一个合格初始位置对应的帧序号以及预设间歇期确定不做回合开始检测的视频帧范围。
24.根据权利要求23所述的装置,其特征在于,所述当前轨迹位置序列中倒数第一个位置对应的视频帧为所述第一视频帧;
所述目标距离确定模块,还用于确定所述倒数第一个位置与所述当前轨迹位置序列中倒数第二个位置之间的距离差;基于所述距离差判断所述乒乓球朝向所述接球对象运动或者远离所述接球对象运动。
25.根据权利要求24所述的装置,其特征在于,所述预设距离阈值是基于所述距离差设置的;所述第一目标检测方法采用目标检测模型;所述第二目标检测方法采用帧差法。
26.根据权利要求25所述的装置,其特征在于,每个所述视频帧被所述指定分界线划分为第一检测区域和第二检测区域;其中,所述第一检测区域的面积大于所述第二检测区域的面积;
所述第一目标检测模块,还用于从所述第二视频帧中截取所述第二检测区域,并通过所述目标检测模型对所述第二检测区域进行目标检测;
所述第二目标检测模块,还用于从所述第二视频帧中截取所述第一检测区域,并通过所述帧差法对所述第一检测区域进行目标检测。
27.一种回合开始检测装置,其特征在于,所述装置包括:
第二视频流获取模块,用于获取针对接球对象的乒乓球训练过程进行拍摄得到的视频流;其中,所述视频流的每个视频帧中具有乒乓球桌面和发球机;所述乒乓球桌面被球网划分为两侧,所述发球机所在所述乒乓球桌面的一侧的上方对应有所述发球机所发射乒乓球的路经区域;
第二帧初始位置获取模块,用于通过第二目标检测方法进行所述乒乓球的目标检测,得到所述乒乓球在当前视频帧中的当前帧初始位置;
帧初始位置数量确定模块,用于若所述当前帧初始位置位于所述路经区域中的指定区域,确定所述当前帧初始位置的数量;
筛选中间位置获取模块,用于若所述当前帧初始位置的数量大于1个,对所述当前帧初始位置进行筛选,得到筛选中间位置;
候选中间位置确定模块,用于通过第一目标检测方法对每个所述筛选中间位置在所述当前视频帧中对应的待检测位置区域进行目标检测,确定所述乒乓球的候选中间位置;其中,所述第一目标检测方法的检测精度高于所述第二目标检测方法的检测精度;
乒乓球回合开始检测模块,用于基于所述筛选中间位置以及所述候选中间位置对所述乒乓球回合开始进行检测;
合格初始位置确定模块,用于若所述当前帧初始位置的数量为1个,且所述当前帧初始位置与参考位置之间的距离在预设距离范围内,确定所述当前帧初始位置为合格初始位置;
回合开始判定模块,用于若所述合格初始位置的数量大于等于预设位置数量,判定回合开始。
28.根据权利要求27所述的装置,其特征在于,所述筛选中间位置获取模块,还用于确定在所述当前帧初始位置之前检测到的参考位置;基于每个所述当前帧初始位置与所述参考位置之间的距离以及预设距离范围对所述当前帧初始位置进行筛选,得到所述筛选中间位置。
29.根据权利要求28所述的装置,其特征在于,所述筛选中间位置的数量为多个,所述候选中间位置的数量为多个;所述乒乓球回合开始检测模块,还用于基于多个所述候选中间位置与多个所述筛选中间位置进行交集运算,得到多个第一交集位置;根据每个所述第一交集位置与所述参考位置之间的距离对多个所述第一交集位置进行筛选,得到合格初始位置;若所述合格初始位置的数量大于等于预设位置数量,判定回合开始。
30.根据权利要求27所述的装置,其特征在于,所述当前视频帧记为第N视频帧,所述N为正整数;所述第二帧初始位置获取模块,还用于若基于所述第二目标检测方法在第N+1视频帧的指定区域中未检测到所述乒乓球,继续检测第N+2视频帧;若在所述第N+2视频帧的指定区域中依旧未检测到所述乒乓球,判定回合未开始。
31.根据权利要求29所述的装置,其特征在于,所述乒乓球回合开始检测模块,至少还具有以下一种用途:
若基于每个所述当前帧初始位置与所述参考位置之间的距离以及所述预设距离范围对大于1个的所述当前帧初始位置进行筛选,得到1个筛选中间位置,作为所述合格初始位置;
若通过所述第一目标检测方法检测到1个候选中间位置,将检测到的所述候选中间位置作为所述合格初始位置;
若基于多个所述候选中间位置与多个所述筛选中间位置进行交集运算,得到1个交集位置,将交集运算得到的所述交集位置作为所述合格初始位置。
32.一种计算机设备,包括存储器和处理器,所述存储器存储有第一计算机程序,其特征在于,所述处理器执行所述第一计算机程序时实现权利要求1至21中任一项所述的方法的步骤。
33.一种芯片,包括存储单元和处理单元,所述存储单元存储有第二计算机程序,其特征在于,所述处理单元执行所述第二计算机程序时实现权利要求1至21中任一项所述的方法的步骤。
34.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至21中任一项所述的方法的步骤。
CN202311722823.0A 2023-12-14 2023-12-14 运动轨迹、回合开始检测方法、装置、设备及芯片 Active CN117495899B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311722823.0A CN117495899B (zh) 2023-12-14 2023-12-14 运动轨迹、回合开始检测方法、装置、设备及芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311722823.0A CN117495899B (zh) 2023-12-14 2023-12-14 运动轨迹、回合开始检测方法、装置、设备及芯片

Publications (2)

Publication Number Publication Date
CN117495899A CN117495899A (zh) 2024-02-02
CN117495899B true CN117495899B (zh) 2024-06-04

Family

ID=89685110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311722823.0A Active CN117495899B (zh) 2023-12-14 2023-12-14 运动轨迹、回合开始检测方法、装置、设备及芯片

Country Status (1)

Country Link
CN (1) CN117495899B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103389738A (zh) * 2013-06-25 2013-11-13 北京理工大学 一种用于乒乓球机器人预测乒乓球轨迹的方法和装置
CN105641890A (zh) * 2016-03-02 2016-06-08 绍兴凯健科技有限公司 一种基于存储转发的球类陪练方法及其装置
WO2021215608A1 (ko) * 2020-04-21 2021-10-28 주식회사 고고탁 탁구용 스윙 분석 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10489656B2 (en) * 2017-09-21 2019-11-26 NEX Team Inc. Methods and systems for ball game analytics with a mobile device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103389738A (zh) * 2013-06-25 2013-11-13 北京理工大学 一种用于乒乓球机器人预测乒乓球轨迹的方法和装置
CN105641890A (zh) * 2016-03-02 2016-06-08 绍兴凯健科技有限公司 一种基于存储转发的球类陪练方法及其装置
WO2021215608A1 (ko) * 2020-04-21 2021-10-28 주식회사 고고탁 탁구용 스윙 분석 시스템

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Table Tennis Track Detection Based on Temporal Feature Multiplexing Network;Li Wenjie et al.;《Sensors》;20230203;第1-10页 *
基于深度学习与超像素的乒乓球运动轨迹检测;胡小鹏 等;《机械制造》;20221231;第1-8页 *

Also Published As

Publication number Publication date
CN117495899A (zh) 2024-02-02

Similar Documents

Publication Publication Date Title
KR102205639B1 (ko) 골프 공 추적 시스템
US10486043B2 (en) Sensing device and sensing method used in baseball practice apparatus, baseball practice apparatus using the sensing device and the sensing method, and method of controlling the baseball practice apparatus
US5768151A (en) System for determining the trajectory of an object in a sports simulator
US20130178304A1 (en) Method of analysing a video of sports motion
US20070105637A1 (en) Golf ball performance evaluation system
CN103617614B (zh) 一种在视频图像中确定乒乓球落点数据的方法及系统
US10564250B2 (en) Device and method for measuring flight data of flying objects using high speed video camera and computer readable recording medium having program for performing the same
CN103514429B (zh) 检测对象的特定部位的方法及图像处理设备
CN110287907A (zh) 一种对象检测方法和装置
CN109684919B (zh) 一种基于机器视觉的羽毛球发球违例判别方法
Zhang et al. Real-time golf ball detection and tracking based on convolutional neural networks
KR20130047081A (ko) 초고속 머신 비전 카메라를 이용한 골프 시뮬레이션 시스템 및 그 시스템을 이용한 골프 시뮬레이션 방법
CN110298864B (zh) 一种高尔夫推杆设备的视觉感测方法及装置
Zhang et al. Efficient golf ball detection and tracking based on convolutional neural networks and kalman filter
CN110711373A (zh) 一种羽毛球发球时击球点的高度检测系统及其方法
CN111744161A (zh) 一种乒乓球落点检测与擦边球判定系统
Moshayedi et al. Kinect based virtual referee for table tennis game: TTV (Table Tennis Var System)
CN109030854A (zh) 一种基于rgb图像的步速测量方法
JP7198661B2 (ja) オブジェクト追跡装置及びそのプログラム
CN110235191B (zh) 检测系统和方法
CN117495899B (zh) 运动轨迹、回合开始检测方法、装置、设备及芯片
JP3025335B2 (ja) ゴルフ打撃訓練及びシミュレーション方式
CN111738093B (zh) 一种基于梯度特征的冰壶球自动测速方法
CN117333550A (zh) 基于计算机视觉检测的羽毛球发球高度违例判别方法
CN116682048A (zh) 一种羽毛球发球高度的违规检测方法及装置

Legal Events

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