虚拟角色的卡住检测方法、模型训练方法、装置及设备与流程

文档序号:18033695发布日期:2019-06-28 22:59阅读:134来源:国知局
虚拟角色的卡住检测方法、模型训练方法、装置及设备与流程

本申请实施例涉及计算机和互联网技术领域,特别涉及一种虚拟角色的卡住检测方法、模型训练方法、装置及设备。



背景技术:

目前,用户可以根据需求在终端中安装游戏类应用程序,例如第三人称射击游戏(third-personalshootinggame,tps)、第一人称射击游戏(first-personalshootinggame,fps)等等。

在上述游戏类应用程序中,用户通常可以控制一个或多个虚拟角色在游戏场景中行动。而游戏场景中存在障碍物,例如围墙、树木等,当虚拟角色在行进过程中遇到上述障碍物时,有可能出现无法继续行进的情况,也即虚拟角色被卡住了。

相关技术中,终端通过如下方式来检测虚拟角色是否被卡住了:终端获取用于表示虚拟角色在行进前后的两帧图像,之后相关技术人员确定需要从上述两帧图像中提取的特征,之后按照确定出的特征进行特征提取,之后计算上述两帧图像的特征之间的欧式距离,并通过上述欧式距离的大小来判断虚拟角色是否被卡住。若欧式距离较大时,则说明虚拟角色未被卡住;若欧式距离较小,则说明虚拟角色被卡住了。

由于待提取的特征是由人工确定的,提取出的特征不够准确,因此上述检测方法提供的检测结果也不够准确。



技术实现要素:

本申请实施例提供了一种虚拟角色的卡住检测方法、模型训练方法、装置及设备,可用于解决相关技术中由于待提取的特征是由人工确定的,提取出的特征不够准确,导致的检测结果不够准确的问题。

一方面,本申请实施例提供了一种虚拟角色的卡住检测方法,所述方法包括:

获取游戏应用程序中的二元图像组,所述二元图像组包括第一图像帧和第二图像帧,且所述第一图像帧和所述第二图像帧之间的时间间隔小于第一阈值;

调用完成训练的神经网络模型,提取所述第一图像帧的抽象特征和所述第二图像帧的抽象特征;

根据所述第一图像帧的抽象特征和所述第二图像帧的抽象特征,计算所述第一图像帧和所述第二图像帧之间的相似度;

若所述相似度大于预设门限值,则确定所述游戏应用程序中的虚拟角色处于卡住状态,所述卡住状态是指所述虚拟角色被游戏场景中的物体限制移动的状态。

另一方面,本申请实施例提供了一种模型训练方法,所述方法包括:

构建神经网络模型;

获取至少一个三元图像组;其中,所述三元图像组包括基准图像帧、正样本图像帧和负样本图像帧,所述基准图像帧与所述正样本图像帧之间的第一时间间隔,小于所述基准图像帧与所述负样本图像帧之间的第二时间间隔;

通过所述神经网络模型,提取所述基准图像帧的抽象特征、所述正样本图像帧的抽象特征以及所述负样本图像帧的抽象特征;

计算所述基准图像帧的抽象特征与所述正样本图像帧的抽象特征之间的第一相似度,以及所述基准图像帧的抽象特征与所述负样本图像帧的抽象特征之间的第二相似度;

根据所述第一相似度和所述第二相似度计算所述神经网络模型对应的损失函数值;

当所述损失函数值小于预设阈值时,停止对所述神经网络模型的训练,得到完成训练的所述神经网络模型;其中,完成训练的所述神经网络模型用于检测游戏应用程序中的虚拟角色是否处于卡住状态,所述卡住状态是指所述虚拟角色被游戏场景中的物体限制移动的状态。

再一方面,本申请实施例提供了一种虚拟角色的卡住检测装置,所述装置包括:

图像组获取模块,用于获取游戏应用程序中的二元图像组,所述二元图像组包括第一图像帧和第二图像帧,且所述第一图像帧和所述第二图像帧之间的时间间隔小于第一阈值;

特征提取模块,用于调用完成训练的神经网络模型,提取所述第一图像帧的抽象特征和所述第二图像帧的抽象特征;

相似度计算模块,用于根据所述第一图像帧的抽象特征和所述第二图像帧的抽象特征,计算所述第一图像帧和所述第二图像帧之间的相似度;

卡住检测模块,用于若所述相似度大于预设门限值,则确定所述游戏应用程序中的虚拟角色处于卡住状态,所述卡住状态是指所述虚拟角色被游戏场景中的物体限制移动的状态。

