流量计数方法和设备与流程

文档序号:11865447阅读:617来源:国知局
流量计数方法和设备与流程

本公开总体涉及计算机视觉技术,更具体地涉及流量(traffic)计数系统和方法。



背景技术:

流量计数指的是在给定时间段内对在特定方向上移动的移动对象的数量进行计数。例如,对象可以是人或车辆。流量计数具有各种应用,例如,确定走入和/或走出建筑物的人数、进入和/离开公交车或火车的乘客数、驶入和/或驶出停车场的车辆数、在给定方向上移动的行人/车辆数,等等。

近年来,流量计数在多个工业和服务部门获得了巨大关注。例如,消费者商业(例如,零售商店、超市等)越来越意识到监视到它们机构的来访者数量的重要性。可以分析消费者流量数据以更好地组织职工轮班、管理库存、评估销售业绩、进行市场研究等。改善对惠顾的洞察的趋势还可见于其它场所,例如,展览厅、体育和健身设施以及如图书馆、大学和医院的公共机构。

又如,流量计数可以用于安保或安全目的。在疏散情况下,重要的是在给定时间知道建筑物内有多少人。例如,消防部门需要流量数据来了解建筑物内的活动并管理建筑物的消防出口,例如增加或移除消防出口、改变消防出口的大小,等等。

又如,在当前构建“智能城市”的努力中,决策制定者越来越依赖于流量计数数据来在调节公共交通、分布公共资源等方面制定明智的决策。

传统地,流量计数是通过工人手动执行的。然而,人容易产生错误、容易疲劳,并不能无中断地监视流量。例如,工人可能在拥挤场所进行错误计数。此外,人工是昂贵的,因此流量计数通常以特定(ad hoc)方式执行。数据范围可能只覆盖短的时间跨度,例如几小时或几天,且不能提供对流量的长期趋势的洞察。因此,手动获得的数据通常缺乏准确性和详尽性。需要用于自动执行流量计数的设备和方法。

所公开的方法和系统解决了上述一个或多个问题。



技术实现要素:

与本公开的一个实施例一致地,提供了一种流量计数方法。所述方法可以包括:在包括移动对象的流量视图中,识别第一和第二感兴趣区域(ROI)。所述方法还包括获得分别表示所述第一和第二ROI的第一和第二图像数据。所述方法还可以包括随着时间分析所述第一和第二图像数据。所述方法还可以包括基于对所述第一和第二图像数据的分析,对移动对象计数以及确定所述移动对象的移动方向。

与本公开的另一实施例一致地,提供了一种流量计数设备。所述设备可以包括存储器和处理器。所述存储器可以存储指令。所述处理器可以被配置为执行所述指令,以:在包括移动对象的流量视图中,识别第一和第二感兴趣区域(ROI);获得分别表示所述第一和第二ROI的第一和第二图像数据;随着时间分析所述第一和第二图像数据;以及基于对所述第一和第二图像数据的分析,对移动对象计数以及确定所述移动对象的移动方向。

与本公开的又一实施例一致地,提供了一种存储用于执行流量计数方法的指令的非瞬态计算机可读存储介质。所述指令使得处理器执行流量计数方法。所述方法可以包括:在包括移动对象的流量视图中,识别第一和第二感兴趣区域(ROI)。所述方法还包括获得分别表示所述第一和第二ROI的第一和第二图像数据。所述方法还可以包括随着时间分析所述第一和第二图像数据。所述方法还可以包括基于对所述第一和第二图像数据的分析,对移动对象计数以及确定所述移动对象的移动方向。

应理解,上述一般描述和后续详细描述都只是示例性和说明性的,而并不限制所要求保护的发明。

附图说明

附图被并入且构成了本说明书的一部分,其示出了与本公开一致的实施例,并与说明书一起用于解释本公开的原理。

图1是根据示例性实施例的示出用于执行流量计数的实现环境的示意图。

图2是根据示例性实施例的示出成像设备和流量方向之间的相对配置的示意图。

图3是根据示例性实施例的流量计数系统的框图。

图4是根据示例性实施例的示出在图像帧中的两个感兴趣区域(ROI)的示意图。

图5是根据示例性实施例的用于生成表示ROI的背景的参考数据的方法的流程图。

图6是根据示例性实施例示出用于压缩表示ROI的图像数据的过程的示意图。

图7是根据示例性实施例示出用于对表示ROI的图像数据应用中值滤波的过程的示意图。

图8是根据示例性实施例用于更新ROI的背景的方法的流程图。

图9A是根据示例性实施例示出用于在ROI中检测前景的过程的示意图。

图9B是根据示例性实施例示出用于在ROI中检测前景的过程的示意图。

图10是根据示例性实施例的流量计数方法的流程图。

图11是根据示例性实施例的用于识别朝向感兴趣场所的移动方向的方法的流程图。

具体实施方式

现在将详细参考示例性实施例,在附图中示出了所述实施例的例子。后续描述参考附图,除非另有说明,否则在不同的图中的相同附图标记表示相同或相似的元件。在示例性实施例的后续描述中阐述的实现方式并不表示与本发明一致的所有实现方式。相反,它们仅是与在所附权利要求中记叙的本发明相关的方面相一致的设备和方法的例子。

