一种视点合成技术进行立体校正的方法转让专利

申请号 : CN202110386736.7

文献号 : CN113077401B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李铭杜歆

申请人 : 浙江大学

摘要 :

本发明公开了一种基于新型网络的视点合成技术进行立体校正的方法,在视点合成的实现立体图像校正的流程中,未校正立体图像视差估计网络直接估计原始左右视图的水平和垂直视差;基于参考视图的图像修复网络,根据左右视图的上下文信息进行图像空洞的修复,最终生成虚拟右视图和原左视图组成校正后图像对。相较于传统基于视点合成进行校正的技术,本发明校正过程更加简单高效,合成图像拥有最好的垂直视差消除性能,并能保证校正前后视差信息一致,拥有最好的视觉舒适度。

权利要求 :

1.一种视点合成技术进行立体校正的方法,其特征在于,包括以下步骤:

(1)通过对立体视频进行帧提取,构建立体图像训练数据集;

(2)构建并训练未校正立体图像视差估计网络,并利用训练后的未校正立体图像视差估计网络计算左视图IL的水平视差图DLh和垂直视差图DLv,以及右视图IR的水平视差图DRh和垂直视差图DRv;

(3)利用左右视图的水平和垂直视差图DLh、DRh、DLv、DRv以及左右视图IL、IR,做像素映射,得到待修复的虚拟右视图Ihole;

(4)构建并训练基于参考视图的图像修复网络,并利用训练后的基于参考视图的图像修复网络生成最终修复后的虚拟右视图Ipred;左视图IL和修复后的虚拟右视图Ipred即为校正结果;

所述的步骤(4)中构建的基于参考视图的图像修复网络由编码器、中间卷积层和解码器组成,其中编码器中包含了指导模块引入指导特征;编码器首先由四个卷积核大小分别为7x7、4x4、4x4、3x3,步长分别为2、2、2、2,输出通道数分别为64、128、256、256的卷积层对待修复的虚拟右视图Ihole输入的待修复图像和空洞模板M合并后的向量提取输入图像特征Fi;原始左右视图IL、IR作为参考视图,分别用估计得到的左图水平视差DLh和右图垂直视差DRv通过像素映射从左右视点映射到合成视点位置,再分别与空洞模板M合并,由四个卷积层的卷积核大小分别为7x7、4x4、4x4、3x3,步长分别为2、2、2、2,输出通道数分别为64、128、

256、256,通过权值共享的方式提取参考图像特征;四个卷积层从左右视图中获得左右参考图像特征Fl1,Fl2,Fl3,Fl4和Fr1,Fr2,Fr3,Fr4;随后参考图像特征Fl4和输入图像特征Fi进行通道合并后经过三个卷积核为3x3,输出通道为256,128,1的卷积层,在最后一个卷积层后紧接着一个sigmoid函数生成单通道的左注意力特征图Fla,参考特征Ft4和Fi进行通道合并后经过同样的三个卷积核为3x3,输出通道为256,128,1的卷积层,接着一个sigmoid函数生成单通道的右注意力特征图Fra;Fla与Fl4相乘,Fra与Fr4相乘后相加获得指导特征Fguide;获得的指导特征Fguide和输入图像特征Fi合并后经过一个输出通道为512,卷积核大小为4x4,步长为2的卷积层得到图像深层编码特征F5;

中间卷积层由三个输出通道为512的4x4卷积层构成,由图像深层编码特征F5得到深度融合特征Fdec5;

解码器由五个解卷积层构成;通过残差连接将F5与Fdec5合并,经过一个卷积核大小为

3x3,输出通道为256的解卷积层后得到解卷积特征Fdec4;Fdec4,Fl4,Fr4合并后由一个卷积核大小为4x4,输出通道为128的解卷积层得到解卷积特征Fdec3;Fdec3,Fl3,Fr3合并后由一个卷积核大小为4x4,输出通道为128的解卷积层得到解卷积特征Fdec2;Fdec2,Fl2,Fr2合并后由一个卷积核大小为4x4,输出通道为64的解卷积层得到解卷积特征Fdec1;Fdec1,Fl1,Fr1合并后由一个卷积核大小为4x4,输出通道为3的解卷积层得到Ipred,即修复后的虚拟右视图。

2.根据权利要求1所述的视点合成技术进行立体校正的方法,其特征在于,所述的步骤(2)中构建的未校正立体图像视差估计网络的结构由权值共享的一对特征提取器模块,以及6组级联的局部视差估计模块和全局视差估计模块和一个上采样函数构成。

3.根据权利要求2所述的视点合成技术进行立体校正的方法,其特征在于,所述特征提取器模块用于从输入图像中提取多尺度特征,特征提取器模块的结构包括6组卷积核大小为3x3的卷积层对,每组卷积层对包含一个步长为2的卷积层和步长为1的卷积层,6组卷积层对的输出通道数分别为16、32、64、128、192,每个卷积层后采用Leaky Relu函数作为激活函数,每组卷积层对输出一个尺度的特征,由特征提取器模块获得从左图和右图提取出的6个尺度特征fl0,fl1...fl5和fr0,fr1...fr5。

4.根据权利要求2所述的视点合成技术进行立体校正的方法,其特征在于,所述局部视差估计模块用于匹配局部范围的图像特征获得粗略的视差估计结果,第i个局部视差估计模块在计算左图局部视差估计结果 时,对第i个尺度的左图图像特征fli上的每一个像素点,计算该像素点与右图图像特征fri上以同一像素点坐标为中心,水平坐标距离dx和垂直坐标距离dy的范围内所有像素点之间的相关性,计算的结果构成代价匹配量cv,代价匹配量cv与第i个尺度的左图特征fli和经过2倍上采样后的第i‑1个局部视差估计模块输出的左聚合特征 进行通道合并生成合并特征fi,再采用5个卷积核大小为3x3,输出通道数分别为128、128、96、64、32的卷积层,以及每个卷积层后有一个Leaky Relu函数实现一种映射,由合并特征fi中获得左聚合特征flci,用一个卷积核大小为3x3,输出通道为2的卷积层由左聚合特征flci获得左局部残差估计结果 与经过2倍上采样后的i‑1层全局视差估计模块的左图全局视差估计结果 相加,获得左图局部视差估计结果 在i=0时局部视差估计模块直接由代价匹配量cv估计左图局部视差估计结果

对于第i个局部视差估计模块在计算右图局部视差估计结果 采用对称的结构,在

计算出代价匹配量cv后,和右图特征fri与经过2倍上采样后的第i‑1个局部视差估计模块输出的右聚合特征 进行通道合并,再由同样的五个卷积层,获得右聚合特征ftci与右局部残差估计结果 右局部残差估计结果 与经过2倍上采样的i‑1层全局视差估计模块的右图全局视差估计结果 相加,获得右图局部视差估计结果 在i=0时局

部视差匹配模块直接由代价匹配量cv估计右图局部视差估计结果

5.根据权利要求2所述的视点合成技术进行立体校正的方法,其特征在于,所述全局视差估计模块用于级联在局部视差模块后,结合全局上下文信息,基于局部视差估计结果获得精细的视差估计结果;第i个全局视差估计模块在估计左图全局视差估计结果dli时,用第i个局部视差估计模块输出的左图局部视差估计结果 将右图特征fri进行warp映射,将远距离的特征像素点映射到与相对应的特征像素点相近的位置生成左图映射特征再与左图特征fli和左图局部视差估计结果 合并,采用6个卷积核大小为3x3,输出通道数分别为128、128、96、64、32、2的卷积层,以及每个卷积层后有一个Leaky Relu函数实现一种映射,获得左全局残差估计结果 与第i个局部视差估计模块的左图局部视差估计结果 相加得到第i层左图全局视差估计结果dli;

第i个全局视差估计模块采用对称的结构估计右图全局视差估计结果dri,用第i个局部视差估计模块输出的右图局部视差估计结果 将左图特征fli进行warp映射,再与右图特征fri和右图局部视差估计结果 合并后通过同样的卷积层结构获得右全局残差估计结果 与右图局部视差估计结果 相加得到右图全局视差估计结果dri;

