先设想一个很常见的场景。一名业余选手的一发,训练时用雷达测过,数字相当漂亮,可一到比赛,对手总是把球回到他的反手脚边,第三拍只能被动挡过去。教练看录像,发现发球动作没有明显毛病,球也确实很快。问题出在哪里?出在那个时速数字没有回答的三件事:球落在哪、球怎么转、发完球之后人在哪。
这篇文章把一次发球当作一个有先后顺序的序列来讲:先是抛球和击球高度,然后是球拍加速,接着是球飞行和落点,最后是发球后的恢复。od体育网球AI目前的分析思路,就是沿着这个顺序把视频里的信息一层层取出来,再拼成一句教练听得懂的话,而不是给出一个孤立的“发球评分”。
发球从抛球开始,而不是从挥拍开始
发球是网球里少数几乎不受对手干扰的动作:球在自己手里,什么时候开始、往哪里抛,都由自己决定。所以看发球,第一段不应该是击球,而是抛球。抛球的高度、前后位置和左右位置,决定了击球点能不能落在身体前上方、离身体多远、球拍能不能在最高点附近击球。
在视频里,抛球可以通过手腕关键点和球的位置同时观察。模型需要的输入有两类:一类是人体关键点序列(肩、肘、腕、髋、膝、踝),一类是球的检测结果。抛球阶段球通常在画面里相对清晰、速度不快,反而是整个发球过程中最容易追踪的一段。od体育App在处理这一段时,关心的是几个很具体的量:抛球最高点相对于击球点的位置,抛球手臂是否在球离手后还保持上举,抛球是否总落在同一个位置。后一个量尤其有用,因为发球不稳的选手,抛球位置往往有一个系统性的偏差,比如总是偏右、总是偏后,而这种偏差单看一次发球很难发现,看十次就很明显。
屈膝、蹬伸和转体:能量从哪里来
抛球之后,球员进入所谓的奖杯姿势:膝盖弯曲,持拍手肘后引,抛球手仍然指向球。接下来是蹬地、髋部转动、躯干打开,肩带动手臂,最后手腕和前臂把拍头送到球上。这条从脚到球拍的运动链,是发球速度的主要来源。
公开的研究给出过一些参照,但也有各自的边界。一项针对四名法国排名青少年球员的实验室研究,对比了同一批球员的慢速发球和快速发球,两类发球的峰值拍速分别约为每秒34.9米和45.4米;与拍速相关性较高的参数包括重心垂直速度、肩部转动速度、肘屈曲、躯干屈伸和躯干轴向转动。另一项针对八名职业球员、共347次发球的研究,用骨盆、躯干和上臂上的惯性传感器测量后发现,躯干和上臂的转动峰值能够预测球速,但各环节峰值出现的间隔,与球速并没有明显关联,职业球员也并不严格遵循教科书上“由近到远”的顺序。这两项研究样本都很小,前者还是青少年、实验室条件,不能直接当作所有人的标准。
把这些信息翻译成视频分析能做的事,就是:模型不必宣称“找到了最优动力链”,只需要检查一个人自己的一致性和明显的能量泄漏点。比如蹬伸时膝盖伸展是否发生在躯干打开之前,还是两者几乎同时;击球瞬间身体是否已经向前倾倒而不是向上伸展;发球落地时脚是否在击球前就提前落下。每一项都是可以从关键点时间序列里看出来的,也是教练在场边最容易凭肉眼漏掉的。
击球高度:一个被低估的变量
击球点越高,球越有机会以更陡的角度下压进发球区,也更容易压过球网。击球高度不只取决于身高和臂展,更取决于蹬伸有没有做完、身体有没有充分向上伸展。在同一名球员的一组发球中,击球点的高度如果波动很大,通常说明抛球或蹬伸不稳定。
手机视频可以给出击球点的相对高度:击球瞬间手腕相对于头顶的位置、相对于自己站立时最大触及高度的比例。它给不出绝对高度的厘米数,除非画面里有已知尺寸的参照物,比如球网中心高度约0.914米,或者球场线的位置可以用来做单应性变换。即便有参照,镜头畸变和拍摄角度也会引入误差。od体育的做法是优先输出“相对变化”:这一组发球里,哪几拍击球点明显偏低,偏低之前抛球位置有什么共同点。
球落在哪里:从球轨迹到球场坐标
发球的落点分为外角、追身和内角,在平局区和占先区各有不同的意义。要让模型回答“这一发落在哪”,需要三个部件配合:球的检测与追踪、球场关键点检测、把图像坐标映射到球场平面。
球的检测是这里最难的一环。网球在画面里只有几个到十几个像素,飞行时有运动模糊,有时被球员遮挡,有时和场地线、背景光斑混在一起。公开资料里,TrackNet 是较早把这个问题系统化的工作:它用连续多帧作为输入,输出球位置的热力图。它在论文中报告,在2017年夏季大运会男单决赛的转播视频上,精确率和召回率都很高;但在另外九段部分标注视频上做交叉验证时,召回率降到了75.7%。这个差距本身就说明一件事:同一个模型,换一种拍摄条件,漏检会明显增加。后续的 TrackNetV4 在 ICASSP 2025 上发表,加入了运动注意力机制,针对的正是遮挡和低可见度场景。
球场关键点的检测相对容易,因为球场线是固定形状、对比度高。检测到几个角点和发球线交点之后,就可以估计一个把图像映射到球场平面的变换,把球落地那一帧的像素位置换算成球场上的坐标。这里的误差主要来自两处:一是落地帧的判断,球在落地瞬间被拍到的那一帧和真正接触地面的时刻往往差着一到两帧;二是拍摄机位,镜头离球场越低、越斜,靠近远端底线区域的像素就越拥挤,误差越大。拍摄机位的具体要求,可以参考《发球录像应该从哪个角度拍?od体育AI网球分析的机位问题》,那篇文章专门讲了侧面、后方、正面三种机位分别能测什么。
这里要说清楚一个区别:职业赛场的电子线审系统,公开资料里说明的是用球场周围的18台摄像机重建三维轨迹,并在约十分之一秒内报出结果;那是多机位同步、专门标定的专业系统。单部手机拍出的落点,是估计,精度足以区分外角、追身和内角,通常无法用来判断压线球是否出界。
旋转:手机视频最容易夸大的部分
发球的旋转决定球落地后的弹跳:平击发球弹起低而直,切削发球向侧面滑出,上旋发球弹起高。这些差异在教练眼里很明显,但要让模型量化旋转速率,就困难得多。
直接测量旋转需要雷达或专门的高速摄像。单部普通手机的视频,通常没有足够的帧率去看清球上的标记;即便有慢动作模式,球在画面中也太小。所以od体育在处理旋转时,倾向于做类别判断而不是数值输出:从球的飞行弧线、落地后的弹跳角度变化,以及击球时拍头相对于球的方向,粗略区分平击、切削和上旋,并且明确标注这是推断而不是测量。如果用户需要具体的转速数字,仍然需要使用雷达类设备。
发球之后:恢复位置和第三拍
发球最容易被忽视的一段,是发球完成之后的那一两步。发球落地后,球员通常已经向前冲了一步,重心还在向前,这时对手回过来的球如果指向大角度,恢复就会来不及。所以“发球”和“发球后的第一拍”在战术上是同一个单元,有些统计里叫作“发球加一拍”。
od体育网球AI在这一段观察的对象,是球员落地后的重心位置、第一步的方向,以及在对手击球时刻,自己相对于场地中线和底线的位置。如果发球落在外角,一个合理的站位应该稍向平局区一侧移动;如果发球追身,站位调整则更小。模型可以把这个“应该站的位置”与实际站的位置做比较,得到一个偏差。这个偏差不是对错,只是一个提示:这几次发球之后,恢复总是偏向了同一侧。
移动与恢复本身更完整的分析,放在《底线跑得快为什么总是来不及?od体育AI如何分析网球移动路线》里,那里会讲到球场覆盖和恢复位置的具体拆法。
一张表:同样的球速,四种不同的发球
| 模拟示例 | 时速 | 落点 | 击球高度(相对) | 发球后站位 | 教练关注点 |
|---|---|---|---|---|---|
| 发球A | 较快 | 外角,靠近边线 | 稳定在高位 | 回到中线偏外 | 可保留 |
| 发球B | 较快 | 发球区中部 | 偏低 | 落地后仍在场内 | 击球点偏低,落点缺少选择 |
| 发球C | 中等 | 内角 | 稳定在高位 | 回到中线 | 球速不高,但落点使对手难发力 |
| 发球D | 中等 | 追身 | 波动大 | 偏向同一侧 | 抛球位置不稳,恢复方向有偏差 |
这张表想说明的是:如果只看“时速”一列,A和B看起来一样好。把落点、击球高度和发球后位置放进去,两次发球的价值就分开了。这就是od体育网球AI把发球从“一个速度数字”扩展为“一组连续信息”的原因。
速度、落点、旋转,到底哪个更重要
这个问题没有统一答案,公开资料也提醒不要轻易下结论。一项使用2013至2024年ATP男单比赛记录、覆盖八百多名球员的因果分析研究发现,ACE率、一发成功率等指标对赢球概率的影响,依赖场地、球员排名和赛事级别,统计上的效应并不大;例如一发成功率在红土和中等级别赛事里更值钱。这项研究只包含男单,也没有覆盖业余选手。对于普通训练者来说,更现实的结论是:不同水平的人,发球的短板不一样。有的人缺的是稳定性,有的人缺的是落点变化,有的人缺的是速度。od体育的设计取向,是先找出属于这个人的短板,而不是用一个统一标准去衡量所有人。
模型什么时候会看错
为了让使用者对结果有合理的预期,这里把发球分析里比较典型的出错情形列出来。
- 逆光或球衣与背景颜色接近:手腕和球拍的关键点会漂移,抛球阶段的球可能被漏检。
- 机位太低或过于侧斜:落点坐标的误差会明显扩大,尤其是远端发球区。
- 帧率过低:击球瞬间只有一到两帧,拍头位置、击球时刻的判断都不可靠。
- 网带或对手遮挡球:飞行轨迹中间断开,落点只能靠前后轨迹外推。
- 同一个视频里有多个球:球场旁边有备用球、地上有球,容易被误当成正在飞行的球。
- 把静态姿态当速度预测:一项使用2025年澳网转播画面的小规模研究,用姿态估计区分“加载”和“伸展”两个发球阶段,准确率接近满分,但用同样的单张姿态图像去预测发球速度类别,准确率并未超过基线,作者自己也指出分辨率、运动模糊和样本量的限制。这说明姿态只能说明“动作处在哪个阶段”,不能直接推出球速。
教练和球员怎么用这些结果
比较有效的用法,是把一节发球课分成三个小目标,而不是同时改所有东西。第一个目标是抛球一致性,看抛球最高点位置的分布,把偏差控制在一个较小范围。第二个目标是落点,选定外角、追身、内角其中一个,连续发若干球,看落点分布有多集中。第三个目标才是速度,在前两项稳定之后,再去关注蹬伸和转体。
训练之后,查看的不是某一次发球的得分,而是几个指标随时间的变化:击球高度的波动有没有减小,落点分布有没有收拢,发球后恢复的偏差有没有变化。这些趋势和《挥拍动作看起来一样,为什么球完全不同?od体育网球AI如何理解击球点和拍面变化》里讲的击球点和拍面变化可以放在一起看:发球的击球点也会改变球的方向和旋转,只是发球中拍面变化更快,对帧率的要求也更高。
目前做不到的事
最后把边界讲清楚。手机视频目前做不到的事情包括:精确的球速、精确的旋转速率、拍头速度、地面反力,以及压线球的出界判定。这些量需要雷达、拍上传感器、测力板或多机位系统。手机视频比较擅长的,是动作阶段的划分、关键点时间序列的一致性、击球高度的相对变化、落点的大致区域,以及发球之后的移动方向。
也就是说,od体育网球AI并不打算替代雷达,而是回答雷达不回答的问题:这个人的发球,为什么在压力下会走样,下一拍的站位为什么总是慢半拍。发球分析里最难的部分,本质上是高速小球的追踪问题,这一点在《高速小球为什么仍然难追踪?od体育观察体育计算机视觉的新难题》里有更集中的讨论。