对焦方法和装置、电子设备、计算机可读存储介质与流程

文档序号:25230906发布日期:2021-05-28 14:38阅读:82来源:国知局
对焦方法和装置、电子设备、计算机可读存储介质与流程

本申请涉及影像领域,特别是涉及一种对焦方法和装置、电子设备、计算机可读存储介质。



背景技术:

随着电子设备技术的发展,越来越多的用户通过电子设备拍摄图像。对焦位置的选取会极大的影响所拍出的图像清晰度,尤其在人像拍摄的场景中,需要聚焦人脸进行拍摄以保证所拍摄图像中人脸的清晰度。传统的对焦方法一般是通过检测拍摄图像中的人脸数量、特征和点位等信息,以面积最大的人脸为聚焦人脸,实现人脸自动对焦,但该方法进行对焦的准确度不高。



技术实现要素:

本申请实施例提供一种对焦方法、装置、电子设备、计算机可读存储介质,可以提高对焦的准确性。

一种对焦方法,应用于电子设备,所述电子设备包括镜头,所述镜头包括图像传感器,所述图像传感器包括阵列排布的多个像素点组,每个所述像素点组包括阵列排布的m*n个像素点;每个像素点对应一个感光单元,其中,m和n均为大于或等于2的自然数;所述方法包括:

检测拍摄图像中的人脸区域,根据所述人脸区域确定相位差的计算方向;所述相位差的计算方向为第一方向和第二方向;所述第一方向与所述第二方向成预设夹角;

根据每个所述像素点组包括的像素点的亮度值获取目标亮度图;

根据所述相位差的计算方向对所述目标亮度图进行切分处理得到第一切分亮度图和第二切分亮度图,并根据所述人脸区域在所述第一切分亮度图和所述第二切分亮度图中相互匹配的像素的位置差异,确定所述相互匹配的像素的相位差;

根据所述相位差控制所述镜头移动以对焦。

一种对焦装置,应用于电子设备,所述电子设备包括镜头,所述镜头包括图像传感器,所述图像传感器包括阵列排布的多个像素点组,每个所述像素点组包括阵列排布的m*n个像素点;每个像素点对应一个感光单元,其中,m和n均为大于或等于2的自然数;所述装置包括:

检测模块,用于检测拍摄图像中的人脸区域,根据所述人脸区域确定相位差的计算方向;所述相位差的计算方向为第一方向和第二方向;所述第一方向与所述第二方向成预设夹角;

获取模块,用于根据每个所述像素点组包括的像素点的亮度值获取目标亮度图;

切分模块,用于根据所述相位差的计算方向对所述目标亮度图进行切分处理得到第一切分亮度图和第二切分亮度图,并根据所述人脸区域在所述第一切分亮度图和所述第二切分亮度图中相互匹配的像素的位置差异,确定所述相互匹配的像素的相位差;

对焦模块,用于根据所述相位差控制所述镜头移动以对焦。

一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,实现所述的方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法的步骤。

上述对焦方法和装置、电子设备、计算机可读存储介质,通过检测拍摄图像中的人脸区域,根据人脸区域确定相位差的计算方向,相位差的计算方向为第一方向和第二方向,第一方向与第二方向成预设夹角,根据每个像素点组包括的像素点的亮度值获取目标亮度图,根据相位差的计算方向对目标亮度图进行切分处理得到第一切分亮度图和第二切分亮度图,并根据人脸区域在第一切分亮度图和第二切分亮度图中相互匹配的像素的位置差异,确定相互匹配的像素的相位差,根据相位差控制镜头移动以对焦。根据人脸区域确定相位差的计算方向,以利用相位差值进行对焦,提高了对焦的准确性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为相位检测自动对焦的原理示意图;

图2为在图像传感器包括的像素点中成对地设置相位检测像素点的示意图;

图3为一个实施例中图像传感器的部分结构示意图;

图4为一个实施例中像素点的结构示意图;

图5为一个实施例中成像设备的结构示意图;

图6为一个实施例中像素点组上设置滤光片的示意图;

图7a为一个实施例中对焦方法的流程图;

图7b为一个实施例中水平纹理类型的示意图;

图7c为一个实施例中竖直纹理类型的示意图;

图8为一个实施例中像素点组的示意图;

图9为一个实施例中根据像素点组中每个像素点的相同位置处的子像素点的亮度值,获取像素点组对应的子亮度图的步骤的流程示意图;

图10为一个实施例中子亮度图的示意图;

图11为一个实施例中根据相位差的计算方向对目标亮度图进行切分处理,得到第一切分亮度图和第二切分亮度图的步骤的流程图;

图12为一个实施例中根据目标亮度图生成第一切分亮度图和第二切分亮度图的示意图;

图13为另一个实施例中根据目标亮度图生成第一切分亮度图和第二切分亮度图的示意图;

图14为一个实施例中根据第一切分亮度图和第二切分亮度图中相互匹配的像素的位置差异,确定相互匹配的像素的相位差的流程图;

图15为另一个实施例中根据第一切分亮度图和第二切分亮度图中相互匹配的像素的位置差异,确定相互匹配的像素的相位差的流程图;

图16为另一个实施例中对焦方法的流程图;

图17为一个实施例中对焦装置的结构框图;

图18为本申请实施例提供的一种计算机设备的框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

图1为相位检测自动对焦(phasedetectionautofocus,pdaf)的原理示意图。如图1所示,m1为成像设备处于合焦状态时,图像传感器所处的位置,其中,合焦状态指的是成功对焦的状态。当图像传感器位于m1位置时,由物体w反射向镜头lens的不同方向上的成像光线g在图像传感器上会聚,也即是,由物体w反射向镜头lens的不同方向上的成像光线g在图像传感器上的同一位置处成像,此时,图像传感器成像清晰。

m2和m3为成像设备不处于合焦状态时,图像传感器所可能处于的位置,如图1所示,当图像传感器位于m2位置或m3位置时,由物体w反射向镜头lens的不同方向上的成像光线g会在不同的位置成像。请参考图1,当图像传感器位于m2位置时,由物体w反射向镜头lens的不同方向上的成像光线g在位置a和位置b分别成像,当图像传感器位于m3位置时,由物体w反射向镜头lens的不同方向上的成像光线g在位置c和位置d分别成像,此时,图像传感器成像不清晰。

在pdaf技术中,可以获取从不同方向射入镜头的成像光线在图像传感器中所成的像在位置上的差异,例如,如图1所示,可以获取位置a和位置b的差异,或者,获取位置c和位置d的差异;在获取到从不同方向射入镜头的成像光线在图像传感器中所成的像在位置上的差异之后,可以根据该差异以及摄像机中镜头与图像传感器之间的几何关系,得到离焦距离,所谓离焦距离指的是图像传感器当前所处的位置与合焦状态时图像传感器所应该处于的位置的距离;成像设备可以根据得到的离焦距离进行对焦。

由此可知,合焦时,计算得到的pd值为0,反之算出的值越大,表示离合焦点的位置越远,值越小,表示离合焦点越近。采用pdaf对焦时,通过计算出pd值,再根据标定得到pd值与离焦距离之间的对应关系,可以求得离焦距离,然后根据离焦距离控制镜头移动达到合焦点,以实现对焦。

相关技术中,可以在图像传感器包括的像素点中成对地设置一些相位检测像素点,如图2所示,图像传感器中可以设置有相位检测像素点对(以下称为像素点对)a,像素点对b和像素点对c。其中,在每个像素点对中,一个相位检测像素点进行左侧遮挡(英文:leftshield),另一个相位检测像素点进行右侧遮挡(英文:rightshield)。

对于进行了左侧遮挡的相位检测像素点而言,射向该相位检测像素点的成像光束中仅有右侧的光束才能在该相位检测像素点的感光部分(也即是未被遮挡的部分)上成像,对于进行了右侧遮挡的相位检测像素点而言,射向该相位检测像素点的成像光束中仅有左侧的光束才能在该相位检测像素点的感光部分(也即是未被遮挡的部分)上成像。这样,就可以将成像光束分为左右两个部分,通过对比左右两部分成像光束所成的像,即可得到相位差。

然而,由于图像传感器中设置的相位检测像素点通常是左侧和右侧分别遮挡,因此,对于存在水平纹理的场景,通过相位检测像素点无法计算得到pd值。例如拍摄场景为一条水平线,根据pd特性会得到左右两张图像,但无法计算出pd值。

为了解决相位检测自动对焦针对一些水平纹理的场景无法计算得出pd值实现对焦的情况,本申请实施例中提供了一种成像组件,可以用来检测输出第一方向的相位差值和第二方向的相位差值,针对水平纹理场景,可采用第二方向的相位差值来实现对焦。

在一个实施例中,本申请提供了一种成像组件。成像组件包括图像传感器。图像传感器可以为金属氧化物半导体元件(英文:complementarymetaloxidesemiconductor;简称:cmos)图像传感器、电荷耦合元件(英文:charge-coupleddevice;简称:ccd)、量子薄膜传感器或者有机传感器等。

图3为一个实施例中图像传感器的一部分的结构示意图。图像传感器300包括阵列排布的多个像素点组z,每个像素点组z包括阵列排布的多个像素点d,每个像素点d对应一个感光单元。多个像素点包括m*n个像素点,其中,m和n均为大于或等于2的自然数。每个像素点d包括阵列排布的多个子像素点d。也就是每个感光单元可以由多个阵列排布的感光元件组成。其中,感光元件是一种能够将光信号转化为电信号的元件。在一个实施例中,感光元件可为光电二极管。本实施例中,每个像素点组z包括2*2阵列排布的4个像素点d,每个像素点可包括2*2阵列排布的4个子像素点d。其中,每个像素点d包括2*2个光电二极管,2*2个光电二极管与2*2阵列排布的4个子像素点d对应设置。每个光电二极管用于接收光信号并进行光电转换,从而将光信号转换为电信号输出。每个像素点d所包括的4个子像素点d与同一颜色的滤光片对应设置,因此每个像素点d对应于一个颜色通道,比如红色r通道,或者绿色通道g,或者蓝色通道b。

如图4所示,以每个像素点d包括子像素点1、子像素点2、子像素点3和子像素点4为例,可将子像素点1和子像素点2信号合并输出,子像素点3和子像素点4信号合并输出,从而构造成沿着第二方向(即竖直方向)的两个pd像素对,根据两个pd像素对的相位值可以确定像素点d内各子像素点沿第二方向的pd值(相位差值)。将子像素点1和子像素点3信号合并输出,子像素点2和子像素点4信号合并输出,从而构造沿着第一方向(即水平方向)的两个pd像素对,根据两个pd像素对的相位值可以确定像素点d内各子像素点沿第一方向的pd值(相位差值)。

图5为一个实施例中成像设备的结构示意图。如图5所示,该成像设备包括透镜50、滤光片52和成像组件54。透镜50、滤光片52和成像组件54依次位于入射光路上,即透镜50设置在滤光片52之上,滤光片52设置在成像组件54上。

成像组件54包括图3中的图像传感器。图像传感器包括阵列排布的多个像素点组z,每个像素点组z包括阵列排布的多个像素点d,每个像素点d对应一个感光单元,每个感光单元可以由多个阵列排布的感光元件组成。本实施例中,每个像素点d包括2*2阵列排布的4个子像素点d,每个子像素点d对应一个光点二极管542,即2*2个光电二极管542与2*2阵列排布的4个子像素点d对应设置。

滤光片52可包括红、绿、蓝三种,分别只能透过红色、绿色、蓝色对应波长的光线。一个像素点d所包括的4个子像素点d与同一颜色的滤光片对应设置。在其他实施例中,滤光片也可以是白色,方便较大光谱(波长)范围的光线通过,增加透过白色滤光片的光通量。

透镜50用于接收入射光,并将入射光传输给滤光片52。滤光片52对入射光进行滤波处理后,将滤波处理后的光以像素为基础入射到成像组件54上。

成像组件54包括的图像传感器中的感光单元通过光电效应将从滤光片52入射的光转换成电荷信号,并生成与电荷信号一致的像素信号,经过一系列处理后最终输出图像。

由上文说明可知,图像传感器包括的像素点与图像包括的像素是两个不同的概念,其中,图像包括的像素指的是图像的最小组成单元,其一般由一个数字序列进行表示,通常情况下,可以将该数字序列称为像素的像素值。本申请实施例对“图像传感器包括的像素点”以及“图像包括的像素”两个概念均有所涉及,为了方便读者理解,在此进行简要的解释。

图6为一个实施例中像素点组上设置滤光片的示意图。像素点组z包括按照两行两列的阵列排布方式进行排布的4个像素点d,其中,第一行第一列的像素点的颜色通道为绿色,也即是,第一行第一列的像素点上设置的滤光片为绿色滤光片;第一行第二列的像素点的颜色通道为红色,也即是,第一行第二列的像素点上设置的滤光片为红色滤光片;第二行第一列的像素点的颜色通道为蓝色,也即是,第二行第一列的像素点上设置的滤光片为蓝色滤光片;第二行第二列的像素点的颜色通道为绿色,也即是,第二行第二列的像素点上设置的滤光片为绿色滤光片。

图7a为一个实施例中对焦方法的流程图。本实施例中的对焦方法,以运行于图5中的成像设备上为例进行描述。如图7a所示,该对焦方法包括:

步骤702,检测拍摄图像中的人脸区域,根据人脸区域确定相位差的计算方向;相位差的计算方向为第一方向和第二方向;第一方向与第二方向成预设夹角。

具体地,电子设备获取拍摄图像,并通过人脸识别算法识别拍摄图像中的人脸信息,包括拍摄图像中人脸的数量,每张人脸区域等。接着,电子设备可通过人工智能模型或边缘算子对拍摄图像中的人脸区域进行纹理类型检测,得到人脸区域的纹理类型,所述人工智能模型为采用包含纹理类型的样本图像训练得到的。纹理类型可包括水平纹理类型、竖直纹理类型。

通过电子设备的成像设备拍摄图像时,所拍摄的图像包含纹理信息,不同的拍摄对象,纹理信息可能不同。例如拍摄某一长方体盒子,水平方向上是一条直线,如图7b所示,则无法计算水平方向上的相位差值,需要计算竖直方向上的相位差值,来方便后续实现对焦。若拍摄的是一个篮球,水平方向上并非直线,如图7c所示,则可以计算水平方向上的相位差值,不需要计算竖直方向上的相位差值,也可以方便后续实现对焦,则该场景不需要计算竖直方向的相位差值,节省计算所消耗的时间。通过确定人脸区域的纹理类型即可确定相位差的计算方向。

该相位差的计算方向包括第一方向和第二方向。第一方向和第二方向可成预设夹角,该预设夹角可为除0度、180度和360度外的任意角度。本实施例中,第一方向是指水平方向,第二方向是指竖直方向。

步骤704,根据每个像素点组包括的像素点的亮度值获取目标亮度图。

通常情况下,图像传感器的像素点的亮度值可以由该像素点包括的子像素点的亮度值来进行表征。成像设备可以根据每个像素点组包括的像素点中子像素点的亮度值来获取该目标亮度图。其中,子像素点的亮度值是指该子像素点对应的感光元件接收到的光信号的亮度值。

如上文所述,图像传感器包括的子像素点是一种能够将光信号转化为电信号的感光元件,因此,可以根据子像素点输出的电信号来获取该子像素点接收到的光信号的强度,根据子像素点接收到的光信号的强度即可得到该子像素点的亮度值。

本申请实施例中的目标亮度图用于反映图像传感器中子像素点的亮度值,该目标亮度图可以包括多个像素,其中,目标亮度图中的每个像素的像素值均是根据图像传感器中子像素点的亮度值得到的。

步骤706,根据相位差的计算方向对目标亮度图进行切分处理得到第一切分亮度图和第二切分亮度图,并根据人脸区域在第一切分亮度图和第二切分亮度图中相互匹配的像素的位置差异,确定相互匹配的像素的相位差。

具体地,成像设备可确定相位差的计算方向的垂直方向,将目标亮度图按照相位差的计算方向的垂直方向进行切分,得到第一切分亮度图和第二切分亮度图。

在一个实施例中,成像设备可以沿着相位差的计算方向对该目标亮度图进行切分处理。当相位差的计算方向为竖直方向时,成像设备可以沿列的方向(图像坐标系中的y轴方向)对该目标亮度图进行切分处理,在沿列的方向对目标亮度图进行切分处理的过程中,切分处理的每一分割线都与列的方向垂直。

在另一个实施例中,当相位差的计算方向为水平方向时,成像设备可以沿行的方向(图像坐标系中的x轴方向)对该目标亮度图进行切分处理,在沿行的方向对目标亮度图进行切分处理的过程中,切分处理的每一分割线都与行的方向垂直。

沿列的方向对目标亮度图进行切分处理后得到的第一切分亮度图和第二切分亮度图可以分别称为上图和下图。沿行的方向对目标亮度图进行切分处理后得到的第一切分亮度图和第二切分亮度图可以分别称为左图和右图。

接着,成像设备可确定人脸区域在第一切分亮度图和第二切分亮度图中相互匹配的像素。其中,“相互匹配的像素”指的是由像素本身及其周围像素组成的像素矩阵相互相似。例如,

第一切分亮度图中像素a和其周围的像素组成一个3行3列的像素矩阵,该像素矩阵的像素值为:

21570

13560

01001

第二切分亮度图中像素b和其周围的像素也组成一个3行3列的像素矩阵,该像素矩阵的像素值为:

11570

13660

01002

由上文可以看出,这两个矩阵是相似的,则可以认为像素a和像素b相互匹配。判断像素矩阵是否相似的方式很多,通常可对两个像素矩阵中的每个对应像素的像素值求差,再将求得的差值的绝对值进行相加,利用该相加的结果来判断像素矩阵是否相似,也即是,若该相加的结果小于预设的某一阈值,则认为像素矩阵相似,否则,则认为像素矩阵不相似。

例如,对于上述两个3行3列的像素矩阵而言,可以分别将1和2求差,将15和15求差,将70和70求差,……,再将求得的差的绝对值相加,得到相加结果为3,该相加结果3小于预设的阈值,则认为上述两个3行3列的像素矩阵相似。

另一种判断像素矩阵是否相似的方式是利用sobel卷积核计算方式或者高拉普拉斯计算方式等方式提取其边缘特征,通过边缘特征来判断像素矩阵是否相似。

在本申请实施例中,“相互匹配的像素的位置差异”指的是,相互匹配的像素中位于第一切分亮度图中的像素的位置和位于第二切分亮度图中的像素的位置的差异。如上述举例,相互匹配的像素a和像素b的位置差异指的是像素a在第一切分亮度图中的位置和像素b在第二切分亮度图中的位置的差异。

相互匹配的像素分别对应于从不同方向射入镜头的成像光线在图像传感器中所成的不同的像。例如,第一切分亮度图中的像素a与第二切分亮度图中的像素b相互匹配,其中,该像素a可以对应于图1中在a位置处所成的像,像素b可以对应于图1中在b位置处所成的像。

由于相互匹配的像素分别对应于从不同方向射入镜头的成像光线在图像传感器中所成的不同的像,因此,根据相互匹配的像素的位置差异,即可确定该相互匹配的像素的相位差。

接着,根据所述相互匹配的像素的相位差值确定人脸区域在所确定的相位差计算方向上的相位差值。

当第一切分亮度图包括的是偶数行的像素,第二切分亮度图包括的是奇数行的像素,第一切分亮度图中的像素a与第二切分亮度图中的像素b相互匹配,则根据相互匹配的像素a和像素b的相位差,可以确定第一方向的相位差值。

