一种摄像头标定方法、装置、电子设备及存储介质转让专利

申请号 : CN202010101645.X

文献号 : CN111275771A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 董帅陈厚东钱万宇何煦邹昆李文生

申请人 : 电子科技大学中山学院

摘要 :

本申请提供一种摄像头标定方法、装置、电子设备及存储介质,包括:获取虚拟摄像头在不同位姿参数下拍摄的沿着预设轨迹运动的机械臂的视频;提取虚拟摄像头在每一位姿参数下拍摄的视频的每一帧第一特征图像对应的第一光流特征向量;获取待标定的现实摄像头拍摄沿着预设轨迹运动的视频的每一帧第二特征图像的第二光流特征向量;计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合率;根据每一位姿参数下每一帧第一特征图像对应的重合率确定每一位姿参数对应的总重合率;将总重合率最高的虚拟摄像头的位姿参数确定为待标定的现实摄像头的位姿参数。

权利要求 :

1.一种摄像头标定方法,其特征在于,所述方法包括:

获取虚拟摄像头在不同位姿参数下拍摄的沿着预设轨迹运动的机械臂的视频,所述位姿参数包括虚拟摄像头相对于所述机械臂的距离参数和角度参数;

提取虚拟摄像头在每一位姿参数下拍摄的视频的每一帧第一特征图像对应的第一光流特征向量;

获取待标定的现实摄像头拍摄沿着所述预设轨迹运动的视频的每一帧第二特征图像的第二光流特征向量,其中,多帧第二特征图像分别与多帧第一特征图像一一对应;

计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合率;

根据每一位姿参数下每一帧第一特征图像对应的重合率确定每一位姿参数对应的总重合率;

将总重合率最高的虚拟摄像头的位姿参数确定为所述待标定的现实摄像头的位姿参数。

2.根据权利要求1所述的方法,其特征在于,所述计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合率,包括:计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合部分;

将每一位姿参数下每一重合部分与对应的第二光流特征向量进行比值计算获得每一重合部分对应的重合率。

3.根据权利要求2所述的方法,其特征在于,所述计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合部分,包括:将每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量进行差值运算,获得每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合部分。

4.根据权利要求1所述的方法,其特征在于,所述根据每一位姿参数下每一帧第一特征图像对应的重合率确定每一位姿参数对应的总重合率,包括:将每一位姿参数下每一帧第一特征图像对应的重合率相加确定每一位姿参数对应的总重合率。

5.根据权利要求1所述的方法,其特征在于,所述提取虚拟摄像头在每一位姿参数下拍摄的视频的每一帧第一特征图像对应的第一光流特征向量,包括:将每一位姿参数下的虚拟摄像头拍摄的视频的每一帧图像分别输入预设的神经网络模型,以获取所述预设的神经网络模型输出的每一帧图像对应的第一光流特征向量。

6.根据权利要求1所述的方法,其特征在于,在所述获取虚拟摄像头在不同位姿参数下拍摄的沿着预设轨迹运动的机械臂的视频之前,所述方法还包括:获取待标定的现实摄像头在机械臂运动所述预设轨迹下拍摄的视频;

提取所述待标定的现实摄像头拍摄的视频的每一帧第二特征图像对应的第二光流特征向量;

对所述提取的每一帧第二特征图像对应的第二光流特征向量标注对应的帧序列并存储在数据库中。

7.一种摄像头标定装置,其特征在于,所述装置包括:

获取模块,用于获取虚拟摄像头在不同位姿参数下拍摄的沿着预设轨迹运动的机械臂的视频,所述位姿参数包括虚拟摄像头相对于所述机械臂的距离参数和角度参数;

提取模块,用于提取虚拟摄像头在每一位姿参数下拍摄的视频的每一帧第一特征图像对应的第一光流特征向量;

所述获取模块,还用于获取待标定的现实摄像头拍摄沿着所述预设轨迹运动的视频的每一帧第二图像的第二光流特征向量,其中,多帧第二图像分别与多帧第一图像一一对应;

计算模块,用于计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合率;

确定模块,用于根据每一位姿参数下每一帧第一特征图像对应的重合率确定每一位姿参数对应的总重合率;以及,将总重合率最高的虚拟摄像头的位姿参数确定为所述待标定的现实摄像头的位姿参数。

8.根据权利要求7所述的装置,其特征在于,所述计算模块具体用于计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合部分;

将每一位姿参数下每一重合部分与对应的第二光流特征向量进行比值计算获得每一重合部分对应的重合率。

