精华内容
下载资源
问答
  • 基于红外编码结构光的深度测量方法
  • 编码结构光论相关论文,主要是是用编码结构光实现物体的三维测量
  • 文章对目前各种颜色编码结构光法进行了系统论述,介绍了基于时间编码、空间编码、直接编码的各种颜色编码方法的原理,分析了颜色编码结构光法在三维物体测量工程技术中应用的优缺点,并简述了颜色编码结构光三维测量...
  • 基于双目编码结构光的三维重建方法,王鑫,李松,传统的空间领域的结构光编码是一个用于获得3D信息的重要技术。本文通过增加一个相机来使用立体结构,从而可以省略投影仪的校准。�
  • 彩色编码结构光3D测量系统中横向色差的分析和补偿
  • 在时空二值编码结构光三维成像系统中,一个投影仪像素通常与摄像机图像坐标系的多个像素对应。为提高系统的测量精度及数据密度,提出了一种适用于时空二值编码结构光三维成像系统的摄像机与投影仪图像亚像素匹配方法...
  • 基于EinScan-S的编码结构光方法空间三维模型重建1 相关原理1.1 编码结构光成像原理1.2 编码结构光编码方式1.3 编码结构光与侧影轮廓方法比较1.4 编码结构光方法流程2 三维模型制作2.1 防晒霜罐三维模型制作2.1.1 ...


      上一篇 博客(https://blog.csdn.net/zhebushibiaoshifu/article/details/114097736)详细介绍了基于3DSOM的 侧影轮廓方法物体空间三维模型重建;接下来,在本文中,我们将在一款新的空间模型建立软件—— EinScan-S中,完成一种新的空间三维模型重建方法—— 编码结构光方法
      需要注意的是,基于EinScan-S软件完成空间三维模型重建,可以分为前期的 数据扫描工作与后期的 上机建模工作;而本文直接基于扫描后所得数据,仅对 上机建模工作加以详细介绍。
      本文所用数据为某品牌清透防晒霜罐、番茄以及曼妥思罐等三种实际物体的初始图像若干。由于所用的图像数据并不是我的,因此遗憾不能将这一数据一并提供给大家;但是依据本篇博客的思想与对操作步骤的详细解释,大家用自己手头的图片,可以将相关操作与分析过程加以完整重现。
      本文所用软件为EinScan-S series_v2.7.0.6软件、Microsoft照片2020软件。关于EinScan-S的详细信息,大家可以访问其官网:https://www.einscan.com/。

    1 相关原理

      随着高清晰度、高速图像传感器出现,以及计算机运算能力提升,三维成像技术得到迅速发展[1],已广泛应用于新型农业、三维表面修复、三维空间测量、人脸识别、人机交互与航空航天等多领域[2-5]。
      在上一篇博客中提到,三维信息获取方法在具体接触方式角度,可分为接触式方法与非接触式方法两种[2]。而由信息获取时所依据辐射原理,其亦可分为主动方法与被动方法[3];前者需要对目标物体进行能量辐射,后者则借助物体图像,通过分析物体对环境光的反射加以完成[1, 3]。在上述博客中的基于侧影轮廓方法物体空间三维模型重建即为一种被动方法;这一建模方法具有便捷、原理易于理解与模型所模拟轮廓较为细致等优势。而另一方面,侧影轮廓方法仅仅获取目标物体表面轮廓信息与纹理信息,对物体表面可能存在的内陷部分(如茶杯的内部、番茄顶部与底部的凹槽等)建模效果则较为不理想。
      编码结构光方法则可解决这一问题。本文依据这一方法,依据若干目标物体投影图像,建立其三维模型。

    1.1 编码结构光成像原理

      完整的编码结构光系统由摄像机、投影仪与计算机系统组成[3]。在已知投影仪与摄像机位置的情况下,利用三角法原理即可获取物体位置信息。不考虑计算机系统,简化编码结构光系统如图1所示。

    在这里插入图片描述

    图1 简化编码结构光成像示意图

      其中,L为摄像机位置,S为投影仪位置,H为投影仪至物体表面距离,ABCDEF为目标物体表面,BCDE位置为物体表面凸起,p为投影仪发出光线与物体交汇处,pL为投影仪经过物体后进入相机光线,pm与pn分别为两光线直线的延长线。
      由数学关系可知:
    在这里插入图片描述
      其中,LS为系统已知参数,mn可依据光栅位移求解,H在投影成像时由设备自动求出;由此即可得出物体表面凸起厚度pm。针对物体表面的凹陷深度求解同理。
      上述为简化后的编码光成像示意图,可以看到投影仪光线与物体表面为垂直状态。若将其进一步拓展至一般情况,依据相关文献[3],得到结构光三维视觉模型如图2所示。
    在这里插入图片描述

    图2 结构光三维视觉模型

      其中,左侧摄像机与右侧投影仪分别具有一个对应坐标系,在某一空间物体表面点对应投影仪坐标与摄像机坐标均确定的情况下,即可求解得到这一点的空间坐标(世界坐标,World Coordinate)。上述过程在不同结构光三维系统中可能所使用具体公式不同,但其所依据原理均为三角化[1]。
      此处值得一提的是,立体(双目)视觉与结构光三维成像系统光学模型与成像原理较为类似——前者对视差进行三角化,从而计算物体的深度;后者中投影仪光学模型与摄像机光学模型基本一致,仅在方向上具有区别[1],即可视作将“双目”其中一只“目”更改为投影仪。
      因此,为实现目标物体点位的空间坐标,需要将投影仪所产生光线图案与摄像机所得到投影图像相结合。这一过程即需要对投影仪投影图案加以编码——先将投影仪“编码”,再利用摄像机“解码”,从而将编码视作投影仪与摄像机之间信息沟通的“桥梁”。

    1.2 编码结构光编码方式

      依据不同角度,可将结构光投影图案所对应多种编码方法加以类别区分。依据文献[3],由编码策略角度,将结构光的编码方法分为时间编码、空间编码直接编码
    在这里插入图片描述

    图3 编码结构光编码方式

      时间编码方法依据时间顺序依次产生多种投影图案,并以像元为单位分别对其加以编号;其可进一步分为二值编码、n值编码、时间编码与相移法结合,以及混合编码等四类。其中,二值编码还可继续分为普通二值码(以m个图案编码2m个条纹)与格雷码(减少普通二值码条纹边界数);n值编码需建立一张码值表,码值与特定RGB颜色或灰度对应,是对二值编码的泛化;时间编码与相移法结合可获得较高空间分辨率,且对像元编码准确;混合编码则可在投影图案数量较少时获得较高的精度。时间编码方法整体实现过程简单,空间分辨率较高;但其执行过程中需投影多幅图案,故只适合于静态场景测量。
      空间编码方法中各点码字由其周围临近点像素值、形状等信息得到;其可进一步分为非正式编码、基于德布鲁因(de Bruijn)序列编码与基于M-阵列编码三类。其中,非正式编码依据各区域信息(如条纹间隔信息)产生码字;基于德布鲁因序列编码借助欧拉圈或哈密顿圈[6],生成de Bruijn序列作为编码;基于M-阵列编码利用并圈剪接法、代数生成法等获得M-阵列,从而获取各点码值。空间编码方法只需一副投影图案,适用于动态场景的三维信息获取;而其空间分辨率较之时间编码方法较低,且在解码阶段,可能由于空间邻近点信息丢失而导致误差产生。
      直接编码方法则对各像元分别加以编码;其可进一步分为灰度直接编码与彩色直接编码两类。其中,灰度直接编码依据图像中各像元像素值与其在均匀强度光照下像素值之比实现编码;彩色直接编码则利用彩虹图案编码模式对前者加以改进。直接编码方法需利用较多颜色或周期性以得到高分辨率投影图案;而其编码图像各像元间色差较小,对噪声敏感;且图像颜色易受到测量表面颜色影响,其应用往往局限于中性颜色或灰、白色物体。
      编码结构光不同编码方式从属关系如图3所示。
      除上述内容外,结构光编码方式还有许多其他分类方法,如依据像元取值可分为二值编码、灰度编码与彩色编码;依据编码周期可分为周期编码与绝对编码等[3]。

    1.3 编码结构光与侧影轮廓方法比较

      通过学习、理解与查阅相关文献,可以感受到编码结构光与侧影轮廓方法的异同。
      在三维信息获取方法层面,编码结构光方法与侧影轮廓方法均属于非接触式方法,即二者在执行时均无需直接与目标物体接触,而是采取利用一定仪器设备拍摄物体图像的方式(或许其亦可以视作一种广义的遥感)获取信息;其中,前者由于需要自身投影仪作为光源,因此属于主动方法;后者由于直接利用目标物体的多角度图像,即直接运用成像时太阳光或其它外部光源等,因此属于被动方法。
      在模型建立方法原理层面,如前所述,编码结构光方法利用摄像机获取投影仪所发射出光线在目标物体表面的分布特征,并通过对不同的光线分布方式加以编码,由此建立物体位置、投影仪坐标与摄像机坐标之间的联系,进而利用三角化方法求解目标物体当前位置所处的空间坐标信息;如前所述,这一原理与双目视觉基本原理(即对视差进行三角化进而求解物体深度)较为近似[1]。而侧影轮廓方法则借助可见外壳(Visual Hull)——即当以透视投影方式由多视角观察目标对象时,各视角对应画面均可得到一条该物体侧影轮廓线,此侧影轮廓线与对应透视投影中心共同确定三维空间中一个一般形状锥体,而所观察对象物体便位于这一立体锥体内部。不断由不同方向增加目标物体的观测视角数量,可使得各对应锥体外形不断逼近对象物体表面,从而对目标物体外形特征加以空间三维可视化。
      在所获取物体信息层面,编码结构光方法依据所拍摄图像,分别获取目标物体外形细节与纹理信息,其中外形细节包括物体表面的内陷部分等;外形细节通过光线在物体表面的弯曲、形变等信息获取,纹理信息则直接由普通拍摄方式所得图像中物体纹理获取。侧影轮廓方法则直接依据目标物体多角度图像,分别获取物体表面形状与纹理信息。由于侧影轮廓方法对物体表面形状的获取是依据不同多角度图像的目标区域边缘(即目标物体区域与背景等非目标区域交界处)加以实现,因此其难免会丢失物体表面部分内陷区域信息。
      在操作流程层面,编码结构光方法与侧影轮廓方法均需要“定标操作”;这是由于两种方法均需依据所拍摄图像对目标物体位置加以确定。而侧影轮廓方法定标操作较为简单,仅需对拍摄多角度图像所用相机加以定标,目前已有基于平面镜的相机内参标定方法、基于几何的成角度平面镜装置相机标定方法等。而对于编码结构光方法,除了需要对相机定标外,还需要对投影仪的亮度、几何等加以定标[1]。这是由于其编码往往与投影仪所辐射出光线的亮度、颜色或位置分布等具有关系。

    1.4 编码结构光方法流程

      进行编码结构光方法的执行,需要首先搭建一个完整的编码结构光系统,即由摄像机、投影仪与计算机系统三者所组成的整体。编码结构光系统的视觉模型示意图如图2所示。
      搭建完成后,需要对系统进行标定,定标的结果直接决定三维系统的重建精度。其中,定标包括相机定标与投影仪定标,投影仪定标又可继续分为投影仪亮度定标与投影仪几何标定[1]。相机定标即建立传感器中点与空间中过光心的直线之间对应关系,如平板定标算法[7];投影仪亮度定标将使得系统实际所得投影图像亮度与投影仪投影图像的亮度值满足线性关系,从而使得亮度值可被用来恢复该点在投影仪成像平面的坐标;投影仪几何标定用以确定目标物体表面某点空间位置与投影仪平面像素点的对应关系。
      定标完成后,依据所选择策略生成编码图像。如前所述,图像具有多种编码方式,如时间编码、空间编码、直接编码等。图像编码后,将其导入投影仪中,并由投影仪将其投射至目标物体表面。同时,由摄像机拍摄投影后的目标物体,通过解码方式获取原有编码图像在目标物体表面各位置的分布情况,从而获取能够反映目标物体表面特征的点云文件。以本文所用EinScan-S series_v2.7.0.6软件为例,可以看到其所得到的目标物体模型表面亦为由点云组成的实体,如图4所示。
    在这里插入图片描述

    图4 点云示意图

      获取点云文件后,对其进行相关后处理操作,对所生成目标物体表面进行后续补充、优化等,并最终显示建模结果。
      编码结构光方法流程如图5所示。
    在这里插入图片描述

    图5 侧影轮廓方法流程

    2 三维模型制作

    2.1 防晒霜罐三维模型制作

      本部分以某品牌清透防晒霜罐为例,展示利用EinScan-S软件,借助编码结构光方法制作三维模型的具体流程。同时,对本文操作过程中出现的问题、存在的不足以及值得注意的地方等探讨附于本文第三部分。

    2.1.1 前期准备工作

      如本文开头部分所述,我们本次未涉及EinScan-SE扫描头、转台、标定板等硬件设备与前期目标物体对应的拍摄、扫描图片获取工作;但是要了解,在我们开始本文的上机实际操作前,还需进行硬件安装、标定、白平衡测试(若选择纹理扫描)、物体扫描(包括固定扫描与旋转扫描模式,本文需同时选中纹理扫描)、亮度调节与保存数据等线下实际操作。经过上述操作后,方可得到本文中我们开始操作时所用的目标物体模型初始图像数据。

    2.1.2 软件配置与数据导入

      打开EinScan-S软件,选择“EinScan-SE”选项,单击“下一步”,随后可以看到软件左上角出现“EinScan-SE”字样;若尝试选择“EinScan-SP”选项,则界面将呈现灰色,如下图,且软件左上角出现“EinScan-SP”字样。由此判断,这一软件全名应为“EinScan-S”,其后“SE”与“SP”取决于用户选择,而这一用户选择则取决于所使用的扫描设备;本次我们已知所使用的扫描设备为EinScan-SE,因此在此选择“EinScan-SE”选项。
    在这里插入图片描述

      选择“固定扫描”工作模式,单击“下一步”。在可获取设备的情况下,应选择“新建工程”,从而开始扫描工作;而本文中,我们直接使用扫描后的模型开始操作,因此选择“打开工程”,并选择对应的目标物体文件。
    在这里插入图片描述

    2.1.3 手动拼接

      通过上述操作,目标物体原始模型数据已导入EinScan-S软件中。
    在这里插入图片描述

      但由预览图可以看出,这一初始模型数据依然具有一定问题——在防晒霜罐模型底部,其底层区域与邻近的柱状区域在拼接时出现了未完全重合的错误,如下图所示。
    在这里插入图片描述

      因此,需要通过手动调整的方式对这一问题加以处理。在软件右侧菜单栏选择“手动拼接”模块,在左侧弹出的A、B视口中分别确定三个点,软件将依据三对点的位置自动将两部分拼接。
    在这里插入图片描述

      其中,需要注意的是,由于防晒霜罐体这一目标物体整体多呈现圆柱形,尤其是在需要拼接的两部分交界处为较为标准的圆形;因此需要借助其表面的纹理特征对上方圆柱形罐体与下方原型底面盖子加以相对位置的确定,否则可能会出现二者的位置偏离,即盖子与罐体发生相对旋转。这需要在确定三对拼接点时注意结合罐体文字、图案与底面盖子注塑口、脱模工艺槽等位置,从而确定出二者原始相对位置。
      例如下图,即可利用罐体灰色长方形图案位置与罐体底部吹口(即红线区域内部,但可看到这一吹口可能由于部分位置未被图像拍摄到导致出现缺口)位置进行二者相对位置的确定。
    在这里插入图片描述
    在这里插入图片描述

      确定三对拼接点后,若所得结果仍不满意,可以再次选择右侧菜单栏“手动拼接”模块,重新选取拼接点。这里同样需要注意,若对某次拼接结果不满意而重新生成拼接点时,停留在软件视图中的物体为刚刚自己不满意的拼接结果所对应模型,若需要重新选择拼接点,不可以再按照软件中目前存在的模型确定二者相对位置,往往需要将模型文件删除后重新解压对应压缩包以得到原始模型。这一问题亦在本文第三部分有所讨论。
      多次重复,直到得到满意结果。最终我所得到结果如下第一幅图所示;其中,可以看到底面盖子与罐体之间依然具有一定空隙,如下第二幅图所示。但在空隙对侧,盖子并没有超过罐体范围,由下第三幅图亦可看出底部盖子与罐体连接较好。因此,推断这一空隙可能是由于图像拍摄时部分角度未拍摄到或拍摄时光线较暗等导致的。
    在这里插入图片描述

      此外,在执行手动拼接这一过程时并不是一帆风顺,前后也多次出现很多问题。其中一些问题附于本文第三部分。

    2.1.4 封装处理

      由上述图片与分析可知,此时所得模型并不属于真正意义上的模型,而是由数以万计的点及其形成的细小面片所组成的实体,如下图所示即为模型所包含点数与面片数。
    在这里插入图片描述

      因此,需要对此时所得模型表面加以封装处理,即将当前由点集合组成的模型表面转换为密闭的实体。
      封装分为“封闭模型”与“非封闭模型”,其中前者会将模型表面均完全密闭,后者则不会对原始模型表面未紧密连接的部分进行封闭。本文选择“封闭模型”,并在随后弹出的窗口中选择“高细节”以保留目标物体更多细节。选择后软件即开始自动执行封装操作。
      其中,第一次得到的封装结果中防晒霜罐底面盖子出现位置错误,其与圆柱形罐壁的侧面相连接,如下图所示;而封装前的手动拼接结果应该是没有问题的。因此猜测,这一问题可能是由于个人操作或软件运行问题导致封装时未使用正确拼接结果导致的。
    在这里插入图片描述

      再次执行封装操作,得到正确结果,分别如以下两图所示。
    在这里插入图片描述
    在这里插入图片描述

      在封装结束弹出的窗口中,可以选择是否需要对所得模型表面加以简化。顾名思义,简化即为对当前所得目标物体模型细节加以舍取,丢弃部分细节信息,减少模型所具有的三角面片数量;简化后的文件大小将随之降低。在这里,考虑到数据质量与大小、电脑空间等,此处将简化比例选择为100,即简化后模型信息为原有模型信息的100%,亦即不进行任何简化。因此,可以看到对应数据文件的大小将不发生任何变化。简化与不简化的效果对比附于本文第三部分。
      此处选中“纹理展开优化”与“锐化”选项。其中,“纹理展开优化”适用于后续操作有望继续对纹理加以编辑的场合;“锐化”又称为“高通滤波”,其可增强图像高频分量,增强图像轮廓,使得图像更为清晰,同时亦会部分增加图像噪声;“平滑”则与之相反:其过滤高频分量,降低图像噪声,同时会使得图像较为模糊。
      在这里,考虑到防晒霜罐表面原有纹理较为细致,为使得最终模型包含有更多细节信息,因此选择“锐化”;平滑与锐化处理的效果对比附于本文第三部分。

    2.1.5 模型定性描述

      通过前述步骤,即可开始数据后处理操作。同前述操作一致,后处理操作过程中可对模型加以移动、旋转等变化操作,如下首图。
      得到最终结果后,对模型结果加以检查,查看是否出现残缺、纹理丢失等情况。模型结果如下后三幅图所示。
    在这里插入图片描述

      外形方面,可以看到所建立防晒霜罐模型与实际照片中物体外形十分接近。其下部分呈现出较为标准的圆柱状,而圆柱上方喷嘴处粗细变化明显可见;其上部具有较为明显的条纹特征,喷嘴口处凹陷区域明显(如下图);底部凹槽明显,注塑口等特征突出;顶部弯曲明显,且此处具有部分黑色区域,结合所用初始数据材料中防晒霜罐图像看,可能为拍摄时角度较低导致;放大观看,可以看到罐体侧壁所具有的粗糙凹陷。
    在这里插入图片描述

      表面纹理特征方面,可以看到防晒霜罐表面字体较大部分均可辨认,如罐体正面的红色品牌标志与中、英文产品说明,以及罐体背面的生产日期等均可识别;而罐体较小字体,如“清透防晒霜”下部英文单词、罐体背面下侧英文与数字注释等,需结合产品特质、相关英文知识等才可辨认;而“清透防晒霜”左侧灰色纹理图案(如下图),以及罐体背面中部英文说明等辨识程度相对更低。
    在这里插入图片描述

      另一方面,可以看到罐体与罐底交界处具有多处明显黑色部分,因而具有一种“焊接”效果。针对这一问题,查看本文所用原始数据中防晒霜罐初始拍摄图片,发现图片中并不存在这一黑色区域;而在本文所用文件贴图(result.jpg文件)中同样发现了这一问题。因此,个人认为这一问题或许是软件对纹理进行贴图时导致。

    2.1.6 模型定量描述

      与本文开头所提及的那篇博客借助3D S.O.M.软件尺子工具对所生成模型尺寸加以定量描述不同,本文所用EinScan-S软件将定量描述模块放置于“保存”阶段。
      完成上述操作,在对模型亮度与对比度加以进一步适当调整后,选择“保存数据”功能;配置好文件名与路径等信息后,即可看到模型所对应长、宽、高尺寸数据。
      如下所示,本次所制作防晒霜罐空间三维模型长度(由罐体正面至罐体背面)为41.91mm,宽度(由罐体左侧至罐体右侧)为35.93mm,高度(由罐体顶部至罐体底部)为101.74mm(此处长、宽、高三者与软件所给三个尺寸数值的匹配方式依据后期曼妥思罐这一长、宽、高数值分明的物体模型尺寸得到)。
    在这里插入图片描述

      完成尺寸读取后,即可选择缩放比例并保存缩放。本文不设置缩放,将缩放比例设置为100。

    2.2 番茄与曼妥思罐三维模型制作

      完成上述晒霜罐这一目标物体的空间三维模型建立后,为进一步展示空间三维模型可观的建立结果,我们再对番茄、曼妥思罐等两个目标物体进行空间三维模型建立。同时,对本部分操作过程中出现的问题、存在的不足等探讨附于本文第三部分。

    2.2.1 番茄三维模型制作

      依据前述同样方法,建立番茄的三维模型。
    在这里插入图片描述

      其中,程序运行过程中出现如下图所示错误;随后发现,点击确定后软件将继续运行,并无影响。
    在这里插入图片描述

      得到结果如下所示。
    在这里插入图片描述

      其中,可以明显看到番茄模型在上下两部分具有“断层”般错误。个人认为这一问题更多应是来自手动拼接过程。因此不断调整上下两部分的拼接方式,争取获得较为合适的结果。其中,亦尝试了“非封闭模型”这一封装方法,如下所示。
    在这里插入图片描述

      最终得到结果如下所示。
    在这里插入图片描述

      可以看到,此时番茄的建模结果在外形上较之前者有了明显提升,但其两部分对应颜色依然具有较大差距。进一步结合本文所用番茄初始图像与贴图图像(如下图)分析,可能是由于拍摄图像整体角度偏低,仅得到番茄中间部分与顶部信息,而缺少二者相接触位置信息,导致番茄三维模型中部与顶部衔接出现问题,造成这一现象。
    在这里插入图片描述

    2.2.2 曼妥思罐三维模型制作

      依据前述同样方法,建立曼妥思罐的三维模型。
    在这里插入图片描述

      得到结果如下。
    在这里插入图片描述

    3 操作问题与思考

      前述操作部分已列举部分实验过程中自己的思考与理解,本部分则对前述未提及的问题加以探讨。

    3.1 圆形模型拼接时相对旋转问题

      在对防晒霜罐进行手动拼接时注意到,由于其底部与罐体分别为圆形与圆柱形,二者相接触位置为圆形;因此其可能会发生相对位置移动。如下所示,原始模型(即依据结构光与所拍摄图像生成的模型)中底部盖子尽管与罐体具有不重合问题,但在修正这一问题时需要确保盖子与罐体不发生转向,即底部盖子在手动拼接时只平移,不旋转。若不注意这一点,即使盖子也会和罐体完美匹配,但是由于其发生相对旋转,与原始目标物体之间具有差别,因此严格来说这样的模型也是错误的。
    在这里插入图片描述

      为实现这一目标,不断对模型加以手动拼接;若拼接效果不理想,则需要将其舍弃并重新定位三对拼接点;直至获取一个二者紧密拼接且未发生明显相对旋转的模型。

    3.2 是否简化问题

      在封装结束后可以选择是否对模型加以简化。为探究简化可能带来的影响,分别对防晒霜罐模型加以无简化处理与50%简化处理,得到结果分别如下左侧图与右侧图所示。
    在这里插入图片描述

      暂不讨论两个模型亮度差异(亮度不同是由于自己所设置亮度数值不同),而由模型表面粗糙程度来看,放大后可明显看到右图所具有的粗糙纹理信息少于左图,即右侧模型表面相对更加光滑。由此可以看到,选择对模型加以简化后,软件会自动舍弃一些细节纹理从而实现数据的精简。选择更多细节特征还是更精简的数据,需要依据实际建模对象加以考虑。

    3.3 平滑与锐化问题

      在封装结束后可以选择是否对模型加以平滑和锐化。为探究二者可能带来的影响,分别对防晒霜罐模型加以锐化与平滑处理。其中值得一提的是,两次所建立模型对应尺寸具有一定细微差异,如下所示。
    在这里插入图片描述

      其中,左侧为锐化后模型,右侧为平滑后模型。上述二者所具有的尺寸差异或许可以表明三维空间模型的建立具有一定不确定性,或是是由平滑过程中物体模型表面的微小形变导致的。
      两种方法得到防晒霜罐空间三维模型对比如下图所示。其中,左侧为平滑处理后模型,右侧为锐化处理后模型。由二者对比可以发现,平滑与锐化处理似乎对防晒霜罐这一模型的最终效果影响并不是很大,即二者之间的差距确实难以观察。
    在这里插入图片描述

    3.4 软件操作撤销问题

      通过本文中EinScan-S软件的使用,结合上述博客中对3D S.O.M.软件的使用,可以感受到二者具有一定不同。其中,后者或许更多已成为一款通用的侧影轮廓三维模型重建软件,相关功能较之前者较为完善;而前者可能更多是为适配EinScan-SE这款扫描硬件设备而开发的辅助软件,实现由拍摄至建模一系列连续的过程,因此部分功能相对简单。
      以撤销操作为例:在本文开始前对EinScan-S软件加以熟悉过程中,无意删除了模型部分区域,如下所示。
    在这里插入图片描述

      随后发现,在软件中并未找到可以撤销这一步操作的模块或功能;进一步尝试将软件退出并重新进入,导入这一工程后发现其依然具有此处残缺——由此或许可以看出,此软件中针对模型的每一步操作在执行后往往将直接作用于数据文件,且无撤销方式(其中手动拼接操作可通过再次拼接从而覆盖原有拼接结果,但每次拼接结果将原始模型覆盖后亦无法撤销)。为此,需要提前准备原始数据的备份。

    3.5 多个模型对比问题

      在进行所得空间三维模型简化与否、锐化与平滑等不同操作效果对比过程中发现,EinScan-S软件在同一计算机中只能同时运行一个程序,即仅能打开一个工程。经过尝试,发现可以使用软件安装后得到的“File Preview Tool”模块加以实现。
    在这里插入图片描述

      如上图所示,可以先将第一个制作好的空间三维模型导入“File Preview Tool”模块,并在EinScan-S软件制作第二个模型。随后,分别利用二者视窗,即可方便实现不同模型的对比。

      PS:利用EinScan-S软件提供的三维数据共享网站(https://sketchfab.com),我们可以了解到许多复杂的空间三维模型,从而再一次看到三维模型在我们生活各领域所发挥的作用与价值。
    在这里插入图片描述

    参考文献

    [1] 李托拓, 胡锋, 耿征. 基于结构光的三维成像技术[J]. 网络新媒体技术, 2012,1(01):22-33.
    [2] 张建, 李宗南, 张楠, 等. 基于实测数据的作物三维信息获取与重建方法研究进展[J]. 华中农业大学学报, 2013,32(04):126-134.
    [3] 陈彦军, 左旺孟, 王宽全, 等. 结构光编码方法综述[J]. 小型微型计算机系统, 2010,31(09):1856-1863.
    [4] 任卿, 刁常宇, 鲁东明, 等. 基于结构光的文物三维重建[J]. 敦煌研究, 2005(05):107-111.
    [5] 贾小军, 陈宝明, 喻擎苍. 一种符号阵列编码结构光三维检测方法[J]. 光学技术, 2009,35(01):28-32.
    [6] 梁东魁. 基于编码结构光的物体表面点云获取算法[J]. 计算机工程与设计, 2010,31(12):2905-2908.
    [7] Zhang Z. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000,22; 22(11; 11):1330-1334.

    欢迎关注公众号:疯狂学习GIS
    在这里插入图片描述

    展开全文
  • 编码结构光(标定系列)

    千次阅读 2020-04-04 09:07:47
    最近这几天一直在看关于面结构光的知识,这次记录,算是对知识的梳理; 看自论文:结构光测量系统的标定方法综述----刘顺涛 作者将现有的标定方法分为了3类: 基于矩阵变换的摄影测量法 基于几何关系的三角测量法...

    最近这几天一直在看关于面结构光的知识,这次记录,算是对知识的梳理;

    看自论文:结构光测量系统的标定方法综述----刘顺涛
    作者将现有的标定方法分为了3类:

    1. 基于矩阵变换的摄影测量法
    2. 基于几何关系的三角测量法
    3. 多项式拟合方法

    我看到的现有的主要是第一张方法,下面对这个方法进行介绍和个人的理解:

                                      

                                            

    基于矩阵变换的摄影测量法,可以分为3中,伪相机、逆相机、光平面;

    为实现投影仪内外参量的标定, 一些学者将投影仪看作伪相机, 借助摄像机生成景物在投影仪成像平面中的虚拟图像, 进而用标定摄像机的方法对投影仪进行标定, 此过程的关键在于虚拟图像的生成。

    借助相移编码的特性逐一寻找投影仪成像平面与摄像机成像平面中的匹配点。该方法用投影仪向标定板先后投射两组横向、纵向的相移编码图案并用摄像机采集图像, 通过图像分析, 获得摄像机中任意像素对应于投影仪成像平面中的像素。如此, 即可建立从摄像机图像像素到投影仪成像平面像素的映射。这样, 就可将摄像机采集到的任意图像翻译到投影仪中, 生成投影仪中的虚拟图像。
    优点在于投影仪的标定与摄像机的标定相独立, 不会产生摄像机参量标定误差的二次传播; 缺点是只适用于相移编码等连续条纹, 图 案 匹 配 精 度 有 限;
     

     

     

    逆相机法则将投影仪视为逆向相机, 借助已标定的摄像机建立投影仪像素与景物点 3-D 坐标之间的对应关系, 再用计算摄像机参量的方法计算出投影仪的内外参量。   

       

     该方法的典型实现就是matlab投影仪标定工具箱的实现;

        用投影仪向标定板的空余处投射参考图案, 如上图所示。用摄像机拍摄整个标定板在几个不同位姿处的图像, 先利用各图像中的实物棋盘格成像信息标定出摄像机的参量, 恢复出各图像对应的标定板平面在摄像机坐标系下的方程, 再利用摄像机参量求得参考棋盘格角点在摄像机中的图像坐标的瞄准线, 线面相交得到参考棋盘格角点的 3-D 坐标。对投影仪参量的后续计算方法同摄像机内外参量求解过程。
     

     

    这两种方法标定,我看到有个博主写的比较好:

                       https://blog.csdn.net/Stones1025/article/details/97788474

    其写的第一种方法对应论文伪相机法,第二种对应论文逆相机法,这里copy一下:

    相位法(精度高、实现较难)
    该种方法将投影仪当作逆向的相机模型来进行标定,通过计算投影仪投射的相位信息计算出世界坐标系z=0平面和投影仪“成像平面”之间的关系,具体标定步骤如下:
    S1:按照合适的角度固定好相机和投影仪,标定过程中保证二者相对静止;
    S2:准备好标定板,可以使用打印的标定板,也可以使用陶瓷标定板;
    S3:投影仪关闭,相机拍摄标定板图片;
    S4:投影仪投射多频相移图片(投射x方向和y方向的条纹图片),相机同时进行拍摄;
    S5:改变系统相对标定板的位姿,重复步骤S3、S4,拍摄>15组的数据;
    S6:使用拍摄的标定板图片进行相机标定,获得相机的内外参并保存每个标定板上的角点位置信息;
    S7:投影仪标定;
    S7.1:处理每组多频相移图片,分别计算出x方向和y方向上的绝对相位图,并将相位图的范围转换到图像行列范围;
    S7.2:根据每张图片的角点位置和相位图计算出每个角点对应的投影仪“像点坐标”;
    S7.3:根据”像点坐标“-标定板角点世界坐标的对应关系使用相机标定计算投影仪内外参;
    S8:已知每次场景下的相机外参和投影仪外参,计算出相机和投影仪之间的相对位姿。

     


    投射标定图案法(精度较低、实现较为简单)
    该种方法将投影仪当作逆向的相机模型来进行标定,通过让投影仪投射标定图案来建立世界坐标系下z=0平面和投影仪“成像平面”之间的关系,具体标定步骤如下:
    S1:按照合适的角度固定好相机和投影仪,标定过程中保证二者相对静止;
    S2:将打印好的标定板(棋盘格/圆形阵列)贴到较为平整的白板上;
    S3:投影仪关闭,相机拍摄打印的标定板图片;
    S4:投影仪打开,将标定图案投射到白板上,相机拍摄投射的标定板图片;
    S5:改变系统相对白板的位姿,重复步骤S3、S4,拍摄>15组的数据;
    S6:使用拍摄的打印标定板图片进行相机标定,获得相机内外参并保存每个标定板上图案位置信息;
    S7:投影仪标定;
    S7.1:检测投影标定图案图片上的所有角点信息,并且根据对应的外参计算出所有角点在世界坐标系下的坐标;
    S7.2:根据角点-世界坐标的对应关系使用相机标定方法标定投影仪内外参。
    S8:已知每次场景下的相机外参和投影仪外参,计算出相机和投影仪之间的相对位姿。
     

     

    论文中光平面法,实际应用不多,就不介绍了;


    基于几何关系的三角测量法

    该方法主要是对一些数学模型参数进行获得而做的标定;

                         

    基于几何关系的摄影测量法的主要优点是避免了对投影仪参量的标定, 其主要缺点是:标定过程复杂、耗时长; 系统模型过于简化而导致的精度偏低;

    对此种方法也有一系列的改进,如达飞鹏的书中提到的方法;感兴趣的可以阅读论文;


    https://blog.csdn.net/qq_15295565/article/details/103124622

    上面一篇博客,比较好的介绍了标定的方法,还有理解思路;

    感谢论文作者,感谢博主。

    展开全文
  • 最近在研究利用结构光进行三维重建,在一个网站上看到了开源的3D结构光代码,特分享地址:http://www.3dunderworld.org/ 该网站链接服务可提供源码下载和相关的文献。所提供的源码有更新升级,最新的源码支持GPU...

    最近在研究利用结构光进行三维重建,在一个网站上看到了开源的3D结构光代码,特分享地址:http://www.3dunderworld.org/

    该网站链接服务可提供源码下载和相关的文献。所提供的源码有更新升级,最新的源码支持GPU处理,可作为二次开发进行研究学习。

    ------------------------------

    另外再提供一个在MATLAB平台下利用gray code进行三维重建的开源代码地址:http://mesh.brown.edu/byo3d/source.html

    该网站可提供源码(包括C++代码)下载、素材下载等。不过年代有点久远,采用的是传统的格雷码编解码的方式,可作为入门级源码进行学习
    ————————————————
    版权声明:本文为CSDN博主「来自西伯利亚」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_33810188/article/details/89393230

     

     

     

    一些开源的代码实验结构光:https://github.com/jakobwilm/slstudio

    展开全文
  • 在高精度测量及复杂外形物体测量中,需要采用单点...绝对相位编码是常用的单点式相位计算方法,相位编码图由相移编码图和用于决定相位周期的编码图组成,常用的绝对相位编码有格雷码和相移结合的方法和多频外差法。 ...

    参考的论文是:结构光三维测量中相位相关技术研究 ---吴勇辉    

    在高精度测量及复杂外形物体测量中,需要采用单点式计算的相位展开方法,每个点的相位只根据该点的灰度信息便可确定。绝对相位编码是常用的单点式相位计算方法,相位编码图由相移编码图和用于决定相位周期的编码图组成,常用的绝对相位编码有格雷码和相移结合的方法和多频外差法

     

    在论文的第四章比较清楚的介绍了格雷码+相移、以及多频外差法;

    展开全文
  • 最近学习了,基于双目视觉编码结构光的三维点云获取。  这个研究内容,主要涉及以下几点内容:1.双目标定;2.图像编码与解码;3.对应点匹配;4.三维点云获取。除主要内容外还包括一些必要的小细节,主要就是图像...
  • 这两种方法我都实现过,后者确实相对好点
  • 格雷码结构光编码

    万次阅读 2015-03-11 15:53:17
    根据结构光测量原理知能否精确地确定扫描角α 是整个测量系统的关键,点结构光和线结构光系统是通过转镜等机械装置计算和确定扫描角,而图像编码及解码的意义就在于确定编码结构光即面结构光系统的扫描角。...
  • 在研究结构光三维测量技术的基础上,提出了一种基于彩色条纹组合的编码方法,并在MATLAB中实现GUI 操作的RLE编码与解码。彩色条纹组合的编码方法以红、绿、蓝三原色以及它们的补色黄、品、青6种颜色作为编码条纹的...
  • 能够生成debruijn结构光的程序,是zhang的方法
  • 随着生产自动化水平的提高,人们对生产环节的监控水平的要求也越来越高,视觉...一般来说,视觉检测系统包括结构光传感器、多线结构光传感器、双目视觉传感器。本文主要讨论多线结构光传感器,即光栅式结构光传感器。
  • 提出一种新的光学轮廓术线性编码轮廓术,它利用周期线性结构光编码三维物面,并辅以相移技术来解调相位。本文详细给出了线性编码轮廓术的原理,并通过实验验证了其可行性。
  • 因此, 根据条纹式编码的单方向变化特性, 提出一种将一维编码序列自动扩展成二维编码图像的结构光扫描专用的投影机设计方案, 利用包含所有灰度信息的一维编码序列和设计好的扩展电路, 对结构光编码图像进行像素扩展, ...
  • 编码一系列的结构光图案,依次投射到目标物体上。首先需要生成一系列编码图案。编码图案随着投射时间的推进而变化,并且这一系列的图案需要全部依次投影,以确保每一个像素对应的码是唯一的。 时域...
  • 对具有等腰三角形齿结构的线性结构光编码的三维面形测量技术(LCP)进行了研究, 给出了相位测量原理及公式, 并通过对人头石膏模型的实测验证了这种测量方法是实用可行的。
  • 使用白色结构光编码的三维几何发型重建
  • 整个正弦结构光模板通过周期性复制编码单元来实现,再通过高分辨率光刻技术加工制作在镀铬玻璃基板表面上。模板调制照明光源后,表征二元编码特征的高频信息直接被投影光学系统滤波,而表征正弦条纹信息的低频信息得以...
  • 行业资料-电子功用-具备编码光的结构光投影装置和电子设备.pdf
  • 对具有等腰三角形齿结构的线性结构光编码的三维面形测量技术(LCP)进行了误差分析, 推导了由于随机电噪声、 相移误差带来的测量误差, 并利用计算机系统仿真研究了量化误差、 光学系统误差等对测量结果的影响, 且对...
  • 提出了一种应用于结构光投影三维测量的二值时空编码方法。通过投影3幅二值编码条纹图,利用条纹边界左右两侧的编码值对截断相位图中的截断线进行编码。测量时,根据截断线提供的初始位置,在3幅编码图中读取其左右...
  • 在分析结构光编码白条纹扩散的原因和实际边缘形态的基础上,提出一种同时检测多边缘并消除扩散影响的亚像素精度方法——交点法。首先向被测表面投射互为反色的两组格雷编码图案,提取两组强度图像中灰度梯度较大的点...
  • 在虚拟结构光投影的基础上,提出了两种用彩色图像压缩记录三维面形信息的算法;双通道相位编码算法,提高了压缩比;三通道相位编码算法,能够同时提高压缩比和面形重建精度。给出了算法面形重建精度的定量分析,并...
  • 行业资料-电子功用-关于具备编码光的结构光投影装置和电子设备的说明分析.rar
  • 结构光简介

    2013-01-29 11:38:19
    结构光简介,包括结构光的种类、结构光的作用与工作原理、结构光编码示例
  • 电信设备-基于相位编码的混频结构光三维信息获取方法.zip

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 46,097
精华内容 18,438
关键字:

编码结构光