AI自动化测试

一、AI与自动化

自动化测试的发展四代:

1、传统录制与回放

2、脚本化的自动化测试

3、测试框架

4、AI自动化测试

二、图像识别算法

图像识别:图像表示单位为像素,常用RGB三通道描述。

常用的图像识别的衡量指标:查准率、查全率、F1-score、mAP。

被正确框选分类的目标物为正例,反之称为反例。

真实情况为正例,被正确预测为正例的样本称为真正例(TP),被错误预测为反例的样本称为假反例(FN);

真实情况为反例,被预测为正例的样本为假正例(FP),被预测为反例的样本称为真反例(TN)。

查准率=TP/(TP+FP) 查全率=TP/(TP+FN)

传统图像识别算法

1、模板匹配算法:在一幅图像中找到与模板图像最匹配的部分。缺点:该方法要求相同检测位置的像素值大小要相等或者相近,但是在实际环境中屏幕的差异导致很难适配。

2、特征点匹配算法:特征点又被称为关键点、兴趣点,在图像中相对比较突出的一些点,常把角点作为特征点。找特征点方法:sift、surf、harris、shi-tomasi、brisk、orb等。

3、梯度特征匹配算法(HOG):在计算机视觉和图像处理中用来进行物体检测的特征描述子。HOG特征结合SVM分类器的虎山公园已被广泛应用于图像识别中。流程:输入图像---归一化处理--计算图像梯度---构建方向直方图--组合细胞单元--收集HOG特征。

归一化:为了减少光照因素的影响,需要将整个图像进行规范化,可有效降低图像局部的阴影和光照变化。

计算图像梯度:计算图像横坐标和纵坐标方向的梯度,并据此计算每个像素位置的梯度方向值。求导操作不仅能够捕获轮廓、人影和一些纹理信息,还能进一步弱化光照的影响。

构建方向直方图:细胞单元中的每一个像素点都为基于某个方向的直方图通道投票。

将细胞单元组合成大的区间:把各个细胞单元组合成大的空间上连通的区间。

收集HOG特征:把提取到的HOG特征输入SVM分类器,寻找一个最优越的平面作为决策函数。

三、基于深度学习的图像识别算法

卷积神经网络

卷积神经网络(CNN)可以自动提取图像特征,通过一系列卷积、池化等操作,使图像的特征逐渐抽象。根据任务的不同,图像特征被抽象成不同的特征层,基于这些特征层,进一步分类。

卷积:对一个卷积核采用滑动窗口的方式,依次与图像上的像素点做卷积,生成的结果只作为特征图像上的一个像素点。

池化:又称下采样,根据取滑动窗口的最大值和平均值等。

卷积神经网络模型

RCNN:采用选择性搜索算法确定候选区域,并提取每个候选区域的CNN特征。

选择性搜索算法:根据颜色、纹理、大小、吻合度,计算两区域的相似性,找到最相似的两个区域合并,得到一个更大分割区域,然后在更大的分割区域上提取目标物。

Fast RCNN:包含特征提取器、分类器和边界框回归器在内的整个网络能通过多任务损失函数进行端到端的训练。

Faster RCNN:使用Region Proposal Network来代替选择性搜索算法提取候选区域。该网络通过softmax层判断候选区域是否包含目标物体,并利用回归器修正框,获得精确的目标物位置。

SSD:采用端到端的思想,即目标定位和分类在网络的单个前向传递中完成。特点:及时

YOLO:将一幅图像分7*7个网格,如果某个物体的中心落在其中某个网格中,则由此网格负责预测该物体。

TOYOv3:主体网络有53层,所以他为darknet53,主要借鉴了残差和特征金字塔的思想,在速度和准确率上相较于TOYOv2都有一定的提升。目前在工程、游戏中,形变物体检测的基础算法为TOYOv3

四、图像识别在游戏测试中的应用

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

录制所有核心场景模板图像,并加载这些核心场景图像,AI实时采集大量游戏运行中的截图。基于游戏截图形成测试数据集,遍历每一张测试数据集,分别利用基于部分图像的特征点算法和全图像的特征点匹配算法匹配场景图像和测试图像,并最终筛选出匹配结果。

游戏场景图像的物体识别

游戏图像固定位置、大小、外形,一般采用模板匹配。

游戏元素在颜色上和其他物体差别比较明显,可根据物体颜色值范围对整张图像进行过滤。

游戏中角色位置不固定且有肢体动作,一般采用YOLOv3网络模型进行检测。用户可根据硬件条件和被检测物体的特点设计自己的网络模型,如检查网络层数、设置复核检测目标长宽比的候选框。

相关推荐

  1. AI自动化测试

    2024-03-26 17:08:05       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-26 17:08:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-26 17:08:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-26 17:08:05       82 阅读
  4. Python语言-面向对象

    2024-03-26 17:08:05       91 阅读

热门阅读

  1. 运维开发技术栈

    2024-03-26 17:08:05       42 阅读
  2. 试题 算法训练 最大最小公倍数(贪心)

    2024-03-26 17:08:05       33 阅读
  3. uniapp的本地存储?

    2024-03-26 17:08:05       43 阅读
  4. 服务器之间进行互相免密

    2024-03-26 17:08:05       33 阅读
  5. 算法 字符串匹配 索引查找表(完整源码)

    2024-03-26 17:08:05       30 阅读