一种基于FPGA的结构光算法优化加速方法技术

技术编号:36548983 阅读:12 留言:0更新日期:2023-02-04 17:02
本发明专利技术公开的一种基于FPGA的结构光算法优化加速方法,包括处理器接收相机采集的图像数据,并将图像数据下发至FPGA;基于格雷码投影的结构光成像技术,利用格雷码对每个相机像素在光机上的位置进行粗定位,再利用移动条纹技术对每个格雷码周期内的像素在光机上的位置进行精定位,重建三维形貌信息;FPGA端完成图像预处理、多种曝光图片的HDR融合、格雷码解码,在PC端完成点云的重建;通过利用FPGA并行处理、流水线的方式,在PC端下发数据的同时,实时完成图像预处理、HDR融合、格雷码生成、移动边沿条纹做差;取出格雷码解码,同时对移动条纹解码,两者合成得到最终的相位数据;将相位数据上传至上位机。数据上传至上位机。数据上传至上位机。

【技术实现步骤摘要】
一种基于FPGA的结构光算法优化加速方法


[0001]本专利技术涉及FPGA硬件算法加速领域,更具体的,涉及一种基于FPGA的结构光算法优化加速方法。

技术介绍

[0002]3D结构光是一种基于结构光测量法的非接触测量方式。通过投影设备对被测物体投射带有编码信息的结构光,用摄像装置记录下结构光图像序列,利用特定的算法,得出被测物体的三维数据。3D结构光具有检测速度快、精度高等特性,在消费电子行业的在线检测,汽车行业零部件的三维扫描、曲面特征获取、复杂结构研究具有广泛的应用。但是结构光算法通常采集和运算的数据量较大,单一使用处理器的方案需要的运算时间较长,无法满足快速实时在线测量的要求。

技术实现思路

