首页 / 专利库 / 鞋类 / 鞋楦 / 一种预测鞋码的方法、装置和系统以及计算机可读存储介质

一种预测码的方法、装置和系统以及计算机可读存储介质

阅读:505发布:2021-10-29

专利汇可以提供一种预测码的方法、装置和系统以及计算机可读存储介质专利检索,专利查询,专利分析的服务。并且一种预测 鞋 码的方法、装置和系统以及计算机可读存储介质。其中包括:接收来自所述个体的鞋的选择;获取关于所述鞋的选择的至少一个鞋 特征向量 ;获取关于所述个体的至少一只足的至少一个足特征向量;通过比照 预测模型 来评价所述至少一个鞋特征向量和所述至少一个足特征向量而生成关于所述个体的鞋码;其中所述预测模型根据多个数据主体的记录来生成,其中每个记录是与关于所述多个数据主体中的一者的所选中的鞋码、所选中的鞋的至少一个鞋特征向量和至少一个足特征向量相关联的。,下面是一种预测码的方法、装置和系统以及计算机可读存储介质专利的具体信息内容。

1.一种预测码的方法,包括:
接收来自个体对鞋的请求
获取所请求的鞋的至少一个鞋特征向量
获取所述个体的至少一只足的至少一个足特征向量,
通过预测模型根据所述至少一个鞋特征向量和所述至少一个足特征向量来为所述个体生成预测鞋码,
其中所述预测模型根据多个数据主体的记录生成,其中每个记录是与所述多个数据主体之一所请求的鞋的至少一个鞋特征向量、所述数据主体之一的至少一个足特征向量及所述数据主体之一所请求的鞋的鞋码相关联的。
2.根据权利要求1所述的方法,其中生成预测鞋码的步骤进一步包括根据所述个体的至少一个足特征向量来得到尺寸偏好参数,通过预测模型根据所述至少一个鞋特征向量和所述至少一个足特征向量以及所述尺寸偏好参数来为所述个体生成所述预测鞋码,其中所述预测模型根据多个数据主体的记录生成,其中每个记录是与所述多个数据主体中之一所请求的鞋的至少一个鞋特征向量、所述数据主体之一的至少一个足特征向量及所述数据主体之一所请求的鞋的鞋码及所述尺寸偏好参数相关联的。
3.根据权利要求2所述的方法,其中,所述尺寸偏好参数是通过以下方式得到的:
接收来自多个数据样本的至少一只足的至少一个足特征向量,
将从所述多个数据样本得到的足特征向量聚类成足型组,
通过将所述个体的至少一个足特征向量与所述足型组的数据样本的足特征向量进行比较来确定所述个体所在的足型组,
在所述个体所在的足型组内,获得该足型组的数据样本的鞋码的众数,
获得所述个体以往曾选择的鞋的鞋码,
将所述鞋码的众数与所述个体的所述以往曾选择的鞋的鞋码进行比较,以及如果所述以往曾选择的鞋的鞋码小于所述鞋码的众数,则所述个体的尺寸偏好为紧,以及如果所述以往曾选择的鞋的鞋码大于所述鞋码的众数,则所述个体的尺寸偏好为松。
4.根据权利要求3所述的方法,其中,所述数据主体的足特征向量的聚类是基于K-means聚类的。
5.根据权利要求3所述的方法,其中,所述数据主体的足特征向量的聚类是基于经熵权重的K-means聚类的。
6.根据前述权利要求中任一权利要求所述的方法,其中,在所述预测模型中使用的所述多个数据主体的记录是通过由所述数据主体作答的鞋码合适度反馈问卷来验证的。
7.根据前述权利要求中任一权利要求所述的方法,其中,接收所述个体的两只足的多个测量值,以用于生成相对应的足特征向量组。
8.根据前述权利要求中任一权利要求所述的方法,其中,所述鞋特征向量包括所述鞋的鞋楦的数据测量的特征和所述鞋的鞋垫的测量值的特征中的一者。
9.根据前述权利要求8所述的方法,其中,至少通过测量以下任一项的值来得到所述鞋特征向量:190宽、190围、着地点、后容差、腰窝外段宽度。
10.根据前述权利要求中任一权利要求所述的方法,其中,至少通过测量以下任一项的值来得到所述足特征向量:足弓参数、后跟内凸点部位长度、后跟外凸点不分长度、拇趾外凸点部位长度、小趾外凸点部位长度、拇趾脚印里宽、小趾脚印外宽、第一跖趾脚印里宽、第五跖趾脚印外宽、后弧90mm间隙。
11.根据前述权利要求中任一权利要求所述的方法,其中,所述预测模型使用来自包括以下各项的组的统计计算方法来生成:随机森林算法、贝叶斯分类器、决策树、单纯贝氏分类器。
12.根据前述权利要求中任一权利要求所述的方法,其中,足的测量值是从足的3D点数据得到的。
13.根据前述权利要求中任一权利要求所述的方法,其中,鞋的测量值是从鞋的3D点云数据得到的。
14.一种预测鞋码的装置,包括:
存储器
一个或多个处理器;
一个或多个输入界面;和
一个或多个输出界面,
其中预测模被存储在所述存储器中及被配置为通过所述输入界面接收个体对鞋的请求,获得所请求的鞋的至少一个鞋特征向量和所述个体的至少一只足的至少一个足特征向量及所述个体的与所述所请求的鞋相关的尺寸偏好参数,
所述预测模块根据所述所请求的鞋的所述至少一个鞋特征向量和所述至少一个足特征向量及所述个体的与所述所请求的鞋相关的尺寸偏好参数来为所述个体生成所请求的鞋的预测鞋码,
所述预测模块根据多个数据主体的记录生成,其中每个记录是与所述多个数据主体之一所选择的鞋的至少一个鞋特征向量、所述数据主体之一的至少一个足特征向量和所选择的鞋的鞋码及尺寸偏好参数相关联的,
其中,所述尺寸偏好参数从所述数据主体之一的至少一个足特征向量和所述数据主体之一所述所选择的鞋的鞋码得到的。
15.一种预测鞋码的系统,包括:
预测模块,其被配置为接收个体对鞋的请求、所请求的鞋的至少一个鞋特征向量和所述个体的至少一只足的至少一个足特征向量,以及根据所述所请求的鞋的至少一个鞋特征向量和所述个体的至少一只足的至少一个足特征向量来为所述个体生成所请求的鞋的预测鞋码,
其中所述预测模块根据多个数据主体的记录生成,其中每个记录是与所述多个数据主体之一所选择的鞋的至少一个鞋特征向量、所述数据主体之一的至少一个足特征向量及所选择的鞋的鞋码相关联的。
16.根据权利要求15所述的系统,其中,所述预测模块进一步包括根据所述个体的至少一个足特征向量得到个人偏好参数,所述预测模块被配置为根据所述至少一个鞋特征向量和所述至少一个足特征向量以及所述尺寸偏好参数来为所述个体生成所述预测鞋码,其中所述预测模块根据多个数据主体的记录生成,其中每个记录是与所述多个数据主体中之一所选择的鞋的至少一个鞋特征向量、所述数据主体之一的至少一个足特征向量及所选择的鞋的鞋码及所述尺寸偏好参数相关联的。
17.根据权利要求16所述的系统,进一步包括偏好判定模块,所述偏好判定模块被配置为:
通过将所述个体的至少一个足特征向量与多个足型组的足特征向量的聚类中心进行比较来确定所述个体所在的足型组,
获得在所述个体所在的足型组内的鞋码的众数,
获得所述个体以往曾选择的鞋的鞋码,
将所述鞋码的众数与所述个体的所述以往曾选择的鞋的鞋码进行比较,以及如果所述以往曾选择的鞋的鞋码小于所述鞋码的众数,则所述个体的尺寸偏好为紧,以及如果所述以往曾选择的鞋的鞋码大于所述鞋码的众数,则所述个体的尺寸偏好为松。
18.根据权利要求15所述的系统,其中,至少通过测量以下任一项的值来得到所述鞋特征向量:190宽、190围、着地点、后容差、腰窝外段宽度。
19.根据权利要求15所述的系统,其中,至少通过测量以下任一项的值来得到所述足特征向量:足弓参数、后跟内凸点部位长度、后跟外凸点不分长度、拇趾外凸点部位长度、小趾外凸点部位长度、拇趾脚印里宽、小趾脚印外宽、第一跖趾脚印里宽、第五跖趾脚印外宽、后弧90mm间隙。
20.一种计算机可读存储介质,其中存储有多条指令,所述指令适于由处理器加载并执行以下步骤:
接收来自个体对鞋的请求,
获取所请求的鞋的至少一个鞋特征向量,
获取所述个体的至少一只足的至少一个足特征向量,
根据所述个体的至少一个足特征向量来得到个人偏好参数,
通过预测模型根据所述至少一个鞋特征向量和所述至少一个足特征向量以及所述个人偏好参数来为所述个体生成所述预测鞋码,
其中所述预测模型根据多个数据主体的记录生成,其中每个记录是与所述多个数据主体之一所选择的鞋的至少一个鞋特征向量、所述数据主体之一的至少一个足特征向量及所选择的鞋的鞋码及尺寸偏好参数相关联的,所述尺寸偏好参数从所述数据主体之一的至少一个足特征向量和所述数据主体之一所述所选择的鞋的鞋码得到的。
21.根据权利要求20所述的计算机可读存储介质,其中,所述尺寸偏好参数是根据所述个体的足型组及所述个体的足型组的鞋码的众数来获得的。
22.一种计算机可读存储介质,其中存储有多条指令,所述指令适于由处理器加载并执行如权利要求1至权利要求13之一所述的步骤。

