掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本申请涉及测距技术领域,更具体而言,涉及一种校正方法、电子设备及计算机可读存储介质。

背景技术

目前,一些电子设备具有测距功能,例如通过ToF深度相机进行测距。然而,ToF深度相机的测量精度会在深度相机系统内部因素的影响下,出现测量不准确的现象。具体地,由于ToF深度相机的光接收器的每个像素之间存在差异,使每个像素接收到信号的时间、曝光延迟的时间等参数存在差异,导致测量结果不准确。

发明内容

本申请实施方式提供一种校正方法、电子设备及计算机可读存储介质。

本申请实施方式的校正方法包括:获取原始深度图、根据预设关系和原始深度图中的像素点的坐标值获取图像传感器中各像素的深度相位差、及根据像素的深度相位差及像素的原始深度值获取每个像素的校正深度值。原始深度图包括多个像素点,原始深度图中各像素点与图像传感器的各像素一一对应,原始深度图中各像素点的原始深度值为对应的各像素的原始深度值;预设关系是反应原始深度图与校正深度图之间的深度相位差、和原始深度图中像素点的坐标值之间的关系,校正深度图包括多个像素点,校正深度图中各像素点与图像传感器的各像素一一对应,校正深度图中各像素点的校正深度值为对应的各像素的理论深度值。

本申请实施方式的电子设备包括光发射器、光接收器、及处理器。所述光发射器用于投射散斑。所述光接收器包括图像传感器,所述图像传感器用于接收被物体反射回的光线以生成图像。所述处理器用于:获取原始深度图、根据预设关系和原始深度图中的像素点的坐标值获取图像传感器中各像素的深度相位差、及根据像素的深度相位差及像素的原始深度值获取每个像素的校正深度值。原始深度图包括多个像素点,原始深度图中各像素点与图像传感器的各像素一一对应,原始深度图中各像素点的原始深度值为对应的各像素的原始深度值;预设关系是反应原始深度图与校正深度图之间的深度相位差、和原始深度图中像素点的坐标值之间的关系,校正深度图包括多个像素点,校正深度图中各像素点与图像传感器的各像素一一对应,校正深度图中各像素点的校正深度值为对应的各像素的理论深度值。

本申请实施方式的非易失性计算机可读存储介质包含计算机程序,当所述计算机程序被处理器执行时,使得所述处理器实现如下校正方法:获取原始深度图、根据预设关系和原始深度图中的像素点的坐标值获取图像传感器中各像素的深度相位差、及根据像素的深度相位差及像素的原始深度值获取每个像素的校正深度值。原始深度图包括多个像素点,原始深度图中各像素点与图像传感器的各像素一一对应,原始深度图中各像素点的原始深度值为对应的各像素的原始深度值;预设关系是反应原始深度图与校正深度图之间的深度相位差、和原始深度图中像素点的坐标值之间的关系,校正深度图包括多个像素点,校正深度图中各像素点与图像传感器的各像素一一对应,校正深度图中各像素点的校正深度值为对应的各像素的理论深度值。

本申请实施方式的校正方法、电子设备及计算机可读存储介质能够根据电子设备测距时获取的原始深度图及预设关系获取深度相位差,再根据深度相位差修正原始深度图以获取每个像素点的校正深度值,以根据每个像素点的校正深度值获取电子设备与物体之间的距离,从而消除电子设备测距时产生的梯度误差,以提高测量精度,使测距结果更准确。

本申请的实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实施方式的实践了解到。

附图说明

本申请的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:

图1是本申请某些实施方式的电子设备的结构示意图;

图2是本申请某些实施方式的电子设备的测距原理示意图;

图3是本申请某些实施方式的校正方法的流程示意图;

图4是本申请某些实施方式的原始深度图的像素点与图像传感器的像素的对应关系的示意图;

图5是本申请某些实施方式的原始深度图与校正深度图之间的深度相位差的示意图;

图6是本申请某些实施方式的校正方法的流程示意图;

图7是本申请某些实施方式的校正方法的流程示意图;

图8是本申请某些实施方式的初始深度图的像素点的相位差的示意图;

图9是本申请某些实施方式的校正方法的流程示意图;

图10是本申请某些实施方式的获取参考深度图的场景示意图;

图11是本申请某些实施方式的校正方法的流程示意图;

图12是本申请某些实施方式的获取特征点图像的场景示意图;

图13是本申请某些实施方式的标定板的结构示意图;

图14是本申请某些实施方式的校正方法的流程示意图;

图15是本申请某些实施方式的校正方法的流程示意图;

图16是本申请某些实施方式的校正方法的流程示意图;

图17是本申请某些实施方式的校正方法的流程示意图;

图18是本申请某些实施方式的计算机可读存储介质和处理器的连接状态示意图。

具体实施方式

下面详细描述本申请的实施方式,所述实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请的实施方式,而不能理解为对本申请的实施方式的限制。

请参阅图1,本申请提供一种具有测距功能的电子设备1000,例如电子设备1000可以是手机、平板电脑、笔记本电脑、智能手表、游戏机、头显设备、激光尺、深度相机100等设备。

电子设备1000可包括光发射器10、光接收器20、及处理器30。光发射器10用于投射散斑。光接收器20包括图像传感器21,图像传感器21用于接收被物体反射回的光线以生成图像。处理器30可根据图像传感器21生成的图像获取图像传感器21与被散斑照射的物体之间的距离,即电子设备1000与该物体之间的距离。

请参阅图2,具体地,电子设备1000可通过ITOF(Indirect TOF),即间接飞行时间测距原理获取电子设备1000与物体之间的距离。在测距时,光发射器10中的光源发射激光,光发射器10中的衍射光学元件(Diffractive Optical Element,DOE)将调制后的激光均匀地分配成L束出射光,子光束到达物体后形成激光散斑,并控制激光散斑投射出的图案,通过激光散斑与图像传感器21的像素位置和视场匹配,计算光源发出光线和图像传感器21接收的光线的相位差,从而获取深度值。在一个例子中,光发射器10发出一定数量、均匀复制的激光散斑,组成激光散斑图案,该激光散斑为向物体或空间照射带有相位调制信息的周期信号;图像传感器21同步接收光发射器10照射后从被物体或空间反射回来的散斑相移图像;根据相移法相位调制的不同,相应地采集多幅不同相位的散斑相移图像,提取出散斑点,计算得到图像中散斑点所在像素对应的相位差,滤除不可靠像素生成的深度值(此步骤可选择性地执行),再根据相移法深度计算公式得到散斑点所在像素的散斑深度图,以获取深度值。

在一个实施例中,电子设备1000为深度相机,处理器30可以与光接收器20封装为一体。深度相机可单独实现测距功能。深度相机还可以安装在无人机、无人车、无人船等移动平台上,用于辅助可移动平台的测距以实现可移动平台的避障。

在又一个实施例中,电子设备1000为内置有深度相机100的手机、平板电脑、笔记本电脑、智能手表、游戏机、头显设备、激光尺等设备。处理器30可以与光接收器20封装为一体。或者,处理器30与光接收器20独立设置,例如电子设备1000为手机,处理器30为手机的应用处理器(Application Processor,AP)。

然而,当使用深度相机100测距时,测量精度会在深度相机100系统内部因素的影响下,例如图像传感器21的像素的硬件参数不同的影响下,深度相机100测距获取的测量值与该距离的实际值之间存在误差,会导致测量不准确。

请参阅图3至图5,本申请实施方式提供一种校正方法。校正方法可用于校正如图1所示的电子设备1000测得的距离,使测距结果更准确,测量精度更高。该校正方法包括:

01:获取原始深度图S1,原始深度图S1包括多个像素点D

02:根据预设关系和原始深度图S1中的像素点D

03:根据像素D

请结合图1,处理器30可用于执行01、02、和03中的方法。即,处理器30可用于:获取原始深度图S1,原始深度图S1包括多个像素点D

其中,请参阅图4,图像传感器21包括多个像素D0。原始深度图S1是光发射器10中的光源发射激光,图像传感器21接收被物体或空间反射回的散斑图案而形成的(如前文所述)的深度图,原始深度图S1的获取是用户端使用电子设备1000时执行的。原始深度图S1包括多个像素点D1,每个像素点D1具有一个深度值。原始深度图S1中各像素点D1与图像传感器21的各像素D0一一对应(XY平面内重合),原始深度图S1中各像素点D1的原始深度值为对应的各像素D0的原始深度值。例如,图4中像素点D

像素D0在图像传感器21的像素坐标系中的坐标值为(x0,y0),原始深度图S1中像素点D1在图像坐标系中坐标值为(x1,y1),原始深度图S1中像素点D1的深度值为z1,即z1是原始深度图S1中像素点D1对应物体5000上的测量点到与同一像素点D1对应的像素D0的距离。例如在测距时,物体5000上的测量点B

由于图像传感器21中的每个像素D0的硬件结构存在差异,导致每个像素D0接收到信号的时间、曝光延迟的时间等参数存在差异,使电子设备1000测距获取的测量值(原始深度图S1中像素点D1的深度值)与该距离实际值(像素D0的实际深度值)之间存在误差,这种误差为电子设备1000的梯度误差,导致根据原始深度图S1获取的电子设备1000与物体之间的距离不准确。本申请提供的校正方法可以对原始深度值进行校正,获取每个像素D0的校正深度值,使电子设备1000能够根据多个像素D0的校正深度值获取电子设备1000与物体之间的更精确的距离,以提高电子设备1000测距的准确度。

请参阅图5,具体地,每个像素D0的校正深度值可根据该像素D0对应的深度相位差Δz

请继续参阅图5,下面以物体5000的表面为曲面为例进行说明。测量表面5003是根据每个像素点D1的深度值z1确定的物体5000的表面,反映测距的测量值对应的物体5000的表面所在的位置。理论表面5004是根据每个校正像素点D2的深度值z2确定的物体5000的表面,反映测距的理论值对应的物体5000的表面所在的位置。其中,每个像素点D1均可对应一个校正像素点D2,所有的校正像素点D2组合形成所述校正深度图,校正深度图S2中各像素点D2与图像传感器21的各像素D0一一对应,校正深度图S2中各像素点D2的校正深度值为对应的各像素D0的理论深度值。在深度值z2为不存在梯度误差时像素点D1应该具有的深度值的基础上,根据每个校正像素点D2的深度值z2确定的理论表面5004的位置更接近物体5000的表面的实际位置,即深度值z2更接近物体5000与图像传感器21的像素D0之间的实际距离。

对原始深度值的校正即为在测量表面5003的基础上获取理论表面5004的位置,即在深度值z1的基础上获取深度值z2。在每个像素点D1的深度值z1的基础上移动Δz

需要说明的是,校正深度图S2中校正像素点D2、原始深度图S1中像素点D1及图像传感器21中像素D0三者之间具有一一对应的关系。具体地,如图5所示,校正深度图S2中校正像素点D2、原始深度图S1中各像素点D1与图像传感器21的各像素D0一一对应(XY平面内重合),原始深度图S1中各像素点D1的原始深度值为对应的各像素D0的原始深度值,校正深度图S2中校正像素点D2的校正深度值为对应的各像素D0的校正深度值。例如,如图5所示,原始深度图S1中像素点D

请继续参阅图5,在某些实施方式中,每个像素D0的深度相位差可根据预设关系和原始深度图S1中的像素点D1的坐标值获取。预设关系是反应原始深度图S1与校正深度图S2之间的深度相位差、和原始深度图S1中像素点D1的坐标值之间的关系。例如,预设关系可为:Δz=g(x1,y1),其中,Δz为测量深度值与理论深度值之间的深度相位差,当通过原始深度图S1获取测量深度值z1,且通过校正深度图S2获取校正深度值z2时,Δz=Δz

在一个实施例中,电子设备1000与物体之间的距离表现为校正深度图S2中的多个像素点D2的深度值。例如通过电子设备1000测量人脸的三维距离,以获取鼻子的三维距离为例,根据校正深度图S2中与鼻子对应的多个像素点D2的深度值能够反映鼻子上的每个测量点与电子设备1000之间的距离,如鼻子根部与电子设备1000之间的距离、鼻尖与电子设备1000之间的距离等。还可以根据校正深度图S2中与面颊对应的多个像素点D2的深度值获取面颊与电子设备1000之间的距离,从而可根据面颊与电子设备1000之间的距离、及鼻子与电子设备1000之间的距离获取鼻子与脸部之间的深度差,以为后续的构建三维深度模型做准备。

在另一个实施方式中,可根据校正深度图S2获取一个深度值,以该深度值代表电子设备1000与物体之间的距离。例如在校正深度图S2的多个深度值中,选取距离电子设备1000最近的深度值作为电子设备1000与物体之间的测量距离。再例如,可对校正深度图S2中多个深度值求平均值、中位数、方差、标准差、欧氏距离等获取计算值,以该计算值作为电子设备1000与物体之间的距离。

综上,本申请的校正方法能够根据电子设备1000测距时获取的原始深度图及预设关系获取深度相位差,再根据深度相位差修正原始深度图以获取图像传感器的每个像素点的校正深度值,以根据每个像素的校正深度值获取电子设备1000与物体5000之间的距离,从而消除电子设备1000测距时产生的梯度误差,以提高测量精度,使测距结果更准确。

下面结合附图做进一步说明。

请参阅图6,在某些实施方式中,校正方法还包括:

04:获取预设关系。

请结合图1,在某些实施方式中,处理器30还可用于执行04中的方法。即,处理器30还可用于获取预设关系。

在一个实施方式中,预设关系在电子设备1000出厂前已经预存在电子设备1000中。当用户端通过电子设备1000测距时,电子设备1000的图像传感器21获取原始深度图S1,处理器30根据预设关系和原始深度图S1中的像素点D1的坐标值获取图像传感器21中对应像素D0的深度相位差,再结合深度相位差及原始深度图S1获取每个像素D0的校正深度值,以根据每个像素D0的校正深度值获取电子设备1000与物体之间的距离。

在又一个实施方式中,预设关系可以在电子设备1000出厂后获取,例如从云端下载、用户自行输入、或从其他能够与电子设备1000通信或交互的设备中获取。相较于在出厂前预存于电子设备1000中,此种方式获取的预设关系不暂用电子设备1000的内存,节省空间。

在再一个实施方式中,预设关系可以是用户端在第一次使用电子设备1000测距时自行获取的,获取到后预设关系可以存储在电子设备1000中以作为模板,供后续测距使用,相较于在出厂前预存于电子设备1000中或电子设备1000出厂后从别处获取的方式,此种方式获取的预设关系更符合产品的使用环境,能够进一步提高测距精度。

在还一个实施方式中,预设关系还可以是用户端在每次使用电子设备1000测距时自行获取的,由于每次都获取,则无需存储到电子设备1000中,相较于在出厂前预存于电子设备1000中或第一次获取后存储于电子设备1000中,此种方式获取的预设关系更符合产品的使用环境,能够进一步提高测距精度。在电子设备1000测距时自行预设关系的一个例子中,处理器30可用于识别原始深度图,并根据识别结果获取对应的预设关系。例如,处理器30能够获取多个预设关系拟合的曲面的三维特征,并能够识别原始深度图的三维特征,以匹配三维特征对应的预设关系。

无论采用上述哪种方式获取预设关系,预设关系均可以采用如下的具体获取手段。请参阅图7及图8,在某些实施方式中,预设关系为深度相位差函数,04:获取预设关系包括:

041:获取参考深度图S4,参考深度图S4包括多个像素点D4,参考深度图S4中各像素点D4与图像传感器21的各像素D0一一对应,参考深度图S4中各像素点D4的参考深度值为对应的各像素D0的参考深度值;

042:获取初始深度图S3,初始深度图S3包括多个像素点D3,初始深度图S3中各像素点D3与图像传感器21的各像素D0一一对应,参考深度图S4中各像素点D4的参考深度值为对应的各像素D0的初始深度值;

043:根据各像素D0的参考深度值及各像素点D0的初始深度值,获取各像素D0的相位差,并将所有像素D0的相位差合并以获取相位差图;及

044:根据相位差图和初始深度图S3中各像素点D3的坐标值计算函数系数,以获取深度相位差函数。

请结合图1,在某些实施方式中,处理器30还可用于执行041、042、043及044中的方法。即,处理器30还可用于:获取参考深度图S4,参考深度图S4包括多个像素点D4,参考深度图S4中各像素点D4与图像传感器21的各像素D0一一对应,参考深度图S4中各像素点D4的参考深度值为对应的各像素D0的参考深度值;获取初始深度图S3,初始深度图S3包括多个像素点D3,初始深度图S3中各像素点D3与图像传感器21的各像素D0一一对应,参考深度图S4中各像素点D4的参考深度值为对应的各像素D0的初始深度值;根据各像素D0的参考深度值及各像素点D0的初始深度值,获取各像素D0的相位差,并将所有像素D0的相位差合并以获取相位差图;及根据相位差图和初始深度图S3中各像素点D3的坐标值计算函数系数,以获取深度相位差函数。

请参阅图5及图8,在某些实施方式中,参考深度图S4相当于校正深度值已知的校正深度图S2,反应电子设备1000的测距理论值。理论表面5006是根据参考深度图S4的每个像素点D4的深度值z4确定的物体5000的表面,反映测距的理论值对应的物体5000的表面所在的位置。初始深度图S3相当于在获取预设关系时电子设备1000测量物体距离获取的原始深度图S1,反应电子设备1000测距的测量值。测量表面5005是根据初始深度图S3的每个像素点D3的深度值z3确定的物体5000的表面,反映测距的测量值对应的物体5000的表面所在的位置。

在一个实施例中,参考深度图S4是基于电子设备1000的光接收器20的硬件参数根据经验获取的理论深度图。在又一个实施例中,参考深度图S4是根据光接收器20的硬件参数建立仿真模型后,通过仿真模型进行间接飞行时间测距的模拟计算获取的理论深度图。

在某些实施方式中,可通过标定的方式获取参考深度图。具体地,请参阅图9,041:获取参考深度图,包括:

0411:获取多个角度的多张特征点图像,每个特征点图像包括特征点的坐标值,每个特征点对应一个像素点;

0412:根据多个角度、每个特征点图像中的特征点的坐标值获取深度相机100的内参;

0413:根据角度、特征点的坐标值、及内参获取每个特征点对应的像素点的多个参考深度值;及

0414:根据所有特征点对应的像素点的多个参考深度值获取参考深度图。

请结合图1,在某些实施方式中,处理器30还用于执行0411、0412、0413及0414中的方法。即,处理器30还可用于获取多个角度的多张特征点图像,每个特征点图像包括特征点的坐标值,每个特征点对应一个像素点;根据多个角度、每个特征点图像中的特征点的坐标值获取深度相机100的内参和外参;根据角度、特征点的坐标值、内参及外参获取每个特征点对应的像素点的多个参考深度值;及根据所有特征点对应的像素点的多个参考深度值获取参考深度图。

其中,深度相机100的内参包括深度相机100的相距ψ、深度相机100的图像传感器21中像素D0在像素坐标系的x轴对应的长度dx及y轴对应的长度dy、像素D0在像素坐标系的坐标值(x0,y0)、像素D0在像素坐标系的中心的坐标值(x

请参阅图10及图13,平面SI为物体(例如标定平板)所在的平面,即世界坐标系所在的平面;平面SII为深度相机100的光点所在的平面,即相机坐标系所在的平面;平面SIII为深度相机100的成像面,即图像坐标系所在的平面;d为深度相机100(电子设备1000)与物体之间的距离;f为深度相机100的焦距;特征点图像用于表征特征点a在世界坐标系中的位置关系,特征点a的坐标值(xa,ya)为特征点a在世界坐标系中的坐标值;a

当世界坐标系所在的平面SI与图像坐标系所在的平面SIII平行时,根据相似三角形公式可得:

深度相机100的内参可根据深度相机100的内参矩阵获取。设内参矩阵为A,内参矩阵

其中,(R1 R2 T)为外参矩阵,R1及R2用于描述深度相机100的相机坐标系与世界坐标系之间的旋转关系,T用于描述深度相机100的相机坐标系与世界坐标系之间平移关系。xa、ya分别为与特征点a在世界坐标系的x轴的坐标值及y轴的坐标值。Z为尺度因子,是一个定值。

将矩阵A(R1 R2 T)记为矩阵H,矩阵H即为外参矩阵与内参矩阵的乘积。设矩阵H的三列为(H1 H2 H3),则有:

可得:

其中,(x0,y0)是已知的,由于世界坐标系是人为在物体上设置的,因此(xa,ya)可以在物体上直接测得。

此时,矩阵H为齐次矩阵,包含8个独立的未知元素。每个特征点a可提供2个约束方程。因此,当一张特征点图像上的特征点数量大于4时,可通过最小二乘法求矩阵H。

再由,R1和R2为旋转矩阵R的两列,R1和R2存在正交关系,可得:R1

如此,H1

设:

v

由于构成矩阵v的所有元素均为矩阵H的元素,且矩阵H可对多个特征点a应用最小二乘法求得,因此只需求出向量b即可求得矩阵B。每个角度的特征点图像对应一个平移关系T,可以提供一个对矩阵vb=0的约束关系,一个约束关系包括两个约束方程。由于向量b包括6个未知量,因此至少需要6个约束方程求解向量b,因此,至少需要三张不同角度的特征点图像,每张特征点图像包括至少四个特征点,以求解内参矩阵。当特征点图像超过3张时,可通过最小二乘法求解向量b,以解出矩阵

结合前文所述,在获取深度相机100的内参后,可根据特征点图像及深度相机100的内参获取深度相机100与物体之间的距离d,并能够结合距离d获取与特征点a对应的像素点D4所对应的参考深度值z4。如此,根据同一张特征点图像的所有特征点a对应的像素点D4所对应的多个参考深度值z4可获取该特征点图像对应的参考深度图。参考深度图表征被拍摄物体与图像传感器21的像素D0之间的理论距离。可以理解地,根据不同角度的特征点图像可获取不同角度的参考深度图。

请参阅图11,在某些实施方式中,0411:获取多个角度的多张特征点图像,包括:

04111:在红外补光灯照射标定板时,获取多个角度的标定板的图像;及

04113:对每张标定板的图像做特征点检测,以获取多个角度的多张特征点图像。

请结合图1,在某些实施方式中,处理器30还可用于执行04111及04113中的方法。即,处理器30还可用于在红外补光灯照射标定板时,获取多个角度的标定板的图像;及对每张标定板的图像做特征点检测,以获取多个角度的多张特征点图像。

请参阅图12,在某些实施方式中,红外补光灯2000可为两个,两个红外补光灯2000关于标定板3000沿z方向上的对称轴O1对称设置。红外补光灯2000发射的红外光的波长范围为[800nm,1000nm],例如红外光的波长为800nm、850nm、880nm、920nm、930nm、940nm、950nm、960nm、970nm、980nm、990nm、或1000nm等,在此不一一列举。进一步地,红外补光灯2000发射的红外光的波长为940nm,该波长的红外光的光功率高,抗干扰性能好。当预设关系在电子设备1000出厂前已经预存在电子设备1000或在在电子设备1000出厂后从云端下载、用户自行输入、或从其他能够与电子设备1000通信或交互的设备中获取的,则红外补光灯2000可以是独立于电子设备1000设置的。当预设关系是用户端在使用电子设备1000测距时自行获取的,则红外补光灯2000可以是集成于电子设备1000内的。

标定板3000可为玻璃材质,玻璃材质的标定板3000没有杂质和气泡,能够防止杂质和气泡影响标定。而且,玻璃标定板3000的白度透光度和光泽度性能好,利于标定。标定板3000的表面设有标定图形,标定图形的尺寸为预设尺寸,根据拍摄到的标定图形的图像可以从标定图形中提取特征点,以能够根据特征点的坐标值获取深度相机100的内参,及根据特征点之间的距离利用相似三角形关系获取深度相机100与标定板3000之间的距离。

例如,请参阅图13,在一个实施例中,标定图形包括多个相同尺寸的矩形组成的矩阵,黑色的矩形和白色的矩形在矩阵中依次交替分布。由于每个矩形的尺寸已知,则标定板3000中每个矩形的顶点与另一顶点之间的距离是已知的,且由于黑色的矩形和白色的矩形在矩阵中依次交替分布,使每个顶点所在的位置具有非常明显的灰度差,因此可以将每个矩形的顶点作为特征点a。请结合图10,可以使世界坐标系所在的平面SI与标定板3000的平面重合,使特征点a在标定板3000的坐标值(xa,ya)即为特征点a在世界坐标系中的坐标值。

请参阅图12及图13,在某些实施方式中,在红外补光灯2000照射标定板3000时,深度相机100(电子设备1000)在距离标定板3000预定距离的位置拍摄标定板3000,以获取标定板3000的标定图像。在一个实施例中,可将深度相机100(电子设备1000)固定在治具4000中拍摄标定板3000,治具4000与标定板3000之间的距离的取值范围为[45m,55m],例如治具4000与标定板3000之间的距离为45m、46m、47m、48m、49m、50m、51m、52m、53m、54m、或55m等,在此不一一列举,以使深度相机100(电子设备1000)的焦距适宜,能够拍摄到完整的标定板3000,且便于根据该焦距和该距离计算深度相机100与标定板3000之间的距离。在对标定板3000的图像做特征点检测时,可根据灰度差识别标定图像中标定图形的顶点,以将标定图形的顶点标记为特征点,在完成对标定板3000的图像的特征点检测及特征点标记后即可获取特征点图像。结合前文所述,为求解内参矩阵,至少需要三张不同角度的特征点图像。可在获取一张标定板3000的图像后,改变标定板3000相对深度相机100(电子设备1000)的角度,以获取不同角度的标定板3000的图像。

请参阅图10及图12,在某些实施方式中,可获取标定板3000分别在第一角度(例如0°)、第二角度(例如+20°)、及第三角度(例如-20°)时的至少三张标定图像。在获取标定板3000在第一角度的标定图像时,标定板3000的平面SI与深度相机100(电子设备1000)的图像坐标系所在的平面SIII平行。即标定板3000的平面SI与深度相机100(电子设备1000)的图像坐标系所在的平面SIII之间的夹角

综上,本申请的校正方法和电子设备1000能够获取参考深度图,参考深度图能够反映物体与图像传感器21的像素之间的距离的理论值。在获取参考深度图后,可根据电子设备1000与物体2000在同一距离下获取的参考深度图及初始深度图获取初始深度图各像素点的相位差,相位差反映电子设备1000测距的测量值与理论值之间的深度误差,从而能够根据多个相位差形成的相位差图及多个初始深度图的像素点的坐标值计算深度相位差函数的深度相位差系数,当深度相位差函数的深度相位差系数全部为已知量时,即可得到反应初始深度图与参考深度图之间的相位差、和初始深度图中像素点的坐标值之间的预设关系。由于参考深度图与校正深度图均为反应测距理论值的深度图,因此当获取初始深度图的方法与获取原始深度图的方法相同时,该预设关系同样能够反应原始深度图与校正深度图之间的深度相位差、和原始深度图中像素点的坐标值之间的预设关系。如此,可根据预设关系及原始深度图中的像素点的坐标值获取深度相位差,以根据深度相位差校正原始深度图中的像素点的原始深度值以获取校正深度值,根据校正深度值获取电子设备1000与物体之间的距离,使测距的准确度提高。

获取初始深度图的方法与获取原始深度图的方法相同,均为根据间接飞行时间测距法的原理获取深度图。具体地,请参阅图14,在某些实施方式中,042:获取初始深度图包括:

0421:朝标定板投射散斑;

0422:接收标定板反射回的散斑以采集多幅不同相位的散斑相移图像;

0423:根据采集的多幅散斑相移图像提取出散斑点;及

0424:计算散斑点所在像素对应的相位差,并根据相移法深度计算公式得到散斑点所在像素的深度值,从而获取初始深度图。

请结合图1,在某些实施方式中,光发射器10还可用于执行0421中的方法,光接收器20还可用于执行0422中的方法,处理器30还可用于执行0423及0424中的方法。即,光发射器10还可用于朝标定板投射散斑。光接收器20还可用于接收标定板反射回的散斑以采集多幅不同相位的散斑相移图像。处理器30还可用于根据采集的多幅散斑相移图像提取出散斑点;及计算散斑点所在像素对应的相位差,并根据相移法深度计算公式得到散斑点所在像素的深度值,从而获取初始深度图。

请参阅图1、图2、及图12,电子设备1000朝标定板3000投射散斑,图像传感器21接收被标定板3000反射回的光线以采集多幅不同相位的散斑相移图像。处理器30根据采集的多幅散斑相移图像提取出散斑点;及计算散斑点所在像素对应的相位差,并根据相移法深度计算公式得到散斑点所在像素的深度值,从而获取初始深度图。即可以根据图2示意的获取深度值的方法获取初始深度值,以根据初始深度值获取初始深度图。

根据前文所述的校正原理,需要用电子设备1000在同一位置拍摄同一角度的标定板3000获取的初始深度图及参考深度图获取相位差图。

请参阅图12,例如,在获取0°的标定板3000的标定图像后(或之前),关闭红外补光灯2000,电子设备1000朝0°的标定板3000投射散斑以根据间接飞行时间测距法获取0°的初始深度图。其中,0°的标定板3000的平面SI与深度相机100(电子设备1000)的图像坐标系所在的平面SIII之间的夹角为0°,下文涉及的标定板3000的角度同样是该夹角的角度,后续不再赘述。

在分别获取0°、+20°、及-20°的三张标定板3000的标定图像并求得深度相机100的内参后,可根据深度相机100的内参及0°的标定板3000的标定图像获取0°的参考深度图。如此,可根据0°的初始深度图及0°的参考深度图获取0°的相位差图,以根据0°的初始深度图及0°的相位差图获取预设关系。

同理,可在标定板3000的角度为+20°时,分别获取+20°的初始深度图及+20°的参考深度图,以获取+20°的相位差图,根据+20°的初始深度图及+20°的相位差图获取预设关系。同理,在标定板3000的角度为5°、10°、15°、20°、25°、30°、或35°等角度时,均可通过同样的方法获取相位差图,在此不一一列举。

也即是说,通过固定位置的深度相机100拍摄同一角度的标定板3000分别获取初始深度图及参考深度图,即可根据对应的初始深度图及参考深度图获取相位差图,从而能够获取预设关系。

在某些实施方式中,可获取多张不同角度的参考深度图及对应的不同角度的初始深度图,分别对多张参考深度图求平均参考深度图、对多张初始深度图求平均初始深度图,以根据平均参考深度图及平均初始深度图获取相位差图,使获取的相位差图减少单一性误差。例如,可根据0°、+20°、及-20°的参考深度图获取平均参考深度图,根据0°、20°、及-20°的初始深度图求平均初始深度图,以根据平均参考深度图及平均初始深度图获取相位差图。

在某些实施方式中,获取初始深度图各像素点D3的相位差Δz

0431:根据参考深度图S4中每个像素点D4的参考深度值、与初始深度图S3中对应像素点D3的初始深度值各像素D0的相位差。

请结合图1,在某些实施方式中,处理器30还可用于执行0431中的方法。即,处理器30还可用于根据参考深度图S4中每个像素点D4的参考深度值、与初始深度图S3中对应像素点D3的初始深度值各像素D0的相位差。

请结合图8,参考深度图S4中参考像素点D4、初始深度图S3中各像素点D3与图像传感器21的各像素D0一一对应(XY平面内重合),初始深度图S3中各像素点D3的初始深度值为对应的各像素D0的初始深度值,参考深度图S4中参考像素点D4的参考深度值为对应的各像素D0的参考深度值。例如,如图8所示,初始深度图S3中像素点D

获取预设关系的原理为:根据参考深度图S4及初始深度图S3求出初始深度图S3的各像素点D3与同一像素D0在参考深度图S4中对应的像素点D4之间的多个相位差Δz

请参阅图2及图8,预设关系的函数g(x,y)用于描述根据测量深度值(如z1、z3)确定的测量表面(如5003、5005),当预设关系的函数g(x,y)中的坐标值(x,y)为初始根据深度图S3的像素点D3的坐标值(x3,y3)时,函数g(x3,y3)用于根据描述像素点D3的深度值z3确定的测量表面5005。

在一个实施例中,可通过二元二次多项式拟合测量表面5005,深度相位差函数为二元二次多项式与深度相位差之间的关系,可得到深度相位差函数Δz=ax

在本例中,深度相位差函数包括6个未知系数,则至少需要将6个像素点D3(可任意挑选,也可以如图16或17中挑选出亮度值最大的6像素点D3,还可挑选清晰度值最大的6像素点D3等)的坐标值(已知量)代入深度相位差函数以获取至少6个方程,并联立6个方程计算函数系数a,b,c,d,e,f。在某些实施方式中,选取的用于获取深度相位差函数的像素点D3的数量范围为[100,1000],例如100个、200个、300个、400个、500个、600个、700个、800个、900个、或1000个等,在此不一一列举,以消除统计过程中的单一性误差。

类似地,在另一个实施例中,可通过二元三次、二元四次、二元五次等二元多次多项式拟合初始深度图的像素点D3形成的曲面,即深度相位差函数为高于二元二次的二元多次多项式与深度相位差之间的关系,在此不一一列举。多项式的次数越高,需要求解的系数越多,至少需要的像素点D3的数量也越多,多项式对曲面的拟合程度越好,应用深度相位差函数进行校正后获取的距离越准确;多项式的次数越低,则需要处理的数据量越少,获取预设关系的效率越高。

在又一个实施例中,可通过B样条曲面(B spline surface)、贝塞尔曲面等曲面函数式拟合初始深度图的像素点D3形成的曲面,例如深度相位差函数为B样条曲面的函数式与深度相位差之间的关系,同样可以将多个像素点D3的坐标值及对应的相位差Δz

在某些实施方式中,用于求解深度相位差函数的系数的像素点D3为图像传感器21中间区域的像素D0对应的像素点D3。图像传感器21中间区域的像素D0更容易接收到较强的光信号,即该像素D0接收到的噪声信号相对较小。噪声信号的大小跟测距的环境相关,不属于电子设备1000自身硬件参数引起的梯度误差。根据接收到噪声信号较小的像素D0对应的像素点D3确定深度相位差函数,能够更准确地反映理论测距值与考虑梯度误差的实际测距值之间的关系,以能更准确地校正梯度误差。

在某些实施方式中,用于求解深度相位差函数的系数的像素点D3与像素点D3的亮度相关,像素点D3的亮度越高,则像素点D3对应的像素D0接收到的光信号越强,即该像素D0接收到的噪声信号越小,越能够排除环境误差,使根据该像素点D3确定的深度相位差函数能够更准确地反映理论测距值与考虑梯度误差的实际测距值之间的关系。

具体地,请参阅图16,在某些实施方式中,初始深度图还包括各像素点的亮度值,044:根据相位差图和初始深度图S3中各像素点D3的坐标值计算函数系数,可包括:

0441:获取初始深度图S3中各像素点D3的亮度值;

0442:根据亮度值及预设亮度值挑选初始深度图S3中的像素点;及

0443:根据挑选的像素点D3的坐标值和相位差图计算函数系数。

请结合图1,在某些实施方式中,处理器30还用于执行0441、0442、及0443中的方法。即,处理器30还可用于:获取初始深度图S3中各像素点D3的亮度值;根据亮度值及预设亮度值挑选初始深度图S3中的像素点;及根据挑选的像素点D3的坐标值和相位差图计算函数系数。

其中,预设亮度值用于界定初始深度图S3中各像素点D3的亮度是否达到排除环境噪声干扰的标准。当初始深度图S3的像素点D3的亮度值大于预设亮度值时,认为该像素点D3对应的像素D0接收到的光信号足够强,能够排除环境噪声的干扰,可以被挑选出来以用作计算函数系数。

例如,在获取初始深度图S3时,获取初始深度图S3中各像素点的亮度值,并将各像素点的亮度值与预设亮度值比较,选取亮度值大于预设亮度值的像素点计算函数系数,以使获取的深度相位差函数排除噪声误差的影响。其中,当通过二元二次多项式拟合测量表面5005,深度相位差函数为二元二次多项式与深度相位差之间的关系时,则根据挑选的像素点D3的坐标值和相位差图计算函数系数的具体步骤可如前面所述的求解深度相位差函数Δz=ax

请参阅图17,在某些实施方式中,044:根据相位差图和初始深度图中各像素点的坐标值计算函数系数,可包括:

0444:获取初始深度图S3中各像素点D3的亮度值;

0445:根据亮度值及预设亮度值挑选初始深度图S3中的像素点D3;

0446:获取挑选出的像素点D3的亮度权值;及

0447:根据相位差图、挑选出的各像素点D3的坐标值、和挑选出的各像素点D3的亮度权值计算函数系数。

请结合图1,在某些实施方式中,处理器30还用于执行0444、0445、0446及0447中的方法。即,处理器30还可用于:获取初始深度图S3中各像素点D3的亮度值;根据亮度值及预设亮度值挑选初始深度图S3中的像素点D3;获取挑选出的像素点D3的亮度权值;及根据相位差图、挑选出的各像素点D3的坐标值、和挑选出的各像素点D3的亮度权值计算函数系数。

本实施方式中的0444步骤与前述0441步骤相同,0445步骤与前述0442步骤相同,在此不再赘述。

挑选出的每个像素点D3的亮度权值

在计算函数系数时考虑像素点D3的亮度权值Wi,能够以该像素点D3的亮度值表征该像素点D3对函数系数的影响力,亮度值越高的像素点D3对函数系数的影响力越大,而亮度值越高的像素点D3受噪声干扰的影响越小,以使计算得到的函数系数减小受噪声的影响。例如当Wi=1时,表征第i个像素点D

例如,深度相位差函数为:Δz=ax

综上,根据上文记载的实施方式可以获取预设关系。当预设关系为已知时,在使用电子设备1000测距时,可根据测距获取的原始深度图及预设关系获取深度相位差,以根据深度相位差将原始深度图的各像素点的原始深度值校正为校正深度值,以减少梯度误差对测距结果的影响,使测距结果更准确。

请参阅图18,本申请实施方式还提供一种包含计算机程序401的非易失性计算机可读存储介质400。当计算机程序401被处理器30执行时,使得处理器30执行上述任一实施方式的校正方法。

请结合图1,例如,当计算机程序401被处理器30执行时,使得处理器30执行01、02、03、04、041、0411、0412、0413、0414、04111、04113、0421、0422、0423、0431、0441、0442、0443、0444、0445、0446、0447及0424中的方法。例如执行以下校正方法:

01:获取原始深度图S1,原始深度图S1包括多个像素点D

02:根据预设关系和原始深度图S1中的像素点D

03:根据像素D

又例如,当计算机程序401被处理器30执行时,使得处理器30执行以下校正方法:04:获取预设关系。其中,04:获取预设关系包括:

041:获取参考深度图S4,参考深度图S4包括多个像素点D4,参考深度图S4中各像素点D4与图像传感器21的各像素D0一一对应,参考深度图S4中各像素点D4的参考深度值为对应的各像素D0的参考深度值;

042:获取初始深度图S3,初始深度图S3包括多个像素点D3,初始深度图S3中各像素点D3与图像传感器21的各像素D0一一对应,参考深度图S4中各像素点D4的参考深度值为对应的各像素D0的初始深度值;

043:根据各像素D0的参考深度值及各像素点D0的初始深度值,获取各像素D0的相位差,并将所有像素D0的相位差合并以获取相位差图;及

044:根据相位差图和初始深度图S3中各像素点D3的坐标值计算函数系数,以获取深度相位差函数。

又例如,当计算机程序401被处理器30执行时,使得处理器30执行以下校正方法:

0411:获取多个角度的多张特征点图像,每个特征点图像包括特征点的坐标值,每个特征点对应一个像素点;

0412:根据多个角度、每个特征点图像中的特征点的坐标值获取深度相机100的内参;

0413:根据角度、特征点的坐标值、及内参获取每个特征点对应的像素点的多个参考深度值;及

0414:根据所有特征点对应的像素点的多个参考深度值获取参考深度图。

又例如,当计算机程序401被处理器30执行时,使得处理器30执行以下校正方法:

04111:在红外补光灯照射标定板时,获取多个角度的标定板的图像;及

04113:对每张标定板的图像做特征点检测,以获取多个角度的多张特征点图像。

又例如,当计算机程序401被处理器30执行时,使得处理器30执行以下校正方法:

0421:朝标定板投射散斑;

0422:接收标定板反射回的散斑以采集多幅不同相位的散斑相移图像;

0423:根据采集的多幅散斑相移图像提取出散斑点;及

0424:计算散斑点所在像素对应的相位差,并根据相移法深度计算公式得到散斑点所在像素的深度值,从而获取初始深度图。

又例如,当计算机程序401被处理器30执行时,使得处理器30执行以下校正方法:

0441:获取初始深度图S3中各像素点D3的亮度值;

0442:根据亮度值及预设亮度值挑选初始深度图S3中的像素点;及

0443:根据挑选的像素点D3的坐标值和相位差图计算函数系数。

又例如,当计算机程序401被处理器30执行时,使得处理器30执行以下校正方法:

0444:获取初始深度图S3中各像素点D3的亮度值;

0445:根据亮度值及预设亮度值挑选初始深度图S3中的像素点D3;

0446:获取挑选出的像素点D3的亮度权值;及

0447:根据相位差图、挑选出的各像素点D3的坐标值、和挑选出的各像素点D3的亮度权值计算函数系数。

在本说明书的描述中,参考术语“某些实施方式”、“一个例子中”、“示例地”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

尽管上面已经示出和描述了本申请的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施方式进行变化、修改、替换和变型。

相关技术
  • 电子设备、图像校正方法及非暂时性计算机可读存储介质
  • 图像校正方法、装置、电子设备及计算机可读存储介质
技术分类

06120113254214