[0003]为了解决上述至少一个技术问题,本专利技术提出了一种基于FPGA的结构光算法优化加速方法。
[0004]本专利技术第一方面提供了一种基于FPGA的结构光算法优化加速方法,包括如下步骤:
[0005]S1,处理器接收相机采集的图像数据,并将图像数据下发至FPGA;
[0006]S2,基于格雷码投影的结构光成像技术,利用格雷码对每个相机像素在光机上的位置进行粗定位,再利用移动条纹技术对每个格雷码周期内的像素在光机上的位置进行精定位,重建三维形貌信息;
[0007]S3,FPGA端依次完成图像预处理、多种曝光图片的HDR融合、格雷码解码、移动条纹解码、相位合成,在PC端完成点云的重建;
[0008]S4,通过利用FPGA并行处理、流水线的方式,在PC端下发数据的同时,实时完成图像预处理、HDR融合、格雷码生成、移动边沿条纹做差;
[0009]S5,取出格雷码解码,同时对移动条纹解码,两者合成得到最终的相位数据;
[0010]S6,将相位数据上传至上位机。
[0011]本专利技术一个较佳实施例中,步骤S4与步骤S5中FPGA端算法实现步骤如下:
[0012]在FPGA中对原图先进行降噪操作,通过在FPGA端缓存5行图像,并滤出图像中的个别毛刺数据;
[0013]通过采集低曝光和高曝光的图像,而后进行合成;
[0014]FPGA通过缓存奇数帧号的图片,在偶数帧号的图片输入时,同步读出奇数帧号的图片,并与之作差,得到一组差值数据;
[0015]读取差值数据,对移动条纹的边沿亚像素进行定位;
[0016]获得相同位置的条纹差值数据,计算亚像素位置,得到中间结果数据;从内存中读出格雷码数据,实时进行格雷码的解码,将中间结果数据和格雷码解码数据进行计算合并
得到最终的相位数据。
[0017]本专利技术一个较佳实施例中,FPGA端算法中采用8级格雷码,共9张图片,其中1张是1级格雷码的反色图,由1级格雷码和其反色图生成阈值图和格雷码图,并存入FPGA内存中;
[0018]随着格雷码投影图的数据流入,同步读出阈值图T和生成的格雷码图G,并更新格雷码图G写入内存;
[0019]在9张格雷码投影图输入结束后,格雷码图G生成完毕,并保存在FPGA的内存当中。
[0020]本专利技术一个较佳实施例中,相位数据通过PCIe接口上传至上位机,进行高吞吐的数据交互,并将运算的结果数据快速上传至处理器。
[0021]本专利技术的上述技术方案相比现有技术具有以下优点:
[0022]本申请提出了一种基于FPGA的结构光算法优化加速办法,通过将部分运算实现在FPGA端进行硬件加速,而后再由上位机获取FPGA运算之后的结果进行最终计算,通过流水线的办法大大提升了算法的运算速度,满足了工业领域在线快速检测的需求。
附图说明
[0023]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的一些附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024]图1是本专利技术实施例基于FPGA的结构光算法优化加速方法流程图。
具体实施方式
[0025]为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合具体实施方式对本专利技术进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
[0026]在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但是,本专利技术还可以采用其他不同于在此描述的其他方式来实施,因此,本专利技术的保护范围并不受下面公开的具体实施例的限制。
[0027]实施例一
[0028]参见图1所示,本专利技术提出了一种基于FPGA的结构光算法优化加速方法,包括如下步骤:
[0029]S1,处理器接收相机采集的图像数据,并将图像数据下发至FPGA;
[0030]S2,基于格雷码投影的结构光成像技术,利用格雷码对每个相机像素在光机上的位置进行粗定位,再利用移动条纹技术对每个格雷码周期内的像素在光机上的位置进行精定位,重建三维形貌信息;
[0031]S3,FPGA端依次完成图像预处理、多种曝光图片的HDR融合、格雷码解码、移动条纹解码、相位合成,在PC端完成点云的重建;
[0032]S4,通过利用FPGA并行处理、流水线的方式,在PC端下发数据的同时,实时完成图像预处理、HDR融合、格雷码生成、移动边沿条纹做差;
[0033]S5,取出格雷码解码,同时对移动条纹解码,两者合成得到最终的相位数据;
[0034]S6,将相位数据上传至上位机。
[0035]具体的,在FPGA上进行核心算法处理,算法流程如下:结构光相机由CMOS相机和光机两部分组成,光机将光栅条纹投影在被测物体上,光栅条纹由于物体外形高低起伏而扭曲变形。相机拍下变形后的光栅照片,利用拍摄条纹受物体调制的弯曲程度,解调该弯曲条纹得到相位,再将相位转化为全场的高度,得到计算物体的位置和深度信息,进而复原整个三维空间,
[0036]进一步的,采用基于格雷码投影的结构光成像技术,基于格雷码投影的三维成像技术具有较好的鲁棒性,而且其计算速度快,便于在工业领域中的应用。但是格雷码只有边沿像素可以携带物体信息,而高级别的格雷码周期很小,难以被准确的探测定位,故实际采用格雷码辅助条纹边沿移动技术,该方法利用格雷码对每个相机像素在光机上的位置进行粗定位,再利用移动条纹技术对每个格雷码周期内的像素在光机上的位置进行精定位,该方法能够快速而又精确的重建三维形貌信息。
[0037]根据本专利技术实施例,步骤S4与步骤S5中FPGA端算法实现步骤如下:
[0038]在FPGA中对原图先进行降噪操作,通过在FPGA端缓存5行图像,并滤出图像中的个别毛刺数据;
[0039]通过采集低曝光和高曝光的图像,而后进行合成;
[0040]FPGA通过缓存奇数帧号的图片,在偶数帧号的图片输入时,同步读出奇数帧号的图片,并与之作差,得到一组差值数据;
[0041]读取差本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA的结构光算法优化加速方法,其特征在于,包括如下步骤:S1,处理器接收相机采集的图像数据,并将图像数据下发至FPGA;S2,基于格雷码投影的结构光成像技术,利用格雷码对每个相机像素在光机上的位置进行粗定位,再利用移动条纹技术对每个格雷码周期内的像素在光机上的位置进行精定位,重建三维形貌信息;S3,FPGA端依次完成图像预处理、多种曝光图片的HDR融合、格雷码解码、移动条纹解码、相位合成,在PC端完成点云的重建;S4,通过利用FPGA并行处理、流水线的方式,在PC端下发数据的同时,实时完成图像预处理、HDR融合、格雷码生成、移动边沿条纹做差;S5,取出格雷码解码,同时对移动条纹解码,两者合成得到最终的相位数据;S6,将相位数据上传至上位机。2.根据权利要求1所述的一种基于FPGA的结构光算法优化加速方法,其特征在于,步骤S4与步骤S5中FPGA端算法实现步骤如下:在FPGA中对原图先进行降噪操作,通过在FPGA端缓存5行图像,并滤出图像中的个别毛刺数据;通过采集低曝光和高曝光的图像,...

【专利技术属性】
技术研发人员:陈栋磊主宾
申请(专利权)人:苏州中科行智智能科技有限公司
类型:发明
国别省市:

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

1