又一方面,本申请实施例提供了一种模型训练装置,所述装置包括:

模型构建模块,用于构建神经网络模型;

图像组获取模块,用于从游戏应用程序中获取至少一个三元图像组;其中,所述三元图像组包括基准图像帧、正样本图像帧和负样本图像帧,所述基准图像帧与所述正样本图像帧之间的第一时间间隔,小于所述基准图像帧与所述负样本图像帧之间的第二时间间隔;

特征提取模块,用于通过所述神经网络模型,提取所述基准图像帧的抽象特征、所述正样本图像帧的抽象特征以及所述负样本图像帧的抽象特征;

相似度计算模块,用于计算所述基准图像帧的抽象特征与所述正样本图像帧的抽象特征之间的第一相似度,以及所述基准图像帧的抽象特征与所述负样本图像帧的抽象特征之间的第二相似度;

损失计算模块,用于根据所述第一相似度和所述第二相似度计算所述神经网络模型对应的损失函数值;

模型生成模块,用于当所述损失函数值小于预设阈值时,停止对所述神经网络模型的训练,得到完成训练的所述神经网络模型;其中,完成训练的所述神经网络模型用于检测游戏应用程序中的虚拟角色是否处于卡住状态,所述卡住状态是指所述虚拟角色被游戏场景中的物体限制移动的状态。

又一方面,本申请实施例提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述一方面所述的虚拟角色的卡住检测方法。

又一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述另一方面所述的模型训练方法。

又一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述一方面所述的虚拟角色的卡住检测方法。

又一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述另一方面所述的模型训练方法。

又一方面,提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于执行上述一方面所述的虚拟角色的卡住检测方法。

又一方面,提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于执行上述另一方面所述的模型训练方法。

本申请实施例提供的技术方案可以带来如下有益效果:

通过由训练完成的神经网络模型对游戏应用程序中的两个图像帧进行特征提取,并计算提取到的两个特征之间的相似度,之后基于上述相似度来判断游戏应用程序中的虚拟角色是否处于卡住状态,相比于相关技术中需要人工定义图像帧的特征,本申请实施例提供的技术方案,通过由神经网络模型来提取图像帧的特征,可以提高上述特征的提取效率及提取准确率,后续基于相似度来检测虚拟角色是否被卡住时,检测结果的准确率也得以提高。

附图说明

图1是本申请一个实施例示出的虚拟角色的卡住检测方法的流程图;

图2是本申请一个实施例示出的虚拟角色处于卡住状态的界面示意图;

图3是本申请一个实施例示出的神经网络模型的结构示意图;

图4是本申请一个实施例示出的模型训练的框架图;

图5是本申请一个实施例示出的虚拟角色的卡住检测的流程图;

图6是本申请一个实施例示出的模型训练方法的流程图;

图7是本申请一个实施例示出的虚拟角色的卡住检测装置的框图;

图8是本申请另一个实施例示出的模型训练装置的框图;

图9是本申请一个实施例示出的终端的框图;

图10是本申请一个实施例示出的计算机设备的框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

下面对本申请实施例涉及的相关名词进行介绍。

虚拟角色也称为游戏角色、游戏人物等,是指玩家在游戏过程中代入和操控的对象。在一个游戏对局中,虚拟角色的数量可以是一个,也可以是多个。当游戏对局中虚拟角色的数量为一个时,通常为单人制游戏,该虚拟角色是指当前客户端操控的虚拟角色。当游戏对局中虚拟角色的数量为多个时,可以是单人制游戏,当前客户端对应于多个不同的虚拟角色,玩家可在游戏对局过程中更换其代入和操控的虚拟角色;也可以是多人制游戏,多个虚拟角色对应于多个不同的客户端,每一个客户端的玩家代入和操控一个或多个虚拟角色,并且,不同玩家所代入和操控的虚拟角色可以属于同一阵营,也可以属于不同阵营。在游戏对局过程中,虚拟角色能够在游戏场景中移动,例如行走、奔跑、跳跃等,且可以变换不同的姿态。另外,对于多人在线战术竞技游戏(multiplayeronlinebattlearenagames,moba)游戏,虚拟角色还可以在游戏场景中执行释放技能、攻击敌方单位等操作。

游戏场景是指在游戏对局过程中营造出的供虚拟角色进行游戏竞技的虚拟场景,如虚拟地图、虚拟岛屿、虚拟房屋等。游戏场景可以是3d(三维)形式的,也可以是2d(二维)形式的;其中,3d游戏场景更为立体、逼真,用户体验感更佳。客户端渲染显示的游戏画面中,包含游戏对局所提供的游戏场景,可选地还包括位于该虚拟场景中的一个或多个虚拟角色。

本申请实施例提供的技术方案,通过由训练完成的神经网络模型对游戏应用程序中的两个图像帧进行特征提取,并计算提取到的两个特征之间的相似度,之后基于上述相似度来判断游戏应用程序中的虚拟角色是否处于卡住状态,相比于相关技术中需要人工定义图像帧的特征,本申请实施例提供的技术方案,通过由神经网络模型来提取图像帧的特征,可以提高上述特征的提取效率及提取准确率,后续基于相似度来检测虚拟角色是否被卡住时,检测结果的准确率也得以提高。

本申请实施例提供的技术方案,各步骤的执行主体可以是终端。可选地,终端运行有游戏应用程序。在游戏应用程序中,用户能够控制虚拟角色在虚拟场景中行动,比如控制虚拟角色走动、跑动、跳跃、打斗、射击等等。上述游戏应用程序可以是tps、fps、moba等等。各步骤的执行主体也可以是上述游戏应用程序。在本申请实施例中,仅以各步骤的执行主体为终端为例进行说明。

请参考图1,其示出了本申请一个实施例示出的虚拟角色的卡住检测方法的流程图。该方法包括:

步骤101,获取游戏应用程序中的二元图像组。

在游戏应用程序中,用户能够控制虚拟角色在虚拟场景中行动,上述行动包括走动、跑动、跳跃、打斗、射击等等,本申请实施例对此不作限定。在游戏应用程序的运行过程中,终端显示游戏应用程序的画面以供用户实时查看虚拟角色所处的状态。

二元图像组包括第一图像帧和第二图像帧,且第一图像帧和第二图像帧之间的时间间隔小于第一阈值。上述第一图像帧与第二图像帧均用于展示游戏应用程序所呈现的画面内容。第一图像帧和第二图像帧之间的时间间隔也即是第一图像帧的显示时间戳与第二图像帧的显示时间戳之间的时间间隔。上述时间间隔可以由终端预先设定,本申请实施例对此不作限定。图像帧的显示时间戳是指终端显示上述图像帧的时间。第一图像帧的显示时间戳可以位于第二图像帧的显示时间戳之前,也可以位于第二图像帧的显示时间戳之后。第一阈值可以根据实验或经验设定,本申请实施例对此不作限定。

可选地,终端通过截图工具从游戏应用程序的显示画面中截取两个图像帧,以得到第一图像帧和第二图像帧。在其它可能的实现方式中,终端也可以从游戏应用程序的渲染线程中获取渲染完成的第一图像帧的第二图像帧。

步骤102,调用完成训练的神经网络模型,提取第一图像帧的抽象特征和第二图像帧的抽象特征。

完成训练的神经网络模型是指通过多组训练样本数据对神经网络进行训练得到的。神经网络可以是卷积神经网络(convolutionalneuralnetwork,cnn)、人工神经网络(artificialneuralnetwork,ann)、深度神经网络(deepneuralnetworks,dnn)等,本申请实施例对此不作限定。训练机器学习模型时采用的机器学习算法可以是反向传播算法(back-propagation,bp)、更快的区域卷积神经网络fasterrcnn(fasterregionswithconvolutionalneuralnetwork,fasterrcnn)算法等,本申请实施例对此不作限定。

可选地,神经网络模型包括:一个输入层、至少一个隐藏层、和一个输出层。输入层的输入数据为第一图像帧和第二图像帧,输出层的输出结果是第一图像帧与第二图像帧之间的相似度。确定过程如下:将第一图像帧和第二图像帧输入至上述完成训练的神经网络模型的输入层,由上述完成训练的神经网络模型的隐藏层对上述特征数据进行特征提取,并对提取到的特征进行相似度计算,最后由输出层输出该第一图像帧与第二图像帧之间的相似度。另外,在本申请实施例中,对隐藏层的具体结构不作限定。一般来说,神经网络的层数越多,效果越好但计算时间也会越长,在本申请实施例中,完成训练的神经网络模型是预置在终端中,受制于终端的存储空间、处理能力等因素,上述完成训练的神经网络模型的层数通常较少,也称之为轻量级的神经网络模型。

可选地,神经网络模型包括至少一个特征提取模块,用于提取第一图像帧的抽象特征的特征提取模块,与用于提取第二图像帧的抽象特征的特征提取模块可以相同,也可以不相同。

