CN110227264A - 虚拟对象控制方法、装置、可读存储介质和计算机设备 - Google Patents
虚拟对象控制方法、装置、可读存储介质和计算机设备 Download PDFInfo
- Publication number
- CN110227264A CN110227264A CN201910492115.XA CN201910492115A CN110227264A CN 110227264 A CN110227264 A CN 110227264A CN 201910492115 A CN201910492115 A CN 201910492115A CN 110227264 A CN110227264 A CN 110227264A
- Authority
- CN
- China
- Prior art keywords
- frame image
- frame
- movement
- virtual object
- image
- 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
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及一种虚拟对象控制方法、装置、计算机可读存储介质和计算机设备,所述方法包括:获取虚拟场景对应的第一帧图像,其中,第一帧图像中包括目标虚拟对象;将第一帧图像输入至动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,其中,动作输出模型包括基于模仿学习的动作输出模型和基于强化学习的动作输出模型,基于模仿学习的动作输出模型是根据虚拟场景图像和动作训练得到的,第二帧是与第一帧相邻的下一帧;按照动作指示信息控制目标虚拟对象在虚拟场景中执行对应的动作。本申请提供的方案可以实现提高虚拟对象控制的准确性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种虚拟对象控制方法、装置、计算机可读存储介质和计算机设备。
背景技术
随着计算机技术的发展,在虚拟场景中,终端可使用脚本录制工具来录制测试人员在虚拟场景中的操作,然后在测试时回放该操作脚本以达到替代测试人员操控目标虚拟对象的目的。然而,目前的虚拟对象控制方法,当目标虚拟对象遇到其他随机出现的虚拟对象时,无法准确地控制目标虚拟对象。
发明内容
基于此,有必要针对当目标虚拟对象遇到其他随机出现的虚拟对象时,无法准确地控制目标虚拟对象的技术问题,提供一种虚拟对象控制方法、装置、计算机可读存储介质和计算机设备。
一种虚拟对象控制方法,包括:
获取虚拟场景对应的第一帧图像,其中,第一帧图像中包括目标虚拟对象;
将第一帧图像输入至动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,其中,动作输出模型包括基于模仿学习的动作输出模型和基于强化学习的动作输出模型,基于模仿学习的动作输出模型是根据虚拟场景图像和动作训练得到的,第二帧是与第一帧相邻的下一帧;
按照动作指示信息控制目标虚拟对象在虚拟场景中执行对应的动作。
一种虚拟对象控制装置,所述装置包括:
获取模块,用于获取虚拟场景对应的第一帧图像,其中,第一帧图像中包括目标虚拟对象;
输入模块,用于将第一帧图像输入至动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,其中,动作输出模型包括基于模仿学习的动作输出模型和基于强化学习的动作输出模型,基于模仿学习的动作输出模型是根据虚拟场景图像和动作训练得到的,第二帧是与第一帧相邻的下一帧;
控制模块,用于按照动作指示信息控制目标虚拟对象在虚拟场景中执行对应的动作。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
获取虚拟场景对应的第一帧图像,其中,第一帧图像中包括目标虚拟对象;
将第一帧图像输入至动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,其中,动作输出模型包括基于模仿学习的动作输出模型和基于强化学习的动作输出模型,基于模仿学习的动作输出模型是根据虚拟场景图像和动作训练得到的,第二帧是与第一帧相邻的下一帧;
按照动作指示信息控制目标虚拟对象在虚拟场景中执行对应的动作。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
获取虚拟场景对应的第一帧图像,其中,第一帧图像中包括目标虚拟对象;
将第一帧图像输入至动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,其中,动作输出模型包括基于模仿学习的动作输出模型和基于强化学习的动作输出模型,基于模仿学习的动作输出模型是根据虚拟场景图像和动作训练得到的,第二帧是与第一帧相邻的下一帧;
按照动作指示信息控制目标虚拟对象在虚拟场景中执行对应的动作。
上述虚拟对象控制方法、装置、计算机可读存储介质和计算机设备,通过获取虚拟场景对应的第一帧图像,其中,第一帧图像中包括目标虚拟对象,将第一帧图像输入至动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,其中,动作输出模型包括基于模仿学习的动作输出模型和基于强化学习的动作输出模型,按照动作指示信息控制目标虚拟对象在虚拟场景中执行对应的动作,当目标虚拟对象遇到其他随机出现的虚拟对象时,能够准确地得到目标虚拟对象的下一个动作,提高虚拟对象控制的准确性。
附图说明
图1为一个实施例中虚拟对象控制方法的流程示意图;
图2为一个实施例中将第一帧图像输入至动作输出模型中的流程示意图;
图3为一个实施例中基于模仿学习的动作输出模型的架构图;
图4为一个实施例中DQN算法的架构示意图;
图5(a)为一个实施例中DDPG算法中演员网络算法模型;
图5(b)为一个实施例中DDPG算法中评论家网络算法模型;
图6为一个实施例中第二帧图像对应的漏洞类型为贴图暗的界面示意图;
图7为一个实施例中第二帧图像对应的漏洞类型为贴图亮的界面示意图;
图8为一个实施例中第二帧图像对应的漏洞类型为贴图缺失的界面示意图;
图9为另一个实施例中第二帧图像对应的漏洞类型为贴图缺失的界面示意图;
图10为又一个实施例中第二帧图像对应的漏洞类型为贴图缺失的界面示意图;
图11为一个实施例中第二帧图像对应的漏洞区域的界面示意图;
图12为另一个实施例中第二帧图像对应的漏洞区域的界面示意图;
图13为又一个实施例中第二帧图像对应的漏洞区域的界面示意图;
图14为一个实施例中训练基于模仿学习的动作输出模型的流程示意图;
图15为一个实施例中动作信息的界面示意图;
图16为一个实施例中虚拟对象控制装置的结构框图;
图17为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,该虚拟对象控制方法可应用于漏洞检测系统。该漏洞检测系统包括第一终端和第二终端。第一终端和第二终端可通过USB(Universal Serial Bus,通用串行总线)端口相连接,也可以通过网络通信。其中USB端口可以是USB2.0,也可以是USB3.0等不限于此。连接方式可以是通过ADB(Android Debug Bridge,按照调试桥)协议进行连接。例如虚拟对象控制程序按照每秒30帧的采集速率,每帧图像为1280×720像素,目前USB2.0端口已经可以满足。第一终端中包含虚拟场景,虚拟对象控制程序可应用于第二终端。第一终端和第二终端具体均可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。
在一个实施例中,虚拟对象控制方法的应用环境可以包括第一终端和服务器。第一终端中包含虚拟场景,虚拟对象控制程序应用于服务器。其中,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,虚拟对象控制方法的应用环境可以仅包括终端。终端中包含虚拟场景以及虚拟对象控制程序。
在一个实施例中,如图1所示,提供了一种虚拟对象控制方法。本实施例主要以该方法仅应用于终端来举例说明。参照图1,该虚拟对象控制方法具体包括:
步骤102,获取虚拟场景对应的第一帧图像,其中,第一帧图像中包括目标虚拟对象。
其中,虚拟场景可用于模拟三维虚拟空间,也可以用于模拟二维虚拟空间。该虚拟场景可用于模拟现实中的真实环境。该虚拟场景中可以包括天空、陆地、海洋、建筑、山林等不限于此。虚拟场景可在应用程序中展示,例如游戏等。虚拟对象是指在虚拟场景中的用于代表用户的虚拟形象。该虚拟对象可以是任一种形态,例如人类或者其他动物等。目标虚拟对象是指可被虚拟对象控制程序控制的虚拟对象。第一帧图像中的“第一”不用于限制数量,仅用于限制时序。同理,第二帧图像中的“第二”也不用于限制数量,仅用于限制时序。
具体地,第一终端与第二终端相连接。当接收到触发指令时,终端开启虚拟场景对应的应用程序。虚拟对象控制程序实时获取虚拟场景对应的第一帧图像。其中,第一帧图像中包括目标虚拟对象和一部分虚拟场景。第一帧图像中还可以包括除了目标虚拟对象以外的第一虚拟对象。
本实施例中,虚拟对象控制程序为外置的程序,可应用于各类虚拟场景中,而不需要虚拟场景对应的开发人员提供额外的支持,具有可移植性。
步骤104,将第一帧图像输入至动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,其中,动作输出模型包括基于模仿学习的动作输出模型和基于强化学习的动作输出模型,基于模仿学习的动作输出模型是根据虚拟场景图像和动作训练得到的,第二帧是与第一帧相邻的下一帧。
其中,动作输出模型是用于预测目标虚拟对象的下一步动作的机器学习模型。动作输出模型可模拟用户控制目标虚拟对象时的操作,可用于遍历虚拟场景。动作输出模型可以包括基于模仿学习的动作输出模型和基于强化学习的动作输出模型。模仿学习是一种监督学习,用于模仿用户在虚拟场景中的动作等。基于模仿学习的预测模型可根据虚拟场景样本图像和目标虚拟对象的样本动作训练而成的。强度学习是一种机器的自主学习方式。基于强化学习的动作输出模型可不通过样本进行训练,仅通过训练目标和对应的反馈值学习得到。
目标虚拟对象的动作指示信息是指目标虚拟对象所做的动作包含的信息。以射击类游戏为例,目标虚拟对象可在虚拟场景中进行跳伞、滑翔、走路、跑步、跳起、爬行、射击等动作,这些动作所包含的信息为虚拟对象的动作指示信息。第二帧对应的目标虚拟对象的动作指示信息是指目标虚拟对象将在第二帧时所做的动作包含的信息。
具体地,虚拟对象控制程序将第一帧图像输入至动作输出模型中,动作输出模型提取第一帧图像中的特征进行处理,得到目标虚拟对象在第二帧对应的动作指示信息。
例如,第一帧图像为目标虚拟对象面前有障碍物,则将第一帧图像输入至动作输出模型中,得到的第二帧对应的目标虚拟对象的动作指示信息为身体逆时针转动45度等。
步骤106,按照动作指示信息控制目标虚拟对象在虚拟场景中执行对应的动作。
具体地,动作输出模型预测得到目标虚拟对象在第二帧时的动作指示信息。虚拟对象控制程序按照动作指示信息,控制目标虚拟对象在虚拟场景中执行该动作指示信息对应的动作。
例如,第二帧对应的目标虚拟对象的动作指示信息为逆时针转动45度行走,那么虚拟对象控制程序按照动作指示信息,控制目标虚对象在第二帧内执行完身体逆时针转动45度的动作。
上述虚拟对象控制方法,通过获取虚拟场景对应的第一帧图像,其中,第一帧图像中包括目标虚拟对象,将第一帧图像输入至动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,按照动作指示信息控制目标虚拟对象在虚拟场景中执行对应的动作,可以通过动作输出模型实现自动化运行虚拟场景,当目标虚拟对象遇到其他随机出现的虚拟对象时,通过基于强化学习的动作输出模型可以实现自动躲避,且能够准确地得到目标虚拟对象的下一个动作,提高虚拟对象控制的准确性,同时不需要虚拟场景对应的开发方提供虚拟场景数据或操控接口,可移植到其他虚拟场景中进行使用,且不会影响虚拟场景中的其他使用者对虚拟对象的操控。
在一个实施例中,以该虚拟对象控制方法应用于包括第一终端和第二终端的系统,或者应用于包括第一终端和服务器的系统进行说明。其中,虚拟对象控制程序应用于第二终端或者应用于服务器中。该虚拟对象控制方法包括:虚拟对象控制程序从第一终端获取虚拟场景对应的第一帧图像,其中,第一帧图像中包括目标虚拟对象。虚拟对象控制程序将第一帧图像输入至动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,其中,动作输出模型包括基于模仿学习的动作输出模型和基于强化学习的动作输出模型,基于模仿学习的动作输出模型是根据虚拟场景样本图像和样本动作训练得到的,第二帧是与第一帧相邻的下一帧,该目标虚拟对象的动作指示信息用于指示第一终端按照该动作指示信息控制目标虚拟对象在虚拟场景中执行对应的动作。其中,第一终端与第二终端之间或终端与服务器之间传输图像可能会存在延迟,该传输之间的延迟与用户通过第一终端控制虚拟对象进行操作的延迟在误差范围内,故通过第一终端和第二终端之间的传输不会影响控制性能。
上述虚拟对象控制方法,通过从第一终端获取虚拟场景对应的第一帧图像。将第一帧图像输入至动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,该目标虚拟对象的动作指示信息用于指示第一终端按照该动作指示信息控制目标虚拟对象在虚拟场景中执行对应的动作,可以通过动作输出模型实现自动化运行虚拟场景,当目标虚拟对象遇到其他随机出现的虚拟对象时,通过基于模仿学习的动作输出模型可以实现自动躲避,能够准确地预测下一个动作,提高虚拟对象控制的准确性,同时不需要虚拟场景对应的开发方提供虚拟场景数据或操控接口,可移植到其他虚拟场景中进行使用,且不会影响虚拟场景中的其他使用者对虚拟对象的操控。
在一个实施例中,将第一帧图像输入至动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,包括:
当未检测到第一帧图像中存在除目标虚拟对象以外的第一虚拟对象时,将第一帧图像输入至基于模仿学习的动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息;
当检测到第一帧图像中存在除目标虚拟对象以外的第一虚拟对象时,将第一帧图像输入至基于强化学习的动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息。
其中,第一虚拟对象可以是随机出现的虚拟对象。例如随机障碍物、其他游戏角色等。由于在对虚拟场景进行测试时,并不需要目标虚拟对象在虚拟场景内杀死尽量多的其他虚拟对象,而是要求目标虚拟对象能够走到虚拟场景的地图中各个角落,因此采用模仿学习的方式。基于模拟学习的动作输出模型需要样本的标注数据,例如对应的动作样本等进行训练。
强度学习是一种机器的自主学习方式。强化学习的使用方式可以采用无标记的样本,通过输出反馈值来调整模型的参数。强化学习也可以不通过样本进行训练,而是让计算机实现在完全随机的操作中,通过不断地尝试,从错误中学习,最后找到规律,达到目标。例如,基于强化学习的目标是攻击第一虚拟对象,那么可以设置为击杀第一虚拟对象得到反馈值为1,被第一虚拟对象击杀得到的反馈值为0。基于强化学习的动作输出模型可用于当检测到第一帧图像中存在除目标虚拟对象以外的第一虚拟对象时,输出对应的动作,以此躲避或者攻击第一虚拟对象等。其中第一虚拟对象可以是与目标虚拟对象敌对的或者不在同一队伍中的虚拟对象。例如目标虚拟对象所在的队伍是第一队,第一虚拟形象所在的队伍是第二队,则当检测到第二帧图像中包含第一虚拟对象时,目标虚拟对象需要躲避。
具体地,如图2所示,为一个实施例中将第一帧图像输入至动作输出模型中的流程示意图。
步骤202,获取虚拟场景对应的第一帧图像。
步骤204,检测虚拟场景对应的第一帧图像中是否存在除目标虚拟对象之外的第一虚拟对象。
步骤206,当虚拟对象控制程序检测到第一帧图像中存在除目标虚拟对象以外的至少一个第一虚拟对象时,将第一帧图像输入至基于强化学习的动作输出模型中。
本实施例中,由于第一虚拟对象对应的动作情况较多,随机性强,故要训练如何躲避第一虚拟对象时需要收集大量样本进行模仿学习的训练,且训练效果可能不佳。因此当检测到第一帧图像中存在第一虚拟对象时,将第一帧图像输入至基于强化学习的动作输出模型中,使用基于强化学习的动作输出模型在进行模型使用的同时也能进行模型的自主训练。
步骤208,当检测到该第一帧图像中不存在除目标虚拟对象之外的第一虚拟对象时,将该第一帧图像输入至基于模仿学习的动作输出模型中。
其中,基于模仿学习的动作输出模型可得到动作指示信息对应的概率,并从中选择概率最高的动作指示信息作为输出。
本实施例中,如图3所示,为一个实施例中基于模仿学习的动作输出模型的架构图。基于模仿学习的动作输出模型是一个卷积神经网络,其中包括6层卷积层、3层全连接层和1层softmax函数。Softmax函数可输出6个动作。例如,左转、右转、向前移动、向后移动、向左移动和向右移动。输入的图像像素为320×180,3为神经网络中的通道标识。卷积核为图像处理时,给定输入图像,在输出图像中每一个像素是输入图像中一个小区域中像素的加权平均,其中权值由一个函数定义,这个函数称为卷积核。跨度可用于实现图像降维。“卷积层:32”中的32为卷积层的参数。“全连接层:1024”中的1024为全连接层的参数。
上述虚拟对象控制方法,当未检测到第一帧图像中存在第一虚拟对象时,将第一帧图像输入至基于模仿学习的动作输出模型中;当检测到第一帧图像中存在第一虚拟对象时,将第一帧图像输入至基于强化学习的动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,通过基于强化学习的动作输出模型实现自动躲避,能够准确地预测下一个动作,提高虚拟对象控制的准确性,且能够根据不同的情况选择不同模型,提高动作预测的精确度。
在一个实施例中,当检测到第一帧图像中存在除目标虚拟对象以外的第一虚拟对象时,将第一帧图像输入至基于模仿学习的动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,其中,第二帧是与第一帧相邻的下一帧,包括:
当检测到第一帧图像中存在除目标虚拟对象以外的第一虚拟对象时,获取连续至少两个第一帧中每一帧对应的图像,将至少两个第一帧中每一帧对应的图像输入至基于强化学习的动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,其中,第二帧是与至少两个第一帧中最后一帧相邻的下一帧,动作指示信息包括转动方向信息、移动方向信息、移动速度信息中至少一种。
其中,第二帧是与至少两个第一帧中最后一帧相邻的下一帧。例如虚拟对象控制程序获取了8个第一帧图像,那么第二帧图像相当于第9帧图像。虚拟对象控制程序可获取第2至9帧图像,第2至9帧图像相当于8个第一帧图像,得到第10帧图像,第10帧图像相当于第二帧图像。转动方向信息具体可以是转动角度,也可以是转动值等不限于此。移动方向信息具体可以是移动方向角度,也可以是移动值,例如移动值为1时,对应的移动角度为10度等。移动速度信息也可以是移动力度值,例如移动力度为0至1,对应的速度为0至10米每秒等。
基于强化学习的动作输出模型具体可以是通过DQN(Deep Q-Learning,深度学习)算法或者DDPG(Deep Deterministic Policy Gradient,深度确定性策略梯度)算法等得到的。如图4所示,为一个实施例中DQN算法的架构示意图。输入图像像素为176×108×1,经过3层卷积层和2个全连接层,最后输出6种动作的概率。例如向前走、向后走、向左走、向右走、向左转和向右转等。
DDPG算法是基于Actor-Critic(演员-评论家)网络的算法。因此DDPG算法包含两个网络模型,分别是演员网络模型和评论家网络模型。如图5(a)所示,为一个实施例中DDPG算法中演员网络算法模型。演员网络算法模型的输入为每帧图像提取41维特征,共提取8帧图像。这41维特征包括:目标虚拟形象所在阵营、第一地图中虚拟形象和队友的位置信息、第二地图中敌人和队友的位置信息、目标虚拟形象的视角、目标虚拟形象的血量、目标虚拟形象的弹药、目标虚拟形象的击杀数量(state是状态)。模型中还包括两个全连接层,其中全连接层1中包括300个节点,全连接层2中包括600个节点。根据虚拟场景,需要输出3种动作,分别是左右转动视角(Rotate)、移动的方向(Direction)和移动的速度(Speed),最终将这3个动作合并在一起作为3维的向量输出。Tanh和Sigmoid均为函数名。即可通过Tanh函数计算得到转动视角,Sigmoid函数计算得到移动方向,Sigmoid函数计算得到移动速度。例如DDPG因为可以输出连续的动作,所以我们可以把前后左右移动方向转化为移动的角度0~360度、移动的力度0~1两个变量来表示。其中以0度作为前进方向,计算逆时针移动的角度,转向也使用一个转动的视角-90度~90度来表示。那么,演员网络输出这三个值后,我们可以转换成移动的方向和转向的方向。例如网络输出90度,0.5,45度,则表示执行的动作是向90度方向也称向左移动,移动力度是0.5,向左转45度。
如图5(b)所示,为一个实施例中DDPG算法中评论家网络算法模型。评论家网络算法模型的输入有两部分,一部分是与演员网络模型中相同的虚拟场景状态,另一部分是演员模型输出的三维动作向量。提取8帧图像中每帧图像的41维特征,输入至具有300个节点的全连接层1,再输入至具有600个节点的全连接层2;将演员模型输出的三维动作向量输入至具有600个节点的全连接层2,将二者的特征进行融合,再输入至全连接层1,最终输出对当前虚拟场景状态和动作的评价值,为一个标量。其中,全连接层的300个节点的值与一个权重矩阵相乘则得到一个浮点值,该浮点值即为评价值。输出的意义在于在虚拟场景的某一帧图像下,演员模型输出了动作,评论家模型输出一个值用于评论演员模型输出的动作的好坏。
上述虚拟对象控制方法,当检测到第一帧图像中存在除目标虚拟对象以外的第一虚拟对象时,获取连续至少两个第一帧中每一帧对应的图像,将至少两个第一帧中每一帧对应的图像输入至基于强化学习的动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,不需要通过样本进行训练,能够实现模型的自主学习,从而得到对应的动作指示信息,能够准确地预测下一个动作,提高虚拟对象控制的准确性。
在一个实施例中,在按照动作指示信息控制目标虚拟对象在虚拟场景中执行对应的动作之后,该虚拟对象控制方法还包括:获取虚拟场景对应的第二帧图像;当检测到第二帧图像存在漏洞时,记录第二帧图像。
其中,第二帧图像存在的漏洞可包括虚拟场景对应的界面展示漏洞。漏洞还可以包括虚拟场景对应的界面卡顿漏洞。
具体地,虚拟对象控制程序按照动作指示信息控制目标虚拟对象执行对应的动作之后,得到虚拟场景对应的第二帧图像。虚拟对象控制程序可通过像素点的颜色值或者漏洞检测模型等检测第二帧图像存在的漏洞。当虚拟对象控制程序检测到第二帧图像存在漏洞时,把第二帧图像保存为图片并记录。
例如,第二帧对应的目标虚拟对象的动作指示信息为逆时针转动45度行走,那么漏洞检测程序虚拟对象控制程序按照动作指示信息,控制目标虚对象在第二帧内执行完身体逆时针转动45度的动作,漏洞检测程序虚拟对象控制程序截图得到虚拟场景对应的第二帧图像。且第二帧图像中目标虚拟对象的状态为身体逆时针45度的状态。
本实施例中,当检测到第二帧图像存在漏洞时,虚拟对象控制程序可标注该第二帧图像中存在漏洞的区域,并记录包含标注的第二帧图像。
本实施例中,当检测到第二帧图像存在漏洞时,虚拟对象控制程序可标注该第二帧图像存在的漏洞类型,并记录包含标注的第二帧图像。
本实施例中,当检测到第二帧图像不存在漏洞时,虚拟对象控制程序不记录第二帧图像。
本实施例中,当虚拟对象控制程序检测到第二帧图像存在漏洞时,记录第二帧图像。那么,该第二帧图像相当于步骤102中的第一帧图像,则虚拟对象控制程序再将第二帧图像输入至动作输出模型中,得到第三帧对应的目标虚拟对象的动作指示信息,其中,第三帧是与第二帧相邻的下一帧,第三帧也是步骤104中的“第二帧”。虚拟对象控制程序按照动作指示信息控制目标虚拟动作在虚拟场景中执行对应的动作,得到虚拟场景对应的第三帧图像;当虚拟对象控制程序检测到第三帧图像中存在漏洞时,记录第三帧图像。上述漏洞检测方法虚拟对象控制方法可进行循环,直至游戏结束时,虚拟对象控制程序得到虚拟场景存在漏洞的图像。游戏结束具体可以是目标虚拟对象的血量为零或者达到游戏时间等。
上述虚拟对象控制方法,获取虚拟场景对应的第二帧图像,当检测到第二帧图像存在漏洞时,记录第二帧图像,可以自动化检测到虚拟场景中存在的漏洞,提高漏洞检测效率。
在一个实施例中,检测第二帧图像存在漏洞的方式,包括:获取第二帧图像中像素点的颜色值;当检测到像素点的颜色值小于或等于第一颜色阈值,且与像素点相邻的颜色值小于或等于第一颜色阈值的像素点数量大于或等于数量阈值时,确定第二帧图像对应的漏洞类型为贴图暗,贴图暗是指第二帧图像的亮度值小于第一预设亮度值;
当检测到像素点的颜色值大于或等于第二颜色阈值时,且与像素点相邻的颜色值大于或等于第二颜色阈值的像素点数量大于数量阈值时,确定第二帧图像对应的漏洞类型为贴图亮,贴图亮是指第二帧图像的亮度值大于第二预设亮度值;
当检测到像素点的颜色值在预设颜色值范围内,且与像素点相邻的颜色值在预设颜色值范围内的像素点的数量大于或等于数量阈值时,确定第二帧图像对应的漏洞类型为贴图缺失。
其中,第一颜色阈值是指RGB颜色阈值或HSL颜色阈值,用于表示RGB值或HSL值的上限值。例如第一颜色阈值为(10,10,10)。第二颜色阈值是指RGB颜色阈值或HSL颜色阈值,用于表示RGB值或HSL值的下限值。例如第二颜色阈值为(254,254,254)。数量阈值是指数量的下限值。亮度值具体可根据RGB值计算得到,也可以根据HSL中的L值得到。预设颜色值范围包括一个颜色值上限值和一个颜色值下限值。贴图缺失是指该图像中的贴图缺少纹理等。
具体地,当虚拟对象控制程序检测到像素点的颜色值小于或等于第一颜色阈值,且与该像素点相邻的像素点的颜色值也小于或等于第一颜色阈值,并且与像素点相邻的小于或等于第一颜色阈值的像素点的数量大于数量阈值时,确定第二帧图像对应的漏洞类型为贴图暗。例如,某一像素点的RGB值小于(10,10,10),该像素点周围也存在RGB值小于或等于(10,10,10)的像素点,且小于或等于(10,10,10)的像素点的数量大于数量阈值,则确定第二帧图像中出现贴图暗的漏洞。如图6所示,为一个实施例中第二帧图像对应的漏洞类型为贴图暗的界面示意图。图6中间的深黑色色块即为第二帧图像中的漏洞,且该漏洞中的像素点颜色值小于或等于颜色阈值,且小于或等于颜色阈值的像素点数量大于或等于数量阈值。
当虚拟对象控制程序检测到像素点的颜色值大于或等于第二颜色阈值,且与该像素点相邻的像素点的颜色值也大于或等于第二颜色阈值,并且与像素点相邻的大于或等于第二颜色阈值的像素点的数量大于数量阈值时,确定第二帧图像对应的漏洞类型为贴图亮。例如,某一像素点的RGB值大于或等于(254,254,254),该像素点周围也存在RGB值大于或等于(254,254,254)的像素点,且大于或等于(254,254,254)的像素点的数量大于数量阈值,则确定第二帧图像中出现贴图亮的漏洞。如图7所示,为一个实施例中第二帧图像对应的漏洞类型为贴图亮的界面示意图。图7中的背景几乎为纯白色,即为第二帧图像中的漏洞,且该漏洞中的像素点颜色值大于或等于颜色阈值,且大于或等于颜色阈值的像素点数量大于或等于数量阈值。
当虚拟对象控制程序检测到像素点的颜色值在预设颜色值范围内,且与该像素点相邻且颜色值在预设颜色值范围内的像素点的数量,该数量大于或等于数量阈值时,确定第二帧图像对应的漏洞类型为贴图缺失。如图8所示,为一个实施例中第二帧图像对应的漏洞类型为贴图缺失的界面示意图。如图9所示,为另一个实施例中第二帧图像对应的漏洞类型为贴图缺失的界面示意图。如图10所示,为又一个实施例中第二帧图像对应的漏洞类型为贴图缺失的界面示意图。图8、图9和图10中的漏洞的颜色值范围均在预设颜色值范围内,且在预设颜色值范围内的像素点的数量大于或等于数量阈值。
本实施例中,当检测到第二帧图像存在漏洞时,虚拟对象控制程序可以根据第二帧图像中的存在漏洞的区域边界,得到最小外接矩形框,并通过最小外接矩形框标注该第二帧图像中存在的漏洞。例如图9和图10中的矩形框。
上述虚拟对象控制方法,通过颜色阈值和满足颜色阈值的像素点数量这些条件,能检测到第二帧图像对应的漏洞类型,能够自动化检测漏洞,提高漏洞检测的准确性。
在一个实施例中,检测第二帧图像存在漏洞的方式,包括:获取第二帧图像中像素点的颜色值;根据第二帧图像中像素点的颜色值确定第二帧图像存在漏洞。
其中,颜色值具体可以是RGB值(Red Green Blue,红绿蓝)或者HSL(HueSaturation Lightness,色调、饱和度、亮度)值等不限于此。RGB模式是通过对红、绿、蓝三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色。HSL模式是通过对色相、饱和度、亮度三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色。第二帧图像存在的漏洞可以是与终端显示相关的漏洞。例如,第二帧图像存在的漏洞可以为图像不清晰、图像亮度小于预设亮度值、像素点缺失等不限于此。
具体地,虚拟对象控制程序遍历第二帧图像,并获取第二帧图像中每个像素点的颜色值。虚拟对象控制程序根据像素点的颜色值可以确定第二帧图像中存在的界面漏洞。
本实施例中,根据第二帧图像中像素点的颜色值确定第二帧图像存在漏洞,包括:当检测到像素点的颜色值小于或等于第一颜色阈值,且与像素点相邻的颜色值小于或等于第一颜色阈值的像素点数量大于或等于数量阈值时,确定第二帧图像对应的漏洞类型为贴图暗,贴图暗是指第二帧图像的亮度值小于第一预设亮度值;
当检测到像素点的颜色值大于或等于第二颜色阈值时,且与像素点相邻的颜色值大于或等于第二颜色阈值的像素点数量大于数量阈值时,确定第二帧图像对应的漏洞类型为贴图亮,贴图亮是指第二帧图像的亮度值大于第二预设亮度值;
当检测到像素点的颜色值在预设颜色值范围内,且与像素点相邻的颜色值在预设颜色值范围内的像素点的数量大于或等于数量阈值时,确定第二帧图像对应的漏洞类型为贴图缺失。
上述虚拟对象控制方法,获取第二帧图像中像素点的颜色值,根据第二帧图像中像素点的颜色值确定第二帧图像存在漏洞,可以得到第二帧图像中存在的界面漏洞,提高漏洞检测效率。
在一个实施例中,检测所述第二帧图像存在漏洞的方式,包括:将第二帧图像输入至漏洞检测模型中进行处理,得到第二帧图像中的错误纹理区域,其中,漏洞检测模型是根据包含错误纹理区域的虚拟场景图像训练得到的;将错误纹理区域作为第二帧图像对应的漏洞的区域。
其中,漏洞检测模型是用于检测图像中的漏洞的机器学习模型。漏洞检测模型具体可以使用YOLO神经网络算法训练而成。漏洞检测模型可通过采集虚拟场景中包含错误纹理的虚拟场景样本图像,并对该样本图像中的错误纹理区域进行标注,再将标注后的包含错误纹理的虚拟场景样本图像输入至初始漏洞检测模型进行训练,当满足迭代条件或者达到预设次数时,得到训练完成的漏洞检测模型。错误纹理是指图像中某一区域的纹理与周围其他区域的纹理不相符的纹理。
具体地,由于第二帧图像中的漏洞并不完全是纯色色块,而可能出现拥有复杂纹理的区域。因此,虚拟对象控制程序可在根据第二帧图像中像素点的颜色值确定第二帧图像存在漏洞后,将第二帧图像输入至漏洞检测模型中。
虚拟对象控制程序可将第二帧图像输入至漏洞检测模型中进行处理,漏洞检测模型用于提取第二帧图像中的特征,并根据特征进行处理,得到第二帧图像中的使用外接矩形框进行标注的错误纹理区域。虚拟对象控制程序将错误纹理区域作为第二帧图像对应的漏洞的区域。如图11所示,为一个实施例中第二帧图像对应的漏洞区域的界面示意图。图11中的方框对应的区域即为错误纹理区域。如图12所示,为另一个实施例中第二帧图像对应的漏洞区域的界面示意图。图8中的方框对应的区域即为错误纹理区域。如图13所示,为又一个实施例中第二帧图像对应的漏洞区域的界面示意图。其中,地面拼接部分即为漏洞的区域。
上述虚拟对象控制方法,将第二帧图像输入至漏洞检测模型中进行处理,得到第二帧图像中的错误纹理区域,将错误纹理区域作为第二帧图像对应的漏洞的区域,能够使用机器模型检测到包含错误纹理区域对应的漏洞,提高漏洞检测效率以及准确性。
在一个实施例中,检测第二帧图像存在漏洞的方式,包括:当在预设时长内未检测到第二帧图像所在的界面发生变化时,确定第二帧图像对应的漏洞类型为界面宕机。
其中,预设时长可以是虚拟对象控制程序中已存储的设定时长。例如预设时长为1分钟等不限于此。宕机是一种在一定时间内无响应的状态。
具体地,虚拟对象控制程序检测在预设时长内第二帧图像是否发生变化。例如检测方式可以是第二帧图像中某一像素点的亮度是否发生变化,还可以是第二帧图像中虚拟对象所在位置是否放生变化,还可以是第二帧图像中的特征点或者轮廓等位置是否发生变化等不限于此。当在预设时长内未检测到第二帧图像所在的界面发生变化时,即第二帧图像所在的界面无响应或者在预设时长内获取的多张图像均为相同图像时,虚拟对象控制程序确定第二帧图像对应的漏洞类型为界面宕机。
上述虚拟对象控制方法,当在预设时长内未检测到第二帧图像所在的界面发生变化时,确定第二帧图像对应的漏洞类型为界面宕机,能够自动化检测漏洞,提高漏洞检测效率。
在一个实施例中,如图14所示,为一个实施例中训练基于模仿学习的动作输出模型的流程示意图,包括:
步骤1402,获取虚拟场景对应的视频样本,其中,虚拟场景中包括目标虚拟对象,视频样本中包括触控点的移动位置信息。
其中,虚拟场景的视频样本可以是预先录制完成的存储在终端的视频样本。在录制视频样本时,终端的触屏显示被开启,则在终端的屏幕能显示触控点,则终端可以获取触控点的移动位置信息。
具体地,虚拟对象控制程序获取对虚拟场景的视频样本,其中,虚拟场景中包括目标虚拟对象,视频样本中包括触控点的移动位置信息。
步骤1404,根据视频样本中触控点的移动位置信息,得到目标虚拟对象的动作信息。
其中,虚拟对象控制程序通过分析视频样本中触控点的移动位置信息,可以得到该帧图像对应的目标对象的动作信息。例如,用户通过左手控制前后左右的移动,那么根据触控点相对于中心位置的偏移方向可确定目标虚拟对象的移动动作信息。
步骤1406,获取目标虚拟对象的动作信息对应的图像。
具体地,虚拟对象控制程序获取目标虚拟对象的动作信息对应的图像,形成图像动作集合。即,每个动作对应至少一帧图像。
步骤1408,将目标虚拟对象的动作信息以及对应的图像作为训练样本集。
具体地,虚拟对象控制程序将目标虚拟对象的动作信息以及对应的图像作为动作输出模型的训练样本集。
本实施例中,虚拟对象控制程序还可以将目标虚拟对象的动作信息以及对应的图像中一部分作为训练样本集,将另一部分作为验证样本集,验证样本集用于验证动作输出模型的预测动作的正确率。
步骤1410,获取对训练样本集进行动作信息校正后的训练样本集。
具体地,如图15所示,为一个实施例中动作信息的界面示意图。在训练样本集中,面对障碍物,可以出现两种避开的轨迹,如1502和1504,1502对应的动作信息与1504对应的动作信息不相同,但目的都是避开障碍物。因此需要对动作信息进行校正,使训练样本集中遇到障碍物时对应的动作信息一致。例如当遇到障碍物时,都使用1502轨迹对应的动作避开障碍物。
虚拟对象控制程序获取对训练样本集进行动作信息校正后的训练样本集。
步骤1412,将校正后的训练样本集输入至基于模仿学习的动作输出模型进行训练,得到训练完成的基于模仿学习的动作输出模型。
具体地,虚拟对象控制程序将校正后的训练样本集输入至基于模仿学习的动作输出模型中进行训练,动作输出模型提取训练样本集中的特征,根据输出的动作指示信息调整动作输出模型的参数,得到训练完成的基于模仿学习的动作输出模型。
上述虚拟对象控制方法,获取虚拟场景对应的视频样本,并作为训练样本集,将对训练样本集进行校正后的样本用于训练动作输出模型,能使动作输出更加准确。
在一个实施例中,一种虚拟对象控制方法,包括:
步骤(a1),获取虚拟场景对应的视频样本,其中,虚拟场景中包括目标虚拟对象,视频样本中包括触控点的移动位置信息。
步骤(a2),根据视频样本中触控点的移动位置信息,得到目标虚拟对象的动作信息。
步骤(a3),获取目标虚拟对象的动作信息对应的图像。
步骤(a4),将目标虚拟对象的动作信息以及对应的图像作为训练样本集。
步骤(a5),获取对训练样本集进行动作信息校正后的训练样本集。
步骤(a6),将校正后的训练样本集输入至基于模仿学习的动作输出模型进行训练,得到训练完成的基于模仿学习的动作输出模型。
步骤(a7),获取虚拟场景对应的第一帧图像,其中,第一帧图像中包括目标虚拟对象。
步骤(a8),当未检测到第一帧图像中存在除目标虚拟对象以外的第一虚拟对象时,将第一帧图像输入至基于模仿学习的动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,其中,基于模仿学习的动作输出模型是根据虚拟场景图像和动作训练得到的。
步骤(a9),当检测到第一帧图像中存在除目标虚拟对象以外的第一虚拟对象时,获取连续至少两个第一帧中每一帧对应的图像,将至少两个第一帧中每一帧对应的图像输入至基于强化学习的动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,其中,第二帧是与至少两个第一帧中最后一帧相邻的下一帧,动作指示信息包括转动方向信息、移动方向信息、移动速度信息中至少一种。
步骤(a10),按照动作指示信息控制目标虚拟对象在虚拟场景中执行对应的动作。
步骤(a11),获取虚拟场景对应的第二帧图像。
步骤(a12),获取第二帧图像中像素点的颜色值。
步骤(a13),当检测到像素点的颜色值小于或等于第一颜色阈值,且与像素点相邻的颜色值小于或等于第一颜色阈值的像素点数量大于或等于数量阈值时,确定第二帧图像对应的漏洞类型为贴图暗,贴图暗是指第二帧图像的亮度值小于第一预设亮度值。
步骤(a14),当检测到像素点的颜色值大于或等于第二颜色阈值时,且与像素点相邻的颜色值大于或等于第二颜色阈值的像素点数量大于数量阈值时,确定第二帧图像对应的漏洞类型为贴图亮,贴图亮是指第二帧图像的亮度值大于第二预设亮度值。
步骤(a15),当检测到像素点的颜色值在预设颜色值范围内,且与像素点相邻的颜色值在预设颜色值范围内的像素点的数量大于或等于数量阈值时,确定第二帧图像对应的漏洞类型为贴图缺失。
步骤(a16),将第二帧图像输入至漏洞检测模型中进行处理,得到第二帧图像中的错误纹理区域,其中,漏洞检测模型是根据包含错误纹理区域的虚拟场景图像训练得到的。
步骤(a17),将错误纹理区域作为第二帧图像对应的漏洞的区域。
上述虚拟对象控制方法,通过获取虚拟场景对应的第一帧图像,其中,第一帧图像中包括目标虚拟对象,将第一帧图像输入至动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,按照动作指示信息控制目标虚拟对象在虚拟场景中执行对应的动作,得到虚拟场景对应的第二帧图像,可以通过动作输出模型实现自动化运行虚拟场景,当检测到第二帧图像存在漏洞时,记录第二帧图像,可以自动化检测虚拟场景中存在的漏洞,提高漏洞检测效率,同时不需要虚拟场景对应的开发方提供虚拟场景数据或操控接口,可移植到其他虚拟场景中进行使用,且不会影响虚拟场景中的其他使用者对虚拟对象的操控。
图1、图2和图14为一个实施例中虚拟对象控制方法的流程示意图。应该理解的是,虽然图1、图2和图14的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、图2和图14中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种虚拟对象控制装置,该装置包括获取模块1602、输入模块1604和控制模块1606,其中:
获取模块1602,用于获取虚拟场景对应的第一帧图像,其中,第一帧图像中包括目标虚拟对象。
输入模块1604,用于将第一帧图像输入至动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,其中,动作输出模型包括基于模仿学习的动作输出模型和基于强化学习的动作输出模型,基于模仿学习的动作输出模型是根据虚拟场景图像和动作训练得到的,第二帧是与第一帧相邻的下一帧。
控制模块1606,用于按照动作指示信息控制目标虚拟对象在虚拟场景中执行对应的动作。
上述虚拟对象控制装置,通过获取虚拟场景对应的第一帧图像,其中,第一帧图像中包括目标虚拟对象,将第一帧图像输入至动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,按照动作指示信息控制目标虚拟对象在虚拟场景中执行对应的动作,可以通过动作输出模型实现自动化运行虚拟场景,当目标虚拟对象遇到其他随机出现的虚拟对象时,通过基于强化学习的动作输出模型可以实现自动躲避,且能够准确地得到目标虚拟对象的下一个动作,提高虚拟对象控制的准确性,同时不需要虚拟场景对应的开发方提供虚拟场景数据或操控接口,可移植到其他虚拟场景中进行使用,且不会影响虚拟场景中的其他使用者对虚拟对象的操控。
在一个实施例中,动作输出模型包括基于模仿学习的动作输出模型和基于强化学习的动作输出模型。输入模块1604用于当未检测到第一帧图像中存在除目标虚拟对象以外的第一虚拟对象时,将第一帧图像输入至基于模仿学习的动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息;
当检测到第一帧图像中存在除目标虚拟对象以外的第一虚拟对象时,将第一帧图像输入至基于强化学习的动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息。
上述漏洞检测装置虚拟对象控制装置,当未检测到第一帧图像中存在第一虚拟对象时,将第一帧图像输入至基于模仿学习的动作输出模型中;当检测到第一帧图像中存在第一虚拟对象时,将第一帧图像输入至基于强化学习的动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,通过基于强化学习的动作输出模型实现自动躲避,能够准确地得到目标虚拟对象的下一个动作,提高虚拟对象控制的准确性,且能够根据不同的情况选择不同模型,提高动作预测的精确度。
在一个实施例中,输入模块1604用于当检测到第一帧图像中存在除目标虚拟对象以外的第一虚拟对象时,获取连续至少两个第一帧中每一帧对应的图像,将至少两个第一帧中每一帧对应的图像输入至基于强化学习的动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,其中,第二帧是与至少两个第一帧中最后一帧相邻的下一帧,动作指示信息包括转动方向信息、移动方向信息、移动速度信息中至少一种。
上述漏洞检测装置虚拟对象控制装置,当检测到第一帧图像中存在除目标虚拟对象以外的第一虚拟对象时,获取连续至少两个第一帧中每一帧对应的图像,将至少两个第一帧中每一帧对应的图像输入至基于强化学习的动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,不需要通过样本进行训练,能够实现模型的自主学习,从而得到对应的动作指示信息,能够准确地得到目标虚拟对象的下一个动作,提高虚拟对象控制的准确性。
在一个实施例中,该虚拟对象控制方法还包括检测模块。获取模块用于获取虚拟场景对应的第二帧图像。检测模块用于当检测到第二帧图像存在漏洞时,记录第二帧图像。
上述虚拟对象控制装置,获取虚拟场景对应的第二帧图像,当检测到第二帧图像存在漏洞时,记录第二帧图像,可以自动化检测到虚拟场景中存在的漏洞,提高漏洞检测效率。
在一个实施例中,检测模块用于获取第二帧图像中像素点的颜色值;当检测到像素点的颜色值小于或等于第一颜色阈值,且与像素点相邻的颜色值小于或等于第一颜色阈值的像素点数量大于或等于数量阈值时,确定第二帧图像对应的漏洞类型为贴图暗,贴图暗是指第二帧图像的亮度值小于第一预设亮度值;
当检测到像素点的颜色值大于或等于第二颜色阈值时,且与像素点相邻的颜色值大于或等于第二颜色阈值的像素点数量大于数量阈值时,确定第二帧图像对应的漏洞类型为贴图亮,贴图亮是指第二帧图像的亮度值大于第二预设亮度值;
当检测到像素点的颜色值在预设颜色值范围内,且与像素点相邻的颜色值在预设颜色值范围内的像素点的数量大于或等于数量阈值时,确定第二帧图像对应的漏洞类型为贴图缺失。
上述虚拟对象控制装置,通过颜色阈值和满足颜色阈值的像素点数量这些条件,能检测到第二帧图像对应的漏洞类型,能够自动化检测漏洞,提高漏洞检测的准确性。在一个实施例中,该虚拟对象控制方法还包括检测模块。检测模块用于获取第二帧图像中像素点的颜色值;根据第二帧图像中像素点的颜色值确定第二帧图像存在漏洞。
上述虚拟对象控制装置,获取第二帧图像中像素点的颜色值,根据第二帧图像中像素点的颜色值确定第二帧图像存在漏洞,可以得到第二帧图像中存在的界面漏洞,提高漏洞检测效率。
在一个实施例中,检测模块用于将第二帧图像输入至漏洞检测模型中进行处理,得到第二帧图像中的错误纹理区域,其中,漏洞检测模型是根据包含错误纹理区域的虚拟场景图像训练得到的;将错误纹理区域作为第二帧图像对应的漏洞的区域。
上述虚拟对象控制装置,将第二帧图像输入至漏洞检测模型中进行处理,得到第二帧图像中的错误纹理区域,将错误纹理区域作为第二帧图像对应的漏洞的区域,能够使用机器模型检测到包含错误纹理区域对应的漏洞,提高漏洞检测效率以及准确性。
在一个实施例中,检测模块用于当在预设时长内未检测到第二帧图像所在的界面发生变化时,确定第二帧图像对应的漏洞类型为界面宕机。
上述虚拟对象控制装置,当在预设时长内未检测到第二帧图像所在的界面发生变化时,确定第二帧图像对应的漏洞类型为界面宕机,能够自动化检测漏洞,提高漏洞检测效率。
在一个实施例中,该虚拟对象控制装置还包括模型训练模块。模型训练模块用于获取虚拟场景对应的视频样本,其中,虚拟场景中包括目标虚拟对象,视频样本中包括触控点的移动位置信息;根据视频样本中触控点的移动位置信息,得到目标虚拟对象的动作信息;获取目标虚拟对象的动作信息对应的图像;将目标虚拟对象的动作信息以及对应的图像作为训练样本集;获取对训练样本集进行动作信息校正后的训练样本集;将校正后的训练样本集输入至基于模仿学习的动作输出模型进行训练,得到训练完成的基于模仿学习的动作输出模型。
上述虚拟对象控制装置,获取虚拟场景对应的视频样本,并作为训练样本集,将对训练样本集进行校正后的样本用于训练动作输出模型,能使动作预测更加准确。
图17示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是终端。如图17所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现虚拟对象控制方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行虚拟对象控制方法。
本领域技术人员可以理解,图17中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的虚拟对象控制装置可以实现为一种计算机程序的形式,计算机程序可在如图17所示的计算机设备上运行。计算机设备的存储器中可存储组成该虚拟对象控制装置的各个程序模块,比如,图16所示的获取模块1602、输入模块1604和控制模块1606。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的虚拟对象控制方法中的步骤。
例如,图17所示的计算机设备可以通过如图16所示的虚拟对象控制装置中的获取模块执行获取虚拟场景对应的第一帧图像,其中,第一帧图像中包括目标虚拟对象。计算机设备可通过输入模块执行将第一帧图像输入至动作输出模型中,得到第二帧对应的目标虚拟对象的动作指示信息,其中,动作输出模型包括基于模仿学习的动作输出模型和基于强化学习的动作输出模型,基于模仿学习的动作输出模型是根据虚拟场景样本图像和样本动作训练得到的,第二帧是与第一帧相邻的下一帧。计算机设备可通过控制模块执行按照动作指示信息控制目标虚拟对象在虚拟场景中执行对应的动作。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述虚拟对象控制方法的步骤。此处虚拟对象控制方法的步骤可以是上述各个实施例的虚拟对象控制方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述虚拟对象控制方法的步骤。此处虚拟对象控制方法的步骤可以是上述各个实施例的虚拟对象控制方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种虚拟对象控制方法,包括:
获取虚拟场景对应的第一帧图像,其中,所述第一帧图像中包括目标虚拟对象;
将所述第一帧图像输入至动作输出模型中,得到第二帧对应的所述目标虚拟对象的动作指示信息,其中,所述动作输出模型包括基于模仿学习的动作输出模型和基于强化学习的动作输出模型,所述基于模仿学习的动作输出模型是根据虚拟场景图像和动作训练得到的,所述第二帧是与所述第一帧相邻的下一帧;
按照所述动作指示信息控制所述目标虚拟对象在所述虚拟场景中执行对应的动作。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一帧图像输入至动作输出模型中,得到第二帧对应的所述目标虚拟对象的动作指示信息,包括:
当未检测到所述第一帧图像中存在除所述目标虚拟对象以外的第一虚拟对象时,将所述第一帧图像输入至基于模仿学习的动作输出模型中,得到第二帧对应的所述目标虚拟对象的动作指示信息;
当检测到所述第一帧图像中存在除所述目标虚拟对象以外的第一虚拟对象时,将所述第一帧图像输入至基于强化学习的动作输出模型中,得到第二帧对应的所述目标虚拟对象的动作指示信息。
3.根据权利要求2所述的方法,其特征在于,所述当检测到所述第一帧图像中存在除所述目标虚拟对象以外的第一虚拟对象时,将所述第一帧图像输入至基于强化学习的动作输出模型中,得到第二帧对应的所述目标虚拟对象的动作指示信息,包括:
当检测到所述第一帧图像中存在除所述目标虚拟对象以外的第一虚拟对象时,获取连续至少两个第一帧中每一帧对应的图像,将所述至少两个第一帧中每一帧对应的图像输入至所述基于强化学习的动作输出模型中,得到第二帧对应的所述目标虚拟对象的动作指示信息,其中,所述第二帧是与所述至少两个第一帧中最后一帧相邻的下一帧,所述动作指示信息包括转动方向信息、移动方向信息、移动速度信息中至少一种。
4.根据权利要求1至3任一项所述的方法,其特征在于,在所述按照所述动作指示信息控制所述目标虚拟对象在所述虚拟场景中执行对应的动作之后,所述方法还包括:
获取所述虚拟场景对应的第二帧图像;
当检测到所述第二帧图像存在漏洞时,记录所述第二帧图像。
5.根据权利要求4所述的方法,其特征在于,所述检测所述第二帧图像存在漏洞的方式,包括:
获取所述第二帧图像中像素点的颜色值;
当检测到所述像素点的颜色值小于或等于第一颜色阈值,且与所述像素点相邻的颜色值小于或等于第一颜色阈值的像素点数量大于或等于数量阈值时,确定所述第二帧图像对应的漏洞类型为贴图暗,所述贴图暗是指所述第二帧图像的亮度值小于第一预设亮度值;
当检测到所述像素点的颜色值大于或等于第二颜色阈值时,且与所述像素点相邻的颜色值大于或等于第二颜色阈值的像素点数量大于数量阈值时,确定所述第二帧图像对应的漏洞类型为贴图亮,所述贴图亮是指所述第二帧图像的亮度值大于第二预设亮度值;
当检测到所述像素点的颜色值在预设颜色值范围内,且与所述像素点相邻的颜色值在预设颜色值范围内的像素点的数量大于或等于数量阈值时,确定所述第二帧图像对应的漏洞类型为贴图缺失。
6.根据权利要求4所述的方法,其特征在于,所述检测所述第二帧图像存在漏洞的方式,包括:
将所述第二帧图像输入至漏洞检测模型中进行处理,得到所述第二帧图像中的错误纹理区域,其中,所述漏洞检测模型是根据包含错误纹理区域的虚拟场景图像训练得到的;
将所述错误纹理区域作为所述第二帧图像对应的漏洞的区域。
7.根据权利要求1至3任一项所述的方法,其特征在于,
所述方法还包括:
获取虚拟场景对应的视频样本,其中,所述虚拟场景中包括目标虚拟对象,所述视频样本中包括触控点的移动位置信息;
根据所述视频样本中触控点的移动位置信息,得到所述目标虚拟对象的动作信息;
获取所述目标虚拟对象的动作信息对应的图像;
将所述目标虚拟对象的动作信息以及所述对应的图像作为训练样本集;
获取对所述训练样本集进行动作信息校正后的训练样本集;
将所述校正后的训练样本集输入至基于模仿学习的动作输出模型进行训练,得到训练完成的基于模仿学习的动作输出模型。
8.一种虚拟对象控制装置,其特征在于,所述装置包括:
获取模块,用于获取虚拟场景对应的第一帧图像,其中,所述第一帧图像中包括目标虚拟对象;
输入模块,用于将所述第一帧图像输入至动作输出模型中,得到第二帧对应的所述目标虚拟对象的动作指示信息,其中,所述动作输出模型包括基于模仿学习的动作输出模型和基于强化学习的动作输出模型,所述基于模仿学习的动作输出模型是根据虚拟场景图像和动作训练得到的,所述第二帧是与所述第一帧相邻的下一帧;
控制模块,用于按照所述动作指示信息控制所述目标虚拟对象在所述虚拟场景中执行对应的动作,得到所述虚拟场景对应的第二帧图像。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910492115.XA CN110227264B (zh) | 2019-06-06 | 2019-06-06 | 虚拟对象控制方法、装置、可读存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910492115.XA CN110227264B (zh) | 2019-06-06 | 2019-06-06 | 虚拟对象控制方法、装置、可读存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110227264A true CN110227264A (zh) | 2019-09-13 |
CN110227264B CN110227264B (zh) | 2023-07-11 |
Family
ID=67859275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910492115.XA Active CN110227264B (zh) | 2019-06-06 | 2019-06-06 | 虚拟对象控制方法、装置、可读存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110227264B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111282279A (zh) * | 2020-02-05 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 模型训练的方法、基于交互式应用的对象控制方法及装置 |
CN112084117A (zh) * | 2020-09-27 | 2020-12-15 | 网易(杭州)网络有限公司 | 一种测试方法和装置 |
CN112231220A (zh) * | 2020-10-26 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 一种游戏测试方法和装置 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020090132A1 (en) * | 2000-11-06 | 2002-07-11 | Boncyk Wayne C. | Image capture and identification system and process |
JP2002346208A (ja) * | 2001-05-29 | 2002-12-03 | Namco Ltd | 画像生成システム、プログラム及び情報記憶媒体 |
JP2006051382A (ja) * | 2005-10-13 | 2006-02-23 | Namco Ltd | 画像生成システム、プログラム及び情報記憶媒体 |
KR20140021766A (ko) * | 2012-08-10 | 2014-02-20 | 광운대학교 산학협력단 | 가상시점 영상 생성을 위한 경계 잡음 제거 및 홀 채움 방법 |
CN107209856A (zh) * | 2015-02-11 | 2017-09-26 | 高通股份有限公司 | 环境场景状况检测 |
CN107610057A (zh) * | 2017-08-22 | 2018-01-19 | 努比亚技术有限公司 | 一种深度图修复方法、终端及计算机可读存储介质 |
CN107819947A (zh) * | 2017-10-31 | 2018-03-20 | 广东欧珀移动通信有限公司 | 画面显示方法及装置 |
CN107875633A (zh) * | 2016-09-30 | 2018-04-06 | 电子技术公司 | 改善模拟中的模型的运动动画的计算机实现方法及系统 |
CN107958480A (zh) * | 2017-11-23 | 2018-04-24 | 腾讯科技(上海)有限公司 | 图像渲染方法、装置及存储介质 |
CN108629767A (zh) * | 2018-04-28 | 2018-10-09 | Oppo广东移动通信有限公司 | 一种场景检测的方法、装置及移动终端 |
CN108635849A (zh) * | 2018-05-15 | 2018-10-12 | 深圳市腾讯网络信息技术有限公司 | 一种动画数据压缩、解压缩方法及装置 |
CN108769821A (zh) * | 2018-05-25 | 2018-11-06 | 广州虎牙信息科技有限公司 | 游戏场景描述方法、装置、设备及存储介质 |
CN109544663A (zh) * | 2018-11-09 | 2019-03-29 | 腾讯科技(深圳)有限公司 | 应用程序的虚拟场景识别与交互键位匹配方法及装置 |
-
2019
- 2019-06-06 CN CN201910492115.XA patent/CN110227264B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020090132A1 (en) * | 2000-11-06 | 2002-07-11 | Boncyk Wayne C. | Image capture and identification system and process |
JP2002346208A (ja) * | 2001-05-29 | 2002-12-03 | Namco Ltd | 画像生成システム、プログラム及び情報記憶媒体 |
JP2006051382A (ja) * | 2005-10-13 | 2006-02-23 | Namco Ltd | 画像生成システム、プログラム及び情報記憶媒体 |
KR20140021766A (ko) * | 2012-08-10 | 2014-02-20 | 광운대학교 산학협력단 | 가상시점 영상 생성을 위한 경계 잡음 제거 및 홀 채움 방법 |
CN107209856A (zh) * | 2015-02-11 | 2017-09-26 | 高通股份有限公司 | 环境场景状况检测 |
CN107875633A (zh) * | 2016-09-30 | 2018-04-06 | 电子技术公司 | 改善模拟中的模型的运动动画的计算机实现方法及系统 |
CN107610057A (zh) * | 2017-08-22 | 2018-01-19 | 努比亚技术有限公司 | 一种深度图修复方法、终端及计算机可读存储介质 |
CN107819947A (zh) * | 2017-10-31 | 2018-03-20 | 广东欧珀移动通信有限公司 | 画面显示方法及装置 |
CN107958480A (zh) * | 2017-11-23 | 2018-04-24 | 腾讯科技(上海)有限公司 | 图像渲染方法、装置及存储介质 |
CN108629767A (zh) * | 2018-04-28 | 2018-10-09 | Oppo广东移动通信有限公司 | 一种场景检测的方法、装置及移动终端 |
CN108635849A (zh) * | 2018-05-15 | 2018-10-12 | 深圳市腾讯网络信息技术有限公司 | 一种动画数据压缩、解压缩方法及装置 |
CN108769821A (zh) * | 2018-05-25 | 2018-11-06 | 广州虎牙信息科技有限公司 | 游戏场景描述方法、装置、设备及存储介质 |
CN109544663A (zh) * | 2018-11-09 | 2019-03-29 | 腾讯科技(深圳)有限公司 | 应用程序的虚拟场景识别与交互键位匹配方法及装置 |
Non-Patent Citations (3)
Title |
---|
夏有新;: "Android3D游戏模型纹理处理", 硅谷, no. 11, pages 103 - 104 * |
孟晓宁;王宝华;: "图形处理中GPU固定渲染管线的研究", 集成电路应用, no. 02, pages 90 - 94 * |
曾晓芳;肖世德;余晓明;: "三维场景图形建模和场景对象管理方法", 机械工程与自动化, no. 06, pages 31 - 33 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111282279A (zh) * | 2020-02-05 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 模型训练的方法、基于交互式应用的对象控制方法及装置 |
CN111282279B (zh) * | 2020-02-05 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 模型训练的方法、基于交互式应用的对象控制方法及装置 |
CN112084117A (zh) * | 2020-09-27 | 2020-12-15 | 网易(杭州)网络有限公司 | 一种测试方法和装置 |
CN112084117B (zh) * | 2020-09-27 | 2023-08-08 | 网易(杭州)网络有限公司 | 一种测试方法和装置 |
CN112231220A (zh) * | 2020-10-26 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 一种游戏测试方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110227264B (zh) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7159458B2 (ja) | 仮想環境における仮想対象のスケジューリング方法、装置、デバイス及びコンピュータプログラム | |
US9864933B1 (en) | Artificially intelligent systems, devices, and methods for learning and/or using visual surrounding for autonomous object operation | |
Hepp et al. | Learn-to-score: Efficient 3d scene exploration by predicting view utility | |
CN110227264A (zh) | 虚拟对象控制方法、装置、可读存储介质和计算机设备 | |
CN109464803A (zh) | 虚拟对象控制、模型训练方法、装置、存储介质和设备 | |
CN113674416B (zh) | 三维地图的构建方法、装置、电子设备及存储介质 | |
Zhong et al. | Ad-vat+: An asymmetric dueling mechanism for learning and understanding visual active tracking | |
Saroya et al. | Online exploration of tunnel networks leveraging topological CNN-based world predictions | |
CN114139637B (zh) | 多智能体信息融合方法、装置、电子设备及可读存储介质 | |
CN108763811A (zh) | 动态数据驱动林火蔓延预测方法 | |
CN113139652A (zh) | 用于自动车辆的神经任务规划器 | |
Lee et al. | Game engine-driven synthetic data generation for computer vision-based safety monitoring of construction workers | |
CN114445684A (zh) | 车道线分割模型的训练方法、装置、设备及存储介质 | |
CN111488280B (zh) | 数据处理方法、装置、存储介质及电子设备 | |
Feng et al. | Rethinking the data annotation process for multi-view 3d pose estimation with active learning and self-training | |
CN116510302A (zh) | 虚拟对象异常行为的分析方法、装置及电子设备 | |
CN115797517B (zh) | 虚拟模型的数据处理方法、装置、设备和介质 | |
Li et al. | Unsupervised joint learning of depth, optical flow, ego-motion from video | |
Jaunet et al. | Sim2realviz: Visualizing the sim2real gap in robot ego-pose estimation | |
CN115965736A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN112862840B (zh) | 图像分割方法、装置、设备及介质 | |
Ruiz del Solar et al. | UChile1 team description paper | |
Vecchio et al. | MIDGARD: A simulation platform for autonomous navigation in unstructured environments | |
Wang et al. | Path planning model of mobile robots in the context of crowds | |
Ferencz et al. | End-to-end autonomous vehicle lateral control with deep learning |
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 |