CN114066930A - 一种平面目标跟踪方法、装置、终端设备及存储介质 - Google Patents

一种平面目标跟踪方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN114066930A
CN114066930A CN202010744409.XA CN202010744409A CN114066930A CN 114066930 A CN114066930 A CN 114066930A CN 202010744409 A CN202010744409 A CN 202010744409A CN 114066930 A CN114066930 A CN 114066930A
Authority
CN
China
Prior art keywords
point set
optical flow
transformation matrix
initial
value
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.)
Pending
Application number
CN202010744409.XA
Other languages
English (en)
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.)
Wanxing Technology Hunan Co ltd
Original Assignee
Wanxing Technology Hunan Co ltd
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 Wanxing Technology Hunan Co ltd filed Critical Wanxing Technology Hunan Co ltd
Priority to CN202010744409.XA priority Critical patent/CN114066930A/zh
Publication of CN114066930A publication Critical patent/CN114066930A/zh
Pending legal-status Critical Current

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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • 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

Landscapes

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

Abstract

本申请适用于目标跟踪技术领域,提供了一种平面目标跟踪方法、装置、终端设备及存储介质。本申请实施例中获取当前视频各个帧的变换矩阵,计算所述当前帧的变换矩阵和所述上一帧的变换矩阵的均值,得到待测变换矩阵;根据待测变换矩阵确定待测特征点集和待测外接矩形,并获取第一帧的初始特征点集和初始外接矩形;根据上一帧的光流点集进行光流计算,得到当前帧的光流点集,并对当前帧的光流点集进行匹配处理,从匹配后的当前帧的光流点集中选取符合预设条件的校准光流点集,从校准光流点集和初始特征点集中选取相同ID的四个点对,根据所述四个点对确定校准矩阵,根据校准矩阵确定当前帧的平面目标,该过程提高了整体目标跟踪算法的准确性。

Description

