一种相位差检测方法、装置、电子设备及存储介质与流程

文档序号:31070814发布日期:2022-08-09 21:03阅读:94来源:国知局
一种相位差检测方法、装置、电子设备及存储介质与流程

1.本发明属于图像处理技术领域,尤其涉及一种相位差检测方法、装置、电子设备及存储介质。


背景技术:

2.用户在通过电子设备进行拍照时,电子设备可以采用相位差自动对焦(phase difference auto focus,pdaf)方式进行对焦,以得到比较清晰的图片。电子设备进行对焦时,可以通过设置在传感器上的相位差(phase difference,缩写为pd)检测像素计算得到相位差,并将该相位差转换成镜头模组内的马达的移动距离,从而根据该移动距离确定出对焦点,以实现对焦。
3.然而,现有技术中通常是根据图像传感器提供的相位差原始数据进行对焦,而相位差原始数据的检测方法并不透明。


技术实现要素:

4.本发明的目的在于提供一种相位差检测方法、装置、电子设备及存储介质,旨在提供一种全新的相位差检测方法。
5.一方面,本发明提供一种相位差检测方法,所述方法包括下述步骤:
6.对图形传感器的pd像素行中的左pd数据行和右pd数据行分别按同一方式进行分块处理,得到多个pd数据块对;
7.在每个所述pd数据块对中选择一数据块作为卷积核,基于预设的相位差偏移量,使用所述卷积核对位于另一数据块所在pd数据行中的、同一位置的pd数据进行卷积运算,得到每个所述pd数据块对对应的差异数据集;
8.对所述差异数据集进行拟合,根据拟合结果以及所述相位差偏移量,获取每个所述pd数据块对中左、右pd数据块之间的相位差;
9.基于获取的每个所述pd数据块对的相位差生成相位差检测结果。
10.优选地,在每个所述pd数据块对中选择一数据块作为卷积核,基于预设的相位差偏移量,使用所述卷积核对位于另一数据块所在pd数据行中的、同一位置的pd数据进行卷积运算的步骤之前,还包括:
11.采用预设的滤波器对每个所述pd数据块对进行去噪处理,得到对应的第二pd数据块对,所述滤波器为高斯滤波器;
12.在每个所述pd数据块对中选择一数据块作为卷积核,基于预设的相位差偏移量,使用所述卷积核对位于另一数据块所在pd数据行中的、同一位置的pd数据进行卷积运算的步骤,包括;
13.在每个所述第二pd数据块对中选择一数据块作为卷积核,基于预设的相位差偏移量,使用所述卷积核对位于另一数据块所在pd数据行中的、同一位置的pd数据进行卷积运算。
14.基于预设的相位差偏移量,使用所述卷积核对位于另一数据块所在pd数据行中的、同一位置的pd数据进行卷积运算的步骤,包括:
15.在所述另一数据块所在pd数据行中以所述另一数据块为基准,向前、向后分别移动所述相位差偏移量的距离,获取扩展后范围内的pd数据;
16.使用所述卷积核对获取的所述pd数据进行卷积运算。
17.优选地,使用所述卷积核对获取的所述pd数据进行卷积运算的步骤,包括:
18.将所述卷积核的起点依次与所述pd数据中每个像素对齐并卷积,得到每个所述pd数据块对对应的差异数据集。
19.进一步优选地,将所述卷积核的起点依次与所述pd数据中每个像素对齐并卷积的步骤,包括:
20.每次对所述卷积核与所述pd数据中对应大小的被卷积像素进行对齐并卷积,获取当次差异数据,移动所述卷积核,以使所述卷积核与所述pd数据中下一对应大小的被卷积像素进行对齐并卷积,直至得到所述pd数据块对对应的差异数据集。
21.优选地,对所述差异数据集进行拟合的步骤,包括:
22.使用最小二乘法对所述差异数据集进行二次方程拟合,得到对应的二次函数。
23.优选地,根据拟合结果以及所述相位差偏移量,获取每个所述pd数据块对中左、右pd数据块之间的相位差的步骤,包括:
24.获取所述二次函数取极值时对应的目标像素点,将所述目标像素点的像素偏移量减去所述相位差偏移量,得到每个所述pd数据块对中左、右pd数据块之间的相位差。
25.另一方面,本发明提供了一种相位差检测装置,所述装置包括:
26.数据分块单元,用于对图形传感器的pd像素行中的左pd数据行和右pd数据行分别按同一方式进行分块处理,得到多个pd数据块对;
27.数据卷积单元,用于在每个所述pd数据块对中选择一数据块作为卷积核,基于预设的相位差偏移量,使用所述卷积核对位于另一数据块所在pd数据行中的、同一位置的pd数据进行卷积运算,得到每个所述pd数据块对对应的差异数据集;
28.相位差获取单元,用于对所述差异数据集进行拟合,根据拟合结果以及所述相位差偏移量,获取每个所述pd数据块对中左、右pd数据块之间的相位差;以及
29.结果生成单元,用于基于获取的每个所述pd数据块对的相位差生成相位差检测结果。
30.另一方面,本发明还提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
31.另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
32.本发明对图形传感器的pd像素行中的左pd数据行和右pd数据行分别按同一方式进行分块处理,得到多个pd数据块对,在每个pd数据块对中选择一数据块作为卷积核,基于预设的相位差偏移量,使用卷积核对位于另一数据块所在pd数据行中的、同一位置的pd数据进行卷积运算,得到每个pd数据块对对应的差异数据集,对差异数据集进行拟合,根据拟合结果以及相位差偏移量,获取每个pd数据块对中左、右pd数据块之间的相位差,基于获取
的每个pd数据块对的相位差生成相位差检测结果,从而实现了相位差的准确检测。
附图说明
33.图1a是本发明实施例一提供的相位差检测方法的实现流程图;
34.图1b是本发明实施例一提供的sony的imx455传感器的pd像素的布局示意图;
35.图1c是本发明实施例一提供的pd数据块对的像素信息示例图;
36.图1d是本发明实施例一提供的图1c中pd数据块对中的卷积核和扩展后得到的被卷积pd数据的像素信息示例图;
37.图1e是本发明实施例一提供的卷积核与pd数据中对应大小的被卷积像素进行对齐的过程示例图;
38.图1f是本发明实施例一提供的pd数据块中卷积核开始移动时卷积核和扩展后得到的被卷积pd数据的像素信息示例图;
39.图1g是本发明实施例一提供的pd数据块中卷积核移动结束时卷积核和扩展后得到的被卷积pd数据的像素信息示例图;
40.图1h是本发明实施例一提供的pd数据块对对应的差异数据集的分布示例图;
41.图1i是本发明实施例一提供的图1d中卷积核和扩展后得到的被卷积pd数据滤波后的像素信息示例图;
42.图2是本发明实施例二提供的相位差检测装置的结构示意图;以及
43.图3是本发明实施例三提供的电子设备的结构示意图。
具体实施方式
44.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
45.以下结合具体实施例对本发明的具体实现进行详细描述:
46.实施例一:
47.图1a示出了本发明实施例一提供的相位差检测方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
48.在步骤s101中,对图形传感器的pd像素行中的左pd数据行和右pd数据行分别按同一方式进行分块处理,得到多个pd数据块对。
49.本发明实施例适用于电子设备,该电子设备可以为手机、相机、平板电脑、可穿戴设备、车载设备、笔记本电脑等终端设备,本技术实施例对电子设备的具体类型不作任何限制。
50.在本发明实施例中,在从图像传感器中获取像素数据后,可提取pd像素行,对每个pd像素行进行左、右像素分离,得到对应的原始pd数据对,即该原始pd数据对包括原始的左pd数据行和右pd数据行。之后,将每个pd像素行的左pd数据行和右pd数据行分别按同一方式分为n块,得到n个左pd数据块和n个右pd数据块。具体地,可将左pd数据行和右pd数据行等分为n块,也可以以其他相同的方式将左pd数据行和右pd数据行分别划分为n块。
51.以sony的imx455传感器为例,sony的imx455传感器的pd像素的布局如图1b所示,
该图像传感器中共有31行pd检测像素,并均匀分布在成像面上,分块后可得到31*n块左pd像素块和31*n块右pd像素块,分块处理后得到的pd数据块对的像素信息如图1c所示,其中,横坐标表示pd像素的坐标,纵坐标表示pd像素的像素值。
52.在步骤s102中,在每个pd数据块对中选择一数据块作为卷积核,基于预设的相位差偏移量,使用卷积核对位于另一数据块所在pd数据行中的、同一位置的pd数据进行卷积运算,得到每个pd数据块对对应的差异数据集;
53.在本发明实施例中,卷积核为pd数据块对的一数据块,被卷积数据为位于另一数据块所在pd数据行中的、同一位置的pd数据,该被卷积的pd数据通过对该另一数据块扩展得到。具体地,在每个pd数据块对中选择一数据块作为卷积核时,被选择作为卷积核的数据块可以为pd数据块对中的右pd数据块,也可以是左数据块,此时,被卷积数据则为另一数据块的扩展数据块。例如,若被选择作为卷积核的数据块为pd数据块对中的右pd数据块,则被卷积数据位于该pd数据块对中左pd数据块所在的左pd数据行中,且该被卷积数据为在左pd数据行中以该左pd数据块为基础扩展得到的数据块。
54.优选地,在获取该被卷积的pd数据时,若选择pd数据块对中一数据块作为卷积核,则在另一数据块所在pd数据行中以该另一数据块为基准,向前、向后分别移动相位差偏移量的距离,获取扩展后范围内的pd数据,该数据即为被卷积的pd数据。其中,相位差偏移量根据成像系统的特性获得,例如,可以测出在固定焦距下以像素为单位的相位差区间[-pd_max:+pd_max],pd_max表示成像系统的最大相位差,将该pd_max设置为相位差偏移量。因此,优选地,在使用卷积核对位于另一数据块所在pd数据行中的、同一位置的pd数据进行卷积运算时,在另一数据块所在pd数据行中以另一数据块为基准,向前、向后分别移动相位差偏移量的距离,获取扩展后范围内的pd数据,使用卷积核对获取的pd数据进行卷积运算。作为示例地,图1d示出了图1c中pd数据块对中的卷积核和扩展后得到的被卷积pd数据。
[0055]
进一步地,使用卷积核对获取的pd数据进行卷积运算时,将卷积核的起点依次与pd数据中每个像素对齐并卷积,得到每个pd数据块对对应的差异数据集。具体地,在将卷积核的起点依次与pd数据中每个像素对齐并卷积时,每次对卷积核与pd数据中对应大小的被卷积像素进行对齐并卷积,获取当次差异数据,移动卷积核,以使卷积核与pd数据中下一对应大小的被卷积像素进行对齐并卷积,直至得到pd数据块对对应的差异数据集。作为示例地,图1e示出了卷积核与pd数据中对应大小的被卷积像素进行对齐的过程,其中,k1至kn表示卷积核,d1至dm表示被卷积的pd数据,对应地,图1f示出了pd数据块中卷积核开始移动时卷积核和扩展后得到的被卷积pd数据的像素信息,图1g示出了pd数据块中卷积核移动结束时卷积核和扩展后得到的被卷积pd数据的像素信息,图1h示出了pd数据块对对应的差异数据集的分布。
[0056]
具体地,在每次对卷积核与pd数据中对应大小的被卷积像素进行卷积时,可利用公式进行卷积,其中,kerneli表示当次卷积核,d2i表示当次被卷积的pd数据,表示当次差异数据,n表示卷积核的大小。
[0057]
考虑到成像系统、传输介质和记录设备等的不完善性,数字图像在其形成、传输记
录过程中往往会受到多种噪声的污染,在每个pd数据块对中选择一数据块作为卷积核之前,优选地,采用预设的滤波器对每个pd数据块对进行去噪处理,以去除噪声干扰。具体地,可采用预设的滤波器对每个pd数据块对中的左pd数据块和右pd数据块分别进行去噪处理。作为示例地,图1i为图1d中卷积核和扩展后得到的被卷积pd数据滤波后的像素信息,其中,横坐标表示pd像素的坐标,纵坐标表示pd像素的像素值。在得到去噪处理后的pd数据块对之后,在每个pd数据块对中选择一数据块作为卷积核,进而基于预设的相位差偏移量,使用卷积核对位于另一数据块所在pd数据行中的、同一位置的pd数据进行卷积运算。其中,前述滤波器可以为均值滤波器或中值滤波器等,优选地,滤波器为高斯滤波器,以在保证不会改变原pd数据块的边缘走向的同时,保证了后续特征点和边缘的特性,进而提高了后续相位差检测的准确性。
[0058]
在步骤s103中,对差异数据集进行拟合,根据拟合结果以及相位差偏移量,获取每个pd数据块对中左、右pd数据块之间的相位差;
[0059]
在本发明实施例中,通过对差异数据集进行拟合,得到卷积核在被卷积数据中的最佳匹配位置,进而根据拟合结果以及相位差偏移量,获取每个pd数据块对中左、右pd数据块之间的相位差。
[0060]
优选地,在对差异数据集进行拟合时,使用最小二乘法对差异数据集进行二次方程拟合,得到对应的二次函数。具体地,获取差异数据集中最小值对应的特征点,将该特征点设置为第一pd像素点,获取第一pd像素点的左右领域像素点并分别设置为第二、第三pd像素点,使用最小二乘法对第二、第三pd像素点进行二次方程拟合,得到对应的二次函数,作为示例地,二次函数可用y=f(x)表示。进一步地,在根据拟合结果以及相位差偏移量,获取每个pd数据块对中左、右pd数据块之间的相位差时,获取二次函数取极值时对应的目标像素点,将目标像素点的像素偏移量减去相位差偏移量,即可得到每个pd数据块对中左、右pd数据块之间的相位差。具体地,计算二次函数y=f(x)为极值时的x值,x值则为拟合出差异量最小值时的像素偏移值,将该像素偏移值减去相位差偏移量,得到每个pd数据块对中左、右pd数据块之间的相位差。
[0061]
在步骤s104中,基于获取的每个pd数据块对的相位差生成相位差检测结果。
[0062]
在本发明实施例中,生成的相位差检测结果为一矩阵,该矩阵的元素为每个pd数据块对的相位差,其中,矩阵的行数等于pd像素行的数目,矩阵的列数为分块处理后的pd数据块对的数目。以上述sony的imx455传感器为例,若分块处理后得到31*n块pd数据块对,则最终的相位差检测结果为由31*n个相位差组成的矩阵。
[0063]
进一步地,在得到上述相位差检测结果之后,可基于上述相位差检测结果进行对焦,或基于上述相位差检测结果进行深度探测。
[0064]
本发明对图形传感器的pd像素行中的左pd数据行和右pd数据行分别按同一方式进行分块处理,得到多个pd数据块对,在每个pd数据块对中选择一数据块作为卷积核,基于预设的相位差偏移量,使用卷积核对位于另一数据块所在pd数据行中的、同一位置的pd数据进行卷积运算,得到每个pd数据块对对应的差异数据集,对差异数据集进行拟合,根据拟合结果以及相位差偏移量,获取每个pd数据块对中左、右pd数据块之间的相位差,基于获取的每个pd数据块对的相位差生成相位差检测结果,从而实现了相位差的准确检测。
[0065]
实施例二:
[0066]
图2示出了本发明实施例二提供的相位差检测装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
[0067]
数据分块单元21,用于对图形传感器的pd像素行中的左pd数据行和右pd数据行分别按同一方式进行分块处理,得到多个pd数据块对;
[0068]
数据卷积单元22,用于在每个pd数据块对中选择一数据块作为卷积核,基于预设的相位差偏移量,使用卷积核对位于另一数据块所在pd数据行中的、同一位置的pd数据进行卷积运算,得到每个pd数据块对对应的差异数据集;
[0069]
相位差获取单元23用于对差异数据集进行拟合,根据拟合结果以及相位差偏移量,获取每个pd数据块对中左、右pd数据块之间的相位差;以及
[0070]
结果生成单元24,用于基于获取的每个pd数据块对的相位差生成相位差检测结果。
[0071]
优选地,相位差检测装置还包括:
[0072]
滤波单元,用于采用预设的滤波器对每个pd数据块对进行去噪处理。
[0073]
优选地,数据卷积单元22包括:
[0074]
数据获取单元,用于在另一数据块所在pd数据行中以另一数据块为基准,向前、向后分别移动相位差偏移量的距离,获取扩展后范围内的pd数据;
[0075]
卷积运算单元,用于使用卷积核对获取的pd数据进行卷积运算。
[0076]
优选地,卷积运算单元包括:
[0077]
对齐卷积单元,用于将卷积核的起点依次与pd数据中每个像素对齐并卷积,得到每个pd数据块对对应的差异数据集。
[0078]
优选地,对齐卷积单元包括:
[0079]
依次卷积单元,用于每次对卷积核与pd数据中对应大小的被卷积像素进行对齐并卷积,获取当次差异数据,移动卷积核,以使卷积核与pd数据中下一对应大小的被卷积像素进行对齐并卷积,直至得到pd数据块对对应的差异数据集。
[0080]
优选地,相位差获取单元23包括:
[0081]
拟合单元,使用最小二乘法对差异数据集进行二次方程拟合,得到对应的二次函数。
[0082]
相位差获取单元23还包括:
[0083]
相位差获取子单元,用于获取二次函数取极值时对应的目标像素点,将目标像素点的像素偏移量减去相位差偏移量,得到每个pd数据块对中左、右pd数据块之间的相位差。
[0084]
在本发明实施例中,相位差检测装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。相位差检测装置的各单元的具体实施方式可参考前述方法实施例的描述,在此不再赘述。
[0085]
实施例三:
[0086]
图3示出了本发明实施例三提供的电子设备的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
[0087]
本发明实施例的电子设备3包括处理器30、存储器31以及存储在存储器31中并可在处理器30上运行的计算机程序32。该处理器30执行计算机程序32时实现上述各方法实施
例中的步骤,例如,图1a所示的步骤s101至s105。或者,处理器30执行计算机程序32时实现上述各装置实施例中各单元的功能,例如,图2所示单元21至25的功能。
[0088]
本发明实施例对图形传感器的pd像素行中的左pd数据行和右pd数据行分别按同一方式进行分块处理,得到多个pd数据块对,在每个pd数据块对中选择一数据块作为卷积核,基于预设的相位差偏移量,使用卷积核对位于另一数据块所在pd数据行中的、同一位置的pd数据进行卷积运算,得到每个pd数据块对对应的差异数据集,对差异数据集进行拟合,根据拟合结果以及相位差偏移量,获取每个pd数据块对中左、右pd数据块之间的相位差,基于获取的每个pd数据块对的相位差生成相位差检测结果,从而实现了相位差的准确检测。
[0089]
实施例四:
[0090]
在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的步骤,例如,图1a所示的步骤s101至s105。或者,该计算机程序被处理器执行时实现上述各装置实施例中各单元的功能,例如,图2所示单元21至25的功能。
[0091]
本发明实施例对图形传感器的pd像素行中的左pd数据行和右pd数据行分别按同一方式进行分块处理,得到多个pd数据块对,在每个pd数据块对中选择一数据块作为卷积核,基于预设的相位差偏移量,使用卷积核对位于另一数据块所在pd数据行中的、同一位置的pd数据进行卷积运算,得到每个pd数据块对对应的差异数据集,对差异数据集进行拟合,根据拟合结果以及相位差偏移量,获取每个pd数据块对中左、右pd数据块之间的相位差,基于获取的每个pd数据块对的相位差生成相位差检测结果,从而实现了相位差的准确检测。
[0092]
本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,rom/ram、磁盘、光盘、闪存等存储器。
[0093]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1