CN116797641A - 一种基于稀疏采集的傅里叶全息图生成重建方法 - Google Patents

一种基于稀疏采集的傅里叶全息图生成重建方法 Download PDF

Info

Publication number
CN116797641A
CN116797641A CN202310841018.3A CN202310841018A CN116797641A CN 116797641 A CN116797641 A CN 116797641A CN 202310841018 A CN202310841018 A CN 202310841018A CN 116797641 A CN116797641 A CN 116797641A
Authority
CN
China
Prior art keywords
parallax
image
array
view
projection
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.)
Pending
Application number
CN202310841018.3A
Other languages
English (en)
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.)
Jilin University
Original Assignee
Jilin 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 Jilin University filed Critical Jilin University
Priority to CN202310841018.3A priority Critical patent/CN116797641A/zh
Publication of CN116797641A publication Critical patent/CN116797641A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20056Discrete and fast Fourier transform, [DFT, FFT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)

Abstract

本发明涉及一种基于稀疏采集的傅里叶全息图生成重建方法,属于傅里叶全息图生成重建方法。采用基于稀疏采集的集成成像方法生成物体的立体元图像;根据物体的立体元图像进行多视角投影非相干傅里叶计算全息图生成与仿真重建。本发明优点是使用基于SAD寻找方法的块匹配积分投影法同传统的图像识别灰度积分投影法相比,计算得到的视差误差率由3.125%下降到0.2%,所生成的立体元图像与原物体视图的结构相似度SSIM从0.71上升到了0.75,提升了所生成的立体元图像的准确度,从而使物体傅里叶全息图存储信息和再现图像更加准确,块匹配积分投影方法在运行代码进行块匹配时进行了图像的修正,仅在水平方向上搜索匹配块,与其它算法相比步骤更加简洁。

Description

