因为自己PhD从事Computer Vision (CV) 的研究,同时也是足球重度爱好者,最近萌生了一个用计算机视觉来提高足球战术的想法。想法还在初级阶段,但觉得很有趣而且潜在很有应用价值,写出来和有兴趣的朋友一起探讨。
首先,以目前CV中的object tracking,对于一场摄像角度和清晰度较好的比赛录像,real-time track比赛中的所有队员和足球本身的技术已经比较成熟了,所以可以想象,利用这个技术,在正常比赛,对屏幕内的双方所有球员和足球本身进行real-time tracking, 如下面这样,用两个摄像头来cover全场比赛,以此作为基础。
以上为基础,接下来,第一层面的应用:对于每一时刻,以上帝视角,对于特定拿球的队员,和周围形式(结合队友的站位和拿球队员的距离,方向,和每个接球点队友和防守队员的距离等因素),设计一个算法来推荐一个optimal play,也就是最佳处理方案:比如把球传给某个队友,或者自己继续朝某个方向带球,或者射门。对于一场完整的比赛,用此方法处理一遍,便产生了很多时间点上以optimal play为标准的recommendation,然后用此recomendation对比实际中球员处理的方式 (real play), 如果二者有差异,教练员或者队员便可以此来纠正强此次次处理球的方法,用来在以后的比赛中遇到相似的情景时纠正提高。
第二层面的应用:踢球的人都有一种感觉就是每个时刻,控球的队存在一个出球的从容度,或者反之的压力度。比如接球的队员附近有多人盯防,这时压力度就比较大,根据这个,我们可以从数学上定义一个“压力指数”的概念,根据拿球(或者接球)队员的位置,防守队员们和他的距离,球速,队友站位形成的可出球线路等因素可以作为定义这个“压力指数”的因素。而且踢球的人都有一种经验就是往往被断球就是因为这种压力指数可以积累性增加,直到超过一定阈值,(比如多个传球都过轻或者不够到位,造成3个连续传球以后被断),类似于error propagation,所以可以根据定义的压力指数的概念, 对于正常比赛录像,实时的显示压力指数,帮助球队分析每次丢球的原因。
第三个层面,根据每次传球的optimal play(在此作为local optimal,类似于围棋中的一个下子),和压力指数,和连续传球造成的结果(进球,丢球等),以强队(如巴萨,皇马)或者高光的进球为训练数据,利用类似于训练alphaGo的reinforcement learning, 来定义每次可处理球的penalty和award (压力指数增加或减少)和最终结果(丢球,进球),来学习出一些optimal的套路,作为其他球队的参考。
以上只是一些初步的想法,还不成熟,欢迎讨论,拍砖,不过觉得此想法有潜力发展为一个项目,甚至产品。
Chen Z
关于optimal play,只考虑拿球队员的话,是不是有点局限,不妨也同时考虑无球队员的最佳跑位?
JZ_Sun
你好,我是一个在读的硕士研究生 我最近也在开始一个和你十分相似的project 不同之处是我为了减少计算量只抽取其中一部分帧来做 去掉中场大部分缠斗的帧 不知道你方不方便留下联系方式 我们一起讨论或者合作
Anonymous
嗯,我最近正在实现这个项目,我博士论文做的是视频里面的物体识别,其中有关键帧detection,有空可以交流,我LinkedIn: https://www.linkedin.com/in/pengliang1/