APP下载

一种基于个性化需求的智能配镜算法研究

2019-07-15侯增选王军骅张迪婧吴忠得

计算机应用与软件 2019年7期
关键词:配镜眼镜个性化

侯增选 王军骅 黄 磊 张迪婧 吴忠得

(大连理工大学机械工程学院 辽宁 大连 116024)

0 引 言

随着互联网的迅猛发展及个性化定制文化的流行,以互联网为依托的智能配镜新零售模式日新月著,越来越多的消费者期望根据个人特点定制出适合自己的产品。眼镜作为日常消费品,与人们生活关系密切,而目前消费者购买眼镜大多在专业眼镜店或医院进行购买,款式种类有限,且在佩戴舒适度方面有待提升。因而智能配镜逐渐为人熟知,根据用户偏好及用户面部特征智能匹配出适合的眼镜也逐渐被消费者所接受。

在基于用户个性化需求进行个性化定制及智能匹配方面,相关企业及学者均作了大量的研究工作。蔡铭等[1]基于语义网技术建立了用户检索需求与网络制造资源智能匹配模型,开发了Swirrsm智能检索系统。周宏明等[2]根据用户面部特征与眼镜特征参数之间的映射关系,建立了基于用户面部特征的智能匹配算法。何保峰等[3]以框架方式进行应急预案存储,并基于矢量空间模型建立智能匹配算法模型,在应急预案匹配领域具有较好的应用前景。刘雨东[4]基于人脸面部特征信息和用户属性信息开发了眼镜产品的个性化定制系统。Ma等[5]提出了一种基于累积前景理论的图像匹配智能评估方法,有效地解决了图像匹配评估问题。李新等[6]建立了云制造资源与加工任务的统一本体模型之间的智能匹配算法,为云制造环境下的加工路径优化奠定了基础。盛步云等[7]基于语义搜索技术建立了制造业服务资源库和服务需求之间的智能匹配算法,开发了基于云制造服务平台的智能匹配引擎。Song等[8]基于数据标签和策略规则表达提出了电力业务数据的智能匹配滤波算法,极大提高了识别和过滤电力业务系统的敏感数据效率和准确率。Liu等[9]利用图形挖掘技术来研究特定药物的匹配规则,建立了药物自动匹配方法。

本文基于用户属性信息、用户偏好信息及用户面部特征信息建立了用户个性化需求信息与眼镜模型库之间的智能匹配算法,并将智能匹配流程划分为眼镜模型库检索、眼镜框型匹配、面部参数匹配、优化调整四个阶段。基于该智能匹配算法采用C++编程语言基于Qt、Open Inventor等工具开发了智能配镜系统。并在该系统平台下将本文所述智能匹配算法与关键词匹配算法进行对比,验证了本文所述智能匹配算法的有效性,提高了用户个性化需求信息与眼镜模型库之间的匹配精度和效率。

1 智能匹配模型建立

智能配镜系统是通过建立用户个性化需求信息数据模型与眼镜模型库之间的智能匹配模型来实现用户智能选型配镜的。用户个性化需求信息数据模型由用户属性信息、用户偏好信息及用户面部特征信息构成;眼镜模型库是基于UG平台开发的眼镜参数化设计系统来建立的。以此搭建用户个性化需求信息数据模型与眼镜模型库之间的智能匹配模型。

1.1 用户需求信息数据模型与眼镜模型库建立

用户个性化需求信息具体划分为:用户属性信息、用户偏好信息、用户面部特征信息。

(1) 用户属性信息(AttInformation):AttInformation={gender, glaType},由性别、配镜类型两个元素组成。智能配镜系统根据用户属性信息匹配到眼镜模型库中的某一子类模型库。

(2) 用户偏好信息(PreInformation):PreInformation={fraType, fraColor, fraMaterial},由镜架类型、镜架颜色、镜架材质组成。系统根据用户偏好信息匹配出对应子类模型库中适宜的眼镜款式,并按优先级在三维可视化平台上显示。

(3) 用户面部特征信息(FeaInformation):FeaInformation={a, b, c, d, e, α, β},由耳根上点间距(a)、鼻托贴合点间距(b)、鼻宽(c)、鼻高(d)、侧面间距(e)、眼眶前倾角(α)、鼻基准角(β)组成。系统根据用户面部特征信息对眼镜列表中每一款眼镜进行面部参数匹配,匹配出适合于该面部特征的眼镜。

用户个性化需求信息数据模型如图1所示。

图1 用户个性化需求信息数据模型

