用于检测对象的设备和方法

文档序号:10595110阅读:768来源:国知局
用于检测对象的设备和方法
【专利摘要】提供了一种用于检测对象的设备和方法。所述设备可以包括:存储器,被配置为存储指令;以及处理器,被配置为执行所述指令,以获得包含于图像帧中的感兴趣区域的图像数据。所述处理器还被配置为比较所述感兴趣区域的图像数据与背景的图像数据,以检测在所述感兴趣区域中的变化。所述处理器还被配置为基于检测到的变化检测在图像帧中的对象。
【专利说明】
用于检测对象的设备和方法
技术领域
[0001]本公开总体涉及计算机视觉技术,更具体地,涉及用于从一个或多个图像帧中检测和跟踪移动对象的系统和方法。【背景技术】
[0002]随着技术的进步和需求的增加,视频监控技术得以快速发展并广泛用于多个领域,例如智能监控和运输。视频监控指的是这样的任意一种技术:其利用摄像机或其它成像传感器来捕捉环境的一个或多个图像,并执行图像分析来为各种目的识别对象和/或获得信息。检测和跟踪移动对象是计算机视觉搜索的重要主题。技术进步以及移动对象检测和跟踪的实现吸引了社会的大量关注。
[0003]用于检测移动对象的传统技术包括:基于光流的方法,基于帧差的方法,基于背景差或基于背景减除的方法,基于颜色跟踪(例如,均值偏移(meanshift))的方法,以及基于模式识别的对象检测和跟踪方法。
[0004]基于光流的方法使用光流的特性(例如,从随着时间捕捉到的图像导出的像素移动向量)来检测和跟踪移动对象。然而,基于光流的方法需要复杂的计算。另外,基于光流的方法对信号噪声敏感。为了实现实时地检测和跟踪移动对象,这些方法要求较强的计算能力。
[0005]基于帧差的方法基于差别方法在随着时间连续获得的两个或三个图像中检测移动区域。这些方法相对简单并对场景中光的变化不敏感。然而,容易在检测到的移动对象中具有空隙空间。结果,检测到的移动区域往往不完整。
[0006]背景差或减除的方法被频繁用于运动检测中。这些方法计算当前图像帧和背景图像(或图像帧)之间的差以获得移动区域。这些方法通常产生完整的移动区域。然而,这些方法对光和场景的变化敏感,并可能在结果中呈现出噪声,这可能限制这些方法的有效性。
[0007]基于颜色跟踪的方法的例子包括均值偏移和连续自适应均值偏移(camshift)方法。连续自适应均值偏移方法使用对象颜色的直方图模型来获得背投(back project1n) 模型,由此将图像数据转换为颜色的概率分布图,并基于颜色实现跟踪。均值偏移方法是基于密度函数梯度的非参数方法。这些方法通过经由迭代发现概率分布的极值而在图像数据中定位对象。这些方法使用对象的颜色作为跟踪的首要信息,并且快速且有效地跟踪单颜色移动对象。然而,这些方法对颜色敏感。例如,当背景包括颜色接近移动对象的颜色的对象时,这些方法可能会错误地跟踪背景中的对象。
[0008]基于模式识别的对象检测和跟踪方法提前学习对象的特性,然后基于提取学习的特性从图像中检测所述对象。这些方法对于某些移动对象(例如,行人、车辆等)是有效的。 然而,这些方法的计算需求较大,这将对处理硬件产生高的负荷。
[0009]所公开的方法和系统解决了上述一个或多个问题。例如,公开的方法和系统可以准确、快速和有效地从图像中检测对象的移动方向,并开始跟踪移动对象。
【发明内容】

