对相关申请的交叉引用/通过引用并入
无。
本公开的各种实施例涉及图像处理技术。更具体而言,本公开的各种实施例涉及用于基于用户指定的初始化点进行对象跟踪的电子设备。
背景技术:
数字图像处理领域中的最新进展已经导致用于跟踪视频中的对象的各种方法和技术的发展。在常规的对象跟踪系统中,可以要求用户输入作为初始化参数以选择可以通过帧的序列被跟踪的感兴趣对象。例如,用户输入可以与表示感兴趣对象的补丁的选择对应。为了提供用户输入,用户可能必须生成包围住感兴趣对象的整个边界框。可以在第一帧上执行手动初始化,并且可以使用被包围住的图像像素来训练目标模型,然后可以使用该目标模型搜索后续帧中的最优对象位置。但是,在许多现实生活的应用(诸如电影编辑或监控)中,用户可能无法生成感兴趣对象的完整边界框,因为在感兴趣对象周围手动生成矩形边界框对于用户而言可能是费力、麻烦或不切实际的,尤其是在感兴趣对象是快速移动的对象(诸如车辆)时。而且,在一些情况下,感兴趣对象的完整边界框可能不可见,因此,创建完整的边界框可能不是初始化对象跟踪系统的可行解决方案,并且可能进一步给用户带来不便。
如本申请的其余部分以及参考附图所阐述的,通过将所描述的系统与本公开的一些方面进行比较,常规和传统方法的其它限制和缺点对于本领域技术人员将变得显而易见。
技术实现要素:
如在权利要求中更完整阐述的,基本如至少一个图所示和/或结合至少一个图所描述的,提供了用于基于用户指定的初始化点进行对象跟踪的电子设备和方法。
可以通过阅读以下对本公开的详细描述以及附图来理解本公开的这些和其它特征以及优点,在附图中,相同的参考标记始终表示相同的部分。
附图说明
图1是图示根据本公开的实施例的用于基于用户指定的初始化点来跟踪对象的电子设备的示例性环境的框图。
图2是根据本公开的实施例的用于基于用户指定的初始化点进行对象跟踪的示例性电子设备的框图。
图3a和3b共同图示了根据本公开的实施例的用于实现图2的电子设备的第一示例性场景。
图4a和4b共同描绘了图示根据本公开的实施例的用于基于用户指定的初始化点进行对象跟踪的示例性方法的流程图。
具体实施方式
可以在所公开的用于基于用户指定的初始化点进行对象跟踪的电子设备和方法中找到以下描述的实施方式。本公开的示例性方面提供了一种电子设备,该电子设备可以充当用于实况视频馈送或预记录视频的图像帧序列中的对象的实时或近实时跟踪的设备。所公开的电子设备提供了一种解决方案,以减少每当要求用户输入来选择和跟踪场景中的感兴趣对象时完全注释场景中的感兴趣对象的用户开销。所公开的电子设备可以在不同的应用中被使用,诸如数字摄影中的自动对焦应用、实况或记录的视频馈送中的感兴趣对象的监控、视频编辑应用、向视频添加特殊效果以及无人机的导航。
所公开的电子设备提供了一种在随机采样和共识框架中经由稳健估计来动态地找到感兴趣对象的支持区域的解决方案。所提出的稳健估计可以使用稳健评分模型,该稳健评分模型除了与第一图像帧中感兴趣对象的最后已知位置(或者在第一图像帧的情况下是用户点击的位置)的接近度之外还可以强调最佳变换模型。
所公开的电子设备还提供了一种解决方案,该解决方案消除了用户在第一图像帧中采用矩形边界框完全手动注释感兴趣的对象的需求。常规地,这种手动注释给用户带来了难题,因为用鼠标或其它设备在感兴趣对象周围绘制矩形边界框是一个挑战。因此,利用所公开的电子设备,用户在感兴趣对象的区域内的任何点处点击就可以足以初始化对图像帧序列中感兴趣对象的跟踪。对于期望的感兴趣对象的对象跟踪,常规解决方案具有复杂的初始化过程,这导致跟踪操作的初始化的延迟。所公开的电子设备进一步解决了这个问题,以及要求持续跟踪视频中感兴趣的移动对象的各种系统。
图1是图示根据本公开的实施例的用于基于用户指定的初始化点来跟踪对象的电子设备的示例性环境的框图。参考图1,示出了网络环境100,其包括电子设备102、服务器104和通信网络106。根据实施例,电子设备102可以是图像捕获设备。在此类情况下,电子设备102可以包括一个或多个图像传感器(诸如图像传感器108),其可以被配置为捕获图像传感器108的视场(fov)内的场景的图像帧的序列110。
电子设备102可以包括合适的逻辑、电路系统、接口和/或代码,其可以被配置为在图像帧的序列110(诸如来自视频的相继图像)中跟踪一个或多个感兴趣对象。作为示例,可以分别在第一图像帧112a和第二图像帧112b中跟踪感兴趣对象114。电子设备102可以被配置为基于第一图像帧中用户指定的初始化点(例如,初始化点116)来初始化图像帧的序列110的相继图像帧中的感兴趣对象的对象跟踪操作。用户指定的初始化点可以与用户输入(例如,鼠标点击事件或屏幕触摸事件)对应。电子设备102还可以被配置为管理图像帧的序列110中的相继图像帧中的一个或多个感兴趣对象的跟踪。电子设备102的示例可以包括但不限于成像设备(诸如数码相机和摄像机)、运动捕获系统、相机电话、投影仪、计算机工作站、大型计算机、手持式计算机、个人计算机、笔记本电脑、平板电脑、头戴式显示器(hmd)设备和/或可穿戴设备(诸如增强现实/虚拟现实/混合现实(ar/vr/mr)设备、服务器、蜂窝/移动电话、智能电器、视频播放器、智能家居监视设备、交通相机、电视(例如,智能tv)和其它计算设备。
服务器104可以包括合适的电路系统、接口和/或代码,其可以被配置为存储与记录的或实况媒体内容相关联的图像帧的序列110,并在显示屏上显示用户界面(ui),通过该ui可以接收用户输入。用户输入可以与从显示在显示屏上的ui接收的与第一图像帧中的感兴趣对象相关联的初始化点对应。服务器104可以被配置为经由通信网络106与电子设备102通信。服务器104的示例可以包括但不限于应用服务器、云服务器、web服务器、数据库服务器、文件服务器、游戏服务器、大型机服务器或其组合。根据实施例,由电子设备102执行的功能和部分操作可以在服务器104处实现。在替代实施例中,由服务器104执行的功能和部分操作可以在电子设备102处实现。
通信网络106可以包括电子设备102可以通过其与服务器104和/或其它计算组件进行通信的介质,为了简洁起见,可以将其它计算组件从本公开中省略。通信网络106的示例可以包括但不限于互联网、云网络、长期演进(lte)网络、无线局域网(wlan)、局域网(lan)、电话线路(pots)和/或城域网(man)。根据各种有线和无线通信协议,网络环境100中的各种设备可以被配置为连接到通信网络106。此类有线和无线通信协议的示例可以包括但不限于传输控制协议和互联网协议(tcp/ip)、用户数据报协议(udp)、超文本传输协议(http)、文件传输协议(ftp)、zigbee、edge、ieee802.11、光保真度(li-fi)、802.16、ieee802.11s、ieee802.11g、多跳通信、无线接入点(ap)、设备到设备通信、蜂窝通信协议或蓝牙(bt)通信协议中的至少一种,或其组合。
图像传感器108可以包括合适的逻辑、电路系统、接口和/或代码,其可以被配置为捕获图像传感器108的视场(fov)中的场景的图像帧或图像帧的序列110(例如,来自视频的图像帧的序列)。图像传感器108可以被配置为将捕获的图像帧的序列110作为输入传送到电子设备102。图像传感器108可以被实现为有源像素传感器,诸如互补金属氧化物半导体(cmos)传感器。在一些实施例中,代替有源像素传感器,图像传感器108可以被实现为无源像素传感器(例如,电荷耦合器件(ccd)传感器)、过采样二进制图像传感器、平面傅立叶捕获阵列(pfca)、背照式(bsi或bi)传感器等之一。
虽然未示出,但是图像传感器108还可以包括可以被配置为根据来自图像传感器108的图像数据进行操作的专用微处理器(或微控制器)、处理存储在帧缓冲器中的图像的图形处理单元(gpu)、深度传感器,和/或与图像传感器108集成在一起的存储器。
在操作中,电子设备102可以被配置为从一个或多个源(诸如存储器中的本地存储装置、图像传感器108的存储装置和服务器104)检索(一个或多个)场景的图像帧的序列110。图像帧的序列110可以与和真实环境相关联的(一个或多个)场景对应。或者,图像帧的序列110可以取自虚拟现实环境,诸如动画环境、增强现实环境或混合现实环境。
根据实施例,图像传感器108可以被配置为从图像传感器108的fov捕获图像帧的序列110。在此类情况下,图像帧的序列110可以与实况视频馈送(诸如闭路电视(cctv)镜头)对应。实况视频馈送(即,包括图像帧的序列110)可以包括可以在图像传感器108的fov中运动的多个对象(例如,人、动物、车辆等)。作为示例,图像帧的序列110可以包括第一图像帧112a和第二图像帧112b。
在某些实施例中,电子设备102可以被配置为在诸如智能电视、智能电话、发光二极管(led屏幕)或液晶显示(lcd)屏幕之类的显示设备上显示捕获的图像帧的序列110的实况预览。显示设备还可以包括可以充当输入/输出(i/o)接口的附加组件,诸如手势传感器、用于显示设备的显示屏的触摸面板或用于语音输入的智能扬声器。显示设备可以与电子设备102集成,或者可以与电子设备102外围耦合。
电子设备102可以被配置为从用户接收第一输入。第一输入可以包括与感兴趣对象相关联的信息,该感兴趣对象可以在所显示的实况预览的一个或多个图像帧中。第一输入可以指示用户对在图像帧的序列110中跟踪感兴趣对象(例如,感兴趣对象114)的位置、占据区域或移动感兴趣。可以经由可以与电子设备102嵌入或外围耦合的输入设备来接收第一输入。在一些场景中,输入设备可以是光学鼠标,并且第一输入可以是在图像帧的序列110的第一图像帧上的特定点之上的点击输入。该特定点可以是用户指定的初始化点(例如,初始化点116),其可以与图像帧的序列110中的感兴趣对象对应。在其它场景中,输入设备可以是显示设备上的触摸屏,或者是可以将来自用户的手势输入转换成第一图像帧上的特定点的手势传感器。在此类场景中,触摸屏可以被配置为从触摸屏的特定部分接收触摸输入作为第一输入。触摸屏的特定部分可以与第一图像帧中的感兴趣对象对应,例如,第一图像帧112a中的感兴趣对象114可以与在显示设备上显示的第一图像帧112a的一部分对应。
电子设备102可以被配置为基于第一输入来选择第一图像帧中的初始化点。初始化点可以是用户指定的初始化点。电子设备102可以被配置为将选择的初始化点识别为参考点,以在图像帧的序列110中跟踪感兴趣对象(诸如被示为在路上行走的人)。初始化点(例如,初始化点116)可以位于第一图像帧(诸如第一图像帧112a)的第一区域中,其中第一区域可以表示第一图像帧中的感兴趣对象。或者,电子设备102可以被配置为在图像帧序列110的回放时间(例如,实况预览)接收用户指定的初始化点。用户指定的初始化点可以与感兴趣对象在第一图像帧中的位置对应。
电子设备102可以被配置为从第一图像帧中提取第一特征点集合(例如,第一特征点集合118)并从第二图像帧中提取第二特征点集合(例如,第二特征点集合120)。可以响应于第一输入的接收而提取第一特征点集合和第二特征点集合。在示例性实施例中,第一特征点集合和第二特征点集合可以是基于二进制鲁棒不变可缩放关键点(brisk)技术分别从第一图像帧和第二图像帧中提取的二进制鲁棒不变可缩放关键点(brisk)。在一些实施例中,可以基于特征提取技术来提取第一特征点集合和第二特征点集合。不同特征提取技术的示例可以包括但不限于harris角点、尺度不变特征变换(sift)、定向快速和旋转简述(orb)以及加速鲁棒特征(surf)。特征提取技术的细节对于本领域技术人员而言可以是已知的,因此,为了简洁起见,已经从本公开中省略了描述。
可以提取第一特征点集合和第二特征点集合,使得第一特征点集合和第二特征点集合分别存在于距所选择的初始化点的第一阈值距离和第二阈值距离内。用于第一图像帧的第一阈值距离可以不同于用于第二图像帧的第二阈值距离。作为示例,第一特征点集合和第二特征点集合可以分别表示为集合(p1)和集合(p2)。集合p1和集合(p2)可以由如下的关系式(1)和(2)给出:
其中,
||.||表示因x0或x1与s之差而产生的向量的范数;
s是在第一图像帧中的初始化点116的位置;
d1是第一阈值距离,例如,第一图像帧的宽度的“20%”;以及
d2是第二阈值距离,其是d1的尺寸的两倍(或更多,取决于对象的速度)(例如,或第一图像帧的宽度的“40%”)。
由于用户指定的初始化点可以仅指示感兴趣对象上的点,因此可能无法在不知道感兴趣对象在相继图像帧中的范围的情况下跟踪相继图像帧中的整个感兴趣对象。而且,在许多情况下,并非第一特征点集合或第二特征点集合中的所有特征点都可以分别属于第一图像帧和第二图像帧中的感兴趣对象。但是,第一图像帧中的一些特征点可以映射到第二图像帧中的对应特征点。作为示例,用点线指示来自第一特征点集合118和第二特征点集合120中一些特征点的映射。
使用不同的特征比较技术(诸如brisk或surf),可以基于第一特征点集合与第二特征点集合的比较将第一图像帧的特征点映射到第二图像帧的特征点。作为示例,第一图像帧中的特征点可以仅映射到第二图像帧中从第一图像帧重新出现在第二图像帧中的那些特征点。对于这样的特征点的映射的存在可以指示特征点在图像帧的序列110的相继图像帧中对不同效果(诸如感兴趣对象的运动、变形、旋转或缩放)的鲁棒性和不变性。
电子设备102可以被配置为估计第一特征点集合的一个或多个特征点与第二特征点集合的一个或多个特征点之间的特征对应关系集合。该特征对应关系集合可以表示第一特征点集合与第二特征点集合的一个或多个特征点之间的关系,诸如空间关系、基于位置的关系、基于图案的关系、基于形状的关系或基于特征的关系。可以基于一种或多种计算机视觉技术(诸如基于sift的特征点提取或基于surf的特征点提取)来估计特征对应关系集合。作为示例,特征对应关系集合(由(l1)表示)可以是取自第一特征点集合(p1)和第二特征点集合(p2)的有序特征点对的集合,在如下(3)中给出:
例如,第一图像帧112a的第一特征点118a可以与第二图像帧112b的第一特征点120a具有对应关系。类似地,第一图像帧112a的第二特征点118b可以与第二图像帧112b的第二特征点120b具有对应关系。
为了识别感兴趣对象在图像帧的序列110的第二图像帧或相继图像帧中的位置,电子设备102可以被配置为迭代地执行随机采样和共识(ransac)操作。ransac操作可以在属于估计的特征对应关系的集合(诸如l1)的有序特征点对上执行。在ransac操作中,电子设备102还可以被配置为从不同的特征对应关系组中随机地选择一组特征对应关系。所选择的特征对应关系组可以与来自估计的特征对应关系的集合(诸如l1)的数据点的随机样本(可能有噪声)对应。特征对应关系组的选择可以与从第一特征点集合和第二特征点集合中选择一组特征点对应。从不同的特征对应关系组中选择的每组特征对应关系可以包括从估计的特征对应关系的集合中随机选择的两个或更多个特征对应关系。
对于ransac操作中的每次迭代,可以在分别属于第一图像帧和第二图像帧的特征点的组之间应用相似变换。特征点的组可以与随机选择的特征对应关系组对应。电子设备102可以被配置为针对不同的特征对应关系组生成不同的第一运动估计模型。可以基于在不同的特征点组上应用相似变换操作来生成不同的第一运动估计模型。作为示例,可以通过使用不同的建模和预测技术(诸如线性回归、多元回归或逻辑回归)、然后在不同的特征点组上拟合相似变换来生成不同的第一运动估计模型。在某些场景中,不同的第一运动估计模型可以由针对不同的特征对应关系组中的每组特征对应关系所生成的不同的第一相似矩阵来表示。
在ransac操作中,电子设备102还可以被配置为从不同的特征对应关系组中估计与第一图像帧和第二图像帧中的感兴趣对象对应的多个内围(inlier)特征对应关系。可以基于不同的第一运动估计模型来估计多个内围特征对应关系。估计的多个内围特征对应关系可以包括特征点的集合,其可以表示感兴趣对象在第一图像帧和第二图像帧中的位置的变化。例如,在图2、3a和3b中已经详细描述了多个内围特征对应关系的估计的细节。
电子设备102还可以被配置为基于估计的多个内围特征对应关系来生成第二运动估计模型,该第二运动估计模型可以是不同的第一运动估计模型中的优化的运动估计模型。可以通过使用不同的建模和预测技术(诸如线性回归、多元回归或逻辑回归),从而将相似变换拟合到与估计的多个内围特征对应关系对应的特征点集合上来生成第二运动估计模型。最优运动估计模型(即,第二运动估计模型)可以与可以基于其在(一个或多个)相继图像帧中预测所有内围点的运动的准确描述的模型对应。电子设备102还可以被配置为基于第二运动估计模型来跟踪帧序列中的感兴趣对象。更具体而言,使用第一图像帧中的不同内围特征点的位置,可以通过将第二运动估计模型应用于第一图像帧中的内围特征点的位置来识别第二图像帧中的内围特征点的位置。例如,在图2、3a和3b中进一步详细描述了电子设备102的操作。
图2是根据本公开的实施例的用于基于用户指定的初始化点进行对象跟踪的示例性电子设备的框图。结合图1的元素对图2进行解释。参考图2,示出了包括控制电路系统202的电子设备102的框图200。电子设备102还包括存储器204、输入/输出(i/o)设备206和网络接口208。
控制电路系统202可以包括适当的逻辑、电路系统、接口和/或代码,其可以被配置为执行存储在存储器204中的指令集。控制电路系统202可以被配置为在图像帧的序列(例如,视频的相继图像帧)中跟踪一个或多个感兴趣对象。控制电路系统202可以是跟踪器电路系统,其可以被配置为基于第一图像帧中的用户指定的初始化点来初始化图像帧的序列中的相继图像帧中的感兴趣对象的对象跟踪操作。用户指定的初始化点可以与用户输入(例如,鼠标点击事件或屏幕触摸事件)对应。控制电路系统202还可以被配置为管理在图像帧的序列的相继图像帧中一个或多个感兴趣对象的跟踪。控制电路系统202的实施方式的示例可以是基于x86的处理器、图形处理单元(gpu)、精简指令集计算(risc)处理器、专用集成电路(asic)处理器、复杂指令集计算(cisc)处理器、协处理器、微控制器、中央处理单元(cpu)和/或其它控制电路。
存储器204可以包括合适的逻辑、电路系统和/或接口,其可以被配置为存储可由控制电路系统202执行的指令集。存储器204还可以被配置为存储由图像传感器108捕获的图像帧的序列。存储器204的实施方式的示例可以包括但不限于随机存取存储器(ram)、只读存储器(rom)、硬盘驱动器(hdd)和/或安全数字(sd)卡。
i/o设备206可以包括适当的逻辑、电路系统、接口和/或代码,其可以被配置为从用户接收多个输入。i/o设备206可以包括可以被配置为与电子设备102和服务器104通信的各种输入和输出设备。输入设备的示例可以包括但不限于触摸屏、键盘、鼠标、操纵杆、麦克风和/或图像传感器108(图1)。输出设备的示例可以包括但不限于显示屏(例如,液晶显示器(lcd)或发光二极管(led)显示器)和/或扬声器。
网络接口208可以包括合适的逻辑、电路系统、接口和/或代码,其可以被配置为使得能够经由通信网络106在电子设备102和服务器104之间进行通信。网络接口208可以实现已知技术以支持与通信网络106的有线或无线通信。网络接口208可以包括但不限于天线、调频(fm)收发器、射频(rf)收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编码器-解码器(codec)芯片组、用户身份模块(sim)卡和/或本地缓冲器。
网络接口208可以经由无线通信与诸如互联网、内联网的网络和/或诸如蜂窝电话网络、无线局域网(lan)和/或城域网(man)之类的无线网络进行通信。无线通信可以使用多种通信标准、协议和技术中的任何一种,诸如长期演进(lte)、全球移动通信系统(gsm)、增强型数据gsm环境(edge)、宽带码分多址(w-cdma)、码分多址(cdma)、时分多址(tdma)、蓝牙、无线保真(wi-fi)(例如,ieee802.11a、ieee802.11b、ieee802.11g和/或ieee802.11n)、互联网协议语音(voip)、wi-max,用于电子邮件、即时消息和/或短消息服务(sms)的协议。
在操作中,控制电路系统202可以被配置为在第一特征点集合和第二特征点集合上执行ransac操作(即,迭代随机采样)。在ransac操作中,控制电路系统202可以被配置为从不同的特征对应关系组中随机地选择一组特征对应关系。所选择的特征对应关系组可以与估计的特征对应关系的集合(诸如l1)中的数据点的随机样本(可能有噪声)对应。换句话说,控制电路系统202还可以被配置为从第一特征点集合和第二特征点集合中选择一组特征点。特征对应关系组的选择可以与从第一特征点集合和第二特征点集合中选择特征点组对应。不同的特征对应关系组中的每组特征对应关系可以包括从估计的特征对应关系的集合中随机选择的两个或更多个特征对应关系。例如,参考(3),可以由如下(4)给出不同的特征对应关系组(g):
其中,
gi表示对于从1到n变化的i的不同的特征对应关系组(g)中的第i组特征对应关系;以及
(xj,xk)和(xp,xq)表示两个特征对应关系,其包括来自第一图像帧和第二图像帧的一组特征点(xj,xk,xp和xq)。
在一些实施例中,可以基于感兴趣对象的运动参数为每组特征对应关系选择多个特征对应关系。感兴趣对象的运动参数的示例可以包括但不限于与感兴趣对象相关联的平移参数、旋转参数、剪切参数、弯曲参数、变形参数或自由度。
在ransac操作中,在每次迭代中,可以在分别属于第一图像帧和第二图像帧的特征点的组之间应用相似变换。控制电路系统202可以被配置为针对不同的特征对应关系组(即,随机选择的不同的特征对应关系组)生成不同的第一运动估计模型。更具体而言,可以基于在不同特征点组上应用相似变换操作来生成不同的第一运动估计模型。不同特征点组中的每一组可以与不同的特征对应关系组中的一个或多个对应。所生成的不同的第一运动估计模型可以表示第二特征点集合的位置相对于第一特征点集合的位置的移位。
不同的第一运动估计模型可以充当第一特征点集合与第二特征点集合之间的相似度量。第一图像帧中的特定特征点的相似度量可以指示第一图像帧中的特定特征点的不同属性(诸如位置、形状或尺寸)与第二图像帧中的对应特征点不同的程度。
根据实施例,不同的第一运动估计模型可以是由控制电路系统202为不同的特征对应关系组中的每个随机选择的特征对应关系组所生成的不同的相似矩阵。因此,不同的相似矩阵中的第一相似矩阵可以与不同的运动估计模型中的第一运动估计模型对应。而且,第一相似矩阵(由h表示)可以指示针对与随机选择的特征对应关系组对应的特征点组的相似度量。
控制电路系统202还可以被配置为基于在对应的第一运动估计模型(h)和对应的特征对应关系组上应用评分模型来为每个不同的第一运动估计模型计算分数。换句话说,可以针对为特征点组生成的每个第一相似矩阵计算分数。作为示例,可以使用可以由如下等式(5)给出的评分模型(由s(h,l1)表示)来计算每个不同的第一运动估计模型的分数:
其中,
h表示第一运动估计模型,即,生成的第一相似矩阵;
l1是特征对应关系的集合;
α是第一参数,其指示在两个特征点之间的距离的测量误差的强调(emphasis);以及
δ是第二参数,其控制评分模型的指数分量衰减多快。
计算出的分数可以强调对应的第一运动估计模型的特征点组应当出现在用户指定的初始化点附近,并且在感兴趣对象的运动的描绘中误差较小。因此,针对不同的第一运动估计模型中的每个第一运动估计模型的计算出的分数可以取决于强调特征点位于用户指定的初始化点附近的指数分量(如等式(4)中所提供的)。针对不同的第一运动估计模型中的每个第一运动估计模型的计算出的分数还可以取决于基于将线性回归应用于所选择的特征点组而获得的所选择的特征点组的残差。
控制电路系统202还可以被配置为针对不同的第一运动估计模型的每个第一运动估计模型(即,相似矩阵)计算位置估计误差。每个第一运动估计模型(即,相似矩阵)的位置估计误差可以与一数量的像素的偏差对应,第一特征点集合中的特征点的实际位置与第二特征点集合中相同特征点的估计位置偏离该数量的像素。作为示例,对于每个相似矩阵(h),即,对于每个第一运动估计模型,可以通过如下等式(6)估计位置估计误差
其中,
||.||表示xit-1和hxit-1的范数;
xit-1表示第一图像帧(由t-1表示)的第一特征点集合中的特征点;
h表示相似矩阵。
对于每个第一运动估计模型(即,每个相似矩阵(h)),控制电路系统202还可以被配置为基于位置估计误差
其中,
t以像素数量表示基于像素的阈值;以及
控制电路系统202还可以被配置为从不同的特征对应关系组估计与第一图像帧和第二图像帧中的感兴趣对象对应的多个内围特征对应关系。控制电路系统202还可以被配置为针对每个不同的第一运动估计模型确定计算出分数的最大值。估计出的多个内围特征对应关系可以是内围特征对应关系的集合中计算出的分数为最大值的特征对应关系。换句话说,可以将内围特征点的集合(e)(与估计出的多个内围特征对应关系相关联)与来自不同的第一运动估计模型中的具有最大计算出的分数的一个或多个第一运动估计模型相关联。
估计出的多个内围特征对应关系可以包括内围特征点的集合(e)。内围特征点的集合(e)可以表示感兴趣对象在第一图像帧和第二图像帧中的位置的改变。可以基于不同的第一运动估计模型来估计多个内围特征对应关系。多个内围特征对应关系的估计可以对应于通过在与不同的特征对应关系组对应的不同的特征点组上应用线性回归的不同的第一运动估计模型的拟合。
控制电路系统202可以被配置为生成第二运动估计模型(ht),该第二运动估计模型可以是不同的第一运动估计模型中的优化的运动估计模型。可以基于估计出的多个内围特征对应关系来生成第二运动估计模型。第二运动估计模型的生成可以与基于与估计出的多个内围特征对应关系对应的内围特征点的集合(e)的最优相似矩阵的生成对应。最优相似矩阵(与第二运动估计模型对应)可以与相似矩阵对应,基于该相似矩阵可以预测(一个或多个)相继图像帧中所有内围点的运动的准确描述。根据实施例,第二运动估计模型(ht)可以通过在估计的多个内围特征对应关系中的内围特征点的集合(e)上应用诸如线性回归模型之类的回归模型来生成。回归模型可以包括第二运动估计模型(ht)上的最小二乘法(ls)或归一化ls的估计。第二运动估计模型(ht)或重新计算的相似矩阵可以在图像帧的序列中最优地表示感兴趣对象的运动。
作为示例,对于内围特征点的集合(e),可以基于第一图像帧和第二图像帧中的特征点的集合(e)的范数(诸如l2范数或欧几里得范数)的最小和来估计第二运动估计模型(ht)或最优相似矩阵。第二运动估计模型(ht)可以通过如下等式(8)来估计:
其中,
根据实施例,一旦估计出第二运动估计模型(ht),控制电路系统202就可以进一步被配置为更新属于第二图像帧的第二特征点集合中的内围特征点的位置。可以基于估计出的第二运动估计模型(ht)来更新内围特征点的位置。第二图像帧的内围特征点的更新后的位置可以由如下等式(9)给出:
st=ht*st-1(9)
其中,
st-1是内围特征点的集合(e)中内围特征点的更新后的位置;以及
st是内围特征点的集合(e)中内围特征点的实际位置。
控制电路系统202还可以被配置为基于第二运动估计模型(ht)在图像帧的序列中跟踪感兴趣对象。在一些实施例中,可以基于每对连续帧中的内围特征点的位置的更新在相继帧中跟踪感兴趣对象的路径。根据实施例,控制电路系统202还可以被配置为在图像帧的序列的相继图像帧中被跟踪的感兴趣对象上叠加对象信息。作为示例,覆盖的对象信息可以包括对象标签和包围住图像帧的序列中由感兴趣对象占据的区域的边界框。
常规的对象跟踪解决方案可能要求用户通过使用诸如计算机鼠标之类的指向设备在感兴趣对象周围绘制边界框。与常规解决方案相比,控制电路系统202可以被配置为仅基于作为用户输入从用户接收的单个初始化点来选择要跟踪的感兴趣对象。
在其它常规解决方案中,为了跟踪感兴趣对象,常规的对象跟踪装置可以从图像帧的序列的图像帧中分割图像区域(与感兴趣对象对应)。常规的对象跟踪装置可以通过使用各种对象分割技术(诸如基于显著性的对象分割或基于模式的对象分割)对图像区域进行分割。通过应用此类对象分割技术对感兴趣对象进行分割可能是计算资源密集的,并且可能不适合在实况视频中跟踪感兴趣对象。相反,控制电路系统202可以被配置为基于图像帧的序列的连续图像帧中的内围特征点和离群(outlier)特征点的识别来跟踪感兴趣对象。
图3a和3b共同图示了根据本公开的实施例的用于实现图2的电子设备的第一示例性场景。结合图1和图2中的元素共同解释图3a和3b。控制电路系统202可以被配置为通过使用图像传感器108来捕获图像帧的序列,并且进一步在显示设备上向i/o设备206的用户显示所捕获的图像帧的序列。
在302a处,可以在显示在显示设备上的第一图像帧304a上接收第一输入。第一输入可以由控制电路系统202经由i/o设备206从用户接收。第一输入可以与初始化点306对应。控制电路系统202可以被配置为选择初始化点306作为参考点以用于对图像帧的序列中的感兴趣对象308的跟踪操作进行初始化。初始化点306可以是在第一图像帧304a中与感兴趣对象308相关联的区域上的内围点。
在302b处,可以分别从第一图像帧304a和第二图像帧304b中提取第一特征点集合310和第二特征点集合312。控制电路系统202可以被配置为提取第一特征点集合310,使得第一图像帧304a中的第一特征点集合310与初始化点306之间的距离小于或等于第一阈值距离。类似地,控制电路系统202可以被配置为提取第二特征点集合312,使得第二图像帧304b中的第二特征点集合312与第一图像帧304a中的初始化点306之间的距离小于或等于第二阈值距离。作为示例,第一阈值距离可以是第一图像帧304a的宽度的“20%”,并且第二阈值距离可以是第一阈值距离的尺寸的两倍(或更多,取决于感兴趣对象308的速度),诸如第一图像帧304a的宽度的“40%”。用于第一图像帧304a的第一阈值距离可以不同于用于第二图像帧304b的第二阈值距离。
在302c处,可以在第一特征点集合310与第二特征点集合312之间估计特征对应关系的集合(如点线314所指示的)。控制电路系统202可以被配置为基于图像特征提取技术(诸如brisk、sift、surf、orb(如图1中所提到的))的应用来估计特征对应关系的集合(即,对应关系数据点或特征点的有序对)。控制电路系统202可以被配置为基于对第一特征点集合310和第二特征点集合312的ransac操作从第一图像帧304a和第二图像帧304b估计多个内围特征对应关系。例如,在图1和2中已经详细描述了ransac操作的细节。控制电路系统202可以被配置为从第一图像帧304a和第二图像帧304b识别多个内围特征对应关系。多个内围特征对应关系可以与第一图像帧304a和第二图像帧304b的内围特征点的集合(在点线框316内示出)对应。控制电路系统202还可以被配置为生成在内围特征点的集合上拟合的最优相似矩阵,并且还基于最优相似矩阵在图像帧的序列中跟踪感兴趣对象308。在一些实施例中,可以基于每对连续帧中的内围特征点的位置的更新在相继帧中跟踪感兴趣对象308的路径。
在302d处,控制电路系统202可以被配置为在图像帧的序列的相继图像帧304c中被跟踪的感兴趣对象308上覆盖对象信息。作为示例,覆盖的对象信息可以包括对象标签(诸如“对象a”)和包围住图像帧的序列中由感兴趣对象308占据的区域的边界框318。
图4a和图4b共同描绘了图示根据本公开的实施例的用于基于用户指定的初始化点进行对象跟踪的示例性方法的流程图。参考图4a和4b,示出了流程图400。结合图1、2、3a和3b描述了流程图400。该方法开始于402并且前进到404。
在404处,可以从图像传感器108的视场(fov)内的场景捕获图像帧的序列。图像传感器108可以被配置为从图像传感器108的视场(fov)内的场景捕获图像帧的序列,如图1中所讨论的。
在406处,图像帧的序列可以存储在存储器204中。作为示例,图像帧的序列110可以包括第一图像帧112a和第二图像帧112b。控制电路系统202可以被配置为存储图像帧的序列,该图像帧的序列可以被存储在存储器204中。
在408处,图像帧的序列可以显示在i/o设备206上。图像帧的序列110可以是实况视频,诸如闭路电视(cctv)镜头。控制电路系统202可以被配置为在诸如智能电视、智能电话、发光二极管(led屏幕)或液晶显示(lcd)屏幕之类的显示设备上将图像帧的序列显示为实况预览。
在410处,可以经由i/o设备206从与电子设备102相关联的用户接收第一输入。第一输入可以与初始化点116在第一图像帧112a中的位置对应。控制电路系统202可以被配置为经由i/o设备206从与电子设备102相关联的用户接收第一输入。
在412处,响应于第一输入,可以在图像帧的序列的回放时间接收用户指定的初始化点。用户指定的初始化点可以与感兴趣对象在图像帧的序列的第一图像帧中的位置对应。控制电路系统202可以被配置为响应于第一输入而在图像帧的序列的回放时间接收用户指定的初始化点。第一图像帧中用户指定的初始化点可以是用于对象跟踪操作的初始化点。初始化点可以位于第一图像帧的第一图像区域中并且表示第一图像帧中的感兴趣对象。
在414处,响应于第一输入,可以从第一图像帧和第二图像帧中提取第一特征点集合和第二特征点集合。第一特征点集合和第二特征点集合可以分别存在于距用户指定的初始化点的第一阈值距离和第二阈值距离内。控制电路系统202可以被配置为响应于第一输入而从第一图像帧和第二图像帧中提取第一特征点集合和第二特征点集合。
在416处,可以估计第一特征点集合与第二特征点集合之间的特征对应关系的集合。控制电路系统202可以被配置为估计第一特征点集合与第二特征点集合之间的特征对应关系的集合。
在418处,可以从估计的特征对应关系的集合中随机地选择一组特征对应关系。控制电路系统202可以被配置为从估计的特征对应关系的集合中随机地选择特征对应关系组,如图1和2中所讨论的。特征对应关系的组的选择可以与从第一特征点集合和第二特征点集合中选择特征点组对应。来自不同的特征对应关系组的每组特征对应关系可以包括从估计的特征对应关系的集合中随机选择的两个或更多个特征对应关系。
在420处,可以生成用于特征对应关系的集合的不同的特征对应关系组的不同的第一运动估计模型。控制电路系统202可以被配置为针对该特征对应关系的集合的不同的特征对应关系组生成不同的第一运动估计模型。根据第二特征点集合相对于第一特征点集合之间的相似变换,不同的第一运动估计模型可以表示第二特征点集合相对于第一特征点集合的位置移位。每个第一运动估计模型可以由第一相似矩阵表示。可以为不同的特征对应关系组中的每一组生成第一相似矩阵。
在422处,可以基于不同的第一运动估计模型来估计多个内围特征对应关系。如图1和2中所讨论的,控制电路系统202可以被配置为基于不同的第一运动估计模型来估计多个内围特征对应关系。多个内围特征对应关系可以与第一图像帧和第二图像帧中的感兴趣对象对应。
在424处,可以基于估计的多个内围特征对应关系来生成第二运动估计模型。第二运动估计模型可以是不同的第一运动估计模型中的优化的运动估计模型。控制电路系统202可以被配置为基于估计的多个内围特征对应关系来生成第二运动估计模型。
在426处,可以基于第二运动估计模型在图像帧的序列中跟踪感兴趣对象。控制电路系统202可以被配置为基于第二运动估计模型来在图像帧的序列110中跟踪感兴趣对象。控制结束。
本公开的各种实施例可以提供其上存储有机器代码和/或可由机器(诸如电子设备102和/或计算机)执行的指令集的非暂态计算机可读介质和/或存储介质,和/或非暂态机器可读介质和/或存储介质。电子设备102中的指令集可以使机器和/或计算机执行包括存储图像帧的序列的操作,该图像帧的序列包括第一图像帧和第二图像帧。操作还可以包括估计第一图像帧中的第一特征点集合与第二图像帧中的第二特征点集合之间的特征对应关系的集合。第一特征点集合可以存在于距用户指定的初始化点的第一阈值距离内。用户指定的初始化点可以与图像帧的序列中的感兴趣对象对应。操作还可以包括针对估计的特征对应关系的集合中的不同的特征对应关系组生成不同的第一运动估计模型。根据第二特征点集合相对于第一特征点集合之间的相似变换,不同的第一运动估计模型可以表示第二特征点集合相对于第一特征点集合的位置移位。操作还可以包括基于不同的第一运动估计模型从不同的特征对应关系组中估计与第一图像帧和第二图像帧中的感兴趣对象对应的多个内围特征对应关系。操作还可以包括生成第二运动估计模型并且还基于第二运动估计模型在帧的序列中跟踪感兴趣对象。第二运动估计模型可以是不同的第一运动估计模型中的优化的运动估计模型,其基于估计的多个内围特征对应关系而生成。
可以在用于基于用户指定的初始化点(例如,初始化点116)进行对象跟踪的电子设备(诸如电子设备102)中找到本公开的各种实施例。电子设备可以包括存储器(诸如存储器204)和控制电路系统(诸如控制电路系统202)。存储器可以被配置为存储图像帧的序列,该图像帧的序列包括第一图像帧(诸如第一图像帧112a)和第二图像帧(诸如第二图像帧112b)。控制电路可以被配置为估计第一图像帧中的第一特征点集合与第二图像帧中的第二特征点集合之间的特征对应关系的集合。第一特征点集合可以存在于距用户指定的初始化点的第一阈值距离内。用户指定的初始化点可以与图像帧的序列中的感兴趣对象对应。控制电路系统还可以被配置为针对估计的特征对应关系的集合的不同的特征对应关系组生成不同的第一运动估计模型。根据第二特征点集合相对于第一特征点集合之间的相似变换,不同的第一运动估计模型可以表示第二特征点集合相对于第一特征点集合的位置的移位。控制电路系统还可以被配置为基于不同的第一运动估计模型从不同的特征对应关系组中估计与第一图像帧和第二图像帧中的感兴趣对象对应的多个内围特征对应关系。控制电路系统还可以被配置为生成第二运动估计模型并且还基于第二运动估计模型在帧的序列中跟踪感兴趣对象。第二运动估计模型可以是不同的第一运动估计模型中的优化的运动估计模型,其基于估计的多个内围特征对应关系而生成。
根据实施例,电子设备还可以包括图像传感器(诸如图像传感器108)。图像传感器可以被配置为捕获图像传感器的视场(fov)内的场景的图像帧的序列。
根据实施例,控制电路系统还可以被配置为响应于第一输入而在图像帧的序列的回放时间接收用户指定的初始化点。用户指定的初始化点可以与感兴趣对象在图像帧的序列的第一图像帧中的位置对应。控制电路系统还可以被配置为响应于第一输入而从第一图像帧中提取第一特征点集合并从第二图像帧中提取第二特征点集合。第二特征点集合可以存在于距用户指定的初始化点的第二阈值距离内。
根据实施例,控制电路系统还可以被配置为从不同的特征对应关系组中随机地选择一组特征对应关系。特征对应关系组的选择与从第一特征点集合和第二特征点集合中选择一组特征点对应。不同的特征对应关系组中的每组特征对应关系可以包括从估计的特征对应关系的集合中随机选择的两个或更多个特征对应关系。根据实施例,可以基于与感兴趣对象相关联的运动参数来选择每组特征对应关系中的多个特征对应关系。运动参数可以是以下至少之一:与感兴趣对象相关联的平移参数、旋转参数、剪切参数、弯曲参数、变形参数或自由度。
根据实施例,控制电路系统还可以被配置为针对不同的特征对应关系组中的每组特征对应关系生成第一相似矩阵,其中,对于每组特征对应关系,第一相似矩阵是不同的第一运动估计模型中的第一运动估计模型。
根据实施例,控制电路系统还可以被配置为基于在对应的第一运动估计模型和对应的一组特征对应关系上应用评分模型来为每个不同的第一运动估计模型计算分数。可以基于用于对应的运动估计模型的一组特征点与用户指定的初始化点的接近度来完成分数的计算。
根据实施例,控制电路系统还可以被配置为针对不同的第一运动估计模型中的每个第一运动估计模型来估计内围特征对应关系的集合。可以基于针对不同的第一运动估计模型的每个第一运动估计模型的位置估计误差与基于像素的阈值的比较来估计内围特征对应关系的集合。不同的第一运动估计模型中的每个第一运动估计模型的位置估计误差可以与一数量的像素的偏差对应,实际位置与第一特征点集合和第二特征点集合中的每个特征点的估计位置偏离该数量的像素。控制电路系统还可以被配置为针对不同的第一运动估计模型中的每一个确定计算出的分数的最大值。估计的多个内围特征对应关系可以是内围特征对应关系的集合中计算出的分数为最大值的特征对应关系。
根据实施例,可以通过在估计的多个内围特征对应关系中的内围特征点的集合上应用回归模型来生成第二运动估计模型。
本公开可以用硬件或硬件和软件的组合来实现。本公开可以以集中式方式、以至少一个计算机系统或以分布式的方式来实现,其中不同的元件可以分布在多个互连的计算机系统上。适于执行本文描述的方法的计算机系统或其它装置可以是合适的。硬件和软件的组合可以是具有计算机程序的通用计算机系统,该计算机程序在被加载和执行时可以控制计算机系统,以使其执行本文描述的方法。本公开可以用包括还执行其它功能的一部分集成电路的硬件来实现。
本公开还可以被嵌入计算机程序产品中,该计算机程序产品包括使得能够实现本文描述的方法的所有特征,并且当其被加载到计算机系统中时,能够执行这些方法。虽然已经参考某些实施例描述了本公开,但是本领域技术人员将理解,在不偏离本公开的范围的情况下,可以进行各种改变并且可以替换等同物。另外,在不偏离本公开的范围的情况下,可以做出许多修改以使特定情况或材料适于本公开的教导。因此,意图是本公开不限于所公开的特定实施例,而是本公开将包括落入所附权利要求的范围内的所有实施例。