一种基于稀疏采集的傅里叶全息图生成重建方法
技术领域
本发明涉及使用稀疏采集集成成像原理生成立体元图像的傅里叶全息图生成重建方法,特别是涉及一种基于稀疏采集的傅里叶全息图生成重建方法。
背景技术
全息图能够较好地记录物体的大小、深度、亮度和形状等信息,并且把这些信息高效地保存下来,用于信息的存储和复现。与单一角度拍摄相比,使用微透镜阵列或者相机阵列从多角度进行拍摄可以更大程度的获取物体的全貌信息,进而更好地对物体进行仿真重建。基于傅里叶算法生成的傅里叶全息图具有抗撕毁性、再现算法简单、误差较小的特点,因而常常被用来生成高质量的数字全息图。但现有的无误差傅立叶全息图生成技术通常是针对于物体的一张二维图像去读取场景、之后进行多视角模拟数值计算来处理的,存在图像获取视角单一问题导致全息图无法较大程度保存物体全貌,重建还原质量也很不尽如人意。
针对这一问题,一些学者尝试着使用集成成像技术来寻找解决方案。集成成像技术可以生成更大程度保存物体全貌的立体元图像用于全息图生成,但是传统的集成成像技术需要耗费大量的人力资源和物力资源去放置大型摄像机阵列拍摄、渲染图像,导致最后输出采集到的图像时所需要的的渲染时间较长且生成的图像与原物体场景相比经常有偏差,此时就可以通过建立稀疏采集立体元图像阵列映射系统来达到稀疏采集的目的。当前使用基于稀疏采集原理的集成成像技术可以用较少的相机获取物体的立体元图像,大幅度提升图像生成效率并减少误差。稀疏采集的过程中需要求取不同视角投影图像之间的视差值,由视差值来确定对多视角投影图像进行截取的参数数值,求得的视差值同标准视差值相比通常会存在误差,这直接会影响到映射生成的物体立体元图像的质量,视差误差率越大所生成的物体立体元图像与物体本身差异越大,立体元图像成像质量可以引入结构相似度SSIM指标进行衡量。在视差求取过程中会因为所用方法的不同而导致误差率较大从而影响所生成的立体元图像质量,进而影响所生成的全息图保存物体场景信息的准确度。
许多研究提出了不同的视差计算方法去试图减小视差误差率,有人提出了通过求取相邻视角图像物体整体的积分投影从而得到视差值的方法,这种方法忽视了不同物体间的遮挡问题,导致求取的视差误差率较大;有人依次计算左视点图像中的每个像素点相对于右视点图像的均方误差函数,将均方误差函数取最小值时的一维窗平移距离作为对应点的视差值,同时对于视差图中存在的由于遮挡和错误匹配等因素引起的视差值计算错误问题设定阈值判定求得的视差值可靠性,但是由于阈值范围设置过大,会导致视差计算的精确度下降;针对于物体整体各部分产生的遮挡问题,有人提出了基于HSV空间的颜色分割算法去分割物体的各个颜色部分各自单独计算从而解决遮挡问题。
发明内容
本发明提供一种基于稀疏采集的傅里叶全息图生成重建方法,目的是降低视差误差率,提高生成的立体元图像质量。
本发明采取的技术方案是,包括下列步骤:
(一)、采用基于稀疏采集的集成成像方法生成物体的立体元图像;
(二)、根据物体的立体元图像进行多视角投影非相干傅里叶计算全息图生成与仿真重建。
本发明步骤(一)中生成物体立体元图像的方法如下:
(1)、获取物体多视角投影视图阵列
在计算机模拟软件中采用虚拟相机阵列去拍摄物体,得到多视角情况下物体投影视图若干,按相机相对位置排列好形成视图阵列;
使用虚拟计算机建模软件3DS Max创造物体场景、搭建虚拟摄像机阵列、对物体进行初步的多视角采集并渲染得到投影视图,完成采集平台的搭建及渲染得到物体投影视图阵列的工作,创造物体场景和搭建摄像机阵列,在虚拟计算机建模软件3DS Max中建立虚拟的目标场景并在指定位置放置目标物体组合,利用软件自带的自由摄像机在3DS MAX软件中创造n*n等距摄像机阵列,这个摄像机阵列中一共有n*n个摄像机,相邻两摄像机之间的距离相等;
(2)、基于SAD寻找方法块匹配积分投影计算视差
使用分割算法去分割投影视图得到物体不同形状部分,之后使用基于SAD(Sum ofabsolute differences)寻找方法的块匹配积分投影法分别求取物体各个形状部分像素点坐标位置,根据物体像素点坐标位置计算各形状部分的视差值,舍去无效视差值之后求取各形状部分有效视差值的平均值作为最终视差值,对不同视差计算方法求得的最终视差值进行质量评估,设定一个标准化物体进行标准视差的求取,根据最终视差值与标准视差值之间的关系计算得到视差误差以及视差误差率大小;
由于物体不同形状部分之间会存在遮挡而使视差的准确率不能够得到保证,且直接对物体整体计算视差会有较大误差,所以先采用分割算法分割出物体各个不同形状的部分,再进行后面的视差计算;
分割出物体各形状部分之后计算视差,此处使用基于SAD寻找方法的块匹配积分投影法来分析像素点,运行过程中会进行块比较,寻找匹配块的过程使用了差的绝对值之和寻找方法,块匹配后对输出的各种目标图像的灰度图像作水平方向上的积分投影处理和垂直方向上的积分投影处理,统计水平和垂直方向上每行和每列中目标像素点的总量和分布情况,能直观地显示目标物体在对应子图像中的具体位置,得到物体各个形状部分像素点位置坐标后可以根据物体像素点坐标位置计算各形状部分的视差值,舍去无效视差值后求取各形状部分有效视差值的平均值作为最终视差值;
求得最终视差值之后,判断各个视差求取方法的优劣性,设定一个标准化物体进行标准视差的求取,根据最终视差值与标准视差值之间的关系计算得到视差误差以及视差误差率大小,进行比较来分析优劣性;
(3)、根据视差截取图像,使用matlab软件依照最终视差值根据公式对原多视角物体视图阵列中每一幅视图进行截取,得到截取所得的子图像图片,众多子图像图片构成了子图像阵列;
(4)、拼接得到子图像阵列图,得到截取所得的子图像图片后按照相机在相机阵列中的相对位置将截取后的图片按顺序拼接到一起生成裁剪后的子图像阵列图;
(5)、映射生成立体元图像,对拼接得到的裁剪后的子图像阵列图根据映射关系进行像素点的位置变换,重构生成物体的立体元图像,以较少的相机数生成了需要较多相机拍摄所得的立体元图像,实现了稀疏采集集成成像,获得立体元图像之后,引入SSIM(Structural Similarity)结构相似度指标来衡量成像所生成立体元图像与原物体视图的相似情况,评估采用不同视差计算方法计算视差之后生成的立体元图像的质量;
所生成的基于稀疏采集集成成像原理的立体元图像能够高效、便捷地保存物体相关信息。
本发明步骤(二)中,物体傅里叶全息图的生成与仿真重建过程如下:
(1)、生成物体正交投影视图阵列
读取物体立体元图像作为场景,之后设定循环间隔,采用在matlab软件中数值计算模拟摄像机阵列的方法模拟等距摄像机阵列的拍摄过程,并对所获取的图像信息按照正交投影公式进行正交化处理生成正交视图信息,按照相对位置关系排列好所得正交投影视图信息得到正交投影视图阵列信息;
(2)、正交投影视图与平面波相乘后积分生成傅里叶全息图,然后要生成高精度傅里叶全息图,用每一个正交投影视图信息去乘相应的平面波之后再对乘积进行积分,就得到了傅里叶全息图中的一个复值,对不同角度不同位置的正交投影视图信息计算所得的复值按相对位置顺序排列,就生成了物体的傅里叶全息图,该方法采用坐标系转化方法联系起了三维物体在傅里叶变换透镜的傅里叶平面上的复场与物体三维坐标系,可被证明是精确没有误差的;
(3)、根据傅里叶全息图仿真重建还原图像,最后根据公式对傅里叶全息图进行了仿真重建,得到了物体的重建图像。
本发明的有益效果:
本发明针对减少视差误差率的需求,可以在生成立体元图像过程求取视差步骤中使用基于SAD(Sum of absolute differences)寻找方法的块匹配积分投影法代替直接灰度积分投影法,降低了视差误差率,提高了生成的立体元图像质量。此方法在寻找搜索匹配块的时候会进行图像的修正,左图的特征将会被放置在右图同一像素行上即仅在水平方向上搜索匹配块,能够降低工作量。
本发明采用基于稀疏采集的集成成像方法生成物体的立体元图像可以解决图像获取视角单一导致全息图无法较大程度保存物体全貌的问题。集成成像技术可以获取更大程度保存物体全貌的立体元图像用于全息图生成,使用基于稀疏采集原理的集成成像技术可以用较少的相机获取立体元图像。
本发明将基于稀疏采集原理的集成成像方法与傅里叶全息图计算生成与重建方法结合,使用基于稀疏采集原理的集成成像方法由物体多视角投影视图阵列求取视差截取拼接后得到子图像阵列图,对其各像素点按照映射关系重新排列生成物体的立体元图像,之后根据物体的立体元图像读取场景,使用数值模拟的方法在软件中模拟摄相机阵列拍摄物体场景得到透视投影视图阵列信息,然后对透视投影视图阵列信息进行正交化生成多视角正交投影视图阵列,对每一幅正交投影视图做与平面波相乘之后积分的处理来生成傅里叶全息图中的每一个像素点,对每一个像素点依照生成投影视图的模拟相机相对位置关系按顺序排列之后生成了物体的傅里叶全息图,并可根据此傅里叶全息图进行仿真重建再现出原始物体图像。在生成立体元图像过程求取视差步骤中使用基于SAD(Sum of absolutedifferences)寻找方法的块匹配积分投影法代替灰度积分投影法,降低了视差误差率,提高了生成的立体元图像质量。同时引入了视差误差率和结构相似度SSIM两个指标来评价立体元图像成像质量。
本发明的特征是在使用分割算法得到物体的各个形状部分之后,使用基于SAD(Sum of absolute differences)寻找方法的块匹配积分投影法,进行图像的修正后在水平方向上搜索匹配块,之后进行积分投影计算视差值,得到最终视差值,使用该视差值来对多视角图像阵列进行截取从而拼接映射成物体的立体元图像来进行傅里叶全息图的生成与重建。
本发明使用基于SAD(Sum of absolute differences)寻找方法的块匹配积分投影法同传统的图像识别灰度积分投影法相比,计算得到的视差误差率由3.125%下降到0.2%,所生成的立体元图像与原物体视图的结构相似度SSIM(Structural Similarity)从0.71上升到了0.75,提升了所生成的立体元图像的准确度,从而使物体傅里叶全息图存储信息和再现图像更加准确。同时此块匹配积分投影方法在运行代码进行块匹配时进行了图像的修正,仅在水平方向上搜索匹配块,与其它算法相比步骤更加简洁。
附图说明
图1是本发明的流程图;
图2是相机相对位置示意图;
图3是搭建完成后的场景图;
图4是物体多视角投影视图阵列图;
图5是5号摄像机视图分割结果图;
图6是物体整体的水平积分投影图和垂直积分投影图;
图7是小球部分的水平积分投影图和垂直积分投影图;
图8是圆环部分的水平积分投影图和垂直积分投影图;
图9是白色小球的水平积分投影图和垂直积分投影图;
图10是裁剪后的子图像阵列图;
图11是子图像阵列图;
图12是基于SAD寻找方法块匹配积分投影计算视差方法计算视差生成的立体元图像;
图13是灰度积分投影计算视差方法计算视差生成的立体元图像;
图14是幅度傅里叶全息图;
图15是相位傅里叶全息图;
图16是得到的还原图像。
具体实施方式
包括下列步骤:
(一)、采用基于稀疏采集的集成成像方法生成物体的立体元图像;
(1)、获取物体多视角投影视图阵列
这一步在计算机模拟软件中采用虚拟相机阵列去拍摄物体,得到多视角情况下物体投影视图若干,按相机相对位置排列好形成多视角投影视图阵列。
可以使用虚拟计算机建模软件3DS Max创造物体场景、搭建虚拟摄像机阵列、对物体进行初步的多视角采集并渲染得到投影视图,完成采集平台的搭建及渲染得到物体投影视图阵列的工作。首先要创造物体场景和搭建摄像机阵列,在虚拟计算机建模软件3DS Max中建立虚拟的目标场景并在指定位置放置目标物体组合,利用软件自带的自由摄像机在3DS MAX软件中创造n*n等距摄像机阵列,这个摄像机阵列中一共有n*n个摄像机,相邻两摄像机之间的距离相等。
举例说明上述过程,在3DS MAX软件中创建物体,该物体由一个小球和一个圆环组成,圆环套在小球外面,之后创建相机阵列,相机可以采用软件中自带的摄像机,相机相关参数同样可以自由设定,此处选用3DS MAX软件里面自带的自由摄像机,参数设定如下:镜头为43.456mm、视野为45.0度、近距范围为0.0cm、远距范围为2540.0cm。
为简便起见,所举例子中创建的是3*3的摄相机阵列,每两个相邻的摄像机之间间隔设定为5cm,构成了摄相机阵列,阵列中相机相对位置示意图如图2所示。
这样就完成了创造物体场景和搭建摄像机阵列的工作,搭建工作完成后3DS MAX软件中的场景如图3所示。
图3中左边是物体,右边是相邻摄像机等距排列的摄像机阵列。上述所使用的虚拟摄像机是可以渲染成像的,其成像原理如下:
若定义g为虚拟摄像机的相机镜头的物距、fj和h分别为焦距和物距、L是目标场景的的最广范围、c是在虚拟记录媒体上所成像的长、θ为从摄像机焦距处的视角,那么可通过高斯公式得到下式(1)与(2):
设定所放置的目标场景的最广范围为Lmax、最大观测范围为T、n为每行和每列的相机个数、p为相机间的间距,可以得到下式(3)、(4):
根据上述成像原理每台摄像机按照各自视角能够生成不同方向物体的视图,然后使用渲染插件V-RAY 5设定输出图像的大小与格式对每台摄像机的视角进行渲染输出,最终得到共计n*n幅渲染输出的图像,每幅图像都整体包含了各个物体,这些图像内容一样,只是视角不同,渲染输出后就得到了物体的多视角投影视图阵列,3DS MAX软件中的虚拟摄像机所成的像可以使用渲染插件V-RAY 5进行渲染输出,生成大小、格式可以自由设定的图像。
在所举例子中,设定渲染输出的图像大小为640(像素)*640(像素),格式为jpg图像格式,此时n=3,使用渲染插件V-RAY 5渲染输出后得到了3*3共计9幅大小为640(像素)*640(像素)的不同角度的物体投影灰度视图如图4所示。
(2)基于SAD寻找方法块匹配积分投影计算视差。
使用分割算法去分割投影视图得到物体不同形状部分,之后使用基于SAD(Sum ofabsolute differences)寻找方法的块匹配积分投影法分别求取物体各个形状部分像素点坐标位置,根据像素点坐标位置可以计算各形状部分的视差值,舍去无效视差值之后求取各形状部分有效视差值的平均值作为最终视差值。设定一个标准化物体进行标准视差值的求取,根据最终视差值和标准视差值之间的关系计算得到视差误差以及视差误差率的大小。
因为物体的不同形状部分之间会存在遮挡而使视差的准确率不能够得到保证,且直接对物体整体计算视差会有较大误差,所以可以采用分割算法先分割出物体各个不同形状的部分,再进行后面的视差计算。所举例子采用设定阈值分割法进行分割处理,分割处理过程在matlab软件中完成。
在matlab中读取待处理图像后将图像转换至hsv空间,然后创建一个黑色图像,使用ind2sub函数通过设定阈值的方法将待处理图像中的特定形状部分提取到黑色图像中,再将提取出来的特定形状图像转换到rgb空间。不同形状部分之间由于颜色不同导致像素点取值在HSV空间中差异较大,某一形状内部各像素点取值在HSV空间中由于颜色相近导致十分接近,因此可以通过设定阈值划定参数范围来提取各种特定的形状。提取某种特定的形状时ind2sub函数中S和V空间的参数均设置为正数,分割的关键在于设置H空间的参数,划定不同的范围就可以提取出不同的形状部分。
拿本例子来说,提取小球部分时在H空间设定参数为0.4-0.6,提取圆环部分时在H空间设定参数为0.1-0.3,对上一步骤所得的投影视图进行分割处理,得到了一幅图像中物体的不同形状部分。图5为中间位置的5号摄像机所输出的投影视图颜色分割后得到的各个部分灰度图像。
通过分割物体各个形状部分解决遮挡问题后就要计算视差了,使用基于SAD(Sumof absolute differences)寻找方法的块匹配积分投影法来分析像素点,运行过程中会进行块比较,寻找匹配块的过程使用了差的绝对值之和(SAD)寻找方法。块匹配后对输出的各种目标图像的灰度图像作水平方向上的积分投影处理和垂直方向上的积分投影处理,统计水平和垂直方向上每行和每列中目标像素点的总量和分布情况,能直观地显示目标物体在对应子图像中的具体位置。得到物体各个形状部分像素点位置坐标后可以根据物体像素点坐标位置计算各形状部分的视差值,舍去无效视差值后求取各形状部分有效视差值的平均值作为最终视差值。基于SAD寻找方法的块匹配积分投影法原理如下:
首先是要匹配两幅相邻图像的同一特征位置,这里选择将图像分块进行同一特征位置的匹配。由于块比较不能直接对RGB数据进行处理,所以在寻找搜索匹配块之前要先把相邻两幅图像由RGB数据空间转换为灰度图像空间,灰度值范围从0到255。之后进行图像的修正,左图的特征将会被放置在右图同一像素行上即仅在水平方向上搜索匹配块,这能够降低工作量。对于要搜索的区域和方向,需要设置块匹配算法在模板上的搜索模式及范围,确定多大范围的依据在于我们想在不同形状的对应图像中找到的视差。在块匹配过程中需要考虑图像边界上的形状,通常的处理办法是裁剪模板至最大的值。
之后要获得目标像素的坐标,在估算子像素时,经过块匹配算法我们会得到这幅图像对应的整数的视差值,一般来讲就是邻近图像同一特征点的像素点的偏移值。然后试图通过将最近的匹配块和相邻的像素间插入,达到一个微调视差值到子像素的位置。此时只考虑最小的代价以及两个相邻目标的代价值,用其进行拟合并输出相应的抛物线,通过分析相应抛物线的最低点可以获得目标像素的坐标,即指定所做抛物线的横轴为像素点的横坐标,则纵坐标就为最小代价和两个相邻的代价值,而三条抛物线的极点就是代价最小的点。记Cp为像素偏移值,Cg为实际视差的子像素估计值,F2为最近匹配块的输出值,F1为其中一幅图的输出值,F3为另一幅图的输出值。它们之间的关系如下式(5)所示:
Cg=Cp-(F3-F1)/(2*(F1-2F2+F3)) (5)
得到两幅临近图像对应像素点坐标后就可以通过计算对应像素点坐标差来得到视差值了。
可以使用matlab软件进行积分投影计算视差的工作,首先要在matlab软件中读取相邻两幅图像,然后将两张图像组合在一起得到复合图像,之后通过估计子像素的块匹配来计算视差。块匹配过程要先通过设置平均3个颜色通道值将目标物体的RGB图像变换为灰度图像;之后定义视差范围,定义离第一幅图像中的块位置多少像素远来搜索其它图像中的匹配块,对于所举例子中用到的大小为640(像素)*640(像素)的图像,视差范围为50是合适的;接着定义块匹配的块大小;然后使用循环结构对图像中的每行与每列像素为模板和块设置最小与最大块边界,将模板位置定义为搜索边界,限制搜索使其不会超出图像边界,选择右边的图像块用作模板,在获得本次搜索的图像块数后创建向量来保存块偏差;接下来计算模板和每块的偏差,因为选择右边图像块当模板,所以选择左边图像距离为“w”处的块计算其基于1的索引放进创建的保存块偏差的向量中,此处“w”是循环计数参数,取值范围是从能够搜索至左边的最大像素数到能够搜索至右边的最大像素数,每一次循环后“w”的值加1;计算模板和块间差的绝对值的和(SAD)作为结果,然后对SAD值排序找到最近匹配(最小偏差),估计最佳匹配位置的子像素位置,可以得到相邻两幅图像整体视差对比图;对各图像作水平方向上的积分投影处理和垂直方向上的积分投影处理,统计水平和垂直方向上每行和每列中目标像素点的总量和分布情况,能直观地显示目标物体在对应子图像中的具体位置,得到相邻两图像的水平、垂直投影对比图。根据对物体不同形状部分的积分投影得到对应物体形状部分在图片中的位置后将其与相邻图片对应物体形状部分位置坐标作差得到物体各个形状部分的视差值,由于成像所用的是等距离相机阵列,因此对应物体各形状部分的水平视差和垂直视差应该相同,计算得到水平视差和垂直视差不相等的结果要被当作无效视差值舍去,保留下水平视差和垂直视差相等的结果作为该形状部分的有效视差值,最后对各形状部分有效视差值求平均值得到最终视差值。
拿本例子来说,对各形状部分以及物体整体进行块匹配求取视差,得到了任意两张相邻图像的视差对比图和起始终止像素点的位置,以1号相机和2号相机这一对相邻相机组合输出的图像为例,图6是物体整体的水平积分投影图、垂直积分投影图。图7是小球部分的水平积分投影图、垂直积分投影图。图8是圆环部分的水平积分投影图、垂直积分投影图。
根据对物体不同形状部分进行的积分投影得到对应物体形状部分在图片中的位置,将其与相邻图片对应物体形状部分位置坐标作差,得到最终视差值为40.08(像素);如果不进行分割的话,用同样的方法对整体算得最终视差值为39.83(像素)。
对不同视差求取方法判断优劣性时可以设定一个标准化物体进行标准视差值的求取,根据标准视差值和最终视差值之间的关系计算得到视差误差以及视差误差率大小后进行比较来分析优劣性。视差误差率计算的原理如下:
记得到的最终视差值为M0,定义视差误差率E为最终视差值M0与标准视差值M之差的绝对值与标准视差值M的比值,其公式为下式(6):
在所举例子中,为得到标准视差值,我们将拍摄的目标物体替换成一个半径为7.394cm的白色小球,其它条件均不改变,重复进行上述相同步骤。用虚拟仿真软件3DS MAX里的摄像机阵列拍摄白色小球,渲染输出同样大小为640(像素)*640(像素)的九张投影视图,之后根据这些投影图像计算视差。仍然举例1号相机和2号相机这一对相邻相机组合输出的图像水平方向、垂直方向的积分投影图如图9所示。
根据白色小球的积分投影图得到其在图片中的位置,将其与相邻图片中白色小球相应的位置坐标作差,得到标准视差值为40(像素)。可以发现对物体进行分割之后对各个形状部分进行视差求取求得的视差误差率为0.2%,而不进行分割对物体整体进行视差求取求得的视差误差率为0.4925%,对物体进行分割能有效降低由遮挡引发的视差误差。
由最终视差值和标准视差值可以求得使用所提基于SAD寻找方法的积分投影视差计算方法求得的视差误差率为0.2%;使用传统的图像识别灰度积分投影法对上一步得到的物体投影阵列图积分投影计算视差得到的最终视差值为38.75(像素),标准视差值仍为40(像素),故视差误差率为3.125%。进行对比可以知道前一方法计算得到的视差值误差率较小。
(3)、根据最终视差截取图像。
依照求得的最终视差值对渲染所获得的物体多视角投影视图阵列中的每一幅视图进行截取,得到截取后的子图像。其原理如下:
所求得的最终视差值为M0,使用大小为B(像素)*D(像素)的矩形窗分别截取原多视角物体投影视图阵列中的每一幅视图得到各个裁剪后子图像。首先确定第1排第1列的摄像机截取到裁剪后子图像的位置(x(1,1),y(1,1))然后根据上一步求取的最终视差值沿水平和垂直方向平移矩形窗依次截取每幅视图得到裁剪后子图像阵列。记第1行第1列的摄像机拍摄图片中矩形窗左上角坐标为(x(1,1),y(1,1)),第a0行第b0列的摄像机拍摄图片中矩形窗左上角坐标为二者之间有下面公式(7)、(8)作为对应关系,其中a0和b0的取值为1≤a0≤n、1≤b0≤n。
在所举例子中,在matlab软件中使用imcrop函数设定矩形窗进行根据视差截取图像的工作,为了保证处于正中间位置的第5个相机所截取到的子图像中目标物体在正中央,就需要在截取时把第2行第2列也就是位于中间位置的5号相机所渲染图片的截取矩形窗左上角坐标设为(210,210),以220(像素)*220(像素)大小的矩形窗对各个视图进行截取。由于上一步计算得到的最终视差值为40.08(像素),因此需要从左到右从上到下每隔40.08像素截取不同相机拍摄的图片。最终从九幅640(像素)*640(像素)大小的投影视图中截取到了九幅尺寸为220(像素)*220(像素)的子图像,这些子图像的灰度图像如图10所示。
(4)拼接得到子图像阵列图;
将截取后的子图像按照拍摄原图像的相机拍照时的相对位置进行重组拼接,得到拼接后的子图像阵列图。
在所举例子中,使用matlab软件中的reshape函数将3*3共计9张子图像按照相机相对位置关系拼接重构成一张子图像阵列图。
使用matlab进行图像处理时,使用rgb2gray函数将RGB彩色图像转换为灰度图像后进行进一步处理是一种常见的方法。相比于使用彩色图像进行处理,使用灰度图像更加方便。灰度图像就是没有色彩的图像,在matlab软件中用二维矩阵数组来表示;RGB彩色图像由红、绿、蓝三个分量构成,在matlab软件中用三维矩阵数组来表示,进行处理时需要同时考虑RGB三个颜色维度的数据,相较于灰度图像的二维矩阵数组处理起来较为麻烦。
因此拼接得到了子图像阵列图的灰度图像形式如图11所示。
(5)、映射生成立体元图像。
对拼接而成的子图像阵列图根据映射关系进行像素点的位置变换,重构生成二维立体元图像,以较少的相机数生成了需要较多相机拍摄所得的立体元图像,实现了稀疏采集集成成像。
为达到稀疏采集,采用逆映射的方法由子图像阵列图映射求取立体元图像,对由e*r个大小为i(像素)*q(像素)的子图像拼接而成的一张子图像阵列图进行逆映射处理,提取每个子图像中相同位置的像素,将它们按照子图像在子图像阵列图中对应的位置组合到一起形成映射单元图片即立体元图像。映射前后图片中像素的对应关系如下式(9)所示:
式中映射前图片中像素位置为fq,映射后图片中像素位置为fh,x和y为映射前像素坐标,x=0,1,2,……(e*i-1),y=0,1,2,……(r*q-1),%是取余运算,是向下取整运算,因此映射后图片由i*q个映射单元组成,每个映射单元图片的大小是e(像素)*r(像素)。
在所举例子中,使用matlab软件进行映射处理,先建立一个与子图像阵列图大小相同的零矩阵,目的是之后存放平移后的像素点信息。之后将子图像阵列图变成灰度图像,提取每个子图像中相同坐标的像素点,而此时已知e=3,r=3,i=220,q=220,那么任何一个坐标经过式(9)的计算都可以得出它在新矩阵中的新位置坐标,按新位置坐标将原灰度图像中像素点信息赋值到新矩阵中对应位置。使用循环语句先处理行再处理列,子图像阵列图中所有位置的像素点处理完后就得到了立体元图像,立体元图像如图12所示;使用灰度积分投影法计算视差所得的视差值重复步骤3、4、5,得到的立体元图像如图13所示。
到此就完成了稀疏采集集成成像生成物体的立体元图像工作。由于截取时采用的是220(像素)*220(像素)的矩形框,而在虚拟仿真软件3DS MAX中是用3*3的虚拟相机阵列生成、输出的物体多视角投影视图阵列,因此上述过程用3*3的摄像机阵列就拍摄到了需220*220的摄像机阵列拍摄的内容,实现了稀疏采集,更加方便准确地再现了物体信息。
获得立体元图像之后,可以引入SSIM(Structural Similarity)结构相似度指标来衡量成像所生成立体元图像与物体视图的相似情况,从而评价生成方法的优劣性。在matlab软件中可以使用ssim函数去对两幅图像进行结构相似度的比较,得到结构相似度SSIM指标的值,这个值越接近于1说明两者越相似。
在所举例子中,基于SAD寻找方法块匹配积分投影计算视差所得的立体元图像与物体视图的SSIM指标数值为0.75,灰度积分投影计算视差所得的立体元图像与物体视图的SSIM指标数值为0.71,因此前一种方法所生成的立体元图像成像质量更好。
所生成的基于稀疏采集集成成像原理的立体元图像能够高效、便捷地保存物体相关信息。
(二)、根据物体的立体元图像进行多视角投影非相干傅里叶计算全息图生成与仿真重建。
(1)、生成物体正交投影视图阵列。
根据所生成的物体的立体元图像采用非相干多视角正交投影法生成物体的无误差傅里叶全息图,首先需要生成物体正交投影视图阵列。读取立体元图像后使用数值模拟的方法获得物体在不同角度的正交投影视图,也就是物体正交投影视图阵列。其原理如下所述:
设定投影角度为θx和θy,物体目标点坐标为(x,y,z),对物体空间坐标系下的透视投影视图进行正交化处理,投影图中的坐标(xp,yp)与物体空间中的坐标(x,y,z)之间的关系可以表示为式(10)和(11):
xp=x+ztanθx=x+zs/l (10)
yp=y+ztanθy=y+zt/l (11)
由上述公式可知投影角度θx和θy可以被s、t、l等效替换,其中s和t是可变参数,l是设定好的固定值,经过上述变化即可得到正交投影视图去进行进一步的处理;
使用matlab软件可以完成生成物体正交投影视图阵列的工作,matlab软件的工作过程是对矩阵进行处理的,图像通过imread函数被读取生成含有相关信息的矩阵,之后进行矩阵运算去完成图像处理工作。那么就可以简化程序步骤,在读取立体元图像作为场景之后通过设定参数数值计算的方法来模拟相机阵列生成物体投影视图的步骤,之后将各个视角投影视图的信息保存入矩阵中来进行下一步的处理,不需要生成一张张图,简化了步骤。生成物体投影视图阵列之后依照公式利用循环语句在matlab中设定l的大小对不同s、t取值情况下对应的投影视图矩阵进行正交化运算得到了正交投影视图矩阵,该矩阵存储了这一位置正交投影视图的信息,对每一幅投影视图进行该操作就得到了存储正交投影视图阵列的多个矩阵,完成了生成正交投影视图阵列的工作。
在所举例子中,使用matlab软件进行正交投影视图阵列的生成工作。这一步采用数值模拟的方法,首先在matlab中读取立体元图像作为场景,之后设定视角范围与s、t的循环间隔步长,用以模拟不同视角的等间隔相机获取物体投影视图的过程。其中视角范围用来确定s和t取值的最大值和最小值,s、t的循环间隔步长用来确定所模拟的相机之间的距离,本例子中设定视角范围为0.001m,s、t的循环间隔步长为0.00001m,这代表着使用数值计算方法模拟一个0.001(m)*0.001(m)的范围内相邻两相机间隔为0.00001(m)的等间隔相机阵列获取物体多视角投影视图阵列的过程,易知这个模拟出来的相机阵列有201*201个相机。在matlab软件中为了处理方便可以直接使用包含图像信息的矩阵进行正交化处理,根据上面正交化的原理公式对投影视图信息矩阵进行正交化处理,就得到了物体的正交投影视图信息,每一幅视图所包含着的信息被保存为matlab中的一个矩阵,正交化处理后得到的所有矩阵存储了物体正交投影视图阵列的信息,用于下一步的处理工作。
(2)、正交投影视图与平面波相乘后积分生成傅里叶全息图。
对正交投影视图阵列中每一幅视图使用与平面波相乘后积分的方法生成傅里叶全息图中的一个像素点,根据获取角度相对位置按顺序将每个像素点排列之后生成傅里叶全息图。其生成原理如下:
每个正交投影视图与相应视角方向上传播的平面波相乘,之后二重积分到一个单一的复值中,即下面式(12):
H(s,t)=∫∫Ps,t(xp,yp)*exp[-2jπb(xp*s+yp*t)]dxpdyp (12)
平面波是上式中的幂指数部分exp[-2jπb(xp*s+yp*t),而正交投影视图是上式中的Ps,t(xp,yp),b是一个常数。
正交投影点Ps,t(xp,yp)可以被替换成相应的对象点因此通过进行/>与x和/>与y之间的互相替换,可以将上式(12)变形成下式(13):
H(s,t)=∫∫∫O(x,y,z)*exp[-2jπb{(x*s+y*t)+z*(s2+t2)/l}]dxdydz (13)
如果将傅里叶全息图平面上的比例坐标表示为(u,v),可将上面的式子(13)变形成下面的式子(14):
H(u,v)=∫∫∫O(x,y,z)*exp[-2jπb{(x*u+y*v)+z*(u2+v2)/lM}/M]dxdydz (14)
其中M=u/s=v/t,M是一个坐标放大因子。因此物体在焦距为f的傅里叶变换透镜的傅里叶平面上的复场g(u,v)可以由下式(15)给出:
g(u,v)=A∫∫∫O(x,y,z)*exp[-2jπ{(x*u+y*v)+z*(u2+v2)/2f}/λf]dxdydz (15)
其中A是一个常数。从式(14)和(15)中我们可以看到,若能满足所述方法生成的全息图就是精确的傅里叶全息图。
一幅正交投影视图按照上面式(12)生成傅里叶全息图中的一个复值,该复值构成傅里叶全息图中的一个像素。通过对所有的正交视图图像重复这个过程,我们可以得到傅里叶全息图中的各个像素点,然后按照原投影视图相对位置按顺序排列各个像素点就可以生成物体的傅里叶全息图,因为各个像素点的值都是复值,傅里叶全息图包含着的是复数信息,所以可以对傅里叶全息图求取幅度和相位生成幅度傅里叶全息图和相位傅里叶全息图两种表现形式。
使用matlab对正交投影视图阵列进行处理生成傅里叶全息图时,由于正交投影视图阵列中各幅图的信息是矩阵形式,可以在matlab软件中直接用正交投影视图信息矩阵依照式(12)运算得到傅里叶全息图中的一个像素点的复值。采用循环语句按照顺序对每一幅正交投影视图对应的信息矩阵进行上述操作,就得到了傅里叶全息图中每一个像素点的复值,按照相对位置排列好复值的顺序就得到了傅里叶全息图。在matlab软件中生成的傅里叶全息图是以一个复矩阵的形式存在的,可以通过abs函数求傅里叶全息图矩阵的幅度得到幅度傅里叶全息图,通过angle函数求傅里叶全息图矩阵的相位得到相位傅里叶全息图。
在所举例子中,使用matlab软件对正交投影视图信息矩阵进行乘后积分的循环运算,得到傅里叶全息图复矩阵。因为上一步数值模拟的是201*201的相机阵列,得到的是201*201个正交投影视图构成的阵列,那么此步骤生成的傅里叶全息图是201(像素)*201(像素)大小的复矩阵。之后对傅里叶全息图复矩阵求取幅度,就得到了幅度傅里叶全息图;对傅里叶全息图复矩阵求取相位,就得到了相位傅里叶全息图。由立体元图像得到的幅度傅里叶全息图和相位傅里叶全息图分别如图14和图15所示。
(3)、根据傅里叶全息图仿真重建还原图像。
对傅里叶全息图进行重建,设定模拟傅里叶透镜焦距f、重建深度d、光波波长λ的数值,运算还原出读取的立体元图像。其原理如下:
对合成后得到的傅里叶全息图进行重建,运用下式(16)进行重建运算之后可以由傅里叶全息图得到重建后原始物体图像的再现像。
使用matlab软件根据傅里叶全息图仿真重建还原图像时,对傅里叶全息图复矩阵与各个参数的数值按上述公式进行运算即可得到重建还原图像信息矩阵,采用imshow函数即可由矩阵信息再现出重建后的还原图像。需要注意的是上面公式(16)是针对于物体在焦距为f的傅里叶变换透镜的傅里叶平面上的复场g(u,v)的,需要在matlab中进行正交投影基于参数s、t坐标系到复场基于u、v坐标系的转换。定义焦距u、v的循环间隔步长的值分别为对应s、t的循环间隔步长的值与M的乘积,之后实现了u、v系代替s、t系从而能够根据公式去仿真重建。
在所举例子中,使用matlab软件进行全息图仿真重建还原图像的工作。设定好各个参数的值就可以由傅里叶全息图复矩阵仿真重建得到还原图像,此处采用的光是波长λ为700nm的红光,焦距f为250nm,重建深度d为800nm。得到的还原图像如图16所示。

Claims (3)

1.一种基于稀疏采集的傅里叶全息图生成重建方法,其特征在于,包括下列步骤:
(一)、采用基于稀疏采集的集成成像方法生成物体的立体元图像;
(二)、根据物体的立体元图像进行多视角投影非相干傅里叶计算全息图生成与仿真重建。
2.根据权利要求1所述的一种基于稀疏采集的傅里叶全息图生成重建方法,其特征在于,所述步骤(一)中生成物体立体元图像的方法如下:
(1)、获取物体多视角投影视图阵列
在计算机模拟软件中采用虚拟相机阵列去拍摄物体,得到多视角情况下物体投影视图若干,按相机相对位置排列好形成视图阵列;
使用虚拟计算机建模软件3DS Max创造物体场景、搭建虚拟摄像机阵列、对物体进行初步的多视角采集并渲染得到投影视图,完成采集平台的搭建及渲染得到物体投影视图阵列的工作,创造物体场景和搭建摄像机阵列,在虚拟计算机建模软件3DS Max中建立虚拟的目标场景并在指定位置放置目标物体组合,利用软件自带的自由摄像机在3DS MAX软件中创建n*n等距摄像机阵列,这个摄像机阵列中一共有n*n个摄像机,相邻两摄像机之间的距离相等;
(2)、基于SAD寻找方法块匹配积分投影计算视差
使用分割算法去分割投影视图得到物体不同形状部分,之后使用基于SAD寻找方法的块匹配积分投影法分别求取物体各个形状部分像素点坐标位置,根据物体像素点坐标位置计算各形状部分的视差值,舍去无效视差值之后求取各形状部分有效视差值的平均值作为最终视差值,对不同视差计算方法求得的最终视差值进行质量评估,设定一个标准化物体进行标准视差的求取,根据最终视差值与标准视差值之间的关系计算得到视差误差以及视差误差率大小;
由于物体不同形状部分之间会存在遮挡而使视差的准确率不能够得到保证,且直接对物体整体计算视差会有较大误差,所以先采用分割算法分割出物体各个不同形状的部分,再进行后面的视差计算;
分割出物体各形状部分之后计算视差,此处使用基于SAD寻找方法的块匹配积分投影法来分析像素点,运行过程中会进行块比较,寻找匹配块的过程使用了差的绝对值之和寻找方法,块匹配后对输出的各种目标图像的灰度图像作水平方向上的积分投影处理和垂直方向上的积分投影处理,统计水平和垂直方向上每行和每列中目标像素点的总量和分布情况,能直观地显示目标物体在对应子图像中的具体位置,得到物体各个形状部分像素点位置坐标后可以根据物体像素点坐标位置计算各形状部分的视差值,舍去无效视差值后求取各形状部分有效视差值的平均值作为最终视差值;
求得最终视差值之后,判断各个视差求取方法的优劣性,设定一个标准化物体进行标准视差的求取,根据最终视差值与标准视差值之间的关系计算得到视差误差以及视差误差率大小,进行比较来分析优劣性;
(3)、根据视差截取图像,使用matlab软件依照最终视差值根据公式对原多视角物体视图阵列中每一幅视图进行截取,得到截取所得的子图像图片,众多子图像图片构成了子图像阵列;
(4)、拼接得到子图像阵列图,得到截取所得的子图像图片后按照相机在相机阵列中的相对位置将截取后的图片按顺序拼接到一起生成裁剪后的子图像阵列图;
(5)、映射生成立体元图像,对拼接得到的裁剪后的子图像阵列图根据映射关系进行像素点的位置变换,重构生成物体的立体元图像,以较少的相机数生成了需要较多相机拍摄所得的立体元图像,实现了稀疏采集集成成像,获得立体元图像之后,引入SSIM结构相似度指标来衡量成像所生成立体元图像与原物体视图的相似情况,评估采用不同视差计算方法计算视差之后生成的立体元图像的质量。
3.根据权利要求1所述的一种基于稀疏采集的傅里叶全息图生成重建方法,其特征在于,所述步骤(二)中,物体傅里叶全息图的生成与仿真重建过程如下:
(1)、生成物体正交投影视图阵列
读取物体立体元图像作为场景,之后设定循环间隔,采用在matlab软件中数值计算模拟摄像机阵列的方法模拟等距摄像机阵列的拍摄过程,并对所获取的图像信息按照正交投影公式进行正交化处理生成正交视图信息,按照相对位置关系排列好所得正交投影视图信息得到正交投影视图阵列信息;
(2)、正交投影视图与平面波相乘后积分生成傅里叶全息图,然后要生成高精度傅里叶全息图,用每一个正交投影视图信息去乘相应的平面波之后再对乘积进行积分,就得到了傅里叶全息图中的一个复值,对不同角度不同位置的正交投影视图信息计算所得的复值按相对位置顺序排列,就生成了物体的傅里叶全息图,该方法采用坐标系转化方法联系起了三维物体在傅里叶变换透镜的傅里叶平面上的复场与物体三维坐标系,可被证明是精确没有误差的;
(3)、根据傅里叶全息图仿真重建还原图像,最后根据公式对傅里叶全息图进行了仿真重建,得到了物体的重建图像。
CN202310841018.3A 2023-07-10 2023-07-10 一种基于稀疏采集的傅里叶全息图生成重建方法 Pending CN116797641A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310841018.3A CN116797641A (zh) 2023-07-10 2023-07-10 一种基于稀疏采集的傅里叶全息图生成重建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310841018.3A CN116797641A (zh) 2023-07-10 2023-07-10 一种基于稀疏采集的傅里叶全息图生成重建方法

Publications (1)

Publication Number Publication Date
CN116797641A true CN116797641A (zh) 2023-09-22

Family

ID=88048099

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310841018.3A Pending CN116797641A (zh) 2023-07-10 2023-07-10 一种基于稀疏采集的傅里叶全息图生成重建方法

Country Status (1)

Country Link
CN (1) CN116797641A (zh)

Similar Documents

Publication Publication Date Title
CN110363858B (zh) 一种三维人脸重建方法及系统
Hartmann et al. Learned multi-patch similarity
CN104867135B (zh) 一种基于指导图像引导的高精度立体匹配方法
Wang et al. The light field attachment: Turning a DSLR into a light field camera using a low budget camera ring
US6205241B1 (en) Compression of stereoscopic images
CN109997170A (zh) 用于从视图中获得距离信息的设备和方法
Feng et al. Benchmark data set and method for depth estimation from light field images
CN112884682B (zh) 一种基于匹配与融合的立体图像颜色校正方法及系统
Gedge et al. Refractive epipolar geometry for underwater stereo matching
CN108198230A (zh) 一种基于散乱图像的作物果实三维点云提取系统
Zou et al. A method of stereo vision matching based on OpenCV
CN111988593B (zh) 一种基于深度残差优化的立体图像颜色校正方法及系统
WO2017046272A1 (en) Method for encoding a light field content
Matysiak et al. A pipeline for lenslet light field quality enhancement
CN111028273A (zh) 一种基于多流卷积神经网络的光场深度估计方法及其实现系统
Koch et al. Comparison of monocular depth estimation methods using geometrically relevant metrics on the IBims-1 dataset
JP6285686B2 (ja) 視差画像生成装置
CN116579962A (zh) 一种基于鱼眼相机的全景感知方法、装置、设备及介质
Teixeira et al. Epipolar based light field key-location detector
CN115578296B (zh) 一种立体视频处理方法
CN110211090B (zh) 一种用于评价视角合成图像质量的方法
CN116797641A (zh) 一种基于稀疏采集的傅里叶全息图生成重建方法
CN114815286B (zh) 全视差三维光场显示系统的参数确定方法、装置及设备
Zakeri et al. Non-planar inside-out dense light-field dataset and reconstruction pipeline
Bokaris et al. 3D reconstruction of indoor scenes using a single RGB-D image

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination