技术领域
[0002] 一个或多个示例实施例提供涉及用于恢复多镜头图像的技术的方法和设备。
相关背景技术
[0003] 由于光学技术和图像处理技术的发展,捕获设备正被利用在大范围的领域(例如,多媒体内容、安全和识别)中。例如,捕获设备可被安装在移动装置、相机、车辆或计算机中,以捕获图像、识别对象或获取用于控制装置的数据。捕获设备的体积可基于例如镜头的尺寸、镜头的焦距或传感器的尺寸来确定。为了减小捕获设备的体积,包括小透镜的多镜头可被使用。
具体实施方式
[0045] 将参照附图详细描述示例实施例,其中,相同的参考标号始终表示相同的元件。
[0046] 下面的结构或功能的描述是示例,仅用于描述示例实施例,并且示例实施例的范围不限于本说明书中提供的描述。本领域普通技术人员可对示例实施例进行各种改变和修改。
[0047] 还应理解,当在本说明书中使用术语“包含”和/或“包括”时,说明存在阐述的特征、整体、步骤、操作、元件、组件和/或它们的组,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或它们的组。当诸如“……中的至少一个”的表述在一列元素之后时,修饰整列元素而不是修饰列中的单个元素。例如,表述“a、b和c中的至少一个”应被理解为:仅包括a、仅包括b、仅包括c、包括a和b二者、包括a和c二者、包括b和c二者或者包括全部的a、b和c。
[0048] 除非在此另有定义,否则在此使用的所有术语(包括技术术语或科学术语)具有与本领域的普通技术人员通常理解的含义相同的含义。除非在此另有定义,否则通用词典中定义的术语应被解释为具有与相关领域中的上下文含义匹配的含义,并且不被解释为理想化或过于形式化的含义。
[0049] 关于分配给附图中的元件的参考标号,应注意,即使相同的元件在不同的附图中示出,相同的元件也将尽可能地由相同的附图参考标记来指定。
[0050] 图1示出根据示例实施例的图像恢复的处理。
[0051] 由图像传感器110捕获并恢复的图像的质量可基于包括在感测阵列112中的感测元件的数量和入射到感测元件上的光的量来确定。例如,图像的分辨率可通过包括在感测阵列112中的感测元件的数量来确定,并且图像的灵敏度可通过入射到感测元件上的光的量来确定。入射到感测元件上的光的量可基于感测元件的尺寸来确定。当感测元件的尺寸增大时,入射到感测元件上的光的量和感测阵列112的动态范围可增大。因此,由图像传感器110捕获的图像的分辨率可随着包括在感测阵列112中的感测元件的数量增大而增大。此外,当感测元件的尺寸增大时,即使在低照度下,图像传感器110也可有利地操作以捕获具有高灵敏度的图像。
[0052] 图像传感器110的体积可基于镜头元件111的焦距来确定。例如,图像传感器110的体积可基于镜头元件111与感测阵列112之间的间隙来确定。为了收集由镜头元件111折射的光,镜头元件111和感测阵列112可能需要彼此分隔开镜头元件111的焦距。
[0053] 镜头元件111的焦距可基于图像传感器110的视场(FOV)和镜头元件111的尺寸来确定。例如,当FOV固定时,焦距可与镜头元件111的尺寸成比例地增大。此外,为了捕获预定FOV内的图像,镜头元件111的尺寸可能需要随着感测阵列112的尺寸的增大而增大。
[0054] 如上所述,为了在保持FOV和图像的分辨率的同时增大图像的灵敏度,可增大图像传感器110的体积。例如,为了在保持图像的分辨率的同时增大图像的灵敏度,在保持包括在感测阵列112中的感测元件的数量的同时,每个感测元件的尺寸可能需要增大。因此,感测阵列112的尺寸可增大。在这个示例中,为了保持FOV,镜头元件111的尺寸可随着感测阵列112的尺寸的增大而增大,并且镜头元件111的焦距可增大。因此,图像传感器110的体积可增大。
[0055] 参照图1,图像传感器110包括镜头阵列和感测阵列112。镜头阵列包括多个镜头元件,并且感测阵列112包括多个感测元件。镜头元件可布置在镜头阵列的平面上,并且感测元件可布置在感测阵列112的平面上。感测阵列112的感测元件可基于分别与镜头元件对应的感测区域被分类。镜头阵列的平面可平行于感测阵列112的平面,并且可与感测阵列112的平面分隔开包括在镜头阵列中的镜头元件111的焦距。镜头阵列可被称为“微型多镜头阵列(MMLA)”或“多镜头阵列”。
[0056] 例如,当包括在镜头阵列中的每个镜头元件的尺寸减小时,即,当包括在镜头阵列上的相同面积中的透镜的数量增大时,镜头元件111的焦距和图像传感器110的厚度可减小。因此,薄的相机可被实现。在这个示例中,图像传感器110可通过重新布置和组合由每个镜头元件111捕获的低分辨率输入图像120来恢复高分辨率输出图像190。
[0057] 镜头阵列中的单独的镜头元件111可覆盖感测阵列112的与镜头元件111的镜头尺寸对应的感测区域113。感测阵列112中的被镜头元件111覆盖的感测区域113可基于镜头元件111的镜头尺寸来确定。感测区域113可表示感测阵列112上的由预定FOV内的光通过穿过镜头元件111而到达的区域。感测区域113的尺寸可表示为从感测区域113的中心点到感测区域113的最外点的距离或对角长度,并且镜头尺寸可对应于镜头的直径。
[0058] 感测阵列112中的每个感测元件可基于穿过镜头阵列的透镜的光来生成感测信息。例如,感测元件可感测由镜头元件111接收的光的强度值。图像传感器110可基于由感测阵列112输出的感测信息来确定对应于与包括在图像传感器110的FOV中的点相关联的原始信号的强度信息,并且可基于确定的强度信息来恢复捕获的图像。例如,感测阵列112可以是包括电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)的图像感测模块。
[0059] 此外,感测元件可包括滤色器以感测期望的颜色,并且可生成与预定颜色对应的颜色强度值作为感测信息。包括在感测阵列112中的多个感测元件中的每个感测元件可被定位成感测与在空间上与每个感测元件相邻的相邻感测元件的颜色不同的颜色。
[0060] 当感测信息的多样性被充分确保时,并且当感测信息和与图像传感器110的FOV中的点对应的原始信号信息之间的满秩(full rank)关系被形成时,与感测阵列112的最大分辨率对应的捕获的图像可被得到。感测信息的多样性可基于图像传感器110的参数(例如,包括在镜头阵列中的透镜的数量和包括在感测阵列112中的感测元件的数量)来确保。
[0061] 例如,由单独的镜头元件111覆盖的感测区域113可包括非整数数量的感测元件。在一个示例中,多镜头阵列结构可被实现为分数对准结构(fractional alignment structure)。例如,当包括在镜头阵列中的镜头元件具有相同的镜头尺寸时,包括在镜头阵列中的镜头元件的数量和包括在感测阵列112中的感测元件的数量可以互质。与感测阵列
112的一个轴对应的感测元件的数量P和镜头阵列中的镜头元件的数量L之间的比率P/L可被确定为实数。每个镜头元件可覆盖与对应于P/L的像素偏移相同数量的感测元件。
[0062] 基于上述分数对准结构,在图像传感器110中,每个镜头元件111的光学中心轴(OCA)可与感测阵列112的光学中心轴略微不同。例如,镜头元件111可相对于感测元件偏心地布置。因此,镜头阵列的镜头元件111可接收不同条的光场(LF)信息。LF可从任意目标点发射,并且可表示指示从对象上的任意点反射的光的强度和方向的场。LF信息可表示关于多个LF的组合的信息。由于每个镜头元件111的主光线的方向也被改变,所以感测区域113可接收不同条的LF信息。因此,彼此略微不同的多条输入信息(例如,输入图像信息)可从多个感测区域获取。图像传感器110可基于多条输入信息来光学地获取更大量的感测信息。
[0063] 上述图像传感器110可被分类为多个感测单元。多个感测单元中的每个感测单元可按照包括在多镜头阵列中的镜头为单位来区分。例如,每个感测单元可包括镜头以及被镜头覆盖的感测区域113的感测元件。在一个示例中,图像传感器110可从针对与每个镜头对应的每个感测区域113获取的感测信息来生成单独的输入图像。例如,多个感测单元中的每个感测单元可单独地获取输入图像。如上所述,由于多个感测单元获取不同条的LF信息,因此由每个感测单元捕获的输入图像可表示略微不同的场景。例如,图像传感器110可包括“N”个透镜,并且可被分类为“N”个感测单元。由于“N”个感测单元单独地捕获输入图像,因此图像传感器110可获取“N”个输入图像。在这个示例中,“N”可以是大于或等于“2”的整数。在图1中,多镜头阵列可包括“25”个透镜(N=5×5=25),并且图像传感器110可捕获“25”个低分辨率输入图像120。在另一示例中,多镜头图像可包括“36”个输入图像(N=6×6=36)。
尽管如上所述,多个感测单元包括在单个图像传感器110中,但是感测单元不限于此。例如,感测单元可以是独立的图像感测模块(例如,相机传感器)。在这个示例中,每个感测单元可位于与另一感测单元的位置不同的位置。
[0064] 在下面的描述中,图像传感器110可从如上所述获取的多种感测信息来生成多个低分辨率输入图像120,并且可基于多个低分辨率输入图像120之中的目标图像121来恢复高分辨率输出图像190。尽管多个低分辨率输入图像120之中的中心图像被确定为目标图像121,但是目标图像121不限于此。例如,另一个输入图像也可被用作目标图像121。此外,图像传感器110可使用单独的附加图像传感器的图像作为目标图像。例如,附加图像传感器可以是与图像传感器110相比能够捕获具有相对高分辨率的图像的相机传感器。
[0065] 图2是示出根据示例实施例的图像恢复方法的流程图。图3是示出根据示例实施例的使用图像恢复模型的图像恢复的示图。
[0066] 参照图2,在操作210中,图像恢复设备可获取多条输入图像信息。输入图像信息可以是但不限于输入图像本身,并且可包括例如使用特征提取模型从输入图像提取的输入特征图。以下将参照图4至图8描述输入图像信息是输入图像的示例,并且以下将参照图9和图10描述输入图像信息是输入特征图的示例。
[0067] 图像恢复设备可使用图3的图像传感器310捕获多个输入图像。例如,在图像恢复设备中,包括多镜头阵列的图像传感器310可捕获包括多个输入图像的多镜头图像320。在多镜头图像320中,每个输入图像可由包括在图像传感器310中的单独的感测单元捕获。第一输入图像至第N输入图像可分别由第一感测单元C1至第N感测单元CN单独地捕获。在另一示例中,图像恢复设备中的多个图像传感器310中的每个图像传感器可捕获输入图像。在这个示例中,每个感测单元可以是独立的图像传感器310。
[0068] 在操作220中,图像恢复设备可从多条输入信息(例如,输入图像信息)中的每条输入信息生成与多个视差(disparity)对应的多条扭曲(或变形)信息(例如,扭曲(或变形)图像信息330)。视差可表示相同目标点在两个图像之间的位置差异,并且可以是例如像素坐标之间的差异。在一个示例中,目标图像相对于每个输入图像的视差可被设置为任意值,并且从图像传感器310到目标点的虚拟距离可基于设置的视差来确定。图像恢复设备可基于根据设置的视差确定的距离来生成扭曲图像信息330。扭曲图像信息330可以是但不限于通过将输入图像转换到目标图像的像素坐标系获得的扭曲(或变形)图像,并且也可以是通过将从输入图像中提取的输入特征图转换到捕获目标图像的目标感测单元的像素坐标系获得的扭曲(或变形)特征图。以下将参照图4描述基于上述视差确定的虚拟深度以及基于虚拟深度的扭曲(或变形)。在本公开中,深度值可表示到目标点的距离。
[0069] 例如,如图3中所示,图像恢复设备可基于相机校准参数319,针对包括在多镜头图像320中的每个输入图像生成与最小视差dmin对应的扭曲图像信息330至与最大视差dmax对应的扭曲图像信息330。当最小视差dmin等于0时,扭曲图像可以是输入图像本身。以下将参照图7描述相机校准参数319。在一个示例中,当视差的数量是“D”时,图像恢复设备可针对“N”个输入图像中的每个输入图像生成“D”条扭曲图像信息330,因此总共“N×D”条扭曲图像信息330可被生成。在这个示例中,“D”可以是大于或等于“1”的整数。
[0070] 在操作230中,图像恢复设备可使用图像恢复模型340基于多条输入图像信息和多条扭曲图像信息330来生成输出图像390。图像恢复模型340可以是被训练为响应于输入图像信息的输入而输出输出图像390的模型。图像恢复模型340可具有例如机器学习结构,并且可以是神经网络。神经网络可用于通过基于深度学习映射处于非线性关系的输入数据和输出数据来基于图像配准恢复图像。深度学习可以是用于从大数据集解决图像配准问题的机器学习技术。通过深度学习的有监督或无监督学习,输入数据和输出数据可彼此映射。图像恢复模型340可包括输入层341、多个隐藏层342以及输出层343。通过输入层341输入的数据可通过多个隐藏层342来传播,并且可通过输出层343来输出。然而,数据可直接输入到隐藏层342,而不是输入层341和输出层343,或者可直接从隐藏层342输出。神经网络可通过例如反向传播来训练。
[0071] 上述图像恢复模型340可被实施为卷积神经网络(CNN)。CNN可表示包括卷积层的神经网络,并且CNN的隐藏层可包括卷积层。例如,CNN可包括具有通过核连接的节点的卷积层。CNN可以是基于训练数据被预先训练以响应于多条输入图像信息和多条扭曲图像信息的输入而输出具有高分辨率的输出图像的网络。例如,输出图像可以是包括在输入图像和扭曲图像中并与目标图像匹配的像素被配准的图像,并且输出图像的分辨率可高于与多条输入信息(例如,输入图像)对应的分辨率。图像恢复设备可通过对输入到卷积层的数据执行卷积滤波来提取特征数据。特征数据可表示通过对图像的特征进行抽象化而获得的数据,并且可包括例如基于卷积层的核的卷积运算的结果值。图像恢复设备可基于核的元素值,针对图像中的任意位置处的像素和相邻像素执行卷积运算。图像恢复设备可通过针对像素扫过核来计算图像的每个像素的卷积运算值。以下将参照图8进一步描述图像恢复模型340被实施为CNN的示例。
[0072] 例如,图像恢复设备可将在操作210中获取的“N”条输入图像信息和在操作220中生成的“N×D”条扭曲图像信息330提供给图像恢复模型340。如上所述,图像恢复模型340可包括将卷积滤波应用于输入数据的卷积层。因此,图像恢复设备可使用图像恢复模型340将卷积滤波应用于“N”条输入图像信息和“N×D”条扭曲图像信息330,来生成具有高分辨率的输出图像390。
[0073] 图4示出根据示例实施例的将被输入到图像恢复模型的扭曲图像的生成。
[0074] 图像恢复设备可通过基于与多个视差中的每个视差对应的深度,将多条输入信息(例如,输入图像)中的每条输入信息扭曲(或变形)到与目标图像430对应的像素坐标系来生成多条扭曲信息(例如,扭曲图像)。例如,图4示出通过将“N”个输入图像之中的第i输入图像420扭曲(或变形)到与目标图像430对应的像素坐标系而获得的扭曲图像。
[0075] 在下面的描述中,作为三维(3D)坐标系,世界坐标系可表示基于世界上的任意点的坐标系。相机坐标系可表示基于相机的3D坐标系,并且感测单元的主点(principal point)可被用作原点,感测单元的光轴方向可被用作z轴,感测单元的垂直方向可被用作y轴,感测单元的水平方向可被用作x轴。像素坐标系也可被称为“图像坐标系”,并且可表示图像中的像素的二维(2D)坐标。
[0076] 例如,与图像传感器分隔开的目标点490的世界坐标可被假设为(X,Y,Z)。由“N”个感测单元之中的第i感测单元411Ci感测的像素坐标可被假设为(u,v)。由目标感测单元412CT感测的像素坐标可被假设为(u',v')。然而,可能难以仅基于由每个感测单元感测的像素值来准确地确定到目标点490的距离。图像恢复设备可假设输入图像相对于目标图像
430具有任意视差,并且可基于与视差对应的距离值将输入图像扭曲(或变形)到与目标图像430对应的像素坐标系。
[0077] 如以下等式1中所示,图像恢复设备可通过对第i输入图像420的单独的像素的像素坐标 进行归一化来计算第i输入图像420的归一化坐标 。
[0078] [等式1]
[0079]
[0080]
[0081] 在等式1中, 分别表示第i感测单元411Ci相对于第i感测单元411Ci的x轴和y轴的主点,并且 分别表示第i感测单元411Ci的x轴和y轴上的焦距。如等式1中所示,图像恢复设备可使用第i感测单元411Ci的主点作为原点通过除以焦距来对第i输入图像420的单独的像素进行归一化。
[0082] 此外,如以下等式2中所示,图像恢复设备可基于与归一化坐标 对应的深度 来计算第i感测单元411Ci的3D相机坐标
[0083] [等式2]
[0084]
[0085]
[0086]
[0087] 如以上等式2中所示,图像恢复设备可通过将深度 与每个归一化坐标相乘来获取 图像恢复设备可将3D相机坐标的深度值 设置为深度 因此,图
像恢复设备可基于第i感测单元411Ci的光轴来计算3D相机坐标,第i感测单元411Ci基于与每个像素对应的深度来捕获对应的输入图像。
[0088] 如上所述,可能难以仅基于像素的像素值来准确地估计到由输入图像的像素指示的目标点490的深度值,因此图像恢复设备可使用与有限范围内的视差的部分对应的深度值来基于等式2执行坐标变换。视差的范围可被限于[dmin,dmax],并且深度值也可被限制到[Zmin,∞)。此外,Zmin表示图像传感器的最小捕获距离,并且可以是例如10厘米(cm)。例如,在图4中,图像恢复设备可假设第i输入图像420相对于目标图像430具有“1”的视差d(即,d=1),并可使用与“1”的视差d相应的深度值(例如,z1)。在等式2中,z1可被用作深度 在这个示例中,图像恢复设备可将第i输入图像420的所有像素设置为相对于目标图像430具有相同的视差,并且可基于相同的深度值(例如,与“d=1”对应的深度值)变换所有像素的坐标。类似地,图像恢复设备可假设第i输入图像420相对于目标图像430具有“2”、“3”、“4”以及“dmax”的视差d,并可使用与“2”、“3”、“4”以及“dmax”的视差d中的每个视差对应的深度值。例如,图像恢复设备可单独地获取使用与“2”的视差d对应的深度值z2变换的3D相机坐标值、使用与“3”的视差d对应的深度值z3变换的3D相机坐标值、使用与“4”的视差d对应的深度值z4变换的3D相机坐标值、以及使用与“dmax”的视差d对应的深度值zmin变换的3D相机坐标值。尽管以上在图4中已经描述了整数视差,但是示例实施例不限于此。
[0089] 如以下等式3中所示,图像恢复设备可将基于等式2使用视差转换的第i输入图像420的3D相机坐标变换为目标感测单元412CT的3D相机坐标
[0090] [等式3]
[0091]
[0092] 在等式3中,RT表示目标感测单元412CT的世界坐标系的旋转信息,并且TT表示目标感测单元412CT的世界坐标系的平移信息。此外,Ri表示第i感测单元411Ci的世界坐标系的旋转信息,并且Ti表示第i感测单元411Ci的世界坐标系的平移信息。旋转信息和平移信息可以是校准信息,以下将参照图7进行描述。如等式3中所示,图像恢复设备可基于旋转信息Ri和RT以及平移信息Ti和TT来变换3D相机坐标 以计算基于目标感测单元412CT的3D相机坐标
[0093] 如以下等式4中所示,图像恢复设备可基于从输入图像的每个像素坐标计算的目标感测单元412CT来对3D相机坐标 进行归一化。
[0094] [等式4]
[0095]
[0096]
[0097] 在等式4中,图像恢复设备可通过将基于目标感测单元412CT的3D相机坐标之中的每个 除以深度 来获取目标感测单元412CT的归一化坐标
[0098] 如以下等式5中所示,图像恢复设备可从目标感测单元412CT的归一化坐标来计算与目标图像430对应的像素坐标系的像素坐标
[0099] [等式5]
[0100]
[0101]
[0102] 在等式5中, 分别表示目标感测单元412CT相对于目标感测单元412CT的x轴和y轴的主点,并且 分别表示目标感测单元412CT的x轴和y轴上的焦距。以下将参照图7描述 和
[0103] 基于以上描述的等式1至等式5,图像恢复设备可通过将第i感测单元411Ci的像素坐标 变换为目标感测单元412CT的像素坐标 来将第i输入图像420扭曲(或变形)到与目标图像430对应的像素坐标系。基于等式1至等式5的一系列运算可以被称为“扭曲运算”。为了便于描述,已经按时间序列描述了扭曲运算,然而,示例实施例不限于此。
包括基于等式1至等式5的运算的组合的运算(例如,统一矩阵运算)也可被使用。
[0104] 图像恢复设备可通过基于与多个视差中的一个视差对应的单个深度,将针对多条输入信息(例如,输入图像)中的每条输入信息的输入图像的所有像素扭曲(或变形)到与目标图像430对应的像素坐标系来生成单个扭曲图像。例如,基于与“j”的视差d对应的深度值zj从第i输入图像420生成的第j扭曲图像的所有像素可以是基于相同深度值zj扭曲(或变形)的像素。在这个示例中,j可以是大于或等于“1”并小于或等于“dmax”的整数,但不限于此,并且可以是大于或等于“0”并小于或等于“dmax”的实数。此外,最大视差dmax可如以下等式6中所示来确定。
[0105] [等式6]
[0106]
[0107] 在等式6中,b表示两个感测单元之间的间隙,f表示感测单元的焦距,并且zmin表示感测单元的最小捕获距离。例如,多个视差可小于或等于基于最小捕获距离zmin、间隙b以及焦距f确定的最大视差dmax,并且可大于或等于最小视差dmin。
[0108] 与多个视差中的一个视差对应的深度可基于针对输入图像相对于目标图像430设置的视差并基于捕获输入图像的感测单元Ci和捕获目标图像430的感测单元CT之间的间隙b来确定。例如,当出现在外部场景中的所有目标点490的深度zobject等于zj时,第j扭曲图像的所有像素可相对于目标图像430被准确地对准。然而,由于真实对象具有各种深度,所以输入图像中的像素的部分可与目标图像430对准。
[0109] 例如,如图4中所示,图像恢复设备可从第i输入图像420生成与多个视差对应的扭曲图像。多个扭曲图像可包括使用与“1”的视差d对应的深度z1生成的第一扭曲图像421、使用与“2”的视差d对应的深度z2生成的第二扭曲图像422、使用与“3”的视差d对应的深度z3生成的第三扭曲图像423、使用与“4”的视差d对应的深度z4生成的第四扭曲图像424、以及使用与“dmax”的视差d对应的深度zmin生成的扭曲图像425。尽管为了便于描述,部分输入图像和部分扭曲图像以一维示出,但是示例实施例不限于此。例如,每个图像可以是2D图像。
[0110] 目标点490可在目标图像430中的目标像素439处被感测,并且在第i输入图像420中的输入像素429处被感测。当第i输入图像420与目标图像430之间的视差d被设置为“1”时,图像恢复设备可通过扭曲(或变形)第i输入图像420来生成第一扭曲图像421,使得第i输入图像420中的与目标像素439分隔开“1”的视差d的像素与目标图像430中的目标像素439对准。第二扭曲图像422可通过扭曲(或变形)第i输入图像420来生成,使得第i输入图像
420中的与目标像素439分隔开“2”的视差d的像素与目标像素439对准。类似地,第三扭曲图像423至扭曲图像425中的每个扭曲图像可通过扭曲(或变形)第i输入图像420来生成,使得输入图像420中的与目标像素439分隔开针对第三扭曲图像423至扭曲图像425中的每个扭曲图像设置的视差d的像素与目标像素439对准。如图4中所示,在第一扭曲图像421、第二扭曲图像422以及扭曲图像425中,输入像素429可在与目标像素439不同的位置处被对准。在第三扭曲图像423和第四扭曲图像424中,输入像素429可与目标像素439对准一个像素或更小的误差。以下参照图5描述扭曲图像与目标图像之间的像素的对准。
[0111] 图5是示出根据示例实施例的扭曲图像的像素与目标图像的像素之间的匹配的示图。
[0112] 包括在基于多个视差从输入图像520扭曲(或变形)的多个图像中的每个图像中的像素之中的至少一个像素与包括在目标图像530中的目标像素之间的误差可小于或等于一个像素。其结果是,尽管目标点的深度的准确估计被省略,但是图像恢复设备可基于与预设的视差对应的深度来生成多个扭曲图像,以将包括在多个扭曲图像中的至少一个扭曲图像中的至少一个像素与目标点匹配。例如,在图5中,从输入图像520扭曲(或变形)的第一扭曲图像521的第一像素501可与目标图像530的像素531匹配。此外,第二扭曲图像522的第二像素502可与目标图像530的像素532匹配。
[0113] 尽管为了便于描述,已经参照图5描述了扭曲图像中的任意像素与目标图像530匹配的示例,但是示例实施例不限于此。输入图像中的任意区域可包括与目标图像的与所述任意区域对应的区域的光学信息相同的光学信息,并且从输入图像扭曲(或变形)的图像的部分的预定区域可与目标图像的与所述预定区域对应的区域匹配。
[0114] 图6是示出根据示例实施例的通过扭曲图像的配准来生成输出图像的示图。
[0115] 图像恢复设备可从多个输入图像620生成第一扭曲图像631至第五扭曲图像635。例如,图像恢复设备可基于与任意视差对应的深度值从第一输入图像621生成第一扭曲图像631。第二扭曲图像632可以是从第二输入图像622扭曲(或变形)的图像,第三扭曲图像
633可以是从第三输入图像623扭曲(或变形)的图像,第四扭曲图像634可以是从第四输入图像624扭曲(或变形)的图像,并且第五扭曲图像635可以是从第五输入图像625扭曲(或变形)的图像。在第一输入图像621至第五输入图像625中的每个中,第一像素601可与目标图像匹配。目标图像可从输入图像选择,然而,示例实施例不限于此。第二扭曲图像632中的第二像素602、第三扭曲图像633中的第三像素603以及第四扭曲图像634中的第四像素604可各自与目标图像匹配。其它扭曲图像也可包括与目标图像匹配的像素,但是为了简化描述,在此省略对像素的进一步描述。
[0116] 图像恢复设备可将多个输入图像620和第一扭曲图像631至第五扭曲图像635提供给图像恢复模型640。图像恢复模型640可包括包含如上所述的卷积层的CNN,并且可被训练为响应于输入图像信息和扭曲图像信息的输入而输出具有高分辨率的输出图像690。例如,图像恢复设备可通过使用图像恢复模型640在各种图像信息中配准与目标图像匹配的像素来生成具有高分辨率的输出图像690。
[0117] 图7是示出根据示例实施例的相机校准处理的示图。
[0118] 图像恢复设备可预先存储用于生成扭曲图像信息的信息。
[0119] 例如,在操作710中,图像恢复设备可执行相机校准。包括在图像传感器中的多个感测单元可在所有感测单元被对准的状态701下被设计,然而,实际制造的图像传感器的感测单元可处于感测单元未被对准的状态702。图像恢复设备可使用检查板来执行相机校准。图像恢复设备可通过相机校准来计算相对于感测单元的x轴和y轴的感测单元的主点和焦距 作为内部相机参数。此外,图像恢复设备可通过相机校准来计算感测
单元的世界坐标系的旋转信息Ri和平移信息Ti作为外部参数。
[0120] 在操作720中,图像恢复设备可生成并存储针对每个视差的深度信息。例如,图像恢复设备可基于感测单元之间的布置关系(例如,光轴之间形成的角度或感测单元之间的间隙)来计算与由两个感测单元感测的输入图像之间的任意视差对应的深度值。如上所述,有限数量的视差可在有限范围内被提供。例如,视差可以是整数视差,然而,示例实施例不限于此。
[0121] 图像恢复设备可基于内部相机参数和外部参数来预先计算将被应用为扭曲运算的坐标映射函数。坐标映射函数可表示基于与任意视差对应的深度、内部相机参数和外部参数来将输入图像中的每个像素的坐标变换到与目标图像对应的像素坐标系的函数,并且可包括例如包括根据等式1至等式5的一系列集成运算的函数。图像恢复设备可预先计算并存储针对每个视差和针对每个感测单元的坐标映射函数。
[0122] 为了在图2的操作220中生成扭曲图像信息,图像恢复设备可针对目标感测单元和捕获多个输入图像中的一个输入图像的感测单元中的每个感测单元加载计算的坐标映射函数。图像恢复设备可通过将预先计算并存储的坐标映射函数应用于输入图像来生成扭曲图像信息。因此,可最小化运算的数量,并且快速生成提供给图像恢复模型以生成具有高分辨率的输出图像的扭曲图像信息。
[0123] 然而,坐标映射函数可不需要被预先计算并存储。图像恢复设备可存储内部相机参数和外部参数,而不是存储预计算的坐标映射函数。图像恢复设备可加载存储的内部相机参数和存储的外部参数,可计算坐标映射函数,并且可使用计算的坐标映射函数来生成输入图像的扭曲图像信息。
[0124] 图8是示出根据示例实施例的图像恢复模型的结构的示图。
[0125] 图像恢复设备可提供通过将多条输入信息(例如,输入图像)和多条扭曲信息(例如,扭曲图像)串联(concatenate)而获得的数据作为图像恢复模型的输入,以生成输出图像。
[0126] 例如,图像恢复设备可通过将输入图像信息820和如上所述从输入图像信息820生成的多条扭曲图像信息829串联来生成串联数据841。例如,图像恢复设备可将从“N”个感测单元获取的“N”个输入图像与从“N”个输入图像生成的“D”个扭曲图像串联。如图8中所示,因为输入图像信息和扭曲图像信息被串联,所以串联数据841可包括“(D+1)×N”个图像。每个图像可具有“H×W”的分辨率,并且H和W分别表示与每个图像的高度对应的像素的数量和与每个图像的宽度对应的像素的数量。串联操作可被包括在图像恢复模型的操作中。
[0127] 图像恢复设备可通过卷积层842从串联数据841提取特征数据。图像恢复设备可执行混洗(shuffle)843,使得指示多条特征数据中的相同点的像素值可彼此接近。图像恢复设备可通过残差块844和残差块845从特征数据生成具有高分辨率的输出图像。残差块可表示输出被输入到块的数据与从输入数据提取的特征数据之间的残差数据的块。输出图像具有“(A×H)×(A×W)”的分辨率,“(A×H)×(A×W)”可高于作为多个输入图像中的每个输入图像的分辨率的“H×W”。
[0128] 例如,参照图5和图6,当对象位于离图像传感器[zmin,zmax]之间的距离内时,目标图像的每个区域可包括与包括在上述串联数据841中的“(D+1)×N”个重构图像中的至少一个重构图像的相同位置处的区域的信息相似的信息。因此,图像恢复设备可将串联数据841提供给图像恢复模型340,因此包括与每个输入图像和扭曲图像中的目标图像的信息相似的信息的区域的信息可被使用,从而增强图像恢复的性能。尽管由输入图像的单独的像素指示的目标点的深度信息不被提供,但是图像恢复设备可生成具有相对高分辨率的输出图像。此外,即使输入图像未被对准,如果相机参数信息已知,则图像恢复设备也可恢复图像。
[0129] 尽管已经参照图1至图8主要描述了输入图像的直接扭曲(或变形)的示例,但是示例实施例不限于此。以下参照图9描述扭曲(或变形)从输入图像提取的特征数据的示例。
[0130] 图9是示出根据示例实施例的使用图像扭曲(或变形)模型和图像恢复模型的图像恢复处理的示图。
[0131] 图像恢复设备可使用图像扭曲模型950以及图像恢复模型340。图像扭曲模型950可包括特征提取模型951和扭曲运算952。图像扭曲模型950可以是被训练为从每个输入图像920提取特征图并扭曲(或变形)提取的特征图的模型。特征提取模型951的参数(例如,连接权重)可通过训练来改变,然而,扭曲运算952可包括基于以上描述的等式1至等式5的运算并可保持不变。
[0132] 例如,图像恢复设备可使用特征提取模型951从多个输入图像提取多个输入特征图作为多条输入图像信息。特征提取模型951可包括至少一个卷积层,并且输入特征图可以是通过执行卷积滤波获得的结果值。图像恢复设备可基于与多个视差中的每个视差对应的深度将多个输入特征图中的每个输入特征图扭曲(或变形)到与目标图像对应的像素坐标系,以生成扭曲特征图作为扭曲图像信息。通过基于与预定视差对应的深度将输入特征图扭曲(或变形)到目标感测单元的像素坐标系而获得的特征图可被称为“扭曲特征图”。应用于输入特征图的扭曲运算952与基于以上描述的等式1至等式5应用于输入图像920的扭曲运算952相同,因此在此不重复它的进一步描述。
[0133] 例如,当以拜耳图案捕获的输入图像被直接扭曲(或变形)到目标感测单元的像素坐标系时,拜耳图案可能在扭曲图像中被丢失。当通过扭曲(或变形)混合颜色信息时,每个通道的颜色信息可能在扭曲图像中被丢失。图像恢复设备可在颜色信息通过扭曲运算952被丢失之前从输入图像提取输入特征图,因此颜色信息被保留在输入特征图中。图像恢复设备可通过将扭曲运算952应用于在保留颜色信息的状态下提取的输入特征图来计算扭曲特征图。因此,图像恢复设备可提供通过将多个输入特征图和多个扭曲特征图串联而获得的数据作为图像恢复模型的输入,并且可生成具有高分辨率和保留的颜色信息的输出图像990。如上所述,图像恢复设备可最小化颜色信息的损失。
[0134] 在下文中,参照图10描述图像扭曲模型950的结构的示例。
[0135] 图10是示出根据示例实施例的图像扭曲模型的结构的示图。
[0136] 图像恢复设备可使用图像扭曲模型950从多个输入图像生成输入特征图和扭曲特征图。例如,图像恢复设备可使用特征提取模型从多个输入图像中的每个输入图像提取输入特征图。特征提取模型可包括如上所述的至少一个卷积层1051。此外,特征提取模型可包括残差块1052。例如,在图10中,特征提取模型可包括一个卷积层和“M”个残差块。在这个示例中,“M”可以是大于或等于“1”的整数。图像恢复设备可提取作为通过将卷积滤波应用于单独的输入图像1020而获得的结果值的输入特征图。
[0137] 此外,图像恢复设备可将扭曲运算应用于提取的输入特征图。如上所述,图像恢复设备可基于与多个视差中的每个视差对应的深度并基于图像传感器1010的校准信息1019(例如,内部相机参数和外部参数)将与每个感测单元对应的输入特征图扭曲(或变形)到目标感测单元的像素坐标系。例如,图像恢复设备可基于与“D”个视差对应的深度来执行每个输入特征图的扭曲运算,以针对一个输入特征图生成“D”个扭曲特征图。图像恢复设备可生成通过将多个输入特征图和扭曲特征图串联而获得的串联数据1053。串联数据1053可包括与“N”个输入特征图和“N×D”个扭曲特征图相关联的信息。
[0138] 图像恢复设备可提供串联数据1053作为图像恢复模型340的输入,以生成具有高分辨率(例如,分辨率增加为单独的输入图像的分辨率的“A”倍)的输出图像1090。例如,图像恢复模型340可包括一个卷积层1042和多个残差块1044和1045。多个残差块1044和1045之中的残差块1044可接收串联数据1053作为输入,并且可接收应用了混洗1043的数据,使得指示串联数据1053中的相同点的像素值彼此接近。
[0139] 上述图像扭曲模型950和图像恢复模型340可在训练期间被同时或顺序地训练。由于在图像扭曲模型950中包括导致颜色信息损失的扭曲运算,因此图像扭曲模型950可在训练期间学习使颜色损失最小化的参数。图像扭曲模型950和图像恢复模型340可通过反向传播来训练。例如,图像扭曲模型950和图像恢复模型340可被训练为响应于具有低分辨率的训练输入(例如,多个低分辨率图像)的输入而输出具有高分辨率的训练输出(例如,具有高分辨率的地面真值图像)。正在被训练的图像扭曲模型950和图像恢复模型340可分别被称为“临时图像扭曲模型950”和“临时图像恢复模型340”。临时图像扭曲模型950和临时图像恢复模型340可从任意训练输入生成临时输出,并且临时图像扭曲模型950和临时图像恢复模型340的参数(例如,节点之间的连接权重)可被调整,使得临时输出与地面真值图像之间的损失可被最小化。
[0140] 图11是示出根据示例实施例的图像恢复设备的配置的框图。
[0141] 参照图11,图像恢复设备1100可包括图像传感器1110、处理器1120以及存储器1130。
[0142] 图像传感器1110可获取多条输入图像信息。图像传感器1110可获取使用位于不同位置的透镜捕获的多个输入图像作为多条输入图像信息。例如,图像传感器1110可包括被配置为获取多条输入图像信息中的每条输入图像信息的感测单元。为了获取“N”条输入图像信息,图像传感器1110可包括“N”个感测单元。尽管“N”个感测单元被包括在单个图像传感器(即,图像传感器1110)中,但是示例实施例不限于此。例如,“N”个图像传感器1110中的每个图像传感器可包括感测单元。
[0143] 处理器1120可从多条输入图像信息中的每条输入图像信息生成与多个视差对应的多条扭曲图像信息,并且可基于多条输入图像信息和多条扭曲图像信息使用图像恢复模型生成输出图像。处理器1120可跳过深度感测直到与单独的像素对应的目标点,并且可生成输出图像。
[0144] 然而,处理器1120的操作不限于此,并且处理器1120可同时地或顺序地执行以上参照图1至图10描述的操作中的至少一个操作。
[0145] 存储器1130可临时或永久地存储用于执行图像恢复方法的数据。例如,存储器1130可存储输入图像信息、扭曲图像信息以及输出图像。此外,存储器1130可存储图像扭曲模型、图像扭曲模型的参数、图像恢复模型以及图像恢复模型的参数。参数可被预先训练。
[0146] 图12是示出根据示例实施例的计算设备的框图。
[0147] 参照图12,计算设备1200是被配置为使用上述图像恢复方法生成高分辨率图像的设备。例如,计算设备1200可对应于图11的图像恢复设备1100。计算设备1200可包括例如图像处理设备、智能电话、可穿戴装置、平板计算机、上网本、膝上型计算机、台式计算机、个人数字助理(PDA)或头戴式显示器(HMD)。在一个示例中,计算设备1200也可被实现为用于车辆、无人机或闭路电视(CCTV)的视觉相机设备。在另一示例中,计算设备1200可被实现为用于视频呼叫的网络相机设备、360度虚拟现实(VR)相机设备或VR/增强现实(AR)相机设备。
[0148] 参照图12,计算设备1200可包括处理器1210、存储装置1220、相机1230、输入装置1240、输出装置1250以及网络接口1260。处理器1210、存储装置1220、相机1230、输入装置
1240、输出装置1250以及网络接口1260可通过通信总线1270彼此通信。
[0149] 处理器1210可在计算设备1200内执行功能和执行指令。例如,处理器1210可处理存储在存储装置1220中的指令。处理器1210可执行以上参照图1至图11描述的一个或多个操作。
[0150] 存储装置1220可存储用于处理器1210的执行的信息或数据。存储装置1220可包括计算机可读存储介质或计算机可读存储装置。存储装置1220可存储将由处理器1210执行的指令以及当软件或应用正由计算设备1200执行时与软件或应用的执行相关联的信息。
[0151] 相机1230可捕获多个输入图像。此外,尽管静止图像已经被主要描述为图像,但是示例实施例不限于此。例如,相机1230可捕获包括一个或多个图像帧的图像。例如,相机1230可生成与多个透镜中的每个透镜对应的帧图像。在这个示例中,计算设备1200可使用上述图像扭曲模型和图像恢复模型从与单独的帧对应的多个输入图像生成每个帧的高分辨率输出图像。
[0152] 输入装置1240可通过触觉输入、视频输入、音频输入或触摸输入从用户接收输入。例如,输入装置1240可检测来自键盘、鼠标、触摸屏、麦克风或用户的输入,并且可包括被配置为传送检测的输入的其它装置。
[0153] 输出装置1250可通过视觉通道、音频通道或触觉通道将计算设备1200的输出提供给用户。输出装置1250可包括例如显示器、触摸屏、扬声器、振动发生器或被配置为向用户提供输出的其它装置。网络接口1260可通过有线网络或无线网络与外部装置通信。例如,输出装置1250可将通过基于视觉信息、听觉信息以及触觉信息中的至少一个处理数据而获得的结果提供给用户。计算设备1200可在显示器上可视化生成的具有高分辨率的输出图像。
[0154] 在此描述的示例实施例可使用硬件组件、软件组件或它们的组合来实现。处理装置可使用一个或多个通用计算机或专用计算机(诸如,以处理器、控制器和算术逻辑单元、数字信号处理器、微型计算机、现场可编程阵列、可编程逻辑单元、微处理器或能够以限定的方式响应并执行指令的任何其它装置为例)来实现。处理装置可运行操作系统(OS)和在OS上运行的一个或多个软件应用。处理装置还可响应于软件的执行来访问、存储、操作、处理和创建数据。为了简单起见,处理装置的描述用作单数;然而,本领域技术人员将理解,处理装置可包括多个处理元件和多种类型的处理元件。例如,处理装置可包括多个处理器或者处理器和控制器。另外,不同的处理配置(诸如,并行处理器)是可行的。
[0155] 软件可包括计算机程序、代码、指令或它们的一些组合,以单独或共同地指示或配置处理装置如期望的那样进行操作。软件和数据可永久地或暂时地实现在任何类型的机器、组件、物理或虚拟设备、计算机存储介质或装置中,或者实现在能够向处理装置提供指令或数据或者能够由处理装置解释的传播信号波中。软件也可被分布在联网的计算机系统上,使得软件以分布的方式来存储和执行。软件和数据可由一个或多个非暂时性计算机可读记录介质存储。
[0156] 根据上述示例实施例的方法可被记录在包括用于实现可由计算机执行的各种操作的程序指令的非暂时性计算机可读介质中。介质也可单独地或与程序指令组合地包括数据文件、数据结构等。记录在介质上的程序指令可以是为了示例实施例的目的而专门设计和构造的程序指令,或者它们可以是计算机软件领域的技术人员公知和可用的类型。非暂时性计算机可读介质的示例包括磁介质(诸如,硬盘、软盘和磁带)、光学介质(诸如,CD ROM盘和DVD)、磁光介质(诸如,光盘)以及被专门配置为存储和执行程序指令的硬件装置(诸如,只读存储器(ROM)、随机存取存储器(RAM)、闪存等)。程序指令的示例包括机器代码(诸如,由编译器产生的机器代码)和包含可由计算机使用解释器执行的高级代码的文件两者。描述的硬件装置可被配置为用作一个或多个软件模块,以便执行上述示例实施例的操作,或者反之亦然。
[0157] 虽然本公开包括示例实施例,但是本领域普通技术人员将清楚的是,在不脱离权利要求和它们的等同物的精神和范围的情况下,可在这些示例实施例中做出形式和细节上的各种改变。在此描述的示例实施例将被认为仅是描述性的,而不是出于限制的目的。每个示例中的特征或方面的描述应被认为可适用于其它示例中的类似特征或方面。如果描述的技术以不同的顺序被执行,和/或如果描述的系统、架构、装置或电路中的组件以不同的方式被组合,和/或由其它组件或它们的等同物替换或补充,则可实现合适的结果。因此,公开的范围不是由具体实施方式限定,而是由权利要求和它们的等同物限定,并且在权利要求和它们的等同物的范围内的所有变化应被解释为包括在公开中。