简单,准确且具有鲁棒性的投影机-摄像机校准

简单,准确且具有鲁棒性的投影机-摄像机校准

  • Simple, Accurate, and Robust Projector-Camera Calibration

Daniel Moreno and Gabriel Taubin School of Engineering Brown University Providence, RI, USA
Email

摘要

结构光系统是获取3D模型的简单有效的工具。它们由现成的组件,数据投影仪和照相机构成,易于部署,并且可以与昂贵的激光扫描仪进行精确比较。但是只有在相机和投影仪都经过精确标定的情况下,如此高精度才能实现。相机已经建立了稳固的校准方法,但是虽然相机和投影仪都可以用相同的数学模型描述,但尚不清楚如何将这些方法应用于投影仪。结果,许多提议的投影仪标定技术利用简化的模型,而忽略了透镜畸变,从而导致精度损失。在本文中,我们提出了一种新颖的方法来估算投影仪图像平面中3D点的图像坐标。该方法依赖于未经标定的相机,并利用局部单应性来达到亚像素精度。结果,任何相机模型都可以用来描述投影机,包括具有径向和切向畸变系数的扩展针孔模型,甚至具有更复杂的镜头畸变模型的模型。
关键词结构光: 相机;投影仪标定;局部单应性

1.引言

自发光3D扫描应用程序首选结构光系统。它们易于部署,仅需使用现成的数据投影仪和照相机,并且在仔细实施时非常准确。一对投影机/摄像机用作立体系统,其优点是正确选择的投影图案可简化查找点对应关系的任务。在这样的系统中,投影仪被建模为逆照相机,几乎无变化地应用了无源立体系统的所有已知考虑因素。但是,校准程序必须适应以下事实:投影机无法像照相机那样直接测量投影到投影机图像平面上的3D点的像素坐标。

在投影仪和照相机中,都应调整视点,缩放,焦点和其他参数,以匹配每个目标物体的大小和扫描距离; 使先前的任何标定无效。因此,必须在每次使用前对结构光系统进行标定,以确保获得最佳结果,这使得标定过程的简便性与其精度一样有价值。在本文中,我们提出了一种结构光系统的新标定程序,该程序既易于执行又非常准确。
简单,准确且具有鲁棒性的投影机-摄像机校准

我们方法的关键思想是使用局部单应性估计投影机图像平面中校准点的坐标。首先,通过将与稍后投影以扫描目标相同的图案序列投影到校准对象上,从而重用投影仪像素和相机像素之间的密集对应关系,从而重用为扫描应用程序编写的大多数软件组件。其次,该组对应关系用于计算一组局部单应性,以允许找到标定对象中任何点在子像素精度上在投影仪图像平面上的投影。最后,将数据投影仪标定为普通相机。

我们的主要贡献是一种用于找到投影仪像素与3D世界点之间的对应关系的方法。一旦知道了这些对应关系,就可以将可用于无源立体的任何标定技术直接应用于结构光系统。我们的方法不依靠相机标定参数来找到对应关系集。结果,投影机的标定不会受到相机标定精度的任何影响。

作为第二个贡献,我们证明了所提出的标定方法可以以这样一种方式实施,即在数据采集后无需用户干预,从而使该过程即使对于没有经验的用户也有效。为此,我们制作了一个标定软件包,我们计划将其公开提供给对结构光应用感兴趣的任何人尝试。简而言之,我们的软件需要执行以下两项操作:

  • 1)将一系列格雷码图案投影到放置在工作空间内的静态平面棋盘上。为每种模式捕获一张图像并将它们全部存储在同一目录中。对几个棋盘格姿势重复此步骤,直到正确覆盖所有工作空间为止。为每个序列使用单独的目录。
  • 2)执行标定软件,然后选择包含所有序列的目录。输入棋盘格尺寸。点击“标定”按钮。该软件将自动解码所有序列,找到拐角位置,并标定投影仪和相机。最终标定将保存到文件中以备后用。

A.相关工作

