CN112927268A - 角点跟踪方法、装置、计算机设备及可读存储介质 - Google Patents

角点跟踪方法、装置、计算机设备及可读存储介质 Download PDF

Info

Publication number
CN112927268A
CN112927268A CN202110285339.0A CN202110285339A CN112927268A CN 112927268 A CN112927268 A CN 112927268A CN 202110285339 A CN202110285339 A CN 202110285339A CN 112927268 A CN112927268 A CN 112927268A
Authority
CN
China
Prior art keywords
tracked
corner
frame image
image
current frame
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
Application number
CN202110285339.0A
Other languages
English (en)
Other versions
CN112927268B (zh
Inventor
尹首一
周凯
韩慧明
刘雷波
魏少军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN202110285339.0A priority Critical patent/CN112927268B/zh
Publication of CN112927268A publication Critical patent/CN112927268A/zh
Application granted granted Critical
Publication of CN112927268B publication Critical patent/CN112927268B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

本发明实施例提供一种角点跟踪方法、装置、计算机设备及可读存储介质,其中,该方法包括:基于图像窗口在首帧图像中确定的所有角点视为待跟踪角点;将首帧图像的后一帧图像视为当前帧图像,循环执行以下步骤:跟踪待跟踪角点在当前帧图像中的位置;基于图像窗口对所有跟踪成功的待跟踪角点验证,将通过验证的待跟踪角点的ID、在前一帧图像中的位置和在当前帧图像中的位置作为当前跟踪结果输出;判断通过验证的待跟踪角点的个数是否大于预设值,若是,将其作为当前帧图像的待跟踪角点,将下一帧图像视为当前帧图像;若否,基于图像窗口确定角点,将新确定的角点和通过验证的待跟踪角点作为当前帧图像的待跟踪角点,将下一帧图像视为当前帧图像。

Description

角点跟踪方法、装置、计算机设备及可读存储介质
技术领域
本发明涉及图像处理技术领域,特别涉及一种角点跟踪方法、装置、计算机设备及可读存储介质。
背景技术
图像角点跟踪在机器人自主定位导航、自动驾驶等领域有着广泛的应用。通过准确的角点跟踪结果,机器人可以计算出自身的位置和姿态,并进一步恢复出周围场景的三维信息。稀疏光流法是最常用的特征点跟踪方法之一,它基于灰度不变的假设,根据前后两帧图像的灰度信息,估计角点在两帧图像之间的运动。在传统的光流法跟踪过程中,随着时间的推移和视角的变化,一方面,角点由于图像噪声的影响可能会被跟踪到错误的位置上,另一方面,某些投影在先前帧上被检测为角点的场景位置,投影到新的帧上时已不满足角点的条件,但它们仍可能被光流法跟踪到。若继续对这些位置进行跟踪,将会增大跟踪结果的不确定性,最终影响相机位姿估计和三维建图的精度。
发明内容
本发明实施例提供了一种角点跟踪方法,以解决现有技术中跟踪结果不准确的技术问题。该方法包括:
设置图像窗口,基于所述图像窗口在首帧图像中确定角点,将确定的所有角点视为待跟踪角点,并为每个待跟踪角点设置唯一的ID;
将首帧图像的后一帧图像视为当前帧图像,循环执行以下步骤:
利用稀疏光流法跟踪前一帧图像中的待跟踪角点在当前帧图像中的位置;
在当前帧图像中基于前一帧图像中的所述图像窗口对所有跟踪成功的待跟踪角点进行验证,将通过验证的待跟踪角点的ID、在前一帧图像中的位置和在当前帧图像中的位置作为当前跟踪结果输出;
判断通过验证的待跟踪角点的个数是否大于预设值,若是,则将通过验证的待跟踪角点作为当前帧图像的待跟踪角点,并将下一帧图像视为当前帧图像;若否,在当前帧图像中除了通过验证的待跟踪角点之外的位置基于所述图像窗口确定角点,为新确定的角点设置唯一的ID,新确定的角点和通过验证的待跟踪角点的个数之和大于所述预设值时,将新确定的角点和通过验证的待跟踪角点作为当前帧图像的待跟踪角点,并将下一帧图像视为当前帧图像。
本发明实施例还提供了一种角点跟踪装置,以解决现有技术中跟踪结果不准确的技术问题。该装置包括:
角点确定模块,用于设置图像窗口,基于所述图像窗口在首帧图像中确定角点,将确定的所有角点视为待跟踪角点,并为每个待跟踪角点设置唯一的ID;
角点跟踪模块,用于将首帧图像的后一帧图像视为当前帧图像,循环执行以下步骤:
利用稀疏光流法跟踪前一帧图像中的待跟踪角点在当前帧图像中的位置;
在当前帧图像中基于前一帧图像中的所述图像窗口对所有跟踪成功的待跟踪角点进行验证,将通过验证的待跟踪角点的ID、在前一帧图像中的位置和在当前帧图像中的位置作为当前跟踪结果输出;
判断通过验证的待跟踪角点的个数是否大于预设值,若是,则将通过验证的待跟踪角点作为当前帧图像的待跟踪角点,并将下一帧图像视为当前帧图像;若否,在当前帧图像中除了通过验证的待跟踪角点之外的位置基于所述图像窗口确定角点,为新确定的角点设置唯一的ID,新确定的角点和通过验证的待跟踪角点的个数之和大于所述预设值时,将新确定的角点和通过验证的待跟踪角点作为当前帧图像的待跟踪角点,并将下一帧图像视为当前帧图像。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的角点跟踪方法,以解决现有技术中跟踪结果不准确的技术问题。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的角点跟踪方法的计算机程序,以解决现有技术中跟踪结果不准确的技术问题。
在本发明实施例中,提出了基于图像窗口在首帧图像中确定角点,将确定的所有角点视为首帧图像的待跟踪角点,并为每个待跟踪角点设置唯一的ID,然后,将首帧图像的后一帧图像视为当前帧图像,针对其他帧图像依次循环执行以下步骤,利用稀疏光流法跟踪前一帧图像中的待跟踪角点在当前帧图像中的位置;在当前帧图像中基于前一帧图像中的所述图像窗口对所有跟踪成功的待跟踪角点进行验证,将通过验证的待跟踪角点的ID、在前一帧图像中的位置和在当前帧图像中的位置作为当前跟踪结果输出;判断通过验证的待跟踪角点的个数是否大于预设值,若是,则将通过验证的待跟踪角点作为当前帧图像的待跟踪角点,并将下一帧图像视为当前帧图像;若否,在当前帧图像中除了通过验证的待跟踪角点之外的位置基于所述图像窗口确定角点,为新确定的角点设置唯一的ID,新确定的角点和通过验证的待跟踪角点的个数之和大于所述预设值时,将新确定的角点和通过验证的待跟踪角点作为当前帧图像的待跟踪角点,并将下一帧图像视为当前帧图像。实现了相邻的前后两帧图像通过相似的图像窗口大小来确定角点和验证跟踪成功的角点,有利于验证当前帧图像跟踪成功的角点中通过验证的角点即为在前一帧图像中确定的角点,有利于确保跟踪角点的一致性,避免或减少将角点跟踪到错误位置的可能性,有利于提高跟踪结果的准确性;同时,在当前帧图像中基于相似的图像窗口大小验证角点还可以实现,基于与前一帧图像中确定角点相同的标准来验证跟踪成功的角点,以确保跟踪成功的角点依然符合角点的条件,进一步有利于提高跟踪结果的准确性,进而有利于提高基于跟踪结果的相机位姿估计和三维建图的精度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是本发明实施例提供的一种角点跟踪方法的流程图;
图2是本发明实施例提供的一种实施角点跟踪方法的流程图;
图3是本发明实施例提供的一种对所有跟踪成功的待跟踪角点进行验证的流程图;
图4是本发明实施例提供的一种验证角点过程中图像窗口的示意图;
图5是本发明实施例提供的一种计算机设备的结构框图;
图6是本发明实施例提供的一种角点跟踪装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在本发明实施例中,提供了一种角点跟踪方法,如图1所示,该方法包括:
步骤102:设置图像窗口,基于所述图像窗口在首帧图像中确定角点,将确定的所有角点视为待跟踪角点,并为每个待跟踪角点设置唯一的ID;
步骤104:将首帧图像的后一帧图像视为当前帧图像,循环执行以下步骤:
利用稀疏光流法跟踪前一帧图像中的待跟踪角点在当前帧图像中的位置;
在当前帧图像中基于前一帧图像中的所述图像窗口对所有跟踪成功的待跟踪角点进行验证,将通过验证的待跟踪角点的ID、在前一帧图像中的位置和在当前帧图像中的位置作为当前跟踪结果输出;
判断通过验证的待跟踪角点的个数是否大于预设值,若是,则将通过验证的待跟踪角点作为当前帧图像的待跟踪角点,并将下一帧图像视为当前帧图像;若否,在当前帧图像中除了通过验证的待跟踪角点之外的位置基于所述图像窗口确定角点,为新确定的角点设置唯一的ID,新确定的角点和通过验证的待跟踪角点的个数之和大于所述预设值时,将新确定的角点和通过验证的待跟踪角点作为当前帧图像的待跟踪角点,并将下一帧图像视为当前帧图像。
由图1所示的流程可知,在本发明实施例中,提出了基于图像窗口在首帧图像中确定角点,将确定的所有角点视为首帧图像的待跟踪角点,并为每个待跟踪角点设置唯一的ID,然后,将首帧图像的后一帧图像视为当前帧图像,针对其他帧图像依次循环执行以下步骤,利用稀疏光流法跟踪前一帧图像中的待跟踪角点在当前帧图像中的位置;在当前帧图像中基于前一帧图像中的所述图像窗口对所有跟踪成功的待跟踪角点进行验证,将通过验证的待跟踪角点的ID、在前一帧图像中的位置和在当前帧图像中的位置作为当前跟踪结果输出;判断通过验证的待跟踪角点的个数是否大于预设值,若是,则将通过验证的待跟踪角点作为当前帧图像的待跟踪角点,并将下一帧图像视为当前帧图像;若否,在当前帧图像中除了通过验证的待跟踪角点之外的位置基于所述图像窗口确定角点,为新确定的角点设置唯一的ID,新确定的角点和通过验证的待跟踪角点的个数之和大于所述预设值时,将新确定的角点和通过验证的待跟踪角点作为当前帧图像的待跟踪角点,并将下一帧图像视为当前帧图像。实现了相邻的前后两帧图像通过相似的图像窗口大小来确定角点和验证跟踪成功的角点,有利于验证当前帧图像跟踪成功的角点中通过验证的角点即为在前一帧图像中确定的角点,有利于确保跟踪角点的一致性,避免或减少将角点跟踪到错误位置的可能性,有利于提高跟踪结果的准确性、可信度;同时,在当前帧图像中基于相似的图像窗口大小验证角点还可以实现,基于与前一帧图像中确定角点相同的标准来验证跟踪成功的角点,以确保跟踪成功的角点依然符合角点的条件,进一步有利于提高跟踪结果的准确性,进而有利于提高基于跟踪结果的相机位姿估计和三维建图的精度。
具体实施时,为了实现可以基于图像窗口来确定角点,并基于确定的角点进行跟踪和角点验证,在本实施例中,如图2所示,通过以下步骤实施上述角点跟踪方法:
步骤201:首先,在首帧图像中设置图像窗口,该图像窗口的大小在预设窗口范围内,进而基于图像窗口在首帧图像中检测得到Ki个角点(可称为GFTT角点检测方法),例如,针对首帧图像中的每个像素点,以该像素点为中心建立所述图像窗口,计算所述图像窗口内像素的GFTT(Good Feature To Track,又名Shi-Tomasi角点,可译为施-托马斯角点)响应值;判断GFTT响应值是否大于检测阈值,若是,则确定像素点为角点。
具体的,在第1帧图像中,利用GFTT角点检测方法确定角点,以图像窗口大小为L*L为例,检测阈值为T为例,令帧号i=1,对于第i帧图像中的每一个像素点p,以该像素点p为中心建立所述图像窗口,计算所述图像窗口内像素的GFTT响应值,将GFTT响应值与检测阈值T做比较,若大于T,则将像素点p视为角点,遍历第i帧图像的所有像素点之后,检测得到Ki个角点,作为第1帧图像的待跟踪角点,为每个待跟踪角点分配一个唯一的ID编号。
具体实施时,图像窗口的大小L*L的数值可以根据具体情况确定,本申请不做限定,预设窗口范围的上限值和下限值也可以据具体情况确定,本申请不做限定,预设窗口范围的最大图像窗口大小表示为Lmax*Lmax,预设窗口范围的最小图像窗口大小表示为Lmin*Lmin,其中Lmin<L<Lmax。检测阈值T的大小也可以根据角点条件的具体情况确定,本申请不做限定。
具体实施时,可以通过以下方式计算所述图像窗口内像素的GFTT响应值,例如,在所述图像窗口内基于像素点的位置构建以下矩阵M,计算所述矩阵的两个特征值λ1和λ2,将两个特征值中较小的特征值min(λ12)确定为所述图像窗口内像素的GFTT响应值;
Figure BDA0002980224750000061
其中,(x,y)是所述图像窗口W中每个像素点在所述图像窗口W中的位置;w(x,y)是位置(x,y)处的权重函数,该权重函数可以定义为图像窗口W中的均匀分布,也可以定义为以p为中心的二元高斯分布,当定义为均匀分布时,w(x,y)=1/(L*L),(x,y)∈W;Ix(x,y)是位置(x,y)在x方向上的梯度;Iy(x,y)是位置(x,y)在y方向上的梯度,Ix(x,y)和Iy(x,y)可以通过sobel算子得到;M是矩阵;W是所述图像窗口。
具体实施时,通过上述计算所述图像窗口内像素的GFTT响应值并与检测阈值比较大小的方式,可以在首帧图像中确定多个角点,为了避免角点过密或数据冗余,在本实施例中,对角点进行非极大值抑制,例如,在每个角点的预设范围的邻域内,只保留GFTT响应值最大的那个角点。具体的,基于GFTT角点检测方法遍历第1帧图像的所有像素点之后,得到Ki'个角点,然后,在每个角点的3×3范围的邻域内,只保留GFTT响应值最大的那个角点,即最终得到Ki个角点,将该Ki个角点作为第1帧的待跟踪角点。
步骤202:进而循环步骤来跟踪角点,如利用稀疏光流法跟踪前一帧(即第i帧)图像中的Ki个待跟踪角点在当前帧(即第i+1帧)图像中的位置;具体的,可采用L-K金字塔光流法实现每个角点的跟踪。由于L-K金字塔光流法是成熟的算法,这里不再展开说明。
步骤203:在当前帧图像中基于前一帧图像中的所述图像窗口W对所有跟踪成功的待跟踪角点进行验证,保留通过验证的Ki+1个角点,
步骤204:将通过验证的待跟踪角点的ID、在前一帧图像中的位置和在当前帧图像中的位置作为当前跟踪结果输出;
步骤205:判断通过验证的待跟踪角点的个数Ki+1是否大于预设值N,若是,则执行步骤206;若否,则执行步骤207;
步骤206:将通过验证的待跟踪角点作为当前帧图像的待跟踪角点,并将下一帧(即令i=i+1)图像视为当前帧图像,然后继续执行步骤202;
步骤207:在当前帧图像中除了通过验证的待跟踪角点之外的位置基于所述图像窗口确定角点,为新确定的角点设置唯一的ID,新确定的角点和通过验证的待跟踪角点的个数之和大于所述预设值N时,将新确定的角点和通过验证的待跟踪角点作为当前帧图像的待跟踪角点,更新Ki+1为:Ki+1=Ki+1+M,然后,将下一帧图像视为当前帧图像,令i=i+1,继续执行步骤202。
具体的,步骤207中在当前帧图像中除了通过验证的待跟踪角点之外的位置基于所述图像窗口确定角点的过程与在首帧图像中基于所述图像窗口确定角点的过程相似,在这里不再赘述。
具体实施时,预设值N是为了确保基于足够的角点数量进行跟踪,预设值N的具体大小可以根据跟踪的具体需求确定,本申请不做具体限定。
具体实施时,步骤203中在当前帧图像中基于前一帧图像中的所述图像窗口W(窗口大小Li,j×Li,j,其中i为帧号,j为角点的编号)对所有跟踪成功的待跟踪角点进行验证,是为了基于与前一帧图像中的同一所述图像窗口W来验证当前帧图像中跟踪成功的待跟踪角点,以相同的角点确定标准来确保跟踪成功的待跟踪角点是前一帧图像中确定的角点,进而避免角点跟踪错误,确保跟踪成功的待跟踪角点依然符合角点条件。具体的,针对每个跟踪成功的待跟踪角点,在当前帧图像中以该待跟踪角点为中心建立所述图像窗口,计算所述图像窗口内像素的GFTT响应值;判断所述GFTT响应值是否大于检测阈值,若是,该待跟踪角点通过验证。
具体实施时,为了进一步提高追踪结果的可信度,在本实施例中,在验证角点的过程中增加了图像窗口的大小可变性,例如,当该待跟踪角点对应的所述图像窗口内像素的GFTT响应值小于所述检测阈值时,判断所述图像窗口的大小是否在预设窗口范围内,若否,该待跟踪角点验证失败;若是,对所述图像窗口的大小增加预设尺寸值,得到第一预设窗口,在当前帧图像中以该待跟踪角点为中心建立所述第一图像窗口,计算所述第一图像窗口内像素的GFTT响应值;所述第一图像窗口内像素的GFTT响应值是否大于所述检测阈值,若是,该待跟踪角点通过验证,并将所述第一图像窗口视为该待跟踪角点在当前帧图像的图像窗口。
当所述第一图像窗口内像素的GFTT响应值小于所述检测阈值时,对所述图像窗口的大小减小所述预设尺寸值,得到第二图像窗口,在当前帧图像中以该待跟踪角点为中心建立所述第二图像窗口,计算所述第二图像窗口内像素的GFTT响应值;判断所述第二图像窗口内像素的GFTT响应值是否大于所述检测阈值,若是,该待跟踪角点通过验证,并将所述第二图像窗口视为该待跟踪角点当前帧图像的图像窗口;若否,该待跟踪角点验证失败。
具体实施时,基于图像窗口对所有跟踪成功的待跟踪角点进行验证的过程可以称为GFTT角点验证,如图3所示,具体通过以下步骤实现:
步骤301:针对每个跟踪成功的待跟踪角点Cj,在当前帧(即第i+1帧)图像中以该待跟踪角点为中心建立所述图像窗口W,计算所述图像窗口W内像素的GFTT响应值;并所述图像窗口W内像素的GFTT响应值是否大于检测阈值T,若是,该待跟踪角点通过验证,令当前帧(即第i+1帧)图像的图像窗口大小与前一帧图像中的图像窗口大小相同,即Li+1,j=Li,j;若否,执行步骤302;
具体的,如图4所示,以待跟踪角点Cj为中心建立图像窗口W,图像窗口W的大小为Li,j,然后,计算图像窗口W内像素的GFTT响应值,该验证过程中计算图像窗口W内像素的GFTT响应值的方法与确定角点过程中计算图像窗口W内像素的GFTT响应值的方法相似,其中p用Cj替代,L用Li,j替代即可。
步骤302:判断所述图像窗口W的大小是否在预设窗口范围内,若否,该待跟踪角点验证失败;若是,对所述图像窗口W的大小增加预设尺寸值,得到第一图像窗口W1,在当前帧图像中以该待跟踪角点为中心建立所述第一图像窗口W1,计算所述第一图像窗口W1内像素的GFTT响应值;并所述第一图像窗口W1内像素的GFTT响应值是否大于所述检测阈值,若是,该待跟踪角点通过验证,并将所述第一图像窗口视为该待跟踪角点在当前帧图像的图像窗口;若否,执行步骤303;
具体的,判断图像窗口W的大小是否在预设窗口范围内,即判断Li,j是否满足Lmin<Li,j<Lmax,若不满足,则验证失败。
具体的,预设尺寸值的大小也可以根据具体需求确定,例如,预设尺寸值以2为例,如图4所示,对预设窗口W的大小增加预设尺寸值,得到第一图像窗口W1,第一预设窗口W1的大小为(Li,j+2)×(Li,j+2),在计算该待跟踪角点对应的所述第一图像窗口W1内像素的GFTT响应值时其中p用Cj替代,L用Li,j+2替代即可,若该待跟踪角点对应的所述第一图像窗口W1内像素的GFTT响应值大于检测阈值T,则通过验证,将所述第一图像窗口W1视为该待跟踪角点在当前帧图像的图像窗口,令Li+1,j=Li,j+2。
步骤303:对所述图像窗口的大小减小所述预设尺寸值,得到第二图像窗口W2,在当前帧图像中以该待跟踪角点Cj为中心建立所述第二图像窗口W2,计算所述第二图像窗口W2内像素的GFTT响应值;判断所述第二图像窗口W2内像素的GFTT响应值是否大于所述检测阈值,若是,该待跟踪角点通过验证,并将所述第二图像窗口视为该待跟踪角点在当前帧图像的图像窗口;若否,该待跟踪角点验证失败。
具体的,如图4所示,对所述预设窗口W的大小减小所述预设尺寸值,得到第二图像窗口W2,第二图像窗口W2的大小为(Li,j-2)×(Li,j-2),在计算该待跟踪角点Cj对应的所述第二图像窗口W2内像素的GFTT响应值时,其中p用Cj替代,L用Li,j-2替代即可,若该待跟踪角点对应的所述第二图像窗口W2内像素的GFTT响应值大于检测阈值T,则通过验证,将所述第二图像窗口W2视为该待跟踪角点在当前帧图像的图像窗口,令Li+1,j=Li,j-2;若该待跟踪角点对应的所述第二图像窗口W2内像素的GFTT响应值小于检测阈值T,则验证失败。
在本实施例中,提供了一种计算机设备,如图5所示,包括存储器502、处理器504及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的角点跟踪方法。
具体的,该计算机设备可以是计算机终端、服务器或者类似的运算装置。
在本实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的角点跟踪方法的计算机程序。
具体的,计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
基于同一发明构思,本发明实施例中还提供了一种角点跟踪装置,如下面的实施例所述。由于角点跟踪装置解决问题的原理与角点跟踪方法相似,因此角点跟踪装置的实施可以参见角点跟踪方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是本发明实施例的角点跟踪装置的一种结构框图,如图6所示,该装置包括:
角点确定模块602,用于设置图像窗口,基于所述图像窗口在首帧图像中确定角点,将确定的所有角点视为待跟踪角点,并为每个待跟踪角点设置唯一的ID;
角点跟踪模块604,用于将首帧图像的后一帧图像视为当前帧图像,循环执行以下步骤:
利用稀疏光流法跟踪前一帧图像中的待跟踪角点在当前帧图像中的位置;
在当前帧图像中基于前一帧图像中的所述图像窗口对所有跟踪成功的待跟踪角点进行验证,将通过验证的待跟踪角点的ID、在前一帧图像中的位置和在当前帧图像中的位置作为当前跟踪结果输出;
判断通过验证的待跟踪角点的个数是否大于预设值,若是,则将通过验证的待跟踪角点作为当前帧图像的待跟踪角点,并将下一帧图像视为当前帧图像;若否,在当前帧图像中除了通过验证的待跟踪角点之外的位置基于所述图像窗口确定角点,为新确定的角点设置唯一的ID,新确定的角点和通过验证的待跟踪角点的个数之和大于所述预设值时,将新确定的角点和通过验证的待跟踪角点作为当前帧图像的待跟踪角点,并将下一帧图像视为当前帧图像。
在一个实施例中,所述角点确定模块,具体用于针对首帧图像中的每个像素点,以该像素点为中心建立所述图像窗口,计算所述图像窗口内像素的GFTT响应值;判断GFTT响应值是否大于检测阈值,若是,则确定像素点为角点。
在一个实施例中,所述角点确定模块,具体用于在所述图像窗口内基于像素点的位置构建以下矩阵,计算所述矩阵的两个特征值,将两个特征值中较小的特征值确定为该像素点对应的所述图像窗口内像素的GFTT响应值;
Figure BDA0002980224750000101
其中,(x,y)是所述图像窗口中每个像素点在所述图像窗口中的位置;w(x,y)是位置(x,y)处的权重函数;Ix(x,y)是每个像素点的位置(x,y)在x方向上的梯度;Iy(x,y)是每个像素点的位置(x,y)在y方向上的梯度;M是矩阵;W是所述图像窗口。
在一个实施例中,角点跟踪模块,包括:
第一验证单元,用于针对每个跟踪成功的待跟踪角点,在当前帧图像中以该待跟踪角点为中心建立所述图像窗口,计算所述图像窗口内像素的GFTT响应值;判断所述图像窗口内像素的GFTT响应值是否大于检测阈值,若是,该待跟踪角点通过验证。
在一个实施例中,角点跟踪模块,还包括:
第二验证单元,用于当该待跟踪角点对应的所述图像窗口内像素的GFTT响应值小于所述检测阈值时,判断所述图像窗口的大小是否在预设窗口范围内,若否,该待跟踪角点验证失败;若是,对所述图像窗口的大小增加预设尺寸值,得到第一图像窗口,在当前帧图像中以该待跟踪角点为中心建立所述第一图像窗口,计算所述第一图像窗口内像素的GFTT响应值;判断所述第一图像窗口内像素的GFTT响应值是否大于所述检测阈值,若是,该待跟踪角点通过验证,并将所述第一图像窗口视为该待跟踪角点在当前帧图像的图像窗口。
在一个实施例中,角点跟踪模块,还包括:
第三验证单元,用于当该待跟踪角点对应的所述第一图像窗口内像素的GFTT响应值小于所述检测阈值时,对所述图像窗口的大小减小所述预设尺寸值,得到第二图像窗口,在当前帧图像中以该待跟踪角点为中心建立所述第二图像窗口,计算所述第二图像窗口内像素的GFTT响应值;判断所述第二图像窗口内像素的GFTT响应值是否大于所述检测阈值,若是,该待跟踪角点通过验证,并将所述第二图像窗口视为该待跟踪角点在当前帧图像的图像窗口;若否,该待跟踪角点验证失败。
本发明实施例实现了如下技术效果:提出了基于图像窗口在首帧图像中确定角点,将确定的所有角点视为首帧图像的待跟踪角点,并为每个待跟踪角点设置唯一的ID,然后,将首帧图像的后一帧图像视为当前帧图像,针对其他帧图像依次循环执行以下步骤,利用稀疏光流法跟踪前一帧图像中的待跟踪角点在当前帧图像中的位置;在当前帧图像中基于前一帧图像中的所述图像窗口对所有跟踪成功的待跟踪角点进行验证,将通过验证的待跟踪角点的ID、在前一帧图像中的位置和在当前帧图像中的位置作为当前跟踪结果输出;判断通过验证的待跟踪角点的个数是否大于预设值,若是,则将通过验证的待跟踪角点作为当前帧图像的待跟踪角点,并将下一帧图像视为当前帧图像;若否,在当前帧图像中除了通过验证的待跟踪角点之外的位置基于所述图像窗口确定角点,为新确定的角点设置唯一的ID,新确定的角点和通过验证的待跟踪角点的个数之和大于所述预设值时,将新确定的角点和通过验证的待跟踪角点作为当前帧图像的待跟踪角点,并将下一帧图像视为当前帧图像。实现了相邻的前后两帧图像通过相似的图像窗口大小来确定角点和验证跟踪成功的角点,有利于验证当前帧图像跟踪成功的角点中通过验证的角点即为在前一帧图像中确定的角点,有利于确保跟踪角点的一致性,避免或减少将角点跟踪到错误位置的可能性,有利于提高跟踪结果的准确性;同时,在当前帧图像中基于相似的图像窗口大小验证角点还可以实现,基于与前一帧图像中确定角点相同的标准来验证跟踪成功的角点,以确保跟踪成功的角点依然符合角点的条件,进一步有利于提高跟踪结果的准确性,进而有利于提高基于跟踪结果的相机位姿估计和三维建图的精度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种角点跟踪方法,其特征在于,包括:
设置图像窗口,基于所述图像窗口在首帧图像中确定角点,将确定的所有角点视为待跟踪角点,并为每个待跟踪角点设置唯一的ID;
将首帧图像的后一帧图像视为当前帧图像,循环执行以下步骤:
利用稀疏光流法跟踪前一帧图像中的待跟踪角点在当前帧图像中的位置;
在当前帧图像中基于前一帧图像中的所述图像窗口对所有跟踪成功的待跟踪角点进行验证,将通过验证的待跟踪角点的ID、在前一帧图像中的位置和在当前帧图像中的位置作为当前跟踪结果输出;
判断通过验证的待跟踪角点的个数是否大于预设值,若是,则将通过验证的待跟踪角点作为当前帧图像的待跟踪角点,并将下一帧图像视为当前帧图像;若否,在当前帧图像中除了通过验证的待跟踪角点之外的位置基于所述图像窗口确定角点,为新确定的角点设置唯一的ID,新确定的角点和通过验证的待跟踪角点的个数之和大于所述预设值时,将新确定的角点和通过验证的待跟踪角点作为当前帧图像的待跟踪角点,并将下一帧图像视为当前帧图像。
2.如权利要求1所述的角点跟踪方法,其特征在于,基于所述图像窗口在首帧图像中确定角点,包括:
针对首帧图像中的每个像素点,以该像素点为中心建立所述图像窗口,计算图像窗口内像素的GFTT响应值;
判断GFTT响应值是否大于检测阈值,若是,则确定像素点为角点。
3.如权利要求2所述的角点跟踪方法,其特征在于,计算图像窗口内像素的GFTT响应值,包括:
在所述图像窗口内基于像素点的位置构建以下矩阵,计算所述矩阵的两个特征值,将两个特征值中较小的特征值确定为所述图像窗口内像素的GFTT响应值;
Figure FDA0002980224740000011
其中,(x,y)是所述图像窗口中每个像素点在所述图像窗口中的位置;w(x,y)是位置(x,y)处的权重函数;Ix(x,y)是每个像素点的位置(x,y)在x方向上的梯度;Iy(x,y)是每个像素点的位置(x,y)在y方向上的梯度;M是矩阵;W是所述图像窗口。
4.如权利要求1至3中任一项所述的角点跟踪方法,其特征在于,在当前帧图像中基于前一帧图像中的所述图像窗口对所有跟踪成功的待跟踪角点进行验证,包括:
针对每个跟踪成功的待跟踪角点,在当前帧图像中以该待跟踪角点为中心建立所述图像窗口,计算所述图像窗口内像素的GFTT响应值;
判断所述GFTT响应值是否大于检测阈值,若是,该待跟踪角点通过验证。
5.如权利要求4所述的角点跟踪方法,其特征在于,还包括:
当所述图像窗口内像素的GFTT响应值小于所述检测阈值时,判断所述图像窗口的大小是否在预设窗口范围内,若否,该待跟踪角点验证失败;若是,对所述图像窗口的大小增加预设尺寸值,得到第一图像窗口,在当前帧图像中以该待跟踪角点为中心建立所述第一图像窗口,计算所述第一图像窗口内像素的GFTT响应值;
判断所述第一图像窗口内像素的GFTT响应值是否大于所述检测阈值,若是,该待跟踪角点通过验证,并将所述第一图像窗口视为该待跟踪角点在当前帧图像的图像窗口。
6.如权利要求5所述的角点跟踪方法,其特征在于,还包括:
当所述第一图像窗口内像素的GFTT响应值小于所述检测阈值时,对所述图像窗口的大小减小所述预设尺寸值,得到第二图像窗口,在当前帧图像中以该待跟踪角点为中心建立所述第二图像窗口,计算所述第二图像窗口内像素的GFTT响应值;
判断所述第二图像窗口内像素的GFTT响应值是否大于所述检测阈值,若是,该待跟踪角点通过验证,并将所述第二图像窗口视为该待跟踪角点在当前帧图像的图像窗口;若否,该待跟踪角点验证失败。
7.一种角点跟踪装置,其特征在于,包括:
角点确定模块,用于设置图像窗口,基于所述图像窗口在首帧图像中确定角点,将确定的所有角点视为待跟踪角点,并为每个待跟踪角点设置唯一的ID;
角点跟踪模块,用于将首帧图像的后一帧图像视为当前帧图像,循环执行以下步骤:
利用稀疏光流法跟踪前一帧图像中的待跟踪角点在当前帧图像中的位置;
在当前帧图像中基于前一帧图像中的所述图像窗口对所有跟踪成功的待跟踪角点进行验证,将通过验证的待跟踪角点的ID、在前一帧图像中的位置和在当前帧图像中的位置作为当前跟踪结果输出;
判断通过验证的待跟踪角点的个数是否大于预设值,若是,则将通过验证的待跟踪角点作为当前帧图像的待跟踪角点,并将下一帧图像视为当前帧图像;若否,在当前帧图像中除了通过验证的待跟踪角点之外的位置基于所述图像窗口确定角点,为新确定的角点设置唯一的ID,新确定的角点和通过验证的待跟踪角点的个数之和大于所述预设值时,将新确定的角点和通过验证的待跟踪角点作为当前帧图像的待跟踪角点,并将下一帧图像视为当前帧图像。
8.如权利要求7所述的角点跟踪装置,其特征在于,所述角点确定模块,具体用于针对首帧图像中的每个像素点,以该像素点为中心建立所述图像窗口,计算所述图像窗口内像素的GFTT响应值;判断GFTT响应值是否大于检测阈值,若是,则确定像素点为角点。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的角点跟踪方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至6中任一项所述的角点跟踪方法的计算机程序。
CN202110285339.0A 2021-03-17 2021-03-17 角点跟踪方法、装置、计算机设备及可读存储介质 Active CN112927268B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110285339.0A CN112927268B (zh) 2021-03-17 2021-03-17 角点跟踪方法、装置、计算机设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110285339.0A CN112927268B (zh) 2021-03-17 2021-03-17 角点跟踪方法、装置、计算机设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN112927268A true CN112927268A (zh) 2021-06-08
CN112927268B CN112927268B (zh) 2022-08-05

Family

ID=76175698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110285339.0A Active CN112927268B (zh) 2021-03-17 2021-03-17 角点跟踪方法、装置、计算机设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN112927268B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8582821B1 (en) * 2011-05-23 2013-11-12 A9.Com, Inc. Tracking objects between images
CN105374049A (zh) * 2014-09-01 2016-03-02 浙江宇视科技有限公司 一种基于稀疏光流法的多角点跟踪方法及装置
CN107103268A (zh) * 2016-02-23 2017-08-29 中国移动通信集团浙江有限公司 一种目标跟踪方法和装置
US20190034700A1 (en) * 2016-02-03 2019-01-31 Goertek Inc. Method and device for face tracking and smart terminal
CN109978911A (zh) * 2019-02-22 2019-07-05 青岛小鸟看看科技有限公司 一种图像特征点跟踪方法和相机

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8582821B1 (en) * 2011-05-23 2013-11-12 A9.Com, Inc. Tracking objects between images
CN105374049A (zh) * 2014-09-01 2016-03-02 浙江宇视科技有限公司 一种基于稀疏光流法的多角点跟踪方法及装置
US20190034700A1 (en) * 2016-02-03 2019-01-31 Goertek Inc. Method and device for face tracking and smart terminal
CN107103268A (zh) * 2016-02-23 2017-08-29 中国移动通信集团浙江有限公司 一种目标跟踪方法和装置
CN109978911A (zh) * 2019-02-22 2019-07-05 青岛小鸟看看科技有限公司 一种图像特征点跟踪方法和相机

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
IGOR I. LYCHKOV ETC.: "Tracking of Moving Objects With Regeneration of Object Feature Points", 《2018 GLOBAL SMART INDUSTRY CONFERENCE》 *
张礼等: "基于Harris角点与广义霍夫变换的扩展", 《国外电子测量技术》 *
杨广学等: "基于多项式展开及Harris角点的轨迹跟踪系统", 《哈尔滨理工大学学报》 *

Also Published As

Publication number Publication date
CN112927268B (zh) 2022-08-05

Similar Documents

Publication Publication Date Title
US10789719B2 (en) Method and apparatus for detection of false alarm obstacle
US8755630B2 (en) Object pose recognition apparatus and object pose recognition method using the same
KR101592798B1 (ko) 배향 센서들에 기초한 호모그래피 분해 모호성의 해결
CN110119679B (zh) 物体三维信息估计方法及装置、计算机设备、存储介质
US20210192190A1 (en) Comparison method and apparatus based on a plurality of face image frames and electronic device
CN114494121B (zh) 图像偏移的校正方法、校正装置、存储介质及电子设备
CN115797440A (zh) 电芯定位方法、控制器和计算机可读存储介质
US9900550B1 (en) Frame rate up-conversion apparatus and method
JP6507843B2 (ja) 映像解析方法及び映像解析装置
CN112184772A (zh) 目标跟踪方法和装置
CN117007037A (zh) 移动机器人的位姿估计方法、装置、移动机器人及介质
US9042681B1 (en) Interpolated video error concealment
CN111738085B (zh) 实现自动驾驶同时定位与建图的系统构建方法及装置
CN112927268B (zh) 角点跟踪方法、装置、计算机设备及可读存储介质
WO2021189784A1 (zh) 一种场景重建方法、系统、装置及扫地机器人
US11120572B2 (en) Method, system and apparatus for associating a target object in images
CN115115704B (zh) 确定汽车位姿信息的方法及装置
CN112906708B (zh) 一种图片处理方法、装置、电子设备和计算机存储介质
CN115556827A (zh) 自动驾驶车辆的航向角确定方法、装置及电子设备
WO2022123786A1 (ja) 信頼度推定装置、位置推定装置、及び信頼度推定方法
CN115147573A (zh) 三维姿态估计方法及系统、计算机可读存储介质
US20230419605A1 (en) Map generation apparatus, map generation method, and non-transitory computer-readable medium storing program
KR102288237B1 (ko) 이미지 연관 방법, 시스템 및 장치
WO2011047505A1 (en) Data processing system and method
CN117456294B (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