[0010]与本公开的一个公开实施例一致地,提供了一种设备。所述设备可以包括:存储器,被配置为存储指令;以及处理器,被配置为执行所述指令,以获得包含于图像帧中的感兴趣区域的图像数据。所述处理器还被配置为比较所述感兴趣区域的图像数据与背景的图像数据,检测在所述感兴趣区域中的变化。所述处理器还可以被配置为基于检测到的变化检测在图像帧中的对象。
[0011]与本公开的另一公开实施例一致地,提供了一种用于检测对象的方法。所述方法可以包括获得包含于图像帧中的感兴趣区域的图像数据。所述方法还可以包括比较所述感兴趣区域的图像数据与背景的图像数据,以检测在所述感兴趣区域中的变化。所述方法还可以包括基于检测到的变化检测在图像帧中的对象。
[0012]与本公开的又一公开实施例一致地,提供了一种非瞬态计算机可读介质。所述非瞬态计算机可读介质可以存储指令,当被处理器执行时,所述指令使得所述处理器执行用于检测对象的方法。所述方法可以包括获得包含于图像帧中的感兴趣区域的图像数据。所述方法还可以包括比较所述感兴趣区域的图像数据与背景的图像数据,以检测在所述感兴趣区域中的变化。所述方法还可以包括基于检测到的变化检测在图像帧中的对象。
[0013]可以理解的是,上述通用描述和后续详细描述都只是示例性和解释性的,而并不限制如所要求保护的本发明。【附图说明】
[0014]附图并入并构成本说明书的一部分,示出了与本公开一致的实施例,并与说明书一起用于解释本公开的原理。
[0015]图1是示出根据示例性实施例的用于检测对象的系统的示意图。
[0016]图2是根据示例性实施例的用于检测对象的系统的框图。
[0017]图3A是示出根据示例性实施例的用于检测对象的方法的图像帧。
[0018]图3B是示出根据示例性实施例的用于检测对象的方法的另一图像帧。
[0019]图3C是示出根据示例性实施例的用于检测对象的方法的另一图像帧。
[0020]图4是示出根据示例性实施例的用于检测对象的方法的流程图。
[0021]图5是示出根据示例性实施例的用于更新背景的图像数据的方法的流程图。[〇〇22]图6示出了根据示例性实施例的三个感兴趣区域的布置。
[0023]图7是示出根据示例性实施例的用于检测对象的方法的流程图。【具体实施方式】[〇〇24]所公开的实施例提供用于从摄像机所捕捉的图像帧中检测对象(例如,移动对象) 的基于计算机视觉的系统和方法。所公开的实施例可以检测移动对象并实时跟踪移动对象。所公开的实施例可以以准确、快速和有效的方式从图像帧中检测和跟踪移动对象。另夕卜,所公开的系统和方法可以实现同时监视环境中的特定区域并检测和跟踪在所述区域中的移动对象。因此,所公开的系统可以消除建立两个不同系统的必要,其中一个系统用于监视区域,而另一系统检测和跟踪在所述区域中的移动对象。此外,所公开的方法可以实现为需要小的存储器尺寸和低的计算成本的算法。因此,所公开的方法可以实现于嵌入式系统中,例如,车辆、可穿戴设备、飞机等,其不具有较强的计算能力。
[0025]现在详细参考示例性实施例,其例子在附图中示出。后续描述参考附图,除非另有表示,否则在附图的不同图中相同的标记表示相同或类似元件。在示例性实施例的后续描述中阐述的实现方式不表示与本发明一致的所有实现方式。相反,它们只是与在随附权利要求中记叙的本发明相关的各方面一致的设备和方法的例子。
[0026]图1是示出用于从图像帧中检测对象的系统100的示意图。如图1所示,系统100可以包括图像捕捉设备105,其被配置为捕捉环境的多个图像帧。所述系统100可以包括对象 110,例如移动对象。由图像捕捉设备105捕捉到的图像帧可以包括一个或多个图像。在图像帧中包含的对象可以是静止的或移动的任意对象,例如,人、车辆、飞机、飞球、轮船、动物、 昆虫,等等。仅出于说明性目的,在图1中将对象110示出为人。
[0027]图像捕捉设备105可以包括摄像机,例如视频摄像机、数字照相机、红外摄像机,等等。为了讨论的简便,图像捕捉设备105可以被称作摄像机105。摄像机105可以具有由虚线 112和113示出的视野。摄像机105可以安装在摄像机架115上,后者还可以(例如,作为可穿戴设备)附到另一人、车辆、家具、街道上的杆、办公室的墙壁、房屋、或建筑物、屋顶等。摄像机架115可以包括电动机120。电动机120可以配置为调整摄像机105的角度,例如,摇头角度、倾斜角度。在一些实施例中,摄像机105的角度可以在所有方向上进行调整。当电动机 120调整摄像机105的角度时,摄像机105的视野也相应被调整。电动机120可以包括任意适当的电动机,例如步进式电动机、无刷电动机等。[〇〇28] 所公开的系统可以包括计算机130。计算机130可以包括监视器、处理器、存储器、 存储设备和其它部件。计算机130可以通过网络135与摄像机105通信,所述网络135可以是有线或无线网络。网络135可以通过有线连接(例如,电线、电缆等)或无线连接(例如,红外、 Wif1、蓝牙、近场通信连接、蜂窝连接、无线电连接等),在摄像机105和计算机130之间进行数据传输。摄像机105可以将捕捉到的图像帧发送到计算机130。计算机130可以将信号发送到摄像机105以控制摄像机105的各种设置,例如缩放、像素分辨率等。计算机130还可以将控制信号发送给电动机120以调整摄像机105的角度,由此改变摄像机105的视野。例如,当计算机130从由摄像机105捕捉到的图像帧中检测到移动对象(例如,人110)时,计算机130 可以将控制信号发送到电动机120以调整摄像机105的角度,从而视野跟随移动对象110移动。因此,系统100可以从多个图像帧中检测移动对象110,并跟踪移动对象110。
[0029]虽然在图1中示出为单独的部件,但计算机130的一些或所有功能可以与摄像机 105集成为单个单元。例如,摄像机105可以包括处理器、存储器、控制器或控制模块作为单个单元。在这种实施例中,可以不需要单独的计算机130和/或网络135。
[0030]图2是用于在多个图像帧中检测和/或跟踪对象的系统或设备200的框图。系统200 可以包括图像捕捉模块205、处理器210、存储器215和控制模块220。虽然在图2中仅示出了一个图像捕捉模块205、一个处理器210、一个存储器215和一个控制模块220,但系统200还可以包括多于一个的图像捕捉模块205、多于一个的处理器210、多于一个的存储器215和多于一个的控制模块220。另外,系统200可以包括额外的部件。例如,系统200可以包括存储设备,其配置为存储数据,例如,从摄像机105接收到的图像数据。系统200可以包括输入/输出设备,例如,键盘、鼠标、USB端口、监视器或屏幕等。在一些实施例中,系统200可以包括在系统10 0内包含的一些或所有部件,反之亦然。例如,系统2 0 0可以包括如图1所示的摄像机 105、摄像机架115、电动机120、计算机130和网络135。例如,摄像机105和摄像机架115可以包含于图像捕捉模块205中。电动机120可以包含于控制模块220中,并且计算机130可以包括处理器210。网络135可以包含于系统200中,用于在系统200中包含的各个部件之间进行数据通信。
[0031]在系统200中包含的部件可以通过任意适当的通信方式彼此通信,所述通信方式例如是数据和/或信号传输总线、电缆或者其它有线和/或无线传输方式。例如,各个部件可以通过在图1中示出的网络135彼此通信。虽然在图2中在处理器210和图像捕捉模块205、存储器215和控制模块220之间示出了示意性通信线路,但是在图2中示出的每个部件可以与另一部件直接或间接地通过适当的通信连接而通信(例如,发送数据或信号)。
[0032]在图2中示出的图像捕捉模块205可以包括硬件部件、软件部件或其组合。图像捕捉模块205可以配置为捕捉包括对象的环境的一个或多个图像帧,所述对象可以是静止对象或移动对象。虽然所公开的系统和方法在以下实施例中被说明为被配置为检测移动对象,但是所公开的系统和方法还可以用于从图像帧中检测任意对象,包括静止对象。
[0033]图像捕捉模块205可以包括硬件部件,例如任意适当的光学或非光学图像捕捉设备或传感器。例如,图像捕捉模块205可以包括一个或多个视频摄像机、数字摄像机、胶片摄像机、红外摄像机等。在一个实施例中,图像捕捉模块205包括图1所示的摄像机105。图像捕捉模块205还可以包括图1所示的摄像机架115和/或电动机120。[〇〇34]图像捕捉模块205可以包括软件部件,例如图像处理代码,用于实现与图像捕捉和/或处理相关的方法。在一些实施例中,可以将图像捕捉模块205捕捉到的图像帧直接发送到处理器210以供处理。在一些实施例中,由图像捕捉模块205捕捉到的图像帧可以存储于存储器215中(或在系统200内包含的其它存储设备中),并通过处理器210取回或读出以供处理。[〇〇35]处理器210可以配置为(例如,编程为)处理指令以执行所公开的用于从图像捕捉模块205捕捉到的多个图像帧中检测和/或跟踪对象(例如,移动对象)的方法。例如,处理器 210可以配置为从图像捕捉模块205或存储器215获得一个或多个图像帧的图像数据。处理器210可以配置为处理图像数据以从图像帧中检测和/或跟踪对象,例如移动对象。[〇〇36] 处理器210可以包括硬件和/或软件部件。例如,处理器210可以包括硬件部件,例如以下中的至少一个:中央处理单元(CPU)、图形处理单元(GPU)、微处理器、数字信号处理器、电路等。在一些实施例中,处理器210可以包括任意适当类型的通用处理器、微处理器和控制器。在一些实施例中,处理器210还可以包括专用微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑设备 (PLD)、或现场可编程门阵列(FPGA)。[〇〇37] 处理器210还可以包括可执行软件代码,其嵌入到处理器210的电路中或存储于存储器215中,用于执行处理器210所提供的计算功能和/或图像处理功能。在一些实施例中, 处理器210可以实现为软件,用于执行所公开用于检测和/或跟踪对象(例如,移动对象)的方法。在一个实施例中,处理器210可以包含于图1所示的计算机130中。计算机130可以包含于图2所示的系统200中。
[0038]存储器215可以包括任意适当的非瞬态计算机可读介质。存储器215可以利用以下任意类型的设备实现:易失性或非易失性存储器设备,或其组合,例如,静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)。可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪存、磁盘或光盘。[〇〇39]除了可执行代码外,存储器215还可以配置为存储数据,例如由图像捕捉模块205 捕捉到的多个图像帧的图像数据。在一些实施例中,处理器210可以从存储器215中读出或取回图像数据以供处理。
[0040]存储器215可以包括各种数据库和图像处理软件。例如,存储器215可以存储可以由处理器210执行的指令。当由处理器210执行时,指令可以使得处理器210(和/或系统200) 执行所公开的用于从图像帧中检测和/或跟踪对象的方法,例如,检测和跟踪移动对象。
[0041]控制模块220可以包括硬件和/或软件部件,其配置为执行各种控制功能。例如,控制模块220可以包括一个或多个电路,其配置为驱动安装在装有摄像机(例如,摄像机105) 的摄像机架(例如,摄像机架115)上的电动机(例如,电动机120)。电动机120可以配置为改变摄像机105的安装角度或者摄像机105指向的角度,由此改变摄像机105的视野。例如,当处理器210从由图像捕捉模块205(其可以包括摄像机105)捕捉到的多个图像帧检测到移动对象时,处理器210可以例如通过控制模块220将控制信号发送到电动机120。所述控制信号可以驱动电动机120调整摄像机105的角度(例如,摇头角度和/或倾斜角度),由此改变摄像机105的视野,例如用于跟踪在图像帧中识别出的移动对象。[〇〇42]图3A示出了用于说明所公开的用于检测和/或跟踪对象(例如,移动对象)的方法的示例性图像帧。如图3A所示,图像帧301由图像捕捉模块205所捕捉。图像捕捉模块205可以包括摄像机(例如,摄像机105),其视野由图像帧301的边界表示。处理器210可以从图像捕捉模块205或从存储由图像捕捉模块205捕捉到的图像帧的图像数据的存储器215获得图像帧301的图像数据。[〇〇43]在图3A中,图像帧301包括由摄像机捕捉到的办公室环境的图像。人们可以在办公室空间四处走动。人可以进入摄像机的视野并被检测为移动对象。在图3A所示的例子中,对象305 (人)在摄像机的视野内在办公室空间中走动。[〇〇44] 在每个图像帧中可以布置一个或多个感兴趣区域(R0I)。在图3A中示出的R0I包括左边R0I 311、中间R0I 312和右边R0I 313。虽然示出在图像帧301中布置了三个R0I,但所公开的系统和方法可以使用仅一个R01、两个R0I或多于三个R0I,例如四个R01、五个R0I。当使用一个R0I时,系统可以检测进入或离开R0I的移动对象。然而,一 R0I系统不可以检测R0I 的移动方向。当使用两个R0I时,系统可以检测移动对象的移动方向和速度。然而,两R0I系统可能对环境变化敏感。当使用三个R0I,如图3A所示,系统可以实现健壮、快速和准确地检测移动对象。[〇〇45]三个R0I可以布置在视野的中央部分处(例如,在图像帧301的中央部分处)。例如, 三个R0I可以在约图像帧301的中央1/3部分布置为一组。虽然示出了一组三个R0I布置在图像帧301的中央部分处,但所公开的系统和方法可以使用多组R0I在图像帧301中用于同时检测多个移动对象。例如,图像帧301可以包括两组或更多组R0I布置在图像帧301的适当位置处,用于检测和/或跟踪在图像帧301的两个或更多区域中的两个或更多移动对象。包含于不同组的R0I中的R0I数量可以相同或不同。[〇〇46] 在图3A所示的实施例中,R0I 311、312、313中的每一个可以包括由两个垂直平行线限定的狭窄、垂直延伸的矩形区域,如图3A中所示。在其它实施例中,可以通过形成其它形状(例如,圆形、椭圆、三角形等)的线限定ROI。另外,可以限定ROI具有不同形状。如图3A 所示,限定不同ROI的垂直线可以以不同颜色示出。在一些实施例中,它们可以以相同的颜色示出。在一些实施例中,限定ROI的线可能不随同图像帧显示。它们可能仅为说明所公开方法而在图3A-3C中示出。在一些实施例中,可以随同图像帧一起显示其他形式的指示符 (不同于图3A-3C中示出的线)来表示ROI。在图3A示出的实施例中,ROI 31U312和313彼此分离,并且在视野内布置在同一高度处。在一些实施例中,ROI可以均匀地分布在图像帧301 的中央1/3区域中。在一些实施例中,在左边ROI 311和中间ROI 312之间的距离可以不同于在中间ROI 312和右边ROI 313之间的距离。包含于图像帧中的ROI的维度和形状可以相同或不同,并可以是固定的或可以动态调整的。[〇〇47]在图3A所示的实施例中,R0I可以显示为叠加在在显示器(例如,屏幕、计算机监视器等)上显示的图像数据上的线。例如,所公开的系统可以显示限定了叠加在图像帧301中包含的图像上的R0I的垂直延长线,如图3A所示。在一些实施例中,限定R0I的线可能并不随同图像帧301的实际图像数据一起显示。限定R0I的线可以用于检测和/或跟踪对象的方法中,但是不显示给所公开系统的用户。在图3A所示的实施例中,当系统检测到人305进入到右边R0I 313时,系统可以在显示图像帧301的显示器上突出显示右边R0I 313,如图3A所示。例如,可以用颜色填充右边R0I 313的矩形区域,以指示用户移动对象进入到右边R0I 313。也可以使用其它适当的突出方式来突出右边R0I 313。在一些实施例中,仅当移动对象进入到R0I时才可视地显示R0I。[〇〇48] 在检测到移动对象305进入到右边R0I 313之后,处理器210可以从图像帧301中获得右边R0I 313的图像数据。处理器210可以利用下述方法将右边R0I 313的图像数据(例如,亮度数据)与对应于右边R0I 313的背景图像的图像数据(例如,亮度数据)比较。处理器 210还可以获得颜色数据作为右边R0I 313的图像数据的一部分。右边R0I 313的颜色数据可以用于与中间ROI 312的颜色数据(可在图3B所示的图像帧302中获得)和/或左边R0I 311的颜色数据(可在图3C所示的图像帧303中获得)进行比较。
[0049]图3B示出了用于说明所公开的用于检测和/或跟踪对象(例如,移动对象)的方法的示例性图像帧302。图像帧302可以在图像帧301 (图3A)被捕捉之后由图像捕捉模块205所捕捉。例如,图像帧301可以在时间七处被捕捉,而图像帧302可以在比^晚的时间t2处被捕捉。如图3B所示,人305已经从右边R0I 313移动到中间R0I 312。在一些实施例中,当系统检测到人305进入中间R0I 312时,可以在显示图像帧302的显示器上突出显示中间R0I 312, 如图3B所示。在图3B所示的实施例中,用与突出右边ROI 313所使用的颜色不同的颜色填充中间R0I 312。在一些实施例中,可以使用相同的颜色来填充右边R0I 313和中间312以突出它们。还可以使用其它突出方式。
[0050]在检测到移动对象305进入到中间R0I 312之后,处理器210可以从图像帧302中获得中间R0I 312的图像数据。处理器210可以利用下述方法将中间R0I 312的图像数据(例如,亮度数据)与对应于中间R0I 312的背景图像的图像数据(例如,亮度数据)比较。处理器 210还可以获得颜色数据作为中间R0I 311的图像数据的一部分。中间R0I 311的颜色数据可以用于与右边R0I 313的颜色数据(可在图3A所示的图像帧301中获得)和/或左边R0I 311的颜色数据(可在图3C所示的图像帧303中获得)进行比较。
[0051]图3C示出了用于说明所公开的用于检测和/或跟踪对象(例如,移动对象)的方法的示例性图像帧303。图像帧303可以在图像帧302(图3B)被捕捉之后由图像捕捉模块205所捕捉。例如,图像帧303可以在时间t3处被捕捉,其中t3晚于t2,而t2晚于t。如图3C所示,人 305已经从中间R0I 312移动到左边R0I 311。在一些实施例中,当系统检测到人305进入左边R0I 311时,可以在显示图像帧302的显示器上突出显示左边R0I 311,如图3C所示。在图 3C所示的实施例中,用与突出中间R0I 312和右边R0I 313所使用的颜色不同的颜色填充中间左边R0I 311。可以使用相同的颜色来填充左边R0I 311、中间312和右边R0I 313以突出它们。还可以使用其它突出方式。[〇〇52] 在检测到移动对象305进入到左边R0I 311之后,处理器210可以从图像帧303中获得左边R0I 311的图像数据。处理器210可以利用下述方法将左边R0I 311的图像数据(例如,亮度数据)与对应于左边R0I 311的背景图像的图像数据(例如,亮度数据)比较。处理器 210还可以获得颜色数据作为左边R0I 311的图像数据的一部分。左边R0I 311的颜色数据可以用于与中间R0I 311的颜色数据(可在图3B所示的图像帧302中获得)和/或右边R0I 313的颜色数据(可在图3A所示的图像帧301中获得)进行比较。[〇〇53] 如图3C所示,当处理器210识别移动对象305并确定跟踪移动对象305时,可以在显示器(例如,屏幕、监视器等)上显示的图像帧中叠加跟踪指示符310。跟踪指示符310可以在移动对象305继续向左移动时跟踪移动对象305。虽然将圆圈用作跟踪指示符310的例子,但跟踪指示符310可以是其它形式或形状,例如围绕移动对象305的矩形。在一些实施例中,可能不显示跟踪指示符310。当处理器210识别移动对象305并确定跟踪移动对象305时,处理器210可以将控制信号发送到电动机120 (图1 ),以启动驱动电动机120来调节摄像机105的角度,从而摄像机105的视野跟随移动对象305的移动。换句话说,在跟踪期间,电动机120可以调节摄像机105的角度,从而保持移动对象305在视野中。[〇〇54]图4是示出用于从多个图像帧中检测和/或跟踪对象的方法400的流程图。方法400 可以由系统200执行,例如处理器210。对象可以是移动对象,例如车辆、人等。方法400可以包括获得多个图像帧的图像数据(步骤405)。例如,当视频摄像机用作摄像机105(或包含于图像捕捉模块205)时,获得多个图像帧的图像数据可以包括从视频摄像机接收视频信号, 或从存储视频数据的存储器215取回视频数据。所述视频数据可以包括多个图像帧的图像数据。[〇〇55] 对于每个图像帧,处理器210可以执行步骤410、415和420中的一个或多个。在步骤 410、415和420中,处理器210可以对不同的感兴趣区域(R0I)执行类似的分析和处理。可以独立于任意其它R0I而执行对R0I及其对应背景图像(还称作“背景”)的分析。例如,在步骤 410中,处理器210可以分析在图像帧(例如,图像帧301)中的左边R0I (例如,左边R0I 311) 和对应背景图像的图像数据。在步骤415中,处理器210可以分析在图像帧(例如,图像帧 302)中的中间R0I (例如,中间R0I 311)和对应背景图像的图像数据。在步骤420中,处理器 210可以分析在图像帧(例如,图像帧303)中的右边R0I (例如,右边R0I 313)和对应背景图像的图像数据。在一些实施例中,针对每个图像帧,处理器210仅执行步骤410、415和420中的一个。在其它实施例中,针对每个图像帧,处理器210可以执行步骤410、415和420中的两个或更多个。在步骤410、415和420中,分析R0I和对应的背景图像可以包括:比较R0I的图像数据与背景的图像数据,当基于比较结果满足特定标准时更新背景的图像数据,以及获得时间和/或颜色数据用于从图像帧中检测对象(例如,移动对象)。当在图像帧中包括多于三个ROI时,方法400可以包括类似于那些步骤410、415和420的额外步骤。当在图像帧中包括少于三个ROI时,在方法400中可能不包括步骤410、415和420中的一个或多个。例如,当在图像帧中仅包括两个R〇I(右边ROI 313和中间ROI 312)时,可以省略步骤410。[〇〇56]可以针对每个R0I独立地执行在当前图像帧中更新对应于R0I的背景的图像数据。 首先,在已经获得了特定数量(例如,N,其可以是正整数,如2、3、5、10、15、20等)的图像帧之后,获得R0I的背景的初始图像数据。随着图像数据被频繁地获得,可以利用新获得的R0I的图像数据更新背景。可以利用以下方法获得背景的初始图像数据。[〇〇57]对每个R0I,可以基于来自预定数量的图像帧的R0I的图像数据(例如,如下所述最后N个图像帧),确定背景的初始图像数据。最后N个图像帧指的是从正在分析的当前图像帧向后计数的先前获得的图像帧。术语“最后N个图像帧”可以包括含有正在分析的R0I的当前图像帧。最后N个图像帧可以是最后N个连续获得的或非连续获得的图像帧。在其它实施例中,术语“最后N个图像帧”可能不包括含有正在分析的R0I的当前图像帧。[〇〇58](例如,R0I或背景的)图像的图像数据可以包括包含于图像中的像素的像素值。像素值可以包括像素的亮度数据和颜色数据。首先,对于任意图像帧,可以获得包含于R0I中的像素的亮度作为nXm亮度矩阵Mn,m,其中n是表示行数的正整数,而m是表示列数的正整数。可以通过基于每行的所有m列计算值,而将亮度矩阵Mn,m转换或变换为nXl的亮度向量 P。例如,处理器可以将每行的所有m列中的值相加,并使用该和作为向量P的行中的值。换句话说,可以通过P(i) = sum(M(i,1),M(i,2),…,M(i,m))获得亮度向量P中的每行,其中sum 0表示求和的数学函数,并且其中i = l,2,...,n表示向量P的行数。
[0059]针对最后N个图像帧执行该转换或变换,以生成表示最后N个图像帧的图像数据的N个亮度向量Pf 1、Pf 2.Pf n。可以基于对对应于最后N个连续图像帧的Pf 1、Pf.Pf n的统计分析,获得对应于ROI的背景图像的初始亮度向量Q。统计分析可以包括任意适当的统计分析。在一个实施例中,统计分析可以包括基于Pfl、Pf2..PfN计算中值向量。例如,可以将初始向量0的每行计算为0(:〇=1116(^11沾1(;〇,?£2(:〇,...,?£〃(:〇),其中1116(^11()表示中值计算的数学函数,i = l,2,...,n表示向量Q的行数。换句话说,背景图像的初始向量Q的每行可以是最后N个图像数据的亮度向量的对应行的中值。在另一实施例中,统计分析可以包括基于Pf1、Pf2、...、PfN计算均值向量。例如,初始向量Q的每行可以计算为Q(i)=mean(Pfi (1),?^(1),...,?^(1)),其中!116&11()表示均值或平均运算的数学函数。换句话说,背景图像的初始向量Q的每行可以是最后N个图像帧的亮度向量的对应行的平均值。
[0060] 基于对应于最后N个图像帧的Pfl、Pf2.P預计算出的其它统计值也可以用于背景图像的初始向量Q。[0061 ]在针对R0I的背景图像获得初始向量Q之后,随着摄像机105捕捉到更多图像帧时可以更新初始向量Q。一些现有技术实时地更新背景图像(例如,更新Q),意味着用每个新捕捉到的图像帧更新Q。这种方法往往将在前景中出现的移动对象的图像数据混入到背景图像中,这影响了背景图像的提取。其它现有技术压根不更新背景图像,这对于变化场景来说是无效的。
[0062]本公开提供了用于更新背景图像的新方法,其解决了与现有技术相关联的问题。 图5是示出用于更新对应于R0I的背景图像的数据的方法500的流程图。换句话说,对于每个ROI,可以执行方法500,以确定是否应该更新背景图像。方法500可以包括获得多个图像帧的图像数据(步骤505)。例如,处理器210可以从摄像机105(或图像捕捉模块205)或从存储器215获得多个图像帧的图像数据。方法500还可以包括从当前图像帧(例如,图像帧301、 302和303之一)获得R0I(例如,R0I 311、312和313之一)的图像数据。对于每个R0I,处理器 210可以比较R0I(例如,R0I 311)的图像数据与对应的背景图像的数据(步骤515)。[〇〇63]处理器210可以确定R0I的图像数据和背景的图像数据之间的差是否大于或等于预定的差值(步骤520)。当差不大于或等于(S卩,小于)预定差值时(步骤520中的“否”),处理器210可以利用从当前图像帧获得的R0I的图像数据来更新背景的图像数据(步骤525)。当差大于或等于预定差值时(步骤520中的“是”),处理器210可以确定在最后的N个图像帧中检测到该差的图像帧的总数Nf是否大于或等于预定帧数量N1(S卩,心多他)(步骤530)。当图像帧的总数Nf不大于或等于N1(S卩,Nf〈N〇时(步骤530中的“否”),处理器210可以不更新背景的图像数据(步骤535)。当图像帧的总数Nf大于或等于仏(8卩,NfSNO时(步骤530中的 “是”),处理器210可以更新背景的图像数据(步骤540)。在一些实施例中,处理器210可以利用来自最后N个图像帧的R0I的图像数据更新背景的图像数据。可以将更新后的背景的图像数据存储于存储器215中或其它存储设备中。[〇〇64] 在一些实施例中,可以如下执行步骤515。以左边R0I 311 (图3A-3C)为例,可以将背景图像的初始向量表示为Q=[qi,q2,...,qN]T,并且可以通过基于在亮度矩阵的每行中所有列中的亮度值(例如,将亮度值相加)计算亮度值而获得表示在当前图像帧中的左边如1311的图像数据的亮度向量?=[?1,?2,...,?〃]7,所述亮度矩阵包含在左边如1311中包括的像素的亮度值,如上所述。符号[]T表示向量转置的数学运算。因此,P和Q是N乘以1向量。可以将亮度向量P和Q彼此相减以获得亮度差向量D = [ d 1,d2,...dn ]T。D的每行表示在P 和Q的对应行之间的差。在一些实施例中,D可以表示在P和Q之间的绝对差,S卩,D(i)=P(i)_ Q(i),其中i = l,2,...,n。也就是说,D的每行可以表示亮度值的绝对变化。在一些实施例中,D可以表示在P和Q之间的相对差(以百分比表示),例如,D(i) = 100%*(P(i)-Q(i))/Q (i)。也就是说,D的每行可以表示亮度值的相对变化。在一些实施例中,计算两个差向量Di 和02,其中0:包括亮度值的绝对变化,而D2包括亮度值的相对变化。
[0065]在一些实施例中,步骤520可以如下实现的每行(S卩,DKi))可以与预定绝对变化〇如(例如,5、10、15、20等)进行比较。处理器210可以确定0心)是否大于或等于0心。备选地或另外地,D2的每行(S卩,D2(i))可以与预定的相对变化Dperc(例如,15%、20%、30%等)进行比较。处理器210可以确定出(1)是否大于或等于Dperc。
[0066]可以使用各种方法来在步骤520中确定R0I的图像数据与背景的图像数据之间的差是否大于或等于预定差值。例如,在一些实施例中,当处理器210确定Di中大于或等于Dabs 的行的总数大于或等于预定行数RK例如,5、8、10等)以及D2中大于Dperc的行的总数大于或等于预定行数R2(例如,5、8、10等)时,处理器210可以确定在R0I的图像数据和背景的图像数据之间的差大于或等于预定差值(步骤520中的“是”)。否则,如果Di中大于或等于Dabs的行的总数小于R:,和/或D冲大于Dperc的行的总数小于1?2,则处理器210可以确定在R0I的图像数据和背景的图像数据之间的差小于预定差值(步骤520中的“否”)。例如,即使D2中大于 Dper。的行的总数大于或等于中大于或等于Dabs的行的总数小于心时(这表示绝对变化较小),处理器210也可以确定差小于预定差值,反之亦然。在这些实施例中,“在R0I的图像数据和背景的图像数据之间的差”包括绝对差和相对差,并且“预定差值”包括预定的绝对变化Dabs和预定的相对变化Dper。。[〇〇67]在其它实施例中,方法500可以在步骤520中执行的确定中仅使用绝对差向量DjP 相对差向量〇2中的一个。例如,处理器210可以通过以下方式实现步骤520:确定0:中大于或等于Dabs的行的总数大于或等于心(步骤520中的“是”)或小于心(步骤520中的“否”)。在该例子中,通过亮度值的绝对变化表示差,并且预定的差值是Dabs。又如,处理器210可以通过以下方式实现步骤520:确定D2中大于Dperc的行的总数大于或等于办(步骤520中的“是”)或小于R2(步骤520中的“否”)。在该例子中,通过亮度值的相对变化表示差,并且预定的差值是Dperc 〇[〇〇68]如果处理器210在步骤520中确定“否”(例如,通过确定不满足下述中的至少一个: “D冲大于或等于Dabs的行的总数大于或等于心”、“D冲大于Dper。的行的总数大于或等于R2” 或两者),则处理器210可以更新背景的图像数据(步骤525)。这意味着,当在R0I的图像数据和背景之间的差较小时,利用当前图像帧中的R0I的图像数据更新背景图像。所述更新可以与上述背景图像更新方法相同,即,使用来自包括当前图像帧的最后N个图像帧的R0I图像数据的中值或平均值。例如,可以利用基于对应于最后N个图像帧的亮度向量Pfl、Pf2......PfN获得的中值或平均值向量来代替背景图像的亮度向量Q。[〇〇69]如果处理器210在步骤520中确定“是”(例如,通过确定满足下述中的至少一个: “D冲大于或等于Dabs的行的总数大于或等于心”、“D冲大于Dper。的行的总数大于或等于R2” 或两者),则处理器210可以检查针对最后N个图像帧(其可能包括或不包括当前图像帧)在步骤520中做出的类似确定的结果。处理器210可以计算最后N个图像帧中在先前执行的类似步骤520中做出了 “是”确定的图像帧的总数Nf。换句话说,在这些Nf个图像帧中,满足以下中的至少一个:“Dl中大于或等于Dabs的行的总数大于或等于心”、“〇2中大于Dperc的行的总数大于或等于R2”或两者。
[0070] 在步骤530中,处理器210还可以确定Nf是否大于或等于预定帧数量他。如果Nf彡见,则处理器210可以利用R0I的图像数据(例如,亮度向量P)更新背景的图像数据(例如,亮度向量Q)(步骤540)。否则,处理器210可以不更新背景的图像数据(步骤535)。在步骤540中的背景图像更新可以类似于在上述步骤525中讨论的。也就是说,背景图像更新可以基于最后N个图像帧,包括当前图像帧。[〇〇71] 返回参考图4,在每个步骤410、415和420中,处理器210还可以确定R0I首先发生变化的时刻。例如,当移动对象进入由在图3A中示出的两条垂直线限定的R0I时,移动对象可以引起R0I的图像数据相对其对应的背景图像的改变。例如,参考图3A,当人305首先进入右边R0I 313(例如,穿过右边R0I 313的右垂直线)时,处理器210可以在存储器215中记录时亥丨JT1。参考图3B,当人305首先进入R0I 312(例如,穿过中间R0I 312的右垂直线)时,处理器 210可以在存储器215中记录时刻T2。参考图3C,当人305首先进入左边R0I 311 (例如,穿过左边R0I 311的右垂直线)时,处理器210可以在存储器215中记录时刻T3。[〇〇72] 在步骤425中,处理器210可以基于记录的时刻和T3确定右边、中间和左边R0I 313、312和311发生变化的时间顺序。例如,当h早于T2且T2早于T3时,处理器210可以按如下确定变化的时间顺序:右边R0I 313首先发生变化,然后是中间R0I 312,最后是左边R0I 311。备选地,如果T3早于^且!^早于Ti,则处理器210可以按如下确定变化的时间顺序:左边ROI 311首先变化,然后是中间ROI 312,最后是右边ROI 313。[〇〇73] 参考图4,处理器210可以比较从左边、中间和右边ROI 311、312和313获得的颜色数据(步骤430)。处理器210可以从不同的图像帧获得R0I的颜色数据。例如,处理器210可以从图像帧301获得右边R0I 313的颜色数据,从图像帧302获得中间R0I 312的颜色数据,以及从图像帧301获得左边ROI 311的颜色数据。对于在每个R0I中包含的像素,图像数据可以包括亮度数据和颜色数据。类似于亮度数据,颜色数据可以包含于一个或多个颜色矩阵中。 例如,一个或多个颜色矩阵可以包括红色的颜色矩阵、绿色的颜色矩阵以及蓝色的颜色矩阵。在一些实施例中,R0I的颜色数据可以包含于包括像素的色度数据的矩阵中。为了讨论的简便,假设颜色数据存储于颜色矩阵中,每个数据点表示R0I的每个像素的颜色数据。利用类似于以上结合获得亮度向量类似的过程,可以通过将矩阵的每行中的所有列相加作为 V。的行而从颜色矩阵获得颜色向量V。。[0〇74] 处理器210可以选择颜色向量V。的特定行,并生成包含所选行的另一颜色向量Vc2。 所选的行包括ROI的发生变化的区域(例如,大约特定高度的区域)的颜色数据。处理器210 可以基于在R0I的亮度向量P中的行来确定从V。中选择哪些行,在亮度向量P中在步骤520中检测到差(与背景图像的亮度向量Q相比)大于或等于预定差值。例如,当将P与Q比较时,可以满足以下条件中的一个或两个:Di中大于或等于Dabs的行的总数大于或等于心,并且D2中大于Dperc的行的总数大于或等于办。取决于应用,如果上述一个或两个条件都满足,则处理器210确定在R0I中存在移动对象。识别满足在DjP/SD2中这些条件的一个或两个的那些行,并记录其在向量中的位置(例如,保存在命名为“p〇si t1n_Move”的变量中)。识别在这些位置处的亮度向量P的那些行(例如,行号1、5、8、10)。然后,识别在颜色矩阵V。中在这些位置处的对应行,并进行选择以形成颜色向量Vc^Vu包括R0I的发生变化的区域的颜色数据。例如,Vu的每行表示R0I的在对应于行的位置的高度处的区域的颜色。[〇〇75] 处理器210可以针对每个R0I获得颜色向量Vc2。例如,左边R0I 311可以与颜色向量乂。2』相关联,中间如1312可以与颜色向量¥。2_(:相关联,以及右边1?01313可以与颜色向量 Vc2_R相关联。[〇〇76] 在步骤430中,处理器210可以基于确定颜色向量Vc2_L、Vc2_(^PVc2_R之间的差是否较小(例如,小于预定颜色差值)或基本相同,来确定是否同一移动对象已经移动穿过右边、 中间和左边R0I 313、312和311。可以使用各种方法来量化颜色差,并确定在颜色向量之间的颜色差是否足够小,从而处理器210可以确定同一移动对象已经移动穿过R0I。在一个实施例中,处理器210可以比较颜色向量以获得颜色差向量,例如(Vc2_L-Vc2_C)和(Vc2_C-Vc2_ R)。处理器210可以确定结果颜色差向量的每行的值是否落入到颜色差值的预定范围内,或者小于预定颜色值。例如,如果颜色差向量的每行落入到颜色差值的预定范围内或小于预定颜色差值,则可以确定R0I中的颜色差足够小以表示同一对象移动穿过R0I。否则,可以确定三个R0I中的颜色差较大,并且处理器210可以确定R0I内的移动对象引起的变化不是由同一对象引起的。在一个实施例中,当颜色差较大(表示不同的移动对象引起在R0I中的变化)时,处理器210可以不执行步骤435-455。当R0I之间的颜色差足够小时,如上所述,处理器210可以继续执行步骤435-455。[〇〇77] 在步骤435中,处理器210可以在图像帧中检测移动对象(例如,同一移动对象305) 在视野中从右移动到左。在步骤445中,处理器210可以在图像帧中检测移动对象在视野中从左移动到右。在一些实施例中,处理器210可以执行步骤435和445中的一个。在一些实施例中,处理器210可以执行步骤435和445两者。[〇〇78]在步骤435和445中检测移动对象可以基于从图像帧获得的时间信息和/或颜色数据。图6示意性示出了在图像帧中的R0I的布置。如图3A-3C所示的,当移动对象305在视野中从右移动到左时,移动对象305可以在和T3连续地进入右边R0I 313、中间R0I 312和左边R0I 311。出于说明的目的,在图6中示出了三个时刻h、T2和T3。在右边R0I 313和中间R0I 312之间的距离是cb,在中间R0I 312和左边R0I 311之间的距离是d2。右边R0I 313的宽度是 wi,中间R0I 312的宽度是W2,以及左边R0I 311的宽度是W3。距离di可以与距离d2相同或不同。宽度WH2I3彼此可以相同或彼此可以不同(例如,至少两个不同)。当设置在图像帧中的R0I的布置时,距离di和d2以及宽度W1、W2和W3可以是已知参数。可以根据Tii = (T2-Ti)*di/ (cU+W1)来确定移动对象305从右边R0I 313到中间R0I 312行进距离cU的第一时间间隔Tu。 可以根据Ti2 = (T3-T2)*d2/(d2+w2)来确定移动对象305从中间R0I 312到左边R0I 311行进距离d2的第二时间间隔!^。
[0079]处理器210可以比较第一时间间隔Tu和第一预定时间延迟Tdl,并比较第二时间间隔Ti2和第二预定时间延迟Td2。在一些实施例中,Tdi与Td2相同。在一些实施例中,Tdi和Td2彼此不同。在一些实施例中,基于R0I之间的距离cb或d2,确定时间延迟Tdi和Td2中的每一个。例如,第一预定时间延迟Tdl可以与距离cU成比例,并且第二预定时间延迟Td2与距离山成比例。 当cU大于d2时,了也可以预设为大于Td2。当满足时间要求和颜色要求时,处理器210可以检测移动对象305移动穿过右边R0I 313、中间R0I 312和左边R0I 311。时间要求可以是第一时间间隔Tu小于第一预定时间延迟Tdl(即,Tu〈Tdl),并且第二时间间隔Tl2小于第二预定时间延迟Td2(即,Ti2〈Td2)。颜色要求可以是颜色差向量之间的颜色差(例如(Vc2_L-Vc2_C)和(Vc2_ C-Vc2_R))较小,或者换句话说,当R0I的颜色向量基本相同时。另外,在一些实施例中,处理器210还可以计算右边和左边R0I之间的颜色差向量,例如(Vc2_L-Vc2_R),并且将该向量与上述两个颜色差向量比较。
[0080]在步骤435中,处理器210可以基于右边、中间和左边R0I 313、312和313发生变化的时间顺序,确定移动对象305在摄像机105的视野中从右移动到左。例如,如图3A-3C所示, 右边R0I 313首先发生变化,然后是中间R0I 312,然后是左边R0I 311。变化的时间顺序由如下指示早于T2,T2早于T3。处理器210可以确定第一时间间隔Tn小于第一预定时间延迟 Tdl,并且第二时间间隔Tl2小于第二预定时间延迟Td2。另外,处理器210可以确定R0I的颜色向量之间的颜色差较小(或颜色向量实质相同),如以上结合图4的步骤430所讨论的。在一些实施例中,当处理器210确定满足时间要求和颜色要求两者时,处理器210可以基于确定同一对象305移动穿过R0I而在图像帧中检测移动对象305。在一些实施例中,颜色要求是可选的。当处理器210确定满足时间要求时,处理器210可以在图像帧中检测移动对象305,而不管是否满足颜色要求。满足颜色要求可以增加移动对象检测的准确度。
[0081]仍参考图4,除了步骤435外或作为步骤435的替代,处理器210还可以基于左边、中间和右边R0I 311、312和313发生变化的顺序以及R0I的颜色数据,确定移动对象305在摄像机105的视野中正从左移动到右(步骤445)。检测移动对象在视野中从左移动到右的过程类似于上述结合步骤435讨论的过程。因此,不重复在步骤445中执行的详细过程。在一些实施例中,当满足类似于以上讨论的时间要求和颜色要求两者时,处理器210可以检测移动对象305从左移动到右。在一些实施例中,颜色要求是可选的。[〇〇82] 如图4所示,处理器210可以确定向左移动对象的移动速度(步骤440)。备选地或另外地,处理器210可以确定向右移动对象的移动速度(步骤450)。参考图6,并且以在图3A-3C 中示出的向左移动对象为例,可以将从右边R0I 313到中间R0I 312的移动速度确定为SL1 = (wdddAlVTi),并且从中间R0I 312到左边R0I 311的移动速度确定为SL2=(w2+d2)/(T3-T2)。可以基于速度SL1和SL2确定移动对象305的移动速度。例如,移动对象305的移动速度可以确定为Sl#PSl2的平均。可以将平均速度用作跟踪移动对象305的跟踪速度。可以用类似的方式执行确定向右移动对象的移动速度,将不进行重复。[〇〇83] 如图4所示,在检测移动对象及其移动方向并且确定移动速度之后,处理器210可以基于移动方向和速度发起对移动对象的跟踪(步骤455)。在一些实施例中,处理器210可以将控制信号发送给电动机120以驱动电动机120,从而电动机120可以调整摄像机105的角度以沿着移动方向跟随移动对象305。换句话说,电动机120可以调整摄像机105的角度(例如,摇头角度和/或倾斜角度)以改变摄像机的视野,从而将移动对象305保持在视野内。驱动电动机120的速度(或称作跟踪速度)可以基于移动对象的移动速度。例如,跟踪速度可以是使得视野以与对象移动速度相同的速度移动。[〇〇84] 如图3C所示,当处理器210识别移动对象305并确定跟踪移动对象305时,可以将跟踪指示符310叠加到在显示器上显示的图像帧上,并可以随着移动对象305继续向左移动而跟随移动对象305。跟踪指示符310可以是可选的,也就是,在一些实施例中,跟踪指示符310 可以不被显示。[〇〇85]图7是示出用于从多个图像帧中检测对象的方法700的流程图。方法700可以由处理器210执行。方法700可以包括获得在图像帧中的感兴趣区域(R0I)的图像数据(步骤 705)。例如,处理器210可以从图3A示出的图像帧301中获得右边R0I 313的图像数据(其可以包括像素的亮度数据和/或颜色数据)。处理器210可以从图3B示出的图像帧302中获得中间R0I 312的图像数据(其可以包括像素的亮度数据和/或颜色数据)。处理器210可以从图 3C示出的图像帧303中获得左边R0I 311的图像数据(其可以包括像素的亮度数据和/或颜色数据)。处理器210可以比较感兴趣区域的图像数据与背景图像的图像数据,以检测在感兴趣区域中的变化(步骤710)。例如,处理器210可以利用例如以上结合图4描述的方法比较右边R0I 313的亮度向量与对应背景图像的亮度向量。处理器210可以基于检测到的变化在图像帧中检测对象,例如,移动对象(步骤715)。关于从图像帧中识别对象(例如,移动对象) 的方法的细节在以上进行了讨论,并且将不在此重复。方法700可以包括在方法400和方法 500中包含的一个或多个步骤。[〇〇86]虽然在此已经描述了说明性实施例,但是基于本公开本领域技术人员将理解,任意和所有实施例的范围可以具有等同的元件、修改、省略、(例如,跨各个实施例的方面的) 组合、适配和/或改变。应基于权利要求中采用的语言对权利要求中的限定进行宽泛解释, 而不应将其限制到在本说明书中描述的或在本申请审查期间的例子。所述例子将被解释为非排它的。此外,可以以任何方式修改所公开的过程的步骤,包括通过重新排序步骤和/或插入或删除步骤。因此,意图将说明书和例子视为仅说明性的,真实的范围和精神由所附权利要求及等同物的全部范围表示。
【主权项】
1.一种设备,包括:存储器,被配置为存储指令;以及 处理器,被配置为执行所述指令,以:获得包含于图像帧中的感兴趣区域的图像数据;比较所述感兴趣区域的图像数据与背景的图像数据,以检测在所述感兴趣区域中的变 化;以及基于检测到的变化来检测在图像帧中的对象。2.根据权利要求1所述的设备,其中,所述处理器还被配置为执行所述指令,以基于以 下各项来检测在图像帧中的对象:时间信息,指示所述感兴趣区域何时发生变化;以及从所述感兴趣区域中发生变化的位置获得的亮度数据或颜色数据中的至少一个。3.根据权利要求1所述的设备,其中,所述处理器还被配置为执行所述指令,以:基于所述比较,确定在所述感兴趣区域的图像数据与所述背景的图像数据之间的差。4.根据权利要求3所述的设备,其中,所述处理器还被配置为执行所述指令,以:确定存储所述感兴趣区域的图像数据的第一向量和存储所述背景的图像数据的第二向量之间的差向量;以及确定所述差向量是否满足预定条件。5.根据权利要求3所述的设备,其中,所述处理器还被配置为执行所述指令,以:确定所述差小于预定的差值;以及利用所述感兴趣区域的图像数据来更新所述背景的图像数据。6.根据权利要求5所述的设备,其中,更新所述背景的图像数据包括:利用来自预定数量的图像数据帧的感兴趣区域的图像数据,更新所述背景的图像数 据。7.根据权利要求3所述的设备,其中,所述处理器还被配置为执行所述指令,以:确定所述差大于或等于预定差值;从预定的多个图像帧中确定差大于或等于预定差值的图像帧的数量;以及 当所述图像帧的数量大于或者等于预定帧数量值时,利用来自所述预定的多个图像帧 的感兴趣区域的图像数据来更新所述背景的图像数据。8.根据权利要求1所述的设备,其中,每个图像帧包括多个感兴趣区域,并且其中所述 处理器还被配置为执行所述指令,以:根据所述比较,确定多个感兴趣区域中每个感兴趣区域中已经发生变化的位置;获得来自不同图像帧的不同感兴趣区域中的所述位置处的颜色数据;以及 比较从不同图像帧中的不同感兴趣区域获得的颜色数据。9.根据权利要求8所述的设备,其中,所述处理器还被配置为执行所述指令,以:获得指示多个感兴趣区域中何时发生变化的时刻;基于所述时刻,确定变化的时间顺序;以及基于所述时间顺序,确定对象穿过感兴趣区域的移动方向。10.根据权利要求9所述的设备,其中,所述处理器还被配置为执行所述指令,以:基于多对相邻的时刻,计算多个时间间隔;比较所述时间间隔与多个预定时间延迟值;以及在以下情形时,确定同一对象沿所述移动方向穿过感兴趣区域:每个时间间隔小于每个对应的预定时间延迟值;以及从不同图像帧中的不同感兴趣区域获得的颜色数据的差小于预定颜色值。11.根据权利要求10所述的设备,其中,所述处理器还被配置为执行所述指令,以:通过 发送控制信号以驱动电动机沿所述运动方向转动摄像机跟随对象,而发起沿所述移动方向 跟踪对象。12.根据权利要求11所述的设备,其中,所述处理器还被配置为执行所述指令,以基于 所述时刻和相邻感兴趣区域之间的距离来确定对象的移动速度,并且其中所述控制信号基 于所述移动速度来控制驱动所述电动机的速度。13.根据权利要求1所述的设备,其中,所述处理器还被配置为执行所述指令,以:获得亮度矩阵,所述亮度矩阵包括所述感兴趣区域中包含的像素的亮度值;以及将所述亮度矩阵转换为亮度向量,所述向量的每行是基于所述行的所有列的亮度值计 算的,其中,所述感兴趣区域的图像数据由所述亮度向量表示。14.根据权利要求13所述的设备,其中,所述处理器还被配置为执行所述指令,以: 获得颜色数据矩阵,所述颜色数据矩阵包括所述感兴趣区域中包含的像素的颜色数据;以及将所述颜色矩阵转换为颜色值向量,所述向量的每行是所述行的所有列的颜色值的 和,其中,与所述感兴趣区域相关联的图像数据包括所述颜色值向量。15.根据权利要求13所述的设备,其中,所述处理器还被配置为执行所述指令,以: 基于从预定数量的图像帧获得的亮度向量,获得初始亮度向量作为所述背景的图像数据。16.根据权利要求1所述的设备,其中,所述图像帧包括三个感兴趣区域。17.—种用于检测对象的方法,包括:获得包含于图像帧中的感兴趣区域的图像数据;比较所述感兴趣区域的图像数据与背景的图像数据,以检测在所述感兴趣区域中的变 化;以及基于检测到的变化来检测在图像帧中的对象。18.根据权利要求17所述的方法,其中,检测在图像帧中的对象包括:基于指示多个图 像帧中的多个感兴趣区域何时发生多个变化的时间信息,以及基于从所述多个感兴趣区域 中的位置获得的颜色数据,来识别所述对象。
【文档编号】G06T7/20GK105957110SQ201610498023
【公开日】2016年9月21日
【申请日】2016年6月29日
【发明人】丁大钧, 赵丽丽
【申请人】上海小蚁科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1