9.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法。

10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法。

说明书 :

一种摄像头标定方法、装置、电子设备及存储介质

技术领域

[0001] 本申请涉及摄像头位姿参数标定技术领域,具体而言,涉及一种摄像头标定方法、装置、电子设备及存储介质。

背景技术

[0002] 传统摄像头位姿参数标定在标定过程中始终需要使用标定物来进行辅助标定,标定物的位置需要人工不断的移动摆放,标定物的制作精度会影响标定结果;且环境复杂的场合中不适合放置标定物也会限制传统相机标定法的应用,因此,传统的摄像头标定方法存在人工操作繁琐,标定物精度要求高,复杂环境适应性低的问题。

发明内容

[0003] 本申请实施例的目的在于提供一种摄像头标定方法、装置、电子设备及存储介质,用以解决传统的摄像头标定方法存在的人工操作繁琐,标定物精度要求高,复杂环境适应性低的问题。
[0004] 第一方面,实施例提供一种摄像头标定方法,所述方法包括:获取虚拟摄像头在不同位姿参数下拍摄的沿着预设轨迹运动的机械臂的视频,所述位姿参数包括虚拟摄像头相对于所述机械臂的距离参数和角度参数;提取虚拟摄像头在每一位姿参数下拍摄的视频的每一帧第一特征图像对应的第一光流特征向量;获取待标定的现实摄像头拍摄沿着所述预设轨迹运动的视频的每一帧第二图像的第二光流特征向量,其中,多帧第二图像分别与多帧第一图像一一对应;计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合率;根据每一位姿参数下每一帧第一特征图像对应的重合率确定每一位姿参数对应的总重合率;将总重合率最高的虚拟摄像头的位姿参数确定为所述待标定的现实摄像头的位姿参数。
[0005] 在上述设计的摄像头标定方法中,通过在虚拟环境下赋予不同位姿的虚拟摄像头拍摄机械臂运动预设轨迹的图像,并根据每一位姿的虚拟摄像头拍摄的第一特征图像提取对应的第一光流特征向量,进而计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与待标定摄像头拍摄同一机械臂运动该预设轨迹对应帧的第二特征图像提取的第二光流特征向量的重合率,将总重合率最高的虚拟摄像头的位姿参数确定为待标定摄像头的位姿参数,解决了传统的摄像头标定方法存在的人工操作繁琐,标定物精度要求高,复杂环境适应性低的问题,提高机械臂摄像头位姿参数标定的准确性和效率。
[0006] 在第一方面的可选实施方式中,所述计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合率,包括:计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合部分;将每一位姿参数下每一重合部分与对应的第二光流特征向量进行比值计算获得每一重合部分对应的重合率。
[0007] 在第一方面的可选实施方式中,所述计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合部分,包括:将每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量进行差值运算,获得每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合部分。
[0008] 在第一方面的可选实施方式中,所述根据每一位姿参数下每一帧第一特征图像对应的重合率确定每一位姿参数对应的总重合率,包括:
[0009] 将每一位姿参数下每一帧第一特征图像对应的重合率相加确定每一位姿参数对应的总重合率。
[0010] 在第一方面的可选实施方式中,所述提取虚拟摄像头在每一位姿参数下拍摄的视频的每一帧第一特征图像对应的第一光流特征向量,包括:将每一位姿参数下的虚拟摄像头拍摄的视频的每一帧图像分别输入预设的神经网络模型,以获取所述预设的神经网络模型输出的每一帧图像对应的第一光流特征向量。
[0011] 在第一方面的可选实施方式中,在所述获取虚拟摄像头在不同位姿参数下拍摄的沿着预设轨迹运动的机械臂的视频之前,所述方法还包括:获取待标定的现实摄像头在机械臂运动所述预设轨迹下拍摄的视频;提取所述待标定的现实摄像头拍摄的视频的每一帧第二特征图像对应的第二光流特征向量;对所述提取的每一帧第二特征图像对应的第二光流特征向量标注对应的帧序列并存储在数据库中。
[0012] 第二方面,实施例提供一种摄像头位姿参数标定装置,所述装置包括:获取模块,用于获取虚拟摄像头在不同位姿参数下拍摄的沿着预设轨迹运动的机械臂的视频,所述位姿参数包括虚拟摄像头相对于所述机械臂的距离参数和角度参数;提取模块,用于提取虚拟摄像头在每一位姿参数下拍摄的视频的每一帧第一特征图像对应的第一光流特征向量;所述获取模块,还用于获取待标定的现实摄像头拍摄沿着所述预设轨迹运动的视频的每一帧第二图像的第二光流特征向量,其中,多帧第二图像分别与多帧第一图像一一对应;计算模块,用于计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合率;确定模块,用于根据每一位姿参数下每一帧第一特征图像对应的重合率确定每一位姿参数对应的总重合率;以及,将总重合率最高的虚拟摄像头的位姿参数确定为所述待标定的现实摄像头的位姿参数。
[0013] 在上述设计的摄像头标定装置中,通过在虚拟环境下赋予不同位姿的虚拟摄像头拍摄机械臂运动预设轨迹的图像,并根据每一位姿的虚拟摄像头拍摄的第一特征图像提取对应的第一光流特征向量,进而计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与待标定摄像头拍摄同一机械臂运动该预设轨迹对应帧的第二特征图像提取的第二光流特征向量的重合率,将总重合率最高的虚拟摄像头的位姿参数确定为待标定摄像头的位姿参数,解决了传统的摄像头标定方法存在的人工操作繁琐,标定物精度要求高,复杂环境适应性低的问题,提高机械臂摄像头位姿参数标定的准确性和效率。
[0014] 在第二方面的可选实施方式中,所述计算模块具体用于计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合部分;将每一位姿参数下每一重合部分与对应的第二光流特征向量进行比值计算获得每一重合部分对应的重合率。
[0015] 在第二方面的可选实施方式中,所述提取模块,具体用于将每一位姿参数下的虚拟摄像头拍摄的视频的每一帧图像分别输入预设的神经网络模型,以获取所述预设的神经网络模型输出的每一帧图像对应的第一光流特征向量。
[0016] 在第二方面的可选实施方式中,所述确定模块,具体用于将每一位姿参数下每一帧第一特征图像对应的重合率相加确定每一位姿参数对应的总重合率。
[0017] 在第二方面的可选实施方式中,所述获取模块,还用于获取待标定的现实摄像头在机械臂运动所述预设轨迹下拍摄的视频;所述提取模块,还用于提取所述待标定的现实摄像头拍摄的视频的每一帧第二特征图像对应的第二光流特征向量;标注存储模块,用于对所述提取的每一帧第二特征图像对应的第二光流特征向量标注对应的帧序列并存储在数据库中。
[0018] 第三方面,实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时执行第一方面、第一方面的任一可选的实现方式中的所述方法。
[0019] 第四方面,实施例提供一种非暂态可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时执行第一方面、第一方面的任一可选的实现方式中的所述方法。
[0020] 第五方面,实施例提供了一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面、第一方面的任一可选的实现方式中的所述方法。