有许多投影仪标定过程,但是,我们还没有找到满足以下两个关键特性的任何东西:对于普通用户而言易于执行,并且具有实现精确3D重建的高精度。几种方法**([1],[2],[3],[4],[5]和[6])**使用预先标定的相机在某些校准伪像中查找世界坐标,然后依次使用它们来分配 投影仪对应。这些方法可能执行起来很简单,但是由于它们都依赖于相机标定,因此它们在投影仪参数中都缺乏准确性。不准确之处是其方法的直接后果:即使很小的相机标定误差也可能导致大的世界坐标误差。他们的失败点是从那些不准确的世界坐标估计投影机参数,从而降低了整个系统的精度。

在**[7],[8]和[9]**中采用了不同的方法,其中既不需要校准相机,也不需要打印图案。取而代之的是,他们要求用户将投影仪移动到多个位置,以便投影到固定平面上的校准图案可以改变其形状。我们认为,移动投影仪可能不方便,或者通常是不可能的(例如,安装在钻机上的系统)。此外,如果必须进行度量标准重建,则这些方法不适用,因为它们的结果只是规模上的。

其他作者提出了算法([10],[11],[12]和[13]),其中迭代地调整投影图案,直到它们与打印图案重叠。重叠是借助未标定的相机测量的。由于必须清楚地识别出两种图案,因此经典的黑白图案被其彩色版本替代-彩色相机也是必不可少的。在实践中,切换到颜色模式将不可避免地进行颜色校准-打印的颜色和相机的颜色很少匹配-给用户带来了额外的要求。此外,这种校准方案需要来自摄像机的连续输入才能运行,因此无法将捕获阶段从标定算法中分离出来,这在该领域是一种常见且有用的做法。

投影仪标定方法([3],[7],[8],[10]和[12])中的常见做法是在标定平面和投影仪图像平面之间找到一种单应变换。尽管概念很优雅,它们是单应性线性算子,但它们不能像投影机镜头所引入的那样模拟非线性畸变。

在[14]中,作者声称他们的方法涉及在“安装在高精度移动机构上的扁平铝板上”投影图案,从而获得非常准确的结果。我们的抱怨是普通用户无法使用这种特殊设备,从而限制了其普遍适用性。我们认为此方法不切实际。

最后,Zhang和Huang [15],以及其他人[[7],[16])采用与我们相似的结构化光图案,但是,他们没有直接从相机拍摄的图像中计算出投影仪的点对应关系,而是创建了新的从投影机的角度合成图像,并将其输入到标定相机标定工具中。以投影机的分辨率(通常较低)创建合成图像的中间步骤可能会丢弃重要的信息,这是不希望的。相反,我们建议的方法直接在相机分辨率下从结构光图案中找到投影仪点的对应关系。没有创建合成投影仪图像。

本文的其余部分安排如下:第二部分介绍了标定方法,第三部分详细介绍了实施方法,第四部分讨论了为验证该方法的准确性而进行的实验,并与其他校准软件进行了比较。第五节总结了我们的工作。

2.方法

我们的设备包括一台投影仪和一台摄像机,它们表现为一对立体。我们使用扩展有径向和切向变形的针孔模型来描述它们,这比几种方法([3],[5],[6],[7],[8],[9]和[12]更具优势),它们无法补偿投影图案中的变形。此外,我们在实验中发现,大多数投影机的焦平面外都有明显的失真,这些失真会影响最终3D模型的准确性。

我们以Zhang的方法[17]为灵感,以其简单性和众所周知的准确性。它使用平面棋盘格作为标定工件,这对于任何能够使用打印机的人来说都很容易制造。在张的相机标定中,用户在几个方向上捕获了已知尺寸的棋盘图像,并且该算法使用相机坐标系中棋盘角与附加到棋盘平面上的世界坐标系之间的关系来计算相机校准参数。

A.投影机和相机模型

