虚拟场景的数据处理方法、装置及存储介质与流程

文档序号:16678751发布日期:2019-01-19 00:11阅读:154来源:国知局
虚拟场景的数据处理方法、装置及存储介质与流程
本发明涉及数据处理技术,尤其涉及一种虚拟场景的数据处理方法、装置及存储介质。
背景技术
:基于图形处理硬件的显示技术,扩展了感知环境以及获取信息的渠道,尤其是虚拟场景的显示技术,能够根据实际应用需求实现人与人、人与虚拟场景中各种虚拟对象的智能化的交互。游戏是虚拟场景显示技术的典型应用,用户可以通过设备运行游戏,在设备输出的虚拟场景中,用户控制的游戏对象与线上的其他游戏对象协同战斗或者对战。相关技术中,对于游戏场景中的处理采用深度强化学习算法训练人工智能(ai,artificialintelligence)来实现,然而,由于游戏场景复杂,一些游戏场景(如过场动画)并不适用于深度强化学习算法来解决。技术实现要素:本发明实施例提供一种虚拟场景的数据处理方法、装置及存储介质,能够针对不同的虚拟场景所处的阶段采用不同的处理方式,提高处理效率。本发明实施例的技术方案是这样实现的:第一方面,本发明实施例提供一种虚拟场景的数据处理方法,包括:对虚拟场景的图像进行识别,以确定所述虚拟场景所处的阶段;根据所述虚拟场景所处的不同阶段,采用调用机器学习模型或条件触发的方式,确定对应所述虚拟场景所处不同阶段的目标操作;控制执行所述虚拟场景所处特定阶段对应的目标操作。第二方面,本发明实施例提供一种虚拟场景的数据处理装置,包括:识别单元,用于对虚拟场景的图像进行识别,以确定所述虚拟场景所处的阶段;确定单元,用于根据所述虚拟场景所处的不同阶段,采用机器学习模型或条件触发的方式,确定对应所述虚拟场景所处不同阶段的目标操作;执行单元,用于控制执行所述虚拟场景所处特定阶段对应的目标操作。第三方面,本发明实施例提供一种虚拟场景的数据处理装置,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的所述虚拟场景的数据处理方法。第四方面,本发明实施例提供一种存储介质,存储有可执行指令,所述可执行指令用于引起存储器执行本发明实施例提供的所述虚拟场景的数据处理方法。本发明实施例具有以下有益效果:1)通过对虚拟场景的图像进行识别,确定虚拟场景所处的不同阶段,也就是说,虚拟场景被划分为不同的阶段,使得能够针对不同的阶段进行有针对性的处理;2)根据虚拟场景所处的不同阶段,采用调用深度神经网络模型或条件触发的方式,确定对应虚拟场景所处不同阶段的目标操作;对应不同的阶段,对于计算的复杂程度不同,根据不同的计算复杂度采用调用深度神经网络模型或条件触发的方式确定目标操作,提高了确定目标操作的效率,同时,使得深度神经网络模型在训练过程中更有针对性,训练速度快。附图说明图1是本发明实施例提供的dqn模型的一个示意图;图2是本发明实施例提供的虚拟场景的数据处理方法的应用模式示意图一;图3是本发明实施例提供的虚拟场景的数据处理方法的应用模式示意图二;图4是本发明实施例提供的虚拟场景的数据处理系统的架构示意图;图5是本发明实施例提供的虚拟场景的数据处理装置的组成结构示意图一;图6是本发明实施例提供的虚拟场景的数据处理方法的流程示意图一;图7是本发明实施例提供的虚拟场景的数据处理方法的流程示意图二;图8是本发明实施例提供的dqn模型的一个示意图;图9是本发明实施例提供的虚拟场景的数据处理方法的流程示意图三;图10是本发明实施例提供的多维度的图像识别的示意图;图11为本发明实施例提供的进行生命值识别的示意图;图12为本发明实施例提供的游戏按键的示意图;图13为本发明实施例提供的dqn深度神经网络模型的示意图;图14为本发明实施例提供的在线训练dqn模型的方法流程示意图;图15为本发明实施例提供的虚拟场景的数据处理装置的组成结构示意图二。具体实施方式为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例是本发明一部分实施例,而不是全部的实施例。根据本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。需要说明的是,在本发明实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确提供的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,这里的单元可以是部分电路、部分处理器、部分程序或软件等等)。例如,本发明实施例提供的包含了一系列的步骤,但是本发明实施例提供的方法不限于所提供的步骤,同样地,本发明实施例提供的装置包括了一系列单元,但是本发明实施例提供的装置不限于包括所明确提供的单元,还可以包括为获取相关信息、或基于信息进行处理时所需要设置的单元。另外,本发明实施例中所记载的“第一”、“第二”、“第三”仅用于区分不同的对象,不代表顺序或者优先级的差异,可以理解,在不冲突的情况下,“第一”、“第二”、“第三”所代表的对象可以互换。对本发明进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。1)ai,是指由人工制造的系统所表现出的智能,在本文中指游戏等虚拟场景的对象和/或场景控制过程的人工智能。2)机器学习(machinelearning)模型,从训练集的虚拟场景的图像样本(简称为样本)进行模型训练,使训练后的模型具有根据训练集外样本的样本特征对对应虚拟场景的目标操作进行预测的性能;在实际实施时,可采用深度神经网络模型,这是一种模仿生物神经网络结构和功能的数学模型,本文中深度神经网络模型可以为深度q网络模型(dqn,deepq-network)或异步的优势行动者评论家算法模型(a3c,asynchronousadvantageactor-critic),深度神经网络模型用于函数估计或近似,包括输入层、中间层和输出层,每个层由大量处理单元相互联结构成,每个节点使用激励函数对输入的数据进行处理并输出给其他节点,激励函数的示例性的类型包括阈值型、线性型和s生长曲线(sigmoid)型等。3)虚拟场景,利用设备输出的区别于现实世界的场景,通过裸眼或设备的辅助能够形成对虚拟场景的视觉感知,例如通过显示屏幕输出的二维影像,通过立体投影、虚拟现实和增强现实技术等立体显示技术来输出的三维影像;此外,还可以通过各种可能的硬件形成听觉感知、触觉感知、嗅觉感知和运动感知等各种模拟现实世界的感知;本文中一个虚拟场景对应一帧图像所呈现的画面场景,场景切换对应虚拟场景的帧图像的切换。4)对象,虚拟场景中可以进行交互的各种人和物的形象,例如《魂斗罗:归来》游戏的虚拟场景中的各种游戏角色,虚拟现实技术实现的商店中的售货员等。5)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。6)图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。在对本发明实施例提供的虚拟场景的数据处理方案进行说明之前,对本发明实施例中的dqn模型进行说明。dqn模型是将深度学习与强化学习结合起来从而实现从感知(perception)到动作(action)的端对端(end-to-end)学习的一种算法,是卷积神经网络(cnn,convolutionalneuralnetwork)与q-learning的结合,cnn的输入是原始图像数据(作为状态state),输出则是每个动作action对应的价值评估valuefunction(q值)。dqn用一个深度神经网络来作为q值的网络,参数为ω,q(s,a,ω)≈qπ(s,a);在q值中适用均方差mean-squareerror来定义目标函数,即损失函数lossfunction,其中,s和a分别为下一个状态及动作,这里用了深度增强学习davidsilver的表示方式,看起来比较清晰。可以看到,这里使用了q-learning要更新的q值作为目标值。有了目标值,又有当前值,那么偏差就能通过均方差来进行计算。计算关于lossfunction的梯度:然后,使用随机梯度下降算法sgd实现端对端的优化,有了上面的梯度,通过从深度神经网络中计算的可使用随机梯度下降来进行参数更新,从而得到最优的q值。图1为本发明实施例提供的dqn模型的示意图,参见图1,输入的是经过灰度处理的最近4帧84×84的图像,经过几个卷积层后接两个全连接层,输出是每一个可能动作的q值。网络初始化后,输入84×84×4,然后计算网络输出,根据概率(很小)选择一个随机的动作,或者根据当前的状态输入到当前的网络中计算出每个动作的q值,选择q值最大的一个动作(最优动作);获取执行最优动作后的奖励,以及下一个网络的输入(4帧图像),将4帧图像作为此刻的状态,计算对应的目标值(通过执行最优动作后的奖励来更新q值作为目标值),然后通过sgd更新参数权重,并迭代更新目标动作(targetaction)-q值(valuefunction)的参数。发明人在研究过程中发现,在一实施方式中,可基于游戏内接口技术的实现游戏ai,通过游戏内置接口获取游戏数据(状态),从而作为ai的输入,然而这需要游戏对外提供数据接口和操作接口,需要游戏开发商的合作,或者游戏本身是开源提供,这对很多商业游戏来说是不可行的。在一实施方式中,可基于游戏脚本实现游戏ai,通过若干个固定的动作脚本来执行游戏内动作,从而实现ai功能,然而由于是基于规则和脚本,只适合一些简单游戏场景的测试,在复杂游戏场景中,可探索的状态空间非常大,规则无法穷举完全,且遇到随机性事件无法调整适应,所以基本无法使用。在一实施方式中,可基于深度强化学习实现游戏ai,以端到端的方式,把图像画面作为输入,通过在线训练深度神经网络模型,然后由该模型输出需要执行的动作,然而,该方式在单一游戏场景下能取得很好的效果。但是,大部分商业游戏中,以魂斗罗手游举例,(1)在游戏场景中,夹杂着很多其他场景,例如过场动画,对话框等,这些并不适用于深度强化学习算法来解决。(2)横版射击游戏,除了射击战斗外,还需要控制角色按路线行走,这部分同样不适合深度强化学习算法来解决。本发明实施例提供一种虚拟场景的数据处理方法、用于实施虚拟场景的数据处理方法的装置、存储有用于执行数据处理方法的可执行指令的存储介质,为便于更容易理解本发明实施例提供的虚拟场景的数据处理方法,首先说明本发明实施例提供的虚拟场景的数据处理方法的示例性实施场景,虚拟场景可以完全基于终端设备输出,或者基于终端设备和服务器的协同来输出。在一个实施场景中,参见图2,图2是本发明实施例提供的虚拟场景100的数据处理方法的一个可选的应用模式示意图,适用于一些完全依赖终端设备200的计算能力即可完成虚拟场景的相关数据计算的应用模式,例如单机版/离线模式的游戏,通过智能手机、平板电脑和虚拟现实/增强现实设备等终端设备200完成虚拟场景的输出。当形成虚拟场景的视觉感知时,终端设备200通过图形计算硬件计算显示所需要的数据,并完成显示数据的加载、解析和渲染,在图形输出硬件输出能够对虚拟场景形成视觉感知的视频帧,例如,在智能手机的显示屏幕呈现二维的视频帧,或者,在增强现实/虚拟现实眼镜的镜片上投射实现三维显示效果的视频帧;此外,为了丰富感知效果,设备还可以借助不同的硬件来形成听觉感知、触觉感知、运动感知和味觉感知的一种或多种。作为一个示例,终端设备200运行单机版的游戏应用,在游戏应用的运行过程中输出包括有动作角色扮演的虚拟场景,虚拟场景是供游戏角色交互或移动的环境,例如可以是用于供游戏角色搏击对战的擂台、进行枪战的环境或是进行宝藏探寻的地图;虚拟场景中包括目标对象110,还可以包括和目标对象进行交互(如战斗)的交互对象120,目标对象110可以是受用户控制的游戏角色,即目标对象110受控于真实玩家,将响应于真实玩家针对控制器(包括触控屏、声控开关、键盘、鼠标和摇杆等)的操作而在虚拟场景中运动,例如当真实玩家触控指示向右移动的操作按键时,目标对象将在虚拟场景中向右移动,还可以保持原地静止、跳跃以及使用各种功能(如技能和道具);在游戏的虚拟场景中,交互对象120可以是与目标对象110进行战斗的敌人,如小兵、boss等,交互对象120的数量可以有多个。作为另一个示例,终端中安装有导购应用,在导购应用的运行过程中输出商店的三维虚拟场景,在虚拟场景中包括目标对象110和交互对象120,目标对象110可以是用户本人/用户本人的三维影像,目标对象110能够在商店自由移动,并通过裸眼/虚拟现实设备用户可以感知商店以及各种商品的三维影像,交互对象120可以是利用立体显示技术输出的导购员角色,导购员角色根据机器人模型能够对用户的咨询进行合适的解答,并向用户推荐合适的商品。在另一个实施场景中,参见图3,图3是本发明实施例提供的虚拟场景的数据处理方法的一个可选的应用模式示意图,应用于终端设备和服务器(图中示例性的示出了终端200/300及服务器30),一般地,适用于依赖服务器30的计算能力完成虚拟场景计算、并在终端设备输出虚拟场景的应用模式。以形成虚拟场景的视觉感知为例,服务器30进行虚拟场景相关显示数据的计算并发送到终端设备,终端设备依赖于图形计算硬件完成计算显示数据的加载、解析和渲染,依赖于图形输出硬件输出虚拟场景以形成视觉感知,例如可以在智能手机的显示屏幕呈现二维的视频帧,或者,在增强现实/虚拟现实眼镜的镜片上投射实现三维显示效果的视频帧;对于虚拟场景的形式的感知而言,可以理解,可以借助于终端设备的相应硬件输出,例如使用麦克风输出形成听觉感知,使用振动器输出形成触觉感知等等。作为一个示例,终端设备运行网络版的游戏应用,通过连接游戏服务器与其他用户进行游戏互动,终端设备输出游戏应用的虚拟场景,其中包括目标对象110,还可以包括与目标对象110进行交互的交互对象120,数量可以为一个或多个,目标对象110可以是受用户(也称为真实玩家,以区别于机器人模型)控制的游戏角色,将响应于真实玩家针对控制器(包括键盘、鼠标和摇杆等)的操作而在虚拟场景中运动,例如当真实玩家点击跳跃按键时,目标对象110在虚拟场景中执行跳跃操作;还可以基于用户的控制使用各种功能(如技能和道具)。接下来对本发明实施例提供的虚拟场景的图像处理系统进行说明,参见图4,图4为本发明实施例提供的虚拟场景的数据处理系统架构示意图,实现支撑一个示例性应用,用户终端200(示例性示出了用户终端200-1和用户终端200-2)通过网络20连接服务器30,网络20可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。用户终端200,用于通过图形界面210(示例性示出了图形界面210-1和图形界面210-2)显示虚拟场景的图像,以及将虚拟场景的图像(如通过截屏得到多帧画面)发送给服务器30。服务器30,用于对用户终端200对虚拟场景的图像进行识别,以确定虚拟场景所处的阶段;根据虚拟场景所处的不同阶段,采用调用深度神经网络模型或条件触发的方式,确定对应虚拟场景所处不同阶段的目标操作;并将目标操作数据返回给用户终端200,使其控制执行虚拟场景所处特定阶段对应的目标操作。本发明实施例提供的虚拟场景的数据处理装置可以实施为硬件、软件或者软硬件结合的方式,下面说明本发明实施例提供的虚拟场景的数据处理装置的各种示例性实施。对本发明实施例的虚拟场景的数据处理装置的硬件结构做详细说明,图5为本发明实施例提供的虚拟场景的数据处理装置的组成结构示意图,可以理解,图5仅仅示出了虚拟场景的数据处理装置的示例性结构而非全部结构,根据需要可以实施图5示出的部分结构或全部结构。本发明实施例提供的虚拟场景的数据处理装置包括:至少一个处理器310、存储器340、至少一个网络接口320和用户接口330。虚拟场景的数据处理装置中的各个组件通过总线系统350耦合在一起。可理解,总线系统350用于实现这些组件之间的连接通信。总线系统350除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统350。用户接口330可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。存储器340可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,readonlymemory)、可编程只读存储器(prom,programmableread-onlymemory)、可擦除可编程只读存储器(eprom,erasableprogrammableread-onlymemory)、闪存(flashmemory)等。易失性存储器可以是随机存取存储器(ram,randomaccessmemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,staticrandomaccessmemory)、同步静态随机存取存储器(ssram,synchronousstaticrandomaccessmemory)。本发明实施例描述的存储器340旨在包括这些和任意其它适合类型的存储器。处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。存储器340能够存储可执行指令3401以支持虚拟场景的数据处理装置300的操作,这些可执行指令的示例包括:用于在虚拟场景的数据处理装置300上操作的程序、插件和脚本等各种形式的软件模块,程序例如可以包括操作系统和应用程序,其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。下面将结合前述的实现本发明实施例的虚拟场景的数据处理装置的示例性应用和实施,说明实现本发明实施例的虚拟场景的数据处理方法。参见图6,图6是本发明实施例提供的虚拟场景的数据处理方法的一个可选的流程示意图,结合图6示出的步骤,对本发明实施例的虚拟场景的数据处理方法进行说明。步骤401:对虚拟场景的图像进行识别,以确定所述虚拟场景所处的阶段。在一实施例中,虚拟场景所处的阶段依据计算复杂度可以分为两个阶段,分别为对象交互阶段及非对象交互阶段;其中,对象交互阶段指的是在虚拟场景中,存在与目标对象进行交互的对象,其相应的计算复杂度相对非对象交互阶段来说较高,而相应的,非对象交互阶段指的是在虚拟场景中,仅存在目标对象,不存在与目标对象进行交互的对象,其计算复杂度相对对象交互阶段来说较低;例如,在游戏的虚拟场景中,当用户对应的角色(目标对象)与敌人进行战斗时,相应的虚拟场景处于对象交互阶段,该阶段存在角色间的战斗,操作复杂,相应的计算复杂度较高,而当不存在战斗对象,仅有用户对应的角色在移动时,操作简单,计算复杂度相对较低,相应的虚拟场景处于非对象交互阶段。在一实施例中,可通过如下方式确定虚拟场景所处的阶段:对虚拟场景的图像进行对象识别;当识别结果表征虚拟场景中仅存在目标对象时,确定所述虚拟场景处于非对象交互阶段;当识别结果表征所述虚拟场景中存在除所述目标对象以外的交互对象时,确定所述虚拟场景处于对象交互阶段。这里,在实际实施时,可采用目标检测算法对虚拟场景的图像进行对象识别,以判定所述虚拟场景中是否存在除所述目标对象以外的交互对象。在一实施例中,目标检测算法可以为yolo(youonlylookonce)目标检测系统或ssd(singleshotmultiboxdetector)目标检测算法。以采用yolo目标检测系统对虚拟场景的图像进行对象识别为例进行说明。在实际实施时,在对虚拟场景的图像进行对象识别之前,还包括对yolo目标检测模型训练的过程,在一实施例中,可通过如下方式训练得到yolo目标检测模型:采集虚拟场景中包含对象(目标对象和/或交互对象)的图像;对采集的图像中对象所处的区域进行标记,形成训练样本;基于得到的训练样本,采用yolo目标检测算法进行模型训练,得到用于对虚拟场景的图像进行对象识别的yolo目标检测模型。例如,对于虚拟场景为游戏场景来说,采集游戏场景中包含用户所对应的角色和/或包含角色为敌人的帧图像,对采集的图像中不同角色所处的区域进行标记,形成训练样本;基于得到的训练样本,采用yolo目标检测算法进行模型训练,得到用于对游戏场景的图像进行不同角色识别的yolo目标检测模型。步骤402:根据虚拟场景所处的不同阶段,采用调用机器学习模型或条件触发的方式,确定对应所述虚拟场景所处不同阶段的目标操作。在实际实施时,对于虚拟场景的不同阶段,要求的计算复杂程度不同,可根据复杂程度采用对应阶段的处理方式,如此能够提高处理效率,在一实施例中,对应对象交互阶段,由于该虚拟场景所对应的计算复杂度较高,可采用机器学习模型,如深度神经网络模型来处理,对于非对象交互阶段,由于该虚拟场景对应的计算复杂度较低,无需采用神经网络模型处理,可采用条件触发的方式进行处理,接下来对不同阶段确定目标操作的过程进行说明。在一实施例中,当虚拟场景处于对象交互阶段时,可通过如下方式对象交互阶段的目标操作:将包含目标对象的虚拟场景的图像输入深度神经网络模型,得到目标对象在对象交互阶段的目标操作。具体地,可以为将按时间顺序排列的多帧所述图像输入深度神经网络模型,得到对象交互阶段的多个候选操作中每个候选操作的评价值;选取评价值最高的候选操作为目标对象在对象交互阶段的目标操作。这里的候选操作的数量可以依据实际需要进行设定。这里,在一实施例中,在将虚拟场景的图像输入深度神经网络模型之前,需要对图像进行如下预处理:对图像进行尺寸调整,以适配深度神经网络的输入,然后对图像进行灰度化处理。以深度神经网络模型为dqn模型为例进行说明,将依据时序排列的连续的四帧图像进行缩放至适配dqn模型的大小(如84*84*4),然后进行灰度化处理,得到按时间顺序排列的画面队列,然后将其输入dqn模型,得到多个候选操作的q值,选取q值最高的候选操作为目标对象在对象交互阶段的目标操作。在一实施例中,在根据深度神经网络模型确定目标操作之前,可以对深度神经网络模型进行训练,如在线训练,具体的,可通过如下方式实现深度神经网络模型的训练:获取虚拟场景处于对象交互阶段的第一状态信息,以及对应第一状态信息的第一目标操作述第一目标操作为多个候选操作之一;控制目标对象执行第一目标操作,得到第二状态信息;基于第一状态信息及第二状态信息计算得到激励值;基于激励值及第二状态信息,训练深度神经网络模型根据对象交互阶段的状态信息,预测目标对象的目标操作的性能。在实际实施时,获取虚拟场景处于对象交互阶段的第一状态信息可以为:获取当前的虚拟场景的图像帧及虚拟场景的历史图像帧的集合;具体地,历史图像帧是显示顺序在当前图像帧之前的图像帧,可以为一帧或多帧,例如,第一状态信息可以为按时间顺序排列的四帧虚拟场景的图像,其中,最后一帧为当前虚拟场景的图像帧。当目标对象执行第一目标操作后,当前的虚拟场景发生改变,相应的第二状态信息为按时间顺序排列的四帧虚拟场景的图像,其中,最后一帧为更新后的虚拟场景的图像帧。这里,状态信息包括以下至少之一:目标对象的属性值、交互对象的属性值、目标对象的目标操作结果;例如,在游戏的虚拟场景中,属性值可以为角色对应的生命值(血量);再如,在虚拟现实技术实现的商店的虚拟场景中,属性值可以表示顾客针对商品的各种偏好;在游戏的虚拟场景中,目标操作结果可以为目标对象的得分、战斗胜利/失败等。在实际应用中,可通过图像识别确定每帧图像中目标对象的属性值、交互对象的属性值、目标对象的目标操作结果;以虚拟场景为游戏场景为例,可通过图像识别的方式识别游戏角色的生命值,具体地,生命值采用血条来表征,定位血条所在图像中的区域,然后对血条区域进行二值化处理,并统计白色像素所占血条区域的比例,即可得到血量所占百分比;当目标操作结果采用得分来表征时,可通过数字识别的方式得到具体得分,当目标操作结果采用类似“战斗胜利”的文字来表征时,可通过预设的模板匹配算法来实现,如调用文字识别算法对展示的结果进行识别,以判断显示的是“战斗胜利”还是“战斗失败”。在一实施例中,可通过如下方式计算得到激励值:基于第一状态信息及第二状态信息,得到状态变化信息;根据状态变化信息、状态变化与激励值之间的映射关系,计算得到激励值。例如,状态变化包括目标对象生命值的变化,状态变化与激励值之间的映射关系为线性关系,若生命值减少,相应的激励值为负值。在一实施例中,可通过如下方式训练深度神经网络模型根据对象交互阶段的状态信息,预测目标对象的目标操作的性能:根据所述激励值,调整深度神经网络模型的参数;根据调整参数后的深度神经网络模型,获取第三状态信息;基于第二状态信息及第三状态信息计算得到激励值;重复上述操作,直至所述深度神经网络模型收敛。其中,将第二状态信息作为输入,调用调整参数后的深度神经网络模型预测得到相应的目标操作;控制目标对象执行预测得到的目标操作,得到第三状态信息。在实际应用中,深度神经网络模型对应的收敛条件可以根据实际需要进行设置,例如,可以是训练次数达到预设的次数,例如10万次,或者是当前训练得到的模型参数与前一次更新的模型参数的差值小于阈值。由于上述深度神经网络模型是通过样本进行多次迭代训练,根据激励反馈数据调整模型参数后得到的,因此能够逐步提高模型的参数的准确性。在一实施例中,当虚拟场景处于非对象交互阶段时,可通过如下方式对象交互阶段的目标操作:对所述虚拟场景的图像进行至少一个维度的图像识别,得到相应的识别结果;根据所述识别结果所满足的触发条件,得到对应所述非对象交互阶段的目标操作。具体地,在一实施例中,对虚拟场景的图像进行的图像识别可以为以下至少之一:对虚拟场景的图像进行移动指示识别,以判定虚拟场景中是否存在用于指示目标对象进行移动的移动指示标识;对虚拟场景的图像进行操作指示识别,以判定虚拟场景中是否存在用于指示控制目标对象和/或进行场景切换的操作指示标识。这里,以虚拟场景为游戏场景为例,对虚拟场景的图像进行移动指示识别可以为对游戏场景的帧图像进行图像识别,以判定场景中是否存在移动指示标识,如指示移动至此的箭头或指示进行跳跃的指示标识;对虚拟场景的图像进行操作指示识别可以为对游戏场景的帧图像进行图像识别,以判定场景中是否存在操作按键,如控制游戏角色释放技能的按键,控制进行场景切换的按键(如跳过按键)。在一实施例中,对虚拟场景的图像进行移动指示识别及操作指示识别可采用预设的模板匹配算法实现,如通过下方式实现:定位移动指示标识或操作指示标识在所述图像中的区域;对定位的区域进行特征提取,然后与存储的标识的特征进行匹配;当匹配成功时确定虚拟场景的图像中存在移动指示标识或操作指示标识,匹配失败时确定虚拟场景的图像中不存在相应的标识。在一实施例中,在非对象交互阶段,可通过如下方式得到对应非对象交互阶段的目标操作:响应于图像识别为移动指示识别,当识别结果为虚拟场景中存在移动指示标识时,确定所述目标操作为基于所述移动指示标识进行相应的路线移动;当识别结果为虚拟场景中不存在所述移动指示标识时,确定所述目标操作为依据预设方向进行相应的路线移动。在一实施例中,在非对象交互阶段,可通过如下方式得到对应非对象交互阶段的目标操作:响应于图像识别包括移动指示识别及操作指示识别,当识别结果为所述虚拟场景中不存在所述移动指示标识、且存在用于指示控制场景切换的所述操作指示标识时,确定所述目标操作为进行虚拟场景切换;当识别结果为所述虚拟场景中不存在所述移动指示标识、且不存在用于指示控制场景切换的所述操作指示标识时,结束处理流程。步骤403:控制执行所述虚拟场景所处特定阶段对应的目标操作。例如,通过对虚拟场景的图像进行识别,确定当前处于对象交互阶段,通过调用深度神经网络模型确定目标对象的目标操作为释放某一特定技能,则控制目标对象执行释放该特定技能的操作。接下来以虚拟场景为游戏场景为例,对本发明实施例的虚拟场景的数据处理方法进行说明。图7是本发明实施例提供的虚拟场景的数据处理方法的一个可选的流程示意图,参见图7,本发明实施例的虚拟场景的数据处理方法包括:步骤501:采集当前运行游戏的帧图像。这里,终端上安装有游戏应用,如《魂斗罗:归来》,当游戏启动运行后,进行游戏画面的获取,在实际应用中,可通过截屏的方式获取当前运行游戏的连续的多帧画面(即帧图像),在游戏场景中目标对象对应用户控制的游戏角色。步骤502:对采集的帧图像进行对象识别,根据识别结果判断是否处于对象交互阶段,如果处于对象交互阶段,执行步骤503;如果处于非对象交互阶段,执行步骤506。这里,在实际实施时,采用目标检测算法对游戏场景的图像进行对象识别,以判定游戏场景中是否存在除目标对象以外的交互对象,如通过yolo目标检测系统判定同屏画面中是否存在敌人。步骤503:对采集的帧图像进行预处理。在实际应用中,对采集的帧图像进行的预处理包括以下操作:调整帧图像的尺寸至适配dqn模型的尺寸,然后对进行尺寸调整后的帧图像进行灰度化处理,按时间顺序排列形成连续的帧图像队列。步骤504:将进行预处理后的帧图像输入训练得到的dqn模型,得到多个候选操作的q值。这里,输入dqn模型的为经过预处理的连续的4帧图像,dqn模型的一个示意图如图8所示,dqn模型包括多层卷积层以及多层全连接层,具体层数可以根据实际需要进行设置。图像特征提取层包括卷积层(图8中的conv),每层由多个二维平面组成,而每个平面由多个独立神经元组成。卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二次提取的池化层(图8中的pooling),这种特有的两次特征提取结构使网络在识别时对输入图像有较高的畸变容忍能力。得到图像内容特征后,可以输入到第一层全连接层(图8中的fc)中,第一层全连接层的输出作为第二层全连接层的输入。经过多层全连接层的映射后,最后得到输出(output)。这里,对dqn模型的训练参照前述记载,此处不做赘述。步骤505:控制游戏场景中目标对象执行q值最大的候选操作。步骤506:判断采集的帧图像中是否存在指示目标对象进行移动的移动指示标识,如果存在,执行步骤507;如果不存在,执行步骤508。这里,在实际实施时,可以通过预设的模板匹配算法判断图像中是否存在移动指示标识,例如,定位移动指示标识所处图像的区域,对定位得到的区域中的图像进行特征提取,并将提取得到的特征与存储的特征进行匹配,匹配成功时确定存在移动指示标识,匹配失败时,则确定不存在移动指示标识。移动指示标识可以为指示游戏角色移动到某特定位置的指示箭头,或指示游戏角色进行跳跃的指示箭头。步骤507:基于移动指示标识控制目标对象进行相应的路线移动。步骤508:判断采集的帧图像中是否存在用于指示进行场景切换的操作指示标识,如果存在,执行步骤509;如果不存在,执行步骤510。这里,通过对采集的帧图像进行的操作指示识别,判定图像中是否存在用于指示进行场景切换的操作指示标识。这里的操作指示标识可以为如“跳过”的文字指示。步骤509:基于操作指示标识,控制进行游戏场景切换。步骤510:结束本次处理流程。接下来以虚拟场景为横版魂斗罗游戏场景为例,对本发明实施例的虚拟场景的数据处理方法进行说明。图9是本发明实施例提供的虚拟场景的数据处理方法的一个可选的流程示意图,参见图9,本发明实施例的虚拟场景的数据处理方法包括:步骤601:获取终端当前运行游戏的帧图像。这里,可通过屏幕截屏的方式获取一帧或多帧运行的游戏的画面。需要说明的是游戏中由用户控制的角色在本文中称之为主角,与主角进行交互的对象称之为敌人,如boss。步骤602:对获取的游戏的帧图像进行图像识别,得到识别结果。在一实施例中,可以从多个维度对游戏画面进行图像识别,例如,对获取的游戏的帧图像进行以下识别:主角的生命值,boss的生命值,各个可操作的按键,同屏出现的敌人,得分值,游戏结果等。在实际应用中,对图像进行的不同维度的识别所采用的算法如图10所示,图10为本发明实施例提供的多维度的图像识别的示意图,基于图10,接下来对各个维度进行的图像识别分别进行说明。1)、生命值识别在本发明实施例中,生命值识别包括游戏主角的生命值的识别及boss的生命值识别;图11为本发明实施例提供的进行生命值识别的一个可选的示意图,参见图11,生命值采用血条来表征,对血条区域进行二值化,然后统计白色的像素点占整个血条的比例,此比例即生命值百分比。2)、按键识别在本发明实施例中,对按键的识别可以包括技能键识别,跳过键识别等,图12为本发明实施例提供的游戏按键的示意图,参见图12,其中,编号11、12所示均为技能按键,编号13为用于进行游戏场景切换的跳过键;可采用预设的固定位置的模板匹配算法得到,例如,对跳过键识别可以为对对应跳过键的区域进行文字识别,并判断是否识别得到“跳过”的文字。3)、敌人识别运用目标检测算法yolo或ssd来检测游戏内出现的小兵,小怪等可攻击的敌人。在实际实施时,需要先进行yolo神经网络模型训练,然后基于训练得到的yolo神经网络模型进行敌人识别。这里对yolo神经网络模型训练进行说明,yolo神经网络模型训练主要包括:采集包含敌人的游戏画面(帧图像),然后人工标注包含敌人的区域,生成训练样本,采用yolo目标识别算法进行模型训练,得到用于识别敌人的yolo神经网络模型。4)、得分识别由于进行战斗的得分会显示在图像中的固定位置区域,因此在得分显示的位置区域内进行数字识别,得到当前的分数,如得分50分,通过数字识别得到50可知得分为50。5)、游戏结果识别游戏结束画面是否显示胜利还是失败的检测,用固定位置的模板匹配算法即可做到。由于游戏结束时,游戏结果会显示在图像的特定区域,如图像中间位置,通过对所述特定区域进行文字识别,可得到“战斗胜利”或“战斗失败”的游戏结果。步骤603:根据图像识别结果,判断游戏场景是否为战斗场景,如果是战斗场景,执行步骤604;如果不是战斗场景,执行步骤606。这里,在实际实施时,是否为战斗场景的判断依据为帧图像中是否存在与主角同屏的敌人,如果存在,则判定当前的游戏场景为战斗场景,如果不存在,则判定当前的游戏场景非战斗场景。步骤604:将连续的四帧游戏的帧图像输入训练得到的dqn模型,得到7个候选操作的q值。这里,候选操作的数量及相应的操作内容可以根据实际需要进设定,例如候选操作可以包括:无操作,向左移动,向右移动,下蹲,跳跃,主角的2个技能。图13为本发明实施例提供的dqn深度神经网络模型的一个示意图,参见图13,对获取的游戏的帧图像缩放至176*108*4的尺寸,然后进行灰度化处理,从按时间顺序连续排列的帧图像队列中选取连续的四帧图像,输入至训练得到的dqn深度神经网络模型,输出7个候选操作的q值。对dqn深度神经网络模型的训练进行说明。图14为本发明实施例提供的在线训练dqn模型的方法流程示意图,参见图14,在线训练dqn模型的方法包括:步骤701:实时获取游戏画面。步骤702:对获取的游戏画面进行图像识别。步骤703:依据识别结果判断当前的游戏场景是否处于战斗阶段,如果是,执行步骤704;如果不是,执行非战斗阶段所对应的处理。步骤704:构造输入状态样本。这里,输入状态样本为经过预处理的游戏帧图像。步骤705:计算激励值。这里,激励函数以能打赢战斗为目的而设计。具体可以是根据图像识别结果中的一些状态变化来设置激励值,状态变化与激励值存在映射关系,参见表1,表1示出了游戏场景的状态变化与激励值之间的映射关系。状态变化含义激励值主角的血量损失主角血量减少,则惩罚-0.01/unitboss血量损失boss血量减少,则奖励0.01/unit得分增长得分增长,则奖励0.1/unit受伤受到伤害,则惩罚-0.01/unit表1步骤706:在线训练dqn模型。在进行dqn模型训练过程中,通过获取状态变化映射得到相应的激励值,并通过得到的激励值对dqn深度神经网络模型的参数进行调整,通过参数调整后的dqn模型进一步预测主角所要执行的动作,通过控制主角执行动作,使得游戏场景发生状态变化。步骤707:控制输出战斗动作,并执行步骤701。在模型训练过程中,每输出一次战斗动作,完成一次状态的改变,基于激励值实现一次模型参数的调整,通过不断的迭代训练,直至dqn模型收敛,训练结束。步骤605:控制游戏主角执行q值最大的候选操作。步骤606:判断是否需要行走,如果不需要,执行步骤607;如果需要,执行步骤609。这里,在实际实施时,是否需要行走的判断依据为游戏的帧图像中存在指示箭头或同屏中无敌人,通过对图像进行图像识别来判断。步骤607:判断是否需要进行游戏场景切换,如果需要,执行步骤608;如果不需要,结束处理流程。这里,是否需要场景切换的判断依据是可操作按键消失或出现跳过按键,在实际应用中,玩家在游戏时,经常会发生一些过场动画场景或者boss出现时的对话场景,处在该游戏场景下,游戏是不可玩的,因此当通过识别得到存在跳过按键时,可知需要控制进行游戏场景切换。步骤608:控制进行游戏场景切换。这里,在实际应用中,可通过控制点击跳过按键实现场景切换。步骤609:判断游戏场景中是否存在指示箭头,如果存在,执行步骤610;如果不存在,执行步骤611。通过图像识别进一步判断图像中是否存在用于指示主角移动的指示箭头。步骤610:控制主角基于指示箭头进行移动。横版射击游戏中,路线行走分为水平路线行走和垂直路线跳跃。水平路线行走为按默认路线行走(向右行走)。相应的,指示箭头分为指示水平移动的箭头及指示跳跃的箭头,如果是指示跳跃的箭头,需要通过图像识别技术识别出对应的箭头位置,然后移动到该箭头位置处进行跳跃,才能在正确的位置进行垂直路线的跳跃。611:控制主角向右行走。应用本发明上述实施例,具备以下有益效果:1)根据游戏场景所处的不同阶段(战斗阶段、非战斗阶段)采用不同的处理方式,对于战斗阶段,采用dqn模型输出战斗的操作,由于dqn模型只解决战斗场景下的问题,所以目标明确,场景单一,能提高训练速度;对非战斗阶段,无需采用复杂的神经网络模型,通过简单的规则或条件触发便可实现,降低了对设备的计算能力的要求,提高了处理效率。2)实现横版射击类游戏ai,能够替代测试人员进入到游戏内进行自动玩耍,起到辅助游戏测试的目的。3)批量部署ai进行游戏自动玩耍的测试,能节省传统测试需要的大量人力资源开销。4)dqn的战斗模型借助于深度神经网络,所以具有良好的泛化性。继续说明本发明实施例提供的虚拟场景的数据处理装置,作为本发明实施例提供的虚拟场景的数据处理装置采用软硬件结合实施的示例,本发明实施例所提供的虚拟场景的数据处理装置可以直接体现为由处理器310执行的不同形式的软件模块,软件模块可以位于存储介质中,存储介质位于存储器340,处理器310读取存储器340中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器310以及连接到总线350的其他组件)完成本发明实施例提供的虚拟场景的数据处理方法。图15为本发明实施例提供的虚拟场景的数据处理装置的组成结构示意图,参见图15,装置包括:识别单元341,用于对虚拟场景的图像进行识别,以确定所述虚拟场景所处的阶段;确定单元342,用于根据所述虚拟场景所处的不同阶段,采用调用深度神经网络模型或条件触发的方式,确定对应所述虚拟场景所处不同阶段的目标操作;执行单元343,用于控制执行所述虚拟场景所处特定阶段对应的目标操作。在一实施例中,所述确定单元,还用于响应于所述虚拟场景处于对象交互阶段,将包含目标对象的虚拟场景的图像输入深度神经网络模型,得到所述目标对象在所述对象交互阶段的目标操作。在一实施例中,所述确定单元,还用于将按时间顺序排列的多帧所述图像输入所述深度神经网络模型,得到所述对象交互阶段的多个候选操作中每个候选操作的评价值;选取评价值最高的候选操作为所述目标对象在所述对象交互阶段的目标操作。在一实施例中,所述装置还包括:获取单元及训练单元;其中,所述获取单元,用于获取所述虚拟场景处于对象交互阶段的第一状态信息,以及对应所述第一状态信息的第一目标操作,所述第一目标操作为所述多个候选操作之一;所述执行单元,还用于控制所述目标对象执行所述第一目标操作,得到第二状态信息;所述训练单元,用于基于所述第一状态信息及所述第二状态信息计算得到激励值;以及,基于所述激励值及所述第二状态信息,训练所述深度神经网络模型根据对象交互阶段的状态信息,预测所述目标对象的目标操作的性能。在一实施例中,所述训练单元,还用于基于所述第一状态信息及所述第二状态信息,得到状态变化信息;根据所述状态变化信息、状态变化与激励值之间的映射关系,计算得到激励值;其中,状态信息包括以下至少之一:目标对象的属性值、交互对象的属性值、目标对象的目标操作结果。在一实施例中,所述训练单元,还用于根据所述激励值,调整所述深度神经网络模型的参数;根据调整参数后的深度神经网络模型,获取第三状态信息;基于所述第二状态信息及所述第三状态信息计算得到激励值;重复上述操作,直至所述深度神经网络模型收敛。在一实施例中,所述识别单元,还用于响应于所述虚拟场景处于非对象交互阶段,对所述虚拟场景的图像进行至少一个维度的图像识别,得到相应的识别结果;所述确定单元,还用于根据所述识别结果所满足的触发条件,得到对应所述非对象交互阶段的目标操作。在一实施例中,所述识别单元,还用于对所述虚拟场景的图像执行以下至少之一:对所述虚拟场景的图像进行移动指示识别,以判定所述虚拟场景中是否存在用于指示目标对象进行移动的移动指示标识;对所述虚拟场景的图像进行操作指示识别,以判定所述虚拟场景中是否存在用于指示控制所述目标对象和/或进行场景切换的操作指示标识。在一实施例中,所述确定单元,还用于响应于所述图像识别为移动指示识别,当识别结果为所述虚拟场景中存在所述移动指示标识时,确定所述目标操作为基于所述移动指示标识进行相应的路线移动;当识别结果为所述虚拟场景中不存在所述移动指示标识时,确定所述目标操作为依据预设方向进行相应的路线移动。在一实施例中,所述确定单元,还用于响应于所述图像识别包括移动指示识别及操作指示识别,当识别结果为所述虚拟场景中不存在所述移动指示标识、且存在用于指示控制场景切换的所述操作指示标识时,确定所述目标操作为进行虚拟场景切换。在一实施例中,所述识别单元,还用于对所述虚拟场景的图像进行对象识别;当识别结果表征所述虚拟场景中仅存在目标对象时,确定所述虚拟场景处于非对象交互阶段;当识别结果表征所述虚拟场景中存在除所述目标对象以外的交互对象时,确定所述虚拟场景处于对象交互阶段。在一实施例中,所述识别单元,还用于采用目标检测算法对所述虚拟场景的图像进行对象识别,以判定所述虚拟场景中是否存在除所述目标对象以外的交互对象。本发明实施例还提供了一种存储介质,存储有可执行程序,所述可执行程序被处理器执行时,实现本发明实施例上述的虚拟场景的数据处理方法。这里需要指出的是:以上涉及虚拟场景的数据处理装置的描述,与上述虚拟场景的数据处理方法描述是类似的,同方法的有益效果描述,不做赘述。对于本发明所述虚拟场景的数据处理装置实施例中未披露的技术细节,请参照本发明方法实施例的描述。以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1