基于图像识别的AI自动化测试框架:GAME AI SDK平台解析
一、GAME AI SDK概述
二、GAME AI SDK的技术架构
1. GAME AI SDK平台核心部分架构
自动化系统:主要负责数据接入部分,如果是截图,则进行图像采集;如果是通过API传输数据,则进行通信连接。同时,会负责将AI的动作输出传到手机上执行。
图形图像UI模块:负责游戏 UI 的识别与处理。
图形图像识别模块:包括的平台所有的图形图像识别算法,负责游戏内所有的图形图像识别,并将识别结果传到 AI 算法模块。
AI算法模块:接收识别结果数据或者直接接收API输入数据,根据 AI 网络,输出数个(0个到几个)可能的动作,传回到自动化系统。
2. GAME AI SDK平台流程
(1)AI流程
方式一:使用手机截图,平台通过图像识别得到 AI 需要的数据,然后进行 AI 训练。
方式二:使用 API 接口得到 AI 需要的数据,然后进行 AI 训练。
Step1:用户通过数据预处理工具输入数据(手机截图或游戏数据);
Step2:GAME AI SDK 读取任务配置与AI算法配置;
Step3:通过环境模拟平台或在线直接进行 AI 训练;
Step4:将游戏数据存储到数据平台中,方便下次训练或者做数据分析使用(此步骤可选)。
(2)图像识别任务流程图
Step1:用户使用标注工具进行样本标注(识别算法需要标注样本才进行此步骤);
Step2:在 SDKTool 中进行任务配置;
Step3:开始任务预测试:在图像识别模块中进行图像识别;
Step4:如果用户只需要做图像识别,则直接将识别结果返回给用户;
Step5:如果用户需要 AI 模块,则将识别结果输入到 AI 模块;
Step6:用户如果觉得任务参数(包括图像识别算法参数)需要调整,则重新调整任务参数,然后继续进行任务预测试(step3),直到用户认为图像识别效果达到要求为止。
3. GAME AI SDK平台模块结构
(1)图像识别模块
图形图像识别与跟踪相关算法:此为图形图像识别算法模块,包括了一些常用图形图像识别算法,如像素检测、特征点匹配,梯度检测等,也包括了一些基于机器学习的识别算法,如 YOLO,LeNet 等。
comm:此模块封装了一些游戏里面需要经常用到的识别类型,数字类型:如游戏中的分数、速度、距离、子弹数等;血条类型:如游戏中角色的血量,怪物的血量,BOSS 的血量等。
日志管理:系统日志管理模块,输出错误信息及程序运行信息,方便用户查看程序运行状态。
多线程管理:因为图形图像识别的计算量会比较大,在复杂的识别任务或者要求高响应时间的应用场景下,可以使用更多的线程来进行图像识别,多线程管理模块可以很方便的设置多线程的运行数量。
图像识别逻辑处理:在此模块中处理用户配置的图像识别任务。
(2)AI算法模块
三、GAME AI SDK使用
1. 环境安装
2. SDKtool UI配置
3. SDKtool识别任务配置
4. AI算法配置
5. 动作定义及配置
6. 训练及运行
四、结语
参考链接:
https://github.com/Tencent/GameAISDK
文章推荐