所提出的标定方法允许选择任何参数模型来描述投影仪和照相机。我们的实现使用针对投影仪和相机使用径向和切向畸变扩展的针孔模型。令XR3X\in R^3为世界坐标系中以相机中心为原点的点,让uR2u\in R^2为相机平面中X图像的像素坐标,则XXuu通过以下方程式关联:
简单,准确且具有鲁棒性的投影机-摄像机校准
其中KcK_c被称为相机固有校准,k1k_1k2k_2为径向失真系数,k3k_3k4k_4为切向失真系数。同样,如果RRTT是旋转矩阵和平移矢量,它们编码上述定义的世界坐标系中的投影仪投影中心的姿态,并令vR2v\in R^2为投影仪平面中X图像的像素坐标,然后
简单,准确且具有鲁棒性的投影机-摄像机校准
其中投影仪通过其固有校准KpK_p来描述,而一对R,T(R,T)被称为立体系统外部标定。

B.数据采集

相机标定涉及收集平面棋盘的图像。我们已经修改了此采集步骤,以便可以同时校准相机和投影仪。新的数据采集是:对于每个平面方向,用户必须投射并捕获完整的结构光图案序列,而不是仅捕获一个图像。尽管任何结构光模式序列都可以使用,但我们已经使用并推荐了格雷码序列(图2),因为它们对解码错误具有鲁棒性-在校准例程中避免了所有可能的错误通常都超过执行。
构光模式序列都可以使用,但我们已经使用并推荐了格雷码序列(图2),因为它们对解码错误具有鲁棒性-在标定例程中避免了所有可能的错误通常都超过执行速度。有人可能会争辩说,为每个棋盘格姿势捕获许多图像会使我们的方法变得复杂,但是整个数据采集任务与稍后将执行的标准结构光扫描任务相同。此外,用户唯一实际的要求是保持棋盘格静止几秒钟,这是投影和捕获完整序列所需的时间。简单,准确且具有鲁棒性的投影机-摄像机校准

C.相机标定

固有摄像机标定是指估计所选摄像机模型中的参数。按照Zhang的方法,我们需要针对每个捕获的棋盘方向找到所有棋盘角在相机图像平面中的坐标。使用标定程序在每个棋盘方向的完全照亮图像中寻找角位置。完全照亮的图像是在所有数据投影仪像素都打开时捕获的图像-如果没有可用的图像,则可以将其创建为序列中每个图像的最大值。该过程与通常的相机校准一样继续进行,请查看[17]了解更多详细信息。
我们的软件期望每个格雷码序列中的第一张图像都是完全照亮的图像,可以直接用于相机校准。它使用OpenCV的findChessboardCorners()函数[18]自动查找棋盘格角的位置,然后对其进行优化以达到亚像素精度。最后,对函数calibrateCamera()的调用将返回已标定的摄像机参数。
简单,准确且具有鲁棒性的投影机-摄像机校准

D.投影机标定

