一种3D眼镜虚拟试戴系统的实现_王晓锋.pdf
《一种3D眼镜虚拟试戴系统的实现_王晓锋.pdf》由会员分享,可在线阅读,更多相关《一种3D眼镜虚拟试戴系统的实现_王晓锋.pdf(7页珍藏版)》请在咨信网上搜索。
1、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)摘要针对人
2、脸图像试戴 3D 眼镜过程中存在的镜腿遮挡人脸问题,文中提出一种基于人脸图像的 3D 眼镜虚拟试戴技术。利用构建的人脸形状的三维模型,使其在虚拟试戴中对镜腿起到消隐作用,解决镜腿的遮挡问题。文中对输入的人脸图像进行关键点检测,结合 Graham 扫描法求得人脸形状的凸多边形,利用平移扫描构建人脸形状的三维模型。此外,文中根据定位人脸图像上的关键点以及姿态估计后对三维眼镜模型的变换,将眼镜模型佩戴到人脸图像上。实验结果表明,该方法对于多视角的人脸图像实现了虚拟试戴效果,解决了多种视角下人脸图像试戴过程中镜腿的遮挡问题,虚拟试戴中镜腿遮挡平均准确率为 94 5%,遮挡精度较高。关键词虚拟试戴;遮挡
3、问题;多视角试戴;凸包算法;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 Tec
4、hnology,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
5、 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
6、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
7、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;Gra
8、ham scanningmethod;key point detection;pose estimation;translation scan随着互联网购物的普及,增强用户的购物体验已经成为计算机应用的一个热门课题。虚拟试戴眼镜的应用允许用户在网上选择眼镜进行试戴,不需要去线下实体店,提高了用户的购物体验。目前,虚拟佩戴技术根据输入眼镜和人脸形式主要分为4 类。第1 类技术基于二维图像,例如文献 1将眼镜图像佩戴到人脸图像上。这种方法相对简单,佩戴效果可接受,但只能处理正视角的人脸图像,不能真实反映用户真实的动态佩戴效果。第 2 类技术是将三维眼镜模型佩戴到人脸图像上,例如文献 2使用三维眼镜
9、模型代替眼镜图像,可以帮助系统处理多个视角的人脸图像,但需要解决镜腿的遮挡问题。第 3类是将三维眼镜模型佩戴到重建的三维人脸模型,例如文献 3 5 解决了镜腿的遮挡问题,但重建三维人脸6 是一个挑战,而且重建的三维人脸模型缺乏现实感。第 4 类是基于视频流的现实增强技术,例如文献 7 8,但试戴者必须配备摄像头,灵活性和便捷性欠佳。本文结合人脸关键点检测和凸包算法提出了一种新的镜腿遮挡方法,能解决三维眼镜模型试戴到人脸图像上镜腿的遮挡问题。基于早期研究人员的研究成果,本文提出了一种基于特征点检测和姿态估计的虚44王晓锋,等:一种 3D 眼镜虚拟试戴系统的实现Electronic Science
10、 and Technologyhttps:/journa-拟佩戴技术,实现了真实的虚拟佩戴。本文所提系统的总体流程图如图 1 所示。图 1 虚拟试戴系统流程图Figure 1 Flow chart of virtual trial system1人脸形状三维模型的构建构建人脸形状的三维模型是基于人脸关键点检测来实现的。通过对人脸关键点进行凸包运算,得到人脸的凸多边形,再通过平移扫描得到人脸形状的三维模型。1.1人脸关键点检测本文中,人脸关键点检测采用级联的回归树9 来实现人脸对齐。这种方法属于回归级联方法,将图像稀疏的像素强度子集作为特征,用回归树集合从中直接估计出人脸特征点的位置,进而对输入
11、的图像进行人脸检测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)式中,
12、Ii是数据集中的图片;Si表示人脸关键点的位置;Si(t)表示级联回归的第 t 层预测关键点的位置;Si(t)表示第 t 层回归结果和真实值的差值。图 2 人脸关键点Figure 2 Key points of the face1.2构建人脸形状的三维模型本文将包含一个平面散点集的最小凸多边形(区域内任意两点的连线总在区域内)称为点集的凸包。本文采用 Graham 扫描法12 对人脸关键点集合求运算,该算法运行速度快,得到的人脸的凸多边形效果较好。根据章节 1 1 中求得的人脸检测的关键点,本文选择人脸外轮廓的关键点作为输入。Graham 扫描法的运算步骤如下,其中 n 是输入的人脸关键点数,
13、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是栈
14、顶的元素,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 算法步骤,得到人脸形状的凸多边形,
15、将凸多边形轮廓内的区域作为填充区域,进行图元填充后得到凸多边形平面。本文采用扫描表示法13 来构造人脸形状的三维模型。扫描表示法是一种通过平移、旋转及其他对称变换来构造三维模型的方法。通过指定一个二维图像,在空间区域内移动该图像的扫描可以表示一个三维模型。例如,把一个圆形图像作为输入,输出的是一个圆柱体的三维模型。根据以上得到的人脸形状的平面,把其作为输入,执行一次平移扫描,即沿垂直平面的直线路径移动一定距离。在沿这条路径的区间上,复制平面的形状,并在扫描的方向上画出连线,得到了人脸形状的三维模型。如下图 3 所示为人脸形状三维模型生成的结果,其中图 3(a)是输入的人脸图像,图 3(b)是人
16、脸形状凸多边形,图 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。基于外观的方法是将新的头部姿势图像与模板
17、联系起来,利用深度图像15 确定实时的头部姿态估计。但该方法需要像 kinect 的深度相机16 来获取深度图像,深度相机价格昂贵,适用的范围小,不适合虚拟眼镜试戴的应用。基于模型的算法需要三维标准的人脸模型,其原理是旋转三维标准人脸模型,使模型上的三维体征点投影尽可能与输入图像的特征点重合。本文采用是基于模型的姿态估计算法,在章节 1 1 中,已经求得人脸上的关键点,选取其中如图 4 所示的关键点(外眼角、鼻尖、嘴巴的两侧、下巴的最下端),采用非线性最小二乘法进行建模,计算式为f(,)=minni=1qi C(,)pi+t 2(4)式中,、分别代表面部姿态角的 3 个分量;n 代表特征点数;
18、qi是待测人脸的特征点;pi是人脸特征点在三维人脸模型上对应的特征点;是旋转矩阵;t 是平移向量;C 是收缩因子。图 4 人脸姿态估计关键点Figure 4 Key points of face pose estimation2.2生成 3D 眼镜模型为了增强虚拟试戴的真实感和现实感,本文采用的 3D 眼镜模型是 fbx 格式的。fbx 模型由 3ds Max 软件生成,通过 3ds Max 软件的绘制,可以得到各式各样的 3D 眼镜模型。本文的工作是 3D 眼镜模型的虚拟试戴,从 3ds Max 中构建的三维眼镜模型如图 5 所示。将 fbx 格式的眼镜模型导入到虚拟试戴系统时,需要对眼镜模
19、型进行解析和重构,将模型中的顶点、线、面、纹理坐标、材质信息等数据传输到系统中,可以准确地绘制出 3D 眼镜模型。2.3眼镜佩戴眼镜模型若要准确地佩戴到人脸图像上,则需要对齐到空间中的一个位置和做相应的变换,其中变换包括旋转变换和缩放变换。由于人脸图像是一个二维图像,不包含深度信息,因此将眼镜模型与人脸图像的佩戴问题转化为眼镜模型和人脸形状的三维模型之间的关系。基于人脸关键点检测的结果,本文选择人脸图像上鼻子根部的一个关键点的垂直方向向上两个单位的点 Fn(如图 6(a)作为佩戴点,同时选择眼镜模型中的 Gn(如图 6(b)作为支撑点,如图 6 所示。64王晓锋,等:一种 3D 眼镜虚拟试戴系
20、统的实现Electronic Science and Technologyhttps:/journa-(a)(b)(c)(d)图 5 3ds Max 中的眼镜模型(a)模型 1(b)模型 2(c)模型 3(d)模型 4Figure 5 Models of glasses in 3ds Max(a)Mode l(b)Mode 2(c)Model 3(d)Model 4(a)(b)图 6 眼镜试戴定位点(a)人脸关键点(b)眼镜关键点Figure 6 egistration point for fitting glasses(a)Key point of face(b)Key point of g
21、lasses在三维空间中对物体的旋转变换有多种表达方式,例如欧拉角、旋转矩阵、四元数、旋转向量等。其中,欧拉角是最直观的表达方式,其含义是绕眼镜模型自身的3 个轴(x、z、y)分别旋转某个角度。基于人脸姿态估计的结果,得到人脸图像在 6 个自由度上的偏转欧拉角(滚动、俯仰、偏航)。根据欧拉角,旋转眼镜模型,设定滚动角是,俯仰角是,偏航角是,旋转变换如式(5)所示。在虚拟试戴过程中,根据人脸大小来缩放三维眼镜模型,缩放计算式如式(6)所示。(,)=x()y()z()(5)其中x()=1000cossin0 sincosy()=cos0 sin010sin0cosz()=cos00 sincos0
22、001P=SX000Sy000SzP(6)式中,Sx、Sy、Sz分别是 x、y、z 轴的缩放参数;P 是变换后的三维模型矩阵;P 是原来三维模型矩阵。2.4遮挡处理在真实的三维空间中,眼睛看到的画面是沿着视线投影的结果,物体间存在着互相遮挡的关系,例如从侧面观察佩戴眼镜者,佩戴者另一侧的眼镜镜腿是被遮挡的,是看不见的。但是,在虚拟试戴的系统中,由于人脸图像不包含深度信息,当试戴三维眼镜模型的时,被头部遮挡的眼镜模型不会被消隐,自然的投影不能实现遮挡眼镜的作用。目前较好地解决镜腿遮挡问题的方法是根据人脸图像实时渲染出一个三维的人脸模型,利用深度缓冲检测12 消隐镜腿,但是构造三维人脸模型计算复杂
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 眼镜 虚拟 系统 实现 王晓锋
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。