一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种人体轮廓点检测方法、装置、电子设备和存储介质与流程

2022-03-01 20:51:12 来源:中国专利 TAG:


1.本发明涉及人工智能技术领域,特别涉及一种人体轮廓点检测方法、装置、电子设备和存储介质。


背景技术:

2.随着人工智能技术的发展,人工智能技术被广泛使用。例如,在通过图像采集装置采集到用户的图像时,就能够根据用户的图像,给出用户的人体骨骼关键点,但是,基于这种检测方法得到的检测结果往往不够精准,检测结果仅仅包括与用户骨骼相关联的多个关键点的坐标,无法给出用户更多、且更详细地分布于用户人体各个部位的人体轮廓点的坐标。
3.在某一应用场景中,用户远程待定制高端服装或者配饰,因此,需要精准地且获知当前用户的多个人体轮廓点、以及多个人体轮廓点对应的各个坐标,这样,现有的检测方法得到的检测结果中的轮廓点的数量过少,且得到的轮廓点多为用户的骨骼轮廓点,这样,检测结果只能展示出用户的二维轮廓,用户体验度低。


技术实现要素:

4.基于此,有必要针对基于现有的检测方法得到的检测结果只能展示出用户的二维轮廓,用户体验度低的问题,提供一种人体轮廓点检测方法、装置、电子设备和存储介质。
5.第一方面,本技术实施例提供了一种人体轮廓点检测方法,所述方法包括:
6.获取至少包括目标对象的图片;
7.从所述图片的至少一个对象中确定至少一个目标对象;
8.将至少一个目标对象预设数量的人体轮廓关键点均输入至预设检测模型中,输出检测结果,以根据所述检测结果生成所述目标对象的人体轮廓,所述检测结果包括用于确定检测框边界的多个关键点的坐标、以及所述预设数量的人体轮廓关键点的坐标。
9.在一种实施方式中,所述将至少一个目标对象预设数量的人体轮廓关键点均输入至预设检测模型中进行训练包括:
10.获取数据集,所述数据集包括所述预设数量的第一人体轮廓关键点,所述第一人体轮廓关键点为基于标注工具标注出的人体轮廓关键点;
11.将所述数据集存储于预设格式的文件中。
12.在一种实施方式中,所述将至少一个目标对象预设数量的人体轮廓关键点均输入至预设检测模型中进行训练还包括:
13.将所述图片和所述预设格式的文件作为训练样本,输入所述预设检测模型中进行训练,并输出预测结果,所述预测结果包括所述预设数量的第二人体轮廓关键点,所述第二人体轮廓关键点为预测出的人体轮廓关键点;
14.根据所述预设数量的第一人体轮廓关键点和所述预设数量的第二人体轮廓关键点,计算所述预设检测模型的损失函数;
15.对所述训练样本迭代训练,得到所述预设检测模型,并输出包括所述预设检测模型的权重文件。
16.在一种实施方式中,所述将至少一个目标对象预设数量的人体轮廓关键点均输入至预设检测模型中进行训练,并输出检测结果包括:
17.将至少一个目标对象预设数量的人体轮廓关键点输入至所述预设检测模型中进行训练,输出多个维度的网络输出结果;
18.所述多个维度的网络输出结果包括用于表征所述预设数量的人体轮廓关键点基于中心点的偏移值对应的第一网络输出结果、用于表征所述预设数量的人体轮廓关键点的特征图对应的第二网络输出结果和用于表征所述预设数量中的多个人体轮廓关键点的偏移值对应的第三网络输出结果;
19.根据所述第一网络输出结果、所述第二网络输出结果和所述第三网络输出结果,确定并输出所述预设数量的人体轮廓关键点的坐标。
20.在一种实施方式中,在所述确定并输出所述预设数量的人体轮廓关键点的坐标之后,所述方法还包括:
21.读取用于表征所述目标对象鼻子的第一关键点的第一坐标和用于表征所述目标对象档线的第二关键点的第二坐标;
22.设置夹角,所述夹角为由所述第一坐标确定的所述第一关键点和所述第二坐标确定的所述第二关键点相连得到的连线与竖直垂线之间的夹角;
23.在所述夹角大于预设夹角阈值的情况下,则确定所述目标对象的当前身体姿势是倾斜;或者,
24.读取所述预设数量的人体轮廓关键点中的任意一个关键点的坐标;
25.在所述任意一个关键点的坐标对应的区域处于非图片区域的情况下,则确定所述目标对象处于身体被遮挡的状态。
26.在一种实施方式中,用于表征所述目标对象的各个所述人体轮廓关键点的各个坐标还包括第三坐标和第四坐标,所述第三坐标为用于表征所述目标对象第一肩膀的第三关键点的坐标,所述第四坐标为用于表征所述目标对象第二肩膀的第四关键点的坐标,在所述确定并输出所述预设数量的人体轮廓关键点的坐标之后,所述方法还包括:
27.读取所述第一坐标中的纵坐标、所述第三坐标中的纵坐标以及所述第四坐标中的纵坐标;
28.根据所述第三坐标中的纵坐标和所述第四坐标中的纵坐标,计算所述目标对象肩膀的高度,得到所述目标对象肩膀高度的平均值;
29.根据所述第一坐标中的纵坐标和所述目标对象肩膀高度的平均值,判断所述目标对象的当前身体姿势,在所述第一坐标中的纵坐标对应的高度值大于所述目标对象肩膀高度的平均值的情况下,判断所述目标对象的当前身体姿势是弯腰。
30.在一种实施方式中,所述从所述图片中确定至少一个所述目标对象包括:
31.获取所述图片中的多个对象;
32.获取每一个对象在所述图片中的像素占比、每一个对象的像素占比对应的第一权重值、每一个对象的预测得分、以及每一个对象的预测得分对应的第二权重值;
33.根据每一个对象在所述图片中的像素占比、每一个对象的像素占比对应的第一权
重值、每一个对象的预测得分、以及每一个对象的预测得分对应的第二权重值,分别计算出多个对象中的每一个对象的得分;
34.将多个对象中得分最高的至少一个对象确定为目标对象。
35.在一种实施方式中,所述检测结果还包括用于确定检测框边界的多个关键点的坐标,所述将至少一个目标对象预设数量的人体轮廓关键点均输入至预设检测模型中进行训练,并输出检测结果还包括:
36.将至少一个目标对象预设数量的人体轮廓关键点输入至所述预设检测模型中进行训练,输出多个维度的网络输出结果,所述多个维度的网络输出结果还包括用于表征所述目标对象类别的特征图对应的第四网络输出结果、用于表征所述目标对象的大小的第五网络输出结果和用于表征所述目标对象中心点的偏移值对应的第六网络输出结果;
37.根据所述第四网络输出结果、所述第五网络输出结果和所述第六网络输出结果,确定并输出用于确定所述检测框边界的多个关键点的坐标。
38.第二方面,本技术实施例提供了一种人体轮廓点检测装置,所述装置包括:
39.获取模块,用于获取至少包括目标对象的图片;
40.确定模块,用于从所述获取模块获取的所述图片的至少一个对象中确定至少一个目标对象;
41.处理模块,用于将所述确定模块确定的至少一个目标对象预设数量的人体轮廓关键点均输入至预设检测模型中,输出检测结果,以根据所述检测结果生成所述目标对象的人体轮廓,所述检测结果包括用于确定检测框边界的多个关键点的坐标、以及所述预设数量的人体轮廓关键点的坐标。
42.第三方面,本技术实施例提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序以实现如上所述的方法步骤。
43.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行实现如上所述的方法步骤。
44.本技术实施例提供的技术方案可以包括以下有益效果:
45.在本技术实施例中,获取包括目标对象的图片;从图片中确定至少一个目标对象;将至少一个目标对象预设数量的人体轮廓关键点均输入至预设检测模型中进行训练,并输出检测结果,以根据检测结果生成目标对象的人体轮廓,检测结果包括预设数量的人体轮廓关键点的坐标。本公开实施例提供的检测方法,相对于现有的检测方法只能检测出各个人体骨骼关键点而言,即:检测结果只能展示出目标对象的二维轮廓,而采用本技术实施例,由于输出结果中包括预设数量的人体轮廓关键点的坐标,该预设数量的人体轮廓关键点坐标不仅包括能够全覆盖目标对象的全身轮廓的各个轮廓点坐标,还包括能够覆盖目标对象的五官轮廓的各个轮廓点坐标,这样,由检测结果能够生成目标对象的人体轮廓,并由标注的目标对象的人体轮廓生成人体属性信息;此外,本发明提供的检测方法,在图片中包括多个对象、且多个对象均为目标对象的情况下,能够同时对多个目标对象进行识别,并同步检测出多个目标对象各自的预设数量的人体轮廓关键点的坐标,从而提高了检测效率。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
46.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
47.图1是本公开实施例提供的一种人体轮廓点检测方法的应用场景图;
48.图2是本公开实施例提供的一种人体轮廓点检测方法的流程示意图;
49.图3是本公开实施例提供的具体应用场景下的目标对象的人体轮廓点示意图;
50.图4是本公开实施例提供的确定检测框坐标的示意图;
51.图5是本公开实施例提供的另一种人体轮廓点检测方法的流程示意图;
52.图6是本公开实施例提供的另一种人体轮廓点检测方法的流程示意图;
53.图7是本公开实施例提供的另一种人体轮廓点检测方法的流程示意图;
54.图8是本公开实施例提供的另一种人体轮廓点检测方法的流程示意图;
55.图9是本公开实施例提供的具体应用场景下标注出的检测框和各个人体轮廓关键点的示意图;
56.图10是本公开实施例提供的一种人体轮廓点检测装置的结构示意图;
57.图11示出了根据本公开的实施例的电子设备连接结构示意图。
具体实施方式
58.以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。
59.应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
60.下面结合附图详细说明本公开的可选实施例。
61.如图1所示,为本公开实施例的一种应用场景图,该应用场景为多个用户通过手机等终端设备操作安装于该终端设备上的客户端,客户端通过网络与后台服务器进行数据通信。特别的一种应用场景为对至少一个目标对象的人体轮廓点的检测过程,但并不限于该唯一应用场景,可以理解的任何能够应用于本实施方案的场景均包括在内,为了说明方便,本实施例以图片中的一个目标对象的人体轮廓点进行检测的应用场景为例进行描述。如图1所示,获取的至少包括目标对象的图片往往来自如图1所示的多个客户端之一。
62.如图2所示,本公开实施例提供一种人体轮廓点检测方法,应用于服务器端,具体包括如下方法步骤:
63.s202:获取包括目标对象的图片。
64.在实际应用中,为了获取包括不同对象的多个图片,可以从如图1所示的多个客户端获取多个对象的图片。此外,为了使得检测方法得到的检测结果更加精准,往往选取的图片为能够全覆盖至少一个对象的全身图片、且该全身图片为能够清晰显示该对象的五官轮廓的图片。
65.s204:从图片中确定至少一个目标对象。
66.在实际应用中,一张图片中往往有多个对象,这时,就需要从多个对象中确定哪一个对象为目标对象,或者哪几个为目标对象。
67.具体地,从图片的至少一个对象中确定至少一个目标对象包括以下步骤:
68.获取图片中的多个对象;
69.获取每一个对象在图片中的像素占比、每一个对象的像素占比对应的第一权重值、每一个对象的预测得分、以及每一个对象的预测得分对应的第二权重值;
70.根据每一个对象在图片中的像素占比、每一个对象的像素占比对应的第一权重值、每一个对象的预测得分、以及每一个对象的预测得分对应的第二权重值,分别计算出多个对象中的每一个对象的得分;
71.将多个对象中得分最高的至少一个对象确定为目标对象。
72.在某一应用场景中,预先配置确定至少一个目标对象的规则为:目标对象是图片中占据画面最多像素的目标对象之一、且该目标对象的预测得分也偏高;这样,使用上述规则计算图片中每一个对象的得分,得分最高的为确定的目标对象。
73.具体的计算公式为:
74.score=0.5*(person width
*person height
)/pic width
*pic height
0.5*score
person