眼镜模型库的建立是基于UG平台开发的眼镜参数化设计系统,该系统本文不作细述,眼镜模型库组织结构如图2所示。根据眼镜架规格尺寸[10],应用该眼镜参数化设计系统将每一款式的眼镜定制为三种不同的尺寸型号,为实现基于用户面部特征的面部参数匹配过程提供依据;并将定制的眼镜模型统一将prt格式转为wrl格式,方便在智能配镜系统平台上进行展示。

1.2 智能匹配模型建立

为实现基于用户个性化需求的智能配镜的功能,构建了用户个性化需求信息与眼镜模型库之间的智能匹配模型,如图3所示。

具体智能匹配流程划分如下:

(1) 眼镜模型库检索:为便于眼镜模型库的扩展建立了基于DFS的眼镜模型库检索算法。基于用户属性信息(性别、所配眼镜类型)匹配到眼镜模型库中的某一具体子类眼镜模型库。

(2) 眼镜框型匹配:建立基于语义相似度的眼镜框型匹配算法,根据用户偏好信息计算对应子类眼镜模型库中每一款眼镜的匹配相似度值,按相似度值大小输出眼镜推荐列表。

(3) 面部参数匹配:建立面部参数匹配算法模型,根据用户面部特征信息计算对应眼镜推荐列表中每款眼镜三种不同型号的匹配度值,更新输出匹配到具体型号的眼镜推荐列表。

(4) 优化调整:根据用户偏好影响因子及用户面部特征影响因子对更新后的眼镜推荐列表进行权重计算,输出最优眼镜推荐列表。

2 智能配镜算法

2.1 眼镜模型库检索

为便于眼镜模型库的扩展,基于用户属性信息建立了优化DFS遍历检索算法,实现具体眼镜类型库的检索过程,算法如图4所示。

图4 眼镜模型库检索算法模型

眼镜模型库检索环节根据用户的性别、配镜类型信息实现对子类模型库的精确检索,并将检索到匹配的子类模型库节点信息返回给眼镜框型匹配环节。该算法优势在于无需考虑眼镜模型库组织结构的复杂性,实现对子类模型库节点的精准高效检索。

2.2 眼镜框型匹配

基于Jaccard语义相似度计算方法及Wu&Palmer语义相似度计算方法建立眼镜框型匹配算法,匹配过程中分别计算单个关键词的Jaccard相似度值及Wu&Palmer语义相似度值,进而计算单个关键词匹配相似度值,最后计算出镜架类型、镜架颜色、镜架材质综合相似度值;在子类眼镜模型库中按综合相似度值输出对应的眼镜推荐列表。

(1) 根据Jaccard相似度计算方法[11-12],给出以下计算公式:

(1)

式中:fea(key)为用户偏好信息关键词特征库,fea(obj)为眼镜本体特征库,|cnt_fea[(fea(key))∩(fea(obj))]|为关键词特征库与眼镜本体特征库交集特征数量,|cnt_fea[(fea(key))∪(fea(obj))]|为关键词特征库与眼镜本体特征库并集特征数量。

(2) 根据Wu&Palmer语义相似度计算方法[13-14],给出以下计算公式:

(2)

式中:lso(key,obj)为key和obj公共祖先节点,w_depth(lso(key,obj))为key和obj公共祖先节点所处的深度,w_len(key,obj)为关键词key和obj之间的最短路径长度。

(3) 根据Jaccard语义相似度计算方法及Wu&Palmer语义相似度计算方法建立单关键词匹配相似度计算公式:

sim_sin(key,obj)=ε1×sim_con(key,obj)+

ε2×sim_sem(key,obj)

(3)

式中:ε1、ε2为调节因子,ε1、ε2均大于0且ε1+ε2=1。

(4) 根据镜架类型、镜架颜色、镜架材质计算眼镜框型匹配综合相似度,计算公式如下:

sim(P,G)=α×sim_sin(keytype,objtype)+

β×sim_sin(keycolor,objcolor)+

γ×sim_sin(keymaterial,objmaterial)

(4)

式中:P、G分别为用户偏好信息、眼镜本体特征信息;α、β、γ分别为镜架类型、镜架颜色、镜架材质影响因子,α、β、γ均大于0且α+β+γ=1,可以通过用户偏好分析设置α、β、γ占比。

根据用户偏好信息通过该眼镜框型匹配算法计算子类模型库中每款眼镜相似度值,并输出最优眼镜款式到眼镜推荐列表,为面部参数匹配过程提供依据。

2.3 面部参数匹配

通过计算用户面部特征信息与眼镜推荐列表中每款眼镜三种不同型号之间的匹配度值,输出匹配到具体眼镜型号的眼镜推荐列表。面部参数匹配算法过程如下:

(1) 分别计算与眼镜鼻梁、镜框、镜腿设计相关的面部特征信息(Fnos,Ffra,Fleg)与三种不同眼镜型号之间的匹配度值。

与鼻梁、镜框、镜腿设计相关的面部特征与某一具体眼镜型号之间的匹配度值计算公式依次如下:

(5)

(2) 计算用户面部特征信息(F)与三种不同眼镜型号之间的综合面部参数匹配度值:

mac_par(F,Gi)=α×mac_nos(Fnos,Gi)+

β×mac_fra(Ffra,Gi)+

γ×mac_leg(Fleg,Gi)

(6)

式中:α、β、γ分别为鼻梁、镜框、镜腿的影响因子,α、β、γ均大于0,α+β+γ=1。

(3) 计算出与用户面部特征信息匹配最优的眼镜型号:

Gopt=max{mac_par(F,G1),mac_par(F,G2),

mac_par(F,G3)}

(7)

根据用户面部特征信息通过该面部参数匹配算法将匹配到具体眼镜型号输出到眼镜推荐列表,以便进行优化调整。

2.4 优化调整

根据用户偏好影响因子(ε1)与用户面部特征影响因子(ε2)计算面部参数匹配所得的眼镜推荐列表每款眼镜的综合匹配度值:

match(Gtype)=ε1×sim_fea(P,Gtype)+ε2×

mac_par(F,Gtype)

(8)

式中:Gtype为眼镜推荐列表中某一具体型号的眼镜;P、F分别为用户偏好信息、用户面部特征信息;ε1、ε2均大于0且ε1+ε2=1,由用户设置占比。

根据综合匹配度值对眼镜推荐列表中的眼镜进行优化排序,输出最优眼镜推荐列表。

3 仿真与验证

为验证本文所述智能匹配算法在智能配镜过程中的有效性,基于该智能匹配算法开发了智能配镜系统,该智能配镜系统能够根据用户个性化需求信息实现智能配镜功能。并与关键词匹配算法进行对比,以匹配精度及匹配范围作为算法评估标准。

3.1 实验设计

本实验所使用的眼镜模型数据集是基于UG/Open API二次开发工具开发的眼镜参数化设计系统所建立的眼镜模型库;模型库共包含四种眼镜类型库,每种眼镜类型库共包含十种款式的眼镜模型,每款眼镜包含三种不同型号的眼镜模型。用户面部特征信息由面部三维扫描模型唯一确定,如图5所示;用户需求信息如表1所示。

图5 面部三维模型

特征类别个性化需求信息关键词信息性别男男配镜类型光学镜光学镜镜架类型全框全框镜架颜色银灰色银灰色镜架材质金属金属耳根上点间距165.375 21 mm———鼻托贴合点间距17.433 98 mm———鼻宽41.514 65 mm———鼻高46.511 30 mm———侧面间距82.354 88 mm———眼眶前倾角25.002 82°———鼻基准角29.317 39°———

3.2 验证结果分析

在同一智能配镜系统平台下,分别对本文所述智能匹配算法与关键词匹配算法进行测试,以匹配精度及匹配范围作为判断依据,表2为实验统计数据。

表2 实验统计数据

相对于关键词匹配算法,本文所述智能匹配算法能够精确匹配到眼镜模型库中的对应具体眼镜型号,因此大幅减小了眼镜匹配范围,匹配数量仅为关键词匹配算法的1/3,避免了重复匹配相同款式不同型号眼镜的情况。智能配镜系统匹配结果如图6所示,此处仅将完全匹配的眼镜款式列出。

图6 眼镜推荐列表

4 结 语

为实现基于用户个性化需求信息的智能配镜功能,构建了用户个性化需求信息数据模型,搭建了基于UG平台的眼镜参数化设计系统眼镜模型库,并建立了二者之间的智能匹配算法。

应用该智能匹配算法,基于Qt、Open Inventor等工具开发了智能配镜系统,并在该系统平台下与关键词匹配算法进行了对比。实验结果表明本文所述智能配镜算法能够有效实现用户个性化需求与眼镜模型库之间的智能匹配,为实现基于用户个性化需求的眼镜个性化定制奠定了基础。

猜你喜欢

配镜眼镜个性化
眼镜布不是用来擦眼镜的
一种融合PageRank和PersonalRank的多层个性化推荐算法
个性化护理干预在老年带状疱疹中的应用效果
坚持个性化的写作
验光度数≠配镜处方
儿童屈光不正特点及配镜处方分析
从天而降的眼镜
神奇的眼镜
同桌宝贝