一种平面目标跟踪方法、装置、终端设备及存储介质
技术领域
本申请属于目标跟踪技术领域,尤其涉及一种平面目标跟踪方法、装置、终端设备及存储介质。
背景技术
随着社会的不断发展,计算机在人们的生活中越来越常见,其中,视觉目标跟踪是计算机视觉的核心问题之一,是绝大多数视觉系统中不可或缺的环节,具有广泛的应用场景,比如现实增强技术和机器人的研究技术等等。而三维结构的目标跟踪技术本身具有极大的挑战性,可以根据二维的平面结构做合理代替,因此平面目标跟踪在跟视觉相关的应用中发挥着极为重要的作用,如何正确定位每一帧的目标显得至关重要。
而现有技术中,可通过获取目标的外观或者外置条件为依据,利用匹配算法进行平面目标跟踪,而这种方式往往会受到各种因素的干扰而导致平面目标跟踪并不准确。
发明内容
本申请实施例提供了一种平面目标跟踪方法、装置、终端设备及存储介质,可以解决平面目标跟踪不准确的问题。
第一方面,本申请实施例提供了一种平面目标跟踪方法,包括:
获取当前视频各个帧的变换矩阵,从所述变换矩阵中选取当前帧的变换矩阵和上一帧的变换矩阵,计算所述当前帧的变换矩阵和所述上一帧的变换矩阵的均值,得到待测变换矩阵;
根据所述待测变换矩阵确定待测特征点集和待测外接矩形,并获取第一帧的初始特征点集和初始外接矩形;
当所述待测特征点集和所述初始特征点集中相同ID的特征点之间的距离大于预设的距离阈值或所述初始外接矩形的面积和所述待测外接矩形的面积之间的差值大于预设的面积差值时,获取预设的上一帧的光流点集,并根据所述上一帧的光流点集进行光流计算,得到当前帧的光流点集,对所述当前帧的光流点集进行匹配处理,得到匹配后的当前帧的光流点集;
从所述匹配后的当前帧的光流点集中选取符合预设条件的校准光流点集,从所述校准光流点集和所述初始特征点集中选取相同ID的四个点对,根据所述四个点对确定校准矩阵,根据所述校准矩阵确定当前帧的平面目标。
可选的,在获取第一帧的初始特征点集之后,包括:
根据所述初始特征点集确定所述第一帧的初始外接矩形;
对所述初始外接矩形进行灰度化处理,将处理后的所述初始外接矩形按照第一预设数量均等划分为各个区域;
获取所述各个区域的关键点,对所述各个区域的关键点进行处理,得到所述各个区域的关键点的特征描述符。
可选的,所述获取所述各个区域的关键点,包括:
以所述区域中的各个像素为中心做滑动窗口,获取所述滑动窗口内各个子像素的像素值;
根据所述各个子像素的像素值计算所述滑动窗口内各个子像素的梯度模值和方向值;
根据所述梯度模值和方向值计算各个子像素的累积值;
对所述各个子像素的累积值进行比较,将累积值最大的子像素作为待处理子像素;
将所述待处理子像素的累积值作为所述像素的累积值;
比较所述区域中各个像素的累积值,将所述累积值最大的像素作为所述区域的关键点。
可选的,所述对所述各个区域的关键点进行处理,得到所述各个区域的关键点的特征描述符,包括:
以所述关键点为中心构建第一预设范围的模型区域,将所述模型区域按照第二预设数量均等划分为各个子区域;
获取所述子区域内各个子像素的像素值,并根据所述子区域内各个子像素的像素值计算所述子区域内各个子像素的梯度模值和方向值;
根据所述梯度模值和方向值确定所述子区域的表示向量;
根据各个子区域的表示向量确定所述关键点的特征描述符。
可选的,所述从所述匹配后的当前帧的光流点集中选取符合预设条件的校准光流点集,包括:
获取所述关键点的位置,根据所述匹配后的当前帧的光流点集以所述关键点的位置为中心选取第二预设范围内的光流点集,将所述光流点集作为候选光流点集;
获取所述候选光流点集中各个候选光流点的特征描述符,将所述各个候选光流点的特征描述符分别与所述关键点的特征描述符进行相似度比较,从所述候选光流点集中选取相似度最高的候选光流点作为校准光流点。
可选的,在根据所述待测变换矩阵确定待测特征点集和待测外接矩形,并获取第一帧的初始特征点集和初始外接矩形之后,包括:
当所述待测特征点集和所述初始点集中相同ID的特征点之间的距离小于或等于所述距离阈值以及所述初始外接矩形的面积和所述待测外接矩形的面积之间的差值小于或等于所述面积差值时,根据所述待测变换矩阵进行迭代计算;
当所述迭代计算的次数等于预设的次数阈值时,确定校准矩阵,根据所述校准矩阵确定当前帧的平面目标。
可选的,所述根据所述待测变换矩阵进行迭代计算,包括:
将所述待测变换矩阵进行逆变换得到上一帧特征点集,根据所述上一帧特征点集、所述初始特征点集和所述待测变换矩阵更新所述待测特征点集;
从所述更新后的待测特征点集和所述初始特征点集中选取相同ID的四个点对,根据所述四个点对确定待处理变换矩阵,将所述待处理变换矩阵作为下一次迭代计算的待测变换矩阵。
第二方面,本申请实施例提供了一种平面目标跟踪装置,包括:
计算均值模块,用于获取当前视频各个帧的变换矩阵,从所述变换矩阵中选取当前帧的变换矩阵和上一帧的变换矩阵,计算所述当前帧的变换矩阵和所述上一帧的变换矩阵的均值,得到待测变换矩阵;
第一确定模块,用于根据所述待测变换矩阵确定待测特征点集和待测外接矩形,并获取第一帧的初始特征点集和初始外接矩形;
光流计算模块,用于当所述待测特征点集和所述初始特征点集中相同ID的特征点之间的距离大于预设的距离阈值或所述初始外接矩形的面积和所述待测外接矩形的面积之间的差值大于预设的面积差值时,获取预设的上一帧的光流点集,并根据所述上一帧的光流点集进行光流计算,得到当前帧的光流点集,并对所述当前帧的光流点集进行匹配处理,得到匹配后的当前帧的光流点集;
确定平面目标模块,用于从所述匹配后的当前帧的光流点集中选取符合预设条件的校准光流点集,从所述校准光流点集和所述初始特征点集中选取相同ID的四个点对,根据所述四个点对确定校准矩阵,根据所述校准矩阵确定当前帧的平面目标。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种平面目标跟踪方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述的计算机程序被处理器执行时实现上述任一种平面目标跟踪方法的步骤。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一种平面目标跟踪方法。
本申请实施例中获取当前视频各个帧的变换矩阵,从所述变换矩阵中选取当前帧的变换矩阵和上一帧的变换矩阵,计算所述当前帧的变换矩阵和所述上一帧的变换矩阵的均值,得到待测变换矩阵;根据所述待测变换矩阵确定待测特征点集和待测外接矩形,并获取第一帧的初始特征点集和初始外接矩形;当所述待测特征点集和所述初始特征点集中相同ID的特征点之间的距离大于预设的距离阈值或所述初始外接矩形的面积和所述待测外接矩形的面积之间的差值大于预设的面积差值时,获取预设的上一帧的光流点集,并根据所述上一帧的光流点集进行光流计算,得到当前帧的光流点集,并对所述当前帧的光流点集进行匹配处理,得到匹配后的当前帧的光流点集;从所述匹配后的当前帧的光流点集中选取符合预设条件的校准光流点集,从所述校准光流点集和所述初始特征点集中选取相同ID的四个点对,根据所述四个点对确定校准矩阵,根据所述校准矩阵确定当前帧的平面目标。通过本申请实施例,通过计算当前帧变换矩阵和上一帧变换矩阵的均值,提高当前帧变换矩阵的准确性,考虑到第一帧平面目标相对于其他帧来说最为准确,故以第一帧的初始特征点集和初始外接矩形进行比对处理,并利用光流计算来得到当前帧的光流点集,并进一步对当前帧的光流点集进行匹配从而提高当前帧光流点集的准确性,再从中以预设的条件重新选取校准光流点集,并根据校准光流点集和初始特征点集确定当前帧校准后的校准矩阵,再根据上述校准后的矩阵来最终确认当前帧的平面目标,从而提高了整体目标跟踪算法的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的平面目标跟踪方法的第一种流程示意图;
图2是本申请实施例提供的平面目标跟踪方法的第二种流程示意图;
图3是本申请实施例提供的平面目标跟踪方法的第三种流程示意图;
图4是本申请实施例提供的平面目标跟踪方法的第四种流程示意图;
图5是本申请实施例提供的平面目标跟踪方法的区域划分的示意图;
图6是本申请实施例提供的平面目标跟踪装置的结构示意图;
图7是本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
图1所示为本申请实施例中一种平面目标跟踪方法的流程示意图,该方法的执行主体可以是终端设备,如图1所示,所述平面目标跟踪方法可以包括如下步骤:
步骤S101、获取当前视频各个帧的变换矩阵,从所述变换矩阵中选取当前帧的变换矩阵和上一帧的变换矩阵,计算所述当前帧的变换矩阵和所述上一帧的变换矩阵的均值,得到待测变换矩阵。
在本实施例中,从存放视频各个帧的变换矩阵集中获取当前视频各个帧的变换矩阵,并从所得到的当前视频各个帧的变换矩阵中选取当前帧的变换矩阵和上一帧的变换矩阵,通过计算当前帧和上一帧的变换矩阵的均值,来得到待测变换矩阵。可以理解的是,在视频不断播放的过程中,平面目标区域也相当于各个帧之间进行一次次的透视变换,故利用变换矩阵对平面目标区域的变换进行表达。上述待测变换矩阵为当前帧的变换矩阵和上一帧的变换矩阵的均值,故相当于是对当前帧的变换矩阵进行处理,使当前帧的变换矩阵更加贴近于上一帧变换矩阵,便于后续矩阵处理,提高平面目标的准确性。而且因需取当前帧的变换矩阵和上一帧的变换矩阵,故获取的当前视频各个帧的变换矩阵的矩阵长度应该大于或者等于2,也就是说至少要有两个变换矩阵。
步骤S102、根据所述待测变换矩阵确定待测特征点集和待测外接矩形,并获取第一帧的初始特征点集和初始外接矩形。
在本实施例中,根据上述待测变换矩阵确定待测特征点集和待测外接矩形,因待测变换矩阵是指处理后的当前帧的变换矩阵,故上述待测特征点集指当前帧的各个特征点,而且可以通过当前帧的各个特征点可以确定当前帧的平面目标区域,上述待测外接矩形是指当前帧的各个特征点所组成的最小外接矩形。同时获取第一帧的初始特征点集和初始外接矩形,也就是指当前视频第一帧的初始的各个特征点以及上述初始的各个特征点所组成的最小的初始外接矩形。其中,上述第一帧初始特征点集可以由用户手动选定,也可以通过检测第一帧平面目标区域的各个特征部分来确定初始特征点集。可以理解的是,上述第一帧的初始特征点集所确定的平面目标区域可以说是整个视频序列中平面目标最为准确的一组特征点集,故通过利用第一帧的初始特征点集进行后续的处理操作,以提高后续操作中平面目标的准确性。
可以理解的是,因第一帧变换矩阵并没有进行透视变换,故可利用第一帧的初始外接矩形来计算得到,利用第一帧的初始外接矩形的左上角点的坐标得到:
Figure BDA0002607858230000051
其中,上述T为第一帧的变换矩阵;上述rect.x为第一帧的初始外接矩形的左上角点的横坐标;上述rect.y为第一帧的初始外接矩形的左上角点的纵坐标。
可选的,上述待测特征点集可通过变换矩阵来获取,例如,上一帧特征点A的坐标为(u,v,w),因透视变换是在3维空间上进行变换,而我们在本实施例中是处理二维图像,故特征点A的坐标w为1,可通过待测变换矩阵进行计算:
Figure BDA0002607858230000061
其中,通过上述(x’,y’,w’)为上一帧特征点A变换后的坐标;上述
Figure BDA0002607858230000062
表示图像的缩放、旋转等变换;上述
Figure BDA0002607858230000063
表示图像的透视变换;上述T3=|a31 a32|表示图像的平移;上述a33通常值为1。
步骤S103、当所述待测特征点集和所述初始特征点集中相同ID的特征点之间的距离大于预设的距离阈值或所述初始外接矩形的面积和所述待测外接矩形的面积之间的差值大于预设的面积差值时,获取预设的上一帧的光流点集,并根据所述上一帧的光流点集进行光流计算,得到当前帧的光流点集,对所述当前帧的光流点集进行匹配处理,得到匹配后的当前帧的光流点集。
在本实施例中,计算待测特征点集和初始特征点集中相同ID的特征点之间的距离,在计算得到的所有相同ID的特征点之间的距离中至少有一组相同ID的特征点之间的距离大于预设的距离阈值时,获取上一帧的光流点集,并根据上一帧的光流点集进行光流计算,得到当前帧的光流点集,对当前帧的光流点集进行匹配处理,得到匹配后的当前帧的光流点集。可以理解的是,若待测特征点集和初始特征点集中相同ID的特征点之间的距离中至少有一组相同ID的特征点之间的距离大于预设的距离阈值,则说明当前帧的平面目标区域相对于第一帧的平面目标区域来说运动距离超过了预设距离,需利用光流运动,来进行校正。
在本实施例中,计算待测外接矩形的面积和初始外接矩形的面积之间的差值,当计算得到的面积之间的差值大于预设的面积差值时,获取预设的上一帧的光流点集,并根据上一帧的光流点集进行光流计算,得到当前帧的光流点集,对当前帧的光流点集进行匹配处理,得到匹配后的当前帧的光流点集。
可以理解的是,上述光流点集中的光流点代表图像中亮度变化最强地方,在本实施例中也就是指通过特征点所得到的外接矩形中亮度变化最强地方,在视频时间间隔较小,也就相当于是连续的视频前后两帧之间,光流点的变化也就相当于目标点的位移。故光流点也可称之为极值点,也就是在某些属性上强度最大或最小的点。通过利用光流点这种目标图像本身的结构信息,来进行平面目标的跟踪,避免了因受各种因素困扰而导致的跟踪失败。
可选的,上述光流点包括但不限于是图像轮廓之间的交点;图像两条及两条以上边缘的交点;图像中梯度值和梯度方向的变化率都高于一定阈值的点等。上述光流点的获取可使用一个固定大小的窗口在图像上进行任意方向上的滑动,并随时比较滑动前和滑动后的情况,也就是指窗口内像素灰度变化程度,若存在大于预设的变化阈值的灰度值变化,则该窗口内存在光流点,再进行获取该光流点的位置。
可选的,上述当前帧的光流点集进行匹配处理,得到匹配后的当前帧的光流点集具体包括:以当前帧的光流点为基准点利用光流计算进行反向运算得到上一帧的光流点,比较上一帧的光流点与当前帧的光流点的位置,如果位置差大于一定阈值,则剔除当前帧的光流点,并将当前帧的光流点集中的所有光流点均做上述匹配处理,并剔除匹配后偏差过大的光流点,最终得到匹配后的当前帧的光流点集。
具体示例而非限定,上述利用上一帧的光流点集经光流计算得到当前帧的光流点集,假设连续两帧图像之间目标区域的像素的灰度值不变,且相邻像素具有相同的运动,基于上述假设,上一帧的像素A(x,y,t)移动了(dx,dy)的距离到下一帧,用了dt的时间,则可以得到:
I(x,y,t)=I(x+dx,y+dy,t+dt)
将公式右端进行泰勒展开带入后可得:
Figure BDA0002607858230000071
设u,v分别为光流分别沿X轴Y轴的速度矢量:
Figure BDA0002607858230000072
令Ix、Iy、It分别表示图像中像素点的灰度沿x、y、t方向的偏导数:
Figure BDA0002607858230000073
可得最终计算式:
Ixu+Iyv+It=0
其中,上述u,v就是所求的光流矢量。根据计算所得的u,v就可以找到上一帧光流点在下一帧所匹配的位置。
步骤S104、从所述匹配后的当前帧的光流点集中选取符合预设条件的校准光流点集,从所述校准光流点集和所述初始特征点集中选取相同ID的四个点对,根据所述四个点对确定校准矩阵,根据所述校准矩阵确定当前帧的平面目标。
在本实施例中,对匹配后的当前帧的光流点集中进一步的挑选出符合预设条件的校准光流点集,可以更准确的保证经挑选后的校准光流点集的准确性,因每一个点都有一个ID号,故可从校准光流点集和初始特征点集中选取相同ID的四个点对,利用所选取的四个点对确定校准矩阵,利用初始特征点集也就是第一帧的平面目标的特征点以及经挑选后的校准光流点集,可以提高得到的校准矩阵的准确性,并从该校准矩阵中确定当前帧的平面目标,以减小当前帧平面目标与实际的偏差,并将处理得到的校准矩阵替换为上述变换矩阵集中的当前帧的变换矩阵,为后续视频帧变换矩阵的处理提供较为准确的依据。
如图2所示,在获取第一帧的初始特征点集之后包括:
步骤S201、根据所述初始特征点集确定所述第一帧的初始外接矩形。
步骤S202、对所述初始外接矩形进行灰度化处理,将处理后的所述初始外接矩形按照第一预设数量均等划分为各个区域。
步骤S203、获取所述各个区域的关键点,对所述各个区域的关键点进行处理,得到所述各个区域的关键点的特征描述符。
在本实施例中,根据第一帧初始选定的特征点集确定当前第一帧的初始外接矩形,并对得到的初始外接矩形进行灰度化处理,使上述初始外接矩形变为单通道图像,便于后期处理,将处理后的初始外接矩形按照第一预设数量均等划分各个区域,并获取各个区域的关键点,对关键点进行处理,得到各个区域关键点的特征描述符,为后续进行相似度比较提供依据。其中,上述第一预设数量可根据用户需求进行设定。上述关键点为可代表划分后的各区域的点。
可选的,上述初始外接矩形的确定可通过将初始特征点集中的各个初始特征点按照一定顺序进行连接,从而组成任意形状的多边形,再根据该多边形的最大横坐标、最小横坐标、最大纵坐标、最小纵坐标从而确定初始外接矩形的边界。
如图3所示,所述获取所述各个区域的关键点包括:
步骤S301、以所述区域中的各个像素为中心做滑动窗口,获取所述滑动窗口内各个子像素的像素值。
在本实施例中,以划分后的每个区域的各个像素为中心做滑动窗口,并获取每个像素所对应的滑动窗口内的各个子像素的像素值。其中,上述滑动窗口根据用户需求确定大小。
具体示例而非限定,若上述矩形区域的大小为16*16,将上述矩形区域均等划分为4*4个区域,那么划分后的每个区域的大小为4*4,也就是说明该区域包含了16个像素,以各个像素为中心做预设大小的滑动窗口,例如滑动窗口的大小为5*5,通过滑动窗口的移动获取滑动窗口内各个子像素的像素值。
步骤S302、根据所述各个子像素的像素值计算所述滑动窗口内各个子像素的梯度模值和方向值。
在本实施例中,根据所获取的各个子像素的像素值计算该滑动窗口内各个子像素的梯度模值和方向值。其中上述梯度模值的计算公式为:
mag=sqrt((right-cur)2+(bottom-cur)2)
上述方向值的计算公式为:
ori=arctan((bottom-cur),(right-cur))
其中,上述mag为当前子像素的梯度模值;上述ori为当前子像素的方向值;上述right为当前子像素的右面相邻的子像素的像素值;上述cur为当前子像素的像素值;上述bottom为当前子像素的下面相邻的子像素的像素值。可以理解的是,滑动窗口的移动由左上角的像素点开始向右以及向下移动,故利用当前子像素的右面相邻的子像素的像素值以及当前子像素的下面相邻的子像素的像素值来计算当前子像素的梯度模值和方向值。
步骤S303、根据所述梯度模值和方向值计算各个子像素的累积值。
步骤S304、对所述各个子像素的累积值进行比较,将累积值最大的子像素作为待处理子像素。
步骤S305、将所述待处理子像素的累积值作为所述像素的累积值。
在本实施例中,根据上述计算得到的梯度模值和方向值计算各个子像素的累积值,再比较各个子像素的累积值从上述子像素的累积值中挑选出累积值最大的子像素,将上述累积值最大的子像素作为待处理子像素,并将上述待处理子像素的累积值作为上述窗口内中心像素的累积值。
可选的,上述根据梯度模值和方向值计算各个子像素的累积值,包括:将模值累积区域按照预设阈值进行均等划分,根据上述方向值将子像素的梯度模值累积到划分后的模值累积区域内;并计算各个模值累积区域中梯度模值的累积值,从划分得到的模值累积区域中挑选出累积值最大的模值累积区域,将所挑选出的累积值最大的模值累积区域的累积值作为该子像素的累积值。
具体示例而非限定,将模值累积区域按照0到360度进行划分,分为36个区域,例如第一个区域为0到9度,第二个区域为10到19度,第三个区域为20到29度等,以此类推,根据上述方向值将子像素的梯度模值累积到对应角度的模值累积区域内,当所有子像素的梯度模值均累积到对应的模值累积区域后,再进行比较,从而挑选出累积值最大的模值累积区域。
步骤S306、比较所述区域中各个像素的累积值,将所述累积值最大的像素作为所述区域的关键点。
在本实施例中,通过上述方法得到区域中的各个像素的累积值,对各个像素的累积值进行比较,挑选出累积值最大的像素,并将上述累积值最大的像素作为该区域的关键点,也就是最能够表示该区域特征的点。
如图4所示,所述对所述各个区域的关键点进行处理,得到所述各个区域的关键点的特征描述符包括:
步骤S401、以所述关键点为中心构建第一预设范围的模型区域,将所述模型区域按照第二预设数量均等划分为各个子区域。
步骤S402、获取所述子区域内各个子像素的像素值,并根据所述子区域内各个子像素的像素值计算所述子区域内各个子像素的梯度模值和方向值。
步骤S403、根据所述梯度模值和方向值确定所述子区域的表示向量。
步骤S404、根据各个子区域的表示向量确定所述关键点的特征描述符。
在本实施例中,以关键点的位置为中心构建第一预设范围的模型区域,并将该模型区域按照第二预设数量来均等划分各个子区域,并获取各个子区域中各个子像素的像素值,并根据各个子像素的像素值计算各个子像素的梯度模值和方向值,将模值累积区域按照预设阈值进行均等划分,根据上述方向值将子像素的梯度模值累积到划分后的模值累积区域内;并计算各个模值累积区域中梯度模值的累积值,而上述子区域的表示向量的长度由所划分的模值累积区域来决定,划分多少个模值累积区域,长度就为多少。当确定各个子区域的表示向量后,集合各个子区域的表示向量确定该关键点的特征描述符。其中,上述第一预设范围以及第二预设数量可根据用户需求进行设定。
具体示例而非限定,以当前坐标(x,y)为中心构造16*16大小的区域,并将按照数量16来均等划分,得到16个子区域,以划分后的每个子区域的左上角的像素为开始点,向右向下计算所述子区域内各个子像素的梯度模值和方向值,将0到360度的模值累积区域划分为8个,并进行计算累积值,每个模值累积区域代表该子区域的一个表示向量,则该子区域形成长度为8的表示向量,计算16个子区域的表示向量,再集合16个子区域的长度为8的表示向量得到该关键点的128维特征描述符,如图5所示。
可选的,所述从所述匹配后的当前帧的光流点集中选取符合预设条件的校准光流点集,包括:
获取所述关键点的位置,根据所述匹配后的当前帧的光流点集以所述关键点的位置为中心选取第二预设范围内的光流点集,将所述光流点集作为候选光流点集。
获取所述候选光流点集中各个候选光流点的特征描述符,将所述各个候选光流点的特征描述符分别与所述关键点的特征描述符进行相似度比较,从所述候选光流点集中选取相似度最高的候选光流点作为校准光流点。
在本实施例中,获取第一帧所得到的关键点的位置,以上述关键点的位置为中心从上述匹配后的当前帧的光流点集中选取第二预设范围内的光流点集,将所述光流点集作为候选光流点集,根据上述特征描述符的计算手段,计算并获取上述候选光流点集中各个候选光流点的特征描述符,再利用欧氏距离分别与上述计算得到的关键点的特征描述符进行相似度比较,并从中选取相似度最高的候选光流点作为校准光流点。可以理解的是,各区域的关键点分别做上述操作,从而得到校准光流点集。其中,上述第二预设范围可根据用户需求进行设定。
可选的,在根据所述待测变换矩阵确定待测特征点集和待测外接矩形,并获取第一帧的初始特征点集和初始外接矩形之后,包括:
当所述待测特征点集和所述初始点集中相同ID的特征点之间的距离小于或等于所述距离阈值以及所述初始外接矩形的面积和所述待测外接矩形的面积之间的差值小于或等于所述面积差值时,根据所述待测变换矩阵进行迭代计算。
当所述迭代计算的次数等于预设的次数阈值时,确定校准矩阵,根据所述校准矩阵确定当前帧的平面目标。
在本实施例中,当待测特征点集和初始点集中相同ID的特征点之间的距离小于或等于预设的距离阈值以及初始外接矩形的面积和待测外接矩形的面积之间的差值小于或等于预设的面积差值时,根据上述待测变换矩阵进行迭代计算;当迭代计算的次数等于预设的次数阈值时,将当前经计算得到的矩阵确定为校准矩阵,再根据上述校准矩阵确定当前帧的平面目标。并将处理得到的校准矩阵替换为上述变换矩阵集中的当前帧的变换矩阵,为后续视频帧变换矩阵的处理提供较为准确的依据。其中,上述预设的次数阈值可以跟用户需求进行设定,一般为初始点集中特征点数量的1/2。
可选的,所述根据所述待测变换矩阵进行迭代计算,包括:
将所述待测变换矩阵进行逆变换得到上一帧特征点集,根据所述上一帧特征点集、所述初始特征点集和所述待测变换矩阵更新所述待测特征点集。
从所述更新后的待测特征点集和所述初始特征点集中选取相同ID的四个点对,根据所述四个点对确定待处理变换矩阵,将所述待处理变换矩阵作为下一次迭代计算的待测变换矩阵。
在本实施例中,将待测变换矩阵进行逆变换,也就是利用矩阵求逆的方式得到上一帧的特征点集,根据上一帧特征点集、初始特征点集和待测变换矩阵更新待测特征点集,也就是将待测特征点集中的各个特征点的坐标进行计算,并将各个特征点的坐标更新为计算得到的坐标,以减少经变换矩阵得到的特征点集与实际特征点集之间的偏差。并从上述更新后的待测特征点集和初始特征点集中选取相同ID的四个点对,根据所选取的四个点对确定待处理变换矩阵,将所述待处理变换矩阵作为下一次迭代计算的待测变换矩阵,再次进行迭代计算,直到迭代计算的次数满足预设次数,则停止迭代计算。
可选的,上述将待测特征点集中的各个特征点的坐标进行计算的公式为:
x′=x+(1-PredWarp)*(InitPoints.x-InitPoints′.x)
y′=y+(1-PredWarp)*(InitPoints.y-InitPoints′.y)
其中,上述x为待测特征点集中的特征点A的横坐标;上述y为待测特征点集中的特征点A的纵坐标;上述x’为待测特征点集中的特征点A更新后的横坐标;上述y’为待测特征点集中的特征点A更新后的纵坐标;上述PredWarp为待测变换矩阵;上述InitPoints.x为初始特征点集中特征点A的横坐标;上述InitPoints’.x为上一帧特征点集中特征点A的横坐标;上述InitPoints.y为初始特征点集中特征点A的纵坐标;上述InitPoints’.y为上一帧特征点集中特征点A的纵坐标。
本申请实施例中获取当前视频各个帧的变换矩阵,从所述变换矩阵中选取当前帧的变换矩阵和上一帧的变换矩阵,计算所述当前帧的变换矩阵和所述上一帧的变换矩阵的均值,得到待测变换矩阵;根据所述待测变换矩阵确定待测特征点集和待测外接矩形,并获取第一帧的初始特征点集和初始外接矩形;当所述待测特征点集和所述初始特征点集中相同ID的特征点之间的距离大于预设的距离阈值或所述初始外接矩形的面积和所述待测外接矩形的面积之间的差值大于预设的面积差值时,获取预设的上一帧的光流点集,并根据所述上一帧的光流点集进行光流计算,得到当前帧的光流点集,并对所述当前帧的光流点集进行匹配处理,得到匹配后的当前帧的光流点集;从所述匹配后的当前帧的光流点集中选取符合预设条件的校准光流点集,从所述校准光流点集和所述初始特征点集中选取相同ID的四个点对,根据所述四个点对确定校准矩阵,根据所述校准矩阵确定当前帧的平面目标。通过本申请实施例,通过计算当前帧变换矩阵和上一帧变换矩阵的均值,提高当前帧变换矩阵的准确性,考虑到第一帧平面目标相对于其他帧来说最为准确,故以第一帧的初始特征点集和初始外接矩形进行比对处理,并利用光流计算来得到当前帧的光流点集,并进一步对当前帧的光流点集进行匹配从而提高当前帧光流点集的准确性,再从中以预设的条件重新选取校准光流点集,并根据校准光流点集和初始特征点集确定当前帧校准后的校准矩阵,再根据上述校准后的矩阵来最终确认当前帧的平面目标,从而提高了整体目标跟踪算法的准确性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图6所示为本申请实施例中一种平面目标跟踪装置的结构示意图,如图6所示,所述平面目标跟踪装置可以包括:
计算均值模块601,用于获取当前视频各个帧的变换矩阵,从所述变换矩阵中选取当前帧的变换矩阵和上一帧的变换矩阵,计算所述当前帧的变换矩阵和所述上一帧的变换矩阵的均值,得到待测变换矩阵。
第一确定模块602,用于根据所述待测变换矩阵确定待测特征点集和待测外接矩形,并获取第一帧的初始特征点集和初始外接矩形。
光流计算模块603,用于当所述待测特征点集和所述初始特征点集中相同ID的特征点之间的距离大于预设的距离阈值或所述初始外接矩形的面积和所述待测外接矩形的面积之间的差值大于预设的面积差值时,获取预设的上一帧的光流点集,并根据所述上一帧的光流点集进行光流计算,得到当前帧的光流点集,对所述当前帧的光流点集进行匹配处理,得到匹配后的当前帧的光流点集。
确定平面目标模块604,用于从所述匹配后的当前帧的光流点集中选取符合预设条件的校准光流点集,从所述校准光流点集和所述初始特征点集中选取相同ID的四个点对,根据所述四个点对确定校准矩阵,根据所述校准矩阵确定当前帧的平面目标。
可选的,所述平面目标跟踪装置还可以包括:
第二确定模块,用于根据所述初始特征点集确定所述第一帧的初始外接矩形。
灰度化处理模块,用于对所述初始外接矩形进行灰度化处理,将处理后的所述初始外接矩形按照第一预设数量均等划分为各个区域。
获取关键点模块,用于获取所述各个区域的关键点,对所述各个区域的关键点进行处理,得到所述各个区域的关键点的特征描述符。
可选的,所述平面目标跟踪装置还可以包括:
获取像素值模块,用于以所述区域中的各个像素为中心做滑动窗口,获取所述滑动窗口内各个子像素的像素值。
计算子像素模块,用于根据所述各个子像素的像素值计算所述滑动窗口内各个子像素的梯度模值和方向值。
挑选模块,用于根据所述梯度模值和方向值计算各个子像素的累积值。
累积值比较模块,用于对所述各个子像素的累积值进行比较,将累积值最大的子像素作为待处理子像素。
作为模块,用于将所述待处理子像素的累积值作为所述像素的累积值。
比较模块,用于比较所述区域中各个像素的累积值,将所述累积值最大的像素作为所述区域的关键点。
可选的,所述平面目标跟踪装置还可以包括:
构建区域模块,用于以所述关键点为中心构建第一预设范围的模型区域,将所述模型区域按照第二预设数量均等划分为各个子区域。
获取模块,用于获取所述子区域内各个子像素的像素值,并根据所述子区域内各个子像素的像素值计算所述子区域内各个子像素的梯度模值和方向值。
确定表示向量模块,用于根据所述梯度模值和方向值确定所述子区域的表示向量。
确定特征描述符模块,用于根据各个子区域的表示向量确定所述关键点的特征描述符。
可选的,所述平面目标跟踪装置还可以包括:
获取位置模块,用于获取所述关键点的位置,根据所述匹配后的当前帧的光流点集以所述关键点的位置为中心选取第二预设范围内的光流点集,将所述光流点集作为候选光流点集。
相似度比较模块,用于获取所述候选光流点集中各个候选光流点的特征描述符,将所述各个候选光流点的特征描述符分别与所述关键点的特征描述符进行相似度比较,从所述候选光流点集中选取相似度最高的候选光流点作为校准光流点。
可选的,所述平面目标跟踪装置还可以包括:
迭代计算模块,用于当所述待测特征点集和所述初始点集中相同ID的特征点之间的距离小于或等于所述距离阈值以及所述初始外接矩形的面积和所述待测外接矩形的面积之间的差值小于或等于所述面积差值时,根据所述待测变换矩阵进行迭代计算。
第一确定校准矩阵模块,用于当所述迭代计算的次数等于预设的次数阈值时,确定校准矩阵,根据所述校准矩阵确定当前帧的平面目标。
可选的,所述平面目标跟踪装置还可以包括:
逆变换模块,用于将所述待测变换矩阵进行逆变换得到上一帧特征点集,根据所述上一帧特征点集、所述初始特征点集和所述待测变换矩阵更新所述待测特征点集。
第二确定校准矩阵模块,用于从所述更新后的待测特征点集和所述初始特征点集中选取相同ID的四个点对,根据所述四个点对确定待处理变换矩阵,将所述待处理变换矩阵作为下一次迭代计算的待测变换矩阵。
本申请实施例中获取当前视频各个帧的变换矩阵,从所述变换矩阵中选取当前帧的变换矩阵和上一帧的变换矩阵,计算所述当前帧的变换矩阵和所述上一帧的变换矩阵的均值,得到待测变换矩阵;根据所述待测变换矩阵确定待测特征点集和待测外接矩形,并获取第一帧的初始特征点集和初始外接矩形;当所述待测特征点集和所述初始特征点集中相同ID的特征点之间的距离大于预设的距离阈值或所述初始外接矩形的面积和所述待测外接矩形的面积之间的差值大于预设的面积差值时,获取预设的上一帧的光流点集,并根据所述上一帧的光流点集进行光流计算,得到当前帧的光流点集,并对所述当前帧的光流点集进行匹配处理,得到匹配后的当前帧的光流点集;从所述匹配后的当前帧的光流点集中选取符合预设条件的校准光流点集,从所述校准光流点集和所述初始特征点集中选取相同ID的四个点对,根据所述四个点对确定校准矩阵,根据所述校准矩阵确定当前帧的平面目标。通过本申请实施例,通过计算当前帧变换矩阵和上一帧变换矩阵的均值,提高当前帧变换矩阵的准确性,考虑到第一帧平面目标相对于其他帧来说最为准确,故以第一帧的初始特征点集和初始外接矩形进行比对处理,并利用光流计算来得到当前帧的光流点集,并进一步对当前帧的光流点集进行匹配从而提高当前帧光流点集的准确性,再从中以预设的条件重新选取校准光流点集,并根据校准光流点集和初始特征点集确定当前帧校准后的校准矩阵,再根据上述校准后的矩阵来最终确认当前帧的平面目标,从而提高了整体目标跟踪算法的准确性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述系统实施例以及方法实施例中的对应过程,在此不再赘述。
图7为本申请实施例提供的终端设备的结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分。
如图7所示,该实施例的终端设备7包括:至少一个处理器700(图7中仅示出一个),与所述处理器700连接的存储器701,以及存储在所述存储器701中并可在所述至少一个处理器700上运行的计算机程序702,例如平面目标跟踪程序。所述处理器700执行所述计算机程序702时实现上述各个平面目标跟踪方法实施例中的步骤,例如图1所示的步骤S101至S104。或者,所述处理器700执行所述计算机程序702时实现上述各装置实施例中各模块的功能,例如图6所示模块601至604的功能。
示例性的,所述计算机程序702可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器701中,并由所述处理器700执行,以完成本申请。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序702在所述终端设备7中的执行过程。例如,所述计算机程序702可以被分割成计算均值模块601、第一确定模块602、光流计算模块603、确定平面目标模块604,各模块具体功能如下:
计算均值模块601,用于获取当前视频各个帧的变换矩阵,从所述变换矩阵中选取当前帧的变换矩阵和上一帧的变换矩阵,计算所述当前帧的变换矩阵和所述上一帧的变换矩阵的均值,得到待测变换矩阵;
第一确定模块602,用于根据所述待测变换矩阵确定待测特征点集和待测外接矩形,并获取第一帧的初始特征点集和初始外接矩形;
光流计算模块603,用于当所述待测特征点集和所述初始特征点集中相同ID的特征点之间的距离大于预设的距离阈值或所述初始外接矩形的面积和所述待测外接矩形的面积之间的差值大于预设的面积差值时,获取预设的上一帧的光流点集,并根据所述上一帧的光流点集进行光流计算,得到当前帧的光流点集,对所述当前帧的光流点集进行匹配处理,得到匹配后的当前帧的光流点集;
确定平面目标模块604,用于从所述匹配后的当前帧的光流点集中选取符合预设条件的校准光流点集,从所述校准光流点集和所述初始特征点集中选取相同ID的四个点对,根据所述四个点对确定校准矩阵,根据所述校准矩阵确定当前帧的平面目标。
所述终端设备7可包括,但不仅限于,处理器700、存储器701。本领域技术人员可以理解,图7仅仅是终端设备7的举例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备、总线等。
所称处理器700可以是中央处理单元(Central Processing Unit,CPU),该处理器700还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器701在一些实施例中可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器701在另一些实施例中也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器701还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器701用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器701还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种平面目标跟踪方法,其特征在于,包括:
获取当前视频各个帧的变换矩阵,从所述变换矩阵中选取当前帧的变换矩阵和上一帧的变换矩阵,计算所述当前帧的变换矩阵和所述上一帧的变换矩阵的均值,得到待测变换矩阵;
根据所述待测变换矩阵确定待测特征点集和待测外接矩形,并获取第一帧的初始特征点集和初始外接矩形;
当所述待测特征点集和所述初始特征点集中相同ID的特征点之间的距离大于预设的距离阈值或所述初始外接矩形的面积和所述待测外接矩形的面积之间的差值大于预设的面积差值时,获取预设的上一帧的光流点集,并根据所述上一帧的光流点集进行光流计算,得到当前帧的光流点集,对所述当前帧的光流点集进行匹配处理,得到匹配后的当前帧的光流点集;
从所述匹配后的当前帧的光流点集中选取符合预设条件的校准光流点集,从所述校准光流点集和所述初始特征点集中选取相同ID的四个点对,根据所述四个点对确定校准矩阵,根据所述校准矩阵确定当前帧的平面目标。
2.如权利要求1所述的平面目标跟踪方法,其特征在于,在获取第一帧的初始特征点集之后,包括:
根据所述初始特征点集确定所述第一帧的初始外接矩形;
对所述初始外接矩形进行灰度化处理,将处理后的所述初始外接矩形按照第一预设数量均等划分为各个区域;
获取所述各个区域的关键点,对所述各个区域的关键点进行处理,得到所述各个区域的关键点的特征描述符。
3.如权利要求2所述的平面目标跟踪方法,其特征在于,所述获取所述各个区域的关键点,包括:
以所述区域中的各个像素为中心做滑动窗口,获取所述滑动窗口内各个子像素的像素值;
根据所述各个子像素的像素值计算所述滑动窗口内各个子像素的梯度模值和方向值;
根据所述梯度模值和方向值计算各个子像素的累积值;
对所述各个子像素的累积值进行比较,将累积值最大的子像素作为待处理子像素;
将所述待处理子像素的累积值作为所述像素的累积值;
比较所述区域中各个像素的累积值,将所述累积值最大的像素作为所述区域的关键点。
4.如权利要求2所述的平面目标跟踪方法,其特征在于,所述对所述各个区域的关键点进行处理,得到所述各个区域的关键点的特征描述符,包括:
以所述关键点为中心构建第一预设范围的模型区域,将所述模型区域按照第二预设数量均等划分为各个子区域;
获取所述子区域内各个子像素的像素值,并根据所述子区域内各个子像素的像素值计算所述子区域内各个子像素的梯度模值和方向值;
根据所述梯度模值和方向值确定所述子区域的表示向量;
根据各个子区域的表示向量确定所述关键点的特征描述符。
5.如权利要求4所述的平面目标跟踪方法,其特征在于,所述从所述匹配后的当前帧的光流点集中选取符合预设条件的校准光流点集,包括:
获取所述关键点的位置,根据所述匹配后的当前帧的光流点集以所述关键点的位置为中心选取第二预设范围内的光流点集,将所述光流点集作为候选光流点集;
获取所述候选光流点集中各个候选光流点的特征描述符,将所述各个候选光流点的特征描述符分别与所述关键点的特征描述符进行相似度比较,从所述候选光流点集中选取相似度最高的候选光流点作为校准光流点。
6.如权利要求1所述的平面目标跟踪方法,其特征在于,在根据所述待测变换矩阵确定待测特征点集和待测外接矩形,并获取第一帧的初始特征点集和初始外接矩形之后,包括:
当所述待测特征点集和所述初始点集中相同ID的特征点之间的距离小于或等于所述距离阈值以及所述初始外接矩形的面积和所述待测外接矩形的面积之间的差值小于或等于所述面积差值时,根据所述待测变换矩阵进行迭代计算;
当所述迭代计算的次数等于预设的次数阈值时,确定校准矩阵,根据所述校准矩阵确定当前帧的平面目标。
7.如权利要求6所述的平面目标跟踪方法,其特征在于,所述根据所述待测变换矩阵进行迭代计算,包括:
将所述待测变换矩阵进行逆变换得到上一帧特征点集,根据所述上一帧特征点集、所述初始特征点集和所述待测变换矩阵更新所述待测特征点集;
从所述更新后的待测特征点集和所述初始特征点集中选取相同ID的四个点对,根据所述四个点对确定待处理变换矩阵,将所述待处理变换矩阵作为下一次迭代计算的待测变换矩阵。
8.一种平面目标跟踪装置,其特征在于,包括:
计算均值模块,用于获取当前视频各个帧的变换矩阵,从所述变换矩阵中选取当前帧的变换矩阵和上一帧的变换矩阵,计算所述当前帧的变换矩阵和所述上一帧的变换矩阵的均值,得到待测变换矩阵;
第一确定模块,用于根据所述待测变换矩阵确定待测特征点集和待测外接矩形,并获取第一帧的初始特征点集和初始外接矩形;
光流计算模块,用于当所述待测特征点集和所述初始特征点集中相同ID的特征点之间的距离大于预设的距离阈值或所述初始外接矩形的面积和所述待测外接矩形的面积之间的差值大于预设的面积差值时,获取预设的上一帧的光流点集,并根据所述上一帧的光流点集进行光流计算,得到当前帧的光流点集,并对所述当前帧的光流点集进行匹配处理,得到匹配后的当前帧的光流点集;
确定平面目标模块,用于从所述匹配后的当前帧的光流点集中选取符合预设条件的校准光流点集,从所述校准光流点集和所述初始特征点集中选取相同ID的四个点对,根据所述四个点对确定校准矩阵,根据所述校准矩阵确定当前帧的平面目标。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的一种平面目标跟踪方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的一种平面目标跟踪方法的步骤。
CN202010744409.XA 2020-07-29 2020-07-29 一种平面目标跟踪方法、装置、终端设备及存储介质 Pending CN114066930A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010744409.XA CN114066930A (zh) 2020-07-29 2020-07-29 一种平面目标跟踪方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010744409.XA CN114066930A (zh) 2020-07-29 2020-07-29 一种平面目标跟踪方法、装置、终端设备及存储介质