说明书全文

一种预测码的方法、装置和系统以及计算机可读存储介质

技术领域

[0001] 本发明涉及一种预测鞋码的方法、装置和系统以及计算机可读存储介质,更具体而言,涉及一种利用多维变量的预测鞋码的方法、装置和系统以及计算机可读存储介质。

背景技术

[0002] 现今在网上购买衣服及其他物品已是非常之流行,但是在网上选购鞋履的其中一个难题是如何确定适合购买者的鞋码。由于鞋的款色多变,有平底鞋、运动鞋、高跟鞋、靴、凉鞋等,而不同鞋的款色的鞋楦设计不同,有些鞋会宽一些,而有些鞋会窄一点,使用者不能单靠足长或鞋码而决定某一款鞋的鞋码是最合适的。因此,造成网上购买鞋的意欲下降或购买者的退货增加的情形。在实体店中购物,试穿亦不仅降低了顾客的购买效率,而且增加了实体销售模式的销售成本。
[0003] 鞋业从业者希望为用户提供最佳鞋品穿着体验。同时,用户也希望可以获得最佳的鞋子穿着体验。
[0004] 已知不同人的脚在长度、肥瘦、脚背高矮等方面都可能存在不同。即使是同一个人的左脚和右脚也有可能存在一定的差异。
[0005] 一般而言,鞋是根据标准鞋码而生产的。目前,用户主要根据用户的脚长、常穿鞋码等信息来在多个已定的鞋码中确定合适鞋码。
[0006] 然而,由于每个人的脚型、偏好存在不同而且不同款式的鞋子之间也存在不同,即使脚长一样的两个人,就同样一款鞋子而言,他们最终也可能由于个人喜好不同而选择不同尺码的鞋子以获得最佳舒适感。目前普遍所使用的预测鞋码的方法存在用户穿着合适的比例较低的不足。
[0007] 因此,需要一种更为合适的用于预测鞋码的方法。

发明内容

[0008] 本发明的第一方面提供一种预测鞋码的方法,包括:接收来自个体对鞋的请求,获取所请求的鞋的至少一个鞋特征向量,获取所述个体的至少一只足的至少一个足特征向量,通过预测模型根据所述至少一个鞋特征向量和所述至少一个足特征向量来为所述个体生成预测鞋码,其中所述预测模型根据多个数据主体的记录生成,其中每个记录是与所述多个数据主体之一所请求的鞋的至少一个鞋特征向量、所述数据主体之一的至少一个足特征向量及所述数据主体之一所请求的鞋的鞋码相关联的。
[0009] 优选地,生成预测鞋码的步骤进一步包括根据所述个体的至少一个足特征向量来得到尺寸偏好参数,通过预测模型根据所述至少一个鞋特征向量和所述至少一个足特征向量以及所述尺寸偏好参数来为所述个体生成所述预测鞋码,其中所述预测模型根据多个数据主体的记录生成,其中每个记录是与所述多个数据主体中之一所请求的鞋的至少一个鞋特征向量、所述数据主体之一的至少一个足特征向量及所述数据主体之一所请求的鞋的鞋码及所述尺寸偏好参数相关联的。
[0010] 优选地,所述尺寸偏好参数是通过以下方式得到的:接收来自多个数据样本的至少一只足的至少一个足特征向量,将从所述多个数据样本得到的足特征向量聚类成足型组,通过将所述个体的至少一个足特征向量与所述足型组的数据样本的足特征向量进行比较来确定所述个体所在的足型组,在所述个体所在的足型组内,获得该足型组的数据样本的鞋码的众数,获得所述个体以往曾选择的鞋的鞋码,将所述鞋码的众数与所述个体的所述以往曾选择的鞋的鞋码进行比较,以及如果所述以往曾选择的鞋的鞋码小于所述鞋码的众数,则所述个体的尺寸偏好为紧,以及如果所述以往曾选择的鞋的鞋码大于所述鞋码的众数,则所述个体的尺寸偏好为松。
[0011] 优选地,所述数据主体的足特征向量的聚类是基于K-means聚类的。
[0012] 优选地,所述数据主体的足特征向量的聚类是基于经熵权重的K-means聚类的。
[0013] 优选地,在所述预测模型中使用的所述多个数据主体的记录是通过由所述数据主体作答的鞋码合适度反馈问卷来验证的。
[0014] 优选地,接收所述个体的两只足的多个测量值,以用于生成相对应的足特征向量组。
[0015] 优选地,所述鞋特征向量包括所述鞋的鞋楦的数据测量的特征和所述鞋的鞋垫的测量值的特征中的一者。
[0016] 优选地,至少通过测量以下任一项的值来得到所述鞋特征向量:190宽、190围、着地点、后容差、腰窝外段宽度。
[0017] 优选地,至少通过测量以下任一项的值来得到所述足特征向量:足弓参数、后跟内凸点部位长度、后跟外凸点不分长度、拇趾外凸点部位长度、小趾外凸点部位长度、拇趾脚印里宽、小趾脚印外宽、第一跖趾脚印里宽、第五跖趾脚印外宽、后弧90mm间隙。
[0018] 优选地,所述预测模型使用来自包括以下各项的组的统计计算方法来生成:随机森林算法、贝叶斯分类器、决策树、单纯贝氏分类器。
[0019] 优选地,足的测量值是从足的3D点数据得到的。
[0020] 优选地,鞋的测量值是从鞋的3D点云数据得到的。
[0021] 本发明的第二方面提供一种预测鞋码的装置,包括:存储器
[0022] 一个或多个处理器;一个或多个输入界面;和一个或多个输出界面,其中预测模被存储在所述存储器中及被配置为通过所述输入界面接收个体对鞋的请求,获得所请求的鞋的至少一个鞋特征向量和所述个体的至少一只足的至少一个足特征向量及所述个体的与所述所请求的鞋相关的尺寸偏好参数,所述预测模块根据所述所请求的鞋的所述至少一个鞋特征向量和所述至少一个足特征向量及所述个体的与所述所请求的鞋相关的尺寸偏好参数来为所述个体生成所请求的鞋的预测鞋码,所述预测模块根据多个数据主体的记录生成,其中每个记录是与所述多个数据主体之一所选择的鞋的至少一个鞋特征向量、所述数据主体之一的至少一个足特征向量和所选择的鞋的鞋码及尺寸偏好参数相关联的,其中,所述尺寸偏好参数从所述数据主体之一的至少一个足特征向量和所述数据主体之一所述所选择的鞋的鞋码得到的。
[0023] 本发明的第三方面提供一种预测鞋码的系统,包括:预测模块,其被配置为接收个体对鞋的请求、所请求的鞋的至少一个鞋特征向量和所述个体的至少一只足的至少一个足特征向量,以及根据所述所请求的鞋的至少一个鞋特征向量和所述个体的至少一只足的至少一个足特征向量来为所述个体生成所请求的鞋的预测鞋码,其中所述预测模块根据多个数据主体的记录生成,其中每个记录是与所述多个数据主体之一所选择的鞋的至少一个鞋特征向量、所述数据主体之一的至少一个足特征向量及所选择的鞋的鞋码相关联的。
[0024] 优选地,所述预测模块进一步包括根据所述个体的至少一个足特征向量得到个人偏好参数,所述预测模块被配置为根据所述至少一个鞋特征向量和所述至少一个足特征向量以及所述尺寸偏好参数来为所述个体生成所述预测鞋码,其中所述预测模块根据多个数据主体的记录生成,其中每个记录是与所述多个数据主体中之一所选择的鞋的至少一个鞋特征向量、所述数据主体之一的至少一个足特征向量及所选择的鞋的鞋码及所述尺寸偏好参数相关联的。
[0025] 优选地,该预测鞋码的系统进一步包括偏好判定模块,所述偏好判定模块被配置为:通过将所述个体的至少一个足特征向量与多个足型组的足特征向量的聚类中心进行比较来确定所述个体所在的足型组,获得在所述个体所在的足型组内的鞋码的众数,获得所述个体以往曾选择的鞋的鞋码,将所述鞋码的众数与所述个体的所述以往曾选择的鞋的鞋码进行比较,以及如果所述以往曾选择的鞋的鞋码小于所述鞋码的众数,则所述个体的尺寸偏好为紧,以及如果所述以往曾选择的鞋的鞋码大于所述鞋码的众数,则所述个体的尺寸偏好为松。
[0026] 优选地,至少通过测量以下任一项的值来得到所述鞋特征向量:190宽、190围、着地点、后容差、腰窝外段宽度。
[0027] 优选地,至少通过测量以下任一项的值来得到所述足特征向量:足弓参数、后跟内凸点部位长度、后跟外凸点不分长度、拇趾外凸点部位长度、小趾外凸点部位长度、拇趾脚印里宽、小趾脚印外宽、第一跖趾脚印里宽、第五跖趾脚印外宽、后弧90mm间隙。
[0028] 本发明的第四方面提供一种计算机可读存储介质,其中存储有多条指令,所述指令适于由处理器加载并执行以下步骤:接收来自个体对鞋的请求,获取所请求的鞋的至少一个鞋特征向量,获取所述个体的至少一只足的至少一个足特征向量,根据所述个体的至少一个足特征向量来得到个人偏好参数,通过预测模型根据所述至少一个鞋特征向量和所述至少一个足特征向量以及所述个人偏好参数来为所述个体生成所述预测鞋码,其中所述预测模型根据多个数据主体的记录生成,其中每个记录是与所述多个数据主体之一所选择的鞋的至少一个鞋特征向量、所述数据主体之一的至少一个足特征向量及所选择的鞋的鞋码及尺寸偏好参数相关联的,所述尺寸偏好参数从所述数据主体之一的至少一个足特征向量和所述数据主体之一所述所选择的鞋的鞋码得到的。
[0029] 优选地,所述尺寸偏好参数是根据所述个体的足型组及所述个体的足型组的鞋码的众数来获得的。
[0030] 本发明的第五方面提供一种计算机可读存储介质,其中存储有多条指令,所述指令适于由处理器加载并执行本发明的第一方面提供一种预测鞋码的方法。
[0031] 本发明存在以下优点:可以快速及更准确地为个体预测合适鞋码;出现新个体或新鞋款的情况下仍然可以进行预测;而且由于考虑了个人偏好的影响,根据本发明预测到的鞋码能为用户提供更为舒适的穿着体验。附图说明
[0032] 将结合以下附图来说明本发明的各方面。
[0033] 图1是根据本发明一个实施例的鞋码预测系统的结构示意图;
[0034] 图2(a)示意性地示出了一只足的3D模型以及脚背测量点;和图2(b)示出根据脚印数据的脚底外轮廓投影图以及脚底测量点;图2(c)示意性地示出了双足的脚底深度图;图2(d)示意性地示出了双足的立体图;
[0035] 图3(a)示意示出鞋楦特征的鞋楦侧视图;图3(b)示出鞋楦特征的鞋楦的底的平面图;
[0036] 图4示出根据本发明一个实施例的脚特征;
[0037] 图5示出根据本发明一个实施例的鞋楦特征;
[0038] 图6示出脚型分类的流程图
[0039] 图7示出根据本发明一个实施例的计算得到个人偏好特征Pref是“松”、“紧”,还是“正常”的流程图。
[0040] 图8示出用于评估对象试穿鞋得出鞋码数据准确性的询问问题;
[0041] 图9示出用以确定脚型分类类别数K的不同平均轮廓数SA;
[0042] 图10示出根据本发明一个实施例的通过机器学习来训练预测模型的流程图;
[0043] 图11示出建立决策树的流程图。
[0044] 图12是一个决策树分裂的示意性图示。
[0045] 图13示出根据本发明一个实施例由真实数据计算的决策树的一部分的示意图。
[0046] 图14示出根据本发明一个实施例的训练随机森林的流程图;
[0047] 图15(a)示出随机森林的准确度是如何随着决策树数目的增加而变化的。图15(b)示出随机森林的准确度是如何随着最大叶节点数目的增加而变化的;
[0048] 图16示出脚扫描的流程图;
[0049] 图17示出客户于线上购买鞋的流程图;
[0050] 图18示出鞋码预测系统的示意图;
[0051] 图19示出根据一个实施例的运作预测鞋码的方法的系统的框图

