- 1.58 MB
- 2022-04-22 11:25:55 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'中国科学技术大学基于结构光的三维物体重建作者姓名:蒋罗学校:华中科技大学导师姓名:刘利刚教授完成时间:二○一三年六月二日I
摘要在过去的十年里,数字摄影已经进入价格低廉的潮流之中,微型照相机成为常规的电子消费品。数字投影是准备朝着相同的方向发展,各种供应商开始提供小型的,低价的投影仪。这样就导致了主动成像在计算机图形学领域里成为一个复兴的令人感兴趣的主题。主动成像需要的仪器设备是扫描仪,而扫描仪可分为被动扫描与主动扫描。由于被动方法需要与被测物体的表面发生接触,并且会涉及到复杂的匹配技术和轮廓提取技术,所以本文采用基于结构光的主动扫描方法,这种方法需要的主要仪器设备为一台照相机和一台投影仪。首先搭建好3D扫描装置,完成照相机和投影仪的标定工作,然后通过格雷编码生成结构光序列,充分利用投影仪的性能,构建高精度的三维物体模型。关键字:结构光,格雷编码,三维重构II
AbstractOverthelastdecadedigitalphotographyhasenteredthemainstreamwithinexpensive,mini-aturizedcamerasroutinelyincludedinconsumerelectronics.Digitalprojectionispoisedtomakeasimilarimpact,withavarietyofvendorsofferingsmall,low-costprojectors.Asaresult,activeimagingisatopicofrenewedinterestinthecomputerg-raphicscommunity.Activeimagingneedscannerequipment,thescannercanbedivi-dedintopassivescannerandactivescanner.Becausethepassivemethodhastocon-tactwiththesurfaceoftheobjecttobetested,andinvolvecomplexmatchingtechno-logyandcontourextractiontechnology,inthispaper,Ichoosethebasedonstructurelightactivemethods.Themainequipmentrequiredbythisapproachisacameraandaprojector.Firstbuildgoodscanningdeviceanddocameraandprojectorcalibrationwork.Generatedbygraycodethestructurelight,andmakingfulluseoftheperform-anceoftheprojector,thenthispaperbuildhighaccuracy3dobjectmodel.Keywords:structurelight,graycode,3dreconstruction目录摘要................................................................................................................................IIIII
Abstract.........................................................................................................................III1选题背景....................................................................................................................11.1三维扫描技术.................................................................................................11.1.1被动方法..............................................................................................11.1.2主动方法..............................................................................................22基本原理....................................................................................................................42.1透视投影和针孔模型.....................................................................................42.2几何描述.........................................................................................................42.2.1点和向量..............................................................................................52.2.2直线和射线的参数表达......................................................................52.2.3平面的参数化表达..............................................................................62.2.4平面的隐式表达..................................................................................62.2.5直线的隐式表达..................................................................................72.3三角重构.........................................................................................................82.3.1线与面的交点......................................................................................82.3.2直线与直线求交..................................................................................92.4坐标架系统...................................................................................................102.4.1图像坐标和针孔照相机....................................................................112.4.2理想针孔照相机................................................................................112.4.3一般的针孔相机................................................................................122.4.4对应于图像上点的直线....................................................................132.4.5与图像中直线对应的平面................................................................133实验论述..................................................................................................................143.1实验器材.......................................................................................................143.1.1器材目录............................................................................................143.1.2器材介绍............................................................................................143.2照相机和投影仪的标定...............................................................................193.3结构光...........................................................................................................223.4操作步骤.......................................................................................................234结果分析..................................................................................................................265结论..........................................................................................................................28致谢..............................................................................................................................29参考文献......................................................................................................................30IV
1选题背景在过去的十年里,数字摄影已经进入价格低廉的潮流之中,微型照相机成为常规的电子消费品。数字投影是准备朝着相同的方向发展,各种供应商开始提供小型的,低价的投影仪。这样就导致了主动成像在计算机图形学领域里成为一个复兴的令人感兴趣的主题。尤其是自制的3D扫描仪对于学生和业余爱好者来说都是触手可及的。本文解决的主要问题就是通过自制的3D扫描仪利用结构光实现三维物体的重建,并且得到的三维物体模型是有极小畸变的。1.1三维扫描技术计量是一个古老和多元的领域,缩小了数学和工程之间的距离。IndusValleyCivilization在2600-1900BCE就开始对计量和单位标准化做出努力了。即使只有原油单位,人类附属物的长度,几何的发展解放了精确测量距离的能力。在240BCE时,Eratosthenes利用太阳从亚历山大到西奈的仰角估测出地球的圆周。数学和标准化的努力在文艺复兴时期(1300年-公元1600年)和科学革命(1550年-公元1700年)继续成熟。然而,在工业革命(1750-1850年)期间,计量学的发展到达了顶峰。当大规模自动化生产成为司空见惯的事时,先进的测量技术保证了通用物件只是原件的精确复印件。在这些历史的发展中,测量工具随着数学知识和实际需要的变化而变化。早期的方法要求与物体表面有直接的接触,例如圆规和直尺。ChristophScheiner在1603年发明了缩图仪,通过一个特殊的机械联动装置,在物体表面运动的笔所画出的轨迹可以被绘画笔精确的复制。现代坐标测量机器在很大程度上类似的方式运作,记录一个在固体表面滑动的探针的位置。然而,有效的基于接触物体表面的扫描方法会损害易碎物品并且要求很长的时间来建立一个精确的3D模型。非接触的扫描仪处理在所观察到的限制,通过控制光和物体的交互。1.1.1被动方法非接触式光学扫描仪可以根据控制的光照来分类。被动的光学扫描仪不要求直接控制任何光源,相反的,完全依赖于环境光。立体成像是最广泛应用被动的3D成像系统之一,这在生物和工程领域中都有所体现。像人类视觉系统一[1]样,立体成像通过三角的方法估计3D场景中点的位置;首先,在每个相机1
中,2D投影平面上的点是可以确定下来的。通过使用已知的标定物体,每个相机的参数是可以估计出来的,最终可以确定一条直线,它经过相机的投影中心和投影片面上的点。计算两条这样的直线的交点就可以获得该点的深度信息。[2][3]Trinocular和多视角立体成像系统被引进用来提高立体成像系统的精确度和可靠度。然而,所有的这样被动三角方法要求在不同的视角拍摄出来的图片中找到对应点。即使对立体成像系统,对应点的匹配算法仍然是未解决和具有挑战性的问题。今天,实时的立体成像系统和多视角系统出现了,然而,主[4]要的问题额待解决,不然会限制它们的应用范围。更有甚者的是,平坦的和周期性的纹理阻止了鲁棒性的匹配。当机器学习算法和更多的知识要被运用到解决此类问题上时,多视角3D扫描就把一些最初只对如何构建精确的3D模型的爱好者们挡在了门外。许多可选择的被动方法提出回避这些问题,频繁的依赖于更加鲁棒的计算机视觉算法。在可控制的条件下,比如一个已知的或者固定的背景下,物体的边界可以通过周边的额环境来确认。作为一个结果,大量的提取轮廓的算法就[5]出现了。Laurentini考虑了有限的相机来观察一个场景的情形。用视锥体的组合来定义视觉体,而视锥体是用投影中心和可检测到的物体边界轮廓来定义的。最近的,自由视点录像机系统已经运用这个算法可以重构动态的三维场[6]景。Cipolla和Gibiln从不同的角度出发,通过观察相机拍摄的等高线的运动来重构物体的深度信息。光学成像系统要求一个有效大的光圈使得在曝光时间可以获得有足够的光。随之而来的,捕获的图像说明了一个受到限制的深度领域;当物体靠近焦平面时在图像中显示的很清楚,相反的,则很模糊。可以利用这个现象来恢复[7]深度信息,通过增加光圈的直径来进一步缩减深度域。Nayar和Nakagawa根据焦距信息估计了物体的形状,获得了一个焦距堆通过改变一个单一的元素。焦距测量方法被用到确认最好的焦平面。其他的被动成像系统通过修改光圈的形状进一步探索深度场的信息。一些[8][9]修改使得点传播函数变得可逆和强烈依赖于深度。Levin和Farid使用编码的光圈从散焦的图像中估计出密度和深度信息。Greengard修改了光圈来构造点传播函数,这个函数的旋转是一个场景深度的函数。然而前面的讨论聚焦光学修改在根据2D图像做3D重构,大量的基于此类模型的方法应运而生。当物体的形状是先验的,那么粗糙的图像测量方法可以用来推导物体的平移,旋转和变形。1.1.2主动方法主动光学扫描仪通过使用控制光源的方法克服了这个问题。与非接触式被2
动方法相比,主动光照对材料表面的额性质更加敏感。反光很明显的物体和通透性很强的物体经常违背主公扫描仪所作出的假设,要求对有此类问题的物体[10]有额外的测量。更加详细主动方法的历史可见Blais的研究文章。许多主动系统解决被动立体成像系统中的问题通过替换一台相机,用一个可控光源。在1970s,一个单一激光束扫描仪诞生了。在这个结构中,一系列固定的镜子和可旋转的镜子用来做光栅扫描。数字相机记录激光点的运动轨迹。激光点的2D投影,经过标定矫正处理后,与投影中心唯一确定了一条直线。深度信息可以根据求这样的两条直线的交点获得,这就是著名的偏转镜。作为一个结果,这样的点扫描仪可以被等价视为坐标测量仪器。点扫描仪做处理是很费力的,并且花费的时间也很长。在1980s随着低廉的,高质量的CCD元件的发展,狭缝扫描的出现成为一种有力的选择。在这种设计下,一个激光投影仪产生了一个光栅平面。用所谓的狭缝扫描物体的表面。与前面一样,著名的激光偏转定义了一个3D平面。深度信息可以通过3D平面与经过投影中心和光条扫描到的物体表面的直线求交点来恢复。通过有效的移走激光扫描的一个维度,狭缝扫描保持着一个流行的解对于快速的获取物体形状。各种商业产品用扫平面激光束扫描。然而有效的,狭缝扫描仪仍然保持困难对于场景中的物体是运动的。此外,由于光源与相机分开的必然性,一些闭塞的区域是不能被重建的。很多3D扫描仪都有这种限制,要求多种视角扫描后结果的合并。数字化的“结构光”投影仪可以用来解释一种机械运动,它就是激光束条纹在物体表面上平移扫描。简单地说,投影仪可以在黑色的背景上投影一列白色的条纹,这样就可以重复狭缝扫描仪的工作。然而,一个简单的扫平面序列并没有充分开发投影仪,投影仪是可以投影任意的24位彩色图像。结构光序列可以使得用少量的图像建立投影仪与相机之间的关系。一般的,每个平面的标识可以通过空间编码或者时间编码或者两者混合编码来完成。对于每一种方法都有自己的优缺点。比如,纯粹的空间编码允许使用单一静止的模式完成重构工作,并且可以完成动态场景的重构。纯粹的时间编码的好处就是简便,缩减[11]了重构工序。狭缝扫描仪和结构光都是不适用于动态场景的重构。此外,由于光源与相机的分离,被遮挡的区域是没有被光覆盖到的。3
2基本原理在这篇论文中,主要任务是重构现实物体的三维形状通过用一组光照射该物体和用照相机观察被照射的物体。在这个章节中我们会用代数和几何分析的语言在自由坐标系下引进一些基本概念,通过描述图像形成过程,推导出重构三维物体的模型。早期的被动方法要求与物体表面有直接接触,这样对于具有敏感性的材质就不适用,后来发展的被动方法涉及到匹配算法和轮廓提取算法等等,就像是走了弯路一样,将重建工作复杂化了;主动方法中扫平面方法步骤比较冗余,而利用结构光可以减少不少工序,综上所述,本文采用主动方法来实现物体的重建。2.1透视投影和针孔模型用简化的观点来看,一个照相机或者一台投影仪的就是一个针孔模型。针孔模型是由一个成像平面和投影中心构成的,例如下图2.1。用照相机拍摄现实场景时,场景中的每一个点和投影中心唯一确定了一条直线。如果这条直线不平行于成像平面,那么它肯定与成像平面交于一个确定的点。这种将三维的点投影到二维图像平面的点称为透视投影。投影仪与照相机的差别仅仅在于光线的走向是相反的。投影仪上像平面的一点和投影中心唯一确定了一条直线。总的说来,光线总是沿着这样的直线传播,不管是照相机还是投影仪。imagecenterofplaneprojectionimagepoint3Dpoint图2.1:针孔模型2.2几何描述因为光线是沿着直线传播,我们推到的三维重构模型是包含直线与平面求交4
点和直线与直线的近似交点,因为空间中的两条直线不一定是相交的。我们的所有推导都是基于线性代数和几何分析。我们用p表示空间中的点,用l表示空间中的三维向量。所有的向量都是列向量。l的模是l,两个向量l和l之间的内12TTT积表示为ll12,这里l1表示向量l1的转置。ll12可以写成ll12cos,这里表示两个向量l和l之间的夹角。两个向量l和l之间的叉积表示ll,它的模等于121212ll12sin,并且方向是由右手规则确定的。行列式lll11,,22l是非退化的,如果l和l是线性独立的。122.2.1点和向量因为所有的向量构成一个线性空间,它们可以有数乘运算和加法运算。对于点,却没有这么好的结果。但是点和向量是有关联的:一个点p加上一个向量l就是另外一个点,两个点之差pp就是一个向量。如果有一个点p,t是乘数,12l是一个向量,那么ptl就是另外一个点。在这个表达式中,tl是一个长度为tl的向量。点的乘数运算是没有被定义的,但是点的线性组合是有定义的:tptp,其中tt1。11nn1n2.2.2直线和射线的参数表达一条直线L可以由一个点q和一个方向l来描述的,可见图2.2。这条直线上的任意一点可以描述成一个点q与方向tl的之和,即:Lpp|,qtlt。(2.1)p=q+tlqlineqp=q+tlray图2.2:参数化直线5
这就是直线的参数化表达,而t就是参数。我们可以看到这个表达不是唯一的,因为q可以被直线上的任何一点所替代。但是,对于给定的q和t,参数t和直线上的点是一一对应的。射线是直线的一半,直线中的参数t可以取任意值,但是在射线里它只能取非负值。射线的参数化表达式为:Rppqtll|:0(2.2)这里与直线不同,如果q发生了变化,这条射线也就变了。我们把这个点称为射线的原点。方向向量l可以与任何正数相乘,但是却不能与负数相乘。如果我们用负数与l相乘,得到的射线是与原来的射线方向相反。照相机中光线的沿射线传播的方向就是与投影中相反的。2.2.3平面的参数化表达与直线的参数化表达方式相似,一个平面P也可以用参数化的方式来描述。在平面上选取一个点q,再选取两个线性独立的向量l1和l2,可以参见图2.3。任何在平面P上的点可以描述成两个方向tl11和tl22与点q之和,即:Pppqtl|:,tltt112212。(2.3)与直线的情况类似,平面的参数化表达方式不是唯一的。这个点q可以是平面上的任何一个点,并且方向l和l也可以是平面上的任何两个线性独立的方向。12npqpq图像2.3:参数化平面2.2.4平面的隐式表达一个平面P是有隐式表示的。从几何上来说,平面是可以由它上面的一个点6
和其法向量n的来表示。一个点p属于这个平面上的点当且仅当向量pq和法向量n是正交的,即tPpn|0pq。(2.4)同样的,这个表达不是唯一的。点q可以是平面上的任何一点,法向量也是可以有倍数之区别。将参数化表达转换成隐式表达,我们可以用两个基向量l和l的叉积作为平12面的法向量nll。将隐式表达转换成参数化表达,我们需要找到两个与法向12量n正交的方向l和l,事实上,可以先找到一个向量l与法向量n正交,这是很121容易做到的,而lnl。212.2.5直线的隐式表达一条直线L也有隐式表达,它可以看成是两个平面的交线,平面也是用隐式表达。即ttLpnpq|012npq,(2.5)这里两个法向量n和n是线性独立的,如果它们是线性相关的,那么这个表达式12就不止一条直线了,因为它们表示的是同一个平面。如果它们是线性独立的,那么这两个隐式表达式表示的是这两个平面的共同点,因为一条直线可以由不同的平面相交得到,所以上述表达式不是唯一的。点q可以换成两个平面交线中的任何一点。为了将直线的参数化表达式转换成隐式表达式,首先需要找到两个线性独立的法向量n和n,并且正交于方向向量l。我们可以先找一个非零向量n正交于121l,然后取n为nln。将隐式表达式转换成参数表达式,我们可以找到一个221方向向量正交于两个法向量n和n,这样我们直接取lnn就可以了。12127
2.3三角重构在针孔模型中,成像平面上的点和投影中心唯一确定了一条直线,成像平面上的直线和投影中心唯一确定了一个平面。一条光线与被扫描物体的交点可以看成一个被照亮的点,一个光平面与被扫描的物体的交点可以看成多条被照亮的曲线。每条曲线都是由许多个被照亮的点组成的,我们可以用相机拍摄出这些被照亮的点,这样就得到了与相机有关的射线。我们假设投影仪和相机在世界坐标系下的位置是已知的,那么投影射线和投影平面以及与被照亮的点有关的相机射线都是可以计算出来的。有了上述计算,我们可以求投影平面与相机射线的交点从而计算出与相机射线对应的照亮点的坐标位置。通过这样的步骤,我们就可以还原物体的深度信息,使得重构现实世界中的三维物体。2.3.1线与面的交点直线的参数化表达式为Lppq|:tltL,(2.6)平面的隐式表达式为tPpnpq|0P。(2.7)t当然,直线不一定会与平面相交,即直线平行于平面,那么有nl0。法向量n和直线方向l是正交的当直线L在这个平面P上时,无论q是否在平面P上Lt都是这种情况。如果法向量n和直线方向l不是正交的nl0,那么直线与平面的交点是唯一的一个点。因为这个点是在直线上的,所以它可以成pqtl,L又因为它在平面上,它满足平面方程,即ttnpqPnqLPqtl0,推出参数t:tnqqPLt。tnl(2.8)t因为我们假设nl0,所以上述表达式是有意义的。直线与平面求交点的集合解8
释如上。2.3.2直线与直线求交我们考虑两条任意直线:L1pp1111qtlt|:和L2pp2222qtlt|:让我们考虑特殊情况。向量l和l是线性相关的也可以是线性独立的。12当l和l是线性相关的,这两条直线是平行的。此外,如果向量qq可以写1221成l或l的倍数,那么这两条直线是同一条直线。12当l和l是线性独立的,这两条直线也只是可能会相交。如果这两条直线相12交,那么它们的交点是单一点。两条直线相交的必要条件是它们的方向向量是线性独立的,参数t和t存在使得12qtlqtl111222或者向量qq是可以由l和l线性表示的。2112因为两条直线不一定会相交,我们把距离两条直线距离之和最近的点称为这两条直线的逼近点。更精确的来说,无论两条直线是否会相交,我们都可以定义逼近点P。它满足最小化到这两条直线的距离之和,即22ptt,,12111qtl222pqtlp。(2.9)由于之前,我们假设l和l是线性独立的,所以这个逼近点是唯一确定的。12我们用代数的方法来确定p从而说明逼近点是唯一的。函数ptt,,12是一个非负的,二次的,有五个自由变量的函数。即点p坐标的三个分量,t1和t2。首先我们把这个问题简化到只有两个变量t1和t2的二次函数。令p1q1tl11是直线L上的点,令pqtl是直线L上的点。定义线段pp的中点p,即122222123pp12p32最小化函数的必要条件是函数ptt,,12关于五个变量的偏导数为零。我们有9
pp12pp0,p(2.10)即点p为线段pp的中点p。123现在我们可以最小化只有两个变量的函数2tt1,22ptt3,,12q2tl22q1tl11,(2.11)当然,最小化上述函数的必要条件是它关于变量的偏导数等于零,即ttt2ltl11122tl121q1q212tl11tll2lqq0t1ttt2ltl22211tl212q2q221tl22tll1lqq0t2这是关于t和t的线性方程组,用矩阵的形式表达就是122ttl1ll12t1lq121qlltl2tlqtq2122212因为l和l是线性独立的,所以左边的矩阵是非退化的。那么这个方程组的解是12唯一的,即12ttt1l1ll12lq121qtlltl2lqtq2212212或者2ttt11l2ll12lq121qtllll22t2lltl2lqtq21212211212这样逼近点p就可以由参数t1和t2计算出来。2.4坐标架系统到目前为止,我们是在自由坐标架下描述的。在实际问题中,图像都是用离散的像素单位度量的。在这个部分,文中将会介绍实际问题中遇到的坐标架,并在这些坐标架下讨论分析。10
2.4.1图像坐标和针孔照相机给定一个针孔模型,它的投影中心为o,像平面Ppp|:,qul11uluu2212。任何三维点p,不一定要在平面P上,在世t界坐标系下的坐标为xyz,,。而在像平面上,点q,方向l和l定义了局部坐标12系。图像上一个点pqulul的坐标是u和u,可以写成uuu,,1,有11221212xu1yllqu122z12.4.2理想针孔照相机令针孔相机的投影中心为o,假设它是世界坐标系下的原点。并且点q,方向l和l定义为12100l12lq010001我们知道三维点在成像平面上有一个投影,不在成像平面上有投影的三维点是存在于一个平面上,该平面平行于成像平面并且穿过投影中心。当任意空间点txyz,,存在这个平面上时有z0,否则它在成像平面上有投影,并且投影点的坐标为uxz1uyz2关于空间坐标点与其在成像平面上的投影点的坐标之间的关系还有其他的描述,Tt比如,空间点的坐标为xyz,,,它在成像平面上的坐标为uu12,,1,对于t0,我们有ux1tuy21z11
2.4.3一般的针孔相机一般的针孔相机的投影中心没有必要规定为世界坐标系的原点,并且它是可以任意安置的。当然,相机是有自己的相机坐标架。三维空间中的点的坐标为ttpxyzwwww,,和相机坐标pcxyzccc,,。这两个坐标之间是可以互相转化的,33令T为平移矩阵,R为旋转矩阵。即pRpT。cw(2.12)在相机坐标下,点的三维坐标与它的投影坐标之间的关系是在理想的针孔相机模型下描述的,tup。把它代入到上述式子当中,我们有ctuRpT。w(2.13)参数RT,,被称为相机的外参数,描述相机在世界坐标系下的位置和方向。上述等式表明图像中的测量单位与世界物体中的测量单位是一样的,并且像平面到投影中心的距离为世界坐标下的一个单位长度,而且图像坐标系的原点为u0,u0。这在实际情况中是不可能的。例如图像中的度量单位是像素,而12世界坐标系下的度量单位是米,投影平面到投影中心的距离也是任意的,并且图像坐标系的原点通常是在图像的左上方。此外,像平面也是理想化的,因为相机3拍摄的图像都是有畸变的,矩阵K是用来描述这些因素,被称为内参矩阵。即tuKRpTw矩阵K有下列形式fs11fsoKfso022001f是焦距,即投影中心到成像平面的距离。参数s1和s2关于坐标轴x和y的参数,这是因为一些相机的单位像素不是方形的。参数s是关于透镜的参数,纠正倾斜t的图像。oo12,是相机的坐标架下的z方向的直线与成像平面的交点。这个点被12
称为图像主点。相机的内参与相机摆放的姿势无关,它是相机的内部属性。一般地,它们都不会改变的,矩阵K是可以通过一次相机的标定计算出来的。相机的畸变也被认为是内参。2.4.4对应于图像上点的直线t图像中一个点uuu,,1和投影中心定义了一条唯一的直线,问题在于如12何找到这条直线的参数方程,比如Lppqtlt|:。因为这条直线包含投影中心点,所以这条直线上的点在成像平面上的投影坐标是一样的。如果p是w1T这条直线上的一点,那么我们有tlRpTw。因为R是一个旋转矩阵,即RR,我们有ttpRTwtRl。(2.14)tt这样,我们就找到了这条直线,qRT,lRl。ww2.4.5与图像中直线对应的平面成像平面中的一条直线可以用参数描述也可以用隐式描述。我们先考虑隐式表达,像平面中的一条直线的隐式表达式为tLulu|0ulull11223,(2.15)t这里llll12,,3是一个向量。因为投影仪投影出来的光是包含水平方向和垂直方向。这样,一条水平方向的直线的隐式方程就是tLHuluul|023。(2.16)类似的,一条垂直方向的直线为tLvuluu|0l13,(2.17)这条直线和投影中心点唯一确定了一个平面P。设点p存在于平面P上的点,它的世界坐标为p,图像上的坐标为u,因为这两个坐标满足tlRpT,u满足ww13
图像上的直线方程,我们有ttttt0tlulRpwwTRlpRT。tt这样,我们就得到了平面P的隐式方程,nRl,qRT。3实验论述在这个部分,任务重心是用一台照相机和一台投影仪来搭建结构扫描仪,一组结构光,由一系列的图片经过投影后得到,有效的解决了投影仪如何投射出水平光和垂直光的问题。使用结构扫描仪做三维重构会显得更加自动化和简便,并且精度很高。3.1实验器材3.1.1器材目录在做实验中,所涉及的硬件为一个单目相机、一台投影仪、一台电脑、一个三脚架、一块标定板、一角被挖空的立方体铅块和一瓶显像剂和一块大木板。有关硬件的具体型号指标参数可见附录。软件为matlab,flycap2,meshlab。3.1.2器材介绍1、单目相机①单目相机尾部有两个矩形插孔,在用一根与插孔配套的数据线连接插孔时,可随意选择一个插孔,再将数据线的另一端连在电脑主机上。在安装过程中,需要使用到下图中显示的工具。14
图3.1:单目相机图3.2:工具箱②单目相机前部,也就是有镜头的部分,在前部下方有两颗螺丝,这两颗螺丝都是可以用手拧动的,在做实验时只需要拧松靠近镜头边缘的螺丝,然后可以缓慢转动镜头从而调整焦距,而靠近相机尾部的螺丝请不要动它。图3.3:单目相机镜头③单目相机下方有一个螺丝孔,用于把相机固定在三脚架上。15
图3.4:单目相机底部2、投影仪①投影仪有一个电线插头,使用时请把它插在插线板上,此时投影仪的开关指示灯为红色。使用遥控器对着投影仪镜头方向按下开关按钮,投影仪的开关时指示灯变为绿色,请耐心等待一段时间,投影仪就开始工作了。②投影仪尾部有四个梯形接口,在用配套的数据线连接接口时,请选择INPUTA接口。请在主机上寻找梯形接口,然后将数据线的另一端连接在电脑上。图3.5:投影仪接口③靠近投影仪镜头一侧有两个转动的按钮,在实验中只需调节focal下的按钮来调节镜头焦距。16
图3.6:投影仪侧部3、台式电脑用来连接投影仪和单目相机,并且已经安装器材目录中的所有软件。4、三脚架①三脚架下有三个滑轮,可以通过固定三个滑轮来固定三脚架。②三脚架上有一个很大的矩形盘,是用来放置投影仪的。图3.7:三脚架③在矩形盘两边有延伸的支架,是用来放置单目相机的。做实验时,一般要求相机与投影仪之间有较大距离,我们可以在延伸的支架上在固定一个支架。17
图3.8:托盘5、标定板我们使用的标定板是一块7*7的纸制棋盘,如下图**所示。图3.9:标定板6、铅块和显像剂因为铅块表面反光太严重,所以在其表面喷上显像剂。图3.10:铅块与显像剂7、大木板木板是用来做背景的,投影仪投射的图案就是显示在木板上。图3.11:背景板18
扫描仪的设备包含一台数字相机和一台数字投影仪。利用线面求交的方式,在相机射线和投影仪投射出的光平面之间计算交点就可以重构三维物体。相机和投影仪的摆放位置必须确保相机射线与投影仪投射的光平面不会以一个很小的角度相交,所以它们最好以对角的方式摆放。3.2照相机和投影仪的标定t这个部分会详细说明照相机和投影的标定原理。把坐标为XYZ,,的点Qiiiit映射到投影平面上坐标为xy,的过程叫投影变换。在2.4.3中我们提到下面ii的等式tuKRpTw,它描述的是世界物体坐标点与成像平面坐标点的关系,现在我们用齐次坐标来重新描述这个关系:usHp,(3.1)wt这里s与t是一个性质,就是比例系数。p是世界物理点的齐次坐标XYZ,,,1,w而H是单应性矩阵,包含了相机的内参数和外参数,即HMW,M表示相机的内参数,W表示相机的外参数,fcxx0Mfc0,WRT。yy001选定世界坐标系使得物体平面的Z0,这样可以重新改写上式,XXY"usMrrrT1,,,23sMrrT1,,2YsHpw,这时单应性矩阵HMrrT12,,。011为了求解上述方程,我们可以利用标定板,国际棋盘是一个不错的选择。旋转矩阵和平移矩阵一共有6个未知量,我们可以用棋盘上的四边形的四个角点,它们的位置是可以测量出来的,因为棋盘平面有Z0。这样就可以提供8个方程,若有更多的图像,可以计算更多的参数。其实这样我们已经可以在不知道相机内参数的情况下计算出单应性矩阵H。下面考虑透镜畸变,理论上是可以定义一个没有畸变的透镜,但在实际情况19
中这是不可能的。这主要是制造上的原因,因为制作一个球形透镜比制作一个数学上理想的透镜更容易。而且从机械方面也很难把透镜和成像仪保持平行。透镜畸变主要分为两种,一种是径向畸变,另一种是切向畸变。首先谈谈径向畸变。实际的摄像机的透镜总是在成像仪的边缘产生显著的畸变。这个现象来源于鱼眼影响。对常用的透镜来说,光线在远离透镜中心的地方比靠近中心的地方更加弯曲。对径向畸变,成像仪中心的畸变为0,随着向边缘移动,畸变越来越严重。实际情况中,这种畸变比较小,而且可以用r0位置周围的泰勒级数展开的前几项描述。一般我们使用前三项来描述。成像仪某点的径向位置按下式进行调节:246xcorrectedxkrkrkr1123246ycorrectedykrkrkr1123这里xy,是畸变点在成像仪上的原始位置,xy,是校正后的新位置。correctedcorrected再谈谈切向畸变。这种畸变是由于透镜制造上的缺陷使得透镜本身与图像平面不平行而产生的。切向畸变可以用两个额外的参数p和p来描述,如下:1222xcorrectedxpyprx221222ycorrectedyprypx1222因此,我们共需要五个畸变参数。[12]下面我们来计算这些参数。先假定系统没有透镜畸变。对每一个棋盘视场,我们得到一个之前描述的单应性矩阵H,将H写成列向量和有缩放因子的形式,Hhhh12,,31sMrrT2,,,(3.2)分解方程我们有,1hsMrrtMh11111hsMrrtMh22221hsMTTtMh33t这里ts1/。由旋转矩阵的性质我们可以知道r1和r2相互正交。我们有rr120,即TT1hMMh0,(3.3)1220
又由r和r的模相等,12TT11TThMMhhMMh,1122(3.4)T1设置AMM,将其展开A11A12A13T1AMMAAA,122223AAA132333其实,我们还可以将它写的更加具体,1c0x22ffxx1cyA0。(3.5)22ffyy22ccccxxyy12222ffffxyxy将矩阵乘开看看每个元素的具体形式。因为A是对称的,它可以写成6个元素向量的点积。我们有Thhij11A11hhhhAi1ji2j2112hhATTij2222hAhvaijijhhhhAij3ij11313hhhhAij3ij22323hhij33A33T使用v的定义,两个约束可以写为:ijTv12a0,Tvv1122(3.6)如果我们得到了n个棋盘图像,把这些方程组合起来,就有,Va0,其中V是26K的矩阵。当图像足够多时,这个方程是有解的。摄像机的内参数可以从A矩阵计算得到,21
ftA/x112fytA11/AA1122A122cAf/txx132cyAA1213AA1123/AA1122A122tA33A13cyAA1213AA1123/A11外参数可以有单应性条件计算得到,1rtMh111rtMh22rrr3121TtMh3需要注意的是,这里计算得到的R不一定是旋转矩阵,我们可以利用SVD分解,T因为R是正交的,经过分解后得到RUDV,要求R是旋转矩阵,那么可令DT为单位矩阵,再令RUDV,这样R就是旋转矩阵。[13]现在我们考虑存在透镜畸变,我们可以把之前计算的内参数,令畸变参数为0,作为初始值,然后求解大型线性方程组。因为有畸变因素,在图像上得到的感知点不是真实的。令xy,为点的位置,令ttxydd,为畸变位置,我们有,xfXZc/txwwx,yfXZc/tywwy(3.7)通过下面的替换,可以得到没有畸变的标定结果:22xxtd24622pxy12dddprx1kr123krkr,yypry22pxy22td12ddd(3.8)这样我们可以得到一个大型的非线性方程组,最终可以计算出畸变参数。3.3结构光实验器材之所以引入投影仪,是因为通过投影仪投射结构光可以取消在扫面扫描仪中所要求的机械运动。假设投影仪的光学畸变很小,令1024768图像中22
一列像素为白色,投影仪就可以投射出一列白光,显示在黑色的背景中。当然,如果只投射一列白光是没有充分利用投影仪的,因为投影仪可以投射24位的彩色图像,存在一个序列的编码模式代替仅仅投射一列白光,可以减少所需要用来投影的图像。标识每个平面可以用空间编码,也可以用时域编码,或者两者的混合编码。它们都有各自的优缺点,比如空间编码只需要一个单一的静态的模式就可以做三维重构,而且还可以做三维动态场景的重构。时域编码的好处就是可以缩减三维重构的工作,但是不能处理三维动态场景。本实验所采用的是时域编码,它的编码是简单的且对不同表面纹理是鲁棒的,可以用来重构精度很高的三维物[14]体。一个简单的二进制编码最早由Posdamer和Altschuler在1981年提出的。二进制编码由一个二进制图像序列组成,每一帧都是一个简单的位图,投影一列光或者一行光就可以用整数来表示。比如第128列,对应的二进制编码为0010000000,结构光序列中的第128列光对应唯一的二进制编码。考虑到照相机和投影仪是作为一个整体的,系统是肯定存在已知性质的噪音,我们需要寻找一[15]个最鲁棒的二进制编码。Inokuchi在1984年最先提出了格雷码,格雷码可以通过反射二进制编码中每一个位平面途径获得,即二进制码最高位与格雷码最高位是一样的,从最高位开始,二进制码当前位与其前一位做或运算,得到结果就是格雷码对应位的编码。例如第128列,对应的格雷码就是0011000000,因为格雷码的两个相邻的码之间距离为一个汉明码距,所以它会更加的鲁棒。在实验中,采用的图片为42张无压缩图片,有二十张是在列方向上对平面的格雷编码,在这二十张中,其中有十张是是另外十张的反编码。有二十张是行方向上的格雷编码,与列相似。另外有两张是纯黑和纯白。在相机获取的照片中,需要对每一个像素点做出是否被结构光照射的判断。如果该点在每帧图像中都是被照射的亮点,那么它就是1111111111,如果在每帧图像中都没有被照亮,那么它就是0000000000。从而图像中每一个点可以从获取的一个序列图像中得到它的格雷编码。接下来就是要解决如何判断一个点是否被照亮的问题。在实际情况中,一些点可能是直接受到结构光照的点,但有些点是被环境光照射的,这样没有被结构光照射的点,也可能成为被照射的点,就会产生误差。这就是我们制作十张反编码图片的缘故,从相机拍摄的图片中,选取两张图片对应于两张互补的位图,计算这两张图片的平均值,把这个平均值作为投影对应的位图时的阈值。图片上高于这个阈值的点位值设为1,否则设为0。3.4操作步骤1、放置大木板,在墙角处摆放一张椅子,将木板横放在椅子上。23
2、打开电脑,将一个单目相机连接到主机上。3、设置三脚架,将三脚架缩放到底,把一个独立的支架固定到三脚架一端的支架上,也就是把三脚架原本的一端支架给加长了。4、将相机固定在加长支架的边缘处,此时可以把通电的投影仪连接到主机上,然后放置投影仪于矩形转盘上,取下相机和投影仪镜头上的遮盖并放在固定的位置。移动三脚架至大木板前方区域,用遥控器打开投影仪。5、打开FlyCap2软件,选择相机型号,点击ok后显示相机拍摄的画面,画面大小可通过鼠标滑轮调整,拍摄时点击保存即可。图3.12:flycapture2的界面6、打开所提供的3Dscanner文件夹下的board.pptx,此时投影仪会在大木板上投射棋盘图案。调整投影仪和相机的摆放角度以及它们之间的距离,它们的镜头方向越接近互相垂直越好,距离越大好,并且使得相机拍摄的画面包含木板的大部分区域。此外,请将投影仪摆放在相机的左边,因为3Dscanner文件夹下提供的程序是按照这种模式设计的。24
图3.13:棋盘图案7、调整焦距,调节投影仪focal下的按钮使得木板上的棋盘图案最清晰;再调节相机,拧松镜头边缘的一颗螺丝,一边转动镜头一边观察电脑屏幕中拍摄的棋盘,当棋盘看起来最清楚时,拧紧螺丝。8、用遥控器关掉投影仪,用标定板对相机做标定;用遥控器打开投影仪,用标定板对投影仪做标定。9、将铅块放在木板前方,使得投影光可以完全覆盖在铅块上,并且相机可以完全拍摄到它。打开3Dscanner文件夹下的structlight.pptx,structlight.pptx已经被设置成间隔10s自动播放模式,点击FlyCap2的Capturevideoorimagesequence,将相机设置成自动拍摄模式。图3.14:flycapture2工作界面10、在文件夹3Dscanner下我们提供了源程序mlStructuredLight.zip。25
4结果分析按照上述实验过程,本人利用自制的基于结构光的3D扫描仪获取了一些三维数据,它们在meshlab软件中显示结果如下:26
图4.1:一只握着笔筒的手图4.2:立在铅块上的雄鹰图4.3:人的上半身从图4.2可以看出方块几乎没有发生畸变,说明结果是良好的,图4.3中人物面部表情非常清楚,可见精度是很高的。但是所有的图中都有大量的噪音,这些都是因为被测物体有没有被结构光照射的区域。27
5结论本文使用主动方法,利用结构光重建出了三维物体,并且实验结果的精度很高,具有极少的畸变,这是与相机和投影仪标定以及它们的摆放位置有关的。标定结果越成功,实验结果就越完美。当然,从结果中可以看出它们都是有大量的黑点,因为相机和投影仪是分开的,所以这些噪音是无法避免的,不过是可以根据噪音的性质将这些噪音去除的。此外,还可以从结果看出它们都是物体的某一个侧面的重建,并不是整个物体的重建。未来工作可以通过扫描物体的多个侧面进行注册获得完整的物体的重建模型。28
致谢在经历了两个多月的科研学习后,我感触颇深。这是本人第一次做研究工作,总的来说就像是进行了一次思想上的大冒险。从刚开始接收到论文题目,确定任务目标,下载大量参考文献时,我是既惶恐又兴奋。我不能确定我是否有这个能力完成这项任务,但同时想到如果完成了这项任务,这是多么酷的一件事情,多么振奋人心事情。怀着这样的心情,我开始了科研工作,认真阅读参考文献。期间遇到难以理解问题,我便和身边的王康同学讨论,向刘利刚老师请教。在大量的阅读之后,我开始进去实验室工作,在搭建3D扫描仪和标定照相机与摄像机时,王康同学和杨红庄同学给了我极大地帮助,本人对他们感激不敬。最终,我成功实现利用基于结构光的3D扫描仪重建物体模型,这是与大家的帮助分不开的。我感谢刘利刚老师提供的良好的实验环境和在我工作期间对我的悉心指导,29
感谢王康同学和杨红庄同学给我提供的帮助。这次科研经历极大地鼓舞了我,让我对日后的科研工作更加有信心。参考文献[1]LANDM.F.,NILSSOND.-E.:AnimalEyes.OxfordUniversityPress,2004.2[2]VAILLANTR.,FAUGERASO.D.:Usingextremalboundariesfor3-dobjectmodeling.IEEETrans.PatternAnal.Mach.Intell.14,2(1992),157–173.3[3]HARTLEYR.I.,ZISSERMANA.:MultipleViewGeometryinComputerVision,seconded.CambridgeUniversityPress,2004.3,26,70[4]MARCR.Y.,POLLEFEYSM.,LIS.:Improvedreal-timestereooncommoditygraphicsha-rdware.InInIEEEWorkshoponRealtime3DSensorsandTheirUse(2004).3[5]LAURENTINIA.:TheVisualHullConceptforSilhouette-BasedImage30
Understanding.IEEETPAMI16,2(1994),150–162.3[6]CIPOLLAR.,GIBLINP.:VisualMotionofCurvesandSurfaces.CambridgeUniversityPress,2000.4[7]NAYARS.K.,NAKAGAWAY.:Shapefromfocus.IEEETrans.PatternAnal.Mach.Intell.16,8(1994),824–831.4,78[8]LEVINA.,FERGUSR.,DURANDF.,FREEMANW.T.:Imageanddepthfromaconventionalcamerawithacodedaperture.ACMTrans.Graph.26,3(2007),70.4[9]FARIDH.:RangeEstimationbyOpticalDifferentiation.PhDthesis,UniversityofPennsy-lvania,1997.4[10]BLAISF.:Reviewof20yearsofrangesensordevelopment.JournalofElectronicImaging13,1(2004),231–240.5[11]SALVIJ.,PAG`ESJ.,BATLLEJ.:Patterncodificationstrategiesinstructuredlightsystems.InPatternRecognition(April2004),vol.37,pp.827–849.6,47[12]Z.Zhang,“Aflexiblenewtechniqueforcameracalibration,”IEEETransactionsonPatt-ernAnalysisandMachineIntelligence22(2000):1330-1334[13]D.C.Brown,“Close-rangecameracalibration,”PhotogrammetricEngineering37(1971):855-866[14]POSDAMERJ.,ALTSCHULERM.:Surfacemeasurementbyspaceencodedprojectedbeamsystems.ComputerGraphicsandImageProcessing18(1982),1–17.47[15]INOKUCHIS.,SATOK.,MATSUDAF.:Rangeimagingsystemfor3-dobjectrecognition.InProceedingsoftheInternationalConferenceonPatternRecognition(1984),pp.806–808.4831'
相关文档
- 施工规范CECS140-2002给水排水工程埋地管芯缠丝预应力混凝土管和预应力钢筒混凝土管管道结构设计规程
- 施工规范CECS141-2002给水排水工程埋地钢管管道结构设计规程
- 施工规范CECS142-2002给水排水工程埋地铸铁管管道结构设计规程
- 施工规范CECS143-2002给水排水工程埋地预制混凝土圆形管管道结构设计规程
- 施工规范CECS145-2002给水排水工程埋地矩形管管道结构设计规程
- 施工规范CECS190-2005给水排水工程埋地玻璃纤维增强塑料夹砂管管道结构设计规程
- cecs 140:2002 给水排水工程埋地管芯缠丝预应力混凝土管和预应力钢筒混凝土管管道结构设计规程(含条文说明)
- cecs 141:2002 给水排水工程埋地钢管管道结构设计规程 条文说明
- cecs 140:2002 给水排水工程埋地管芯缠丝预应力混凝土管和预应力钢筒混凝土管管道结构设计规程 条文说明
- cecs 142:2002 给水排水工程埋地铸铁管管道结构设计规程 条文说明