AI自动化测试:技术原理、平台搭建与工程实践
上QQ阅读APP看书,第一时间看更新

2.4 图像识别方法在游戏测试中的应用

2.4.1 特征点匹配在场景覆盖性测试上的应用

场景覆盖性测试是指测试游戏在实际运行过程中覆盖到多少场景。首先,我们需要录制所有的核心场景模板图像,并加载这些核心场景图像,AI运行过程中会实时采集大量的游戏运行中的截图。基于这些游戏截图形成测试数据集,遍历每一张测试数据集,分别利用基于部分图像的特征点算法和全图像的特征点匹配算法匹配核心场景图像和测试图像,最终筛选出匹配结果,过滤得到与之匹配的核心场景图像。通过匹配的核心场景的图像和数目,推测AI运行过程中的场景覆盖情况。工作流程如图2-13所示。

图2-13 特征点匹配在场景覆盖测试上的工作流程

部分图像结合全图像匹配策略

部分图像和全图像结合的方式可进行特征点匹配。在AI实际运行过程中,游戏界面中会有很多与玩家相关的信息。图2-14a展示的是某飞车类场景中的核心场景图像,界面中没有玩家好友信息。图2-15b所示的是部分区域被覆盖弹出调试框的界面。如果只选择基于全图像的特征点匹配方法,在测试图像红框标注的这部分区域提取到的特征点是无法在核心场景图像中找到匹配点的,很容易导致总体匹配到的特征点个数较少,得出这两张图片不是同一个场景的错误结论。

图2-14 某飞车类场景中的核心场景图像和测试图像

图2-15 某格斗类场景中的核心场景图像和测试图像

类似的,核心场景图像和测试图像可能有部分区域是相似或是完全一致的,但因为是不同的场景图片,所以从图像整体来看差异性还是比较大的。如图2-16所示,场景中的英雄人物是相同的,但是左图为游戏场景,右图为出战英雄场景,属于不同的场景。所以,除了选择部分图像的特征点匹配方案外,我们还需要结合全图像特征点匹配策略,共同筛选匹配结果。匹配效果如图2-17所示。

图2-16 同一英雄人物不同场景下的核心场景图像和测试图像

图2-17 实际匹配效果