步骤103,根据第一图像帧的抽象特征和第二图像帧的抽象特征,计算第一图像帧和第二图像帧之间的相似度。

第一图像帧与第二图像帧之间的相似度用于衡量第一图像帧与第二图像帧之间的相似程度。第一图像帧与第二图像帧之间越相似,则第一图像帧与第二图像帧之间的相似度越大;第一图像帧与第二图像帧之间越不相似,则第一图像帧与第二图像帧之间的相似度越小。

在本申请实施例中,终端通过计算第一图像帧的抽象特征与第二图像帧的抽象特征之间的欧式距离,来计算第一图像帧与第二图像帧之间的相似度。欧式距离与相似度呈负相关关系。也即,第一图像帧的抽象特征与第二图像帧的抽象特征之间的欧式距离越小,则第一图像帧与第二图像帧之间的相似度越大;第一图像帧的抽象特征与第二图像帧的抽象特征之间的欧式距离越大,则第一图像帧与第二图像帧之间的相似度越小。

可选地,神经网络模型中包括至少一个相似度计算模块,由该相似度计算模块来计算第一图像帧和第二图像帧之间的相似度。在其它可能的实现方式中,相似度计算模块也可以是独立于神经网络模型之外的模块,神经网络模型在输出第一图像帧的抽象特征与第二图像帧的抽象特征后,上述抽象特征被输入至相似度计算模块,由该相似度计算模块输出第一图像帧与第二图像帧之间的相似度。

步骤104,若相似度大于预设门限值,则确定游戏应用程序中的虚拟角色处于卡住状态。

预设门限值可以根据实际需求设定,本申请实施例对此不作限定。示例性地,预设门限值为75%。卡住状态是指虚拟角色被游戏场景中的物体限制移动的状态。例如,虚拟角色被虚拟场景中的围墙拦住、虚拟角色被虚拟场景中的底面凹陷处困住等等。结合参考图2,其示出了本申请一个实施例提供的虚拟角处于卡住状态的界面示意图。虚拟角色21被虚拟台阶22阻拦,无法继续前进。

在虚拟角色的行动过程中,虚拟角色的动作幅度较大,因此游戏应用程序所显示的画面也在不断变化,因此在游戏应用程序中按照一定时间间隔获取两张图像帧时,上述两张图像帧之间的相似度应当较小。因此在本申请实施例中,通过从正在运行的游戏应用程序中获取两张图像帧,并通过上述两张图像帧之间的相似度来确定虚拟角色是否处于卡住状态。

若上述两张图像帧之间的相似度大于预设门限值,则确定游戏应用程序中的虚拟角色处于卡住状态。若上述两张图像帧之间的相似度小于或等于预设门限值,则确定虚拟角色未处于卡住状态。

综上所述,本申请实施例提供的技术方案,通过由训练完成的神经网络模型对游戏应用程序中的两个图像帧进行特征提取,并计算提取到的两个特征之间的相似度,之后基于上述相似度来判断游戏应用程序中的虚拟角色是否处于卡住状态,相比于相关技术中需要人工定义图像帧的特征,本申请实施例提供的技术方案,通过由神经网络模型来提取图像帧的特征,可以提高上述特征的提取效率及提取准确率,后续基于相似度来检测虚拟角色是否被卡住时,检测结果的准确率也得以提高。

在基于图1所示实施例提供的一个可选实施例中,若确定出游戏应用程序中的虚拟角色处于卡住状态,则终端可以执行随机动作以摆脱卡住状态。

上述随机动作是游戏应用程序中定义的动作,比如跳跃、转向。可选地,终端在执行随机动作之后,可以从游戏应用程序中获取两张图像帧,其中一张图像帧是终端在虚拟角色执行随机动作之前获取的,另一张图像帧是终端在虚拟角色执行随机动作之后获取的,之后终端通过完成训练的神经网络模型提取上述两张图像帧之间的抽象特征,并计算上述两张图像帧之间的抽象特征对应的相似度,以判断虚拟角色是否仍处于卡住状态,若虚拟角色仍处于卡住状态,则终端继续执行随机动作,并从游戏应用程序中获取两张图像帧的步骤重新开始执行,直至虚拟角色摆脱卡住状态。

在其它可能的实现方式中,终端还可以接受用户对虚拟角色下发的操作指令,之后终端控制虚拟角色执行该操作指令,以摆脱卡住状态。

在基于图1所示实施例提供的一个可选实施例中,在步骤102之前,终端需要先获取完成训练的神经网络模型。上述神经网络模型可以由终端训练得到,也可以由其它设备训练得到,例如游戏应用程序对应的后台服务器。下面对神经网络模型的训练过程进行讲解:

