CN113066103A - 一种相机帧间运动确定方法 - Google Patents
一种相机帧间运动确定方法 Download PDFInfo
- Publication number
- CN113066103A CN113066103A CN202110290414.2A CN202110290414A CN113066103A CN 113066103 A CN113066103 A CN 113066103A CN 202110290414 A CN202110290414 A CN 202110290414A CN 113066103 A CN113066103 A CN 113066103A
- Authority
- CN
- China
- Prior art keywords
- video frame
- camera
- pixel position
- frame
- motion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种相机帧间运动确定方法,方法包括:检索第二视频帧内的目标特征点对应的地图路标点,根据第二视频帧和第一视频帧之间的相机帧间运动获取地图路标点在第三视频帧中的预估特征像素位置;构建第三视频帧的第二图像金字塔和第二视频帧的第一图像金字塔,根据预估特征像素位置获取地图路标点在第二图像金字塔的顶层预估特征像素位置,以顶层预估特征像素位置为顶层的搜索起点获取第二图像金字塔各层的最优光流位移量;根据最优光流位移量获取地图路标点在第三视频帧中的目标特征像素位置;根据目标特征像素位置获取第三视频帧和第二视频帧之间的相机帧间运动。本发明能够得到更加稳定精准的相机帧间运动。
Description
技术领域
本发明涉及视觉里程技术领域,特别涉及一种相机帧间运动确定方法。
背景技术
今年来,无人机、无人车等各类智能体的应用深度和广度不断拓展,而位置、环境信息则是移动智能体实现高度无人化与定位导航的数据基础,视觉同步定位与建图(Visual Simultaneous Localization and Mapping,VSLAM)是指利用视觉传感器获取外接图像数据来解算载体位置、环境模型的相关技术,其中,视觉位姿估计是VSLAM系统的基础工作,是VSALM系统最终性能表现的重要决定因素,视觉位姿估计是获取拍摄视频的相机在各个时刻的姿态和位置,视觉位姿估计可以通过获取相机在不同时刻拍摄的图像的帧间运动得到。
基于特征的视觉里程计能够通过特征提取、匹配获取帧间对应关系,可以在大空间跨度下解算帧间位姿,特征跟踪是特征法里程计的重要环节,模板匹配与光流追踪是实现特征跟踪的主要手段,但是目前的特征跟踪获取帧间运动的方法中,计算量大,特征跟踪成功率和准确率较低。
因此,现有技术还有待改进和提高。
发明内容
针对现有技术的上述缺陷,本发明提供一种相机帧间运动确定方法,旨在解决现有技术中使用光流跟踪算法进行视觉位姿估计鲁棒性差的问题。
为了解决上述技术问题,本发明所采用的技术方案如下:
本发明的第一方面,提供一种相机帧间运动确定方法,所述方法包括:
检索第二视频帧内的目标特征点对应的地图路标点,根据所述第二视频帧和第一视频帧之间的第一相机帧间运动获取所述地图路标点在第三视频帧中的预估特征像素位置,其中,所述第一视频帧和所述第三视频帧分别为所述第二视频帧的前一帧和后一帧;
构建所述第三视频帧的第二图像金字塔和所述第二视频帧的第一图像金字塔,根据所述预估特征像素位置获取所述地图路标点在所述第二图像金字塔的顶层对应的顶层预估特征像素位置,以所述顶层预估特征像素位置为所述第二图像金字塔顶层的搜索起点获取所述第二图像金字塔各层的最优光流位移量;
根据所述最优光流位移量获取所述地图路标点在所述第三视频帧中的目标特征像素位置;
根据所述目标特征像素位置获取所述第三视频帧和所述第二视频帧之间的目标相机帧间运动。
所述的相机帧间运动确定方法,其中,所述根据第一视频帧和第二视频帧之间的第一相机帧间运动获取所述地图路标点在第三视频帧中的预估特征像素位置,包括:
获取相机内参矩阵;
根据所述相机内参矩阵和所述第一相机帧间运动将所述地图路标点投影至所述第三视频帧,得到所述预估特征像素位置。
所述的相机帧间运动确定方法,其中,所述所述顶层预估特征像素位置为所述第二图像金字塔顶层的搜索起点获取所述第二图像金字塔各层的最优光流位移量,包括:
对于所述图像金字塔的每一层,根据预设匹配误差函数和第一预设公式确定该层的最优光流位移量;
其中,所述匹配误差函数为:
所述第一预设公式为:
其中,p1n为所述地图路标点在所述第一金字塔序号为n的层上对应的像素位置,p1n=(x1n,y1n)=(ηnx1,ηny1),η为所述图像金字塔每层的尺度缩放因子,(x1,y1)为所述目标特征点在所述第二视频帧上的像素坐标,(x′2,y′2)为所述预估特征像素位置,p2n为所述地图路标点在所述第二金字塔上序号为n的层上对应的像素位置的预估值,p21为所述顶层预估特征像素位置,It-1(x,y)和It(x,y)分别为所述第二视频帧和所述第三视频帧上坐标为(x,y)的点的像素值,wx、wy为预设窗口尺寸参数,voptimaln为所述第二图像金字塔上序号为n的层上的最优光流位移量,voptimaln为使得所述匹配误差函数最小时的vn,所述图像金字塔共有α+1层,n为所述图像金字塔的层数序号,n=0,1,...,α。
所述的相机帧间运动确定方法,其中,所述根据所述最优光流位移量获取所述地图路标点在所述第三视频帧中的目标特征像素位置,包括:
根据第二预设公式获取所述目标特征像素位置;
所述第二预设公式为:
p2=p20+voptimal0;
其中,p2为所述目标特征像素位置。
所述的相机帧间运动确定方法,其中,所述根据所述目标特征像素位置获取所述第三视频帧和所述第二视频帧之间的目标相机帧间运动,包括:
根据所述目标特征像素位置获取所述地图路标点的重投影误差;
根据所述重投影误差构建关于相机帧间运动的代价函数;
对所述代价函数进行最小化求解,获取所述目标相机帧间运动。
所述的相机帧间运动确定方法,其中,所述根据所述目标特征像素位置获取所述地图路标点的重投影误差,包括:
根据第三预设公式获取所述地图路标点的重投影误差;
其中,所述第三预设公式为:
其中,p2为所述目标特征像素位置,P为所述地图路标点的齐次坐标,T为相机帧间运动矩阵,K为相机内参矩阵,Z2为T·P得到的Z坐标。
所述的相机帧间运动确定方法,其中,所述代价函数为:
其中,ei为第i个所述地图路标点的重投影误差,N为所述地图路标点的个数。
本发明的第二方面,提供一种相机帧间运动确定装置,包括:
检索模块,用于检索第二视频帧内的目标特征点对应的地图路标点,根据所述第二视频帧和第一视频帧之间的第一相机帧间运动获取所述地图路标点在第三视频帧中的预估特征像素位置,其中,所述第一视频帧和所述第三视频帧分别为所述第二视频帧的前一帧和后一帧;
金字塔寻优模块,用于构建所述第三视频帧的第二图像金字塔和所述第二视频帧的第一图像金字塔,根据所述预估特征像素位置获取所述地图路标点在所述第二图像金字塔的顶层对应的顶层预估特征像素位置,以所述顶层预估特征像素位置为所述第二图像金字塔顶层的搜索起点获取所述第二图像金字塔各层的最优光流位移量;
目标特征像素位置获取模块,用于根据所述最优光流位移量获取所述地图路标点在所述第三视频帧中的目标特征像素位置;
目标相机帧间运动获取模块,用于根据所述目标特征像素位置获取所述第三视频帧和所述第二视频帧之间的目标相机帧间运动。
本发明的第三方面,提供一种终端,所述终端包括处理器、与处理器通信连接的计算机可读存储介质,所述计算机可读存储介质适于存储多条指令,所述处理器适于调用所述计算机可读存储介质中的指令,以执行实现上述任一项所述的相机帧间运动确定方法的步骤。
本发明的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一项所述的相机帧间运动确定方法的步骤。
与现有技术相比,本发明提供了一种相机帧间运动确定方法、装置、终端及存储介质,所述相机帧间运动确定方法对于t帧和t+1帧(t+1帧为当前帧)之间的相机帧间运动,采用t-1帧和t帧之间的相机帧间运动预估地图路标点在t+1帧上的像素位置,并以预估的像素位置为起点进行图像金字塔光流逐层寻优,得到地图路标点在t+1帧上的可靠像素位置,根据可靠像素位置确定相机帧间运动,本发明中引入特征点位置预估机制,以预估的像素位置为起点进行光流金字塔寻求最优光流位移量,能够降低计算复杂度,提升特征跟踪的成功率和准确率,进而得到更加稳定精准的相机帧间运动。
附图说明
图1为本发明提供的相机帧间运动确定方法的实施例的流程图;
图2为本发明提供的相机帧间运动确定方法的实施例的逻辑框图;
图3为本发明提供的相机帧间运动确定方法的实施例中预估像素位置示意图;
图4为本发明提供的相机帧间运动确定装置的实施例的结构原理图;
图5为本发明提供的终端的实施例的原理示意图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例一
本发明提供的相机帧间运动确定方法,可以是应用在终端中,所述终端可以通过本发明提供的相机帧间运动确定方法在接收到视频流后进行相机帧间运动确定,获取到拍摄该视频流的相机的在视频的两帧之间的帧间运动。如图1所示,所述相机帧间运动确定方法的一个实施例中,包括步骤:
S100、检索第二视频帧内的目标特征点对应的地图路标点,根据所述第二视频帧和第一视频帧之间的第一相机帧间运动获取所述地图路标点在第三视频帧中的预估特征像素位置,其中,所述第一视频帧和所述第三视频帧分别为所述第二视频帧的前一帧和后一帧。
具体地,在本实施例中,所述第二视频帧的前一帧和后一帧分别是指拍摄所述第二视频帧的时刻的前一时刻拍摄的图像和下一时刻拍摄的图像,设所述第二视频帧为t-1时刻的图像,那么所述第一视频帧为t-2时刻的图像,所述第三视频帧为t时刻的图像。所述第一相机帧间运动是相机从t-2时刻到t-1时刻之间发生的运动。在本实施例中,所述第一相机帧间运动可以是预先设置的值,也可以是根据本实施例提供的相机帧间运动确定方法得到的,即,在通过本实施例提供的相机帧间运动确定方法确定所述第三视频帧和所述第二视频帧之间的相机帧间运动可以用于确定第四视频帧(t+1时刻的图像)和所述第三视频帧之间的相机帧间运动。
在本实施例中,先对所述第二视频帧进行特征点提取,此为现有技术,随后检索目标特征点对应的地图路标点(landmark),具体地,地图路标点为真实世界内的3D点,在获取所述目标特征点对应的地图路标点之后,获取所述地图路标点在所述第三视频帧中的预估特征像素位置。值得说明的是,所述目标特征点的数量为至少一个。
在本实施例中,基于帧间运动相似性假设,先预估所述第三视频帧和所述第二视频帧之间的相机帧间运动与所述第二视频帧和所述第一视频帧之间的相机帧间运动相同,即:
Tcurrentestimate=Tprevious
其中,Tcurrent为所述第三视频帧和所述第二视频帧之间的相机帧间运动的可靠值(即本方法需要确定的目标相机帧间运动),Tcurrentestimate为所述第三视频帧和所述第二视频帧之间的相机帧间运动的预估值,Tprevious为所述第二视频帧和所述第一视频帧之间的相机帧间运动(即所述第一相机帧间运动),Δt为两帧间的时间间隔。
如图2所示,在获取到所述第一相机帧间运动后,根据所述第一相机帧间运动对所述地图特征点进行投影,得到所述地图特征点在所述第三视频帧中的预估特征像素位置,再根据所述预估特征像素位置得到所述第三视频帧和所述第二视频帧之间的特征点对应关系,进而得到所述第三视频帧和所述第二视频帧之间的相机帧间运动的可靠值(目标相机帧间运动)。
所述根据所述第二视频帧和第一视频帧之间的第一相机帧间运动获取所述地图路标点在第三视频帧中的预估特征像素位置,包括:
S110、获取相机内参矩阵;
S120、根据所述相机内参矩阵和所述第一相机帧间运动将所述地图路标点投影至所述第三视频帧,得到所述预估特征像素位置。
如图3所示,p1和p2分别为所述地图特征点P在所述第二视频帧和所述第三视频帧上的像素位置,即p1为所述目标特征点,找到p2的准确位置,可以得到一条特征对应关系,进而用于获取所述第三视频帧和所述第二视频帧之间的相机帧间运动,在本实施例中,根据相机内矩阵和所述第一相机帧间运动将所述地图路标点投影至所述第三视频帧,得到预估特征像素位置p′2。具体地,设所述地图特征点的齐次坐标为P(X,Y,Z,1),所述预估特征像素位置可以通过下式得到:
请再次参阅图1,本实施例提供的相机帧间运动确定方法,还包括步骤:
S200、构建所述第三视频帧的第二图像金字塔和所述第二视频帧的第一图像金字塔,根据所述预估特征像素位置获取所述地图路标点在所述第二图像金字塔的顶层对应的顶层预估特征像素位置,以所述顶层预估特征像素位置为所述第二图像金字塔顶层的搜索起点获取所述第二图像金字塔各层的最优光流位移量。
具体地,图像金字塔的底层为原图像,即所述第二图像金字塔的底层(第1层)为第三视频帧,所述第一图像金字塔的底层为所述第二视频帧,每一层按照预设的尺度缩放因子进行缩放,即层数越高,分辨率越低。
所述地图路标点在所述第二图像金字塔上每一层对应的像素位置坐标为:p1n=(x1n,y1n)=(ηnx1,ηny1),η为所述图像金字塔每层的尺度缩放因子,(x1,y1)为所述目标特征点在所述第一视频帧上的像素坐标,所述图像金字塔共有α+1层,n为所述图像金字塔的层数序号,n=0,1,...,α。在本实施例中从所述图像金字塔的顶层开始,以逐层迭代的方式获取所述地图路标点在所述第二图像金字塔各层上的像素位置,最终得到所述地图路标点在所述第二图像金字塔的底层,即所述第三视频帧上的像素位置作为所述目标特征像素位置。
具体地,各层的所述光流位移量反映了所述地图路标点在第二图像金字塔的各层图像中对应的像素位置的预估值与可靠值之间的差异,所述第二图像金字塔中每一层的预估值通过上一层的预估值与光流位移量得到,而所述第二图像金字塔中顶层的预估值根据所述预估特征像素位置得到,具体地,所述地图路标点在所述第二图像金字塔的顶层的像素位置预估值(即所述顶层预估特征像素位置)为:
对于所述第二图像金字塔的每一层,基于灰度不变准则以所述地图路标点在该层对应的像素位置的预估值为搜索起点的窗口内进行搜索得到最优光流位移量。
具体地,所述以所述顶层预估特征像素位置为所述第二图像金字塔顶层的搜索起点获取所述第二图像金字塔各层的最优光流位移量,包括:
对于所述图像金字塔的每一层,根据预设匹配误差函数和第一预设公式确定该层的最优光流位移量;
其中,所述匹配误差函数为:
所述第一预设公式为:
其中,p1n=(x1n,y1n)=(ηnx1,ηny1),η为所述图像金字塔每层的尺度缩放因子,(x1,y1)为所述目标特征点在所述第二视频帧上的像素坐标,(x′2,y′2)为所述预估特征像素位置,p21为所述顶层预估特征像素位置,It-1(x,y)和It(x,y)分别为所述第二视频帧和所述第三视频帧上坐标为(x,y)的点的像素值,wx、wy为预设窗口尺寸参数,voptimaln为所述第二图像金字塔上序号为n的层上的最优光流位移量,voptimaln为使得所述匹配误差函数最小时的vn,所述图像金字塔共有α+1层,n为所述图像金字塔的层数序号,n=0,1,...,α。
所述匹配误差函数和所述第一预设公式中的p2n为所述地图路标点在所述第二图像金字塔上序号为n的层上对应的像素位置的预估值。
请再次参数图1,本实施例提供的相机帧间运动确定方法,还包括步骤:
S300、根据所述最优光流位移量获取所述地图路标点在所述第三视频帧中的目标特征像素位置。
具体地,所述目标特征像素位置为所述地图路标点在所述第二图像金字塔的底层上对应的像素位置的预估值加上所述第二图像金字塔底层的最优光流值得到,即可以根据第二预设公式:p2=p20+voptimal_0获取所述目标特征像素位置。
S400、根据所述目标特征像素位置获取所述第三视频帧和所述第二视频帧之间的目标相机帧间运动。
具体地,所述根据所述目标特征像素位置获取所述第三视频帧和所述第二视频帧之间的目标相机帧间运动,包括:
S410、根据所述目标特征像素位置获取所述地图路标点的重投影误差;
S420、根据所述重投影误差构建关于相机帧间运动的代价函数;
S430、对所述代价函数进行最小化求解,获取所述目标相机帧间运动。
所述地图路标点的重投影误差通过第三预设公式获取,所述第三预设公式为:
其中,p2为所述目标特征像素位置,P为所述地图路标点的齐次坐标,T为相机帧间运动矩阵,K为相机内参矩阵,Z2为T·P得到的Z坐标。不难看出,所述地图路标点的重投影误差是一个以相机帧间运动矩阵为变量的函数,在本实施例中,获取以重投影误差最小的相机帧间运动矩阵作为所述目标相机帧间运动。具体地,在本实施例中,构建最小二乘形式的代价函数来进行最小化求解,得到所述目标相机帧间运动。所述代价函数为:其中,ei为第i个所述地图路标点的重投影误差,N为所述地图路标点的个数。
前文已经说明,所述第二视频帧上可以提取多个目标特征点,对应多个所述地图路标点,每个所述地图路标点的重投影误差都可以根据步骤S100、S200、S300以及S410得到,进而得到所述代价函数。
对所述代价函数进行最小化求解,就可以得到所述目标帧间运动。具体地,令则有可得Tcurrent为所述目标相机帧间运动,Rcurrent为所述第三视频帧和所述第二视频帧之间的相机旋转,tcurrent为所述第三视频帧和所述第二视频帧之间的相机平移。
在一种可能的实现方式中,在获取所述目标相机帧间运动后,可以根据所述目标相机帧间运动对不具备地图特征的特征点进行跟踪(即寻找所不能检索到对应的地图路标点的特征点的3D坐标位置),具体地,可以通过三角测量的方式实现,具体地,首先将像素坐标投影至归一化平面,随后通过所述目标相机帧间运动建立三角集合约束,构建三角测量方程以求解地图点深度,结合深度信息与归一化坐标得到特征点对应的3D坐标位置。可以通公式表示如下:
三角测量:
其中,所述为特征点在所述第三视频帧中的归一化坐标,为特征点在所述第二视频帧中的归一化坐标,为x′2∈R3所对应的反对称矩阵,Rcurrent为所述第三视频帧和所述第二视频帧之间的相机旋转,tcurrent为所述第三视频帧和所述第二视频帧之间的相机平移,s1为所述第二视频帧坐标系下特征点对应的3D点的深度,s2为所述第三视频帧坐标系下特征点对应的3D点的深度。
综上所述,本实施例提供一种相机帧间运动确定方法,对于t帧和t+1帧(t+1帧为当前帧)之间的相机帧间运动,采用t-1帧和t帧之间的相机帧间运动预估地图路标点在t+1帧上的像素位置,并以预估的像素位置为起点进行图像金字塔光流逐层寻优,得到地图路标点在t+1帧上的可靠像素位置,根据可靠像素位置确定相机帧间运动,本发明中引入特征点位置预估机制,以预估的像素位置为起点进行光流金字塔寻求最优光流位移量,能够降低计算复杂度,提升特征跟踪的成功率和准确率,进而得到更加稳定精准的相机帧间运动。
应该理解的是,虽然本发明说明书附图中给出的的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取计算机可读存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
实施例二
基于上述实施例,本发明还提供了一种相机帧间运动确定装置,如图4所示,包括:
检索模块,用于检索第二视频帧内的目标特征点对应的地图路标点,根据所述第二视频帧和第一视频帧之间的第一相机帧间运动获取所述地图路标点在第三视频帧中的预估特征像素位置,其中,所述第一视频帧和所述第三视频帧分别为所述第二视频帧的前一帧和后一帧,具体如实施例一中所述;
金字塔寻优模块,用于构建所述第三视频帧的第二图像金字塔和所述第二视频帧的第一图像金字塔,根据所述预估特征像素位置获取所述地图路标点在所述第二图像金字塔的顶层对应的顶层预估特征像素位置,以所述顶层预估特征像素位置为所述第二图像金字塔顶层的搜索起点获取所述第二图像金字塔各层的最优光流位移量,具体如实施例一中所述;
目标特征像素位置获取模块,用于根据所述最优光流位移量获取所述地图路标点在所述第三视频帧中的目标特征像素位置,具体如实施例一中所述;
目标相机帧间运动获取模块,用于根据所述目标特征像素位置获取所述第三视频帧和所述第二视频帧之间的目标相机帧间运动,具体如实施例一中所述。
实施例三
基于上述实施例,本发明还相应提供了一种终端,如图5所示,所述终端包括处理器10以及存储器20。图5仅示出了终端的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器20在一些实施例中可以是所述终端的内部存储单元,例如终端的硬盘或内存。所述存储器20在另一些实施例中也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括所述终端的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述终端的应用软件及各类数据。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有相机帧间运动确定程序30,该相机帧间运动确定程序30可被处理器10所执行,从而实现本申请中相机帧间运动确定方法。
所述处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述相机帧间运动确定方法等。
在一实施例中,当处理器10执行所述存储器20中相机帧间运动确定程序30时实现以下步骤:
检索第二视频帧内的目标特征点对应的地图路标点,根据所述第二视频帧和第一视频帧之间的第一相机帧间运动获取所述地图路标点在第三视频帧中的预估特征像素位置,其中,所述第一视频帧和所述第三视频帧分别为所述第二视频帧的前一帧和后一帧;
构建所述第三视频帧的第二图像金字塔和所述第二视频帧的第一图像金字塔,根据所述预估特征像素位置获取所述地图路标点在所述第二图像金字塔的顶层对应的顶层预估特征像素位置,以所述顶层预估特征像素位置为所述第二图像金字塔顶层的搜索起点获取所述第二图像金字塔各层的最优光流位移量;
根据所述最优光流位移量获取所述地图路标点在所述第三视频帧中的目标特征像素位置;
根据所述目标特征像素位置获取所述第三视频帧和所述第二视频帧之间的目标相机帧间运动。
其中,所述根据第一视频帧和第二视频帧之间的第一相机帧间运动获取所述地图路标点在第三视频帧中的预估特征像素位置,包括:
获取相机内参矩阵;
根据所述相机内参矩阵和所述第一相机帧间运动将所述地图路标点投影至所述第三视频帧,得到所述预估特征像素位置。
其中,所述所述顶层预估特征像素位置为所述第二图像金字塔顶层的搜索起点获取所述第二图像金字塔各层的最优光流位移量,包括:
对于所述图像金字塔的每一层,根据预设匹配误差函数和第一预设公式确定该层的最优光流位移量;
其中,所述匹配误差函数为:
所述第一预设公式为:
其中,p1n=(x1n,y1n)=(ηnx1,ηny1),η为所述图像金字塔每层的尺度缩放因子,(x1,y1)为所述目标特征点在所述第二视频帧上的像素坐标,(x′2,y′2)为所述预估特征像素位置,p21为所述顶层预估特征像素位置,It-1(x,y)和It(x,y)分别为所述第二视频帧和所述第三视频帧上坐标为(x,y)的点的像素值,wx、wy为预设窗口尺寸参数,voptimaln为所述第二图像金字塔上序号为n的层上的最优光流位移量,voptimaln为使得所述匹配误差函数最小时的vn,所述图像金字塔共有α+1层,n为所述图像金字塔的层数序号,n=0,1,...,α。
其中,所述根据所述最优光流位移量获取所述地图路标点在所述第三视频帧中的目标特征像素位置,包括:
根据第二预设公式获取所述目标特征像素位置;
所述第二预设公式为:
p2=p20+voptimal_0;
其中,p2为所述目标特征像素位置。
其中,所述根据所述目标特征像素位置获取所述第三视频帧和所述第二视频帧之间的目标相机帧间运动,包括:
根据所述目标特征像素位置获取所述地图路标点的重投影误差;
根据所述重投影误差构建关于相机帧间运动的代价函数;
对所述代价函数进行最小化求解,获取所述目标相机帧间运动。
其中,所述根据所述目标特征像素位置获取所述地图路标点的重投影误差,包括:
根据第三预设公式获取所述地图路标点的重投影误差;
其中,所述第三预设公式为:
其中,p2为所述目标特征像素位置,P为所述地图路标点的齐次坐标,T为相机帧间运动矩阵,K为相机内参矩阵,Z2为T·P得到的Z坐标。
其中,所述代价函数为:
其中,ei为第i个所述地图路标点的重投影误差,N为所述地图路标点的个数。
实施例四
本发明还提供一种计算机可读存储介质,其中,存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的相机帧间运动确定方法的步骤。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种相机帧间运动确定方法,其特征在于,所述方法包括:
检索第二视频帧内的目标特征点对应的地图路标点,根据所述第二视频帧和第一视频帧之间的第一相机帧间运动获取所述地图路标点在第三视频帧中的预估特征像素位置,其中,所述第一视频帧和所述第三视频帧分别为所述第二视频帧的前一帧和后一帧;
构建所述第三视频帧的第二图像金字塔和所述第二视频帧的第一图像金字塔,根据所述预估特征像素位置获取所述地图路标点在所述第二图像金字塔的顶层对应的顶层预估特征像素位置,以所述顶层预估特征像素位置为所述第二图像金字塔顶层的搜索起点获取所述第二图像金字塔各层的最优光流位移量;
根据所述最优光流位移量获取所述地图路标点在所述第三视频帧中的目标特征像素位置;
根据所述目标特征像素位置获取所述第三视频帧和所述第二视频帧之间的目标相机帧间运动。
2.根据权利要求1所述的相机帧间运动确定方法,其特征在于,所述根据第一视频帧和第二视频帧之间的第一相机帧间运动获取所述地图路标点在第三视频帧中的预估特征像素位置,包括:
获取相机内参矩阵;
根据所述相机内参矩阵和所述第一相机帧间运动将所述地图路标点投影至所述第三视频帧,得到所述预估特征像素位置。
3.根据权利要求1所述的相机帧间运动确定方法,其特征在于,所述所述顶层预估特征像素位置为所述第二图像金字塔顶层的搜索起点获取所述第二图像金字塔各层的最优光流位移量,包括:
对于所述图像金字塔的每一层,根据预设匹配误差函数和第一预设公式确定该层的最优光流位移量;
其中,所述匹配误差函数为:
所述第一预设公式为:
其中,p1n=(x1_n,y1_n)=(ηnx1,ηny1),η为所述图像金字塔每层的尺度缩放因子,(x1,y1)为所述目标特征点在所述第二视频帧上的像素坐标,(x′2,y′2)为所述预估特征像素位置,p21为所述顶层预估特征像素位置,It-1(x,y)和It(x,y)分别为所述第二视频帧和所述第三视频帧上坐标为(x,y)的点的像素值,wx、wy为预设窗口尺寸参数,voptimal_n为所述第二图像金字塔上序号为n的层上的最优光流位移量,voptimal_n为使得所述匹配误差函数最小时的vn,所述图像金字塔共有α+1层,n为所述图像金字塔的层数序号,n=0,1,...,α。
4.根据权利要求3所述的相机帧间运动确定方法,其特征在于,所述根据所述最优光流位移量获取所述地图路标点在所述第三视频帧中的目标特征像素位置,包括:
根据第二预设公式获取所述目标特征像素位置;
所述第二预设公式为:
p2=p20+voptimal_0;
其中,p2为所述目标特征像素位置。
5.根据权利要求1所述的相机帧间运动确定方法,其特征在于,所述根据所述目标特征像素位置获取所述第三视频帧和所述第二视频帧之间的目标相机帧间运动,包括:
根据所述目标特征像素位置获取所述地图路标点的重投影误差;
根据所述重投影误差构建关于相机帧间运动的代价函数;
对所述代价函数进行最小化求解,获取所述目标相机帧间运动。
8.一种相机帧间运动确定装置,其特征在于,包括:
检索模块,用于检索第二视频帧内的目标特征点对应的地图路标点,根据所述第二视频帧和第一视频帧之间的第一相机帧间运动获取所述地图路标点在第三视频帧中的预估特征像素位置,其中,所述第一视频帧和所述第三视频帧分别为所述第二视频帧的前一帧和后一帧;
金字塔寻优模块,用于构建所述第三视频帧的第二图像金字塔和所述第二视频帧的第一图像金字塔,根据所述预估特征像素位置获取所述地图路标点在所述第二图像金字塔的顶层对应的顶层预估特征像素位置,以所述顶层预估特征像素位置为所述第二图像金字塔顶层的搜索起点获取所述第二图像金字塔各层的最优光流位移量;
目标特征像素位置获取模块,用于根据所述最优光流位移量获取所述地图路标点在所述第三视频帧中的目标特征像素位置;
目标相机帧间运动获取模块,用于根据所述目标特征像素位置获取所述第三视频帧和所述第二视频帧之间的目标相机帧间运动。
9.一种终端,其特征在于,所述终端包括:处理器、与处理器通信连接的计算机可读存储介质,所述计算机可读存储介质适于存储多条指令,所述处理器适于调用所述计算机可读存储介质中的指令,以执行实现上述权利要求1-7任一项所述的相机帧间运动确定方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-7任一项所述的相机帧间运动确定方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110290414.2A CN113066103B (zh) | 2021-03-18 | 2021-03-18 | 一种相机帧间运动确定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110290414.2A CN113066103B (zh) | 2021-03-18 | 2021-03-18 | 一种相机帧间运动确定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113066103A true CN113066103A (zh) | 2021-07-02 |
CN113066103B CN113066103B (zh) | 2023-02-21 |
Family
ID=76561586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110290414.2A Active CN113066103B (zh) | 2021-03-18 | 2021-03-18 | 一种相机帧间运动确定方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113066103B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150365696A1 (en) * | 2014-06-13 | 2015-12-17 | Texas Instruments Incorporated | Optical flow determination using pyramidal block matching |
CN105787901A (zh) * | 2016-03-21 | 2016-07-20 | 昆明理工大学 | 一种用于太阳高分辨图像序列中相邻两帧间的多尺度速度场测量方法 |
CN105809712A (zh) * | 2016-03-02 | 2016-07-27 | 西安电子科技大学 | 一种高效大位移光流估计方法 |
WO2018137132A1 (en) * | 2017-01-24 | 2018-08-02 | SZ DJI Technology Co., Ltd. | Method and system for feature tracking using image pyramids |
WO2020150264A1 (en) * | 2019-01-15 | 2020-07-23 | Portland State University | Feature pyramid warping for video frame interpolation |
CN111739144A (zh) * | 2020-06-19 | 2020-10-02 | 天津大学 | 一种基于深度特征光流的同时定位和建图的方法及装置 |
CN111811501A (zh) * | 2020-06-28 | 2020-10-23 | 鹏城实验室 | 一种基于树干特征的无人机定位方法、无人机及存储介质 |
CN112197764A (zh) * | 2020-12-07 | 2021-01-08 | 广州极飞科技有限公司 | 实时位姿确定方法、装置及电子设备 |
-
2021
- 2021-03-18 CN CN202110290414.2A patent/CN113066103B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150365696A1 (en) * | 2014-06-13 | 2015-12-17 | Texas Instruments Incorporated | Optical flow determination using pyramidal block matching |
CN105809712A (zh) * | 2016-03-02 | 2016-07-27 | 西安电子科技大学 | 一种高效大位移光流估计方法 |
CN105787901A (zh) * | 2016-03-21 | 2016-07-20 | 昆明理工大学 | 一种用于太阳高分辨图像序列中相邻两帧间的多尺度速度场测量方法 |
WO2018137132A1 (en) * | 2017-01-24 | 2018-08-02 | SZ DJI Technology Co., Ltd. | Method and system for feature tracking using image pyramids |
WO2020150264A1 (en) * | 2019-01-15 | 2020-07-23 | Portland State University | Feature pyramid warping for video frame interpolation |
CN111739144A (zh) * | 2020-06-19 | 2020-10-02 | 天津大学 | 一种基于深度特征光流的同时定位和建图的方法及装置 |
CN111811501A (zh) * | 2020-06-28 | 2020-10-23 | 鹏城实验室 | 一种基于树干特征的无人机定位方法、无人机及存储介质 |
CN112197764A (zh) * | 2020-12-07 | 2021-01-08 | 广州极飞科技有限公司 | 实时位姿确定方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
周彤等: "改进L-K光流法检测运动目标", 《福建电脑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113066103B (zh) | 2023-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Toft et al. | Long-term visual localization revisited | |
CN111462200B (zh) | 一种跨视频行人定位追踪方法、系统及设备 | |
JP7326720B2 (ja) | 移動体位置推定システムおよび移動体位置推定方法 | |
EP3028252B1 (en) | Rolling sequential bundle adjustment | |
US9420265B2 (en) | Tracking poses of 3D camera using points and planes | |
EP2711670B1 (en) | Visual localisation | |
CN111445526B (zh) | 一种图像帧之间位姿的估计方法、估计装置和存储介质 | |
US20180315232A1 (en) | Real-time incremental 3d reconstruction of sensor data | |
US20170236284A1 (en) | Registration of aerial imagery to vector road maps with on-road vehicular detection and tracking | |
WO2019042426A1 (zh) | 增强现实场景的处理方法、设备及计算机存储介质 | |
US20180315222A1 (en) | Real-time image undistortion for incremental 3d reconstruction | |
CN111060115A (zh) | 一种基于图像边缘特征的视觉slam方法及系统 | |
WO2012084703A1 (en) | Detection and tracking of moving objects | |
CN113205447A (zh) | 用于车道线识别的道路图片标注方法和装置 | |
CN114596382A (zh) | 一种基于全景相机的双目视觉slam方法及系统 | |
CN114494150A (zh) | 一种基于半直接法的单目视觉里程计的设计方法 | |
Zhao et al. | Fast georeferenced aerial image stitching with absolute rotation averaging and planar-restricted pose graph | |
CN115471748A (zh) | 一种面向动态环境的单目视觉slam方法 | |
Lee et al. | Local to global: Efficient visual localization for a monocular camera | |
CN111829522B (zh) | 即时定位与地图构建方法、计算机设备以及装置 | |
CN115705651A (zh) | 视频运动估计方法、装置、设备和计算机可读存储介质 | |
CN112884804A (zh) | 行动对象追踪方法及相关设备 | |
CN116105721B (zh) | 地图构建的回环优化方法、装置、设备及存储介质 | |
CN111179342B (zh) | 物体位姿的估计方法、装置、存储介质和机器人 | |
CN112184906A (zh) | 一种三维模型的构建方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |