成像设备的参数处理方法、装置及可读存储介质与流程

文档序号:33498132发布日期:2023-03-17 21:29阅读:22来源:国知局
成像设备的参数处理方法、装置及可读存储介质与流程

1.本公开涉及计算机技术领域,尤其涉及一种成像设备的参数处理方法、装置及可读存储介质。


背景技术:

2.在对多个成像设备对应的多幅图像进行配准时,需要确保多个成像设备的位姿关系和多个成像设备的内参,即确保多个成像设备的外参和内参。在相关技术中,以多个成像设备为多个相机为例,对多个相机拍摄的图像进行配准时,通常使用相机出厂时标定的内参和外参,然而,在实际拍摄场景中,相机的内参和外参会发生变化,从而导致多个相机对应的多幅图像无法准确的进行配准。


技术实现要素:

3.为克服相关技术中存在的问题,本公开提供一种成像设备的参数处理方法、装置及可读存储介质。
4.根据本公开实施例的第一方面,提供一种成像设备的参数处理方法,包括:
5.获取多个第一特征点的第一坐标矩阵和多个第二特征点的第二坐标矩阵,所述第一特征点和所述第二特征点分别基于第一成像设备和第二成像设备得到;
6.基于所述第一坐标矩阵和所述第二坐标矩阵,确定目标损失函数的损失值,其中,所述目标损失函数中的待调整参数包括所述第一成像设备的第一内参矩阵和第一外参矩阵,所述损失值用于表征所述第二特征点从所述第二成像设备的坐标系投影至所述第一成像设备的坐标系得到的投影点与所述第一特征点之间的差异;
7.根据所述损失值对所述目标损失函数中的所述第一内参矩阵和所述第一外参矩阵进行调整,得到使得所述目标损失函数满足预设条件的目标第一内参矩阵值和目标第一外参矩阵值。
8.在一些实施例中,所述根据所述损失值对所述目标损失函数中的所述第一内参矩阵和所述第一外参矩阵进行调整,包括:
9.基于对应所述目标损失函数的增量方程,对所述第一内参矩阵和所述第一外参矩阵进行迭代运算,得到所述目标第一内参矩阵值和所述目标第一外参矩阵值;
10.其中,所述增量方程用于表征所述目标损失函数的损失值和所述目标损失函数的雅各比矩阵与增量矩阵之间的映射关系,所述雅各比矩阵的取值是所述第一内参矩阵的取值和所述第一外参矩阵的取值决定的。
11.在一些实施例中,所述基于对应所述目标损失函数的增量方程,对所述第一内参矩阵和所述第一外参矩阵进行迭代运算,得到所述目标第一内参矩阵值和所述目标第一外参矩阵值,包括:
12.执行至少一轮迭代处理,每轮所述迭代处理包括:获取当前轮的第一内参矩阵值、当前轮的第一外参矩阵值以及当前轮的所述目标损失函数的损失值,将所述当前轮的第一
内参矩阵值、所述当前轮的第一外参矩阵值以及所述当前轮的所述目标损失函数的损失值输入至所述增量方程,确定当前轮的增量矩阵值;
13.其中,当所述迭代处理是第一轮时,所述当前轮的第一内参矩阵值为初始第一内参矩阵值,所述当前轮的第一外参矩阵值为初始第一外参矩阵值;当所述迭代处理不是第一轮时,所述当前轮的第一内参矩阵值和所述当前轮的第一外参矩阵值基于前一轮的增量矩阵值对前一轮的第一内参矩阵值和前一轮的第一外参矩阵值进行运算得到;
14.当所述当前轮的增量矩阵值满足所述预设条件时,基于该当前轮的增量矩阵值对所述初始第一内参矩阵值和所述初始第一外参矩阵值进行运算,得到所述目标第一内参矩阵值和所述目标第一外参矩阵值。
15.在一些实施例中,所述第一成像设备为彩色相机,所述第二成像设备为深度相机;
16.所述获取多个第一特征点的第一坐标矩阵和多个第二特征点的第二坐标矩阵,包括:
17.基于所述彩色相机采集的彩色图像,确定多个第一特征点的第一坐标矩阵;
18.基于所述深度相机标定的第二内参矩阵和深度值,对所述深度相机采集的深度图像进行处理,得到点云数据;
19.基于所述点云数据,确定所述多个第二特征点的第二坐标矩阵。
20.在一些实施例中,所述目标损失函数的损失值e为:
[0021][0022]
其中,p
rgb
表示所述第一坐标矩阵,k
rgb
表示所述第一内参矩阵,[r/t]表示所述第一外参矩阵,表示所述第二坐标矩阵。
[0023]
在一些实施例中,所述雅各比矩阵j(x)为:
[0024][0025]
其中,x