通过最后一个全局视差估计模块后得到的结果通过上采样放大到和输入图像同一分辨率最终得到输入立体图像的左右水平视差图DLh,DRh和左右垂直视差图DLv,DRv。

说明书 :

一种视点合成技术进行立体校正的方法

技术领域

[0001] 本发明涉及一种图像校正方法,尤其涉及一种视点合成技术进行立体校正的方法。

背景技术

[0002] 在双目摄像机进行3D图像的拍摄时,由于支架形变、左右镜头内部元件不一致等原因,使得拍摄出的图像对常存在垂直视差,难以达到理想的极线平行状态。低质量的3D图像会出现疲惫、头疼、注意力难以集中等生理不舒适的症状。因此在实际应用中,拍摄后的图像都需要经过后期处理来校正图像。
[0003] 常见的传统校正方法通过对3D图像的左右视图分别施加投影变换,将外极点映射到无穷远,从而达到极线平行的状态,然而这些方法不能兼顾校正前后水平视差的一致性,可能给图像带来严重的失真,且校正后的图像需要进行裁剪。
[0004] 利用视点合成进行立体图像校正的方法通过将视点合成运用到图像校正中,以最大程度减少图像失真,保留原立体图像的深度信息,且不损失图像分辨率。在利用视点合成的方法中包括了视差计算,像素映射和图像修复三个模块,其中视差计算的精度主要影响了垂直视差消除的性能,图像修复算法影响了最终合成虚拟视图的质量。在传统视点合成进行校正的方法中,在这两个关键步骤中采用了大量人工设计的特征和约束,在实际的应用中仅对部分的图像有良好的校正效果,缺乏足够的鲁棒性,最终合成的图像质量难以保证。

发明内容