我们用相同的数学模型描述了投影机和照相机,因此,我们希望遵循相同的步骤来对它们进行标定。但是投影机不是相机。如果投影仪是照相机,则可以从其视点捕获图像,搜索其中的棋盘格角,然后像以前一样继续操作。实际上,不存在此类图像,但是我们知道从结构光序列中提取的投影仪和相机像素之间的关系,并且我们将展示如何使用此关系来估计投影仪像素坐标中棋盘格角的位置。此外,由于所有计算都是以相机的原始分辨率进行的,因此与使用投影仪分辨率的合成图像相比,角坐标的定位精度更高。
在投影仪坐标系中计算棋盘格角坐标的过程可以分解为三个步骤:首先,对结构光序列进行解码,并将每个摄像机像素与投影仪的行和列相关联,或设置为“不确定”(图3)。; 其次,估计摄像机图像中每个棋盘格角的局部单应性。第三个也是最后一个,应用刚发现的局部单应性将每个角从摄像机坐标转换为投影仪坐标(图4)。
结构光解码步骤取决于投影图案,在我们的情况下是行和列的互补格雷码。在这里,我们的方法不同于[15]提出的条纹模式-我们的选择优先考虑解码精度而不是采集速度。正如在[19]中指出的那样,可以将格雷码图像的一个子集(条纹看起来很“细”的那些子集)视为呈现高频模式。这些高频模式可以将在每个像素处测得的强度分为直接分量和全局分量。理想情况下,在每个相机像素处感知到的光量恰好是一个投影仪像素被打开或关闭的乘积,但实际上这很少是真的。相机在一个像素处报告的强度值是投影仪像素发出的光量(称为直接分量)与其他来源(包括来自其他投影仪像素的反射)产生的一定量的光(称为全局分量)之和。
灰色序列中的解码错误主要是由于无法识别这些组件或完全忽略它们的存在而引起的。相反,如果正确识别了每个组件,则一组简单的规则就可以大大减少解码错误(图3)。有关主题的规则和其他信息在[20]中以鲁棒像素分类的名称给出。
从结构光模式获悉的关系不是双射的,不能立即用于将摄像机坐标转换为投影仪坐标。为了克服这个问题,我们提出了局部单应性的概念:仅在平面区域内有效的单应性。我们没有应用单个全局单应性将所有棋盘格角转换成投影仪坐标,而是为每个棋盘格角找到了一个局部单应性。估计每个局部单应性在目标角的一小部分范围内,并且仅将那个角转换为投影仪坐标而不是其他角才有效。局部单应允许对非线性失真进行建模,因为每个角均独立于其他角平移。另外,由于它们被过度确定,因此它们对于较小的解码错误具有鲁棒性。它们是根据邻域中的点数超过最低要求而估算出来的。
针对每个棋盘格拐角找到一个本地单应性,考虑到以拐角位置为中心的摄像机图像补丁中所有正确解码的点。令p为所考虑的补丁中某个点的图像像素坐标,并令qq为该点的解码投影仪像素为qq,然后我们求出最小的单应性HH
简单,准确且具有鲁棒性的投影机-摄像机校准
使用局部单应性HH将位于贴片中心的目标角pp转换为投影仪坐标中给出的qq
简单,准确且具有鲁棒性的投影机-摄像机校准
重复相同的策略,直到所有棋盘格角都已平移。现在,知道了投影仪坐标系中所有角的位置后,即可使用与照相机相同的步骤找到投影仪固有校准。

E.立体系统标定

立体标定意味着找到投影机和相机之间的相对旋转和平移。此时,之前找到的固有参数保持固定,用相机坐标标识世界坐标,然后我们以世界坐标寻找投影机的姿势。标定棋盘的物理尺寸是已知的。在照相机和投影仪图像平面上的棋盘角投影也是已知的-在前面的步骤中可以找到它们。因此,投影机-摄像机立体系统的标定与任何其他摄像机-摄像机系统的标定相同。
我们的软件使用先前找到的棋盘格角坐标及其投影调用OpenCV的StereteCalibrate()函数,其输出是与投影机-摄像机对相关的旋转矩阵R和平移矢量T。

F.算法

完整的标定过程可以归纳为简单的步骤,并可以作为标定算法实现:
1)在完全照亮的图像中检测每个平面方向的棋盘角位置。
2)使用格雷码高频模式估计每组的全局和直射光分量。
3)考虑到步骤2中的像素全局分量和直接分量,通过鲁棒的像素分类将结构光图案解码为投影仪的行和列对应关系。
4)从第1步开始以棋盘格角坐标为中心的小图像块(例如47x47像素正方形),并使用每个块中所有正确解码的像素来计算从相机坐标到投影仪坐标的局部单应性。在步骤3中获得了对应关系。
5)使用步骤4中的局部局部单应性,将摄像机的角位置(步骤1)转换为投影仪坐标。
6)将世界坐标系固定到棋盘平面,并使用Zhang的方法通过步骤1中的相机角位置找到相机内在元素。
7)将世界坐标系固定到棋盘平面,并使用Zhang的方法通过步骤5中的投影仪角位置找到投影仪的内在要素。
8)修复相机和投影仪的内在因素(步骤6和7),并使用世界,相机和投影仪的拐角位置(步骤1和5)来估计立体声外部参数。
9)可选地,所有参数(内在和外在)都可以捆绑调整在一起,以最大程度地减少总重投影误差。

3.标定软件