具体实施方式

[0052] 下面结合附图对本申请作进一步详细描述。
[0053] 本发明旨在提供一种经机器学习方法训练的鞋码预测模型,该模型基于脚数据和鞋数据而给出鞋码预测。该模型也可以基于脚数据、鞋数据以及个人偏好数据而给出鞋码预测。
[0054] 图1示出根据一个实施例的鞋码预测系统10的结构示意图。
[0055] 该鞋码预测系统10基于脚的3D数据、用户个人偏好以及鞋的3D数据而做出鞋码的预测。具体地,该鞋码预测系统包括数据输入模块101;特征提取模块103,其从所输入的数据中提取多个特定足部特征构成多维特征向量;偏好分类模块105,用于确定对象的偏好;预测模型训练模块107,用于构建预测模型;和用于进行鞋码预测的预测模块109。其中偏好分类模块105是可选的。在预测模块109已构建时,其可单独接收新用户的数据运作以提供鞋码预测,而与其他模块脱离。同时当偏好分类模块105已经构建之后,它可以独立运作成为偏好判定模块106,用以根据新用户的脚数据和以往曾选择的鞋的鞋码判定该用户的个人偏好。
[0056] 数据输入模块101是输入脚的3D数据、个人偏好数据和鞋的3D数据的输入界面。数据输入模块101将从不同数据源收集到的数据作处理以使数据转化成特征提取模块103、偏好分类模块105和预测模型训练模块107可阅读的输入数据。数据输入模块101输出的3D脚数据和3D鞋数据被输入到特征提取模块103,以从中分别提取多个脚部特征和鞋特征。
[0057] 下面,将详细描述根据一个示范性实施例的脚部特征和鞋特征的采集和获取方法。
[0058] 1、采集3D脚数据及获取3D脚特征
[0059] 数据主体是提供脚数据和试穿鞋的数据的人,也称为对象。
[0060] 3D脚数据是用以表征对象的脚(一对足)的尺寸和三维形状的数据集,其值在一定区间内可以任意取值、数值是连续不断的、相邻两个数值可作无限分割,可以看作是连续数据。可以理解到的是,用以获得脚的尺寸和三维形状的任何数据采集和处理方法都是可行的。
[0061] 在一个实施例中,3D脚数据是通过对脚(一对足)进行3D扫描所采集的以点云(point cloud)格式的3D数据(下文称3D点云)。点云格式是指通过3D扫描器所获得的一种数据格式,其中每一个点包含有三维座标(x,y,z)。作为示例,可以使用商业上已有的3D(三维)扫描仪或特定为脚的扫描仪来获得脚的3D点云。特定的脚扫描仪的优点是可以采集根据脚的3D数据的脚底深度数据,从而获得脚底深度数据,也称为脚印数据。特别地,特定的脚扫描仪可以从距离、围度、高度等方面精确地获取脚的各特征值且误差在1毫米以内。
[0062] 具体而言,在3D扫描期间,被扫描的对象赤脚站立以使得其自身重量平均地分配到两只足上,以使得所采集的数据能够更加真实反映脚在受重情况下的尺寸和三维性状。因为每个对象的左足和右足可能存在不对称的情况,因此使用3D扫描仪或其他可行方法分别采集左足的3D点云和右足的3D点云。
[0063] 结合所采集的左足的3D数据(3D点云)和所采集的右脚的3D数据(3D点云)来构建每个对象的3D脚(包括左足和右足)模型。图2(a)示意性地示出了一只足的3D模型以及脚背测量点。3D脚模型的特征主要包括长度/宽度数据、围度数据、高度数据和脚印数据(脚底轮廓数据)。其中,长度数据是表示两个点之间的在脚长方向上的直线距离的数据;宽度数据是表示两个点之间的在脚宽方向上的直线距离的数据;围度数据是表示经某一个点绕另一个点一周的长度的数据;高度数据是特定两点在竖直方向的距离,即经过两点的两个平平面间的距离;脚印数据是脚底在水平面的投影,并且该投影带有深度信息数据。脚印数据可以根据脚底深度数据来计算。脚底深度数据是通过空间变化体现脚弓高度的数据。图2(b)示出根据脚印数据的脚底外轮廓投影图以及脚底测量点。图2(c)示意性地示出了一对足的脚底深度图,其为将足弓高度数据变成深度数据并将该深度数据加到脚底水平面投影图上得到的,灰度越大表示比较贴底,不同灰度代表不同深度。其中从脚底外轮廓投影图可以计算绝大部分的长度/宽度数据,而围度数据和高度数据主要根据3D数据计算出来。图2(d)示意性地示出了双足的立体图。
[0064] 3D脚模型含有大量的数据点。理论上,可以用数个足部特征的组合来描述足的尺寸和形状。为了较好地反映足的尺寸和外形,理论上需要包含尽可能多的足部特征。然而,在包含更多的足部特征的情况下,整个预测系统的运算量会大大增加。考虑到平衡系统运算量和更好的反映足的尺寸和外形,本发明有选择地获得特定足部特征的信息。
[0065] 一些足部特征与鞋码预测结果没有关联或者仅有非常弱(甚至可以忽略不计)的关联,比如,第二指趾肚宽度。因此,为了提升预测速度并简化数据体积,仅从被扫描对象的脚3D模型中提取特定足部特征f。特定足部特征f是对足的尺寸和外形起决定作用的并且一般而言对预测结果有一定影响的足部特征。
[0066] 从左足的3D模型中有选择地提取n个特定足部特征f1,2,……n,构成n维特征向量(称为左足n维特征向量Fleft)。同样地,从右足的3D模型中有选择地提取对应的n个特定足部特right left征f′1,2,……n,构成n维特征向量(称为右足n维特征向量F )。左足n维特征向量F 和右足n维特征向量Fright一起构成N(即N=2n)维特征向量F(称为脚N维特征向量F)。可以理解到的是,可以根据需要提取不同数量的足部特征作为特定足部特征并组成特征向量F。
[0067] 在一个实施例中,对于每个被扫描的对象y,关于左足提取68个特定足部特征f作为左足特征向量 关于右足提取68个特定足部特征作为右足特征向量 其共同构成脚特征向量 其中y为扫描对象。
[0068] 特征提取模块103的功能是接收由数据输入模块101处理过的对象的3D点云数据并经上述方法输出Fy。
[0069] 图4中给出参考图2作出的该68个足部特征及其定义。但应该理解到的是,特定足部特征f不限于图4中所给出的足部特征而且特定足特征可以包括更多或更少的足部特征。
[0070] 2、采集3D鞋数据及获取3D鞋特征。
[0071] 3D鞋数据可以是鞋的外轮廓的3D扫描数据,也可以是鞋的内部空间的3D扫描数据。3D鞋数据是与鞋的3D形状相关联的数据集,其值在一定区间内可以任意取值、数值是连续不断的、相邻两个数值可作无限分割,可以看作是连续数据。
[0072] 在一个实施例中,可以采集鞋的内部空间的3D数据作为3D鞋数据。当人脚穿着鞋的时候,足部是与鞋的内部空间直接接触的。因此,理论上采集鞋的内部空间的3D数据可以获得更准确的鞋码预测结果。但是,所采集的鞋的内部空间的3D数据可能存在误差,因为鞋的内部空间相对隐蔽而导致不易采集相关数据。
[0073] 在另一个实施例中,可以采集鞋楦的3D数据作为3D鞋数据。鞋楦是鞋的母体,是鞋的成型模具。鞋楦不仅决定鞋造型和式样,更决定着鞋是否合脚,即鞋的内部空间与脚型的匹配度。因此,可以使用鞋楦的3D数据来近似鞋的内部构造。相比于直接扫描鞋和/或鞋的内部结构,鞋楦的3D数据的采集相对于内部空间数据的采集较易实现,并且鞋楦的3D鞋数据可以最大程度体现鞋的内部结构。
[0074] 在采集鞋楦的3D数据的过程中,鞋楦的特征采集点大体上与脚的特征采集点相对应,如鞋楦头厚对应拇趾厚度、鞋楦后容差对应脚后容差等。
[0075] 一般而言,任一对鞋的两只鞋是完全左右对称,因此在3D鞋数据中只考虑有关其中任一只鞋的3D数据。
[0076] 与脚特征同样道理,一些鞋特征与预测结果没有关联或者仅有非常弱(甚至可以忽略不计)的关联,因此,为了提升预测速度并简化数据体积,仅从3D鞋数据中提取m(m=1,2,…)个特定鞋特征l构成鞋特征向量L={l1,l2,…lm}。
[0077] 此外,3D鞋数据中还可以包括有关鞋垫信息的数据,例如鞋垫的厚度(包括受重及非受重的厚度)和物料等。鞋垫信息可以记录在鞋楦数据里,或者作为独立的数据被记录。
[0078] 选择鞋楦的3D数据作为3D鞋数据的另一个优点在于,鞋楦的3D数据本身可以反映不同种类的鞋子w,即不同鞋型的鞋楦数据会存在差异,例如测量靴子的鞋楦之后,发现其后跟高明显高于其他种类的鞋楦的后跟高。因此,当引入鞋楦数据作为3D鞋数据时,可以通过鞋楦的特定特征向量L反映鞋型种类w,从而使得本鞋码预测模型对于不同种类的鞋子w,例如不同高度的高跟鞋、靴子、凉鞋等,都有较好的鲁棒性,即无论用户所要选择的是哪种鞋型,本发明的尺寸预测模型及方法都可以提供大致稳定的鞋码预测准确度。
[0079] 特征提取模块103的功能是将经数据输入模块101处理过的鞋楦3D点云数据经上述方法输出关于鞋型w的鞋特征向量Lw。
[0080] 在一个实施例中,鞋特征向量L是从鞋楦的3D数据中提取的24个特定鞋特征或鞋特征向量。
[0081] 图5中给出参考图2(a)、图2(b)、图3(a)和图3(b)作出的该24个特定鞋特征及其定义。但应该理解到的是,特定鞋特征l不限于图5中所给出的鞋特征。鞋特征向量L可以包括更多或更少的特定鞋特征l。
[0082] 3、分析个人偏好及获取个人偏好特征
[0083] 理论上,脚型相同的用户(对象)对同一鞋款的鞋码的选择大体相同,但通过数据分析,发明人发现有相当一部分脚型相似的人在相同类型的鞋中选择了不同的尺码,这些差异主要是由于个人偏好造成的。
[0084] 为便于分析个人偏好,将鞋款根据款式分成几大类鞋款,称作大类鞋款W,比如浅口单鞋大类、满帮鞋大类、靴子大类和凉鞋大类等。
[0085] 虽然个人偏好是多样化的,比如有的人可能喜欢鞋头松些,而又有些人喜欢鞋跟跟脚性紧些,但无论如何变化,最终都将反映到鞋码的选择上,即较大鞋码(偏好“松”)或者较小鞋码(偏好“紧”)。
[0086] 个人偏好反映对象对鞋的穿着舒适度的感觉差异,其使得具有相似的足部特征的不同对象,如具有相同足长特征的对象,可能就同一大类鞋款选择不同的鞋码以获得最佳舒适度。
[0087] 影响个人偏好的因素主要是主观因素。虽然可以通过询问用户的个人喜好来获得个人偏好,但是对象往往对自己的主观偏好(如偏好“松”、“紧”等)不是很了解,又或者对象所提供的偏大偏小数据并不准确。为了获得更为客观的偏好参数,使用最能代表用户的脚型数据将用户进行分类,并通过将假定最佳鞋码/合适码与用户分类下的标准鞋码作比较,以获得个人偏好参数,也称之为个人偏好特征。个人偏好特征Pref是经特征化的用以表征对象对属于某一大类的鞋W的松紧偏好的信息,用以反映个人对某一大类的鞋W的鞋码S的偏好。
[0088] 可以通过不同方法获得个人偏好特征。在一个实施例中,可以结合对象的线上和线下成功购买记录、退货记录,或者根据对象的注意等对象的购买行为来获得个人偏好特征,或者利用询问的方式间接获取。其中成功购买记录界定为对象没有作出退货的购买记录,对象的注意力记录是可以反映对象喜好的特定动作,例如对象曾经将某一鞋款放在了购物筐里。如果某一对象成功购买了鞋码为S的鞋款,则可以假设该鞋码是该对象对该鞋款所属大类的偏好鞋码。又例如,如果对象曾经将某一鞋款放在了购物筐里,则可以假定该对象是对该类鞋子以及该鞋码存在偏好,从而假定该鞋码是该对象对该鞋款该大类的偏好鞋码(合适码)。对象在线下店挑选、试穿鞋时,导购询问问题并记录;亦可通过问卷询问对象以往的购买记录;或在对象注册APP或网站时,要求对象填写以往的购买历史资料,如鞋款及鞋码等。
[0089] 下面结合图6说明偏好分类模块105对脚特征向量进行聚类以获得脚型聚类的过程。其中,包括输入脚特征数据的步骤610、计算脚特征的相对熵的步骤620、根据相对熵计算经加权的欧式距离的步骤630、根据平均轮廓系数确定类别数的步骤640和获得聚类结果的步骤650。
[0090] 从多个对象获取脚数据和试穿的数据样本。在步骤610,不同对象y的来自数据样本的脚特征数据的向量F输入到系统中及生成每个特征f的向量 n代表特征个数,1≤n≤N。
[0091] 聚类分析(Cluster analysis,亦称为群集分析)是机器学习领域被广泛使用的统计数据分析技术。聚类的原则是要将相似的对象通过静态分类的方法分成不同的组别或者更多的子集(subset)。通常,在同一个子集中的成员对象都有相似的一些属性,常见的包括在坐标系中更加短的空间距离等。
[0092] 在聚类分析中,关键性的一步就是要选择测量的距离。K-means算法是典型的基于距离的聚类算法,其采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大,并且认为簇是由距离靠近的对象组成的,期望得到紧凑且独立的簇。具体地,在K-means中首先随机选择K个点作为初始的聚类中心点,接着计算每个数据记录与K个聚类中心的距离,分到离其最近的聚类中心点所代表的类簇中。K-means算法通过不断更新类簇中心点,以确定最终分类。K-means算法中常见的距离测量方法是测量欧式空间距离(Euclidean Space Distance),即在一个空间中来计算每个空间中点到原点的距离,然后对所有距离进行换算。欧式空间距离是典型的等权重的距离测量方法。
[0093] 然而,如前所述,3D脚特征数据是具有高维度的属性的数据集,并且不同维度间的数值差异较大,比如某一对象y的左脚兜跟围长为338.839毫米,而左脚拇趾边距只有0.852623毫米。如果用等权重的测量方法,则会导致数值较大的几个维度在脚型的分类上起了决定性作用,而有些数值虽较小但具有代表性的特征将会被忽略。3D脚特征数据从属性上不适宜使用等权重的距离测量进行聚类。
[0094] 为了获得更好的聚类效果,更为优选的方法是计算不同脚特征在聚类中的权重。本发明引入信息论中的熵的概念以计算该权重。熵常用来从量上特征化测量结果信息,以反映特征的区分度高低。具有较大熵的脚特征意味着该脚特征具有较大的变化范围,即只有很少的人对于该特征而言具有相同的值,这表明该特征对分类影响较大,即该特征具有较高的区分度,因此在决定分类中应被分配较大权重。反之,具有较少熵的脚特征意味着该脚特征的变化范围较小,即对于所有人而言该特征的值都相同,这表明该特征对分类影响较小,即该特征具有较低的区分度,因此在决定分类中应被分配较小权重。
[0095] 理论上,熵的计算公式只适用于离散数据(discrete data)。然而,3D脚数据是连续数据(continuous data),因此熵的计算公式并不适于直接应用到3D脚数据。为了获得不同3D脚特征f1,f2,…..,fN在聚类中的权重,采用相对熵(又称为KL散度、信息散度、信息增益)作近似计算。相对熵是两个概率分布差别的非对称性的度量。
[0096] 3D脚模型的每个特征是天然分布,其概率密度函数都可以看作近似高斯分布(Gaussian Distribution)。
[0097] 这里,为了容易公式形成和数学运算,假设每个特征f的维度的高斯函数的形式如下式(1)所示:
[0098]
[0099] 其中 为所有对象在该特征f上的值组成的向量,μ是高斯分布的期望值,σ2是高斯分布的标准方差。通过高斯拟合来得到脚的每个特征f的μ值和σ值。
[0100] 因此,每个特征f所组成的向量 的相对熵可以通过下式来计算:
[0101]
[0102] 根据方程式(2),特征f所组成的向量 的相对熵 是与 的标准方差的平方(σ2)的自然对数成比例。将上述基于K-means算法的考虑相对熵(概率分布差别)的聚类算法称为改进的K-means算法,亦即相对熵权重K-means算法。
[0103] 在步骤620中,系统根据公式(2)计算每一个特征f所组成的向量 的相对熵 得出每个特征f的权重 因此,相对熵权重的K-means公式为:
[0104]
[0105] 其中h1,h2,h3,…,hN为对应维度的相对墒,F1=[f11,f12,…f1N]和F2=[f21,f22,…f2N]。
[0106] 在步骤630中,利用公式(3)关于每一个特征以K-means方法计算出关于K个聚类中心的特征向量F的中心值,如FC=[fc1,fc2,…fcN],以及计算出关于每一个特征的相对熵加权的欧式距离。
[0107] 众所周知,聚类中还有一个非常重要环节,即确定适当的类别数。在步骤640,根据平均轮廓系统SA来确定分类数。下面,将参考图6描述确认类别数的方法。
[0108] 理论上,为了让同一簇中的脚型相似程度更高,需要尽可能增大聚类数K,即将脚型的分类分得更细。但是,这会导致计算量的激增。另一方面,已知市面上的鞋大多分为8个尺码(主要是根据长度划分),因此为涵盖所有尺码的情况,可知脚型的类型数应至少大于鞋的尺码种类,即大于8类。为了确定类别数,进一步分析当类别数K分别为9到20时的数据集中的所有N个数据的平均轮廓系数。轮廓系数(Si lhouette Coefficient)是聚类效果好坏的一种评价方式。如果多数对象都具有较高的轮廓系数,则平均轮廓系数表明聚类配置是适当。为了减少计算时长,只算到类别数K=20时的轮廓系数。图9给出一个实施例中不同类别数时的平均轮廓系数。如前所述,平均轮廓系数越高则表明分类越恰当。当类别数为10时,对应最大的平均轮廓系数,因此确定脚型分类数K为10。
[0109] 其中,轮廓系数定义如下,
[0110]
[0111] 其中,i表示一个对象的脚特征向量F,a(i)为i向量与同一簇K内其他点(其他对象的脚特征向量)不相似程度的平均值,以及b(i)是i向量到相对于其他簇的平均不相似程度的最小值。如果对象具有较高的s(i)值,则表示该对象与其簇有较好的匹配而与相邻簇的匹配较弱。如果多数对象都具有较高的s(i)值,则表明聚类配置是适当。如果多数对象具有较低或负的s(i)值,则说明聚类配置包含了太多或者太少的簇,这两种情况都是应该避免的。
[0112] 在步骤640中,在K为9至20中,对于对象y的脚特征向量Fy,计算Fy与其同一个簇内C1的所有其他元素距离的平均值,记作a(Fy),用于量化簇内的凝聚度。选取Fy外的一个簇Ck,k=2,3,…K-1,计算Fy与Ck中所有点的平均距离,遍历所有其他簇,其中找到最近的这个平均距离,记作b(Fy),用于量化簇之间分离度。对于脚特
征向量Fy,轮廓系数定义如下,
[0113]
[0114] 其中a(Fy)和b(Fy)通过下式得到:
[0115]
[0116]
[0117] 其中,n为该类别中的所有脚型数据的个数。计算所有F的轮廓系数,求出平均值即为当前聚类k的整体轮廓系数SA,这里称作平均轮廓系数:
[0118] ymax是最大的对象个数(8)
[0119] 从上面的公式,不难发现若S小于0,说明F与其簇内元素的平均距离小于最近的其他簇,表示聚类效果不好。如果对于所有的脚型向量,都有a(F)趋于0,或者b(F)足够大,那么S趋近与1,说明聚类效果比较好。
[0120] 对于新来的脚型数据Fy′,采用和聚类中心的脚型数据FC做对比,计算方法同聚类,加权的欧式距离,寻找最相近的聚类中心 即可决定Fy′的聚类类别k亦为其脚型分类。
[0121] 假设,要确定类别的新的脚型数据是F1的脚型类别以及第k个聚类中心的脚型数据是 其中,F1={f11,f12,f13…,f1N},
[0122] F1与FC的欧式距离定义为:
[0123]
[0124] 根据如上方法,利用相对熵而将上述公式修改为经加权的欧式距离,如下:
[0125]
[0126] 其中h1,h2,h3,…,hN为对应维度的相对墒。
[0127] 历遍所有聚类中心k及计算出每一个聚类中心的d′k(F1FC),最小的d′k相对应的k是脚型数据F1的聚类。在这里,偏好分类模块105记录 用以根据对象的脚特征向量Fy’和对象的以往曾选择的鞋的鞋码来确定该对象的个人偏好特征。下文将详细描述。
[0128] 参考图7说明根据一个实施例的利用偏好分类模块105计算得到个人偏好特征Pref是“松”、“紧”,还是“正常”的方法。
[0129] 步骤710:从数据样本采集y个对象的脚特征向量Fy并记录对象对于同一大类鞋款W不同鞋款w的最佳鞋码。
[0130] 其中,随机采集y个对象的3D脚数据特征向量Fy并记录y个对象中的每一个对不同大类鞋款W的试穿结果,即与大类鞋款相关地来记录鞋码,假定该鞋码是该对象关于大类鞋款的最佳鞋码SW,y,也称作合适鞋码或适用码。不同鞋款可以根据款式分成大类鞋款W,如浅口单鞋、满帮鞋、靴子和凉鞋。
[0131] 步骤720:验证数据样本的有效性。
[0132] 获取该y个对象关于图8的鞋码合适度反馈问卷作出答案;保留那些在合格线以上的数据并舍弃那些在合格线以下的数据。合格线例如可以是对象回答为“合适”的比例大于总问题数的80%,即如果一个对象回答为“合适”的比例低于总问题数的80%,则被认为是不适当的数据,并将被舍弃。也可以规定当回答为“合适”的比例大于总问题数的其他比例时,才保留那些数据。
[0133] 步骤730:利用基于熵的经权重的K-means对该y个对象的脚特征向量Fy进行脚型聚类。
[0134] 其中,对y个对象的脚特征向量进行聚类的方法与参考图6描述的方法类似。
[0135] 步骤740:分析同一脚型分类Ty中各对象对于不同鞋款大类W的尺寸选择差异及确定该脚型分类Ty的基本尺码SW,std。其中,在同一脚型分类Ty中,设定关于鞋款大类W的尺码的众数为基本尺码SW,std。众数是一种位置平均数,它是一群数据中出现次数最多的那个数值,或者说是频率最大的那个数值。
[0136] 步骤750:确定偏好Pref。
[0137] 其中,对于每一大类鞋款W和脚型T的组合,SW,y小于基本尺码SW,std的对象被认为是具有紧(较小鞋码)的偏好;SW,y大于基本尺码的对象被认为是具有松(较大鞋码)的偏好;SW,y等于基本尺码的对象被认为是具有正常的偏好。如果对象y选择的鞋码Sw,y<SW,std,其中鞋w属于大类的鞋W,则确定该对象的个人偏好PrefW,y为“紧”;如果对象y选择的鞋码Sw,y>SW,std,则确定该对象的个人偏好PrefW,y为“松”;如果对象y选择的鞋码Sw,y=SW,std,则确定该对象的个人偏好PrefW,y为“正常”。其中个人偏好的枚举值设定为:“紧”为1,“正常”为2,“松”为3。在另一个实施例,也可以根据足长计算得到同一脚型分类的各对象y的关于大类鞋款W的基本尺码SW,std。
[0138] 对于每个对象,如其对同一大类W中的不同鞋款具有多个偏好数据,将其关于该大类中的鞋子W的偏好数据进行平均来确定其偏好。同一对象对于同一大类中的不同鞋款,偏好差异不会太大,所以可以用平均值代替偏好。例如,对象y对于某一大类的鞋中的5种不同鞋款的偏好分别是松、松、正常、正常、松,则其偏好最终被确定为(3+3+2+2+3)/5=2.6。在后面所说明的联合矩阵中,该小数值直接作为一个变量来使用。
[0139] 虽然以上实施例采用同一大类鞋类W多个PrefW,y求平均的方式计算个人偏好,但本领域技术人员应当可以理解到的是,比如矩阵补全的方法以及基于协同过滤的方法也是可行的。矩阵补全的方法大体上通过存储“用户-偏好”矩阵、通过矩阵补全方法预测、填充缺失值,如SVD++,SVT(Singular Value Thresholding),FM(Factorization Machine)等来计算个人偏好。协同过滤的方法主要是项目为基础(item-based)的方法或者用户为基础(user-based)的方法。
[0140] 步骤760:纪录对象y的脚型数据、鞋款大类W、尺码SW,y、偏好PrefW,y[0141] 当偏好分类模块105已经构建,它记录之前计算得到的 及相应的脚型Tk、鞋款大类W及基本鞋码 这时候,它可以独立运作被称为偏好判定模块106。偏好判定模块106在接收到新的对象y’的脚特特征向量Fy’,首先通过公式(9)确定该脚数据所属的脚型类别,之后通过偏好判定模块106依照步骤750所述的比较方法得到偏好数据。例如,要计算对象y’在鞋款W1下的偏好,则首先计算对象y’的脚型类别Ty’,接下来获取属于Ty’类脚的所有对象在鞋款W1下的基本尺码。例如基本尺码是230的话,则如果对象y’选择的尺码是235,则对象y’的偏好就是“松”;如果对象y’选择的尺码是225,则对象y’的偏好就是“紧”。
[0142] 图10示出根据一个实施例的预测模型训练模块107通过机器学习来训练预测模型的过程。
[0143] 通过机器学习训练模型的方法包括以下步骤:
[0144] (1)、获取数据样本
[0145] 在步骤1010,通过上文方法获得Y个对象y的脚数据Fy、鞋数据Lw,y和个人偏好数据Prefw,y并记录相应鞋码Sw,y作为数据样本集D0。数据样本集D0中的每个数据样本包括脚数据、鞋数据数和个人偏好数据,以及相应鞋码作为标签。由于市面上的鞋大多分为8个尺码,Sw代表该鞋款w的尺码,即Sw为尺码{Sw1,Sw2,Sw3,Sw4,Sw5,Sw6,Sw7,Sw8}之一。
[0146] 对于每个对象y,假设基于数据样本构建用于进行机器学习的联合矩阵My=Fy+Lw,y+Prefw,y,其中Fy是对象y的脚特征向量,Lw,y是关于鞋款w的鞋楦特征向量,Prefw,y是对象y关于鞋款w的偏好向量。对象y关于不同鞋款w的联合矩阵及与之对应的标签矩阵S如下:
[0147]
[0148]
[0149] (2)、训练数据
[0150] 步骤1020,将样本矩阵M随机抽出一定的数据构成训练数据集Mtraining,从标签矩阵中抽取与之对应的数据作为Straining,如下式所示,其中数据样本R表示矩阵M和标签矩阵S中第R行的数据。
[0151]
[0152] 步骤1030,对训练数据集Mtraining应用自助法(bootstrap)有放回地随机抽取K个新的自助样本集,并由此构建K棵决策树。具体地,将Mtraining随机抽出构成多个数据组K1,K2,K3…,以建立K棵决策树。假设从Mtraining随机抽出K组数据,每组数据K1,K2,K3…分别包括例如R’=500行数据,构成K个新的样本集分别为Straining-1,Straining-2,Straining-K,以用于构建K棵决策树,其中R’表示矩阵Mtraining和标签矩阵Straining中第R’行的数据。可以理解的是R′可以是其他数目。
[0153] 其中K=1
[0154] 其中K=2
[0155] 其中K=3
[0156] 其中K=4
[0157] (3)、根据K组数据建立K棵随机森林决策树(步骤1040)。具体步骤将在下面参考图11来说明。
[0158] (4)、利用K棵决策树构建随机森林(步骤1050)。所构成的随机森林用于对新的数据进行判别与分类。其中每个决策树会输出一个分类预测值,分类结果按随机森林分类器的投票多少而定。在一个实施例中使用相对多数投票法确定最终结果,即得票最多的鞋码为最终结果,若同时有多个标记获最高票,则从中随机选取一个。
[0159] 假设有20棵决策树K1至K20,以及决策树K1至K20的结果S为SW1=0,SW2=0,SW3=0,SW4=0,SW5=2,SW6=17,SW7=1,SW8=0,将决策树的结果进行比较,則最终得到的S为SW6。
[0160] 此外,可以将样本矩阵M中的非训练数据构成测试数据集Mverifying以及抽取相对应标签构成标签矩阵Sverifying来测试随机森林模型。一般而言,如果通过测数据得到的预测结果的准确率90%以上(比选择常穿码方法提升50%),则认为达到了工业应用水准,所构建的随机森林是适用的。
[0161] 现在,参考图11说明决策树的构建方法。假设用于构建决策树的每组数据K1,K2,K3…分别包括例如R’=500行数据。
[0162] 步骤1110:一开始时,将Mtraining,所有R条记录数据称为D0看作一个节点(node)N0;
[0163] 步骤1120:计算可选数据点。在每个变量在数据D0上出现的不同取值按从小到大排序,记为{a1,a2,…,an},则可选数据点集合为:
[0164]
[0165] 由于脚特征数据不是离散的而是连续的,比如足长可以是233mm,234mm,235mm。所以每次划分数据点时,要选择数据的中位点,就是数据区间最大值和最小值的中间值。可以应用二分法,把连续数据依次求中位点,然后获取这个特征的所有数据点。
[0166] 步骤1130:在M所有变量{f1至Prefw}中遍历所有变量,并遍历每个变量(feature)多个数据点 的每一个可能分割(split)点θ,即计算每个变量每一个数据点作为划分属性时数据集的纯度(用基尼GINI系数来衡量,GINI系数越小,数据集越“纯”);选择那个使得划分后数据集的GINI系数最小的分割点作为最优划分分割点θ′。假设在一个例子中脚有136个特征,每个特征下10,000数据点,则有大概有136×10,000=1,360,000≈10-6数量级的个划分点,遍历这1,360,000个划分点,看看哪个划分点使得整个数据集的GINI系数最小。
[0167] 其中,GINI系数的计算方法如下:
[0168] 若使用分割点θ对样本集合D0(D0为样本矩阵Mtraining,k)进行划分,会产生V=2个分支结点,则分割点θ(包含变量a和数据点)对样本集D0进行划分所得的GINI系数为:
[0169]
[0170] 其中,D是被分割点θ分割之前的样本集合,Dv为经分割点θ分割后的样本集合,|Dv|为Dv中的样本数量,|D|为D中的样本数量。而
[0171] 如当前样本集合D和Dv中第j类样本所占的比例为pj,(j=1,2,…,8),样本分类根据标签矩阵S确定,S∈{Sw1,Sw2,Sw3,Sw4,Sw5,Sw6,Sw7,Sw8},则Dv的GINI值为:
[0172] 如Gini_index(D0,a)到达预定接受值,则对样本集合D0停止进一步的分割。若Gini_index(D0,a)大于预定接受值,则历遍 中的每个分割点θ,及选择最小的θ为最优化分割点θ′。
[0173] 步骤1140:将所有根节点N0上的记录数据D0根据以上经计算的分割点θ′被分割成两个节点(node)N1和N2。
[0174] 步骤1150:对每一个子节点NX重复进行步骤1030和1040,即对通过前一次步骤1140分割出的N1及N2重复进行步骤1130及1140),直到每个节点的基尼系数(Gini coefficient)达可接受值10-7。在另一个实施例,分割可以因所有的变量己被计算及形成分割点,或决策树己达一定的层数,或已达到节点上最少样本数而停止。
[0175] 图12是一个决策树分裂的示意性图示。
[0176] 其中,选择使得样本集D0的GINI系数最小的划分点θ0,确定变量m0及数据点a0。
[0177] 根据θ0将样本D0划分为D10与D11,接着选择使得样本集D10的GINI系数最小的划分点θ10,确定变量m10及数据点a10,再样本D10被划分为D20与D21;选择使得样本集D11的GINI系数最小的划分点θ11,确定变量m11及数据点a11,样本D11被划分为D22与D23。依此类推,直到每个节点的基尼系数(Gini coefficient)达10-7或停止分割的条件。
[0178] 图13给出根据其中一个实施例的真实决策树的一部分的示意图。
[0179] 下面,参考图14,给出根据本发明一个实施例的训练预测模型的过程。
[0180] 在步骤1410中,随机选择大约10000个测试对象y用以获取多个数据主体的记录。
[0181] 其中,在数据主体的记录中至少包括数据主体的足特征F、所选中的鞋w的鞋特征Lw和关于所选中的鞋的鞋码Sw。可以在数据主体的记录中加入对象的年龄、身高、体重、性别的特征变量,但实验中发现,对象的年龄、身高、体重不会对鞋码预测结果产生显着影响,但是与性别有关的变量会对鞋码预测模型的准确度有影响。因此,在采集用于训练该机器学习模型的样本中,可以加入测试对象的性别。在另一个实施例,如相关对象己存在偏好数据Pref,则在数据主体的记录中可以加入对象对所选中的鞋款w的偏好数据Pref。
[0182] 测试对象中女性与男性的比例约为2:1。随机采集24款女装鞋w(每款鞋具尺码介乎215mm-250mm之间,前后鞋码之间差5mm)和8款男装鞋w(尺码介乎235mm-270mm,前后鞋码之间差5mm)的鞋的鞋楦数据,并从中提取24维关键鞋楦特征LW。
[0183] 由于女装鞋款的变化比男装鞋款多,因此采集更多关于女性脚型及鞋款的数据以充分反映真实数据有关性别的分布。每位女性对象y试穿该24款不同的鞋w,每位男性对象y试穿该8款不同的鞋w。记录每位对象针对每款鞋所选择的最终鞋码Sw,y,并假设该鞋码是该对象就该款鞋的最佳鞋码。
[0184] 可以通过向对象y询问问题Qw,y来确认对象所选择的鞋码是否为合适码。如果该鞋码本身就不合脚,那么根据该记录确定出的个人偏好也是有偏差的。可以认为该码数确定为合适码的要求是答案为“合适”的问题数的比例大于总问题数的80%。舍弃那些不是合适码的数据样本。所询问的问题包括但不限于图8所给出的作为示例的问题列表。也可以根据具体情况,询问其它问题。
[0185] 接着,根据上述改进K-means算法对脚特征Fy进行聚类得出对象脚型Ty,并根据前述的偏好分类模块105确定对象y对鞋w的个人偏好特征Prefw,y。
[0186] 通过分析同一类脚型的人所选择的尺码来确定个人偏好。具体而言,在同一脚类别中,将最多人选择的尺码作为该脚型T在某一鞋款w下的标准鞋码Sw,std。如果用户选择的鞋码Sw,y等于标准鞋码Sw,std,该用户的偏好即为“正常”;如果用户选择的鞋码Sw,y大于标准鞋码Sw,std,该用户的偏好即为“松”;如果用户选择的鞋码Sw,y小于标准鞋码Sw,std,该用户的偏好即为“紧”。例如,要计算对象UserA在鞋款WSKU1下的偏好,则首先计算对象UserA的脚型类别T,接下来计算属于T类脚的所有对象在鞋款WSKU1下的标准鞋码Sw,std,最简单的计算方法是以足长计算,另一计算方法是以该类型脚型对象在鞋款WSKU1下的最常尺码计算,即最多人选择的尺码。例如标准鞋码SW,std是230mm的话,则如果对象UserA选择的尺码是235mm,则对象UserA的偏好就是“松”;如果对象UserA选择的尺码是225mm,则对象UserA的偏好就是“紧”。
[0187] 在该实施例中,关于每一个数据主体的记录包括161维脚特征向量(其中包含68维左足特征 68右足维特征 )、24维鞋楦特征向量Lw以及1维个人偏好特征向量Prefw,y。
[0188] 在步骤1420中生成全部数据样本集的数据矩阵M和标签矩阵S,如下所示,即其中Y=1,2,…10000,N=1,2……168,m=1,2,…24,对于男性对象w=1,2,…8,对于女性对象w=1,2,…24。S为标签矩阵。
[0189] M=[FN,Y lw,m,Y Prefw,Y],S=[Sw,Y]
[0190] 在步骤1430中,从全部数据样本集的数据矩阵M和标签矩阵S来确定随机森林的决策树数目K和最大叶节点数目。
[0191] (1)、决策树的数目
[0192] 通过试验的方法确定决策树的数目。具体地,分别计算包含决策树数目K为1、2…..等不同决策树数目的随机森林。发现当随机森林的决策树数目达到20个的时候,预测结果变得稳定并且随机森林不会过于庞大,而且当随机森林的决策树数目超过20棵,随机森林的准确度也不会有明显提高。因此,确定决策树数量为20。可以理解的是,其他数量的决策树也是可能的。
[0193] 图15(a)示出随机森林的准确度是如何随着决策树数目的增加而变化的。
[0194] (2)、最大叶节点的数目
[0195] 最大叶节数是随机森林的约束条件。一般而言,当使用随机森林时,可能需要考虑过学习(overfitting),以决策树的自由生长可能导致过度学习问题并且避免随机森林过于庞大。同上,通过试验的方法来确定最大叶节点的数目。当叶节点设置为最大100个时,可以获得大约91.4%的正确预测率并且避免出现过度学习问题。因此,限制叶节点的最大数量为100,以减少每个决策树的大小并获得一定的准确度。可以理解的是,其他数量的叶节点也是可能的。
[0196] 图15(b)示出随机森林的准确度是如何随着最大叶节点数目的增加而变化的。
[0197] 在步骤1450中,对具有20棵决策树和最大叶节点数目100的随机森林进行训练和测试。其中从数据样本集M中随机抽取80%的数据作为训练数据,其余20%的数据作为测试数据。训练数据和测试数据的抽取方法、每棵决策树的分层方法等与参照图10至图13所描述的方法相同。其中,当从测试数据得到的结果的准确率在90%以上,则认为经训练的预测模型是准确的。
[0198] 在步骤1470,获得鞋码预测模型。
[0199] 下面,将参考图16至图18来描述鞋码预测模型的使用。
[0200] 在商业使用中,根据具体应用环境,本发明提供的鞋码预测模型系统可应用于虚拟鞋店商业模式和实体鞋店商业模式。本发明的其中一个优势在于其可以在虚拟鞋店商业模式中解决在网上购买鞋不能试穿而又能提供最合适鞋码的问题。本发明的另一个优势在于其可以在实体鞋店商业模式中解决顾客多次试穿却仍无法选购到适当鞋子的问题。
[0201] 对于不同的应用模式,其主要区别在于获取原始数据的过程有所不同,这里原始数据主要是指客户的脚型数据以及个人偏好。于在线商店使用模式和实体店使用模式中,对于新顾客和老顾客的处理又有所不同。新顾客是指没有进行脚部扫描、没有偏好记录同时也没有过往购买记录的对象。老顾客是至少进行过脚部扫描、并且具有偏好记录或之前购买记录的对象。
[0202] (1)、在线商店使用模式
[0203] 线上模式主要是指涉及网上购物的在线商店。对于老顾客而言,可以通过购买历史信息获取个人偏好数据,而不需要顾客回答个人偏好问题。例如,如果该顾客曾经购买过某些鞋款而又未出现过换货或退货的情况,则认为该顾客与有关鞋码对于该顾客是适当的。因此,可以确定顾客鞋码Sw。
[0204] 在新客户的情况下,线上系统可以通过询问顾客的历史购买信息,比如曾经购买过何种类型的鞋子、选择了什么鞋码、穿着后的感觉如何,以作出鞋码预测。可选地,可以通过询问该新顾客通常情况下穿着的尺码,以作出鞋码预测。
[0205] 在一种情况中,可以邀请全新客户(没有任何经存储数据的客户,即没有脚型数据也没有偏好数据的客户)在设置了3D脚部扫描器的鞋店中,对双脚进行扫描及获得客户双脚的3D模型数据,如图16所示。该数据会与客户的用户ID、名称等储存在鞋店系统的数据库中。当客户到访的同时,邀请客户试穿不同鞋款的鞋,以获得其所选中鞋款的最佳鞋码/合适鞋码,并将该资料存储在数据库中,然后根据前文的方法以脚型分类的正常尺码相比较而计算偏好Pref数据。
[0206] 首先,图17给出虚拟鞋店商业模式下,本发明的预测模型根据购买者脚的3D脚型数据来匹配鞋的尺码的流程:
[0207] 步骤1710:客户在网上选购鞋及选择鞋款;
[0208] 步骤1720:根据选择的鞋款从数据库中获取鞋楦的3D模型数据,并确定鞋款大类;
[0209] 步骤1730:从数据库中获取客户的3D脚型数据;
[0210] 步骤1740:从数据库中获取客户的偏好数据;
[0211] 步骤1750:将鞋楦3D模型数据、3D脚型数据及客户偏好数据排列及输入预测引擎;
[0212] 步骤1760:得到根据鞋楦3D模型数据、3D脚型数据及偏好数据的鞋尺码;
[0213] 步骤1770:根据鞋尺码将客户选购的鞋款提供给客户。
[0214] 如果客户具有ID,则系统认为其为老顾客。当客户不具有ID,则系统认为其是新顾客。在一个情景,当客户没有偏好资料的时候,系统会寻找该客户是否一个新客户,如该客户是新客户,即没有先前的购物记录,系统会假设客户的偏好是中性的。也就是说,在偏好数据的枚举值设定为1“紧”,2“正常”,3“松”的情形中,客户的偏好数据或向量是“正常”或“2”。
[0215] (2)、实体店使用模式
[0216] 在实体店中,对于老顾客,由于已经获得该顾客的脚3D模型以及个人偏好数据,当该顾客选择了想要的鞋款后,通过运行预测系统,可以得到关于鞋码的预测结果,请顾客试穿,如果顾客对穿着体验满意,则结帐离开,本次购买过程结束。
[0217] 对于新顾客,销售人员可以通过前述方法获得对象的脚3D模型,根据该鞋码请顾客试穿一些标准鞋型并询问其试穿感觉,以此获得个人偏好数据。当该新顾客选择了想要的鞋款后,通过运行预测系统,可以得到鞋码的预测结果,请顾客试穿,如果顾客对穿着体验满意,则结帐离开,本次购买过程结束。
[0218] 在另一个实施例,系统可以为客户根据客户的脚型而订造适合不同脚型的鞋,而大大提高鞋的合适度。在每一款鞋,除了标准鞋楦的鞋外,鞋店可根据客户需求及制造资源决定在标准鞋楦上制造多个为不同脚型而设的鞋楦,而每个为不同脚型而设的鞋楦将如标准鞋楦一样设有多个鞋码。由于人类脚掌的形状通常是不标准的,而人类的左右脚掌亦通常不是完全对称的,当左右脚可以根据适合度选择鞋楦时,这样可以为客户提供更合适的一双鞋。图18为实施本发明预测模型的系统,其中包括网站服务器、客户数据库、鞋楦数据库及配对服务器,配对服务器包括配对引擎,其中包括已实施的预测模块109。网站服务器是连接于互联网及/或内联网,及提供用户接口供客户直接或通过销售员上载3D脚型数据及客户偏好问卷的数据。鞋楦数据库是由鞋商控制的数据库,其中载有鞋商各类鞋款的标准鞋楦数据及不同尺码的数据。网站服务器的操作如下:
[0219] 1)登陆网站服务器。
[0220] 2)网站服务器将客户ID传送至客户数据库查询客户的3D脚型数据F及个人偏好数据Pref。
[0221] 3)输入要选择的鞋款w。
[0222] 4)网站服务器利用所选择的鞋款w向鞋楦数据库查询标准鞋楦数据Lw,并确定鞋款大类W。
[0223] 5)网站服务器将客户3D脚型数据F、个人偏好数据Pref及鞋楦数据Lw传送至配对服务器,配对服务器计算预测鞋码Sw。
[0224] 6)配对服务器将得出的鞋码结果Sw传送至网站服务器。
[0225] 7)网站服务器显示配对出的鞋码Sw。
[0226] 8)网站服务器接收客户鞋码信息后,将资料传送到生产部为客户制造或准备产品。
[0227] 图19示出可运作本发明预测鞋码的方法的系统19的一个实施例。
[0228] 该系统19至少包括存储器1901、输入界面1902、输出界面1903和处理器1904。处理器1904由CPU处理器等构成。在另一个实施例系统19,也包括操作部1905、显示器1906,网络界面1907。
[0229] 输入界面1902是用以提供数据输入的界面,该经界面输入的数据可以包括脚的3D数据和鞋的3D数据。输出界面1903是用以将数据如预测结果及特征数据等输出的界面。操作部1905是键盘鼠标等其他操作装置;显示器1906是公知的显示装置,如液晶显示器;网络界面1907是可以将数据从网络输入及输出的界面,如有线或无线网络。存储器1901是由ROM、RAM、硬盘、非易失性储存器等构成,用以存储经运算的数据及具足够的容量对数据进行运算。同时,存储器亦存储如前所述可运作的数据输入模块101、特征提取模块103、偏好分类模块105、偏好判定模块106、预测模型训练模块107以及预测模块109。
[0230] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁盘或者光盘等各种可以存储程序代码的介质。
[0231] 以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
相关专利内容
标题 发布/更新时间 阅读量
鞋楦 2020-05-11 832
木塑质鞋楦及其制造方法 2020-05-13 706
一种鞋楦鞋撑加工用抛光装置 2020-05-12 677
三节式气囊鞋楦 2020-05-15 349
后跟可调式鞋楦 2020-05-15 889
分体式鞋楦 2020-05-12 377
鞋楦结构 2020-05-11 782
电磁拼接式鞋楦 2020-05-14 539
鞋楦结构 2020-05-11 210
一种凹槽式鞋楦 2020-05-14 197
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