,y

,z

分别为所述第二坐标矩阵中x轴坐标值、y轴坐标值以及z轴坐标值与所述第一外参矩阵计算得到的,f
x
和fy分别为所述第一内参矩阵中表征所述第一成像设备的x方向上的焦距和y方向上的焦距。
[0026]
在一些实施例中,所述增量方程为:
[0027]
[j(x)
t
*j(x)*δx+λi]=-j(x)
t
*e]
[0028]
其中,j(x)表示所述雅各比矩阵,j(x)
t
表示所述雅各比矩阵的转置,δx表示所述增量矩阵,λ表示常数,i表示单位矩阵,e表示所述目标损失函数的损失值。
[0029]
根据本公开实施例的第二方面,提供一种成像设备的参数处理装置,包括:
[0030]
获取模块,被配置为获取多个第一特征点的第一坐标矩阵和多个第二特征点的第二坐标矩阵,所述第一特征点和所述第二特征点分别基于第一成像设备和第二成像设备得到;
[0031]
确定模块,被配置为基于所述第一坐标矩阵和所述第二坐标矩阵,确定目标损失
函数的损失值,其中,所述目标损失函数中的待调整参数包括所述第一成像设备的第一内参矩阵和第一外参矩阵,所述损失值用于表征所述第二特征点从所述第二成像设备的坐标系投影至所述第一成像设备的坐标系得到的投影点与所述第一特征点之间的差异;
[0032]
调整模块,被配置为根据所述损失值对所述目标损失函数中的所述第一内参矩阵和所述第一外参矩阵进行调整,得到使得所述目标损失函数满足预设条件的目标第一内参矩阵值和目标第一外参矩阵值。
[0033]
在一些实施例中,所述调整模块进一步被配置为:
[0034]
基于对应所述目标损失函数的增量方程,对所述第一内参矩阵和所述第一外参矩阵进行迭代运算,得到所述目标第一内参矩阵值和所述目标第一外参矩阵值;
[0035]
其中,所述增量方程用于表征所述目标损失函数的损失值和所述目标损失函数的雅各比矩阵与增量矩阵之间的映射关系,所述雅各比矩阵的取值是所述第一内参矩阵的取值和所述第一外参矩阵的取值决定的。
[0036]
在一些实施例中,所述调整模块进一步被配置为:
[0037]
执行至少一轮迭代处理,每轮所述迭代处理包括:获取当前轮的第一内参矩阵值、当前轮的第一外参矩阵值以及当前轮的所述目标损失函数的损失值,将所述当前轮的第一内参矩阵值、所述当前轮的第一外参矩阵值以及所述当前轮的所述目标损失函数的损失值输入至所述增量方程,确定当前轮的增量矩阵值;
[0038]
其中,当所述迭代处理是第一轮时,所述当前轮的第一内参矩阵值为初始第一内参矩阵值,所述当前轮的第一外参矩阵值为初始第一外参矩阵值;当所述迭代处理不是第一轮时,所述当前轮的第一内参矩阵值和所述当前轮的第一外参矩阵值基于前一轮的增量矩阵值对前一轮的第一内参矩阵值和前一轮的第一外参矩阵值进行运算得到;
[0039]
当所述当前轮的增量矩阵值满足所述预设条件时,基于该当前轮的增量矩阵值对所述初始第一内参矩阵值和所述初始第一外参矩阵值进行运算,得到所述目标第一内参矩阵值和所述目标第一外参矩阵值。
[0040]
在一些实施例中,所述第一成像设备为彩色相机,所述第二成像设备为深度相机;
[0041]
所述获取多个第一特征点的第一坐标矩阵和多个第二特征点的第二坐标矩阵,包括:
[0042]
基于所述彩色相机采集的彩色图像,确定多个第一特征点的第一坐标矩阵;
[0043]
基于所述深度相机标定的第二内参矩阵和深度值,对所述深度相机采集的深度图像进行处理,得到点云数据;
[0044]
基于所述点云数据,确定所述多个第二特征点的第二坐标矩阵。
[0045]
在一些实施例中,所述目标损失函数的损失值e为:
[0046][0047]
其中,p
rgb
表示所述第一坐标矩阵,k
rgb
表示所述第一内参矩阵,[r/t]表示所述第一外参矩阵,表示所述第二坐标矩阵。
[0048]
在一些实施例中,所述雅各比矩阵j(x)为:
[0049][0050]
其中,x

,y

,z

分别为所述第二坐标矩阵中x轴坐标值、y轴坐标值以及z轴坐标值与所述第一外参矩阵计算得到的,f
x
和fy分别为所述第一内参矩阵中表征所述第一成像设备的x方向上的焦距和y方向上的焦距。
[0051]
在一些实施例中,所述增量方程为:
[0052]
[j(x)
t
*j(x)*δx+λi]=-j(x)
t
*e]
[0053]
其中,j(x)表示所述雅各比矩阵,j(x)
t
表示所述雅各比矩阵的转置,δx表示所述增量矩阵,λ表示常数,i表示单位矩阵,e表示所述目标损失函数的损失值。
[0054]
根据本公开实施例的第三方面,提供一种成像设备的参数处理装置,包括:
[0055]
处理器;
[0056]
用于存储处理器可执行指令的存储器;
[0057]
其中,所述处理器被配置为:
[0058]
获取多个第一特征点的第一坐标矩阵和多个第二特征点的第二坐标矩阵,所述第一特征点和所述第二特征点分别基于第一成像设备和第二成像设备得到;
[0059]
基于所述第一坐标矩阵和所述第二坐标矩阵,确定目标损失函数的损失值,其中,所述目标损失函数中的待调整参数包括所述第一成像设备的第一内参矩阵和第一外参矩阵,所述损失值用于表征所述第二特征点从所述第二成像设备的坐标系投影至所述第一成像设备的坐标系得到的投影点与所述第一特征点之间的差异;
[0060]
根据所述损失值对所述目标损失函数中的所述第一内参矩阵和所述第一外参矩阵进行调整,得到使得所述目标损失函数满足预设条件的目标第一内参矩阵值和目标第一外参矩阵值。
[0061]
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所提供的成像设备的参数处理方法的步骤。
[0062]
本公开的实施例提供的技术方案可以包括以下有益效果:通过将目标损失函数中的待调整参数确定为第一成像设备的第一内参矩阵和第一外参矩阵,可以在调整目标损失函数的损失值的过程中,同时调整第一成像设备的内参和外参,即同时优化第一成像设备的内参和位姿,从而提高第一成像设备和第二成像设备对应的多幅图像的配准效果。
[0063]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0064]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0065]
图1是根据本公开一示例性实施例示出的一种成像设备的参数处理方法的流程
图。
[0066]
图2是根据本公开一示例性实施例示出的迭代运算的流程图。
[0067]
图3是根据本公开一示例性实施例示出的一种成像设备的参数处理装置的框图。
[0068]
图4是根据本公开一示例性实施例示出的一种用于成像设备的参数处理的装置的框图。
具体实施方式
[0069]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0070]
在介绍本公开提供的一种成像设备的参数处理方法之前,首先对本公开各个实施例所涉及的应用场景进行说明,本公开可以应用于将不同成像设备获取的多幅图像进行图像配准的场景。在一些实施例中,不同成像设备可以包括第一成像设备和第二成像设备,其中,第一成像设备可以包括彩色相机,第二成像设备可以包括深度相机。
[0071]
在一些实施例中,不同成像设备可以集成在同一个成像设备上。例如,彩色相机和深度相机可以集成为rgbd相机,其中,rgbd相机的主摄像头为彩色相机,副摄像头为深度相机,且rgbd相机中的深度相机可以同时输出深度图像和红外图像。可以理解的,rgbd相机可以同时采集彩色图像、深度图像和红外图像。对应的,本公开可以应用于对rgbd相机获取的多幅图像进行图像配准的场景,对rgbd相机获取的多幅图像进行配准可以是指对其采集的彩色图像与深度图像/红外图像进行配准。
[0072]
以rgbd相机为例,rgbd相机在出厂时会对其包括的相机的内参和外参进行标定,相关技术中,对rgbd相机采集的彩色图像与深度图像/红外图像进行配准时,通常使用rgbd相机出厂时标定的内参和外参。然而,标定的内参和外参可能会发生变化,例如,rgbd相机发生碰撞导致其中的彩色相机与深度相机之间的位姿关系发生了变化,即外参发生了变化,且由于彩色相机具备光学防抖功能,因此彩色相机的内参会发生变化。进而,仅使用rgbd相机出厂时标定的内参和外参对其采集的多幅图像进行配准,会降低图像配准的准确度。
[0073]
为此,本公开提出一种成像设备的参数处理方法、装置及可读存储介质,以提高第一成像设备和第二成像设备对应的多幅图像的配准效果。
[0074]
图1是根据本公开一示例性实施例示出的一种成像设备的参数处理方法的流程图,如图1所示,所述方法包括以下步骤。
[0075]
在步骤s11中,获取多个第一特征点的第一坐标矩阵和多个第二特征点的第二坐标矩阵,所述第一特征点和所述第二特征点分别基于第一成像设备和第二成像设备得到。
[0076]
在一些实施例中,第一成像设备可以是彩色相机,第二成像设备可以是深度相机。在一些实施例中,第二成像设备可以是能同时输出深度图像和红外图像的深度相机。例如,rgbd相机中的深度相机。对应的,第一成像设备可以是rgbd相机中的彩色相机。由于深度图像和红外图像由相同的深度相机输出,因此,深度图像的像素点和红外图像的像素点为对应。
[0077]
在一些实施例中,获取多个第一特征点的第一坐标矩阵和多个第二特征点的第二坐标矩阵,包括:基于彩色相机采集的彩色图像,确定多个第一特征点的第一坐标矩阵;基于深度相机标定的第二内参矩阵和深度值,对深度相机采集的深度图像进行处理,得到点云数据;基于点云数据,确定多个第二特征点的第二坐标矩阵。
[0078]
在一些实施例中,可以将彩色图像中的多个像素点确定为多个第一特征点;基于彩色图像中的多个像素点的坐标,可以确定第一坐标矩阵。
[0079]
在一些实施例中,深度相机标定的第二内参矩阵和深度值可以基于张正友标定算法得到。关于张正友标定算法可以参见相关技术,在此不再赘述。在一些实施例中,深度相机标定的第二内参矩阵和深度值可以是相机出厂时进行标定后的结果。在一些实施例中,可以通过读取第二成像设备中存储的数据,得到深度相机标定的第二内参矩阵和深度值。
[0080]
在一些实施例中,点云数据可以包括深度图像的多个3d点。如前所述,深度图像和红外图像中的像素点一一对应,红外图像中的像素点为2d点,因此,通过深度图像可以得到多个2d点。
[0081]
在一些实施例中,可以通过对深度图像进行处理,将深度图像中的多个2d点转换为多个3d点,进而得到表征多个3d点的点云数据。在一些实施例中,可以将点云数据中包括的多个3d点确定为多个第二特征点,得到多个第二特征点的第二坐标矩阵。
[0082]
在一些实施例中,可以通过如下公式(1),得到第二坐标矩阵:
[0083][0084]
其中,表示第二坐标矩阵,k
ir
表示深度相机的第二内参矩阵,p
ir
表示深度图像中的多个2d点对应的坐标矩阵,也即红外图像中的多个2d点对应的坐标矩阵,z
ir
表示深度相机的深度。
[0085]
在步骤s12中,基于所述第一坐标矩阵和所述第二坐标矩阵,确定目标损失函数的损失值,其中,所述目标损失函数中的待调整参数包括所述第一成像设备的第一内参矩阵和第一外参矩阵,所述损失值用于表征所述第二特征点从所述第二成像设备的坐标系投影至所述第一成像设备的坐标系得到的投影点与所述第一特征点之间的差异。
[0086]
在一些实施例中,第一外参矩阵可以包括旋转矩阵和平移矩阵。第一外参矩阵可以表征第一成像设备和第二成像设备之间的位姿关系。在一些实施例中,可以基于第一内参矩阵和第一外参矩阵,对第二坐标矩阵进行处理,将第二特征点从第二成像设备的坐标系投影至第一成像设备的坐标系,得到第二特征点的投影点。
[0087]
在一些实施例中,可以通过如下公式(2),得到多个第二特征点的投影点的坐标矩阵:
[0088][0089]
其中,p
rgb

