基于VGG16神经网络的护肤化妆的便携系统

2020-03-24 10:53潘鹏伟
理论与创新 2020年24期
关键词:肤质卷积人脸

潘鹏伟

【摘  要】随着时代的快速发展,人们愈发关注自己的皮肤健康状况,如何客观、便捷地评价人脸肤质情况成了人们关心的问题,而便携式的肤质评测系统就极具前景。该项目建立皮肤肤质检测系统,使用CelebA人脸数据集,利用Dlib库进行人脸分割后,使用基于改进的VGG16的神经网络对进一步分割成块的皮肤图片进行肌龄、出油情况、细纹、痘痘、黑头、毛孔等问题的评估。同时刻画面部特征,根据自身特征加载相应的五官描述。最终使用手机端APP实现人机交互。

【关键词】人脸皮肤肤质检测;VGG16神经网络

1.问题背景

随着时代的发展,人们越来越重视皮肤保养,如何更好地保养皮肤,已经成为众多人关注的问题。针对目前市场上所存在的护肤APP都有一个共同的痛点,给用户推荐各类的化妆品,虽然可以和已用过的用户进行交流讨论,但是很多用户也还是不太知道用在自己身上的效果,例如某一个口红色号在别人身上的确很好看,自己买来用可能会显得比较老气之类的,不太适合自己。因此,我们在此基础上再次进行改进与开发。

2.模型建立

2.1模型综述

传统的皮肤肤质检测算法有:基于纹理特征、颜色特征和形状特征的相应算法,它们各有优缺,而深度学习算法在人脸分割方面的实现效果显著,可迁移地将其应用至本项目,本项目采用VGG16的神经网络算法进行皮肤识别,其训练及识别流程如图1。

利用Dlib库对人脸进行不规则分割,先用dlib等打点工具把人脸最外层的landmark点打出来,然后利用opencv的convexhull得到凸包然后就可以抠出人脸区域,得到掩模后,将mask作为α通道,来控制图片区域的透明度,得到4通道的人脸分割图片。然后将该图片进行人脸对齐,计算两眼连线与水平线的夹角,然后通过角度得到对应的旋转矩阵。对图片进行相应的变换。将人脸分割并对其后的图片划分成一定数量的小块,该项目中采取100等分,将皮肤小块放入VGG16神经网络进行识别,给出判定结果。

2.2 VGG16基本模型

本项目使用基于卷积神经网络的目标检测算法。该算法主要利用卷积神经网络提取图像特征。其对于图像处理有极强的鲁棒性和泛化能力。与传统的肤质检测算法相比,卷积神经网络算法能够更好地描述目标特征。本项目采用VGG16网络结构,利用ReLu函数进行线性变换。VGG16网络层数为16,由13个卷积层和3个全连接层组成。该方法结构相对简单,在图像识别中具有很高的准确性。因此本系统将VGG16网络作为检测模型。

输入一幅100*100皮肤图像,通过卷积层使用滤波器进行卷积,为防止梯度消失的问题,使用了ReLu函数进行激活操作,保持模型的收敛速度维持在稳定状态,然后通过池化层对特征进行降维。经过一系列卷积、非线性和池化操作,特征被发送到全连接层。全连接层的前两层有4096个维度,最后一层维度就是皮肤瑕疵类型。

2.3基于VGG16的肤质检测系统设计

本项目调整VGG16网络模型中的训练集并对其部分参数进行调整,以实现其更优更便捷地完成人脸肤质检测。

(1)本项目模型训练集为celebA开源人脸图像集,方便数据的收集与采用。

(2)本项目是将1630* 1220大小的人脸皮肤图像切割成100个163* 122大小的小图像块的,对小图像块进行分类。在预处理时,将小图像块缩小到100*100大小,VGG16网络基本模型支持224*224大小的图像,所以,本项目将原VGG 16网络的输入层改为支持小图像块大小。

(3)本项目需要识别的目标类别为肌龄、出油情况、细纹、痘痘、黑头、毛孔,共6类因此将表示类别数值的“classes”取值为6。

2.4手机端APP设计

基于该模型设计并实现了手机端应用软件,采用自底向上的开发方式,从数据库出发,便于控制和管理项目整体。采用前后端分离技术,针对前端:本项目选用vant作为框架,简单构建优化,采用NPM管理包,利用node+webpack打包,之后使用JS/CSS模块化。针对后端:首先分析业务逻辑,建立MySQL数据库。后端框架采用springboot集成mybatis。接口采用Restful风格,Dao层和PO层使用mybatis逆向工程自动生成。接口文档采用swagger技術自动生成。开发完成后打成jar包发布在服务器上。加上拍照试妆的功能,能够帮助用户更加便利地使用该APP实现更全面的功能。

3.模型结果

针对当前不同年龄段的人需要测肤以及保养皮肤的情况,支持用户通过手机自拍即可全面了解自己的肤质情况。

皮肤分析分为肌龄、出油情况、细纹、痘痘、黑头、毛孔。出油情况的评判标准为毛孔大小及数量,且可给出综合得分情况。AI识别的准确率已经可以高达95%。

面部特征可智能识别性别,根据自身特征加载五官描述。

4.模型评价

VGG16神经网络模型对于人脸皮肤瑕疵的有很好的检测效果。AI识别的准确率已经可以达到95%。基于手机端APP极大地提高了项目的便携性,项目推广性强,适用性广。但是由于选取的训练数据集的皮肤瑕疵覆盖情况不全面,较真实皮肤情况的复杂性而言,无法完全显示出某些瑕疵情况所有的表现形式,导致模型检测效果会有一定程度的偏差;选取的肌肤刻画指标的维度有限,最终呈现的皮肤瑕疵检测的完整性一般。

参考文献

[1]张景源. 便携式人脸肤质检测与评价系统的设计与实现[D].武汉理工大学,2015.

[2]刘兆丰.Dlib在人脸识别技术中的运用[J].电子制作,2020(21):39-41+7.

[3]胡伏原,李林燕,尚欣茹,沈军宇,戴永良.基于卷积神经网络的目标检测算法综述[J].苏州科技大学学报(自然科学版),2020,37(02):1-10+25.

[4] Liu Z, Luo P, Wang X, et al. Deep learning face attributes in the wild[C]. Proceedings of the IEEE international conference on computer vision. 2015: 3730-3738.https://arxiv.org/abs/1411.7766.

[5]黄舒婷. 人脸皮肤瑕疵检测与评价系统[D].西安电子科技大学,2019.

基金项目:大创名称:基于改进VGG16神经网络和DeepID的AI护肤化妆系统 编号:202010058045,该文章属于大创项目资助。

天津工业大学计算机科学与技术学院    天津    300000

猜你喜欢
肤质卷积人脸
基于图像处理与卷积神经网络的零件识别
玻璃窗上的人脸
基于全卷积神经网络的变压器故障诊断
基于深度卷积网络与空洞卷积融合的人群计数
智力考场:有趣的图片测试
季节交替
卷积神经网络概述
秋冬三类迷人妆效完全解答
“领家系”可爱脸VS“高冷系”美人脸
防晒防护