我们已将第2-F节中的算法实施为完整的结构光系统标定软件。目的有两个方面:首先,证明在可以使用标定图像的情况下,我们的方法可以全自动执行;其次,为了促进广大用户访问高质量3D扫描,我们认为结构化照明系统是关键。我们的经验表明,准确地标定结构光系统是一项繁琐且耗时的任务。为了简化任务,我们编写了带有图形用户界面的软件(图5)(GUI)能够按照简单的步骤标定此类系统。该软件完全用C ++编写,使用Qt [21]作为图形界面库,而OpenCV [18]库用于视觉相关任务。通过选择该库,可以在常见的平台(例如Microsoft Windows和GNU / Linux)中构建和运行该软件。
棋盘角点检测使用OpenCV中的findChessboardCorners()函数,但是,在[22]中指出,这个功能是非常缓慢在和高分辨率图像相结合。我们使用12Mpx图像,并且已经观察到此问题。我们的解决方案是对输入图像进行降采样,以加速角点搜索,并将降采样的角点位置视为高分辨率搜索的近似解决方案。这个简单的技术已经被证明是快速而有效的:搜索速度是独立的准确,就好像进行,因为没有下采样的精细化是在原始分辨率执行的摄像头分辨率和结果。从理论上讲,直接与全局光组件应该从最高频率模式来估计投射。
在实践中,这样做会产生带有可见伪像的解码图像。因此,我们跳过最高频率,我们计算从两个第二高的模式,直接和全局的部件。组合多个图案可提供更好的精度,而跳过最后一个图案可消除由于投影机分辨率受限而造成的伪影。
S={I1,Ik}S =\{ I_1, ···I_k\} 为所选的一组图案图像,将pp设为有效像素位置,然后得出pp的直接分量和全局分量Ld(p)L_d(p)和$L_g§,如下:
简单,准确且具有鲁棒性的投影机-摄像机校准

其中b[0,1)b\in [0,1)是用户设置的值,用于模拟关闭的投影仪像素发出的光量-我们建议读者研究[19]以获得更多详细信息。我们在设置中设置了b=0.3b = 0.3
最后,根据固定大小的图像补丁估计局部单应性;因此,我们必须为其选择合适的补丁大小。如果选择的大小太小,则该算法对解码错误变得非常敏感。相反,如果色块太大,则该算法对错误具有鲁棒性,但无法应对强烈的镜头失真。通过实验,我们发现补丁尺寸为47x47像素,可以在我们的系统中正常运行; 我们在所有测试中都使用了此值。但是,在给定系统参数的情况下,需要进行更严格的分析来确定最佳尺寸。

4.结果

我们开发了这种标定方法,以实现高精度3D扫描。因此,我们认为最好的标定质量评估是扫描已知几何形状的物体,并将其3D模型与地面真实数据进行比较。此外,我们认为,如果不与其他可用的标定方法进行比较,评估是不完整的。我们已经搜索并发现**Samuel Audet的ProCamCalib [10]和Projector-Camera Calibration Toolbox(也为procamcalib)[1]**是公开可用的工具。我们已经尝试过这两种方法,但是Audet工具的当前版本无法与我们的相机一起使用,因此,我们将仅将我们的方法与Projector-Camera Calibration Toolbox [1]进行比较,从现在开始仅是“ procamcalib”。

A.测试设置

我们的测试设置包括三菱XD300U DLP数据投影仪和佳能EOS Rebel XSi相机。投影仪的分辨率为1024x768,相机的分辨率为4272x2848。它们一个接一个地放置(图6)。它们的焦距,变焦和方向在标定之前已根据扫描目标进行了调整。
简单,准确且具有鲁棒性的投影机-摄像机校准

B.重投影误差

通常,仅考虑重投影误差才能评估摄像机校准的质量。但是,在标定图像中测得的最小重投影误差不能确保任意对象的最佳重建精度。实际上,在我们的实验中,对固有参数和非固有参数都添加了额外的最小化步骤(第2-F节,第9步),过度拟合了校准数据,从而产生了精度稍低的3D模型。总而言之,重投影误差是标定精度的指标,我们将其作为与其他方法进行比较的参考。表一显示了我们的方法和procamcalib的重投影误差;为了进行进一步的比较,我们还包括了方法的修改版本,该方法使用一种全局单应性而不是局部单应性。结果,使用相同的相机标定,由于依赖于相机标定来寻找对应的世界平面,前摄相机的重投影误差比我们的高得多。修改后的方法是procamcalib的改进,但是,鉴于其总体单应性的线性,它无法将投影机镜头畸变建模为次优。
简单,准确且具有鲁棒性的投影机-摄像机校准

C.投影机镜头畸变

我们方法的主要优点之一是,它可以对投影机镜头中的径向和切向畸变进行建模,就像在相机中一样。与其他论文(例如[9])中所说的相反,投影机镜头有明显的变形,特别是在边缘附近。表二显示了通过我们的方法估算的失真系数的示例; 注意,k2k2的值不可忽略。完整的失真模型(图7)显示,靠近左上角的点从其理想的未失真坐标偏移了约12个像素; 在投影图像的底部中心(其主要点所在的位置),没有出现预期的失真。总而言之,数据投影仪具有不容忽视的镜头畸变。
简单,准确且具有鲁棒性的投影机-摄像机校准

D.地面真实数据

为了评估标定的质量(超出重投影误差),我们扫描了真实物体并创建了3D模型,可以将其与地面真实数据进行比较。我们的第一个模型对应于200x250毫米的平面,为此,我们在上一节中使用两个校准分别创建了一个3D模型。这些模型的地面真实数据是从理想平面采样的点。通过我们的标定重建的模型的误差分布(图8顶部)类似于高斯分布,其中95%的样本的误差等于或小于0:33 mm。另一方面,使用procamcalib标定进行的重建(图8底部)具有不规则的误差分布,表明标定不准确。结果总结在表III中
简单,准确且具有鲁棒性的投影机-摄像机校准
简单,准确且具有鲁棒性的投影机-摄像机校准
我们的下一个模型是用结构光系统和商用激光扫描仪扫描的雕像头。激光扫描仪是NextEngine台式扫描仪2020i。将两个3D模型与Hausdorff距离进行比较,结果显示为图像(图9)。色标表示两个网格之间的距离,范围为0到1毫米。该错误仅在扫描期间处于阴影中的区域。在面部区域,误差最大为0:5 mm。最后,我们从六个不同的角度扫描了一个雕像,并在手动对齐和合并后,使用“平滑签名距离”(SSD)表面重建创建了一个完整的3D模型([23],[24])。最终的网格保留(图10)甚至很小的细节。
简单,准确且具有鲁棒性的投影机-摄像机校准
简单,准确且具有鲁棒性的投影机-摄像机校准

5.结论

我们介绍了一种校准投影机相机系统的新方法,该方法易于实现且比以前的方法更准确,因为它使用完整的针孔模型(包括径向和切向镜头畸变)来描述投影机和相机的行为并计算3D像素分辨率未校准的点投影相机图像。我们已经开发了易于使用的校准软件,我们将免费提供给人们进行实验。

致谢

作者要感谢Fatih Calakli对本文进行校对,并感谢他为改进这项工作提出的有益建议。本文介绍的材料描述了美国国家科学基金会在IIS-0808718和CCF-0915661资助下的工作。

参考文献

[1] G. Falcao, N. Hurtos, J. Massich, and D. Fofi, “ProjectorCamera Calibration Toolbox,” Tech. Rep., 2009, available at http://code.google.com/p/procamcalib.
[2] F. Sadlo, T. Weyrich, R. Peikert, and M. Gross, “A practical structured light acquisition system for point-based geometry and texture,” in Point-Based Graphics. Eurographics/IEEE VGTC Symposium Proceedings, june 2005, pp. 89–145.
[3] M. Kimura, M. Mochimaru, and T. Kanade, “Projector calibration using arbitrary planes and calibrated camera,” in Computer Vision and Pattern Recognition, 2007, pp. 1–2.
[4] J. Liao and L. Cai, “A calibration method for uncoupling projector and camera of a structured light system,” in Advanced Intelligent Mechatronics, july 2008, pp. 770–774.
[5] K. Yamauchi, H. Saito, and Y. Sato, “Calibration of a structured light system by observing planar object from unknown viewpoints,” in 19th International Conference on Pattern Recognition, dec. 2008, pp. 1–4.
[6] W. Gao, L. Wang, and Z.-Y. Hu, “Flexible calibration of a portable structured light system through surface plane,” Acta Automatica Sinica, vol. 34, no. 11, pp. 1358–1362, 2008.
[7] H. Anwar, I. Din, and K. Park, “Projector calibration for 3D scanning using virtual target images,” International Journal of Precision Engineering and Manufacturing, vol. 13, pp. 125– 131, 2012.
[8] J. Drareni, S. Roy, and P. Sturm, “Geometric video projector ´ auto-calibration,” in Computer Vision and Pattern Recognition Workshops, 2009, pp. 39–46.
[9] J. Drareni, S. Roy, and P. Sturm, “Methods for geometrical ´ video projector calibration,” Machine Vision and Applications, vol. 23, pp. 79–89, 2012.
[10] S. Audet and M. Okutomi, “A user-friendly method to geometrically calibrate projector-camera systems,” in Computer Vision and Pattern Recognition Workshops, 2009, pp. 47–54.
[11] I. Martynov, J.-K. Kamarainen, and L. Lensu, “Projector calibration by inverse camera calibration,” in Proceedings of the 17th Scandinavian conference on Image analysis, Berlin, Heidelberg, 2011, pp. 536–544.
[12] J. Mosnier, F. Berry, and O. Ait-Aider, “A new method for projector calibration based on visual servoing,” in IAPR Conference on Machine Vision Applications, 2009, pp. 25–29.
[13] S.-Y. Park and G. G. Park, “Active calibration of cameraprojector systems based on planar homography,” in International Conference on Pattern Recognition, 2010, pp. 320–323.
[14] X. Chen, J. Xi, Y. Jin, and J. Sun, “Accurate calibration for a cameraprojector measurement system based on structured light projection,” Optics and Lasers in Engineering, vol. 47, no. 34, pp. 310–319, 2009.
[15] S. Zhang and P. S. Huang, “Novel method for structured light system calibration,” Optical Engineering, vol. 45, no. 8, pp.
083 601–083 601–8, 2006.
[16] Z. Li, Y. Shi, C. Wang, and Y. Wang, “Accurate calibration method for a structured light system,” Optical Engineering, vol. 47, no. 5, p. 053604, 2008.
[17] Z. Zhang, “A flexible new technique for camera calibration,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 22, no. 11, pp. 1330–1334, nov 2000.
[18] G. Bradski, “The OpenCV Library,” Dr. Dobb’s Journal of Software Tools, 2000. [Online]. Available: http://opencv.org/ [19] S. K. Nayar, G. Krishnan, M. D. Grossberg, and R. Raskar, “Fast separation of direct and global components of a scene using high frequency illumination,” in SIGGRAPH. New York, NY, USA: ACM, 2006, pp. 935–944.
[20] Y. Xu and D. G. Aliaga, “Robust pixel classification for 3d modeling with structured light,” in Proceedings of Graphics Interface. New York, NY, USA: ACM, 2007, pp. 233–240.
[21] Qt Project, “Qt cross-platform application and UI framework.” 2012. [Online]. Available: http://qt.nokia.com/ [22] J. Chen, K. Benzeroual, and R. Allison, “Calibration for highdefinition camera rigs with marker chessboard,” in Computer Vision and Pattern Recognition Workshops, 2012, pp. 29–36.
[23] F. Calakli and G. Taubin, “SSD: Smooth signed distance surface reconstruction,” Computer Graphics Forum, vol. 30, no. 7, pp. 1993–2002, 2011.
[24] F. Calakli and G. Taubin, “SSD-C: Smooth signed distance colored surface reconstruction,” in Expanding the Frontiers of Visual Analytics and Visualization, 2012, pp. 323–338.