在本公开中,“流量计数”指的是在给定时间段内对移动对象的计数。所公开的流量计数系统可以不仅确定移动对象的数量,而且确定移动对象的移动方向。例如,流量计数系统可以安装在购物商场的入口处,以监视有多少顾客进入和离开商场。又如,流量计数系统可以安装在停车场的大门处,以监视有多少车辆驶入或驶出停车场。再如,流量计数系统可以用于十字路口处,以确定穿过十字路口的车辆/行人数量以及车辆/行人的移动方向。

可以开发各种方法来对流量进行计数。一种方法是使用光传感器基于发送和/或反射光来对移动对象的数量进行计数。例如,发光二极管(LED)可以安装在门的一侧,并朝向门的另一侧发出红外光束。光检测器可以用于检测红外光。当人们经过门并切断红外光束时,光检测器可以检测红外光束的强度变化。控制器可以用于分析光强度的变化,并确定经过门的人数。

可以将该方法应用于其它类型的光,例如各种波长的激光束。基于光传感器的系统比较便宜且容易安装。此外,光生成器和检测器具有紧凑的尺寸,并因此适于安装到多个地方。然而,基于光传感器的方法具有影响其计数结果精确性的若干缺点。首先,该方法对环境变化敏感,且不能确定光强度变化是由移动的人还是环境变化(例如,降尘)引起的。第二,该方法不能区分检测到的移动对象的类型,例如区分人和宠物。第三,当一群人同时经过门时,该方法可能错误地将多个人当作一个人。此外,该方法需要多个光传感器/检测器和复杂的数据分析来识别对象的移动方向。例如,需要至少两个光束来推断人是进入还是离开场所。

另一流量计数方法是在入口/出口处使用十字转门,例如三脚架十字转门。十字转门可以准确地对人进行计数,并确定人们的移动方向。然而,十字转门阻碍人们的移动,并减缓了流量。十字转门还降低了人们“自由的感觉”。因此,十字转门对如购物商场的商业场所而言可能是不如人意的。

又一流量计数方法是在入口/出口处使用重量传感器,例如脚步传感器。当人们踩上重量传感器时,传感器执行计数。然而,重量传感器需要对环境的严重改变,例如,打开地板,并因此在安装和维修方面是昂贵的。此外,重量传感器不能容易地确定对象的方向。

本公开提供了用于流量计数的基于计算机视觉的系统和方法,作为前述方法的替代。特别地,所公开的实施例采用视频摄像机来检测进入或离开预定区域的对象(例如,人)。如下所述,所公开的实施例提供解决上述一个或多个困难的技术方案。

图1是根据示例性实施例的示出用于执行流量计数的实现环境100的示意图。参考图1,实现环境100可以包括一个或多个对象110、移动区域120、成像设备130和后端计算机140。

对象110可以是能够移动和/或停止的任意对象、人、机器、车辆、设备或系统。当对象110移动时,它们形成可以由成像设备130监视的流量。

移动区域120可以是对象110能够在其中移动的任意区域。例如,移动区域120可以是入口、出口、门或大门、走廊、街道、运动场、室内空间等。

仅出于说明的目的,在此将对象110示出并描述为进入和离开商店的人,并且在此将移动区域120示出和描述为商店的入口/出口(例如,结账区域)。然而,可以理解的是,所公开的实施例可以应用于任何其它类型的移动对象,例如动物、陆地或空中交通工具、火车、船舶等。还可以理解的是,所公开的实施例可以应用于任何可能产生对象流量的移动区域,例如电梯入口、街道十字路口、地铁门等。

一般地,对象110可以在任何方向上移动。例如,移动区域120可以是人们能在任何方向上跑动或走动的运动场。然而,实际上,流量可以具有某些主要方向。例如,如图1所示,在商店入口处,顾客走入或走出商店。例如,在建筑物的走廊中,人们通常在两个方向上移动。又如,在门口处发生的流量通常进具有两个方向,即,进入或离开房间/建筑物。再如,路上的流量通常沿着道路限定的方向。

成像设备130可以被配置为捕捉表示移动对象110的图像的数据。如本文所使用的,“图像”可以指代部分或整个静态或动态视觉表示,包括但不限于:照片、图片、图形、视频、全息图、虚拟现实图像、增强现实图像、其它视觉表示或其组合。在一些实施例中,多个成像设备130可以用于捕捉对象130形成的流量的不同部分的图像数据。

例如,成像设备130可以包括照相机、视频摄像机、红外成像设备、紫外成像设备、超声成像设备、雷达设备,等等。仅出于说明的目的,在此将成像设备130示出和描述为能够以各种分辨率和帧率捕捉图像数据帧的视频摄像机。

在一个实施例中,成像设备130被配置为头顶摄像机,例如附到天花板或门的上门框上的摄像机,以避免由多个对象110引起的图像遮挡和背景灯变化的问题。然而,头顶摄像机仅可以捕捉人们的头部和/或肩膀,这经常不能传达关于人们的身份和行为的许多信息。

如下更详细地描述,本公开中的成像设备130并不限于头顶成像设备。在一些实施例中,成像设备130可以安装在与对象110(例如人)的平均高度可比的高度处。例如,如图1所示,成像设备130可以附到商店的墙壁上,在地板上方例如1.5米的距离处。这样,由成像设备130捕捉到的图像可以覆盖顾客的完整身体,并因此不仅可以用于对流量计数,而且还可以完成其它监视目的。例如,图像可以显示顾客的面部特征,因此能够识别顾客。因此,可以使用相同的设备和基础设施用于监控以及用于流量计数。这样,可以减少用户支出。

如前所述,对象110所形成的流量可以在主要方向上移动。如果成像设备130的成像方向与流量方向平行或与其形成较小角度(例如,10度),则对象110在大部分时间内朝向或远离成像设备130移动。在这种情况下,必须分析由成像设备130获得的图像以获得对象110的深度信息,以便检测对象110的运动。此外,由多个对象110引起的遮挡问题可能是严重的,并影响流量计数的精确度。

为了避免这些问题,在一些实施例中,可以将成像设备130的成像方向设置为与流量方向形成较大角度,例如80或90度。图2是根据示例性实施例的示出成像设备130和流量方向之间的相对配置的示意图。参考图2,多个对象110(例如,人)沿着移动区域120(例如,人行道或走廊)移动。由对象110形成的流量具有由移动区域120的物理形状限定的可分辨方向。成像设备130可以被定向为使得成像方向与流量方向以较大角度交叉。例如,如图2所示,成像设备130a-c的每个成像方向可以与流量方向形成预定较大角度。这样,可以基于对象110在捕捉图像中的位置变化来确定对象110的运动,而不需要深度信息。此外,可以减少遮挡问题。

在一些实施例中,成像设备130可以包括嵌入式流量计数模块(图1中未示出),该模块被配置为执行所公开的流量计数方法。嵌入式流量计数模块可以限制必须发送给单独设备(例如,后端计算机140)以进行图像分析的图像数据的量。例如,如果成像设备130是能够获取320×240像素的RGB-24格式的视频的视频摄像机,则每个视频图像可以以3x320x240=230400字节=225KB编码。此外,如果该视频摄像机以15帧每秒(fps)操作,则二分之一的视频数据等于大约3.3MB。也就是说,需要至少3.3MB/s的带宽来传输图像数据。这可能对用户网络造成重负,尤其是当使用多个成像设备130时。

利用嵌入式流量计数模块,成像设备130可以在设备内执行流量计数,然后将计数结果发送给其它设备以供进一步分析。这还意味着对用户而言较少的设备、布线和支出。出于上述原因,具有嵌入式流量计数功能的成像设备尤其适用于商业场所,例如,超市、零售商店等。

再次参考图1,后端计算机140是与成像设备130分离的计算机,并可以通过有线或无线网络连接到成像设备130上。后端计算机140可以从成像设备130处接收流量计数结果。流量计数结果例如可以包括在给定时间段内进入和离开商店的人数。后端计算机140可以分析流量计数结果与其它相关数据,以生成各种报告来满足用户的特定需求。例如,商店经理可以使用后端计算机140来确定在一天、一周、一月、购物季、一年、经济周期等内的顾客流量趋势。基于所述确定,后端计算机140可以为店主生成推荐,以在高峰时间期间增加职工,在慢时减少职工,随着时间管理库存等。因此,可以实现商店的智能管理。

在一些实施例中,成像设备130可以生成流量计数结果并实时地将其发送给后端计算机140。这样,后端计算机140可以持续监视流量,并以及时的方式检测任何非期望的变化。例如,当检测到非期望的顾客涌入时,后端计算机140可以立即警告店主采取快速响应。

在一些实施例中,成像设备130还可以将图像数据发送给后端计算机140以供执行所公开的流量计数方法。本公开并不限制用于执行所公开的流量计数方法的设备类型。

图3是根据示例性实施例的流量计数系统300的框图。参考图3,系统300可以包括成像设备310和服务器350,其通过有线或无线网络彼此连接。

成像设备310可以包括一个或多个以下部件:图像传感器312、处理部件314、存储器318、电源部件320、多媒体部件322、通信部件324以及输入/输出(I/O)接口326。

图像传感器312可以是电荷耦合器件(CCD)传感器、互补金属氧化物半导体(CMOS)传感器或其它类型的固态传感器。图像传感器312还可以包括任意光学设备、透镜、CCD或CMOS驱动电路,以及光学部件、电子部件和用于发送和接收各种波长的光的控制电路的其它布置。

处理部件314可以被配置为控制成像设备310的整体操作,例如,与云台变焦移动、快门控制、视频记录、视频编码、图像显示以及数据通信相关联的操作。处理部件314可以包括一个或多个处理器316,以执行指令来实现所公开的流量计数方法的一些或所有步骤。此外,处理器部件314可以包括一个或多个模块,其便于处理部件314和其它部件之间的交互。例如,处理部件314可以包括通信模块,以便于通信部件324和处理部件314之间的交互。

在示例性实施例中,处理部件314可以用一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其它电子部件来实现,以执行所公开的流量计数方法。

存储器318可以被配置为存储各种类型的数据以支持成像设备310的操作。这种数据的例子包括用于由成像设备310执行的任意应用或方法的指令、由图像传感器312生成的图像数据、流量计数结果等。可以利用任意类型的易失性或非易失性存储设备或其组合来实现存储器318,所述存储设备例如是:存储器芯片(或集成电路)、静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)。可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪存、或者磁盘或光盘。

在示例性实施例中,还提供了一种包括指令的非瞬态计算机可读存储介质,指令例如包含于存储器318中,由处理器316执行以实现所公开的流量计数方法。

电源部件320可以向成像设备310的各种部件提供电力。电源部件320可以包括电源管理系统、一个或多个电源、以及与在成像设备310中生成、管理和分配操作电力相关联的任意其它部件。

多媒体部件322可以包括提供在成像设备310和用户之间的输出接口的屏幕。例如,所述屏幕可以用于显示捕捉到的图像并提供图像预览。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,则屏幕可以接收来自用户的触摸输入信号。触摸面板包括一个或多个触摸传感器,用于感测触摸、滑动、手势和其它触觉输入。在一些实施例中,多媒体部件322可以包括麦克风,其被配置为在成像设备310捕捉图像的同时接收外部音频信号。接收到的音频信号还可以存储于存储器318中,或经由通信部件324传输。在一些实施例中,多媒体部件322还可以包括扬声器来输出音频信号。

通信部件324可以被配置为便于在成像设备310和其它设备(例如,服务器350)之间的有线或无线通信。成像设备310可以基于一个或多个通信标准访问无线网络,所述标准例如是Wi-Fi、LTE、2G、3G、4G、5G等。在一个示例性实施例中,通信部件324可以经由广播信道接收或发送广播信号和相关联的信息。在一个示例性实施例中,通信部件324还可以包括NFC模块,用于便于短程通信。在其它实施例中,可以基于射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙技术或其它技术来实现通信部件324。

I/O接口326可以提供处理部件312和外围接口模块之间的接口,所述外围接口模块例如是键盘、触控轮、按钮、触摸屏等。

成像设备310可以经由通信部件324将流量计数结果和/或图像数据发送到服务器350以供进一步分析。服务器150可以是通用计算机、大型计算机、由多个服务器组成的服务器群集、基于云的计算服务、或这些部件的任意组合。服务器350还可以分析流量计数结果,并生成为用户实际需要而定制的各种推荐。

如下所述,所公开的实施例提供用于对移动对象计数并确定移动对象的移动方向的基于计算机视觉的方法。所公开的方法可以以具有有限处理能力的设备实现,从而适于实现于嵌入式系统中。具体地,所公开的方法识别在移动区域120的图像中的多个感兴趣区域(ROI)。所公开的方法然后从ROI中减去图像背景,以确定ROI是否包含移动对象。所公开的方法还不断地更新图像背景,以改善图像分割(即,将前景或对象与背景分离)的准确度。此外,所公开的方法包括基于对多个ROI的一个或多个属性的分析而进行计数并确定对象110的移动方向的工作流程。

不失一般性地,后续描述使用图像帧中的两个ROI来说明所公开的流量计数方法。然而,可以想到的是,还可以使用多于两个ROI。图4是根据示例性实施例的示出在图像帧中的两个ROI的示意图。参考图4,图像帧400示出了移动区域120的视图,其中多个对象110在移动。在图像帧400中可以识别出两个ROI(410和420),并且其对应于移动区域120的不同部分。

不失一般性地,假设移动区域120是商场的入口。从ROI 410到ROI 420的方向对应于进入商店的方向。当来访者进入商店时,来访者可能首先出现在ROI 410,然后出现在ROI 420。相反地,当来访者离开商店时,来访者可能首先出现在ROI 420,然后出现在ROI 410。也就是说,首先出现在ROI 410的人可以被视为进入商店,而首先出现在ROI 420的人可以被视为离开商店。因此,在此ROI 410和420还被分别称为“ROI_In”和“ROI_Out”。通过随着时间分析和比较表示ROI 410和420的图像数据,可以对进入和离开商店的人分别计数。

ROI 410和420可以具有任意期望的形状和尺寸。例如,如图4所示,ROI 410和420中的每个可以是高度等于图像帧400的高度的矩形框。此外,可以基于流量大小来调整ROI的尺寸。例如,当移动区域120变得拥挤时,成像设备310可以减小ROI 410和420的宽度,以便最小化遮挡问题。

表示ROI的图像可以包括背景和前景。背景是ROI的背景场景,其不包括移动对象。前景可以与在ROI中的一个或多个移动对象相关。为了检测在ROI中的移动对象,成像设备310需要将前景与背景分离。因此,在执行流量计数之前,成像设备310需要确定ROI的背景。

图5是根据示例性实施例的用于生成表示ROI的背景的参考数据的方法500的流程图。在后续描述中,“参考数据”和“背景”将互换使用。例如,可以通过成像设备310执行方法500。参考图5,方法500可以包括以下步骤502-506。

在步骤502中,当ROI不包含移动对象时,成像设备310获取表示ROI的图像数据。例如,在没有对象110在ROI中移动期间,成像设备310可以通过图像传感器310获取表示移动区域120的视图的图像数据的一个或多个帧。每个帧包含多个像素,并且每个像素具有表示像素的特定属性的一个或多个像素值,例如像素的亮度(即,明亮度)和色度(即,颜色)。在每帧中,成像设备310可以识别对应于ROI的区域。

在步骤504中,成像设备310压缩表示ROI的图像数据。为了减少计算负担,成像设备310可以使用任意适当的方法来压缩图像数据,例如图6中所示的方法,图6是根据示例性实施例示出用于压缩表示ROI的图像数据的过程的示意图。

参考图6,可以从移动区域120的图像帧中提取图像数据610,并且图像数据610包括对应于ROI的像素的像素值。用于生成ROI的背景的像素值可以是灰度值,最小可能像素值是0(黑色),而最大可能像素值是255(白色)。灰度值表示ROI的亮度。如图6所示,如果ROI是矩形框,图像数据610可以表达为包括ROI的灰度值的矩形,在每个小方形中的数字表示对应像素的像素值(即,灰度值)。

图像数据610可以包括多个行,标记为a,b,c,…,行的总数等于移动区域120的帧的图像高度。成像设备310可以对图像数据610的每行中的像素值相加(即,矩阵610),以生成压缩的图像数据620。因此,压缩的图像数据620可以表达为一维阵列,所述阵列的大小等于移动区域120的帧的图像高度。在压缩的图像数据620的每行中的像素值是图像数据610的对应行中像素值的和。例如,继续参考图6,成像设备310可以对图像数据610的行a中的像素值相加,以生成压缩图像数据620的行a中的像素值。

实践中,压缩图像数据(步骤504)可以是可选的。因此,在后续描述中使用的术语“图像数据”可以指代未压缩的或压缩的图像数据。除非在数据压缩对实现所公开的方法至关重要的地方,否则后续描述并不区分未压缩的图像数据与压缩的图像数据。

在步骤506中,成像设备310随着时间对图像数据进行采样,以生成表示ROI的背景的数据。为了降低数据噪声,成像设备310可以使用任意适当的方法来基于在一时间段获得的图像数据而生成参考数据。例如,成像设备310可以随着时间对图像数据进行平均(即,计算图像数据的算术均值),以获得参考数据。又如,成像设备310可以对随着时间获得的图像数据应用中值滤波,以便移除数据噪声。

图7是根据示例性实施例示出用于对图像数据应用中值滤波的过程的示意图。中值滤波取多个帧中对应像素的像素值的中值。中值像素值然后可以用于生成表示ROI的背景的参考数据。这样,中值滤波可以从图像数据移除噪声或极值。

参考图7,成像设备310可以从移动区域120的多个帧中提取表示ROI的图像数据。例如,图像数据721-723是从三个不同的帧中提取出的,并分别表示为三个像素阵列,在每个小方形中的数字表示像素值。像素阵列的行标记为a,b,c,…。成像设备310处理图像数据721-723的像素值,并构造构成参考数据730的像素阵列,其也表示为具有与图像数据721-723相同维度(即,大小)的像素阵列。

特别地,对于参考数据730的行am,成像设备310计算等于图像数据721-723的对应像素的中值的像素值。例如,参考数据730的行am的像素值是193,是191、194和193的中值,191、194和193是帧721-723的对应行a1–a3的像素值。

在示例性实施例中,成像设备310可以动态生成参考数据(即,背景),以便实时反映ROI的背景。也就是说,在根据方法500生成参考数据之后,成像设备310可以不断更新参考数据。例如,当成像设备310安装在商店的入口/出口时,由于阳光的变化、打开或关闭某些灯等,移动区域120中的光照条件可能不断改变。又如,静止对象(例如,桌子或椅子)可以间或被从ROI的背景场景中移除或添加到背景场景中。再如,图像传感器312的替换或与其相关联的硬件/软件变化可能引起在生成图像中的亮度变化。

图8是根据示例性实施例用于更新ROI的背景的方法800的流程图。例如,方法800可以由成像设备310执行。参考图8,方法800可以包括以下步骤。

在步骤802中,成像设备310获取表示ROI的当前图像数据。例如,成像设备310可以通过图像传感器312获取移动区域120的当前帧。然后,成像设备310可以从当前帧中减去表示ROI的当前图像数据。

在步骤804中,成像设备310压缩当前图像数据。步骤804类似于步骤504(图5)。

在步骤806中,成像设备310确定当前图像数据和参考数据之间的差是否超过预定数据阈值。

在使用当前图像数据更新参考数据之前,成像设备310需要查明在获取当前图像数据时在ROI中没有移动对象。特别地,成像设备910可以从当前图像数据中减去参考数据,以获得当前图像数据和参考数据之间的差。当该差没有超过预定数据阈值时,成像设备310可以确定ROI没有包含前景,并因此没有包含移动对象。因此,成像设备310可以进行到步骤810。相反地,当所述差超过预定数据阈值时,成像设备310可以确定ROI包含前景。检测到前景表明在ROI中可能存在移动对象。因此,成像设备310可以进行到步骤808。