75.通过上述计算公式,能够精准地从图片中确定出至少一个目标对象。
76.在图片中的两个或两个以上的对象的得分均比较接近时,则确定图片中的两个或两个以上的对象均为目标对象。因此,本公开实施例提供的检测方法,能够实现同时对图片中的多个对象的人体轮廓关键点进行检测,并输出多个不同目标对象的人体轮廓点的坐标;这样,大大提高了检测效率。
77.s206:将至少一个目标对象预设数量的人体轮廓关键点均输入至预设检测模型中进行训练,并输出检测结果,以根据检测结果生成目标对象的人体轮廓,检测结果包括用于预设数量的人体轮廓关键点的坐标。相对于现有的检测方法只能检测出各个人体骨骼关键点而言,即:检测结果只能展示出目标对象的二维轮廓,而采用本技术实施例,由于输出结果中包括预设数量的人体轮廓关键点的坐标,该预设数量的人体轮廓关键点坐标不仅包括能够全覆盖目标对象的全身轮廓的各个轮廓点坐标,还包括能够覆盖目标对象的五官轮廓的各个轮廓点坐标,这样,由检测结果能够生成目标对象的人体轮廓,并由标注的目标对象的人体轮廓生成人体属性信息。
78.需要说明的是,在此步骤中,人体属性信息可以为用于表征如下人体属性的信息:身高信息、胸围信息、下胸围信息、腰围信息、肚腩围信息、臀围信息、臀宽信息、胯围信息、肩部长度信息、臂长信息、臂围信息、大腿围信息、小腿围信息、腿长信息、头长信息、肩部到虎口的长度信息、肩部到档线垂直长度信息、以及肩部宽度信息。
79.此外,本发明提供的检测方法,在图片中包括多个对象、且多个对象均为目标对象的情况下,能够同时对多个目标对象进行识别,并同步检测出多个目标对象各自的预设数量的人体轮廓关键点的坐标,从而提高了检测效率。
80.在此步骤中,在确定出至少一个目标对象之后,对至少一个目标对象的人体轮廓点进行检测的过程中,假设当前待检测的目标对象的数量为一个时,针对该目标对象而言,对人体轮廓关键点的预设数量并不做具体限制。只要该预设数量能够做到:能够全部覆盖该目标对象的全身外轮廓对应的关键部位、以及全面覆盖该目标对象的五官。在实际应用中,可以根据不同应用场景的需要,对预设数量进行调整,在此对预设数量不做具体限制。
81.在一种可能的实现方式中,将至少一个目标对象预设数量的人体轮廓关键点均输
入至预设检测模型中进行训练包括以下步骤:
82.获取数据集,数据集包括预设数量的第一人体轮廓关键点,第一人体轮廓关键点为基于标注工具标注出的人体轮廓关键点,其中,标注工具可以为labelme标注工具,labelme是一种常见的图像标注工具,用户通过该标注工具,能够创建定制化标注任务或执行图像标注;
83.将数据集存储于预设格式的文件中,其中,预设格式可以为json((javascript object notation,js对象简谱))格式的文件,json是一种轻量级的数据交换格式,它采用完全独立于编程语言的文本格式来存储和表示数据。在实际应用中,简洁和清晰的层次结构使得json成为理想的数据交换语言。json易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
84.在一种可能的实现方式中,将至少一个目标对象预设数量的人体轮廓关键点均输入至预设检测模型中进行训练还包括以下步骤:
85.将图片和预设格式的文件作为训练样本,输入预设检测模型中进行训练,并输出预测结果,预测结果包括预设数量的第二人体轮廓关键点,第二人体轮廓关键点为预测出的人体轮廓关键点;
86.根据预设数量的第一人体轮廓关键点和预设数量的第二人体轮廓关键点,计算预设检测模型的损失函数,其中,通过该损失函数使得该预设检测模型对应的神经网络得到收敛;
87.对训练样本迭代训练,得到预设检测模型,并输出包括预设检测模型的权重文件。
88.需要说明的是,在实际应用中,在将至少一个目标对象预设数量的人体轮廓关键点均输入至预设检测模型中进行训练之前,准备一批训练图片,每张图片中包括目标对象,且确保该图片中的目标对象的整个身体均不被外界遮挡物所遮挡,即:能够清晰地识别出目标对象的全身轮廓。
89.如图3所示,是本公开实施例提供的具体应用场景下的目标对象的人体轮廓点示意图。为了便于解释和说明,图3未采用真人的图片,而是采用了模特的图片,这里仅仅为了示例而已。如图3所示,标注出的目标对象的人体轮廓点一共为77个点。具体地,每个点代表的部位、以及每个点代表的数字均可以在图3中清晰地看到,这里不再赘述。通过如图3所示的77个轮廓关键点的标注,可以实现对目标对象的五官和人体轮廓线的精准定位,其中,目标对象的五官包括目标对象的眼睛、目标对象的鼻子和目标对象的嘴巴。
90.在此步骤中,预设检测模型是基于预设检测算法构建起来的。在此,对本公开实施例的检测方法中的预设检测算法做如下说明:
91.预设检测算法使用centernet这样的检测检测框架。在原始centernet的基础上,将基础网络结构替换为efficientnet-b0,可以实现精度和速度的良好平衡。整体的网络结构由efficientnet-b0加反卷积模块组合而成。efficientnet-b0部分由一个正常的conv加7个mbconv组成。mbconv的结构如下,其中,conv表示卷积,batchnorm表示归一化操作,depthwiseconv表示通道分离卷积,swish表示激活函数,drop_connect表示使得神经元连接随机失活的模块,可以增加模型的泛化能力,average pooling表示平均池化,sigmoid表示激活函数。
92.在efficientnet-b0部分,输入图片的大小为512*512*3(height、width、
channel),经过5次的下采样(宽、高减小的处理)操作,最终该模块的输出特征图大小为16*16*320(512/25=16)。然后再经过3个反卷积模块,每个反卷积会将输入特征图上采样(宽、高增大的处理)一次,最终经过3次反卷积后的输出特征图大小为128*128*256。在此基础上,经过一个1*1卷积处理,得到最终的6个网络输出结果。
93.在一种可能的实现方式中,将至少一个目标对象预设数量的人体轮廓关键点均输入至预设检测模型中进行训练,并输出检测结果包括以下步骤:
94.将至少一个目标对象预设数量的人体轮廓关键点输入至预设检测模型中进行训练,输出多个维度的网络输出结果,多个维度的网络输出结果包括用于表征预设数量的人体轮廓关键点基于中心点的偏移值对应的第一网络输出结果、用于表征预设数量的人体轮廓关键点的特征图对应的第二网络输出结果、和用于表征预设数量中的多个人体轮廓关键点的偏移值对应的第三网络输出结果;
95.根据第一网络输出结果、第二网络输出结果和第三网络输出结果,确定并输出预设数量的人体轮廓关键点的坐标。
96.在某一具体应用场景中,上述三个网络输出结果可以具体为:
97.hps(对应于第一网络输出结果):物体的关键点基于中心点的偏移,输出k*2个通道,k表示关键点的数目,假设在某一应用场景中目标对象的人体轮廓关键点为77个人体轮廓关键点,2表示x、y两个偏移,最终大小为77*2=154。
98.hm_hp(对应于第二网络输出结果):物体关键点的特征图,输出k个通道,一个点一个通道,最终大小为128*128*77。
99.hp_offset(对应于第三网络输出结果):k个关键点的偏移,所有这些关键点采用同样的偏移量,x、y两个指标,输出2个通道,最终大小为128*128*2。
100.在一种可能的实现方式中,检测结果还包括用于确定检测框边界的多个关键点的坐标,将至少一个目标对象预设数量的人体轮廓关键点均输入至预设检测模型中进行训练,并输出检测结果还包括以下步骤:
101.将至少一个目标对象预设数量的人体轮廓关键点输入至预设检测模型中进行训练,输出多个维度的网络输出结果,多个维度的网络输出结果还包括用于表征目标对象类别的特征图对应的第四网络输出结果、用于表征目标对象的大小的第五网络输出结果和用于表征目标对象中心点的偏移值对应的第六网络输出结果;
102.根据第四网络输出结果、第五网络输出结果和第六网络输出结果,确定并输出用于确定检测框边界的多个关键点的坐标。
103.在某一具体应用场景中,上述三个网络输出结果可以具体为:
104.hm(对应于第四网络输出结果):物体的特征图,一个类别一个channel(厚度),由于本公开实施例的检测方法只检测人体一个类别,所以该层的大小为128*128*1。
105.wh(对应于第五网络输出结果):物体的大小,也就是宽,高,因此,是2个channel,最终大小为128*128*2。
106.reg(对应于第六网络输出结果):物体中心点的偏移,包含x、y两个偏移量,因此,是2个channel,最终大小为128*128*2。
107.在某一具体应用场景中,在得到上面的六个网络输出结果之后,使用下面的公式转化为最终的坐标。如图4所示,是本公开实施例提供的确定检测框坐标的示意图;
108.(xi δx
i-wi/2,yi δy
i-hi/2,
109.xi δxi wi/2,yi δyi hi/2)
110.其中,(xi,yi)表示预测的中心点x,y坐标,即hm分支。
111.(δxi,δyi),表示预测的中心点坐标x,y的偏移,即reg分支。
112.(wi,hi),表示物体框的大小宽度和高度。
113.通过中心点坐标加上中心点坐标在x、y两个方向的偏移量,得到准确的中心点坐标。然后使用中心点坐标分别减去宽,高的一半,即得到人体目标框的左上角坐标点(x1、y1),使用中心点坐标分别加上宽,高的一半,即得到人体目标框的右下角坐标点(x2、y2)。
114.使用下面的公式转化为最终的关键点坐标,具体如下所述:
[0115][0116]
其中,(x,y)表示目标物体中心点的坐标,即hm分支。j
xyj
表示第j个点的(x,y)坐标的偏移量,即hps分支。但是这样的基于直接回归的方式预测的关键点坐标的误差是相对较大的。
[0117]
lj=hm_hp hp_offset
[0118]
根据直接回归可以确定出每一个轮廓点的大致位置,然后找这个位置附近的置信度(0-1得分)大于0.1的置信度最大的那个点lj(hm_hp),将其作为真正的轮廓点;然后,使用该点加上偏移(hp_offset)得到最终的轮廓点的坐标。此处需要说明的是,如果有两个以上大于0.1的点,取距离lj最近的点,公式如下:
[0119][0120]
需要说明的是,lj表示基于回归的方法得到的关键点的坐标,即hps分支。lj表示基于特征图的方法得到的关键点的坐标。这里一共有77个关键点。取每一个回归的77个点lj,和对应的特征图分支lj计算距离,将距离最近的lj中的那个点当作最终的预测输出关键点。比如,基于回归预测出眼睛位置的关键点位置,然后在眼睛所在通道的特征图里面,找离其距离最近的置信度高于0.1的点,作为最终的眼睛位置关键点。
[0121]
如图5所示,是本公开实施例提供的另一种人体轮廓点检测方法,应用于服务器端,具体包括以下方法步骤:
[0122]
s502:获取包括目标对象的图片。
[0123]
在实际应用中,为了获取包括不同对象的多个图片,可以从如图1所示的多个客户端获取多个对象的图片。此外,为了使得检测方法得到的检测结果更加精准,往往选取的图片为能够全覆盖至少一个对象的全身图片、且该全身图片为能够清晰显示该对象的五官轮廓的图片。
[0124]
s504:从图片中确定至少一个目标对象。
[0125]
需要说明的是,从图片中确定至少一个目标对象的步骤的具体描述,烦请参见前述相同或类似部分的描述,在此不再赘述。
[0126]
s506:将至少一个目标对象预设数量的人体轮廓关键点均输入至预设检测模型中进行训练,并输出检测结果,以根据检测结果生成目标对象的人体轮廓,检测结果包括预设数量的人体轮廓关键点的坐标。
[0127]
需要说明的是,将至少一个目标对象预设数量的人体轮廓关键点均输入至预设检
测模型中进行训练,并输出检测结果的步骤的具体描述,烦请参见前述相同或类似部分的描述,在此不再赘述。
[0128]
s508:读取用于表征目标对象鼻子的第一关键点的第一坐标和用于表征目标对象档线的第二关键点的第二坐标。
[0129]
此步骤是在确定并输出预设数量的人体轮廓关键点的坐标之后完成的。其中,第一坐标包括第一关键点的横坐标和纵坐标,第二坐标也包括第二关键点的横坐标和纵坐标。
[0130]
s510:设置夹角,夹角为由第一坐标确定的第一关键点和第二坐标确定的第二关键点相连得到的连线与竖直垂线之间的夹角。通过读取该夹角的数值,可以判断出目标对象的当前身体姿势是否是倾斜,以及倾斜的幅度。
[0131]
在如图3的示意图中,第一关键点为标号为3的关键点,其坐标对应于第一坐标,该标号3用于指示目标对象的鼻子;第二关键点为标号为42的关键点,其坐标对应于第二坐标,该标号42用于指示目标对象的档线。这里仅仅是示例,还可以用其它标号去指示目标对象的鼻子,或者其它标号去指示目标对象的档线。
[0132]
s512:在夹角大于预设夹角阈值的情况下,则确定目标对象的当前身体姿势是倾斜。
[0133]
在此步骤中,预设夹角阈值可以根据不同应用场景的需求,调整其数值。
[0134]
计算夹角θ的公式可以如下所述:
[0135]
θ=arccos(abs(y42-y3)/sqrt((y42-y3)2 (x42-x3)2))
[0136]
对上述公式中的数字做如下说明:在如图3的示意图中,第一关键点为标号为3的关键点,其坐标对应于第一坐标,该标号3用于指示目标对象的鼻子;第二关键点为标号为42的关键点,其坐标对应于第二坐标,该标号42用于指示目标对象的档线。
[0137]
在不同的应用场景,可以假设不同的夹角阈值,在此对夹角阈值不做具体限制。若在某一具体应用场景下,将夹角阈值配置为10度,则在根据上述公式计算出的θ对应的夹角大于该夹角阈值10度时,则确定目标对象的当前身体姿势是倾斜。
[0138]
进一步地,若通过上述公式计算出的θ远远大于该夹角阈值10度时,则确定该目标对象当前倾斜的幅度还比较大,反之,若通过上述公式计算出的θ仅仅比该夹角阈值10度大一点,例如11度,则确定该目标对象当前倾斜的幅度很小。
[0139]
如图6所示,本公开实施例提供另一种人体轮廓点检测方法,应用于服务器端,具体包括如下方法步骤:
[0140]
s602:获取包括目标对象的图片。
[0141]
在实际应用中,为了获取包括不同对象的多个图片,可以从如图1所示的多个客户端获取多个对象的图片。此外,为了使得检测方法得到的检测结果更加精准,往往选取的图片为能够全覆盖至少一个对象的全身图片、且该全身图片为能够清晰显示该对象的五官轮廓的图片。
[0142]
s604:从图片中确定至少一个目标对象。
[0143]
需要说明的是,从图片中确定至少一个目标对象的步骤的具体描述,烦请参见前述相同或类似部分的描述,在此不再赘述。
[0144]
s606:将至少一个目标对象预设数量的人体轮廓关键点均输入至预设检测模型中
进行训练,并输出检测结果,以根据检测结果生成目标对象的人体轮廓,检测结果包括预设数量的人体轮廓关键点的坐标。
[0145]
在此步骤中,在确定出至少一个目标对象之后,对至少一个目标对象的人体轮廓点进行检测的过程中,假设当前待检测的目标对象的数量为一个时,针对该目标对象而言,对人体轮廓关键点的预设数量并不做具体限制。只要该预设数量能够做到:能够全部覆盖该目标对象的全身外轮廓对应的关键部位、以及全面覆盖该目标对象的五官。在实际应用中,可以根据不同应用场景的需要,对预设数量进行调整,在此对预设数量不做具体限制。
[0146]
通过该步骤能够确定并输出预设数量的人体轮廓关键点的坐标,具体描述参见上述方法实施例中相同或相似的部分,在此不再赘述。
[0147]
需要说明的是,用于表征目标对象的各个人体轮廓关键点的各个坐标还包括第三坐标和第四坐标,第三坐标为用于表征目标对象第一肩膀的第三关键点的坐标,第四坐标为用于表征目标对象第二肩膀的第四关键点的坐标。
[0148]
s608:读取第一坐标中的纵坐标、第三坐标中的纵坐标以及第四坐标中的纵坐标。
[0149]
在如图3的示意图中,第一关键点为标号为3的关键点,其坐标对应于第一坐标,该标号3用于指示目标对象的鼻子;第三关键点为标号为13的关键点,其坐标对应于第三坐标,该标号13用于指示目标对象的第一肩膀,即:一侧肩膀;第四关键点为标号为71的关键点,其坐标对应于第四坐标,该标号71用于指示目标对象的第二肩膀,即:与第一肩膀对应的对侧肩膀。这里仅仅是示例,还可以用其它标号去指示目标对象的鼻子,或者其它标号去指示目标对象的第一肩膀,或者其它标号去指示目标对象的第二肩膀。
[0150]
s610:根据第三坐标中的纵坐标和第四坐标中的纵坐标,计算目标对象肩膀的高度,得到目标对象肩膀高度的平均值。
[0151]
在某一具体应用场景中,计算目标对象肩膀高度的平均值的计算公式如下所述:
[0152]
yshoulder=(y13 y71)/2.0
[0153]
对上述公式中的数字做如下说明:在如图3的示意图中,第三关键点为标号为13的关键点,其坐标对应于第三坐标,该标号13用于指示目标对象的第一肩膀,即:一侧肩膀;第四关键点为标号为71的关键点,其坐标对应于第四坐标,该标号71用于指示目标对象的第二肩膀,即:与第一肩膀对应的对侧肩膀。
[0154]
s612:根据第一坐标中的纵坐标和目标对象肩膀高度的平均值,判断目标对象的当前身体姿势,在第一坐标中的纵坐标对应的高度值大于目标对象肩膀高度的平均值的情况下,判断目标对象的当前身体姿势是弯腰。在某一具体应用场景中,通过如下公式判断目标对象的当前身体姿势是否是弯腰。
[0155][0156]
其中,ynose为第一坐标中的纵坐标,yshoulder为目标对象肩膀高度的平均值。
[0157]
如图7所示,本公开实施例提供另一种人体轮廓点检测方法,应用于服务器端,具体包括如下方法步骤:
[0158]
s702:获取包括目标对象的图片。
[0159]
在实际应用中,为了获取包括不同对象的多个图片,可以从如图1所示的多个客户端获取多个对象的图片。此外,为了使得检测方法得到的检测结果更加精准,往往选取的图片为能够全覆盖至少一个对象的全身图片、且该全身图片为能够清晰显示该对象的五官轮
廓的图片。
[0160]
s704:从图片确定至少一个目标对象。
[0161]
需要说明的是,从图片中确定至少一个目标对象的步骤的具体描述,烦请参见前述相同或类似部分的描述,在此不再赘述。
[0162]
s706:将至少一个目标对象预设数量的人体轮廓关键点均输入至预设检测模型中进行训练,并输出检测结果,以根据检测结果生成目标对象的人体轮廓,检测结果包括预设数量的人体轮廓关键点的坐标。
[0163]
在此步骤中,在确定出至少一个目标对象之后,对至少一个目标对象的人体轮廓点进行检测的过程中,假设当前待检测的目标对象的数量为一个时,针对该目标对象而言,对人体轮廓关键点的预设数量并不做具体限制。只要该预设数量能够做到:能够全部覆盖该目标对象的全身外轮廓对应的关键部位、以及全面覆盖该目标对象的五官。在实际应用中,可以根据不同应用场景的需要,对预设数量进行调整,在此对预设数量不做具体限制。
[0164]
通过该步骤能够确定并输出预设数量的人体轮廓关键点的坐标,具体描述参见上述方法实施例中相同或相似的部分,在此不再赘述。
[0165]
s708:读取预设数量的人体轮廓关键点中的任意一个关键点的坐标。
[0166]
在某一具体应用场景中,通过此步骤可以读取出如图3所示的77个关键点的坐标,包括每一个关键点的横坐标以及对应的纵坐标。
[0167]
s710:在任意一个关键点的坐标对应的区域处于非图片区域的情况下,则确定目标对象处于身体被遮挡的状态;其中,目标对象可以处于身体被部分遮挡的状态,或者,目标对象也可以处于身体被全部遮挡的状态。在目标对象处于身体被遮挡的状态时,提醒目标对象移动,并移动至能够检测到目标对象的全部轮廓的位置为止。
[0168]
在某一具体应用场景中,例如,图3所示的77个关键点的应用场景中,在任意一个关键点的坐标对应的区域处于非图片区域的情况下,就能够确定目标对象处于身体被遮挡的状态。
[0169]
具体地,在上述77个关键点中,若任意一个关键点对应的区域处于非图片区域,则确定目标对象被部分遮挡、且处于非图片区域关键点的数量与目标对象的遮挡程度成正相关。即:处于非图片区域关键点的数量越多,则目标对象被遮挡的程度也越高。在上述77个关键点均处于非图片区域的情况下,确定该目标对象被完全遮挡。为了便于描述,在此以以如图3所示的77个关键点进行描述。在本公开实施例提供的检测方法中,对关键点的数量并不做具体限制,具体描述参见前述相同或相关描述,在此不再赘述。
[0170]
如图8所示,本公开实施例提供另一种人体轮廓点检测方法,应用于服务器端,具体包括如下方法步骤:
[0171]
s802:获取包括目标对象的图片。
[0172]
在实际应用中,为了获取包括不同对象的多个图片,可以从如图1所示的多个客户端获取多个对象的图片。此外,为了使得检测方法得到的检测结果更加精准,往往选取的图片为能够全覆盖至少一个对象的全身图片、且该全身图片为能够清晰显示该对象的五官轮廓的图片。
[0173]
s804:从图片中确定至少一个目标对象。
[0174]
需要说明的是,从图片中确定至少一个目标对象的步骤的具体描述,烦请参见前
述相同或类似部分的描述,在此不再赘述。
[0175]
s806:将至少一个目标对象预设数量的人体轮廓关键点均输入至预设检测模型中进行训练,并输出检测结果,以根据检测结果生成目标对象的人体轮廓,检测结果包括预设数量的人体轮廓关键点的坐标。
[0176]
在此步骤中,在确定出至少一个目标对象之后,对至少一个目标对象的人体轮廓点进行检测的过程中,假设当前待检测的目标对象的数量为一个时,针对该目标对象而言,对人体轮廓关键点的预设数量并不做具体限制。只要该预设数量能够做到:能够全部覆盖该目标对象的全身外轮廓对应的关键部位、以及全面覆盖该目标对象的五官。在实际应用中,可以根据不同应用场景的需要,对预设数量进行调整,在此对预设数量不做具体限制。
[0177]
在本公开实施例提供的检测方法中,检测结果除了上述预设数量的人体轮廓点关键点的坐标之外,检测结果还包括用于确定检测框边界的多个关键点的坐标。
[0178]
本公开实施例提供的检测方法,最终输出的检测结果不仅包括预设数量的人体轮廓关键点的坐标之外,检测结果还包括用于确定检测框边界的多个关键点的坐标,通过上述用于确定检测框边界的多个关键点的坐标,能够精准地生成并标注出检测框;这样,在目标对象的某个身体部位处于检测框边界的外侧时,及时提醒目标对象移动身体,直至移动至目标对象的全部身体部位均处于检测框边界内为止。
[0179]
s808:获取检测结果中的用于确定检测框边界的多个关键点的坐标,并根据用于确定检测框边界的多个关键点的坐标自动生成检测框。
[0180]
在实际应用中,基于最终输出的检测结果不仅包括预设数量的人体轮廓关键点的坐标之外,检测结果还包括用于确定检测框边界的多个关键点的坐标,这样,不仅能够根据预设数量的人体轮廓关键点的坐标,标注出目标对象的各个人体轮廓关键点,最终呈现出目标对象清晰的人体轮廓;还能够根据用于确定检测框边界的多个关键点的坐标,标注出检测框边界。如图9所示,是一种具体应用场景下标注出的检测框和各个人体轮廓关键点的示意图;通过确定检测框边界的多个关键点的坐标,能够清晰地标注出检测框;具体确定检测框的算法参见上述相同或相关部分,在此不再赘述。通过将检测框标注出来,能够精准地确定出目标对象的人体轮廓是否超出检测框,并在目标对象的任意一个人体轮廓关键点超出检测框时,提醒目标对象进行调整,调整至任意一个人体轮廓关键点均未超出检测框。
[0181]
此外,在图片中包括多个待检测的目标对象时,可以通过不同目标对象各自对应的检测框,明显区别出不同的目标对象,也便于分别提醒各个目标对象是否超过其对应的检测框。
[0182]
同理,标注出目标对象的人体轮廓关键点之后,能够从如图9所示的示意图中,清晰地看到各个人体轮廓关键点所处的位置。如图9所示的示意图,包括了预设数量的人体轮廓关键点,其中,预设数量为77个人体轮廓关键点,图9示出了该77个人体轮廓关键点的坐标,该77个人体轮廓关键点坐标不仅包括能够全覆盖该目标对象的全身轮廓的各个轮廓点坐标,还包括能够覆盖该目标对象的五官轮廓的各个轮廓点坐标,由于得到的轮廓点足够多且全覆盖,因此,能够满足各种应用场景对用户轮廓点数量和精度的需求,提高了用户体验度。
[0183]
在本公开实施例中,获取包括目标对象的图片;从图片中确定至少一个目标对象;将至少一个目标对象预设数量的人体轮廓关键点均输入至预设检测模型中进行训练,并输
出检测结果,以根据检测结果生成目标对象的人体轮廓,检测结果包括预设数量的人体轮廓关键点的坐标。本公开实施例提供的检测方法,相对于现有的检测方法只能检测出各个人体骨骼关键点而言,即:检测结果只能展示出目标对象的二维轮廓,而采用本技术实施例,由于输出结果中包括预设数量的人体轮廓关键点的坐标,该预设数量的人体轮廓关键点坐标不仅包括能够全覆盖目标对象的全身轮廓的各个轮廓点坐标,还包括能够覆盖目标对象的五官轮廓的各个轮廓点坐标,这样,由检测结果能够生成目标对象的人体轮廓,并由标注的目标对象的人体轮廓生成人体属性信息;此外,本发明提供的检测方法,在图片中包括多个对象、且多个对象均为目标对象的情况下,能够同时对多个目标对象进行识别,并同步检测出多个目标对象各自的预设数量的人体轮廓关键点的坐标,从而提高了检测效率。
[0184]
下述为本公开实施例人体轮廓点检测装置实施例,可以用于执行本公开实施例人体轮廓点检测方法实施例。对于本公开实施例人体轮廓点检测装置实施例中未披露的细节,请参照本公开实施例人体轮廓点检测方法实施例。
[0185]
请参见图10,其示出了本发明一个示例性实施例提供的人体轮廓点检测装置的结构示意图。该人体轮廓点检测装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该人体轮廓点检测装置包括获取单元1002、确定单元1004和处理单元1006。
[0186]
具体而言,获取单元1002,用于获取包括目标对象的图片;
[0187]
确定单元1004,用于从获取模块获取的图片中确定至少一个目标对象;
[0188]
处理单元1006,用于将确定模块确定的至少一个目标对象预设数量的人体轮廓关键点均输入至预设检测模型中进行训练,并输出检测结果,以根据检测结果生成目标对象的人体轮廓,检测结果包括预设数量的人体轮廓关键点的坐标。
[0189]
可选的,处理单元1006具体用于:
[0190]
获取数据集,数据集包括预设数量的第一人体轮廓关键点,第一人体轮廓关键点为基于标注工具标注出的人体轮廓关键点;
[0191]
将数据集存储于预设格式的文件中;
[0192]
将图片和预设格式的文件作为训练样本,输入预设检测模型中进行训练,并输出预测结果,预测结果包括预设数量的第二人体轮廓关键点,第二人体轮廓关键点为预测出的人体轮廓关键点;
[0193]
根据预设数量的第一人体轮廓关键点和预设数量的第二人体轮廓关键点,计算预设检测模型的损失函数;
[0194]
对训练样本迭代训练,得到预设检测模型,并输出包括预设检测模型的权重文件。
[0195]
可选的,处理单元1006具体还用于:
[0196]
将至少一个目标对象预设数量的人体轮廓关键点输入至预设检测模型中进行训练,输出多个维度的网络输出结果,多个维度的网络输出结果包括用于表征预设数量的人体轮廓关键点基于中心点的偏移值对应的第一网络输出结果、用于表征预设数量的人体轮廓关键点的特征图对应的第二网络输出结果、和用于表征预设数量中的多个人体轮廓关键点的偏移值对应的第三网络输出结果;
[0197]
根据第一网络输出结果、第二网络输出结果和第三网络输出结果,确定并输出预设数量的人体轮廓关键点的坐标。
[0198]
可选的,处理单元1006具体还用于:
[0199]
在确定并输出预设数量的人体轮廓关键点的坐标之后,读取用于表征目标对象鼻子的第一关键点的第一坐标和用于表征目标对象档线的第二关键点的第二坐标;
[0200]
设置夹角,夹角为由第一坐标确定的第一关键点和第二坐标确定的第二关键点相连得到的连线与竖直垂线之间的夹角;
[0201]
在夹角大于预设夹角阈值的情况下,则确定目标对象的当前身体姿势是倾斜;或者,
[0202]
读取预设数量的人体轮廓关键点中的任意一个关键点的坐标;
[0203]
在任意一个关键点的坐标对应的区域处于非图片区域的情况下,则确定目标对象处于身体被遮挡的状态。
[0204]
可选的,处理单元1006具体还用于:
[0205]
在确定并输出预设数量的人体轮廓关键点的坐标之后,读取第一坐标中的纵坐标、第三坐标中的纵坐标以及第四坐标中的纵坐标,第三坐标为用于表征目标对象第一肩膀的第三关键点的坐标,第四坐标为用于表征目标对象第二肩膀的第四关键点的坐标;
[0206]
根据第三坐标中的纵坐标和第四坐标中的纵坐标,计算目标对象肩膀的高度,得到目标对象肩膀高度的平均值;
[0207]
根据第一坐标中的纵坐标和目标对象肩膀高度的平均值,判断目标对象的当前身体姿势,在第一坐标中的纵坐标对应的高度值大于目标对象肩膀高度的平均值的情况下,判断目标对象的当前身体姿势是弯腰。
[0208]
可选的,确定单元1004具体用于:
[0209]
获取图片中的多个对象;
[0210]
获取每一个对象在图片中的像素占比、每一个对象的像素占比对应的第一权重值、每一个对象的预测得分、以及每一个对象的预测得分对应的第二权重值;
[0211]
根据每一个对象在图片中的像素占比、每一个对象的像素占比对应的第一权重值、每一个对象的预测得分、以及每一个对象的预测得分对应的第二权重值,分别计算出多个对象中的每一个对象的得分;
[0212]
将多个对象中得分最高的至少一个对象确定为目标对象。
[0213]
可选的,检测结果还包括用于确定检测框边界的多个关键点的坐标,处理单元1006还具体用于:
[0214]
将至少一个目标对象预设数量的人体轮廓关键点输入至预设检测模型中进行训练,输出多个维度的网络输出结果,多个维度的网络输出结果还包括用于表征目标对象类别的特征图对应的第四网络输出结果、用于表征目标对象的大小的第五网络输出结果和用于表征目标对象中心点的偏移值对应的第六网络输出结果;
[0215]
根据第四网络输出结果、第五网络输出结果和第六网络输出结果,确定并输出用于确定检测框边界的多个关键点的坐标。
[0216]
关于上述六个网络数据结果的具体描述,烦请参见上述方法实施例中相同或相似部分的描述,在此不再赘述。
[0217]
需要说明的是,上述实施例提供的人体轮廓点检测装置在执行人体轮廓点检测方法时,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将设备的内部结构划分成不同的功能单元,以完成以上描
述的全部或者部分功能。另外,上述实施例提供的人体轮廓点检测装置与人体轮廓点检测方法实施例属于同一构思,其体现实现过程详见人体轮廓点检测方法实施例,这里不再赘述。
[0218]
在本公开实施例中,获取单元获取包括目标对象的图片;确定单元从图片中确定至少一个目标对象;处理单元将至少一个目标对象预设数量的人体轮廓关键点均输入至预设检测模型中进行训练,并输出检测结果,以根据检测结果生成目标对象的人体轮廓,处理单元输出的检测结果包括预设数量的人体轮廓关键点的坐标。相对于现有的检测装置只能检测出各个人体骨骼关键点而言,即:检测结果只能展示出目标对象的二维轮廓,而采用本技术实施例,由于输出结果中包括预设数量的人体轮廓关键点的坐标,该预设数量的人体轮廓关键点坐标不仅包括能够全覆盖目标对象的全身轮廓的各个轮廓点坐标,还包括能够覆盖目标对象的五官轮廓的各个轮廓点坐标,这样,由检测结果能够生成目标对象的人体轮廓,并由标注的目标对象的人体轮廓生成人体属性信息;此外,本发明提供的检测方法,在图片中包括多个对象、且多个对象均为目标对象的情况下,能够同时对多个目标对象进行识别,并同步检测出多个目标对象各自的预设数量的人体轮廓关键点的坐标,从而提高了检测效率。
[0219]
如图11所示,本实施例提供一种电子设备,该电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器运行计算机程序以实现如上所述的方法步骤。
[0220]
本公开实施例提供了一种存储有计算机可读指令的存储介质,其上存储有计算机程序,程序被处理器执行实现如上所述的方法步骤。
[0221]
下面参考图11,其示出了适于用来实现本公开实施例的电子设备的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图11示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0222]
如图11所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等)1101,其可以根据存储在只读存储器(rom)1102中的程序或者从存储装置1108加载到随机访问存储器(ram)1103中的程序而执行各种适当的动作和处理。在ram 1103中,还存储有电子设备操作所需的各种程序和数据。处理装置1101、rom 1102以及ram 1103通过总线1104彼此相连。输入/输出(i/o)接口1105也连接至总线1104。
[0223]
通常,以下装置可以连接至i/o接口1105:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1106;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置1107;包括例如磁带、硬盘等的存储装置1108;以及通信装置1109。通信装置1109可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图11示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
[0224]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实
施例中,该计算机程序可以通过通信装置1109从网络上被下载和安装,或者从存储装置1108被安装,或者从rom 1102被安装。在该计算机程序被处理装置1101执行时,执行本公开实施例的方法中限定的上述功能。
[0225]
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0226]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0227]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0228]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0229]
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献