CN108701359A - 跨越具有对应深度图的视频帧跟踪兴趣区域 - Google Patents

跨越具有对应深度图的视频帧跟踪兴趣区域 Download PDF

Info

Publication number
CN108701359A
CN108701359A CN201780014303.0A CN201780014303A CN108701359A CN 108701359 A CN108701359 A CN 108701359A CN 201780014303 A CN201780014303 A CN 201780014303A CN 108701359 A CN108701359 A CN 108701359A
Authority
CN
China
Prior art keywords
tracking
interest region
frame
point
feature point
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
CN201780014303.0A
Other languages
English (en)
Other versions
CN108701359B (zh
Inventor
吴翌
O·内斯塔雷斯
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN108701359A publication Critical patent/CN108701359A/zh
Application granted granted Critical
Publication of CN108701359B publication Critical patent/CN108701359B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/215Motion-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • 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/10Image acquisition modality
    • G06T2207/10024Color image
    • 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/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • G06T2207/20104Interactive definition of region of interest [ROI]

Abstract

讨论了与跨越具有对应深度图的视频帧跟踪兴趣区域有关的技术。这些技术可以包括:对兴趣区域的特征点进行运动跟踪;过滤受跟踪特征点;确定兴趣区域的中心;验证中心的深度一致性;以及如果受跟踪特征点的数量落在阈值之下或中心未能通过当前帧的深度一致性检查,则重新初始化先前帧中的兴趣区域。

Description

跨越具有对应深度图的视频帧跟踪兴趣区域
优先权要求
本申请要求于2016年3月1日提交的题为“TRACKING REGIONS OF INTERESTACROSS VIDEO FRAMES WITH CORRESPONDING DEPTH MAPS”、序列号为15/057,686的美国非临时专利申请的优先权,并且其全部内容通过引用并入本文。
背景技术
多相机阵列、光场/全光相机以及使用立体成像的相机近来已经变为切实可行的商用产品。当前,这些设备所提供的三维(3D)用户体验通常基于摄影效果(例如图像重新聚焦、图像分段、图像深度层效果、图像视图内插等)。然而,3D视频效果通常受限。对于提供3D视频效果的一种妨碍因素是跨越视频帧跟踪兴趣区域方面的难度。
在通常3D摄像使用情况下,对于跟踪兴趣区域或对象所提供的仅有信息是用户进行的兴趣区域或对象的选择。例如,用户可以在视频的第一帧中点击初始兴趣对象(例如对象、人等),并且兴趣对象跟踪的任务是跨越视频帧估计兴趣对象的位置。先验未知对象的这种跟踪可以表征为无模型对象跟踪,其可以无需任何领域特定知识或训练。通常,无模型对象跟踪方法假设正受跟踪的对象跨越视频帧在外观方面不变。在一些实例中,归因于与由于兴趣对象和/或相机姿态的改变以及全局或局部照度的改变导致的跨越帧的各种外观改变关联的挑战,无模型对象跟踪技术可能失败。此外,由于兴趣对象事先是未知的,所以不能采用离线机器学习技术来考虑归因于这些改变导致的兴趣对象的外观的变化性。在线学习技术可以应用在无模型对象跟踪的背景中,以将对象模型适配于对象的外观方面的改变。然而,更新对象模型可能引入误差,并且这些技术可能不提供可靠的对象跟踪。
当前技术可能不足以可靠地跨越视频帧跟踪兴趣对象或区域。正是针对这些和其它考虑,需要目前的改进。随着对在各种背景下提供3D视频效果的期望变得更广泛,这些改进可能变得至关重要。
附图说明
在附图中通过示例的方式而非通过限制的方式示出本文所描述的内容。为了说明的简明性和清楚性,附图所示的要素不一定按比例绘制。例如,为了清楚,一些要素的尺寸可以相对于其它要素夸大。此外,在考虑得适当的情况下,在附图之间重复附图标记,以指示对应或类似要素。在附图中:
图1示出用于跨越具有对应深度数据的视频帧跟踪兴趣区域的示例系统;
图2示出用于生成具有对应深度数据的视频帧的示例设备;
图3示出用于初始化或重新初始化兴趣区域的示例处理;
图4示出用于跨越视频帧跟踪兴趣区域的示例处理;
图5示出视频帧的示例视频序列;
图6示出跨越视频帧的兴趣区域的示例跟踪;
图7是示出用于提供跨越视频帧的兴趣区域跟踪的示例处理的流程图;
图8是用于提供跨越视频帧的兴趣区域跟踪的示例系统的说明性示图;
图9是示例系统的说明性示图;以及
图10示出全部根据本公开的至少一些实现方式所布置的示例小形数设备。
具体实施方式
现参照附图描述一个或多个实施例。虽然讨论特定配置和布置,但应理解,仅为了说明的目的而进行该操作。相关领域技术人员应理解,在不脱离说明书的精神和范围的情况下,可以采用其它配置和布置。相关领域技术人员应理解,也可以在除了本文所描述的之外的各种其它系统和应用中采用本文所描述的技术和/或布置。
虽然以下描述阐述可以例如在架构(例如片上系统(SoC)架构)中显现的各个实现方式,但本文所描述的技术和/或布置的实现方式不限于特定架构和/或计算系统,并且可以通过用于相似目的的任何架构和/或计算系统来实现。例如,采用例如多个集成电路(IC)芯片和/或封装的各种架构和/或各种计算设备和/或消费者电子(CE)设备(例如多功能设备、平板、智能电话等)可以实现本文所描述的技术和/或布置。此外,虽然以下描述可以阐述大量具体细节(例如系统组件的逻辑实现方式、类型和相互关系、逻辑分区/集成选取等),但可以在没有这些具体细节的情况下实践所要求的主题内容。在其它实例中,为了不模糊本文所公开的内容,可以并不详细地示出一些内容(例如比如控制结构和完整软件指令序列)。
可以在硬件、固件、软件或其任何组合中实现本文所公开的内容。本文所公开的内容也可以实现为可以由一个或多个处理器读取并且执行的机器可读介质上所存储的指令。机器可读介质可以包括用于存储或发送机器可读形式的信息的任何介质和/或机构(例如计算设备)。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存设备;电、光、声学或其它形式的传输信号(例如载波、红外信号、数字信号等)以及其它介质。
说明书中对“一个实现方式”、“实现方式”、“示例实现方式”或示例或实施例等的引用指示所描述的实现方式可以包括特定特征、结构或特性,但每一实施例可以不一定包括特定特征、结构或特性。此外,这些短语不一定指代同一实现方式。此外,当结合实施例描述特定特征、结构或特性时,认为其处于本领域技术人员的知识内,以结合其它实现方式作用于该特征、结构或特性,而无论是否在本文中明确地描述。
本文描述与跨越视频帧的兴趣区域跟踪有关的方法、设备、装置、计算平台和物品。
如上所述,在一些示例3D摄像使用情况下,对于设备跨越视频帧跟踪兴趣区域或对象所提供的仅有信息可以是用户或设备的另一组件进行的兴趣区域或对象的选择。先验未知对象的这种跟踪可以表征为无模型对象跟踪。如本文进一步讨论的那样,根据所提供的技术的无模型跟踪可以使用色彩信息和深度信息以在具有对应深度数据的视频中跟踪兴趣区域。例如,可以跨越包括用于每个视频帧的像素的红、绿、蓝通道以及深度值的RGB-D视频跟踪兴趣区域。这些跟踪技术可以解决对象姿态或相机姿态、局部照度或全局照度跨越视频帧的改变所导致的外观改变的难点。此外,本文所讨论的跟踪技术可以允许强制3D视频效果(例如视频重新聚焦、视频分段、视频层效果等)。
在一些实施例中,兴趣区域可以由用户或设备组件等指示。如本文所使用的那样,术语“兴趣区域”可以关联于或表示用户或设备关于跟踪所指示的区域、对象等。区域可以与任何图像区域(例如人、人的部分、面部、对象等)关联。例如,用户可以在人或对象上点击,并且本文所讨论的兴趣区域跟踪技术可以尝试跨越具有色彩信息和深度信息的视频帧跟踪所点击的人或对象。
在实施例中,基于所点击的或所提供的与特定帧(例如,跟踪中的第一帧)中的兴趣区域对应的指示符,可以通过区域生长操作生成或确定跟踪的兴趣区域。例如,区域生长操作可以连接距所点击或所提供的位置(例如种子位置)的相似有色以及相似深度区块,以生成兴趣区域。然后可以基于兴趣区域来提取特征点。例如,可以基于特征提取参数(例如,定义待如何执行特征提取的参数)来提取特征点,其中,特征点对应于转角或其它特征。如果特征点的数量不足(例如,小于阈值),则可以利用其它特征提取参数重复特征提取,直到提取出阈值数量的特征点。然后可以关于受跟踪兴趣区域估计兴趣区域的中心。例如,可以基于所提取的特征点的平均值等来确定有效中心或近似中心。此外,可以确定特征点与特征点的偏移矢量之间的成对距离和角度。
在任何随后帧(例如当前帧)处,可以使用光流法技术等执行兴趣区域的运动跟踪。然后可以过滤当前帧中的特征点,以减少误差。例如,对于每个特征点,可以基于当前帧处的特征点周围的窗口与先前帧处的特征点周围的窗口之间的色彩差与阈值、以及当前帧处的特征点周围的窗口与先前帧处的特征点周围的窗口之间的深度差与另一阈值的比较来过滤特征点。例如,如果这两个差不超过它们的相应阈值,则可以保留特征点,而如果任一差超过其相应阈值,则可以丢弃特征点。如果剩余特征点的数量小于阈值,则可以在先前帧中重新初始化兴趣区域,如以上所讨论的那样,其中对于先前帧提供新兴趣区域、新特征点、新中心等。该重新初始化可以在一些示例中表征为重新跟踪、兴趣区域重新生成等。
如果特征点的数量不小于阈值(例如,跟踪已经成功),则可以生成当前帧中的受跟踪兴趣区域的有效中心。可以对当前帧中的受跟踪兴趣区域的有效中心进行缩放和旋转调整(例如,而非特征点的简单取平均),如本文进一步讨论的那样。例如,在缩放和旋转偏移方面的因子分析之后,可以对特征点进行聚类,并且聚类中具有最多特征点的那些特征点可以用于确定有效中心。与简单取平均相比,这些技术可以提供更鲁棒的有效中心。当前帧的有效中心的深度可以与先前帧的有效中心的深度比较,并且如果深度差不超过阈值,则可以接受有效中心,而且所描述的处理可以继续进行随后帧处的区域运动跟踪。
如果深度差大于阈值,则可以拒绝有效中心,并且可以在先前帧中重新初始化兴趣区域,如以上所讨论的那样,其中对于先前帧提供新兴趣区域、新特征点、新中心等。然后可以关于当前帧再次尝试运动跟踪,如所讨论的那样。这种基于所拒绝的有效中心的重新初始化可以提供验证:兴趣区域的有效中心的深度尚未急剧改变(这可以指示错误的或不精确的近似中心)。此外,当跟踪变得困难时,响应于所拒绝的中心或小于阈值的特征点的数量(如上所述)的重新初始化可以提供新生成的兴趣区域。例如,这些技术可以提供对于兴趣区域的形状的改变、兴趣区域的快速运动、兴趣区域的外观的改变等更鲁棒的跨越视频帧的跟踪。
这些技术可以提供具有深度数据的彩色视频(例如RGB-D视频等)中的兴趣区域跟踪的框架,其中可以克服对象姿态、相机姿态、局部照度、全局照度等跨越视频帧的改变所导致的外观改变的挑战。本文所讨论的技术可以例如跨越帧跟踪兴趣区域中的稀疏特征点,以减少或消除照度改变的影响,要求兴趣区域中的特征点的深度和色彩在相邻帧之间不急剧地改变,要求深度一致性检查以减少或消除跟踪误差和/或兴趣区域中心估计误差,自适应地将新的点添加到兴趣区域中以包容对象外观改变,通过融合兴趣区域的缩放和旋转改变来更新受跟踪兴趣区域的中心,并且对通过移动产生的特征点进行聚类,而且使用主聚类的运动以更新兴趣区域的中心。这些技术可以改进中心跟踪的鲁棒性并且减少噪声。此外,随着兴趣区域的外观改变,并且关于快速移动的兴趣区域,当鲁棒性检查失败(例如,有效中心的深度改变得大于阈值,或特征点的数量落在阈值之下)时的跟踪的重新初始化(例如兴趣区域重新初始化)可以提供跨越帧的跟踪的鲁棒性。
图1示出根据本公开的至少一些实现方式所布置的用于跨越具有对应深度数据的视频帧跟踪兴趣区域的示例系统100。如图1所示,系统100可以包括:初始化模块101,其包括区域生成模块111、特征提取模块112以及中心估计模块113;以及跟踪模块102,其包括特征点分析模块121、运动跟踪模块122、运动过滤模块123、特征点更新模块124、中心估计模块125以及中心评估模块126。可以经由任何合适的设备(例如比如个人计算机、膝上型计算机、平板、电话平板、智能电话、数码相机、游戏控制台、可穿戴设备、显示设备、一体化设备、二合一设备等)或平台(例如移动平台等)实现系统100。例如,如本文所使用的那样,系统、设备、计算机或计算设备可以包括任何这种设备或平台。
此外,如所示,系统100(例如,经由初始化模块101和跟踪模块102)可以接收RGB-D视频131和兴趣区域(ROI)信号132,并且系统100可以(例如,经由跟踪模块102)提供兴趣区域(ROI)中心161。虽然为了清楚呈现而关于RGB-D视频131进行讨论,但包括一个或多个亮度和/或色彩分量以及对应深度信息或数据的任何视频可以提供给系统100。在实施例中,RGB-D视频131可以包括视频的每个帧的每个像素的红、绿和蓝通道以及每个像素(或按不同分辨率)的对应深度数据。例如,可以从相机、相机阵列、图像预处理器等接收RGB-D视频131。例如,相机、相机阵列、图像预处理器可以包括任何数量的用于RGB-D视频131的相机。例如,相机阵列可以包括布置成网格、成线型等的任何合适的数量的相机。在实施例中,可以使用任何合适的系统(例如光场/全光相机等)获得RGB-D视频131。
图2示出根据本公开的至少一些实现方式所布置的用于生成具有对应深度数据的视频帧的示例设备200。如图2所示,设备200可以包括外壳205内所实现的红外(IR)相机201、彩色(例如RGB)相机202、红外(IR)相机203以及红外(IR)发射机204。例如,红外发射机204可以通过红外光照射场景,并且红外相机201、203可以基于场景以及经由红外发射机204所提供的照射来获得立体红外图像(例如左/右、参考/目标等)图像。在一些示例中,红外发射机204可以提供具有预定图案等的红外照射。在一些示例中,设备200可以包括立体匹配模块(未示出),以基于所获得的立体红外图像来生成深度图像。如所示,在一些示例中,可以基于红外图像或图像数据来生成深度图像。在其它示例中,可以基于彩色图像(例如RGB图像或图像数据)或任何其它合适的图像或图像数据来生成深度图像。在实施例中,可以经由设备200实现本文所讨论的系统100。在一些实施例中,可以经由任何合适的形数的多相机阵列、光场/全光相机、使用立体成像的相机等实现具有对应深度图或深度数据的视频帧和/或系统100。
返回图1,系统100(例如,经由初始化模块101)也可以接收兴趣区域信号132。可以经由用户(例如,经由将输入经由触摸显示器、鼠标点击等提供给系统100的用户)接收兴趣区域信号132,或可以经由系统100的另一模块(例如对象识别模块等)接收兴趣区域信号132。兴趣区域信号132可以包括表示或指示视频的帧或图像的帧等内的兴趣区域的任何合适的数据。在实施例中,兴趣区域信号132可以包括对应于跟踪的兴趣区域的坐标或像素位置(x,y)。如所讨论的那样,兴趣区域可以包括视频或图片帧、对象、人、面部等的任何区域或部分。
例如,给定RGB-D视频131所提供的帧(例如F0、F1、……、FN)的视频流,其中每个帧包括RGB(例如每个帧的每个像素的红、绿和蓝值)以及深度信息(例如每个帧的每个像素的深度值或视差值),兴趣区域信号132可以提供指示跟踪的兴趣对象或区域的RGB-D视频131的帧F0内的像素或像素位置(x,y),如所讨论的那样。如本文所使用的那样,术语“深度数据”用于表示(例如,关于像素计数所表述的)视差值或(例如,关于距离所表述的)深度值。
如所示,基于RGB-D视频131和兴趣区域信号132,区域生成模块111可以生成兴趣区域141。例如,区域生成模块111可以在兴趣区域信号132所指示的像素或像素位置周围生成兴趣区域141。区域生成模块111可以使用任何一种或多种合适的技术生成兴趣区域141。在实施例中,可以使用区域生长技术在兴趣区域信号132所指示的像素或像素位置周围生成兴趣区域141。例如,泛洪填充(flood fill)技术可以用于连接距兴趣区域信号132所指示的像素或像素位置(x,y)的相似有色和相似深度区块。例如,所指示的像素或像素位置(x,y)可以是用于区域生长操作的种子,其中关于对应于像素或像素位置(x,y)的色彩和深度具有相应阈值内的色彩差和深度差的像素可以包括在兴趣区域141中。兴趣区域141可以包括表示视频序列的帧内的兴趣区域的任何合适的数据结构(例如兴趣区域141内的像素位置等)。例如,兴趣区域141可以提供跟踪的初始区域、对象等。
基于区域生成模块111所提供的兴趣区域141,特征提取模块112可以提取特征点(FP)142。例如,与使用兴趣区域141中的所有像素相比,这些特征点可以提供更鲁棒的跟踪。特征提取模块112可以使用任何一种或多种合适的技术提取特征点142。在实施例中,可以从兴趣区域141提取稀疏特征点(例如转角特征等)。在实施例中,特征提取模块112可以基于特征提取参数(例如,定义待如何执行特征提取的参数)来提取特征点142。例如,可以基于兴趣区域141和特征提取参数来提取特征点142。在实施例中,生成的所提取的特征点的数量可以与阈值进行比较,并且如果所提取的特征点的数量小于阈值,则可以利用不同特征提取参数来重复特征提取(例如,搜索附加或不同特征),直到达到阈值。特征点142可以包括表示对应于视频序列的帧的兴趣区域的特征点的任何合适的数据结构(例如特征点142的像素位置等)。例如,特征点142可以提供对应于跟踪的兴趣区域141的初始特征点。
基于特征提取模块112所提供的特征点142,中心估计模块113可以估计兴趣区域141的有效中心或所估计的中心(EC)143。中心估计模块113可以使用任何一种或多种合适的技术估计有效中心143。在实施例中,中心估计模块113可以将有效中心143估计为特征点142的平均值。例如,有效中心143可以如公式(1)所提供的那样提供对应于初始特征点的初始中心(center0):
其中,center0可以是所估计的初始中心,M可以是特征点的数量,i可以是计数器变量,并且points[i].pt可以提供特征点的像素位置。
如所示,兴趣区域141、特征点142以及有效中心143中的一个或多个可以提供给跟踪模块102。如所讨论的那样,初始化模块101可以提供RGB-D视频131的帧(F0)的兴趣区域141、特征点142以及有效中心143。例如,跟踪模块可以基于任何兴趣区域141、特征点142和有效中心143来跟踪兴趣区域141,如本文进一步讨论的那样。此外,基于特定帧的所估计的中心(EC(PF))151,初始化模块101可以根据需要对于RGB-D视频131的任何帧执行这些操作。例如,当帧处的特征点的数量小于阈值时,当帧处的生效的或所估计的中心具有大于阈值的深度变化(例如,关于先前帧的深度改变)时,等,可以执行该重新初始化。此外,可以关于视频帧的另一序列、相同或不同视频序列内的(例如,经由兴趣区域信号132的)另一对象选择等利用初始化模块101。
图3示出根据本公开的至少一些实现方式所布置的用于初始化或重新初始化兴趣区域的示例处理300。处理300可以包括一个或多个操作301-305,以提供如图3所示的输出311-313。处理300或其部分可以由设备或系统(例如系统100或本文所讨论的任何其它设备或系统)执行,以初始化视频帧内的兴趣区域。可以对于任何数量的兴趣区域、视频帧、视频帧的序列等重复处理300或其部分。
如所示,处理300可以开始于操作301,其中,可以接收视频帧和初始兴趣区域位置。例如,视频帧可以包括色彩信息和深度信息。在实施例中,视频帧可以是RGB-D视频帧。初始兴趣区域位置可以包括兴趣区域的任何合适的指示符(例如像素位置等)。在实施例中,可以经由用户经由输入设备提供输入(例如,触摸屏上的选择、鼠标点击进行的选择等)来接收兴趣区域位置。在实施例中,可以从对象检测模块或组件等接收兴趣区域位置。在实施例中,兴趣区域位置可以是来自先前帧或当前帧的兴趣区域的有效中心。例如,当经由处理300提供重新初始化时,兴趣区域位置可以是先前所确定的兴趣区域的中心。例如,如本文进一步讨论的那样,可以在以下情况的基础上基于先前所确定的兴趣区域的中心来执行处理300:对应于兴趣区域的特征点的数量小于阈值,对应于兴趣区域的有效中心相对于先前帧中的兴趣区域的中心具有大于阈值的深度差,等。
处理可以继续于操作302,其中,可以执行区域生长操作,以生成或提供兴趣区域。可以使用任何一种或多种合适的技术执行区域生长操作。例如,区域生长操作可以包括:从初始兴趣区域位置执行泛洪填充,以连接距初始兴趣区域位置(例如种子位置)的相似有色和相似深度区块,以定义兴趣区域。如所示,操作302可以生成兴趣区域(ROI)311。兴趣区域311可以对应于兴趣区域141,并且可以包括表示兴趣区域的任何合适的数据(例如兴趣区域内的像素位置等)。
处理可以继续于操作303,其中,可以基于兴趣区域来提取特征点。可以使用任何一种或多种合适的技术提取特征点。在实施例中,特征点可以是基于兴趣区域311和特征点提取参数而提取的稀疏特征点,其中特征点提取参数定义如何执行特征提取。在实施例中,所提取的特征点可以是兴趣区域311的转角等。如所示,操作303可以生成特征点312。特征点312可以对应于特征点142,并且可以包括表示特征点的任何合适的数据(例如像素位置等)。
处理可以继续于判断操作304,其中,可以关于特征点312的数量是否超过(或者大于或等于)阈值(例如,FP的数量>TH?)而进行确定。在判断操作304中所实现的阈值可以是任何合适的值。在实施例中,阈值是100。在一些实施例中,阈值可以基于视频帧的分辨率而变化,其中对于较高的分辨率,阈值增加。如果否,则处理可以继续于操作303,其中,可以重复特征点提取,以获得附加特征点。例如,在操作303的第二次迭代时所使用的特征点提取参数可以包括提取处理中的其它兴趣特征点。例如,在第一次迭代时,特征点提取参数可以定义仅待提取转角,而在随后特征点提取时,特征点提取参数可以定义待提取附加或其它特征(例如边沿、脊、圆、聚类等)。这些特征可以是对于在操作303的第一次迭代时所提取的特征的附加或替代。如所示,可以根据需要重复判断操作304和操作303,直到特征点312的数量超过预定阈值。虽然关于特征点的数量而示出
如果特征点的数量(在第一次迭代时或在随后迭代时)超过(或达到)阈值,则处理可以继续于操作305,其中,可以估计兴趣区域311的中心。可以使用任何一种或多种合适的技术确定或估计兴趣区域311的中心,并且中心可以称为中心、所估计的中心、有效中心等。在实施例中,可以基于特征点312的平均位置来确定或估计兴趣区域311的中心,如关于公式(1)所讨论的那样。如所示,操作305可以生成中心313。中心313可以对应于有效中心143,并且可以包括表示兴趣区域的中心的任何合适的数据(例如像素位置等)。
如所讨论的那样,处理300可以基于对应于用户所选择的、对象识别组件所提供的兴趣区域的初始位置、或先前所确定的受跟踪兴趣区域的中心来提供兴趣区域的初始化或重新初始化。
返回图1,如所示,RGB-D视频131、兴趣区域141、特征点142和/或有效中心143可以提供给跟踪模块102。在实施例中,兴趣区域141可以不提供给跟踪模块102,并且由于跨越帧进行跟踪,所以随后处理可以基于兴趣区域的特征点142和有效中心143。如本文将进一步讨论的那样,该信息可以对应于RGB-D视频131的特定帧,并且跟踪模块102可以跨越RGB-D视频131的随后帧跟踪兴趣区域,以提供RGB-D视频131的每个帧的兴趣区域中心161或帧的特定频率等。兴趣区域中心161的该时间序列可以提供给系统100的另一组件或模块,以用于3D视频处理,从而提供3D摄像效果(例如视频重新聚焦、视频分段、视频层效果等)。此外,虽然系统100示出仅兴趣区域中心161作为输出,但系统100可以提供任何数据或信息(例如兴趣区域141、特征点142或跟踪模块102所生成的特征点等),以用于由系统100的其它组件或模块使用。
例如,特征点分析模块121可以接收特征点142,并且基于特征点142,特征点分析模块121可以估计特征点142之间的成对距离和角度。例如,对于每对特征点142,特征点分析模块121可以生成距离和角度。每对特征点142之间的距离可以包括任何合适的距离(例如欧几里德距离),并且每对特征点142之间的角度可以包括任何合适的角度(例如角度矢量等)。例如,特征点分析模块121可以生成M×(M-1)/2维距离数组和角度数组(其中,M是特征点142的数量),其可以分别表征为OrigDist[M×(M-1)/2]和OrigAngle[M×(M-1)/2]。例如,如本文所使用的那样,术语“原始”或“Orig”可以对应于基于初始化的或重新初始化的视频帧所生成的参数。
此外,特征点分析模块121可以基于特征点142和有效中心143来生成偏移矢量。偏移矢量可以使用任何一种或多种合适的技术来生成,并且可以提供包括特征点142中的每个距有效中心143的的偏移矢量的M维2D矢量。例如,对于M个特征点142中的每一个,2D偏移矢量可以确定为水平方向和垂直方向上的特征点的位置与有效中心143(例如center0)的位置之间的差(例如Δx、Δy)。例如,偏移矢量可以表征为OrigOffset[M]。
如所讨论的那样,特征点分析模块121可以基于对应于初始化帧(例如F0)或重新初始化帧的特征点142来生成这些成对距离和角度以及偏移矢量。对于(例如,从帧Ft-1到Ft(其中,t对于初始化可以是1,并且对于重新初始化可以是任何数字)跟踪的)随后帧,跟踪模块102可以跨越帧跟踪兴趣区域。例如,运动跟踪模块122可以基于特征点142(或先前帧的特征点)而跨越帧跟踪兴趣区域的运动。运动跟踪模块122可以使用任何一种或多种合适的技术(例如运动估计技术、光流法技术等)执行运动跟踪。此外,来自运动跟踪模块122的输出可以包括任何数据或数据结构(例如更新后的特征点的位置、指示从先前帧的特征点到当前帧的特征点的运动的矢量等)。
基于运动跟踪模块122所执行的运动跟踪的结果,运动过滤模块123可以根据需要而过滤结果。例如,归因于图像噪声、强度变化、运动阻挡等,运动估计或跟踪可能易于出现误差。例如,可以通过检查先前帧与当前帧之间(例如帧Ft-1至Ft之间)的对应特征点之间的色彩和/或深度一致性来过滤运动跟踪模块122所生成的当前帧的特征点,以提供跟踪的特征点子集,其中,丢弃过滤后的特征点。可以使用任何一种或多种合适的技术实现这种色彩和/或深度一致性。在实施例中,对于帧之间的每对对应特征点,运动过滤模块123可以确定先前帧(例如帧Ft-1)中的特定特征点周围的窗口与当前帧(例如帧Ft)中的对应特征点周围的窗口之间的色彩差和/或先前帧(例如帧Ft-1)中的特定特征点周围的窗口与当前帧(例如帧Ft)中的对应特征点周围的窗口之间的深度差。色彩差和/或深度差可以与阈值进行比较,并且如果二者小于(例如,不超过)它们的相应阈值,则可以接受当前帧的特征点,并且如果二者之一超过其相应阈值,则可以拒绝当前帧的特征点。
在实施例中,运动过滤模块123可以实现公式(2),以确定特定特征点的色彩差,并且可以实现公式(3),以确定特定特征点的深度差:
其中,(wx,wy)可以提供对应于帧Ft-1中的特征点(i',j')的帧Ft中的特征点(i,j)周围的窗口W,R可以是红色通道值,G可以是绿色通道值,B可以是蓝色通道值,D可以是深度值,ColorDiff可以是帧Ft与Ft-1之间的特征点之间的色彩差,并且DepthDiff可以是帧Ft与Ft-1之间的特征点之间的深度差。
如所示,公式(2)可以提供先前帧中的特征点周围的窗口与当前帧中的对应特征点周围的窗口的色彩的差。此外,公式(3)可以提供先前帧中的特征点周围的窗口与当前帧中的对应特征点周围的窗口的深度的差。公式(2)和(3)所实现的窗口可以具有相同大小和形状,或它们可以不同。如所讨论的那样,在实施例中,如果ColorDiff和DepthDiff二者小于相应阈值,则可以接受(例如,不过滤掉)特征点,而如果ColorDiff和DepthDiff中的任一者超过它们的相应阈值,则可以拒绝(例如,过滤掉)特征点。在另一实施例中,ColorDiff和DepthDiff可以相加,并且与单个阈值进行比较,其中如果和小于阈值,则接受特征点,而如果不小于阈值,则拒绝特征点。
基于过滤后的特征点,特征点更新模块124可以更新当前帧的特征点。例如,当前帧的特征点可以是运动跟踪模块122所生成的特征点减去运动过滤模块123所过滤掉的特征点。然后当前帧的特征点的数量可以与阈值进行比较。如果当前帧的特征点的数量超过(或者达到或超过),则可以使用当前帧的特征点,并且处理可以继续,如本文关于中心估计模块125所讨论的那样。
如果当前帧(例如帧Ft)的特征点的数量没有达到(或者不超过)阈值,则可以执行兴趣区域的重新初始化。例如,当兴趣区域所表示的对象或人快速地改变或移动(例如,对象或人旋转,跨越场景快速移动等)时,可能需要这种重新初始化。例如,跟踪模块102可以将包括先前帧的所估计的中心(例如帧Ft-1;centert-1)的特定帧151的所估计的中心提供给初始化模块101,并且初始化模块101可以生成兴趣区域,提取特征点,并且估计先前帧(例如帧Ft-1)的中心。例如,当前帧(例如帧Ft)的特征点的数量没有达到阈值可以指示现在没有跟踪兴趣区域,并且需要在先前帧(例如帧Ft-1)处进行重新初始化。然后处理可以基于如上所述对于先前帧所确定的兴趣区域141、特征点142和/或有效中心143而对于当前帧继续。例如,特征点分析模块121可以基于特征点142来生成距离数组、角度数组以及偏移矢量,运动跟踪模块122可以执行运动跟踪,运动过滤模块123可以执行运动过滤,并且特征点更新模块124可以更新当前帧(例如帧Ft)的特征点,如所讨论的那样。如果特征点的数量又再次小于阈值,则兴趣区域跟踪可能已经失败,并且系统100可以提供兴趣区域跟踪失败信号(未示出),和/或兴趣区域跟踪可以在对重新建立兴趣区域的尝试中利用可用的特征点继续。
如果当前帧(例如帧Ft)的特征点的数量确实达到(或超过)阈值(例如,跟踪成功,而无论所讨论的先前帧的重新初始化与否),则中心估计模块125可以生成当前帧(例如帧Ft)的兴趣区域的所估计的中心或有效中心。中心估计模块125可以使用任何一种或多种合适的技术生成当前帧的兴趣区域的所估计的中心或有效中心(例如centert)。在实施例中,中心估计模块125可以将当前帧的兴趣区域的所估计的中心或有效中心生成为当前帧的特征点的位置的平均值,如关于公式(1)所讨论的那样。
在另一实施例中,中心估计模块125可以生成当前帧的兴趣区域的所估计的中心或有效中心,其考虑兴趣区域所表示的对象或人等的缩放和旋转改变。例如,假设存在M'个所接受的(例如,未过滤的)对应于当前帧中的兴趣区域的特征点,则中心估计模块125或特征点分析模块121可以生成M'×(M'-1)/2维距离数组和角度数组,其可以分别表征为Dist[M'×(M'-1)/2]和Angle[M'×(M'-1)/2]。
然后当前帧的特征点的距离数组和角度数组可以与关于初始化的帧所讨论的初始帧的特征点的距离数组和角度数组(例如OrigDist[M×(M-1)/2]和OrigAngle[M×(M-1)/2])进行比较(但是可以使用任何重新初始化的帧的距离数组和角度数组),以生成关于初始的或重新初始化的帧与当前帧之间的受跟踪兴趣区域的缩放和旋转改变。可以使用任何一种或多种合适的技术生成缩放和旋转改变。在实施例中,确定缩放改变可以包括:将缩放因子确定为对应于当前帧的受跟踪兴趣区域的特征点之间的成对距离与对应于初始的或重新初始化的帧的受跟踪兴趣区域的特征点之间的成对距离的比率的中位数。在实施例中,确定旋转改变可以包括:将旋转因子确定为对应于当前帧的受跟踪兴趣区域的特征点之间的成对角度与对应于先前帧的受跟踪兴趣区域的特征点之间的成对角度的差的中位数。例如,可以如公式(4)和(5)所示确定缩放和旋转因子:
其中,Scale可以是缩放因子,Rot可以是旋转因子,median可以是用于提供所提供的变元的中位数的运算符,i可以是计数器变量,Dist可以是当前帧的距离数组,OrigDist可以是先前帧的距离数组,Angle可以是当前帧的角度数组,并且OrigAngle可以是先前帧的角度数组。
然后,在缩放和旋转改变方面的因子分析之后,中心估计模块125或特征点分析模块121可以基于当前帧的受跟踪区域的特征点到初始化的或重新初始化的帧的兴趣区域的中心的距离(例如欧几里德距离)来对它们进行聚类。例如,可以如公式(6)所示提供每个特征点的缩放和旋转调整后的位置:
center(points[i])=points[i]-Scale×Rotate(OrigOffset[i],Rot)
(6)
其中,center可以是基于特定特征点所确定的近似中心(例如,按兴趣区域的中心的特征点近似),points可以是当前帧的特征点,i可以是计数器变量,Scale可以是缩放因子,Rotate可以是用于基于所提供的变元而提供旋转的运算符,OrigOffset可以是所讨论的偏移矢量,并且Rot可以是旋转因子。
在基于每个特征点所确定的近似中心的基础上,可以对特征点进行聚类,并且然后,主聚类(例如具有最多特征点的聚类)中的特征点可以于用于确定当前帧的有效中心。可以使用任何一种或多种合适的技术对特征点进行聚类。然后,当前帧的兴趣区域的中心可以被确定为基于均受偏移达缩放和旋转调整后的偏移的主聚类中的每个特定特征点所确定的近似中心的平均值。例如,当前帧的兴趣区域的中心可以是每个特征点与特征点的缩放和旋转调整后的原始偏移之间的差的平均值。在实施例中,可以如公式(7)所示确定当前帧的兴趣区域的中心:
其中,centert可以是当前帧(例如帧Ft)的兴趣区域的所估计的中心或有效中心,M”可以是主聚类中的特征点的数量,i可以是计数器变量,points可以是当前帧的特征点,Scale可以是缩放因子,Rotate可以是用于基于所提供的变元而提供旋转的运算符,OrigOffset可以是偏移矢量,并且Rot可以是旋转因子。
中心评估模块126可以接收当前帧的受跟踪兴趣区域的中心(例如centert)以及先前帧的受跟踪兴趣区域的中心(例如centert-1),并且中心评估模块126可以接受或拒绝当前帧的受跟踪兴趣区域的中心。中心评估模块126可以使用任何一种或多种合适的技术接受或拒绝当前帧的受跟踪兴趣区域的中心。在实施例中,中心评估模块126可以基于对应于当前帧的受跟踪兴趣区域的有效中心的深度值(例如在centert处的深度)与对应于先前帧的受跟踪兴趣区域的有效中心的深度值(例如在centert-1处的深度)的比较,来接受或拒绝当前帧的受跟踪兴趣区域的中心。如果对应于当前帧的受跟踪兴趣区域的有效中心的深度值(例如在centert处的深度)与对应于先前帧的受跟踪兴趣区域的有效中心的深度值之间的差不超过阈值,则当前帧的受跟踪兴趣区域的有效中心可以被接受并且提供为兴趣区域中心161,并且处理可以继续于RGB-D视频131的下一帧(例如帧Ft+1),如以上所讨论的那样。例如,对于所讨论的下一帧,可以执行运动跟踪、运动过滤、特征点更新、中心估计以及中心评估。
如果对应于当前帧的受跟踪兴趣区域的有效中心的深度值(例如在centert处的深度)与对应于先前帧的受跟踪兴趣区域的有效中心的深度值之间的差超过阈值,则可以执行兴趣区域的重新初始化。当新有效中心不正确时,在新有效中心与旧有效中心之间的大视差的背景下,可能需要这种重新初始化。例如,跟踪模块102可以将包括先前帧的所估计的中心(例如帧Ft-1;centert-1)的特定帧151的所估计的中心提供给初始化模块101,并且作为先前帧的重新初始化,初始化模块101可以生成兴趣区域,提取特征点,并且估计先前帧(例如帧Ft-1)的中心。然后处理可以基于兴趣区域141、特征点142和/或有效中心143而对于当前帧继续,如以上所讨论的那样。
例如,特征点分析模块121可以基于特征点142来生成距离数组、角度数组以及偏移矢量,运动跟踪模块122可以执行运动跟踪,运动过滤模块123可以执行运动过滤,特征点更新模块124可以更新当前帧(例如帧Ft)的特征点,中心估计模块125可以估计当前帧的受跟踪兴趣区域的中心,并且中心评估模块126可以比较先前帧的兴趣区域的中心处的深度(例如在centert-1处的深度)与当前帧的兴趣区域的中心处的深度(例如在centert处的深度)之间的差。如果差又再次超过阈值,则兴趣区域跟踪可能已经失败,并且系统100可以提供兴趣区域跟踪失败信号(未示出),和/或兴趣区域跟踪可以在对重新建立兴趣区域的尝试中利用可用的兴趣区域的中心继续。
使用这些技术,系统100可以跨越帧跟踪兴趣区域。这些技术可以提供鲁棒的兴趣区域跟踪,而无需任何先前训练或领域知识,并且可以直接提供未看见的视频上的跟踪。本文所讨论的兴趣区域跟踪技术可以通过单个兴趣区域选择而开始跟踪,并且可以从(例如,在运动跟踪等期间丢失的,等)丢失的跟踪恢复,而无需用户介入。
图4示出根据本公开的至少一些实现方式所布置的用于跨越视频帧跟踪兴趣区域的示例处理400。处理400可以包括如图4所示的一个或多个操作401-413。处理400或其部分可以由设备或系统(例如系统100或本文所讨论的任何其它设备或系统)执行,以跨越视频帧跟踪兴趣区域。可以关于任何数量的兴趣区域、视频帧、视频帧的序列等重复处理400或其部分。此外,将参照图5和图6讨论处理400。
图5示出根据本公开的至少一些实现方式所布置的视频帧501-504的示例视频序列500。视频帧501-504可以包括具有视频帧的像素的亮度和/或色度信息以及视频帧的像素的对应深度值的任何合适的视频帧。亮度和/或色度信息以及深度信息的分辨率可以是相同的,或它们可以是不同的。此外,可以按这样的顺序提供视频帧501-504:视频帧501处于第一,视频帧502处于第二,视频帧503处于第三,视频帧504处于第四,依此类推。为了清楚呈现,示出具有四个视频帧501-504的视频序列500。然而,视频序列500可以包括任何数量的视频帧。
图6示出根据本公开的至少一些实现方式所布置的跨越视频帧的兴趣区域的示例跟踪600。如所示,可以跨越视频帧502和503跟踪兴趣区域,如本文进一步讨论的那样,其中,视频帧503随后于先前视频帧502。
返回图4,如所示,处理400可以开始于操作401,其中,可以接收受跟踪兴趣区域的当前视频帧(Ft)、先前特征点(FPt-1)以及先前有效中心(Ct-1)。例如,可以经由视频流(例如视频序列500等)提供当前视频帧。可以从初始化模块或关于初始化模块101和处理300所讨论的操作接收先前特征点和先前有效中心,或可以基于处理先前视频帧来接收它们,如本文进一步讨论的那样。
例如,参照图6,在操作401中,可以接收视频帧503、特征点602以及有效中心603。在一些示例中,视频帧502可以对应于本文所讨论的初始化帧或重新初始化帧。在这些示例中,可以从用户、对象识别模块等接收兴趣区域指示符(未示出),如关于兴趣区域信号132所讨论的那样,或可以接收先前帧的有效中心。在这些示例中,可以基于区域生长操作来生成兴趣区域601,可以提取特征点602,并且可以估计有效中心603,如关于处理300以及本文其它地方所讨论的那样。在其它示例中,可能在跟踪期间已经生成特征点602和有效中心603,如本文进一步讨论的那样。应理解,在这些示例中,兴趣区域601可以显现在视频帧502中,但可能并非具体确定兴趣区域601。
返回图4,处理可以继续于操作402,其中,可以从先前帧(Ft-1)到当前帧(Ft)执行特征点的运动跟踪。可以使用任何一种或多种合适的技术执行在操作401中接收到的特征点的运动跟踪。例如,可以使用光流法技术等执行特征点的运动跟踪。
处理可以继续于操作403,其中,可以过滤当前帧(Ft)中的受跟踪特征点。可以使用任何一种或多种合适的技术过滤受跟踪特征点。在实施例中,可以通过检查先前帧(Ft-1)与当前帧(Ft)之间的对应特征点之间的色彩和/或深度一致性来过滤受跟踪特征点。例如,对于帧之间的每对对应特征点,可以确定先前帧中的特定特征点周围的窗口与当前帧中的对应特征点周围的窗口之间的色彩差和/或先前帧中的特定特征点周围的窗口与当前帧中的对应特征点周围的窗口之间的深度差。色彩差和/或深度差可以与阈值进行比较,并且如果二者小于(例如,不超过)它们的相应阈值,则可以接受当前帧的特征点,并且如果二者之一超过其相应阈值,则可以拒绝当前帧的特征点。
处理可以继续于操作404,其中,可以关于当前帧更新特征点。可以使用任何一种或多种合适的技术对于当前帧更新特征点。在实施例中,更新特征点可以包括:将在操作403中接受的特征点分配给当前帧(Ft)。
处理可以继续于判断操作405,其中,可以关于当前帧的特征点的数量是否超过阈值(或者在其它示例中,达到阈值)而进行确定。在判断操作405中所实现的阈值可以包括任何合适的值(例如100等)。
如所示,如果当前帧的特征点的数量不超过阈值(或者在其它示例中,达到阈值),则处理可以继续于操作410,其中,可以对于先前视频帧(Ft-1)重新初始化兴趣区域。可以使用任何一种或多种合适的技术执行该重新初始化。例如,可以基于先前有效中心(Ct-1)来执行区域生长操作,如本文关于处理300的操作302所讨论的那样。
处理可以继续于操作411,其中,可以重新生成先前帧中的兴趣区域的特征点和有效中心。可以使用任何一种或多种合适的技术生成先前帧的特征点和有效中心。例如,可以执行特征提取,以重新生成先前帧的兴趣区域的特征点(FPt-1),如关于处理300的操作303和判断操作304所讨论的那样,并且可以基于所重新生成的先前帧的特征点来确定先前帧的兴趣区域的有效中心(Ct-1),如关于处理300的操作305所讨论的那样。
此外,处理可以从操作411继续于操作402,其中,处理可以如以上所讨论的那样继续于基于先前帧(Ft-1)的重新初始化而对于当前帧(Ft)正重复的特征点的运动跟踪、特征点过滤以及特征点更新。如果在判断操作405中特征点的数量再次小于阈值,则处理可以结束于兴趣区域跟踪误差(未示出)。
返回判断操作405,如果当前帧的特征点的数量确实超过阈值(或者在其它示例中,达到阈值),则无论从初始化的、重新初始化的还是受跟踪的先前帧,处理都可以继续于操作406,其中,可以确定当前帧的兴趣区域的有效中心(Ct)。可以使用任何一种或多种合适的技术确定当前帧的兴趣区域的有效中心。例如,可以通过以下操作确定在操作404中所确定的所选择的特征点子集:基于先前帧中的对应特征点与先前帧的受跟踪兴趣区域的有效中心之间的缩放和旋转调整后的偏移与每个特征点之间的差来对特征点进行聚类,以生成聚类;以及将所选择的特征点子集选择为多个聚类中具有最多特征点的聚类。然后当前帧的兴趣区域的有效中心可以确定为先前帧(例如先前初始化的帧或任何先前帧)中的对应特征点与先前帧的受跟踪兴趣区域的有效中心之间的缩放和旋转调整后的偏移与每个特征点之间的差的平均值。该技术可以包括关于公式(4)-(7)以及本文其它地方所讨论的技术。
处理可以继续于操作407,其中,可以基于当前帧的兴趣区域的有效中心(Ct)以及先前帧的兴趣区域的有效中心(Ct-1)来执行深度一致性检查。可以使用任何一种或多种合适的技术执行深度一致性检查。例如,深度一致性检查可以基于对应于当前帧的受跟踪兴趣区域的有效中心的深度值(Ct的深度)与对应于先前帧的受跟踪兴趣区域的有效中心的深度值(Ct-1的深度)的比较。例如,如果差小于阈值,则深度一致性检查可以通过,并且可以输出当前帧的受跟踪兴趣区域的有效中心(Ct),而如果差超过阈值,则深度一致性检查可能失败。
如所示,如果深度一致性检查通过,则处理可以继续于判断操作409,其中,可以关于当前帧是否为待处理的最后视频帧而进行确定。如果是,则处理400可以结束于操作413。如果否,则处理可以继续于操作412,其中,可以对于下一视频帧(Ft+1)进行处理400,并且处理可以继续于本文所讨论的操作401。
如果深度一致性检查失败,则处理可以继续于操作410,其中,可以关于先前视频帧(Ft-1)重新初始化兴趣区域。可以使用先前有效中心(Ct-1)作为种子来使用任何一种或多种合适的技术(例如,基于区域生长操作)执行该重新初始化,如本文关于处理300的操作302所讨论的那样。如上所述,处理可以继续于操作411,其中,在操作402中,可以重新生成先前帧中的兴趣区域的特征点和有效中心,其中,处理可以如所讨论的那样继续于基于先前帧(Ft-1)的重新初始化而对于当前帧(Ft)正重复的运动跟踪、特征点过滤、特征点更新、特征点数量证实、兴趣区域中心估计以及兴趣区域中心一致性检查。如果兴趣区域中心一致性检查再次失败,则处理可以结束于兴趣区域跟踪误差(未示出)。
返回参照图6,如所讨论的那样,在操作401中,可以接收视频帧503、特征点602以及有效中心603。此外,可以执行操作402-408,如运动跟踪/运动过滤/中心估计(MT/MF/CE)箭头651所指示的那样,以生成对应于视频帧503(例如当前视频帧)的特征点612和有效中心613。在图6的说明中,为了清楚呈现,示出兴趣区域611。应理解,使用本文所讨论的技术,虽然兴趣区域611可以显现在视频帧503中,但兴趣区域611可能并未得以具体地近似或确定。如所示,兴趣区域可能已经在视频帧502与视频帧503之间移动、缩放(在所示示例中,变得更小)和/或旋转。为了清楚呈现,在图6中可以夸大这种运动、缩放和/或旋转。
此外,如所讨论的那样,如果特征点的数量小于阈值(例如,如在判断操作405中所确定的那样)或兴趣区域的中心的深度改变得太剧烈(例如,如在判断操作408中所确定的那样),则可以执行重新初始化。例如,如果这两种情况之一发生,则可以执行操作410和411,如兴趣区域生成/特征点提取/中心估计(RG/FP/CE)箭头652所指示的那样,以生成对应于视频帧502(例如先前视频帧)的兴趣区域621、特征点622以及有效中心623。归因于如本文所讨论的快速对象运动、对象的形状或照度的改变等,可能需要这种重新初始化或重新跟踪。例如,先前帧中的重新初始化可以提供视频帧502(例如先前视频帧)的兴趣区域的更精确表示。
如所示,如果基于重新初始化,特征点的数量现在超过阈值(例如,如在判断操作405中所确定的那样),并且兴趣区域的中心的深度是一致的(例如,如在判断操作408中所确定的那样),则可以执行操作402-408,如运动跟踪/运动过滤/中心估计(MT/MF/CE)箭头653所指示的那样,以生成对应于视频帧503(例如当前视频帧)的特征点632和有效中心633。如关于兴趣区域611所讨论的那样,虽然兴趣区域631可以显现在视频帧503中,但兴趣区域631可能并未得以具体地近似或确定。如关于图4以及本文其它地方所讨论的那样,可以对于随后视频帧重复该跟踪处理(其中,根据需要而重新初始化),以跨越视频帧跟踪兴趣区域。无论兴趣区域和/或相机姿态的改变和/或全局或局部的改变如何,这些技术都可以提供鲁棒的跨越视频帧的兴趣区域跟踪。
图7是示出根据本公开的至少一些实现方式所布置的用于提供跨越视频帧的兴趣区域跟踪的示例处理700的流程图。处理700可以包括如图7所示的一个或多个操作701-706。处理700可以形成兴趣区域跟踪技术的至少一部分。通过非限定性示例的方式,处理700可以形成本文所讨论的系统100所执行的兴趣区域跟踪技术的至少一部分。此外,本文将参照图8的系统800描述处理700。
图8是根据本公开的至少一些实现方式所布置的用于提供跨越视频帧的兴趣区域跟踪的示例系统800的说明性示图。如图8所示,系统800可以包括中央处理器801、图像处理器802、存储器803以及相机804。此外,如所示,中央处理器801可以包括或实现初始化模块101以及跟踪模块102。
这些组件或模块可以实现为执行本文所讨论的操作。例如,初始化模块101可以生成兴趣区域(如关于区域生成模块111所讨论的那样),执行特征提取以生成特征点(如关于特征提取模块112所讨论的那样),并且确定兴趣区域的有效中心(如关于中心估计模块113所讨论的那样)。此外,跟踪模块102可以执行特征点分析以生成成对深度数组、成对角度数组和/或偏移矢量(如关于特征点分析模块121所讨论的那样),执行运动跟踪(如关于运动跟踪模块122所讨论的那样),执行运动过滤以过滤受跟踪特征点(如关于运动过滤模块123所讨论的那样),更新特征点(如关于特征点更新模块124所讨论的那样),基于所聚类的特征点和/或缩放和旋转调整来估计兴趣区域的有效中心(如关于中心估计模块125所讨论的那样),并且基于深度一致性来评估有效中心(如关于中心评估模块126所讨论的那样)。存储器803可以存储视频帧、视差图、兴趣区域数据、特征点、特征点子集、深度数组、角度数组、偏移矢量、所估计的中心、运动跟踪数据、阈值、用户输入信息或本文所讨论的任何其它数据。
如所示,在一些示例中,可以经由中央处理器901实现初始化模块101以及跟踪模块102。在其它示例中,可以经由图像处理器801、视频处理器、图形处理器等实现初始化模块101和跟踪模块102之一或二者或其部分。在其它示例中,可以经由图像或视频处理流水线或单元实现初始化模块101和跟踪模块102之一或二者或其部分。
图像处理器802可以包括可以提供本文所讨论的操作的任何数量和类型的图形处理单元、图像处理单元或视频处理单元。在一些示例中,图像处理器802可以是图像信号处理器。可以经由软件或硬件或其组合来实现这些操作。例如,图像处理器802可以包括专用于操控从存储器803获得的帧数据、图像数据或视频数据的电路。中央处理器801可以包括可以提供用于系统800的控制和其它高级功能和/或提供本文所讨论的操作的任何数量和类型的处理单元或模块。存储器803可以是任何类型的存储器(例如易失性存储器(例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如闪存等)等)。在非限定性示例中,可以通过缓存存储器实现存储器803。
在实施例中,可以经由图像处理器802的执行单元(EU)实现初始化模块101和跟踪模块102之一或二者或其部分。EU可以包括例如可编程逻辑或电路(例如可以提供可编程逻辑功能的宽阵列的一个或多个逻辑内核)。在实施例中,可以经由专用硬件(例如固定功能电路等)实现初始化模块101和跟踪模块102之一或二者或其部分。固定功能电路可以包括专用逻辑或电路,并且可以提供可以关于固定目的或功能而映射到专用逻辑的一组固定功能入口点。在一些实施例中,可以经由专用集成电路(ASIC)实现初始化模块101和跟踪模块102之一或二者或其部分。ASIC可以包括定制为执行本文所讨论的操作的集成电路。
相机804可以包括具有用于捕获具有对应深度数据的视频的任何合适数量的透镜等的任何相机。相机804可以实现为相机阵列、光场相机、全光相机等。在实施例中,相机804可以实现设备200的全部或部分。
返回图7的讨论,处理700可以开始于操作701,其中,可以生成兴趣区域、特征点以及兴趣区域的有效中心。可以使用任何一种或多种合适的技术生成兴趣区域、特征点以及兴趣区域的有效中心。在实施例中,经由中央处理器801所实现的初始化模块101可以生成兴趣区域、特征点以及兴趣区域的有效中心。在实施例中,可以从用户(例如,通过使用选择)或另一组件(例如对象识别组件等)接收对应于帧的兴趣区域指示符,并且可以基于兴趣区域指示符和区域生长操作来生成帧的受跟踪兴趣区域。在实施例中,可以提供先前所确定的兴趣区域的中心,并且可以基于先前所确定的中心和区域生长操作来生成帧的受跟踪兴趣区域。在实施例中,可以基于帧的受跟踪兴趣区域以及特征点提取参数来提取稀疏特征点。在实施例中,当所提取的稀疏特征点的数量小于阈值时,可以基于帧的受跟踪兴趣区域以及不同的特征点提取参数来提取附加或替代稀疏特征点。在实施例中,兴趣区域的有效中心可以确定为所提取的稀疏特征点的平均值。如本文所讨论的那样,可以基于具有对应深度图或深度数据的视频帧来执行处理700。例如,可以使用红、绿、蓝、深度(RGB-D)视频帧执行处理700,其中,深度包括视差值或深度距离值。
处理可以继续于操作702,其中,可以执行视频帧的特征点的运动跟踪,以提供对应于随后于视频帧(例如当前帧)的帧的受跟踪兴趣区域的特征点,并且可以过滤当前帧的受跟踪特征点,以提供对应于当前帧的受跟踪兴趣区域的过滤后的特征点。在实施例中,中央处理器801所实现的跟踪模块102可以执行运动跟踪和特征点过滤。在实施例中,过滤受跟踪特征点可以包括:确定当前帧的特征点中的特定特征点周围的窗口与先前帧的特征点中的对应特征点周围的窗口之间的色彩差以及当前帧的特征点中的特定特征点周围的窗口与先前帧的特征点中的对应特征点周围的窗口之间的深度差。例如,当色彩差超过第一阈值或深度差超过第二阈值时,可以拒绝特征点。如所讨论的那样,当当前帧的特征点的数量小于阈值时,可以基于先前帧的兴趣区域的中心来重复操作701和702。
处理可以继续于操作703,其中,可以基于所选择的特征点子集来关于当前帧的受跟踪兴趣区域确定有效中心。可以使用任何一种或多种合适的技术来确定有效中心。在实施例中,经由中央处理器801所实现的跟踪模块102可以确定有效中心。在实施例中,可以通过以下操作确定所选择的特征点子集:基于初始的或重新初始化的帧中的对应特征点与初始的或重新初始化的帧的受跟踪兴趣区域的有效中心之间的缩放和旋转调整后的偏移与每个特征点之间的差来对特征点进行聚类,以生成多个聚类;以及将所选择的特征点子集选择为多个聚类中具有最多特征点的聚类。在实施例中,缩放和旋转调整基于缩放因子和旋转因子。在实施例中,缩放因子可以被确定为对应于当前帧的受跟踪兴趣区域的特征点之间的成对距离与对应于初始的或重新初始化的帧的受跟踪兴趣区域的特征点之间的成对距离的比率的中位数。在实施例中,旋转因子可以被确定为对应于当前帧的受跟踪兴趣区域的特征点之间的成对角度与对应于初始的或重新初始化的帧的受跟踪兴趣区域的特征点之间的成对角度的差的中位数。在实施例中,确定当前帧的受跟踪兴趣区域的有效中心可以包括:将有效中心提供为初始的或重新初始化的帧中的对应特征点与初始的或重新初始化的帧的受跟踪兴趣区域的有效中心之间的缩放和旋转调整后的偏移与每个特征点之间的差的平均值。
处理可以继续于操作704,其中,可以基于深度一致性检查来接受或拒绝当前帧的兴趣有效中心。可以使用任何一种或多种合适的技术执行深度一致性检查以接受或拒绝有效中心。在实施例中,经由中央处理器801所实现的跟踪模块102可以执行深度一致性检查。在实施例中,可以基于对应于当前帧的受跟踪兴趣区域的有效中心的深度值与对应于先前帧的受跟踪兴趣区域的有效中心的深度值的比较来接受或拒绝受跟踪兴趣区域的有效中心。例如,如果差小于阈值,则可以接受当前帧的兴趣有效中心,而如果差大于阈值,则可以拒绝当前帧的兴趣有效中心。
处理可以继续于操作705,其中,当拒绝当前帧的受跟踪兴趣区域的有效中心时,可以基于先前帧的受跟踪兴趣区域的有效中心来关于先前帧生成第二受跟踪兴趣区域,并且可以关于先前帧确定对应于第二兴趣区域的第二特征点。可以使用任何一种或多种合适的技术生成先前帧的第二兴趣区域和第二特征点。在实施例中,经由中央处理器801所实现的跟踪模块102可以生成先前帧的第二兴趣区域和第二特征点。
处理可以继续于操作706,其中,可以执行第二特征点的运动跟踪,以提供对应于当前帧的第二受跟踪兴趣区域的特征点。可以使用任何一种或多种合适的技术执行运动跟踪。在实施例中,经由中央处理器801所实现的模块102可以执行运动跟踪。在实施例中,可以过滤新特征点,并且剩余特征点的数量可以与阈值进行比较,如本文所讨论的那样。如果特征点的数量大于阈值,则可以基于当前帧的新特征点来确定有效中心,如关于操作703所讨论的那样,并且可以接受或拒绝新有效中心,如关于操作704所讨论的那样。如果拒绝新有效中心,则处理700可以停止,因为跟踪已经失败。如果接受新有效中心,则处理可以关于随后帧而继续于操作702等。
可以在软件、固件和/或硬件和/或其任何组合中实现本文所描述系统的各种组件。例如,可以至少部分地通过例如可以在计算系统(例如比如智能电话)中存在的计算片上系统(SoC)的硬件提供本文所讨论的系统的各种组件。本领域技术人员应理解,本文所描述的系统可以包括对应附图中未描述的附加组件。例如,本文所讨论的系统可以包括为了清楚而未描述的附加组件(例如通信模块等)。
虽然本文所讨论的示例处理的实现方式可以包括进行按所示顺序示出的所有操作,但本公开不限于此,并且在各个示例中,本文的示例处理的实现方式可以仅包括所示的操作、按与所示的不同顺序执行的操作或附加操作的子集。
此外,可以响应于一个或多个计算机程序产品所提供的指令而进行本文所讨论的操作中的一个或多个。这些程序产品可以包括信号承载介质,其提供指令,该指令在由例如处理器执行时可以提供本文所描述的功能。可以通过任何形式的一个或多个机器可读介质来提供计算机程序产品。因此,例如,包括一个或多个图形处理单元或处理器内核的处理器可以响应于由一个或多个机器可读介质传送到处理器的程序代码和/或指令或指令集而实现本文的示例处理的块中的一个或多个。通常,机器可读介质可以通过可以使得本文所描述的任何设备和/或系统实现本文所讨论的系统或本文所讨论的任何其它模块或组件的至少一部分的程序代码和/或指令或指令集的形式来传送软件。
如本文所描述的任何实现方式中所使用的那样,术语“模块”或“组件”指代被配置为提供本文所描述的功能的软件逻辑、固件逻辑、硬件逻辑和/或电路的任何组合。软件可以实施为软件包、代码和/或指令集或指令,并且本文所描述的任何实现方式中所使用的“硬件”可以单独地或以任何组合而包括例如硬布线电路、可编程电路、状态机电路、固定功能电路、执行单元电路和/或存储可编程电路所执行的指令的固件。模块可以共同地或单独地实施为形成更大系统(例如集成电路(IC)、片上系统(SoC)等)的一部分的电路。
图9是根据本公开的至少一些实现方式所布置的示例系统900的说明性示图。在各个实现方式中,系统900可以是移动系统,但系统900不限于该上下文。系统900可以实现和/或执行本文所讨论的任何模块或技术。例如,系统900可以合并到个人计算机(PC)、服务器、膝上型计算机、超级膝上型计算机、平板、触摸板、便携式计算机、手持计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板或智能电视)、移动互联网设备(MID)、传信设备、数据通信设备、相机(例如傻瓜相机、超级变焦相机、数字单透镜反射(DSLR)相机)等中。在一些示例中,可以经由云计算环境实现系统900。
在各个实现方式中,系统900包括平台902,其耦合到显示器920。平台902可以从内容设备(例如内容服务设备930或内容传送设备940或其它相似内容源)接收内容。包括一个或多个导航特征的导航控制器950可以用于与例如平台902和/或显示器920进行交互。以下更详细地描述这些组件中的每一个。
在各个实现方式中,平台902可以包括芯片组905、处理器910、存储器912、天线913、存储914、图形子系统915、应用916和/或无线电918的任何组合。芯片组905可以提供处理器910、存储器912、存储914、图形子系统915、应用916和/或无线电装置918之间的相互通信。例如,芯片组905可以包括能够提供与存储914的交互通信的存储适配器(未示出)。
处理器910可以实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核或任何其它微处理器或中央处理单元(CPU)。在各个实现方式中,处理器910可以是双核处理器、双核移动处理器等。
存储器912可以实现为易失性存储器设备,例如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。
存储914可以实现为非易失性存储设备,例如但不限于磁盘驱动器、光盘驱动器、带驱动器、内部存储设备、附连存储设备、闪存、电池备份SDRAM(同步DRAM)和/或网络可存取存储设备。在各个实现方式中,例如,存储914可以包括用于当包括多个硬驱动器时关于有价值的数字媒体增加存储性能增强保护的技术。
图像信号处理器917可以实现为对于图像或视频帧处理所使用的专用数字信号处理器等。在一些示例中,可以基于单指令多数据或多指令多数据架构等来实现图像信号处理器917。在一些示例中,图像信号处理器917可以表征为媒体处理器。如本文所讨论的那样,可以基于片上系统架构和/或基于多核架构来实现图像信号处理器917。
图形子系统915可以执行图像(例如,静止图像或视频)的处理,以便进行显示。例如,图形子系统915可以是图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以用于以通信方式耦合图形子系统915和显示器920。例如,接口可以是高清晰度多媒体接口、显示端口、无线HDMI和/或无线HD顺应技术中的任一种。图形子系统915可以集成到处理器910或芯片组905中。在一些实现方式中,图形子系统915可以是以通信方式耦合到芯片组905的独立设备。
本文所描述的图形和/或视频处理技术可以实现于各种硬件架构中。例如,图形和/或视频功能可以集成在芯片组内。替代地,可以使用分立式图形和/或视频处理器。作为又一实现方式,可以通过包括多核处理器的通用处理器提供图形和/或视频功能。在其它实施例中,可以在消费者电子设备中实现功能。
无线电装置918可以包括能够使用各种合适的无线通信技术来发送和接收信号的一个或多个无线电装置。这些技术可以涉及跨越一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络以及卫星网络。在跨越这些网络的通信中,无线电装置918可以根据任何版本的一个或多个适用标准进行操作。
在各个实现方式中,显示器920可以包括任何电视类型监视器或显示器。显示器920可以包括例如计算机显示屏幕、触摸屏显示器、视频监视器、类似电视的设备和/或电视机。显示器920可以是数字和/或模拟的。在各个实现方式中,显示器920可以是全息显示器。此外,显示器920可以是可以接收视觉投影的透明表面。这些投影可以传送各种形式的信息、图像和/或对象。例如,这些投影可以是用于移动增强现实(MAR)应用的视觉叠加。在一个或多个软件应用916的控制下,平台902可以在显示器920上显示用户界面922。
在各个实现方式中,例如,内容服务设备930可以由任何国家、国际和/或独立服务掌控,并且因此例如可经由互联网接入平台902。内容服务设备930可以耦合到平台902和/或显示器920。平台902和/或内容服务设备930可以耦合到网络960,以与网络960进行媒体信息传递(例如,发送和/或接收)。内容传送设备940也可以耦合到平台902和/或显示器920。
在各个实现方式中,内容服务设备930可以包括有线电视盒、个人计算机、网络、电话、互联网启用的设备或能够传送数字信息和/或内容的电器以及能够经由网络960或以直接方式在内容提供商与平台902和/显示器920之间单向地或双向地传递内容的任何其它类似设备。应理解,内容可以经由网络960单向地和/或双向地传递出入系统900中的任何一个组件以及内容提供商。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等。
内容服务设备930可以接收内容(例如包括媒体信息、数字信息和/或其它内容的有线电视节目传送)。内容提供商的示例可以包括任何有线或卫星电视或无线电或互联网内容提供商。所提供的示例并非意图以任何方式限制根据本公开的实现方式。
在各个实现方式中,平台902可以从具有一个或多个导航特征的导航控制器950接收控制信号。例如,控制器950的导航特征可以用于与用户界面922进行交互。在各个实施例中,导航控制器950可以是定点设备,其可以是允许用户将空间(例如连续和多维)数据输入到计算机中的计算机硬件组件(具体地说,人机接口设备)。很多系统(例如图形用户界面(GUI)以及电视和监视器)允许用户使用物理手势控制数据并且将其提供给计算机或电视。
导航控制器950的导航特征的移动可以通过显示器上所显示的指针、光标、聚焦环或其它视觉指示符的移动在显示器(例如显示器920)上得以复制。例如,在软件应用916的控制下,位于导航控制器950上的导航特征可以映射为用户界面922上所显示的虚拟导航特征。在各个实施例中,导航控制器950可以不是单独的组件,而可以集成到平台902和/或显示器920中。然而,本公开不限于本文所示或所描述的要素或上下文。
在各个实现方式中,驱动器(未示出)可以包括例如当启用时,用于使得用户能够在初始引导之后通过触摸按钮即刻打开并且关闭平台902(比如电视机)的技术。即使当平台“关闭”时,程序逻辑也可以允许平台902将内容流送到媒体适配器或其它内容服务设备930或内容传送设备940。此外,例如,芯片组905可以包括对5.1环绕声音音频和/或高清晰度7.1环绕声音音频的硬件和/或软件支持。驱动器可以包括用于集成图形平台的图形驱动器。在各个实施例中,图形驱动器可以包括外设组件互连(PCI)高速图形卡。
在各个实现方式中,系统900中所示的组件中的任何一个或多个可以是集成的。例如,平台902和内容服务设备930可以是集成的,或者平台902和内容传送设备940可以是集成的,或者平台902、内容服务设备930和内容传送设备940可以是集成的。在各个实施例中,平台902和显示器920可以是集成单元。例如,显示器920和内容服务设备930可以是集成的,或者显示器920和内容传送设备940可以是集成的。这些示例并非意味着限制本公开。
在各个实施例中,系统900可以实现为无线系统、有线系统或二者的组合。当实现为无线系统时,系统900可以包括适合于通过无线共享介质进行通信的组件和接口(例如一个或多个天线、发射机、接收机、收发机、放大器、滤波器、控制逻辑等)。无线共享介质的示例可以包括无线频谱(例如RF谱等)的部分。当实现为有线系统时,系统900可以包括适合于通过有线通信介质进行通信的组件和接口(例如输入/输出(I/O)适配器、用于将I/O适配器与对应有线通信介质连接的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等)。有线通信介质的示例可以包括导线、线缆、金属引线、印制电路板(PCB)、背板、开关构造、半导体材料、双绞线导线、同轴线缆、光纤等。
平台902可以建立一个或多个逻辑或物理信道,以传递信息。信息可以包括媒体信息和控制信息。媒体信息可以指代表示意图用于用户的内容的任何数据。内容的示例可以包括例如来自语音对话、视频会议、流送视频、电子邮件(“email”)消息、语音邮件消息、文字数字符号、图形、图像、视频、文本等的数据。来自语音对话的数据可以是例如话音信息、静默时段、背景噪声、舒适噪声、音调等。控制信息可以指代表示意图用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用于将媒体信息路由通过系统,或命令节点以预定方式处理媒体信息。然而,实施例不限于图9中所示或所描述的要素或上下文。
如上所述,可以通过变化的物理风格或形数实施系统900。图10示出根据本公开的至少一些实现方式所布置的示例小形数设备1000。在一些示例中,可以经由设备1000实现系统900。在其它示例中,可以经由设备1000实现本文所讨论的其它系统或其部分。在各个实施例中,例如,设备1000可以实现为具有无线能力的移动计算设备。例如,移动计算设备可以指代具有处理系统和移动功率源或电源(例如一个或多个电池)的任何设备。
移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板、触摸板、便携式计算机、手持计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、智能设备(例如智能电话、智能平板或智能移动电视)、移动互联网设备(MID)、传信设备、数据通信设备、相机(例如傻瓜相机、超级变焦相机、数字单透镜反射(DSLR)相机)等。
移动计算设备的示例还可以包括被布置为人所穿戴的计算机(例如腕部计算机、手指计算机、耳环计算机、眼镜计算机、带夹计算机、臂带计算机、鞋计算机、衣物计算机以及其它可穿戴计算机)。在各个实施例中,例如,移动计算设备可以实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。虽然可以通过示例的方式以实现为智能电话的移动计算设备描述一些实施例,但可以理解,也可以使用其它无线移动计算设备实现其它实施例。实施例不限于该上下文中。
如图10所示,设备1000可以包括具有前部1001和后部1002的外壳。设备1000包括显示器1004、输入/输出(I/O)设备1006、彩色相机202、红外相机201、红外相机203、红外发射机204以及集成式天线1008。设备1000也可以包括导航特征1012。I/O设备1006可以包括任何合适的I/O设备,以用于将信息输入移动计算设备中。用于I/O设备1006的示例可以包括字母数字键盘、数字键区、触摸板、输入键、按钮、开关、麦克风、扬声器、语音识别设备和软件等。信息也可以通过麦克风(未示出)的方式输入到设备1000中,或者可以由语音识别设备进行数字化。如所示,设备1000可以包括集成到设备1000的后部1002(或其它地方)的彩色相机202和闪光灯1010。在其它示例中,彩色相机202和闪光灯1001可以集成到设备1000的前部1001中,或者可以提供前部相机和后部相机二者。例如,彩色相机202和闪光灯1010可以是相机模块的组件,用于产生彩色图像数据,彩色图像数据被处理为流送视频,流送视频被输出到显示器1004和/或经由天线1008从设备1000远程传递。此外,红外相机201、红外相机203以及红外发射机204可以产生IR图像数据,IR图像数据被处理为生成本文所讨论的深度图像。
可以使用硬件元件、软件元件或二者的组合实现各个实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定是否使用硬件元件和/或软件元件实现实施例可以根据任何数量的因素而变化,例如期望的计算速率、功率等级、热容限、处理周期预算、输入数据率、输出数据率、存储器资源、数据总线速度以及其它设计或性能约束。
可以通过机器可读介质上所存储的表示处理器内的各个逻辑的代表性指令实现至少一个实施例的一个或多个方面,指令当由机器读取时使机器制造逻辑以执行本文所描述的技术。称为“IP核”的这种表示可以存储在有形机器可读介质上并且提供给各个消费者或制造场所,以加载到实际上生成逻辑或处理器的制造机器中。
虽然已经参照各个实现方式描述了本文所阐述的特定特征,但该描述并非意图以限制性的意义去理解。因此,本文所描述的实现方式的各种修改以及对于本公开所属领域的技术人员显而易见的其它实现方式看作处于本公开的精神和范围内。
在一个或多个第一实施例中,一种用于提供跨越具有对应深度数据的视频帧的兴趣区域跟踪的方法,包括:基于对应于所述视频帧中的当前帧的受跟踪兴趣区域的所选择的特征点子集来确定所述受跟踪兴趣区域的有效中心;基于对应于所述当前帧的受跟踪兴趣区域的有效中心的深度值与对应于先前帧的受跟踪兴趣区域的第二有效中心的第二深度值的比较来接受或拒绝所述当前帧的受跟踪兴趣区域的有效中心;并且当所述当前帧的受跟踪兴趣区域的有效中心被拒绝时:基于所述先前帧的受跟踪兴趣区域的第二有效中心来生成所述先前帧的第二受跟踪兴趣区域;确定对应于所述先前帧的第二兴趣区域的第二特征点;以及执行所述第二特征点的运动跟踪,以提供对应于所述当前帧的第二受跟踪兴趣区域的第三特征点。
进一步对于第一实施例,所述方法还包括通过以下操作来确定对应于所述受跟踪兴趣区域的所选择的特征点子集:基于初始的或重新初始化的帧中的对应特征点与所述初始的或重新初始化的帧的受跟踪兴趣区域的第三有效中心之间的缩放和旋转调整后的偏移与每个特征点之间的差来对特征点进行聚类,以生成多个聚类;以及将所选择的特征点子集选择为所述多个聚类中具有最多特征点的聚类。
进一步对于第一实施例,所述方法还包括通过以下操作来确定对应于所述受跟踪兴趣区域的所选择的特征点子集:基于初始的或重新初始化的帧中的对应特征点与所述初始的或重新初始化的帧的受跟踪兴趣区域的第三有效中心之间的缩放和旋转调整后的偏移与每个特征点之间的差来对特征点进行聚类,以生成多个聚类;以及将所选择的特征点子集选择为所述多个聚类中具有最多特征点的聚类,其中,所述缩放和旋转调整基于缩放因子和旋转因子,所述方法还包括:将所述缩放因子确定为对应于所述当前帧的受跟踪兴趣区域的特征点之间的成对距离与对应于所述初始的或重新初始化的帧的受跟踪兴趣区域的第四特征点之间的成对距离的比率的中位数;以及将所述旋转因子确定为对应于所述当前帧的受跟踪兴趣区域的特征点之间的成对角度与对应于所述初始的或重新初始化的帧的受跟踪兴趣区域的第四特征点之间的成对角度的差的中位数。
进一步对于第一实施例,确定所述当前帧的受跟踪兴趣区域的有效中心包括:将所述有效中心提供为初始的或重新初始化的帧中的对应特征点与所述初始的或重新初始化的帧的受跟踪兴趣区域的第三有效中心之间的缩放和旋转调整后的偏移与所选择的特征点子集中的每个特征点之间的差的平均值。
进一步对于第一实施例,所述方法还包括:执行对应于所述先前帧的受跟踪兴趣区域的第四特征点的运动跟踪,以提供对应于所述当前帧的受跟踪兴趣区域的第五特征点;以及过滤对应于所述当前帧的受跟踪兴趣区域的第五特征点,以提供对应于所述当前帧的受跟踪兴趣区域的特征点。
进一步对于第一实施例,所述方法还包括:执行对应于所述先前帧的受跟踪兴趣区域的第四特征点的运动跟踪,以提供对应于所述当前帧的受跟踪兴趣区域的第五特征点;以及过滤对应于所述当前帧的受跟踪兴趣区域的第五特征点,以提供对应于所述当前帧的受跟踪兴趣区域的特征点,其中,过滤所述第五特征点包括:确定所述第五特征点中的特定特征点周围的窗口与所述第四特征点中的对应特征点周围的第二窗口之间的色彩差以及所述第五特征点中的所述特定特征点周围的第三窗口与所述第四特征点中的所述对应特征点周围的第四窗口之间的深度差。
进一步对于第一实施例,所述方法还包括:执行对应于所述先前帧的受跟踪兴趣区域的第四特征点的运动跟踪,以提供对应于所述当前帧的受跟踪兴趣区域的第五特征点;以及过滤对应于所述当前帧的受跟踪兴趣区域的第五特征点,以提供对应于所述当前帧的受跟踪兴趣区域的特征点,其中,过滤所述第五特征点包括:确定所述第五特征点中的特定特征点周围的窗口与所述第四特征点中的对应特征点周围的第二窗口之间的色彩差以及所述第五特征点中的所述特定特征点周围的第三窗口与所述第四特征点中的所述对应特征点周围的第四窗口之间的深度差,以及其中,当所述色彩差超过第一阈值或所述深度差超过第二阈值时,拒绝所述特定特征点。
进一步对于第一实施例,所述方法还包括:当所述当前帧的受跟踪兴趣区域的有效中心被接受时:执行特征点的运动跟踪,以提供对应于随后帧的受跟踪兴趣区域的第四特征点;过滤对应于所述随后帧的受跟踪兴趣区域的第四特征点,以提供对应于所述随后帧的受跟踪兴趣区域的第五特征点;并且当第五特征点的数量小于阈值时,基于所述当前帧的受跟踪兴趣区域的有效中心来生成所述当前帧的第三兴趣区域。
进一步对于第一实施例,所述方法还包括:接收对应于所述先前帧的兴趣区域指示符;以及基于所述兴趣区域指示符和区域生长操作来生成所述先前帧的受跟踪兴趣区域。
进一步对于第一实施例,所述方法还包括:接收对应于所述先前帧的兴趣区域指示符;基于所述兴趣区域指示符和区域生长操作来生成所述先前帧的受跟踪兴趣区域;基于所述先前帧的受跟踪兴趣区域以及第一特征点提取参数来提取稀疏特征点;并且当所提取的稀疏特征点的数量小于阈值时,基于所述先前帧的受跟踪兴趣区域以及第二特征点提取参数来提取第二稀疏特征点,其中,所述第一特征点提取参数和所述第二特征点提取参数不同。
进一步对于第一实施例,所述方法还包括:接收对应于所述先前帧的兴趣区域指示符;基于所述兴趣区域指示符和区域生长操作来生成所述先前帧的受跟踪兴趣区域;基于所述先前帧的受跟踪兴趣区域来提取稀疏特征点;以及将所述先前帧的受跟踪兴趣区域的第二有效中心确定为所述稀疏特征点的平均值。
进一步对于第一实施例,所述视频帧包括红、绿、蓝、深度(RGB-D)视频帧,并且所述深度包括视差值和深度距离值中的至少一个。
在一个或多个第二实施例中,一种用于提供跨越视频帧的兴趣区域跟踪的系统,包括:存储器,其被配置为存储所述视频帧;以及处理器,其耦合到所述存储器,所述处理器用于:基于对应于所述视频帧中的当前帧的受跟踪兴趣区域的所选择的特征点子集来确定所述受跟踪兴趣区域的有效中心;基于对应于所述当前帧的受跟踪兴趣区域的有效中心的深度值与对应于先前帧的受跟踪兴趣区域的第二有效中心的第二深度值的比较来接受或拒绝所述当前帧的受跟踪兴趣区域的有效中心;并且当所述当前帧的受跟踪兴趣区域的有效中心被拒绝时:基于所述先前帧的受跟踪兴趣区域的第二有效中心来生成所述先前帧的第二受跟踪兴趣区域;确定对应于所述先前帧的第二兴趣区域的第二特征点;以及执行所述第二特征点的运动跟踪,以提供对应于所述当前帧的第二受跟踪兴趣区域的第三特征点。
进一步对于第二实施例,所述处理器进一步用于:确定对应于所述受跟踪兴趣区域的所选择的特征点子集;其中,为了确定所选择的特征点子集,所述处理器用于:基于初始的或重新初始化的帧中的对应特征点与所述初始的或重新初始化的帧的受跟踪兴趣区域的第三有效中心之间的缩放和旋转调整后的偏移与每个特征点之间的差来对特征点进行聚类,以生成多个聚类;以及将所选择的特征点子集选择为所述多个聚类中具有最多特征点的聚类。
进一步对于第二实施例,所述处理器进一步用于:确定对应于所述受跟踪兴趣区域的所选择的特征点子集;其中,为了确定所选择的特征点子集,所述处理器用于:基于初始的或重新初始化的帧中的对应特征点与所述初始的或重新初始化的帧的受跟踪兴趣区域的第三有效中心之间的缩放和旋转调整后的偏移与每个特征点之间的差来对特征点进行聚类,以生成多个聚类;以及将所选择的特征点子集选择为所述多个聚类中具有最多特征点的聚类,其中,所述缩放和旋转调整基于缩放因子和旋转因子,所述处理器进一步用于:将所述缩放因子确定为对应于所述当前帧的受跟踪兴趣区域的特征点之间的成对距离与对应于所述初始的或重新初始化的帧的受跟踪兴趣区域的第四特征点之间的成对距离的比率的中位数;以及将所述旋转因子确定为对应于所述当前帧的受跟踪兴趣区域的特征点之间的成对角度与对应于所述初始的或重新初始化的帧的受跟踪兴趣区域的第四特征点之间的成对角度的差的中位数。
进一步对于第二实施例,其中,为了确定所述当前帧的受跟踪兴趣区域的有效中心,所述处理器用于:将所述有效中心提供为初始的或重新初始化的帧中的对应特征点与所述初始的或重新初始化的帧的受跟踪兴趣区域的第三有效中心之间的缩放和旋转调整后的偏移与所选择的特征点子集中的每个特征点之间的差的平均值。
进一步对于第二实施例,其中,所述处理器进一步用于:执行对应于所述先前帧的受跟踪兴趣区域的第四特征点的运动跟踪,以提供对应于所述当前帧的受跟踪兴趣区域的第五特征点;以及过滤对应于所述当前帧的受跟踪兴趣区域的第五特征点,以提供对应于所述当前帧的受跟踪兴趣区域的特征点。
进一步对于第二实施例,其中,所述处理器进一步用于:执行对应于所述先前帧的受跟踪兴趣区域的第四特征点的运动跟踪,以提供对应于所述当前帧的受跟踪兴趣区域的第五特征点;以及过滤对应于所述当前帧的受跟踪兴趣区域的第五特征点,以提供对应于所述当前帧的受跟踪兴趣区域的特征点,其中,所述处理器过滤所述第五特征点包括:所述处理器确定所述第五特征点中的特定特征点周围的窗口与所述第四特征点中的对应特征点周围的第二窗口之间的色彩差以及所述第五特征点中的所述特定特征点周围的第三窗口与所述第四特征点中的所述对应特征点周围的第四窗口之间的深度差。
进一步对于第二实施例,其中,所述处理器进一步用于:执行对应于所述先前帧的受跟踪兴趣区域的第四特征点的运动跟踪,以提供对应于所述当前帧的受跟踪兴趣区域的第五特征点;以及过滤对应于所述当前帧的受跟踪兴趣区域的第五特征点,以提供对应于所述当前帧的受跟踪兴趣区域的特征点,其中,所述处理器过滤所述第五特征点包括:所述处理器确定所述第五特征点中的特定特征点周围的窗口与所述第四特征点中的对应特征点周围的第二窗口之间的色彩差以及所述第五特征点中的所述特定特征点周围的第三窗口与所述第四特征点中的所述对应特征点周围的第四窗口之间的深度差,以及其中,当所述色彩差超过第一阈值或所述深度差超过第二阈值时,拒绝所述特定特征点。
进一步对于第二实施例,当所述当前帧的受跟踪兴趣区域的有效中心被接受时,所述处理器进一步用于:执行特征点的运动跟踪,以提供对应于随后帧的受跟踪兴趣区域的第四特征点;过滤对应于所述随后帧的受跟踪兴趣区域的第四特征点,以提供对应于所述随后帧的受跟踪兴趣区域的第五特征点;并且当第五特征点的数量小于阈值时,基于所述当前帧的受跟踪兴趣区域的有效中心来生成所述当前帧的第三兴趣区域。
进一步对于第二实施例,所述处理器进一步用于:接收对应于所述先前帧的兴趣区域指示符;以及基于所述兴趣区域指示符和区域生长操作来生成所述先前帧的受跟踪兴趣区域。
进一步对于第二实施例,所述处理器进一步用于:接收对应于所述先前帧的兴趣区域指示符;以及基于所述兴趣区域指示符和区域生长操作来生成所述先前帧的受跟踪兴趣区域,其中,所述处理器进一步用于:基于所述先前帧的受跟踪兴趣区域以及第一特征点提取参数来提取稀疏特征点;并且当所提取的稀疏特征点的数量小于阈值时,基于所述先前帧的受跟踪兴趣区域以及第二特征点提取参数来提取第二稀疏特征点,其中,所述第一特征点提取参数和所述第二特征点提取参数不同。
进一步对于第二实施例,所述处理器进一步用于:接收对应于所述先前帧的兴趣区域指示符;以及基于所述兴趣区域指示符和区域生长操作来生成所述先前帧的受跟踪兴趣区域,其中,所述处理器进一步用于:基于所述先前帧的受跟踪兴趣区域来提取稀疏特征点;以及将所述先前帧的受跟踪兴趣区域的第二有效中心确定为所述稀疏特征点的平均值。
进一步对于第二实施例,所述视频帧包括红、绿、蓝、深度(RGB-D)视频帧,并且所述深度包括视差值和深度距离值中的至少一个。
在一个或多个第三实施例中,一种系统,包括:用于基于对应于视频帧中的当前帧的受跟踪兴趣区域的所选择的特征点子集来确定所述受跟踪兴趣区域的有效中心的模块;用于基于对应于所述当前帧的受跟踪兴趣区域的有效中心的深度值与对应于先前帧的受跟踪兴趣区域的第二有效中心的第二深度值的比较来接受或拒绝所述当前帧的受跟踪兴趣区域的有效中心的模块;用于当所述当前帧的受跟踪兴趣区域的有效中心被拒绝时基于所述先前帧的受跟踪兴趣区域的第二有效中心来生成所述先前帧的第二受跟踪兴趣区域的模块;用于确定对应于所述先前帧的第二兴趣区域的第二特征点的模块;以及用于执行所述第二特征点的运动跟踪以提供对应于所述当前帧的第二受跟踪兴趣区域的第三特征点的模块。
进一步对于第三实施例,所述系统还包括:用于确定对应于所述受跟踪兴趣区域的所选择的特征点子集的模块,其包括:用于基于初始的或重新初始化的帧中的对应特征点与所述初始的或重新初始化的帧的受跟踪兴趣区域的第三有效中心之间的缩放和旋转调整后的偏移与每个特征点之间的差来对特征点进行聚类以生成多个聚类的模块;以及用于将所选择的特征点子集选择为所述多个聚类中具有最多特征点的聚类的模块。
进一步对于第三实施例,所述用于确定所述当前帧的受跟踪兴趣区域的有效中心的模块包括:用于将所述有效中心提供为初始的或重新初始化的帧中的对应特征点与所述初始的或重新初始化的帧的受跟踪兴趣区域的第三有效中心之间的缩放和旋转调整后的偏移与所选择的特征点子集中的每个特征点之间的差的平均值的模块。
进一步对于第三实施例,所述系统还包括:用于执行对应于所述先前帧的受跟踪兴趣区域的第四特征点的运动跟踪以提供对应于所述当前帧的受跟踪兴趣区域的第五特征点的模块;以及用于过滤对应于所述当前帧的受跟踪兴趣区域的第五特征点以提供对应于所述当前帧的受跟踪兴趣区域的特征点的模块。
进一步对于第三实施例,所述系统还包括:用于执行对应于所述先前帧的受跟踪兴趣区域的第四特征点的运动跟踪以提供对应于所述当前帧的受跟踪兴趣区域的第五特征点的模块;以及用于过滤对应于所述当前帧的受跟踪兴趣区域的第五特征点以提供对应于所述当前帧的受跟踪兴趣区域的特征点的模块,其中,所述用于过滤所述第五特征点的模块包括:用于确定所述第五特征点中的特定特征点周围的窗口与所述第四特征点中的对应特征点周围的第二窗口之间的色彩差以及所述第五特征点中的所述特定特征点周围的第三窗口与所述第四特征点中的所述对应特征点周围的第四窗口之间的深度差的模块。
进一步对于第三实施例,所述系统还包括:用于接收对应于所述先前帧的兴趣区域指示符的模块;以及用于基于所述兴趣区域指示符和区域生长操作来生成所述先前帧的受跟踪兴趣区域的模块。
进一步对于第三实施例,所述系统还包括:用于接收对应于所述先前帧的兴趣区域指示符的模块;用于基于所述兴趣区域指示符和区域生长操作来生成所述先前帧的受跟踪兴趣区域的模块;用于基于所述先前帧的受跟踪兴趣区域以及第一特征点提取参数来提取稀疏特征点的模块;以及用于当所提取的稀疏特征点的数量小于阈值时基于所述先前帧的受跟踪兴趣区域以及第二特征点提取参数来提取第二稀疏特征点的模块,其中,所述第一特征点提取参数和所述第二特征点提取参数不同。
在一个或多个第四实施例中,至少一种机器可读介质,包括多个指令,该指令响应于在设备上执行而使得所述设备通过以下步骤提供跨越视频帧的兴趣区域跟踪:基于对应于所述视频帧中的当前帧的受跟踪兴趣区域的所选择的特征点子集来确定所述受跟踪兴趣区域的有效中心;基于对应于所述当前帧的受跟踪兴趣区域的有效中心的深度值与对应于先前帧的受跟踪兴趣区域的第二有效中心的第二深度值的比较来接受或拒绝所述当前帧的受跟踪兴趣区域的有效中心;并且当所述当前帧的受跟踪兴趣区域的有效中心被拒绝时:基于所述先前帧的受跟踪兴趣区域的第二有效中心来生成所述先前帧的第二受跟踪兴趣区域;确定对应于所述先前帧的第二兴趣区域的第二特征点;以及执行所述第二特征点的运动跟踪,以提供对应于所述当前帧的第二受跟踪兴趣区域的第三特征点。
进一步对于第四实施例,所述至少一种机器可读介质还包括多个指令,该指令响应于在设备上执行而使得所述设备通过确定对应于所述受跟踪兴趣区域的所选择的特征点子集来提供跨越视频帧的兴趣区域跟踪,其中通过以下操作来确定对应于所述受跟踪兴趣区域的所选择的特征点子集:基于初始的或重新初始化的帧中的对应特征点与所述初始的或重新初始化的帧的受跟踪兴趣区域的第三有效中心之间的缩放和旋转调整后的偏移与每个特征点之间的差来对特征点进行聚类,以生成多个聚类;以及将所选择的特征点子集选择为所述多个聚类中具有最多特征点的聚类。
进一步对于第四实施例,确定所述当前帧的受跟踪兴趣区域的有效中心包括:将所述有效中心提供为初始的或重新初始化的帧中的对应特征点与所述初始的或重新初始化的帧的受跟踪兴趣区域的第三有效中心之间的缩放和旋转调整后的偏移与每个特征点之间的差的平均值。
进一步对于第四实施例,所述至少一种机器可读介质还包括多个指令,该指令响应于在设备上执行而使得所述设备通过以下步骤提供跨越视频帧的兴趣区域跟踪:执行对应于所述先前帧的受跟踪兴趣区域的第四特征点的运动跟踪,以提供对应于所述当前帧的受跟踪兴趣区域的第五特征点;以及过滤对应于所述当前帧的受跟踪兴趣区域的第五特征点,以提供对应于所述当前帧的受跟踪兴趣区域的特征点。
进一步对于第四实施例,所述至少一种机器可读介质还包括多个指令,该指令响应于在设备上执行而使得所述设备通过以下步骤提供跨越视频帧的兴趣区域跟踪:接收对应于所述先前帧的兴趣区域指示符;以及基于所述兴趣区域指示符和区域生长操作来生成所述先前帧的受跟踪兴趣区域。
进一步对于第四实施例,所述至少一种机器可读介质还包括多个指令,该指令响应于在设备上执行而使得所述设备通过以下步骤提供跨越视频帧的兴趣区域跟踪:接收对应于所述先前帧的兴趣区域指示符;基于所述兴趣区域指示符和区域生长操作来生成所述先前帧的受跟踪兴趣区域;基于所述先前帧的受跟踪兴趣区域以及第一特征点提取参数来提取稀疏特征点;并且当所提取的稀疏特征点的数量小于阈值时,基于所述先前帧的受跟踪兴趣区域以及第二特征点提取参数来提取第二稀疏特征点,其中,所述第一特征点提取参数和所述第二特征点提取参数不同。
在一个或多个第五实施例中,至少一种机器可读介质可以括多个指令,该指令响应于在计算设备上执行而使得所述计算设备执行根据以上实施例中的任一实施例的方法。
在一个或多个第六实施例中,一种装置可以包括用于执行根据以上实施例中的任一实施例的方法的模块。
应理解,实施例不限于如此所描述的实施例,而是可以在不脱离所附权利要求的范围的情况下通过修改和改动而得以实践。例如,以上实施例可以包括特征的特定组合。然而,以上实施例不限于此,并且在各个实现方式中,以上实施例可以包括仅实现这些特征的子集,实现这些特征的不同顺序,实现这些特征的不同组合,和/或实现除了明确列出的这些特征之外的附加特征。因此,应参照附图连同这些权利要求所属的等同物的全部范围一起确定实施例的范围。

Claims (32)

1.一种用于提供跨越具有对应深度数据的视频帧的兴趣区域跟踪的方法,包括:
基于对应于所述视频帧中的当前帧的受跟踪兴趣区域的所选择的特征点子集,确定所述受跟踪兴趣区域的有效中心;
基于对应于所述当前帧的受跟踪兴趣区域的有效中心的深度值与对应于先前帧的受跟踪兴趣区域的第二有效中心的第二深度值的比较,接受或拒绝所述当前帧的受跟踪兴趣区域的有效中心;以及
当所述当前帧的受跟踪兴趣区域的有效中心被拒绝时:
基于所述先前帧的受跟踪兴趣区域的第二有效中心,生成所述先前帧的第二受跟踪兴趣区域;
确定对应于所述先前帧的第二兴趣区域的第二特征点;以及
执行所述第二特征点的运动跟踪,以提供对应于所述当前帧的第二受跟踪兴趣区域的第三特征点。
2.如权利要求1所述的方法,还包括:通过以下步骤确定对应于所述受跟踪兴趣区域的所选择的特征点子集:
基于初始的或重新初始化的帧中的对应特征点与所述初始的或重新初始化的帧的受跟踪兴趣区域的第三有效中心之间的缩放和旋转调整后的偏移与每个特征点之间的差来对所述特征点进行聚类,以生成多个聚类;以及
将所选择的特征点子集选择为所述多个聚类中具有最多特征点的聚类。
3.如权利要求2所述的方法,其中,所述缩放和旋转调整基于缩放因子和旋转因子,所述方法还包括:
将所述缩放因子确定为对应于所述当前帧的受跟踪兴趣区域的特征点之间的成对距离与对应于所述初始的或重新初始化的帧的受跟踪兴趣区域的第四特征点之间的成对距离的比率的中位数;以及
将所述旋转因子确定为对应于所述当前帧的受跟踪兴趣区域的特征点之间的成对角度与对应于所述初始的或重新初始化的帧的受跟踪兴趣区域的第四特征点之间的成对角度的差的中位数。
4.如权利要求1所述的方法,其中,确定所述当前帧的受跟踪兴趣区域的有效中心包括:
将所述有效中心提供为初始的或重新初始化的帧中的对应特征点与所述初始的或重新初始化的帧的受跟踪兴趣区域的第三有效中心之间的缩放和旋转调整后的偏移与所选择的特征点子集中的每个特征点之间的差的平均值。
5.如权利要求1所述的方法,还包括:
执行对应于所述先前帧的受跟踪兴趣区域的第四特征点的运动跟踪,以提供对应于所述当前帧的受跟踪兴趣区域的第五特征点;以及
过滤对应于所述当前帧的受跟踪兴趣区域的第五特征点,以提供对应于所述当前帧的受跟踪兴趣区域的特征点。
6.如权利要求5所述的方法,其中,过滤所述第五特征点包括:
确定所述第五特征点中的特定特征点周围的窗口与所述第四特征点中的对应特征点周围的第二窗口之间的色彩差以及所述第五特征点中的所述特定特征点周围的第三窗口与所述第四特征点中的所述对应特征点周围的第四窗口之间的深度差。
7.如权利要求6所述的方法,其中,当所述色彩差超过第一阈值或所述深度差超过第二阈值时,拒绝所述特定特征点。
8.如权利要求1所述的方法,还包括:当所述当前帧的受跟踪兴趣区域的有效中心被接受时:
执行所述特征点的运动跟踪,以提供对应于随后帧的受跟踪兴趣区域的第四特征点;
过滤对应于所述随后帧的受跟踪兴趣区域的第四特征点,以提供对应于所述随后帧的受跟踪兴趣区域的第五特征点;以及
当第五特征点的数量小于阈值时:
基于所述当前帧的受跟踪兴趣区域的有效中心,生成所述当前帧的第三兴趣区域。
9.如权利要求1所述的方法,还包括:
接收对应于所述先前帧的兴趣区域指示符;以及
基于所述兴趣区域指示符和区域生长操作,生成所述先前帧的受跟踪兴趣区域。
10.如权利要求9所述的方法,还包括:
基于所述先前帧的受跟踪兴趣区域以及第一特征点提取参数来提取稀疏特征点;以及
当所提取的稀疏特征点的数量小于阈值时:
基于所述先前帧的受跟踪兴趣区域以及第二特征点提取参数来提取第二稀疏特征点,其中,所述第一特征点提取参数和所述第二特征点提取参数不同。
11.如权利要求9所述的方法,还包括:
基于所述先前帧的受跟踪兴趣区域来提取稀疏特征点;以及
将所述先前帧的受跟踪兴趣区域的第二有效中心确定为所述稀疏特征点的平均值。
12.如权利要求1所述的方法,其中,所述视频帧包括红、绿、蓝、深度(RGB-D)视频帧,并且所述深度包括视差值和深度距离值中的至少一个。
13.一种用于提供跨越视频帧的兴趣区域跟踪的系统,包括:
存储器,被配置为存储所述视频帧;以及
处理器,耦合到所述存储器,所述处理器用于:
基于对应于所述视频帧中的当前帧的受跟踪兴趣区域的所选择的特征点子集,确定所述受跟踪兴趣区域的有效中心;
基于对应于所述当前帧的受跟踪兴趣区域的有效中心的深度值与对应于先前帧的受跟踪兴趣区域的第二有效中心的第二深度值的比较,接受或拒绝所述当前帧的受跟踪兴趣区域的有效中心;以及
当所述当前帧的受跟踪兴趣区域的有效中心被拒绝时:
基于所述先前帧的受跟踪兴趣区域的第二有效中心,生成所述先前帧的第二受跟踪兴趣区域;
确定对应于所述先前帧的第二兴趣区域的第二特征点;以及
执行所述第二特征点的运动跟踪,以提供对应于所述当前帧的第二受跟踪兴趣区域的第三特征点。
14.如权利要求13所述的系统,其中,所述处理器进一步用于:确定对应于所述受跟踪兴趣区域的所选择的特征点子集;其中,为了确定所选择的特征点子集,所述处理器用于:
基于初始的或重新初始化的帧中的对应特征点与所述初始的或重新初始化的帧的受跟踪兴趣区域的第三有效中心之间的缩放和旋转调整后的偏移与每个特征点之间的差来对所述特征点进行聚类,以生成多个聚类;以及
将所选择的特征点子集选择为所述多个聚类中具有最多特征点的聚类。
15.如权利要求13所述的系统,其中,为了确定所述当前帧的受跟踪兴趣区域的有效中心,所述处理器用于:
将所述有效中心提供为初始的或重新初始化的帧中的对应特征点与所述初始的或重新初始化的帧的受跟踪兴趣区域的第三有效中心之间的缩放和旋转调整后的偏移与所选择的特征点子集中的每个特征点之间的差的平均值。
16.如权利要求13所述的系统,其中,所述处理器进一步用于:
执行对应于所述先前帧的受跟踪兴趣区域的第四特征点的运动跟踪,以提供对应于所述当前帧的受跟踪兴趣区域的第五特征点;以及过滤对应于所述当前帧的受跟踪兴趣区域的第五特征点,以提供对应于所述当前帧的受跟踪兴趣区域的特征点。
17.如权利要求16所述的系统,其中,所述处理器过滤所述第五特征点包括:
所述处理器确定所述第五特征点中的特定特征点周围的窗口与所述第四特征点中的对应特征点周围的第二窗口之间的色彩差以及所述第五特征点中的所述特定特征点周围的第三窗口与所述第四特征点中的所述对应特征点周围的第四窗口之间的深度差。
18.如权利要求13所述的系统,其中,所述处理器进一步用于:
接收对应于所述先前帧的兴趣区域指示符;以及
基于所述兴趣区域指示符和区域生长操作,生成所述先前帧的受跟踪兴趣区域。
19.如权利要求18所述的系统,其中,所述处理器进一步用于:
基于所述先前帧的受跟踪兴趣区域以及第一特征点提取参数来提取稀疏特征点;以及
当所提取的稀疏特征点的数量小于阈值时:
基于所述先前帧的受跟踪兴趣区域以及第二特征点提取参数来提取第二稀疏特征点,其中,所述第一特征点提取参数和所述第二特征点提取参数不同。
20.一种系统,包括:
用于基于对应于视频帧中的当前帧的受跟踪兴趣区域的所选择的特征点子集来确定所述受跟踪兴趣区域的有效中心的模块;
用于基于对应于所述当前帧的受跟踪兴趣区域的有效中心的深度值与对应于先前帧的受跟踪兴趣区域的第二有效中心的第二深度值的比较来接受或拒绝所述当前帧的受跟踪兴趣区域的有效中心的模块;
用于当所述当前帧的受跟踪兴趣区域的有效中心被拒绝时基于所述先前帧的受跟踪兴趣区域的第二有效中心来生成所述先前帧的第二受跟踪兴趣区域的模块;
用于确定对应于所述先前帧的第二兴趣区域的第二特征点的模块;以及
用于执行所述第二特征点的运动跟踪以提供对应于所述当前帧的第二受跟踪兴趣区域的第三特征点的模块。
21.如权利要求20所述的系统,还包括:用于确定对应于所述受跟踪兴趣区域的所选择的特征点子集的模块,其包括:
用于基于初始的或重新初始化的帧中的对应特征点与所述初始的或重新初始化的帧的受跟踪兴趣区域的第三有效中心之间的缩放和旋转调整后的偏移与每个特征点之间的差来对所述特征点进行聚类,以生成多个聚类的模块;以及
用于将所选择的特征点子集选择为所述多个聚类中具有最多特征点的聚类的模块。
22.如权利要求20所述的系统,其中,用于确定所述当前帧的受跟踪兴趣区域的有效中心的模块包括:
用于将所述有效中心提供为初始的或重新初始化的帧中的对应特征点与所述初始的或重新初始化的帧的受跟踪兴趣区域的第三有效中心之间的缩放和旋转调整后的偏移与所选择的特征点子集中的每个特征点之间的差的平均值的模块。
23.如权利要求20所述的系统,还包括:
用于执行对应于所述先前帧的受跟踪兴趣区域的第四特征点的运动跟踪,以提供对应于所述当前帧的受跟踪兴趣区域的第五特征点的模块;以及
用于过滤对应于所述当前帧的受跟踪兴趣区域的第五特征点,以提供对应于所述当前帧的受跟踪兴趣区域的特征点的模块。
24.如权利要求23所述的系统,其中,用于过滤所述第五特征点的模块包括:
用于确定所述第五特征点中的特定特征点周围的窗口与所述第四特征点中的对应特征点周围的第二窗口之间的色彩差以及所述第五特征点中的所述特定特征点周围的第三窗口与所述第四特征点中的所述对应特征点周围的第四窗口之间的深度差的模块。
25.如权利要求20所述的系统,还包括:
用于接收对应于所述先前帧的兴趣区域指示符的模块;以及
用于基于所述兴趣区域指示符和区域生长操作来生成所述先前帧的受跟踪兴趣区域的模块。
26.如权利要求25所述的系统,还包括:
用于基于所述先前帧的受跟踪兴趣区域以及第一特征点提取参数来提取稀疏特征点的模块;以及
用于当所提取的稀疏特征点的数量小于阈值时,基于所述先前帧的受跟踪兴趣区域以及第二特征点提取参数来提取第二稀疏特征点的模块,其中,所述第一特征点提取参数和所述第二特征点提取参数不同。
27.至少一种机器可读介质,包括多个指令,所述多个指令响应于在设备上被执行而使所述设备通过以下步骤提供跨越视频帧的兴趣区域跟踪:
基于对应于所述视频帧中的当前帧的受跟踪兴趣区域的所选择的特征点子集,确定所述受跟踪兴趣区域的有效中心;
基于对应于所述当前帧的受跟踪兴趣区域的有效中心的深度值与对应于先前帧的受跟踪兴趣区域的第二有效中心的第二深度值的比较,接受或拒绝所述当前帧的受跟踪兴趣区域的有效中心;以及
当所述当前帧的受跟踪兴趣区域的有效中心被拒绝时:
基于所述先前帧的受跟踪兴趣区域的第二有效中心,生成所述先前帧的第二受跟踪兴趣区域;
确定对应于所述先前帧的第二兴趣区域的第二特征点;以及
执行所述第二特征点的运动跟踪,以提供对应于所述当前帧的第二受跟踪兴趣区域的第三特征点。
28.如权利要求27所述的机器可读介质,还包括多个指令,所述多个指令响应于在所述设备上被执行而使所述设备通过以下步骤提供跨越视频帧的兴趣区域跟踪:
通过以下操作来确定对应于所述受跟踪兴趣区域的所选择的特征点子集:
基于初始的或重新初始化的帧中的对应特征点与所述初始的或重新初始化的帧的受跟踪兴趣区域的第三有效中心之间的缩放和旋转调整后的偏移与每个特征点之间的差来对所述特征点进行聚类,以生成多个聚类;以及
将所选择的特征点子集选择为所述多个聚类中具有最多特征点的聚类。
29.如权利要求27所述的机器可读介质,其中,确定所述当前帧的受跟踪兴趣区域的有效中心包括:
将所述有效中心提供为初始的或重新初始化的帧中的对应特征点与所述初始的或重新初始化的帧的受跟踪兴趣区域的第三有效中心之间的缩放和旋转调整后的偏移与每个特征点之间的差的平均值。
30.如权利要求27所述的机器可读介质,还包括多个指令,所述多个指令响应于在所述设备上被执行而使所述设备通过以下步骤提供跨越视频帧的兴趣区域跟踪:
执行对应于所述先前帧的受跟踪兴趣区域的第四特征点的运动跟踪,以提供对应于所述当前帧的受跟踪兴趣区域的第五特征点;以及
过滤对应于所述当前帧的受跟踪兴趣区域的第五特征点,以提供对应于所述当前帧的受跟踪兴趣区域的特征点。
31.如权利要求27所述的机器可读介质,还包括多个指令,所述多个指令响应于在所述设备上被执行而使所述设备通过以下步骤提供跨越视频帧的兴趣区域跟踪:
接收对应于所述先前帧的兴趣区域指示符;以及
基于所述兴趣区域指示符和区域生长操作,生成所述先前帧的受跟踪兴趣区域。
32.如权利要求31所述的机器可读介质,还包括多个指令,所述多个指令响应于在所述设备上被执行而使所述设备通过以下步骤提供跨越视频帧的兴趣区域跟踪:
基于所述先前帧的受跟踪兴趣区域以及第一特征点提取参数来提取稀疏特征点;以及
当所提取的稀疏特征点的数量小于阈值时:
基于所述先前帧的受跟踪兴趣区域以及第二特征点提取参数来提取第二稀疏特征点,其中,所述第一特征点提取参数和所述第二特征点提取参数不同。
CN201780014303.0A 2016-03-01 2017-01-23 跨越具有对应深度图的视频帧跟踪兴趣区域 Active CN108701359B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/057,686 US9852513B2 (en) 2016-03-01 2016-03-01 Tracking regions of interest across video frames with corresponding depth maps
US15/057,686 2016-03-01
PCT/US2017/014598 WO2017151240A1 (en) 2016-03-01 2017-01-23 Tracking regions of interest across video frames with corresponding depth maps

Publications (2)

Publication Number Publication Date
CN108701359A true CN108701359A (zh) 2018-10-23
CN108701359B CN108701359B (zh) 2022-04-15

Family

ID=59724231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780014303.0A Active CN108701359B (zh) 2016-03-01 2017-01-23 跨越具有对应深度图的视频帧跟踪兴趣区域

Country Status (4)

Country Link
US (1) US9852513B2 (zh)
EP (1) EP3424018A4 (zh)
CN (1) CN108701359B (zh)
WO (1) WO2017151240A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111193918A (zh) * 2018-11-14 2020-05-22 宏达国际电子股份有限公司 影像处理系统及影像处理方法
CN111260625A (zh) * 2020-01-15 2020-06-09 征图新视(江苏)科技股份有限公司 胶印大张图像检测区域的自动提取方法
WO2021248348A1 (en) * 2020-06-10 2021-12-16 Plantronics, Inc. Tracker activation and deactivation in a videoconferencing system

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3347789B1 (en) * 2015-09-11 2021-08-04 SZ DJI Technology Co., Ltd. Systems and methods for detecting and tracking movable objects
US10289913B2 (en) * 2016-04-25 2019-05-14 Futurewei Technologies, Inc. Tracking and detection for motion estimation in real time digital video stabilization
US10475186B2 (en) * 2016-06-23 2019-11-12 Intel Corportation Segmentation of objects in videos using color and depth information
US10504008B1 (en) 2016-07-18 2019-12-10 Occipital, Inc. System and method for relocalization and scene recognition
US10425643B2 (en) * 2017-02-04 2019-09-24 OrbViu Inc. Method and system for view optimization of a 360 degrees video
TWI631516B (zh) * 2017-10-16 2018-08-01 緯創資通股份有限公司 可適用多重追蹤的目標追蹤方法與系統
US10814235B2 (en) 2018-02-08 2020-10-27 Sony Interactive Entertainment Inc. Vector-space framework for evaluating gameplay content in a game environment
US10397658B1 (en) 2018-02-08 2019-08-27 Sony Interactive Entertainment Inc. Identifying relevant gameplay content for a game environment using a vector-space framework
WO2019157543A1 (de) * 2018-02-13 2019-08-22 Ars Electronica Linz Gmbh & Co Kg System zur darstellung und identifikation von markern einer veränderbaren geometrischen abbildung
CN108521578A (zh) * 2018-05-15 2018-09-11 北京奇虎科技有限公司 一种检测视频中可贴图区域、实现在视频中贴图的方法
CN109460077B (zh) * 2018-11-19 2022-05-17 深圳博为教育科技有限公司 一种自动跟踪方法、自动跟踪设备及自动跟踪系统
US11182642B2 (en) 2019-02-28 2021-11-23 Stats Llc System and method for generating player tracking data from broadcast video
CN110519324B (zh) * 2019-06-06 2020-08-25 特斯联(北京)科技有限公司 一种基于网络轨迹大数据的人物追踪方法与系统
CN111182269B (zh) * 2020-01-03 2021-04-13 重庆特斯联智慧科技股份有限公司 一种具有智能违法警示功能的安防摄像设备及方法
US11961243B2 (en) * 2020-02-26 2024-04-16 Nvidia Corporation Object detection using image alignment for autonomous machine applications
WO2022154342A1 (en) * 2021-01-12 2022-07-21 Samsung Electronics Co., Ltd. Methods and electronic device for processing image
US11967122B2 (en) * 2021-04-19 2024-04-23 Argo AI, LLC Context aware verification for sensor pipelines
US11887328B1 (en) * 2022-08-04 2024-01-30 VergeSense, Inc. Method for debugging images and tracking usage patterns of anonymous objects within a space

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102598674A (zh) * 2009-10-23 2012-07-18 高通股份有限公司 用于2d视频数据到3d视频数据的转换的深度图产生技术
US9189670B2 (en) * 2009-02-11 2015-11-17 Cognex Corporation System and method for capturing and detecting symbology features and parameters
US9299152B2 (en) * 2012-12-20 2016-03-29 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Systems and methods for image depth map generation

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7907793B1 (en) * 2001-05-04 2011-03-15 Legend Films Inc. Image sequence depth enhancement system and method
US8396328B2 (en) * 2001-05-04 2013-03-12 Legend3D, Inc. Minimal artifact image sequence depth enhancement system and method
US8401336B2 (en) * 2001-05-04 2013-03-19 Legend3D, Inc. System and method for rapid image sequence depth enhancement with augmented computer-generated elements
US7397937B2 (en) 2001-11-23 2008-07-08 R2 Technology, Inc. Region growing in anatomical images
US8243194B2 (en) 2006-05-31 2012-08-14 Vestel Elektronik Sanayi Ve Ticaret A.S. Method and apparatus for frame interpolation
US8224051B2 (en) 2007-08-06 2012-07-17 Carestream Health, Inc. Method for detection of linear structures and microcalcifications in mammographic images
US8295546B2 (en) * 2009-01-30 2012-10-23 Microsoft Corporation Pose tracking pipeline
KR101613133B1 (ko) 2009-05-14 2016-04-18 삼성전자주식회사 3차원 영상 처리 장치 및 그 방법
TWI420906B (zh) 2010-10-13 2013-12-21 Ind Tech Res Inst 興趣區域之追蹤系統與方法及電腦程式產品
RU2013106357A (ru) * 2013-02-13 2014-08-20 ЭлЭсАй Корпорейшн Трехмерное отслеживание области интереса, основанное на сопоставлении ключевых кадров
US20150181168A1 (en) * 2013-12-20 2015-06-25 DDD IP Ventures, Ltd. Interactive quality improvement for video conferencing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9189670B2 (en) * 2009-02-11 2015-11-17 Cognex Corporation System and method for capturing and detecting symbology features and parameters
CN102598674A (zh) * 2009-10-23 2012-07-18 高通股份有限公司 用于2d视频数据到3d视频数据的转换的深度图产生技术
US9299152B2 (en) * 2012-12-20 2016-03-29 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Systems and methods for image depth map generation

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111193918A (zh) * 2018-11-14 2020-05-22 宏达国际电子股份有限公司 影像处理系统及影像处理方法
CN111193918B (zh) * 2018-11-14 2021-12-28 宏达国际电子股份有限公司 影像处理系统及影像处理方法
CN111260625A (zh) * 2020-01-15 2020-06-09 征图新视(江苏)科技股份有限公司 胶印大张图像检测区域的自动提取方法
WO2021248348A1 (en) * 2020-06-10 2021-12-16 Plantronics, Inc. Tracker activation and deactivation in a videoconferencing system
US11805225B2 (en) 2020-06-10 2023-10-31 Plantronics, Inc. Tracker activation and deactivation in a videoconferencing system

Also Published As

Publication number Publication date
WO2017151240A1 (en) 2017-09-08
EP3424018A1 (en) 2019-01-09
US20170256065A1 (en) 2017-09-07
US9852513B2 (en) 2017-12-26
CN108701359B (zh) 2022-04-15
EP3424018A4 (en) 2019-07-31

Similar Documents

Publication Publication Date Title
CN108701359A (zh) 跨越具有对应深度图的视频帧跟踪兴趣区域
Das et al. Toyota smarthome: Real-world activities of daily living
US11232286B2 (en) Method and apparatus for generating face rotation image
Liu et al. Enhanced skeleton visualization for view invariant human action recognition
CN107945282B (zh) 基于对抗网络的快速多视角三维合成和展示方法及装置
Wang et al. Action recognition from depth maps using deep convolutional neural networks
Wang et al. 360sd-net: 360 stereo depth estimation with learnable cost volume
CN110378838B (zh) 变视角图像生成方法,装置,存储介质及电子设备
JP7387202B2 (ja) 3次元顔モデル生成方法、装置、コンピュータデバイス及びコンピュータプログラム
CN106255990B (zh) 用于相机阵列的图像重对焦
CN110544301A (zh) 一种三维人体动作重建系统、方法和动作训练系统
CN113822977A (zh) 图像渲染方法、装置、设备以及存储介质
CN112037310A (zh) 基于神经网络的游戏人物动作识别生成方法
CN115690382B (zh) 深度学习模型的训练方法、生成全景图的方法和装置
WO2022052782A1 (zh) 图像的处理方法及相关设备
CN115100707A (zh) 模型的训练方法、视频信息生成方法、设备以及存储介质
Tang et al. SRARNet: A unified framework for joint superresolution and aircraft recognition
Kim et al. Deep Transformer based Video Inpainting Using Fast Fourier Tokenization
WO2022043834A1 (en) Full skeletal 3d pose recovery from monocular camera
CN110414593A (zh) 图像处理方法及装置、处理器、电子设备及存储介质
CN113724176A (zh) 一种多摄像头动作捕捉无缝衔接方法、装置、终端及介质
CN113902995A (zh) 一种多模态人体行为识别方法及相关设备
Wang et al. FreeMan: Towards Benchmarking 3D Human Pose Estimation in the Wild
Zhu et al. Hue Guidance Network for Single Image Reflection Removal
Zhao et al. Stripe sensitive convolution for omnidirectional image dehazing

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