步骤201,构建神经网络模型。

构建神经网络模型主要确定神经网络模型的如下内容:神经网络模型所包括的层,比如卷积层、归一化层、一维化层、全连接层等等。神经网络模型所包括的各个层的数量、参数以及连接关系等等。

在一个具体的例子中,结合参考图3,其示出了本申请一个实施例示出的神经网络模型的示意图。该神经网络模型包括一维化(flatten)层、7个卷积(convolution)层以及6个归一化(batchnormolization)层。一维化层用于将图像帧转化为一维特征。卷积层用于进行特征提取。其中,第一卷积层的内核尺寸(kernrlsize)为5,步长(stride)为2,输出(output)为48,第二卷积层的内核尺寸为1,步长为1,输出为32,第三卷积层的内核尺寸为3,步长为2,输出为32,第四卷积层的内核尺寸为1,步长为1,输出为16,第五卷积层的内核尺寸为3,步长为2,输出为16,第六卷积层的内核尺寸为1,步长为1,输出为8,第七卷积层的内核尺寸为3,步长为2,输出为8。归一化层用于对卷积层的输出进行归一化处理。上述各个层之间的连接关系可以参考图3。

步骤202,获取至少一个三元图像组。

三元图像组包括基准图像帧、正样本图像帧和负样本图像帧。基准图像帧与正样本图像帧之间的第一时间间隔,小于基准图像帧与负样本图像帧之间的第二时间间隔。第一时间间隔是基准图像帧的显示时间戳与正样本图像帧的显示时间戳之间的时间间隔。第二时间间隔是基准图像帧的显示时间戳与正样本图像帧的显示时间戳之间的时间间隔。可选地,第一时间间隔小于第二阈值,第二时间间隔大于第三阈值。上述第二阈值、第三阈值均可以根据实际需求设定,本申请实施例对此不作限定。第二阈值小于第三阈值。

可选地,步骤202可以包括如下几个子步骤:

步骤202a,获取游戏应用程序的录制视频。

游戏应用程序的录制视频是指对游戏应用程序运行过程中显示的画面进行录制得到的视频。在一种可能的实现方式中,游戏应用程序的设置界面包括有录制按钮,若用户需要录制视频,则可以点击该录制按钮,后续终端在游戏应用程序的运行过程中对画面进行录制,得到录制视频。在另一种可能的实现方式中,终端提供有录屏功能,用户选择开启该录屏功能后,之后运行游戏应用程序,此时终端对游戏应用程序的画面进行录制,得到录制视频。在又一种可能的实现方式中,终端从网络中获取上述录制视频。

步骤202b,从录制视频中每隔预设时间间隔提取一张图像帧,得到至少三张图像帧。

预设时间间隔可以根据实际需求设定,本申请实施例对此不作限定。示例性地,预设时间间隔为0.5秒。

步骤202c,从至少三张图像帧中选取至少一张基准图像帧。

终端可以将上述至少三张图像帧中的任意一帧图像确定为基准图像帧。

步骤202d,对于每一张基准图像帧,选取一张与基准图像帧之间的时间间隔小于第二阈值的图像帧作为正样本图像帧,选取一张与基准图像帧之间的时间间隔大于第三阈值的图像帧作为负样本图像帧。

第二阈值、第三阈值均可以根据实际需求设定,本申请实施例对此不作限定。由于与基准图像帧之间的时间间隔小于第二阈值的图像帧通常存在多帧,终端可以选择上述多帧中的任意一帧作为正样本图像帧。由于与基准图像帧之间的时间间隔大于第三阈值的图像帧通常存在多帧,终端可以选择上述多帧中的任意一帧作为正样本图像帧。

步骤202e,将基准图像帧、正样本图像帧、负样本图像帧确定为一个三元图像组。

终端将上述基准图像帧、正样本图像帧、负样本图像帧确定为一个三元图像组。

在本申请实施例中,终端对步骤201和步骤202的执行顺序不作限定。终端可以先执行步骤201,再执行步骤202;也可以先执行步骤202,再执行步骤201;还可以同时执行步骤201和步骤202。

步骤203,通过神经网络模型,提取基准图像帧的抽象特征、正样本图像帧的抽象特征以及负样本图像帧的抽象特征。