表示多个第二特征点的投影点的坐标矩阵,r表示第一外参矩阵中的旋转矩阵,表示第二坐标矩阵,t表示第一外参矩阵中的平移矩阵。
[0090]
在一些实施例中,多个第一特征点和多个第二特征点为具备匹配关系的点,即多个第一特征点和多个第二特征点一一对应。第二特征点的投影点可以将第二特征点和第一特征点投影至一个坐标系下,因此,通过多个第二特征点的投影点与多个第一特征点之间
的差异,可以表征实际投影点与其匹配的点(即真实投影点)之间的差异,即表征实际投影点的坐标与其真实投影点的坐标之间的误差。
[0091]
在一些实施例中,可以通过如下公式(3),得到目标损失函数的损失值e:
[0092]
e=p
rgb-p
rgb

(3)
[0093]
其中,p
rgb
表示第一坐标矩阵,p
rgb

表示多个第二特征点的投影点的坐标矩阵。
[0094]
基于上述公式(2)和公式(3),目标损失函数的损失值e可以如下述公式(4)所示:
[0095][0096]
其中,p
rgb
表示第一坐标矩阵,k
rgb
表示第一内参矩阵,r表示第一外参矩阵中的旋转矩阵,表示第二坐标矩阵,t表示第一外参矩阵中的平移矩阵。
[0097]
由于等效于因此,目标损失函数的损失值e可以如下述公式(5)所示:
[0098][0099]
其中,p
rgb
表示第一坐标矩阵,k
rgb
表示第一内参矩阵,[r/t]表示第一外参矩阵,表示所述第二坐标矩阵。
[0100]
根据上述公式(5)可知,通过第一坐标矩阵和第二坐标矩阵构建的目标损失函数中,第一坐标矩阵可通过彩色图像得到,第二坐标矩阵可通过深度图像得到,第一坐标矩阵和第二坐标矩阵均为已知参数,第一内参矩阵和第一外参矩阵为未知参数,即为待调整参数。因此,在调整损失函数的损失值的过程中,可以同时调整第一内参矩阵和第一外参矩阵,进而实现第一内参矩阵和第一外参矩阵的同时优化。
[0101]
在步骤s13中,根据所述损失值对所述目标损失函数中的所述第一内参矩阵和所述第一外参矩阵进行调整,得到使得所述目标损失函数满足预设条件的目标第一内参矩阵值和目标第一外参矩阵值。
[0102]
在一些实施例中,可以对第一内参矩阵和第一外参矩阵进行调整,使得目标损失函数的损失值满足预设条件,例如,损失值小于预设阈值或不再变化,得到目标第一内参矩阵值和目标第一外参矩阵值。
[0103]
在一些实施例中,还可以对第一内参矩阵和第一外参矩阵进行调整,使得目标损失函数对应的增量方程满足预设条件,例如,增量方程求解得到的增量矩阵满足预设条件(例如,增量矩阵中各增量元素值小于预设阈值或不再变化),得到目标第一内参矩阵值和目标第一外参矩阵值。
[0104]
在一些实施例中,可以基于对应目标损失函数的增量方程,对第一内参矩阵和第一外参矩阵进行迭代运算,得到目标第一内参矩阵值和目标第一外参矩阵值。在一些实施例中,增量方程可以用于表征目标损失函数的损失值和目标损失函数的雅各比矩阵与增量矩阵之间的映射关系。在一些实施例中,雅各比矩阵的取值是第一内参矩阵的取值和第一外参矩阵的取值决定的。
[0105]
如前公式(5)所示,目标损失函数的损失值e满足如前公式(5)所示,目标损失函数的损失值e满足在一些实施例中,由于第一坐标矩阵p
rgb
为2d特征点,即目标损失函数的
损失值e可以表征二维像素坐标误差。进而,可以令p
rgb
=u,其中,u=(u,v,1),并令k
rgb
=k,[r/t]=t,使得目标损失函数的损失值e满足e=u-k*t*p。
[0106]
在一些实施例中,可以对目标损失函数求一阶导数,得到雅各比矩阵。其中,目标损失函数中的未知量包括第一内参矩阵k
rgb
和第一外参矩阵[r/t]。在一些实施例中,第一内参矩阵f
x
和fy分别为表征第一成像设备的x方向上的焦距和y方向上的焦距,cx和cy分别表示镜头的中心在x方向上的偏移量和y方向上的偏移量。
[0107]
在一些实施例中,f
x
与fy的数值相同,因此,在雅各比矩阵中,可以仅包含未知量f
x
、cx、cy以及[r/t],进而,目标损失函数对应的雅各比矩阵j(x)如下公式(6)所示:
[0108][0109]
如前所述,目标损失函数的损失值e=u-k*t*p,可以将目标损失函数的损失值写成矩阵形式,令t*p=p

,其中,p

=(x

,y

,z

)。由此可知,x

,y

,z

分别为所述第二坐标矩阵中x轴坐标值、y轴坐标值以及z轴坐标值与所述第一外参矩阵计算得到的结果,即进行点乘运算后的结果。
[0110]
假设目标损失函数的损失值e满足e=0,则可以得到如下公式(7):
[0111][0112]
关于公式(7)中各个参数的含义已在上文中进行说明,在此不再赘述。
[0113]
根据公式(7)的矩阵运算结果,可得如下公式(8):
[0114][0115]
将公式(8)代入上述公式(6),可以得到雅各比矩阵j(x)的最终结果,如下公式(9)所示:
[0116][0117]
其中,x

,y

,z

分别为所述第二坐标矩阵中x轴坐标值、y轴坐标值以及z轴坐标值与所述第一外参矩阵计算得到的结果,f
x
和fy分别为所述第一内参矩阵中表征所述第一成像设备的x方向上的焦距和y方向上的焦距。
[0118]
在一些实施例中,可以基于目标损失函数的损失值和目标损失函数的雅各比矩阵与增量矩阵之间的映射关系,构建增量方程。在一些实施例中,增量方程可以如下公式(10)
所示:
[0119]
[j(x)
t
*j(x)*δx+λi]=-j(x)
t
*e](10)
[0120]
其中,j(x)表示所述雅各比矩阵,j(x)
t
表示所述雅各比矩阵的转置,δx表示所述增量矩阵,λ表示常数,i表示单位矩阵,e表示目标损失函数的损失值。
[0121]
在一些实施例中,可以基于增量方程,对第一内参矩阵和第一外参矩阵进行迭代运算,得到目标第一内参矩阵值和目标第一外参矩阵值。关于迭代运算的具体细节可以参见图2及其相关描述,在此不再赘述。
[0122]
图2是根据本公开一示例性实施例示出的迭代运算的流程图,如图2所示,所述方法包括以下步骤:
[0123]
在步骤s21中,执行至少一轮迭代处理,每轮所述迭代处理包括:获取当前轮的第一内参矩阵值、当前轮的第一外参矩阵值以及当前轮的所述目标损失函数的损失值,将所述当前轮的第一内参矩阵值、所述当前轮的第一外参矩阵值以及所述当前轮的所述目标损失函数的损失值输入至所述增量方程,确定当前轮的增量矩阵值。
[0124]
在步骤s22中,当所述当前轮的增量矩阵值满足所述预设条件时,基于该当前轮的增量矩阵值对所述初始第一内参矩阵值和所述初始第一外参矩阵值进行运算,得到所述目标第一内参矩阵值和所述目标第一外参矩阵值。
[0125]
在一些实施例中,当迭代处理是第一轮时,当前轮的第一内参矩阵值为初始第一内参矩阵值,当前轮的第一外参矩阵值为初始第一外参矩阵值;当迭代处理不是第一轮时,当前轮的第一内参矩阵值和当前轮的第一外参矩阵值基于前一轮的增量矩阵值对前一轮的第一内参矩阵值和前一轮的第一外参矩阵值进行运算得到。
[0126]
在一些实施例中,初始第一内参矩阵值和初始第一外参矩阵值可以是第一成像设备出厂时的标定值。在一些实施例中,可以通过读取第一成像设备存储的数据,得到初始第一内参矩阵值和初始第一外参矩阵值。
[0127]
在一些实施例中,增量矩阵值中可以包含多个增量值,例如,可以包含与变量f
x
、fy、cx、cy、r以及t各自对应的增量值。关于变量f
x
、fy、cx、cy、r以及t各自的含义均在前文有相应说明,在此不再赘述。在一些实施例中,当迭代处理不是第一轮时,当前轮的第一内参矩阵值和当前轮的第一外参矩阵值基于前一轮的增量矩阵值对前一轮的第一内参矩阵值和前一轮的第一外参矩阵值进行求和运算得到。例如,可以基于前一轮的增量矩阵值对前一轮的第一内参矩阵值中各变量对应的值增加对应增量值,以及对前一轮的第一外参矩阵值中各变量对应的值增加对应增量值,得到当前轮的第一内参矩阵值和当前轮的第一外参矩阵值。
[0128]
示例地,当迭代处理是第一轮时,可以将初始第一内参矩阵值[k
rgb
]0和初始第一外参矩阵值[r/t]0输入至目标损失函数中,得到第一轮的目标损失函数的损失值e1,将初始第一内参矩阵值[k
rgb
]0、初始第一外参矩阵值[r/t]0输入至雅各比矩阵j(x)中,得到第一轮的雅各比矩阵j(x)1,进而,将第一轮的损失值e1和第一轮的雅各比矩阵j(x)1输入至增量方程中,由上述增量方程(10)可知,增量方程中的常数λ,单位矩阵i、损失值e1和雅各比矩阵j(x)1均为已知量,则通过该增量方程的求解,可以得到第一轮的增量矩阵值δx1。当迭代处理是第二轮时,第二轮的目标损失函数的损失值e2可以是第一轮的损失值e1和第一轮的增量矩阵值δx1中与目标损失函数的损失值对应的增量值的求和运算结果,第二轮的雅各比
矩阵j(x)2可以是第一轮的雅各比矩阵j(x)1和第一轮的增量矩阵值δx1中与雅各比矩阵中各元素对应的增量值的求和运算结果,进而,将第二轮的损失值e2和第二轮的雅各比矩阵j(x)2输入至增量方程中,可以得到第二轮的增量矩阵值δx2。以此类推,可执行n(其中,n≥1)轮迭代处理,并得到每一轮的增量矩阵值。值得说明的是,由于雅各比矩阵和目标损失函数中的未知量均与第一内参矩阵值和第一外参矩阵值相关,因此,将当前轮的第一内参矩阵值和当前轮的第一外参矩阵值输入至增量方程中,即可得到当前轮的增量矩阵值。
[0129]
在一些实施例中,当当前轮的增量矩阵值满足预设条件时,可以基于该当前轮的增量矩阵值对初始第一内参矩阵值和初始第一外参矩阵值进行运算,得到目标第一内参矩阵值和目标第一外参矩阵值。在一些实施例中,增量矩阵值满足预设条件可以是指增量矩阵中各增量值不再变化,或小于预设阈值。预设阈值可以根据实际情况具体设置,在此不再赘述。可以理解的,增量矩阵中各增量值可以对应不同的预设阈值。
[0130]
在一些实施例中,可以基于当前轮的增量矩阵值对初始第一内参矩阵值和初始第一外参矩阵值进行求和运算,得到目标第一内参矩阵值和目标第一外参矩阵值。在一些实施例中,可以基于当前轮的增量矩阵值对初始第一内参矩阵值中各变量对应的值增加对应增量值,以及对初始第一外参矩阵值中各变量对应的值增加对应增量值,得到目标第一内参矩阵值和目标第一外参矩阵值。值得说明的是,第一内参矩阵值和第一外参矩阵值中各变量对应的值,即各自包括的元素值。
[0131]
图3是根据本公开一示例性实施例示出的一种成像设备的参数处理装置的框图。参照图3,该装置300包括获取模块131,确定模块132和调整模块133。
[0132]
该获取模块131被配置为获取多个第一特征点的第一坐标矩阵和多个第二特征点的第二坐标矩阵,所述第一特征点和所述第二特征点分别基于第一成像设备和第二成像设备得到。
[0133]
该确定模块132被配置为基于所述第一坐标矩阵和所述第二坐标矩阵,确定目标损失函数的损失值,其中,所述目标损失函数中的待调整参数包括所述第一成像设备的第一内参矩阵和第一外参矩阵,所述损失值用于表征所述第二特征点从所述第二成像设备的坐标系投影至所述第一成像设备的坐标系得到的投影点与所述第一特征点之间的差异。
[0134]
该调整模块133被配置为根据所述损失值对所述目标损失函数中的所述第一内参矩阵和所述第一外参矩阵进行调整,得到使得所述目标损失函数满足预设条件的目标第一内参矩阵值和目标第一外参矩阵值。
[0135]
在一些实施例中,所述调整模块进一步被配置为:
[0136]
基于对应所述目标损失函数的增量方程,对所述第一内参矩阵和所述第一外参矩阵进行迭代运算,得到所述目标第一内参矩阵值和所述目标第一外参矩阵值;
[0137]
其中,所述增量方程用于表征所述目标损失函数的损失值和所述目标损失函数的雅各比矩阵与增量矩阵之间的映射关系,所述雅各比矩阵的取值是所述第一内参矩阵的取值和所述第一外参矩阵的取值决定的。
[0138]
在一些实施例中,所述调整模块进一步被配置为:
[0139]
执行至少一轮迭代处理,每轮所述迭代处理包括:获取当前轮的第一内参矩阵值、当前轮的第一外参矩阵值以及当前轮的所述目标损失函数的损失值,将所述当前轮的第一内参矩阵值、所述当前轮的第一外参矩阵值以及所述当前轮的所述目标损失函数的损失值
输入至所述增量方程,确定当前轮的增量矩阵值;
[0140]
其中,当所述迭代处理是第一轮时,所述当前轮的第一内参矩阵值为初始第一内参矩阵值,所述当前轮的第一外参矩阵值为初始第一外参矩阵值;当所述迭代处理不是第一轮时,所述当前轮的第一内参矩阵值和所述当前轮的第一外参矩阵值基于前一轮的增量矩阵值对前一轮的第一内参矩阵值和前一轮的第一外参矩阵值进行运算得到;
[0141]
当所述当前轮的增量矩阵值满足所述预设条件时,基于该当前轮的增量矩阵值对所述初始第一内参矩阵值和所述初始第一外参矩阵值进行运算,得到所述目标第一内参矩阵值和所述目标第一外参矩阵值。
[0142]
在一些实施例中,所述第一成像设备为彩色相机,所述第二成像设备为深度相机;
[0143]
所述获取多个第一特征点的第一坐标矩阵和多个第二特征点的第二坐标矩阵,包括:
[0144]
基于所述彩色相机采集的彩色图像,确定多个第一特征点的第一坐标矩阵;
[0145]
基于所述深度相机标定的第二内参矩阵和深度值,对所述深度相机采集的深度图像进行处理,得到点云数据;
[0146]
基于所述点云数据,确定所述多个第二特征点的第二坐标矩阵。
[0147]
在一些实施例中,所述目标损失函数的损失值e为:
[0148][0149]
其中,p
rgb
表示所述第一坐标矩阵,k
rgb
表示所述第一内参矩阵,[r/t]表示所述第一外参矩阵,表示所述第二坐标矩阵。
[0150]
在一些实施例中,所述雅各比矩阵j(x)为:
[0151][0152]
其中,x

,y

,z

分别为所述第二坐标矩阵中x轴坐标值、y轴坐标值以及z轴坐标值与所述第一外参矩阵计算得到的,f
x
和fy分别为所述第一内参矩阵中表征所述第一成像设备的x方向上的焦距和y方向上的焦距。
[0153]
在一些实施例中,所述增量方程为:
[0154]
[j(x)
t
*j(x)*δx+λi]=-j(x)
t
*e]
[0155]
其中,j(x)表示所述雅各比矩阵,j(x)
t
表示所述雅各比矩阵的转置,δx表示所述增量矩阵,λ表示常数,i表示单位矩阵,e表示所述目标损失函数的损失值。
[0156]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0157]
本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的成像设备的参数处理方法的步骤。
[0158]
图4是根据一示例性实施例示出的一种用于成像设备的参数处理的装置400的框图。例如,装置400可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平
板设备,医疗设备,健身设备,个人数字助理等。
[0159]
参照图4,装置400可以包括以下一个或多个组件:处理组件402,存储器404,电力组件406,多媒体组件408,音频组件410,输入/输出(i/o)的接口412,传感器组件414,以及通信组件416。
[0160]
处理组件402通常控制装置400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件402可以包括一个或多个处理器420来执行指令,以完成上述的成像设备的参数处理方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便于处理组件402和其他组件之间的交互。例如,处理组件402可以包括多媒体模块,以方便多媒体组件408和处理组件402之间的交互。
[0161]
存储器404被配置为存储各种类型的数据以支持在装置400的操作。这些数据的示例包括用于在装置400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0162]
电力组件406为装置400的各种组件提供电力。电力组件406可以包括电源管理系统,一个或多个电源,及其他与为装置400生成、管理和分配电力相关联的组件。
[0163]
多媒体组件408包括在所述装置400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置摄像头和/或后置摄像头。当装置400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0164]
音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个麦克风(mic),当装置400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件416发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。
[0165]
i/o接口412为处理组件402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0166]
传感器组件414包括一个或多个传感器,用于为装置400提供各个方面的状态评估。例如,传感器组件414可以检测到装置400的打开/关闭状态,组件的相对定位,例如所述组件为装置400的显示器和小键盘,传感器组件414还可以检测装置400或装置400一个组件的位置改变,用户与装置400接触的存在或不存在,装置400方位或加速/减速和装置400的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感
器,磁传感器,压力传感器或温度传感器。
[0167]
通信组件416被配置为便于装置400和其他设备之间有线或无线方式的通信。装置400可以接入基于通信标准的无线网络,如wifi,4g或5g,或它们的组合。在一个示例性实施例中,通信组件416经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件416还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
[0168]
在示例性实施例中,装置400可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述成像设备的参数处理方法。
[0169]
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器404,上述指令可由装置400的处理器420执行以完成上述成像设备的参数处理方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0170]
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的成像设备的参数处理方法的代码部分。
[0171]
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0172]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1