暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

技术夜校|AR技术揭秘之球鞋试穿

得物技术 2020-11-18
2018

第四期技术夜校分享嘉宾是移动端大咖——Alpha

他拥有十年移动端技术经验

曾担任某大厂资深架构师

擅长AR、直播等多媒体技术探索

曾带领团队从0-1完成AR美颜、秀场道具等跨平台AR能力建设

探索AR秀场、AR试穿、AR直播等技术创新方向

导语

分享伊始,Alpha现场提问,大家为什么来参加这次分享?有的是来扫盲的,有的是来提需求的,有的是来一探究竟的,总结起来就是下图。

AR的概念

首先,先来了解下,什么是AR?AI、VR、AR三者又有啥区别?

AI人工智能

让计算机系统能够模拟处理⼈类通过直觉就能解决的⼀类问题,如自然语⾔理解、图像识别、语音识别等,包括机器学习、深度学习、神经网络等技术方向。

VR 虚拟现实

由计算机通过各种输出设备模拟各种⼈类可感知的信号,包括听觉、视觉、触觉、嗅觉等等,来让用户在虚拟世界中体验到最真实的感受。

AR 增强现实

将真实世界的信息和虚拟世界的信息无缝集成起来,增强用户对现实世界的感知。

AR有哪些应用场景?在行业内AR的应用场景有秀场、游戏、室内设计、广告、试用等。秀场的应用有美颜相机、抖音短视频等,在电商领域用的比较多的有眼镜的试戴、口红/头发的试色、服饰的试穿等。在得物,AR的应用场景主要是球鞋试穿。2019年年底上线以来,目前可支持1500多种潮流鞋款的试穿,已成为用户购买环节中非常重要的环节。

球鞋试穿实现流程

相机在进行图像采集时,会以30帧/S的速度采集图片数据,对每一帧的图片数据进行处理。随后对图片数据进行算法/AI识别,识别图片的关键点,根据这些关键点进入姿态求解的过程,进而输出姿态矩阵。根据姿态矩阵,结合3D建模的模型数据,导入到渲染引擎中,就可以渲染出对应的3D图片信息,最后与相机拍摄的图片做叠加,就可以完成对应的AR效果。以上就是球鞋试穿实现的流程,可以总结为3D建模,姿态求解,模型渲染三个部分。

3D建模

手工数字建模比较常用的场景在影视界,如虚拟角色/城市,常用工具有MAYA、3DMAX等,但数字建模很难复刻现实生活中的物体模型。3D扫描建模比较常见的工具有激光扫描、深度相机、结构光。激光扫描常用于工业场景,深度相机常用于个人消费市场(如手机的人脸识别),结构光是用结构光投影形变成像,但这种方式误差较大。

多图建模是比较常见且成熟的解决方案,也是得物目前在球鞋试穿场景用的建模技术。多图建模是通过多组高清相机从多个角度对物体进行拍摄,从而形成多角度多张高清图片。多图建模的原理是通过多张图定位空间一个点,生成多点云,从而生成网格模型,可用于制作角色动画、人脸动画等。


物品之所以逼真,是由于物品对光的反应造成的,所以要获得更逼真的模型效果,需要在多图建模的基础上,做光场建模。通过采集物体表面对光的反射效果,记录三维信息、光照材质信息等(粗糙度、光泽度、菲涅尔发射系数等),在渲染过程中做出最真实的效果。


在球鞋试穿过程中,用户会移动鞋子的角度,根据脚的姿态,转到自己的脚上,这个过程称为姿态解算或姿态求解。


要理解姿态解算需要先理解一个公式——视点成像公式或相机成像公式。一个物体被成像或渲染到2D平面的过程,可以抽象为矩阵公式(如下图)

要理解视点成像公式需要了解三个坐标系和两次变换。

世界坐标系:可以假定物体默认在世界坐标原点,3D模型上的点相对于模型锚点的位置即是世界坐标系下的(Xw,Yw,Zw)。


相机坐标系:相机坐标系(Xc, Yc, Zc)中,原点为相机透镜的中心,坐标轴 Xc 轴与x 轴平行,Yc 轴与 y 轴平行,Zc 轴与相机光轴重合,⼀般来说为了方便计算我们会将相机放置在世界坐标系的原点或者Z轴上。


图像坐标系:图像坐标系,是在成像平面内,以⼆维图像为基准所建立的坐标系。⼀般可以理解为(u,v), 原点为图像左上角点,坐标轴 为 u 轴 和 v 轴,表示物体所在的行数和列数。

姿态矩阵变换

在虚拟空间中,如果要了解一个模型的一个顶点在旋转或移动后到达的点,就要通过姿态矩阵变换来实现。姿态矩阵变换包含两部分,位移矩阵T和旋转矩阵R。

投影矩阵变换

在相机成像过程中,一个三维的物体投影到二维平面的过程,称为投影矩阵变换。一般常用的有透视投影和正交投影。在3D渲染和AR中,主要用透视投影,模拟人的视觉系统。AR空间根据相机设备的真实参数配置虚拟相机的内参,使得透视效果与相机中的真实世界⼀致,以假乱真。

在理解矩阵方程后,进一步的进行姿态求解(PNP)。PNP问题就是指通过世界中的N个特征点与图像成像中的N个成像点,计算出其投影关系,从而获得相机或物体位姿的问题。

模型渲染

姿态、模型、虚拟空间相机内参等准备好后,将进入渲染的过程。渲染管线可以分为三个阶段:应用阶段、⼏何阶段和光栅化阶段。应用阶段场景主要处理数据、光照参数、渲染图元输⼊,数据给到GPU后进入几何阶段,此阶段主要是计算每个顶点在⼆维屏幕空间的坐标、深度、颜色,光栅化阶段决定图元中哪些像素应该被绘制,并逐顶点数据进行差值、着色、混合。


如何获得更好的渲染效果?可以用PBR渲染,这是基于物理的渲染,它涉及三个基础理论:微平面理论、能量守恒、BRDF双向反射分布函数。

微平面理论——物体表面由无数微观上随机朝向的理想镜面反射小平面组成,通常这种不规则效果用粗糙度或者高光贴图来表示;能量守恒——出射光线的能永远不能超过⼊射光线的能;BRDF双向反射分布函数——规定光出射和入射方向,是由入射光得到出射光的函数。考虑基础色、金属度、镜面反射强度、镜面反射颜色、粗糙度、光泽度等参数。

另外一个在AR场景中比较巧妙的地方是“绿魔”的世界。平⾯识别、物体识别构建绿模,绿模渲染模拟遮挡、阴影效果等。

结尾

Alpha的分享,带着大家初步认识了AR技术,在得物球鞋试穿的应用,以及实现的原理。大家也是收获满满,很期待下次AR技术之美图揭秘、服装试穿揭秘呀~~

【得物技术】

扫一扫关注公众号


文章转载自得物技术,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论