一种基于结构光的三维测量系统中利用GPU并行计算的方法技术方案

技术编号:7480731 阅读:241 留言:0更新日期:2012-07-05 05:37
本发明专利技术公开了一种基于结构光的三维测量系统中利用GPU并行计算的方法,将从摄像机采集的变形条纹图像和双目立体视觉标定获得的摄像机参数一次性传输到GPU设备,在GPU设备上实现图像校正、相位计算、相位展开、立体匹配和三维点坐标的计算,最后将计算结果一次性从GPU设备传输到计算机内存。本发明专利技术提出一种大规模、细粒度快速并行计算方法,该方法有效利用了CPU与GPU数据传输带宽,减少了多次数据往复传输时间的损耗,充分利用了GPU多处理器的优点,提高了整体的计算速度。

【技术实现步骤摘要】

本专利技术涉及光学三维测量领域,特别是一种基于结构光的三维测量系统中利用 GPU并行计算的方法。
技术介绍
三维测量技术是记录物体形貌的基础工具,在工业制造、科学研究、生物医学、文物数字化等多个领域具有重要价值。基于相移法的结构光的三维测量技术因为其结构简单、非接触、高精度等优点,被广泛应用于实际测量中。大数据量的密集计算一直是制约结构光三维测量效率的瓶颈。由于多频相移光栅三维测量算法固有的复杂性,在不牺牲算法精度与稳定性的前提下,其时间复杂程度难以大幅度降低。目前百万级像素摄像机已经极为普遍,5百万、8百万甚至千万级像素摄像机已经进入测量领域,但都面临着计算速度慢、导致测量效率不高的问题。以匹配为例,左摄像机获得的惟一特征需要在右摄像机惟一特征中找到匹配点,依据极线约束,要遍历右摄像机的一条极线上的特征,既需要1百万乘以极线长度,以百万像素摄像机为例,即要搜索的长度为1千像素,所做的计算约为10亿量级,这还不包括找对应点的插值计算等;尽管目前CPU核心数量增加,但其指令系统更倾向于处理任务,所带来的计算性能提升并不明显。 而GPU则主要用于图形、图像处理计算,并且GPU拥有数十倍于CPU的浮点运算能力,根据这一特点,将之优化利用可以大幅度提高三维测量的速度。本专利申请人于2006年7月四日申请并获专利权,名称为“投射多频光栅的物体表面三维轮廓的视觉测量方法”,专利号为2006 1 001(^84. 8专利技术专利中,公开了利用光栅的频率合成的相位展开完成采集图像中像素点的三维坐标计算,最终完成对物体的三维测量,本专利技术根据上述专利公开的方法其
技术实现思路
,在三维测量系统中的计算机的GPU中的优化实现。
技术实现思路
本专利技术提供了一种基于结构光的三维测量系统中利用GPU并行计算的方法,能够有效地利用图像处理单元的并行计算能力,加快了光学测量的测量速度。首先向物体表面投射三个(或多个)频率的光栅,由安装在光栅投射设备两侧的摄像机拍摄物体表面调制的光栅条纹,将所获得的图像保存至计算机内存;通过摄像机标定获得摄像机标定参数;将内存中的图像数据与标定参数一次性传递到GPU设备存储区。首先根据摄像机内参对传递过来的图像进行校正,校正过程中采用纹理存储,有效地避免了公共存储区的数据再次读取,并且线性插值计算不占用可编程单元;对校正后的图像进行相位计算及相位展开,最终获得左右摄像机各自的独立相位;根据标定参数中的基础矩阵参数,依据极线约束进行匹配;由匹配的对应点对计算三维点。将最终结果回传内存储区。根据GPU自身特点,采用一种全局、全幅面、位置记录数据的GPU设备端数据结构组织方式,有效解决了 GPU设备端数据使用、存储问题。以记录匹配点坐标为例,因为要记录左、右摄像机对应点,以图像宽、高位置表示左摄像机的位置点,右摄像机对应点水平坐标存储于图像大小的X坐标存储区对应位置、竖直坐标存储Y坐标存储区对应位置;如X坐标存储区位置存储的为匹配点X坐标,Y坐标存储区位置存储的为匹配点Y坐标,既(100,100)与(X,Y)为匹配点对。这种方式省去了记录左匹配位置,将左匹配位置隐含在右匹配位置的存储区序号中。应用程序由两部分组成一部分运行于CPU 上,称为主机(Host)端;另一部分运行于GPU上,称为设备(Device)端。本专利技术实现专利技术目的采用的技术方案是一种基于结构光的三维测量系统中利用GPU并行计算的方法,该方法借助于三维测量系统中的光栅投射设备向被测物投射条纹,三维测量系统中的摄像机采集经光栅投射的被测物图像,并保存在三维测量系统中的计算机内存中,并获取摄像机的摄像机内参数 4摄像机外参r和r、摄像机镜头畸变参数#和F,三维测量系统中计算机的GPU实现被测物体的三维点的并行计算,该GPU并行计算方法的步骤是⑴、将所获得的所有图像按序存于计算机的内存中,将获取的摄像机的全部参数,以数组的形式存在三维测量系统中的计算机内存中;(2)、在计算机GPU的设备端,计算需要使用的存储空间,并开辟该存储空间,将计算机的内存中的步骤⑴保存的图像和摄像机的参数数据一次性拷贝到计算机GPU设备端的公共存储器中;⑶、根据待处理数据规模划分线程块(block)大小,选择将线程块(block)设计为二维;一般,可采用如下方法计算某个维度上的block数量X方向上的block数量=(数据在χ方向上的尺寸+每个block在χ方向上的尺寸-1)/每个block在χ方向上的尺寸;y 方向同理。⑷、在计算机GPU的设备端,完成图像校正,图像校正步骤如下a、将要校正的数据与纹理绑定,使用纹理存储器的归一化坐标;b、使用纹理存储器所提供的线性插值来获取非整数位置的特征值;c、设(U)是理想的成像面坐标(单位mm),(tf)是畸变的坐标,则权利要求1. 一种基于结构光的三维测量系统中利用GPU并行计算的方法,该方法借助于三维测量系统中的光栅投射设备向被测物投射条纹,三维测量系统中的摄像机采集经光栅投射的被测物图像,并保存在三维测量系统中的计算机内存中,并获取摄像机的摄像机内参数 .4、摄像机外参Ri和r、摄像机镜头畸变参数r和Pi,三维测量系统中计算机的GPU实现被测物体的三维点的并行计算,其特征在于该GPU并行计算方法的步骤是⑴、将所获得的所有图像按序存于计算机的内存中,将获取的摄像机的全部参数,以数组的形式存在三维测量系统中的计算机内存中;(2)、在计算机GPU设备端,计算需要使用的存储空间,并开辟该存储空间,将计算机的内存中的步骤⑴保存的图像和摄像机的参数数据一次性拷贝到计算机GPU设备端的公共存储器中;⑶、根据待处理数据规模划分线程块(block)大小,选择将线程块(block)设计为二维;⑷、在计算机GPU设备端,完成图像校正,图像校正步骤如下a、将要校正的数据与纹理绑定,使用纹理存储器的归一化坐标;b、使用纹理存储器所提供的线性插值来获取非整数位置的特征值;c、设江力是理想的成像面坐标(单位mm),(£,i0是畸变的坐标,则全文摘要本专利技术公开了一种基于结构光的三维测量系统中利用GPU并行计算的方法,将从摄像机采集的变形条纹图像和双目立体视觉标定获得的摄像机参数一次性传输到GPU设备,在GPU设备上实现图像校正、相位计算、相位展开、立体匹配和三维点坐标的计算,最后将计算结果一次性从GPU设备传输到计算机内存。本专利技术提出一种大规模、细粒度快速并行计算方法,该方法有效利用了CPU与GPU数据传输带宽,减少了多次数据往复传输时间的损耗,充分利用了GPU多处理器的优点,提高了整体的计算速度。文档编号G01B11/25GK102538709SQ201210003539公开日2012年7月4日 申请日期2012年1月9日 优先权日2012年1月9日专利技术者付茂栗, 何万涛, 周波, 孟祥林, 程俊廷, 赵灿, 赵福军, 车向前, 霍滨焱 申请人:黑龙江科技学院本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:周波车向前赵灿程俊廷何万涛孟祥林赵福军霍滨焱付茂栗
申请(专利权)人:黑龙江科技学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术