1.本发明涉及互联网技术领域,尤其涉及一种轨迹数据的处理方法、装置、智能设备及存储介质。
背景技术:2.随着人工智能技术的不断发展,人工智能技术在各个领域展开研究和应用,例如智能游戏领域,在智能游戏领域中常见的应用为设置游戏ai(artificial intelligence,人工智能)角色,通过各式各样的游戏ai角色来协助玩家或者与玩家进行游戏对抗。
3.对于游戏场景或者由计算机模拟的其他虚拟场景中,时常存在路径规划的需求,例如在游戏场景中需要为某个游戏ai角色设计游戏路径,用来指导游戏ai角色沿着这条设计的游戏路径移动。目前的各种所需的场景移动路径或者说移动轨迹的规划一般是由于需要游戏开发或者测试人员人工设计或者标注的方式来实现,耗费时间,效率低下。
技术实现要素:4.本技术实施例提出了一种轨迹数据的处理方法、装置、智能设备及存储介质,可以高效地确定场景中的移动路径。
5.本技术实施例一方面提供了一种轨迹数据的处理方法,包括:
6.获取轨迹图像集合,轨迹图像集合包括多张轨迹图像,每张轨迹图像是根据在目标场景中的场景移动轨迹的轨迹数据生成的;
7.将轨迹图像集合中的轨迹图像转换为轨迹热力图,并根据每张轨迹图像对应的轨迹热力图确定相似矩阵,相似矩阵中的矩阵元素用于表示两张轨迹图像各自对应的场景移动轨迹之间的相似度;
8.根据相似矩阵,对轨迹图像集合中记录的轨迹图像进行聚类处理,得到聚类处理结果,聚类处理结果包括:n个聚类集合,被聚类处理确定为同一类别的多张轨迹图像属于一个聚类集合,n为大于或等于1的整数;
9.确定n个聚类集合中目标聚类集合的目标移动轨迹,并根据目标移动轨迹确定目标移动路径。
10.本技术实施例一方面提供了一种轨迹数据的处理装置,包括:
11.获取单元,用于获取轨迹图像集合,轨迹图像集合包括多张轨迹图像,每张轨迹图像是根据在目标场景中的场景移动轨迹的轨迹数据生成的;
12.处理单元,用于将轨迹图像集合中的轨迹图像转换为轨迹热力图,并根据每张轨迹图像对应的轨迹热力图确定相似矩阵,相似矩阵中的矩阵元素用于表示两张轨迹图像各自对应的场景移动轨迹之间的相似度;
13.处理单元,还用于根据相似矩阵,对轨迹图像集合中记录的轨迹图像进行聚类处理,得到聚类处理结果,聚类处理结果包括:n个聚类集合,被聚类处理确定为同一类别的多张轨迹图像属于一个聚类集合,n为大于或等于1的整数;
14.处理单元,还用于确定n个聚类集合中目标聚类集合的目标移动轨迹,并根据目标移动轨迹确定目标移动路径。
15.本技术实施例一方面提供了一种智能设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述各实施例中的方法。
16.本技术实施例一方面提供了一种计算机存储介质,计算机存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行上述各实施例中的方法。
17.本技术实施例一方面提供了一种计算机程序产品或计算机程序,计算机程序产品或计算机程序包括计算机指令,计算机指令存储在计算机可读存储介质中,计算机指令被终端设备的处理器执行时,执行上述各实施例中的方法。
18.通过本技术实施例,可以通过在目标场景中采集到的由各实际用户在目标场景中活跃的过程中产生的相关轨迹数据生成轨迹图像,并将轨迹图像转换为轨迹热力图。再从轨迹热力图出发,确定两条场景移动轨迹之间的相似度,根据任意两条场景移动轨迹之间的相似度构成相似矩阵。根据相似矩阵,对包括多张轨迹图像的轨迹图像集合进行聚类处理,得到包括n个聚类集合的聚类处理结果,最终确定每个聚类集合对应的目标移动路径。通过挖掘场景移动轨迹之间的相似度将相似的场景移动轨迹划分到同一聚类集合中,然后从这些较为相似的场景移动轨迹中确定出热点移动路径,通过这种方式可以自动分析出热点移动路径,无需人工参与,因此节省了人工成本,并且可以确定出最具有代表性的热点移动路径。
附图说明
19.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是本技术实施例提供的一种轨迹数据的处理系统的架构示意图;
21.图2a是本技术实施例提供的一种场景移动轨迹的场景示意图;
22.图2b是本技术实施例提供的一种控制虚拟角色的游戏场景示意图;
23.图3a是本技术实施例提供的一种轨迹数据的处理方法的流程示意图;
24.图3b是本技术实施了提供的一种轨迹数据的处理过程示意图;
25.图4是本技术实施例提供的一种轨迹图像示意图和轨迹热力图像示意图;
26.图5a是本技术实施例提供的一种确定归一化轨迹热力图的流程示意图;
27.图5b是本技术实施例提供的一种低通滤波器的示意图;
28.图5c是本技术实施例提供的一种轨迹图像的示意图;
29.图6是本技术实施例提供的一种确定相似矩阵的流程示意图;
30.图7是本技术实施例提供的另一种轨迹数据的处理方法的流程示意图;
31.图8a是本技术实施例提供的一种性能测试报告的示意图;
32.图8b是本技术实施例提供的另一种性能测试报告的示意图;
33.图8c是本技术实施例提供的另一种性能测试报告的示意图;
34.图8d是本技术实施例提供的另一种性能测试报告的示意图;
35.图9是本技术实施例提供的一种轨迹数据的处理装置的结构示意图;
36.图10是本技术实施例提供的一种智能设备的结构示意图。
具体实施方式
37.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
38.本技术实施例提供的一种可以对游戏等场景产生的轨迹数据进行自动化处理的方法,其具体可以将包括多张轨迹图像的轨迹图像集合中的轨迹图像转换为轨迹热力图,其中,每张轨迹图像是根据目标场景中的场景移动轨迹的轨迹数据生成的。然后根据每张轨迹图像对应的轨迹热力图确定相似矩阵,相似矩阵中的矩阵元素用于表示两张轨迹图像各自对应的场景移动轨迹之间的相似度。进一步地,根据相似矩阵,对轨迹图像集合中记录的轨迹图像进行聚类处理,得到包括n个聚类集合的聚类处理结果,n为大于或等于1的整数;最后,确定n个聚类集合中目标聚类集合的目标移动轨迹,并根据目标移动轨迹确定目标移动路径。
39.对于上述提及的最终得到的目标移动路径之后,可以基于ai机器人来在目标场景中的该目标移动路径上移动,并且还可以在移动过程中执行相应的动作,例如,目标场景是在某个游戏地图内的游戏对抗场景,ai机器人可以在该对抗场景下的游戏地图上,按照目标移动轨迹移动,并在移动过程执行诸如跳跃、释放游戏技能等动作。
40.人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
41.本技术实施例提供的方案属于人工智能领域下属的深度学习技术。本技术中,可以利用深度学习技术根据相似矩阵,对轨迹图像集合中记录的轨迹图像进行聚类处理,得到聚类处理结果。
42.深度学习(deep learning,dl)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
43.本技术可以根据需要应用到如下场景:在游戏应用场景(例如对抗游戏等)的自动化性能测试中,虚拟角色扮演着重要的角色,而虚拟角色的优化目标可以通过复现场景用户的游戏行为,从而提升游戏的自动化性能测试的可靠性,具体的复现过程可以包括基于上述提及的目标移动路径上的在游戏地图上的位置坐标,来控制ai移动。在其他实施例中,由于本技术确定出来的目标移动路径实际也可以认为是一些非常具有代表性的路径,所
以,对这些目标移动路径的分析,可以进一步优化对应的场景地图,使得各种场景更加符合场景用户等用户的习惯。在其他实施例中,在确定了目标移动路径之后,后续还可以根据虚拟角色复现游戏玩家的游戏行为输出相应的游戏性能测试报告,并根据游戏性能测试报告进行游戏版本的迭代与更新等等。例如,模拟场景用户等用户在场景中按照各目标移动路径移动的过程中,执行相应的动作,并收集在不同的位置点、执行相同或者不同的动作时所消耗的计算机资源,例如cpu(central processing unit,中央处理器)资源、内存资源等等。
44.本技术实施例的轨迹数据的处理过程可以应用在一个系统中,具体可以由该系统中的某个服务设备来执行,请参考图1,图1是本技术实施例提供的一种轨迹数据的处理系统的架构示意图。该轨迹数据的处理的系统架构图包括:服务器140以及智能设备集群,其中,智能设备集群可以包括:智能设备110、智能设备120、智能设备130等等。智能设备集群与服务器140可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
45.图1所示的服务器140可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
46.图1所示的智能设备110、智能设备120、智能设备130等可以是手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mid,mobile internet device)、车辆、路边设备、飞行器、可穿戴设备,例如智能手表、智能手环、计步器等,等具有轨迹数据的处理功能的智能设备。
47.在一种可能的实现方式中,以智能设备110为例,智能设备110获取轨迹图像集合,其中,轨迹图像集合包括多张轨迹图像,每张轨迹图像是根据一条场景移动轨迹的轨迹数据生成的;智能设备110将轨迹图像集合发送至服务器140,服务器140获取到轨迹图像集合之后,将轨迹图像集合中的轨迹图像转换为轨迹热力图,并根据每张轨迹图像对应的轨迹热力图确定相似矩阵,其中,相似矩阵中的矩阵元素用于表示两条场景移动轨迹之间的相似度;然后,服务器140根据相似矩阵,对轨迹图像集合中记录的轨迹图像进行聚类处理,得到聚类处理结果,其中,聚类处理结果包括:n个聚类集合,被聚类处理确定为同一类别的多张轨迹图像属于一个聚类集合,n为大于或等于1的整数;最后,服务器140确定n个聚类集合中目标聚类集合的目标移动轨迹,并根据目标移动轨迹对应的游戏轨迹数据确定移动路径。
48.后续,在对抗游戏中的目标场景,目标场景例如可以是在一些对抗游戏应用的某个地图下的游戏场景。智能设备110可以向服务器140发送针对目标场景中游戏地图的路径获取请求,然后,服务器140接收智能设备110发送的路径获取请求之后,可以将确定出来的目标移动路径发送至智能设备110。从而,智能设备110可以根据目标移动路径指导虚拟角色在游戏地图中移动,通过本方案可以更好地复现场景用户的游戏行为,同时降低人力成本。
49.当然,将轨迹图像集合中的轨迹图像转换为轨迹热力图,并进一步确定相似矩阵、确定目标移动路径的过程不一定是由服务器140来执行,也可以由智能设备110或者智能设备集群中的其它任意智能设备来执行。根据目标移动路径指导虚拟角色在游戏地图中移动
也不一定由智能设备110来执行,也可以由服务器140来执行。
50.可以理解的是,本技术实施例描述的系统架构示意图是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
51.下面将结合附图,对本技术实施例提出的轨迹数据的处理方法的应用场景进行详细介绍。
52.请参见图2a,图2a是本技术实施例提供的一种场景移动轨迹的场景示意图。在本技术中,可以通过游戏接口采集所有线上游戏玩家(外网游戏玩家)的轨迹数据。如图2a所示,在目标场景的地图中,可以采集将从起点a至起点c的场景移动轨迹。其中,针对每个外网游戏玩家,采集到的轨迹数据至少可以包括:每一帧游戏玩家在地图中位置信息和动作信息,该动作信息例如可以为游戏动作。其中,位置信息具体可以包括x坐标、y坐标,在其他一些实施例中,位置信息可以为x坐标、y坐标、z坐标,其所涉及的可能是3d类游戏;游戏动作可以包括游戏玩家在x方向的朝向,y方向的朝向,以及是否跳跃、是否产生对抗动作,游戏玩家是否游戏结束等等。针对同一游戏,可以获取到大量游戏玩家的轨迹数据,当然,采集到的轨迹数据可以包括以下至少一种:同一游戏玩家在不同时间内采集到的轨迹数据,或者不同游戏玩家在不同时间内采集到的轨迹数据,或者不同游戏玩家在不同时间内采集到的轨迹数据等,本技术对此不作限定。
53.其中,在采集轨迹数据的过程中,采集的频率可以人工根据经验值进行设置,例如本技术中轨迹数据的采集频率可以与用户在目标场景下的显示帧率对应,例如,当前某个用户的目标场景下的显示帧率为1秒30帧,那么轨迹数据上轨迹点的采集频率为1秒30次,也就是可以理解为每一帧目标场景图像都会被提取一次该用户在目标场景下的场景角色的位置信息和动作信息,当然,轨迹数据的采集频率也可以在固定时间段内进行更新,例如,对于某个用户在目标场景所对应的地图下下,第一次采集时的采集频率可以为1秒30次,第二次采集时的采集频率可以为1秒15次,然后将分别两次采集到的轨迹数据进行统计作为最终采集到的轨迹数据。另外,在轨迹数据的采集过程中,可以将游戏玩家从开始(例如开始移动)到结束(例如游戏结束)的位置序列看作一条游戏轨迹,其中针对任一游戏玩家,从该游戏玩家开启对抗游戏开始,当检测到该游戏玩家的开始运动的操作时,可以确定为该游戏玩家已经开始移动;然后,当检测到该游戏玩家被对抗动作所击中时,可以确定该游戏玩家已经游戏结束。
54.在一种可能的实现方式中,对场景用户中的任一用户(游戏玩家)而言,采集该用户对应的游戏轨迹的具体流程如下。首先,针对参考用户,从检测到参考用户的第一动作开始,在参考时间帧内统计参考用户经过的每个轨迹点以及每个轨迹点的轨迹数据,直至检测到参考用户的第二动作为止,停止统计。其中,第一动作可以为用户开始移动时对应的动作,第二动作可以为游戏结束时对应的动作。然后,将所统计的所有的轨迹点以及每个轨迹点对应的轨迹数据确定为参考用户对应的参考游戏轨迹,参考游戏轨迹为用户的轨迹集合中的多条游戏轨迹中的任一条游戏轨迹。通过这种方式,针对每个用户采集轨迹数据并确定相应的游戏轨迹均可参考前述针对参考用户确定参考游戏轨迹的流程,最终确定包括大量用户的游戏轨迹的轨迹集合。
55.接下来,根据采集到的大量游戏玩家的轨迹数据,可以生成相应的轨迹图像,即每张轨迹图像对应一条游戏轨迹。然后,可以将轨迹图像集合中的轨迹图像转换为轨迹热力图,在一个实施例中,轨迹热力图是指包含多个热力点以及每个热力值的热力值的图像,其中,轨迹热力图中的每个热力点是根据轨迹图像中的每个像素点的值计算得到,具体计算过程在后续内容中描述。在游戏场景下,轨迹热力图用于以特殊高亮的形式显示用户在虚拟地理上已访问的位置及其邻近位置、或者说在虚拟地理上用户角色移动过程中途经的位置及其邻近位置的图示数据,例如,在图2a中起点a经过b1点到达终点c的游戏玩家移动轨迹,经过转换后会在轨迹热力图中以高亮的方式显示出来。在轨迹热力图上,用户热衷访问的位置的热力值高于不会经常访问甚至不访问的虚拟区域的热力值,或者说在虚拟地理上用户角色移动过程中途经的位置及其邻近位置的热力值高于未途经的位置的热力值。在将轨迹图像转换为轨迹热力图之后,再根据每张轨迹图像对应的轨迹热力图确定相似矩阵,其中,相似矩阵中的矩阵元素用于表示两条游戏轨迹之间的相似度。需要说明的是,可以对轨迹图像集合中所有的轨迹图像进行转换处理得到相应的轨迹热力图,也可以是选取轨迹图像集合中的部分轨迹图像进行图像转换处理从而得到相应的轨迹热力图,本技术实施例对此不作具体限定。
56.在一种可能的实现方式中,可以根据相似矩阵,对轨迹图像集合中记录的轨迹图像进行聚类处理,得到包括n个聚类集合的聚类处理结果,n为大于或等于1的整数,其中,被聚类处理确定为同一类别的多张轨迹图像属于一个聚类集合。最后,确定n个聚类集合中的每个聚类集合中的目标移动轨迹,最终得到n条目标移动轨迹。每条目标移动轨迹对应一条目标移动路径(可以根据目标移动轨迹的轨迹数据确定),因此,最终可以确定出n条目标移动路径。如图2a所示,可以将经过轨迹点b1附近的所有场景移动轨迹划分到同一类别的聚类集合中,该聚类集合中至少可以包括路径101、路径102、路径103、路径104以及路径105。另外,可以将经过轨迹点b2附近的所有场景移动轨迹划分子另一类别的聚类集合中,该聚类集合中至少可以包括路径201、路径202。同理,可以将经过轨迹点b3附近的所有场景移动轨迹划分至再一类别的聚类集合中,该聚类集合中中至少可以包括路径301、路径302、路径303。然后基本本技术的方案,在每个聚类集合中确定出一条目标场景移动轨迹,将确定出来的目标场景移动轨迹对应的移动路径作为目标移动路径。例如,确定出来的目标移动路径可以包括路径101、路径201和路径301。
57.在一种可能的实现方式中,在对抗游戏的智能模拟场景中,可以根据确定的n条目标移动路径控制虚拟角色(例如可以为智能机器人)进行游戏复现。游戏复现具体是指:控制虚拟角色按照目标移动路径进行相应的移动和游戏操作。请参见图2b,图2b是本技术实施例提供的一种控制虚拟角色的游戏场景示意图。如图2b所示,虚线处即为热点移动路径(即目标移动路径),控制虚拟角色按照热点移动路径的方向进行移动,其中热点移动路径包括多个轨迹点,虚拟角色根据每个轨迹点的位置进行移动。另外,还可以控制虚拟角色在每个轨迹点处执行相应的游戏动作,游戏动作包括但不限于:跳跃、对抗动作、旋转等等。
58.本技术可以用于游戏场景中,通过本技术提供的轨迹数据的处理方法确定出来的目标移动路径可以用于智能模拟游戏的测试,控制虚拟角色按照目标移动路径进行相应的游戏复现。相比于人工标注移动路径,本技术可以根据获取到的游戏数据自动分析并确定出相应的移动路径,节约了人工标注成本,并且提高了处理效率。
59.下面结合图3a和图3b对本技术的轨迹数据处理进行描述。请参见图3a,图3a是本技术实施例提供的一种轨迹数据的处理方法的流程示意图。图3b是本技术实施了提供的一种轨迹数据的处理过程示意图。其中,该轨迹数据的处理方法可以应用于智能设备,智能设备例如可以是智能手机、平板电脑、智能可穿戴设备等等智能设备,智能设备还可以由智能设备和服务器协同完成,智能设备还可以为服务器。如图3a所示,该数据处理方法可包括步骤s310~s340。
60.其中:
61.s310:获取轨迹图像集合,轨迹图像集合包括多张轨迹图像,每张轨迹图像是根据在目标场景中的一条场景移动轨迹的轨迹数据生成的。
62.本技术实施例中,场景移动轨迹可以包括游戏轨迹。在一种可能的实现方式中,轨迹图像集合中的每张轨迹图像是通过游戏接口采集到的线上游戏场景中的游戏数据确定的。其中,游戏数据具体可以为游戏轨迹的轨迹数据,轨迹数据包括但不限于:每一帧游戏玩家在地图中位置信息和动作信息,该动作信息例如可以是游戏动作,比如跳跃、释放游戏技能等等。其中的位置信息具体可以包括在目标场景下的场景地图上的x坐标、y坐标、z坐标;游戏动作可以包括游戏玩家在x方向的朝向,y方向的朝向,z方向的朝向,以及是否跳跃、是否产生对抗动作,游戏玩家是否游戏结束等等。
63.当然,在线上采集游戏轨迹的轨迹数据的过程中,可以是采集某些时间段内该目标场景内的部分或者全部的用户产生的游戏轨迹的轨迹数据,固定时间段内该游戏的所有的游戏玩家产生的游戏轨迹的轨迹数据进一步可以包括一下至少一种:同一游戏玩家在不同时间内采集到的在目标场景的场景地图上的轨迹数据,或者不同游戏玩家在不同时间内采集到的轨迹数据,或者不同游戏玩家在不同时间内采集到的轨迹数据等,本技术对此不作限定。
64.其中,在采集轨迹数据的过程中,采集的频率可以人工根据经验值进行设置。人工设置采集频率例如可以是,管理员用户可以在管理界面上设置采集频率,例如管理员用户设置的采集频率可以为1秒30帧。其中,采集频率越大,获取到一条场景移动轨迹所包含的轨迹点越多,最终确定的移动路径也越细致。采集频率越小,获取到一条场景移动轨迹所包含的轨迹点就越少,因此最终确定的移动路径也越粗糙。
65.最终,根据采集到的多条游戏轨迹的轨迹数据生成相应的轨迹图像,其中,每条游戏轨迹对应一张轨迹图像,并将多张轨迹图像放于轨迹图像集合中。
66.在一种可能的实现方式中,智能设备获取由用户终端上报的关于参考游戏轨迹的轨迹数据,并根据参考游戏轨迹的轨迹数据确定参考游戏轨迹的轨迹长度。若参考游戏轨迹的轨迹长度满足长度筛选条件,则根据参考游戏轨迹的轨迹数据生成轨迹图像,并将轨迹图像放入轨迹图像集合中;若参考游戏轨迹的轨迹长度不满足长度筛选条件,则将参考游戏轨迹的轨迹数据进行删除处理。其中,长度筛选条件可以为:大于或者等于参考长度阈值。
67.举例来说,由于部分游戏玩家的游戏轨迹的长度很短(即游戏玩家从一开始开始就被对手击败),因此可以设置一个长度筛选条件,长度筛选条件例如可以是游戏轨迹长度的参考长度阈值,如果游戏轨迹的长度小于该参考长度阈值,则去除该游戏轨迹,不放入采集到的轨迹数据中。通过这种方式,采集到的轨迹数据具有代表性和参考性。最终,针对特
定游戏地图(如图2a所示的对抗游戏的地图)收集场景用户的轨迹集合。
68.s320:将轨迹图像集合中的轨迹图像转换为轨迹热力图,并根据每张轨迹图像对应的轨迹热力图确定相似矩阵。
69.本技术中,可以将轨迹图像集合中的每张轨迹图像均转换为相应的轨迹热力图,也可以将轨迹图像集合中的部分轨迹图像转换为相应的轨迹热力图,本技术对此不做具体限定。另外,相似矩阵中的矩阵元素用于表示两条场景移动轨迹之间的相似度,场景移动轨迹可以为游戏轨迹。
70.在一种可能的实现方式中,为了方便快捷地计算得到轨迹图像对应的轨迹热力图,获取到的轨迹图像集合中的轨迹图像为二值图像。其中,二值图像是指每一个像素点只有两种取值的图像,本技术中的二值图像包括0和1的像素点值的图像。并且,像素点值为0的像素点对应用户没有经过的轨迹点,像素点值为1的像素点对应用户经历过的轨迹点,将轨迹图像设置为二值图像可以显著降低轨迹图像集合占用的存储空间,后续在计算轨迹热力图时,仅需要对像素点对应的0或1进行计算,有效地减少运算复杂度。智能设备可以采用低通滤波器,对轨迹图像集合中的目标轨迹图像进行低通滤波处理,得到目标轨迹图像对应的目标轨迹热力图。其中,本技术所相关的低通滤波器包括但不限于:矩阵、卷积核等等。
71.如图4所示,图4是本技术实施例提供的一种轨迹图像示意图和轨迹热力图像示意图。在轨迹图像示意图中,轨迹图像中包括多个轨迹点,针对为二值图像的轨迹图像来说,像素点值为1的像素点可以为游戏角色来过该像素点对应的轨迹点处,像素点值为0的像素点可以为游戏角色没有来过该像素点对应的轨迹点处。在轨迹热力图的示意图中,越靠近轨迹点处的热力值越大,反之,则热力值越小。
72.在一种可能的实现方式中,在确定目标轨迹热力图之后。首先,确定目标轨迹热力图中k个热力点对应的k个热力值中的最大热力值,热力点指的是轨迹热力图中的点,每个热力点对应一个热力值。轨迹热力图与轨迹图像的图像尺寸相同,k个热力点与k个像素点之间一一对应,每个热力图位置上的热力点是通过对应轨迹图像位置处的像素点计算得到的,k为大于或等于1的整数。然后,根据目标轨迹热力图中各个热力点的热力值和最大热力值,确定归一化轨迹热力图。其中,归一化轨迹热力图包括k个归一化热力点,每个归一化热力点对应的归一化热力值是由每个热力点对应的热力值与最大热力值之间的比值确定的。
73.本技术中,通过对目标轨迹热力图进行归一化处理之后得到归一化轨迹热力图,后续在根据归一化轨迹热力图计算任意两条场景移动轨迹之间的相似度时,可以使得计算得到的相似度为在[0,1]以内的值,可以减小计算量,使得计算更加快捷。
[0074]
在一种可能的实现方式中,分别确定目标像素点集合中各个目标像素点在归一化轨迹热力图中所对应的归一化热力点的目标归一化热力值,其中,目标像素点集合中包括的目标像素点是参考轨迹图像中像素点值为预设数值的像素点;将确定的目标归一化热力值进行求和运算,得到热力值总和值。根据参考轨迹图像、目标轨迹图像以及热力值总和值,确定参考轨迹图像对应的第一场景移动轨迹和目标轨迹图像对应的第二场景移动轨迹之间的相似度。
[0075]
在一种可能的实现方式中,确定两条游戏轨迹(场景移动轨迹)的具体流程可以如下:首先,确定参考轨迹图像中像素点值为预设数值的像素点的第一轨迹数量,以及确定目标轨迹图像中像素点值为预设数值的像素点的第二轨迹数量。然后,在第一轨迹数量和第
二轨迹数量中确定最大轨迹数量。最后,根据热力值总和值与最大轨迹数量,确定参考轨迹图像对应的第一场景移动轨迹和目标轨迹图像对应的第二场景移动轨迹之间的相似度。
[0076]
根据上述方法,确定了两条游戏轨迹之间的相似度之后,轨迹图像集合中的任意两张轨迹图像对应的任意两条游戏轨迹之间的相似度,均可以参考前述方法中确定第一场景移动轨迹与第二场景移动轨迹之间的相似度进行计算,本技术在此不再赘述。在一个实施例中,假设轨迹图像集合中有s条游戏轨迹,则有s*(s-1)种组合的相似度,然后通过这s*(s-1)个组合的相似度构成相似矩阵。通过这样的方式获得相似矩阵,其中,相似矩阵的对角线上的值为1,这意味着每条游戏轨迹与自身的相似度为1。
[0077]
举例来说,假设s条游戏轨迹分别为x1,x2,...,xs,其中,x1与x2之间的相似度记为y12,x1与x3之间的相似度记为y13,x2与x1之间的相似度记为y21,以此类推,根据s条游戏轨迹构成的相似度矩阵可以如下表达式所示:
[0078][0079]
s330:根据相似矩阵,对轨迹图像集合中记录的轨迹图像进行聚类处理,得到聚类处理结果,聚类处理结果包括:n个聚类集合。被聚类处理确定为同一类别的多个轨迹分别对应的轨迹图像属于一个聚类集合,n为大于或等于1的整数。
[0080]
本技术中,被聚类处理确定为同一类别的多张轨迹图像属于一个聚类集合,其中,n为大于或等于1的整数。其中,被聚类处理后的n个聚类集合中的每个聚类集合可以对应一个类别,例如n等于10,则有10个类别。当然,每个聚类集合也可以没有进行分类得到具体的类别,只是通过聚类处理可以将轨迹图像集合中较为相似的多张轨迹图像划分到同一聚类集合中,同一聚类集合即为同一类别,可以简单地描述某个聚类集合为第一类别、另一个聚类集合为第二类别,意思是说,只要通过聚类处理可以将轨迹图像集合中的多张轨迹图像分别划分到n个聚类集合中即可,至于每个聚类集合是否对应一个类别或者是否标注相应的类别,本技术对此不作具体限定。
[0081]
举例来说,在如图2a所示的场景移动轨迹的场景示意图中,可以将经过轨迹点b1附近的所有场景移动轨迹划分为第一类别的聚类集合中,第一类别的集合中至少可以包括路径101、路径102、路径103、路径104以及路径105。另外,可以将经过轨迹点b2附近的所有场景移动轨迹划分为第二类别的聚类集合中,第二类别的集合中至少可以包括路径201、路径202。同理,可以将经过轨迹点b3附近的所有场景移动轨迹划分为第三类别的聚类集合中,第三类别的集合中至少可以包括路径301、路径302、路径303。当然,也可以根据场景的不同更细致的划分多个聚类集合,本技术对此不作具体限定。
[0082]
在一种可能的实现方式中,智能设备根据相似矩阵,采用聚类算法对轨迹图像集合中记录的轨迹图像进行聚类处理,得到包括n个聚类集合的聚类处理结果。
[0083]
举例来说,聚类算法可以包括谱聚类算法,其中,谱聚类(spectral clustering,sc)是一种基于图论的聚类方法——将带权无向图划分为两个或两个以上的最优子图,使子图内部尽量相似,而子图间距离尽量距离较远,以达到常见的聚类的目的。其中的最优是
指最优目标函数不同,可以是割边最小分割,也可以是分割规模差不多且割边最小的分割。谱聚类通过对样本数据(即轨迹图像集合)的拉普拉斯矩阵(可通过相似矩阵生成)的特征向量进行聚类,从而对样本数据聚类。谱聚类可以理解为将高维空间的数据映射到低维,然后在低维空间用其它聚类算法,例如k-means算法(k均值聚类算法)进行聚类。
[0084]
本技术中,采用谱聚类算法对轨迹图像集合进行聚类处理,相比于其它无监督聚类算而言,它主要包括以下优点:
[0085]
1.过程对数据结构并没有太多的假设要求。
[0086]
2.可以通过构造稀疏similarity graph,使得对于更大的数据集表现出明显优于其他算法的计算速度。
[0087]
3.由于谱聚类算法是对图切割处理,不会存在像k-means聚类(一种聚类算法)时将离散的小簇聚合在一起的情况。
[0088]
4.无需像高斯混合模型(gaussian mixed model,gmm)一样对数据的概率分布做假设。
[0089]
另外,申请实施例中涉及的聚类算法除了谱聚类算法之外,还可以包括基于距离类的聚类算法或者基于密度类的聚类算法,基于距离类的聚类算法可以包括k-meams聚类算法或者层次聚类算法等,基于密度类的聚类算法可以包括具有噪声的基于密度的空间聚类算法(density-based spatial clustering of applications with noise,dbscan)等。进一步的,k-meams聚类算法可以以空间中k个点为中心进行聚类,对最靠近他们的对象归类,通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。层次聚类算法可以将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到所有的对象都在一个簇中,或者某个终结条件被满足。dbscan算法可以将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类。
[0090]
在一种可能的实现方式中,根据相似矩阵,对轨迹图像集合中记录的轨迹图像进行聚类处理,得到的n个聚类集合中每个聚类集合均是包含有较多场景移动轨迹数量(即轨迹图像的数量)的集合。具体来说,根据相似矩阵,对轨迹图像集合中记录的轨迹图像进行聚类处理之后,可以得到包括n+10个聚类集合,然后分别统计每个聚类集合所包含的场景移动轨迹的数量,并判断游戏轨迹的数量是否满足过滤条件,例如将每个聚类集合所包含的场景移动轨迹的数量与参考数量阈值进行比较,若所包含的场景移动轨迹的数量小于参考数量阈值,则认为满足过滤条件,则将该聚类集合所包含的轨迹图像进行过滤处理。最终,筛选出10个包含的场景移动轨迹的数量小于参考数量阈值的聚类集合,于是将这10个筛选出来的聚类集合的轨迹图像进行过滤处理,最终得到包括较多场景移动轨迹数量的n个聚类集合。
[0091]
当然,除了根据参考数量阈值对聚类集合中的场景移动轨迹进行筛选过滤之外。在一种可能的实现方式中,本技术还可以将聚类处理后得到的n+10个聚类集合,按照包含轨迹图像的数量从高到低(或由低到高)的进行排序,然后将由高到低(或由低到高)排序后的指定位置处的10个聚类集合所包括的轨迹图像进行过滤处理,得到n个聚类集合。又或者是,将聚类处理后得到的n+10个聚类集合,按照包含轨迹图像的数量由高到低(或由低到高)的进行排序,然后将由高到低(或由低到高)排序后的后10位(或前10位)的聚类集合所
包括的轨迹图像进行过滤处理,得到n个聚类集合。需要说明的是,可以根据具体业务场景的选择相应的过滤方式,以及需要进行过滤处理的聚类集合的数量,本技术实施例并不限定过滤方式以及需要进行过滤处理的聚类集合的数量。
[0092]
通过这种方式,过滤掉包含场景移动轨迹数量较少的聚类集合中的轨迹图像,得到的轨迹集合中均是包含较多场景移动轨迹数量的集合,可以使得聚类集合中包括的场景移动轨迹具有参考性和代表性。
[0093]
s340:确定n个聚类集合中目标聚类集合的目标移动轨迹,并根据目标移动轨迹确定目标移动路径。
[0094]
本技术中,目标聚类集合可以为n个聚类集合中的任一聚类集合。在一种可能的实现方式中,针对n个聚类集合中目标聚类集合,计算目标聚类集合中包括的m张轨迹图像对应的m张轨迹热力图的平均热力图,m为大于或者等于1的整数。然后,根据m张轨迹热力图和平均热力图,确定n个聚类集合中目标聚类集合的目标移动轨迹。
[0095]
举例来说,由于每张轨迹热力图均可以为矩阵,并且它们的尺寸相同,于是计算m张轨迹热力图的平均热力图是指将m个矩阵相加然后除以m,得到的平均矩阵即为平均热力图。
[0096]
在一种可能的实现方式中,智能设备根据m张轨迹热力图和平均热力图,确定n个聚类集合中目标聚类集合的目标移动轨迹的具体流程如下:首先,确定m张轨迹热力图中的每张轨迹热力图与平均热力图之间的m个值差异信息;然后,将m个值差异信息中满足差异最小化条件的值差异信息对应的轨迹热力图确定为目标轨迹热力图;最后,将与目标轨迹热力图对应的场景移动轨迹确定为n个聚类集合中目标聚类集合的目标移动轨迹。
[0097]
其中,值差异信息可以包括绝对差值。那么,在值差异信息为绝对差值的情况下,差异最小化条件可以为绝对差值中的最小值。
[0098]
举例来说,针对每个聚类集合,计算聚类集合中的多张轨迹图像的轨迹热力图的平均值,得到平均热力图。随后,计算轨迹热力图与平均热力图的绝对值差,找到差异最小的轨迹热力图确定为目标轨迹热力图,计算公式如下:
[0099][0100]
其中,id代表最终挑选的轨迹热力图索引号,hi代表聚类集合中的第i个热力图,n代表聚类集合轨迹热力图的总数,h
mean
代表平均热力图。需要说明的是,在轨迹集合中包括的多张轨迹图像中的每张轨迹图像均携带标识,该标识可以包括在聚类集合中的索引号。
[0101]
通过本技术实施例,可以通过在目标场景中采集到的由各实际用户在目标场景中活跃的过程中产生的相关轨迹数据生成轨迹图像,并将轨迹图像转换为轨迹热力图。再从轨迹热力图出发,确定两条场景移动轨迹之间的相似度,根据任意两条场景移动轨迹之间的相似度构成相似矩阵。根据相似矩阵,对包括多张轨迹图像的轨迹图像集合进行聚类处理,得到包括n个聚类集合的聚类处理结果,最终确定每个聚类集合对应的目标移动路径。通过挖掘场景移动轨迹之间的相似度将相似的场景移动轨迹划分到同一聚类集合中,然后从这些较为相似的场景移动轨迹中确定出热点移动路径,通过这种方式可以自动分析出热点移动路径,无需人工参与,因此节省了人工成本,并且可以确定出最具有代表性的热点移动路径。
[0102]
请参见图5a,图5a是本技术实施例提供的一种确定归一化轨迹热力图的流程示意图。其中,图5a实施例是图3a实施例步骤s320中的一个具体实施例。该方法应用于智能设备,如图5a所示,该方法可包括步骤s510~s530。其中:
[0103]
s510:采用低通滤波器,对轨迹图像集合中的目标轨迹图像进行低通滤波处理,得到目标轨迹图像对应的目标轨迹热力图。其中,所述低通滤波处理包括:将预设的低通滤波器矩阵移动到目标轨迹图像,低通滤波器矩阵的中心点(或者说称之为锚点)与轨迹图像上待计算对应热力值的目标像素点重合后,对轨迹图像上被低通滤波器矩阵覆盖的区域上的像素点的像素点值和低通滤波器矩阵上的矩阵元素值进行计算,得到所述目标像素点对应的目标热力点的热力值。其中,对轨迹图像上被低通滤波器矩阵覆盖的区域上的像素点的像素点值和低通滤波器矩阵上的矩阵元素值进行计算可以包括:将轨迹图像上被低通滤波器矩阵覆盖的区域上的像素点的像素点值乘以低通滤波器矩阵上的矩阵元素值,得到相乘结果,再将所有的相乘结果相加,相加后的和值即为所述目标像素点对应的目标热力点的热力值。
[0104]
在一种可能的实现方式中,目标轨迹图像包括k个像素点,每个像素点对应一个像素点值,目标轨迹热力图包括k个热力点,每个热力点对应一个热力值。并且,k个热力点与k个像素点之间一一对应,k为大于或等于1的整数;低通滤波器矩阵或者称之为低通滤波器可以为p
×
p矩阵,p
×
p矩阵包括p
×
p个矩阵点,每个矩阵点对应一个矩阵元素值,其中,p
×
p矩阵的中心点为锚点,p为大于或等于1的整数。
[0105]
接下来对轨迹图像转换为轨迹热力图的具体流程进行详细介绍:
[0106]
在一种可能的实现方式中,首先,对锚点对应的矩阵元素值与k个像素点中的目标像素点对应的目标像素点值进行计算,得到中间点计算值。然后,根据中间点计算值和邻域点计算值集合,确定与目标像素点对应的目标热力点的目标点热力值。其中,邻域点计算值集合包括p
×
p矩阵中除锚点之外的各个其他矩阵点的邻域点计算值;每一个邻域点计算值是根据其他矩阵点对应的矩阵元素值、和k个像素点中与其他矩阵点对应的匹配点的像素点值计算得到的。
[0107]
其中,在p
×
p矩阵中,通常情况下,锚点对应的矩阵元素值最大,与锚点相邻的其他矩阵点对应的矩阵元素值可以按照与锚点的距离依次减小,减小的幅度可以相同,也可以不相同。针对p
×
p矩阵,其他矩阵点可以细分为锚点的第一邻域内的点和锚点的第二邻域内的点,第一邻域可以包括四邻域,第二邻域可以包括九邻域等等。例如,p
×
p矩阵所对应的低通滤波器例如可以为图5b所示,图5b是本技术实施例提供的一种低通滤波器的示意图。
[0108]
如图5b所示,本技术中的低通滤波器具体可以为5
×
5的矩阵,并且中间点(即锚点)的矩阵元素值最大,锚点的位置可以为第三行第三列,越靠近矩阵边缘,对应的矩阵点的矩阵元素值越小。例如,在以锚点为中心的八邻域内的八个矩阵点的矩阵元素值均可以为2,在以锚点为中心的二十四邻域内的二十四个矩阵点中,除去前述矩阵元素值为2的矩阵点,其余矩阵点的矩阵元素值均可以为1。
[0109]
然后,将滤波器的锚点放在特定的像素点上(特定像素点可以为二值图像中的每个像素点),同时,滤波器的其他值与该像素点邻域的各像素点重合,并将核内各值与相应像素点值相乘,并将得到的每个像素点的乘积相加,最后将所得结果放到与锚点对应的像
素上。举例来说,为二值图像的目标轨迹图像例如可以为图5c所示,图5c是本技术实施例提供的一种轨迹图像的示意图。
[0110]
在如图5c所示的二值图像中,像素点值为1的像素点可以为游戏角色来过该像素点对应的轨迹点处,像素点值为0的像素点可以为游戏角色没有来过该像素点对应的轨迹点处。需要说明的是,二值图像的维度和轨迹热力图的维度相同,二值图像的维度(或者轨迹热力图的维度)与低通滤波器的维度可以相同,也可以不相同。假设目标像素点为第2行第2列的像素点,首先对该点对应的像素点值1与低通滤波器的锚点对应的矩阵元素值5进行计算,计算方式可以为二者相乘1
×
5=5,于是得到中间点计算值5;然后对该点周围的其它点(例如该点上方的点)对应的像素点值1与低通滤波器与其他点匹配的矩阵点(第2行第3列)的矩阵元素值2相乘,于是得到邻域点计算值2;又如,目标像素点周围的另一个像素点(第1行第3列)对应的像素点值1与低通滤波器与其他点匹配的矩阵点(第2行第4列)的矩阵元素值2相乘,于是得到邻域点计算值2。
[0111]
以此类推,将5
×
5矩阵中除锚点之外的各个其他矩阵点的邻域点计算值均计算出来,并且相加得到邻域点计算值集合。最后,针对二值图像中的每个像素点,均按照上述方法计算与该像素点对应的热力点的热力值,于是可以通过低通滤波器将轨迹图像转换为轨迹热力图。并且,在轨迹热力图的示意图中,越靠近轨迹点处的热力值越大,反之,则热力值越小。
[0112]
s520:确定目标轨迹热力图中k个热力点对应的k个热力值中的最大热力值。
[0113]
s530:根据目标轨迹热力图中各个热力点的热力值和最大热力值,确定归一化轨迹热力图。
[0114]
在一种可能的实现方式中,首先,确定目标轨迹热力图中k个热力点对应的k个热力值中的最大热力值;然后,根据目标轨迹热力图中各个热力点的热力值和最大热力值,确定归一化轨迹热力图。其中,归一化轨迹热力图包括k个归一化热力点,每个归一化热力点对应的归一化热力值是由每个热力点对应的热力值与最大热力值之间的比值确定的。
[0115]
本技术中,在得到轨迹热力图之后,进一步地,可以对轨迹热力图(轨迹图像和低通滤波器卷积后的结果)进行后处理,后处理可以包括对轨迹热力图进行归一化处理,让轨迹热力图中的最大值为1,处理方式可以是将轨迹热力图中的每个热力点的热力值均除以轨迹热力图中的最大热力值,公式如下所示:
[0116][0117]
在上述公式中,分子代表轨迹热力图中的每个热力点的热力值,分母是轨迹热力图中的最大热力值。于是可以得到归一化处理后的归一化轨迹热力图。当然,归一化轨迹热力图的维度与轨迹热力图的维度相同。
[0118]
接下来,在确定归一化轨迹热力图之后,请参见图6,图6是本技术实施例提供的确定相似矩阵的流程示意图。其中,图6实施例是图3a实施例步骤s320中的一个具体实施例。该方法应用于智能设备,如图6所示,该方法可包括步骤s610~s630。其中:
[0119]
s610:分别确定目标像素点集合中各个目标像素点在归一化轨迹热力图中所对应的归一化热力点的目标归一化热力值。
[0120]
其中,目标像素点集合中包括的目标像素点是参考轨迹图像中像素点值为预设数
值的像素点。参考轨迹图像可以为轨迹图像集合中除目标轨迹图像之外的任一轨迹图像,参考轨迹图像也可以为二值图像,预设数值可以为1。
[0121]
举例来说,假设参考轨迹图像中像素点值为1的点有5个分别为p1,p2,p3,p4,p5。并且,p1,p2,p3,p4,p5在归一化热力图中所对应的归一化热力点分别为r1,r2,r3,r4,r5。然后,假设确定出来的p1在r1处的归一化热力值为m1,p2在r2处的归一化热力值为m2,p3在r3处的归一化热力值为m3,p4在r14处的归一化热力值为m4,p5在r5处的归一化热力值为m5。
[0122]
s620:将确定的目标归一化热力值进行求和运算,得到热力值总和值。
[0123]
举例来说,基于上述确定的目标归一化热力值,将确定出来的所有目标归一化热力值进行相加,得到热力值总和值为m1+m2+m3+m4+m5。
[0124]
s630:根据参考轨迹图像、目标轨迹图像以及热力值总和值,确定参考轨迹图像对应的第一场景移动轨迹和目标轨迹图像对应的第二场景移动轨迹之间的相似度。
[0125]
在一种可能的实现方式中,首先,确定参考轨迹图像中像素点值为预设数值的像素点的第一轨迹数量,以及确定目标轨迹图像中像素点值为预设数值的像素点的第二轨迹数量。然后,在第一轨迹数量和第二轨迹数量中确定最大轨迹数量。最后,根据热力值总和值与最大轨迹数量,确定参考轨迹图像对应的第一场景移动轨迹和目标轨迹图像对应的第二场景移动轨迹之间的相似度。
[0126]
在一种可能的实现方式中,可以将热力值总和值与最大轨迹数量之间的比值作为参考轨迹图像对应的第一场景移动轨迹和目标轨迹图像对应的第二场景移动轨迹之间的相似度。
[0127]
举例来说,根据上述方式,根据参考轨迹图像、目标轨迹图像以及热力值总和值,计算两条场景移动轨迹间的相似度,计算公式如下:
[0128][0129]
其中,p1可以为第一场景移动轨迹,p2可以为第二场景移动轨迹,对应第二场景移动轨迹的热力图。公式右侧的分子对应p1中像素点值为1的像素点在中的累加值,p1和p2的距离越接近,分子的值会越大,意味着两条场景移动轨迹之间的相似度越高,分母对应p1和p2的最大轨迹数量,用于归一化处理。
[0130]
本技术可以用于游戏场景中,接下来对本技术应用于游戏场景的详细流程进行具体说明。请参见图7,图7是本技术实施例提供的另一种轨迹数据的处理方法的流程示意图,该流程可以包括步骤s710~s760。其中:
[0131]
s710:收集场景用户数据。
[0132]
其中,步骤s810的具体步骤详细可参见图3a实施例中步骤s310中关于获取轨迹图像集合的实现方式,本技术在此不再赘述。
[0133]
s720:轨迹聚类。
[0134]
其中,步骤s820的具体步骤详细可参见图3a实施例中步骤s320中关于确定两条场景移动轨迹之间的相似度的实现方式,本技术在此不再赘述。
[0135]
s730:轨迹聚类。
[0136]
其中,步骤s730的具体步骤详细可参见图3a实施例中步骤s330中关于“根据相似矩阵,对轨迹图像集合中记录的轨迹图像进行聚类处理”的实现方式,本技术在此不再赘述。
[0137]
s740:挑选热点路径。
[0138]
其中,步骤s740的具体步骤详细可参见图3a实施例中步骤s340中关于“确定n个聚类集合中目标聚类集合的目标移动轨迹,并根据目标移动轨迹确定目标移动路径”的实现方式,本技术在此不再赘述。
[0139]
s750:回访玩家行为。
[0140]
在一种可能的实现方式中,目标移动轨迹包括多个轨迹点,每个轨迹点对应一条轨迹数据,轨迹数据包括位置信息和动作信息。智能设备根据目标移动轨迹包括的每个轨迹点的位置信息,生成位移指令,并控制虚拟角色按照位移指令进行位置移动;和/或,根据目标移动轨迹包括的每个轨迹点的动作信息,生成动作指令,并控制虚拟角色按照动作指令在相应轨迹点处执行游戏动作。
[0141]
举例来说,在对抗游戏的智能模拟场景中,可以根据确定的n条目标移动路径控制虚拟角色(例如可以为智能机器人)进行游戏复现。游戏复现具体是指:控制虚拟角色按照目标移动路径进行相应的移动和游戏操作。请参见图2b,图2b是本技术实施例提供的一种控制虚拟角色的游戏场景示意图。如图2b所示,虚线处即为热点移动路径(即目标移动路径),控制虚拟角色按照热点移动路径的方向进行移动,其中热点移动路径包括多个轨迹点,虚拟角色根据每个轨迹点的位置进行移动。另外,还可以控制虚拟角色在每个轨迹点处执行相应的游戏动作,游戏动作包括但不限于:跳跃、产生对抗动作、旋转等等。
[0142]
本技术中,假设n=10,于是可以得到10个热点移动路径(即目标移动路径),可以控制虚拟角色依次按照这10个目标移动路径对应的游戏轨迹的轨迹数据进行移动。在移动过程中,通过游戏接口获取当前游戏角色在地图中的位置和朝向,根据记录的朝向数据设置游戏角色的朝向,同时计算角色位置与路径上目标位置之间的距离。如果距离小于参考距离阈值,这说明游戏角色到达目标位置附近,需要对目标位置进行更新(选取玩家位置序列中的下一个位置作为目标位置),否则根据游戏角色位置和目标位置计算移动的方向,向目标位置进行移动。同时需要复现玩家的跳跃和对抗操作,如果某帧玩家有跳跃或对抗的操作,则需要判断玩家是否到该帧记录的位置附近,如果到了则执行跳跃或对抗操作,否则向记录的位置移动。需要说明的是,在控制虚拟角色进行游戏复现的过程中,即使该虚拟角色周围没有敌对角色,但是根据轨迹数据中包含确定的动作指令需要产生对抗动作,则该虚拟角色仍然需要执行对抗动作。
[0143]
通过本技术提供的轨迹数据的处理方法确定出来的目标移动路径可以用于智能模拟游戏的测试,控制虚拟角色按照目标移动路径进行相应的游戏复现。相比于人工标注移动路径,本技术可以根据获取到的游戏数据自动分析并确定出相应的移动路径,节约了人工标注成本,并且提高了处理效率。
[0144]
s760:输出性能测试报告。
[0145]
在一种可能的实现方式中,在控制虚拟角色按照位移指令进行位置移动,和/或控制虚拟角色按照动作指令在相应轨迹点处执行游戏动作的过程中,针对每一个轨迹点,确定每个轨迹点对应的游戏性能数据,游戏性能数据可以包括游戏客户端的cpu占比数据、温
度数据以及帧率数据中的一种或多种;然后,根据确定的每个轨迹点对应的游戏性能数据,输出目标移动路径对应的性能测试报告。
[0146]
在一种可能的实现方式中,本技术中的输出的性能测试报告可以是针对复现任意一条热点移动路径(即目标移动路径)之后输出的报告,也可以是针对复现轨迹集合确定对应的多条热点移动路径之后输出的报告,本技术对此不做具体限定。
[0147]
举例来说,本技术以输出的性能测试报告包括复现多条热点移动路径为例进行详细说明。请参见图8a,图8a是本技术实施例提供的一种性能测试报告的示意图。如图8a所示,该性能测试报告示出了10条热点移动路径分别对应的性能测试数据,性能测试数据包括但不限于:cpu占比、温度以及帧率等等。针对任一条热点移动路径,用户可以点击性能测试报告中对应的具体的性能测试数据,并且查看该条热点移动路径中包括的多个轨迹点处的性能测试数据。
[0148]
例如,用户点击热点移动路径1的cpu占比处的数据(101),则可以弹出关于热点移动路径1包括的多个轨迹点中每个轨迹点处的cpu占比数据的弹窗(110)。请参见图8b,图8b是本技术实施例提供的另一种性能测试报告的示意图。如图8b所示,图8b中包括了热点路径1包括的n个轨迹点,以及每个轨迹点处对应的cpu占比数据。
[0149]
又如,用户点击热点移动路径1的温度处的数据(102),则可以弹出关于热点移动路径1包括的多个轨迹点中每个轨迹点处的温度数据的弹窗(120)。请参见图8c,图8c是本技术实施例提供的另一种性能测试报告的示意图。如图8c所示,图8c中包括了热点路径1包括的n个轨迹点,以及每个轨迹点处对应的温度数据。
[0150]
还如,用户点击热点移动路径1的帧率处的数据(103),则可以弹出关于热点移动路径1包括的多个轨迹点中每个轨迹点处的帧率数据的弹窗(130)。请参见图8d,图8d是本技术实施例提供的另一种性能测试报告的示意图。如图8d所示,图8d中包括了热点路径1包括的n个轨迹点,以及每个轨迹点处对应的帧率数据。
[0151]
综上所述,针对性能测试报告中的每条热点移动路径,均可以采用上述方法查看相应路径下的每个轨迹点处的性能测试数据(包括cpu占比数据、温度数据和帧率数据中的一种或者多种)。需要说明的是,由于在通过测试工具采集性能数据的时候,是采集的每个轨迹点处的性能数据,因此在图8a所示的性能测试报告中,针对每一条热点路径,其对应的cpu占比数据可以根据多个轨迹点处的cpu占比数据确定。在一种可能的实现方式中,针对每一条热点路径,其对应的cpu占比数据可以为以下数据中的一种或多种:根据多个轨迹点处的cpu占比数据得到的平均cpu占比数据,或者多个轨迹点处的cpu占比数据中的最大cpu占比数据,或者多个轨迹点处的cpu占比数据中的最小cpu占比数据。在不同的测试场景下,可以根据测试需求选择适当的指标作为参考,本技术对此不作具体限定。
[0152]
在通过控制虚拟角色回放玩家行为的过程中,本方案可以通过性能测试工具记录游戏的cpu占比、温度、帧率等性能数据,输出性能测试报告。由于本方案确定的热点移动路径是从大量游戏轨迹中确定出来的最具有代表性的游戏轨迹对应的移动路径,因此能复现大多数场景用户的游戏状态,使得输出的性能测试报告更为可靠。
[0153]
进一步地,根据性能测试报告可以进行游戏版本的更新。举例来说,由于性能测试报告中包括所有热点移动路径的性能测试数据,因此,可以通过所有热点移动路径的性能测试数据,选择最优移动路径(性能测试数据相对而言最符合测试标准规范对应的路径),
然后基于选择出来的最优移动路径对游戏版本进行迭代更新。最终,使得更新后的游戏版本在能够覆盖大量游戏玩家的游戏行为的基础之上,又能有比较良好的游戏状态(性能测试数据较佳),从而针对游戏平台而言,可以提高游戏客户端后台的处理效率;针对游戏玩家而言,提升用户的游戏体验感,从而为游戏平台带来更多的需求客户。
[0154]
请参见图9,图9是本技术实施例提供的一种轨迹数据的处理装置的结构示意图。该轨迹数据的处理装置900可应用于图3a~图8d对应的方法实施例中的智能设备。轨迹数据的处理装置900可以是运行于轻量节点中的一个计算机程序(包括程序代码),例如该轨迹数据的处理装置900为一个应用软件;该装置900可以用于执行本技术实施例提供的方法中的相应步骤。该轨迹数据的处理装置900可包括:
[0155]
获取单元901,用于获取轨迹图像集合,轨迹图像集合包括多张轨迹图像,每张轨迹图像是根据在目标场景中的场景移动轨迹的轨迹数据生成的;
[0156]
处理单元902,用于将轨迹图像集合中的轨迹图像转换为轨迹热力图,并根据每张轨迹图像对应的轨迹热力图确定相似矩阵,相似矩阵中的矩阵元素用于表示两张轨迹图像各自对应的场景移动轨迹之间的相似度;
[0157]
处理单元902,还用于根据相似矩阵,对轨迹图像集合中记录的轨迹图像进行聚类处理,得到聚类处理结果,聚类处理结果包括:n个聚类集合,被聚类处理确定为同一类别的多张轨迹图像属于一个聚类集合,n为大于或等于1的整数;
[0158]
处理单元902,还用于确定n个聚类集合中目标聚类集合的目标移动轨迹,并根据目标移动轨迹确定目标移动路径。
[0159]
在一种可能的实现方式中,轨迹图像集合中的轨迹图像为二值图像,处理单元902将轨迹图像集合中的轨迹图像转换为轨迹热力图,包括:
[0160]
采用低通滤波器,对轨迹图像集合中的目标轨迹图像进行低通滤波处理,得到目标轨迹图像对应的目标轨迹热力图。
[0161]
在一种可能的实现方式中,目标轨迹图像包括k个像素点,每个像素点对应一个像素点值,目标轨迹热力图包括k个热力点,每个热力点对应一个热力值,k个热力点与k个像素点之间一一对应,k为大于或等于1的整数;低通滤波器为p
×
p矩阵,p
×
p矩阵包括p
×
p个矩阵点,每个矩阵点对应一个矩阵元素值,p
×
p矩阵的中心点为锚点,p为大于或等于1的整数;
[0162]
处理单元902还用于执行以下操作:
[0163]
对锚点对应的矩阵元素值与k个像素点中的目标像素点对应的目标像素点值进行计算,得到中间点计算值;
[0164]
根据中间点计算值和邻域点计算值集合,确定与目标像素点对应的目标热力点的目标点热力值;
[0165]
其中,邻域点计算值集合包括p
×
p矩阵中除锚点之外的各个其他矩阵点的邻域点计算值;每一个邻域点计算值是根据其他矩阵点对应的矩阵元素值、和k个像素点中与其他矩阵点对应的匹配点的像素点值计算得到的。
[0166]
在一种可能的实现方式中,处理单元902还用于执行以下操作:
[0167]
确定目标轨迹热力图中k个热力点对应的k个热力值中的最大热力值;
[0168]
根据目标轨迹热力图中各个热力点的热力值和最大热力值,确定归一化轨迹热力
图;
[0169]
其中,归一化轨迹热力图包括k个归一化热力点,每个归一化热力点对应的归一化热力值是由每个热力点对应的热力值与最大热力值之间的比值确定的。
[0170]
在一种可能的实现方式中,处理单元902根据每张轨迹图像对应的轨迹热力图确定相似矩阵,包括:
[0171]
分别确定目标像素点集合中各个目标像素点在归一化轨迹热力图中所对应的归一化热力点的目标归一化热力值,其中,目标像素点集合中包括的目标像素点是参考轨迹图像中像素点值为预设数值的像素点;
[0172]
将确定的目标归一化热力值进行求和运算,得到热力值总和值;
[0173]
根据参考轨迹图像、目标轨迹图像以及热力值总和值,确定参考轨迹图像对应的第一场景移动轨迹和目标轨迹图像对应的第二场景移动轨迹之间的相似度。
[0174]
在一种可能的实现方式中,处理单元902根据参考轨迹图像、目标轨迹图像以及热力值总和值,确定参考轨迹图像对应的第一场景移动轨迹和目标轨迹图像对应的第二场景移动轨迹之间的相似度,包括:
[0175]
确定参考轨迹图像中像素点值为预设数值的像素点的第一轨迹数量,以及确定目标轨迹图像中像素点值为预设数值的像素点的第二轨迹数量;
[0176]
在第一轨迹数量和第二轨迹数量中确定最大轨迹数量;
[0177]
根据热力值总和值与最大轨迹数量,确定参考轨迹图像对应的第一场景移动轨迹和目标轨迹图像对应的第二场景移动轨迹之间的相似度。
[0178]
在一种可能的实现方式中,处理单元902确定n个聚类集合中目标聚类集合的目标移动轨迹,包括:
[0179]
获取n个聚类集合中目标聚类集合包括的m张轨迹图像对应的m张轨迹热力图的平均热力图,m为大于或者等于1的整数;
[0180]
根据m张轨迹热力图和平均热力图,确定n个聚类集合中目标聚类集合的目标移动轨迹。
[0181]
在一种可能的实现方式中,处理单元902根据m张轨迹热力图和平均热力图,确定n个聚类集合中目标聚类集合的目标移动轨迹,包括:
[0182]
确定m张轨迹热力图中的每张轨迹热力图与平均热力图之间的m个值差异信息;
[0183]
将m个值差异信息中满足差异最小化条件的值差异信息对应的轨迹热力图确定为目标轨迹热力图;
[0184]
将与目标轨迹热力图对应的场景移动轨迹确定为n个聚类集合中目标聚类集合的目标移动轨迹。
[0185]
在一种可能的实现方式中,目标移动轨迹包括多个轨迹点,每个轨迹点对应一条轨迹数据,处理单元902还用于执行以下步骤的任意一个或两个:
[0186]
根据目标移动轨迹上的轨迹点对应的轨迹数据中包括的位置信息,生成位移指令,并控制虚拟角色按照位移指令进行位置移动;
[0187]
根据目标移动轨迹上的轨迹点对应的轨迹数据中包括的动作信息,生成动作指令,并控制虚拟角色按照动作指令在相应轨迹点处执行游戏动作。
[0188]
在一种可能的实现方式中,处理单元902还用于执行以下操作:
[0189]
获取由用户终端上报的关于参考场景移动轨迹的轨迹数据,并根据上报的轨迹数据确定轨迹长度;
[0190]
若确定的轨迹长度满足长度筛选条件,则根据参考场景移动轨迹的轨迹数据生成轨迹图像,并将轨迹图像放入轨迹图像集合中;
[0191]
若确定的轨迹长度不满足长度筛选条件,则删除参考场景移动轨迹的轨迹数据。
[0192]
本技术实施例的所述轨迹数据的处理装置中各个模块的具体实现以及所能够实现的技术效果可参考前述实施例中相关内容的描述,在此不赘述。
[0193]
请参见图10,请参见图10,图10是本技术实施例提供的一种智能设备的结构示意图。上述图3a~图8d对应实施例中的智能设备可以为智能设备1000。如图1所示,智能设备1000可以包括:用户接口1002、处理器1004、编码器1006以及存储器1008。信号接收器1016用于经由蜂窝接口1010、wifi接口1012、...、或nfc接口1014接收或者发送数据。编码器1006将接收到的数据编码为计算机处理的数据格式。存储器1008中存储有计算机程序,处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。存储器1008可包括易失性存储器(例如,动态随机存取存储器dram),还可以包括非易失性存储器(例如,一次性可编程只读存储器otprom)。在一些实例中,存储器1008可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至智能设备1000。用户接口1002可以包括:键盘1018和显示器1020。
[0194]
在图10所示的智能设备1000中,处理器1004可以用于调用存储器1008中存储计算机程序,以实现:
[0195]
获取轨迹图像集合,轨迹图像集合包括多张轨迹图像,每张轨迹图像是根据在目标场景中的场景移动轨迹的轨迹数据生成的;
[0196]
将轨迹图像集合中的轨迹图像转换为轨迹热力图,并根据每张轨迹图像对应的轨迹热力图确定相似矩阵,相似矩阵中的矩阵元素用于表示两张轨迹图像各自对应的场景移动轨迹之间的相似度;
[0197]
根据相似矩阵,对轨迹图像集合中记录的轨迹图像进行聚类处理,得到聚类处理结果,聚类处理结果包括:n个聚类集合,被聚类处理确定为同一类别的多张轨迹图像属于一个聚类集合,n为大于或等于1的整数;
[0198]
确定n个聚类集合中目标聚类集合的目标移动轨迹,并根据目标移动轨迹确定目标移动路径。
[0199]
在一种可能的实现方式中,轨迹图像集合中的轨迹图像为二值图像,处理器1004将轨迹图像集合中的轨迹图像转换为轨迹热力图,包括:
[0200]
采用低通滤波器,对轨迹图像集合中的目标轨迹图像进行低通滤波处理,得到目标轨迹图像对应的目标轨迹热力图。
[0201]
在一种可能的实现方式中,目标轨迹图像包括k个像素点,每个像素点对应一个像素点值,目标轨迹热力图包括k个热力点,每个热力点对应一个热力值,k个热力点与k个像素点之间一一对应,k为大于或等于1的整数;低通滤波器为p
×
p矩阵,p
×
p矩阵包括p
×
p个矩阵点,每个矩阵点对应一个矩阵元素值,p
×
p矩阵的中心点为锚点,p为大于或等于1的整数;
[0202]
处理器1004还用于执行以下操作:
[0203]
对锚点对应的矩阵元素值与k个像素点中的目标像素点对应的目标像素点值进行计算,得到中间点计算值;
[0204]
根据中间点计算值和邻域点计算值集合,确定与目标像素点对应的目标热力点的目标点热力值;
[0205]
其中,邻域点计算值集合包括p
×
p矩阵中除锚点之外的各个其他矩阵点的邻域点计算值;每一个邻域点计算值是根据其他矩阵点对应的矩阵元素值、和k个像素点中与其他矩阵点对应的匹配点的像素点值计算得到的。
[0206]
在一种可能的实现方式中,处理器1004还用于执行以下操作:
[0207]
确定目标轨迹热力图中k个热力点对应的k个热力值中的最大热力值;
[0208]
根据目标轨迹热力图中各个热力点的热力值和最大热力值,确定归一化轨迹热力图;
[0209]
其中,归一化轨迹热力图包括k个归一化热力点,每个归一化热力点对应的归一化热力值是由每个热力点对应的热力值与最大热力值之间的比值确定的。
[0210]
在一种可能的实现方式中,处理器1004根据每张轨迹图像对应的轨迹热力图确定相似矩阵,包括:
[0211]
分别确定目标像素点集合中各个目标像素点在归一化轨迹热力图中所对应的归一化热力点的目标归一化热力值,其中,目标像素点集合中包括的目标像素点是参考轨迹图像中像素点值为预设数值的像素点;
[0212]
将确定的目标归一化热力值进行求和运算,得到热力值总和值;
[0213]
根据参考轨迹图像、目标轨迹图像以及热力值总和值,确定参考轨迹图像对应的第一场景移动轨迹和目标轨迹图像对应的第二场景移动轨迹之间的相似度。
[0214]
在一种可能的实现方式中,处理器1004根据参考轨迹图像、目标轨迹图像以及热力值总和值,确定参考轨迹图像对应的第一场景移动轨迹和目标轨迹图像对应的第二场景移动轨迹之间的相似度,包括:
[0215]
确定参考轨迹图像中像素点值为预设数值的像素点的第一轨迹数量,以及确定目标轨迹图像中像素点值为预设数值的像素点的第二轨迹数量;
[0216]
在第一轨迹数量和第二轨迹数量中确定最大轨迹数量;
[0217]
根据热力值总和值与最大轨迹数量,确定参考轨迹图像对应的第一场景移动轨迹和目标轨迹图像对应的第二场景移动轨迹之间的相似度。
[0218]
在一种可能的实现方式中,处理器1004确定n个聚类集合中目标聚类集合的目标移动轨迹,包括:
[0219]
获取n个聚类集合中目标聚类集合包括的m张轨迹图像对应的m张轨迹热力图的平均热力图,m为大于或者等于1的整数;
[0220]
根据m张轨迹热力图和平均热力图,确定n个聚类集合中目标聚类集合的目标移动轨迹。
[0221]
在一种可能的实现方式中,处理器1004根据m张轨迹热力图和平均热力图,确定n个聚类集合中目标聚类集合的目标移动轨迹,包括:
[0222]
确定m张轨迹热力图中的每张轨迹热力图与平均热力图之间的m个值差异信息;
[0223]
将m个值差异信息中满足差异最小化条件的值差异信息对应的轨迹热力图确定为
目标轨迹热力图;
[0224]
将与目标轨迹热力图对应的场景移动轨迹确定为n个聚类集合中目标聚类集合的目标移动轨迹。
[0225]
在一种可能的实现方式中,目标移动轨迹包括多个轨迹点,每个轨迹点对应一条轨迹数据,处理器1004还用于执行以下步骤的任意一个或两个:
[0226]
根据目标移动轨迹上的轨迹点对应的轨迹数据中包括的位置信息,生成位移指令,并控制虚拟角色按照位移指令进行位置移动;
[0227]
根据目标移动轨迹上的轨迹点对应的轨迹数据中包括的动作信息,生成动作指令,并控制虚拟角色按照动作指令在相应轨迹点处执行游戏动作。
[0228]
在一种可能的实现方式中,处理器1004还用于执行以下操作:
[0229]
获取由用户终端上报的关于参考场景移动轨迹的轨迹数据,并根据上报的轨迹数据确定轨迹长度;
[0230]
若确定的轨迹长度满足长度筛选条件,则根据参考场景移动轨迹的轨迹数据生成轨迹图像,并将轨迹图像放入轨迹图像集合中;
[0231]
若确定的轨迹长度不满足长度筛选条件,则删除参考场景移动轨迹的轨迹数据。
[0232]
应当理解,本技术实施例中所描述的智能设备1000可执行前文图3a~图8d所对应实施例中对轨迹数据的处理方法的描述,也可执行前文图9对应实施例中对轨迹数据的处理装置900的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
[0233]
在本技术所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0234]
此外,这里需要指出的是:本技术实施例还提供了一种计算机存储介质,且计算机存储介质中存储有前文提及的对轨迹数据的处理装置900所执行的计算机程序,且该计算机程序包括程序指令,当处理器执行上述程序指令时,能够执行前文图3a~图8d所对应实施例中的方法,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本技术所涉及的计算机存储介质实施例中未披露的技术细节,请参照本技术方法实施例的描述。作为示例,程序指令可以被部署在一个智能设备上,或者在位于一个地点的多个智能设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个智能设备上执行,分布在多个地点且通过通信网络互连的多个智能设备可以组成区块链系统。
[0235]
根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。智能设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该智能设备可以执行前文图3a~图8d所对应实施例中的方法,因此,这里将不再进行赘述。
[0236]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述程序可存储于一计算机可读取存储介质
中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
[0237]
以上所揭露的仅为本技术的部分实施例而已,当然不能以此来限定本技术之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本技术权利要求所作的等同变化,仍属于申请所涵盖的范围。