您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 基于图像的三维重建.ppt
主讲人:原飞机器视觉/空间测量组基于图像的三维重建一、应用背景二、研究现状三、重建流程1-1制造业与逆向工程1-2影视与娱乐数字化三维模型,能够给电影和视频游戏提供丰富素材。22届国际体博会上,由深圳泰山在线科技公司研发的首款三维体感互动游戏——i-dong地鼠1997年,PaulDebevec利用图像重建技术,成功地出品了电影短片《theCampanile》。1-3文化遗产的保存对文物进行三维重建操作,以便获取文物精准的几何和色彩信息。河南省新乡市辉县村舍重建图龙形纹理门框的局部重建图新疆米兰古城三维重建图2-1国外研究现状①PaulE.Debevec——参数几何体表示初始模型②StevenM.Seitz——颜色不变量、顺序可见性规则重建场景模型③Robertocipolla——三维重建系统PhotoBuilder2-2国内研究现状①北京交通大学袁保宗提出了,由真实世界到计算机虚拟世界的转换问题。②浙江大学刘刚设计了,一个能绘制出几何模型和表面纹理的真实场景交互建模系统。③中科院自动化研究所,开发的CVSuite,能利用立体视觉进行三维重建。④上海交大马利庄提出了一种基于构建VisualHull,求取物体形状及表面反射属性的方法。2-3重建软件①3DmeNow②Canoma③PhotoModeler和PhotoModelerScanner④ImageModeler三维重建的四种主要方式:1基于图像2使用探针或激光读数器逐点获取数据3三维物体的断层扫面4光学三维扫描仪基于图像的重建方式,应用范围广泛,精度比较低。使用探针或激光读数器逐点获取数据,进行整体三角化,此类方法测量精确,但速度很慢,难以在短时间内获得大量数据。根据三维物体的断层扫面,得到二维图像轮廓,进行相邻轮廓的连接和三角化,得到物体表面形状。应用硬件光学三维扫描仪获得物体的点云数据,进行重建获得物体的整体表面信息。基于图像重建流程纹理贴图图像匹配1摄像机标定图像校正匹配2,计算视差点云对齐,拼接曲面重构空间点的获取黄色:任意位置绿色:平行位置图像校正①图像校正的目的图像校正极线不平行极线交于极点极线平行极点无穷远相机任意位置图像未校正相机平行校正图像需计算极线方程影响运行效率不需进行极线提高效率111pUp222pUp1p②图像校正的原理图像校正的过程,就是对里两幅图像分别进行二维的变换。将这种变换记为U1和U2,则图像点的变换可以看成其中,为p1变换后的坐标,为p2变换后的坐标。2p(1a)(1b)图像校正为了使极线变成一组平行直线,需要将极点放到无穷远处。设该无穷远极点为则经过校正后的图像对的基础矩阵可以表示为(000)TeF000[]001010XFe(2)图像校正210TpFp22110TTpUFUp2121[]TTXFUFUUeU则由式(1a)可以得到如下等式将式(1a)和式(1b)代入得由式(2)可得图像校正只要知道了基础矩阵F,就可以从上式中分解出变换矩阵和,从而实现图像的校正。1U2U图像校正2121[]TTXFUFUUeU设为1123121233121TTTuaaaUUubbbucc1U将U分解为如下形式:1000101pabUcc透视变换图像校正srpUUUU23231113123230001rbbcbcbUbbcbbcb123010001ssssU相似变换错切变换③图像校正过程图像校正透视变换错切变换相似变换极线和图像坐标系的横轴平行极点被移到了无穷远点极线束变成了一组平行直线使得水平方向的图像畸变最小化基于窗口的灰度匹配基于窗口的稀疏点匹配基于窗口的稠密点匹配匹配计算视差cos21dxx123456781234p5678基于窗口的灰度匹配原则1212||||||||Tvvvv=匹配计算视差左图中所有匹配点最大视差为a最小视差为b匹配点p的视差为d视差图中p点的灰度值为255*|d-b|/|a-b|匹配计算视差匹配计算视差3-4空间点的获取图像经过校正后可以看成是两台光轴互相平行的摄像机的成像(1)TPXYZ(1)TPXbYZ212(1)Tpuv111(1)Tpuv经过校正后图像上的俩个对应点空间点P在摄像机C1和C2坐标系下的坐标,b为基线图像点和三维空间点的映射关系可以得到:1ubxd1vbydbfzd3-5点云拼接①三维坐标变换②拼接原理③拼接步骤④拼接实例点云拼接点云拼接①三维坐标变换11121314212223243132333441424344aaaaaaaaAaaaaaaaa111213212223313233aaaRaaaaaa414243[]Taaa点云拼接表示三维图像的坐标变换产生比例、旋转、错切等几何变换产生平移变换②拼接原理点云拼接点云拼接P1中提取一个子集|,1,2,....,iiimmPiN在数据点集P2中有一子集与P1中点一一对应''|,1,2,....,iiimmPiN通过这俩个子集求解R和T2222oxyz1111oxyz实现P1与P2的拼接2222oxyz121112132412221222324232313233243TTTxxaaaxayRyTaaayazzaaaza1111oxyz三维坐标系和之间的位置对应关系可以用下式表示,即:如果知道了R和T的值,就可以将坐标系进行旋转和平移,转化为坐标系。这样就能将各块测量的数据转换到同一个坐标系,实现拼接任务了。1111oxyz2222oxyz点云拼接③拼接步骤:多视角点云数据的拼接方法可以分为两步。1首先利用离散的特征进行匹配的方法实现粗配准2再使用迭代最近点算法(ICP)算法进行精确配准点云拼接注意:当零件的表面没有明显的特征的时候,可以通过人为的方式在物体的表面附加特征来处理,常用的是粘贴标记点或者辅助圆球的做法。点云拼接④拼接实例对同一个待测物体从不同的两个方位进行拍摄,其中图(a)的右半部分和图(b)的左半部分事实上是待测物体上的同一个部分。图(a)中的参考点4、5、6、7分别对应图(b)中的2、1、4、3点①将这些相同点一一对应起来②根据它们的坐标解出R和T③拼接两部分得到的数据点云,形成一段完整的物体表面轮廓。点云拼接点云拼接散乱点集的曲面三角剖分空间直接剖分逐点插入法分治算法三角网格生长法约束delaunay三角剖分Delaunay三角剖分最小权三角剖分Hoppe算法Choi算法Voronoi图算法α-shape算法平面投影法三角剖分曲面重构Delaunay三角剖分一、定义二、性质三、算法分类曲面重构定义三角剖分:假设V是二维实数域上的有限点集,边e是由点集中的点作为端点构成的封闭线段,E为e的集合。那么该点集V的一个三角剖分T=(V,E)是一个平面图G,该平面图满足条件:1.除了端点,平面图中的边不包含点集中的任何点。2.没有相交边。3.平面图中所有的面都是三角面,且所有三角面的合集是散点集V的凸包。曲面重构Delaunay三角剖分Delaunay边:假设E中的一条边e(两个端点为a,b),e若满足下列条件,则称之为Delaunay边:存在一个圆经过a,b两点,圆内(注意是圆内,圆上最多三点共圆)不含点集V中任何其他的点,这一特性又称空圆特性。Delaunay三角剖分:如果点集V的一个三角剖分T只包含Delaunay边,那么该三角剖分称为Delaunay三角剖分。曲面重构Delaunay三角剖分两个重要的性质:1、空圆特性:Delaunay三角网是唯一的(任意四点不能共圆),在Delaunay三角形网中任一三角形的外接圆范围内不会有其它点存在。2、最大化最小角特性:在散点集可能形成的三角剖分中,Delaunay三角剖分所形成的三角形的最小角最大。曲面重构算法分类:分治算法逐点插入法三角网格生长法曲面重构1分治算法分治算法首先把点集V以横坐标为主,纵坐标为辅按升序排序,然后递归地执行以下步骤:(1)把点集V分为近似相等的两个子集VL和VR。(2)在VL和VR中生成三角剖分;(3)用局部优化算法优化所生成的三角剖分,使之成为Delaunay三角剖分;(4)找出连接VL和VR中两个凸包的底线和顶线;(5)由底线至顶线合并VL和VR中两个三角剖分。不同的实现方法可有不同的点集划分法、子三角剖分生成法及合并法。代表算法有Lewjo和Robinson算法、Lee和Schachter算法、Dwyer算法、Dewall算法等算法。曲面重构2逐点插入法逐点插入算法的基本步骤是:(1)定义一个包含所有数据点的初始多边形;(2)在初始多边形中建立初始三角剖分,然后迭代以下步骤,直至所有数据点都被处理:1)插入一个数据点P,在三角剖分中找出包含P的三角形t,把P与t的三个顶点相连,生成三个新的三角形;2)然后优化三角剖分。各种实现方法的差别在于其初始多边形的不同以及建立初始三角剖分的方法不同。代表算法有Lawson算法、Lee和Schachter算法、MaCullagh和Ross算法、Bowyer算法、Waston算法、Sloan算法。曲面重构3三角网格生长法生长算法的基本步骤是:(1)以一点为起始点;(2)找出与起始点最近的数据点相互连接形成Delaunay三角剖分的一条边作为基线,按Delaunay三角剖分的判别法则(即最小内角最大准则和空外接圆准则),找出与基线构成Delaunay三角形的第三点;(3)基线的两个端点与第三点相连,成为新的基线;(4)迭代以上两步直至所有基线都被处理。各种不同的实现方法多在搜寻“第三点”上寻求突破。代表算法有Gree和Sibson算法、Brass和Reif算法、Mirante和Weigarten算法。曲面重构曲面重构6曲面重构曲面重构3-7纹理映射主要的映射方法:纹理映射凹凸映射环境映射纹理映射图10-16纹理映射中纹理空间、物体空间和象素空间的变换纹理空间(s,t)数组坐标物体空间(u,v)表面参数象素空间(x,y)象素坐标纹理和表面变换观察和投影变换纹理映射象素区物体表面纹理模式图10-17由象素空间向纹理空间的映射观察投影变换的逆变换纹理映射变换的逆变换纹理映射二维纹理映射在纹理映射中需要用到的坐标:屏幕坐标最终生成的图像显示在这个坐标中世界坐标需要把纹理映射到位于这个坐标中几何对象的表面上纹理坐标使用这个坐标表示纹理空间中的一个位置参数坐标使用这个坐标定义曲面纹理映射纹理映射的方法方法一:把像素中心逆向投影到纹理坐标空间,从而得到某个纹理坐标对应的纹理值方法二:使用两步映射。第一步映射是把纹理映射到一个简单的三维中间表面上,如球面、圆柱面或立方体表面。第二步映射再把带有纹理映射的中间表面映射到需要绘制的对象表面上。纹理映射纹理映射纹理映射tts把纹理映射到圆柱面纹理映射方法一1取中间对象表面上某点的纹理值2沿着该点的法向量方向画条直线直到与绘制的对象相交。3然后把中间对象表面上的纹理值作为该交点的纹理值。纹理映射方法二1从要绘制的对象表面上的某点出发,并沿该点的法向量方向画条直线。2计算直线与中间对象的交点。3从这个交点可以得到对象表面的纹理值。纹理映射方法三已知绘制对象的中心1从该中心位置到对象表面上某一点画一条直2计算该直线与中间对象表面的交点。3把直线与中间对象表面交点处的纹理值赋给绘制对象表面相应的点。纹理映射谢谢!
本文标题:基于图像的三维重建.ppt
链接地址:https://www.777doc.com/doc-4679843 .html