当第一切分亮度图包括的是偶数列的像素,第二切分亮度图包括的是奇数列的像素,第一切分亮度图中的像素a与第二切分亮度图中的像素b相互匹配,则根据相互匹配的像素a和像素b的相位差,可以确定第二方向的相位差值。即人脸区域在所确定的相位差计算方向为第一方向的相位差值或第二方向的相位差值。

步骤708,根据相位差控制镜头移动以对焦。

具体地,成像设备可根据人脸区域对应的相位差,获取离焦距离值,并控制镜头移动该离焦距离值以实现对焦。

相位差值与离焦距离值之间的对应关系可通过标定得到。

离焦距离值与相位差值之间的对应关系如下:

defocus=pd*slope(dcc),其中,dcc(defocusconversioncoefficient,离焦系数)由标定得到,defocus为离焦距离值,slope为斜率函数;pd为相位差值。

相位差值与离焦距离值的对应关系的标定过程包括:将摄像模组的有效对焦行程切分为10等分,即(近焦dac-远焦dac)/10,以此覆盖马达的对焦范围;在每个对焦dac(dac可为0至1023)位置进行对焦,并记录当前对焦dac位置的相位差;完成马达对焦行程后取一组10个的对焦dac与获得的pd值进行做比;生成10个相近的比值k,将dac与pd组成的二维数据进行拟合得到斜率为k的直线。

通常,获取相位差值可以采用频率域算法和空间域算法。其中,频率域算法是利用傅立叶位移的特性计算,将采集的目标亮度图利用傅立叶转换从空间域转换到频率域,然后再计算phasecorrelation,当correlation算出最大值时(peak),表示其有最大位移,此时再做反傅立叶就可知在空间域最大位移是多少。空间域算法是指找出特征点,例如边缘特征,dog(differenceofgaussian),harris角点等特征,再利用这些特征点计算位移。

上述对焦方法中,通过检测拍摄图像中的人脸区域,根据人脸区域确定相位差的计算方向;相位差的计算方向为第一方向和第二方向;第一方向与第二方向成预设夹角,根据每个像素点组包括的像素点的亮度值获取目标亮度图,根据相位差的计算方向对目标亮度图进行切分处理得到第一切分亮度图和第二切分亮度图,并根据人脸区域在第一切分亮度图和第二切分亮度图中相互匹配的像素的位置差异,确定相互匹配的像素的相位差,根据相位差控制镜头移动以对焦,实现了相位检测自动对焦。可以根据人脸区域确定相位差的计算方向,并输出人脸区域在该计算方向上的相位差值,从而针对存在水平纹理或竖直纹理的场景都可以有效的利用相位差值进行对焦,提高了对焦的准确度和稳定度。

在一个实施例中,在根据相位差的计算方向对目标亮度图进行切分处理得到第一切分亮度图和第二切分亮度图之后,还包括:确定每个人脸区域在第一切分亮度图和第二切分亮度图中相互匹配的像素;根据相互匹配的像素确定每个人脸区域的深度值;基于每个人脸区域的深度值确定对焦人脸区域。

具体地,成像设备确定每个人脸区域在第一切分亮度图和第二切分亮度图中相互匹配的像素。

该根据相互匹配的像素确定每个人脸区域的深度值,包括:根据相互匹配的像素的视差确定相互匹配的像素的深度值;根据相互匹配的像素的深度值确定每个人脸区域的深度值。

具体地,根据相位差的计算方向划分后得到的第一切分亮度图和第二切分亮度图可相当于两个摄像头拍摄得到的两张图像,则第一切分亮度图和第二切分亮度图之间存在视差。则成像设备可通过视差确定相互匹配的像素对应的深度信息。

即根据每个人脸区域在第一切分亮度图和第二切分亮度图中相互匹配的像素求解出本质矩阵,可得到第一切分亮度图和第二切分亮度图的成像面的旋转和位移矢量。随后根据旋转和位移进行对极线校正,其中,该极线为第一切分亮度图和第二切分亮度图之间的视差。基于极线对第一切分亮度图或第二切分亮度图进行校正。

确定校正后的第一切分亮度图和未校正的第二切分亮度图中的相互匹配的像素,通过相似三角形原理可换算出相互匹配的像素对应的深度值。或者,确定未校正后的第一切分亮度图和经过校正后的第二切分亮度图中的相互匹配的像素,通过相似三角形原理可换算出相互匹配的像素对应的深度值。

针对每个人脸区域,经人脸区域的相互匹配的像素对应的深度值求均值,该均值作为该人脸区域对应的深度值。从而得到每个人脸区域对应的深度值,将深度值最小的人脸区域作为对焦人脸区域。

该根据人脸区域在第一切分亮度图和第二切分亮度图中相互匹配的像素的位置差异,确定相互匹配的像素的相位差,包括:根据对焦人脸区域在第一切分亮度图和第二切分亮度图中相互匹配的像素的位置差异,确定相互匹配的像素的相位差。

具体地,成像设备确定对焦人脸区域在第一切分亮度图和第二切分亮度图中相互匹配的像素,根据相互匹配的像素的位置差异,确定相互匹配的像素的相位差。相互匹配的像素的相位差的计算过程与上述步骤706中相互匹配的像素的相位差的计算过程相同。

在一个实施例中,在该根据该相位差的计算方向对该目标亮度图进行切分处理得到第一切分亮度图和第二切分亮度图之后,还包括:确定每个人脸区域在该第一切分亮度图和该第二切分亮度图中相互匹配的像素;根据该相互匹配的像素的位置差异确定该每个人脸区域的深度值;基于该每个人脸区域的深度值确定对焦人脸区域。

具体地,成像设备确定每个人脸区域在第一切分亮度图和第二切分亮度图中相互匹配的像素。

该根据相互匹配的像素确定每个人脸区域的深度值,包括:根据相互匹配的像素的相位差确定相互匹配的像素所对应的深度值;根据相互匹配的像素所对应的深度值确定每个人脸区域的深度值。

具体地,成像设备根据相互匹配的像素的相位差确定相互匹配的像素所对应的深度值,再将每张人脸区域对应的相互匹配的像素的深度值求均值,可得到每张人脸区域对应的深度值。将深度值最小的人脸区域确定为对焦人脸区域。接着,可获取对焦人脸区域中相互匹配的像素的相位差。

成像设备可以根据相互匹配的像素的相位差确定该相互匹配的像素对应的离焦距离值,根据摄像头成像原理及该离焦距离值可以转换得到该相互匹配的像素所对应的深度信息。

通常,相互匹配的像素的相位差越小,则说明该相互匹配的像素与摄像头的合焦位置的距离越小,也就是说该相互匹配的像素所对应的离焦值越小。相位差与离焦值之间的对应关系可以通过标定得到。离焦值与相位差之间的对应关系为:defocus=pd*slope(dcc),其中,dcc(defocusconversioncoefficient,离焦系数)由标定得到,pd为相位差。

基于几何光学的牛顿公式,有:

其中,depth为像素所对应的深度信息,f为摄像头所采用的镜头的焦距,shift为该像素为图像的对焦点时,像距与焦距的差值。像距为拍摄图像时透镜与图像传感器之间的距离。拍摄图像时,透镜与图像传感器之间的距离即像距是确定的,且像距与焦距的差值shiftcur是已知的,则像素为图像的对焦点时的shift=shiftcur+defocus;由此,可以将相互匹配的像素所对应的离焦距离值代入下列公式:

即可以得到相互匹配的像素所对应的深度值。

每个人脸区域中包含多个像素,一个人脸区域中的每一个像素的像素值为一对相互匹配的像素所对应的深度值。

在一个实施例中,根据人脸区域确定相位差的计算方向,包括:通过边缘算子检测人脸区域中的总边缘点数量、第一方向边缘点数量和第二方向边缘点数量;根据第一方向边缘点占总边缘点数量的比值,以及第二方向边缘点数量占总边缘点数量的比值,确定人脸区域的纹理类型,纹理类型为水平纹理或竖直纹理;根据人脸区域的纹理类型确定相位差的计算方向。

具体地,边缘算子可根据实际情况配置。边缘算子有离散梯度算子、roberts算子、laplacian算子、gradient算子和sobel算子等。sobel的水平方向的边缘算子为竖直方向的边缘算子可为

可统计得出拍摄图像的人脸区域中的总边缘点数量,第一方向边缘点数量和第二方向边缘点数量,当第一方向边缘点占总边缘点数量的比值超过阈值时,则表明该人脸区域为水平纹理类型,当第二方向边缘点数量占所述总边缘点数量的比值超过阈值时,则表明该人脸区域为竖直纹理类型。当人脸区域为水平纹理时,计算竖直方向的相位差值;当纹理类型为竖直纹理时,计算水平方向的相位差值。

通过边缘算子进行人脸区域的纹理检测,可以快速的检测出人脸区域的纹理类型,从而根据人脸区域的纹理类型可直接确定相位差的计算方向。

在一个实施例中,根据人脸区域的纹理类型确定相位差的计算方向,包括:当纹理类型为水平纹理时,计算第二方向的相位差值,第二方向为竖直方向;当纹理类型为竖直纹理时,计算第一方向的相位差值,第一方向为水平方向。

在一个实施例中,每个像素点包括阵列排布的多个子像素点,根据每个像素点组包括的像素点的亮度值获取目标亮度图,包括:对于每个像素点组,根据像素点组中每个像素点的相同位置处的子像素点的亮度值,获取像素点组对应的子亮度图;根据每个像素点组对应的子亮度图生成目标亮度图。

其中,每个像素点的相同位置处的子像素点指的是在各像素点中排布位置相同的子像素点。

图8为一个实施例中的像素点组的示意图,如图8所示,该像素点组包括按照两行两列的阵列排布方式进行排布的4个像素点,该4个像素点分别为d1像素点、d2像素点、d3像素点和d4像素点,其中,每个像素点包括按照两行两列的阵列排布方式进行排布的4个子像素点,其中,子像素点分别为d11、d12、d13、d14、d21、d22、d23、d24、d31、d32、d33、d34、d41、d42、d43和d44。

如图8所示,子像素点d11、d21、d31和d41在各像素点中的排布位置相同,均为第一行第一列,子像素点d12、d22、d32和d42在各像素点中的排布位置相同,均为第一行第二列,子像素点d13、d23、d33和d43在各像素点中的排布位置相同,均为第二行第一列,子像素点d14、d24、d34和d44在各像素点中的排布位置相同,均为第二行第二列。

在一个实施例中,如图9所示,根据所述像素点组中每个像素点的相同位置处的子像素点的亮度值,获取所述像素点组对应的子亮度图,包括可以包括:

步骤902,从每个像素点中确定相同位置处的子像素点,得到多个子像素点集合,其中,每个子像素点集合包括的子像素点在像素点中的位置均相同。

其中,每个子像素点集合包括的子像素点在像素点中的位置均相同。

成像设备分别从d1像素点、d2像素点、d3像素点和d4像素点中确定相同位置处的子像素点,可以得到4个子像素点集合j1、j2、j3和j4,其中,子像素点集合j1包括子像素点d11、d21、d31和d41,其包括的子像素点在像素点中的位置均相同,为第一行第一列,子像素点集合j2包括子像素点d12、d22、d32和d42,其包括的子像素点在像素点中的位置均相同,为第一行第二列,子像素点集合j3包括子像素点d13、d23、d33和d43,其包括的子像素点在像素点中的位置均相同,为第二行第一列,子像素点集合j4包括子像素点d14、d24、d34和d44,其包括的子像素点在像素点中的位置均相同,为第二行第二列。

步骤904,对于每个子像素点集合,根据子像素点集合中每个子像素点的亮度值,获取子像素点集合对应的亮度值。

可选的,在步骤a2中,成像设备可以确定子像素点集合中每个子像素点对应的颜色系数,其中,该颜色系数是根据子像素点对应的颜色通道确定的。

例如,子像素点d11属于d1像素点,该d1像素点包括的滤光片可以为绿色滤光片,也即是,该d1像素点的颜色通道为绿色,则其包括的子像素点d11的颜色通道也为绿色,成像设备可以根据子像素点d11的颜色通道(绿色)确定该子像素点d11对应的颜色系数。

在确定了子像素点集合中每个子像素点对应的颜色系数之后,成像设备可以将子像素点集合中每个子像素点对应的颜色系数与亮度值相乘,得到子像素点集合中每个子像素点的加权亮度值。

例如,成像设备可以将子像素点d11的亮度值与子像素点d11对应的颜色系数相乘,得到该子像素点d11的加权亮度值。

在得到子像素点集合中每个子像素点的加权亮度值之后,成像设备可以将子像素点集合中每个子像素点的加权亮度值相加,得到该子像素点集合对应的亮度值。

例如,对于子像素点集合j1,可以基于下述第一公式计算该子像素点集合j1对应的亮度值。

y_tl=y_21*c_r+(y_11+y_41)*c_g/2+y_31*c_b。

其中,y_tl为该子像素点集合j1对应的亮度值,y_21为子像素点d21的亮度值,y_11为子像素点d11的亮度值,y_41为子像素点d41的亮度值,y_31为子像素点d31的亮度值,c_r为子像素点d21对应的颜色系数,c_g/2为子像素点d11和d41对应的颜色系数,c_b为子像素点d31对应的颜色系数,其中,y_21*c_r为子像素点d21的加权亮度值,y_11*c_g/2为子像素点d11的加权亮度值,y_41*c_g/2为子像素点d41的加权亮度值,y_31*c_b为子像素点d31的加权亮度值。

对于子像素点集合j2,可以基于下述第二公式计算该子像素点集合j2对应的亮度值。

y_tr=y_22*c_r+(y_12+y_42)*c_g/2+y_32*c_b。

其中,y_tr为该子像素点集合j2对应的亮度值,y_22为子像素点d22的亮度值,y_12为子像素点d12的亮度值,y_42为子像素点d42的亮度值,y_32为子像素点d32的亮度值,c_r为子像素点d22对应的颜色系数,c_g/2为子像素点d12和d42对应的颜色系数,c_b为子像素点d32对应的颜色系数,其中,y_22*c_r为子像素点d22的加权亮度值,y_12*c_g/2为子像素点d12的加权亮度值,y_42*c_g/2为子像素点d42的加权亮度值,y_32*c_b为子像素点d32的加权亮度值。

对于子像素点集合j3,可以基于下述第三公式计算该子像素点集合j3对应的亮度值。

y_bl=y_23*c_r+(y_13+y_43)*c_g/2+y_33*c_b。

其中,y_bl为该子像素点集合j3对应的亮度值,y_23为子像素点d23的亮度值,y_13为子像素点d13的亮度值,y_43为子像素点d43的亮度值,y_33为子像素点d33的亮度值,c_r为子像素点d23对应的颜色系数,c_g/2为子像素点d13和d43对应的颜色系数,c_b为子像素点d33对应的颜色系数,其中,y_23*c_r为子像素点d23的加权亮度值,y_13*c_g/2为子像素点d13的加权亮度值,y_43*c_g/2为子像素点d43的加权亮度值,y_33*c_b为子像素点d33的加权亮度值。

对于子像素点集合j4,可以基于下述第四公式计算该子像素点集合j4对应的亮度值。

y_br=y_24*c_r+(y_14+y_44)*c_g/2+y_34*c_b。

其中,y_br为该子像素点集合j4对应的亮度值,y_24为子像素点d24的亮度值,y_14为子像素点d14的亮度值,y_44为子像素点d44的亮度值,y_34为子像素点d34的亮度值,c_r为子像素点d24对应的颜色系数,c_g/2为子像素点d14和d44对应的颜色系数,c_b为子像素点d34对应的颜色系数,其中,y_24*c_r为子像素点d24的加权亮度值,y_14*c_g/2为子像素点d14的加权亮度值,y_44*c_g/2为子像素点d44的加权亮度值,y_34*c_b为子像素点d34的加权亮度值。

步骤906,根据每个子像素集合对应的亮度值生成子亮度图。

其中,子亮度图包括多个像素,该子亮度图中每个像素与一个子像素集合相对应,每个像素的像素值等于对应的子像素集合所对应的亮度值。

图10为一个实施例中子亮度图的示意图。如图10所示,该子亮度图包括4个像素,其中,第一行第一列的像素与子像素集合j1相对应,其像素值为y_tl,第一行第二列的像素与子像素集合j2相对应,其像素值为y_tr,第二行第一列的像素与子像素集合j3相对应,其像素值为y_bl,第二行第二列的像素与子像素集合j4相对应,其像素值为y_br。

在一个实施例中,如图11所示,根据相位差的计算方向对目标亮度图进行切分处理得到第一切分亮度图和第二切分亮度图,包括:

步骤1102,按照相位差的计算方向的垂直方向对目标亮度图进行切分处理,得到多个亮度图区域。

其中,每个亮度图区域包括目标亮度图中的一行像素,或者,每个亮度图区域包括目标亮度图中的一列像素。

具体地,成像设备可以确定相位差的计算方向的垂直方向,按照该计算方向的垂直方向对目标亮度图进行切分。

当相位差的计算方向为竖直方向时,成像设备沿竖直方向对该目标亮度图进行切分。也即按照行分割线对该目标亮度图进行逐行切分,得到目标亮度图的多个像素行(也即是上文所述的亮度图区域)。

当相位差的计算方向为水平方向时,成像设备沿水平方向对该目标亮度图进行切分。也即按照列分割线对该目标亮度图进行逐列切分,得到目标亮度图的多个像素列(也即是上文所述的亮度图区域)。

步骤1104,从多个亮度图区域中获取多个第一亮度图区域和多个第二亮度图区域。

其中,第一亮度图区域包括目标亮度图中偶数行的像素,或者,第一亮度图区域包括目标亮度图中偶数列的像素。

第二亮度图区域包括目标亮度图中奇数行的像素,或者,第二亮度图区域包括目标亮度图中奇数列的像素。

换句话说,在对目标亮度图进行逐列切分的情况下,成像设备可以将偶数列确定为第一亮度图区域,将奇数列确定为第二亮度图区域。

在对目标亮度图进行逐行切分的情况下,成像设备可以将偶数行确定为第一亮度图区域,将奇数行确定为第二亮度图区域。

步骤1106,利用多个第一亮度图区域组成第一切分亮度图,利用多个第二亮度图区域组成第二切分亮度图。

参考图12,设目标亮度图包括6行6列像素,则在对目标亮度图进行逐列切分的情况下,成像设备可以将目标亮度图的第1列像素、第3列像素和第5列像素确定为第二亮度图区域,可以将目标亮度图的第2列像素、第4列像素和第6列像素确定为第一亮度图区域,而后,成像设备可以将第一亮度图区域进行拼接,得到第一切分亮度图t1,该第一切分亮度图t1包括目标亮度图的第2列像素、第4列像素和第6列像素,成像设备可以将第二亮度图区域进行拼接,得到第二切分亮度图t2,该第二切分亮度图t2包括目标亮度图的第1列像素、第3列像素和第5列像素。

参考图13,设目标亮度图包括6行6列像素,则在对目标亮度图进行逐行切分的情况下,成像设备可以将目标亮度图的第1行像素、第3行像素和第5行像素确定为第二亮度图区域,可以将目标亮度图的第2行像素、第4行像素和第6行像素确定为第一亮度图区域,而后,成像设备可以将第一亮度图区域进行拼接,得到第一切分亮度图t3,该第一切分亮度图t3包括目标亮度图的第2行像素、第4行像素和第6行像素,成像设备可以将第二亮度图区域进行拼接,得到第二切分亮度图t4,该第二切分亮度图t4包括目标亮度图的第1行像素、第3行像素和第5行像素。

在一个实施例中,如图14所示,根据第一切分亮度图和第二切分亮度图中相互匹配的像素的位置差异,确定相互匹配的像素的相位差,包括:

步骤1402,当亮度图区域包括目标亮度图中的一行像素时,在第一切分亮度图包括的每行像素中确定第一邻近像素集合。

其中,第一邻近像素集合包括的像素与图像传感器中的同一像素点组对应。

请参考上述图10所示的子亮度图,当亮度图区域包括目标亮度图中的一行像素时,也即是,在成像设备沿列的方向对目标亮度图进行逐行切分的情况下,在切分之后,由于该子亮度图中第一行的两个像素位于目标亮度图的同一行像素中,因此,该子亮度图中第一行的两个像素会位于同一亮度图区域中,并会位于同一切分亮度图中,同理地,该子亮度图中第二行的两个像素也会位于同一亮度区域中,并会位于另一切分亮度图中,假设该子亮度图中的第一行位于目标亮度图的偶数像素行中,则该子亮度图中第一行的两个像素位于第一切分亮度图中,该子亮度图中第二行的两个像素位于第二切分亮度图中。

成像设备可以将该子亮度图中第一行的两个像素确定为第一邻近像素集合,这是因为该子亮度图中第一行的两个像素与图像传感器中的同一像素点组(图7a所示的像素点组)对应。

步骤1404,对于每个第一邻近像素集合,在第二切分亮度图中搜索与第一邻近像素集合对应的第一匹配像素集合。

对于每个第一邻近像素集合,成像设备可以在第一切分亮度图中获取该第一邻近像素集合周围的多个像素,并由该第一邻近像素集合以及该第一邻近像素集合周围的多个像素组成搜索像素矩阵,例如,该搜索像素矩阵可以包括3行3列共9个像素,接着,成像设备可以在第二切分亮度图中搜索与该搜索像素矩阵相似的像素矩阵。至于如何判断像素矩阵是否相似,上文中已经进行了说明,本申请实施例在此就不赘述了。

在第二切分亮度图中搜索到与搜索像素矩阵相似的像素矩阵之后,成像设备可以从该搜索到的像素矩阵中提取出第一匹配像素集合。

通过搜索得到的第一匹配像素集合中的像素与第一邻近像素集合中的像素分别对应于从不同方向射入镜头的成像光线在图像传感器中所成的不同的像。

步骤1406,根据每个第一邻近像素集合与每个第一匹配像素集合的位置差异,确定相互对应的第一邻近像素集合和第一匹配像素集合的相位差,得到第二方向的相位差值。

第一邻近像素集合与第一匹配像素集合的位置差异指的是:第一邻近像素集合在第一切分亮度图中的位置与第一匹配像素集合在第二切分亮度图中的位置的差异。

当得到的第一切分亮度图和第二切分亮度图可以被分别称为上图和下图,通过上图和下图获取到的相位差可以反映物体在垂直方向上的成像位置差异。

在一个实施例中,如图15所示,根据第一切分亮度图和第二切分亮度图中相互匹配的像素的位置差异,确定相互匹配的像素的相位差,包括:

步骤1502,当亮度图区域包括目标亮度图中的一列像素时,在第一切分亮度图包括的每列像素中确定第二邻近像素集合,该第二邻近像素集合包括的像素与同一像素点组对应。

步骤1504,对于每个第二邻近像素集合,在第二切分亮度图中搜索与第二邻近像素集合对应的第二匹配像素集合。

步骤1506,根据每个第二邻近像素集合与每个第二匹配像素集合的位置差异,确定相互对应的第二邻近像素集合和第二匹配像素集合的相位差,得到第一方向的相位差值。

步骤1502至步骤1504的技术过程与步骤1402至步骤1406的技术过程同理,本申请实施例在此不再赘述。

当亮度图区域包括目标亮度图中的一列像素时,得到的第一切分亮度图和第二切分亮度图可以被分别称为左图和右图,通过左图和右图获取到的相位差可以反映物体在水平方向上的成像位置差异。

由于当亮度图区域包括目标亮度图中的一列像素时,获取到的相位差可以反映物体在水平方向上的成像位置差异,当亮度图区域包括目标亮度图中的一行像素时,获取到的相位差可以反映物体在垂直方向上的成像位置差异,因此,按照本申请实施例获取到的相位差既可以反映物体在竖直方向上的成像位置差异又可以反映物体在水平方向上的成像位置差异,因此其精度较高。

在一个实施例中,根据相位差控制镜头移动以对焦,包括:

确定人脸区域的相互匹配的像素的相位差的均值;从相位差值与离焦距离值的对应关系中确定均值对应的离焦距离值;根据离焦距离值控制镜头移动以对焦。

具体地,成像设备获取人脸区域中的相位匹配的像素的相位差,并计算相位差的均值,将该均值作为该人脸区域在相位差的计算方向上的相位差值。

成像设备通过相位差值与离焦距离值之间的对应关系可获取与均值对应的离焦距离值,并确定移动的方向。该移动的方向与相位差的计算方向相同。

当该相位差的计算方向为第一方向时,根据第一方向的相位差值得到对应的离焦距离值,并确定移动方向为水平方向。

当该相位差的计算方向为第二方向时,根据第二方向的相位差值得到对应的离焦距离值,并确定移动方向为竖直方向。

上述对焦方法中,通过确定人脸区域的相互匹配的像素的相位差的均值;从相位差值与离焦距离值的对应关系中确定均值对应的离焦距离值;根据离焦距离值控制镜头移动以对焦,,实现了相位检测自动对焦,因可以输出第一方向的相位差值或第二方向的相位差值,针对存在水平纹理或竖直纹理的场景都可以有效的利用相位差值进行对焦,提高了对焦的准确度和稳定度。

如图16所示,为一个实施例中对焦方法的流程图。成像设备获取拍摄的图像,并通过人脸识别算法识别拍摄图像中的人脸区域,并识别人脸区域中存在的每张人脸。根据人脸区域确定相位差的计算方向,根据拍摄图像中每个像素点组包括的像素点的亮度值获取目标亮度图,根据相位差的计算方向对目标亮度图进行切分处理得到第一切分亮度图和第二切分亮度图。确定每个人脸区域在第一切分亮度图和第二切分亮度图中相互匹配的像素点,根据相互匹配的像素点确定每个人脸区域的深度值。

将深度值最小的人脸区域的深度值作为对焦人脸区域,并确定对焦人脸区域在第一切分亮度图和第二切分亮度图中相互匹配的像素。根据相互匹配的像素的位置差异确定相互匹配的像素的相位差。确定人脸区域的相互匹配的像素的相位差的均值,从相位差与离焦距离值的对应关系中确定均值对应的离焦距离值,根据离焦距离值控制镜头移动以对焦。根据人脸区域的纹理类型确定相位差的计算方向,并根据每个人脸区域的深度值确定离镜头最近的人脸作为对焦人脸,并计算出对焦人脸区域的相位差,提高了对焦的准确度和稳定度。

应该理解的是,虽然图7a、图11、图9、图14-图16的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图7a、图11、图9、图14-图16中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

图17为一个实施例的对焦装置的结构框图。如图17所示,该装置应用于电子设备,电子设备包括镜头,镜头包括图像传感器,图像传感器包括阵列排布的多个像素点组,每个像素点组包括阵列排布的m*n个像素点;每个像素点对应一个感光单元,其中,m和n均为大于或等于2的自然数;该装置包括:

检测模块1702,用于检测拍摄图像中的人脸区域,根据人脸区域确定相位差的计算方向;相位差的计算方向为第一方向和第二方向;第一方向与第二方向成预设夹角。

获取模块1704,用于根据每个像素点组包括的像素点的亮度值获取目标亮度图。

切分模块1706,用于根据相位差的计算方向对目标亮度图进行切分处理得到第一切分亮度图和第二切分亮度图,并根据人脸区域在第一切分亮度图和第二切分亮度图中相互匹配的像素的位置差异,确定相互匹配的像素的相位差。

对焦模块1708,用于根据相位差控制镜头移动以对焦。

上述对焦装置中,通过检测拍摄图像中的人脸区域,根据人脸区域确定相位差的计算方向;相位差的计算方向为第一方向和第二方向;第一方向与第二方向成预设夹角,根据每个像素点组包括的像素点的亮度值获取目标亮度图,根据相位差的计算方向对目标亮度图进行切分处理得到第一切分亮度图和第二切分亮度图,并根据人脸区域在第一切分亮度图和第二切分亮度图中相互匹配的像素的位置差异,确定相互匹配的像素的相位差,根据相位差控制镜头移动以对焦,实现了相位检测自动对焦。可以根据人脸区域确定相位差的计算方向,并输出人脸区域在该计算方向上的相位差值,从而针对存在水平纹理或竖直纹理的场景都可以有效的利用相位差值进行对焦,提高了对焦的准确度和稳定度。

在一个实施例中,该装置还包括:确定模块。该确定模块用于:确定每个人脸区域在第一切分亮度图和第二切分亮度图中相互匹配的像素;根据相互匹配的像素确定每个人脸区域的深度值;基于每个人脸区域的深度值确定对焦人脸区域。

切分模块1706还用于:根据对焦人脸区域在第一切分亮度图和第二切分亮度图中相互匹配的像素的位置差异,确定相互匹配的像素的相位差。

在一个实施例中,检测模块1702还用于:通过边缘算子检测人脸区域中的总边缘点数量、第一方向边缘点数量和第二方向边缘点数量;根据第一方向边缘点占总边缘点数量的比值,以及第二方向边缘点数量占总边缘点数量的比值,确定人脸区域的纹理类型,纹理类型为水平纹理或竖直纹理;根据人脸区域的纹理类型确定相位差的计算方向。

在一个实施例中,检测模块1702还用于:当纹理类型为水平纹理时,计算第二方向的相位差值,第二方向为竖直方向;当纹理类型为竖直纹理时,计算第一方向的相位差值,第一方向为水平方向。

在一个实施例中,每个像素点包括阵列排布的多个子像素点,获取模块1704还用于:对于每个像素点组,根据像素点组中每个像素点的相同位置处的子像素点的亮度值,获取像素点组对应的子亮度图;根据每个像素点组对应的子亮度图生成目标亮度图。

在一个实施例中,获取模块1704还用于:从每个像素点中确定相同位置处的子像素点,得到多个子像素点集合,其中,每个子像素点集合包括的子像素点在像素点中的位置均相同;对于每个子像素点集合,根据子像素点集合中每个子像素点的亮度值,获取子像素点集合对应的亮度值;根据每个子像素集合对应的亮度值生成子亮度图。

在一个实施例中,切分模块1706还用于:按照相位差的计算方向的垂直方向对目标亮度图进行切分处理,得到多个亮度图区域,每个亮度图区域包括目标亮度图中的一行像素,或者,每个亮度图区域包括目标亮度图中的一列像素;

从多个亮度图区域中获取多个第一亮度图区域和多个第二亮度图区域,第一亮度图区域包括目标亮度图中偶数行的像素,或者,第一亮度图区域包括目标亮度图中偶数列的像素,第二亮度图区域包括目标亮度图中奇数行的像素,或者,第二亮度图区域包括目标亮度图中奇数列的像素;利用多个第一亮度图区域组成第一切分亮度图,利用多个第二亮度图区域组成第二切分亮度图。

在一个实施例中,切分模块1706还用于:当亮度图区域包括目标亮度图中的一行像素时,在第一切分亮度图包括的每行像素中确定第一邻近像素集合,第一邻近像素集合包括的像素与同一像素点组对应;对于每个第一邻近像素集合,在第二切分亮度图中搜索与第一邻近像素集合对应的第一匹配像素集合;根据每个第一邻近像素集合与每个第一匹配像素集合的位置差异,确定相互对应的第一邻近像素集合和第一匹配像素集合的相位差,得到第二方向的相位差值。

在一个实施例中,切分模块1706还用于:当亮度图区域包括目标亮度图中的一列像素时,在第一切分亮度图包括的每列像素中确定第二邻近像素集合,第二邻近像素集合包括的像素与同一像素点组对应;对于每个第二邻近像素集合,在第二切分亮度图中搜索与第二邻近像素集合对应的第二匹配像素集合;根据每个第二邻近像素集合与每个第二匹配像素集合的位置差异,确定相互对应的第二邻近像素集合和第二匹配像素集合的相位差,得到第一方向的相位差值。

在一个实施例中,对焦模块1708还用于:从相位差值与离焦距离值的对应关系中确定均值对应的离焦距离值;根据离焦距离值控制镜头移动以对焦。

上述对焦装置中各个模块的划分仅用于举例说明,在其他实施例中,可将对焦装置按照需要划分为不同的模块,以完成上述对焦装置的全部或部分功能。

图18为一个实施例中电子设备的内部结构示意图。如图18所示,该电子设备包括通过系统总线连接的处理器和存储器。其中,该处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种对焦方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。该电子设备可以是手机、平板电脑或者个人数字助理或穿戴式设备等。

本申请实施例中提供的对焦装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。

本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行对焦方法的步骤。

一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行对焦方法。

本申请实施例所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram),它用作外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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