基于神经网络和Unity的智能发型推荐方法、装置及系统制造方法及图纸

技术编号:26531091 阅读:50 留言:0更新日期:2020-12-01 14:11
本发明专利技术公开了一种基于神经网络和Unity的智能发型推荐方法、装置及系统,该方法包括下述步骤:建立脸部特征与发型属性映射表;构建数据集;根据不同面部特征对数据集内部图片进行不同的预处理操作;训练对应的神经网络,完成对应面部特征的分类预测;进行面部特征分析,根据映射表给出推荐发型的属性;建立发型库,并为每个发型标注发型属性,在发型库检索得到推荐发型编号;根据关键点坐标生成用户脸部3D模型;用户脸部3D模型与指定编号的多个发型渲染合成3D发型推荐效果展示模型,接收用户面部图片进行发型展示效果预览。本发明专利技术实现了为用户提供智能发型推荐服务,并以3D模型的表现形式实现试发效果展示。

【技术实现步骤摘要】
基于神经网络和Unity的智能发型推荐方法、装置及系统
本专利技术涉及发型智能推荐
,具体涉及一种基于神经网络和Unity的智能发型推荐方法、装置及系统。
技术介绍
在传统方式上,人们考虑发型时,主要通过观看图像、影视资料或者询问造型师等方式,这不仅费时费力,而且效果可能不理想,甚至出现造型被毁而无法恢复的问题。另一方面,社交恐惧人群对传统方式也是难以接受的,原因在于他们无法自如地同造型师沟通或者对在公共场合尝试不同造型有所抵触。而通过手机软件进行个人造型效果的预览和选择,可以让用户自由选择预览效果,既便捷又不需要因为改变发型的不可逆性而承担原造型被毁的风险,同时也能够为社交恐惧者或者类社交恐惧者提供发型设计与选择的平台,因此具有很大的实用意义。现有市场下的软件如发型屋、ihairstyle、换发型相机等,存在整体效果不真实,部分发型的放置过于突兀等问题。更重要的是,这两类软件只能提供部分素材让用户自己选择,而没有智能推荐适合用户的造型的功能,其展示结果也仅限于用户的正脸,无法展示造型的整体效果,对不熟悉造型设计的用户而言体验效果较差,无法满足其个性化的需求。现有技术中提供一种基于WebGL和人脸重建的虚拟试发实现方法,该方法存在以下问题:(1)识别率低,该方法将脸型分为心形脸、方形脸、长方形脸、椭圆脸、圆形脸,计划采用卷积神经网络识别脸型。但是判断脸型只需要识别脸部的轮廓,与五官,背景没有任何联系。而将整张图片的所有信息囫囵吞枣地作为卷积神经网络的输入,会给卷积神经网络带来极大的干扰。也就是说神经网络很难“知道”操作者到底希望他识别哪些特征。(2)标准单一。该方法仅根据脸型和发型的映射关系推荐发型,而发型的选择除了与脸型有关,还与额头和中庭的特征有关。(3)便利性差,市场应用前景不明朗。该方法基于WebGL在网页实现虚拟试发的服务。而当今社会人们使用电脑主要的应用在于科研、办公和打游戏,像发型推荐这一类满足实际生活需求的应用基本都是在手机上实现的。因此该方法市场应用前景不明朗。(4)缺乏数据集。该方法计划利用网络爬虫爬取相关数据,制作数据集用于从头开始训练卷积神经网络。然而在实际工程实践中,其可行性并不高。原因在于:1、要训练一个多分类的网络,数据集至少要到万的数量级。而数据集的制作不仅包括爬取照片,还包括剪切人脸一类预处理工作,且需要人为为它们打标签,工作量相当之大且无法保证数据集质量。2、即便数据集制作完成,要让神经网络识别出脸型这种深层特征,从头开始训练神经网络得到的结果依旧不理想。
技术实现思路
为了克服现有技术存在的缺陷与不足,本专利技术提供一种基于神经网络和Unity的智能发型推荐方法、装置及系统,实现了为用户提供智能发型推荐服务,并以3D模型的表现形式实现试发效果展示。为了达到上述目的,本专利技术采用以下技术方案:本专利技术提供一种基于神经网络和Unity的智能发型推荐方法,包括下述步骤:收集面部特征与发型属性的映射关系并建立脸部特征与发型属性映射表,将面部特征拆分为多个二分类指标;构建用于面部特征提取的数据集;根据不同面部特征对数据集内部图片进行不同的预处理操作,所述预处理操作采用第一预处理操作、第二预处理操作或第三预处理操作;所述第一预处理操作基于人脸关键点检测模型进行面部边缘轮廓关键点提取,所述第二预处理操作基于Yolov3网络进行额头检测,所述第三预处理操作基于数据增强扩充数据集;输入预处理操作后的数据集,训练对应的神经网络,完成对应面部特征的分类预测;以人脸关键点检测模型作为补充,进行面部特征分析,再根据脸部特征与发型属性映射表给出推荐发型的属性;建立发型库,并为每个发型进行发型属性的标注;根据所述推荐发型的属性,在发型库中检索,得到推荐发型的编号;提取用户面部正面图片关键点坐标,根据关键点坐标生成用户脸部3D模型;在Unity3D框架下调用用户脸部3D模型作为第一组件,从建立的发型库中调用指定编号的多个发型作为第二组件,将第一组件和第二组件进行渲染合成,生成供用户选择的3D发型推荐效果展示模型;接收用户面部图片,进行用户面部特征分析并获得推荐发型编号,所述3D发型推荐效果展示模型进行发型展示效果预览。作为优选的技术方案,所述面部特征拆分为多个二分类指标,包括:第一指标、第二指标、第三指标、第四指标、第五指标、第六指标、第七指标和第八指标;所述第一指标用于区分额头长短,所述第二指标用于区分额头宽窄,所述第三指标用于区分中庭长短,所述第四指标用于区分人脸长短,所述第五指标用于区分人脸宽窄,所述第六指标用于区分颌骨是否突出,所述第七指标用于区分眼间距是否过宽,所述第八指标用于区分是否为椭圆脸。作为优选的技术方案,所述第一预处理操作基于人脸关键点检测模型进行面部边缘轮廓关键点提取,并将关键点的坐标集合展平为一维向量,作为训练集。作为优选的技术方案,所述第二预处理操作基于Yolov3网络进行额头检测,具体步骤包括:筛选出数据集内裸露额头的图片组成额头检测器的数据集,并用图片标注软件对图片进行标注;加载YOLOv3神经网络预训练权重;经过图像预处理后的数据集在YOLOv3预训练的网络上训练得到额头检测器;采用训练好的额头检测器裁剪出额头区域,以额头照片作为神经网络的输入。作为优选的技术方案,所述第三预处理操作基于数据增强扩充数据集,所述数据增强的具体步骤包括:小角度旋转、平面翻转、图片平移、亮度调整和对比度拉伸的图片处理操作。作为优选的技术方案,所述输入预处理操作后的数据集,训练对应的神经网络,具体步骤包括:所述第一预处理操作后的数据集基于MLPC多层感知机神经网络模型进行脸部属性预测;所述第二预处理操作与第三预处理操作后的数据集在VGG16卷积神经网络上进行迁移学习,训练卷积神经网络,具体步骤包括:删除VGG顶层的分类器和全连接层,在顶层之上级联一层全连接层和分类器;冻结整个VGG16模型,端到端地训练全连接层和分类器;分类器训练完成后视显卡性能和数据集大小选择性解冻VGG16最上方的某几层卷积层,再次训练网络,对VGG16后几层卷积层的参数进行微调。作为优选的技术方案,所述生成供用户选择的3D发型推荐效果展示模型,具体步骤包括:搭建3D展示环境,同时预设了发型在3D空间内贴合头部的效果;在Unity3D框架下基于图标控件实现发型自由切换;在MainCamera组件里嵌入脚本程序,实现手指拖拽旋转视角。本专利技术还提供一种基于神经网络和Unity的智能发型推荐装置,包括:映射表构建模块、数据集构建模块、图像预处理模块、分类预测模块、面部特征分析模块、发型库构建模块、发型编号输出模块、用户脸部3D模型构建模块、3D发型推荐效果展示模型构建模块和效果展示模块;所述映射表构建模块用于收集面部特征与发型属性的映射关系并建立脸部特征与发型属性映本文档来自技高网
...