成像设备310可以使用各种方法来检测前景。在一个实施例中,成像设备310可以计算当前图像数据中的像素值与在参考数据中的对应像素值之间的绝对值差。成像设备310然后可以比较绝对值差与预定的像素值阈值。当当前图像数据中多于总像素预定百分比的像素与参考数据相差多于预定像素值阈值时,成像设备310可以确定ROI包含前景。

图9A和9B是根据示例性实施例示出用于在ROI中检测前景的过程的示意图。参考图9A,参考数据930和当前图像数据941是表示ROI的两个5x1阵列。成像设备310可以从当前图像数据941中减去参考数据930,以生成背景减除数据951,其包含当前图像数据941和参考数据930之间的绝对值差。成像设备310可以将背景减除数据952中的绝对值差与预定像素值阈值(例如100)比较。背景减除数据951中只有一个绝对值差(即,在行c处的109)高于预定像素值阈值。因此,当前图像数据941中的总像素的20%(即,五分之一)与参考数据930相差多于预定像素值阈值。成像设备310还可以比较20%与预定百分比,例如40%。因为20%<40%,所以成像设备310可以确定当前图像数据941和参考数据930之间的差没有超过预定数据阈值,并且ROI不包含前景。

参考图9B,在与当前图像数据941不同的时间点获得当前图像数据942。成像设备910可以从当前图像数据942中减去参考数据930,以生成背景减除数据952。背景减除数据952的三个绝对值差,即分别在行c、d和e处的249、312和303,高于预定像素值阈值(即,100)。因此,当前图像数据942中总像素的60%(即,五分之三)与参考数据930相差多于预定像素值阈值。因为60%高于预定百分比40%,所以成像设备310可以确定当前图像数据942和参考数据930之间的差超过预定数据阈值,并且ROI包含前景。如图9A和9B所示,使用预定像素值阈值和预定像素百分比可以防止数据噪声被当作前景。例如,在背景减除数据951中的绝对值差“109”虽然高于预定像素值阈值“100”,但可能对应于数据噪声,但是不是前景。

继续参考图8,当在步骤806中没有检测到前景(即,当前图像数据和参考数据之间的差没有超过预定数据阈值)时,成像设备310可以推断在获取当前图像数据时在ROI中不存在移动对象。因此,成像设备310可以进行到步骤810,并基于当前图像数据更新参考数据。

在步骤810中,成像设备310可以使用各种方法来更新参考数据。在一个实施例中,成像设备310可以用当前图像数据替代参考数据。在另一实施例中,成像设备310可以对现有参考数据和当前图像数据求平均,以生成更新后的参考数据。在又一实施例中,类似于步骤506中的中值滤波,成像设备310可以对当前图像数据和从其它帧中提取出的图像数据应用中值滤波,并使用滤波后的数据来生成更新后的参考数据。

继续参考图8,当在步骤806中检测到前景时(即,当前图像数据和参考数据之间的差超过预定数据阈值时),成像设备310可以进行到步骤808,检查所述差是否在长于预定量的时间(例如,五分钟)不间断地超过预定数据阈值。换句话说,成像设备310可以检查是否在多于预定数量的连续帧中连续检测到前景。

步骤808的目的是确定在当前图像数据前景中检测到的前景是对应于在ROI中的移动对象还是仅是ROI中的背景变化。如果所述差间歇地超过预定数据阈值,则这可能是因为对象110周期性经过ROI。因此,成像设备310可以推断在当前图像数据中的前景对应于移动对象,并因此当前图像数据不应用于更新参考数据。相反地,如果所述差在长于预定量的时间不间断地保持高于预定数据阈值,则这可能是由于ROI中的环境(例如,光照)变化或图像传感器312的改变/替换。在该情形中,在当前图像数据中检测到的前景更可能对应于背景变化,而不太可能对应于移动对象。因此,成像设备310可以使用当前图像数据来更新参考数据。

仍参考图8,当确定当前图像数据和参考数据之间的差在长于预定量的时间(即,多于预定数量的连续帧)不间断地超过预定数据阈值时,成像设备310可以前进到步骤810,并基于当前图像数据来更新参考数据。因为在这种情况下,ROI的背景(例如,光照或图像传感器312)已经变化,成像设备310可以丢弃现有的参考数据。此外,类似于步骤506(图5),成像设备310可以随着时间对当前图像数据采样(例如,应用中值滤波),以生成新的参考数据。

当根据方法500和800分别生成和更新参考数据时,成像设备310能够健壮地将ROI的前景与ROI的背景分离。参考图4,通过随着时间分析和比较ROI_In 410和ROI_Out 420的前景的属性,成像设备310可以对在ROI_In 410和ROI_Out 420之间移动的移动对象110计数,并确定对象110的移动方向。

