最近在做高精度三维重建的项目,周六周天跑去深圳湾玩了,今天回来补补博客。刚接到教授要我补三维重构的项目,由散焦图像提取深度信息以前没有做过类似的项目,以前做过双目视觉和结构光的。但是没有做过散焦图像,跑去问了问光学博士,才知道原来单目也是可以测深度的!忒吧!大致的远离是通过在z轴上不断地移动定焦距的相机。可以获取一组图像,图像在不同的深度,清晰度不同,如此便可以获得图像的三维信息了。我赶紧从百度上找了一篇论文给自己扫扫盲
具体的重构过程可以去参考halcon的从散焦图像三维重建的代码。我把halcon三维重建的效果图展示一下:
代码位置:
效果演示:
这里代码我就不做细致的解读了,因为解算点云的程序不是开源的。
下面让我们来了解一下散焦图像的数学模型,相机会由于对焦不准出现模糊的情况,本质上来说可以用一个点扩散方程来表达:
现在有了点扩散的数学表达形式那我们要怎么建立模糊图像的数学模型呢?
这样通过设置初始条件(原图)和模糊的图像的关系就建立起来了。
在这里想我想起了ROF中的噪声图像分为两个部分一部分是高斯模糊的,另外一部分是加了随机噪声的,两者的数学模型比较相似,我把ROF去噪模型也放在这里
(随手找的一篇)
这篇论文描述的是通过两幅图像来得到三维信息,所以它的数学方程是这样建立的:
现在我们已经成功的建立了两个模糊图像的数学模型,以及模糊图像一到模糊图像二的推导模型,我们要如何通过这个模糊的函数来推导求解,我们想要的深度呢
这个方程的建立跟ROF图像去噪的方程惊人的相似,这里我把ROF去噪模型的数学公式放在这里:
求解的方式也是类似的,这里采用了梯度下降法,只需要设置好初始点(建议设置为全0),迭代步长和方向可以计算出来。
求解模型的数学推导放在这里:
所以利用散焦图像来求解深度的数学方法跟ROF图像去噪的求解原图的方法是类似的。
代码也是可以参考的。ROF图像去噪的代码有很多,这里我就不放链接了