附图说明

[0021] 为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0022] 图1为本申请实施例提供的摄像头位姿参数标定方法第一流程图;
[0023] 图2为本申请实施例提供的摄像头位姿参数标定方法第二流程图;
[0024] 图3为本申请实施例提供的摄像头位姿参数标定方法第三流程图;
[0025] 图4为本申请实施例提供的摄像头位姿参数标定方法第四流程图;
[0026] 图5为本申请实施例提供的摄像头位姿参数标定装置结构图;
[0027] 图6为本申请实施例提供的电子设备结构图。
[0028] 图标:200-获取模块;202-提取模块;204-计算模块;206-确定模块;208-标注存储模块;3-电子设备;301-处理器;302-存储器;303-通信总线。

具体实施方式

[0029] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
[0030] 第一实施例
[0031] 如图1所示,本申请实施例提供一种摄像头标定方法,该方法可应用于服务器,该方法具体包括如下步骤:
[0032] 步骤S100:获取虚拟摄像头在不同位姿参数下拍摄的沿着预设轨迹运动的机械臂的视频。
[0033] 步骤S102:提取虚拟摄像头在每一位姿参数下拍摄的视频的每一帧第一特征图像对应的第一光流特征向量。
[0034] 步骤S104:获取待标定的现实摄像头拍摄沿着所述预设轨迹运动的视频的每一帧第二特征图像的第二光流特征向量,其中,多帧第二特征图像分别与多帧第一特征图像一一对应。
[0035] 步骤S106:计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合率。
[0036] 步骤S108:根据每一位姿参数下每一帧第一特征图像对应的重合率确定每一位姿参数对应的总重合率。
[0037] 步骤S110:将总重合率最高的虚拟摄像头的位姿参数确定为所述待标定的现实摄像头的位姿参数。
[0038] 在步骤S100之前,本方案选择利用Unity软件来建立虚拟场景达到有效还原真实场景的实验需求的前提下,还避免了真实场景中对试验结果造成不必要的影响。具体是,将现实机械臂和现实摄像头的内置参数导入Unity中,建立虚拟场景下的3D模型,根据现实机械臂的运动轨迹在Unity软件中预定义一套机械臂的运动轨迹,也就是步骤100中的预设轨迹,让软件中的虚拟机械臂在该运动轨迹下进行运动,利用现实摄像头采集该机械臂在该运动轨迹下的视频,其中,该现实摄像头为本申请中位姿参数待标定的摄像头。在此之后,可在Unity中添加不同位姿参数的虚拟摄像头对虚拟机械臂运动该预设轨迹进行拍摄。在不同位姿参数的虚拟摄像头分别对该机械臂运动该预设轨迹进行拍摄之后,服务器执行步骤S100,服务器可获取到Unity建立的模型中不同位姿参数的虚拟摄像头在该虚拟机械臂运动该预设轨迹下拍摄获得视频,进而执行步骤S102。其中,不同位姿的虚拟摄像头表示虚拟摄像头相对于机械臂有不同的距离以及不同的角度。建立多个不同位姿的虚拟摄像头的原因在于机械臂沿同一轨迹运动,不同位姿的摄像头捕捉到的光流会因为摄像头与机械臂的相对距离和角度的不同产生差异;具体的,在机械臂与摄像头间角度不变的情况下,距离差距变化越小,捕获的光流差异越小;在机械臂与摄像头间距离不变的情况下,角度差距变化越小,捕获的光流差异越小。因此,需要建立多个不同位姿的虚拟摄像头。
[0039] 在步骤S102中,服务器通过步骤S100获取到不同位姿的虚拟摄像头拍摄的视频之后,提取虚拟摄像头在每一位姿参数下拍摄的视频的每一帧第一特征图像对应的第一光流特征向量。其中,每一帧第一特征图像对应的第一光流向量可相同也可不同,具体的,第一光流特征向量具体可为一个矩阵,例如,矩阵 计算第一光流特征向量的方法可根据传统的稠密光流算法进行计算,例如,传统的L1-光流(L1-范数)和L2-光流(L2-范数)来进行计算,也可以根据现有的基于Gunner_Farneback算法计算稠密光流,在通过步骤S102提取虚拟摄像头在每一位姿参数下拍摄的视频的每一帧第一特征图像对应的第一光流特征向量之后,执行步骤S104。
[0040] 在步骤S104中,前述已经描述到现实摄像头会对现实机械臂运动该预设轨迹的过程也会拍摄视频,可提前对该视频进行如步骤S102的类似处理,进而获得待标定的现实摄像头拍摄沿着所述预设轨迹运动的视频的每一帧第二特征图像的第二光流特征向量,并可将获得的每一帧第二特征图像的第二光流特征向量存储在数据库中,其中,每一帧第二特征图像的第二光流特征向量的帧序列与每一帧第一特征图像的第一光流特征向量的帧序列一一对应,例如,第一帧第二特征图像的第二光流特征向量和第一帧第一特征图像的第一光流特征向量对应。在步骤S104获取待标定的现实摄像头拍摄沿着所述预设轨迹运动的视频的每一帧第二特征图像的第二光流特征向量之后,执行步骤S106。
[0041] 在步骤S106中,计算步骤S102提取到的每一位姿参数下拍摄的视频的每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合率,例如,计算某一位姿参数下第一帧第一特征图像对应的第一光流特征向量与第一帧第二特征图像对应的第二光流特征向量的重合率,由于视频有很多帧,因此进而可获得多个重合率。
[0042] 在确定出每一位姿参数的每一帧对应的重合率之后,执行步骤S108,根据每一位姿参数下每一帧第一特征图像对应的重合率确定每一位姿参数对应的总重合率,在确定出总重合率之后,执行步骤S110将总重合率最高的虚拟摄像头的位姿参数确定为所述待标定的现实摄像头的位姿参数,也就是说当虚拟摄像头拍摄第一特征图像对应的第一光流特征向量与现实摄像头拍摄第二特征图像对应的第二光流特征向量重合率高,那么则虚拟摄像头对应的位姿参数也就是相对于机械臂的距离和角度即是现实摄像头的位姿参数,那么则根据该Unity中赋予的该虚拟摄像头的位姿来对该现实摄像头的位姿参数进行标定。
[0043] 在上述设计的摄像头标定方法中,通过在虚拟环境下赋予不同位姿的虚拟摄像头拍摄机械臂运动预设轨迹的图像,并根据每一位姿的虚拟摄像头拍摄的第一特征图像提取对应的第一光流特征向量,进而计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与待标定摄像头拍摄同一机械臂运动该预设轨迹对应帧的第二特征图像提取的第二光流特征向量的重合率,将总重合率最高的虚拟摄像头的位姿参数确定为待标定摄像头的位姿参数,解决了传统的摄像头标定方法存在的人工操作繁琐,标定物精度要求高,复杂环境适应性低的问题,提高机械臂摄像头位姿参数标定的准确性和效率。
[0044] 在本实施例的可选实施方式中,步骤S104计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合率,如图2所示,具体可为如下步骤:
[0045] 步骤S1040:计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合部分。
[0046] 步骤S1042:将每一位姿参数下每一重合部分与对应的第二光流特征向量进行比值计算获得每一重合部分对应的重合率。
[0047] 在步骤S1040中,计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合部分具体可为将每一位姿参数中每一帧第一特征图像对应的第一光流特征向量与对应的第二光流特征向量进行差值运算,获得重合部分,前述已经描述到第一光流特征向量具体可为一个矩阵,例如,矩阵 那么第二光流特征向量也可以是一个矩阵,例如,矩阵 那么此时,某一位姿参数下某同一帧的第一
光流特征向量和第二光流特征向量的重合部分即为:
[0048] Subm×n=Am×n-Bm×n=[aij]m×n-[bij]m×n=[aij-bij]m×n;
[0049] 进而可以得到两个向量的重叠部分,再执行步骤S1042将重合部分与预设光流特征向量进行比值计算获得重合率,在此基础上,步骤S106根据每一位姿参数下每一帧第一特征图像对应的重合率确定每一位姿参数对应的总重合率,具体可为:
[0050] 步骤S1060:将每一位姿参数下每一帧第一特征图像对应的重合率相加确定每一位姿参数对应的总重合率。
[0051] 那么,此时的总重合率计算公式可为:假设总重合率为P,那么计算P的具体过程为:
[0052]
[0053] 其中,n表示某一位姿参数下第一特征图像和第二特征图像的个数。
[0054] 在本实施例的可选实施方式中,步骤S102提取虚拟摄像头在每一位姿参数下拍摄的视频的每一帧第一特征图像对应的第一光流特征向量,如图3所示,具体可为如下步骤:
[0055] 步骤S1020:将每一位姿参数下的虚拟摄像头拍摄的视频的每一帧图像分别输入预设的神经网络模型,以获取预设的神经网络模型输出的每一帧图像对应的第一光流特征向量。
[0056] 在步骤S1020中可利用目前已经训练完成的flownet神经网络模型来提取不同位姿的虚拟摄像头拍摄的第一特征图像的第一光流特征向量,也可以提取待标定摄像头拍摄的第二特征图像的第二光流特征向量,具体的,可将每一位姿参数的虚拟摄像头拍摄的第一特征图像输入该预先训练完毕的flownet神经网络模型,进而神经网络模型输出后获得每一位姿参数每一帧第一特征的第一光流特征向量。
[0057] 在上述设计的实施方式中,通过预先训练完成的神经网络模型来提取的摄像头拍摄的特征图像的光流特征向量,使得光流特征向量提取的速度和精准度提高,进而使得摄像头标定的速度和精准度提高。
[0058] 在本实施例的可选实施方式中,前述已经提到在步骤S100之前,现实摄像头也会对机械臂运动预设轨迹进行视频拍摄,如图4所示,具体步骤如下:
[0059] 步骤S90:获取待标定的现实摄像头在机械臂运动预设轨迹下拍摄的视频。
[0060] 步骤S92:提取待标定的现实摄像头拍摄的视频的每一帧第二特征图像对应的第二光流特征向量。
[0061] 步骤S94:对提取的每一帧第二特征图像对应的第二光流特征向量标注对应的帧序列并存储在数据库中。
[0062] 步骤S90~92的具体过程与前述的步骤S100~步骤S102的过程类似,在这里不再赘述,对于步骤S94,将提取的每一帧第二特征图像对应的第二光流特征向量标注对应的帧序列并存储在数据库中,例如对第一帧第二特征图像对于的第二光流特征向量标注帧1,以使得在进行步骤S106进行计算时,第一光流特征向量和第二光流特征向量能够准确对应。
[0063] 第二实施例
[0064] 图5出示了本申请提供的摄像头标定装置的示意性结构框图,应理解,该装置与上述图1至图4中的方法实施例对应,能够执行第一实施例中执行的方法涉及的步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,OS)中的软件功能模块。具体地,该装置包括:获取模块200,用于获取虚拟摄像头在不同位姿参数下拍摄的沿着预设轨迹运动的机械臂的视频,位姿参数包括虚拟摄像头相对于机械臂的距离参数和角度参数;提取模块202,用于提取虚拟摄像头在每一位姿参数下拍摄的视频的每一帧第一特征图像对应的第一光流特征向量;获取模块200,还用于获取待标定的现实摄像头拍摄沿着预设轨迹运动的视频的每一帧第二图像的第二光流特征向量,其中,多帧第二图像分别与多帧第一图像一一对应;计算模块204,用于计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合率;确定模块206,用于根据每一位姿参数下每一帧第一特征图像对应的重合率确定每一位姿参数对应的总重合率;以及,将总重合率最高的虚拟摄像头的位姿参数确定为待标定的现实摄像头的位姿参数。
[0065] 在上述设计的摄像头标定装置中,通过在虚拟环境下赋予不同位姿的虚拟摄像头拍摄机械臂运动预设轨迹的图像,并根据每一位姿的虚拟摄像头拍摄的第一特征图像提取对应的第一光流特征向量,进而计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与待标定摄像头拍摄同一机械臂运动该预设轨迹对应帧的第二特征图像提取的第二光流特征向量的重合率,将总重合率最高的虚拟摄像头的位姿参数确定为待标定摄像头的位姿参数,解决了传统的摄像头标定方法存在的人工操作繁琐,标定物精度要求高,复杂环境适应性低的问题,提高机械臂摄像头位姿参数标定的准确性和效率。
[0066] 在本实施例的可选实施方式中,提取模块202,具体用于将每一位姿参数下的虚拟摄像头拍摄的视频的每一帧图像分别输入预设的神经网络模型,以获取所述预设的神经网络模型输出的每一帧图像对应的第一光流特征向量。
[0067] 在本实施例的可选实施方式中,计算模块204具体用于计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合部分;将每一位姿参数下每一重合部分与对应的第二光流特征向量进行比值计算获得每一重合部分对应的重合率。
[0068] 在本实施例的可选实施方式中,确定模块206,具体用于将每一位姿参数下每一帧第一特征图像对应的重合率相加确定每一位姿参数对应的总重合率。
[0069] 在本实施例的可选实施方式中,获取模块200,还用于获取待标定的现实摄像头在机械臂运动所述预设轨迹下拍摄的视频;提取模块202,还用于提取所述待标定的现实摄像头拍摄的视频的每一帧第二特征图像对应的第二光流特征向量;标注存储模块208,用于对所述提取的每一帧第二特征图像对应的第二光流特征向量标注对应的帧序列并存储在数据库中。
[0070] 第三实施例
[0071] 如图6所示,本申请提供一种电子设备3,包括:处理器301和存储器302,处理器301和存储器302通过通信总线303和/或其他形式的连接机构(未标出)互连并相互通讯,存储器302存储有处理器301可执行的计算机程序,当计算设备运行时,处理器301执行该计算机程序,以执行时执行第一实施例、第一实施例的任一可选的实现方式中的方法,例如步骤S100~步骤S106:获取虚拟摄像头在不同位姿参数下拍摄的沿着预设轨迹运动的机械臂的视频;提取虚拟摄像头在每一位姿参数下拍摄的视频的每一帧第一特征图像对应的第一光流特征向量;获取待标定的现实摄像头拍摄沿着所述预设轨迹运动的视频的每一帧第二特征图像的第二光流特征向量,其中,多帧第二特征图像分别与多帧第一特征图像一一对应;计算每一位姿参数下每一帧第一特征图像对应的第一光流特征向量与对应的每一帧第二特征图像对应的第二光流特征向量的重合率;根据每一位姿参数下每一帧第一特征图像对应的重合率确定每一位姿参数对应的总重合率;将总重合率最高的虚拟摄像头的位姿参数确定为所述待标定的现实摄像头的位姿参数。
[0072] 本申请提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一实施例、第一实施例的任一可选的实现方式中的方法。
[0073] 其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
[0074] 本申请提供一种计算机程序产品,该计算机程序产品在计算机上运行时,使得计算机执行第一实施例、第一实施例的任一可选的实现方式中的所述方法。
[0075] 在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0076] 另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0077] 需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0078] 在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0079] 以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。