图10是根据示例性实施例的流量计数方法1000的流程图。例如,方法1000可以由安装在商店的入口/出口区域处的成像设备310执行,从而对进入和离开商店的人(即,对象110)计数。仅出于说明的目的,将结合ROI_In 410和ROI_Out 420(图4)描述方法1000。然而,还可以想到的是,方法1000可以应用于多于两个ROI。参考图10,方法1000可以包括下列步骤1002-1018。

在步骤1002中,成像设备310经由图像传感器312获取示出移动区域120的视图的帧的图像数据。每个图像帧的数据包括多个像素。每个像素具有表示像素的特定属性的一个或多个像素值,所述属性例如是像素的亮度和颜色。例如,图像数据可以是RGB格式的。也就是说,每个像素可以具有分别对应于红、绿和蓝的三个颜色值。成像设备310可以通过对每个像素的三个颜色值求平均而将图像帧转变为灰度图像。

在步骤1004中,成像设备310从所获取的帧提取分别对应于ROI_In 410和ROI_Out 420的图像数据。如上所述,例如,表示每个ROI的图像数据可以表达为包括ROI的灰度值的矩阵。每个矩阵中的行的总数等于在所获取的帧中的行的总数(即,图像高度)。类似于步骤504(图5),成像设备还可以通过对矩阵的每行中的灰度值相加而压缩每个矩阵。因此,经压缩的表示每个ROI的图像数据可以表达为阵列。

仅出于说明的目的,关于步骤1006的后续描述使用对象110从ROI_In 410移动到ROI_Out 420的情况作为例子(即,在图10中示出的流程图的左侧)。可以想到的是,后续描述同样适用于对象110从ROI_Out 420移动到ROI_In 410的情况(即,在图10中示出的流程图的右侧)。

在步骤1006中,成像设备310分析当前图像帧,以确定第一前景是否开始出现于ROI_In 410中。类似于步骤806(图8),成像设备310可以计算在表示ROI_In 410的当前图像数据和ROI_In 410的背景之间的差。当当前图像数据中多于预定百分比的像素与背景相差多于预定像素值阈值时,成像设备310可以确定ROI_In 410包含前景。如果当前图像数据表明第一前景开始出现于ROI_In 410中,则成像设备310进行到步骤1010。否则,成像设备310进行到步骤1008。

当在表示ROI_In 410的当前图像数据中没有检测到前景时,成像设备310可以推断没有对象110经过ROI_In 410。因此,成像设备310可以执行步骤1008,并使用当前图像数据来更新ROI_In 410的背景。步骤1008的实现类似于步骤810(图8)。

当在表示ROI_IN 410的当前图像数据中检测到第一前景时,成像设备310可以确定第一前景包括与背景相差多于预定像素值阈值的像素。成像设备310还可以将这些像素的位置(即在压缩图像数据中的行号)保存到阵列变量“Position_In[]”,以便在ROI_In 410中记录第一前景的位置。成像设备310还可以使用变量“T_In”来记录第一前景开始出现的时间点。

当对象110从ROI_In 410移动到ROI_Out 420时,对象110在时间上顺序出现在ROI_In 410和ROI_Out 420中。成像设备310可以使用变量“Time_Delay”来存储对象110从ROI_In 410移动到ROI_Out 420所需的最大持续时间,反之亦然。成像设备310可以基于ROI_In 410和ROI_Out 420分开的距离来确定Time_Delay。也就是说,Time_Delay与距离成比例。例如,成像设备310将该距离除以对象110的最低可能移动速度,以获得Time_Delay。

在步骤1010中,成像设备310确定第二前景是否在T_In之后Time_Delay内出现在ROI_Out 420中。特别地,成像设备310可以在T_In之后监视ROI_Out 420,以确定ROI_Out 420是否包含前景。用于在ROI_Out 420中检测前景的过程类似于步骤1006。当在ROI_Out 420中检测到新的前景(即,第二前景)时,成像设备310可以在变量“T_Out”中记录该时间点。然后,成像设备310比较(T_Out-T_In)与Time_Delay。如果(T_Out-T_In)>Time_Delay,则成像设备310可以确定在Time_Delay内在ROI_Out 420中没有检测到前景,并进行到步骤1012。如果(T_Out-T_In)≤Time_Delay,则成像设备310可以确定第二前景在Time_Delay内开始出现在ROI_Out 420中。成像设备310然后可以在阵列变量“Position_Out[]”中保存构成第二前景的像素的位置,并进行到步骤1014。

在步骤1012中,成像设备310确定是否在多于预定数量的连续帧中连续检测到第一前景。如果在多于预定数量的连续帧中连续检测到第一前景,则成像设备310可以推断第一前景可能对应于ROI_In 410中的背景变化。因此,成像设备310可以进行到步骤1008,并使用当前图像数据更新ROI_In 410的背景。步骤1012的实现类似于步骤808(图8)。

在步骤1014中,成像设备310比较第一和第二前景的颜色,以识别从ROI_In 410移动到ROI_Out 420的对象110。在Time_Delay内检测到第二前景之后,成像设备310需要确定第一和第二前景是否对应于从ROI_In 410移动到ROI_Out 420的同一对象110。

特别地,成像设备310可以使用变量“Color_In”和“Color_Out”,来存储分别对应于第一和第二前景的颜色值。在分别检测第一和第二前景时,成像设备310可以保持对记录在Position_In[]和Position_Out[]中像素的颜色值进行采样,并将采样的颜色值保存在Color_In和Color_Out。成像设备310然后可以比较Color_In和Color_Out之间的差。当该差低于预定颜色阈值时,成像设备310可以确定第一和第二前景的颜色一致。

在一个实施例中,成像设备310可以比较在T_In采样的Color_In和在T_Out采样的Color_Out。当该比较表明在T_In的第一前景的颜色和在T_Out的第二前景的颜色一致时,成像设备310可以推断第一和第二前景对应于从ROI_In 410移动到ROI_Out 420的同一对象110。否则,成像设备310可以推断第一和第二前景不相关。颜色一致表明第二前景可以对应于从ROI_Out 420移动到ROI_In 410的对象110,或可以对应于ROI_Out 420中的背景变化。

实践中,一起移动的一组对象110可以显示为ROI_In 410和/或ROI_Out 420中的一个前景。例如,访问商店的家庭可以紧密的成群行走,并且在家庭成员之间没有明显的空间间隔。当经过ROI_In 410和/或ROI_Out 420时,该家庭可能随着时间连续显示为一个前景,而不是随着时间显示为多个离散前景。因此,为了确保流量计数的准确性,成像设备310需要进一步解析第一前景和/或第二前景表示的对象110的数量。

在步骤1016中,成像设备310分析第一前景的颜色变化,以对第一前景表示的对象110的数量进行计数。特别地,成像设备310可以在检测第一前景的同时随着时间监视Color_In。如果Color_In的变化低于预定的颜色阈值,则成像设备310可以确定第一前景的颜色没有变化。相反地,如果Color_In变化多于预定的颜色阈值,则成像设备310可以确定第一前景的颜色已经变化。

在一个实施例中,当第一前景的颜色未变时,成像数据310可以推断第一背景对应于从ROI_In 410移动到ROI_Out 420的对象110。然而,当第一前景的颜色变化N次,并且N是正整数时,成像设备310可以推断:第一前景对应于从ROI_In 410移动到ROI_Out 420的(N+1)个对象110,并且这些(N+1)个对象110成组移动而没有明显的空间间隔。

成像设备310可以使用变量“Num_In”来记录从ROI_In 410移动到ROI_Out 420的对象110的累积数量。类似地,成像设备310可以使用变量“Num_Out”来记录从ROI_Out 420移动到ROI_In 410的对象110的累积数量。例如,在确定由第一前景表示的对象110的数量之后,成像设备310可以将该数量添加到Num_In,以便跟踪在指定的时间段期间从ROI_In 410移动到ROI_Out 420的对象的总数。

此外,在对由第一前景表示的对象110的数量计数之后,成像设备310可以重置T_In、T_Out、Color_In和Color_Out为默认值(例如,零),从而这些变量可以用于分析将在ROI_In 410中检测到的下一前景。

在步骤1018中,成像设备310确定由对象110形成的流量的一个或多个特征。例如,如果从ROI_In 410到ROI_Out的方向对应于进入商店的方向,则成像设备310可以基于Num_In确定在特定时间段期间进入商店的人数。

在上述例子中,因为成像设备310可能安装在不同的位置处,并相对流量方向具有不同取向,所以从ROI_In 410到ROI_Out的方向不总是对应于进入商店的方向。实践中,进入商店的方向可以由用户预设,或由成像设备310自动确定。

图11是根据示例性实施例的用于识别朝向感兴趣地点的移动方向的方法1100的流程图。例如,感兴趣的地点可以是商店,方法1100可以由成像设备1100执行以自动确定进入商店的方向。参考图11,方法1100可以包括以下步骤1102-1106。

在步骤1102中,成像设备310确定进入商店的方向是否已知。如果已知所述方向,则成像设备310可以进行到步骤1106。否则,成像设备310进行到步骤1104。

在步骤1104中,成像设备310确定进入商店的方向。例如,每天午夜后,成像设备310可以将Num_In和Num_Out重置为零,并开始对从ROI_In 410移动到ROI_Out 420的人数以及从ROI_Out 420移动到ROI_In 410的人数进行计数。成像设备310然后可以确定Num_In和Num_Out中的哪一个首先到达预定数量,例如400。由于商店的来访者必须首先进入商店然后离开商店,所以首先到达预定数量的方向是进入商店的方向。例如,如果Num_In比Num_Out较早到达400,则成像设备310可以确定从ROI_In 410到ROI_Out 420的方向对应于进入商店的方向。这样,成像设备310可以自动识别进入商店的方向,使用户免于手动设置方向的麻烦。

在步骤1106中,成像设备310确定并输出进入商店的人数。参考上述例子,成像设备310可以输出Num_In作为进入商店的人数。

本领域技术人员根据考虑说明书及实践本公开,将容易想到本公开的其它实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围的前提下进行各种修改和改变。本发明的范围旨在仅由所附的权利要求来限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1