议题十八 游戏图像异常检测的AI实践 腾讯张力柯

Razor

2018/11/20 发布于 技术 分类

文字内容
1. 大会视频回放链接:http://www.itdks.com/eventlist/detail/2823
2. 游戏图像异常检测AI实践 Like Zhang, Turing Lab, 腾讯游戏 2018.11.16 本PPT所有内容,凡注明"版权归腾讯所有"的所有⽂文字、图⽚片、数据和⾳音视频资料料,版权均属腾讯公司所有,任何媒体、⽹网 站或个⼈人未经腾讯协议授权不不得以任何⽅方式复制发布/发表。违者将依法追究责任。
3. Outlines • 问题简述 • 早期尝试 • 难点分析 • 算法⽅方案 • ⼯工程实现 • 总结 版权归腾讯所有
4. About Myself 张⼒力力柯(Like Zhang) Turing Lab副总监 腾讯游戏品质管理理部 2008~2011,Microsoft (Redmond, US) 2011~2012,Tagged/Gree (San Francisco, US) 2013~2015,KK Game Studios (Chengdu, China) 2015~2016,Boston Consulting Group (Mountain View, US) 2016~2017,Uber (San Francisco, US) 2017~2018,腾讯科技 (Shenzhen, China) 版权归腾讯所有
5. 游戏图像异常问题 ⾮非真实场景,缺乏研究数据 原因多样化 • 硬件因素 • 游戏引擎 • 美术资源 • 游戏业务代码 现象多样化 • ⿊黑屏/⽩白屏 • ⾊色块⾊色条 • 贴图错误 • 开发遗留留信息(线框、⽂文字、弹框) • 像素错误 版权归腾讯所有
6. 基于深度学习的算法⽅方案演化 传统算法 机器器学习 GMM CNN GAN+CNN 异常⽣生成+ ⼿手⼯工分类 +CNN 异常⽣生成+ ⽆无监督聚类 +CNN 初期尝试 深度学习引⼊入 业务验证 版权归腾讯所有
7. 难点问题 • 画⾯面多样性 ➢ 游戏场景繁多,同样的画⾯面在不不同场景下可能分别属于正常或异常样本 ➢ 异常画⾯面种类众多,很难通过⼀一个通⽤用算法识别所有的异常类型 • 数据限制 ➢ 项⽬目组没有完整保存历史异常图⽚片样本 ➢ 游戏上线前期,对应的异常样本数量量少 • 计算资源限制 ➢ 请求数量量⼤大,需要实时反馈 版权归腾讯所有
8. 算法⽅方案:整体框架 根据画面内容,区 分不同类别 游戏视频 游戏画面分类 登陆UI画面 战⽃UI画面 ⽣成不同类型异常样本 异常样本 ⽣成引擎 异常样本 异常样本 ⽣成引擎 异常样本 奖励UI画面 异常样本 ⽣成引擎 异常样本 Model 1 Model 2 Model N 版权归腾讯所有
9. 算法⽅方案:⾃自动场景划分 • 游戏场景划分 • ⽆无监督学习 …… 游戏 视频 帧提取 图像特征提取 基于局部不变性特征对图像进⾏描述 - SIFT局部特征提取 - BoVW模型 + Spatial Pyramid Pooling进⾏图像全局描述 - 传统CV⽅方法⼈人⼯工设计特征,避免DL中⼈人⼯工标注和⻓长时间训练过程 ⽆监督聚类 使⽤Bisecting K-Means 进⾏⾃适应聚类,⽆需 ⼈⼯设定簇的数量 (登陆场景) (战⽃准备场景) (战⽃场景1) (战⽃结束场景) (抽奖场景) 完成图像场景划分 除不同场景外,同⼀场景(如战⽃过程) 当画⾯差异较⼤时,我们的⽅法仍能将 不同的画⾯风格区分(见左上⽅吃鸡游 戏中草地和沙漠场景的区分)。 版权归腾讯所有
10. 算法⽅方案:异常样本⽣生成 实际异常图⽚片 图⽚错位、图⽚叠加 图⽚⾊块 异常图⽚片引擎⽣生成图⽚片 图⽚雪花 异常像素点 版权归腾讯所有
11. 算法⽅方案:具体场景识别模型 1,⾸首先对输⼊入图⽚片resize到80 x 45的格式。 2,添加第⼀一层卷基层,划窗⼤大⼩小为3x3,Filter = 32。并 添加第⼀一层池化和激活函数 3,添加第⼆二层卷基层,划窗⼤大⼩小为3x3,Filter = 32。并 添加第⼆二层池化和激活函数 4,添加第三层卷基层,划窗⼤大⼩小为3x3,Filter = 64。并 添加第三层池化和激活函数 5,通过Flatten将数据抹平成⼀一维,再添加全连接层 6,通过sigmoid激活函数,判断是否是异常图⽚片 版权归腾讯所有
12. 算法⽅方案:实际效果 游戏名称 QQ⻜飞⻋车 CF 王者荣耀 游戏A 异常类型 ⾊色 重叠 异常 雪花 ⾊色块 重叠 异常 雪花 ⾊色块 重叠 异常 雪花 ⾊色块 重叠 异常 雪花 块 像素 像素 像素 像素 点 点 点 点 准确率 100% 99.9% 97.8% 99.8% 100% 98.7% 100% 100% 100% 99.5% 100% 100% 100% 99.8% 100% 99.4% 召回率 100% 99.2% 100% 100% 100% 99.5% 100% 100% 100% 99.9% 100% 100% 100% 99.4% 100% 99.4% 版权归腾讯所有
13. ⼯工程部署:整体框架 版权归腾讯所有
14. ⼯工程部署:难点问题 模型管理理 • 游戏数量量繁多 • 游戏细分场景过多 模型内存占⽤用 • 单⼀一模型占⽤用内存可达上百M • 游戏所有识别模型数量量可达数⼗十⾄至上百 模型更更新 • ⾃自动更更新?重启服务? 版权归腾讯所有
15. ⼯工程部署:Tensorflow Serving的分布式部署 • 检测服务是Stateless service,可作 为集群部署 • 使⽤用Haproxy进⾏行行识别请求分发 • 每个集群只对⼀一个游戏服务,每台 TF Serving Server只读取⼀一个游戏 的所有相关模型 • 由前端web service对检测请求进⾏行行 分析,并通过routing服务分发到对 应的TF Serving Cluster • 基于Kubernetes 版权归腾讯所有
16. ⼯工程部署:负载能⼒力力 Throughput - 100~200 TF Serving Pod (Dockerized) in regular setting - Serving up to 300 qps Availability & Scalability - Kubernetes based - Easy to scale (scaling to 1k pods takes a few seconds) - High availability 版权归腾讯所有
17. 总结 TO DO - 从画⾯面异常到UI错误(错误位置、对话框越界) - 从画⾯面异常到功能异常(游戏中可视性BUG识别) - 未知画⾯面的判断 版权归腾讯所有