CN111164647A - 使用单个相机估算深度 - Google Patents
使用单个相机估算深度 Download PDFInfo
- Publication number
- CN111164647A CN111164647A CN201780095594.0A CN201780095594A CN111164647A CN 111164647 A CN111164647 A CN 111164647A CN 201780095594 A CN201780095594 A CN 201780095594A CN 111164647 A CN111164647 A CN 111164647A
- Authority
- CN
- China
- Prior art keywords
- image
- scene
- pixel
- sub
- pixels
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 76
- 230000008569 process Effects 0.000 claims description 29
- 238000013528 artificial neural network Methods 0.000 claims description 18
- 238000003709 image segmentation Methods 0.000 claims description 6
- 238000004519 manufacturing process Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims 1
- 238000013527 convolutional neural network Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 13
- 230000000694 effects Effects 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 239000003086 colorant Substances 0.000 description 8
- 230000011218 segmentation Effects 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 238000012935 Averaging Methods 0.000 description 7
- 238000009499 grossing Methods 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005286 illumination Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000013589 supplement Substances 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000003708 edge detection Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241001428800 Cell fusing agent virus Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 238000007664 blowing Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 235000015243 ice cream Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 208000036971 interstitial lung disease 2 Diseases 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000011514 reflex Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/63—Control of cameras or camera modules by using electronic viewfinders
- H04N23/631—Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
Abstract
相机可以捕获场景的图像,并使用该图像来生成场景的第一子像素图像和第二子像素图像。该子像素图像对可以分别由来自该图像的第一组子像素集合和第二组子像素集合表示。该图像的每个像素可以包括分别在第一子像素图像和第二子像素图像中表示的两个绿色子像素。相机可以确定如由该子像素图像对表示的场景的部分之间的视差,并且可以基于视差和两个绿色子像素之间的基线距离来估计场景的深度图,该深度图指示该部分相对于场景的其他部分的深度。可以生成图像的新版本,在该图像的新版本中聚焦于场景的该部分上并使场景的其他部分模糊。
Description
相关申请的交叉引用
本申请要求于2017年10月4日提交的美国临时专利申请第62/567,888号和于2017年10月16日提交的美国临时专利申请第62/572,896号的优先权,其全部内容通过引用并入本文。
背景技术
当数字相机的图像捕获组件拍摄场景的照片时,图像传感器收集关于穿过相机的摄影透镜进入的光的数据。具体地,在接收到用于捕获图像的信号(例如,按钮按下)时,相机的快门可以临时打开以允许光到达图像传感器的感光点(photosite)阵列。结果,每个感光点都可以将来自光中的光子收集并存储为电信号。
感光点收集的光量越大,感光点记录的电强度就越高。例如,与从场景中的阴影或其他暗区域捕获光的感光点记录的强度较低相比,从场景中的明亮区域捕获光的图像传感器的感光点记录的强度较高。通过具有被配置为捕获和测量强度的感光点阵列,图像传感器可以记录场景的当前状态,以便随后显示为灰度图像。
为了将场景表达为彩色图像,图像传感器可以具有位于附近的彩色滤光片阵列(CFA),该彩色滤光片阵列限制每个感光点仅收集特定颜色的入射光。例如,拜耳阵列是CFA的一种流行类型,它使用红-绿色和绿-蓝色滤光片的交替行来限制每个感光点捕获仅与一种原色(红色、绿色或蓝色)相对应的光。拜耳阵列包括更多的绿色滤光片,以使更大比例的感光点阵列收集绿光。这是由于人眼对绿光特别敏感。因此,让更多的感光点收集绿光可以产生与大多数人的视力更一致的图像。
在相机设备的快门关闭以结束在感光点阵列上的曝光之后,可以测量来自各个感光点的电荷并将其转换为数字。然后可以通过配置用于在屏幕或其他可能表面(相机取景器)上重新创建图像的匹配像素的颜色和亮度,使用来自感光点阵列中的数码的数字序列来重新生成图像。在一些情况下,对于图像传感器中的每个感光点,在显示的图像内可能存在一个对应的像素,该像素反映了在图像捕获过程中在感光点处接收到的电荷和颜色。
所生成的图像内的每个像素可以由多个成分构成,也称为“子像素”。每个像素的子像素可能取决于与由图像传感器一起使用的CFA对感光点阵列施加的颜色限制。例如,当图像传感器与拜耳阵列一起使用时,构成捕获图像的像素可以由两个绿色子像素、一个蓝色子像素和一个红色子像素组成。因此,当像素被布置并显示在一起以表示图像传感器的感光点阵列的位置和测量值时,最初由单个图像捕获组件捕获的场景的颜色和配置可以被重新创建为二维图像(2D)彩色图像。
然而,为了获得关于场景的三维(3D)信息,通常使用附加组件。例如,立体相机使用两个或更多个图像捕获组件来同时捕获可以以某种方式组合以创建或模拟3D立体图像的多个图像。尽管立体相机可以确定关于场景的3D信息,但是使用多个图像捕获组件增加了生产立体相机所涉及的总体成本和复杂性。
发明内容
本文的实施例公开了一种深度估计技术,其可以用于估计由单个图像捕获组件捕获为图像的场景中的元素的深度。在最初捕获场景的图像之后,基于由构成被布置以重新创建场景的基础像素的子像素提供的数据来生成子像素图像对。类似于由立体相机的多个图像捕获组件同时捕获的图像,该子像素图像对可以从略有不同的视点表示场景。子像素图像之间的这种视点差异或“视差”可能是由于存在于包括在图像的每个像素内的绿色子像素对之间的基线距离所致。尽管每个像素内的绿色子像素之间存在的基线距离非常小,但是该距离足以使子像素图像从略有不同的角度表示场景。
因此,子像素图像可以以使得能够确定如分别由每个子像素图像表示的场景的部分之间的视差的方式对准。通过把视差和每个像素内的绿色子像素之间的基线距离作为因素,可以使用三角测量估计场景的元素的深度。在一些实施例中,可以确定描绘场景中的元素的深度的深度图,并将其用于生成聚焦在场景的特定元素上同时还以类似于散景(Bokhen)效果的方式模糊图像的其他部分的原始图像的新版本。
因此,在第一示例实施例中,相机设备可以捕获场景的图像。基于场景的图像,相机设备可以生成场景的第一子像素图像和场景的第二子像素图像。第一子像素图像可以由来自图像的第一子像素集合表示,第二子像素图像可以由来自图像的第二子像素集合表示。场景的图像的给定像素可以包括分别在第一子像素图像和第二子像素图像中表示的两个绿色子像素。相机设备可以确定由第一子像素图像表示的场景的部分与由第二子像素图像表示的场景的部分之间的视差。可能基于视差和两个绿色子像素之间的基线距离,相机设备可以估计场景的深度图。深度图可以指示场景的该部分相对于场景的一个或多个其他部分的深度。
在第二示例实施例中,一种制品可以包括其上存储有程序指令的非暂时性计算机可读介质,所述程序指令在由相机设备执行时使相机设备执行根据第一示例实施例的操作。
在第三示例实施例中,相机设备可以包括图像传感器、处理器以及数据存储和程序指令。程序指令可以存储在数据存储中,并且在由至少一个处理器执行时可以使计算设备执行根据第一示例实施例的操作。
在第四示例实施例中,一种***可以包括用于执行第一示例实施例的每个操作的各种装置。
通过阅读以下具体实施方式并在适当的情况下参考附图,这些以及其他实施例、方面、优点和替代方案对于本领域普通技术人员将变得显而易见。此外,应当理解,本文提供的该发明内容以及其他描述和附图旨在仅通过示例的方式说明实施例,并且因此许多变化是可能的。例如,在保持在所要求保护的实施例的范围内的同时,结构元件和处理步骤可以被重新布置、组合、分布、消除或以其他方式改变。
附图说明
图1A描绘了根据示例实施例的数字相机设备的前视图和右视图。
图1B描绘了根据示例实施例的数字相机设备的后视图。
图2描绘了根据示例实施例的具有图像捕获能力的计算设备的框图。
图3A描绘了根据示例实施例的像素块配置。
图3B描绘了根据示例实施例的另一像素块配置。
图4描绘了根据示例实施例的使用单个图像捕获组件修改捕获的图像。
图5描绘了根据示例实施例的捕获对象的图像的图像捕获组件的简化表示。
图6描绘了根据示例实施例的确定对象与相机之间的距离。
图7描绘了根据示例实施例的使用单个图像捕获组件修改捕获的图像。
图8描绘了根据示例实施例的使用单个图像捕获组件修改捕获的图像。
图9是根据示例实施例的流程图。
图10是根据示例实施例的另一流程图。
具体实施方式
本文描述了示例方法、设备和***。应当理解,词语“示例”和“示例性”在本文中用来表示“用作示例、实例或说明”。本文中描述为“示例”或“示例性”的任何实施例或特征不必被解释为比其他实施例或特征优选或有利。在不脱离本文提出的主题的范围的情况下,可以利用其他实施例,并且可以进行其他改变。
因此,本文描述的示例实施例并不意味着是限制性的。如本文一般描述和附图所示,本公开的方面可以以多种不同配置进行布置、替换、组合、分离和设计,所有这些在本文中具有考虑。
此外,除非上下文另有说明,否则在每个附图中示出的特征可以彼此结合使用。因此,在理解并非每个示例性实施例都需要所有图示特征的情况下,通常应将附图视为一个或多个总体实施例的组成方面。
取决于上下文,“相机”可以指代单独的图像捕获组件或包含一个或多个图像捕获组件的设备。通常,图像捕获组件包括光圈、透镜、记录表面和快门,如下所述。此外,在一些实施方式中,本文描述的图像处理步骤可以由相机设备执行,而在其他实施方式中,图像处理步骤可以由与一个或多个相机设备通信(并且可能控制一个或多个相机设备)的计算设备执行。
1.示例图像捕获设备
随着相机变得越来越流行,它们可以用作独立的硬件设备或集成到其他类型的设备中。例如,现在静止相机和摄相机通常被包括在无线计算设备(例如,智能电话和平板电脑)、膝上型计算机、可穿戴计算设备、视频游戏接口、家庭自动化设备、甚至汽车和其他类型的车辆中。
相机的图像捕获组件可以包括:通过其光进入的一个或多个光圈;用于捕获由光表示的图像的一个或多个记录表面;以及位于每个光圈的前面以至少将图像的部分聚焦在记录表面上的一个或多个透镜。光圈可以是固定大小的或可调节的。
在模拟相机中,记录表面可以是摄影胶片。在数字相机中,记录表面可以包括电子图像传感器(例如,电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)传感器)以将捕获的图像传输和/或存储在数据存储单元(例如,存储器)中。图像传感器可以包括被配置为捕获通过光圈的入射光的感光点阵列。当发生曝光以捕获图像时,每个感光点都可以从入射光中收集光子,并将光子存储为电信号。一旦曝光结束,相机就可以关闭每个感光点并继续测量每个感光点的电信号强度。
然后可以将图像传感器的感光点阵列的信号量化为数字值,其精度可以由位深度确定。位深度可用于根据用于指定每种颜色的“位”或0和1的数量来量化图像调色板中有多少种独特的颜色可用。这并不意味着图像必须使用所有这些颜色,但是图像却可以使用该精度级别指定颜色。例如,对于灰度图像,位深度可以量化多少个独特的阴影可用。这样,具有更高位深度的图像可以编码更多的阴影或颜色,因为存在更多的0和1组合可用。
如上所述,为了以彩色图像捕获场景,位于图像传感器附近的CFA可能仅允许一种颜色的光进入每个感光点。例如,数字相机可以包括CFA(例如,拜耳阵列),其允许图像传感器的感光点仅捕获三种原色(红色、绿色、蓝色(RGB))之一。其他可能的CFA可以使用其他颜色***,例如,青色、品红色、黄色和黑色(CMYK)。结果,感光点可以测量场景的颜色以用于随后以彩色图像显示。
在一些示例中,相机可以利用由红-绿滤光片和绿-蓝滤光片的交替行组成的拜耳阵列。在拜耳阵列内,由于人眼对绿光比对红光和蓝光更敏感,因此每种原色不会得到图像传感器的感光点阵列总面积的等分。具体地,绿色像素的过剩可能会产生看起来噪声较小且更细致的图像。这样,当配置场景的彩色图像时,相机可以使其他两种原色近似,以便在每个像素处具有全色。例如,相机可以执行拜耳去马赛克或内插过程,以将原色阵列转换成在每个像素处包含全色信息的图像。拜耳去马赛克或内插可以取决于相机使用的图像格式、大小和压缩技术。
一个或多个快门可以耦合到透镜或记录表面或在透镜或记录表面附近。每个快门可以处于在其中快门阻止光到达记录表面的关闭位置或在其中允许光到达记录表面的打开位置。每个快门的位置可以由快门按钮控制。例如,快门默认情况下可以处于关闭位置。当快门按钮被触发(例如,被按下)时,快门可以从关闭位置改变到打开位置达被称为快门周期的时间段。在快门周期期间,可以在记录表面上捕获图像。在快门周期结束时,快门可以变回到关闭位置。
可替代地,快门过程可以是电子的。例如,在“打开”CCD图像传感器的电子快门之前,可以重设传感器以去除其感光点中的任何残留信号。当电子快门保持打开时,感光点可能会积累电荷。当快门关闭时或之后,这些电荷可以被转移到长期数据存储中。机械和电子快门的组合也是可能的。
无论类型如何,都可以通过除快门按钮以外的其他方式来激活和/或控制快门。例如,可以通过软键、定时器或其他一些触发器来激活快门。在本文中,术语“图像捕获”可以指导致记录一个或多个图像的任何机械和/或电子快门过程,而不管快门过程如何被触发或控制。
捕获图像的曝光可以通过光圈的大小、进入光圈的光的亮度以及快门周期的长度(也称为快门长度或曝光长度)的组合来确定。另外,可以将数字和/或模拟增益应用于图像,从而影响曝光。在一些实施例中,术语“曝光长度”、“曝光时间”或“曝光时间间隔”可以指快门长度乘以特定光圈大小的增益。因此,这些术语可以在某种程度上互换使用,并且应被解释为可能是快门长度、曝光时间和/或控制由于光到达记录表面而导致的信号响应的量的任何其他度量。
每次触发图像捕获时,静止相机都可以捕获一个或多个图像。只要图像捕获保持被触发(例如,在按下快门按钮时),视频相机就可以以特定速率(例如,每秒24个图像或每秒24帧)连续捕获图像。一些数字静止相机在激活相机设备或应用时可能会打开快门,并且快门可能会保持在该位置,直到相机设备或应用被停用。当快门打开时,相机设备或应用可以捕获并在取景器上显示场景的表示。当触发图像捕获时,可以捕获当前场景的一个或多个不同的数字图像。
相机可以包括用于控制一个或多个相机功能和/或诸如光圈大小、曝光时间、增益等的设置的软件。此外,一些相机可以包括在捕获这些图像期间或之后对图像进行数字处理的软件。该软件可能能够基于捕获的图像生成子像素图像。子像素图像可以表示包括在构成捕获图像的全部像素或像素集内的一部分子像素。例如,软件可以用于生成表示来自图像的每个像素内的绿色子像素的一半的数据的第一子像素图像和表示来自图像的每个像素内的绿色子像素的另一半的数据的第二子像素图像。
如前所述,数字相机可以是独立设备或与其他设备集成。作为示例,图1A图示从前视图101A和侧视图101B看去的数字相机设备100的形状因数。数码相机设备100可以是例如移动电话、平板计算机或可穿戴计算设备。但是,其他实施例也是可能的。
数字相机设备100可以包括各种元件,诸如,主体102、前置相机104、多元素显示器106、快门按钮108和其他按钮110。前置相机104可以位于主体102通常在操作时面向用户的一侧,或者被定位在与多元素显示器106相同的一侧。
如图1B所示,数字相机设备100还可以包括后置相机112。相机112可以位于主体102的与前置相机104相对的一侧。后视图101C和101D示出了后置相机112的两种替代布置。尽管如此,其他布置也是可能的。另外,将相机称为前置或后置是任意的,并且数字相机设备100可以包括位于主体102的各个侧面上的一个或多个相机。
多元素显示器106可以表示阴极射线管(CRT)显示器、发光二极管(LED)显示器、液晶(LCD)显示器、等离子显示器或本领域已知的任何其他类型的显示器。在一些实施例中,多元素显示器106可以显示由前置相机104和/或后置相机112捕获的当前图像的数字表示,或者可以由这些相机中的任何一个或多个捕获或最近捕获的图像。因此,多元素显示器106可以用作相机的取景器。多元素显示器106还可支持触摸屏和/或存在敏感功能,其能够调节数字相机设备100的任何方面的设置和/或配置。
前置相机104可以包括图像传感器和相关联的光学元件,诸如透镜。前置相机104可以提供变焦能力或可以具有固定的焦距。在其他实施例中,可互换透镜可与前置相机104一起使用。前置相机104可具有可变的机械光圈以及机械和/或电子快门。前置相机104也可以被配置为捕获静止图像、视频图像或两者。此外,例如,前置相机104可以表示单视场相机。后置相机112可以是图像捕获组件,包括光圈、透镜、记录表面和快门。
前置相机104和后置相机112中的任一个或两者可以包括照明组件或与之相关联,该照明组件提供光场以照亮目标对象。例如,照明组件可以提供目标对象的闪光或持续照明。照明组件还可被配置为提供包括结构化光、偏振光和具有特定光谱含量的光中的一个或多个的光场。在本文的实施例的场境内,已知的并且用于从对象恢复3D模型的其他类型的光场是可能的。
前置相机104和/或后置相机112中的任一个或两者都可以包括环境光传感器或与环境光传感器相关联,该环境光传感器可以连续地或不时地确定相机可以捕获的场景的环境亮度。在一些设备中,环境光传感器可用于调整与相机关联的屏幕(例如,取景器)的显示亮度。当确定的环境亮度高时,可以增加屏幕的亮度级别,以使屏幕更易于查看。当确定的环境亮度低时,屏幕的亮度级别可以被降低,也使屏幕更易于查看以及可能节省电量。环境光传感器还可用于确定图像捕获的曝光时间。
数字相机设备100可以被配置为使用多元素显示器106和前置相机104或后置相机112来捕获目标对象的图像。所捕获的图像可以是多个静止图像或视频流。可以通过激活快门按钮108、按下多元素显示器106上的软键或某种其他机制来触发图像捕获。取决于实施方式,可以以特定时间间隔自动捕获图像,例如,在按下快门按钮108时、在目标对象的适当照明条件下、在将数字相机设备100移动预定距离时或根据预定的捕获时间表。
如上所述,数字相机设备100——或另一种类型的数字相机——的功能可以被集成到计算设备中,诸如无线计算设备、蜂窝电话、平板计算机、可穿戴计算设备、机器人设备、膝上型计算机等。为了示例的目的,图2是示出可以包括相机组件224的示例计算设备200的一些组件的简化框图。
作为示例而非限制,计算设备200可以是蜂窝移动电话(例如,智能电话)、静止相机、摄相机、传真机、计算机(诸如台式机、笔记本电脑、平板电脑或手持计算机)、个人数字助理(PDA)、家庭自动化组件、数字视频录像机(DVR)、数字电视、遥控器、可穿戴计算设备或配备了至少一些图像捕获和/或图像处理能力的一些其他类型的设备。应当理解,计算设备200可以表示物理相机设备,诸如数字相机、在其上相机应用以软件操作的特定物理硬件平台或者被配置为执行相机功能的硬件和软件的其他组合。
如图2所示,计算设备200可以包括通信接口202、用户接口204、处理器206、数据存储208和相机组件224,所有这些都可以通过***总线、网络或其他连接机制210通信地连接在一起。
通信接口202可以允许计算设备200使用模拟或数字调制与其他设备、接入网络和/或传输网络进行通信。因此,通信接口202可以促进电路交换和/或分组交换通信,诸如普通老式电话服务(POTS)通信和/或互联网协议(IP)或其他分组通信。例如,通信接口202可以包括芯片组和天线,所述芯片组和天线被布置为与无线电接入网络或接入点进行无线通信。而且,通信接口202可以采取有线接口的形式或包括有线接口,诸如以太网、通用串行总线(USB)或高清多媒体接口(HDMI)端口。通信接口202也可以采取无线接口的形式或包括无线接口,诸如Wifi、全球定位***(GPS)或广域无线接口(例如,WiMAX或3GPP长期演进(LTE))。然而,可以在通信接口202上使用其他形式的物理层接口和其他类型的标准或专有通信协议。此外,通信接口202可以包括多个物理通信接口(例如,Wifi接口、 接口和广域无线接口)。
用户接口204可以起到允许计算设备200与人类或非人类用户交互的作用,诸如从用户接收输入并向用户提供输出。因此,用户接口204可以包括输入组件,诸如键区、键盘、触敏或存在敏感面板、计算机鼠标、轨迹球、操纵杆、麦克风等。用户接口204还可以包括一个或多个输出组件,诸如显示屏,该显示屏可以例如与存在敏感面板组合。显示屏可以基于CRT、LCD和/或LED技术,或者其他目前已知或以后开发的技术。用户接口204也可以被配置为经由扬声器、扬声器插孔、音频输出端口、音频输出设备、耳机和/或其他类似设备来生成可听输出。
在一些实施例中,用户接口204可以包括用作取景器的显示器,该取景器用于计算设备200所支持的静止相机和/或视频相机功能。此外,用户接口204可以包括一个或多个按钮、开关、旋钮和/或刻度盘,其便于配置和集中相机功能以及捕获图像(例如,捕获图片)。这些按钮、开关、旋钮和/或刻度盘中的一些或全部可以通过存在敏感面板实现。
处理器206可以包括一个或多个通用处理器——例如,微处理器——和/或一个或多个专用处理器——例如,数字信号处理器(DSP)、图形处理单元(GPU)、浮点单元(FPU)、网络处理器或专用集成电路(ASIC)。在一些情况下,专用处理器可能能够进行图像处理、图像对准和合并图像等。数据存储208可以包括一个或多个易失性和/或非易失性存储组件,诸如磁性、光学、闪存或有机存储,并且可以全部或部分地与处理器206集成。数据存储208可以包括可移动和/或不可移动的组件。
处理器206可能能够执行存储在数据存储208中的程序指令218(例如,已编译或未编译的程序逻辑和/或机器代码)以执行本文所述的各种功能。因此,数据存储208可以包括其上存储有程序指令的非暂时性计算机可读介质,该程序指令在被计算设备200执行时使计算设备200执行本说明书和/或附图中公开的任何方法、过程或操作。处理器206对程序指令218的执行可以导致处理器206使用数据212。
举例来说,程序指令218可包括安装在计算设备200上的操作***222(例如,操作***内核、设备驱动器和/或其他模块)和一个或多个应用程序220(例如,相机功能、地址簿、电子邮件、Web浏览、社交网络和/或游戏应用)。类似地,数据212可以包括操作***数据216和应用数据214。操作***数据216可以主要由操作***222访问,并且应用数据214可以主要由一个或多个应用程序220访问。应用数据214可以被布置在对计算设备200的用户可见或隐藏的文件***中。
应用程序220可以通过一个或多个应用编程接口(API)与操作***222通信。这些API可以促进例如应用程序220读取和/或写入应用数据214,经由通信接口202传输或接收信息,在用户接口204上接收和/或显示信息等等。
在一些日常语中,应用程序220可以简称为“app”。另外,应用程序220可以通过一个或多个在线应用商店或应用市场下载到计算设备200。但是,应用程序也可以以其他方式——诸如,经由Web浏览器或通过计算设备200上的物理接口(例如,USB端口)——安装在计算设备200上。
相机组件224可以包括但不限于光圈、快门、记录表面(例如,摄影胶片和/或图像传感器)、透镜和/或快门按钮。相机组件224可以至少部分地由被处理器206执行的软件控制。
2.示例像素配置
图3A描绘了像素块300,其由像素簇组成,该像素簇可以是相机捕获的图像的一部分。具体地,像素块300包括像素302和其他像素,所述像素302和其他像素可以表示来自图像传感器的感光点阵列中的对应感光点的数据。
在其他示例中,像素块300以及像素块300内的像素的配置可以不同。例如,像素块300中的像素302和其他像素以由四个组成部分构成的正方形配置示出。在本文中也称为子像素的这四个组成部分可以表示图像的给定位置处的红色、绿色或蓝色的量。尽管示出了具有四个子像素(绿色子像素304A、304B,蓝色子像素306和红色子像素308)的像素302,但是在其他示例中,像素也可以由更多或更少的子像素组成。例如,在另一个示例中,像素可以仅包括三个子像素(例如,红色、绿色、蓝色)或其他颜色子像素(例如,绿色、红色、蓝色、白色)。另外,像素在示例内可以具有其他配置。
构成像素块300中的像素的子像素可以取决于与捕获图像的相机的图像传感器一起利用的CFA。CFA限制给定颜色中的哪些光可以进入哪些感光点。因此,代替接收由任何颜色表示的光,可以将图像传感器的每个感光点限制为接收与特定颜色(例如,红色、绿色或蓝色)相对应的光。如上所述,一些相机使用拜耳阵列,拜耳阵列导致测量绿光的感光点比例更高。结果,由相机捕获的图像内的像素可各自包括两个绿色子像素,以反映拜耳阵列和图像传感器的使用。其他配置也是可能的。
如图3A所示,像素块300的像素302由绿色子像素304A、304B以及蓝色子像素306和红色子像素308构成。这些子像素在像素302内以两个子像素乘以两个子像素的正方形布置。示出绿色子像素304A位于像素302的左上角,并且示出绿色子像素304B位于像素302的右下角。尽管绿色子像素304A、304B在像素302内具有对角线布置,但是子像素可以具有其他布置。
包括像素块300的图像可用于基于由子像素(例如,绿色子像素304A、304B)提供的数据来生成子像素图像。具体地,由于每个像素包括两个绿色子像素,所以每个像素内的绿色子像素的位置差异可以使绿色子像素从略有不同的角度表示图像内捕获的场景。不同的角度可能是由于每个绿色子像素表示来自具有从相机内的特定视点捕获场景的绿色滤光片的感光点的数据的事实。
结果,类似于立体相机的多个图像捕获组件从略有不同的视点捕获场景,通过使用来自绿色子像素的数据,可以以一种方式生成多个子像素图像,这种方式使得每个子像素显示来自不同的视点的场景。为了举例说明,可以基于来自每个像素内具有与绿色子像素304A相同位置的绿色子像素的数据来开发一个子像素图像,并且另一个子像素图像可以基于来自每个像素内具有与绿色子像素304B相同位置的绿色子像素的数据。
基于来自不同的绿色子像素集合的数据确定的子像素图像可以进一步用于确定由每个子像素图像表示的不同视点之间存在的视差。在一些示例中,视差表示子像素图像之间的差异。视差可以被由子像素图像表示的视点的差异引起。这样,子像素图像之间的视差的程度可以变化。
在对准子像素图像之后,可以基于将由一个子像素图像表示的场景的一部分与由另一子像素图像表示的场景的相同部分进行比较来确定视差。例如,图像差分技术可以用于确定子像素图像之间的视差。图像差分可能涉及确定每个子像素图像中的每个像素之间的差异。也可以使用其他图像处理技术。这样,所产生的视差指示每个子像素图像表示该部分的方式之间的差异。在一些示例中,可以针对场景的多个部分确定子像素图像之间的视差。
可以进一步使用子像素图像表示场景的一个或多个部分的方式之间的视差,以估计原始捕获图像内场景的部分的深度。在示例内,用于确定视差的场景的部分可以表示在原始图像中捕获的场景的任何部分。在一些实施方式中,当确定视差时,可以使用在原始图像内具有中心位置的场景的一部分,因为该部分可能包括图像的焦点,并且子像素数据可能比从位于捕获图像的角的像素获得的子像素数据更准确。具体地,原始图像的中心位置是由在图像捕获期间以较少的干扰接收直射光的感光点产生的。这与原始图像的由在图像捕获期间接收光时可能会遇到干扰的感光点产生的边缘不同。
在一些实施例中,子像素图像之间的视差可以用于估计场景内一个或多个元素的深度。具体地,视差和像素内的绿色子像素的位置之间的基线差可以用于经由捕获原始图像的相机与场景中的对象之间的三角测量来估计距离。在其他示例中,可以基于所捕获图像的场景中的多个元素的估计深度来生成深度图。
图3B描绘了另一个像素块310。类似于像素块300,像素块310提供了像素的示例(例如,像素312),其中绿色子像素被进一步拆分为两个聚焦平面。具体地,示出了像素312,该像素312由以两个子像素乘以两个子像素正方形布置的拆分平面绿色子像素314A、314B、蓝色子像素316和红色子像素318组成。不是具有表示场景的不同视点的两个绿色子像素,由于拆分的聚焦平面,绿色子像素314A、314B可以各自表示不同的视点。
焦平面可以表示相机中光被聚焦的区域。例如,焦平面可以是可以获得最清晰的焦点的距相机的距离。这样,由于光到达图像传感器的感光点阵列的方式,绿色子像素314A、314B可各自表示多个焦平面。这可以导致绿色子像素314A的一部分表示第一焦平面,绿色子像素314A的另一部分表示第二焦平面,从而导致绿色子像素314A表示拆分的焦平面。
在一些示例中,像素块310内的绿色子像素314A、314B和其他子像素可用于确定表示从略有不同的视点的场景的子像素图像的集合。例如,每个子像素图像可以表示来自两个绿色子像素但仅两个平面之一的数据。
3.示例深度估计
图4描绘了生成使用单个图像捕获组件捕获的图像的新版本。在该图中,相机402使用单个图像捕获组件来捕获场景400的图像。场景400示出了位于前景中的人和位于背景中的云,但是其他示例可能涉及捕获不同场景的图像。
相机402可以包括图像捕获组件,诸如光圈、透镜、快门和记录表面。例如,相机402可以对应于数字相机设备100,并且使用后置相机112来捕获场景400的图像。在其他情况下,相机402可以是诸如车辆、可穿戴计算设备、平板电脑等的另一设备的一部分。
尽管相机402可以捕获场景400的单个图像,但是在一些实施方式中,相机402可以在短持续时间内捕获场景400的一系列图像。具体地,相机402可以捕获一段时间的连续图像,并且比较一系列图像的部分以产生去除可能在一些图像内捕获的一些噪声的聚合图像。图像传感器或图像捕获过程中的相机的移动可能会导致图像内的噪声。为了减少噪声,相机402可以利用场景400的一系列图像来开发减少可能噪声的整体图像。另外,相机402还可以基于可用的环境光的量来增加或减少图像传感器的灵敏度。
使用来自构成场景400的初始图像的全部或一部分像素的子像素的信息,相机402可以生成第一子像素图像404和第二子像素图像406。具体地,第一子像素图像404可以由来自初始图像的子像素的第一集合表示,并且第二子像素图像406可以由来自初始图像的子像素的第二集合表示。
作为示例,第一子像素图像404可以表示从蓝色和红色子像素以及绿色子像素的第一集合(例如,每个像素中的顶行绿色子像素)获得的数据,以便从第一角度表示场景400。在该示例中,第二子像素图像406可以表示从蓝色和红色子像素以及绿色子像素的第二集合(例如,每个像素中的底行绿色子像素)获得的数据,以从第二角度表示场景400。由于每个像素内的绿色子像素之间的位置的基线差,第二角度和第一角度可能不同。例如,第一角度和第二角度可沿水平轴和/或垂直轴不同。
在另一个示例中,每个像素可以包括两个绿色子像素,该两个绿色子像素类似于图3B中所描绘的像素312被各自拆分成两个不同的聚焦平面。结果,第一子像素图像404可以表示绿色子像素的第一聚焦平面,第二子像素图像406可以表示绿色子像素的第二聚焦平面。
在生成第一子像素图像404和第二子像素图像406之后,可以确定在由该子像素图像对表示的不同视点之间存在的视差。在一些示例中,可以基于来自原始捕获图像内的子像素的数据来得出子像素图像的多个集合。可以利用多个集合来改进和开发能够用于估计原始图像中捕获的场景中的元素的深度的子像素图像。
在另外的示例中,在确定视差之前,在一些实施例中,相机402可以对第一子像素图像404和第二子像素图像406执行归一化处理,以调整每个子像素图像的亮度或其他参数以使得能够进行进一步分析。例如,在对准子像素图像之后,相机402可以确定需要进一步的图像处理以去除子像素图像内的噪声。
在一些示例中,第一子像素图像404和第二子像素图像406可以彼此对准,以便确定如在第一子像素图像404和第二子像素图像406中所表示的部分408之间的视差。图像对准可能涉及用于将第一子像素图像404和第二子像素图像406布置在彼此之上以使它们“匹配”的计算方法。用于图像对准的一种技术是全局对准,其中将固定的x轴和y轴偏移应用于一个子像素图像中的每个子像素,以使该子像素图像与另一个子像素图像基本对准。
在此背景下的基本对准可以是其中像素之间的误差因子被最小化或被确定为低于阈值的对准。例如,可以为多个候选对准计算最小二乘误差,并且可以将具有最低的最小二乘误差的对准确定为基本对准。
在一些示例中,对准可能涉及将子像素图像划分成多个像素邻域(例如,像素块),并且每个像素邻域可以根据相应的单独偏移而分别对准。结果可能是一些块被与其他块不同地偏移。对于块的每个候选对准,可以确定并求和转换后的源子像素图像和目标子像素图像中所有像素之间的净差。存储该净误差,并且可以选择具有最小误差的转换作为基本对准。除了本文描述的那些技术之外或者替代本文描述的那些技术,可以使用其他图像对准技术。
如在第一子像素图像404中表示和在第二子像素图像406中表示的场景404的一个或多个部分之间的视差可以在对准之后确定。例如,表示场景400的特征——诸如,部分408——的像素块可以被选择并用于确定第一子像素图像404表示像素块的方式与第二子像素图像406表示相同的像素块的方式之间的视差。
使用视差和指定每个像素内的绿色子像素之间的距离的基线距离,相机402可以估计位于第一子像素图像404和第二子像素图像406的部分408中的场景400中的人的深度,该深度表示相机402与人之间的距离。在图像内描绘的场景包括多个对象的情况下,视差和基线距离可用于估计多个对象相对于彼此和相机402的深度。在一些示例中,可为场景400确定估计的深度图。例如,可以通过迭代比较第一子像素图像404和第二子像素图像406的多个部分以估计场景400的不同部分的深度来确定深度图。
当修改原始图像时,随后可以使用估计的深度或深度图。例如,原始图像的部分的深度估计可以用于生成图像的新版本,其聚焦在图像的一个或多个部分上,同时也模糊其他部分。该图像的新版本可能具有类似于散景效果的外观,散景效果是在由相机的透镜产生的图像的离焦部分中产生的模糊的美学特性。
在另一示例中,当生成图像的新版本时,相机402除了深度估计之外还可以使用边缘平滑处理。边缘平滑处理可以改善图像的新版本内的聚焦元素与模糊部分之间的断开。例如,边缘平滑可以用于确定焦点对准的元素的边缘。结果,焦点对准的元素后面的背景可能会模糊到检测到的边缘。
在另外的示例中,相机402可以进一步使用空间传感器或另一传感器来估计描绘场景400的图像的一个或多个部分的深度。来自一个或多个传感器的测量可以补充由相机402执行的其他深度估计。
在另一示例中,相机402可以将置信度水平与深度估计相关联。例如,相机402可以为在所捕获图像内的中心的场景中的元素的深度估计指配较高的置信度,并且为位于图像的边界附近的场景中的元素的深度估计指配较低的置信度。此指配可能是归因于感光点在图像捕获期间接收光的方式。
在一些实施例中,相机402可以确定包括具有角的特征的场景的一部分的视差。在这些情况下,确定如在子像素图像中表示的场景部分之间的视差可能涉及检测每个子像素图像中的角,并根据转换将子像素图像彼此扭曲。转换可能导致子像素图像中的角基本上匹配。结果,视差可以基于由转换表示的像素距离。
图5描绘了捕获对象的图像的图像捕获组件的简化表示。图像捕获组件包括透镜502和记录表面504。表示对象500的光穿过透镜502,并在记录表面504上创建对象500的图像(由于透镜502的光学特性,记录表面504上的图像看起来是颠倒的)。透镜502可以是可调节的,因为它可以相对于图5向左或向右移动。例如,可以通过向控制透镜502的位置的电动机(图5中未示出)施加电压来进行调节。电动机可以使透镜502进一步从记录表面504远离或靠近记录表面504。因此,图像捕获组件可以聚焦在一定距离范围内的对象上。透镜502和记录表面504之间在任何时间点的距离被称为透镜位置,并且通常以毫米为单位进行测量。透镜502与其焦点区域之间的距离称为焦距,并且可以以毫米或其他单位来测量。
焦距是透镜的固有特性,并且如果透镜不是变焦透镜,则焦距是固定的。透镜位置是指透镜表面和记录表面之间的距离。可以调节透镜位置以使对象看起来清晰(聚焦对准)。在一些实施例中,透镜位置由焦距近似——如果驱动透镜以聚焦在无穷远,则透镜位置等于焦距。因此,对于非变焦图像捕获组件,焦距是已知的并且是固定的,而透镜位置是未知的,但是可以估计为将图像捕获组件聚焦在对象上。
自动聚焦是一种在用户有很少或没有帮助的情况下用于对焦图像捕获组件的方法。自动对焦可以自动选择场景上要对焦的区域,或者可以聚焦在场景的预选区域上。自动聚焦软件可以自动调整图像捕获组件的透镜位置,直到它确定图像捕获组件已充分良好地聚焦在对象上为止。
如上所述,在捕获图像之后,可以基于构成捕获的图像的像素的子像素内的数据来得出子像素图像。类似于使用配置有多个图像捕获组件的立体相机同时捕获两个图像,由于图像的每个像素内子像素的间隔,源自捕获图像的子像素图像可能会从略有不同的位置提供场景的视点。尽管每个像素内绿色子像素位置之间的基线距离很小,但此基线距离足以使绿色子像素能够从与立体相机捕获的图像对相似从稍有不同的视点表达图像内捕获的场景。
基于像素内的绿色子像素与场景中的对象之间的基线距离的三角测量可用于估计从图像捕获组件到对象的距离。转到图6,第一绿色子像素602和第二绿色子像素604表示图像的像素内的子像素,并且被假定为在x轴(水平)上彼此分开基线距离b。尽管图6将第一绿色子像素602和第二绿色子像素604显示为在它们之间具有清晰可见的距离,但是该配置是出于说明的目的。实际上,由于通常像素的微小性质,第一绿色子像素602和第二绿色子像素604可能相距很小的距离。
捕获对象的图像的相机具有焦距f(出于说明的目的,在图6中放大了其位置和大小)。结果,第一绿色子像素602和第二绿色子像素604具有描述对象的数据,该对象在z轴上距相机的距离为z(即,深度)。b和f的值是已知的,但是z的值要估计。
这样做的一种方式是分别基于来自第一绿色子像素602和第二绿色子像素604的数据来确定对象的子像素图像。由于在捕获图像的每个像素内第一绿色子像素602和第二绿色子像素604的位置不同,因此对象将在基于第一绿色子像素602的子像素图像中稍微显现为向右,并且将在基于第二绿色子像素604的子像素图像中稍微显现为向左。在如对象在子像素图像中所显现的之间的x轴距离是视差d。
可以在第一绿色子像素602、第二绿色子像素604和对象之间绘制第一三角形MNO。而且,可以从点P(对象显现在基于第一绿色子像素602的子像素图像中的位置)到点Q(对象显现在基于第二绿色子像素604的子像素图像中的位置)到点O绘制第二三角形PQO。
形式上,三角形MNO和三角形PQO是相似的三角形,因为它们所有对应的角度都具有相同的数量。结果,它们也具有相同的宽高比。因此:
b(z-f)=z(b-d) (2)
bz-bf=bz-dz (3)
-bf=-dz (4)
以这种方式,可以直接估计从相机到对象的距离z。唯一剩下的未知量是视差d。但是可以基于根据第一绿色子像素602和第二绿色子像素604开发的子像素图像来估计该值。
图7描绘了使用单个图像捕获组件生成聚焦图像。输入图像700可以由单个图像捕获组件捕获,并且被示出描绘了场景,其中玩具狗702位于人的脚704和椅子706前面的木制平台上。如图7所示,输入图像700将2D图像中的所有元素示出为清晰的呈现而没有任何部分模糊。
在捕获输入图像700之后,可以确定深度图708。具体地,深度图708可以描绘输入图像700的场景内的元素的估计深度。为了开发深度图708,可以基于从输入图像700的像素获得的子像素信息来得出子像素图像对。如上所述,由于输入图像700的像素内绿色子像素位置的很小的差异,这些子像素图像可能以与立体相机的多个图像捕获组件所捕获的不同图像相似的方式从不同的视点表示场景。因此,深度图708可以使用三角测量来开发。
深度图708示出了输入图像700的部分的估计深度,其中与位于背景中较暗的部分(例如,脚704、椅子706)相比,较亮的部分(例如,玩具狗502)指示位置更靠近相机的元素。相机设备可以生成深度图708,该深度图708粗略估计输入图像700的元素的相对深度。如图所示,深度图708中的阴影显现为指示玩具狗702位于前景中(例如,较浅的阴影),而脚704和椅子706显现为位于背景中(例如,较深的阴影)。换句话说,深度图708指示与脚704和椅子706相比,玩具狗702在图像捕获期间的位置更靠近相机。
修改后的图像710表示原始捕获的输入图像700的修改版本。具体地,修改后的图像710聚焦于玩具狗702,并且以类似于散景效果的方式进一步模糊脚704和椅子706。在估计深度图708之后,可以基于原始捕获的输入图像700内的元素的估计深度来开发修改后的图像710。
在一些示例中,生成修改后的图像710可能涉及锐化图像的部分以增加图像对比度。具体地,锐化可以增强修改后的图像710中的边缘的清晰度。例如,玩具狗702的边缘可以被锐化。锐化可以一步或一系列迭代来执行。
在另外的示例中,生成修改后的图像710可能涉及模糊图像的一个或多个部分。模糊可以从输入图像700中去除图像颗粒和噪声。在一些情况下,模糊可能涉及向修改后的图像710的部分添加或去除噪声以创建模糊效果。可以使用高斯模糊,其涉及通过高斯函数来模糊图像的一部分。与散景效果不同,高斯模糊可以产生平滑的模糊,类似于通过半透明屏幕查看图像的某些部分。这样,可以执行高斯模糊以增强图像元素。在其他示例中,可以使用其他类型的模糊效果。例如,圆形框模糊(circular box blur)可用于模糊修改后的图像710的背景元素。
在一些示例中,生成聚焦在场景的该部分上并且模糊场景的一个或多个其他部分的图像的新版本可能涉及执行边缘感知平滑。具体地,边缘感知平滑可以使新版本中的聚焦部分能够相对于被模糊的场景的一个或多个其他部分具有平滑边缘。
在一些实施例中,修改后的图像710内的聚焦的部分和模糊的部分可以在捕获输入图像700时把最初接收的用户输入作为因素。例如,当准备捕获输入图像700时,相机设备可以使用取景器显示相机的潜在图像的视点。取景器可以是使用户能够选择在图像捕获期间相机应聚焦的场景的一部分的触摸屏。结果,当生成修改后的图像710时,相机设备可以在确定修改后的图像710内的哪个元素(例如,玩具狗502)要聚焦以及哪些元素要模糊时,把用户对场景的优先选择作为因素。
图8描绘了修改使用单个图像捕获组件捕获的图像的另一个示例。输入图像800是由诸如图1A所示的数字相机设备100的前置相机104的相机捕获的人802的图像。
在捕获输入图像800之后,相机或另一个计算***可以使用图像处理或计算机视觉软件对图像内容进行粗略的检查。响应于粗略的检查,相机可以确定人802存在于输入图像800内。
在一些示例中,对输入图像800的粗略检查可能涉及使用神经网络过程来检测输入图像800内的人802。例如,神经网络过程可能涉及对输入图像800的层进行扫描以检测指示输入图像800内人的存在的人802的面部或其他部分。在检测到人802之后,神经网络过程可能涉及将输入图像800划分为多个片段,以进一步分离输入图像800的包含人802和不包含人802的片段。在一些示例中,边缘检测可以用于找到输入图像800内的对象的边界,包括人802的边缘。边缘检测可以检测亮度的不连续性,并且可以用于图像分割和数据提取。
如输出图像804中所示,神经网络过程可以进一步将表示人802的输入图像800的部分着色为白色,并且将不表示人802的输入图像800的部分着色为黑色。使用该二值处理,相机可以区分输入图像800的主焦点(即,人802)和输入图像800的其他部分。结果,相机可以修改输入图像800以聚焦在人802上并且模糊人802背后的背景,如输出图像804中所规定的。在其他示例中,相机可以在人802的输入图像800上应用一种或多种其他图像处理技术。
在一些示例中,在使用图像处理对输入图像800进行初始分析时,相机可以确定人802相对于另一对象(例如,桌子)被定位。取决于图像内人802与另一对象之间的接近度,相机可以使用如上所述的深度估计技术来补充分析。例如,相机可以基于输入图像800生成子像素图像,并且使用该子像素图像来估计与在输入图像800中捕获的场景相对应的深度图。如上所述,相机设备可以生成反映来自所有像素中的第一绿色子像素的数据的第一子像素图像和反映来自图像中的所有像素中的第二绿色子像素的数据的第二子像素图像。像素内绿色子像素位置的细微差异可能使生成的子像素图像从略有不同的视点表达场景。
相机设备可以使用该子像素图像对来确定如分别由每个子像素图像表示的场景的一个或多个部分之间的视差。基于子像素图像之间的确定的视差和像素内两个绿色子像素之间存在的基线距离,相机设备可以估计场景的粗略深度图。深度图可以大致指示所捕获的图像内的对象的相对深度。
在一些实施方式中,相机设备可使用深度图来生成初始图像的新版本,其包括对特定对象或人(例如,人802)或图像的一部分的聚焦,同时还使场景的其他部分模糊。相机设备可以根据图像内捕获的场景的总体布局或者基于附加信息(例如,在图像捕获期间指定焦点的用户输入)来识别要聚焦的图像的一部分。这样,相机可以使用分割的图像804和估计的深度图的组合来生成输入图像800的新版本,其聚焦在人802上并且使场景的其他元素模糊。
在另一示例中,相机可以使用图像分割过程将图像划分成多个片段。每个片段可以包括图像的像素集合。相机可以识别共享相应特性的片段,并且还可以基于共享相应特性的片段来识别场景中的特征的边界。图像的新版本,其中对场景中的对象聚焦并使场景的一个或多个其他部分模糊。这可以通过基于使用图像分割过程识别的边界来确定场景的该部分中的对象的边界来生成。
在另一实施方式中,相机可以接收输入,该输入指定了场景的焦点方位,以供相机在捕获图像时聚焦。例如,相机可以经由触摸屏接收输入,该触摸屏显示从相机的视点的场景的视图。这样,相机可以确定子像素图像描绘包括焦点方位的场景的给定部分的方式之间的视差。该视差可用于生成场景的深度图。
在一些实施例中,可以通过识别每个子像素图像中的像素的邻域来确定如由子像素图像表示的场景的部分之间的视差。给定子像素图像的像素的邻域可以被移位,直到与另一子像素图像的像素的另一邻域基本上对准为止。结果,视差可以基于由移位表示的像素距离。视差可随后用于生成场景的深度图。
在一些示例中,可以基于子像素图像之间的像素的邻域之间的对准来确定置信度。置信度可以指示在给定移位之后来自每个子像素图像的像素的邻域中的像素对准的好的程度。这样,当所确定的置信度低于阈值置信度水平时,可以执行一个或多个后续移位以确定产生高于阈值置信度水平的置信度的来自子像素图像的像素的邻域之间的后续对准。当所确定的置信度高于阈值置信度水平时,可以确定在如两个子像素图像所表示的场景的一部分之间的视差。
4.示例操作
图9是图示示例实施例的流程图。图9所示的实施例可以由诸如数字相机设备100的计算设备来执行。然而,该实施例可以由其他类型的设备或设备子***来执行。此外,该实施例可以与本说明书或附图中公开的任何方面或特征组合。
图9的框900可能涉及捕获场景的图像。图像捕获组件可以包括一个或多个光圈、透镜和记录表面。
框902可能涉及基于场景的图像生成场景的第一子像素图像和场景的第二子像素图像。第一子像素图像可以由来自图像的第一子像素集合表示,第二子像素图像可以由来自图像的第二子像素集合表示。场景的图像中的每个像素可以包括分别在第一子像素图像和第二子像素图像中表示的两个绿色子像素。例如,图像的每个像素可以具有以两个子像素乘以两个子像素正方形布置的四个子像素,其中第一绿色子像素位于两个子像素乘以两个子像素正方形的顶行上,而第二绿色子像素位于两个子像素乘以两个子像素正方形的底行上。在这样的布置中,第一绿色子像素和第二绿色像素可以在图像的每个像素内具有对角线布置。
在一些实施例中,场景的第一子像素图像可以从第一角度表示场景,并且场景的第二子像素图像可以从第二角度表示场景。第一角度可以不同于第二角度。例如,从第一角度表示场景的场景的第一子像素图像和从第二角度表示场景的场景的第二子像素图像可以沿水平平面不同。在另一个示例中,从第一角度表示场景的场景的第一子像素图像和从第二角度表示场景的场景的第二子像素图像可以沿垂直平面不同。在一些情况下,第一子像素图像和第二子像素图像可以从沿着水平平面和垂直平面两者不同的角度表示场景。
框904可能涉及确定如由第一子像素图像表示的场景的一部分与如由第二子像素图像表示的场景的该部分之间的视差。
框906可能涉及基于视差和两个绿色像素之间的基线距离来估计场景的深度图。例如,深度图可以基于视差和两个绿色子像素之间的基线距离来指示场景的该部分相对于场景的一个或多个其他部分的深度。例如,可以相对于描绘场景的其他部分的图像的多个像素的深度来估计描绘场景的该部分的图像的像素集合的深度。
尽管未示出,但是图9的实施例可能进一步涉及基于场景的该部分相对于场景的一个或多个其他部分的估计深度来生成图像的新版本,在该图像的新版本中聚焦于场景的该部分并且使场景的一个或多个其他部分模糊。
此外,图9的实施例还可能涉及使用图像分割过程将图像划分成多个片段。每个片段可以包括图像的像素集合。该实施例可以涉及确定共享相应特性的片段,并基于共享相应特性的片段来识别图像中描绘的场景中的特征的边界。在一些情况下,生成聚焦于场景的该部分并且使场景的一个或多个其他部分模糊的图像的新版本可能涉及基于使用图像分割过程识别的边界来确定对象在场景的该部分中的对象的边界,并生成图像的新版本,该图像的新版本聚焦于对象并且使位于对象后方的背景模糊。
在另一实施方式中,图9的实施例可能进一步涉及接收指定了场景的焦点方位的输入,以供相机在捕获图像时聚焦。例如,接收输入可能涉及经由触摸屏接收输入,该触摸屏可配置为从相机的视点显示场景的视图。确定由第一子像素图像表示的场景的部分与由第二子像素图像表示的场景的该部分之间的视差可能涉及确定如由第一子像素图像和第二子像素图像表示的场景的包括焦点方位的给定部分之间的视差。
在另一实施方式中,图9的实施例可能进一步涉及使用基于卷积神经网络的掩模来确定该部分的深度。
该实施例可能进一步涉及:基于使用基于神经网络的掩模确定的该部分的深度,修改图像的新版本,该图像的新版本聚焦于场景的该部分上并使场景的一个或多个部分模糊。
在一些实施例中,确定由第一子像素图像表示的场景的该部分与由第二子像素图像表示的场景的该部分之间的视差涉及识别第一子像素图像中的像素的第一邻域并识别第二子像素图像中的像素的第二邻域。像素的第一邻域或像素的第二邻域可以被移位,直到像素的第一邻域和像素的第二邻域基本上对准为止。视差基于由移位表示的像素距离。
在一些情况下,移位像素的第一邻域或像素的第二邻域可能涉及仅在x轴上移位像素的第一邻域或像素的第二邻域。移位像素的第一邻域或像素的第二邻域移位直到像素的第一邻域和像素的第二邻域基本上对准为止可能涉及在像素的第一邻域或像素的第二邻域之间执行第一移位以确定像素的第一邻域和像素的第二邻域之间的第一对准。像素的第一邻域或像素的第二邻域之间的一个或多个附加移位可用于改善像素的第一邻域和像素的第二邻域之间的对准。
可以基于像素的第一邻域和像素的第二邻域之间的第一对准来确定置信度。例如,可以通过比较像素的第一邻域中的像素与像素的第二邻域中的像素的对准的好的程度来确定置信度。当所确定的置信度降到阈值置信度水平以下时,可以执行像素的第一邻域和像素的第二邻域之间的一个或多个后续移位,以确定产生高于阈值置信度水平的置信度的像素的第一邻域和像素的第二邻域之间的后续对准。当所确定的置信度高于阈值置信度水平时,可以确定如由第一子像素图像表示的场景的该部分与如由第二子像素图像表示的场景的该部分之间的视差。
如本文所述,基本对准可以是其中块之间的误差因子被最小化或被确定为低于阈值的对准。例如,可以为多个候选对准计算最小二乘误差,并且可以将具有最小的最小二乘误差的对准确定为基本对准。
在一些实施例中,确定如由第一子像素图像表示的场景的该部分与如由第二子像素图像表示的场景的该部分之间的视差可能涉及对第一子像素图像中的像素的第一邻域和第二子像素图像中的像素的第二邻域之间的多个候选对准执行最小二乘误差处理。可能基于执行最小二乘误差处理,可以确定像素的第一邻域和像素的第二邻域之间的对准,该对准使得像素的第一邻域和像素的第二邻域基本上对准。视差可以基于所确定的像素的第一邻域与像素的第二邻域之间的对准。
在一些实施例中,相对于场景的一个或多个其他部分来估计场景的该部分的深度可能涉及使用相机设备的空间传感器来估计场景的该部分的深度。
在其他实施例中,生成聚焦于场景的该部分并且使场景的一个或多个其他部分模糊的图像的新版本可能涉及对图像的新版本执行边缘感知平滑,使得在图像的新版本中,场景的该部分相对于被模糊的场景的一个或多个其他部分具有平滑的边缘。
在一些实施例中,场景的该部分可以包括具有角的特征。在这些情况下,确定如在第一子像素图像中表示的场景的部分与如在第二子像素图像中表示的场景的该部分之间的视差可能涉及检测第一子像素图像和第二子像素图像中的角,并且根据转换将第一子像素图像或第二子像素图像彼此扭曲,使得第一子像素图像和第二子像素图像中的角基本匹配。视差可以基于由该转换表示的像素距离。
图10是图示示例实施例的另一流程图。图10所示的实施例可以由诸如数字相机设备100的计算设备来执行。然而,该实施例可以由其他类型的设备或设备子***来执行。此外,该实施例可以与本说明书或附图中公开的任何方面或特征组合。
图10的框1000可能涉及捕获场景的图像。图像捕获组件可以包括一个或多个光圈、透镜和记录表面。例如,图像捕获组件可以使用纵向模式或导致捕获的图像内的所有元素看起来清晰的另一种模式来捕获图像。在一些示例中,当捕获图像时相机正在操作的模式可能会影响基于原始捕获的图像生成最终渲染图像的过程。
在一些实施方式中,捕获图像可能涉及执行一种或多种计算摄影技术以增强捕获的图像的质量。例如,一种增强技术可能涉及捕获曝光不足以避免过曝(blowing out)高光的一段时间的图像,,然后对准并平均这些帧以减少图像内的噪声。例如,对准并平均这些帧可以减少阴影(和图像的其他部分)中的噪声,并响应地以保留局部对比度同时降低全局对比度的方式增强阴影。上面的示例技术以及其他技术甚至可以在捕获具有昏暗照明的场景的图像中使捕获的图像具有高动态范围、低噪声和清晰的细节。
此外,在一些情况下,对准并平均帧以减少噪声可能需要进行额外的分析,以限制图像中出现双重图像(重影)。特别是,当相机设备在图像捕获过程中不稳定或当场景内的特征在图像捕获过程中移动时,重影可能会出现在图像内。这样,尽管对准并平均帧以减少图像内的噪声,但是附加的分析和改进可以减少并防止重影出现在捕获的图像中。
框1002可能涉及执行基于机器学习的前景-背景分割。特别是,前景-背景分割可用于确定图像的哪些像素属于前景(例如,作为聚焦的对象的人)以及哪些像素属于背景。
在一些示例中,神经网络用于对捕获的图像执行前景-背景分割。神经网络可以分析图像以便估计哪些像素表示前景中的主焦点而哪些像素不表示前景中的主焦点。该过程可以产生类似于图8所示的输入图像800和输出图像804的结果。在其他实例中,可以训练神经网络以检测与位于图像前景中的对象相对应的像素。
在一些实施方式中,神经网络可以是具有跳跃连接(skip connection)的卷积神经网络(CNN)。术语“卷积”可以表示网络的已学习组件是滤波器的形式(每个像素周围的相邻像素的加权和)。这样,CNN可以对图像进行滤波,然后进一步对已滤波的图像进行滤波。可以以迭代方式重复使用CNN的此滤波过程。
另外,与CNN相关联的跳跃连接可以允许信息易于从,CNN会考虑到低级特征(例如,颜色和边缘)的CNN过程的早期阶段流动到CNN会考虑高级特征(例如,面部和身体部位)的CNN的后期阶段(在此阶段。组合使用CNN的处理的阶段可以识别并聚焦于图像的期望对象(例如,聚焦于人),包括识别哪些像素对应于期望对象(例如,哪些像素对应于人)。
在另外的示例中,CNN可以使用CNN的事先训练(例如,分析数百、数千或数百万个图像)来增强CNN的性能。例如,CNN可以通过分析各种场景的大量图像来进行训练和改进。作为示例,用于在具有人的图像上执行前景-背景分割的CNN可以使用具有拥有各种位置、定向和配件(例如,帽子、太阳镜、冰淇淋蛋筒)的人的图像进行训练,以增强和改进CNN对人的新图像的后续性能。CNN的其他用途可能涉及训练CNN以检测图像中的其他对象。
在一些实施方式中,可以平滑CNN分析的输出以便更清楚地区分原始图像的前景和背景。例如,输出可以识别由作为图像主焦点的人所持有的对象,并将所持有的对象关联为前景的一部分。对图像进行CNN分析的结果可用于应用图像整个背景的一致模糊处理。尽管这可以增强图像,但是可以使用其他步骤以不同地来区分和模糊背景中不同深度的对象。
在另外的示例中,使用网络的前景-背景分割可能涉及检测图像的前景中没有直接连接到图像的期望的焦点对象的对象。例如,当原始捕获的图像描绘涉及主体(例如,人)吃一块馅饼的场景时,这块馅饼可以在图像内具有靠近相机的整***置。在这种情况下,CNN可能不会将该块馅饼识别为背景的一部分。结果,CNN或另一种技术可以显式地识别这块馅饼(即,或在捕获的图像内具有靠近相机的相似位置的其他对象),以便允许其像素的后续模糊以增强最终渲染的图像,因为这些像素是前景中的对象的一部分,但不直接是聚焦的主体(例如,人)的一部分。
框1004可能涉及使用图像估计深度图。特别是,为了增强使原始图像的部分模糊的最终渲染图像,可以确定并使用场景中每个点的深度。在一些示例中,计算深度可能涉及使用立体处理。如上所述,相机可以包括可以被划分为子像素的像素。例如,相机可以包括相位检测自动聚焦(PDAF)像素,也称为双像素自动聚焦(DPAF)。在一些示例中,当增强和产生最终图像时,深度信息可以用于补充通过神经网络的分析。
在一些实施方式中,估计图像的深度可能涉及确定和使用来自相机的透镜的不同部分的视点。例如,通过将相机的透镜拆分为两半(例如,左和右,上和下),如通过透镜的一半看到的场景的视图与通过透镜的另一侧的视图略有不同。在一些示例中,两个视点之间的细微差异可以很小,诸如相距1毫米(例如,大约是透镜的直径)或更小。尽管不同视点之间的差异很小,但差异足以执行立体处理以生成场景的估计深度图。
涉及从图像透镜的不同半部看场景的上述过程可以产生类似于将图像传感器上的每个像素拆分成两个较小的并排像素并分别从图像传感器读取它们的结果。这样,一些示例可能涉及使用一种或两种技术来产生深度图。例如,一个过程可以用于检查使用另一过程确定的深度估计。在另外的示例中,可以仅使用涉及将透镜拆分成两部分的过程来确定图像的深度信息,以便减少所需的时间和资源。
如上所述,当相机的透镜包括PDAF像素或可以被分解为子像素的类似像素时,在单个图像捕获中透镜的不同半部(例如,左和右)可以实现深度图的估计。可以将不同的视点用作立体处理的输入,以产生低分辨率的深度图。例如,该过程可以执行子像素精确的基于图块(tile-based)的对准,以产生可以使用双边算子内插到较高分辨率的深度图的较低分辨率的深度图,该双边算子可以执行简单的滤波以及边缘感知的平滑。在一些情况下,诸如当相机被保持在纵向时,PDAF像素(或类似像素)可以实现对应于透镜的上半部分和下半部分的分割视图。
此外,在一些情况下,当基于子像素划分透镜时,所得的深度图可能显现为单色,诸如仅使用图像传感器的绿色像素(即,不使用红色或蓝色像素)时。但是,其他示例可能涉及使用像素的所有颜色。
在一些示例中,由于图像中的低光或高噪声,使用以上技术中的一种或多种的估计深度信息可能包括一些不准确性。这样,为了减少不准确性,一些深度估计技术可以进一步涉及捕获一段时间的左侧和右侧图像,然后在继续使用立体处理来估计深度之前对准并平均图像。对准并平均一段时间的左侧和右侧(或上方和下方图像)可以减少噪声并增强所得的低分辨率深度图。
框1006可能涉及生成更新的图像。特别是,以上技术旨在产生与原始捕获的图像相比包括增强的最终图像。例如,最终图像可以利用模糊效果,以类似于以浅景深捕获的图像的方式,帮助将观看的注意力引向图像中的主焦点上。特别是,具有浅景深的图像可以帮助将观看者的注意力引向图像的焦点,并且还可以帮助抑制杂乱的背景,从而增强图像的整体呈现。
在一些示例中,在框1002处计算的分割掩模与在框1004处估计的深度图之间的组合可以用于确定在产生增强的、最终图像时模糊原始图像中的每个像素的程度。特别是,前景中呈现的场景的焦点特征(例如,图像中心的人)可以保留清晰的像素,而作为场景的背景的一部分的其他特征可以被模糊以增强最终图像。在一些情况下,图像的背景中的特征的像素可以基于每个背景特征距聚焦平面(例如,距相机)的距离被成比例地模糊。估计的深度图可用于估计背景特征和聚焦平面之间的距离。
在一些实施方式中,模糊背景特征的像素可能涉及用相同颜色但是大小不同的半透明圆盘替换像素。通过以类似于对圆盘取平均的方式按深度顺序合成所有这些圆盘,增强后的、最终图像的结果类似于从使用具有带大透镜的单透镜反光(SLR)相机得出的真实光学模糊。使用上述技术应用的合成散焦可以在最终图像中产生圆盘形的散景效果,而无需其他相机经常使用来达到该效果的大量设备。此外,与SLR相机不同,由于以合成方式应用了散景效果,因此可以使用上述技术将散景效果修改为在最终图像内具有其他形状。
在一些示例中,以上方法可能涉及对捕获的图像仅使用深度图或神经网络。例如,当相机处于纵向模式并捕获没有人作为主要焦点的图像时,神经网络可能无法在分析过程中检测到人在图像内的存在,从而无法产生有用的分割模板。尽管神经网络无法检测到人,但估计的深度信息仍可用于帮助计算浅景深图像,而无需进行神经网络分割。类似地,一些实施方式可能涉及仅使用神经网络技术而不估计场景的深度图。例如,设备可能配置有无法拆分像素以获取深度信息的前置相机。结果,可以仅使用神经网络分析来改进所得图像,以确定哪些背景像素要在最终渲染的图像中模糊。
5.结论
本公开不限于本申请中描述的特定实施例,其旨在作为各个方面的说明。如对于本领域技术人员将显而易见的,可以在不脱离其范围的情况下进行许多修改和变化。除了本文所列举的方法和装置之外,根据前述说明,本公开范围内的功能等效方法和装置对于本领域技术人员来说将是显而易见的。这样的修改和变化旨在落入所附权利要求的范围内。
上面的具体实施方式参照附图描述了所公开的***、设备和方法的各种特征和功能。本文和附图中描述的示例实施例并不意味着是限制性的。在不脱离本文提出的主题的范围的情况下,可以利用其他实施例,并且可以进行其他改变。容易理解的是,可以以各种不同的配置来布置、替换、组合、分离和设计如本文总体描述的以及在附图中示出的本公开的各方面,所有这些都在本文被明确地考虑。
关于附图中以及如本文所讨论的任何或所有消息流程图、场景和流程图,每个步骤、框和/或通信可以表示根据示例实施例的信息的处理和/或信息的传输。替代实施例被包括在这些示例实施例的范围内。在这些替代实施例中,例如,取决于所涉及的功能,被描述为步骤、框、传输、通信、请求、响应和/或消息的功能可以不按所示或所讨论的顺序执行,包括可以基本上并发执行或按相反顺序执行。此外,可以将更多或更少的框和/或功能与本文讨论的任何梯形图、场景和流程图一起使用,并且这些梯形图、场景和流程图可以部分或全部地彼此组合。
表示信息处理的步骤或框可以对应于可以被配置为执行本文描述的方法或技术的特定逻辑功能的电路。可替代地或附加地,表示信息处理的步骤或框可以对应于程序代码(包括相关数据)的模块、片段或部分。该程序代码可以包括一个或多个可由处理器执行的指令,用于在该方法或技术中实现特定的逻辑功能或动作。程序代码和/或相关数据可以存储在任何类型的计算机可读介质上,诸如包括磁盘、硬盘驱动器或其他存储介质的存储设备。
计算机可读介质还可以包括非暂时性计算机可读介质,诸如短期存储数据的计算机可读介质,像寄存器存储器、处理器高速缓存和随机存取存储器(RAM)。计算机可读介质还可以包括长期存储程序代码和/或数据的非暂时性计算机可读介质。因此,计算机可读介质可以包括辅助或持久长期存储,例如,像只读存储器(ROM)、光盘或磁盘、光盘只读存储器(CD-ROM)。计算机可读介质也可以是任何其他易失性或非易失性存储***。例如,计算机可读介质可以被视为计算机可读存储介质或有形存储设备。
此外,表示一个或多个信息传输的步骤或框可以对应于同一物理设备中的软件和/或硬件模块之间的信息传输。然而,其他信息传输可以在不同物理设备中的软件模块和/或硬件模块之间。
附图中所示的特定布置不应视为限制性的。应当理解,其他实施例可以包括或多或少的给定图中所示的每个元素。此外,一些示出的元素可以被组合或省略。更进一步,示例实施例可以包括图中未示出的元素。
另外,本说明书或权利要求书中的元素、框或步骤的任何列举都是为了清楚的目的。因此,这种列举不应被解释为要求或暗示这些元素、框或步骤遵守特定的布置或以特定的顺序执行。
尽管本文已经公开了各个方面和实施例,但是其他方面和实施例对于本领域技术人员将是显而易见的。本文所公开的各个方面和实施例是出于说明的目的,而不是旨在进行限制,其真实范围由所附权利要求指示。
Claims (22)
1.一种方法,包括:
由相机设备捕获场景的图像;
基于所述场景的所述图像,由所述相机设备生成所述场景的第一子像素图像和所述场景的第二子像素图像,其中,所述第一子像素图像由来自所述图像的第一子像素集合表示,并且所述第二子像素图像由来自所述图像的第二子像素集合表示,其中,所述场景的所述图像的给定像素包括分别在所述第一子像素图像和所述第二子像素图像中表示的两个绿色子像素;
由所述相机设备确定由所述第一子像素图像表示的所述场景的部分与由所述第二子像素图像表示的所述场景的所述部分之间的视差;以及
基于所述视差和所述两个绿色子像素之间的基线距离,由所述相机设备估计所述场景的深度图,其中,所述深度图指示所述场景的所述部分相对于所述场景的一个或多个其他部分的深度。
2.根据权利要求1所述的方法,进一步包括:
基于所述场景的所述部分相对于场景的所述一个或多个其他部分的所述深度,由所述相机设备生成所述图像的新版本,所述图像的所述新版本聚焦于所述场景的所述部分上并且使所述场景的所述一个或多个其他部分模糊。
3.根据权利要求1或权利要求2所述的方法,其中,确定由所述第一子像素图像表示的所述场景的所述部分与由所述第二子像素图像表示的所述场景的所述部分之间的视差包括:
识别所述第一子像素图像中的像素的第一邻域;
识别所述第二子像素图像中的像素的第二邻域;以及
移位所述像素的第一邻域或所述像素的第二邻域直到所述像素的第一邻域和所述像素的第二邻域基本上对准,其中,所述视差是基于由所述移位表示的像素距离。
4.根据权利要求3所述的方法,其中,移位所述像素的第一邻域或所述像素的第二邻域直到所述像素的第一邻域和所述像素的第二邻域基本上对准包括:
在所述像素的第一邻域或所述像素的第二邻域之间执行第一移位,以确定所述像素的第一邻域和所述像素的第二邻域之间的第一对准;
基于所述像素的第一邻域和所述像素的第二邻域之间的第一对准来确定置信度;以及
基于所述置信度低于阈值置信度水平,在所述像素的第一邻域或所述像素的第二邻域之间执行一个或多个后续移位,以确定所述像素的第一邻域和所述像素的第二邻域之间的导致所述置信度高于所述阈值置信度水平的后续对准。
5.根据前述权利要求中的任一项所述的方法,其中,确定由所述第一子像素图像表示的所述场景的所述部分与由所述第二子像素图像表示的所述场景的所述部分之间的视差包括:
计算所述第一子像素图像中的像素的第一邻域与所述第二子像素图像中的像素的第二邻域之间的多个候选对准的最小二乘误差值;以及
基于所述最小二乘误差值,确定所述像素的第一邻域和所述像素的第二邻域之间的对准,使得所述像素的第一邻域和所述像素的第二邻域基本上对准,其中,所述视差是基于所确定的所述像素的第一邻域和所述像素的第二邻域之间的对准。
6.根据前述权利要求中的任一项所述的方法,进一步包括:
使用图像分割过程将所述图像划分为多个片段,其中,所述多个片段中的每个片段包括像素集合;
确定所述多个片段中的共享相应特性的片段;
基于共享相应特性的片段来识别所述图像中描绘的所述场景中的特征的边界;
基于所识别的边界来确定所述场景的所述部分中的对象的一个或多个边界;以及
基于所述场景的所述深度图和所述对象的所述一个或多个边界,生成所述图像的新版本,所述图像的所述新版本聚焦于所述对象上并且使位于所述对象后面的背景模糊。
7.根据前述权利要求中的任一项所述的方法,进一步包括:
在所述相机设备处从输入接口接收指定所述场景的焦点方位的输入,以供所述相机设备在捕获所述图像时聚焦,其中,所述输入接口是能够配置为从所述相机的视点显示所述场景的视图的触摸屏;
其中,确定由所述第一子像素图像表示的所述场景的所述部分与由所述第二子像素图像表示的所述场景的所述部分之间的视差包括:
确定包括由所述第一子像素图像和所述第二子像素图像表示的所述焦点方位的所述场景的给定部分之间的视差;并且
其中,估计所述场景的所述深度图包括:
估计包括所述焦点方位的所述场景的所述给定部分的深度。
8.根据前述权利要求中的任一项所述的方法,其中,估计所述场景的所述深度图包括:
使用所述相机设备的空间传感器来估计所述场景的所述部分相对于所述场景的所述一个或多个其他部分的深度。
9.根据前述权利要求中的任一项所述的方法,其中,所述场景的所述第一子像素图像从第一角度表示所述场景,并且其中,所述场景的所述第二子像素图像从第二角度表示所述场景。
10.根据权利要求9所述的方法,其中,从所述第一角度表示所述场景的所述场景的所述第一子像素图像和从所述第二角度表示所述场景的所述场景的所述第二子像素图像沿水平平面不同。
11.根据权利要求9或权利要求10所述的方法,其中,从所述第一角度表示所述场景的所述场景的所述第一子像素图像和从所述第二角度表示所述场景的所述场景的所述第二子像素图像沿着垂直平面不同。
12.根据前述权利要求中的任一项所述的方法,其中,所述图像的所述给定像素包括布置在两个子像素乘以两个子像素正方形中的四个子像素,并且其中,第一绿色子像素位于所述两个子像素乘以两个子像素正方形的顶行上,并且第二绿色子像素位于所述两个子像素乘以两个子像素正方形的底行上。
13.根据权利要求12所述的方法,其中,所述第一绿色子像素和所述第二绿色子像素在所述图像的所述给定像素的所述两个子像素乘以两个子像素正方形内以对角线布置。
14.根据前述权利要求中的任一项所述的方法,其中,估计所述场景的所述深度图包括:
相对于描述所述场景的所述一个或多个其他部分的所述图像的多个像素的深度,估计描述所述场景的所述部分的所述图像的像素集合的深度。
15.根据前述权利要求中的任一项所述的方法,进一步包括:
使用基于神经网络的掩模来确定所述场景的所述部分的深度;以及
基于使用所述基于神经网络的掩模所确定的所述部分的深度和所述场景的所述深度图,生成所述图像的新版本,所述图像的所述新版本聚焦于所述场景的所述部分上并使所述场景的所述一个或多个其他部分模糊。
16.一种包括非暂时性计算机可读介质的其上存储有程序指令的制品,所述程序指令在由相机设备执行时使所述相机设备执行操作,所述操作包括:
捕获场景的图像;
基于所述场景的所述图像,生成所述场景的第一子像素图像和所述场景的第二子像素图像,其中,所述第一子像素图像由来自所述图像的第一子像素集合表示,并且所述第二子像素图像由来自所述图像的第二子像素集合表示,其中,所述场景的所述图像的给定像素包括分别在所述第一子像素图像和所述第二子像素图像中表示的两个绿色子像素;
确定由所述第一子像素图像表示的所述场景的部分与由所述第二子像素图像表示的所述场景的所述部分之间的视差;
基于所述视差和所述两个绿色子像素之间的基线距离,估计所述场景的深度图,其中所述深度图指示所述场景的所述部分相对于所述场景的一个或多个其他部分的深度;
基于所估计的所述场景的所述部分相对于所述场景的一个或多个其他部分的深度,生成所述图像的新版本,所述图像的所述新版本聚焦于所述场景的所述部分上并使所述场景的所述一个或多个其他部分模糊。
17.根据权利要求16所述的制品,其中,所述操作进一步包括:
基于所估计的所述场景的所述部分相对于所述场景的所述一个或多个其他部分的深度,生成所述图像的新版本,所述图像的所述新版本聚焦于所述场景的所述部分上并且使所述场景的所述一个或多个其他部分模糊。
18.根据权利要求16所述的制品,其中,所述图像的所述给定像素包括布置在两个子像素乘以两个子像素正方形中的四个子像素,并且其中,第一绿色子像素位于所述两个子像素乘以两个子像素正方形的顶行上,并且第二绿色子像素位于所述两个子像素乘以两个子像素正方形的底行上。
19.根据权利要求16所述的制品,其中,所述场景的所述第一子像素图像从第一角度表示所述场景,并且其中,所述场景的所述第二子像素图像从第二角度表示所述场景。
20.一种相机设备,包括:
图像传感器;
处理器;
存储器;和
存储在所述存储器中的程序指令,所述程序指令在由所述处理器执行时使所述相机设备执行操作,所述操作包括:
使用所述图像传感器来捕获场景的图像;
基于所述场景的所述图像,生成所述场景的第一子像素图像和所述场景的第二子像素图像,其中,所述第一子像素图像由来自所述图像的第一子像素集合表示,并且所述第二子像素图像由来自所述图像的第二子像素集合表示,其中,所述场景的所述图像的给定像素包括分别在所述第一子像素图像和所述第二子像素图像中表示的两个绿色子像素;
确定由所述第一子像素图像表示的所述场景的部分与由所述第二子像素图像表示的所述场景的所述部分之间的视差;
基于所述视差和所述两个绿色子像素之间的基线距离,估计所述场景的深度图,其中,所述深度图指示所述场景的所述部分相对于所述场景的一个或多个其他部分的深度。
21.一种装置,所述装置被配置成执行根据权利要求1至15中的任一项所述的方法。
22.一种包括指令的计算机程序,所述指令在由计算装置执行时使所述计算装置执行根据权利要求1至15中的任一项所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762567888P | 2017-10-04 | 2017-10-04 | |
US62/567,888 | 2017-10-04 | ||
US201762572896P | 2017-10-16 | 2017-10-16 | |
US62/572,896 | 2017-10-16 | ||
PCT/US2017/064678 WO2019070299A1 (en) | 2017-10-04 | 2017-12-05 | DEPTH ESTIMATION USING A SINGLE CAMERA |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111164647A true CN111164647A (zh) | 2020-05-15 |
CN111164647B CN111164647B (zh) | 2024-05-03 |
Family
ID=60937861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780095594.0A Active CN111164647B (zh) | 2017-10-04 | 2017-12-05 | 使用单个相机估算深度 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11210799B2 (zh) |
EP (1) | EP3692500A1 (zh) |
JP (1) | JP7145943B2 (zh) |
CN (1) | CN111164647B (zh) |
WO (1) | WO2019070299A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111814659A (zh) * | 2020-07-07 | 2020-10-23 | 杭州海康威视数字技术股份有限公司 | 一种活体检测方法、和*** |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3958557A1 (en) | 2015-04-23 | 2022-02-23 | Apple Inc. | Digital viewfinder user interface for multiple cameras |
US9716825B1 (en) | 2016-06-12 | 2017-07-25 | Apple Inc. | User interface for camera effects |
DK180859B1 (en) | 2017-06-04 | 2022-05-23 | Apple Inc | USER INTERFACE CAMERA EFFECTS |
WO2019100511A1 (en) * | 2017-11-22 | 2019-05-31 | Zhejiang Dahua Technology Co., Ltd. | An image processing method and system |
US11112964B2 (en) | 2018-02-09 | 2021-09-07 | Apple Inc. | Media capture lock affordance for graphical user interface |
CN110278366B (zh) * | 2018-03-14 | 2020-12-01 | 虹软科技股份有限公司 | 一种全景图像虚化方法、终端及计算机可读存储介质 |
DK201870364A1 (en) | 2018-05-07 | 2019-12-03 | Apple Inc. | MULTI-PARTICIPANT LIVE COMMUNICATION USER INTERFACE |
US11722764B2 (en) | 2018-05-07 | 2023-08-08 | Apple Inc. | Creative camera |
CN108965704B (zh) * | 2018-07-19 | 2020-01-31 | 维沃移动通信有限公司 | 一种图像传感器、移动终端及图像拍摄方法 |
JP6971934B2 (ja) * | 2018-08-10 | 2021-11-24 | 株式会社東芝 | 画像処理装置 |
US11195257B2 (en) * | 2018-08-24 | 2021-12-07 | Canon Kabushiki Kaisha | Image processing method, image processing apparatus, imaging apparatus, lens apparatus, storage medium, and image processing system |
WO2020041893A1 (en) * | 2018-09-01 | 2020-03-05 | Digital Animal Interactive Inc. | Image processing methods and systems |
US11770601B2 (en) | 2019-05-06 | 2023-09-26 | Apple Inc. | User interfaces for capturing and managing visual media |
US11128792B2 (en) * | 2018-09-28 | 2021-09-21 | Apple Inc. | Capturing and displaying images with multiple focal planes |
US11321857B2 (en) | 2018-09-28 | 2022-05-03 | Apple Inc. | Displaying and editing images with depth information |
US11405535B2 (en) | 2019-02-28 | 2022-08-02 | Qualcomm Incorporated | Quad color filter array camera sensor configurations |
US11094072B2 (en) * | 2019-04-09 | 2021-08-17 | Samsung Electronics Co., Ltd | System and method for providing single image depth estimation based on deep neural network |
US11706521B2 (en) | 2019-05-06 | 2023-07-18 | Apple Inc. | User interfaces for capturing and managing visual media |
US10984513B1 (en) | 2019-09-30 | 2021-04-20 | Google Llc | Automatic generation of all-in-focus images with a mobile camera |
CN110766732A (zh) * | 2019-10-22 | 2020-02-07 | 杭州凌像科技有限公司 | 一种鲁棒的单相机深度图估计方法 |
US11727543B2 (en) * | 2019-11-18 | 2023-08-15 | Shinyfields Limited | Systems and methods for content-aware enhancement of images |
US11330246B2 (en) * | 2019-11-21 | 2022-05-10 | Microsoft Technology Licensing, Llc | Imaging system configured to use time-of-flight imaging and stereo imaging |
US11556784B2 (en) | 2019-11-22 | 2023-01-17 | Samsung Electronics Co., Ltd. | Multi-task fusion neural network architecture |
CN114945943A (zh) * | 2020-01-13 | 2022-08-26 | 谷歌有限责任公司 | 基于虹膜大小估计深度 |
US11663728B2 (en) | 2020-01-16 | 2023-05-30 | Samsung Electronics Co., Ltd. | Depth estimation method and apparatus |
KR20210095461A (ko) * | 2020-01-23 | 2021-08-02 | 삼성전자주식회사 | 복수의 공유 픽셀들을 포함하는 이미지 장치 및 이의 동작 방법 |
CN115066881B (zh) * | 2020-02-06 | 2023-11-14 | Oppo广东移动通信有限公司 | 对于图像序列生成稳定化图像合成效果的方法、***及计算机可读介质 |
CN111385481A (zh) * | 2020-03-30 | 2020-07-07 | 北京达佳互联信息技术有限公司 | 图像处理方法及装置、电子设备及存储介质 |
US11079913B1 (en) | 2020-05-11 | 2021-08-03 | Apple Inc. | User interface for status indicators |
US11054973B1 (en) | 2020-06-01 | 2021-07-06 | Apple Inc. | User interfaces for managing media |
CN112164017B (zh) * | 2020-09-27 | 2023-11-17 | 中国兵器工业集团第二一四研究所苏州研发中心 | 一种基于深度学习的偏振彩色化方法 |
US11223780B1 (en) * | 2020-10-23 | 2022-01-11 | Black Sesame Technologies Inc. | Two-stage method to merge burst image frames |
US11496728B2 (en) | 2020-12-15 | 2022-11-08 | Waymo Llc | Aperture health monitoring mode |
US11671697B2 (en) | 2021-01-31 | 2023-06-06 | Apple Inc. | User interfaces for wide angle video conference |
CN115244570A (zh) * | 2021-02-24 | 2022-10-25 | 谷歌有限责任公司 | 合并分离像素数据以获得更深景深 |
US11893668B2 (en) | 2021-03-31 | 2024-02-06 | Leica Camera Ag | Imaging system and method for generating a final digital image via applying a profile to image information |
US11778339B2 (en) | 2021-04-30 | 2023-10-03 | Apple Inc. | User interfaces for altering visual media |
US11539876B2 (en) | 2021-04-30 | 2022-12-27 | Apple Inc. | User interfaces for altering visual media |
US11907605B2 (en) | 2021-05-15 | 2024-02-20 | Apple Inc. | Shared-content session user interfaces |
US11893214B2 (en) | 2021-05-15 | 2024-02-06 | Apple Inc. | Real-time communication user interface |
US11822761B2 (en) | 2021-05-15 | 2023-11-21 | Apple Inc. | Shared-content session user interfaces |
US11303800B1 (en) * | 2021-07-13 | 2022-04-12 | Shenzhen GOODIX Technology Co., Ltd. | Real-time disparity upsampling for phase detection autofocus in digital imaging systems |
KR20240011793A (ko) * | 2021-08-23 | 2024-01-26 | 삼성전자주식회사 | 장면의 자동 초점을 위한 방법 및 전자 디바이스 |
US11770600B2 (en) | 2021-09-24 | 2023-09-26 | Apple Inc. | Wide angle video conference |
US20230188691A1 (en) * | 2021-12-14 | 2023-06-15 | Robert John Hergert | Active dual pixel stereo system for depth extraction |
WO2023154431A1 (en) * | 2022-02-11 | 2023-08-17 | Canon U.S.A., Inc. | Apparatus and method for generating depth maps from raw dual pixel sensor data |
FR3135811A1 (fr) * | 2022-05-17 | 2023-11-24 | Safran | Dispositif et procédé d'aide à la navigation basé sur l'imagerie monoculaire |
DE102022125838A1 (de) | 2022-10-06 | 2024-04-11 | Arnold & Richter Cine Technik Gmbh & Co. Betriebs Kg | Bildsensor |
CN115294187B (zh) * | 2022-10-08 | 2023-01-31 | 合肥的卢深视科技有限公司 | 深度相机的图像处理方法、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110080487A1 (en) * | 2008-05-20 | 2011-04-07 | Pelican Imaging Corporation | Capturing and processing of images using monolithic camera array with heterogeneous imagers |
US20120050589A1 (en) * | 2010-08-25 | 2012-03-01 | Kabushiki Kaisha Toshiba | Solid-state imaging device |
US20130215108A1 (en) * | 2012-02-21 | 2013-08-22 | Pelican Imaging Corporation | Systems and Methods for the Manipulation of Captured Light Field Image Data |
US20140267243A1 (en) * | 2013-03-13 | 2014-09-18 | Pelican Imaging Corporation | Systems and Methods for Synthesizing Images from Image Data Captured by an Array Camera Using Restricted Depth of Field Depth Maps in which Depth Estimation Precision Varies |
WO2016167814A1 (en) * | 2015-04-17 | 2016-10-20 | Pelican Imaging Corporation | Systems and methods for performing high speed video capture and depth estimation using array cameras |
US20170264811A1 (en) * | 2016-03-11 | 2017-09-14 | Intel Corporation | Phase detection autofocus using opposing filter masks |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPQ289099A0 (en) * | 1999-09-16 | 1999-10-07 | Silverbrook Research Pty Ltd | Method and apparatus for manipulating a bayer image |
US7911513B2 (en) * | 2007-04-20 | 2011-03-22 | General Instrument Corporation | Simulating short depth of field to maximize privacy in videotelephony |
US20130287093A1 (en) * | 2012-04-25 | 2013-10-31 | Nokia Corporation | Method and apparatus for video coding |
WO2013179963A1 (ja) | 2012-05-28 | 2013-12-05 | 富士フイルム株式会社 | 画像処理装置、撮像装置及び画像処理方法、並びにプログラム |
EP2728545B1 (en) * | 2012-08-07 | 2018-07-11 | Spreadtrum Communications (Shanghai) Co., Ltd. | Image processing method and device based on bayer format |
US20150086127A1 (en) | 2013-09-20 | 2015-03-26 | Samsung Electronics Co., Ltd | Method and image capturing device for generating artificially defocused blurred image |
US9736366B1 (en) * | 2015-05-23 | 2017-08-15 | Google Inc. | Tile-based digital image correspondence |
JP2017022624A (ja) | 2015-07-13 | 2017-01-26 | キヤノン株式会社 | 撮像素子及びその駆動方法、及び撮像装置 |
-
2017
- 2017-12-05 US US16/652,568 patent/US11210799B2/en active Active
- 2017-12-05 JP JP2020519252A patent/JP7145943B2/ja active Active
- 2017-12-05 EP EP17826003.0A patent/EP3692500A1/en active Pending
- 2017-12-05 WO PCT/US2017/064678 patent/WO2019070299A1/en unknown
- 2017-12-05 CN CN201780095594.0A patent/CN111164647B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110080487A1 (en) * | 2008-05-20 | 2011-04-07 | Pelican Imaging Corporation | Capturing and processing of images using monolithic camera array with heterogeneous imagers |
US20120050589A1 (en) * | 2010-08-25 | 2012-03-01 | Kabushiki Kaisha Toshiba | Solid-state imaging device |
US20130215108A1 (en) * | 2012-02-21 | 2013-08-22 | Pelican Imaging Corporation | Systems and Methods for the Manipulation of Captured Light Field Image Data |
US20140267243A1 (en) * | 2013-03-13 | 2014-09-18 | Pelican Imaging Corporation | Systems and Methods for Synthesizing Images from Image Data Captured by an Array Camera Using Restricted Depth of Field Depth Maps in which Depth Estimation Precision Varies |
WO2016167814A1 (en) * | 2015-04-17 | 2016-10-20 | Pelican Imaging Corporation | Systems and methods for performing high speed video capture and depth estimation using array cameras |
US20170264811A1 (en) * | 2016-03-11 | 2017-09-14 | Intel Corporation | Phase detection autofocus using opposing filter masks |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111814659A (zh) * | 2020-07-07 | 2020-10-23 | 杭州海康威视数字技术股份有限公司 | 一种活体检测方法、和*** |
CN111814659B (zh) * | 2020-07-07 | 2024-03-29 | 杭州海康威视数字技术股份有限公司 | 一种活体检测方法、和*** |
Also Published As
Publication number | Publication date |
---|---|
WO2019070299A1 (en) | 2019-04-11 |
JP2020536327A (ja) | 2020-12-10 |
US20200242788A1 (en) | 2020-07-30 |
US11210799B2 (en) | 2021-12-28 |
CN111164647B (zh) | 2024-05-03 |
JP7145943B2 (ja) | 2022-10-03 |
EP3692500A1 (en) | 2020-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111164647B (zh) | 使用单个相机估算深度 | |
CN105814875B (zh) | 选择用于立体成像的相机对 | |
JP7186672B2 (ja) | マルチスコピック雑音削減およびハイ・ダイナミック・レンジのためのシステムおよび方法 | |
US9918065B2 (en) | Depth-assisted focus in multi-camera systems | |
CN112492170B (zh) | 一种用于选择图像数据的方法、装置及计算机可读介质 | |
JP6724045B2 (ja) | 畳み込み色補正 | |
CN108028895B (zh) | 有缺陷的图像传感器元件的校准 | |
US10708486B2 (en) | Generation of a depth-artificial image by determining an interpolated supplementary depth through interpolation based on the original depths and a detected edge | |
WO2018093785A1 (en) | Fast fourier color constancy | |
US20230033956A1 (en) | Estimating depth based on iris size | |
CN115244570A (zh) | 合并分离像素数据以获得更深景深 | |
JP2017182668A (ja) | データ処理装置、撮像装置、及びデータ処理方法 | |
WO2024076363A1 (en) | Field of view correction techniques for shutterless camera systems |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |