发明内容
有鉴于此,本申请实施例提供了一种智能模型训练方法及装置、一种碰撞检测方法及装置、一种计算设备及存储介质,以解决现有技术中存在的技术缺陷。
第一方面,本申请实施例公开了一种智能模型训练方法,包括:
获取物体样本集的集合,其中,所述物体样本的集合包含多组物体样本集以及每组所述物体样本集对应的物体样本集标签,每组所述物体样本集包含物体样本的大小、物体样本的数量、物体样本的密集度,所述物体样本集标签包括网格层建立方法;
通过所述物体样本集的集合对智能模型进行训练,得到所述智能模型,所述智能模型使得所述物体样本集和所述物体样本集标签相关联。
可选的,获取物体样本集的集合之前,还包括:
确定每组所述物体样本集对应的物体样本集标签。
可选的,确定每组所述物体样本集对应的物体样本集标签包括:
根据包括至少两种网格层建立方法的集合为每组所述物体样本集建立至少两种对应的网格层;
根据所述至少两种网格层确定每组所述物体样本集中物体样本的至少两种碰撞关系;
根据所述至少两种碰撞关系确定每组所述物体样本集中物体样本的至少两种碰撞检测结果,其中,所述碰撞检测结果包括检测一次所述物体样本集中物体样本的碰撞检测耗时;
从所述至少两种碰撞检测结果中选择一种碰撞检测结果对应的网格层建立方法作为所述物体样本集对应的物体样本集标签。
可选的,从所述至少两种碰撞检测结果中选择一种碰撞检测结果对应的网格层建立方法作为所述物体样本集对应的物体样本集标签之后,还包括:
接收新的网格层建立方法,并将所述新的网格层建立方法添加至所述包括至少两种网格层建立方法的集合中。
可选的,根据所述至少两种网格层确定每组所述物体样本集中物体样本的至少两种碰撞关系包括:
确定每组所述物体样本集中物体样本在其对应的所述至少两种网格层的至少两个网格层坐标;
根据每组所述物体样本集中物体样本的所述至少两个网格层坐标确定每组所述物体样本集中物体样本的至少两种碰撞关系。
可选的,所述网格层坐标包括每组所述物体样本集中物体样本的物体粒度,每组所述物体样本集中物体样本在所述网格层的横坐标以及每组所述物体样本集中物体样本在所述网格层的纵坐标,
确定每组所述物体样本集中物体样本在其对应的所述至少两种网格层的至少两个网格层坐标包括:
以每组所述物体样本集中物体样本的物体粒度为z轴,每组所述物体样本集中物体样本在所述网格层的横坐标为x轴以及每组所述物体样本集中物体样本在所述网格层的纵坐标为y轴,将所述至少两个网格层转换为至少两个粒度坐标系,确定每组所述物体样本集中物体样本在所述至少两个粒度坐标系的坐标。
可选的,根据每组所述物体样本集中物体样本的所述至少两个网格层坐标确定每组所述物体样本集中物体样本的至少两种碰撞关系包括:
根据每组所述物体样本集中物体样本在所述至少两个粒度坐标系的坐标确定每组所述物体样本集中物体样本的至少两种碰撞关系。
第二方面,本申请一实施例还提供了一种碰撞检测方法,包括:
获取包括至少两个待检测物体的待检测物体集,其中,所述待检测物体集包括待检测物体的大小、待检测物体的数量以及待检测物体的密集度;
根据预先生成的智能模型为所述待检测物体集确定网格层建立方法,并根据所述网格层建立方法为所述待检测物体集建立对应的网格层;
根据所述网格层确定所述待检测物体集中待检测物体的碰撞关系。
可选的,根据所述网格层确定所述待检测物体集中待检测物体的碰撞关系包括:
确定所述待检测物体集中待检测物体在其对应的网格层的网格层坐标;
根据所述待检测物体集中待检测物体各自的网格层坐标确定所述待检测物体集中待检测物体的碰撞关系。
可选的,所述网格层坐标包括待检测物体集中待检测物体的物体粒度,待检测物体集中待检测物体在所述网格层的横坐标以及所述待检测物体集中待检测物体在所述网格层的纵坐标,
确定所述待检测物体集中待检测物体在其对应的网格层的网格层坐标包括:
以待检测物体集中待检测物体的物体粒度为z轴,待检测物体集中待检测物体在所述网格层的横坐标为x轴以及待检测物体集中待检测物体在所述网格层的纵坐标为y轴,将所述网格层转换为粒度坐标系,确定待检测物体集中待检测物体在所述粒度坐标系的坐标。
可选的,根据所述待检测物体集中待检测物体各自的网格层坐标确定所述待检测物体集中待检测物体的碰撞关系包括:
根据所述待检测物体集中待检测物体在所述粒度坐标系的坐标确定所述待检测物体集中待检测物体的碰撞关系。
可选的,所述预先生成的智能模型包括上述任意一个智能模型。
第三方面,本申请一实施例还提供了一种智能模型训练装置,包括:
第一获取模块,被配置为获取物体样本集的集合,其中,所述物体样本的集合包含多组物体样本集以及每组所述物体样本集对应的物体样本集标签,每组所述物体样本集包含物体样本的大小、物体样本的数量、物体样本的密集度,所述物体样本集标签包括网格层建立方法;
训练模块,被配置为通过所述物体样本集的集合对智能模型进行训练,得到所述智能模型,所述智能模型使得所述物体样本集和所述物体样本集标签相关联。
可选的,所述装置还包括:
第一确定模块,被配置为确定每组所述物体样本集对应的物体样本集标签。
可选的,所述第一确定模块包括:
第一建立子模块,被配置为根据包括至少两种网格层建立方法的集合为每组所述物体样本集建立至少两种对应的网格层;
第二确定子模块,被配置为根据所述至少两种网格层确定每组所述物体样本集中物体样本的至少两种碰撞关系;
第三确定子模块,被配置为根据所述至少两种碰撞关系确定每组所述物体样本集中物体样本的至少两种碰撞检测结果,其中,所述碰撞检测结果包括检测一次所述物体样本集中物体样本的碰撞检测耗时;
选择子模块,被配置为从所述至少两种碰撞检测结果中选择一种碰撞检测结果对应的网格层建立方法作为所述物体样本集对应的物体样本集标签。
可选的,所述装置还包括:
添加模块,被配置为接收新的网格层建立方法,并将所述新的网格层建立方法添加至所述包括至少两种网格层建立方法的集合中。
可选的,所述第二确定子模块还被配置为:
第五确定子模块,被配置为确定每组所述物体样本集中物体样本在其对应的所述至少两种网格层的至少两个网格层坐标;
第六确定子模块,被配置为根据每组所述物体样本集中物体样本的所述至少两个网格层坐标确定每组所述物体样本集中物体样本的至少两种碰撞关系。
可选的,所述网格层坐标包括每组所述物体样本集中物体样本的物体粒度,每组所述物体样本集中物体样本在所述网格层的横坐标以及每组所述物体样本集中物体样本在所述网格层的纵坐标,
所述第五确定子模块,还被配置为:
以每组所述物体样本集中物体样本的物体粒度为z轴,每组所述物体样本集中物体样本在所述网格层的横坐标为x轴以及每组所述物体样本集中物体样本在所述网格层的纵坐标为y轴,将所述至少两个网格层转换为至少两个粒度坐标系,确定每组所述物体样本集中物体样本在所述至少两个粒度坐标系的坐标。
可选的,所述第六确定子模块,还被配置为:
根据每组所述物体样本集中物体样本在所述至少两个粒度坐标系的坐标确定每组所述物体样本集中物体样本的至少两种碰撞关系。
第四方面,本申请一实施例还提供了一种碰撞检测装置,包括:
第二获取模块,被配置为获取包括至少两个待检测物体的待检测物体集,其中,所述待检测物体集包括待检测物体的大小、待检测物体的数量以及待检测物体的密集度;
第二建立模块,被配置为根据预先生成的智能模型为所述待检测物体集确定网格层建立方法,并根据所述网格层建立方法为所述待检测物体集建立对应的网格层;
第四确定模块,被配置为根据所述网格层确定所述待检测物体集中待检测物体的碰撞关系。
可选的,所述第四确定模块包括:
网格层坐标确定子模块,被配置为确定所述待检测物体集中待检测物体在其对应的网格层的网格层坐标;
碰撞关系确定子模块,被配置为根据所述待检测物体集中待检测物体各自的网格层坐标确定所述待检测物体集中待检测物体的碰撞关系。
可选的,所述网格层坐标包括待检测物体集中待检测物体的物体粒度,待检测物体集中待检测物体在所述网格层的横坐标以及所述待检测物体集中待检测物体在所述网格层的纵坐标,
所述网格层坐标确定子模块,还被配置为:
以待检测物体集中待检测物体的物体粒度为z轴,待检测物体集中待检测物体在所述网格层的横坐标为x轴以及待检测物体集中待检测物体在所述网格层的纵坐标为y轴,将所述网格层转换为粒度坐标系,确定待检测物体集中待检测物体在所述粒度坐标系的坐标。
可选的,所述碰撞关系确定子模块,还被配置为:
根据所述待检测物体集中待检测物体在所述粒度坐标系的坐标确定所述待检测物体集中待检测物体的碰撞关系。
可选的,所述预先生成的智能模型包括上述任意一个智能模型。
第五方面,本申请一实施例还提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现该指令被处理器执行时实现如上所述智能模型训练方法或者碰撞检测方法的步骤。
第六方面,本申请一实施例还提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如上所述智能模型训练方法或者碰撞检测方法的步骤。
本申请提供的一种智能模型训练方法及装置、一种碰撞检测方法及装置、一种计算设备及存储介质,其中,所述智能模型训练方法包括获取物体样本集的集合,其中,所述物体样本的集合包含多组物体样本集以及每组所述物体样本集对应的物体样本集标签,每组所述物体样本集包含物体样本的大小、物体样本的数量、物体样本的密集度,所述物体样本集标签包括网格层建立方法;通过所述物体样本集的集合对智能模型进行训练,得到所述智能模型,所述智能模型使得所述物体样本集和所述物体样本集标签相关联。所述智能模型根据所述物体样本集即可以获得对应的所述物体样本集标签即网格层建立方法,节省耗时,并且通过该机器学习的方法使得根据物体样本集获取的网格层建立方法较优,极大的提高了后续采用该网格层建立方法对物体样本集进行检测的碰撞检测结果精度。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
Doorkeeper:在本说明书实施例中的中文解释为“看门狗”,为网格层确定***,通过对进入该***的物体的监控,确定与进入的物体对应的网格层的数量以及网格层的网格粒度。Doorkeeper通过记录所有经过该***的物体的大小,对这些物体大小进行统计,利用自身对网络层的算法,确定需要建立的网格层的层数以及每层网格层的网格粒度。
在本申请中,提供了一种智能模型训练方法及装置、一种碰撞检测方法及装置、一种计算设备及存储介质,在下面的实施例中逐一进行详细说明。
图1是示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备100的上述以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示方法中的步骤。图2是示出了根据本申请一实施例的智能模型训练方法的示意性流程图,包括步骤202至步骤204。
步骤202:获取物体样本集的集合,其中,所述物体样本的集合包含多组物体样本集以及每组所述物体样本集对应的物体样本集标签,每组所述物体样本集包含物体样本的大小、物体样本的数量、物体样本的密集度,所述物体样本集标签包括网格层建立方法。
本说明书一个或多个实施例中,所述物体样本集的集合中包括至少两组物体样本集,每组物体样本集中包括至少两个物体样本,所述物体样本包括但不限于游戏场景中规则或者不规则的图形,例如人物角色或者攻击道具等。
每组所述物体样本集包含物体样本的大小、物体样本的数量、物体样本的密集度即每组所述物体样本集中每个物体样本的大小、总的物体样本的数量以及该组物体样本集中物体样本的密集度。
本说明书一个或多个实施例中,物体样本集以及每组所述物体样本集为经过Doorkeeper的多个历史物体集,所述对应的物体样本集标签为每个历史物体集通过Doorkeeper中现有的多种网格层建立方法建立网格层,然后根据历史物体集在该网格层的碰撞关系得到碰撞检测结果,最后根据该碰撞检测结果确定的每个历史物体集对应的最优的物体样本集标签。
步骤204:通过所述物体样本集的集合对智能模型进行训练,得到所述智能模型,所述智能模型使得所述物体样本集和所述物体样本集标签相关联。
本说明书一个或多个实施例中,获取物体样本集的集合之前,还包括:
确定每组所述物体样本集对应的物体样本集标签。
其中,确定每组所述物体样本集对应的物体样本集标签包括步骤302至步骤308。
步骤302:根据包括至少两种网格层建立方法的集合为每组所述物体样本集建立至少两种对应的网格层。
本说明书一个或多个实施例中,每种网格层即是根据网格层建立方法建立的对应层数以及粒度的网格层。例如第一种网格层为层数为4,网格粒度为a的网格层,第二种网格层为层数为2,网格粒度为b的网格层等。具体种类的网格层根据现有的网格层建立方法确定,本申请对此不作任何限定。
本说明书一个或多个实施例中,若所述包括至少两种网格层建立方法的集合包括3种网格层建立方法,每种网格层建立方法可以为每组物体样本集建立一种对应的网格层;则根据包括至少两种网格层建立方法的集合为每组所述物体样本集建立至少两种对应的网格层即为根据3种网格层建立方法为每组所述物体样本集建立3种对应的网格层。
步骤304:根据所述至少两种网格层确定每组所述物体样本集中物体样本的至少两种碰撞关系。
本说明书一个或多个实施例中,以每组所述物体样本集对应3种网格层为例进行说明。
根据所述至少两种网格层确定每组所述物体样本集中物体样本的至少两种碰撞关系即根据3种网格层确定每组所述物体样本集中物体样本的3种碰撞关系。
步骤306:根据所述至少两种碰撞关系确定每组所述物体样本集中物体样本的至少两种碰撞检测结果,其中,所述碰撞检测结果包括检测一次所述物体样本集中物体样本的碰撞检测耗时。
本说明书一个或多个实施例中,以每组所述物体样本集对应3种碰撞关系为例进行说明。
根据所述至少两种碰撞关系确定每组所述物体样本集中物体样本的至少两种碰撞检测结果即根据3种碰撞关系确定每组所述物体样本集中物体样本的3种碰撞检测结果。
本说明书一个或多个实施例中,所述碰撞检测结果也可以是检测的物体样本集中物体样本的精度等,本申请对此不作任何限定。
步骤308:从所述至少两种碰撞检测结果中选择一种碰撞检测结果对应的网格层建立方法作为所述物体样本集对应的物体样本集标签。
本说明书一个或多个实施例中,以碰撞检测结果为3种为例进行说明。
从所述至少两种碰撞检测结果中选择一种碰撞检测结果对应的网格层建立方法作为所述物体样本集对应的物体样本集标签即从3种碰撞检测结果中选择一种耗时最短的碰撞检测结果对应的网格层建立方法作为所述物体样本集对应的物体样本集标签。
本说明书一个或多个实施例中,从所述至少两种碰撞检测结果中选择一种碰撞检测结果对应的网格层建立方法作为所述物体样本集对应的物体样本集标签之后,还包括:
接收新的网格层建立方法,并将所述新的网格层建立方法添加至所述包括至少两种网格层建立方法的集合中。
即接收新的网格层建立方法,将所述新的网格层建立方法添加至所述包括至少两种网格层建立方法的集合后,将新的网格层建立方法为每组物体样本集建立新的网格层,然后根据新的网格层确定每组物体样本集中物体样本的新的碰撞关系,再根据新的碰撞关系确定每组物体样本集中物体样本的新的碰撞检测结果,然后将新的碰撞检测结果与之前的碰撞检测结果进行比较,重新选择一种碰撞检测结果对应的网格层建立方法作为物体样本集对应的物体样本集标签,可实现训练的智能模型的不断优化。
参见图4,以一组物体样本集A为例,对确定每组所述物体样本集对应的物体样本集标签进行详细说明。
若存在3种网格层建立方法:网格层建立方法1、网格层建立方法2、网格层建立方法3,则根据该3种网格层建立方法为物体样本集A分别建立3种对应的网格层:网格层1、网格层2、网格层3,其中网格层1、网格层2、网格层3的网格层数以及网格粒度根据物体样本集A中的物体样本的大小、物体样本的数量、物体样本的密集度确定;
然后根据网格层1、网格层2、网格层3确定物体样本集A中物体样本的3种碰撞关系,即将物体样本集A中物体样本放入网格层1中,获得碰撞关系1,将物体样本集A中物体样本放入网格层2中,获得碰撞关系2,将物体样本集A中物体样本放入网格层3中,获得碰撞关系3,其中,碰撞关系即物体样本集A中物体样本谁与谁发生了碰撞;
再根据碰撞关系1、碰撞关系2、碰撞关系3确定物体样本集A中物体样本的3种碰撞检测结果,即根据碰撞关系1获取物体样本集A中物体样本的碰撞检测结果1,根据碰撞关系2获取物体样本集A中物体样本的碰撞检测结果2,根据碰撞关系3获取物体样本集A中物体样本的碰撞检测结果3,其中碰撞检测结果1的值为耗时3s、碰撞检测结果2的值为耗时2s、碰撞检测结果3的值为耗时5s。
最后从碰撞检测结果1、碰撞检测结果2、碰撞检测结果3中选择耗时最少的碰撞检测结果2对应的网格层建立方法2作为物体样本集A对应的物体样本集标签。
若还存在网格层建立方法4和网格层建立方法5,将网格层建立方法4和网格层建立方法5添加至之前的网格层建立方法的集合中,然后根据网格层建立方法4和网格层建立方法5为物体样本集A建立网格层4和网格层5,然后根据网格层4和网格层5确定物体样本集A中物体样本的碰撞关系4和碰撞关系5,再根据碰撞关系4和碰撞关系5确定物体样本集A中物体样本的碰撞检测结果4和碰撞检测结果5,其中,碰撞检测结果4的值为耗时1s和碰撞检测结果5的值为耗时3s,然后将碰撞检测结果4和碰撞检测结果5与之前的碰撞检测结果进行比较,重新选择耗时最低的碰撞检测结果4对应的网格层建立方法4作为物体样本集A对应的物体样本集标签。
实际应用中,对于碰撞检测结果的选择可以根据实际需求进行选择,包括但不局限于选择最大值、最小值或者是中间值的碰撞检测结果,本申请对此不作任何限定。
本说明书一个或多个实施例中,采用所述智能模型训练方法,首先收集大量的物体样本集以及网格层建立方法,然后根据收集的大量网格层建立方法对每组物体样本集进行碰撞关系检测,根据该碰撞关系得到碰撞检测结果,为每组物体样本集选择最优的网格层建立方法,然后根据该物体样本集以及对应的网格层建立方法对智能模型进行机器学习训练,并根据新的网格层建立方法对物体样本集对应的标签进行持续自动调整、优化,使得采用该方法训练好的智能模型在后续应用时可以快速的为物体样本集选择最优的网格层建立方法。
参见图5,本说明书一个或多个实施例提供了一种智能模型训练方法中确定每组所述物体样本集对应的物体样本集标签包括步骤502至步骤510。
步骤502:根据包括至少两种网格层建立方法的集合为每组所述物体样本集建立至少两种对应的网格层。
步骤504:确定每组所述物体样本集中物体样本在其对应的所述至少两种网格层的至少两个网格层坐标。
本说明书一个或多个实施例中,所述网格层坐标包括每组所述物体样本集中物体样本的物体粒度,每组所述物体样本集中物体样本在所述网格层的横坐标以及每组所述物体样本集中物体样本在所述网格层的纵坐标,
确定每组所述物体样本集中物体样本在其对应的所述至少两种网格层的至少两个网格层坐标包括:
以每组所述物体样本集中物体样本的物体粒度为z轴,每组所述物体样本集中物体样本在所述网格层的横坐标为x轴以及每组所述物体样本集中物体样本在所述网格层的纵坐标为y轴,将所述至少两个网格层转换为至少两个粒度坐标系,确定每组所述物体样本集中物体样本在所述至少两个粒度坐标系的坐标。
参见图6,以物体样本集B中包括2个物体样本,对应其中一种网格层为例对所述物体样本集B中物体样本在一个粒度坐标系的坐标进行说明。
所述2个物体样本对应的一种网格层包括2层,首先,将该2层网格层转换为粒度坐标系,所述粒度坐标系以物体粒度为z轴,以x轴和y轴表示物体样本在粒度平面上的位置,以物体样本的中心点在粒度平面上的坐标表示物体样本在粒度平面上的坐标。通过所述粒度坐标系可以看出,下层网格层中的物体样本A在粒度坐标系中的坐标为【6.5,5.5,2】,即该物体样本在粒度为2mm的平面上,其在该平面上的坐标为(6.5,5.5)。上层网格层中的物体样本B在粒度坐标系中的坐标为【6.5,5.5,4】,即该物体样本在粒度为4mm的平面上,其在该平面上的坐标为(6.5,5.5)。然后,通过将物体A映射到上层网格层,物体A的映射与物体B重叠;或者通过将物体B映射到下层网格层,物体B的映射与物体A重叠,由此可以确定物体A与物体B必然发生碰撞。
步骤506:根据每组所述物体样本集中物体样本的所述至少两个网格层坐标确定每组所述物体样本集中物体样本的至少两种碰撞关系。
本说明书一个或多个实施例中,根据每组所述物体样本集中物体样本的所述至少两个网格层坐标确定每组所述物体样本集中物体样本的至少两种碰撞关系即根据每组所述物体样本集中物体样本在所述至少两个粒度坐标系的坐标确定每组所述物体样本集中物体样本的至少两种碰撞关系。
其中,根据每组所述物体样本集中物体样本的所述至少两个网格层坐标确定每组所述物体样本集中物体样本的至少两种碰撞关系包括:
对于位于同一网格层的物体样本,每组所述物体样本集中物体样本在所述粒度坐标系的x轴和y轴坐标确定每组所述物体样本集中物体样本的第一碰撞关系;
对于位于不同网格层的待检测物体,每组所述物体样本集中物体样本在所述粒度坐标系的x轴、y轴和z轴坐标确定每组所述物体样本集中物体样本的第二碰撞关系;
根据所述第一碰撞关系和所述第二碰撞关系确定每组所述物体样本集中物体样本的至少两种碰撞关系。
实际使用中,首先将每组所述物体样本集中物体样本根据其物体粒度放入匹配的多层网格层中后,然后在每层网格层中对物体样本进行碰撞关系检测得到第一碰撞检测结果,再对多个网格层中的物体样本进行跨层碰撞检测,检测相邻网格层中的物体样本的碰撞关系得到第二碰撞检测结果,最后从第一碰撞检测结果和第二碰撞检测结果可以得到物体样本在多层网格层中最终的碰撞关系检测结果。其中,由于每组所述物体样本集中的物体样本对应建立好的不同网格层,因此每组所述物体样本集中的物体样本均会对应一个最终的碰撞关系检测结果,若有多组所述物体样本集中的物体样本,则会产生多个对应的最终碰撞关系检测结果。
参见图7,以其中一组物体样本集中物体样本对应的一种多层网格层为例,对该物体样本集中物体样本的碰撞关系检测进行说明。
若所述多层网格层包括a、b和c层,则以三层网格层a、b和c为例对物体样本的碰撞关系检测方式进行说明。
图7中,网格层a1为网格层a的映射关系图。
对物体样本的碰撞关系检测包括两种方式,一种是根据物体粒度较小的网格层的坐标与上一层物体粒度较大的网格层的坐标往父层方向检测,称为向上跨层检测;另一种是根据物体粒度较大的网格层的坐标与下一层物体粒度较小的网格层的坐标往子层方向检测,称为向下跨层检测。
其中,向上跨层检测方式具体为:将网格层b中的物体1映射到网格层a中某个坐标相同区域11中,检测物体1与网格层a中哪些物体发生碰撞。首先物体1必然会与网格层a中坐标相同区域11中的物体发生碰撞,然后再根据同层检测方法对物体1与网格层a坐标相同区域11周边的8个灰色格子区域中的物体进行碰撞检测。
向下跨层检测方式具体为:将网格层b中其中一个物体对应的矩形ABCD区域映射到网格层c中,然后根据该矩形ABCD区域确定网格层c中的物体检测区域:矩形A’B’C’D’,其中,该矩形A’B’C’D’区域为映射在网格层c的矩形ABCD区域的边界均向外扩展一个子层分区大小得到的,该子层分区大小为网格层c的一个网格的大小。
在向下跨层检测方式中,还需要检测映射在网格层c的矩形ABCD区域中的物体会与网格层c中的哪些物体发生碰撞。首先,矩形ABCD区域中的物体必然会与矩形A’B’C’D’区域中的物体发生碰撞,然后再根据现有的同层检测方法将矩形ABCD区域中的物体与矩形A’B’C’D’区域中除对应的矩形ABCD区域周边的其它灰色格子区域中的物体进行碰撞检测。
实际应用中,在对单层网格层中的物体样本进行碰撞检测时,采用哈希的结构,用一个物体样本占一格的九宫格检测方式,但是本说明书实施例的网格层有多个,而且每一个的划分粒度都不一样,就像四叉树那样每一层的空间网格粒度都是不一样的,然后不同物体粒度大小的物体样本就放到不同网格粒度的网格层里,物体样本的碰撞关系检测时,对于同一层的物体样本就使用九宫格的方式检测物体样本之间的碰撞关系,不同层的物体样本使用类似四叉树的方式检测物体样本之间的碰撞关系。
如此一来完全避免了排重操作,而且因为不同大小的物体样本被放入不同的网格层中,避免了同层物体样本之间的交叠检测,筛选精度始终能保持在一定高的精度。
本说明书一个或多个实施例中,每组所述物体样本集中物体样本的每种碰撞关系均采用上述方法获得。
步骤508:根据所述至少两种碰撞关系确定每组所述物体样本集中物体样本的至少两种碰撞检测结果,其中,所述碰撞检测结果包括检测一次所述物体样本集中物体样本的碰撞检测耗时。
步骤510:从所述至少两种碰撞检测结果中选择一种碰撞检测结果对应的网格层建立方法作为所述物体样本集对应的物体样本集标签。
本说明书一个或多个实施例中,根据预设的网格层建立方法为每组所述物体样本集建立对应的网格层,然后根据将该网格层转换为三维的粒度坐标系,然后根据该粒度坐标系确定每组所述物体样本集中物体样本在其对应的网格层的坐标,使得根据每组所述物体样本集中物体样本的网格层坐标确定每组所述物体样本集中物体样本的碰撞关系更加精确,以根据该碰撞关系获得的准确的碰撞检测结果,然后根据准确的碰撞检测结果为物体样本集选择最优的物体样本集标签。
处理器120可以执行图8所示方法中的步骤。图8是示出了根据说明书一实施例的碰撞检测方法的示意性流程图,包括步骤802至步骤806。
步骤802:获取包括至少两个待检测物体的待检测物体集,其中,所述待检测物体集包括待检测物体的大小、待检测物体的数量以及待检测物体的密集度。
本说明书一个或多个实施例中,所述待检测物体集中的待检测物体的数量至少为两个,也可以是三个或三个以上,根据实际应用获取合适待检测物体数量的待检测物体集,本申请对此不作任何限定。
其中,所述待检测物体包括但不限于游戏场景中规则或者不规则的图形,例如人物角色或者攻击道具等。
步骤804:根据预先生成的智能模型为所述待检测物体集确定网格层建立方法,并根据所述网格层建立方法为所述待检测物体集建立对应的网格层。
本说明书一个或多个实施例中,所述预先生成的智能模型为上述实施例中训练好的智能模型。
步骤806:根据所述网格层确定所述待检测物体集中待检测物体的碰撞关系。
本说明书一个或多个实施例中,根据所述网格层确定所述待检测物体集中待检测物体的碰撞关系包括:
确定所述待检测物体集中待检测物体在其对应的网格层的网格层坐标;
根据所述待检测物体集中待检测物体各自的网格层坐标确定所述待检测物体集中待检测物体的碰撞关系。
其中,所述网格层坐标包括待检测物体集中待检测物体的物体粒度,待检测物体集中待检测物体在所述网格层的横坐标以及所述待检测物体集中待检测物体在所述网格层的纵坐标,
确定所述待检测物体集中待检测物体在其对应的网格层的网格层坐标包括:
以待检测物体集中待检测物体的物体粒度为z轴,待检测物体集中待检测物体在所述网格层的横坐标为x轴以及待检测物体集中待检测物体在所述网格层的纵坐标为y轴,将所述网格层转换为粒度坐标系,确定待检测物体集中待检测物体在所述粒度坐标系的坐标。
本说明书一个或多个实施例中,根据所述待检测物体集中待检测物体各自的网格层坐标确定所述待检测物体集中待检测物体的碰撞关系包括:
根据所述待检测物体集中待检测物体在所述粒度坐标系的坐标确定所述待检测物体集中待检测物体的碰撞关系。
本说明书一个或多个实施例中,具体根据所述网格层确定所述待检测物体集中待检测物体的碰撞关系的方法可以参见上述实施例,在此不再赘述。
本说明书一个或多个实施例中,所述碰撞检测方法在获取到待检测物体集后,通过智能模型为待检测物体集确定一个最优的网格层建立方法,然后将待检测物体集中的待检测物体放入通过最优的网格层建立方法建立的网格层中,然后精确的检测出待检测物体集中待检测物体之间的碰撞关系,不仅提高了***的检测精度,并且节省耗时,极大的提高了用户体验。
参见图9,本申请一实施例还提供了一种智能模型训练装置,包括:
第一获取模块902,被配置为获取物体样本集的集合,其中,所述物体样本的集合包含多组物体样本集以及每组所述物体样本集对应的物体样本集标签,每组所述物体样本集包含物体样本的大小、物体样本的数量、物体样本的密集度,所述物体样本集标签包括网格层建立方法;
训练模块904,被配置为通过所述物体样本集的集合对智能模型进行训练,得到所述智能模型,所述智能模型使得所述物体样本集和所述物体样本集标签相关联。
可选的,所述装置还包括:
第一确定模块,被配置为确定每组所述物体样本集对应的物体样本集标签。
可选的,所述第一确定模块包括:
第一建立子模块,被配置为根据包括至少两种网格层建立方法的集合为每组所述物体样本集建立至少两种对应的网格层;
第二确定子模块,被配置为根据所述至少两种网格层确定每组所述物体样本集中物体样本的至少两种碰撞关系;
第三确定子模块,被配置为根据所述至少两种碰撞关系确定每组所述物体样本集中物体样本的至少两种碰撞检测结果,其中,所述碰撞检测结果包括检测一次所述物体样本集中物体样本的碰撞检测耗时;
选择子模块,被配置为从所述至少两种碰撞检测结果中选择一种碰撞检测结果对应的网格层建立方法作为所述物体样本集对应的物体样本集标签。
可选的,所述装置还包括:
添加模块,被配置为接收新的网格层建立方法,并将所述新的网格层建立方法添加至所述包括至少两种网格层建立方法的集合中。
可选的,所述第二确定子模块还被配置为:
第五确定子模块,被配置为确定每组所述物体样本集中物体样本在其对应的所述至少两种网格层的至少两个网格层坐标;
第六确定子模块,被配置为根据每组所述物体样本集中物体样本的所述至少两个网格层坐标确定每组所述物体样本集中物体样本的至少两种碰撞关系。
可选的,所述网格层坐标包括每组所述物体样本集中物体样本的物体粒度,每组所述物体样本集中物体样本在所述网格层的横坐标以及每组所述物体样本集中物体样本在所述网格层的纵坐标,
所述第五确定子模块,还被配置为:
以每组所述物体样本集中物体样本的物体粒度为z轴,每组所述物体样本集中物体样本在所述网格层的横坐标为x轴以及每组所述物体样本集中物体样本在所述网格层的纵坐标为y轴,将所述至少两个网格层转换为至少两个粒度坐标系,确定每组所述物体样本集中物体样本在所述至少两个粒度坐标系的坐标。
可选的,所述第六确定子模块,还被配置为:
根据每组所述物体样本集中物体样本在所述至少两个粒度坐标系的坐标确定每组所述物体样本集中物体样本的至少两种碰撞关系。
本说明书一个或多个实施例中,采用所述智能模型训练方法,首先收集大量的物体样本集以及网格层建立方法,然后根据收集的大量网格层建立方法对每组物体样本集进行碰撞关系检测,根据该碰撞关系得到碰撞检测结果,为每组物体样本集选择最优的网格层建立方法,然后根据该物体样本集以及对应的网格层建立方法对智能模型进行机器学习训练,并根据新的网格层建立方法对物体样本集对应的标签进行持续自动调整、优化,使得采用该方法训练好的智能模型在后续应用时可以快速的为物体样本集选择最优的网格层建立方法。
参见图10,本申请一实施例还提供了一种碰撞检测装置,包括:
第二获取模块1002,被配置为获取包括至少两个待检测物体的待检测物体集,其中,所述待检测物体集包括待检测物体的大小、待检测物体的数量以及待检测物体的密集度;
第二建立模块1004,被配置为根据预先生成的智能模型为所述待检测物体集确定网格层建立方法,并根据所述网格层建立方法为所述待检测物体集建立对应的网格层;
第四确定模块1006,被配置为根据所述网格层确定所述待检测物体集中待检测物体的碰撞关系。
可选的,所述第四确定模块1006包括:
网格层坐标确定子模块,被配置为确定所述待检测物体集中待检测物体在其对应的网格层的网格层坐标;
碰撞关系确定子模块,被配置为根据所述待检测物体集中待检测物体各自的网格层坐标确定所述待检测物体集中待检测物体的碰撞关系。
可选的,所述网格层坐标包括待检测物体集中待检测物体的物体粒度,待检测物体集中待检测物体在所述网格层的横坐标以及所述待检测物体集中待检测物体在所述网格层的纵坐标,
所述网格层坐标确定子模块,还被配置为:
以待检测物体集中待检测物体的物体粒度为z轴,待检测物体集中待检测物体在所述网格层的横坐标为x轴以及待检测物体集中待检测物体在所述网格层的纵坐标为y轴,将所述网格层转换为粒度坐标系,确定待检测物体集中待检测物体在所述粒度坐标系的坐标。
可选的,所述碰撞关系确定子模块,还被配置为:
根据所述待检测物体集中待检测物体在所述粒度坐标系的坐标确定所述待检测物体集中待检测物体的碰撞关系。
可选的,所述预先生成的智能模型包括上述任意一个智能模型。
本说明书一个或多个实施例中,所述碰撞检测装置在获取到待检测物体集后,通过智能模型为待检测物体集确定一个最优的网格层建立方法,然后将待检测物体集中的待检测物体放入通过最优的网格层建立方法建立的网格层中,然后精确的检测出待检测物体集中待检测物体之间的碰撞关系,不仅提高了***的检测精度,并且节省耗时,极大的提高了用户体验。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述智能模型训练方法或者碰撞检测方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的智能模型训练方法或者碰撞检测方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述智能模型训练方法或者碰撞检测方法的技术方案的描述。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。