1.一种基于三维人脸模型的脸型分辨方法,其特征在于,包括以下步骤:(1)采集人脸图片样本并进行预处理,将预处理完的图片样本进行脸型标注,标注为圆脸、方脸、长脸和鹅蛋脸;
(2)利用PRNet‑master的方法对经过脸型标注后的人脸图片样本进行三维建模,生成三维模型文件;
(3)对上述人脸图片进行面部关键点的确定;
(4)读取三维模型文件,将二维人脸图片上的关键点映射到三维模型中,确定三维模型中的关键点位置;
(5)根据三维模型中的关键点位置,计算面部长度、面部宽度、下颚宽度,进一步计算每张图片中的脸型对应的面部长宽比、下颚与面部宽度比、以及下颚角度,作为基础数据保存;
(6)选择待测试的人脸图片,经过预处理后,重复上述步骤(2),(3)和步骤(4),并计算其面部长宽比、下颚与面部宽度比以及下颚角度,与基础数据进行KNN聚类后确定目标脸型;具体过程为:
首先将圆脸和方脸归为一大类,长脸和鹅蛋脸归为另一大类,根据待测试人脸图片得到的面部长宽比、下颚与面部宽度比与基础数据中的对应参数之间的距离,确定是属于哪一大类;再根据下颚角度进一步确定属于当前大类中的哪一种脸型。
2.根据权利要求1所述的基于三维人脸模型的脸型分辨方法,其特征在于,步骤(1)中,所述预处理的具体步骤为:
(1‑1)对人脸图片进行颜色空间转换,得到灰度图像;
(1‑2)对得到的灰度图像进行中值滤波,消除孤立的噪声点;
(1‑3)将图片缩放到500×500像素以下。
3.根据权利要求1所述的基于三维人脸模型的脸型分辨方法,其特征在于,步骤(3)的具体步骤为:采用dlib库对二维人脸图片进行面部68个关键点的确定,并根据鼻梁上的点、鼻尖上的点以及下巴上的点做拟合直线,将拟合直线延长到头顶,选取相邻像素点差值最大的点作为额头的顶点。
4.根据权利要求1所述的基于三维人脸模型的脸型分辨方法,其特征在于,步骤(4)中,将二维人脸图片上的关键点映射到三维模型中的方式为:将二维平面的68个关键点坐标(X2d,Y2d)和额头的顶点坐标(Xtop,Ytop)与三维模型中的三维坐标(X3d,Y3d,Z3d)进行对比,计算与二维平面关键点距离最接近的点作为其在三维模型中关键点的位置。
5.根据权利要求1所述的基于三维人脸模型的脸型分辨方法,其特征在于,步骤(5)中,所述面部长度为额头上的顶点和下巴对应点的距离;所述面部宽度为左耳耳尖对应点和右耳耳尖对应点的距离;所述下颚宽度为左边下颚对应点和右边下颚对应点的距离;所述下颚角度为左下颚角度与右下颚角度的平均值,其中左下颚角度是由左边下颚对应点与左耳耳尖对应点、下巴对应点构成的角度。