CN105957110B - 用于检测对象的设备和方法 - Google Patents
用于检测对象的设备和方法 Download PDFInfo
- Publication number
- CN105957110B CN105957110B CN201610498023.9A CN201610498023A CN105957110B CN 105957110 B CN105957110 B CN 105957110B CN 201610498023 A CN201610498023 A CN 201610498023A CN 105957110 B CN105957110 B CN 105957110B
- Authority
- CN
- China
- Prior art keywords
- processor
- roi
- view data
- interest
- area
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/254—Analysis of motion involving subtraction of images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/56—Extraction of image or video features relating to colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/49—Segmenting video sequences, i.e. computational techniques such as parsing or cutting the sequence, low-level clustering or determining units such as shots or scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30221—Sports video; Sports image
Abstract
提供了一种用于检测对象的设备和方法。所述设备可以包括:存储器,被配置为存储指令;以及处理器,被配置为执行所述指令,以获得包含于图像帧中的感兴趣区域的图像数据。所述处理器还被配置为比较所述感兴趣区域的图像数据与背景的图像数据,以检测在所述感兴趣区域中的变化。所述处理器还被配置为基于检测到的变化检测在图像帧中的对象。
Description
技术领域
本公开总体涉及计算机视觉技术,更具体地,涉及用于从一个或多个图像帧中检测和跟踪移动对象的系统和方法。
背景技术
随着技术的进步和需求的增加,视频监控技术得以快速发展并广泛用于多个领域,例如智能监控和运输。视频监控指的是这样的任意一种技术:其利用摄像机或其它成像传感器来捕捉环境的一个或多个图像,并执行图像分析来为各种目的识别对象和/或获得信息。检测和跟踪移动对象是计算机视觉搜索的重要主题。技术进步以及移动对象检测和跟踪的实现吸引了社会的大量关注。
用于检测移动对象的传统技术包括:基于光流的方法,基于帧差的方法,基于背景差或基于背景减除的方法,基于颜色跟踪(例如,均值偏移(meanshift))的方法,以及基于模式识别的对象检测和跟踪方法。
基于光流的方法使用光流的特性(例如,从随着时间捕捉到的图像导出的像素移动向量)来检测和跟踪移动对象。然而,基于光流的方法需要复杂的计算。另外,基于光流的方法对信号噪声敏感。为了实现实时地检测和跟踪移动对象,这些方法要求较强的计算能力。
基于帧差的方法基于差别方法在随着时间连续获得的两个或三个图像中检测移动区域。这些方法相对简单并对场景中光的变化不敏感。然而,容易在检测到的移动对象中具有空隙空间。结果,检测到的移动区域往往不完整。
背景差或减除的方法被频繁用于运动检测中。这些方法计算当前图像帧和背景图像(或图像帧)之间的差以获得移动区域。这些方法通常产生完整的移动区域。然而,这些方法对光和场景的变化敏感,并可能在结果中呈现出噪声,这可能限制这些方法的有效性。
基于颜色跟踪的方法的例子包括均值偏移和连续自适应均值偏移(camshift)方法。连续自适应均值偏移方法使用对象颜色的直方图模型来获得背投(back projection)模型,由此将图像数据转换为颜色的概率分布图,并基于颜色实现跟踪。均值偏移方法是基于密度函数梯度的非参数方法。这些方法通过经由迭代发现概率分布的极值而在图像数据中定位对象。这些方法使用对象的颜色作为跟踪的首要信息,并且快速且有效地跟踪单颜色移动对象。然而,这些方法对颜色敏感。例如,当背景包括颜色接近移动对象的颜色的对象时,这些方法可能会错误地跟踪背景中的对象。
基于模式识别的对象检测和跟踪方法提前学习对象的特性,然后基于提取学习的特性从图像中检测所述对象。这些方法对于某些移动对象(例如,行人、车辆等)是有效的。然而,这些方法的计算需求较大,这将对处理硬件产生高的负荷。
所公开的方法和系统解决了上述一个或多个问题。例如,公开的方法和系统可以准确、快速和有效地从图像中检测对象的移动方向,并开始跟踪移动对象。
发明内容
与本公开的一个公开实施例一致地,提供了一种设备。所述设备可以包括:存储器,被配置为存储指令;以及处理器,被配置为执行所述指令,以获得包含于图像帧中的感兴趣区域的图像数据。所述处理器还被配置为比较所述感兴趣区域的图像数据与背景的图像数据,检测在所述感兴趣区域中的变化。所述处理器还可以被配置为基于检测到的变化检测在图像帧中的对象。
与本公开的另一公开实施例一致地,提供了一种用于检测对象的方法。所述方法可以包括获得包含于图像帧中的感兴趣区域的图像数据。所述方法还可以包括比较所述感兴趣区域的图像数据与背景的图像数据,以检测在所述感兴趣区域中的变化。所述方法还可以包括基于检测到的变化检测在图像帧中的对象。
与本公开的又一公开实施例一致地,提供了一种非瞬态计算机可读介质。所述非瞬态计算机可读介质可以存储指令,当被处理器执行时,所述指令使得所述处理器执行用于检测对象的方法。所述方法可以包括获得包含于图像帧中的感兴趣区域的图像数据。所述方法还可以包括比较所述感兴趣区域的图像数据与背景的图像数据,以检测在所述感兴趣区域中的变化。所述方法还可以包括基于检测到的变化检测在图像帧中的对象。
可以理解的是,上述通用描述和后续详细描述都只是示例性和解释性的,而并不限制如所要求保护的本发明。
附图说明
附图并入并构成本说明书的一部分,示出了与本公开一致的实施例,并与说明书一起用于解释本公开的原理。
图1是示出根据示例性实施例的用于检测对象的系统的示意图。
图2是根据示例性实施例的用于检测对象的系统的框图。
图3A是示出根据示例性实施例的用于检测对象的方法的图像帧。
图3B是示出根据示例性实施例的用于检测对象的方法的另一图像帧。
图3C是示出根据示例性实施例的用于检测对象的方法的另一图像帧。
图4是示出根据示例性实施例的用于检测对象的方法的流程图。
图5是示出根据示例性实施例的用于更新背景的图像数据的方法的流程图。
图6示出了根据示例性实施例的三个感兴趣区域的布置。
图7是示出根据示例性实施例的用于检测对象的方法的流程图。
具体实施方式
所公开的实施例提供用于从摄像机所捕捉的图像帧中检测对象(例如,移动对象)的基于计算机视觉的系统和方法。所公开的实施例可以检测移动对象并实时跟踪移动对象。所公开的实施例可以以准确、快速和有效的方式从图像帧中检测和跟踪移动对象。另外,所公开的系统和方法可以实现同时监视环境中的特定区域并检测和跟踪在所述区域中的移动对象。因此,所公开的系统可以消除建立两个不同系统的必要,其中一个系统用于监视区域,而另一系统检测和跟踪在所述区域中的移动对象。此外,所公开的方法可以实现为需要小的存储器尺寸和低的计算成本的算法。因此,所公开的方法可以实现于嵌入式系统中,例如,车辆、可穿戴设备、飞机等,其不具有较强的计算能力。
现在详细参考示例性实施例,其例子在附图中示出。后续描述参考附图,除非另有表示,否则在附图的不同图中相同的标记表示相同或类似元件。在示例性实施例的后续描述中阐述的实现方式不表示与本发明一致的所有实现方式。相反,它们只是与在随附权利要求中记叙的本发明相关的各方面一致的设备和方法的例子。
图1是示出用于从图像帧中检测对象的系统100的示意图。如图1所示,系统100可以包括图像捕捉设备105,其被配置为捕捉环境的多个图像帧。所述系统100可以包括对象110,例如移动对象。由图像捕捉设备105捕捉到的图像帧可以包括一个或多个图像。在图像帧中包含的对象可以是静止的或移动的任意对象,例如,人、车辆、飞机、飞球、轮船、动物、昆虫,等等。仅出于说明性目的,在图1中将对象110示出为人。
图像捕捉设备105可以包括摄像机,例如视频摄像机、数字照相机、红外摄像机,等等。为了讨论的简便,图像捕捉设备105可以被称作摄像机105。摄像机105可以具有由虚线112和113示出的视野。摄像机105可以安装在摄像机架115上,后者还可以(例如,作为可穿戴设备)附到另一人、车辆、家具、街道上的杆、办公室的墙壁、房屋、或建筑物、屋顶等。摄像机架115可以包括电动机120。电动机120可以配置为调整摄像机105的角度,例如,摇头角度、倾斜角度。在一些实施例中,摄像机105的角度可以在所有方向上进行调整。当电动机120调整摄像机105的角度时,摄像机105的视野也相应被调整。电动机120可以包括任意适当的电动机,例如步进式电动机、无刷电动机等。
所公开的系统可以包括计算机130。计算机130可以包括监视器、处理器、存储器、存储设备和其它部件。计算机130可以通过网络135与摄像机105通信,所述网络135可以是有线或无线网络。网络135可以通过有线连接(例如,电线、电缆等)或无线连接(例如,红外、Wifi、蓝牙、近场通信连接、蜂窝连接、无线电连接等),在摄像机105和计算机130之间进行数据传输。摄像机105可以将捕捉到的图像帧发送到计算机130。计算机130可以将信号发送到摄像机105以控制摄像机105的各种设置,例如缩放、像素分辨率等。计算机130还可以将控制信号发送给电动机120以调整摄像机105的角度,由此改变摄像机105的视野。例如,当计算机130从由摄像机105捕捉到的图像帧中检测到移动对象(例如,人110)时,计算机130可以将控制信号发送到电动机120以调整摄像机105的角度,从而视野跟随移动对象110移动。因此,系统100可以从多个图像帧中检测移动对象110,并跟踪移动对象110。
虽然在图1中示出为单独的部件,但计算机130的一些或所有功能可以与摄像机105集成为单个单元。例如,摄像机105可以包括处理器、存储器、控制器或控制模块作为单个单元。在这种实施例中,可以不需要单独的计算机130和/或网络135。
图2是用于在多个图像帧中检测和/或跟踪对象的系统或设备200的框图。系统200可以包括图像捕捉模块205、处理器210、存储器215和控制模块220。虽然在图2中仅示出了一个图像捕捉模块205、一个处理器210、一个存储器215和一个控制模块220,但系统200还可以包括多于一个的图像捕捉模块205、多于一个的处理器210、多于一个的存储器215和多于一个的控制模块220。另外,系统200可以包括额外的部件。例如,系统200可以包括存储设备,其配置为存储数据,例如,从摄像机105接收到的图像数据。系统200可以包括输入/输出设备,例如,键盘、鼠标、USB端口、监视器或屏幕等。在一些实施例中,系统200可以包括在系统100内包含的一些或所有部件,反之亦然。例如,系统200可以包括如图1所示的摄像机105、摄像机架115、电动机120、计算机130和网络135。例如,摄像机105和摄像机架115可以包含于图像捕捉模块205中。电动机120可以包含于控制模块220中,并且计算机130可以包括处理器210。网络135可以包含于系统200中,用于在系统200中包含的各个部件之间进行数据通信。
在系统200中包含的部件可以通过任意适当的通信方式彼此通信,所述通信方式例如是数据和/或信号传输总线、电缆或者其它有线和/或无线传输方式。例如,各个部件可以通过在图1中示出的网络135彼此通信。虽然在图2中在处理器210和图像捕捉模块205、存储器215和控制模块220之间示出了示意性通信线路,但是在图2中示出的每个部件可以与另一部件直接或间接地通过适当的通信连接而通信(例如,发送数据或信号)。
在图2中示出的图像捕捉模块205可以包括硬件部件、软件部件或其组合。图像捕捉模块205可以配置为捕捉包括对象的环境的一个或多个图像帧,所述对象可以是静止对象或移动对象。虽然所公开的系统和方法在以下实施例中被说明为被配置为检测移动对象,但是所公开的系统和方法还可以用于从图像帧中检测任意对象,包括静止对象。
图像捕捉模块205可以包括硬件部件,例如任意适当的光学或非光学图像捕捉设备或传感器。例如,图像捕捉模块205可以包括一个或多个视频摄像机、数字摄像机、胶片摄像机、红外摄像机等。在一个实施例中,图像捕捉模块205包括图1所示的摄像机105。图像捕捉模块205还可以包括图1所示的摄像机架115和/或电动机120。
图像捕捉模块205可以包括软件部件,例如图像处理代码,用于实现与图像捕捉和/或处理相关的方法。在一些实施例中,可以将图像捕捉模块205捕捉到的图像帧直接发送到处理器210以供处理。在一些实施例中,由图像捕捉模块205捕捉到的图像帧可以存储于存储器215中(或在系统200内包含的其它存储设备中),并通过处理器210取回或读出以供处理。
处理器210可以配置为(例如,编程为)处理指令以执行所公开的用于从图像捕捉模块205捕捉到的多个图像帧中检测和/或跟踪对象(例如,移动对象)的方法。例如,处理器210可以配置为从图像捕捉模块205或存储器215获得一个或多个图像帧的图像数据。处理器210可以配置为处理图像数据以从图像帧中检测和/或跟踪对象,例如移动对象。
处理器210可以包括硬件和/或软件部件。例如,处理器210可以包括硬件部件,例如以下中的至少一个:中央处理单元(CPU)、图形处理单元(GPU)、微处理器、数字信号处理器、电路等。在一些实施例中,处理器210可以包括任意适当类型的通用处理器、微处理器和控制器。在一些实施例中,处理器210还可以包括专用微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、或现场可编程门阵列(FPGA)。
处理器210还可以包括可执行软件代码,其嵌入到处理器210的电路中或存储于存储器215中,用于执行处理器210所提供的计算功能和/或图像处理功能。在一些实施例中,处理器210可以实现为软件,用于执行所公开用于检测和/或跟踪对象(例如,移动对象)的方法。在一个实施例中,处理器210可以包含于图1所示的计算机130中。计算机130可以包含于图2所示的系统200中。
存储器215可以包括任意适当的非瞬态计算机可读介质。存储器215可以利用以下任意类型的设备实现:易失性或非易失性存储器设备,或其组合,例如,静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)。可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪存、磁盘或光盘。
除了可执行代码外,存储器215还可以配置为存储数据,例如由图像捕捉模块205捕捉到的多个图像帧的图像数据。在一些实施例中,处理器210可以从存储器215中读出或取回图像数据以供处理。
存储器215可以包括各种数据库和图像处理软件。例如,存储器215可以存储可以由处理器210执行的指令。当由处理器210执行时,指令可以使得处理器210(和/或系统200)执行所公开的用于从图像帧中检测和/或跟踪对象的方法,例如,检测和跟踪移动对象。
控制模块220可以包括硬件和/或软件部件,其配置为执行各种控制功能。例如,控制模块220可以包括一个或多个电路,其配置为驱动安装在装有摄像机(例如,摄像机105)的摄像机架(例如,摄像机架115)上的电动机(例如,电动机120)。电动机120可以配置为改变摄像机105的安装角度或者摄像机105指向的角度,由此改变摄像机105的视野。例如,当处理器210从由图像捕捉模块205(其可以包括摄像机105)捕捉到的多个图像帧检测到移动对象时,处理器210可以例如通过控制模块220将控制信号发送到电动机120。所述控制信号可以驱动电动机120调整摄像机105的角度(例如,摇头角度和/或倾斜角度),由此改变摄像机105的视野,例如用于跟踪在图像帧中识别出的移动对象。
图3A示出了用于说明所公开的用于检测和/或跟踪对象(例如,移动对象)的方法的示例性图像帧。如图3A所示,图像帧301由图像捕捉模块205所捕捉。图像捕捉模块205可以包括摄像机(例如,摄像机105),其视野由图像帧301的边界表示。处理器210可以从图像捕捉模块205或从存储由图像捕捉模块205捕捉到的图像帧的图像数据的存储器215获得图像帧301的图像数据。
在图3A中,图像帧301包括由摄像机捕捉到的办公室环境的图像。人们可以在办公室空间四处走动。人可以进入摄像机的视野并被检测为移动对象。在图3A所示的例子中,对象305(人)在摄像机的视野内在办公室空间中走动。
在每个图像帧中可以布置一个或多个感兴趣区域(ROI)。在图3A中示出的ROI包括左边ROI 311、中间ROI 312和右边ROI 313。虽然示出在图像帧301中布置了三个ROI,但所公开的系统和方法可以使用仅一个ROI、两个ROI或多于三个ROI,例如四个ROI、五个ROI。当使用一个ROI时,系统可以检测进入或离开ROI的移动对象。然而,一ROI系统不可以检测ROI的移动方向。当使用两个ROI时,系统可以检测移动对象的移动方向和速度。然而,两ROI系统可能对环境变化敏感。当使用三个ROI,如图3A所示,系统可以实现健壮、快速和准确地检测移动对象。
三个ROI可以布置在视野的中央部分处(例如,在图像帧301的中央部分处)。例如,三个ROI可以在约图像帧301的中央1/3部分布置为一组。虽然示出了一组三个ROI布置在图像帧301的中央部分处,但所公开的系统和方法可以使用多组ROI在图像帧301中用于同时检测多个移动对象。例如,图像帧301可以包括两组或更多组ROI布置在图像帧301的适当位置处,用于检测和/或跟踪在图像帧301的两个或更多区域中的两个或更多移动对象。包含于不同组的ROI中的ROI数量可以相同或不同。
在图3A所示的实施例中,ROI 311、312、313中的每一个可以包括由两个垂直平行线限定的狭窄、垂直延伸的矩形区域,如图3A中所示。在其它实施例中,可以通过形成其它形状(例如,圆形、椭圆、三角形等)的线限定ROI。另外,可以限定ROI具有不同形状。如图3A所示,限定不同ROI的垂直线可以以不同颜色示出。在一些实施例中,它们可以以相同的颜色示出。在一些实施例中,限定ROI的线可能不随同图像帧显示。它们可能仅为说明所公开方法而在图3A-3C中示出。在一些实施例中,可以随同图像帧一起显示其他形式的指示符(不同于图3A-3C中示出的线)来表示ROI。在图3A示出的实施例中,ROI 311、312和313彼此分离,并且在视野内布置在同一高度处。在一些实施例中,ROI可以均匀地分布在图像帧301的中央1/3区域中。在一些实施例中,在左边ROI 311和中间ROI 312之间的距离可以不同于在中间ROI 312和右边ROI 313之间的距离。包含于图像帧中的ROI的维度和形状可以相同或不同,并可以是固定的或可以动态调整的。
在图3A所示的实施例中,ROI可以显示为叠加在在显示器(例如,屏幕、计算机监视器等)上显示的图像数据上的线。例如,所公开的系统可以显示限定了叠加在图像帧301中包含的图像上的ROI的垂直延长线,如图3A所示。在一些实施例中,限定ROI的线可能并不随同图像帧301的实际图像数据一起显示。限定ROI的线可以用于检测和/或跟踪对象的方法中,但是不显示给所公开系统的用户。在图3A所示的实施例中,当系统检测到人305进入到右边ROI 313时,系统可以在显示图像帧301的显示器上突出显示右边ROI 313,如图3A所示。例如,可以用颜色填充右边ROI 313的矩形区域,以指示用户移动对象进入到右边ROI313。也可以使用其它适当的突出方式来突出右边ROI 313。在一些实施例中,仅当移动对象进入到ROI时才可视地显示ROI。
在检测到移动对象305进入到右边ROI 313之后,处理器210可以从图像帧301中获得右边ROI 313的图像数据。处理器210可以利用下述方法将右边ROI 313的图像数据(例如,亮度数据)与对应于右边ROI 313的背景图像的图像数据(例如,亮度数据)比较。处理器210还可以获得颜色数据作为右边ROI 313的图像数据的一部分。右边ROI 313的颜色数据可以用于与中间ROI 312的颜色数据(可在图3B所示的图像帧302中获得)和/或左边ROI311的颜色数据(可在图3C所示的图像帧303中获得)进行比较。
图3B示出了用于说明所公开的用于检测和/或跟踪对象(例如,移动对象)的方法的示例性图像帧302。图像帧302可以在图像帧301(图3A)被捕捉之后由图像捕捉模块205所捕捉。例如,图像帧301可以在时间t1处被捕捉,而图像帧302可以在比t1晚的时间t2处被捕捉。如图3B所示,人305已经从右边ROI 313移动到中间ROI 312。在一些实施例中,当系统检测到人305进入中间ROI 312时,可以在显示图像帧302的显示器上突出显示中间ROI 312,如图3B所示。在图3B所示的实施例中,用与突出右边ROI 313所使用的颜色不同的颜色填充中间ROI 312。在一些实施例中,可以使用相同的颜色来填充右边ROI 313和中间312以突出它们。还可以使用其它突出方式。
在检测到移动对象305进入到中间ROI 312之后,处理器210可以从图像帧302中获得中间ROI 312的图像数据。处理器210可以利用下述方法将中间ROI 312的图像数据(例如,亮度数据)与对应于中间ROI 312的背景图像的图像数据(例如,亮度数据)比较。处理器210还可以获得颜色数据作为中间ROI 311的图像数据的一部分。中间ROI 311的颜色数据可以用于与右边ROI 313的颜色数据(可在图3A所示的图像帧301中获得)和/或左边ROI311的颜色数据(可在图3C所示的图像帧303中获得)进行比较。
图3C示出了用于说明所公开的用于检测和/或跟踪对象(例如,移动对象)的方法的示例性图像帧303。图像帧303可以在图像帧302(图3B)被捕捉之后由图像捕捉模块205所捕捉。例如,图像帧303可以在时间t3处被捕捉,其中t3晚于t2,而t2晚于t1。如图3C所示,人305已经从中间ROI 312移动到左边ROI 311。在一些实施例中,当系统检测到人305进入左边ROI 311时,可以在显示图像帧302的显示器上突出显示左边ROI 311,如图3C所示。在图3C所示的实施例中,用与突出中间ROI 312和右边ROI 313所使用的颜色不同的颜色填充中间左边ROI 311。可以使用相同的颜色来填充左边ROI 311、中间312和右边ROI 313以突出它们。还可以使用其它突出方式。
在检测到移动对象305进入到左边ROI 311之后,处理器210可以从图像帧303中获得左边ROI 311的图像数据。处理器210可以利用下述方法将左边ROI 311的图像数据(例如,亮度数据)与对应于左边ROI 311的背景图像的图像数据(例如,亮度数据)比较。处理器210还可以获得颜色数据作为左边ROI 311的图像数据的一部分。左边ROI 311的颜色数据可以用于与中间ROI 311的颜色数据(可在图3B所示的图像帧302中获得)和/或右边ROI313的颜色数据(可在图3A所示的图像帧301中获得)进行比较。
如图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在视野中。
图4是示出用于从多个图像帧中检测和/或跟踪对象的方法400的流程图。方法400可以由系统200执行,例如处理器210。对象可以是移动对象,例如车辆、人等。方法400可以包括获得多个图像帧的图像数据(步骤405)。例如,当视频摄像机用作摄像机105(或包含于图像捕捉模块205)时,获得多个图像帧的图像数据可以包括从视频摄像机接收视频信号,或从存储视频数据的存储器215取回视频数据。所述视频数据可以包括多个图像帧的图像数据。
对于每个图像帧,处理器210可以执行步骤410、415和420中的一个或多个。在步骤410、415和420中,处理器210可以对不同的感兴趣区域(ROI)执行类似的分析和处理。可以独立于任意其它ROI而执行对ROI及其对应背景图像(还称作“背景”)的分析。例如,在步骤410中,处理器210可以分析在图像帧(例如,图像帧301)中的左边ROI(例如,左边ROI 311)和对应背景图像的图像数据。在步骤415中,处理器210可以分析在图像帧(例如,图像帧302)中的中间ROI(例如,中间ROI 311)和对应背景图像的图像数据。在步骤420中,处理器210可以分析在图像帧(例如,图像帧303)中的右边ROI (例如,右边ROI 313)和对应背景图像的图像数据。在一些实施例中,针对每个图像帧,处理器210仅执行步骤410、415和420中的一个。在其它实施例中,针对每个图像帧,处理器210可以执行步骤410、415和420中的两个或更多个。在步骤410、415和420中,分析ROI和对应的背景图像可以包括:比较ROI的图像数据与背景的图像数据,当基于比较结果满足特定标准时更新背景的图像数据,以及获得时间和/或颜色数据用于从图像帧中检测对象(例如,移动对象)。当在图像帧中包括多于三个ROI时,方法400可以包括类似于那些步骤410、415和420的额外步骤。当在图像帧中包括少于三个ROI时,在方法400中可能不包括步骤410、415和420中的一个或多个。例如,当在图像帧中仅包括两个ROI(右边ROI 313和中间ROI 312)时,可以省略步骤410。
可以针对每个ROI独立地执行在当前图像帧中更新对应于ROI的背景的图像数据。首先,在已经获得了特定数量(例如,N,其可以是正整数,如2、3、5、10、15、20等)的图像帧之后,获得ROI的背景的初始图像数据。随着图像数据被频繁地获得,可以利用新获得的ROI的图像数据更新背景。可以利用以下方法获得背景的初始图像数据。
对每个ROI,可以基于来自预定数量的图像帧的ROI的图像数据(例如,如下所述最后N个图像帧),确定背景的初始图像数据。最后N个图像帧指的是从正在分析的当前图像帧向后计数的先前获得的图像帧。术语“最后N个图像帧”可以包括含有正在分析的ROI的当前图像帧。最后N个图像帧可以是最后N个连续获得的或非连续获得的图像帧。在其它实施例中,术语“最后N个图像帧”可能不包括含有正在分析的ROI的当前图像帧。
(例如,ROI或背景的)图像的图像数据可以包括包含于图像中的像素的像素值。像素值可以包括像素的亮度数据和颜色数据。首先,对于任意图像帧,可以获得包含于ROI中的像素的亮度作为n×m亮度矩阵Mn,m,其中n是表示行数的正整数,而m是表示列数的正整数。可以通过基于每行的所有m列计算值,而将亮度矩阵Mn,m转换或变换为n×1的亮度向量P。例如,处理器可以将每行的所有m列中的值相加,并使用该和作为向量P的行中的值。换句话说,可以通过P(i)=sum(M(i,1),M(i,2),...,M(i,m))获得亮度向量P中的每行,其中sum()表示求和的数学函数,并且其中i=1,2,...,n表示向量P的行数。
针对最后N个图像帧执行该转换或变换,以生成表示最后N个图像帧的图像数据的N个亮度向量Pf1、Pf2、...、PfN。可以基于对对应于最后N个连续图像帧的Pf1、Pf2、...、PfN的统计分析,获得对应于ROI的背景图像的初始亮度向量Q。统计分析可以包括任意适当的统计分析。在一个实施例中,统计分析可以包括基于Pf1、Pf2、...、PfN计算中值向量。例如,可以将初始向量Q的每行计算为Q(i)=median(Pf1(i),Pf2(i),...,PfN(i)),其中median()表示中值计算的数学函数,i=1,2,...,n表示向量Q的行数。换句话说,背景图像的初始向量Q的每行可以是最后N个图像数据的亮度向量的对应行的中值。在另一实施例中,统计分析可以包括基于Pf1、Pf2、...、PfN计算均值向量。例如,初始向量Q的每行可以计算为Q(i)=mean(Pf1(i),Pf2(i),...,PfN(i)),其中mean()表示均值或平均运算的数学函数。换句话说,背景图像的初始向量Q的每行可以是最后N个图像帧的亮度向量的对应行的平均值。
基于对应于最后N个图像帧的Pf1、Pf2、...、PfN计算出的其它统计值也可以用于背景图像的初始向量Q。
在针对ROI的背景图像获得初始向量Q之后,随着摄像机105捕捉到更多图像帧时可以更新初始向量Q。一些现有技术实时地更新背景图像(例如,更新Q),意味着用每个新捕捉到的图像帧更新Q。这种方法往往将在前景中出现的移动对象的图像数据混入到背景图像中,这影响了背景图像的提取。其它现有技术压根不更新背景图像,这对于变化场景来说是无效的。
本公开提供了用于更新背景图像的新方法,其解决了与现有技术相关联的问题。图5是示出用于更新对应于ROI的背景图像的数据的方法500的流程图。换句话说,对于每个ROI,可以执行方法500,以确定是否应该更新背景图像。方法500可以包括获得多个图像帧的图像数据(步骤505)。例如,处理器210可以从摄像机105(或图像捕捉模块205)或从存储器215获得多个图像帧的图像数据。方法500还可以包括从当前图像帧(例如,图像帧301、302和303之一)获得ROI(例如,ROI 311、312和313之一)的图像数据。对于每个ROI,处理器210可以比较ROI(例如,ROI 311)的图像数据与对应的背景图像的数据(步骤515)。
处理器210可以确定ROI的图像数据和背景的图像数据之间的差是否大于或等于预定的差值(步骤520)。当差不大于或等于(即,小于)预定差值时(步骤520中的“否”),处理器210可以利用从当前图像帧获得的ROI的图像数据来更新背景的图像数据(步骤525)。当差大于或等于预定差值时(步骤520中的“是”),处理器210可以确定在最后的N个图像帧中检测到该差的图像帧的总数Nf是否大于或等于预定帧数量N1(即,Nf≥N1)(步骤530)。当图像帧的总数Nf不大于或等于N1(即,Nf<N1)时(步骤530中的“否”),处理器210可以不更新背景的图像数据(步骤535)。当图像帧的总数Nf大于或等于N1(即,Nf≥N1)时(步骤530中的“是”),处理器210可以更新背景的图像数据(步骤540)。在一些实施例中,处理器210可以利用来自最后N个图像帧的ROI的图像数据更新背景的图像数据。可以将更新后的背景的图像数据存储于存储器215中或其它存储设备中。
在一些实施例中,可以如下执行步骤515。以左边ROI 311(图3A-3C)为例,可以将背景图像的初始向量表示为Q=[q1,q2,...,qN]T,并且可以通过基于在亮度矩阵的每行中所有列中的亮度值(例如,将亮度值相加)计算亮度值而获得表示在当前图像帧中的左边ROI 311的图像数据的亮度向量P=[p1,p2,...,pN]T,所述亮度矩阵包含在左边ROI 311中包括的像素的亮度值,如上所述。符号[]T表示向量转置的数学运算。因此,P和Q是N乘以1向量。可以将亮度向量P和Q彼此相减以获得亮度差向量D=[d1,d2,...dn]T。D的每行表示在P和Q的对应行之间的差。在一些实施例中,D可以表示在P和Q之间的绝对差,即,D(i)=P(i)-Q(i),其中i=1,2,...,n。也就是说,D的每行可以表示亮度值的绝对变化。在一些实施例中,D可以表示在P和Q之间的相对差(以百分比表示),例如,D(i)=100%*(P(i)-Q(i))/Q(i)。也就是说,D的每行可以表示亮度值的相对变化。在一些实施例中,计算两个差向量D1和D2,其中D1包括亮度值的绝对变化,而D2包括亮度值的相对变化。
在一些实施例中,步骤520可以如下实现。D1的每行(即,D1(i))可以与预定绝对变化Dabs(例如,5、10、15、20等)进行比较。处理器210可以确定D1(i)是否大于或等于Dabs。备选地或另外地,D2的每行(即,D2(i))可以与预定的相对变化Dperc(例如,15%、20%、30%等)进行比较。处理器210可以确定D2(i)是否大于或等于Dperc。
可以使用各种方法来在步骤520中确定ROI的图像数据与背景的图像数据之间的差是否大于或等于预定差值。例如,在一些实施例中,当处理器210确定D1中大于或等于Dabs的行的总数大于或等于预定行数R1(例如,5、8、10等)以及D2中大于Dperc的行的总数大于或等于预定行数R2(例如,5、8、10等)时,处理器210可以确定在ROI的图像数据和背景的图像数据之间的差大于或等于预定差值(步骤520中的“是”)。否则,如果D1中大于或等于Dabs的行的总数小于R1,和/或D2中大于Dperc的行的总数小于R2,则处理器210可以确定在ROI的图像数据和背景的图像数据之间的差小于预定差值(步骤520中的“否”)。例如,即使D2中大于Dperc的行的总数大于或等于R2,当D1中大于或等于Dabs的行的总数小于R1时(这表示绝对变化较小),处理器210也可以确定差小于预定差值,反之亦然。在这些实施例中,“在ROI的图像数据和背景的图像数据之间的差”包括绝对差和相对差,并且“预定差值”包括预定的绝对变化Dabs和预定的相对变化Dperc。
在其它实施例中,方法500可以在步骤520中执行的确定中仅使用绝对差向量D1和相对差向量D2中的一个。例如,处理器210可以通过以下方式实现步骤520:确定D1中大于或等于Dabs的行的总数大于或等于R1(步骤520中的“是”)或小于R1(步骤520中的“否”)。在该例子中,通过亮度值的绝对变化表示差,并且预定的差值是Dabs。又如,处理器210可以通过以下方式实现步骤520:确定D2中大于Dperc的行的总数大于或等于R2(步骤520中的“是”)或小于R2(步骤520中的“否”)。在该例子中,通过亮度值的相对变化表示差,并且预定的差值是Dperc。
如果处理器210在步骤520中确定“否”(例如,通过确定不满足下述中的至少一个:“D1中大于或等于Dabs的行的总数大于或等于R1”、“D2中大于Dperc的行的总数大于或等于R2”或两者),则处理器210可以更新背景的图像数据(步骤525)。这意味着,当在ROI的图像数据和背景之间的差较小时,利用当前图像帧中的ROI的图像数据更新背景图像。所述更新可以与上述背景图像更新方法相同,即,使用来自包括当前图像帧的最后N个图像帧的ROI图像数据的中值或平均值。例如,可以利用基于对应于最后N个图像帧的亮度向量Pf1、Pf2、...、PfN获得的中值或平均值向量来代替背景图像的亮度向量Q。
如果处理器210在步骤520中确定“是”(例如,通过确定满足下述中的至少一个:“D1中大于或等于Dabs的行的总数大于或等于R1”、“D2中大于Dperc的行的总数大于或等于R2”或两者),则处理器210可以检查针对最后N个图像帧(其可能包括或不包括当前图像帧)在步骤520中做出的类似确定的结果。处理器210可以计算最后N个图像帧中在先前执行的类似步骤520中做出了“是”确定的图像帧的总数Nf。换句话说,在这些Nf个图像帧中,满足以下中的至少一个:“D1中大于或等于Dabs的行的总数大于或等于R1”、“D2中大于Dperc的行的总数大于或等于R2”或两者。
在步骤530中,处理器210还可以确定Nf是否大于或等于预定帧数量N1。如果Nf≥N1,则处理器210可以利用ROI的图像数据(例如,亮度向量P)更新背景的图像数据(例如,亮度向量Q)(步骤540)。否则,处理器210可以不更新背景的图像数据(步骤535)。在步骤540中的背景图像更新可以类似于在上述步骤525中讨论的。也就是说,背景图像更新可以基于最后N个图像帧,包括当前图像帧。
返回参考图4,在每个步骤410、415和420中,处理器210还可以确定ROI首先发生变化的时刻。例如,当移动对象进入由在图3A中示出的两条垂直线限定的ROI时,移动对象可以引起ROI的图像数据相对其对应的背景图像的改变。例如,参考图3A,当人305首先进入右边ROI 313(例如,穿过右边ROI 313的右垂直线)时,处理器210可以在存储器215中记录时刻T1。参考图3B,当人305首先进入ROI 312(例如,穿过中间ROI 312的右垂直线)时,处理器210可以在存储器215中记录时刻T2。参考图3C,当人305首先进入左边ROI 311(例如,穿过左边ROI 311的右垂直线)时,处理器210可以在存储器215中记录时刻T3。
在步骤425中,处理器210可以基于记录的时刻T1、T2和T3确定右边、中间和左边ROI313、312和311发生变化的时间顺序。例如,当T1早于T2且T2早于T3时,处理器210可以按如下确定变化的时间顺序:右边ROI 313首先发生变化,然后是中间ROI 312,最后是左边ROI311。备选地,如果T3早于T2且T2早于T1,则处理器210可以按如下确定变化的时间顺序:左边ROI 311首先变化,然后是中间ROI 312,最后是右边ROI 313。
参考图4,处理器210可以比较从左边、中间和右边ROI 311、312和313获得的颜色数据(步骤430)。处理器210可以从不同的图像帧获得ROI的颜色数据。例如,处理器210可以从图像帧301获得右边ROI 313的颜色数据,从图像帧302获得中间ROI 312的颜色数据,以及从图像帧301获得左边ROI 311的颜色数据。对于在每个ROI中包含的像素,图像数据可以包括亮度数据和颜色数据。类似于亮度数据,颜色数据可以包含于一个或多个颜色矩阵中。例如,一个或多个颜色矩阵可以包括红色的颜色矩阵、绿色的颜色矩阵以及蓝色的颜色矩阵。在一些实施例中,ROI的颜色数据可以包含于包括像素的色度数据的矩阵中。为了讨论的简便,假设颜色数据存储于颜色矩阵中,每个数据点表示ROI的每个像素的颜色数据。利用类似于以上结合获得亮度向量类似的过程,可以通过将矩阵的每行中的所有列相加作为Vc的行而从颜色矩阵获得颜色向量Vc。
处理器210可以选择颜色向量Vc的特定行,并生成包含所选行的另一颜色向量Vc2。所选的行包括ROI的发生变化的区域(例如,大约特定高度的区域)的颜色数据。处理器210可以基于在ROI的亮度向量P中的行来确定从Vc中选择哪些行,在亮度向量P中在步骤520中检测到差(与背景图像的亮度向量Q相比)大于或等于预定差值。例如,当将P与Q比较时,可以满足以下条件中的一个或两个:D1中大于或等于Dabs的行的总数大于或等于R1,并且D2中大于Dperc的行的总数大于或等于R2。取决于应用,如果上述一个或两个条件都满足,则处理器210确定在ROI中存在移动对象。识别满足在D1和/或D2中这些条件的一个或两个的那些行,并记录其在向量中的位置(例如,保存在命名为“position_Move”的变量中)。识别在这些位置处的亮度向量P的那些行(例如,行号1、5、8、10)。然后,识别在颜色矩阵Vc中在这些位置处的对应行,并进行选择以形成颜色向量Vc2。Vc2包括ROI的发生变化的区域的颜色数据。例如,Vc2的每行表示ROI的在对应于行的位置的高度处的区域的颜色。
处理器210可以针对每个ROI获得颜色向量Vc2。例如,左边ROI 311可以与颜色向量Vc2_L相关联,中间ROI 312可以与颜色向量Vc2_C相关联,以及右边ROI 313可以与颜色向量Vc2_R相关联。
在步骤430中,处理器210可以基于确定颜色向量Vc2_L、Vc2_C和Vc2_R之间的差是否较小(例如,小于预定颜色差值)或基本相同,来确定是否同一移动对象已经移动穿过右边、中间和左边ROI 313、312和311。可以使用各种方法来量化颜色差,并确定在颜色向量之间的颜色差是否足够小,从而处理器210可以确定同一移动对象已经移动穿过ROI。在一个实施例中,处理器210可以比较颜色向量以获得颜色差向量,例如(Vc2_L-Vc2_C)和(Vc2_C-Vc2_R)。处理器210可以确定结果颜色差向量的每行的值是否落入到颜色差值的预定范围内,或者小于预定颜色值。例如,如果颜色差向量的每行落入到颜色差值的预定范围内或小于预定颜色差值,则可以确定ROI中的颜色差足够小以表示同一对象移动穿过ROI。否则,可以确定三个ROI中的颜色差较大,并且处理器210可以确定ROI内的移动对象引起的变化不是由同一对象引起的。在一个实施例中,当颜色差较大(表示不同的移动对象引起在ROI中的变化)时,处理器210可以不执行步骤435-455。当ROI之间的颜色差足够小时,如上所述,处理器210可以继续执行步骤435-455。
在步骤435中,处理器210可以在图像帧中检测移动对象(例如,同一移动对象305)在视野中从右移动到左。在步骤445中,处理器210可以在图像帧中检测移动对象在视野中从左移动到右。在一些实施例中,处理器210可以执行步骤435和445中的一个。在一些实施例中,处理器210可以执行步骤435和445两者。
在步骤435和445中检测移动对象可以基于从图像帧获得的时间信息和/或颜色数据。图6示意性示出了在图像帧中的ROI的布置。如图3A-3C所示的,当移动对象305在视野中从右移动到左时,移动对象305可以在T1、T2和T3连续地进入右边ROI 313、中间ROI 312和左边ROI 311。出于说明的目的,在图6中示出了三个时刻T1、T2和T3。在右边ROI 313和中间ROI312之间的距离是d1,在中间ROI 312和左边ROI 311之间的距离是d2。右边ROI 313的宽度是w1,中间ROI 312的宽度是w2,以及左边ROI 311的宽度是w3。距离d1可以与距离d2相同或不同。宽度w1、w2、w3彼此可以相同或彼此可以不同(例如,至少两个不同)。当设置在图像帧中的ROI的布置时,距离d1和d2以及宽度w1、w2和w3可以是已知参数。可以根据Ti1=(T2-T1)*d1/(d1+w1)来确定移动对象305从右边ROI 313到中间ROI 312行进距离d1的第一时间间隔Ti1。可以根据Ti2=(T3-T2)*d2/(d2+w2)来确定移动对象305从中间ROI 312到左边ROI 311行进距离d2的第二时间间隔Ti2。
处理器210可以比较第一时间间隔Ti1和第一预定时间延迟Td1,并比较第二时间间隔Ti2和第二预定时间延迟Td2。在一些实施例中,Td1与Td2相同。在一些实施例中,Td1和Td2彼此不同。在一些实施例中,基于ROI之间的距离d1或d2,确定时间延迟Td1和Td2中的每一个。例如,第一预定时间延迟Td1可以与距离d1成比例,并且第二预定时间延迟Td2与距离d2成比例。当d1大于d2时,Td1可以预设为大于Td2。当满足时间要求和颜色要求时,处理器210可以检测移动对象305移动穿过右边ROI 313、中间ROI 312和左边ROI 311。时间要求可以是第一时间间隔Ti1小于第一预定时间延迟Td1(即,Ti1<Td1),并且第二时间间隔Ti2小于第二预定时间延迟Td2(即,Ti2<Td2)。颜色要求可以是颜色差向量之间的颜色差(例如(Vc2_L-Vc2_C)和(Vc2_C-Vc2_R))较小,或者换句话说,当ROI的颜色向量基本相同时。另外,在一些实施例中,处理器210还可以计算右边和左边ROI之间的颜色差向量,例如(Vc2_L-Vc2_R),并且将该向量与上述两个颜色差向量比较。
在步骤435中,处理器210可以基于右边、中间和左边ROI 313、312和313发生变化的时间顺序,确定移动对象305在摄像机105的视野中从右移动到左。例如,如图3A-3C所示,右边ROI 313首先发生变化,然后是中间ROI 312,然后是左边ROI 311。变化的时间顺序由如下指示:T1早于T2,T2早于T3。处理器210可以确定第一时间间隔Ti1小于第一预定时间延迟Td1,并且第二时间间隔Ti2小于第二预定时间延迟Td2。另外,处理器210可以确定ROI的颜色向量之间的颜色差较小(或颜色向量实质相同),如以上结合图4的步骤430所讨论的。在一些实施例中,当处理器210确定满足时间要求和颜色要求两者时,处理器210可以基于确定同一对象305移动穿过ROI而在图像帧中检测移动对象305。在一些实施例中,颜色要求是可选的。当处理器210确定满足时间要求时,处理器210可以在图像帧中检测移动对象305,而不管是否满足颜色要求。满足颜色要求可以增加移动对象检测的准确度。
仍参考图4,除了步骤435外或作为步骤435的替代,处理器210还可以基于左边、中间和右边ROI 311、312和313发生变化的顺序以及ROI的颜色数据,确定移动对象305在摄像机105的视野中正从左移动到右(步骤445)。检测移动对象在视野中从左移动到右的过程类似于上述结合步骤435讨论的过程。因此,不重复在步骤445中执行的详细过程。在一些实施例中,当满足类似于以上讨论的时间要求和颜色要求两者时,处理器210可以检测移动对象305从左移动到右。在一些实施例中,颜色要求是可选的。
如图4所示,处理器210可以确定向左移动对象的移动速度(步骤440)。备选地或另外地,处理器210可以确定向右移动对象的移动速度(步骤450)。参考图6,并且以在图3A-3C中示出的向左移动对象为例,可以将从右边ROI 313到中间ROI 312的移动速度确定为SL1=(w1+d1)/(T2-T1),并且从中间ROI 312到左边ROI 311的移动速度确定为SL2=(w2+d2)/(T3-T2)。可以基于速度SL1和SL2确定移动对象305的移动速度。例如,移动对象305的移动速度可以确定为SL1和SL2的平均。可以将平均速度用作跟踪移动对象305的跟踪速度。可以用类似的方式执行确定向右移动对象的移动速度,将不进行重复。
如图4所示,在检测移动对象及其移动方向并且确定移动速度之后,处理器210可以基于移动方向和速度发起对移动对象的跟踪(步骤455)。在一些实施例中,处理器210可以将控制信号发送给电动机120以驱动电动机120,从而电动机120可以调整摄像机105的角度以沿着移动方向跟随移动对象305。换句话说,电动机120可以调整摄像机105的角度(例如,摇头角度和/或倾斜角度)以改变摄像机的视野,从而将移动对象305保持在视野内。驱动电动机120的速度(或称作跟踪速度)可以基于移动对象的移动速度。例如,跟踪速度可以是使得视野以与对象移动速度相同的速度移动。
如图3C所示,当处理器210识别移动对象305并确定跟踪移动对象305时,可以将跟踪指示符310叠加到在显示器上显示的图像帧上,并可以随着移动对象305继续向左移动而跟随移动对象305。跟踪指示符310可以是可选的,也就是,在一些实施例中,跟踪指示符310可以不被显示。
图7是示出用于从多个图像帧中检测对象的方法700的流程图。方法700可以由处理器210执行。方法700可以包括获得在图像帧中的感兴趣区域(ROI)的图像数据(步骤705)。例如,处理器210可以从图3A示出的图像帧301中获得右边ROI 313的图像数据(其可以包括像素的亮度数据和/或颜色数据)。处理器210可以从图3B示出的图像帧302中获得中间ROI 312的图像数据(其可以包括像素的亮度数据和/或颜色数据)。处理器210可以从图3C示出的图像帧303中获得左边ROI 311的图像数据(其可以包括像素的亮度数据和/或颜色数据)。处理器210可以比较感兴趣区域的图像数据与背景图像的图像数据,以检测在感兴趣区域中的变化(步骤710)。例如,处理器210可以利用例如以上结合图4描述的方法比较右边ROI 313的亮度向量与对应背景图像的亮度向量。处理器210可以基于检测到的变化在图像帧中检测对象,例如,移动对象(步骤715)。关于从图像帧中识别对象(例如,移动对象)的方法的细节在以上进行了讨论,并且将不在此重复。方法700可以包括在方法400和方法500中包含的一个或多个步骤。
虽然在此已经描述了说明性实施例,但是基于本公开本领域技术人员将理解,任意和所有实施例的范围可以具有等同的元件、修改、省略、(例如,跨各个实施例的方面的)组合、适配和/或改变。应基于权利要求中采用的语言对权利要求中的限定进行宽泛解释,而不应将其限制到在本说明书中描述的或在本申请审查期间的例子。所述例子将被解释为非排它的。此外,可以以任何方式修改所公开的过程的步骤,包括通过重新排序步骤和/或插入或删除步骤。因此,意图将说明书和例子视为仅说明性的,真实的范围和精神由所附权利要求及等同物的全部范围表示。
Claims (12)
1.一种设备,包括:
存储器,被配置为存储指令;以及
处理器,被配置为执行所述指令,以:
获得包含于图像帧中的感兴趣区域的图像数据;
比较所述感兴趣区域的图像数据与背景的图像数据,以检测在所述感兴趣区域中的变化;以及
基于检测到的变化来检测在图像帧中的对象;
其中,每个图像帧包括多个感兴趣区域,并且其中所述处理器还被配置为执行所述指令,以:
根据所述比较,确定多个感兴趣区域中每个感兴趣区域中已经发生变化的位置;
获得来自不同图像帧的不同感兴趣区域中的所述位置处的颜色数据;以及
比较从不同图像帧中的不同感兴趣区域获得的颜色数据;
其中,所述处理器还被配置为执行所述指令,以:
获得指示多个感兴趣区域中何时发生变化的时刻;
基于所述时刻,确定变化的时间顺序;以及
基于所述时间顺序,确定对象穿过感兴趣区域的移动方向;
其中,所述处理器还被配置为执行所述指令,以:
基于多对相邻的时刻,计算多个时间间隔;
比较所述时间间隔与多个预定时间延迟值;以及
在以下情形时,确定同一对象沿所述移动方向穿过感兴趣区域:
每个时间间隔小于每个对应的预定时间延迟值;以及
从不同图像帧中的不同感兴趣区域获得的颜色数据的差小于预定颜色值。
2.根据权利要求1所述的设备,其中,所述处理器还被配置为执行所述指令,以:
基于所述比较,确定在所述感兴趣区域的图像数据与所述背景的图像数据之间的差。
3.根据权利要求2所述的设备,其中,所述处理器还被配置为执行所述指令,以:
确定存储所述感兴趣区域的图像数据的第一向量和存储所述背景的图像数据的第二向量之间的差向量;以及
确定所述差向量是否满足预定条件。
4.根据权利要求2所述的设备,其中,所述处理器还被配置为执行所述指令,以:
确定所述差小于预定的差值;以及
利用所述感兴趣区域的图像数据来更新所述背景的图像数据。
5.根据权利要求4所述的设备,其中,更新所述背景的图像数据包括:
利用来自预定数量的图像数据帧的感兴趣区域的图像数据,更新所述背景的图像数据。
6.根据权利要求2所述的设备,其中,所述处理器还被配置为执行所述指令,以:
确定所述差大于或等于预定差值;
从预定的多个图像帧中确定差大于或等于预定差值的图像帧的数量;以及
当所述图像帧的数量大于或者等于预定帧数量值时,利用来自所述预定的多个图像帧的感兴趣区域的图像数据来更新所述背景的图像数据。
7.根据权利要求1所述的设备,其中,所述处理器还被配置为执行所述指令,以:通过发送控制信号以驱动电动机沿运动方向转动摄像机跟随对象,而发起沿所述移动方向跟踪对象。
8.根据权利要求7所述的设备,其中,所述处理器还被配置为执行所述指令,以基于所述时刻和相邻感兴趣区域之间的距离来确定对象的移动速度,并且其中所述控制信号基于所述移动速度来控制驱动所述电动机的速度。
9.根据权利要求1所述的设备,其中,所述处理器还被配置为执行所述指令,以:
获得亮度矩阵,所述亮度矩阵包括所述感兴趣区域中包含的像素的亮度值;以及
将所述亮度矩阵转换为亮度向量,所述向量的每行是基于所述行的所有列的亮度值计算的,
其中,所述感兴趣区域的图像数据由所述亮度向量表示。
10.根据权利要求9所述的设备,其中,所述处理器还被配置为执行所述指令,以:
获得颜色数据矩阵,所述颜色数据矩阵包括所述感兴趣区域中包含的像素的颜色数据;以及
将所述颜色矩阵转换为颜色值向量,所述向量的每行是所述行的所有列的颜色值的和,
其中,与所述感兴趣区域相关联的图像数据包括所述颜色值向量。
11.根据权利要求9所述的设备,其中,所述处理器还被配置为执行所述指令,以:
基于从预定数量的图像帧获得的亮度向量,获得初始亮度向量作为所述背景的图像数据。
12.根据权利要求1所述的设备,其中,所述图像帧包括三个感兴趣区域。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610498023.9A CN105957110B (zh) | 2016-06-29 | 2016-06-29 | 用于检测对象的设备和方法 |
US15/212,761 US10346685B2 (en) | 2016-06-29 | 2016-07-18 | System and method for detecting and tracking a moving object |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610498023.9A CN105957110B (zh) | 2016-06-29 | 2016-06-29 | 用于检测对象的设备和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105957110A CN105957110A (zh) | 2016-09-21 |
CN105957110B true CN105957110B (zh) | 2018-04-13 |
Family
ID=56901670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610498023.9A Active CN105957110B (zh) | 2016-06-29 | 2016-06-29 | 用于检测对象的设备和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10346685B2 (zh) |
CN (1) | CN105957110B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11493998B2 (en) | 2012-01-17 | 2022-11-08 | Ultrahaptics IP Two Limited | Systems and methods for machine control |
US8693731B2 (en) | 2012-01-17 | 2014-04-08 | Leap Motion, Inc. | Enhanced contrast for object detection and characterization by optical imaging |
CN106127292B (zh) * | 2016-06-29 | 2019-05-07 | 上海小蚁科技有限公司 | 流量计数方法和设备 |
CN109479118A (zh) * | 2016-09-30 | 2019-03-15 | 富士通株式会社 | 对象检测方法、对象检测装置以及电子设备 |
CN106878611B (zh) * | 2016-12-29 | 2020-02-11 | 北京空间机电研究所 | 一种智能侦察监视光电系统 |
CN107404615B (zh) * | 2017-06-29 | 2020-08-25 | 联想(北京)有限公司 | 图像录制方法及电子设备 |
US10552707B2 (en) * | 2017-12-07 | 2020-02-04 | Qualcomm Incorporated | Methods and devices for image change detection |
CN112822941B (zh) * | 2018-09-21 | 2023-04-25 | 塞纳科有限公司 | 蚊虫分类、分拣和绝育 |
CN111414904B (zh) * | 2019-01-08 | 2023-12-01 | 北京地平线机器人技术研发有限公司 | 处理感兴趣区域数据的方法和装置 |
CN110111364B (zh) * | 2019-04-30 | 2022-12-27 | 腾讯科技(深圳)有限公司 | 运动检测方法、装置、电子设备及存储介质 |
US11243117B2 (en) * | 2019-09-11 | 2022-02-08 | Jdrf Electromag Engineering Inc. | NIR motion detection system and method |
US11492138B2 (en) | 2020-04-16 | 2022-11-08 | Goodrich Corporation | Aircraft search light system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360423A (zh) * | 2011-10-19 | 2012-02-22 | 丁泉龙 | 一种人体智能跟踪方法 |
CN104539890A (zh) * | 2014-12-18 | 2015-04-22 | 苏州阔地网络科技有限公司 | 一种目标跟踪方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7631808B2 (en) * | 2004-06-21 | 2009-12-15 | Stoplift, Inc. | Method and apparatus for detecting suspicious activity using video analysis |
JP4732299B2 (ja) * | 2006-10-25 | 2011-07-27 | 富士フイルム株式会社 | 特定被写体像の検出方法およびデジタルカメラ |
US9197861B2 (en) * | 2012-11-15 | 2015-11-24 | Avo Usa Holding 2 Corporation | Multi-dimensional virtual beam detection for video analytics |
JP6655878B2 (ja) * | 2015-03-02 | 2020-03-04 | キヤノン株式会社 | 画像認識方法及び装置、プログラム |
JP2017022527A (ja) * | 2015-07-09 | 2017-01-26 | 株式会社東芝 | 目的物検出装置、目的物検出方法および、欠陥画素の補正装置 |
-
2016
- 2016-06-29 CN CN201610498023.9A patent/CN105957110B/zh active Active
- 2016-07-18 US US15/212,761 patent/US10346685B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360423A (zh) * | 2011-10-19 | 2012-02-22 | 丁泉龙 | 一种人体智能跟踪方法 |
CN104539890A (zh) * | 2014-12-18 | 2015-04-22 | 苏州阔地网络科技有限公司 | 一种目标跟踪方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于背景差分的人体跟踪方法在视频交互中的应用;梁怀宗等;《和谐人机环境2008》;20081031;第352-356页 * |
Also Published As
Publication number | Publication date |
---|---|
US20180005033A1 (en) | 2018-01-04 |
US10346685B2 (en) | 2019-07-09 |
CN105957110A (zh) | 2016-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105957110B (zh) | 用于检测对象的设备和方法 | |
TWI750498B (zh) | 視訊流的處理方法和裝置 | |
Chavdarova et al. | Wildtrack: A multi-camera hd dataset for dense unscripted pedestrian detection | |
US9210336B2 (en) | Automatic extraction of secondary video streams | |
US6556708B1 (en) | Technique for classifying objects within an image | |
US8922674B2 (en) | Method and system for facilitating color balance synchronization between a plurality of video cameras and for obtaining object tracking between two or more video cameras | |
Yin et al. | The infrared moving object detection and security detection related algorithms based on W4 and frame difference | |
US11915430B2 (en) | Image analysis apparatus, image analysis method, and storage medium to display information representing flow quantity | |
JPWO2016114134A1 (ja) | 移動状況推定装置、移動状況推定方法およびプログラム | |
CN101605209A (zh) | 摄像装置及图像再生装置 | |
US10970823B2 (en) | System and method for detecting motion anomalies in video | |
CN105469427B (zh) | 一种用于视频中目标跟踪方法 | |
US6434271B1 (en) | Technique for locating objects within an image | |
JP2018120283A (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN116883897A (zh) | 一种低分辨率目标识别方法 | |
WO2012153868A1 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
Li et al. | Fast visual tracking using motion saliency in video | |
JP4751871B2 (ja) | 撮像対象検出装置および方法 | |
Delussu et al. | Investigating synthetic data sets for crowd counting in cross-scene scenarios | |
Marciniak et al. | Real-time bi-directional people counting using video blob analysis | |
Tseng et al. | Automatic detection and tracking in multi-fisheye cameras surveillance system | |
Tupper et al. | Pedestrian proximity detection using RGB-D data | |
Iosifidis et al. | A hybrid static/active video surveillance system | |
CN114820692B (zh) | 跟踪目标的状态分析方法、装置、存储介质和终端 | |
JP5968752B2 (ja) | 飛来物体を検出する画像処理方法、画像処理装置及び画像処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201228 Address after: Room 1607, 515 huanke Road, Pudong New Area, Shanghai 201203 Patentee after: Shanghai Qigan Electronic Information Technology Co.,Ltd. Address before: 201203 Shanghai Pudong New Area Zhangjiang hi tech Park No. 88, No. 1, 303, 305, Chen Hui Road, Patentee before: Shanghai Xiaoyi Technology Co.,Ltd. |
|
TR01 | Transfer of patent right |