使用统计模型从图像数据预测深度的制作方法

文档序号:17728822发布日期:2019-05-22 02:42阅读:221来源:国知局
使用统计模型从图像数据预测深度的制作方法

本发明总体涉及图像数据处理系统,并且更具体地涉及使用经训练的统计模型从图像数据预测深度数据。



背景技术:

来自图像的深度估计在计算机视觉中具有悠久的历史。富有成效的方法依赖于来自运动的结构、来自x的形状、双目和多视图立体。然而,这些技术中的大多数依赖于以下假设:对感兴趣场景的多个观察是可用的。这些观察可以以多个视点或者以不同光照条件下的场景观察的形式出现。为了克服这种限制,最近出现了将仅存在单个输入图像的单眼深度估计的任务作为监督学习问题的工作的数目的激增,例如,如在l.ladicky,j.shi,和m.pollefeys,“pullingthingsoutofperspective”,cvpr2014年,d.eigen,c.puhrsch和r.fergus,“depthmappredictionfromasingleimageusingamulti-scaledeepnetwork”,nips2014年,以及f.liu,c.shen,g.lin和i.reid,“learningdepthfromsinglemonocularimagesusingdeepconvolutionalneuralfields”,pami2015年中所讨论的。然而,这样的工作中描述的方法试图使用已经在大集合基准深度数据上被离线训练的模型来直接预测图像中的每个像素的深度。因此,这样的方法限于大图像集合及其对应的像素深度可用的场景。

已经被开发的备选方法是在训练期间将自动深度估计视为图像重建问题。通过利用诸如透视、相对于熟悉对象的已知大小的缩放、照明和阴影的形式的外观、遮挡等线索,人类在单眼深度估计方面表现优秀。这种从上到下和从下到上的线索的组合似乎将完整的场景理解与我们准确估计深度的能力联系起来。最近,少数已发表的工作提出了用于新视图合成和深度估计的基于深度网络的方法,这些方法在训练时间时不需要基准深度。

j.flynn,i.neulander,j.philbin和n.snavely,“deepstereo:learningtopredictnewviewsfromtheworld’simagery”,cvpr2016年中讨论了一种名为深度立体(deepstereo)的新图像合成网络,该网络通过从附近的相邻图像选择像素来生成新视图。在训练期间,他们选择图像集合,计算其各自的相机姿势(使用测距法和来自运动的标准结构的组合),并且然后训练卷积神经网络(cnn)以预测附近图像的外观:基于平面扫描体积,选择最合适的深度以从相邻图像中采样颜色。在测试时间时,在小重叠补丁上执行图像合成。然而,深度立体不适合于单眼深度估计,因为其在测试时间时需要几个附近的姿势图像。

在j.xie,r.girshick和a.farhadi,“deep3d:fullyautomatic2d-to-3dvideoconversionwithdeepconvolutionalneuralnetworks”,eccv2016年中讨论的深度3d(deep3d)cnn也解决了训练阶段中的新视图合成的问题,其中,他们的目标是:在双目立体图像对的上下文中,从输入的左图像(即,源图像)生成对应的右视图。如在计算机视觉中众所周知的,双目视差是指两个立体图像内的相似特征的坐标的差异,即由左相机和右相机看到的对象的图像位置中的差异,其由相机之间水平分离(视觉差)引起。深度3d使用双目视差从立体视觉中的二维图像中提取深度信息。再次使用图像重建损失,他们的方法产生在针对输入的左图像中的每个像素的所有可能的视差上的分布。得到的合成右图像的像素值是来自左图像的相同扫描线上的、由每个视差的概率加权的像素的组合。他们的图像形成模型的缺点是:增加候选视差值的数目极大地增加了算法的存储器消耗,使得难以将他们的方法缩放到大输出分辨率。

类似于深度3d,r.garg,v.kumarbg和i.reid,“unsupervisedcnnforsingleviewdepthestimation:geometrytotherescue”,eccv2016年中讨论了使用基于训练阶段中的双目立体图像对的图像重建损失来训练用于单眼深度估计的cnn。然而,garg等人描述的图像形成模型不是完全可区分的,使得训练是次优的。为了补偿,他们执行泰勒近似以使其损失线性化,从而产生更有挑战性的优化目标。

所期望的是增强的网络架构,其解决上述用于深度估计的基于深度cnn的系统的所有限制,并且显著提高最终结果的质量。



技术实现要素:

本发明的各个方面在所附的权利要求中列出。

根据一个方面,本发明提供了一种计算机实现的方法,包括存储定义用以从彩色图像数据预测深度数据的统计模型的数据;以及通过以下步骤在至少一个输入双目立体图像对上训练模型:针对输入双目立体对的每个图像,预测对应的视差值,该视差值在被应用于该图像时支持另一图像的重建;以及基于代价函数更新模型,该代价函数强制针对立体对中的每个图像的经预测的视差值之间的一致性。

训练模型还可以包括:针对立体对的每个图像,基于对应的视差值计算投影(projected)的视差值。通过对第一图像的经预测的视差值采样并且将另一图像的经预测的视差值应用于经采样的数据,可以计算立体对的一个图像的投影的视差值。代价函数可以包括视差一致性分量,以强制针对立体对的每个图像计算的经预测的视差值与投影的视差值之间的一致性。

模型的重建模块可以通过应用对应的经预测的视差值以移位立体对中的第一图像的经采样的图像像素来重建立体对中的第二图像。代价函数还可以包括经重建的外观匹配分量,以最小化经重建的图像和对应的输入图像之间的图像重建误差。采样可以包括双线性插值。

代价函数还可以包括平滑分量,以促使对应的经预测的视差值中的局部平滑。代价函数可以实现视差一致性分量、平滑分量和经重建的外观匹配分量的加权和。

统计模型可以包括卷积神经网络cnn,其包括处理节点的结构化布置,每个处理节点具有至少一个参数值。卷积神经网络可以由代价函数的反向传播分量来训练。

训练模型还可以包括:在多个空间分辨率处上采样和上卷积输入图像数据,预测在每个空间分辨率处的对应的视差值,其中基于代价函数更新模型,该代价函数强制针对立体对中每个图像的在每个空间分辨率处的经预测的视差值之间的一致性。代价函数可以包括根据空间分辨率的经预测的视差值之间的一致性的加权强制。

训练图像的双目立体对可以由具有已知的相机焦距并且在已知的基线距离处隔开的相应相机同时捕获。训练图像的双目立体对可以是经校正和时间对准的立体对。数字图像可以利用元数据来注释,该元数据定义捕获图像的相应的相机的属性。

根据又一方面,可以通过以下步骤从单个输入彩色图像生成深度图像:使用经训练的模型的视差预测模块从输入彩色图像生成预测视差图;以及从经预测的视差图计算对应的估计深度数据。彩色图像数据可以由相机捕获。该模型可以被配置为接收大分辨率图像。

有利地,本发明提供了一种完全卷积模型,其不需要任何深度数据,而是被训练以合成深度作为中间体。该模型学习预测具有已知的相机基线的校正立体图像对之间的像素级对应。

此外,实施例提供:

网络架构,其执行具有新训练损失的端到端无监督的单眼深度估计,该新训练损失包含网络内部的左-右视差一致性约束;

若干不同的训练损失和图像形成模型的评估,该图像形成模型突出所描述的方法的有效性;以及

推广到其他不同数据集的模型。

根据另一方面,本发明提供了一种用于单眼深度估计的无监督深度神经网络,其中仅存在单个输入图像,并且其中没有做出关于场景几何形状或存在对象的类型的假设。本发明没有使用基准深度数据,该基准深度数据在特定的实现上下文中可能是不可用的或者可能是高代价来获得的,而是利用了可以容易被捕获的双目立体数据。根据又一方面,学习模块实现损失函数,该损失函数在训练期间强制来自每个相机视图的经预测的深度图之间的一致性,得到改进的预测。尽管在训练阶段省略了基准深度信息,但是得到的输出深度数据优于完全监督的基线。此外,经训练的模型可以推广到训练期间未被看到的数据集,并且仍然产生视觉上合理的深度图。

在其它方面,提供了被配置以执行如上所述的方法的装置和系统。在另一方面,提供了一种计算机程序,其包括机器可读指令,该指令被布置成使得可编程设备执行如上所述的方法。

