CN109999496A - 虚拟对象的控制方法、装置和电子装置 - Google Patents

虚拟对象的控制方法、装置和电子装置 Download PDF

Info

Publication number
CN109999496A
CN109999496A CN201910277222.0A CN201910277222A CN109999496A CN 109999496 A CN109999496 A CN 109999496A CN 201910277222 A CN201910277222 A CN 201910277222A CN 109999496 A CN109999496 A CN 109999496A
Authority
CN
China
Prior art keywords
target
image
attribute
scene
virtual objects
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910277222.0A
Other languages
English (en)
Other versions
CN109999496B (zh
Inventor
王洁梅
李旭冬
周大军
张力柯
荆彦青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Tencent Information Technology Co Ltd
Original Assignee
Shenzhen Tencent Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Tencent Information Technology Co Ltd filed Critical Shenzhen Tencent Information Technology Co Ltd
Priority to CN201910277222.0A priority Critical patent/CN109999496B/zh
Publication of CN109999496A publication Critical patent/CN109999496A/zh
Application granted granted Critical
Publication of CN109999496B publication Critical patent/CN109999496B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种虚拟对象的控制方法、装置和电子装置。其中,该方法包括:获取客户端在运行目标场景时所显示的目标图像;从目标图像中提取出目标图像特征;通过目标图像特征确定目标场景的目标场景信息;向客户端发送与目标场景信息相匹配的目标操作信息,其中,目标操作信息用于指示与目标场景中的第一虚拟对象相关联的目标操作,第一虚拟对象由模拟对象进行控制,模拟对象用于模拟现实场景中的对第一虚拟对象进行控制的对象。本发明解决了相关技术对虚拟对象进行控制的效率低的技术问题。

Description

虚拟对象的控制方法、装置和电子装置
技术领域
本发明涉及计算机领域,具体而言,涉及一种虚拟对象的控制方法、装置和电子装置。
背景技术
目前,在控制模拟的虚拟对象执行动作(游戏AI)时,可以从游戏内置接口获取游戏数据,还可以将原图像画面作为输入,来实现对模拟的虚拟对象的控制。
在从游戏内置接口获取游戏数据时,需要知道游戏数据的相关接口,如果是第三方游戏就不能获取接口;在通过输入原图像画面作为输入时,通过训练深度神经网络模型,根据场景图像信息确定模拟的虚拟对象的执行动作。但是不同场景之间的游戏图像可能差别会很大,已经训练好的深度神经网络模型不再适用于其它场景,使得对虚拟对象进行控制的效率低下。
针对上述的对虚拟对象进行控制的效率低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种虚拟对象的控制方法、装置和电子装置,以至少解决相关技术对虚拟对象进行控制的效率低的技术问题。
根据本发明实施例的一个方面,提供了一种虚拟对象的控制方法。该方法包括:获取客户端在运行目标场景时所显示的目标图像;从目标图像中提取出目标图像特征;通过目标图像特征确定目标场景的目标场景信息;向客户端发送与目标场景信息相匹配的目标操作信息,其中,目标操作信息用于指示与目标场景中的第一虚拟对象相关联的目标操作,第一虚拟对象由模拟对象进行控制,模拟对象用于模拟现实场景中的对第一虚拟对象进行控制的对象。
根据本发明实施例的另一方面,还提供了一种虚拟对象的控制装置。该装置包括:获取单元,用于获取客户端在运行目标场景时所显示的目标图像;提取单元,用于从目标图像中提取出目标图像特征;确定单元,用于通过目标图像特征确定目标场景的目标场景信息;发送单元,用于向客户端发送与目标场景信息相匹配的目标操作信息,其中,目标操作信息用于指示与目标场景中的第一虚拟对象相关联的目标操作,第一虚拟对象由模拟对象进行控制,模拟对象用于模拟现实场景中的对第一虚拟对象进行控制的对象。
根据本发明实施例的另一方面,还提供了一种存储介质。该存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行本发明实施例的虚拟对象的控制方法。
根据本发明实施例的另一方面,还提供了一种电子装置。该电子装置包括存储器和处理器,其特征在于,存储器中存储有计算机程序,处理器被设置为通过计算机程序执行本发明实施例的虚拟对象的控制方法。
在本发明实施例中,采用获取客户端在运行目标场景时所显示的目标图像;从目标图像中提取出目标图像特征;通过目标图像特征确定目标场景的目标场景信息;向客户端发送与目标场景信息相匹配的目标操作信息,其中,目标操作信息用于指示与目标场景中的第一虚拟对象相关联的目标操作,第一虚拟对象由模拟对象进行控制,模拟对象用于模拟现实场景中的对第一虚拟对象进行控制的对象。也就是说,获取目标场景的目标图像,根据目标图像的目标图像特征确定目标场景信息,通过目标场景信息确定模拟对象在对虚拟对象进行控制时所需要的操作信息,进而将该操作信息发送至客户端,实现了一种对虚拟对象进行控制的通用的方法,而不受数据接口以及场景限制,从而达到了提高对虚拟对象进行控制的效率的技术效果,进而解决了相关技术对虚拟对象进行控制的效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种虚拟对象的控制方法的硬件环境的示意图;
图2是根据本发明实施例的一种虚拟对象的控制方法的流程图;
图3是根据本发明实施例的一种基于图像处理的AI实现方法的流程图;
图4是根据本发明实施例的一种基于图像处理的AI实现的硬件结构的示意图;
图5是根据本发明实施例的一种血条百分比的计算方法的流程图;
图6是根据本发明实施例的一种多人对战类游戏中的小地图像素点筛选的场景的示意图;
图7是根据本发明实施例的一种像素筛选在血条识别上的场景的示意图;
图8是根据本发明实施例的一种模板匹配方法的流程图;
图9是根据本发明实施例的一种模板匹配的示意图;
图10是根据本发明实施例的一种固定按钮的识别的示意图;
图11是根据本发明实施例的一种游戏提示信息的示意图;
图12是根据本发明实施例的一种Lenet网络的示意图;
图13是根据本发明实施例的一种数字识别方法的流程图;
图14是根据本发明实施例的一种游戏中的数字图像的示意图;
图15是根据本发明实施例的一种数字识别的效果的示意图;
图16A是根据本发明实施例的一种游戏场景中的截屏示意图;
图16B是根据本发明实施例的一种在游戏场景中检测血条的示意图;
图17A是根据本发明实施例的一种对游戏人物进行检测的示意图;
图17B是根据本发明实施例的另一种对游戏人物进行检测的示意图;
图17C是根据本发明实施例的另一种对游戏人物进行检测的示意图;
图18是根据本发明实施例的一种虚拟对象的控制装置的示意图;以及
图19是根据本发明实施例的一种电子装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种虚拟对象的控制方法的实施例。
可选地,在本实施例中,上述虚拟对象的控制方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。图1是根据本发明实施例的一种虚拟对象的控制方法的硬件环境的示意图。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本发明实施例的虚拟对象的控制方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的虚拟对象的控制方法也可以是由安装在其上的客户端来执行。
图2是根据本发明实施例的一种虚拟对象的控制方法的流程图。如图2所示,该方法可以包括以下步骤:
步骤S202,获取客户端在运行目标场景时所显示的目标图像。
在步骤S202提供的技术方案中,客户端可以为游戏客户端,目标场景可以为当前一局游戏的场景,比如,为多人在线战术竞技游戏(Multiplayer Online Battle Arena,简称为MOBA)的场景。
获取客户端在运行目标场景时所显示的目标图像,该目标图像也即场景图像,为原始输入图像,包括需要进行检测的图像。可选地,获取客户端在运行当前一局游戏时所显示的游戏画面,该游戏画面可以指示出游戏界面所显示的内容,将该游戏画面确定为目标图像。可选地,该实施例通过安卓调试桥(Android Debug Bridge,简称为ADB)实时对客户端运行的游戏画面进行截屏操作,从而得到目标图像。
在该实施例中,客户端安装在终端上,该终端可以智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备、PAD等终端设备,此处不做限制。
步骤S204,从目标图像中提取出目标图像特征。
在步骤S204提供的技术方案中,在获取客户端在运行目标场景时所显示的目标图像之后,对目标图像进行进一步处理,可以通过图像识别进程对目标图像进行识别并提取出目标图像特征,该目标图像特征也即对目标图像进行处理后得到的游戏数据,可以为符合目标条件的像素点,比如,为颜色值在一定阈值范围内的像素点,该目标图像特征还可以为目标场景中的对象的属性,比如,数字图像中的数字对象的类别、虚拟对象所处的位置等。
可选地,在该实施例中,基于目标图像的像素点对目标图像进行处理,可以遍历目标图像的各个像素点的颜色(RGB)通道的颜色值特征,从中找出符合目标条件的目标像素点,比如,目标图像包括游戏小地图,在游戏小地图中找出符合与游戏玩家自己对应的英雄头像特征的像素点、符合敌方英雄头像特征的像素点、符合友方英雄头像特征的像素点,根据自己英雄头像特征的像素点确定自己英雄的位置信息,根据敌方英雄头像特征的像素点确定敌方英雄的位置信息,根据友方英雄头像特征的像素点确定友方英雄头像的位置信息。
该实施例还可以基于卷积神经网络(Convolutional Neural Network,简称为CNN)的方法对目标图像进行处理,可以用于对目标图像中的数字对象进行分类,得到目标场景中的数字,将其确定为目标图像特征;还可以对目标场景中的对象进行检测,比如,目标场景中的英雄上方的血条会随着英雄位置走动而变化位置,将变化后的位置确定为目标图像特征,血量会随着游戏状态不同而变化,将变化后的血量确定为目标图像特征;英雄的身体姿态会随着做不同的动作而发生变化,将变化后的动作确定为目标图像特征。
步骤S206,通过目标图像特征确定目标场景的目标场景信息。
在步骤S206提供的技术方案中,在从目标图像中提取出目标图像特征之后,通过目标图像特征确定目标场景的目标场景信息,可以将目标图像特征输入至(ArtificialIntelligence,简称为AI)进程中,通过AI进程根据目标图像特征确目标场景信息,其中,AI进程是在图像识别进程基础上进一步开发的。该实施例的目标场景信息可以是根据提取出的颜色值特征确定的血条、血条的长度、血条的百分比、目标场景中的塔的位置和血量、英雄血量百分比、技能按键是否可用、当前游戏的状态为成功或是失败等场景信息,还可以是根据识别出的对象的位置确定的对象的数量等,比如,在基于CNN检测出目标场景中的对象的位置后,可以确定当前目标图像的游戏元素信息,其中,包括目标场景中的对象的数量,比如,英雄周围的敌方单位的个数、己方单位的个数、周围小兵的个数等游戏信息,可以将其确定为目标图像特征。
步骤S208,向客户端发送与目标场景信息相匹配的目标操作信息。
在步骤S208提供的技术方案中,在通过目标图像特征确定目标场景的目标场景信息之后,向客户端发送与目标场景信息相匹配的目标操作信息,其中,目标操作信息用于指示与目标场景中的第一虚拟对象相关联的目标操作,第一虚拟对象由模拟对象进行控制,模拟对象用于模拟现实场景中的对第一虚拟对象进行控制的对象。
在该实施例中,第一虚拟对象可以是游戏场景中的虚拟控制对象,也即游戏AI,由模拟对象进行控制,而该模型对象可以用于模拟现实场景中的对第一虚拟对象进行控制的真实游戏玩家,也即,模拟对象用于模拟玩家的操作。目标场景信息具有对应的目标操作信息,可以为动作决策信息,用于控制第一虚拟对象执行目标操作,还可以为对第一虚拟对象进行的目标操作,比如,对第一虚拟对象进行的奖励操作或者惩罚操作等。可选地,AI进程根据接收到的目标场景信息进行不同的策略选择,输出动作策略信息,并通过ADB命令将动作策略信息作用在终端上,实现模拟玩家的操作的目的。
举例而言,根据目标场景信息中的当前游戏主界面的友方单位(绿色血条或蓝色血条)、敌方单位(红色血条)的位置属性、血量百分比属性等,确定目标操作信息可以为逃跑、寻路、向前攻击、组队等策略;根据目标场景信息中的胜利状态,确定目标操作信息可以为对第一虚拟对象进行的奖励操作信息,根据目标场景中的失败状态,确定目标操作信息可以为对第一虚拟对象进行的惩罚操作信息。
通过上述步骤S202至步骤S208,实现了一种对虚拟对象进行控制的通用的方法,获取目标场景的目标图像,根据目标图像的目标图像特征确定目标场景信息,不需要游戏开发者提供额外的接口来获取数据,因而,对第三方使用者来说是比较友好的,通过目标场景信息确定模拟对象在对虚拟对象进行控制时所需要的操作信息,进而将该操作信息发送至客户端,而不是直接将目标图像整体作为深度神经网络模型的输入,避免了由于场景不同,输入图像不同,使得网络模型不通用的问题,而不受数据接口以及场景限制,从而达到了提高对虚拟对象进行控制的效率的技术效果,进而解决了相关技术对虚拟对象进行控制的效率低的技术问题。
作为一种可选的实施方式,步骤S204,从目标图像中提取出目标图像特征包括:从目标图像中提取出目标像素点,其中,目标图像特征包括目标像素点,目标像素点用于指示目标场景中的目标颜色;和/或从目标图像中提取出目标属性特征,其中,目标图像特征包括目标属性特征,目标属性特征用于指示目标场景中的对象的属性。
在该实施例中,目标图像的表示单元是像素,像素可以通过RGB三通道的灰度值进行描述,其中,灰度值也即颜色值。可选地,在从目标图像中提取出目标图像特征时,可以从目标图像中提取出目标像素点,该目标像素点具有目标场景中的目标颜色,比如,游戏中血条的颜色特征比较明显,红色血条的R通道的灰度值比较大,绿色血条的G通道的灰度值比较大,蓝色血条的B通道的灰度值比较大。该实施例可以通过目标像素点确定具有该目标像素点的目标对象在目标场景中的目标位置。
可选地,该实施例还从目标图像中提取出目标属性特征,该目标属性特征可以用于指示目标场景中的对象的属性,比如,目标场景中的对象的类别,其中,对象可以为数字、字母等,还可以为目标场景中的对象在目标场景中的变化信息,比如,英雄上方的血条会随着英雄位置走动而变化位置,血量会随着游戏状态不同而增减、英雄的身体姿态会随着做不同的动作而发生变化等。
作为一种可选的实施方式,从目标图像中提取出目标像素点包括以下至少之一:从目标图像中提取出颜色值在第一颜色值范围内的第一目标像素点,其中,目标像素点包括第一目标像素点,第一目标像素点与第一虚拟对象相关联;从目标图像中提取出颜色值在第二颜色值范围内的第二目标像素点,其中,目标像素点包括第二目标像素点,第二目标像素点与第二虚拟对象相关联,第二虚拟对象与第一虚拟对象进行对战操作;从目标图像中提取出颜色值在第三颜色值范围内的第三目标像素点,其中,目标像素点包括第三目标像素点,第三目标像素点与第三虚拟对象相关联,第三虚拟对象和第一虚拟对象共同与第一虚拟对象进行对战操作。
在该实施例中,可以根据各通道颜色值的范围,对目标图像中的像素点进行过滤。可选地,该实施例预先设定第一颜色值范围,该第一颜色值范围与第一虚拟对象相对应,从目标图像中提取出颜色值在第一颜色值范围内的第一目标像素点,该第一目标像素点为与第一虚拟对象相关联,可以为第一虚拟对象本身具有的像素点,比如,自己英雄头像特征的像素点,还可以为与第一虚拟对象相关联的对象的像素点,比如,在MOBA类游戏中的小地图中,会出现我方塔,则第一颜色值范围可以为R(0,90),G(90,190),B(110,200),则按照该第一颜色值范围从目标图像中提取出的像素点可以为我方塔的像素点。可选地,与第一虚拟对象相关联的对象可以为自己的英雄,如果小地图中出现了自己的英雄,且自己英雄头像周围有外接圆,可以按照第一颜色值范围R(80,140),G(170,210),B(70,110)提取出外接圆的像素点,进而确定出英雄在目标场景中的位置。
可选地,该实施例预先设定第二颜色值范围,该第二颜色值范围与第二虚拟对象相对应,该第二虚拟对象与第一虚拟对象进行对战操作,也即,该第二虚拟对象为第一虚拟对象的敌方,从目标图像中提取出颜色值在第二颜色值范围内的第二目标像素点,第二目标像素点与第二虚拟对象相关联,可以为第二虚拟对象本身具有的像素点,比如,敌方英雄头像特征的像素点,还可以为与第二虚拟对象相关联的对象的像素点,比如,在MOBA类游戏中的小地图中,会出现敌方塔,则按照该第二颜色值范围从目标图像中提取出的像素点可以为敌方塔的像素点。
可选地,该实施例预先设定第三颜色值范围,该第三颜色值范围与第三虚拟对象相对应,该第二虚拟对象和第一虚拟对象共同与第一虚拟对象进行对战操作,也即,该第三虚拟对象可以为第一虚拟对象的友方,从目标图像中提取出颜色值在第三颜色值范围内的第三目标像素点,第三目标像素点与第三虚拟对象相关联,可以为第三虚拟对象本身具有的像素点,比如,友方英雄头像特征的像素点,还可以为与第三虚拟对象相关联的对象的像素点,比如,在MOBA类游戏中的小地图中,会出现友方塔,则按照该第三颜色值范围从目标图像中提取出的像素点可以为友方塔的像素点。
作为一种可选的实施方式,步骤S206,通过目标图像特征确定目标场景的目标场景信息包括:在目标像素点为第一目标像素点的情况下,通过第一目标像素点确定第一虚拟对象在目标场景中的第一位置属性和/或第一操作属性,其中,第一操作属性用于指示第一虚拟对象在目标场景中的操作能力,目标场景信息包括第一位置属性和/或第一操作属性;在目标像素点为第二目标像素点的情况下,通过第二目标像素点确定第二虚拟对象在目标场景中的第二位置属性和/或第二操作属性,其中,第二操作属性用于指示第二虚拟对象在目标场景中的操作能力,目标场景信息包括第二位置属性和/或第二操作属性;在目标像素点为第三目标像素点的情况下,通过第三目标像素点确定第三虚拟对象在目标场景中的第三位置属性和/或第三操作属性,其中,第三操作属性用于指示第三虚拟对象在目标场景中的操作能力,目标场景信息包括第三位置属性和/或第三操作属性。
在该实施例中,以像素为处理单元,在目标像素点为第一目标像素点的情况下,可以通过第一目标像素点确定第一虚拟对象在目标场景中的第一位置属性,比如,第一目标像素点为第一虚拟对象本身的像素点,则可以将第一目标像素点在目标场景中的位置确定为第一虚拟对象的第一位置属性。再比如,第一目标像素点为血条像素点,很多血条像素点组成了血条,该血条像素点在目标场景中的位置即为第一虚拟对象的血条在目标场景中的位置,可选地,第一虚拟控制的血条的位置会随着第一虚拟对象的位置的变化而变化,因而,可以通过第一虚拟控制的血条的位置确定第一虚拟对象的位置,从而得到第一虚拟对象的第一位置属性,比如,得到自己英雄的位置信息。
该实施例还可以通过第一目标像素点确定第一虚拟对象在目标场景中的第一操作属性,可选地,该实施例通过第一目标像素点计算血条的连通区域,可以对第一目标像素点和目标图像中除第一目标像素点之外的其它像素点进行二值化处理,比如,将第一目标像素点的灰度值置为255,而其它像素点的灰度值置为0,计算第一目标像素点的外接矩形框,该外接矩形框可以为血条的连通区域的外接矩形框,该外接矩形框的长度可以为第一虚拟对象的血条的长度,进而通过血条的长度和满血量时的血条的长度之间的比值确定第一虚拟对象的血量百分比,通过该血量百分比确定第一虚拟对象在目标场景中的操作能力,其中,血量百分比越大,第一虚拟对象在目标场景中的操作能力越大,血量百分比越小,第一虚拟对象在目标场景中的操作能力越小。
在该实施例中,在目标像素点为第二目标像素点的情况下,可以通过第二目标像素点确定第二虚拟对象在目标场景中的第二位置属性,比如,第二目标像素点为第二虚拟对象本身的像素点,则可以将第二目标像素点在目标场景中的位置确定为第一虚拟对象的第二位置属性。再比如,第二目标像素点为血条像素点,很多血条像素点组成了血条,该血条像素点在目标场景中的位置即为第二虚拟对象的血条在目标场景中的位置,可选地,第二虚拟控制的血条的位置会随着第二虚拟对象的位置的变化而变化,因而,可以通过第二虚拟控制的血条的位置确定第二虚拟对象的位置,从而得到第二虚拟对象的第二位置属性,比如,得到敌方英雄的位置信息。
该实施例还可以通过第二目标像素点确定第二虚拟对象在目标场景中的第二操作属性,可选地,该实施例通过第二目标像素点计算血条的连通区域,可以对第二目标像素点和目标图像中除第二目标像素点之外的其它像素点进行二值化处理,比如,将第二目标像素点的灰度值置为255,而其它像素点的灰度值置为0,计算第二目标像素点的外接矩形框,该外接矩形框可以为血条的连通区域的外接矩形框,该外接矩形框的长度可以为第二虚拟对象的血条的长度,进而通过血条的长度和满血量时的血条的长度之间的比值确定第二虚拟对象的血量百分比,通过该血量百分比确定第二虚拟对象在目标场景中的操作能力,其中,血量百分比越大,第二虚拟对象在目标场景中的操作能力越大,血量百分比越小,第二虚拟对象在目标场景中的操作能力越小。
在该实施例中,在目标像素点为第三目标像素点的情况下,可以通过第三目标像素点确定第三虚拟对象在目标场景中的第三位置属性,比如,第三目标像素点为第三虚拟对象本身的像素点,则可以将第三目标像素点在目标场景中的位置确定为第三虚拟对象的第三位置属性。再比如,第三目标像素点为血条像素点,很多血条像素点组成了血条,该血条像素点在目标场景中的位置即为第三虚拟对象的血条在目标场景中的位置,可选地,第三虚拟控制的血条的位置会随着第三虚拟对象的位置的变化而变化,因而,可以通过第三虚拟控制的血条的位置确定第三虚拟对象的位置,从而得到第三虚拟对象的第三位置属性,比如,得到友方英雄的位置信息。
该实施例还可以通过第三目标像素点确定第三虚拟对象在目标场景中的第三操作属性,可选地,该实施例通过第三目标像素点计算血条的连通区域,可以对第三目标像素点和目标图像中除第三目标像素点之外的其它像素点进行二值化处理,比如,将第三目标像素点的灰度值置为255,而将其它像素点的灰度值置为0,计算第三目标像素点的外接矩形框,该外接矩形框可以为血条的连通区域的外接矩形框,该外接矩形框的长度可以为第三虚拟对象的血条的长度,进而通过血条的长度和满血量时的血条的长度之间的比值确定第三虚拟对象的血量百分比,通过该血量百分比确定第三虚拟对象在目标场景中的操作能力,其中,血量百分比越大,第三虚拟对象在目标场景中的操作能力越大,血量百分比越小,第三虚拟对象在目标场景中的操作能力越小。
作为一种可选的实施方式,从目标图像中提取出目标像素点包括:从目标图像中提取出第四目标像素点,其中,第四目标像素点用于生成目标图像的子目标图像;通过目标图像特征确定目标场景的目标场景信息包括:从第一目标数据库中获取与子目标图像之间的相似度大于目标阈值的目标图像模板,其中,第一目标数据库用于存储多个图像模板,每个图像模板用于指示目标场景的一种运行状态;将与目标图像模板对应的目标场景的状态,确定为目标场景信息。
在该实施例中,可以以像素组成的子目标图像作为处理单元。该实施例可以从目标图像中提取出第四目标像素点,第四目标像素点用于生成目标图像的子目标图像,该子目标图像可以为从目标图像的左上角开始,从左向右,从上到下,按照目标步长采用滑动窗口的方式获得第四目标像素点以生成子目标图像,其中,目标步长可以为1,此处不做限制,子目标图像的大小不超过目标图像。在获得该子目标图像之后,对该子目标图像进行模板匹配,可选地,先确定目标模板图像,在目标图像中寻找与目标模板图像最匹配的子目标图像,将与子目标图像之间的相似度大于目标阈值的目标图像模板所指示的目标场景的状态,确定为目标场景信息。
可选地,在该实施例中,从原图像的左上角开始,从左向右,从上到下,步长为1,采用滑动窗口的方式,依次去计算模板图像和窗口子图像的相似度,将相似度存在结果矩阵中,在结果矩阵中找到最佳匹配值,如果越相似,则相似度值越大,那么结果矩阵中最亮的部分,即为与模板图像最佳匹配的子目标图像。
作为一种可选的实施方式,从第一目标数据库中获取与子目标图像之间的相似度大于目标阈值的目标图像模板包括以下至少之一:从第一目标数据库中获取与第一子目标图像之间的相似度大于目标阈值的第一目标图像模板,其中,目标图像模板包括第一目标图像模板,第一目标图像模板用于指示目标场景中处于目标功能状态的目标按钮;从第一目标数据库中获取与第二子目标图像之间的相似度大于目标阈值的第二目标图像模板,其中,目标图像模板包括第二目标图像模板,第二目标图像模板用于指示目标场景中出现的目标提示信息,目标提示信息用于提示目标场景处于目标类型的状态;从第一目标数据库中获取与第三子目标图像之间的相似度大于目标阈值的第三目标图像模板,其中,目标图像模板包括第三目标图像模板,第三目标图像模板用于指示第三子目标图像的前一帧图像或者与第三子目标图像间隔目标时间段的图像。
在该实施例中,目标场景中的目标按钮可以部署在固定位置,可以从第一目标数据库中获取与第一子目标图像之间的相似度大于目标阈值的第一目标图像模板,该第一目标图像模板可以为处于目标功能状态的目标按钮的图标。
在该实施例中,目标场景中的固定位置还可以具有提示信息,可以从第二目标数据库中获取与第二子目标图像之间的相似度大于目标阈值的第二目标图像模板,该第二目标图像模板用于指示目标场景中出现的目标提示信息,该目标提示信息用于提示目标场景处于目标类型的状态,比如,路线指示状态,游戏结束状态(对战成功/对战失败)等,游戏运行状态(开始)等,此处不做任何限制。
在该实施例中,还可以从第一目标数据库中获取与第三子目标图像之间的相似度大于目标阈值的第三目标图像模板,该第三目标图像模板可以为已经存储的用于指示第三子目标图像的前一帧图像或者与第三子目标图像间隔目标时间段的图像,比如,为前帧图像的像素点,或是间隔一段时间的历史帧图像的像素点,以用于判断目标场景是否处于卡顿状态。
作为一种可选的实施方式,将与目标图像模板对应的目标场景的状态,确定为目标场景信息包括:在目标图像模板为第一目标图像模板的情况下,将目标功能状态确定为目标场景信息;在目标图像模板为第二目标图像模板的情况下,将目标类型的状态确定为目标场景信息;在目标图像模板为第三目标图像模板的情况下,将卡顿状态确定为目标场景信息。
在该实施例中,在目标图像模板为第一目标图像模板的情况下,将目标功能状态确定为目标场景信息。在检测到第一目标数据库中存在与第一子目标图像之间的相似度大于目标阈值的第一目标图像模板的情况下,确定目标场景中的目标按钮处于目标功能状态,比如,该目标按钮可用。在获取目标按钮处于目标功能状态的场景信息后,可以确定与该目标功能状态对应的目标操作信息,比如,释放技能、购买装备等,此处不做任何限制。
在目标图像模板为第二目标图像模板的情况下,将目标类型的状态确定为目标场景信息,在检测到第一目标数据库中存在与第二子目标图像之间的相似度大于目标阈值的第二目标图像模板的情况下,确定目标场景中存在目标提示信息。在获取该目标提示信息之后,可以确定与该目标提示信息所指示的目标类型的状态对应的目标操作信息,比如,匹配到游戏成功的图像模板,则在此局中的目标操作信息用于指示给予奖励,如果匹配到游戏失败的图像模板,则在此局中的目标操作信息用于指示给予惩罚等。
在目标图像模板为第三目标图像模板的情况下,将卡顿状态确定为目标场景信息。由于目标场景中可能会出现空气墙,或者是寻路等,该实施例可以根据前后帧,或是间隔一段时间的帧图像像素点是否相同或是相似来判断当前游戏界面是否卡住,如果相似度比较高,则确定目标场景出现了卡顿状态,将该卡顿状态确定为目标场景信息,游戏AI确定目标操作信息,比如,用于指示第一虚拟对象随机走动等操作信息,以控制第一虚拟对象摆脱这种困境。
作为一种可选的实施方式,从目标图像中提取出目标属性特征包括:从目标图像的符号图像中获取多个子符号图像;通过第一神经网络模型从每个子符号图像中识别出子符号对象,得到多个子符号对象,其中,第一神经网络模型通过符号图像样本和与符号图像样本对应的符号对象进行训练得到;组合多个子符号对象,得到目标符号对象,其中,对象包括目标符号对象;将目标符号对象的属性确定为目标属性特征。
在该实施例中,目标图像的符号图像为目标场景中的包括符号的图像,可以为数字图像、字母图像等,其中,数字图像可以为包括关卡数的图像,包括得分数的图像,包括倒计时数的图像等,字母图像可以为包括用于区分阵营的字母的图像,此处不做任何限制。
从目标图像的符号图像中获取多个子符号图像,可以对目标图像进行分割,得到一个一个独立的子符号图像,比如,得到一个一个独立的数字图像。通过第一神经网络模型从每个子符号图像中识别出子符号对象,得到多个子符号对象,其中,第一神经网络模型可以为卷积神经网络,通过符号图像样本和与符号图像样本对应的符号对象进行训练得到。可选地,该实施例的第一神经网络模型可以为Lenet网络,采用两层卷积、两层池化层、两层全连接层和Softmax层组成,该Lenet网络输入的是子符号图像,输出的是子符号图像的类别,也即,子符号对象,比如,该子符号对象为具体的数字、具体的字母。可选地,该实施例通过卷积操作提取子符号图像的图像特征,通过池化操作减少网络的参数,在减小计算量的同时,还达到了防止过拟合的效果,进而通过全连接层进一步提取特征,Softmax层以全连接层的输出为输入,计算属于子符号图像为目标类别的概率,取概率值最大的那个类别为子符号图像的目标类别,也即,确定子符号对象,从而从每个子符号图像中识别出子符号对象,得到多个子符号对象。
在得到多个子符号对象之后,对多个子符号对象进行组合,得到目标符号对象,比如,对从子符号图像中识别出的多个数字进行组合,得到目标数字对象,进而将目标符号对象的属性确定为目标属性特征,可以将目标符号对象的内容、位置、颜色等属性确定为目标属性特征。
作为一种可选的实施方式,从目标图像中提取出目标属性特征包括:从目标图像中获取目标可变对象的图像,其中,对象包括目标可变对象,目标可变对象在目标场景中的位置是变化的;通过第二神经网络模型对目标可变对象的图像进行处理,得到目标可变对象的目标类别属性和目标可变对象在目标场景中的第二位置属性,其中,第二神经网络模型通过目标图像样本、与目标图像样本对应的类别属性和目标图像样本所指示的对象在目标场景中的位置属性进行训练得到;将目标类别属性和第二位置属性确定为目标属性特征。
在该实施例中,从目标图像中识别目标可变对象的图像,该目标可变对象在目标场景中的位置是变化的,比如,英雄上方的血条会随着英雄位置走动而变化位置,血量会随着游戏状态不同而增减,英雄的身体姿态会随着做不同的动作而发生变化等。可以通过第二神经网络模型对目标可变对象的图像进行处理,得到目标可变对象的目标类别属性和目标可变对象在目标场景中的第二位置属性,该第二神经网络模型通过预先采集的目标图像样本、与目标图像样本对应的类别属性和目标图像样本所指示的对象在目标场景中的位置属性进行训练得到,该第二目标神经网络可以为卷积神经网络,也即,该第二神经网络模型不仅可以用于对目标可变对象进行分类,还可以用来对目标可变对象的位置进行检测,
可选地,该实施例基于第二神经网络模型由目标可变对象的图像得到特征图像。在特征图像上定位出目标可变对象的目标类别属性和目标可变对象在目标场景中的第二位置属性。第二神经网络模型的输出即是目标可变对象的目标类别属性和第二位置属性。
可选地,对于上述第一神经网络模型和第二神经网络模型,该实施例可以采用折中速度和准确度的算法(目标检测网络YOLOV3)进行训练,并基于图像特征,从减少网络层个数和减少特征图个数这两个方向去优化网络,这两种方法都可以使计算量减小,从而达到优化网络速度的目的。
作为一种可选的实施方式,在得到目标可变对象的目标类别属性和目标可变对象在目标场景中的第二位置属性之后,该方法还包括:将目标时刻第二位置属性对应的位置的数量,确定为目标可变对象的数量;将目标可变对象的数量确定为目标属性特征。
在该实施例中,在得到目标可变对象在目标场景中所处的目标位置之后,可以将目标时刻第二位置属性对应的位置的数量,确定为目标可变对象的数量,比如,在基于第二神经网络模型检测出目标可变对象的位置后,确定英雄周围的敌方单位的个数、己方单位的个数、周围小兵的个数等。
作为一种可选的实施方式,通过目标图像特征确定目标场景的目标场景信息包括:通过第三神经网络模型对目标图像特征进行处理,得到目标场景信息,其中,第三神经网络模型通过图像特征样本和与图像特征样本对应的场景信息进行训练得到。
在该实施例中,在通过目标图像特征确定目标场景的目标场景信息时,可以将目标图像特征输入至预先确定好的第三神经网络模型中进行处理,该第三神经网络模型具有通用性,通过图像特征样本和与图像特征样本对应的场景信息进行训练得到,可以用于对任何图像特征进行处理,以输出与图像特征对应的场景信息。
作为一种可选的实施方式,在向客户端发送与目标场景信息相匹配的目标操作信息之前,该方法还包括:通过目标场景信息在第二目标数据库中查找目标操作信息,其中,操作信息集合用于存储分别与多个场景信息相匹配的操作信息。
在该实施例中,第二目标数据库中预先存储分别与多个场景信息相匹配的操作信息,比如,在场景信息为第一虚拟对象的血量低于一定阈值的信息的情况下,操作信息可以为用于在指示第一虚拟对象逃跑的信息,场景信息为第一虚拟对象的血量高于一定阈值的信息的情况下,操作信息可以为用于在指示第一虚拟对象向前攻击的信息,在场景信息为游戏失败的信息的情况下,操作信息可以为用于指示对第一虚拟对象进行惩罚的信息,在场景信息为游戏胜利的信息的情况下,操作信息可以为用于指示对第一虚拟对象进行奖励的信息等,此处不做任何限制。在向客户端发送与目标场景信息相匹配的目标操作信息之前,通过目标场景信息在第二目标数据库中查找目标操作信息,进而将该目标操作信息发送至客户端。
该实施例采用基于图像处理的方案为游戏AI提供游戏内数据,游戏AI根据提供的游戏数据进行一系列的逻辑处理或是训练,输出针对当前图像较好的执行动作,可以通过AI进程根据接收到的游戏数据进行不同的策略选择,输出需要执行的动作决策,并通过ADB命令把执行动作作用于手机端,达到模拟游戏玩家的操作的目的。其中,获取游戏数据,不需要游戏开发者提供额外的接口,对第三方使用者来说是比较友好的,通过ADB在终端上进行截图,通过图像处理进程获取所需要的游戏数据,提供给第三方开发AI的用户使用,解决了无游戏数据内部接口的问题,并且该实施例提取图像中的数据信息,而不是直接把原图像作为深度神经网络的输入,解决了因为场景不同,原输始入图像不同,造成因原始输入图像不同,导致网络模型不通用的问题,从而提高了对目标场景中的虚拟对象进行控制的效率。
下面结合优选的实施例对本发明的技术方案进行说明,具体以目标场景为游戏场景进行举例说明。
在相关技术中,在游戏AI实现方面,对于训练数据的来源,有两种实现方法,一种是从游戏内置接口获取游戏数据,从而作为AI的输入;另一种是,图像原画面作为输入。第一种方式需要知道游戏数据的相关接口,如果是第三方游戏就不能获取接口;第二种方式,输入的是原图像,通过训练深度神经网络模型,游戏AI可以很好的根据场景图像信息做出好的执行动作。但是不同场景之间的游戏图像可能差别会很大,已经训练好的网络模型不适用于其他场景,即输入其他场景的原图像,基于原有的网络模型不能做出好的动作决策。
该实施例采用基于图像处理的方案为游戏AI提供游戏内数据,游戏AI根据提供的游戏数据进行一系列的逻辑处理或是训练,输出针对当前图像较好的执行动作,比如,AI进程根据接收到的游戏数据进行不同的策略选择,输出需要执行的动作决策,并通过ADB命令把执行动作作用于手机端,模拟玩家的操作。
在该实施例中,可以采用基于图像处理的方案为游戏AI提供用于确定游戏AI执行的动作的游戏数据。
图3是根据本发明实施例的一种基于图像处理的AI实现方法的流程图。如图3所示,该方法包括以下步骤:
步骤S301,终端获取游戏的截屏画面。
该实施例的终端可以为移动终端,比如,为智能手机(如Android手机、iOS手机等)。从移动终端中获取游戏的截屏画面,将该截屏画面作为图像识别进程的原始输入图像输入至图像识别进程中,其中,游戏的截屏画面也即游戏图像。
步骤S302,通过图像识别进程对原始输入图像进行图像识别,得到游戏数据。
在将截屏画面作为图像识别进程的原始输入图像输入至图像识别进程中之后,通过图像识别进程对原始输入图像进行识别,得到图像数据,从而实现对原始输入图像进行图像处理的目的。其中,图像数据也即游戏数据,其并不需要游戏开发者提供额外的接口来获取,对第三方使用者来说是比较友好的,从而解决了由于无游戏数据内部接口,而无法基于游戏数据去开发游戏AI的问题。
步骤S303,AI进程接对游戏数据进行处理,输出用于指示游戏AI执行动作的操作信息,并将操作信息返回至终端。
在该实施例中,AI进程可以根据提供的游戏数据进行一系列的逻辑处理或者通过训练好的神经网络模型进行处理,输出针对当前输入图像确定游戏AI需要执行的合适动作,比如,AI进程根据接收到的游戏数据进行不同的策略选择,输出需要游戏AI执行的动作的操作信息,并将操作信息发送至终端,来模拟游戏玩家对虚拟对象进行控制的操作。
该实施例的上述通过图像识别来获取游戏AI所需要的操作信息的方法,由于提取的是原始输入图像中的游戏数据,而不是直接将原始输入图像作为深度神经网络的输入,避免了因为游戏场景不同,输入图像不同,造成由于输入图像不同而导致的网络模型不通用的问题,因而可以适用在任何游戏场景中。
该实施例的基于图像处理的AI实现方法可以通过基于图像处理的AI实现的硬件进行执行。下面对该实施例的基于图像处理的AI实现的硬件结构进行举例说明。
图4是根据本发明实施例的一种基于图像处理的AI实现的硬件结构的示意图。如图4所示,当游戏在移动终端运行之后,通过ADB实时截取当前移动终端上的游戏画面,将游戏画面中的图像数据发送给PC端,通过PC端的识别进程接收游戏画面,并对其进行图像处理,识别进程将处理后得到的游戏数据发送至AI进程,AI进程根据接收到的游戏数据进行不同的策略选择,输出需要游戏AI执行的动作的操作信息,并通过ADB命令将操作信息作用于移动终端,来模拟游戏玩家对虚拟可控制对象进行控制的操作。
可选地,上述PC端还可以替换为服务器,也即,由服务器实现基于图像处理的AI实现方法。
下面对该实施例的对原始输入图像进行图像识别的方法进行介绍。
该实施例的对原始输入图像进行图像识别以实现图像处理的方法比较多,其中可以包括基于像素的图像处理方法和基于CNN的图像处理方法。
在基于像素的图像处理方法中,图像的表示单元是像素,像素的描述形式有很多,可以是RGB三通道的描述方式。该实施例根据像素的各个通道的灰度值,可以对游戏图像进行处理,下面就基于像素筛选的图像处理方法和基于模板匹配的图像处理方法进行介绍。
在基于像素筛选的图像处理方法中,可以是遍历原始输入图像的各个像素点的RGB通道的颜色值特征,以从中找出符合条件的目标像素点。图5是根据本发明实施例的一种图像的RGB的示意图。如图5所示,在原始输入图像中,每个像素(one pixel)可以通过红(R)、绿(G)、蓝(B)的颜色值进行表示,比如,红101、绿76、蓝79。
图5是根据本发明实施例的一种血条百分比的计算方法的流程图。如图5所示,该方法包括以下步骤:
步骤S501,提取像素颜色特征。
在该实施例中,根据R通道、G通道、B通道颜色值(像素灰度值)的范围对原始输入图像的检测区域内的像素点进行过滤,过滤出像素颜色特征。
步骤S502,根据像素颜色特征确定符合这种颜色特征的目标物的位置。
在提取像素颜色特征之后,根据像素颜色特征确定符合这种颜色特征的目标物在什么位置。
步骤S503,计算血条的连通区域。
在该实施例中,游戏中血条的颜色特征也是比较明显的,比如,红色血条的R通道值比较大,绿色血条的G通道值比较大,蓝色血条的B通道值比较大。该实施例提取血条的颜色特征,根据血条的颜色特征过滤出血条像素点,很多像素点组成了血条,计算血条的连通区域。
可选地,该实施例对筛选出的像素点和剩余像素点进行二值化处理,比如,筛选出的像素点的灰度值置为255,其余像素点灰度值置为0,计算筛选出像素点的外接矩形框,该外接矩形框可以为血条的连通区域的外接矩形框。
步骤S504,计算血量百分比。
在血条的连通区域之后,确定血条的长度,可以将筛选出的像素点的外接矩形框的长度,确定为血条的长度,进而根据该血条的长度和满血量时血条的长度确定血量百分比,从而确定血量百分比属性。
可选地,该实施例还可以通过血条像素点的过滤,确定当前游戏主界面友方单位(绿色血条或蓝色血条),敌方单位(红色血条)的位置属性,可选地,通过红色像素点的过滤可以得到红色血条像素块的位置,红色血条像素块的位置即为红色血条的位置,红色血条的位置可以用于表示敌方单位的位置,游戏AI可以根据上述血量百分比属性、位置属性,采取逃跑、向前攻击、组队等不同的操作策略。
在该实施例中,在游戏小地图界面中可以找出符合自己英雄头像特征的像素点、敌方英雄头像特征的像素点、友方英雄头像特征的像素点,进而根据自己英雄头像特征的像素点确定自己英雄的位置信息,根据敌方英雄头像特征的像素点确定敌方英雄的位置信息,根据友方英雄头像特征的像素点确定友方英雄的位置信息,将这些位置信息发送给AI进程,AI进程可以根据位置信息采取攻击、换线、逃跑等不同的操作策略。
图6是根据本发明实施例的一种多人对战类游戏中的小地图像素点筛选的场景的示意图。如图6所示,多人对战类游戏可以为MOBA游戏,在MOBA类游戏的小地图中,会出现我方塔和敌方塔,可以在小地图范围内,过滤出像素灰度值在R(0,90),G(90,190),B(110,200)范围内的像素点,其中,从左往右的第一张图是R(0,90),G(90,190),B(110,200)像素值筛选的结果,第二张图是R(0,90),G(90,190),B(110,200)像素值筛选的结果,也即,第一张图和第二张图保留R(0,90),G(90,190),B(110,200)范围内的像素点,过滤掉该范围以外的像素点。
通过滤出像素灰度值在R(0,90),G(90,190),B(110,200)范围内的像素点,可以在游戏场景中确定我方塔或敌方塔在什么位置,以及塔的血量(像素点的多少)。
可选地,如果小地图中出现了自己的英雄,且自己英雄头像周围有外接圆,如图6从左往右的第三张图所示,也可以提取出外接圆的像素值范围R(80,140),G(170,210),B(70,110)。通过各个通道灰度值过滤出自己英雄在什么位置,进而进行寻路或是策略选择等。
图7是根据本发明实施例的一种像素筛选在血条识别上的场景的示意图。如图7所示,在整张图中筛选出符合血条图像像素点的RGB各通道数值的像素点,根据像素点可以找到血条的位置。
上述方法以像素为处理单元,该实施例还可以以像素组成的子图像块作为处理单元,可以应用在可以模板匹配的图像识别方法上,可以确定技能按键是否可用、当前游戏的状态为成功或是失败等游戏数据,其中,子图像的大小不应该超过原始输入图像的大小。下面对该实施例的模板匹配的图像识别方法进行介绍。
在该实施例中,模板匹配的思想是在一幅图像中寻找与另一幅模板图像最匹配部分。
图8是根据本发明实施例的一种模板匹配方法的流程图。如图8所示,该方法包括以下步骤:
步骤S801,从原图像的左上角开始,从左向右,从上到下,采用滑动窗口的方式,依次去计算模板图像和窗口子图像的相似度。
步骤S802,将相似结果存在结果矩阵中。
步骤S803,在结果矩阵中找到最佳匹配值。
在该实施例中,如果模板图像和窗口子图像越相似,则相似度的值越大,将结果矩阵中最亮的部分对应的模板图像和窗口子图像为最佳匹配。
图9是根据本发明实施例的一种模板匹配的示意图。如图9所示,在一幅图像A中寻找与另一幅模板图像B最匹配部分,从图像A的左上角开始(箭头指示方向),从左向右,从上到下,可以步长为1获取图像A的窗口子图像,采用滑动窗口的方式,依次去计算模板图像B和图像A的窗口子图像的相似度。可以将模板图像B和每个窗口子图像的相似度存在一个结果矩阵中,在结果矩阵中将最大相似度对应的模板图像和窗口子图像,确定为最佳匹配。
在该实施例中,模板匹配的应用很多,该实施例可以就固定按钮的识别,提示信息的识别,卡住状态的检测这三个方面举例说明。
游戏主界面中,英雄的技能,装备,操作键等这些固定按钮一般都是在固定位置。图10是根据本发明实施例的一种固定按钮的识别的示意图。如图10所示,提取按键为可用状态时的按钮图标作为模板,在实时获取的游戏界面中检测是否有和模板的相似度大于目标阈值的按钮,如果检测到就说明当前这个按钮是可用的,如由左往右第一个图中的按钮是可用的,第二个图中的按钮是可以是不可用的。在游戏AI获取这些按键的信息后,即可采取相应的操作策略,比如,释放技能、购买装备等。
图11是根据本发明实施例的一种游戏提示信息的示意图。如图11所示,在游戏界面中固定位置出现一些提示信息,比如,显示的路线指示信息(移动)、时间(00:23)、游戏结束状态(战斗失败/战斗胜利)、游戏运行状态(开始)游戏等。
该实施例可以先采集这些提示信息出现的位置,以及这些提示图标模板,在游戏实时运行过程中,在出现的位置处,实时匹配是否和采集的图标模板相匹配,如果匹配到了,说明在当前游戏界面中出现了此提示信息。比如,如果匹配到游戏成功图标,则在此局中的AI策略应该给予奖励,相反,应该给予惩罚等。
由于游戏中可能会出现空气墙,或者是寻路等不同场景。该实施例可以根据前后帧,或者是间隔一段时间的帧图像像素点是否相同或是相似来判断当前游戏界面是否卡住。如果相似度比较高,该实施例将卡住状态信息发送给游戏AI,游戏AI可以采取一定的策略来摆脱这种困境,比如,通过随机走动来摆脱这种困境。
下面对该实施例的基于CNN的图像处理方法进行介绍。
在该实施例中,随着网络结构加深,卷积功能的加强,以及图像处理器和大数据带来的历史机遇,CNN不仅用于分类,还可以用来对物体检测,也即,CNN的最后一层由原来的输出物体的类别,到输出物体在图像中的位置和在此位置处的物体的类别。可选地,基于CNN由原图像得到特征图像,在特征图像上定位出目标物的位置和类别,CNN网络的输出即是目标物的位置和类别。
在分类方面上,该实施例可以用于游戏界面中的数字分类,通过数字分类得到游戏中的数字信息,可以作为游戏AI的训练数据;在检测方面上,可以用于游戏界面中的可变物体,比如,英雄上方的血条会随着英雄位置走动而变化位置,血量会随着游戏状态的不同而增减,英雄的身体姿态会随着做不同的动作而发生变化等。在基于CNN检测出可变物体的位置后,可以确定当前游戏界面的游戏元素信息,比如,确定英雄周围的敌方单位的个数、己方单位的个数、周围小兵的个数等游戏信息。
该实施例的基于CNN的分类方法可以是Lenet网络,图12是根据本发明实施例的一种Lenet网络的示意图。如图12所示,该Lenet网络采用两层卷积、两层池化层、两层全连接层和最后一层Softmax层组成。其中,Lenet网络可以通过卷积操作提取图像特征,可以通过池化操作减少网络的参数,在减小计算量的同时,还可以达到了防止过拟合的效果。通过全连接层进一步提取特征,Softmax层以全连接层的输出为输入,计算属于每个数字或字母类别的概率,取其中概率值最大的那个类别为目标类别。
需要说明的是,该实施例的CNN网络在训练时的输入是原图像,模型的层数是不固定的,上一层的输出是下一层的输入,但是也不是绝对的。
该实施例可以采用折中速度和准确度的算法YOLOV3,并基于工程的图像特征,基于减少网络层个数和减少特征图个数两个方向去优化网络,近一步优化网络速度。可选地,减少网络层的层数,减少特征图像的个数,这两种方法都可以使计算量减小,从而达到优化网络速度的目的。
可选地,该实施例在通过Lenet网络识别数字时,输入是数字图像,输出的是数字图像的类别。
图13是根据本发明实施例的一种数字识别方法的流程图。如图13所示,该方法包括以下步骤:
步骤S131,获取全数字图像。
步骤S132,对全数字图像进行分割。
在获取全数字图像之后,可以先对全数字图像进行分割,分割成一个一个独立的数字图像。
步骤S133,对独立的数字图像进行分类。
该实施例可以通过Lenet网络对每一个数字图像进行预测,输出的数字图像类别即为识别出的数字。
步骤S134,对全数字进行组装,得到全数字识别结果。
步骤S135,输出全数字识别结果。
游戏中的数字图像通常有很多,图14是根据本发明实施例的一种游戏中的数字图像的示意图。如图14所示,数字图像可以是关卡数(第2关、第5关)、得分数(1280)、倒计时数(57)等,该实施例可以基于上述CNN的方法对数字进行识别。
图15是根据本发明实施例的一种数字识别的效果的示意图。如图15所示,对全数字图像1280进行分割,分割成一个一个独立的数字图像1、数字图像2、数字图像8、数字图像0,通过Lenet网络对每一个数字图像进行预测,输出的数字图像类别即为识别出的数字,即数字1、数字2、数字8、数字0,对数字1、数字2、数字8、数字0进行组装,得到全数字识别结果1280。
该实施例可以基于yolov3模型,对游戏中血条进行检测。
图16A是根据本发明实施例的一种游戏场景中的截屏示意图。如图所示,对终端上显示的游戏画面进行截屏,得到截屏画面,此处对截屏画面的具体内容不做任何限定。
图16B是根据本发明实施例的一种在游戏场景中检测血条的示意图。如图16B所示,英雄上方的血条会随着英雄位置走动而变化位置,血量会随着游戏状态不同而增减,通过上述CNN可以检测出红血条、绿血条、蓝血条在目标场景中的位置,其中,蓝血条可以是两个。
图17A是根据本发明实施例的一种对游戏人物进行检测的示意图。如图17A所示,基于CNN检测出物体的位置后,可知道当前游戏界面的英雄人物的位置为矩形指示框所指示的位置,比如,为1个位置。
图17B是根据本发明实施例的另一种对游戏人物进行检测的示意图。如图17B所示,基于CNN检测出物体的位置后,可知道当前游戏界面的人形怪的位置为矩形指示框所指示的位置,比如,为三个位置。
图17C是根据本发明实施例的另一种对游戏人物进行检测的示意图。如图17C所示,基于CNN的图像处理方法,检测游戏界面中的可变物体,比如,英雄上方的血条会随着英雄位置走动而变化位置,血量会随着游戏状态不同而增减;英雄的身体姿态会随着做不同的动作而发生变化等。基于CNN检测出物体的位置后,可以确定当前游戏界面的游戏元素信息,比如,英雄周围的敌方英雄的个数和位置、己方英雄的个数和位置、敌方小兵的个数和位置、己方小兵的个数和位置、敌方塔的个数和位置,还可以检测出自己英雄的等级为5、血量百分比为60等游戏信息。
该实施例采用基于图像处理的方案为游戏AI提供游戏内数据,游戏AI根据提供的游戏数据进行一系列的逻辑处理或是训练,输出针对当前图像较好的执行动作,可以通过AI进程根据接收到的游戏数据进行不同的策略选择,输出需要执行的动作决策,并通过ADB命令把执行动作作用于手机端,达到模拟游戏玩家的操作的目的。其中,获取游戏数据,不需要游戏开发者提供额外的接口,对第三方使用者来说是比较友好的,通过ADB在终端上进行截图,通过图像处理进程获取所需要的游戏数据,提供给第三方开发AI的用户使用,解决了无游戏数据内部接口的问题,并且该实施例提取图像中的数据信息,而不是直接把原图像作为深度神经网络的输入,解决了因为场景不同,原输始入图像不同,造成因原始输入图像不同,导致网络模型不通用的问题,从而提高了对游戏场景中的虚拟对象进行控制的效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例的另一方面,还提供了一种用于实施上述虚拟对象的控制方法的虚拟对象的控制装置。图18是根据本发明实施例的一种虚拟对象的控制装置的示意图。如图18所示,该虚拟对象的控制装置180可以包括:获取单元10、提取单元20、确定单元30和发送单元40。
获取单元10,用于获取客户端在运行目标场景时所显示的目标图像。
提取单元20,用于从目标图像中提取出目标图像特征。
确定单元30,用于通过目标图像特征确定目标场景的目标场景信息。
发送单元40,用于向客户端发送与目标场景信息相匹配的目标操作信息,其中,目标操作信息用于指示与目标场景中的第一虚拟对象相关联的目标操作,第一虚拟对象由模拟对象进行控制,模拟对象用于模拟现实场景中的对第一虚拟对象进行控制的对象。
在该实施例中,实现了一种对虚拟对象进行控制的通用的方法,获取目标场景的目标图像,根据目标图像的目标图像特征确定目标场景信息,不需要游戏开发者提供额外的接口来获取数据,因而,对第三方使用者来说是比较友好的,通过目标场景信息确定模拟对象在对虚拟对象进行控制时所需要的操作信息,进而将该操作信息发送至客户端,而不是直接将目标图像整体作为深度神经网络模型的输入,避免了由于场景不同,输入图像不同,使得网络模型不通用的问题,而不受数据接口以及场景限制,从而达到了提高对虚拟对象进行控制的效率的技术效果,进而解决了相关技术对虚拟对象进行控制的效率低的技术问题。
需要说明的是,该实施例中的获取单元10可以用于执行本申请实施例中的步骤S202,该实施例中的提取单元20可以用于执行本申请实施例中的步骤S204,该实施例中的确定单元30可以用于执行本申请实施例中的步骤S206,该实施例中的发送单元40可以用于执行本申请实施例中的步骤S208。
此处需要说明的是,上述单元与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述单元作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本发明实施例的又一方面,还提供了一种用于实施上述虚拟对象的控制方法的电子装置。
图19是根据本发明实施例的一种电子装置的结构框图。如图19所示,该电子装置包括存储器192和处理器194,该存储器中存储有计算机程序,该处理器被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器194可以被设置为通过计算机程序执行以下步骤:
S1,获取客户端在运行目标场景时所显示的目标图像;
S2,从目标图像中提取出目标图像特征;
S3,通过目标图像特征确定目标场景的目标场景信息;
S4,向客户端发送与目标场景信息相匹配的目标操作信息,其中,目标操作信息用于指示与目标场景中的第一虚拟对象相关联的目标操作,第一虚拟对象由模拟对象进行控制,模拟对象用于模拟现实场景中的对第一虚拟对象进行控制的对象。
可选地,本领域普通技术人员可以理解,图19所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图19其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图19中所示更多或者更少的组件(如网络接口等),或者具有与图19所示不同的配置。
其中,存储器192可用于存储软件程序以及模块,如本发明实施例中的虚拟对象的控制方法和装置对应的程序指令/模块,处理器194通过运行存储在存储器192内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的虚拟对象的控制方法。存储器192可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器192可进一步包括相对于处理器194远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器192具体可以但不限于用于存储提取的在运行目标场景时所显示的目标图像、目标图像特征、目标场景信息、目标操作信息等信息。作为一种示例,如图19所示,上述存储器192中可以但不限于包括上述虚拟对象的控制装置180中的获取单元10、提取单元20、确定单元30和发送单元40。此外,还可以包括但不限于上述虚拟对象的控制装置中的其它单元,本示例中不再赘述。
上述的传输装置196用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置196包括一个网络适配器(NetworkInterface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置196为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器198,用于显示上述客户端在运行目标场景时所显示的目标图像;连接总线200,用于连接上述电子装置中的各个模块部件。
根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取客户端在运行目标场景时所显示的目标图像;
S2,从目标图像中提取出目标图像特征;
S3,通过目标图像特征确定目标场景的目标场景信息;
S4,向客户端发送与目标场景信息相匹配的目标操作信息,其中,目标操作信息用于指示与目标场景中的第一虚拟对象相关联的目标操作,第一虚拟对象由模拟对象进行控制,模拟对象用于模拟现实场景中的对第一虚拟对象进行控制的对象。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,从目标图像中提取出目标像素点,其中,目标图像特征包括目标像素点,目标像素点用于指示目标场景中的目标颜色;和/或
S2,从目标图像中提取出目标属性特征,其中,目标图像特征包括目标属性特征,目标属性特征用于指示目标场景中的对象的属性。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤至少之一的计算机程序:
S1,从目标图像中提取出颜色值在第一颜色值范围内的第一目标像素点,其中,目标像素点包括第一目标像素点,第一目标像素点与第一虚拟对象相关联;
S2,从目标图像中提取出颜色值在第二颜色值范围内的第二目标像素点,其中,目标像素点包括第二目标像素点,第二目标像素点与第二虚拟对象相关联,第二虚拟对象与第一虚拟对象进行对战操作;
S3,从目标图像中提取出颜色值在第三颜色值范围内的第三目标像素点,其中,目标像素点包括第三目标像素点,第三目标像素点与第三虚拟对象相关联,第三虚拟对象和第一虚拟对象共同与第一虚拟对象进行对战操作。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤至少之一的计算机程序:
S1,在目标像素点为第一目标像素点的情况下,通过第一目标像素点确定第一虚拟对象在目标场景中的第一位置属性和/或第一操作属性,其中,第一操作属性用于指示第一虚拟对象在目标场景中的操作能力,目标场景信息包括第一位置属性和/或第一操作属性;
S2,在目标像素点为第二目标像素点的情况下,通过第二目标像素点确定第二虚拟对象在目标场景中的第二位置属性和/或第二操作属性,其中,第二操作属性用于指示第二虚拟对象在目标场景中的操作能力,目标场景信息包括第二位置属性和/或第二操作属性;
S3,在目标像素点为第三目标像素点的情况下,通过第三目标像素点确定第三虚拟对象在目标场景中的第三位置属性和/或第三操作属性,其中,第三操作属性用于指示第三虚拟对象在目标场景中的操作能力,目标场景信息包括第三位置属性和/或第三操作属性。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,从目标图像中提取出第四目标像素点,其中,第四目标像素点用于生成目标图像的子目标图像;
S2,从第一目标数据库中获取与子目标图像之间的相似度大于目标阈值的目标图像模板,其中,第一目标数据库用于存储多个图像模板,每个图像模板用于指示目标场景的一种运行状态;
S3,将与目标图像模板对应的目标场景的状态,确定为目标场景信息。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下至少之一步骤的计算机程序:
S1,从第一目标数据库中获取与第一子目标图像之间的相似度大于目标阈值的第一目标图像模板,其中,目标图像模板包括第一目标图像模板,第一目标图像模板用于指示目标场景中处于目标功能状态的目标按钮;
S2,从第一目标数据库中获取与第二子目标图像之间的相似度大于目标阈值的第二目标图像模板,其中,目标图像模板包括第二目标图像模板,第二目标图像模板用于指示目标场景中出现的目标提示信息,目标提示信息用于提示目标场景处于目标类型的状态;
S3,从第一目标数据库中获取与第三子目标图像之间的相似度大于目标阈值的第三目标图像模板,其中,目标图像模板包括第三目标图像模板,第三目标图像模板用于指示第三子目标图像的前一帧图像或者与第三子目标图像间隔目标时间段的图像。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在目标图像模板为第一目标图像模板的情况下,将目标功能状态确定为目标场景信息;
S2,在目标图像模板为第二目标图像模板的情况下,将目标类型的状态确定为目标场景信息;
S3,在目标图像模板为第三目标图像模板的情况下,将卡顿状态确定为目标场景信息。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,从目标图像的符号图像中获取多个子符号图像;
S2,通过第一神经网络模型从每个子符号图像中识别出子符号对象,得到多个子符号对象,其中,第一神经网络模型通过符号图像样本和与符号图像样本对应的符号对象进行训练得到;
S3,组合多个子符号对象,得到目标符号对象,其中,对象包括目标符号对象;
S4,将目标符号对象的属性确定为目标属性特征。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,从目标图像中获取目标可变对象的图像,其中,对象包括目标可变对象,目标可变对象在目标场景中的位置是变化的;
S2,通过第二神经网络模型对目标可变对象的图像进行处理,得到目标可变对象的目标类别属性和目标可变对象在目标场景中的第二位置属性,其中,第二神经网络模型通过目标图像样本、与目标图像样本对应的类别属性和目标图像样本所指示的对象在目标场景中的位置属性进行训练得到;
S3,将目标类别属性和第二位置属性确定为目标属性特征。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在在得到目标可变对象的目标类别属性和目标可变对象在目标场景中的第二位置属性之后,将目标时刻第二位置属性对应的位置的数量,确定为目标可变对象的数量;
S2,将目标可变对象的数量确定为目标属性特征。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
通过第三神经网络模型对目标图像特征进行处理,得到目标场景信息,其中,第三神经网络模型通过图像特征样本和与图像特征样本对应的场景信息进行训练得到。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:在向客户端发送与目标场景信息相匹配的目标操作信息之前,通过目标场景信息在第二目标数据库中查找目标操作信息,其中,操作信息集合用于存储分别与多个场景信息相匹配的操作信息。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (15)

1.一种虚拟对象的控制方法,其特征在于,包括:
获取客户端在运行目标场景时所显示的目标图像;
从所述目标图像中提取出目标图像特征;
通过所述目标图像特征确定所述目标场景的目标场景信息;
向所述客户端发送与所述目标场景信息相匹配的目标操作信息,其中,所述目标操作信息用于指示与所述目标场景中的第一虚拟对象相关联的目标操作,所述第一虚拟对象由模拟对象进行控制,所述模拟对象用于模拟现实场景中的对所述第一虚拟对象进行控制的对象。
2.根据权利要求1所述的方法,其特征在于,从所述目标图像中提取出目标图像特征包括:
从所述目标图像中提取出目标像素点,其中,所述目标图像特征包括所述目标像素点;和/或
从所述目标图像中提取出目标属性特征,其中,所述目标图像特征包括所述目标属性特征,所述目标属性特征用于指示所述目标场景中的对象的属性。
3.根据权利要求2所述的方法,其特征在于,从所述目标图像中提取出目标像素点包括以下至少之一:
从所述目标图像中提取出颜色值在第一颜色值范围内的第一目标像素点,其中,所述目标像素点包括所述第一目标像素点,所述第一目标像素点与所述第一虚拟对象相关联;
从所述目标图像中提取出所述颜色值在第二颜色值范围内的第二目标像素点,其中,所述目标像素点包括所述第二目标像素点,所述第二目标像素点与第二虚拟对象相关联,所述第二虚拟对象与所述第一虚拟对象进行对战操作;
从所述目标图像中提取出所述颜色值在第三颜色值范围内的第三目标像素点,其中,所述目标像素点包括所述第三目标像素点,所述第三目标像素点与第三虚拟对象相关联,所述第三虚拟对象和所述第一虚拟对象共同与所述第一虚拟对象进行对战操作。
4.根据权利要求3所述的方法,其特征在于,通过所述目标图像特征确定所述目标场景的目标场景信息包括:
在所述目标像素点为所述第一目标像素点的情况下,通过所述第一目标像素点确定所述第一虚拟对象在所述目标场景中的第一位置属性和/或第一操作属性,其中,所述第一操作属性用于指示所述第一虚拟对象在所述目标场景中的操作能力,所述目标场景信息包括所述第一位置属性和/或第一操作属性;
在所述目标像素点为所述第二目标像素点的情况下,通过所述第二目标像素点确定所述第二虚拟对象在所述目标场景中的第二位置属性和/或第二操作属性,其中,所述第二操作属性用于指示所述第二虚拟对象在所述目标场景中的操作能力,所述目标场景信息包括所述第二位置属性和/或第二操作属性;
在所述目标像素点为所述第三目标像素点的情况下,通过所述第三目标像素点确定所述第三虚拟对象在所述目标场景中的第三位置属性和/或第三操作属性,其中,所述第三操作属性用于指示所述第三虚拟对象在所述目标场景中的操作能力,所述目标场景信息包括所述第三位置属性和/或第三操作属性。
5.根据权利要求2所述的方法,其特征在于,
从所述目标图像中提取出目标像素点包括:从所述目标图像中提取出第四目标像素点,其中,所述第四目标像素点用于生成所述目标图像的子目标图像;
通过所述目标图像特征确定所述目标场景的目标场景信息包括:从第一目标数据库中获取与所述子目标图像之间的相似度大于目标阈值的目标图像模板,其中,所述第一目标数据库用于存储多个图像模板,每个所述图像模板用于指示所述目标场景的一种运行状态;将与所述目标图像模板对应的所述目标场景的状态,确定为所述目标场景信息。
6.根据权利要求5所述的方法,其特征在于,从第一目标数据库中获取与所述子目标图像之间的相似度大于目标阈值的目标图像模板包括以下至少之一:
从所述第一目标数据库中获取与第一子目标图像之间的相似度大于目标阈值的第一目标图像模板,其中,目标图像模板包括所述第一目标图像模板,所述第一目标图像模板用于指示所述目标场景中处于目标功能状态的目标按钮;
从所述第一目标数据库中获取与第二子目标图像之间的相似度大于目标阈值的第二目标图像模板,其中,所述目标图像模板包括所述第二目标图像模板,所述第二目标图像模板用于指示所述目标场景中出现的目标提示信息,所述目标提示信息用于提示所述目标场景处于目标类型的状态;
从所述第一目标数据库中获取与第三子目标图像之间的相似度大于目标阈值的第三目标图像模板,其中,所述目标图像模板包括所述第三目标图像模板,所述第三目标图像模板用于指示所述第三子目标图像的前一帧图像或者与所述第三子目标图像间隔目标时间段的图像。
7.根据权利要求6所述的方法,其特征在于,将与所述目标图像模板对应的所述目标场景的状态,确定为所述目标场景信息包括:
在所述目标图像模板为所述第一目标图像模板的情况下,将所述目标功能状态确定为所述目标场景信息;
在所述目标图像模板为所述第二目标图像模板的情况下,所述目标类型的状态确定为所述目标场景信息;
在所述目标图像模板为所述第三目标图像模板的情况下,将卡顿状态确定为所述目标场景信息。
8.根据权利要求3所述的方法,其特征在于,从所述目标图像中提取出目标属性特征包括:
从所述目标图像的符号图像中获取多个子符号图像;
通过第一神经网络模型从每个所述子符号图像中识别出子符号对象,得到多个所述子符号对象,其中,所述第一神经网络模型通过符号图像样本和与所述符号图像样本对应的符号对象进行训练得到;
组合多个所述子符号对象,得到目标符号对象,其中,所述对象包括所述目标符号对象;
将所述目标符号对象的属性确定为所述目标属性特征。
9.根据权利要求3所述的方法,其特征在于,从所述目标图像中提取出目标属性特征包括:
从所述目标图像中获取目标可变对象的图像,其中,所述对象包括所述目标可变对象,所述目标可变对象在所述目标场景中的位置是变化的;
通过第二神经网络模型对所述目标可变对象的图像进行处理,得到所述目标可变对象的目标类别属性和所述目标可变对象在所述目标场景中的第二位置属性,其中,所述第二神经网络模型通过目标图像样本、与所述目标图像样本对应的类别属性和所述目标图像样本所指示的对象在所述目标场景中的位置属性进行训练得到;
将所述目标类别属性和所述第二位置属性确定为所述目标属性特征。
10.根据权利要求9所述的方法,其特征在于,在得到所述目标可变对象的目标类别属性和所述目标可变对象在所述目标场景中的第二位置属性之后,所述方法还包括:
将目标时刻所述第二位置属性对应的位置的数量,确定为所述目标可变对象的数量;
将所述目标可变对象的数量确定为所述目标属性特征。
11.根据权利要求1所述的方法,其特征在于,通过所述目标图像特征确定所述目标场景的目标场景信息包括:
通过第三神经网络模型对所述目标图像特征进行处理,得到所述目标场景信息,其中,所述第三神经网络模型通过图像特征样本和与所述图像特征样本对应的场景信息进行训练得到。
12.根据权利要求1至11中任意一项所述的方法,其特征在于,在向所述客户端发送与所述目标场景信息相匹配的目标操作信息之前,所述方法还包括:
通过所述目标场景信息在第二目标数据库中查找所述目标操作信息,其中,所述操作信息集合用于存储分别与多个场景信息相匹配的操作信息。
13.一种虚拟对象的控制装置,其特征在于,包括:
获取单元,用于获取客户端在运行目标场景时所显示的目标图像;
提取单元,用于从所述目标图像中提取出目标图像特征;
确定单元,用于通过所述目标图像特征确定所述目标场景的目标场景信息;
发送单元,用于向所述客户端发送与所述目标场景信息相匹配的目标操作信息,其中,所述目标操作信息用于指示与所述目标场景中的第一虚拟对象相关联的目标操作,所述第一虚拟对象由模拟对象进行控制,所述模拟对象用于模拟现实场景中的对所述第一虚拟对象进行控制的对象。
14.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至12任一项中所述的方法。
15.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至12任一项中所述的方法。
CN201910277222.0A 2019-04-08 2019-04-08 虚拟对象的控制方法、装置和电子装置 Active CN109999496B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910277222.0A CN109999496B (zh) 2019-04-08 2019-04-08 虚拟对象的控制方法、装置和电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910277222.0A CN109999496B (zh) 2019-04-08 2019-04-08 虚拟对象的控制方法、装置和电子装置

Publications (2)

Publication Number Publication Date
CN109999496A true CN109999496A (zh) 2019-07-12
CN109999496B CN109999496B (zh) 2023-03-14

Family

ID=67170275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910277222.0A Active CN109999496B (zh) 2019-04-08 2019-04-08 虚拟对象的控制方法、装置和电子装置

Country Status (1)

Country Link
CN (1) CN109999496B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111185008A (zh) * 2020-01-20 2020-05-22 腾讯科技(深圳)有限公司 用于控制游戏中的虚拟角色的方法和设备
CN111282281A (zh) * 2020-01-22 2020-06-16 腾讯科技(深圳)有限公司 图像处理方法及装置、电子设备和计算机可读存储介质
CN112121419A (zh) * 2020-09-11 2020-12-25 腾讯科技(深圳)有限公司 虚拟对象控制方法、装置、电子设备以及存储介质
CN112380390A (zh) * 2020-08-31 2021-02-19 北京字节跳动网络技术有限公司 视频处理方法和装置
CN112492346A (zh) * 2019-09-12 2021-03-12 上海哔哩哔哩科技有限公司 确定游戏视频中精彩时刻的方法和游戏视频的播放方法
CN112494935A (zh) * 2020-12-14 2021-03-16 咪咕互动娱乐有限公司 一种云游戏平台池化方法、电子设备及存储介质
CN112742029A (zh) * 2020-04-15 2021-05-04 腾讯科技(深圳)有限公司 一种模拟操作的方法、游戏测试的方法以及相关装置
CN113101637A (zh) * 2021-04-19 2021-07-13 网易(杭州)网络有限公司 游戏中的场景记录方法、装置、设备及存储介质
CN113209622A (zh) * 2021-05-28 2021-08-06 北京字节跳动网络技术有限公司 动作的确定方法、装置、可读介质和电子设备
CN114327038A (zh) * 2021-11-19 2022-04-12 广州德纳智谷科技有限公司 一种基于人工智能技术的虚拟现实人机交互系统
CN116077924A (zh) * 2023-04-12 2023-05-09 深圳市智岩科技有限公司 游戏灯效控制方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108079579A (zh) * 2017-12-28 2018-05-29 珠海市君天电子科技有限公司 一种图像处理方法、装置以及终端
CN108126342A (zh) * 2017-12-28 2018-06-08 珠海市君天电子科技有限公司 一种信息处理方法、装置以及终端
CN108176049A (zh) * 2017-12-28 2018-06-19 珠海市君天电子科技有限公司 一种信息提示方法、装置、终端和计算机可读存储介质
CN108211359A (zh) * 2017-12-28 2018-06-29 珠海市君天电子科技有限公司 一种信息提示方法、装置、终端和计算机可读存储介质
CN109224444A (zh) * 2018-08-17 2019-01-18 深圳市商汤科技有限公司 游戏人物识别方法、装置、存储介质和电子设备
CN109445662A (zh) * 2018-11-08 2019-03-08 腾讯科技(深圳)有限公司 虚拟对象的操作控制方法、装置、电子设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108079579A (zh) * 2017-12-28 2018-05-29 珠海市君天电子科技有限公司 一种图像处理方法、装置以及终端
CN108126342A (zh) * 2017-12-28 2018-06-08 珠海市君天电子科技有限公司 一种信息处理方法、装置以及终端
CN108176049A (zh) * 2017-12-28 2018-06-19 珠海市君天电子科技有限公司 一种信息提示方法、装置、终端和计算机可读存储介质
CN108211359A (zh) * 2017-12-28 2018-06-29 珠海市君天电子科技有限公司 一种信息提示方法、装置、终端和计算机可读存储介质
CN109224444A (zh) * 2018-08-17 2019-01-18 深圳市商汤科技有限公司 游戏人物识别方法、装置、存储介质和电子设备
CN109445662A (zh) * 2018-11-08 2019-03-08 腾讯科技(深圳)有限公司 虚拟对象的操作控制方法、装置、电子设备及存储介质

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112492346A (zh) * 2019-09-12 2021-03-12 上海哔哩哔哩科技有限公司 确定游戏视频中精彩时刻的方法和游戏视频的播放方法
CN111185008B (zh) * 2020-01-20 2022-11-25 腾讯科技(深圳)有限公司 用于控制游戏中的虚拟角色的方法和设备
CN111185008A (zh) * 2020-01-20 2020-05-22 腾讯科技(深圳)有限公司 用于控制游戏中的虚拟角色的方法和设备
CN111282281A (zh) * 2020-01-22 2020-06-16 腾讯科技(深圳)有限公司 图像处理方法及装置、电子设备和计算机可读存储介质
CN111282281B (zh) * 2020-01-22 2021-07-13 腾讯科技(深圳)有限公司 图像处理方法及装置、电子设备和计算机可读存储介质
CN112742029A (zh) * 2020-04-15 2021-05-04 腾讯科技(深圳)有限公司 一种模拟操作的方法、游戏测试的方法以及相关装置
CN112380390A (zh) * 2020-08-31 2021-02-19 北京字节跳动网络技术有限公司 视频处理方法和装置
CN112121419A (zh) * 2020-09-11 2020-12-25 腾讯科技(深圳)有限公司 虚拟对象控制方法、装置、电子设备以及存储介质
CN112494935A (zh) * 2020-12-14 2021-03-16 咪咕互动娱乐有限公司 一种云游戏平台池化方法、电子设备及存储介质
CN112494935B (zh) * 2020-12-14 2023-10-17 咪咕互动娱乐有限公司 一种云游戏平台池化方法、电子设备及存储介质
CN113101637A (zh) * 2021-04-19 2021-07-13 网易(杭州)网络有限公司 游戏中的场景记录方法、装置、设备及存储介质
CN113209622A (zh) * 2021-05-28 2021-08-06 北京字节跳动网络技术有限公司 动作的确定方法、装置、可读介质和电子设备
CN114327038A (zh) * 2021-11-19 2022-04-12 广州德纳智谷科技有限公司 一种基于人工智能技术的虚拟现实人机交互系统
CN114327038B (zh) * 2021-11-19 2022-09-02 广州德纳智谷科技有限公司 一种基于人工智能技术的虚拟现实人机交互系统
CN116077924A (zh) * 2023-04-12 2023-05-09 深圳市智岩科技有限公司 游戏灯效控制方法、装置、设备及介质

Also Published As

Publication number Publication date
CN109999496B (zh) 2023-03-14

Similar Documents

Publication Publication Date Title
CN109999496A (zh) 虚拟对象的控制方法、装置和电子装置
CN109499068B (zh) 对象的控制方法和装置、存储介质、电子装置
CN109893857B (zh) 一种操作信息预测的方法、模型训练的方法及相关装置
CN106390456B (zh) 游戏中角色行为的生成方法和装置
CN106445701B (zh) 数据处理方法和装置
CN106422332B (zh) 应用于游戏的人工智能操作方法和装置
CN108090561A (zh) 存储介质、电子装置、游戏操作的执行方法和装置
CN110339569A (zh) 控制游戏场景中虚拟角色的方法及装置
Synnaeve et al. A dataset for StarCraft AI and an example of armies clustering
CN110052031A (zh) 玩家的模仿方法、装置及可读存储介质
US20180157974A1 (en) Data-driven ghosting using deep imitation learning
CN110152290A (zh) 游戏运行方法和装置、存储介质及电子装置
CN111841018B (zh) 模型训练方法、模型使用方法、计算机设备及存储介质
Kunanusont et al. General video game ai: Learning from screen capture
CN109718558B (zh) 游戏信息的确定方法和装置、存储介质、电子装置
Robles et al. A simple tree search method for playing Ms. Pac-Man
CN110163238A (zh) 一种信息预测的方法、模型训练的方法以及服务器
CN112827168B (zh) 一种目标跟踪的方法、装置及存储介质
KR102199466B1 (ko) 게임 환경 변경 방법
CN108211361A (zh) 资源获取概率的确定方法和装置、存储介质、电子装置
CN108619717A (zh) 操作对象的确定方法、装置、存储介质及电子装置
CN109453524A (zh) 一种对象匹配的方法、模型训练的方法及服务器
CN109960545A (zh) 虚拟对象控制方法、系统、装置、介质及电子设备
CN111191542B (zh) 虚拟场景中的异常动作识别方法、装置、介质及电子设备
CN113975812A (zh) 游戏图像的处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant