CN102944192B - 一种基于fpga的片上实时高速三维复现方法 - Google Patents

一种基于fpga的片上实时高速三维复现方法 Download PDF

Info

Publication number
CN102944192B
CN102944192B CN201210397753.1A CN201210397753A CN102944192B CN 102944192 B CN102944192 B CN 102944192B CN 201210397753 A CN201210397753 A CN 201210397753A CN 102944192 B CN102944192 B CN 102944192B
Authority
CN
China
Prior art keywords
fpga
speed
phase
dimensional reproduction
dimensional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210397753.1A
Other languages
English (en)
Other versions
CN102944192A (zh
Inventor
赵慧洁
刁晓淳
刘小康
姜宏志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201210397753.1A priority Critical patent/CN102944192B/zh
Publication of CN102944192A publication Critical patent/CN102944192A/zh
Application granted granted Critical
Publication of CN102944192B publication Critical patent/CN102944192B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

一种基于FPGA的片上实时高速三维复现方法,它有五大步骤。本发明用于三维形貌测量的多频条纹图像数据处理与整体形貌的三维复现。基于FPGA的本方法,方法包括数据采集与预处理、标记背景、译码器解相、外差多频相展开立体匹配与三维复现。在进行相位解算是使用了预先固化在片内的解相译码器模块,克服了在泰勒级数运算造成的总体运算速度慢、资源消耗大的缺点,同时对于不同频率的条纹图像实现数据的实时处理。该方法具有速度快、功耗低、可靠性好的特点,可用于表面三维形貌的光学非接触测量。

Description

一种基于FPGA的片上实时高速三维复现方法
技术领域
本发明涉及一种基于FPGA的片上实时高速三维复现方法,用于对三维形貌测量时的条纹图像进行实时高速的相位解算与三维复现数据处理。本发明属于光学三维测量技术领域。
背景技术
按检测方法分,目前对物体三维形貌测量可分为接触式与非接触式两大类。虽然接触式测量有着精度高范围广的优点,但是由于要求测头与被测物接触,不可避免地会造成被测物表面的变形与损伤,因而不适合柔软物体的测量,而且当测头无法接触到物体时无法进行测量。与之相比,非接触式测量避免了与被测物直接接触,扫描速度也不受机械限制,测量环境要求也不高,可实现高温、高压等恶劣环境下的测量。目前主要的非接触式测量方法可分为激光扫描法、结构光法、立体视觉法以及工业CT法等。
在各种方法中,投影栅相位法具有结构简单、测量精度高、测量速度快的优点,一次测量中可以得到物体表面稠密的三维点云,可以有效适应工业需要。目前国内外研究投影栅相位法的相展开方法可分为三类:空间相展开法、时域相展开法以及外差多频相展开法。空间相展开发包括支切法、质量导向图法、最小断点法、标记法、区域相展开法、最小生成树法、遗传算法、细胞自动机法、Lp-Norm法等。这些方法虽然能够从不同程度上减少噪声对相展开结果的影响,但在处理遮挡、阴影等问题时依旧存在无法解决的问题。时域相展开法相比于空间相展开法,是将每个像素点按时间轴进行相位展开计算,从而使各个点的结算相对独立,低信噪比的区域不会影响其他点的计算,避免了空间相展开过程中传播误差所带来的不良影响。
目前在投影栅相位法的数据处理上,大都使用计算机对获得的数据进行处理。在使用计算机进行数据处理的过程中,数据的传输、存储与运算是减缓整体运算时间的主要原因;另外由于计算机无法进行并行计算,这也大大降低了运算速度。而相比之下,利用硬件化的FPGA进行数据处理,一方面可以减少由传感器到处理核心的传输、存储时间;另一方面可以实现左右相机图像数据的并行计算。这使得基于FPGA的三维复现方法的实时高速性有了保证。目前国内还没有此类基于FPGA的三维复现方法。
发明内容
本发明是一种基于FPGA的片上实时高速三维复现方法,用以克服现有非接触光学主动三维测量方法在在条纹图像在进行相位解算与三维复现时速度慢的问题。
本发明的技术解决方案为:一种基于FPGA的片上实时高速三维复现方法,该方法包括数据采集与预处理、标记背景、译码器解相、外差多频相展开立体匹配与三维复现。具体发明内容包括以下步骤:
步骤一:首先采集某一频率不同相移的条纹图像,依照该传感器的图像的传输形式在FPGA上对数据进行预处理后存储到RAM中。
步骤二:对于一组同一频率的条纹图像进行背景标记。利用公式4[B(x,y)]2=[g3(x,y)-g1(x,y)]2+[g0(x,y)-g2(x,y)]2与事先在FPGA中设定的阈值BT标记出有效的图像像素位置。上式中的符号说明如下:gi(x,y)表示第i幅图像在点(x,y)处的灰度值,B(x,y)表示点(x,y)处的背景参量。
步骤三:根据公式 Φ ( x , y ) = arctan g 3 ( x , y ) - g 1 ( x , y ) g 0 ( x , y ) - g 2 ( x , y ) , 将之前的计算结果整形化,在FPGA上进行硬件化的反正切译码,得到相位解算结果。
步骤四:在所有频率的条纹图像均获取且处理完成之后,利用公式进行外差相展开法,得到结果后存储到RAM中。上式中的符号说明如下:Φb(x,y)是相位展开前的条纹相位,λ1、λ2是不同周期条纹的周期长度。
步骤五:对于左右相机,以上步骤可以同时处理实现并行计算。得到结果之后,通过事先固化在FPGA中的相机标定结果,对左右相机的相展开结果进行立体匹配与三维复现。
其中,步骤一中所述的对数据进行预处理是将采集的某一频率的条纹图像存储到RAM中,以备在之后的运算中同时读取一个像素位置不同相移的数据。
其中,步骤二中所述的背景标记是指计算每个像素的调制度B(x,y),如果小于阈值BT,则说明是背景或噪声点,在解相时不予计算这个点。由于背景阈值是事先在FPGA中设计固化的,在比较时可以节省计算速度。
其中,步骤三中所述的整形化是指由于FPGA处理数据均是整形,因此根据需要的精度将量化成为整数,再通过反正切译码器计算Φ(x,y)。反正切译码器是事先在FPGA硬件中固化设计好的组合逻辑电路,在精度要求不变的情况下,相比泰勒级数运算有着速度快、功耗低的特点。
其中,步骤四中所述的外差相展开法,在公式计算的过程用,由于是关于条纹频率定值,使用FPGA硬件计算时可实现设计为常数,以加快运算速度。
其中,步骤五中所述的对于左右相机,以上步骤可以同时处理实现并行计算。由于在左右相机匹配的过程中需要用到相机标定结果,这是在计算过程中不变的。因此可以将其事先固化在FPGA中,以实现实时高速运算。
本发明的原理是:针对在以往解相方法数据传输存储速度慢、无法并行处理造成的总体运算速度慢的问题。本发明采用了使用基于FPGA的反正切译码器,将计算量较大的泰勒级数运算替换成硬件上快速高效的组合逻辑电路;以及将一些参数事先固化在FPGA中以加快运算速度;同时将条纹图像数据处理模块与数据预处理存储模块分开,实现了两部分同时工作,达到了实时高速运算处理的要求。
本发明与现有技术相比的优点在于:(1)采用硬件上的逻辑电路进行计算,有着速度快的优点。(2)采用左右相机数据并行计算,可实现数据实时处理。(3)在硬件设备的选择上可选择适应计算量的设备,避免了以往计算机计算时所消耗的额外资源。
附图说明
图1基于FPGA的片上实时高速相展开算法的流程图;
图2为反正切译码器基本时序图;
具体实施方式
基于FPGA的片上实时高速三维复现方法用于高速高动态三维形貌测量的图像数据处理与三维复现。方法包括数据采集与预处理、标记背景、译码器解相、外差多频相展开立体匹配与三维复现。该方法采用硬件上的逻辑电路进行计算,有着速度快的优点。采用左右相机数据并行计算,可实现数据实时处理。该方法具有速度快、功耗低、可靠性好的特点,可用于表面三维形貌的光学非接触测量。
见图1,本发明一种基于FPGA的片上实时高速三维复现方法,该方法具体实施步骤如下:
步骤一:首先采集某一频率不同相移的条纹图像,依照该传感器的图像的传输形式在FPGA上对数据进行预处理后存储到RAM中,以备在之后的运算中同时读取一个像素位置不同相移的数据。
步骤二:对于一组同一频率的条纹图像进行背景标记。利用公式4[B(x,y)]2=[g3(x,y)-g1(x,y)]2+[g0(x,y)-g2(x,y)]2与事先在FPGA中设定的阈值BT标记出有效的图像像素位置,如果像素值小于阈值BT,则说明是背景或噪声点,在解相时不予计算这个点。由于背景阈值是事先在FPGA中设计固化的,在比较时可以节省计算速度。上式中的符号说明如下:gi(x,y)表示第i幅图像在点(x,y)处的灰度值,B(x,y)表示点(x,y)处的背景参量。
步骤三:根据公式 Φ ( x , y ) = arctan g 3 ( x , y ) - g 1 ( x , y ) g 0 ( x , y ) - g 2 ( x , y ) , 将之前的计算结果在FPGA上进行硬件化的反正切译码,得到相位解算结果。整形化是指由于FPGA处理数据均是整形,因此根据需要的精度将量化成为整数,再通过反正切译码器计算Φ(x,y)。反正切译码器是事先在FPGA硬件中固化设计好的组合逻辑电路,在精度要求不变的情况下,相比泰勒级数运算有着速度快、功耗低的特点。反正切译码器时序图参见图2。
表1反正切译码器的典型数表
  输入   输出   输入   输出   输入   输出   输入   输出
  1   9   51   137   101   147   151   150
  2   19   52   138   102   147   152   150
  3   29   53   138   103   147   153   150
  4   38   54   138   104   147   154   150
  5   46   55   139   105   147   155   150
  6   54   56   139   106   147   156   150
  7   61   57   139   107   147   157   150
  8   67   58   140   108   147   158   150
  9   73   59   140   109   147   159   150
  10   78   60   140   110   148   160   150
  11   83   61   140   111   148   161   150
  12   87   62   141   112   148   162   150
  13   91   63   141   113   148   163   150
  14   95   64   141   114   148   164   150
  15   98   65   141   115   148   165   151
  16   101   66   142   116   148   166   151
  17   103   67   142   117   148   167   151
  18   106   68   142   118   148   168   151
  19   108   69   142   119   148   169   151
  20   110   70   142   120   148   170   151
  21   112   71   143   121   148   171   151
  22   114   72   143   122   148   172   151
  23   116   73   143   123   148   173   151
  24   117   74   143   124   149   174   151
  25   119   75   143   125   149   175   151
  26   120   76   143   126   149   176   151
  27   121   77   144   127   149   177   151
  28   122   78   144   128   149   178   151
  29   123   79   144   129   149   179   151
  30   124   80   144   130   149   180   151
  31   125   81   144   131   149   181   151
  32   126   82   144   132   149   182   151
  33   127   83   145   133   149   183   151
  34   128   84   145   134   149   184   151
  35   129   85   145   135   149   185   151
  36   129   86   145   136   149   186   151
  37   130   87   145   137   149   187   151
  38   131   88   145   138   149   188   151
  39   131   89   145   139   149   189   151
  40   132   90   146   140   149   190   151
  41   133   91   146   141   149   191   151
  42   133   92   146   142   150   192   151
  43   134   93   146   143   150   193   151
  44   134   94   146   144   150   194   151
  45   135   95   146   145   150   195   151
  46   135   96   146   146   150   196   151
  47   136   97   146   147   150   197   152
  48   136   98   146   148   150   198   152
  49   136   99   147   149   150   199   152
  50   137   100   147   150   150   200   152
步骤四:在所有频率的条纹图像均获取且处理完成之后,利用公式进行外差相展开,得到结果后存储到RAM中。在公式计算的过程用,由于是关于条纹频率定值,使用FPGA硬件计算时可实现设计为常数,以加快运算速度。上式中的符号说明如下:Φb(x,y)是相位展开前的条纹相位,λ1、λ2是不同周期条纹的周期长度。
步骤五:对于左右相机,以上步骤可以同时处理实现并行计算。得到结果之后,通过事先固化在FPGA中的相机标定结果,对左右相机的相展开结果进行立体匹配与三维复现。由于在左右相机匹配的过程中需要用到相机标定结果,这是在计算过程中不变的。因此可以将其事先固化在FPGA中,以实现实时高速运算。

Claims (1)

1.一种基于FPGA的片上实时高速三维复现方法,其特征在于:该方法包括以下步骤:
步骤一:首先采集某一频率不同相移的条纹图像,依照该条纹图像的图像传输形式在FPGA上对数据进行预处理后存储到RAM中,以备在之后的运算中同时读取一个像素位置不同相移的数据;
步骤二:对于一组同一频率的条纹图像进行背景标记;利用公式4[B(x,y)]2=[g3(x,y)-g1(x,y)]2+[g0(x,y)-g2(x,y)]2与事先在FPGA中设定的阈值BT标记出有效的图像像素位置,如果像素值小于阈值BT,则说明是背景或噪声点,在解相时不予计算这个点;由于背景阈值是事先在FPGA中设计固化的,在比较时节省计算速度;上式中的符号说明如下:gi(x,y)表示第i幅图像在点(x,y)处的灰度值,B(x,y)表示点(x,y)处的背景参量;
步骤三:根据公式 Φ ( x , y ) = arctan g 3 ( x , y ) - g 1 ( x , y ) g 0 ( x , y ) - g 2 ( x , y ) , 将之前的计算结果在FPGA上进行硬件化的反正切译码,得到相位解算结果;整形化是指由于FPGA处理数据均是整形,因此根据需要的精度将量化成为整数,再通过反正切译码器计算Φ(x,y);反正切译码器是事先在FPGA硬件中固化设计好的组合逻辑电路,在精度要求不变的情况下,相比泰勒级数运算有着速度快、功耗低的特点;
步骤四:在所有频率的条纹图像均获取且处理完成之后,利用公式进行外差相展开,得到结果后存储到RAM中;在公式计算的过程用,由于是关于条纹频率定值,使用FPGA硬件计算时实现设计为常数,以加快运算速度;上式中的符号说明如下:Φb(x,y)是相位展开前的条纹相位,λ1、λ2是不同周期条纹的周期长度;
步骤五:对于左右相机,以上步骤同时处理实现并行计算;得到结果之后,通过事先固化在FPGA中的相机标定结果,对左右相机的相展开结果进行立体匹配与三维复现;由于在左右相机匹配的过程中需要用到相机标定结果,这是在计算过程中不变的;因此将其事先固化在FPGA中,以实现实时高速运算。
CN201210397753.1A 2012-10-18 2012-10-18 一种基于fpga的片上实时高速三维复现方法 Active CN102944192B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210397753.1A CN102944192B (zh) 2012-10-18 2012-10-18 一种基于fpga的片上实时高速三维复现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210397753.1A CN102944192B (zh) 2012-10-18 2012-10-18 一种基于fpga的片上实时高速三维复现方法

Publications (2)

Publication Number Publication Date
CN102944192A CN102944192A (zh) 2013-02-27
CN102944192B true CN102944192B (zh) 2015-08-12

Family

ID=47727157

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210397753.1A Active CN102944192B (zh) 2012-10-18 2012-10-18 一种基于fpga的片上实时高速三维复现方法

Country Status (1)

Country Link
CN (1) CN102944192B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110440713A (zh) * 2019-08-26 2019-11-12 西南交通大学 基于fpga的便携式光栅投影三维测量系统及测量方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101694375A (zh) * 2009-10-23 2010-04-14 北京航空航天大学 一种用于强反射表面三维形貌测量的立体视觉检测方法
CN101986098A (zh) * 2010-09-21 2011-03-16 东南大学 基于三色光栅投影的傅里叶变换三维测量法
CN102203551A (zh) * 2008-10-06 2011-09-28 曼蒂斯影像有限公司 用于提供三维和距离面间判定的方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3936270B2 (ja) * 2002-10-03 2007-06-27 株式会社山武 3次元計測装置及び3次元計測方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102203551A (zh) * 2008-10-06 2011-09-28 曼蒂斯影像有限公司 用于提供三维和距离面间判定的方法和系统
CN101694375A (zh) * 2009-10-23 2010-04-14 北京航空航天大学 一种用于强反射表面三维形貌测量的立体视觉检测方法
CN101986098A (zh) * 2010-09-21 2011-03-16 东南大学 基于三色光栅投影的傅里叶变换三维测量法

Also Published As

Publication number Publication date
CN102944192A (zh) 2013-02-27

Similar Documents

Publication Publication Date Title
KR101475382B1 (ko) 광학적 3차원 측량의 자기 적응 윈도우 푸리에 위상추출방법
CN107301648B (zh) 基于重叠区域边界角度的冗余点云去除方法
CN104392488A (zh) 针对激光扫描仪与三坐标测量臂的点云数据自动配准方法
CN108061529A (zh) 基于干涉图像自相关值曲率特征的表面粗糙度测量方法
CN104330052A (zh) 外差式三频不等步相移解相位方法
CN109141291A (zh) 一种快速相位解包裹算法
CN108332685B (zh) 一种编码结构光三维测量方法
CN103149348B (zh) 基于小波多尺度分析的先进陶瓷磨削表面损伤的评价方法
CN106032976A (zh) 基于波长选择的三条纹投影相位展开方法
CN105069789A (zh) 基于编码网格模板的结构光动态场景深度获取方法
CN103236043B (zh) 一种植物器官点云修复方法
CN103942837A (zh) 基于序列线性规划的叶片点云模型截面曲线直接构造方法
CN102944192B (zh) 一种基于fpga的片上实时高速三维复现方法
CN105627935A (zh) 产品料厚三维分析系统及方法
CN105588518B (zh) 基于双角度多频率条纹投影的三维形貌获取方法及装置
CN103490830B (zh) 基于物联网电力测温设备的去噪声射频频谱峰值获取方法
CN105115441A (zh) 一种回转体零件廓形的特征点提取及自动分段方法
CN103697834A (zh) 实时光学三维测量中动态场景无效点的自动识别与排除方法
CN103020907B (zh) 基于二维集合经验模态分解的dspi条纹滤波系统
CN110823106B (zh) 一种基于激光连续波调制原理的平板玻璃质量检测方法
CN102768025B (zh) 一种物体各点独立测量的多步变频率投影条纹测量方法
Zhang et al. Determination of edge correspondence using color codes for one-shot shape acquisition
CN114152203B (zh) 基于相位编码结构光的轴承内外径尺寸测量方法
CN105467383A (zh) 一种tof技术中基于波形匹配的测距方法
CN113340215B (zh) 基于平行约束的平面间断差在线测量方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant