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

结构光相机获取深度信息的方法、电子设备及存储介质

文献发布时间:2023-06-19 13:46:35


结构光相机获取深度信息的方法、电子设备及存储介质

技术领域

本发明涉及图像处理领域,特别涉及一种结构光相机获取深度信息的方法、电子设备及存储介质。

背景技术

随着3D视觉技术的发展,人们对于深度值的应用越发深入。结构光相机能够通过投射特定散斑以单个红外镜头接收散斑信息进行深度解算得到物体的第三维信息。目前的结构光相机的深度计算模型多是通过三角相似原理进行深度值解算,但该模型是建立在一种理想条件下才能成立,对于有一定绝对精度要求的应用,该计算方法不再准确有效,故需要一种能够在非理想条件下,能够容忍装配误差等原因带来影响的深度解算方法,用于高绝对精度的应用。

发明内容

本发明实施方式的目的在于提供一种结构光相机获取深度信息的方法、电子设备及存储介质,通过校准得到深度相机的真实焦距,同时考虑投射器的等效光心与镜头光心的偏差,得到基于光路直线传播的深度计算方法,提升深度计算的准确性。

为解决上述技术问题,本发明的实施方式提供了一种结构光相机获取深度信息的方法,包括:

采用张氏标定法对结构光相机进行双目标定,得到所述结构光相机的内外参数;

基于所述内外参数得到计算深度值,并根据所述计算深度值、标定焦距以及测量的实际深度值,采用等比换算得到校准后的真实焦距;

基于投射器的等效光心与镜头光心的偏差,对所述结构光相机中的投射器进行位置标定,得到投射器标定位置;

基于所述真实焦距和所述投射器标定位置计算深度值。

本发明的实施方式还提供了一种电子设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的结构光相机获取深度信息的方法。

本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的结构光相机获取深度信息的方法。

本发明实施方式相对于现有技术而言,通过采用张氏标定法对结构光相机进行双目标定,得到结构光相机的内外参数;基于内外参数得到计算深度值,并根据计算深度值、标定焦距以及测量的实际深度值,采用等比换算得到校准后的真实焦距;基于投射器的等效光心与镜头光心的偏差,对所述结构光相机中的投射器进行位置标定,得到投射器标定位置;基于真实焦距和投射器标定位置计算深度值。本方案中通过校准得到深度相机的真实焦距,同时考虑投射器的等效光心与镜头光心的偏差,得到基于光路直线传播的深度计算方法,提升深度计算的准确性。

附图说明

图1是根据本发明实施方式的结构光相机获取深度信息的方法的具体流程图;

图2是根据本发明实施方式的焦距校准方法的具体流程图;

图3是根据本发明实施方式的投射器位置标定方法的具体流程图;

图4是根据本发明实施方式的结构光原理图;

图5是根据本发明实施方式的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的一实施方式涉及一种结构光相机获取深度信息的方法,如图1所示,本实施例提供的结构光相机获取深度信息的方法,包括如下步骤。

步骤101:采用张氏标定法对结构光相机进行双目标定,得到结构光相机的内外参数。

具体地,通过结构光相机拍摄N张多姿态的棋盘格的彩色图和红外图,利用张氏标定法,得到相机的内参和外参数。例如,以棋盘格作为标定板,移动棋盘格标定板,拍摄N张多姿态的棋盘格彩色图和红外图,其中N大于或等于3;检测红外和彩色图中,棋盘格的角点;根据单应性变换矩阵以及彩图与红外图中同名点对位置,以闭合解的方式求取相机内参和外参;最后通过非线性优化计算精确的内外参数。

步骤102:基于内外参数得到计算深度值,并根据计算深度值、标定焦距以及测量的实际深度值,采用等比换算得到校准后的真实焦距。

在实际执行双目标定过程中,由于受棋盘格的角点检测算法以及棋盘格标定板的精度影响,通过上一步标定出来的红外镜头的焦距会存在较大的误差,而焦距是深度解算精度一项重要影响因素,故需对焦距进一步校准。

本步骤中,可利用红外相机平面与棋盘格平行时,计算深度值、标定焦距与实际深度值、真实焦距值之间的等比例关系,解算出真实焦距,即校准后的真实焦距。

具体地,可通过如图2所示的焦距校准方法得到真实焦距。如图2所示,该焦距校准方法包括如下步骤。

步骤1021:采用结构光相机获取棋盘格红外图。

具体的,在某一已知距离下拍摄一张棋盘格红外图,拍摄时要求棋盘格放在视野中心。

步骤1022:根据棋盘格红外图上连续角点距离、标定焦距、以及棋盘格中格子的高度,计算角点深度值。

具体地,已知角点在红外图中的位置坐标,

步骤1023:当根据多个角点深度值判断棋盘格与相机平面平行时,测量镜头到棋盘格的真实距离,并通过如下公式(1)计算校准后的真实焦距。

其中,

具体地,当棋盘格与相机平面平行时,红外镜头到棋盘格的距离,就是棋盘格上角点的真实深度值。利用计算深度值、真实深度值、标定焦距、真实焦距之间的等比例关系(公式(1)),可以得到红外摄像头的真实焦距。例如,通过公式(1)可以分别得到红外镜头焦距在x轴、Y轴上的真实焦距分量

在一个例子中,根据多个角点深度值判断棋盘格与相机平面平行,可通过比较计算得到的多个角点深度值之间的大小来确定。具体地,通过计算多个角点深度值中,每两个角点深度值的差值,并当差值全部小于预设差值阈值时,确定棋盘格与相机平面平行。

具体地,调整棋盘格位置,利用相机拍摄得到棋盘格红外图,并基于上述步骤标定的内外参数,估算红外图中多个角点的角点深度值;然后计算每两个角点深度值的差值,当差值全部小于预设差值阈值时,如每两个角点深度值的差值都小于1mm时,确定棋盘格与相机平面平行。如果差值中存在大于差值阈值的差值,则再次调整棋盘格位置从新拍摄红外图,计算红外图中的角点深度值,判断棋盘格与相机平面是否平行。当确定棋盘格与相机平面平行时,此时利用激光测距仪、卷尺等工具测量得到镜头到棋盘格的真实距离。该真实距离即为相应棋盘格上角点的真实深度值。

步骤103:基于投射器的等效光心与镜头光心的偏差,对结构光相机中的投射器进行位置标定,得到投射器标定位置。

由于结构光相机通常是在参考图与测试图同行的像素搜索得到视差,而由于装配误差问题,投射器的等效光心与红外镜头光心所在的三轴存在一定的偏差,导致散斑在x轴的实际位置具有一定的误差,从而影响最终的深度计算的z轴精度。

本步骤中基于之前步骤确定的相机内外参数,对投射器位置进行重新标定,得到投射器标定位置。

在一个例子中,本步骤可通过图3所示的投射器位置标定方法得到投射器标定位置。如图3所示,该投射器位置标定方法包括如下步骤。

步骤1031:对于同一目标物,采用结构光相机拍摄平行于像平面的两张散斑图分别作为参考图和测试图。

具体地,参考图4所示的结构光原理,本实施例中,拍摄两个距离的墙面散斑图,两张散斑图的平面与像面平行,这两张散斑图中一张为参考图、一张为测试图(参考图位于参考面、测试图位于测试面)。

步骤1032:确定测试图相对参考图的第一行偏移,并根据第一行偏移与参考图在相机坐标系上y轴坐标值的线性关系,拟合得到线性参数。

具体地,通过高精度的多行匹配算法,得到测试图相对参考图中,每一行像素的行偏移

其中,

在实际运算时,

步骤1033:基于结构光相机的内外参数,确定参考图上一参考点和测试图上一测试点在像平面坐标系上的坐标;其中,参考点与测试点位于穿过投射器的光心的同一条直线上,参考点和测试点在相机坐标系上的坐标为以投射器标定位置为未知量的函数值。

具体地,通过步骤101中双目标定得到的相机内参数。参考图4中,设一物体点P与投射器光心相连的直线在参考面的坐标即参考点为P1,在测试面的坐标即测试点为P2。由于P2与P1为一条直线,故P2的坐标可标识为P1坐标与投射器位置的函数值,其中投射器位置作为未知量。然后利用相机的针孔成像模型,可将P1、P2在相机坐标系下的坐标变换为像平面坐标系下的坐标。

在一个例子中,本步骤可通过如下步骤实现。

步骤1:确定参考点的坐标为P1(

具体地,参考图4,假设参考点在参考面上的坐标为P1(

步骤2:根据相机的针孔成像模型,对参考点和测试点在相机坐标系上的坐标值进行变换,得到参考点和测试点在像平面坐标系上的坐标依次为(

其中,

其中,

在公式(4)中,除

步骤1034:根据测试点和参考点在像平面上的坐标,计算测试点相对于参考点的第二行偏移。

具体地,可采用如下公式计算测试点相对于参考点的第二行偏移:

其中,

具体地,对公式(3)、公式(4)中的纵坐标(

然后,对公式(6)中的z(P1点z轴坐标值)替换为z

在公式(5)中,

步骤1035:根据第二行偏移,参考点的在相机坐标系上的y轴坐标值以及线性参数,得到投射器标定位置。

在一个例子中,可将

具体地,在得到公式(5)后,由于

步骤104:基于真实焦距和投射器标定位置计算深度值。

具体地,在得到校准后真实焦距和考虑了误差之后的投射器标定位置后,就可以基于这些参数通过结构光相机深度计算方法来计算(目标物)的深度值。

在一个例子中,可根据如下公式计算测试点的深度值

其中,

有关公式(8)的推演过程如下。

传统单目结构光的深度值计算方法未考虑投射器的装配误差问题,仅通过相似三角关系通过测试图与参考图的视差

具体地,如图4所示,根据光的直线传播原理可以得到测试面的距离

对公式(12)进一步转换得到k值表达式(13)。

将公式(13)带入

与相关技术相比,本实施例通过采用张氏标定法对结构光相机进行双目标定,得到结构光相机的内外参数;基于内外参数得到计算深度值,并根据计算深度值、标定焦距以及测量的实际深度值,采用等比换算得到校准后的真实焦距;基于投射器的等效光心与镜头光心的偏差,对所述结构光相机中的投射器进行位置标定,得到投射器标定位置;基于真实焦距和投射器标定位置计算深度值。本方案中通过校准得到深度相机的真实焦距,同时考虑投射器的等效光心与镜头光心的偏差,得到基于光路直线传播的深度计算方法,提升深度计算的准确性。

此外,本方案通过真实焦距,同时考虑投射器光心偏差得到基于光路直线传播的深度计算方法,提升深度计算的准确性。

本发明的另一实施方式涉及一种电子设备,如图5所示,包括至少一个处理器202;以及,与至少一个处理器202通信连接的存储器201;其中,存储器201存储有可被至少一个处理器202执行的指令,指令被至少一个处理器202执行,以使至少一个处理器202能够执行上述任一方法实施例。

其中,存储器201和处理器202采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器202和存储器201的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器202处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器202。

处理器202负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器201可以被用于存储处理器202在执行操作时所使用的数据。

本发明的另一实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述任一方法实施例。

即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

技术分类

06120113806519