SmashScan:使用神经网络分析Super Smash Bros.Melee,第4部分

上周,我做了简短的更新,介绍了如何解决对象检测问题,并且可以继续从事该项目的其他工作。 我实际上已经完成了大部分我要谈论的工作,但是只是想整理一下代码,并对最近的SSBM大型锦标赛Genesis 6进行适当的数据转储。请注意,所有代码都可以在Github上找到。 您可以在此处找到以下统计信息的详细分类。

第1步:确定视频中是否存在百分比精灵。

首先,我需要确定视频文件中何时存在匹配项。 为此,我将百分号用作“锚”,因为它需要相对较低的计算能力。 左上方的数字表示颜色(蓝色,绿色,红色,青色)边界框的置信度。 注意百分比符号如何具有高于0.8的置信度,这是我用来确定是否在屏幕上混战的阈值。

但是,我在上面的gif中隐藏了一些快捷方式。 首先,我扫描视频中的随机帧,以找到我应该搜索的百分比符号的最准确尺寸。 目前,我正在处理360p素材,因此我假设百分比符号的宽度在(24,30)之间变化。 接下来,我确保不要扫描每帧,因为这将花费很长时间。 我目前以60帧的步长运行,这对应于30fps的2秒。 另外,请注意边界框仅出现在屏幕的下半部分。 这是节省计算时间的另一个捷径,因为百分号始终位于屏幕的下部。

步骤2:找到与每个比赛相对应的舞台

按照本系列的第1部分,我使用Darkflow存储库在每个视频中搜索阶段。 我采取的一些有用的捷径只是在我根据上一步确定的每个匹配范围内搜索有限数量的帧。 我还遇到了“ Highlight Reels”被错误归类为火柴的问题。 为了解决这个问题,我从执行的随机抽样中删除了具有多个阶段的所有匹配项。

结论

如本文开头的图像所示,我比较了《创世纪5》和《创世纪8》之间的结果。 有关更详细的报告,请查看此pastebin。 我的下一个计划是开始进行计时器和百分比计数器的文本检测,因此我可以提供一些有价值的损坏信息。

我知道我所做的工作与metascouter已经完成的工作类似,但是我关注的是速度以及对任何视频自动执行此分析的可能性,因此有望将其应用于SmashVods数据库。 虽然给那些家伙提供了支持,但他们一直在给我很多启发。