可选地,神经网络模型中包括至少一个特征提取模块。特征提取模块用于提取图像帧中的抽象特征。用于提取基准图像帧的抽象特征的特征提取模块、用于提取正样本图像帧的抽象特征的特征提取模块、用于提取负样本图像帧的抽象特征的特征提取模块可以相同,也可以不相同。

步骤204,计算基准图像帧的抽象特征与正样本图像帧的抽象特征之间的第一相似度,以及基准图像帧的抽象特征与负样本图像帧的抽象特征之间的第二相似度。

可选地,神经网络模型还可以包括至少一个相似度计算模块。相似度计算模块用于计算抽象特征之间的相似度。用于计算第一相似度的相似度计算模块,与用于计算第二相似度的相似度计算模块可以相同,也可以不相同。在其他可能的实现方式中,相似度计算模块可以是独立于神经网络模型之外的模块。

步骤205,根据第一相似度和第二相似度计算神经网络模型对应的损失函数值。

可选地,终端采用如下公式来计算神经网络模型对应的损失函数值loss:

n代表三元图像组的数量,n的取值可以根据对神经网络模型的精度要求实际确定。若对神经网络模型的精度要求较高,则n的取值较大;若对神经网络模型的精度要求较低,则n的取值较小。示例性地,n的取值为500。i为小于或等于n的正整数。

α为预设常数。在上述公式中,α用于表示基准图像帧的抽象特征与负样本图像帧的抽象特征的期望距离,用于表示基准图像帧的抽象特征与正样本图像帧之间的期望距离。

代表第i个三元图像组的基准图像帧的抽象特征与正样本图像帧的抽象特征之间的欧式距离;代表第i个三元图像组的基准图像帧的抽象特征与负样本图像帧的抽象特征之间的欧氏距离。代表基准图像帧的抽象特征,代表正样本图像帧的抽象特征,代表负样本图像帧之间的欧式距离。

结合参考图4,其示出了本申请一个实施例示出的训练网络框架的示意图终端通过深度网络f来提取基准图像帧的抽象特征正样本图像帧的抽象特征负样本图像帧的抽象特征之后采用如下公式计算损失函数值loss:

之后利用该损失函数值对神经网络模型的各项参数进行修正,直至损失函数值小于预设阈值为止。

步骤206,当损失函数值小于预设阈值时,停止对神经网络模型的训练,得到完成训练的神经网络模型。

预设阈值可以根据实际经验设定,本申请实施例对此不作限定。

当损失函数值大于或等于预设阈值时,则对神经网络模型的各项参数进行调整,并从步骤203重新开始执行,直到损失函数值小于预设阈值为止。

在一个具体的例子中,结合参考图4,其示出了本申请一个实施例提供的虚拟角色的卡住检测的示意图。终端获取游戏应用程序的录制视频,并通过该录制视频构建三元组,之后以三元组为训练样本训练轻量级的神经网络模型,后续终端利用训练完成的神经网络模型来提取二元组的抽象特征,并计算上述二元组的抽象特征之间的欧式距离,若该欧式距离小于阈值,则确定虚拟角色被卡住,若该欧式距离大于阈值,则确定虚拟角色未被卡住。

请参考图6,其示出了本申请一个实施例提供的模型训练方法的流程图。该方法可以包括如步骤:

步骤601,构建神经网络模型。

步骤602,获取至少一个三元图像组。

三元图像组包括基准图像帧、正样本图像帧和负样本图像帧,基准图像帧与正样本图像帧之间的第一时间间隔,小于基准图像帧与负样本图像帧之间的第二时间间隔。

可选地,步骤602可以包括如下子步骤:

1、获取游戏应用程序的录制视频;

2、从录制视频中每隔预设时间间隔提取一张图像帧,得到至少三张图像帧;

3、从至少三张图像帧中选取至少一张基准图像帧;

4、对于每一张基准图像帧,选取一张与基准图像帧之间的时间间隔小于第二阈值的图像帧作为正样本图像帧,选取一张与基准图像帧之间的时间间隔大于第三阈值的图像帧作为负样本图像帧;

5、将基准图像帧、正样本图像帧、负样本图像帧确定为一个三元图像组。

步骤603,通过神经网络模型,提取基准图像帧的抽象特征、正样本图像帧的抽象特征以及负样本图像帧的抽象特征。

步骤604,计算基准图像帧的抽象特征与正样本图像帧的抽象特征之间的第一相似度,以及基准图像帧的抽象特征与负样本图像帧的抽象特征之间的第二相似度。

步骤605,根据第一相似度和第二相似度计算神经网络模型对应的损失函数值。

可选地,终端采用如下公式计算神经网络模型对应的损失函数值loss:

