点球是足球比赛中对球员在本方禁区内犯规的一种处罚形式。判罚点球时,主罚球员必须从距离球门约11m的点球点将球踢出。唯一能够防守点球的球员是对方守门员。这是一种变化很大的事件,没有人能事先知道结果如何,甚至连踢球者和守门员都不知道。然而,一些统计特征可以帮助估计结果。这是一种速度极快的事件,通常只有零点几秒,理论上,通过人工智能(AI)使用统计数据和机器学习(ML)模型预测扑救是可能的。本文介绍了一个如何利用人工智能预测足球比赛中点球的案例研究。
实用的统计和数学测试
如果一名球员在本方禁区内犯规,就会被判罚点球。点球的结果在很大程度上取决于球员的技术,但在某种程度上也取决于他们的运气。踢点球的时间非常短,甚至不到半秒。此时,球速甚至可能超过100km/h,而守门员甚至无法判断射门方向。这是踢球者进球的极短时间,但也是守门员感知正确射门方向并试图扑救的时间。在这短短的时间内,守门员不能仅仅依靠自己的速度,还必须猜测出正确的扑救方向。在我们开始讨论如何预测点球的数学模型或人工智能之前,不妨先进行这个有趣的实验。现在,我们将只研究点球所涉及的组成部分:
- 根据国际足联的规定,足球球门必须高2.44m,宽7.32m。横梁底边必须距离地面2.44m。
- 同样根据国际足联的规定,球的周长必须在68cm至70cm之间,等效直径约为23cm。
- 足球守门员的平均身高约为195cm。在实验中,他们保持静止不动的姿势。
根据这些数据,可以计算出球门的“空位”面积和守门员占据的面积,如图1所示。当然,球只能从空位进入球门,否则就会被守门员从其所在的区域扑出。实际上,计算要复杂得多,因为球可以从很多位置进入球门,但在本示例中假定以下数据和信息符合足球门的标准大小和尺寸:
- 覆盖整个区域的球总数:320(32×10)
- 被守门员挡出的球数:33
- 入网球数:287
因此,根据概率的基本定律,球员进球的概率(以百分比表示并取决于守门员的体型)等于:
显然,点球被守门员扑出的概率是相反的结果,即10.3125%。因此,射罚点球的人进球的概率非常高,因为守门员只能在特定的瞬间占据和覆盖特定的区域。然而,我们要重申,这种方法是非常近似的,但从数学的角度来看,它已经足以给出一个粗略的概念。
图1:计算罚球得分概率的简化方法。
根据Luc Arrondel、Richard Duhautois和Jean-François Laslier等研究人员的一些估计,当球员非常有名且技术高超时,罚进点球的概率较低(优秀球员为65%,其他球员为74%)。但在这种情况下,心理因素起了作用。此外,在五次点球中,射门得分的百分比从第一个点球到第四个点球递减,然后在第五个点球时增加,如图2的分布图所示:
- 第一次罚球命中率:86.6%
- 第二次罚球命中率:81.7%
- 第三次罚球命中率:79.3%
- 第四次罚球命中率:72.5%
- 第五次点球命中率:80%
在任何一次点球大战中,进球的概率都会下降到64.3%,这是任何体育动态都会受到巨大心理压力影响的明显标志。可以看出,这些百分比与上述计算结果相差不大。
图2:罚进点球的百分比从第一个点球到第四个点球逐渐下降,然后在第五个点球时又会增加。
AI能否挽救点球?
新的人工智能研究已初见成效,但其基本支柱完全基于数学和统计学。要了解足球的这一方面,首先是收集过去数千个点球的信息,找到能以某种方式描述射门方向和角度的模式。通过研究这些射门,我们正在寻找一种假定的、可能的“前兆”,用来指示射门的方向。它可以用来告知守门员扑救的角度,尽管规则很可能禁止这种做法。需要收集的数据不仅涉及射门方向,还涉及其他参数。其中最重要的参数包括:
- 大部分阻挡罚球时守门员所处的位置
- 罚球的时间范围
- 射门角度
- 踢球的球门区域
- 点球踢高和踢低的区别
- 罚球时用的脚(右脚或左脚)
- 球跑动的长度和速度
可以看出,有很多参数,尽管使用得当,预测射门方向仍然是一项非常困难的任务。然而,利用人工智能创建预测点球扑救的模型还是有可能的。人工智能越来越多地出现在足球世界中,其可能的应用之一就是帮助守门员扑救点球。对守门员来说,罚点球是最困难的情况之一,因为踢球者可以选择不同的球速和轨迹,正如我们在上一节中所学到的。人工智能可以帮助守门员预测这些选择,并做出相应的准备。人工智能可以通过分析历史数据来帮助守门员扑救点球。利用过去比赛的数据,人工智能可以分析罚球者的倾向,例如他们对特定轨迹或球速的偏好。此外,人工智能还可以分析踢球者的身体动作,例如眼睛和腿部位置,从而找出哪些信号预示着球将遵循的轨迹。此外,它还可以用于创建模拟,让守门员可以在与真实足球运动员策略和轨迹相同的虚拟对手面前训练扑救点球。在比赛中,人工智能也可以帮助守门员实时做出决策。
使用ML预测点球
现在,我们将看到如何实现一个简单的ML例子。我们可以使用一个大型数据集,其中包含6名国际知名足球运动员踢出的多达3,600个点球。当然,这个数据集是模拟出来的,并不是真实的,它包括以下信息,按列分组:
- 球员编号:1.克里斯蒂亚诺·罗纳尔多(C罗);2.莱昂内尔·梅西;3.内马尔;4.基利安·姆巴佩;5.卢卡·莫德里奇;6.哈里·凯恩
- 结果:1.点球得分;0.点球射失
- 方向:1.左下;2.左上;3.中上;4.右上;5.右下;6.中下
如图3所示,数据库是通过给每个球员(和每个球门区)分配一定的罚球概率而创建的。根据上述规定,数据集的结构如下:
球员,结果,方向
1,1,1
1,0,1
1,1,1
1,0,1
1,1,2
1,1,2
…
…
…
3,1,3
4,1,4
4,0,5
6,1,6
例如,记录1,1,2表示C罗从左上方射入点球,而记录4,0,5则表示姆巴佩从右下方射失点球。
图3:为了进行模拟和射门预测,球门被分为六个区域。
使用Python进行ML实验需要安装pandas和scikit-learn库。人工智能算法的实现非常简单,可以对数据模型进行训练,并在此基础上进行一些查询。Python脚本的代码如下所示:
from pandas import read_csv
from sklearn.tree import DecisionTreeClassifier
players = read_csv(“players.csv”)
X = players.drop(columns=[‘direction’])
y = players[‘direction’]
model = DecisionTreeClassifier()
model.fit(X.values, y.values)
prediction=model.predict([[1,1]])
print(prediction)
事件的预测是通过“model.predict()”函数完成的。表1列出了使用该函数的一些示例。
问题 | Python中的查询 | AI响应 |
如果C罗射罚点球,守门员最有可能向哪里扑救? | model.predict([[1,1]]) | [3] (top center) |
为了避免失误,莫德里奇不应该踢哪个方向? | model.predict([[5,0]]) | [6] (bottom center) |
六名球员的首选方向是什么? | model.predict([[1,1],[2,1],[3,1],[4,1],[5,1],[6,1]]) | [3 1 1 3 3 4] |
表1:使用“model.predict()”函数的一些示例。
当然,文章中实现的方法非常简单,不需要干扰AI就能得到结果。但在其他类型的案例研究中,人工智能是必要的,也是不可替代的。我们可以使用“tree.export_text()”功能,以文本模式将决策树可视化(见图4)。
图4:Python生成的文本格式的决策树。
要使用scikit-learn库和matplotlib以图形方式显示决策树,可以采用“DecisionTreeClassifier”类的“plot_tree”方法,如图5所示。
图5:使用Python和“matplotlib”库生成的分层图形格式的决策树。
总结
人工智能可通过多种方式帮助守门员扑救点球。历史数据分析和点球模拟器只是人工智能如何帮助守门员提高表现和增加成功机会的几个例子。不过,影响扑救的因素有很多,因此很难准确预测守门员能否成功扑救点球。
(原文刊登于EE Times姊妹网站EEWeb,参考链接:Using AI to Predict Penalty Kicks in a Soccer Game,由Franklin Zhao编译。)
本文为《电子工程专辑》2024年6月刊杂志文章,版权所有,禁止转载。免费杂志订阅申请点击这里。
- 这是一个吃饱了撑的预测,是个伪科学。点球完全是球员心理素质的表现。