导语

2020年7月,我们探讨了AI与自动化测试的关系,并向大家介绍了腾讯互动娱乐事业群TuringLab团队出版的《AI自动化测试:技术原理、平台搭建与工程实践》一书。这本书将TuringLab团队基于深度学习的自动化AI测试框架基础的开发与应用经验详细的展示在读者面前,与读者分享了腾讯游戏是如何将AI技术与自动化测试相结合完成测试需求的。在文章推送(超链接:https://mp.weixin.qq.com/s/vKhfddXnWZFXcQmU1734xQ)后,不少用户留言反馈了对书中提到的AI SDK的浓厚兴趣,并询问如何下载使用。

现在,Game AI SDK开源版本正式对外发布!欢迎各位开发者下载体验(超链接:https://wetest.qq.com/product/game_ai_sdk)。

本篇文章将用4k字左右的篇幅,向读者们详细介绍Game AI SDK的相关内容。同时,为了更好的了解用户的使用反馈和意见,TuringLab团队的技术大佬们创建了技术交流QQ群(群号:1095989343),欢迎大家加入。

基于图像的游戏场景自动化框架

一、 概述

在自动化测试领域,针对游戏场景的自动化是一个难点,目前还没有通用的技术方案。这是由于游戏是高度个性化的产品,不同品类游戏玩法差异极大。每款游戏通常都是独立设计开发,游戏开发商也不对外暴露统一的接口,这也意味着传统的基于API接口进行自动化的方案在游戏领域并不通用。此外,期待游戏开发商对外提供统一的自动化接口,也是件不现实的事情。

为了支持游戏场景的自动化,基于图像识别和游戏AI等方面技术,腾讯Turing Lab开发了基于游戏图像的AI自动化框架——Game AI SDK。整个方案不依赖游戏开发商提供任何API接口,以游戏图像作为输入,以触屏操作为输出,类似于我们人类玩游戏的过程。示意图如下所示:
在这里插入图片描述

目前Game AI SDK已经在多个品类多款游戏的自动化测试上进行了验证和应用,并取得了良好的效果。一个典型的AI SDK应用示意图如下所示:
在这里插入图片描述

l 左侧为游戏终端设备,运行待自动化测试的游戏;

l 右侧为游戏自动化框架AI SDK,根据输入图像决策游戏操作;

l AI Client连接了游戏终端设备和AI SDK,从终端设备上实时获取游戏图像,并将AI SDK决策的游戏操作转换为触屏操作

二、 AI SDK架构介绍

1、 技术架构

AI SDK整体技术框架如下图所示,主要包含IO Service、Manager Center、UI自动化、游戏场景识别、AI自动化等几个模块。

在这里插入图片描述

各模块的核心功能如下:

l IO Service

负责AI SDK的输入输出控制,输入为游戏图像,输出为点击、滑动等游戏动操作;同时还负责AI SDK内部服务状态的上报。

l Manager Center

从IO Service接收输入图像,分发给UI自动化模块或AI自动化模块,并转发UI自动化和AI自动化的游戏动作输出;同时也负责AI SDK服务状态的异常监控等。

l UI自动化

通过图像识别算法,识别游戏图像中用户配置的UI按钮或弹窗,并根据用户配置的UI操作,决策出该如何进行UI自动化流程,并最终进入游戏场景中。

l 游戏场景识别

根据用户定义的场景识别配置文件,识别游戏场景内的游戏元素(敌人、血条、技能状态、数字等)。场景识别的各项游戏元素的结果,将作为特征数据输入给AI自动化模块,具体需要识别哪些游戏元素,根据AI需求自行定义。

l AI自动化

根据场景识别后得到的特征数据,进行AI决策,输出游戏操作,游戏操作通常为点击某个像素、在某像素区间滑动。

1、 数据流程

AI SDK自动化流程可分为游戏UI自动化和游戏场景自动化两个阶段,UI自动化根据用户配置定义进入特定游戏场景,游戏场景自动化则在游戏场景中进行战斗、驾驶、升级等各种游戏自动化操作。两个阶段可以不断循环重复,每个阶段的数据流程如下:

在这里插入图片描述

  1. 游戏UI自动化阶段

l AI Client从手机端获取游戏图像后,经过1、2、3步骤将图像发送给UI自动化模块

l UI自动化模块识别UI界面中的按钮或弹窗,决策出需要进行的UI操作,并经过4、5、6步骤将UI动作输出至AI Client

经过若干次UI自动化操作后,游戏从UI场景进入到游戏场景,进入游戏场景自动化阶段。

  1. 游戏场景自动化阶段

l AI Client从手机端获取游戏图像,经过1、2、7步骤将图像发送给游戏场景识别模块,并识别出游戏场景中各项游戏元素

l AI自动化模块经步骤8获取到识别结果后,根据游戏AI算法或特定逻辑规则决策出AI动作,经9、10、11步骤将AI动作输出至AI Client

经过一段时间的游戏场景自动化操作,游戏场景结束,又返回到UI自动化阶段。

三、 游戏场景自动化

由于游戏品类比较多,从格斗游戏、赛车游到FPS射击游戏,不同游戏场景的游戏玩法差异极大;游戏画面中的元素包括敌人、道具、怪物甚至卡牌,不同游戏画面中需要识别的游戏元素也存在极大差异。能够适用于多种游戏场景的自动化是AI SDK的核心功能,下面主要介绍AI SDK针对游戏场景的自动化方案。

1、 游戏场景识别

游戏场景识别模块中提供了模板匹配、梯度模板匹配、特征点匹配、目标检测、深度神经网络等多种算法,识别游戏场景中的游戏元素,并对外输出图像识别结果。具体识别哪些元素,用户可由场景识别配置文件自行定义。在AI SDK的场景识别中,主要将游戏中需要识别的元素分为以下几类:

l 固定物体目标

主要采用各种模板匹配算法检测游戏场景中的固定目标物,如游戏中的按钮、图标、技能状态等。该方法会返回场景中检测到的目标物以及像素坐标。
在这里插入图片描述

l 形变物体目标

主要采用卷积神经网络检测游戏场景中的图像形状易发生变化的目标物,如游戏角色、建筑物、车辆、怪物等。该方法会返回场景中目标物的位置及类别。

在这里插入图片描述

l 像素目标

检测出游戏图像检测区域内满足特定条件的像素点,该方法会返回符合条件的所有像素点集合。
在这里插入图片描述

l 数字

该方法会返回游戏场景中检测区域内的数字和其所在的像素位置等信息。
在这里插入图片描述

l 血条

该方法会返回游戏场景中检测区域内的血量百分比和血条位置等信息。
在这里插入图片描述

在实际应用中,通常我们将一个目标物和几个同类别的目标物定义为一个task任务,一个复杂的游戏场景可能包含几十个需要识别的task任务。要完成一次场景识别,需要所有task任务都完成。游戏场景识别模块的技术架构如下图所示:
在这里插入图片描述

1、为了降低任务检测的时间消耗(如果场景识别耗费太多时间,那么场景识别之后进行的AI决策就会存在很高的时延,严重制约AI自动化的表现),采用了多检测任务并行运行的方式,充分利用多核CPU资源。

2、对于采用深度网络模型进行检测的可形变目标物,任务耗时往往比较长,会严重影响每一次场景识别的性能。这里对深度网络模型进行了裁剪优化,减少卷积核数目、减少全连接层神经元个数,在保证识别准确率的情况下,尽量降低深度网络模型的性能开销。

3、针对游戏场景的图像特点,如游戏图像中存在很多的“半透明”的情况。即在识别目标物的时候,会受到背景图像的严重干扰,如下面图例所示。在游戏场景中,除了前置的图标不变外,图标的背景会不断发生变化。直接使用常见的模板匹配方法检测这些“半透明”目标物都不够理想,针对此类问题,场景识别模块的算法也做了专门的优化。

在这里插入图片描述

2、 游戏AI自动化

游戏AI自动化模块主要从场景识别模块得到识别结果,进行AI决策,并输出游戏操作(游戏操作通常为点击、滑动某个像素坐标点或区域)。游戏AI是一个复杂的问题,从简单的硬编码规则、状态机、行为树AI,到模仿学习、强化学习等基于深度学习的AI,再到蒙特卡洛搜索树AI,不同类型游戏的AI决策往往需要不同的AI方法,或者多种AI方法来解决。为了便于扩展和支持不同类型游戏的AI算法,AI自动化模块被设计为插件运行模式,不同的AI算法以插件的形式实现,并由AI自动化模块加载运行。

AI自动化模块包含两种插件,分别是Env插件和AI插件。Env插件主要是获取场景识别的结果,并转化为特定的数据特征,数据特征可以是图像像素值,也可以是其它类型的结构化数据,或者两者的合集。AI插件主要是游戏AI算法的实现,根据Env插件转化后的数据特征,进行游戏动作决策。Env插件和AI插件的运行示意图如下:
在这里插入图片描述

每一次游戏场景自动化过程中,Env插件和AI插件的运行过程如下:

l 进入游戏场景时,触发AI插件的OnEnter接口调用

l Env插件的IsStart接口根据场景识别结果,判断游戏场景开始执行时,触发AI插件的OnStart接口调用

l 之后进入AI主循环,AI插件调用Env插件的GetState接口获取场景识别结果特征数据,进行AI决策,输出游戏动作action,然后调用Env插件的DoAction接口执行游戏动作

l Env插件的IsOver接口根据场景识别结果,判断游戏场景结束时,触发AI插件的OnOver接口调用

l 离开游戏场景时,触发AI插件的OnLeave接口调用

如果需要扩展新的游戏AI自动化功能,按照要求实现Env插件和AI插件接口即可。为了便于实现插件,AI SDK中提供了两组API接口,分别是Action API和Agent API。其中Action API对游戏中常见的各种动作进行封装,直接调用其中接口就可以输出各种游戏动作;Agent API用于获取游戏场景识别的各项结果,可以方便地获取游戏中各种目标物或按钮、图标状态等信息。值得注意的是,Env插件和AI插件并不是一一对应的关系,如果不同游戏的AI算法是一样的,只有特征数据的解析方式存在不一致,那么AI插件就可以对应不同的Env插件。AI自动化模块的技术架构如下:

在这里插入图片描述

除了提供插件系统及其运行框架外,AI SDK中还内置了强化学习、模仿学习地AI插件和Env插件,用户可以直接使用,不需要做任何改动。此外还提供了常见游戏类型的AI自动化算法框架,其中已经实现了AI插件和Env插件的诸多功能。可基于这些常见游戏类型的算法框架,再结合自身的特殊自动化需求,实现Env插件和AI插件。

在实际的游戏场景自动化中,有以下几点需要注意:

1、 单纯的一个AI算法很难满足实际自动化需求,往往需要在AI算法之上附加一定的规则,如采用模仿学习AI+少量规则的方式来实现;

2、 为了在游戏场景自动化过程中覆盖更多的情况,可以在特定AI算法之上附加一定的随机性,让AI能探索更多的场景;

3、 游戏场景识别的结果不能达到百分之百准确无误,针对识别结果做一些简单的过滤或处理,能很好的提升AI自动化的鲁棒性;

4、 由于所有的游戏动作最终以模拟触屏的方式执行,控制好游戏动作中触屏的时长、滑动的像素距离都能提升我们AI的表现。

四、 应用举例

目前AI SDK已经在竞速类、赛车类、FPS类、MOBA类、MMO类等多种类型的游戏场景中进行了自动化验证,取得了不错的应用效果。能够针对多种游戏场景进行自动化测试,且不需要游戏端提供任何接口。一些游戏中的应用效果视频如下:

在这里插入图片描述

从运行方式上,AI SDK可在本地部署运行,进行单独的游戏AI自动化测试。如果要进行批量大规模自动化测试,也可以部署在云端,提供线上游戏AI自动化测试服务,如下图所示:

在这里插入图片描述

五、 总结和展望

本文介绍了基于图像的游戏场景自动化框架,框架的优点是不依赖游戏端提供接口或数据,方案通用性强,可适用于绝大多数游戏场景的自动化测试。且游戏场景自动化插件完成后,随着游戏版本的迭代更新,只要游戏的玩法不改变,已经实现的自动化过程一般不需要做修改,自动化过程维护的成本比较低,不需要随着游戏内部实现的改变而修改。

同时AI SDK目前也存在一些问题,尤其在易用性方面,如何让使用者更容易的使用是下一步要解决的问题。虽然AI SDK内置了常用游戏AI算法,提供了常见游戏类型的AI自动化框架模板,可以有效的降低接入新游戏进行游戏场景自动化的成本,但对使用者也有一定能力要求。我们也在尝试将一些简单且通用性强的AI自动化过程来通过工具配置的方式让用户来完成,让一些普通用户也能够完成一些场景的AI自动化。其次,在场景识别模块,提升目标物识别准确率,对实现AI自动化有诸多好处。而在提升识别准确率的同时降低性能开销,也是需要持续优化的问题。

目前腾讯Turing Lab编著的关于AI SDK及其应用的书籍《AI自动化测试:技术原理、平台构建与工程实践》已上架可于京东进行购买(超链接:https://item.jd.com/12679219.html#none)。AI ADK也已经对外开源开放,欢迎各位开发者下载体验。(超链接:https://wetest.qq.com/product/game_ai_sdk)

AI SDK 技术交流Q群|1095989343

性能测试技术交流群:720150565

查看PerfDog详情:https://perfdog.qq.com/?ADTAG=media.dev_website

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 2020下半年软考中级(系统集成项目管理工程师)(个人备考用)

    系统集成项目管理工程师第一章、信息化基础知识考点1(**):传输模型考点2(*):信息质量的特性考点3(**):信息系统特点考点4(**):信息系统…...

    2024/4/13 6:36:53
  2. 你用过对象存储吗?

    作为经常坐地铁通勤的上班族,你在地铁上一般怎样打发时间呢? 据了解,地铁上80%的乘客都会通过手机来消磨时间,其中又有大部分是在看视频。 当我们享受刷视频带来的愉悦体验时,视频数据却承担着巨大的压力&#xff0c…...

    2024/4/26 8:00:32
  3. pwn题环境搭建——Ubuntu操作系统

    Ubuntu虚拟机的安装 我是在VMware中进行的,因此如果电脑中没装VM,需要先下载并安转。装好VM之后,需要下载Ubuntu的镜像,我是从http://mirrors.163.com/ubuntu-releases/下载的20.04版本,下载速度很快,比较推…...

    2024/4/9 7:59:32
  4. crm项目中 cache(缓存机制)解决数据字典存储问题

    缓存:内存中的数据 crm做的是一种服务器缓存的机制 就相当于要将数据保存到服务器的内存中 如果服务器处于开启状态,我们就一直能够从该缓存中取得数据 Application(全局作用域,上下文作用域) 在服务器启动阶段,将数据保存到服务器缓存中,服务器启动阶段,将数据保存到服务器缓…...

    2024/4/28 0:36:13
  5. TreeSet和HashSet的不同之处(也是TreeMap和HashMap的不同之处)

    TreeSet和HashSet的不同之处(也是TreeMap和HashMap的不同之处) 1)TreeSet和HashSet都是利用对应的Map的key值进行数据保存(TreeMap和HashMap,所以map的value肯定是可以为null的) 2)TreeMap是使用红黑树进行数据保存,HashMap是进行…...

    2024/4/25 19:34:37
  6. XXE靶机详解

    常规思路:先扫描端口,扫描目录 这里有点迷惑了,我用nessus扫了一遍扫出来两个开放端口:80和5335,。但是用nmap只扫描出来了一个80 端口 不知道是什么原因,有懂的大佬可以解释一下 不管了,根据后面的结果来…...

    2024/4/16 15:00:57
  7. 倒数的最长无限循环小数

    这是Project Euler的第26题&#xff0c;求1000以内使得倒数具有最长无限循环位的数。 #include<vector> #include<iostream> #include<algorithm> using namespace std;int main(){ int res 0,num 0;for(int b 2;b<1000;b){int a 1;bool flag true…...

    2024/4/9 23:16:28
  8. Feign远程调用丢失请求头问题

    feign默认构造的template中header没有数据 解决: 参考https://mp.csdn.net/console/editor/html/104254815...

    2024/4/29 6:42:52
  9. CVE-2017-10271漏洞复现(Weblogic < 10.3.6 ‘wls-wsat‘ XMLDecoder 反序列化漏洞)

    文章目录影响版本漏洞详情环境搭建漏洞检测漏洞复现反弹shell弹出计算器写入shell进行利用摘抄影响版本 Oracle WebLogic Server 10.3.6.0.0版本 Oracle WebLogic Server 12.1.3.0.0版本 Oracle WebLogic Server 12.2.1.1.0版漏洞详情 Oracle Fusion Middleware中的Oracle We…...

    2024/4/27 17:45:06
  10. 防火墙工作原理—Vecloud微云

    防火墙的基本工作原理就是起到Filter(过滤筛)的作用。 你可以让你喜欢的东西通过这个过滤筛&#xff0c;别的东西统统过滤掉。 在网络的世界里&#xff0c;由防火墙过滤的就是承载通信数据的通信包。 IP地址过滤 所有的防火墙都有IP地址过滤功能。 这个任务主要是检查IP包头&am…...

    2024/4/22 17:45:22
  11. CentOS-7安装Samba实现文件共享

    CentOS-7安装Samba实现文件共享 Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件&#xff0c;由服务器及客户端程序构成。SMB&#xff08;Server Messages Block&#xff0c;信息服务块&#xff09;是一种在局域网上共享文件和打印机的一种通信协议&#xff…...

    2024/4/27 16:49:06
  12. css样式之字体样式

    1、font-size:字号大小&#xff0c;单位&#xff1a;px&#xff1b; 2、font-family:字体&#xff0c;比如&#xff1a;宋体&#xff0c;“Courier New”, Courier, monospace, “Times New Roman”, Times, serif, Arial, Helvetica, sans-serif, Verdana等&#xff1b;在 CS…...

    2024/5/4 10:14:03
  13. 【java】集合、对象的判空处理

    集合 1.使用 org.apache.commons.collections 包中的 CollectionUtils 的方法来检查集合是否为 empty or null ArrayList<Integer> arrnew ArrayList<>(); CollectionUtils.isEmpty(arr);ArrayList<Integer> arrnew ArrayList<>(); CollectionUtils.…...

    2024/4/17 15:12:37
  14. 01-ECMAScript6基础

    目录1. let和const1-1. var和let的区别1-2. const2. 解构赋值2-1. 对象解构赋值2-2. 数组结构赋值2-3. 字符串解构赋值3. 展开运算符("...")3-1. 数组展开3-2. 对象展开;4. Set 对象4-1. Set对象的数据结构4-2. Set对象的相关属性与方法5. Map 对象5-1. Map对象的数据…...

    2024/4/28 16:06:39
  15. pc端页面适配方案

    一、pc端常见屏幕宽度 分辨率比例和设备尺寸800*6001024*500&#xff08;8.9寸&#xff09;1024*768比例4&#xff1a;3&#xff09; &#xff08;10.4寸、12.1寸、14.1寸、15寸; &#xff09;1280*800&#xff08;16&#xff1a;10 ) (15.4寸&#xff09;1280*1024(比例&…...

    2024/4/23 14:57:14
  16. 实践之单链表

    1. 实现 #define _CRT_SECURE_NO_WARNINGS #include <stdlib.h> #include <stdio.h> #include <iostream> #include "LinkList.h"using namespace std; //自定义数据类型 typedef struct PERSON {char name[64];int age;int score; }Person;//打印…...

    2024/4/21 22:53:10
  17. 有用于计量插座产品的计量芯片吗?

    合力为科技的HLW8012、HLW8032、HLW8110、HLW8112均适用于计量插座产品。 HLW8012是一路电压和一路电流计量。 HLW8032是一路电压和一路电流计量。 HLW8110是一路电压和一路电流计量。 HLW8112是一路电压和二路电流计量。...

    2024/4/29 6:08:54
  18. QTableView之初体验

    上次使用qt开发&#xff0c;还是两三年前了&#xff0c;因为最近又会使用到&#xff0c;所以回顾一下以前的基础知识。 我主要是在Windows系统下开发&#xff0c;所以Qt开发环境一般用了两种Qt和QtVisual Studio&#xff0c;下载安装及环境配置请自行百度。 首先&#xff0c;…...

    2024/4/10 2:37:09
  19. java牛客网输入处理总结

    Java如何从控制台输入不确定长度的数组&#xff1f; 方法1&#xff1a; public static void main(String[] args) {Scanner sc new Scanner(System.in);List<Integer> listnew ArrayList<Integer>();while (sc.hasNext()) {String[] strsc.nextLine().split(&qu…...

    2024/4/24 9:37:46
  20. 利用机器学习测试你的心动指数

    利用机器学习测试你的心动指数 数据集下载 [1]: !wget https://pai-public-data.oss-cn-beijing.aliyuncs.com/speed_dating/Speed%20Dating%20Data%20Key.doc --2020-08-12 11:06:06-- https://pai-public-data.oss-cn-beijing.aliyuncs.com/speed_dating/Speed%20Dating%…...

    2024/4/10 11:19:42

最新文章

  1. File,io 流(一)

    存诸数据的方案 变量01数组02集合03 对象04double money9999.5; int[] agenew int[100]; List<Student> students new ArrayList<>(); Student snew Student() 它们都是内存中的数据容器&#xff0c;它们记住的数据&#xff0c;在断电&#xff0c;或者程序终止…...

    2024/5/4 11:19:30
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 华为海思2024春招数字芯片岗机试题(共9套)

    huawei海思2024春招数字芯片岗机试题(共9套&#xff0c;有答案和解析&#xff0c;答案非官方&#xff0c;未仔细校正&#xff0c;仅供参考&#xff09;&#xff08;WX:didadidadidida313&#xff0c;加我备注&#xff1a;CSDN huawei数字题目&#xff0c;谢绝白嫖哈&#xff09…...

    2024/5/3 3:08:35
  4. Jenkins 使用 Description Setter

    想要的效果如图: 在打包完成之后直接在构件历史的部分展示出来构建的docker镜像名,这样就不需要去找日志了。 首先安装插件 Description Setter, 如何安装就不在此赘述了。 安装完成之后&#xff0c;在构件后操作选项添加一个流程&#xff0c; 有两个字段: regular expressi…...

    2024/5/3 8:55:45
  5. 微信小程序生命周期管理:从数据初始化到事件绑定

    作为一个独立的应用开发平台,微信小程序提供了自己的生命周期机制,与我们熟悉的Vue.js框架有一些差异。掌握小程序生命周期的特点和使用技巧,对于开发高质量的小程序应用至关重要。深入理解和掌握小程序生命周期的使用技巧,将有助于我们构建出更加健壮和可维护的小程序应用。 小…...

    2024/5/4 8:00:26
  6. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/3 11:50:27
  7. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/2 16:04:58
  8. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/2 23:55:17
  9. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/3 16:00:51
  10. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/3 11:10:49
  11. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/3 21:22:01
  12. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/3 23:17:01
  13. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/2 23:47:43
  14. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/3 13:26:06
  15. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/3 1:55:15
  16. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/4 2:14:16
  17. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/3 16:23:03
  18. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/3 1:55:09
  19. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/2 8:37:00
  20. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/3 14:57:24
  21. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/2 9:47:25
  22. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/4 2:00:16
  23. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/3 22:03:11
  24. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/4 9:07:39
  25. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/3 1:54:59
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57