本文主要是介绍傅里叶变换轮廓术Fourier Transform Profilometry(FTP),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
小钟第一次写博客,希望把读研期间学习的结构光三维重建的知识还有实验记录下来,并且分享出去,一是希望能帮助跟我研一的时候一样的小伙伴,当时痛苦地读大量文献,从仿真到实验,一个人在奋斗捣鼓,迷茫的时候超级渴望有人能跟我讨论分享,我痛苦的时候没有人能和我讨论,但希望通过这篇文章能帮助到未来跟我一样的小伙伴。二是万一我毕业工作不从事相关的工作,不希望我白看那么多文献,白学了这些东西,记录下来留个念想也好。第一次写,文笔拙劣,有错漏之处忘同行批评指正。不啰嗦了。
结构光三维重建
三维重建的运用越来越广泛,结构光三维重建是其中一种热门的、精度高、速度快且无接触式的技术。
结构光中,正弦条纹结构光是被广泛运用的一种,只需要一个投影仪一个摄像头就可以搭建正弦条纹结构光系统。一般,利用投影仪将正弦条纹投影到被测物体上,利用摄像头拍摄被物体高度所调制的变形条纹图样,得到变形条纹图样后,非常重要的一步就是从条纹中获取相位信息,一般有傅里叶变换轮廓术(FTP),相位测量轮廓术(PMP)这两种,前者的原理会在本文详述,而这一技术也引申出了窗口傅里叶、小波变换等方法来提取相位;后者其实就是相移方法,或许有小伙伴听说过的三步相移、四步相移,其实就是PMP,我会找时间再写一篇博客来介绍。在得到相位信息后,由于相位是通过反正切(atan2)求出来的,所以会被截断在[-π,π]或者说是[0,2π]之间,因此另一个关键且重要的一步就是相位解包裹,这里不详细介绍了。最后建立相位——高度映射就可以求出物体的三维形貌。
傅里叶变换轮廓术Fourier Transform Profilometry
为了方便,以下简称FTP。FTP是在1983年有日本的Takeda和Mutoh提出来的,后来也被广泛地运用,例如四川大学的苏显渝教授的组,就有相当多FTP的研究的文章。
如下图,当左边的正弦条纹打在中上的一个平面上的时候,条纹(右上)是不会发生形变的,但当打在了一个有高度变化的物体上时,条纹就会被物体的高度调整而发生形变。而条纹的形变可以理解为相位的变化,那么只要得到相位,就可以知道物体的三维形貌了。(由于用的是我组内pre的ppt,所以很多图内都是英文注释的,见谅)
FTP主要步骤
FTP实际上就是从变形的条纹图样中获取条纹的相位的一种方法。主要的步骤如下:
接下来我会从把物理推导推一遍,不过整体的步骤就是上面的图这样的,实在看不下去也可以考虑跳过,不过认清了整个物理过程,对于理解FTP是非常有帮助的。
物理推导
对于条纹图样,可以写成光强的函数的形式,也可以写成泰勒展开后的形式,这里需要留意的是他们的相位,FTP的最终目的就是要得到。
对或者做x方向上的1D傅里叶变换(实际操作中实际是做二维傅里叶变换),在得到设计相应滤波器,将其中一个基频分量滤出(如下图中的Spectrum,频谱中有对称的基频分量,因为是一样的,所以只需要其中一半就可以了)。
滤出基频分量后做傅里叶逆变换,就可以得到右边的式子,这式子中只含有基频。
刚刚提到要提取相位,因此对取共轭,然后将他们相乘,对相乘后的式子取复对数就可以提取出相位了,相位在式子的虚部中。当然,在实际操作中,相乘和取对数的操作都是不需要的。
得到相位之后,因为通过反正切来求相位,因此相位会截断在[-π,π]或者是[0,2π]之间,因此需要通过相位解包裹来得到连续相位,解包裹算法众多,这里就不详细展开了,有机会再写吧。
根据系统和被测物体的几何关系,可以得到相位和高度的映射关系,最后就可以求出物体的高度信息了。
仿真与实验结果
以下是我仿真的结果,物体使用matlab中的peak函数模拟的。
此外我也做了一个人脸的三维重建,其中解包裹是用质量图导向法(quality guide)来实现的。(脸是实验室的孟同学的友情客串,千万别笑人家!)这是快1年前做的结果,当时没有继续抓精度,和现在做的结果还是有差距的。
部分参考文献
[1]Mitsuo Takeda, Kazuhiro Mutoh.Fourier transform profilometry for the automatic measurement of 3-D object shapes[J].Applied Optics,1983,Vol.22: 3977-3982
[2] 毛先富,陈文静,苏显渝.傅里叶变换轮廓术新理论研究[J].中国激光杂志,2007,(1): 99-104
[3] 毛先富,苏显渝,陈文静,荆海龙.改进傅里叶变换轮廓术的测量算法研究[J].光学学报,2008,(7): 1291-1295
[4] 毛先富,陈文静,苏显渝,边心田.傅里叶变换轮廓术中新的相位及高度算法分析[J].光学学报,2007,(2): 225-229
[5] 苏显渝,谭松新,向立群,李继陶,羡涛.基于傅里叶变换轮廓术方法的复杂物体三维面形测量[J].光学学报,1998,第18卷(9): 77-82
以上就是我对FTP的一些小见解,如有错误,敬请各位大神指正。当然实际操作中有些细节我没往里面写,如果有兴趣也欢迎大家和我讨论。
本文用到的图都是我个人总结归纳和实验得到的,请不要私自拿去用了,谢谢!
这篇关于傅里叶变换轮廓术Fourier Transform Profilometry(FTP)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!