附图说明

现在,接下来参考下面标识的附图,仅通过示例的方式详细描述本发明的实施例。

图1是示出根据本发明的实施例的图像处理系统的主要组件的框图。

图2是示例性cnn的部分的示意图。

图3包括图3a和图3b,是图示根据实施例的、由训练模块执行以训练单个图像深度预测cnn的主要处理步骤的流程图。

图4是示意性地图示根据实施例的、训练迭代中的示例cnn的处理和数据分量的框流程图。

图5是根据实施例的、用于使用经训练的cnn从单个源图像生成和处理深度数据的示例性过程的流程图。

图6是在其上可以实现实施例的一个或多个功能的计算机系统的示例图。

具体实施方式

图1是用于从彩色图像数据预测和处理深度数据的示例系统1的框图。如图所示,系统1包括具有深度数据生成器模块5的图像处理系统3,深度数据生成器模块5可以接收从相机7捕获的彩色图像数据,诸如描述针对形成捕获视图中的对象的像素的rgb值的rgb图像。数字图像可以用定义捕获图像的相应相机的属性的元数据来注释。深度数据生成器模块5使用经训练的卷积神经网络(cnn)模块11的视差预测器9,直接从接收的单个源图像的彩色图像数据生成预测的双目视差图。如果源图像是由校准的双目立体相机对捕获的立体图像对的一个图像,则生成的双目视差值表示捕获的源图像中的检测到的对象或特征的图像位置与对应的概念双目立体视图中的对象或特征的预测图像位置的差异。深度数据生成器模块5从由视差预测器9输出的双目视差图计算深度信息。

cnn11包括处理节点的动态结构化布置,每个节点具有对应的权重参数。cnn11的结构和权重由训练模块13在训练阶段更新。在本实施例中,cnn11的处理节点被布置为三个主要组件:

-编码器12,其包括节点和层以用于:处理输入图像数据并且输出指示输入图像中的对象或特征的编码数据;

-解码器14,其包括节点和层以用于:处理来自编码器12的编码数据,执行上卷积和上采样以输出增加的空间分辨率处的缩放数据,由视差预测器9输出经预测的视差图,诸如来自输入的编码数据的经预测的视差图,并且通过将经预测的视差图应用于输入图像数据来输出投影视图;以及

-损失模块19,其包括节点和层以用于:计算用于更新cnn11的训练损失,该训练损失包括从解码器14输出的视差图计算的视差平滑和左-右视差一致性代价项,以及从投影视图与对应的输入视图的比较计算的外观匹配代价项。

如下面将更详细描述的,训练模块13基于双目立体图像对15训练卷积神经网络(cnn)模块11,该双目立体图像对15例如从训练图像的数据库17中取回。双目立体图像对15包括左视图15a和右视图15b,左视图15a和右视图15b由具有已知的相机焦距并且在已知的基线距离处隔开的相应的双目立体相机同时捕获,由此可以从由视差预测器9输出的经预测的双目视差值计算深度数据。训练模块13优化由cnn模块11的损失模块19实现的损失函数,并且因此训练视差预测器9以直接从单个源图像的彩色像素值准确且高效地生成预测的双目视差图。

应当理解,cnn模块11、训练模块13和深度数据生成器模块5可以被组合成单一的模块或被划分成附加的模块,并且图像处理模块3可以包括附加的组件,诸如存储器21以存储经训练的cnn模块11的模型数据。系统1还可以包括通常在计算系统/设备中找到的其他组件、子组件、模块和设备,为了描述的清楚,图1中未图示这些组件、子组件、模块和设备。

由图像处理系统3输出的深度信息可以被提供给一个或多个深度数据处理模块23以用于进一步的数据处理。深度数据处理模块23可以被配置为:基于处理的深度数据,将数据和/或控制信号输出到输出设备25。深度数据处理模块的性质和布置将特定于系统1的实现上下文。仅通过示例性的具体实现:深度图可以从与计算机图形中的合成对象插入有关的捕获的图像数据预测;确定计算摄影中的合成视场深度;生成用于机器人抓取的控制指令;输出深度作为人体姿势估计的线索;确定用于人机交互中的手部姿势估计的强线索;用于电影视频数据的自动2d到3d转换;用于自动驾驶车辆的低代价障碍避免传感器;用于手术的小尺寸外形、单个相机、深度感测、内窥镜;单个相机3d重建;用于vr耳机的改进的姿势估计;针对盲人的障碍避免和路径规划;用于物体计量的大小和体积估计。应当理解,训练数据17可以包括特定于具体实现上下文的视图的立体图像对15。