其中,n代表三元图像组的数量,i为小于或等于n的正整数,α为预设常数,代表第i个三元图像组的基准图像帧的抽象特征与正样本图像帧的抽象特征之间的欧式距离;代表第i个三元图像组的基准图像帧的抽象特征与负样本图像帧的抽象特征之间的欧式距离。

步骤606,当损失函数值小于预设阈值时,停止对神经网络模型的训练,得到完成训练的神经网络模型。

完成训练的神经网络模型用于检测游戏应用程序中的虚拟角色是否处于卡住状态,卡住状态是指虚拟角色被游戏场景中的物体限制移动的状态。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参考图7,其示出了本申请一个实施例提供的虚拟角色的卡住检测装置的框图。该装置具有实现上述虚拟角色的卡住检测方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:图像组获取模块701、特征提取模块702、相似度计算模块703和卡住检测模块704。

图像组获取模块701,用于获取游戏应用程序中的二元图像组,所述二元图像组包括第一图像帧和第二图像帧,且所述第一图像帧和所述第二图像帧之间的时间间隔小于第一阈值。

特征提取模块702,用于调用完成训练的神经网络模型,提取所述第一图像帧的抽象特征和所述第二图像帧的抽象特征。

相似度计算模块703,用于根据所述第一图像帧的抽象特征和所述第二图像帧的抽象特征,计算所述第一图像帧和所述第二图像帧之间的相似度。

卡住检测模块704,用于若所述相似度大于预设门限值,则确定所述游戏应用程序中的虚拟角色处于卡住状态,所述卡住状态是指所述虚拟角色被游戏场景中的物体限制移动的状态。

综上所述,本申请实施例提供的技术方案,通过由训练完成的神经网络模型对游戏应用程序中的两个图像帧进行特征提取,并计算提取到的两个特征之间的相似度,之后基于上述相似度来判断游戏应用程序中的虚拟角色是否处于卡住状态,相比于相关技术中需要人工定义图像帧的特征,本申请实施例提供的技术方案,通过由神经网络模型来提取图像帧的特征,可以提高上述特征的提取效率及提取准确率,后续基于相似度来检测虚拟角色是否被卡住时,检测结果的准确率也得以提高。

在基于图7所示实施例提供的一个可选实施例中,所述装置还包括:动作执行模块(图中未示出)。

动作执行模块,用于控制所述虚拟角色执行随机动作以摆脱所述卡住状态。

在基于图7所示实施例提供的一个可选实施例中,所述神经网络模型的训练过程如下:

构建所述神经网络模型;

获取至少一个三元图像组;其中,所述三元图像组包括基准图像帧、正样本图像帧和负样本图像帧,所述基准图像帧与所述正样本图像帧之间的第一时间间隔,小于所述基准图像帧与所述负样本图像帧之间的第二时间间隔;

通过所述神经网络模型,提取所述基准图像帧的抽象特征、所述正样本图像帧的抽象特征以及所述负样本图像帧的抽象特征;

计算所述基准图像帧的抽象特征与所述正样本图像帧的抽象特征之间的第一相似度,以及所述基准图像帧的抽象特征与所述负样本图像帧的抽象特征之间的第二相似度;

根据所述第一相似度和所述第二相似度计算所述神经网络模型对应的损失函数值;

当所述损失函数值小于预设阈值时,停止对所述神经网络模型的训练,得到完成训练的所述神经网络模型。

可选地,所述根据所述第一相似度和所述第二相似度计算所述神经网络模型对应的损失函数值,包括:

采用如下公式计算所述神经网络模型对应的损失函数值loss:

其中,n代表三元图像组的数量,i为小于或等于n的正整数,α为预设常数,代表第i个三元图像组的基准图像帧的抽象特征与正样本图像帧的抽象特征之间的第一相似度;代表所述第i个三元图像组的基准图像帧的抽象特征与负样本图像帧的抽象特征之间的第二相似度。

可选地,所述获取至少一个三元图像组,包括:

获取所述游戏应用程序的录制视频;

从所述录制视频中每隔预设时间间隔提取一张图像帧,得到至少三张图像帧;

从所述至少三张图像帧中选取至少一张所述基准图像帧;

对于每一张所述基准图像帧,选取一张与所述基准图像帧之间的时间间隔小于第二阈值的图像帧作为所述正样本图像帧,选取一张与所述基准图像帧之间的时间间隔大于第三阈值的图像帧作为所述负样本图像帧;

将所述基准图像帧、所述正样本图像帧、所述负样本图像帧确定为一个所述三元图像组。