Publications (1)

Publication Number Publication Date
CN114066930A true CN114066930A (zh) 2022-02-18

Family

ID=80226773

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010744409.XA Pending CN114066930A (zh) 2020-07-29 2020-07-29 一种平面目标跟踪方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN114066930A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114639053A (zh) * 2022-03-29 2022-06-17 深圳万兴软件有限公司 基于色彩和谐的平面追踪取代方法、装置、设备及介质
CN115147458A (zh) * 2022-07-21 2022-10-04 北京远度互联科技有限公司 目标跟踪方法、装置、电子设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114639053A (zh) * 2022-03-29 2022-06-17 深圳万兴软件有限公司 基于色彩和谐的平面追踪取代方法、装置、设备及介质
CN115147458A (zh) * 2022-07-21 2022-10-04 北京远度互联科技有限公司 目标跟踪方法、装置、电子设备及存储介质
CN115147458B (zh) * 2022-07-21 2023-04-07 北京远度互联科技有限公司 目标跟踪方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US11321937B1 (en) Visual localization method and apparatus based on semantic error image
JP5538435B2 (ja) 画像特徴抽出方法及びシステム
CN110111388B (zh) 三维物体位姿参数估计方法及视觉设备
CN112348863B (zh) 图像对齐方法、图像对齐装置及终端设备
US8340433B2 (en) Image processing apparatus, electronic medium, and image processing method
CN108717709A (zh) 图像处理系统及图像处理方法
CN111612841A (zh) 目标定位方法及装置、移动机器人及可读存储介质
CN111640180A (zh) 一种三维重建方法、装置及终端设备
CN114066930A (zh) 一种平面目标跟踪方法、装置、终端设备及存储介质
CN112198878B (zh) 一种即时地图构建方法、装置、机器人及存储介质
CN110705433A (zh) 一种基于视觉感知的桥梁变形的监测方法、装置及设备
WO2021115061A1 (zh) 图像分割方法、装置及服务器
CN113140036A (zh) 一种三维建模方法、装置、设备及存储介质
CN112562000A (zh) 基于特征点检测和误匹配筛选的机器人视觉定位方法
CN112556994A (zh) 一种光学信息检测方法、装置及设备
CN110097064B (zh) 一种建图方法及装置
CN110673607A (zh) 动态场景下的特征点提取方法、装置、及终端设备
CN113240656B (zh) 视觉定位方法及相关装置、设备
CN117911668A (zh) 药品信息识别方法及装置
CN111161348A (zh) 一种基于单目相机的物体位姿估计方法、装置及设备
CN116977671A (zh) 基于图像空间定位的目标跟踪方法、装置、设备及存储介质
CN117011481A (zh) 构建三维地图的方法、装置、电子设备及存储介质
CN114511631A (zh) 摄像机视觉物体高度测量方法、装置及计算机可读存储介质
CN112529943A (zh) 一种物体检测方法、物体检测装置及智能设备
US20200202140A1 (en) Method and device for evaluating images, operating assistance method, and operating device

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