图2是根据本实施例的示例性cnn的解码器14和训练损失模块19部分的示意图。cnn11的示例性层在下面的表1中列出,其基于n.mayer,e.ilg,p.p.fischer,d.cremers,a.dosovitskiy和t.brox,“alargedatasettotrainconvolutionalnetworksfordisparity,opticalflow,andsceneflowestimation”,cvpr2016年的完全卷积架构,但是被调整以包括若干修改,这些修改使得网络能够在不需要基准深度数据的情况下被训练。在图示的示例中,cnn由系统在训练阶段中学习的3100万个参数组成,其中'k'是内核大小,'s'是步幅,'通道'是每层的输入和输出通道的数目,'输入'和'输出'分别是针对每层的相对于输入图像的输入和输出缩减因子,并且'输入'对应于每层的输入,其中'+'表示级联,以及'*'对应于对应层的2x上采样。

表1

如所示,cnn11包括编码器12(包括层conv1至conv7b)和解码器14(包括从upconv7至disp1的层)。如本领域中已知的,解码器14可以从编码器的激活块实现跳过连接,以便分辨出更高分辨率的细节。在图2中,c是指卷积连接,u是指上卷积连接,s是指双线性采样连接,以及us是指上采样连接。在本示例性实施例中,以四个不同尺度(被标记为disp4至disp1)输出视差预测,其空间分辨率在每个后续尺度处增加。在训练网络时,在每个输出尺度处针对每个输入图像视图(例如,左视图和右视图)预测两个视差图,输出尺度由下标s指示。一个视差图与层的输入对齐(例如,从左到右的视差图dr对齐到左视图的编码数据),并且另一视差图对齐到其对应的立体对等物(partner)(例如,投影的从右到左的视差图dl(dr)对齐到对应的投影的右视图)。由解码器14和损失模块19进行的处理在四个不同的输出尺度中的每一个处重复。

关键的优点是:经训练的系统3通过预测来自两个双目相机的视差并且强制其彼此一致来产生优秀的深度图。用来自左视图的像素生成右视图得到与右视图对齐的视差图(反之亦然)。训练模块13旨在优化经预测的视差图与源输入图像(在该实施例中是左视图15a)的对齐。在训练期间,训练模块13可以访问左立体图像15a和右立体图像15b,并且训练模块13训练cnn11以估计从左到右和从右到左的视差图,以及从各个估计的视差图确定对应的投影的从右到左和从左到右的视差图,并且强制它们之间的一致性。训练模块13的附加优化目标是训练cnn11通过学习视差图来重建对应的左视图和右视图,该视差图可以移位像素以最小化图像重建误差。以这种方式,给定来自校准的双目相机对的训练图像,图像处理系统3学习能够在给定另一视图的情况下重建图像的功能,并且通过这样做而生成经训练的模型(即,cnn11),该经训练的模型实现正被成像的场景的形状的预测或估计。给定单个训练图像i(例如,训练立体图像对15的左视图15a),图像处理系统3还学习可以预测每个像素场景深度的函数这在训练期间将深度估计视为图像重建问题。

上面已经给出了对形成实施例的图像处理系统3的部分的组件的概况描述。现在将参考图3的流程图给出对这些组件的操作的更详细描述,该操作用于根据实施例的、训练单个图像深度预测cnn11的过程,这使cnn11能够仅在立体图像对上被训练,而不需要例如以对应的基准深度信息的形式的监督。虽然该流程图中的各种步骤被顺序地呈现和描述,但是应当理解,一些或所有步骤可以以不同的次序被执行,可以被组合或省略,并且一些或所有步骤可以并行地被执行。此外,在一个或多个示例实施例中,可以省略、重复和/或以不同次序执行下面描述的一个或多个步骤。

还参考图4,图4是示意性地图示根据本发明的实施例的cnn11的处理节点和层的示例结构化布置的框流程图。如图2所示,为了简洁,从图4中省略了上卷积(uc)层和上采样(us)层,但是应当理解,来自uc层和us层的缩放输出由下标s表示到经预测的视差和相应的计算的代价元素中的每一个。

如图3所示,针对单个训练图像对15的训练过程的迭代开始于步骤s3-1(l),其中cnn11接收输入立体对中的一个视图的彩色图像数据,在该实施例中是左视图。在该实施例中,cnn11还在步骤s3-1(r)处接收右视图的彩色图像数据。训练模块13可以从被存储在存储器17中的训练数据取回两个图像il和ir,这两个图像对应于在相同时刻捕获的校准的立体对的左彩色图像和右彩色图像,并且将图像数据传递到cnn11的一个或多个输入节点(未示出)。应当理解,cnn11可以被配置为有利地并行地接收和处理多个训练图像对。尽管不是必须地,但是优选地,立体图像对15是经校正的,如本领域中已知的,由此使用所定义的变换过程将图像投影到共同的图像平面上。

在步骤s3-3处,左视图的输入图像数据被传递通过编码器12的卷积层以生成编码的输入数据,例如该编码的输入数据表示输入图像中的被标识的对象或特征的复特征向量。cnn11不是试图直接从左视图图像15a预测深度,而是被训练成找到对应场,在该实施例中,该对应场是经预测的从左到右的视差图(dr),在该经预测的从左到右的视差图被应用于左视图图像15a时,使cnn11的右视图投影器415a能够重建投影的右视图图像(反之亦然)。因此,在步骤s3-5处,在步骤s3-3处输出的编码数据被传递通过左视图视差预测器307a的处理节点,其基于当前的结构和权重输出经预测的从左到右视差图的数据值(drs)。如下面将描述的,cnn11被训练为:通过针对输入的双目立体对的每个图像预测对应的视差值并且基于强制立体对中的每个图像的经预测的视差值之间的一致性的代价函数更新cnn11,预测来自输入数据的视差图。因此,在步骤s3-5处,编码数据还被传递通过右视图视差预测器307b的处理节点,其基于当前的结构和权重输出经预测的从右到左的视差图(dls)的数据值。

可选地,在步骤s3-7处,可以由损失模块13的l->r视差平滑节点413a从经预测的从左到右的视差图(dr)计算从左到右的视差平滑代价(crds)s。同样地,在步骤s3-7处,可以由损失模块13的r->l视差平滑节点413b从经预测的从右到左的视差图(dl)计算从右到左的视差平滑代价(clds)s。训练损失函数的计算的平滑代价元素促使各个经预测的视差图通过视差梯度上的l1惩罚而被局部平滑。例如,从经预测的左视差图dl计算的平滑代价可以被公式化为:

其中η可以被设定为1.0。由于深度不连续性经常发生在图像梯度处,因此可以使用对应的图像梯度用边缘感知项加权该平滑代价。

在步骤s3-9(l)处,r->l视差投影器409a采样经预测的从左到右的视差图(drs)的数据值,并且将经预测的从右到左的视差图(dls)应用于经采样的数据以生成投影的从右到左的视差图(dl(dr)s)。为了清楚,将参考用(l)表示的步骤来描述对经预测的从左到右的视差值的处理,并且应当理解,对应编号的处理步骤针对用(r)表示的从右到左的视差值而被镜像。在该实施例中,如本领域中已知的,例如从m.jaderberg,k.simonyan,a.zisserman和k.kavukcuoglu,“spatialtransformernetworks”,nips2015年中已知的,视差投影器409基于来自空间变换器网络(stn)的图像采样器实现图像采样功能,以使用视差图采样输入数据。stn使用双线性采样,其中输出像素是四个输入像素的加权和。与上面提及的xie等人和garg等人的方法相反,本实施例中使用的双线性采样器是局部完全可微分的,并且无缝地集成到cnn11的完全卷积架构中。这意味着cnn11不需要优化代价函数的任何简化或近似。

为了产生更稳健的结果,cnn11被训练成仅基于作为网络的卷积损失模块13部分的输入的左视图图像数据15a来预测左图像视差和右图像视差两者。因此,在步骤s3-9(l)处,cnn11的投影的右视差预测器节点409a基于在步骤s3-5(l)处由左视图视差预测器节点407a输出的经预测的左视差图(dl),输出投影的右视差图(dl(dr))。为了确保连贯性,损失模块13包括l1左-右视差一致性惩罚作为模型11的部分。该代价被提供以驱使经预测的左视图视差图(dl)等同于投影的右视图视差图(dr(dl))。因此,在步骤s3-11(l)处,l-r视差一致性损失节点411a将左一致性代价计算为:

在步骤s3-13(l)处,cnn11的从粗到细缩放器405a生成且输出在尺度s1至sn下的左视图的缩放的图像数据,其中,在本示例性实施例中,n=4。针对每个尺度,左视图(ils)的对应的缩放的图像数据被传递到解码器14的右视图投影器415a以用于处理。在步骤s3-15(l)处,右视图投影器415a通过采样来自缩放的左视图图像(ils)的像素来生成投影的相邻立体图像。在该实施例中,视图投影器415还实现如上所述的来自空间变换器网络(stn)的图像采样器,以使用输入视差图采样输入数据。

可选地,在步骤s3-15(l)处,cnn11的右视图投影器415a可以通过将经预测的从左到右的视差(dr)应用于输入的缩放的左视图图像数据(ils)来重建投影的右视图图像。该过程可以被公式化为:

其中d对应于图像视差,其是模型11被训练以预测的每个像素的标量值。为了简洁,经重建的图像(il(dr))将被称为在步骤s3-13(r)和s3-15(r)处,投影的左视图图像可以通过将经预测的从右到左的视差图(dl)应用于输入的缩放的右视图图像数据(irs)而被类似地生成。

在步骤s3-17(l)处,外观匹配代价可以由r外观匹配损失节点417a计算为l1和单个尺度结构相似度的组合(ssim,作为光度的项),其是输入图像与其重建之间的图像重建代价:

其中n是图像中的像素的数目。在示例性实施例中,使用具有3×3块滤波器而不是高斯的简化ssim,并且α被设定为0.85。ssim项的计算本身是本领域中已知的,例如从z.wang,a.c.bovik,h.r.sheikh,和e.p.simoncelli,“imagequalityassessment:fromerrorvisibilitytostructuralsimilarity”,transactionsonimageprocessing2004年中已知,并且不需要被进一步描述。在步骤s3-17(r)处,可以从由左视图投影器415b输出的投影的左视图和由缩放器405输出的对应的缩放的左视图图像类似地计算左外观匹配代价(clap)。

在步骤s3-19处,已经通过cnn11传递了左视图彩色图像15a和右视图彩色图像15b,损失模块13的训练损失节点419在当前尺度下针对训练图像的立体对计算训练损失。在本实施例中,缩放的训练损失被计算为在步骤s3-7(l)和s3-7(r)处输出的视差平滑代价、在步骤s3-11(l)和s3-11(r)处输出的视差一致性代价以及在步骤s3-17(l)和s3-17(r)处输出的外观匹配代价的加权组合。这三个计算的代价项的加权组合可以被公式化为:

其中cap促使经重建的图像类似于对应的训练输入,cds强制平滑视差,并且clr尝试使来自左图像和右图像的经预测的视差一致。主要项中的每个都包含左图像变量和右图像变量两者。在涉及所有三个训练代价元素的该示例性实施例中,左视图图像15a总是被传递通过cnn11。由于训练模块13在训练期间可以访问对应的右视图图像15b,因此cnn11还可以在其参考框架中预测视差图。应当理解,在未实现外观匹配代价元素时,右视图图像数据不需要被传递通过cnn11。

在步骤s3-21处,如从上面步骤s3-3所讨论的,cnn11的解码器执行由编码器12在当前的尺度下输出的数据的上卷积,以及对由视差预测器407输出的经预测的视差图上采样,作为处理节点的后续的结构化集合的输入以计算下一尺度的缩放的训练损失。在针对每个预定义的尺度计算缩放的训练损失之后,在步骤s3-23处,由损失模块13的和节点421将最终的总损失计算为各个缩放的损失cs的加权和:

其中λs允许训练模块13被配置为在训练期间加权不同输出尺度的相对重要性。

在示例性实施例中,不同的损失分量的加权被设定为αap=1且αlr=1。使用缩放的s形非线性将可能的输出视差限制在0和dmax之间,其中dmax=在给定的输出尺度下的图像宽度的0.3倍。作为多尺度输出的结果,相邻像素的典型视差将在每个尺度之间相差两倍(因为cnn11将输出上采样两倍)。为了校正这点,训练模块13可以针对每个尺度用r来缩放视差平滑项αds,以得到每个水平下的等效平滑。因此αds=0.1/r,其中r是对应层的相对于被传递到cnn11(在表1中)中的输入图像的分辨率的缩减因子。

在步骤s3-25处,训练模块13通过反向传播在步骤s3-21处由和节点421计算的最终总训练损失的加权分量来更新cnn11。针对cnn11中的非线性,可以使用指数线性单元而不是通常使用的校正线性单元(relu),这两个单元在本领域中都是已知的。在示例性实施例中,基于d.kingma和j.ba,“adam:amethodforstochasticoptimization”,arxiv预印刷,arxiv:1412.6980,2014年中描述的技术,从头开始训练cnn1150个时期(epoch),其中β1=0:9,β2=0:999,ε=10-8。使用λ=10-4的初始学习速率,其在前30个时期保持不变,然后每10个时期将其减半直到结束。应当理解,训练模块13可以被配置为使用渐进更新调度来更新cnn11,其中较低分辨率图像尺度被首先优化。然而,发明人已经认识到,一次优化所有四个尺度进一步有利地得到更稳定的收敛。类似地,在不同的加权导致不稳定的收敛的情况下,可以使用每个尺度损失的相同加权。

图6是根据实施例的、使用经训练的cnn11生成和处理来自单个源图像的深度数据的示例性过程的流程图。在步骤s6-1处,由例如来自相机7的深度数据生成器5接收单个源图像的彩色图像数据。在步骤s6-3处,使用单个前向传递通过经训练的cnn11,由经训练的l-r视图视差预测器407a将针对左图像的最精细尺度水平下的视差dr输出,作为经预测的视差图(对应于来自表1的disp1)。作为通过cnn11中的从粗到细的缩放器405的上采样的结果,输出的经预测的视差图与输入图像具有相同的分辨率。应当理解,从右到左的视差dl在深度数据生成阶段中不被使用。

在步骤s6-5处,深度数据生成器5创建深度图像,该深度图像包含从在步骤s6-3处输出的经预测的视差图计算的、针对源图像中的每个像素的经预测的深度值。给定用于捕获训练数据15的立体相机之间的基线距离b以及相关联的相机焦距f,深度数据生成器5可以从经预测的视差将估计的深度值恢复为:

在步骤s6-7处,深度图像被传递到深度数据处理模块23,以根据系统1的特定实现上下文而被处理。

计算机系统

本文所描述的实体,诸如图像处理系统3和/或图像处理系统3的单独模块,可以由诸如图6所示的计算机系统1000的计算机系统来实现。本发明的实施例可以被实现为由这样的计算机系统1000执行的可编程代码。在阅读本说明书之后,对于本领域技术人员来说,如何使用其他计算机系统和/或计算机架构来实现本发明将变得明显。

计算机系统1000包括一个或多个诸如处理器1004的处理器,该计算机系统1000可以是个人计算机、膝上型计算机、计算终端、智能电话、平板计算机等。处理器1004可以是任何类型的处理器,包括但不限于专用或通用的数字信号处理器。处理器1004连接到通信基础设施1006(例如,总线或网络)。根据该示例性计算机系统描述了各种软件实现。在阅读本说明书之后,对于本领域技术人员来说,如何使用其他计算机系统和/或计算机架构来实现本发明将变得明显。

计算机系统1000还包括:连接到一个或多个输入设备1005的用户输入接口1003以及连接到一个或多个显示器1009的显示接口1007。例如,输入设备1005可以包括诸如鼠标或触摸板的指向设备、键盘、诸如电阻式或电容式触摸屏的触摸屏等。在阅读本说明书之后,对于本领域技术人员来说,如何使用其他计算机系统和/或计算机架构来实现本发明将变得明显,例如使用具有集成输入和显示器组件的移动电子设备。

计算机系统1000还包括主存储器1008,优选随机存取存储器(ram),并且还可以包括次级存储器610。次级存储器1010可以包括例如硬盘驱动1012和/或表示软盘驱动、磁带驱动、光盘驱动等的可移动存储驱动1014。可移动存储驱动1014以众所周知的方式从可移动存储单元1018读取和/或写入可移动存储单元1018。可移动存储单元1018表示由可移动存储驱动1014读取和写入的软盘、磁带、光盘等。将理解,可移动存储单元1018包括其中存储有计算机软件和/或数据的计算机可用存储介质。

在备选实现中,次级存储器1010可以包括用于允许计算机程序或其他指令被加载到计算机系统1000中的其它类似装置。这样的装置可以包括例如可移动存储单元1022和接口1020。这样的装置的示例可以包括(诸如先前在视频游戏设备中找到的)程序盒和盒接口、可移动存储器芯片(例如eprom、或prom、或闪式存储器)和相关联的插座、以及允许软件和数据从可移动存储单元1022被传输到计算机系统1000的其他可移动存储单元1022和接口1020。备选地,可以使用计算机系统1000的处理器1004执行程序和/或从可移动存储单元1022访问数据。

计算机系统1000还可以包括通信接口1024。通信接口1024允许软件和数据在计算机系统1000和外部设备之间传输。通信接口1024的示例可以包括调制解调器、网络接口(诸如以太网卡)、通信端口、个人计算机存储卡国际协会(pcmcia)插槽和卡等。经由通信接口1024传送的软件和数据是以信号1028的形式,该信号可以是电的、电磁的、光的,或能够由通信接口1024接收的其他信号。这些信号1028经由通信路径1026被提供给通信接口1024。通信路径1026承载信号1028并且可以使用电线或电缆、光纤、电话线、无线链路、蜂窝电话链路、无线电频率链路或任何其他合适的通信信道来实现。例如,可以使用信道的组合来实现通信路径1026。

术语“计算机程序介质”和“计算机可用介质”通常用来指诸如可移动存储驱动1014、硬盘驱动1012中安装的硬盘、以及信号1028的介质。这些计算机程序产品是用于将软件提供给计算机系统1000的装置。然而,这些术语还可以包括体现本文中公开的计算机程序的信号(诸如电信号、光信号或电磁信号)。

计算机程序(也被称为计算机控制逻辑)被存储在主存储器1008和/或次级存储器1010中。计算机程序也可以经由通信接口1024被接收。这样的计算机程序在被执行时,使计算机系统1000能够实现如本文所讨论的本发明的实施例。因此,这样的计算机程序表示计算机系统1000的控制器。在使用软件实现实施例的情况下,软件可以被存储在计算机程序产品1030中并且使用可移动存储驱动1014、硬盘驱动1012或通信接口1024被加载到计算机系统1000中,以提供一些示例。

备选实施例可以被实现为硬件中的控制逻辑、固件、或软件、或其任何组合。例如,经训练的cnn模块11可以以硬件和/或软件被实现为单机实体以安装为图像处理系统中的组件,并且还可以包括训练模块功能和/或深度数据生成器功能。

应当理解,本文仅通过示例的方式描述了本发明的实施例,并且各种改变和修改可以在不脱离本发明的范围的情况下做出。例如,上述实施例将经训练的统计模型实现为深度卷积神经网络。如本领域技术人员将理解的,训练过程的基本方面可以适用于适合处理图像数据以生成经预测的深度图的其他形式的统计模型,诸如随机森林和衍生模型。

在本说明书中提及的“一个实施例”不一定都是指相同的实施例,也不是指与其他实施例相互排斥的单独的或备选的实施例。特别地,应当理解,上述实施例的各方面可以被组合以形成其他实施例。类似地,各种特征被描述,这些特征可以由一些实施例且不由其他实施例来展示。可以设想仍然落入所附权利要求的范围内的其他备选实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1