[0005] 本发明的目的在于针对现有技术不足,提供一种能够实现立体图像校正,且避免校正后图像产生畸变和图像质量下降问题的基于新型网络的视点合成技术进行立体校正的方法。本发明实现了高精度的视差估计和高质量的图像修复,从而提升了利用视点合成技术生成的虚拟视图的真实性,使得最终成功校正立体图像,拥有良好的视觉舒适度。
[0006] 实现本发明目的的技术解决方案为:一种基于新型网络的视点合成技术进行立体校正的方法,包括以下步骤:
[0007] (1)通过对立体视频进行帧提取,构建立体图像训练数据集;
[0008] (2)构建并训练未校正立体图像视差估计网络,并利用训练后的未校正立体图像视差估计网络计算左视图IL的水平视差图DLh和垂直视差图DLv,以及右视图IR的水平视差图DRh和垂直视差图DRv;
[0009] (3)利用左右视图的水平和垂直视差图DLh、DRh、DLv、DRv以及左右视图IL、IR,做像素映射,得到待修复的虚拟右视图Ihole;
[0010] (4)构建并训练基于参考视图的图像修复网络,并利用训练后的基于参考视图的图像修复网络生成最终修复后的右视图Ipred;左视图IL和合成的右视图Ipred即为校正结果。
[0011] 进一步地,所述的步骤(2)中构建的未校正立体图像视差估计网络的结构由权值共享的一对特征提取器模块,以及6组级联的局部视差估计模块和全局视差估计模块和一个上采样函数构成。
[0012] 进一步地,所述特征提取器模块用于从输入图像中提取多尺度特征,特征提取器模块的结构包括6组卷积核大小为3x3的卷积层对,每组卷积层对包含一个步长为2的卷积层和步长为1的卷积层,6组卷积层对的输出通道数分别为16、32、64、128、192,每个卷积层后采用Leaky Relu函数作为激活函数,每组卷积层对输出一个尺度的特征,由特征提取器模块获得从左图和右图提取出的6个尺度特征fl0,fl1…fl5和fr0,fr1…fr5;
[0013] 进一步地,所述局部视差估计模块用于匹配局部范围的图像特征获得粗略的视差估计结果,第i个局部视差估计模块在计算左图局部视差估计结果 时,对第i个尺度的图像特征fli上的每一个像素点,计算该像素点与右图图像特征fri上以同一像素点坐标为中心,水平坐标距离dx和垂直坐标距离dy的范围内所有像素点之间的相关性,计算的结果构成代价匹配量cv,代价匹配量cv与第i个尺度的左图特征fli和经过2倍上采样后的第i‑1个局部视差估计模块输出的左聚合特征 进行通道合并生成合并特征fi,采用5个卷积核大小为3x3,输出通道数分别为128、128、96、64、32的卷积层,以及每个卷积层后有一个Leaky Relu函数实现一种映射,由合并特征fi获得左聚合特征flci,用一个卷积核大小为3x3,输出通道为2的卷积层由左聚合特征获得左局部残差估计结果 与经过2倍上采样后的i‑1层全局视差估计模块的左图全局视差估计结果 相加,获得左图局部视差估计结果 在i=0时局部视差估计模块直接由代价匹配量cv估计左图局部视差估计结果[0014] 对于第i个局部视差估计模块在计算右图局部视差估计结果 采用对称的结构,在计算出代价匹配量cv后,和右图特征fri与经过2倍上采样后的第i‑1个局部视差估计模块输出的右聚合特征 进行通道合并,再由同样的五个卷积层,获得右聚合特征frci与右局部残差估计结果 与经过2倍上采样的i‑1层全局视差估计模块的右图全局视差估计结果 相加,获得右图局部视差估计结果 在i=0时局部视差匹配模块直接由
代价匹配量cv估计右图局部视差估计结果
[0015] 进一步地,所述全局视差估计模块用于级联在局部视差模块后,结合全局上下文信息,基于局部视差估计结果获得精细的视差估计结果;第i个全局视差估计模块在估计左图全局视差估计结果dli时,用第i个局部视差估计模块输出的左图局部视差估计结果将右图特征fri进行warp映射,将远距离的特征像素点映射到与相对应的特征像素点相近的位置,再与右图特征fli和左图局部视差估计结果 合并,采用6个卷积核大小为3x3,输出通道数分别为128、128、96、64、32、2的卷积层,以及每个卷积层后有一个Leaky Relu函数实现一种映射,获得左全局残差结果 与第i个局部视差估计模块的左图局部视差估计结果 相加得到第i层左图全局视差估计结果dli;
[0016] 第i个全局视差估计模块采用对称的结构估计右图全局视差估计结果dri,用第i个局部视差估计模块输出的右图局部视差估计结果 将左图特征fli进行warp映射,与右图特征fri和右图局部视差估计结果 合并后通过同样的卷积层结构获得右全局残差结果 与右图局部视差估计结果 相加得到右图全局视差估计结果dri;
[0017] 通过最后一个全局视差估计模块后得到的结果通过上采样放大到和输入图像同一分辨率最终得到输入立体图像的左右水平视差图DLh,DRh和左右垂直视差图DLv,DRv。
[0018] 进一步地,所述的步骤(4)中构建的基于参考视图的图像修复网络由编码器、中间卷积层和解码器组成,其中编码器中包含了指导模块引入指导特征;编码器首先由四个卷积核大小分别为7x7、4x4、4x4、3x3,步长分别为2、2、2、2,输出通道数分别为64、128、256、256的卷积层对待修复的虚拟右视图Ihole和空洞模板M合并后的向量提取输入图像特征Fi;
原始左右视图IL、IR作为参考视图,分别用估计得到的左图水平视差DLh和右图垂直视差DRv通过像素映射从左右视点映射到合成视点位置,再分别与空洞模板M合并,由四个卷积层的卷积核大小分别为7x7、4x4、4x4、3x3,步长分别为2、2、2、2,输出通道数分别为64、128、256、
256,通过权值共享的方式提取参考图像特征;四个卷积层从左右视图中获得左右参考图像特征Fl1,Fl2,Fl3,Fl4和Fr1,Fr2,Fr3,Fr4;随后参考图像特征Fl4和输入图像特征Fi进行通道合并后经过三个卷积核为3x3,输出通道为256,128,1的卷积层,在最后一个卷积层后紧接着一个sigmoid函数生成单通道的左注意力特征图Fla,参考特征Fr4和Fi进行通道合并后经过同样的三个卷积核为3x3,输出通道为256,128,1的卷积层,接着一个sigmoid函数生成单通道的右注意力特征图Fra;Fla与Fl4相乘,Fra与Fr4相乘后相加获得指导特征Fguide;获得的指导特征Fguide和输入图像特征Fi合并后经过一个输出通道为512,卷积核大小为4x4,步长为2的卷积层得到图像深层编码特征F5;
[0019] 中间卷积层由三个输出通道为512的4x4卷积层构成,由图像深层编码特征F5得到深度融合特征Fdec5;
[0020] 解码器由五个解卷积层构成;通过残差连接将F5与Fdec5合并,经过一个卷积核大小为3x3,输出通道为256的解卷积层后得到解卷积特征Fdec4;Fdec4,Fl4,Fr4合并后由一个卷积核大小为4x4,输出通道为128的解卷积层得到解卷积特征Fdec3;Fdec3,Fl3,Fr3合并后由一个卷积核大小为4x4,输出通道为128的解卷积层得到解卷积特征Fdec2;Fdec2,Fl2,Fr2合并后由一个卷积核大小为4x4,输出通道为64的解卷积层得到解卷积特征Fdec1;Fdec1,Fl1,Fr1合并后由一个卷积核大小为4x4,输出通道为3的解卷积层得到Ipred,即修复后的虚拟右视图。
[0021] 本发明的有益效果是:本发明提出的方法可以保证校正后的立体图像成功实现垂直视差消除,并且避免图像畸变和分辨率损失,相较于传统的校正方法拥有最佳的视觉舒适度,能够获得稳定的高质量图像结果。

附图说明

[0022] 图1为本发明方法的整体流程图;
[0023] 图2为本发明方法中的未校正立体图像视差估计网络示意图;
[0024] 图3为未校正立体图像视差估计网络中第i个局部视差估计模块计算左图视差结构示意图;
[0025] 图4为未校正立体图像视差估计网络中第i个全局视差估计模块计算左图视差结构示意图;
[0026] 图5为本发明方法中的基于参考视图的图像修复网络示意图;
[0027] 图6为基于参考视图的图像修复网络的指导模块示意图。

具体实施方式

[0028] 下面结合附图和具体实施方式对本发明作进一步详细描述,本发明的目的和效果将变得更加明显。
[0029] 本发明所述的校正方法结合视差估计和图像修复网络实现对立体图像校正。立体相机一般由左相机和右相机构成,由左相机拍摄的左视图和右相机拍摄的右视图构成了一幅立体图像。立体视频中每一帧也可以视为一幅立体图像,适用于本发明的方法进行校正。
[0030] 如图1所示,图1给出了依照本发明进行立体图像校正的方法流程图。
[0031] 步骤101:通过对立体视频进行帧提取,构建立体图像训练数据集。为了对神经网络进行训练,需要有对应的数据集,本发明所述的校正方法针对立体图像进行。通过从立体视频中进行帧提取,每帧画面都是一幅立体图像,可以简单地获取充足的数据进行本发明中的神经网络的训练。对于视频中几乎没有纹理的空白或是黑屏图像进行筛除,保证获取的数据集中图像的质量。
[0032] 步骤102:构建和训练未校正立体图像视差估计网络,并利用训练后的未校正立体图像视差估计网络计算左视图IL的水平视差图DLh和垂直视差图DLv,以及右视图IR的水平视差图DRh和垂直视差图DRv。构建的未校正立体图像视差估计网络(如图2所示),未校正立体图像视差估计网络包括权值共享的一对特征提取器模块,以及6组级联的局部视差估计模块和全局视差估计模块,和上采样函数。
[0033] (1)特征提取器模块,用于从输入图像中提取多尺度特征,特征提取器模块的结构包括6组卷积核大小为3x3的卷积层对,每组卷积层对包含一个步长为2的卷积层和步长为1的卷积层,6组卷积层对的输出通道数分别为16、32、64、128、192,每个卷积层后采用Leaky Relu函数作为激活函数,每组卷积层对输出一个尺度的特征。
[0034] (2)局部视差估计模块,用于匹配局部范围的图像特征获得粗略的视差估计结果,第i个局部视差估计模块在计算第i个左图局部视差估计结果 的模块结构如图3所示:
[0035] 局部视差估计模块由一个匹配代价计算函数,一个通道合并,六个卷积层运算和一个加法运算组成,对于右图局部视差估计结果 采用对称的结构计算。
[0036] 采用《A.Dosovitskiy et al.,"FlowNet:Learning Optical Flow with Convolutional Networks,"in 2015IEEE International Conference on Computer Vision(ICCV),Dec.2015,pp.2758–2766.》所示的方法计算匹配代价计算函数。
[0037] 通道合并将代价计算函数计算出的代价匹配量cv与第i个尺度的左图特征fli,以及经过2倍上采样后的第i‑1个局部视差估计模块输出的左聚合特征 进行通道合并,为后续模块提供多个角度的总特征。
[0038] 六个卷积层采用大小为3x3,输出通道数分别为128、128、96、64、32、2的卷积层,以及每个卷积层后有一个Leaky Relu函数实现一种映射从合并的特征中获得左局部残差估计结果 局部视差估计模块输入的前一模块视差估计结果的错误估计点的调整,其中第五个卷积层计算获得左聚合特征flci,作为第i个局部视差模块的其中一个输出,输入到第i+1个局部视差估计模块。
[0039] 加法运算将卷积层输出的 和 相加获得第i层的左图局部视差估计结果
[0040] 在i=0时,局部视差估计模块的计算得到简化,其中不存在通道合并运算和加法运算,直接由匹配代价计算得到的代价匹配量cv和六个卷积层估计第0层的左图局部视差估计结果
[0041] (3)全局视差估计模块,用于级联在局部视差模块后,结合全局上下文信息,基于局部视差估计结果获得精细的视差估计结果,第i个全局视差估计模块在估计左图视差估计结果dli的模块结构如图4所示:
[0042] 全局视差估计模块由反向映射函数,一个通道合并运算和六个卷积层运算和加法运算构成,对于右图全局视差结果dri采用对称的结构计算。
[0043] 反向映射函数用第i个局部视差估计模块输出的 将右图特征fri的远距离特征像素点映射到与相对应的特征像素点相近的位置,生成右图特征fri对应的左图映射特征
[0044] 采用《C.Godard,O.M.Aodha and G.J.Brostow,"Unsupervised Monocular Depth Estimation with Left‑Right Consistency,"in 2017IEEE Conference on Computer Vision and Pattern Recognition(CVPR),Jul.2017,pp.6602–6611.》所示的方法计算反向映射函数。
[0045] 通道合并运算将左图映射特征 与真实的左图特征fli和前一个局部视差估计模块的左图局部视差估计结果 合并,为后续计算提供初步的全局特征。
[0046] 六个卷积层采用大小为3x3,输出通道数分别为128、128、96、64、32、2的卷积层,以及每个卷积层后有一个Leaky Relu函数实现一种非线性映射从全局特征中获得左全局残差估计结果 反应了对第i个全局视差估计模块输入的左图局部视差估计结果中每个位置的视差估计结果的偏差情况。
[0047] 加法运算将左全局残差估计结果 与第i个局部视差估计模块的左图局部视差估计结果 相加得到左图全局视差估计结果dli。
[0048] (4)上采样函数将最后一个全局视差估计模块,即i=5的模块,得到的左右图全局视差估计结果dl5和dr5通过上采样放大到和输入图像同一分辨率最终得到输入立体图像的水平视差图DLh,DRh和垂直视差图DLv,DRv。
[0049] 训练该网络首先需要构建损失函数,损失函数由图像重建损失(Image reconstruction loss)、视差光滑度损失(Disparity smoothness loss)、代理监督损失(Proxy‑supervised loss)构成。总损失表达式为:
[0050]
[0051] 其中n表示有n个不同尺寸下的视差结果,αap、αds、αds是个损失比例系数。上标l、r分别表示左图视差损失和右图视差损失。Lap表示重建损失,Lds表示视差光滑度损失,Lps表示代理监督损失。
[0052] 采用《F.Tosi,F.Aleotti,M.Poggi and S.Mattoccia,"Learning Monocular Depth Estimation Infusing Traditional Stereo Knowledge,"in 2019IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR),Jun.2019,pp.9799–9809.》所示的方法计算图像重建损失和视差光滑度损失。
[0053] 代理监督损失采用L1 loss计算:
[0054]
[0055] 其中M是一个二值的掩码图,1表示可信视差,0表示不可信视差,通过左右一致性检验计算得到。dij和 分别是网络生成视差和代理视差在i,j位置上的值。
[0056] 采用《杜歆,邹泷,朱云芳.一种视点合成中基于深度的空洞修复方法:中国,st201510149370.6[P].2017‑01‑04.》所示的方法生成代理视差d 。
[0057] 构建损失函数后,将数据集中的图像随机剪成448x384大小作为输入,采用β1=‑8 ‑40.9,β2=0.999,∈=10 的Adam优化器进行1000k次迭代,采用λ=10 的学习速率,前700k步保持学习速率不变,随后100k速率减半。获得训练后的未校正立体图像视差估计网络。
[0058] 在网络训练完成后,对于立体图像的左视图IL和右视图IR直接输入网络,未校正立体图像视差估计网络会直接产生左右视图的水平视差图DLh,DRh和垂直视差图DLv,DRv。
[0059] 步骤103:像素映射合成待修复的虚拟右视图Ihole,利用左右视图的水平和垂直视差图DLh,DRh,DLv,DRv以及左右视图IL,IR,做像素映射,从可靠性高的左右视图中的彩色像素点映射到虚拟右视图中的对应位置,从而合成新的右视图Ihole。
[0060] 采用《杜歆,邹泷,朱云芳.一种视点合成中基于深度的空洞修复方法:中国,201510149370.6[P].2017‑01‑04.》所示的方法计算像素映射。
[0061] 步骤104:构建和训练基于参考视图的图像修复网络,生成修复后的虚拟右视图。具体构建的基于参考视图的图像修复网络,如图5所示:
[0062] 基于参考视图的图像修复网络由编码器,中间卷积层,和解码器。其中编码器部分包含了指导模块引入指导特征。
[0063] 编码器从输入的待修复图像中提取深度特征,并由设计的指导模块引入参考图像特征,生成融合特征。编码器由五个卷积层,一个指导模块构成。首先由四个卷积核大小分别为7x7、4x4、4x4、3x3,步长分别为2、2、2、2,输出通道数分别为64、128、256、256的卷积层对输入图像特征Ihole和空洞模板M合并后的向量提取输入图像特征Fi。原始左右视图IL、IR,以及对应的左图水平视差DLh和右图垂直视差DRv和空洞模板M,输入指导模块生成指导特征Fguide。获得的指导特征Fguide和输入图像特征Fi合并后经过一个输出通道为512,卷积核大小为4x4,步长为2的卷积层得到图像深层编码特征F5。
[0064] 指导模块(如图6所示)由两条对称的支路构成,每条支路由一个像素映射函数,七个卷积层,一个sigmoid函数,一个通道合并运算,一个乘法运算构成。图6中上支路由左图IL中提取指导特征,由左图水平视差DLh通过像素映射函数,将左图IL从左视点映射到合成视点位置,再通过通道合并运算与空洞模板M合并,紧接着由四个卷积层的卷积核大小分别为7x7、4x4、4x4、3x3,步长分别为2、2、2、2,输出通道数分别为64、128、256、256,通过权值共享的方式提取左参考图像特征。四个卷积层从左视图中获得左参考图像特征Fl1,Fl2,Fl3,Fl4。随后通过通道合并,将左参考图像特征Fl4和输入图像特征Fi合并。三个卷积核为3x3,输出通道为256,128,1的卷积层,在最后一个卷积层后紧接着一个sigmoid函数用于学习一种映射从左参考图像特征和输入图像特征中学习左参考图像特征中能够提供合适的指导信息的特征位置,生成单通道的左注意力特征图Fla,最后通过一个乘法运算将左注意力特征图Fla与左参考图像特征Fl4相乘,获得左图提供的左指导特征。下支路由右图IR中提取指导特征采用了对称的生成方式,将两条支路的指导特征相加获得指导特征Fguide。
[0065] 中间卷积层由三个输出通道为512的4x4卷积层构成,由编码获得的图像深层编码特征F5,进行映射得到深度融合特征Fdec5,用来恢复成完整的修补后图像。
[0066] 解码器由五个解卷积层构成,通过解卷积实现由深层特征到彩色图像的逆变换。通过残差连接将F5与Fdec5合并,经过一个卷积核大小为3x3,输出通道为256的解卷积层后得到解码后的解卷积特征Fdec4;Fdec4,Fl4,Fr4合并后由一个卷积核大小为4x4,输出通道为128的解卷积层得到解卷积特征Fdec3;Fdec3,Fl3,Fr3合并后由一个卷积核大小为4x4,输出通道为
128的解卷积层得到解卷积特征Fdec2;Fdec2,Fl2,Fr2合并后由一个卷积核大小为4x4,输出通道为64的解卷积层得到解卷积特征Fdec1;Fdec1,Fl1,Fr1合并后由一个卷积核大小为4x4,输出通道为3的解卷积层得到Ipred,即修复后的虚拟右视图。
[0067] 基于参考视图的图像修复网络采用生成对抗网络的训练方式,采用7x7的PatchGAN作为判别器。
[0068] 采用《P.Isola,J.Zhu,T.Zhou and A.A.Efros,"Image‑to‑Image Translation with Conditional Adversarial Networks,"in 2017IEEE Conference on Computer Vision and Pattern Recognition(CVPR),Jul.2017,pp.5967–5976.》所示的方法生成PatchGAN网络的判别器结构。
[0069] 该基于参考视图的图像修复网络包括L1损失(L1 loss),对抗损失(adversarial loss),感知损失(perceptual loss),风格损失(style loss)四部分。总体损失表达式为:
[0070] LG=λl1Ll1+λadvLadv+λpLperc+λsLstyle
[0071] 其中λl1、λadv、λp、λs为比例系数,Ll1为L1损失,λadv为对抗损失,Lperc为感知损失,Lstyle为风格损失。
[0072] 采用《Nazeri,Kamyar,et al.“EdgeConnect:Generative Image Inpainting with Adversarial Edge Learning,”in The IEEE International Conference on Computer Vision(ICCV)Workshops,Oct.2019.》所示的方法计算每一项损失。
[0073] 计算损失函数采用的真实值图像通过传统修复方法获得。
[0074] 真实值生成的算法采用《杜歆,邹泷,朱云芳.一种视点合成中基于深度的空洞修复方法:中国,201510149370.6[P].2017‑01‑04.》所示的方法。
[0075] 构建损失函数后,将数据集中的图像随机剪成256x256大小作为输入,采用β1=0,‑4β2=0.9的Adam优化器进行100k次迭代,采用λ=10 的学习速率,前80k步保持学习速率不变,随后10k速率减半,判别器的学习速率为生成器的1/10。最终获得训练后的基于参考视图的图像修复网络模型。
[0076] 由训练后的基于参考视图的图像修复网络生成最终修补后的虚拟右视图Ipred。在网络训练完成后,输入立体图像的左视图IL和右视图IR,左图水平视差DLh和右图垂直视差DRv,待修复的虚拟右视图Ihole和空洞模板M,训练后的网络参数进行计算,直接生成修补后的虚拟右视图Ipred。Ipred为Ihole修复后的图像结果。
[0077] 步骤105:原始左视图IL和修复后的虚拟右视图Ipred组成最终的校正结果。
[0078] 本方法在无相机的标定信息的情况下,结合利用提出的未校正立体图像视差估计网络和基于参考视图的图像修复网络实现高质量的视点合成结果,使得最终合成的虚拟右视点图像与原始左图无垂直视差,且没有分辨率损失。
[0079] 上述实施方式用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改和改变,都落入本发明的保护范围。