分享
一种3D眼镜虚拟试戴系统的实现_王晓锋.pdf
下载文档

ID:2373122

大小:619.13KB

页数:7页

格式:PDF

时间:2023-05-10

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
一种 眼镜 虚拟 系统 实现 王晓锋
2023 年第 36 卷第 1 期Electronic Sci.Tech./Jan.15,2023https:/journa-收稿日期:2021-06-16基金项目:国家自然科学基金(61605114;61703277)National Natural Science Foundation of China(61605114;61703277)作者简介:王晓锋(1996 ),男,硕士研究生。研究方向:计算机视觉。付东翔(1971 ),男,博士,副教授。研究方向:计算机图形学。一种 3D 眼镜虚拟试戴系统的实现王晓锋,付东翔(上海理工大学 光电信息与计算机工程学院,上海 200093)摘要针对人脸图像试戴 3D 眼镜过程中存在的镜腿遮挡人脸问题,文中提出一种基于人脸图像的 3D 眼镜虚拟试戴技术。利用构建的人脸形状的三维模型,使其在虚拟试戴中对镜腿起到消隐作用,解决镜腿的遮挡问题。文中对输入的人脸图像进行关键点检测,结合 Graham 扫描法求得人脸形状的凸多边形,利用平移扫描构建人脸形状的三维模型。此外,文中根据定位人脸图像上的关键点以及姿态估计后对三维眼镜模型的变换,将眼镜模型佩戴到人脸图像上。实验结果表明,该方法对于多视角的人脸图像实现了虚拟试戴效果,解决了多种视角下人脸图像试戴过程中镜腿的遮挡问题,虚拟试戴中镜腿遮挡平均准确率为 94 5%,遮挡精度较高。关键词虚拟试戴;遮挡问题;多视角试戴;凸包算法;Graham 扫描法;关键点检测;姿态估计;平移扫描中图分类号TP391文献标识码A文章编号1007 7820(2023)01 044 07doi:10.16180/ki.issn1007 7820.2023.01.007ealization of A Virtual Try on System for 3D GlassesWANG Xiaofeng,FU Dongxiang(School of Optical Electrical and Computer Engineering,University of Shanghai for Science and Technology,Shanghai 200093,China)AbstractIn order to solve the problem that the mirror legs shade the face in the process of trying on 3D glasseson face image,this study proposes a virtual trying on system of 3D glasses based on face image The three dimen-sional model of the face shape is used to blank the mirror leg and solve the occlusion problem of the mirror leg Thekey points of the input face image are detected,and the convex hull of the face shape is obtained by combining theGraham scanning method,and the three dimensional model of the face shape is constructed by the translation scan-ning method Additionally,according to the positioning of key points on the face image and the transformation of the3D glasses model after pose estimation,the glasses model is worn on the face image The experimental results showthat the method achieves virtual try on effect for multi view face images,and solves the problem of occlusion oftemples in the process of face images from multiple viewing angles The average occlusion accuracy of the blankingleg during virtual trial is 94 5%,and the occlusion accuracy is highKeywordsvirtual try on;occlusion problem;multi angle try on;convex hull algorithm;Graham scanningmethod;key point detection;pose estimation;translation scan随着互联网购物的普及,增强用户的购物体验已经成为计算机应用的一个热门课题。虚拟试戴眼镜的应用允许用户在网上选择眼镜进行试戴,不需要去线下实体店,提高了用户的购物体验。目前,虚拟佩戴技术根据输入眼镜和人脸形式主要分为4 类。第1 类技术基于二维图像,例如文献 1将眼镜图像佩戴到人脸图像上。这种方法相对简单,佩戴效果可接受,但只能处理正视角的人脸图像,不能真实反映用户真实的动态佩戴效果。第 2 类技术是将三维眼镜模型佩戴到人脸图像上,例如文献 2使用三维眼镜模型代替眼镜图像,可以帮助系统处理多个视角的人脸图像,但需要解决镜腿的遮挡问题。第 3类是将三维眼镜模型佩戴到重建的三维人脸模型,例如文献 3 5 解决了镜腿的遮挡问题,但重建三维人脸6 是一个挑战,而且重建的三维人脸模型缺乏现实感。第 4 类是基于视频流的现实增强技术,例如文献 7 8,但试戴者必须配备摄像头,灵活性和便捷性欠佳。本文结合人脸关键点检测和凸包算法提出了一种新的镜腿遮挡方法,能解决三维眼镜模型试戴到人脸图像上镜腿的遮挡问题。基于早期研究人员的研究成果,本文提出了一种基于特征点检测和姿态估计的虚44王晓锋,等:一种 3D 眼镜虚拟试戴系统的实现Electronic Science and Technologyhttps:/journa-拟佩戴技术,实现了真实的虚拟佩戴。本文所提系统的总体流程图如图 1 所示。图 1 虚拟试戴系统流程图Figure 1 Flow chart of virtual trial system1人脸形状三维模型的构建构建人脸形状的三维模型是基于人脸关键点检测来实现的。通过对人脸关键点进行凸包运算,得到人脸的凸多边形,再通过平移扫描得到人脸形状的三维模型。1.1人脸关键点检测本文中,人脸关键点检测采用级联的回归树9 来实现人脸对齐。这种方法属于回归级联方法,将图像稀疏的像素强度子集作为特征,用回归树集合从中直接估计出人脸特征点的位置,进而对输入的图像进行人脸检测10;然后标记出人脸的外轮廓、眼睛、鼻子、嘴巴、眉毛区域的关键点。如图 2 所示,用圆点标注的点即为检测出的关键点。该关键点检测算法使用级联回归来建立数学模型,其迭计算式为S(t+1)=S(t)+rt(I,S(t)(1)式中,S 是形状向量,存储着脸部所有关键点的位置信息;S(t)表示对形状向量的估计;rt是一个回归器;t是级联序号。在 rt内部的回归过程中,采用梯度树提升法11 得到一系列的回归树来完成回归。在回归训练中,数据集合是(I1,S1),(In,Sn),其迭代为Si(t+1)=Si(t)+rt(Ii,Si(t)(2)Si(t+1)=Si Si(t+1)(3)式中,Ii是数据集中的图片;Si表示人脸关键点的位置;Si(t)表示级联回归的第 t 层预测关键点的位置;Si(t)表示第 t 层回归结果和真实值的差值。图 2 人脸关键点Figure 2 Key points of the face1.2构建人脸形状的三维模型本文将包含一个平面散点集的最小凸多边形(区域内任意两点的连线总在区域内)称为点集的凸包。本文采用 Graham 扫描法12 对人脸关键点集合求运算,该算法运行速度快,得到的人脸的凸多边形效果较好。根据章节 1 1 中求得的人脸检测的关键点,本文选择人脸外轮廓的关键点作为输入。Graham 扫描法的运算步骤如下,其中 n 是输入的人脸关键点数,Q 为关键点点集,St 为堆栈,存储凸包上的关键点:步骤 1在平面关键点点集中找出纵坐标最小的点,记为 q0,已知该点是凸包上的一个点;步骤2将点集Q中除q0以外的点以q0为坐标原点,转化剩余点的坐标;步骤3以 q0作为原点,计算剩余点对于 q0点的幅角;步骤 4按照幅角大小的升序,重新排序点集 Q后,记为 Q=q0,q1,qn 1;步骤 5初始化堆栈 St,其中令 St(0)=qn1,St(1)=q0;初始化栈顶指针 Stp 指向第2 个元素 q0,点集 Q中元素的下标记为 m,令 m=0;步骤 6若 m n,算法结束;步骤7假设当扫描到 Q 中下标为 k 的点 Q k时,此时 St j是栈顶的元素,St i是其上一个的元素,判断 St i、St j、Q k这3 个关键点形成的路径是左旋还是右旋。若为左旋,说明 Q k是凸包上的点,把这个点压入栈中,继续扫描点集 Q 的下一个点,令 Stp=Stp+1,St Stp=Q k,m=m+1,然后跳转到步骤 6。若为右旋,说明 St j不是凸包上的点,54Electronic Science and Technology王晓锋,等:一种 3D 眼镜虚拟试戴系统的实现https:/journa-把 St j弹出堆栈,此时扫描点仍为 Q k,令 Stp=Stp 1,跳转到步骤 6。经过以上的 Graham 算法步骤,得到人脸形状的凸多边形,将凸多边形轮廓内的区域作为填充区域,进行图元填充后得到凸多边形平面。本文采用扫描表示法13 来构造人脸形状的三维模型。扫描表示法是一种通过平移、旋转及其他对称变换来构造三维模型的方法。通过指定一个二维图像,在空间区域内移动该图像的扫描可以表示一个三维模型。例如,把一个圆形图像作为输入,输出的是一个圆柱体的三维模型。根据以上得到的人脸形状的平面,把其作为输入,执行一次平移扫描,即沿垂直平面的直线路径移动一定距离。在沿这条路径的区间上,复制平面的形状,并在扫描的方向上画出连线,得到了人脸形状的三维模型。如下图 3 所示为人脸形状三维模型生成的结果,其中图 3(a)是输入的人脸图像,图 3(b)是人脸形状凸多边形,图 3(c)是人脸形状三维模型。(a)(b)(c)图 3 人脸形状三维模型的结果(a)图像(b)凸包(c)模型Figure 3 esult of 3D model of face shape(a)Image(b)Convex hull(c)Model2基于姿态估计的眼镜佩戴2.1头部姿态估计头部姿态估计是以人脸图像作为输入,对头部姿态参数进行估计的方法。姿态角的形式是一个三维矢量,其值代表绕 3 个轴(x、y、z)的旋转角度,称为滚动、俯仰、偏航。姿态估计的算法大致可以分为两类:第 1 类是基于外观的算法;第 2 类是基于模型的算法14。基于外观的方法是将新的头部姿势图像与模板联系起来,利用深度图像15 确定实时的头部姿态估计。但该方法需要像 kinect 的深度相机16 来获取深度图像,深度相机价格昂贵,适用的范围小,不适合虚拟眼镜试戴的应用。基于模型的算法需要三维标准的人脸模型,其原理是旋转三维标准人脸模型,使模型上的三维体征点投影尽可能与输入图像的特征点重合。本文采用是基于模型的姿态估计算法,在章节 1 1 中,已经求得人脸上的关键点,选取其中如图 4 所示的关键

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开