请参考图8,其示出了本申请一个实施例提供的模型训练装置的框图。该装置具有实现上述模型训练方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:模型构建模块801、图像组获取模块802、模型调用模块803、损失计算模块804和模型生成模块805。

模型构建模块801,用于构建神经网络模型。

图像组获取模块802,用于从游戏应用程序中获取至少一个三元图像组;其中,所述三元图像组包括基准图像帧、正样本图像帧和负样本图像帧,所述基准图像帧与所述正样本图像帧之间的第一时间间隔,小于所述基准图像帧与所述负样本图像帧之间的第二时间间隔。

特征提取模块803,用于通过所述神经网络模型,提取所述基准图像帧的抽象特征、所述正样本图像帧的抽象特征以及所述负样本图像帧的抽象特征。

相似度计算模块804,用于计算所述基准图像帧的抽象特征与所述正样本图像帧的抽象特征之间的第一相似度,以及所述基准图像帧的抽象特征与所述负样本图像帧的抽象特征之间的第二相似度。

损失计算模块805,用于根据所述第一相似度和所述第二相似度计算所述神经网络模型对应的损失函数值。

模型生成模块806,用于当所述损失函数值小于预设阈值时,停止对所述神经网络模型的训练,得到完成训练的所述神经网络模型;其中,完成训练的所述神经网络模型用于检测所述游戏应用程序中的虚拟角色是否处于卡住状态,所述卡住状态是指所述虚拟角色被游戏场景中的物体限制移动的状态。

在基于图8所示实施例提供的一个可选实施例中,所述损失计算模块804,用于:

采用如下公式计算所述神经网络模型对应的损失函数值loss:

其中,n代表三元图像组的数量,i为小于或等于n的正整数,α为预设常数,代表第i个三元图像组的所述基准图像帧的抽象特征与正样本图像帧的抽象特征之间的欧式距离;代表所述第i个三元图像组的基准图像帧的抽象特征与负样本图像帧的抽象特征之间的欧式距离。

在基于图8所示实施例提供的一个可选实施例中,所述图像组获取模块802,用于:

获取所述游戏应用程序的录制视频;

从所述录制视频中每隔预设时间间隔提取一张图像帧,得到至少三张图像帧;

从所述至少三张图像帧中选取至少一张所述基准图像帧;

对于每一张所述基准图像帧,选取一张与所述基准图像帧之间的时间间隔小于第二阈值的图像帧作为所述正样本图像帧,选取一张与所述基准图像帧之间的时间间隔大于第三阈值的图像帧作为所述负样本图像帧;

将所述基准图像帧、所述正样本图像帧、所述负样本图像帧确定为一个所述三元图像组。

图9示出了本申请一个示例性实施例提供的终端900的结构框图。该终端900可以是:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端900包括有:处理器901和存储器902。

处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器901所执行以实现本申请中方法实施例提供的虚拟角色的卡住检测方法和/或模型训练方法。

在一些实施例中,终端900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、显示屏905、摄像头组件906、音频电路907、定位组件908和电源909中的至少一种。

在一些实施例中,终端900还包括有一个或多个传感器。该一个或多个传感器包括但不限于:加速度传感器、陀螺仪传感器、压力传感器、指纹传感器、光学传感器以及接近传感器。

本领域技术人员可以理解,图9中示出的结构并不构成对终端900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

请参考图10,其示出了本发明一个实施例提供的计算机设备的结构示意图。该计算机设备可以是服务器,也可以是个人计算机(personalcomputer),该计算机设备用于实施上述模型训练方法。具体来讲:

所述计算机设备1000包括中央处理单元(cpu)1001、包括随机存取存储器(ram)1002和只读存储器(rom)1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。所述计算机设备1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)1006,和用于存储操作系统1013、应用程序1014和其他程序模块1015的大容量存储设备1007。

所述基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中所述显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1010连接到中央处理单元1001。所述基本输入/输出系统1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。

所述大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。所述大容量存储设备1007及其相关联的计算机可读介质为计算机设备1000提供非易失性存储。也就是说,所述大容量存储设备1007可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。

根据本发明的各种实施例,所述计算机设备1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1000可以通过连接在所述系统总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。

所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述模型训练方法的指令。

在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由电子设备的处理器加载并执行以实现上述方法实施例中的虚拟角色的卡住检测方法,和/或,模型训练方法。

可选地,上述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于执行上述虚拟角色的卡住检测方法,和/或,模型训练方法。

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本文中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

以上仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1