2018年俄罗斯世界杯与历届不同,不仅呈现了精彩绝伦的比赛,也是球星们展示个人能力、俘获俱乐部和粉丝青睐的重要舞台。
阿里云视频云利用视频AI+云剪辑+媒资管理的技术,赛后为球星们生成集锦视频,不仅可为生产方快速提供素材,还可满足球迷们的“追星”需求。
阿里云智能集锦技术与传统的人工制作方式相比,可在比赛结束后分钟级生成集锦视频,速度提升10倍以上。目前世界杯球星集锦功能已在阿里云视频点播产品上线,后续会对用户开放足球赛事明星集锦的功能,用户只需开通相关AI服务就可以零门槛使用该功能。接下来,本文就将揭秘世界杯球星智能集锦的技术实现过程。
球星集锦的整体实现流程如下图所示:
左侧使用了视频云的基础能力:直播+媒体处理+点播,得到用于进行集锦处理的原始素材,本文则重点介绍右侧视频AI+云剪辑+媒资库的部分。
1. 球星注册
虽然视频云的明星识别服务已经内置了5000+的明星,但为了提升球星识别的准确率,我们采用了自定义人物库+人物注册的方式,为世界杯的球星建立独立的人物库,并选取合适的球星照片进行注册。一方面降低了识别过程受到相似明星干扰的几率,另一方面人物库的规模精简,也将提升人物识别的速度。
2. 多模态融合的视频AI技术
球星集锦的第一步:人物识别。视频云提供的人物识别服务可以识别视频中已注册的球星并进行人物Target追踪,同时在工程层做了一定程度的容错处理和补偿优化,会对人物在视频中出现的时间线、幅面坐标及置信度进行综合的动态分析,以减少算法在某些帧识别率低(比如画面变化剧烈、人物转头角度过大等情况)而导致人物时间线中断的问题。最终我们可以得到球星们的人物区间组,这也是球星集锦的基础区间组,如下所示,以某个球星的人物区间组为例:
R1=[f1s,f1e],
[f2s,f2e],
…
[fms,fme]
但仅靠人物识别是远远不够的,因为人物识别对视频中人物出现的像素,角度以及清晰度都有一定的要求,对于在世界杯比赛占很大比例的全景镜头中出现的球星们,人物识别显得无能为力。甩出两行照片做对比更为直观:
第一行的两帧画面,C罗无疑可以通过人物识别技术被识别出来;然而第二行的两帧画面,红框里穿红色球衣的也是C罗......但根本找不到人在哪儿。
因此只靠人物识别做出来的不是球星集锦,而是......球星正脸大头集锦。所幸,我们还有ASR、OCR和MAM。
就与解说在足球比赛中的发挥着至关重要的作用一样,语音识别ASR也是球星集锦不可或缺的又一利器。而比赛的解说词包含了非常丰富的信息,在球星集锦的实现过程中,我们使用了世界杯场景的语音识别模型,该模型对球员名称、足球术语、解说员的语速/语气/语调等进行了额外的训练和优化,尤其是在声学模型上针对足球场景下的球场噪声及观众噪声进行了适应性训练,使得其最终对世界杯解说词的识别准确率提升了超过10个百分点,高达90%以上。我们通过ASR可以拿到将比赛按语音断句结构化分析的结果,如下所示:
R2=[a1s,a1e],
[a2s,a2e],
…
[ans,ane]
至此,我们已经获取了两组时间线数据,分别是人物时间线和解说词时间线。后面将真正开始进行工程层面的多模态融合,这个过程也将对足球场景进行深入理解和分析。
在世界杯比赛中,镜头切到球员特写画面时,一般情况下,标志着某个事件进展了一半。为什么会这么说呢?世界杯比赛的转播一般有几十个机位,大致包括全景、中近景、特写及用于慢放的高速摄像机等机位,正常情况下导播会切到全景机位进行转播,只有当某些事件发生后,才会切到中近景及特写机位,如下图:
切到近景/特写之前,往往是事件的前序和铺垫;切到近景/特写之后,将会是事件的高潮与慢镜回放:
而使用往届世界杯比赛视频进行训练的结果也验证了这一点。
因此我们使用球星的每组人物区间为基础,将其区间的入点和出点向两侧延伸一段距离,形成新的区间组:
R3=[f1s-i1s,f1e+i1e],
[f2s-i2s,f2e+i2e],
…
[fms-ims,fme+ime]
如果新的区间组内包含了与球星相关的关键事件,则使用该区间组;如果没有则使用原区间组。看似简单的规则,实际还需要解决几个关键问题:
• 如何识别关键事件
在本次球星集锦的实现方案中,主要靠语音关键词完成。具体包括球员名称/别名,以及足球比赛的关键事件词,而这些关键事件词则以进球与射门相关词条为主。因此将解说词时间线的区间组与R3进行交叉匹配,如果命中了关键事件,则保留解说词中的该区间组,并与R3中时间区间的入出点取并集,如下,R3的某些时间区间将进一步修正:
R4=[f1s-i1s,i1e+i1e],
[aks,ake],
…
[fms-ims,fme+ime]
• 如何判断关键事件与当前球星有关
需要进一步结合文本识别OCR与比赛实时场记Live Blog的获取与生成。通过OCR我们可以监测比分的变化及比赛其他重要实时信息(可能包括关键球员名称及事件等)。
如果没能通过OCR获取需要的数据,则可以进一步借助Live Blog,从互联网(比如FiFa官网的Match Live Blog)爬取相关信息,并结合媒资库中的球星库,快速生成基于人物的场记信息。这里也是当前做的不太好的地方,当无法验证关键事件与球员相关性的情况下,该球星的集锦可能会出现无关画面。
• 如何决定新的区间组应该往两侧延伸多少时长
与媒资库/往届世界杯视频的训练数据有密切关系。媒资库-球星库中的球星,包括名字、国家队、位置、编号等信息。不同位置的球员在关键事件中停留的时长也不同,而这个参考值则来源于对往届世界杯视频训练的结果。
• 如何保证片段的完整性及片段间的平滑切换
在本项目没有用到镜头检测的前提下,仍然依赖语音识别结果来予以保证。结合语音识别的断句及句子的连续性校验,当某个区间组的In或Out落在某句解说词中间,则修正In/Out,与语音识别文本条目的In/Out一致,如下:
R5=[f1s-i1s,aje],
[aks,ake],
…
[fms-ims,fme+ime]