【技术保护点】
1.一种基于神经网络和Unity的智能发型推荐方法,其特征在于,包括下述步骤:/n收集面部特征与发型属性的映射关系并建立脸部特征与发型属性映射表,将面部特征拆分为多个二分类指标;/n构建用于面部特征提取的数据集;/n根据不同面部特征对数据集内部图片进行不同的预处理操作,所述预处理操作采用第一预处理操作、第二预处理操作或第三预处理操作;/n所述第一预处理操作基于人脸关键点检测模型进行面部边缘轮廓关键点提取,所述第二预处理操作基于Yolo v3网络进行额头检测,所述第三预处理操作基于数据增强扩充数据集;/n输入预处理操作后的数据集,训练对应的神经网络,完成对应面部特征的分类预测;/n以人脸关键点检测模型作为补充,进行面部特征分析,再根据脸部特征与发型属性映射表给出推荐发型的属性;/n建立发型库,并为每个发型进行发型属性的标注;/n根据所述推荐发型的属性,在发型库中检索,得到推荐发型的编号;/n提取用户面部正面图片关键点坐标,根据关键点坐标生成用户脸部3D模型;/n在Unity 3D框架下调用用户脸部3D模型作为第一组件,从建立的发型库中调用指定编号的多个发型作为第二组件,将第一组件和第二组件进行渲染合成,生成供用户选择的3D发型推荐效果展示模型;/n接收用户面部图片,进行用户面部特征分析并获得推荐发型编号,所述3D发型推荐效果展示模型进行发型展示效果预览。/n...

【技术特征摘要】
1.一种基于神经网络和Unity的智能发型推荐方法,其特征在于,包括下述步骤:
收集面部特征与发型属性的映射关系并建立脸部特征与发型属性映射表,将面部特征拆分为多个二分类指标;
构建用于面部特征提取的数据集;
根据不同面部特征对数据集内部图片进行不同的预处理操作,所述预处理操作采用第一预处理操作、第二预处理操作或第三预处理操作;
所述第一预处理操作基于人脸关键点检测模型进行面部边缘轮廓关键点提取,所述第二预处理操作基于Yolov3网络进行额头检测,所述第三预处理操作基于数据增强扩充数据集;
输入预处理操作后的数据集,训练对应的神经网络,完成对应面部特征的分类预测;
以人脸关键点检测模型作为补充,进行面部特征分析,再根据脸部特征与发型属性映射表给出推荐发型的属性;
建立发型库,并为每个发型进行发型属性的标注;
根据所述推荐发型的属性,在发型库中检索,得到推荐发型的编号;
提取用户面部正面图片关键点坐标,根据关键点坐标生成用户脸部3D模型;
在Unity3D框架下调用用户脸部3D模型作为第一组件,从建立的发型库中调用指定编号的多个发型作为第二组件,将第一组件和第二组件进行渲染合成,生成供用户选择的3D发型推荐效果展示模型;
接收用户面部图片,进行用户面部特征分析并获得推荐发型编号,所述3D发型推荐效果展示模型进行发型展示效果预览。


2.根据权利要求1所述的基于神经网络和Unity的智能发型推荐方法,其特征在于,所述面部特征拆分为多个二分类指标,包括:第一指标、第二指标、第三指标、第四指标、第五指标、第六指标、第七指标和第八指标;
所述第一指标用于区分额头长短,所述第二指标用于区分额头宽窄,所述第三指标用于区分中庭长短,所述第四指标用于区分人脸长短,所述第五指标用于区分人脸宽窄,所述第六指标用于区分颌骨是否突出,所述第七指标用于区分眼间距是否过宽,所述第八指标用于区分是否为椭圆脸。


3.根据权利要求1所述的基于神经网络和Unity的智能发型推荐方法,其特征在于,所述第一预处理操作基于人脸关键点检测模型进行面部边缘轮廓关键点提取,并将关键点的坐标集合展平为一维向量,作为训练集。


4.根据权利要求1所述的基于神经网络和Unity的智能发型推荐方法,其特征在于,所述第二预处理操作基于Yolov3网络进行额头检测,具体步骤包括:
筛选出数据集内裸露额头的图片组成额头检测器的数据集,并用图片标注软件对图片进行标注;
加载YOLOv3神经网络预训练权重;
经过图像预处理后的数据集在YOLOv3预训练的网络上训练得到额头检测器;
采用训练好的额头检测器裁剪出额头区域,以额头照片作为神经网络的输入。


5.根据权利要求1所述的基于神经网络和Unity的智能发型推荐方法,其特征在于,所述第三预处理操作基于数据增强扩充数据集,所述数据增强的具体步骤包括:小角度旋转、平面翻转、图片平移、亮度调整和对比度拉伸的图片处理操作。


6.根据权利要求1所述的基于神经网络和Unity的智能发型推荐方法,其特征在于,所述输入预处理操作后的数据集,训练对应的神经网络,具体步骤包括:
所述第一预处理操作后的数据集基于MLPC多层感知机神经网络模型进行脸部属性预测;
所述第二预处...

【专利技术属性】
技术研发人员:唐杰宋弘健帖千枫肖鸿昭黄翊琳薛又天
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1