CN113763419A - 一种目标跟踪方法、设备及计算机可读存储介质 - Google Patents
一种目标跟踪方法、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113763419A CN113763419A CN202110476622.1A CN202110476622A CN113763419A CN 113763419 A CN113763419 A CN 113763419A CN 202110476622 A CN202110476622 A CN 202110476622A CN 113763419 A CN113763419 A CN 113763419A
- Authority
- CN
- China
- Prior art keywords
- straight line
- line segment
- target
- rectangle
- geometric
- 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
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- 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/20—Special algorithmic details
- G06T2207/20048—Transform domain processing
- G06T2207/20061—Hough transform
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Image Analysis (AREA)
Abstract
本申请提供了一种目标跟踪方法、设备及计算机可读存储介质;方法包括:对待处理视频的第一帧图像进行几何图形检测,获得几何图形区域,其中,待处理视频为对几何图形的目标进行拍摄获得的;对几何图形区域进行直线提取,获得第一直线段;在待处理视频的第二帧图像中,确定与第一直线段对应的第二直线段;基于第一直线段和第二直线段,确定几何图形区域在第二帧图像的变换信息,其中,变换信息用于跟踪几何图形的目标。通过本申请,能够提升目标跟踪的准确度。
Description
技术领域
本申请涉及计算机应用领域中的图像处理技术,尤其涉及一种目标跟踪方法、设备及计算机可读存储介质。
背景技术
目标跟踪是指对图像序列中的运动目标进行检测、提取、识别和跟踪,获得运动目标的运动参数,进行处理与分析,实现对运动目标的行为理解,以完成更高一级的检测任务。
一般来说,为了进行目标跟踪,通常先确定一个待跟踪区域,然后通过特征点匹配来确定待跟踪区域在待跟踪图像中的位置。然而,上述实现目标跟踪的过程中,针对待跟踪区域中纹理较少而无法提取足够特征点情况下,在基于特征点匹配实现待跟踪区域的跟踪时,跟踪的准确度较低。
发明内容
本申请实施例提供一种目标跟踪方法、装置、设备及计算机可读存储介质,能够提升目标跟踪的准确度。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种目标跟踪方法,包括:
对待处理视频的第一帧图像进行几何图形检测,获得几何图形区域,其中,所述待处理视频为对几何图形的目标进行拍摄获得的;
对所述几何图形区域进行直线提取,获得第一直线段;
在所述待处理视频的第二帧图像中,确定与所述第一直线段对应的第二直线段;
基于所述第一直线段和所述第二直线段,确定所述几何图形区域在所述第二帧图像的变换信息,其中,所述变换信息用于跟踪所述几何图形的目标。
本申请实施例提供一种目标跟踪装置,包括:
图形检测模块,用于对待处理视频的第一帧图像进行几何图形检测,获得几何图形区域,其中,所述待处理视频为对几何图形的目标进行拍摄获得的;
直线提取模块,用于对所述几何图形区域进行直线提取,获得第一直线段;
直线跟踪模块,用于在所述待处理视频的第二帧图像中,确定与所述第一直线段对应的第二直线段;
图像跟踪模块,用于基于所述第一直线段和所述第二直线段,确定所述几何图形区域在所述第二帧图像的变换信息,其中,所述变换信息用于跟踪所述几何图形的目标。
在本申请实施例中,所述直线跟踪模块,还用于对所述第一直线段进行离散化处理,获得第一离散点;在所述第二帧图像中,确定与所述第一离散点对应的第二离散点;对所述第二离散点进行直线拟合,获得所述第二帧图像中与所述第一直线段对应的所述第二直线段。
在本申请实施例中,所述直线跟踪模块,还用于遍历所述第二离散点中的各个离散点对,针对遍历到的离散点对,确定初始第二直线;统计所述第二离散点到所述初始第二直线的距离,小于点线距离阈值的离散点数量,获得所述初始第二直线对应的内点数量;在遍历完所述各个离散点对时,获得各个初始第二直线对应的各个内点数量;从所述各个初始第二直线中,确定与所述各个内点数量中最大内点数量所对应的目标初始第二直线;获取所述目标初始第二直线对应的目标内点,并对所述目标内点进行直线拟合,获得待处理直线;将所述目标内点投影至所述待处理直线,并基于投影结果确定两端投影点,以及将所述两端投影点之间的线段确定为所述第二直线段。
在本申请实施例中,所述目标跟踪装置还包括特征点提取模块,用于对所述几何图形区域进行特征点提取,获得第一特征点;在所述第二帧图像中,确定与所述第一特征点对应的第二特征点。
在本申请实施例中,所述图像跟踪模块,还用于基于所述第一直线段和所述第二直线段的组合,和/或,所述第一特征点和所述第二特征点的组合,确定所述几何图形区域在所述第二帧图像的所述变换信息。
在本申请实施例中,所述图像跟踪模块,还用于获取所述第一直线段通过所述变换信息映射到所述第二帧图像上的预估直线段,并获取所述预估直线段与所述第二直线段的直线段差异;获取所述第一特征点通过所述变换信息映射到所述第二帧图像上的预估特征点,并获取所述预估特征点与所述第二特征点的特征点差异;基于所述直线段差异和所述特征点差异构建所述变换信息的优化目标,并确定所述优化目标的最小解,从而获得优化后的变换信息。
在本申请实施例中,所述几何图形为矩形,所述几何图形区域为矩形区域;所述图形检测模块,还用于对所述待处理视频的所述第一帧图像进行目标检测,获得初始矩形区域;对所述初始矩形区域进行直线提取,获得直线段序列;基于所述直线段序列中的直线段与水平方向的夹角,对所述直线段序列进行分类,获得水平直线段序列和垂直直线段序列;从所述水平直线段序列中确定水平平行直线段对序列,并从所述垂直直线段序列中确定垂直平行直线段对序列;将所述水平平行直线段对序列中的水平平行直线段对与所述垂直平行直线段对序列中的垂直平行直线段对进行两两组合,获得候选矩形;从所述候选矩形中确定目标矩形,并将所述目标矩形在所述第一帧图像中的区域确定为所述矩形区域,完成对所述第一帧图像的矩形检测。
在本申请实施例中,所述图形检测模块,还用于基于所述直线段序列中的直线段与水平方向的夹角,将所述直线段序列划分为初始水平直线段序列和初始垂直直线段序列;在所述初始水平直线段序列中,合并所在直线重合且最近端点距离小于端点距离阈值的多条水平直线段,获得所述水平直线段序列;在所述初始垂直直线段序列中,合并所在直线重合且最近端点距离小于所述距离阈值的多条垂直直线段,获得所述垂直直线段序列。
在本申请实施例中,所述图形检测模块,还用于对所述初始矩形区域进行直线提取,获得初始直线段序列;基于长度阈值、倾斜角度阈值和颜色信息中的至少一种,对所述初始直线段序列中的直线段进行过滤,获得所述直线段序列,其中,所述直线段倾斜角度阈值包括直线段与水平方向的夹角阈值、以及直线段与垂直方向的夹角阈值,所述颜色信息是基于矩形的目标的特性确定的,所述几何图形的目标为所述矩形的目标。
在本申请实施例中,所述图形检测模块,还用于对所述水平直线段序列中的水平直线段进行两两组合,获得初始水平直线段对序列;基于两直线段夹角阈值、直线段距离范围和平移重叠阈值中的至少一种,对所述初始水平直线段对序列进行过滤,获得所述水平平行直线段对序列。
在本申请实施例中,所述图形检测模块,还用于基于长宽比阈值、水平直线段对与垂直直线段对的位置、以及矩形大小阈值中的至少一种,对所述候选矩形进行筛选,获得待确认矩形;从所述直线段序列中,获取与所述待确认矩形的每条边的重合度大于重合度阈值的支持直线段;获取所述支持直线段在所述待确认矩形的每条边上的投影长度,从而获得与所述待确认矩形对应的四个投影长度的累加和;计算所述累加和与所述待确认矩形的周长的比值,获得投影占比;从所述待确认矩形中,筛选所述投影占比大于占比阈值的矩形,获得所述目标矩形。
在本申请实施例中,所述图形检测模块,还用于获取所述支持直线段在所述待确认矩形的每条边上的投影直线段;获取所述投影直线段与所述待确认矩形的每条边重合的直线段的长度,获得所述投影长度。
在本申请实施例中,所述图形检测模块,还用于从所述待确认矩形中,筛选所述投影占比大于所述占比阈值的矩形,获得初始目标矩形;获取所述初始目标矩形中的矩形对;获取所述矩形对的重叠度;在所述重叠度大于重叠度阈值时,将所述矩形对中最大的矩形确定为所述目标矩形,或者,将所述矩形对中最大投影占比的矩形确定为所述目标矩形。
在本申请实施例中,所述目标跟踪装置还包括视频获取模块,用于拍摄矩形的目标,获得所述待处理视频。
在本申请实施例中,所述目标跟踪装置还包括特效叠加模块,用于获取待叠加图像与所述矩形区域的第一映射信息;基于所述第一映射信息,将所述待叠加图像叠加在所述矩形区域上;基于所述第一映射信息和所述变换信息,确定所述待叠加图像在所述第二帧图像中的第二映射信息;基于所述第二映射信息,将所述待叠加图像叠加在所述第二帧图像中所述矩形的目标所在的区域上。
在本申请实施例中,所述特效叠加模块,还用于从待叠加视频中,获取所述待叠加图像;从所述待叠加视频中,获取下一待叠加图像;获取所述下一待叠加图像与所述矩形区域的下一第一映射信息;基于所述下一第一映射信息和所述变换信息,确定所述下一待叠加图像在所述第二帧图像中的下一第二映射信息;基于所述下一第二映射信息,将所述下一待叠加图像叠加在所述第二帧图像中所述矩形的目标所在的区域上。
在本申请实施例中,所述特效叠加模块,还用于获取待叠加渲染模型与所述矩形区域的第三映射信息;从所述第三映射信息中,分解出所述第一帧图像对应的第一姿态旋转矩阵和第一位置向量;基于所述第一姿态旋转矩阵和所述第一位置向量,将所述待叠加渲染模型叠加在所述矩形区域上;基于所述第三映射信息和所述变换信息,确定所述待叠加渲染模型在所述第二帧图像中的第四映射信息;从所述第四映射信息中,分解出所述第二帧图像对应的第二姿态旋转矩阵和第二位置向量;基于所述第二姿态旋转矩阵和所述第二位置向量,将所述待叠加渲染模型叠加在所述第二帧图像中所述矩形的目标所在的区域上。
在本申请实施例中,所述图像跟踪模块,还用于获取所述第一直线段中各直线段相交的第一交点集合,并获取所述第二直线段中各直线段相交的第二交点集合,其中,所述第一交点集合与所述第二交点集合一一对应;分别从所述第一交点集合和所述第二交点集合中选择交点组成交点对,获得交点对序列;持续从所述交点对序列中选择四组交点对,并结合尺度因子,获取初始变换信息,以及获取所述交点对序列中与所述初始变换信息匹配的匹配交点对数量,直到满足截止条件时,获得各个初始变换信息对应的各个匹配交点对数量;从所述各个初始变换信息中,确定所述各个匹配交点对数量中最大匹配交点对数量所对应的初始变换信息,获得所述几何图形区域在所述第二帧图像的变换信息。
本申请实施例提供一种目标跟踪设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的目标跟踪方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的目标跟踪方法。
本申请实施例至少具有以下有益效果:通过对待跟踪的几何图形区域进行直线提取,并基于提取的第一直线段确定几何图形区域在下一帧图像中的变换信息,实现目标跟踪的过程中,由于直线特征相比特征点能提供的信息和几何约束更多,对几何图形区域跟踪的精度会更高,以及即使几何图形区域中的纹理较少,也能通过几何图形区域中的直线段(比如,几何图形区域的边)实现有效跟踪;因此,能够提升目标跟踪的准确度。
附图说明
图1是一种示例性的矩形区域跟踪示意图;
图2是本申请实施例提供的目标跟踪系统的一个可选的架构示意图;
图3是本申请实施例提供的一种图2中的服务器的组成结构示意图;
图4是本申请实施例提供的目标跟踪方法的一个可选的流程示意图;
图5是本申请实施例提供的目标跟踪方法的另一个可选的流程示意图;
图6是本申请实施例提供的目标跟踪方法的又一个可选的流程示意图;
图7是一种示例性的检测出的矩形示意图;
图8是本申请实施例提供的一种示例性的直线段合并示意图;
图9是本申请实施例提供的一种示例性的确定水平平行直线段对的示意图;
图10是本申请实施例提供的一种示例性的确定待确认矩形的示意图;
图11是本申请实施例提供的一种示例性的确定投影长度的示意图;
图12是本申请实施例提供的目标跟踪方法的再一个可选的流程示意图;
图13是本申请实施例提供的一种示例性的替换几何图形区域的示意图;
图14是本申请实施例提供的一种示例性的目标跟踪流程示意图;
图15是本申请实施例提供的一种示例性的特征点和直线段的示意图;
图16是本申请实施例提供的一种示例性的提取到的特征点和直线段的示意图;
图17是本申请实施例提供的一种示例性的直线跟踪示意图;
图18是本申请实施例提供的一种示例性的叠加静态图像特效的示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三\第四”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三\第四”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)人工智能(Artificial Intelligence,AI),是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。从而,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。或者说,人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
另外,人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。以及,随着人工智能技术的研究和进步,人工智能技术在多个领域展开了研究和应用;例如,常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗和智能客服等;随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。本申请实施例中所涉及的人工智能在目标跟踪领域的应用将在后续进行说明。
2)增强现实(Augmented Reality,AR)技术,是一种将虚拟信息与真实世界巧妙融合的技术,广泛运用了多媒体、三维建模、实时跟踪及注册、智能交互、传感等多种技术手段,将计算机生成的文字、图像、三维模型、音乐、视频等虚拟信息模拟仿真后,应用到真实世界中,两种信息互为补充,从而实现对真实世界的“增强”。在本申请实施例中,所涉及的为AR特性、比如为静态图像、动态图像和渲染模型等。
3)目标检测,是指确定图像中是否存在给定类别(比如,屏幕、人、车、自行车、狗和猫等)的目标实例,并确定存在时,确定每个目标实例在图像中的位置的处理。
一般来说了,为了实现对几何图形的目标的跟踪,通常基于特征点进行;即从待跟踪区域中提取特征点,并从待跟踪图像中提取特征点,基于待跟踪区域的特征点和待跟踪图像中的特征点之间的匹配结果,在待跟踪图像中确定出与待跟踪区域对应的区域。
参见图1,图1是一种示例性的矩形区域跟踪示意图;如图1所示,几何图形为矩形时,矩形区域1-1为待跟踪区域,图像1-2为待跟踪图像,通过待跟踪区域的特征点与待跟踪图像的特征点的匹配,能够在待跟踪图像中确定出与待跟踪区域对应的区域1-3。
另外,当在待跟踪视频中跟踪待跟踪区域时,针对待跟踪视频中的首帧的图像,可以采用图1对应的特征点匹配的方式确定首帧的图像中与待跟踪区域所对应的区域,而后续在帧间通过特征点跟踪实现待跟踪区域的跟踪。然而,上述跟踪的过程中,由于是基于图像的特征点进行的,当提取特征点的区域内纹理较少时,比如:关闭的显示器、纯色的窗户等,基于特征点的矩形区域的跟踪精度较低。另外,只能处理静态的矩形区域,当跟踪待跟踪区域动态变化时,特征点匹配和特征点跟踪都会失效,导致目标跟踪的准确度较低。
基于此,本申请实施例提供一种目标跟踪方法、装置、设备和计算机可读存储介质,能够提升目标跟踪的准确度,下面说明本申请实施例提供的目标跟踪设备的示例性应用,本申请实施例提供的目标跟踪设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明目标跟踪设备实施为服务器时的示例性应用。
参见图2,图2是本申请实施例提供的目标跟踪系统的一个可选的架构示意图;如图1所示,为支撑一个目标跟踪应用,在目标跟踪系统100中,包括终端400-1,以及终端400-2通过网络300连接服务器200(目标跟踪设备),网络300可以是广域网或者局域网,又或者是二者的组合。另外,在目标跟踪系统100中,还包括数据库500,用于在服务器200执行目标跟踪方法时,向服务器200提供数据支持。
终端400-2,用于对矩形的目标(比如,终端400-1)进行拍摄,获得待处理视频,并通过网络300向服务器200发送该待处理视频;还用于通过网络300接收服务器200发送的叠加了特效的待处理视频,并显示该叠加了特效的待处理视频。
服务器200,用于对待处理视频的第一帧图像进行几何图形检测,获得几何图形区域,其中,待处理视频为对几何图形的目标进行拍摄获得的;对几何图形区域进行直线提取,获得第一直线段;在待处理视频的第二帧图像中,确定与第一直线段对应的第二直线段;基于第一直线段和第二直线段,确定几何图形区域在第二帧图像的变换信息,其中,变换信息用于跟踪几何图形的目标。还用于基于变换信息对待处理视频叠加特效,并通过网络300向终端400-2发送叠加了特效的待处理视频。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400-2可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例中不做限制。
参见图3,图3是本申请实施例提供的一种图2中的服务器的组成结构示意图,图3所示的服务器200包括:至少一个处理器210、存储器250、至少一个网络接口220和用户接口230。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器250旨在包括任意适合类型的存储器。
在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的目标跟踪装置可以采用软件方式实现,图3示出了存储在存储器250中的目标跟踪装置255,其可以是程序和插件等形式的软件,包括以下软件模块:图形检测模块2551、直线提取模块2552、直线跟踪模块2553、图像跟踪模块2554、特征点提取模块2555、视频获取模块2556和特效叠加模块2557,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的目标跟踪装置可以采用硬件方式实现,作为示例,本申请实施例提供的目标跟踪装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的目标跟踪方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
下面,将结合本申请实施例提供的服务器的示例性应用和实施,说明本申请实施例提供的目标跟踪方法。
参见图4,图4是本申请实施例提供的目标跟踪方法的一个可选的流程示意图,将结合图4示出的步骤进行说明。
S401、对待处理视频的第一帧图像进行几何图形检测,获得几何图形区域。
在本申请实施例中,当目标跟踪设备获得了待处理视频,确定在待处理视频中跟踪几何图形的目标的变换时,就触发了几何图形跟踪的处理;首先,目标跟踪设备从待处理视频中选择一帧图像,也就获得了第一帧图像。然后,目标跟踪设备对该第一帧图像进行几何图形检测,也就获得了几何图形区域。
需要说明的是,待处理视频为对几何图形的目标进行拍摄获得的,该几何图形的目标比如为显示器、电视机、室外广告屏、投影屏、窗户、门、相框或几何图形的镜面等,而几何图形比如可以是矩形、三角形或五角形等。而几何图形检测是指从图像中检测出几何图形所在区域的处理,而几何图形所在区域即几何图形区域。另外,第一帧图像可以是待处理视频的首帧的图像,还可以是待处理视频中的中间帧的图像,等等,本申请实施例对此不作具体限定。
S402、对几何图形区域进行直线提取,获得第一直线段。
在本申请实施例中,目标跟踪设备基于直线实现几何图形跟踪,从而,目标跟踪设备从获得的几何图形区域中提取直线段,以根据提取的直线段实现几何图形跟踪,确定几何图形区域在后续帧图形中的变换。这里,第一直线段即目标跟踪设备从几何图形区域中提取出的直线段。
需要说明的是,直线提取是指提取图像中的直线段的处理,比如,获取几何图形区域的边的处理、基于“Hough”变换的直线提取或者“opencv”中的“LSD”算法的直线提取;以及第一直线段是几何图形区域内的直线段和几何图形区域的边中的至少一种,本申请实施例对此不作具体限定。其中,当第一直线段包括几何图形区域的边时,该几何图形区域的边可以基于几何图形区域的角点确定,任意相邻的两角点之间的连线就是第一直线段中的一条直线段。
S403、在待处理视频的第二帧图像中,确定与第一直线段对应的第二直线段。
在本申请实施例中,目标跟踪设备获得了第一直线段之后,为了确定该第一直线段在待处理视频的后续帧的变换,从待处理视频中获取第一帧图像对应的后续帧的图像,也就获得了第二帧图像;接着,目标跟踪设备在第二帧图像中确定与第一直线段对应的第二直线段。
需要说明的是,第二帧图像可以是与第一帧图像相邻的帧图像,还可以是与第一帧图像间隔预设帧数的帧图像,等等,本申请实施例对此不作具体限定。另外,第二直线段为目标跟踪设备在第二帧图像中跟踪到的与第一直线段对应的直线段。
S404、基于第一直线段和第二直线段,确定几何图形区域在第二帧图像的变换信息。
需要说明的是,由于第一直线段为几何图形区域对应的直线段,第二直线段为第二帧图像中与第一直线段对应的直线段,从而,第二直线段能够表征第二帧图像中与几何图形区域对应的几何图形的区域;因此,目标跟踪设备基于第一直线段和第二直线段之间的变换,能够确定几何图形区域在第二帧图像的变换信息。其中,变换信息为第一帧图像和第二帧图像之间的几何图形所在区域的变换数据,比如,几何图形区域的运动姿态和变换位置,或者几何图形所在区域之间的帧间变换矩阵;以及,该变换信息用于跟踪几何图形的目标,即确定几何图形的目标在第二帧图像中的位置。
可以理解的是,通过对待跟踪的几何图形区域进行直线提取,并基于提取的第一直线段确定几何图形区域在下一帧图像中的变换信息,实现目标跟踪的过程中,由于直线特征相比特征点能提供的信息和几何约束更多,对几何图形区域跟踪的精度会更高,以及即使几何图形区域中的纹理较少,也能通过几何图形区域中的直线段(比如,几何图形区域的边)实现有效跟踪;因此,能够提升几何图形跟踪的准确度。另一方面,本申请实施例结合几何图形检测所实现的目标跟踪方法,实现了无标记的目标跟踪。
参见图5,图5是本申请实施例提供的目标跟踪方法的另一个可选的流程示意图;如图5所示,在本申请实施例中,S403可通过S4031至S4033实现;也就是说,目标跟踪设备在待处理视频的第二帧图像中,确定与第一直线段对应的第二直线段,包括S4031至S4033,下面对各步骤分别进行说明。
S4031、对第一直线段进行离散化处理,获得第一离散点。
在本申请实施例中,目标跟踪设备在基于第一直线段进行直线跟踪,以在第二帧图像中跟踪到第二直线段时,将直线跟踪转化为点跟踪,并对跟踪的点进行拟合处理。因此,首先,目标跟踪设备将第一直线段离散化为多个点,而通过离散化获得的多个点即与第一直线段对应的第一离散点。
需要说明的是,目标跟踪设备对第一直线段离散化处理获得第一离散点时,可以是均匀离散化处理,此时,针对第一直线段中的一条直线段l(i),均匀离散化成K个点q1(i),…qK(i),也就获得了第一离散点,其中,K可自由选取,当K=2时,则第一离散点为直线段l(i)的两个端点;以及K个点的坐标为式(1)所示:
其中,A和B为直线段l(i)的两个端点的坐标。
S4032、在第二帧图像中,确定与第一离散点对应的第二离散点。
在本申请实施例中,目标跟踪设备基于第一离散点在第二图像中进行点跟踪,也就在第二帧图像中确定出了与第一离散点对应的第二离散点。
需要说明的是,目标跟踪设备可以基于光流算法实现点跟踪,比如,基于“Farneback”、“DIS-flow”或者“Lucas–Kanade”等算法的点跟踪。
S4033、对第二离散点进行直线拟合,获得第二帧图像中与第一直线段对应的第二直线段。
在本申请实施例中,目标跟踪设备在获得了第二离散点之后,针对第二离散点进行直线拟合,所拟合出的直线段即第二帧图像中与第一直线段对应的第二直线段。
在本申请实施例中,S4033可通过S40331至S40336实现;也就是说,目标跟踪设备对第二离散点进行直线拟合,获得第二帧图像中与第一直线段对应的第二直线段,包括S40331至S40336,下面对各步骤分别进行说明。
S40331、遍历第二离散点中的各个离散点对,针对遍历到的离散点对,确定初始第二直线。
在本申请实施例中,目标跟踪设备从第二离散点中任意选择两个点,组成一个离散点对;这里的各个离散点对可以是第二离散点中所有的离散点对,也可以是预设数量(比如,100)个离散点对,本申请实施例对此不作具体限定。
需要说明的是,目标跟踪设备对各个离散点对进行遍历,针对每个遍历到的离散点对,基于该离散点对中的两点确定一条直线,也就获得了一条初始第二直线。
S40332、统计第二离散点到初始第二直线的距离,小于点线距离阈值的离散点数量,获得初始第二直线对应的内点数量。
在本申请实施例中,目标跟踪设备计算第二离散点中每个离散点到初始第二直线的距离,并统计到初始第二直线的距离小于点线距离阈值的离散点的数量,该到初始第二直线的距离小于点线距离阈值的离散点即初始第二直线对应的内点,而到初始第二直线的距离小于点线距离阈值的离散点即初始第二直线对应的内点的数量,即初始第二直线对应的内点数量。
S40333、在遍历完各个离散点对时,获得各个初始第二直线对应的各个内点数量。
需要说明的是,目标跟踪设备针对每个遍历到的离散点对,获取初始第二直线以及初始第二直线对应的内点数量,当完成对各个离散点对的遍历,针对各个离散点对,均完成了初始第二直线以及初始第二直线对应的内点数量的获取时,针对各个离散点对,也就获得了各个初始第二直线对应的各个内点数量。这里,各个离散点对与各个初始第二直线一一对应,各个初始第二直线与各个内点数量一一对应。
S40334、从各个初始第二直线中,确定与各个内点数量中最大内点数量所对应的目标初始第二直线。
在本申请实施例中,目标跟踪设备从各个内点数量中选择最大内点数量,并从各个初始第二直线中确定该最大内点数量所对应的初始第二直线,也就获得了目标初始第二直线;也就是说,目标初始第二直线为最大内点数量所对应的初始第二直线。
S40335、获取目标初始第二直线对应的目标内点,并对目标内点进行直线拟合,获得待处理直线。
需要说明的是,由于每个初始第二直线已在S40333中确定了对应的内点,而目标初始第二直线也是初始第二直线,从而,目标跟踪设备能够获取目标初始第二直线的内点,也就是目标内点。接着,目标跟踪设备对获得的目标内点进行直线拟合,所拟合出的直线即待处理直线。
S40336、将目标内点投影至待处理直线,并基于投影结果确定两端投影点,以及将两端投影点之间的线段确定为第二直线段。
在本申请实施例中,目标跟踪设备为了基于待处理直线确定第二直线段,将目标内点向待处理直线进行投影,并从投影至待处理直线上的目标内点中,确定出两端的投影点,这里称为两端投影点。接着,目标跟踪设备截取待处理直线上两端的投影点之间的线段,也就获得了第二直线段。
参见图6,图6是本申请实施例提供的目标跟踪方法的又一个可选的流程示意图;如图6所示,在本申请实施例中,S401之后还可包括S405和S406;也就是说,目标跟踪设备对待处理视频的第一帧图像进行几何图形检测,获得几何图形区域之后,该目标跟踪方法还包括S405和S406,下面对各步骤分别进行说明。
S405、对几何图形区域进行特征点提取,获得第一特征点。
在本申请实施例中,目标跟踪设备还可以对几何图形区域进行特征点跟踪;这里,目标跟踪设备从几何图形区域中提取特征点,也就获得了第一特征点。
需要说明的是,特征点提取是指从图像中提取特征点的处理,比如,基于“FAST”算法的特征点提取,基于“Harris”算法的特征点提取,或者基于“Good Feature To Track”算法的特征点提取等。
S406、在第二帧图像中,确定与第一特征点对应的第二特征点。
在本申请实施例中,目标跟踪设备基于第一特征点在第二图像中进行点跟踪,也就在第二帧图像中确定出了与第一特征点对应的第二特征点。
需要说明的是,目标跟踪设备可以基于光流算法实现点跟踪,比如,基于“Farneback”、“DIS-flow”或者“Lucas–Kanade”等算法的点跟踪。
相应地,在本申请实施例中,S404中目标跟踪设备基于第一直线段和第二直线段,确定几何图形区域在第二帧图像的变换信息,包括S4041,下面对该步骤进行说明。
S4041、基于第一直线段和第二直线段的组合,和/或,第一特征点和第二特征点的组合,确定几何图形区域在第二帧图像的变换信息。
需要说明的是,目标跟踪设备获得了第一直线段和第二直线段,以及第一特征点和第二特征点之后,可以基于第一直线段和第二直线段确定几何图形区域在第二帧图像的变换信息,也可以基于第一特征点和第二特征点确定几何图形区域在第二帧图像的变换信息,又可以即基于第一直线段和第二直线段,又基于第一特征点和第二特征点确定几何图形区域在第二帧图像的变换信息,本申请实施例对此不作具体限定。
可以理解的是,本申请实施例通过基于特征点跟踪和/或直线跟踪确定几何图形区域在第二帧图像的变换信息,使得在基于特征点跟踪失败时,仍能够基于直线跟踪实现几何图形的跟踪;以及在基于直线跟踪失败时,仍能够基于特征点跟踪实现几何图形的跟踪;因此,能够提升几何图形跟踪的鲁棒性。
在本申请实施例中,S4041之后还可包括S4042至S4044;也就是说,目标跟踪设备基于第一直线段和第二直线段的组合,和/或,第一特征点和第二特征点的组合,确定几何图形区域在第二帧图像的变换信息之后,该目标跟踪方法还包括S4042至S4044,下面对各步骤分别进行说明。
S4042、获取第一直线段通过变换信息映射到第二帧图像上的预估直线段,并获取预估直线段与第二直线段的直线段差异。
需要说明的是,由于变换信息为几何图形的目标在第一帧图像上的几何图形区域,与几何图形的目标在第二图像上的成像区域之间的变换数据,从而,目标跟踪设备通过变换信息将第一直线段映射到第二帧图像上,所获得的映射的直线段与第二直线段之间的差异,与变换信息的准确度负相关。
在本申请实施例中,针对目标跟踪设备所获得的映射的直线段,这里称为预估直线段;目标跟踪设备获取预估直线段与第二直线段之间的差异,也就获得了直线段差异,其中,直线段差异与变换信息的准确度负相关,用于优化变换信息。
S4043、获取第一特征点通过变换信息映射到第二帧图像上的预估特征点,并获取预估特征点与第二特征点的特征点差异。
需要说明的是,目标跟踪设备通过变换信息将第一特征点映射到第二帧图像上,所获得的映射的特征点与第二特征点之间的差异,与变换信息的准确度负相关。
在本申请实施例中,针对目标跟踪设备所获得的映射的特征点,这里称为预估特征点;目标跟踪设备获取预估特征点与第二特征点之间的差异,也就获得了特征点差异,其中,特征点差异与变换信息的准确度负相关,用于优化变换信息。
S4044、基于直线段差异和特征点差异构建变换信息的优化目标,并确定优化目标的最小解,从而获得优化后的变换信息。
在本申请实施例中,由于直线段差异和特征点差异均与变换信息的准确度成负相关的关系,因此,目标跟踪设备基于直线段差异和特征点差异构建变换信息的优化目标,该优化目标为获取直线段差异和特征点差异最小时的变换信息。这里,目标跟踪设备获取该优化目标的最小解,也就获得了优化后的变换信息。
需要说明的是,目标跟踪设备可以基于优化后的变换信息,将待叠加图像叠加在几何图形区域(比如,矩形区域)上。其中,目标跟踪设备将待叠加图像叠加在矩形区域上的处理将在后面进行描述。
示例性地,获取优化后的变换信息的过程可通过式(2)实现,式(2)为:
其中,H为变换信息;E(H)为优化目标;N为特征点的数量,可以基于第一特征点和第二特征点构成的特征点对的数量确定,u∈N;M为直线段的数量,可以基于第一直线段和第二直线段构成的直线段对的数量确定,v∈M;f函数为齐次坐标转非齐次坐标的处理,即f(x,y,z)=(x/z,y/z);s与第一帧图像对应,t与第二帧图像对应,pu(t)为第二特征点的坐标,为第一特征点的坐标与1构成的列矩阵,即(x(s),y(s),1)T;与预估特征点对应;和与预估直线段对应;ck(t)为第二直线段的中心点,nk(t)为第二直线段的法向量,设直线段的两个端点为(x1,y1),(x2,y2),则cv(t)为式(3),式(3)为:
cv(t)=((x1+x2)/2,(y1+y2)/2) (3)
nv(t)为式(4),式(4)为:
nv(t)=normalize(-(y1-y2),x1-x2) (4)
其中,normalize()表示将向量每个元素都除以向量的模长,并归一化为单位方向向量的处理。
在本申请实施例中,几何图形可以为矩形,几何图形区域为矩形区域,此时,几何图形的目标为矩形的目标,可以为显示器、电视机、室外广告屏、投影屏、电视机、显示器、矩形窗户、门、矩形相框或矩形镜面等。
需要说明的是,为了定位出图像中的矩形的所在区域,通常可以基于角点定位的方法定位出图像中的矩形的所在区域,即采用轮廓提取的方法:先提取图像中所有对象的轮廓,然后通过轮廓近似算法将曲率比较小的点给合并近似,最终近似成四个点的轮廓被确定为是矩形的所在区域。然而上述定位图像中矩形的所在区域的过程中,轮廓提取方法需要矩形的轮廓被完整的提取出来,比如,图7中的矩形7-1至矩形7-5,这种完整的矩形才能被提取出来;而当屏幕的边缘被稍微遮挡或者屏幕的某个角出图像边界时,则无法通过角点定位的方法定位图像中的屏幕;再结合实际应用过程中场景比较复杂,通过角点定位的方法定位图像中的屏幕的难度较大,可行性和通用性较低。从而,本申请实施例基于目标检测,并基于矩形的特性,实现矩形检测,获得矩形区域;从而,S401可通过S4011至S4016实现;也就是说,目标跟踪设备对待处理视频的第一帧图像进行几何图形检测,获得几何图形区域,包括S4011至S4016,下面对各步骤分别进行说明。
S4011、对待处理视频的第一帧图像进行目标检测,获得初始矩形区域。
在本申请实施例中,目标跟踪设备针对待处理视频的第一帧图像进行目标检测处理,所获得的结果即初始矩形区域。由于目标检测的方法所确定出的位置为矩形在图像中的预估位置,从而,初始矩形区域是指通过目标检测算法大致定位出的矩形的目标所在的区域。
S4012、对初始矩形区域进行直线提取,获得直线段序列。
需要说明的是,为了定位出图像中的矩形的所在区域,通常采用目标检测的方法;然而由于目标检测的方法所确定出的位置为矩形在图像中的预估位置,精度低,因此,目标跟踪设备在初始矩形区域中进行再次检测,以精确地确定矩形的所在区域。这里,目标跟踪设备在初始矩形中进行再次检测时,先对初始矩形区域进行直线提取,所提取到的初始矩形区域中的直线段就构成了直线段序列。
S4013、基于直线段序列中的直线段与水平方向的夹角,对直线段序列进行分类,获得水平直线段序列和垂直直线段序列。
需要说明的是,由于矩形的四条边要么与水平方向平行,要么与垂直方向平行,因此,目标跟踪设备在基于直线检测出矩形所在区域时,对提取到的直线段序列进行分类;其中,当直线段序列中的直线段与水平方向的夹角大于水平夹角阈值时,确定直线段序列中的该直线段为垂直直线段;而当直线段序列中的直线段与水平方向的夹角不大于水平夹角阈值时,确定直线段序列中的该直线段为水平直线段;如此,基于该分类方式划分直线段序列,当完成了划分时,所有的水平直线段也就构成了水平直线段序列,所有的垂直直线段也就构成了垂直直线段序列。
在本申请实施例中,水平方向是指拍摄时矩形的目标的放置方向,垂直方向与水平方向垂直。
S4014、从水平直线段序列中确定水平平行直线段对序列,并从垂直直线段序列中确定垂直平行直线段对序列。
需要说明的是,由于矩形中存在两条水平的平行边,因此,目标跟踪设备从水平直线段序列中选择两条水平直线段组成水平平行直线段对,所选择的所有的水平平行直线段对也就构成了水平平行直线段对序列。同理,由于矩形中存在两条垂直的平行边,因此,目标跟踪设备从垂直直线段序列中选择两条垂直直线段组成垂直平行直线段对,所选择的所有的垂直平行直线段对也就构成了垂直平行直线段对序列。
在本申请实施例中,目标跟踪设备针对每个水平平行直线段对,还可以确定上水平直线段和下水平直线段;以及针对每个垂直平行直线段对,还可以确定左垂直直线段和右垂直直线段;以基于上水平直线段和下水平直线段、以及左垂直直线段和右垂直直线段确定最终确定的矩形的左上角点、左下角点、右上角点和右下角点。
S4015、将水平平行直线段对序列中的水平平行直线段对与垂直平行直线段对序列中的垂直平行直线段对进行两两组合,获得候选矩形。
需要说明的是,候选矩形中可能存在不符合实际的矩形,因此,目标跟踪设备还可以基于矩形的特性对候选矩形继续进行检测,以检测出最终的矩形。
S4016、从候选矩形中确定目标矩形,并将目标矩形在第一帧图像中的区域确定为矩形区域,完成对第一帧图像的矩形检测。
需要说明的是,目标矩形是目标跟踪设备基于矩形的特性从候选矩形中确定的符合实际的矩形,可以是矩形的四条边,也可以是矩形的四个角点;易知,目标矩形在第一帧图像中的区域即矩形区域。
在本申请实施例中,S4013可通过S40131至S40133实现;也就是说,目标跟踪设备对直线段序列进行分类,获得水平直线段序列和垂直直线段序列,包括S40131至S40133,下面对各步骤分别进行说明。
S40131、基于直线段序列中的直线段与水平方向的夹角,将直线段序列划分为初始水平直线段序列和初始垂直直线段序列。
需要说明的是,目标跟踪设备将直线段序列中与水平方向的夹角大于水平夹角阈值的直线段构成初始垂直直线段序列,将直线段序列中与水平方向的夹角不大于水平夹角阈值的直线段构成初始水平直线段序列。
S40132、在初始水平直线段序列中,合并所在直线重合且最近端点距离小于端点距离阈值的多条水平直线段,获得水平直线段序列。
需要说明的是,如果初始水平直线段序列中存在多条水平直线段,该多条水平直线段中的任两水平直线段的所在直线重合且最近端点距离小于端点距离阈值,则将该多条水平直线段合并为一条水平直线段。其中,最近端点距离为两条直线段中距离最近的端点之间的距离。
示例性的,参见图8,图8是本申请实施例提供的一种示例性的直线段合并示意图;如图8所示,两条水平直线段8-1(直线段A1A2)和直线段8-2(直线段A3A4),当最近端点距离8-3(A2A3的距离)小于阈值时,则将直线段8-1和直线段8-2合并成一为新的直线段8-4(直线段A1A4)。
S40133、在初始垂直直线段序列中,合并所在直线重合且最近端点距离小于距离阈值的多条垂直直线段,获得垂直直线段序列。
需要说明的是,如果初始垂直直线段序列中存在多条垂直直线段,该多条垂直直线段中的任两垂直直线段的所在直线重合且最近端点距离小于端点距离阈值,则将该多条垂直直线段合并为一条垂直直线段。
在本申请实施例中,S4012可通过S40121和S40122实现;也就是说,目标跟踪设备对初始矩形区域进行直线提取,获得直线段序列,包括S40121和S40122,下面对各步骤分别进行说明。
S40121、对初始矩形区域进行直线提取,获得初始直线段序列。
需要说明的是,初始直线段序列为从初始矩形区域提取到的直线段,可以包括边缘的直线段,还可以包括区域内的直线段。
S40122、基于长度阈值、倾斜角度阈值和颜色信息中的至少一种,对初始直线段序列中的直线段进行过滤,获得直线段序列。
需要说明的是,长度阈值是指针对直线段的长度设置的过滤阈值;直线段倾斜角度阈值包括直线段与水平方向的夹角阈值、以及直线段与垂直方向的夹角阈值,通常大于直线段与水平方向的夹角阈值,且大于直线段与垂直方向的夹角阈值的直线段将会被过滤掉;颜色信息是基于矩形的目标的特性确定的,比如,当矩形的目标为显示屏时,颜色信息为黑色,过滤掉非黑色的直线段。
在本申请实施例中,S4014中目标跟踪设备从水平直线段序列中确定水平平行直线段对序列,包括S40141和S40142,下面对各步骤分别进行说明。
S40141、对水平直线段序列中的水平直线段进行两两组合,获得初始水平直线段对序列。
需要说明的是,初始水平直线段对序列中的每个初始水平直线段对,为水平直线段序列中的任意两条水平直线段。
S40142、基于两直线段夹角阈值、直线段距离范围和平移重叠阈值中的至少一种,对初始水平直线段对序列进行过滤,获得水平平行直线段对序列。
需要说明的是,目标跟踪设备在基于两直线段夹角阈值进行过滤时,如果初始水平直线段对序列中的一初始水平直线段对之间的夹角大于两直线段夹角阈值,则过滤掉;而如果该初始水平直线段对之间的夹角小于或等于两直线段夹角阈值,确定该初始水平直线段对为水平平行直线段对序列中的一水平平行直线段对。
目标跟踪设备在基于直线段距离范围进行过滤时,如果初始水平直线段对序列中的一初始水平直线段对之间的距离落在了直线段距离范围之外,表明该距离太大或太小,则过滤掉;而如果该距离落在了直线段距离范围之内,确定该初始水平直线段对为水平平行直线段对序列中的一水平平行直线段对。
目标跟踪设备在基于平移重叠阈值进行过滤时,如果初始水平直线段对序列中的一初始水平直线段对进行相对平移后,获得的重叠的长度小于平移重叠阈值,则过滤掉;而如果获得的重叠的长度大于或等于平移重叠阈值,确定该初始水平直线段对为水平平行直线段对序列中的一水平平行直线段对。
示例性的,参见图9,图9是本申请实施例提供的一种示例性的确定水平平行直线段对的示意图;如图9所示,初始水平平行直线段对9-1为水平平行直线段对;初始水平平行直线段对9-2,基于两直线段夹角阈值过滤时会被过滤掉,不是水平平行直线段对;初始水平平行直线段对9-3,基于平移重叠阈值过滤时会被过滤掉,不是水平平行直线段对;初始水平平行直线段对9-4,基于直线段距离范围过滤时会被过滤掉,不是水平平行直线段对;初始水平平行直线段对9-5,基于直线段距离范围过滤时会被过滤掉,不是水平平行直线段对。
同理,在本申请实施例中,S4014中目标跟踪设备从垂直直线段序列中确定垂直平行直线段对序列,包括:目标跟踪设备对垂直直线段序列中的垂直直线段进行两两组合,获得初始垂直直线段对序列。基于两直线段夹角阈值、直线段距离范围和平移重叠阈值中的至少一种,对初始垂直直线段对序列进行过滤,获得垂直平行线段对序列。
在本申请实施例中,S4016中目标跟踪设备从候选矩形中确定目标矩形,可通过S40161至S40165实现,下面对各步骤分别进行说明。
S40161、基于长宽比阈值、水平直线段对与垂直直线段对的位置、以及矩形大小阈值中的至少一种,对候选矩形进行筛选,获得待确认矩形。
需要说明的是,长宽比阈值是基于矩形的目标确定的,比如,1:1,4:3或者16:9等,不满足长宽比阈值的候选矩形则被剔除;水平直线段对与垂直直线段对的位置是指,水平直线段对位于垂直直线段对之间,垂直直线段对位于水平直线段之间,不满足该位置关系的待确认矩形将被剔除;矩形大小阈值,比如为矩形面积的阈值,当候选矩形对应的面积小于矩形大小阈值时将被剔除。
示例性的,参见图10,图10是本申请实施例提供的一种示例性的确定待确认矩形的示意图;如图10所示,候选矩形10-1,是一个待确认矩形;候选矩形10-2,基于水平直线段对与垂直直线段对的位置进行筛选时,会被舍弃,不是一个待确认矩形。
S40162、从直线段序列中,获取与待确认矩形的每条边的重合度大于重合度阈值的支持直线段。
需要说明的是,目标跟踪设备针对获得的待确认矩形,还将继续进行筛选,以检测出准确的矩形。这里,重合度是指直线段与待确认矩形的每条边的重合程度,比如,可通过直线段上的点到边的距离小于阈值的点的数量确定。
S40163、获取支持直线段在待确认矩形的每条边上的投影长度,从而获得与待确认矩形对应的四个投影长度的累加和。
需要说明的是,目标跟踪设备对待确认矩形的四条边对应的四个投影长度进行累加,也就获得了累加和。
S40164、计算累加和与待确认矩形的周长的比值,获得投影占比。
在本申请实施例中,目标跟踪设备获取待确认矩形的周长,并将累加和作为分子,将待确认矩形的周长作为分母,计算比值,所获得的比值结果即投影占比。
S40165、从待确认矩形中,筛选投影占比大于占比阈值的矩形,获得目标矩形。
需要说明的是,目标矩形为待确认矩形中的投影占比大于占比阈值的矩形。
在本申请实施例中,S40163可通过S401631和S401632实现;也就是说,目标跟踪设备获取支持直线段在待确认矩形的每条边上的投影长度,包括S401631和S401632,下面对各步骤分别进行说明。
S401631、获取支持直线段在待确认矩形的每条边上的投影直线段。
需要说明的是,目标跟踪设备将支持直线段投影至对应的待确认矩形的一条边上,所获得的在该边上的投影的结果即投影直线段。这里,投影直线段中可能包括重叠的投影线段,也可能包括落在边的延长线上的直线段。
S401633、获取投影直线段与待确认矩形的每条边重合的直线段的长度,获得投影长度。
在本申请实施例中,目标跟踪设备获得投影直线段与对应的待确认矩形的一条边的交集直线段,并获取该交集直线段的长度,也就获得了投影长度。
示例性地,参见图11,图11是本申请实施例提供的一种示例性的确定投影长度的示意图;如图11所示,矩形11-1是基于待确认矩形对应的四条直线段的四个交点所构成的,针对矩形11-1的上边11-11,对应的子支持直线段为直线段11-2和直线段11-3;针对矩形11-1的右边11-12,对应的子支持直线段为直线段11-4;针对矩形11-1的下边11-13,对应的子支持直线段为直线段11-5;针对矩形11-1的左边11-14,对应的子支持直线段为直线段11-6;这里,将直线段11-2和直线段11-3向上边11-11投影,获得投影直线段11-7,从而获得投影直线段11-7与上边11-11重合的直线段11-71;将直线段11-4向右边11-12投影,获得的投影直线段11-8与右边11-12重合的直线段还是投影直线段11-8;将直线段11-5向下边11-13投影,获得的投影直线段11-9与下边11-13重合的直线段还是投影直线段11-9;将直线段11-6向左边11-14投影,获得的投影直线段11-10与左边11-14重合的直线段还是投影直线段11-10。从而,投影长度为直线段11-71的长度、直线段11-8的长度、投影直线段11-9的长度和投影直线段11-10的长度的累加和。
在本申请实施例中,S40165可通过S401651至S401654实现;也就是说,目标跟踪设备从待确认矩形中,筛选投影占比大于占比阈值的矩形,获得目标矩形,包括S401651至S401654,下面对各步骤分别进行说明。
S401651、从待确认矩形中,筛选投影占比大于占比阈值的矩形,获得初始目标矩形。
S401652、获取初始目标矩形中的矩形对。
需要说明的是,矩形对为处理目标矩形中的任意两矩形。
S401653、获取矩形对的重叠度。
在本申请实施例中,目标跟踪设备获取矩形对中的每个矩形的面积,获得两个矩形的面积;通过获取这两个矩形的面积的交集面积,与这两个矩形的面积的并集面积的比值,获得重叠度。
S401654、在重叠度大于重叠度阈值时,将矩形对中最大的矩形确定为目标矩形,或者,将矩形对中最大投影占比的矩形确定为目标矩形。
需要说明的是,如果矩形对的重叠度小于或等于重叠度阈值,目标跟踪设备可以将矩形对中的两矩形均作为目标矩形。
参见图12,图12是本申请实施例提供的目标跟踪方法的再一个可选的流程示意图;如图12所示,在本申请实施例中,S401之前还可包括S407;也就是说,目标跟踪设备对待处理视频的第一帧图像进行几何图形检测,获得几何图形区域之前,该目标跟踪方法还包括S407,下面对该步骤进行说明。
S407、拍摄矩形的目标,获得待处理视频。
需要说明的是,待处理视频可以实时获得的,从而本申请实施例中的目标跟踪方法也具有实时性。
相应地,继续参见图12,S404之后还可包括S408至S411;也就是说,目标跟踪设备基于第一直线段和第二直线段,确定几何图形区域在第二帧图像的变换信息之后,该目标跟踪方法还包括S408至S411,下面对各步骤分别进行说明。
S408、获取待叠加图像与矩形区域的第一映射信息。
需要说明的是,待叠加图像为用于增加AR特效的图像;第一映射信息为待叠加图像与矩形区域之间的映射信息,比如,单应性矩阵H矩阵,通过该第一映射信息,能够实现待叠加图像向矩形区域的映射,实现在矩形区域的增强现实处理。
S409、基于第一映射信息,将待叠加图像叠加在矩形区域上。
需要说明的是,目标跟踪设备将待叠加图像叠加在矩形区域上,可以是将第一帧图像的矩形区域替换为待叠加图像,也可以是在第一图像的矩形区域上叠加显示待叠加图像,还可以是在第一帧图像的矩形区域上显示矩形区域与待叠加图像的融合信息,等等,本申请实施例对此不作具体限定。
示例性地,参见图13,图13是本申请实施例提供的一种示例性的替换几何图形区域的示意图;如图13所示,第一帧图像13-1包括矩形区域13-11,在获得了矩形区域13-11与待叠加图像13-2之间的H矩阵(第一映射信息)之后,通过该H矩阵,就能利用待叠加图像13-2替换第一帧图像13-1中矩形区域13-11,获得图像13-3。
S410、基于第一映射信息和变换信息,确定待叠加图像在第二帧图像中的第二映射信息。
在本申请实施例中,由于第一映射信息为待叠加图像与矩形区域的映射信息,变换信息为矩形区域与第二帧图像中的矩形的目标的成像区域之间的映射信息,因此,目标跟踪设备结合第一映射信息和变换信息,就能够获得待叠加图像与在第二帧图像中的映射信息,这里称为第二映射信息。
S411、基于第二映射信息,将待叠加图像叠加在第二帧图像上。
需要说明的是,目标跟踪设备基于第二映射信息在第二帧图像上叠加待叠加图像的过程,与S409对应的描述类似,本申请实施例在此不再赘述。其中,当目标跟踪设备完成待叠加图像在第二帧图像上的叠加时,在第二图像中矩形的目标所在的区域上显示所叠加的待叠加图像。
在本申请实施例中,S408之前还可包括S412;也就是说,目标跟踪设备获取待叠加图像与矩形区域的第一映射信息之前,该目标跟踪方法还包括S412,下面对该步骤进行说明。
S412、从待叠加视频中,获取待叠加图像。
也就是说,在待处理视频上叠加的特效还可以是动态的。
相应地,S408之前还可包括S413和S414;也就是说,目标跟踪设备获取待叠加图像与矩形区域的第一映射信息之后,该目标跟踪方法还包括S413和S414,下面对各步骤分别进行说明。
S413、从待叠加视频中,获取下一待叠加图像。
需要说明的是,下一待叠加图像可以是待叠加视频中与待叠加图像相邻的下一帧对应的图像,还可以是待叠加视频中与待叠加图像相隔指定帧数的帧所对应的图像,等等,本申请实施例对此不作具体限定。
S414、获取下一待叠加图像与矩形区域的下一第一映射信息。
在本申请实施例中,目标跟踪设备获取下一待叠加图像与矩形区域的下一第一映射信息的过程,与获取叠加图像与矩形区域的第一映射信息的过程类似,本申请实施例在此不再赘述。
在本申请实施例中,S409之后还可包括S415和S416;也就是说,目标跟踪设备基于第一映射信息,将待叠加图像叠加在矩形区域上之后,该目标跟踪方法还包括S415和S416,下面对各步骤分别进行说明。
S415、基于下一第一映射信息和变换信息,确定下一待叠加图像在第二帧图像中的下一第二映射信息。
需要说明的是,目标跟踪设备基于下一第一映射信息和变换信息,确定下一待叠加图像在第二帧图像中的下一第二映射信息的过程,与S410中描述的过程类似,本申请实施例在此不再赘述。
S416、基于下一第二映射信息,将下一待叠加图像叠加在第二帧图像上。
需要说明的是,目标跟踪设备基于下一第二映射信息,将下一待叠加图像叠加在第二帧图像中矩形的目标所在的区域上的过程,与S409中描述的过程类似,本申请实施例在此不再赘述。其中,当目标跟踪设备完成下一待叠加图像在第二帧图像上的叠加时,在第二图像中矩形的目标所在的区域上显示所叠加的下一待叠加图像。
在本申请实施例中,S404之后还可包括S417至S420;也就是说,目标跟踪设备基于第一直线段和第二直线段,确定几何图形区域在第二帧图像的变换信息之后,该目标跟踪方法还包括S417至S422,下面对各步骤分别进行说明。
S417、获取待叠加渲染模型与矩形区域的第三映射信息。
需要说明的是,目标跟踪设备获取待叠加渲染模型与矩形区域的第三映射信息的过程,与S408中描述的过程类似,本申请实施例在此不再赘述。
S418、从第三映射信息中,分解出第一帧图像对应的第一姿态旋转矩阵和第一位置向量。
在本申请实施例中,目标跟踪设备获取第一帧图像对应的相机的第一姿态旋转矩阵和第一位置向量,可以通过单应性矩阵分解法从第三映射信息分解出,还可以直接使用一些已有的求解库函数计算得到,等等,本申请实施例对此不作具体限定。
S419、基于第一姿态旋转矩阵和第一位置向量,将待叠加渲染模型叠加在矩形区域上。
S420、基于第三映射信息和变换信息,确定待叠加渲染模型在第二帧图像中的第四映射信息。
需要说明的是,目标跟踪设备基于第三映射信息和变换信息确定待叠加渲染模型在第二帧图像中的第四映射信息过程,与S410中描述的过程类似,本申请实施例在此不再赘述。
S421、从第四映射信息中,分解出第二帧图像对应的第二姿态旋转矩阵和第二位置向量。
需要说明的是,目标跟踪设备从第四映射信息中分解出第二帧图像对应的第二姿态旋转矩阵和第二位置向量的过程,与S418中描述的过程类似,本申请实施例在此不再赘述。
S422、基于第二姿态旋转矩阵和第二位置向量,将待叠加渲染模型叠加在第二帧图像区域上。
需要说明的是,目标跟踪设备基于第二姿态旋转矩阵和第二位置向量,将待叠加渲染模型叠加在第二帧图像上的过程,与S409中描述的过程类似,本申请实施例在此不再赘述。其中,当目标跟踪设备完成待叠加渲染模型在第二帧图像上的叠加时,在第二图像中矩形的目标所在的区域上显示所叠加的待叠加渲染模型。
需要说明的是,待叠加视频中的待叠加图像和下一待叠加图像、以及待叠加渲染模型,均为AR特效,用于针对待处理视频实现增强现实处理。
在本申请实施例中,S404可通过S4046至S4049;也就是说,目标跟踪设备基于第一直线段和第二直线段,确定几何图形区域在第二帧图像的变换信息,包括S4046至S4049,下面对各步骤分别进行说明。
S4046、获取第一直线段中各直线段相交的第一交点集合,并获取第二直线段中各直线段相交的第二交点集合。
需要说明的是,第一交点集合与第二交点集合一一对应。
S4047、分别从第一交点集合和第二交点集合中选择交点组成交点对,获得交点对序列。
S4048、持续从交点对序列中选择四组交点对,并结合尺度因子,获取初始变换信息,以及获取交点对序列中与初始变换信息匹配的匹配交点对数量,直到满足截止条件时,获得各个初始变换信息对应的各个匹配交点对数量。
这里,各个初始变换信息与各个匹配交点对数量一一对应。
S4049、从各个初始变换信息中,确定各个匹配交点对数量中最大匹配交点对数量所对应的初始变换信息,获得几何图形区域在第二帧图像的变换信息。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
参见图14,图14是本申请实施例提供的一种示例性的目标跟踪流程示意图;如图14所示,首先,当通过相机对着屏幕(矩形的目标)拍摄时,针对拍得的视频14-1的首帧的图像14-2(第一帧图像),进行目标检测,获得屏幕所在的大致区域14-3(初始矩形区域)。这里,目标检测可以通过“One-Stage”算法、“Two-Stage”算法、或者“Anchor-free”算法等实现。
然后,在屏幕所在大大致区域14-3中进行矩形检测:
1)对屏幕所在的大致区域14-3进行直线提取。
需要说明的是,直线提取可通过“Hough”变换或者“opencv”中的“LSD”算法等实现;
2)对提取的直线段(初始直线段序列)进行过滤。
需要说明的是,可以采用以下条件中的至少一种对提取的直线段进行过滤:
(1)直线段的长度小于长度阈值。
(2)直线段与水平线(对应于水平方向)的夹角、以及与垂直线(对应于垂直方向)的夹角均大于夹角阈值(倾斜角度阈值,比如,10度)。这里,由于屏幕是水平摆放,当拍摄时倾斜力度较小时可采用该条条件进行直线段的过滤。
(3)直线段的基础属性信息不符合实际业务场景。这里,由于拍摄的对象为屏幕,屏幕通常为黑色,可基于直线段的颜色(颜色信息)是否为黑色进行过滤。
3)基于直线段与水平线和垂直线的夹角,将过滤后的直线段(直线段序列)分成水平直线段(初始水平直线段序列)和垂直直线段(初始垂直直线段序列)两类。
4)分别对水平直线段和垂直直线段进行合并。
需要说明的是,合并的方式可以为:当两条直线段所在的直线重合,且两条直线段端点的最近距离小于阈值(端点距离阈值,比如为10),则合并成一条新的直线段;易知,合并后的新的直线段的两个端点为原始两条直线段的最远端点;以及当合并后的新直线段与其他直线段在满足合并条件时(所在的直线重合且端点的最近距离小于阈值)还能够继续进行合并。比如,图8所示。
5)将合并后的水平直线段(水平直线段序列)进行两两组合确定水平的平行直线段对(水平平行直线段对序列),将合并后的垂直直线段(垂直直线段序列)进行两两组合确定垂直的平行直线段对(垂直平行线段对序列)。
需要说明的是,对于两两组合获得的水平的直线段对(初始水平直线段对)和垂直的直线段对(初始垂直直线段对),可以采用以下条件进行过滤,以确定平行直线段对(包括水平平行直线段对和垂直平行直线段对,比如图9中的初始水平平行直线段对9-1):
(1)直线段对的夹角大于阈值(两直线段夹角阈值,比如,5度);比如图9中的初始水平平行直线段对9-2。
(2)直线段对之间的距离不在阈值范围内(直线段距离范围);比如图9中的初始水平平行直线段对9-4(太小)和初始水平平行直线段对9-5(太大)。
(3)直线段对之间的重叠长度小于阈值(平移重叠阈值);比如图9中的初始水平平行直线段对9-3。
6)确定平行直线段对的顺序。
需要说明的是,针对平行直线段对中的水平的平行直线段对,确定其中的上直线段和下直线段;针对平行直线段对中的垂直的平行直线段对,确定其中的左直线段和右直线段;如此,也就完成了平行直线段对的顺序的确定,通过确定顺序,以基于平行直线段对的顺序确定矩形的四个角点:左上角点、左下角点、右上角点和右下角点。
7)将水平的平行直线段对和垂直的平行直线段对进行两两组合,确定检测到的矩形(待确认矩形)。
需要说明的是,针对每个组合的水平的平行直线段对和垂直的平行直线段对,可通过以下条件进行过滤,以确定检测到的矩形:
(1)组合中的水平的平行直线段对和垂直的平行直线段对所构成的矩形(候选矩形)的长宽比,不在特定范围(长宽比阈值,比如:4:3,16:9或1:1等)。
(2)组合中的水平的平行直线段对不在垂直的平行直线段对的中间,和/或,组合中的垂直的平行直线段对不在水平的平行直线段对的中间(水平直线段对与垂直直线段对的位置);比如图10中的候选矩形10-2。
(3)组合中的水平的平行直线段对和垂直的平行直线段对所构成的矩形的面积小于面积阈值(矩形大小阈值)。
(4)组合中的水平的平行直线段对和垂直的平行直线段对所构成的矩形的线段占比(投影占比),小于或等于阈值(占比阈值,比如,80%)。
需要说明的是,线段占比的获取步骤为:获取组合中的水平的平行直线段对和垂直的平行直线段对对应的四个交点;基于组合中的水平的平行直线段对和垂直的平行直线段对的直线段的顺序,并将四个交点确定为四个角点;根据四个角点确定组合对应的矩形的上、下、左和右四条边;从水平直线段和垂直直线段,或者,合并后的水平直线段和合并后的垂直直线段中,获得每条边的接近重合(重合度大于重合度阈值)的直线段;将获得的接近重合的直线段向该边投影(这里,多条直线段的投影可能有重叠,重叠的直线段的长度仅计算异一次);计算落在四条边上的所有投影的并集并求和得到并集长度和(四个投影长度的累加和),并集长度和除以矩形的周长得到矩形的线段占比;比如图11所示。
8)针对检测到的矩形,进行非极大值抑制,获得最终检测到的矩形14-4(目标矩形)。
需要说明的是,针对检测到的矩形,计算两个矩形的重叠度(Intersection overUnion,IoU);在重叠度大于重叠度阈值时,剔除面积较小的一个矩形,或者,剔除线段占比较低的一个。
下面,继续说明基于矩形14-4进行矩形跟踪的处理过程:
这里,确定图像、特征点、直线段和点描述为:I(i)表示第i帧的图像,首帧的图像14-2为I(0)。P(i)={p1(i),p2(i),…,pN(i)}表示第i帧的图像上的特征点,N表示特征点个数,p=(x,y);参见图15,图15是本申请实施例提供的一种示例性的特征点和直线段的示意图;如图15所示,图像15-1中的矩形15-11对应的特征点包括:特征点p1至特征点p5。L(i)={l1(i),l2(i),…,lM(i)}表示第i帧的图像上的直线段,M表示直线段个数,l=(x1,y1,x2,y2)分别为直线两端点的坐标;比如,图15中的矩形15-11对应的直线段:直线段l1至直线段l3。C(i)={c1(i),c2(i),c3(i),c4(i)}表示第i帧的图像上的矩形区域的四个角点(统称为矩形角点,依次是左上角点、右上角点、右下角点和左下角点),c=(x,y);比如,图15中的矩形15-11对应的四个角点:角点c1至角点c4。
1)从图像14-2(I(0))中确定矩形14-4对应的矩形区域14-5,并从矩形区域14-5中提取特征点P(0)(第一特征点)和提取直线段L(0)(第一直线段)。
需要说明的是,特征点P(0)的提取可通过“FAST”、“Harris”或“Good Feature ToTrack”等实现。
直线段L(0)可通过以下至少一种方式获得:
(1)根据矩形14-4的矩形角点构造,由于两点确定一条直线,从而直线段L(0)可包括4条直线段:c1(0)c2(0)、c2(0)c3(0)、c3(0)c4(0)和c4(0)c1(0)。
(2)通过“Hough”变换或“opencv”中的“LSD”算法等进行直线段L(0)的提取。
参见图16,图16是本申请实施例提供的一种示例性的提取到的特征点和直线段的示意图;如图16所示,针对首帧的图像14-2中的矩形区域14-5,所提取的特征点P(0)为特征点16-1,以及所提取的直线段L(0)为直线段16-2。
2)在拍得的视频14-1的第二帧的图像14-6中,确定特征点P(0)的所在位置,获得特征点P(1)(第二特征点)。
需要说明的是,基于特征点P(0)获得特征点P(1)的过程,可通过光流算法实现,比如,“Farneback”、“DIS-flow”或“Lucas–Kanade”等。
3)在拍得的视频14-2的第二帧图像14-6中,确定直线段L(0)的所在位置,获得直线段L(1)(第二直线段)。
需要说明的是,基于直线段L(0)获得直线段L(1)的过程为:
(1)将直线段L(0)均匀离散化(离散化处理)成K个点q1(0),…qK(0)(第一离散点),如式(1)所示。
(2)基于特征点跟踪确定K个点在第二帧的图像14-6中的位置,获得K个点q1(1),…,qK(1)(第二离散点)。
(3)对q1(1),…,qK(1)这K个点进行直线拟合,得到直线段L(1);拟合步骤包括:
1>从K个点q1(1),…,qK(1)中随机选取两点构造直线。
2>计算K个点q1(1),…,qK(1)到构造的直线的距离,距离小于阈值(点线距离阈值)则确认为是内点,否则则确认为是外点,统计内点数量。
3>重复Q(对应于各个离散点对的数量,比如:100)次上述(1>-2>)步骤,寻找最大内点数量的直线(目标初始第二直线)。
4>对最大内点数量的直线的所有的内点(目标内点)进行线性拟合,得到修正后的直线(待处理直线)。
5>将最大内点数量的直线的所有的内点投影到修正后的直线,确定最左端投影点和最右端投影点(两端投影点),作为直线段L(1)的两个端点。
参见图17,图17是本申请实施例提供的一种示例性的直线跟踪示意图;如图17所示,图像17-1为前一帧的图像,图像17-2为后一帧的图像;针对图像17-1中的矩形区域17-11中的直线段17-111至直线段17-116,通过对直线段17-111至直线段17-116进行均匀离散化,其中,直线段17-111至直线段17-116上的点即均匀离散化后的点;通过对这些均匀离散化后的点进行特征点跟踪,获得对应的跟踪到的点,如图像17-2中的点,跟踪到的点基于步骤1>-5>进行直线拟合,在图像17-2中,也就获得了与直线段17-111至直线段17-116一一对应的直线段17-21至直线段17-26。
4)基于直线段L(0)和直线段L(1),和/或,特征点P(0)和特征点P(1),计算首帧的图像14-2和第二帧的图像14-6针对矩形的帧间变换矩阵(变换信息)。
需要说明的是,由于所有的特征点和直线段都在同一个真实平面,所以帧间变换矩阵可以用单应性矩阵(H矩阵)来表示,H矩阵是一个3*3个矩阵,如式(5)所示:
其中,x(i+1)和y(i+1)为图像i+1上的点的坐标。
其中,x(i)和y(i)为图像i上的点的坐标。
从而,式(5)可表示为式(8):
展开式(8)可得式(9)至式(11):
Sx(i+1)=h11 x(i)+h12 y(i)+h13 (9)
Sy(i+1)=h21 x(i)+h22 y(i)+h23 (10)
S=h31 x(i)+h32 y(i)+1 (11)
将式(11)代入式(9),得到式(12):
(h31 x(i)+h32 y(i)+1)x(i+1)=h11 x(i)+h12 y(i)+h13 (12)
将式(11)代入式(10),得到式(13):
(h31 x(i)+h32 y(i)+1)y(i+1)=h21 x(i)+h22 y(i)+h23 (13)
易知,获得h11、h12、h13、h21、h22、h23、h31和h32,也就获得了Hi,i+1。
这里,当基于直线段L(0)和直线段L(1),计算首帧的图像14-2和第二帧的图像14-6针对矩形的帧间变换矩阵H01时:对直线段L(0)两两之间求交点,并对直线段L(1)两两之间求交点;其中,当两直线段接近平行时不能求交点则跳过,虽然M条直线最多有M*(M-1)/2个交点,但实际情况中由于有很多直线相互平行导致计算出的交点数往往少于M*(M-1)/2。由于首帧的图像14-2和第二帧的图像14-6的直线段是一一对应的,所以求得的交点也是一一对应的(例如:前一帧的图像中的l1(i)和l2(i)的交点,与后一帧图像中的l1(i+1)和l2(i+1)的交点是对应的)。当获得了至少4组交点关联对时,即可求解出Hi,i+1矩阵。
当基于直线段L(0)和直线段L(1),计算首帧的图像14-2和第二帧的图像14-6针对矩形的帧间变换矩阵H01时:通过至少4组特征点关联对,即可求解出Hi,i+1矩阵。
在本申请实施例中,在求解Hi,i+1矩阵时,可以先基于特征点计算,当计算失败时,再基于直线段的交点计算;还可以先基于直线段的交点计算,当计算失败时,再基于特征点计算;又可以同时基于特征点和直线段的交点计算。另外,在计算过程中,为了减少动态特征对计算结果的影响,通常会进行外点剔除,外点剔除方法比如为“RANSAC”或“PROSAC”等。
这里,当基于特征点计算Hi,i+1矩阵,或者基于直线段的交点计算Hi,i+1矩阵时,还可结合特征点和特征直线优化Hi,i+1矩阵;如式(2)所示。
5)基于帧间变换矩阵叠加AR特效。
需要说明的是,所叠加的AR特效可以是一张静态图像14-7,也可以是一段动态图像,还可以是一个三维的渲染模型(待叠加渲染模型)。
这里,当AR特效是一张静态图像14-7(待叠加图像)时,叠加过程为:
首先,当静态图像14-7长宽分别为h,w时,则该静态图像的左上角点、左下角点、右上角点和右下角点的坐标依次分别为(0,0)、(0,h)、(w,0)和(w,h);当矩形区域14-5的左上角点、左下角点、右上角点和右下角点的坐标依次分别为(u1,v1)、(u2,v2)、(u3,v3)和(u4,v4)时,基于式(5)至式(13),可获得静态图像14-7与矩形区域14-5的帧间变换矩阵Hb0。
然后,继续参见图14,通过帧间变换矩阵Hb0,可以将静态图像14-7映射在矩形区域14-5上,完成在首帧的图像14-2的AR特效的叠加,也就获得了叠加了AR特效后的图像14-21。
最后,基于帧间变换矩阵Hb0和帧间变换矩阵H01,确定静态图像14-7与第二帧的图像14-6的矩阵Hb1=Hb0H01;进而通过帧间变换矩阵Hb1(第二映射信息),将静态图像14-7映射在第二帧的图像14-6上,完成在第二帧的图像14-6的AR特效的叠加。
需要说明的是,针对拍得的视频14-1的第三帧的图像14-8,静态图像14-7与第三帧(i=2)的图像14-8的矩阵Hb2=Hb0H01H12;也就是说,静态图像与第i帧的图像的矩阵Hbi=Hb0H01…Hi-1,i,其中,i>0。
参见图18,图18是本申请实施例提供的一种示例性的叠加静态图像特效的示意图;如图18所示,图像18-1至图像18-5,是拍得的视频14-1的前五帧对应的图像,叠加了静态图像14-7之后所获得的结果。
当AR特效是一段动态图像时,叠加过程为:在首帧的图像14-2中叠加动态图像的第一帧的图像,在第二帧的图像14-6中叠加动态图像的第二帧的图像。
当AR特效是三维的渲染模型时,叠加过程中获得了H矩阵之后,基于H矩阵分解出第i帧的图像对应的相机的姿态旋转矩阵和位置向量(第一姿态旋转矩阵和第一位置向量,第二姿态旋转矩阵和第二位置向量),根据相机姿态旋转矩阵和位置向量,将三维的渲染模型叠加到第i帧的图像上。将H矩阵分解成姿态旋转矩阵和位置向量属于多视几何理论,可以通过单应性矩阵分解法计算得到,也可以直接使用一些已有的求解库函数(比如,“opencv”中的“decomposeHomographyMat”)计算得到。
下面继续说明本申请实施例提供的目标跟踪装置255的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器250的目标跟踪装置255中的软件模块可以包括:
图形检测模块2551,用于对待处理视频的第一帧图像进行几何图形检测,获得几何图形区域,其中,所述待处理视频为对几何图形的目标进行拍摄获得的;
直线提取模块2552,用于对所述几何图形区域进行直线提取,获得第一直线段;
直线跟踪模块2553,用于在所述待处理视频的第二帧图像中,确定与所述第一直线段对应的第二直线段;
图像跟踪模块2554,用于基于所述第一直线段和所述第二直线段,确定所述几何图形区域在所述第二帧图像的变换信息,其中,所述变换信息用于跟踪所述几何图形的目标。
在本申请实施例中,所述直线跟踪模块2553,还用于对所述第一直线段进行离散化处理,获得第一离散点;在所述第二帧图像中,确定与所述第一离散点对应的第二离散点;对所述第二离散点进行直线拟合,获得所述第二帧图像中与所述第一直线段对应的所述第二直线段。
在本申请实施例中,所述直线跟踪模块2553,还用于遍历所述第二离散点中的各个离散点对,针对遍历到的离散点对,确定初始第二直线;统计所述第二离散点到所述初始第二直线的距离,小于点线距离阈值的离散点数量,获得所述初始第二直线对应的内点数量;在遍历完所述各个离散点对时,获得各个初始第二直线对应的各个内点数量;从所述各个初始第二直线中,确定与所述各个内点数量中最大内点数量所对应的目标初始第二直线;获取所述目标初始第二直线对应的目标内点,并对所述目标内点进行直线拟合,获得待处理直线;将所述目标内点投影至所述待处理直线,并基于投影结果确定两端投影点,以及将所述两端投影点之间的线段确定为所述第二直线段。
在本申请实施例中,所述目标跟踪装置255还包括特征点提取模块2555,用于对所述几何图形区域进行特征点提取,获得第一特征点;在所述第二帧图像中,确定与所述第一特征点对应的第二特征点。
在本申请实施例中,所述图像跟踪模块2554,还用于基于所述第一直线段和所述第二直线段的组合,和/或,所述第一特征点和所述第二特征点的组合,确定所述几何图形区域在所述第二帧图像的所述变换信息。
在本申请实施例中,所述图像跟踪模块2554,还用于获取所述第一直线段通过所述变换信息映射到所述第二帧图像上的预估直线段,并获取所述预估直线段与所述第二直线段的直线段差异;获取所述第一特征点通过所述变换信息映射到所述第二帧图像上的预估特征点,并获取所述预估特征点与所述第二特征点的特征点差异;基于所述直线段差异和所述特征点差异构建所述变换信息的优化目标,并确定所述优化目标的最小解,从而获得优化后的变换信息。
在本申请实施例中,所述几何图形为矩形,所述几何图形区域为矩形区域;所述图形检测模块2551,还用于对所述待处理视频的所述第一帧图像进行目标检测,获得初始矩形区域;对所述初始矩形区域进行直线提取,获得直线段序列;基于所述直线段序列中的直线段与水平方向的夹角,对所述直线段序列进行分类,获得水平直线段序列和垂直直线段序列;从所述水平直线段序列中确定水平平行直线段对序列,并从所述垂直直线段序列中确定垂直平行直线段对序列;将所述水平平行直线段对序列中的水平平行直线段对与所述垂直平行直线段对序列中的垂直平行直线段对进行两两组合,获得候选矩形;从所述候选矩形中确定目标矩形,并将所述目标矩形在所述第一帧图像中的区域确定为所述矩形区域,完成对所述第一帧图像的矩形检测。
在本申请实施例中,所述图形检测模块2551,还用于基于所述直线段序列中的直线段与水平方向的夹角,将所述直线段序列划分为初始水平直线段序列和初始垂直直线段序列;在所述初始水平直线段序列中,合并所在直线重合且最近端点距离小于端点距离阈值的多条水平直线段,获得所述水平直线段序列;在所述初始垂直直线段序列中,合并所在直线重合且最近端点距离小于所述距离阈值的多条垂直直线段,获得所述垂直直线段序列。
在本申请实施例中,所述图形检测模块2551,还用于对所述初始矩形区域进行直线提取,获得初始直线段序列;基于长度阈值、倾斜角度阈值和颜色信息中的至少一种,对所述初始直线段序列中的直线段进行过滤,获得所述直线段序列,其中,所述直线段倾斜角度阈值包括直线段与水平方向的夹角阈值、以及直线段与垂直方向的夹角阈值,所述颜色信息是基于矩形的目标的特性确定的,所述几何图形的目标为所述矩形的目标。
在本申请实施例中,所述图形检测模块2551,还用于对所述水平直线段序列中的水平直线段进行两两组合,获得初始水平直线段对序列;基于两直线段夹角阈值、直线段距离范围和平移重叠阈值中的至少一种,对所述初始水平直线段对序列进行过滤,获得所述水平平行直线段对序列。
在本申请实施例中,所述图形检测模块2551,还用于基于长宽比阈值、水平直线段对与垂直直线段对的位置、以及矩形大小阈值中的至少一种,对所述候选矩形进行筛选,获得待确认矩形;从所述直线段序列中,获取与所述待确认矩形的每条边的重合度大于重合度阈值的支持直线段;获取所述支持直线段在所述待确认矩形的每条边上的投影长度,从而获得与所述待确认矩形对应的四个投影长度的累加和;计算所述累加和与所述待确认矩形的周长的比值,获得投影占比;从所述待确认矩形中,筛选所述投影占比大于占比阈值的矩形,获得所述目标矩形。
在本申请实施例中,所述图形检测模块2551,还用于获取所述支持直线段在所述待确认矩形的每条边上的投影直线段;获取所述投影直线段与所述待确认矩形的每条边重合的直线段的长度,获得所述投影长度。
在本申请实施例中,所述图形检测模块2551,还用于从所述待确认矩形中,筛选所述投影占比大于所述占比阈值的矩形,获得初始目标矩形;获取所述初始目标矩形中的矩形对;获取所述矩形对的重叠度;在所述重叠度大于重叠度阈值时,将所述矩形对中最大的矩形确定为所述目标矩形,或者,将所述矩形对中最大投影占比的矩形确定为所述目标矩形。
在本申请实施例中,所述目标跟踪装置255还包括视频获取模块2556,用于拍摄矩形的目标,获得所述待处理视频。
在本申请实施例中,所述目标跟踪装置255还包括特效叠加模块2557,用于获取待叠加图像与所述矩形区域的第一映射信息;基于所述第一映射信息,将所述待叠加图像叠加在所述矩形区域上;基于所述第一映射信息和所述变换信息,确定所述待叠加图像在所述第二帧图像中的第二映射信息;基于所述第二映射信息,将所述待叠加图像叠加在所述第二帧图像中所述矩形的目标所在的区域上。
在本申请实施例中,所述特效叠加模块2557,还用于从待叠加视频中,获取所述待叠加图像;从所述待叠加视频中,获取下一待叠加图像;获取所述下一待叠加图像与所述矩形区域的下一第一映射信息;基于所述下一第一映射信息和所述变换信息,确定所述下一待叠加图像在所述第二帧图像中的下一第二映射信息;基于所述下一第二映射信息,将所述下一待叠加图像叠加在所述第二帧图像中所述矩形的目标所在的区域上。
在本申请实施例中,所述特效叠加模块2557,还用于获取待叠加渲染模型与所述矩形区域的第三映射信息;从所述第三映射信息中,分解出所述第一帧图像对应的第一姿态旋转矩阵和第一位置向量;基于所述第一姿态旋转矩阵和所述第一位置向量,将所述待叠加渲染模型叠加在所述矩形区域上;基于所述第三映射信息和所述变换信息,确定所述待叠加渲染模型在所述第二帧图像中的第四映射信息;从所述第四映射信息中,分解出所述第二帧图像对应的第二姿态旋转矩阵和第二位置向量;基于所述第二姿态旋转矩阵和所述第二位置向量,将所述待叠加渲染模型叠加在所述第二帧图像中所述矩形的目标所在的区域上。
在本申请实施例中,所述图像跟踪模块2554,还用于获取所述第一直线段中各直线段相交的第一交点集合,并获取所述第二直线段中各直线段相交的第二交点集合,其中,所述第一交点集合与所述第二交点集合一一对应;分别从所述第一交点集合和所述第二交点集合中选择交点组成交点对,获得交点对序列;持续从所述交点对序列中选择四组交点对,并结合尺度因子,获取初始变换信息,以及获取所述交点对序列中与所述初始变换信息匹配的匹配交点对数量,直到满足截止条件时,获得各个初始变换信息对应的各个匹配交点对数量;从所述各个初始变换信息中,确定所述各个匹配交点对数量中最大匹配交点对数量所对应的初始变换信息,获得几何图形区域在所述第二帧图像的变换信息。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的目标跟踪方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的目标跟踪方法,例如,如图4示出的目标跟踪方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,本申请实施例通过对待跟踪的几何图形区域进行直线提取,并基于提取的第一直线段确定几何图形区域在下一帧图像中的变换信息,实现目标跟踪的过程中,由于直线特征相比特征点能提供的信息和几何约束更多,对几何图形区域跟踪的精度会更高,以及即使几何图形区域中的纹理较少,也能通过几何图形区域中的直线段(比如,几何图形区域的边)实现有效跟踪;因此,能够提升目标跟踪的准确度。此外,本申请实施例先通过目标检测处理大致定位出初始矩形区域,再在初始矩形区域中通过提取直线并根据矩形的特性最终定位出目标矩形,如此:只在包括矩形的初始矩形区域内搜索矩形,降低了矩形的检测消耗,同时也提升了矩形检测的精准度。并且,即使矩形的边被部分遮挡,或者矩形的某个角出视野,通过本申请实施例中的矩形检测处理,都能检测出矩形。以及本申请实施例除了使用几何图形区域内的特征点实现跟踪以外,还使用的几何图形区域的直线段实现跟踪,直线特征相比特征点能提供的信息和几何约束更多,几何图形区域跟踪的精度会更高。另外,当几何图形区域内纹理不足时,可以单纯依靠几何图形的边也能准确的跟踪定位。当相机凑近几何图形区域,看不到几何图形边缘时,又可以利用几何图形区域内的特征点进行跟踪定位。当几何图形区域内的纹理是动态变化的时,本申请实施例会自动过滤掉不可靠的外点,即使全部特征点都是动态不可靠的,也可以基于几何矩形的边特征进行跟踪定位。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种目标跟踪方法,其特征在于,包括:
对待处理视频的第一帧图像进行几何图形检测,获得几何图形区域,其中,所述待处理视频为对几何图形的目标进行拍摄获得的;
对所述几何图形区域进行直线提取,获得第一直线段;
在所述待处理视频的第二帧图像中,确定与所述第一直线段对应的第二直线段;
基于所述第一直线段和所述第二直线段,确定所述几何图形区域在所述第二帧图像的变换信息,其中,所述变换信息用于跟踪所述几何图形的目标。
2.根据权利要求1所述的方法,其特征在于,所述在所述待处理视频的第二帧图像中,确定与所述第一直线段对应的第二直线段,包括:
对所述第一直线段进行离散化处理,获得第一离散点;
在所述第二帧图像中,确定与所述第一离散点对应的第二离散点;
对所述第二离散点进行直线拟合,获得所述第二帧图像中与所述第一直线段对应的所述第二直线段。
3.根据权利要求2所述的方法,其特征在于,所述对所述第二离散点进行直线拟合,获得所述第二帧图像中与所述第一直线段对应的所述第二直线段,包括:
遍历所述第二离散点中的各个离散点对,针对遍历到的离散点对,确定初始第二直线;
统计所述第二离散点到所述初始第二直线的距离,小于点线距离阈值的离散点数量,获得所述初始第二直线对应的内点数量;
在遍历完所述各个离散点对时,获得各个初始第二直线对应的各个内点数量;
从所述各个初始第二直线中,确定与所述各个内点数量中最大内点数量所对应的目标初始第二直线;
获取所述目标初始第二直线对应的目标内点,并对所述目标内点进行直线拟合,获得待处理直线;
将所述目标内点投影至所述待处理直线,并基于投影结果确定两端投影点,以及将所述两端投影点之间的线段确定为所述第二直线段。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述对待处理视频的第一帧图像进行几何图形检测,获得几何图形区域之后,所述方法还包括:
对所述几何图形区域进行特征点提取,获得第一特征点;
在所述第二帧图像中,确定与所述第一特征点对应的第二特征点;
所述基于所述第一直线段和所述第二直线段,确定所述几何图形区域在所述第二帧图像的变换信息,包括:
基于所述第一直线段和所述第二直线段的组合,和/或,所述第一特征点和所述第二特征点的组合,确定所述几何图形区域在所述第二帧图像的所述变换信息。
5.根据权利要求4所述的方法,其特征在于,所述基于所述第一直线段和所述第二直线段的组合,和/或,所述第一特征点和所述第二特征点的组合,确定所述几何图形区域在所述第二帧图像的所述变换信息之后,所述方法还包括:
获取所述第一直线段通过所述变换信息映射到所述第二帧图像上的预估直线段,并获取所述预估直线段与所述第二直线段的直线段差异;
获取所述第一特征点通过所述变换信息映射到所述第二帧图像上的预估特征点,并获取所述预估特征点与所述第二特征点的特征点差异;
基于所述直线段差异和所述特征点差异构建所述变换信息的优化目标,并确定所述优化目标的最小解,从而获得优化后的变换信息。
6.根据权利要求1至3中任一项所述的方法,其特征在于,所述几何图形为矩形,所述几何图形区域为矩形区域;所述对待处理视频的第一帧图像进行几何图形检测,获得几何图形区域,包括:
对所述待处理视频的所述第一帧图像进行目标检测,获得初始矩形区域;
对所述初始矩形区域进行直线提取,获得直线段序列;
基于所述直线段序列中的直线段与水平方向的夹角,对所述直线段序列进行分类,获得水平直线段序列和垂直直线段序列;
从所述水平直线段序列中确定水平平行直线段对序列,并从所述垂直直线段序列中确定垂直平行直线段对序列;
将所述水平平行直线段对序列中的水平平行直线段对与所述垂直平行直线段对序列中的垂直平行直线段对进行两两组合,获得候选矩形;
从所述候选矩形中确定目标矩形,并将所述目标矩形在所述第一帧图像中的区域确定为所述矩形区域,完成对所述第一帧图像的矩形检测。
7.根据权利要求6所述的方法,其特征在于,所述对所述直线段序列进行分类,获得水平直线段序列和垂直直线段序列,包括:
基于所述直线段序列中的直线段与水平方向的夹角,将所述直线段序列划分为初始水平直线段序列和初始垂直直线段序列;
在所述初始水平直线段序列中,合并所在直线重合且最近端点距离小于端点距离阈值的多条水平直线段,获得所述水平直线段序列;
在所述初始垂直直线段序列中,合并所在直线重合且最近端点距离小于所述距离阈值的多条垂直直线段,获得所述垂直直线段序列。
8.根据权利要求6所述的方法,其特征在于,所述从所述水平直线段序列中确定水平平行直线段对序列,包括:
对所述水平直线段序列中的水平直线段进行两两组合,获得初始水平直线段对序列;
基于两直线段夹角阈值、直线段距离范围和平移重叠阈值中的至少一种,对所述初始水平直线段对序列进行过滤,获得所述水平平行直线段对序列。
9.根据权利要求6所述的方法,其特征在于,所述从所述候选矩形中确定目标矩形,包括:
基于长宽比阈值、水平直线段对与垂直直线段对的位置、以及矩形大小阈值中的至少一种,对所述候选矩形进行筛选,获得待确认矩形;
从所述直线段序列中,获取与所述待确认矩形的每条边的重合度大于重合度阈值的支持直线段;
获取所述支持直线段在所述待确认矩形的每条边上的投影长度,从而获得与所述待确认矩形对应的四个投影长度的累加和;
计算所述累加和与所述待确认矩形的周长的比值,获得投影占比;
从所述待确认矩形中,筛选所述投影占比大于占比阈值的矩形,获得所述目标矩形。
10.根据权利要求9所述的方法,其特征在于,所述从所述待确认矩形中,筛选所述投影占比大于占比阈值的矩形,获得所述目标矩形,包括:
从所述待确认矩形中,筛选所述投影占比大于所述占比阈值的矩形,获得初始目标矩形;
获取所述初始目标矩形中的矩形对;
获取所述矩形对的重叠度;
在所述重叠度大于重叠度阈值时,将所述矩形对中最大的矩形确定为所述目标矩形,或者,将所述矩形对中最大投影占比的矩形确定为所述目标矩形。
11.根据权利要求6所述的方法,其特征在于,所述对待处理视频的第一帧图像进行几何图形检测,获得几何图形区域之前,所述方法还包括:
拍摄矩形的目标,获得所述待处理视频;
所述基于所述第一直线段和所述第二直线段,确定所述几何图形区域在所述第二帧图像的变换信息之后,所述方法还包括:
获取待叠加图像与所述矩形区域的第一映射信息;
基于所述第一映射信息,将所述待叠加图像叠加在所述矩形区域上;
基于所述第一映射信息和所述变换信息,确定所述待叠加图像在所述第二帧图像中的第二映射信息;
基于所述第二映射信息,将所述待叠加图像叠加在所述第二帧图像上。
12.根据权利要求11所述的方法,其特征在于,所述获取待叠加图像与所述矩形区域的第一映射信息之前,所述方法还包括:
从待叠加视频中,获取所述待叠加图像;
所述获取待叠加图像与所述矩形区域的第一映射信息之后,所述方法还包括:
从所述待叠加视频中,获取下一待叠加图像;
获取所述下一待叠加图像与所述矩形区域的下一第一映射信息;
所述基于所述第一映射信息,将所述待叠加图像叠加在所述矩形区域上之后,所述方法还包括:
基于所述下一第一映射信息和所述变换信息,确定所述下一待叠加图像在所述第二帧图像中的下一第二映射信息;
基于所述下一第二映射信息,将所述下一待叠加图像叠加在所述第二帧图像上。
13.根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述第一直线段和所述第二直线段,确定所述几何图形区域在所述第二帧图像的变换信息,包括:
获取所述第一直线段中各直线段相交的第一交点集合,并获取所述第二直线段中各直线段相交的第二交点集合,其中,所述第一交点集合与所述第二交点集合一一对应;
分别从所述第一交点集合和所述第二交点集合中选择交点组成交点对,获得交点对序列;
持续从所述交点对序列中选择四组交点对,并结合尺度因子,获取初始变换信息,以及获取所述交点对序列中与所述初始变换信息匹配的匹配交点对数量,直到满足截止条件时,获得各个初始变换信息对应的各个匹配交点对数量;
从所述各个初始变换信息中,确定所述各个匹配交点对数量中最大匹配交点对数量所对应的初始变换信息,获得所述几何图形区域在所述第二帧图像的变换信息。
14.一种目标跟踪设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至13任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至13任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110476622.1A CN113763419B (zh) | 2021-04-29 | 2021-04-29 | 一种目标跟踪方法、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110476622.1A CN113763419B (zh) | 2021-04-29 | 2021-04-29 | 一种目标跟踪方法、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113763419A true CN113763419A (zh) | 2021-12-07 |
CN113763419B CN113763419B (zh) | 2023-06-20 |
Family
ID=78786969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110476622.1A Active CN113763419B (zh) | 2021-04-29 | 2021-04-29 | 一种目标跟踪方法、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113763419B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190281A (zh) * | 2022-06-30 | 2022-10-14 | 海宁奕斯伟集成电路设计有限公司 | 调整投影仪投影位置的装置及方法 |
CN117111491A (zh) * | 2023-10-25 | 2023-11-24 | 北京赛目科技股份有限公司 | 一种自动驾驶仿真中物体最近点确定方法、装置及设备 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001101419A (ja) * | 1999-07-27 | 2001-04-13 | Matsushita Electric Works Ltd | 画像特徴追跡処理方法、画像特徴追跡処理装置、3次元データ作成方法 |
US20080107345A1 (en) * | 2006-11-07 | 2008-05-08 | Simon Melikian | System and method for visual searching of objects using lines |
CN101339664A (zh) * | 2008-08-27 | 2009-01-07 | 北京中星微电子有限公司 | 一种目标跟踪方法及系统 |
DE102008050456A1 (de) * | 2008-10-08 | 2010-04-15 | Volkswagen Ag | Verfahren und Vorrichtung zur Fahrspurerkennung |
US20120154579A1 (en) * | 2010-12-20 | 2012-06-21 | International Business Machines Corporation | Detection and Tracking of Moving Objects |
US20140204120A1 (en) * | 2013-01-23 | 2014-07-24 | Fujitsu Limited | Image processing device and image processing method |
CN106127778A (zh) * | 2016-06-27 | 2016-11-16 | 安徽慧视金瞳科技有限公司 | 一种用于投影交互系统的直线检测方法 |
CN110197518A (zh) * | 2018-02-24 | 2019-09-03 | 高德软件有限公司 | 曲线抽稀方法及装置 |
US20200294258A1 (en) * | 2019-03-13 | 2020-09-17 | Fujitsu Limited | Image processing apparatus and image processing method |
CN111680699A (zh) * | 2020-04-27 | 2020-09-18 | 中国人民解放军火箭军工程大学 | 一种基于背景抑制的空地红外时敏弱小目标检测方法 |
CN111932504A (zh) * | 2020-07-20 | 2020-11-13 | 苏州佳智彩光电科技有限公司 | 一种基于边缘轮廓信息的亚像素定位方法及装置 |
-
2021
- 2021-04-29 CN CN202110476622.1A patent/CN113763419B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001101419A (ja) * | 1999-07-27 | 2001-04-13 | Matsushita Electric Works Ltd | 画像特徴追跡処理方法、画像特徴追跡処理装置、3次元データ作成方法 |
US20080107345A1 (en) * | 2006-11-07 | 2008-05-08 | Simon Melikian | System and method for visual searching of objects using lines |
CN101339664A (zh) * | 2008-08-27 | 2009-01-07 | 北京中星微电子有限公司 | 一种目标跟踪方法及系统 |
DE102008050456A1 (de) * | 2008-10-08 | 2010-04-15 | Volkswagen Ag | Verfahren und Vorrichtung zur Fahrspurerkennung |
US20120154579A1 (en) * | 2010-12-20 | 2012-06-21 | International Business Machines Corporation | Detection and Tracking of Moving Objects |
US20140204120A1 (en) * | 2013-01-23 | 2014-07-24 | Fujitsu Limited | Image processing device and image processing method |
CN106127778A (zh) * | 2016-06-27 | 2016-11-16 | 安徽慧视金瞳科技有限公司 | 一种用于投影交互系统的直线检测方法 |
CN110197518A (zh) * | 2018-02-24 | 2019-09-03 | 高德软件有限公司 | 曲线抽稀方法及装置 |
US20200294258A1 (en) * | 2019-03-13 | 2020-09-17 | Fujitsu Limited | Image processing apparatus and image processing method |
CN111680699A (zh) * | 2020-04-27 | 2020-09-18 | 中国人民解放军火箭军工程大学 | 一种基于背景抑制的空地红外时敏弱小目标检测方法 |
CN111932504A (zh) * | 2020-07-20 | 2020-11-13 | 苏州佳智彩光电科技有限公司 | 一种基于边缘轮廓信息的亚像素定位方法及装置 |
Non-Patent Citations (4)
Title |
---|
BRANISLAV MICUSIK 等: "Detection and matching of rectilinear structures" * |
曹姝清 等: "空间目标快速轮廓特征提取与跟踪技术" * |
李文涛: "全向AGV运动控制及路径规划研究" * |
陈天婷 等: "基于环视系统的停车位检测与跟踪算法" * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190281A (zh) * | 2022-06-30 | 2022-10-14 | 海宁奕斯伟集成电路设计有限公司 | 调整投影仪投影位置的装置及方法 |
CN115190281B (zh) * | 2022-06-30 | 2024-01-02 | 海宁奕斯伟集成电路设计有限公司 | 调整投影仪投影位置的装置及方法 |
CN117111491A (zh) * | 2023-10-25 | 2023-11-24 | 北京赛目科技股份有限公司 | 一种自动驾驶仿真中物体最近点确定方法、装置及设备 |
CN117111491B (zh) * | 2023-10-25 | 2024-01-19 | 北京赛目科技股份有限公司 | 一种自动驾驶仿真中物体最近点确定方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113763419B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yang et al. | Image-based 3D scene reconstruction and exploration in augmented reality | |
Pantoja-Rosero et al. | Generating LOD3 building models from structure-from-motion and semantic segmentation | |
JP5631086B2 (ja) | 情報処理装置及びその制御方法、プログラム | |
KR101965878B1 (ko) | 시각적 피처들을 이용한 이미지들의 자동 연결 | |
CN113763419B (zh) | 一种目标跟踪方法、设备及计算机可读存储介质 | |
da Silveira et al. | 3d scene geometry estimation from 360 imagery: A survey | |
CN115439607A (zh) | 一种三维重建方法、装置、电子设备及存储介质 | |
CN108734773A (zh) | 一种用于混合图片的三维重建方法及系统 | |
Kaiser et al. | Automatic co-registration of photogrammetric point clouds with digital building models | |
CN116012626B (zh) | 建筑立面图像的素材匹配方法、装置、设备和存储介质 | |
Malik et al. | Handvoxnet++: 3d hand shape and pose estimation using voxel-based neural networks | |
WO2023250091A1 (en) | Method, apparatus, and computer-readable medium for room layout extraction | |
Zou et al. | Sketch-based 3-D modeling for piecewise planar objects in single images | |
Wientapper et al. | Composing the feature map retrieval process for robust and ready-to-use monocular tracking | |
Nóbrega et al. | Interactive 3D content insertion in images for multimedia applications | |
Xue et al. | 3-d modeling from a single view of a symmetric object | |
Doğan et al. | An augmented crowd simulation system using automatic determination of navigable areas | |
Ranade et al. | Novel single view constraints for manhattan 3d line reconstruction | |
Zhang et al. | Point cloud completion in challenging indoor scenarios with human motion | |
Yang et al. | A hybrid 3D registration method of augmented reality for intelligent manufacturing | |
CN115880206A (zh) | 图像准确度判断方法、装置、设备及存储介质、程序产品 | |
Kurka et al. | Automatic estimation of camera parameters from a solid calibration box | |
Kalra et al. | Labeled Hands in Wild | |
Pastor et al. | An agent-based paradigm for the reconstruction of conical perspectives | |
CN113191462A (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 |