计算机视觉过程的制作方法

文档序号:14186017阅读:254来源:国知局

1.发明领域

本发明的领域涉及计算机视觉过程,在所述计算机视觉过程中使用视频和图像分析来检测并追踪对象并且生成与对象的变化(诸如对象的存在、轨迹或姿态的变化)相关联的事件。

本专利文件的公开内容的一部分含有受版权保护的材料。版权所有者不反对任何人按专利文件或专利公开在美国专利与商标局专利文档或记录中出现的形式复制所述专利文件或专利公开,但是在其他方面保留任何的所有版权权利。

2.技术背景

了解人的存在和行为的能力在大范围的领域中(诸如在家居自动化、计算机游戏、监控、安全、市场营销或商业环境中)提供了大量的应用。

较早的系统的实例是视频运动或变化检测器,其触发所连接设备(诸如报警器)或激活录制。最近受欢迎的技术采用运动分割,其在每一帧处将前景对象与背景场景分割开。分析具有相同运动取向的对象组。其他技术基于机器学习技术,诸如卷积神经网络(CNN)。然而,此类技术涉及基于系统需要分析的对象来用大量实例训练所述系统。

这些技术的一些缺点在于,它们是计算密集型的并且它们还需要人工操作员。

计算机视觉系统理想地应能够准确且实时地监测、理解并且推断或预测人类行为,并且保证隐私。这些在技术上极具挑战性。

以引用的方式并入以下公开:US2016/0019426和PCT/GB2016/050201。

3.相关技术论述

对象检测、追踪和事件生成的现有技术是广泛且深入的。可参考以下各项:US 5969755 A、US 6628835 B1、US 6823011 B2、US 6833849 B1、US 7088846 B2、US 7110569 B2、US 7127083 B2、US 7136507 B2、US 7148912 B2、US 7199798 B1、US 7200266 B2、US 7263472 B2、US 7369680 B2、US 7376244 B2、US 7468662 B2、US 7499571 B1、US 7796029 B2、US 8063764 B1、US 8195598 B2、US 8284258 B1、US 8478048 B2、US 8548203 B2、US 8553778 B2、US 8564661 B2、US 8620022 B2、US 8761451 B2、US 8797403 B2、US 20040086152 A1US 20050285937 A1、US 20090310855 A1、US 20100026802 A1和US 20120114176 A1。

US5969755A例如公开了一种用于根据对象运动提供自动的基于内容的视频索引的方法。所述方法使用运动分割来检测由监控摄像机捕获的移动对象。

US 6823011B2例如公开了一种用于检测视频中的异常事件的方法。所述方法从由场景的摄像机获取的视频中的每一帧提取运动向量。

发明概述

本发明是一种计算机视觉过程,其中(i)创建一个或多个检测到的对象的追踪记录,所述追踪记录限定所述检测到的对象的元数据或参数;以及(ii)然后将所述追踪记录链接到一个或多个更高级别的对象的一个或多个更高级别的追踪记录。

任选特征包括以下各项:

·追踪记录是动态创建的并且分层组织的:更高级别的追踪记录是更简单的追踪记录的分层组织,并且所述分层组织是实时创建的

·对象的追踪记录是与所述对象相关的事件的逐对象记录,并且可包括所述对象的存在、轨迹、姿态、示意动作或身份的数据。追踪记录可以是实时元数据重新格式化。

·追踪记录存储在与视频数据库关联的MySQL型数据库中。

·对象的追踪记录使得能够从第二对象的追踪记录推断出关于所述对象的信息;第一追踪记录可以是更高级别的追踪记录或者与所述第二对象的追踪记录处于同一级别。例如,如果你知道躯干的轨迹,则你也知道与所述躯干属于同一身体的头部的轨迹。

·在第一对象具有已知的大小或形状的情况下,则可从所述对象的追踪记录推断出关于第二对象的大小或形状的信息。例如,如果你知道头部的大小,则你针对所述头部关于所述躯干的大小做出相当准确的假设。在对象是汽车或其他具有众所周知的尺寸的情况下,则可从所述对象的追踪记录推断出关于在所述汽车或其他对象附近的人的高度的信息。

·在对象与第二对象具有已知的关系的情况下,则可从所述第二对象的存在推断出关于所述对象的存在的信息。例如,如果检测到头部,并且在附近还检测到躯干,则它们可能是相关的,并且可在单个身体的新追踪记录中被链接起来。

与分层追踪记录相关的任选特征包括以下各项并且因此分层对象也包括以下各项:

·对象与更高级别的对象或它们的相应追踪记录之间的链接是在检测到的对象与更高级别的对象相关联的概率超过阈值时建立的

·所述概率是以下各项中的一项或多项的函数:接近度;位置、移动、轨迹、长度、面积、体积、角度位置、颜色、温度

○例如,头部和手部被链接来限定单个更高级别的对象—人—如果它们足够接近,或以一致的方式移动—即可能属于同一人

·一个或多个更高级别的对象的追踪记录被链接到另外的更高级别的对象的一个或多个追踪记录

·更高级别的对象的更高级别的追踪记录中的空槽被保留来建立到更低级别的追踪记录中的检测到的对象的链接

·更高级别的对象的更高级别的追踪记录中的空槽被保留来建立到更低级别的对象或处于同一级别的对象的链接

·追踪记录中的链接数量是预先确定的

·追踪记录中的链接数量可随时间推移自适应地改变

·如果更高级别的对象的更高级别的追踪记录具有用于特定种类的对象的空槽,则系统搜索适合链接到所述空槽的检测到的对象

·如果一个检测到的对象消失,但是相关联的更高级别的对象仍在被追踪,则在重新检测到所述对象的情况下,可快速地使它与所述更高级别的对象重新相关联

·如果若干个对象的追踪记录共享充分类似的或以其他方式相关的参数,则创建更高级别的追踪记录

·如果每个人的追踪记录中所限定的若干个人的轨迹或姿态充分类似,则自动创建由这些人组成的组的追踪记录

·检测到的对象的实例包括:脸部、手部、头部和肩部、全身、汽车、其他特定种类的对象

·更高级别的对象的实例包括:人;经识别或命名的人;被归类为属于特定类别的人;人加上特定种类的对象;人加上特定种类的环境;一组人;经识别或命名的一组人;被归类为属于特定类别的一组人;一组人加上特定种类的对象;一组人加上特定种类的环境;一个或多个人或人体部位与一个或多个对象之间的任何关系;一个或多个人或人体部位与一个或多个环境之间的任何关系;链接到另一个对象的任何对象。

与事件相关的任选特征包括以下各项:

·对象的追踪记录包括与所述对象相关的事件或活动

·事件是表示活动的一组数据

·事件链接到特定的时刻或特定的时间段或特定的视频帧序列

·事件是动态创建的

·事件是分层组织的,并且所述分层组织是实时创建的

·事件是在形成新的追踪记录时创建的

·事件是在为更高级别的对象形成新的追踪记录时创建的,因为创建了更低级别的对象的一个或多个追踪记录

·事件是在追踪记录被链接到更高级别的追踪记录时创建的

·对象的事件是在到所述对象或来自所述对象的链接建立或断开时自动创建的

·事件是在对象是静态的时创建的

·事件是在所述存在、轨迹、姿态、示意动作或追踪记录中的其他参数有变化时创建的

·事件是在检测到对象的面积的变化时创建的

·事件是在检测到对象的移动时创建的

·事件的实例是运动,所述运动由以下参数中的一个或多个来限定:运动值;运动方向;运动角度

·事件的实例是面积变化,所述面积变化由以下参数中的一个或多个来限定:新面积的值;面积的值的变化

·追踪记录包括一个或多个复杂事件,所述一个或多个复杂事件各自由对更简单的事件的分析形成

·复杂事件由一系列更简单的事件形成

·复杂事件是更简单的事件的分层组织

·复杂事件是实时动态创建的并且不是预先确定的

·检测到的对象的一系列面积变化事件被解释为所述对象正在接近或离开的复杂事件。

·复杂事件限定被赋予意义的示意动作

·复杂事件对人的行为或意图或需要进行描述、归类或推断

与各种使用情况相关的任选特征包括以下各项:

·计算机视觉过程用于实现基于示意动作的控制

·计算机视觉过程用于实现运动检测

·计算机视觉过程用于增强语音识别系统,这是通过如果用户没有看着或看向传感器则阻止所述语音识别系统按照语音指令起作用来进行的

·计算机视觉过程用于控制HVAC(供热、通风与空气调节)系统

·计算机视觉过程用于控制智能家居或办公室或其他环境

·计算机视觉过程用于控制建筑物的疏散

·计算机视觉过程用于监测接近和离开限定区域的人,所述限定区域诸如零售环境、或者零售环境内的特定区域、或者高安全性区域或危险区域

·计算机视觉过程用于识别持有枪支或其他武器的人

·计算机视觉过程用于识别并追踪丢下包或其他对象的人

·计算机视觉过程用于监测一个或多个人的行为

·计算机视觉过程用于监测一个或多个人对任何对象的盗窃。

·计算机视觉过程用于推断一个或多个人的意图。然后可根据已经推断出的意图发送机器可读指令。例如,如果一个人已经从零售商店拿起一些物品并且朝出口门走去,则可推断出偷窃的意图并且向商店安保人员发送适当的信号。如果一个人看着传感器或者用动作示意或说出命令,则可推断出通过所述传感器进行控制的意图并且所述传感器可被编程以处理所述命令。

·计算机视觉过程用于推断一个或多个人的需要。然后可根据已经推断出的需要发送机器可读指令。例如,如果检测到一个人躺在其客厅地面上不动或者躺下但挥动其手臂,则可推断出需要协助并且发出适当的帮助请求。

·计算机视觉过程不输出用于在监视器或屏幕上显示并且可从中识别出个体的视频或静态图像。人的身份或特定外观可替代地被混淆,例如被一般的化身所取代。

与定位或实现方式相关的任选特征包括以下各项:

·计算机视觉过程由计算机视觉引擎实现,所述计算机视觉引擎定位在传感器或SoC或GPU中。

·计算机视觉过程由计算机视觉引擎实现,所述计算机视觉引擎定位在摄像机或包括传感器的其他设备中,或定位在连接到所述设备的集线器或网关中,或定位在远程服务器中,或分布在这些设备的任何排列上。

·计算机视觉过程由计算机视觉引擎实现,所述计算机视觉引擎定位在以下各项中的一项或多项中:(a)边缘层,其处理原始传感器数据;(b)聚合层,其通过在时域和空域中聚合并处理来自所述边缘层的数据来提供高级分析;(c)服务层,其处理到一个或多个系统控制器以及到终端客户的所有连接,以用于配置终端客户的家居系统并且收集并分析产生的数据。

以上列出的任选特征中的任一个可与任何其他任选特征组合。

本发明的其他方面包括以下各项:

·一种传感器,其包括嵌入式计算机视觉引擎,所述嵌入式计算机视觉引擎实现以上过程。

·一种器具,其包括传感器,所述传感器继而包括嵌入式计算机视觉引擎,所述嵌入式计算机视觉引擎实现以上过程。

·一种传感器,其被编程来向上游应用程序或过程提供数据,所述数据限定以下各项中的一项或多项:要检测的特定对象或对象特征;最大或最小检测数量;每个对象的链接数量;不同对象(人类或非人类)之间的特定链接;用于理解/检测诸如特定的轨迹、姿态或示意动作的事件(基本或复杂)。

·一种智能家居或办公室系统或者其他物理或逻辑环境,其包括一个或多个计算机视觉系统

·一种联网系统,其包括如上文所限定的多个计算机视觉系统。

·芯片级固件(基于GPU的),其提供如上文所限定的计算机视觉引擎。

·一种如上文所限定的计算机视觉引擎,其在嵌入以下产品中的一个中时:摄像机;云摄像机;智能门铃;灯开关;车库入口系统;基于非摄像机传感器的系统;火灾报警传感器或报警器;TV;恒温器;咖啡机;灯泡;音乐蒸汽设备(music steaming device);冰箱;烤箱;微波炉;洗衣机;任何智能设备;任何可穿戴计算设备;任何IoT设备;智能手表;智能电话;平板电脑;任何便携式计算设备。

附图简述

现将参考以下附图以举例的方式描述本发明的各方面,这些图各自示出本发明的特征:

图1是示出用于生成追踪记录的程序的流程图。

图2是示出人类元素(‘元素’是任何种类的检测到的特征)以及通过数据分析或‘元素参数’处理所创建的元素的图像。

图3是示出被追踪对象的寿命周期的图。

图4是示出包括基本事件和复杂事件的追踪记录(TR)的图。

图5是具有复杂TR的实例的图,所述复杂TR包括到其他TR的链接。

图6是示出用于处理TR的程序的流程图。

图7是示出用于追踪处理的程序的流程图。

图8是示出用于进行删除或移动以将TR存档的程序的流程图。

图9是示出用于创建TR的程序的流程图。

图10是示出基本TR和复杂TR的一组图像。

图11是示出TR“人(Human)”的一组图像。

图12是示出对人类元素的检测和/或预测的图像。

图13是示出用于将事件添加到TR的程序的流程图。

图14是示出用于将复杂TR与手部TR连接的程序的流程图。

图15是示出用于创建事件“运动(Motion)”并将其添加到TR的程序的流程图。

图16是示出用于创建事件“面积改变(Area Changed)”并将其添加到TR的程序的流程图。

图17是示出用于创建事件“角度改变(Angle Changed)”并将其添加到TR的程序的流程图。

图18是示出TR分析和用于生成复杂事件的程序的流程图。

图19是示出用于连接复杂TR的程序的流程图。

图20示出本文件中其他地方所涉及的公式。

图21示出了本文件其他地方所涉及的公式。

详述

提供了一种用于分析由一个或若干个图像传感器从场景捕获的图像的方法。对图像应用检测算法以便检测一个或若干个对象和/或一个或若干个对象特征。然后应用分组算法以便将一个或若干个检测(detection)(或‘检测(detect)’)分组到一个组或群集中。然后使用追踪算法来追踪检测或检测组并且生成一个或若干个‘追踪记录’,其中‘追踪记录’(TR)表示基于检测或检测组的行为的一个或若干个事件。

任选特征可包括以下各项,其中每项都可以与任何其他任选特征组合:

·可检测并分析人类和/或非人类对象或特征。

·人类特征可包括以下各项中的一项或多项:脸部、头部、头部和肩部、全身、眼睛、嘴唇、耳朵和手部。

·生成由一个或若干个传感器捕获的场景图像内的每个检测到的对象的TR。

·TR可链接到另一个TR、‘检测’或‘检测’组。

·TR之间的链接可在满足预先确定的条件时建立。

·以下各项中的一项或多项可被记录在TR内:轨迹、加速度、姿态、示意动作、出现、消失和身份。

·可理解大范围的行为,例如像:对对象的数量进行计数、确定对象轨迹、理解诸如特定示意动作的特定移动。

·连续地实时分析并追踪检测到的对象。

·算法能够将一个或多个行为解释为基本事件或复杂事件。

·可使用一个或若干个图像传感器来勘测场景。传感器可包括以下传感器中的一个或多个:在可见光谱中操作的传感器、在红外光谱中操作的传感器、热传感器、超声波传感器、在不可见光谱中操作的传感器以及用于加速度或移动检测的传感器。

·人在环境内的行为可被理解并且以详细的且机器可读的形式表示。

·所述方法是在不需要生成视频或静态图像的情况下实现的。

·事件可以作为特定命令被推送到任何智能设备或所连接设备中。

·事件可被检测且/或创建为时间的函数;事件的实例可以是以下各项中的一项或其组合:“人类”、“接近”、“离开”、“下跌”、“出现”、“消失”、“蹲伏”等。

·事件可描述追踪活动。追踪活动可包括诸如运动、旋转、面积、角度或体积变化的参数

·所述方法是实时执行的并且不需要校准。

根据特定的上游应用程序或过程,存在可在图像传感器模块内预先确定或预先编程的许多参数,诸如但不限于:

·要检测的特定对象或对象特征;

·最大或最小检测数量;

·每个对象的链接数量;

·不同对象(人类或非人类)之间的特定链接;

·用于理解/检测特定的轨迹、姿态或示意动作的事件(基本或复杂)。

图1示出具有用于生成追踪记录的程序的实例的流程图。一个或若干个图像传感器101可从场景捕获一个图像或一组图像。数据分析方框102(或‘检测生成器’)用于分析图像。数据分析是扩展的方框。数据分析的一个目的是为了进行图像分析和具体特征或元素的检测。方框103执行‘组生成器’功能,这个功能可将若干个检测组合成一个或若干个组。组生成器是扩展的方框。‘追踪生成器’104随时间推移追踪‘检测’或‘检测组’。‘追踪生成器’是扩展的方框。‘追踪记录生成器’105可基于一组预定义的规则或自适应规则来分析‘追踪’、‘检测’和‘检测组’。分析的输出可包括事件和追踪记录。事件是一组数据,其可表示针对特定的时刻或特定的时间段或一组特定的时间帧的追踪活动、组或检测。追踪记录还可保存关于事件的信息,因此追踪记录实际上是事件的容器,并且还可包括关于其他追踪记录的信息。

图2是示出人类元素(‘元素’是任何种类的检测到的特征)以及通过数据分析或‘元素参数’处理所创建的元素的图像。所述图像示出基于识别人体的特定部位进行的检测和追踪。这些检测到的身体特征可包括例如脸部203、头部和肩部202、全身201和手部204。检测到的特征可具有以下度量:大小、角度、类型、颜色信息,温度和位置。这些度量可具有二维空间(2D)参数和/或三维空间(3D)参数。检测到的特征也可称为‘元素’。‘元素参数’可具有限定或涉及脸部102或头部、肩部101、全身、眼睛、嘴唇、耳朵和手部的2D或3D参数。

如图3所示,每个检测的‘寿命’可由追踪活动表示为时间的函数。在逐帧的基础上分析追踪活动。纵轴表示记录303的‘寿命’。例如,第一次检测(detection)(或‘检测(detect)’)出现在对应于帧1的时间处,因此创建‘追踪’。如果‘检测’在帧2处仍然存在,则‘寿命’值在下一个连续帧(帧2)上增加。在这个实例中,‘寿命’值增加,直到它在帧6处达到最大值100。如果‘检测’消失或者具有不太稳定的值,则‘寿命’值也可能降低。可选择用于追踪出现和消失的预先确定的或自适应确定的阈值(304或305)。‘追踪’出现或消失的速率也可被分配预先确定的函数(线性或非线性)。

图4示出包括多个事件的追踪记录(TR)401的实例。事件是对追踪活动(例如已经检测到的对象的活动)的描述或与追踪活动相关联的数据。追踪活动可包括诸如轨迹、姿态、运动、旋转、面积、角度或体积变化的参数。例如:如果追踪位置已改变(例如,检测到的对象在连续的视频帧期间移动),则可用以下参数中的一个创建事件“运动(MOTION)”:以百分比表示的运动值、极坐标系或球坐标系中的运动方向或运动角度。

如果追踪面积已改变(例如,被追踪对象在连续的视频帧期间变大),则可用以下参数中的一个创建事件“面积改变(AREA CHANGED)”:以百分比表示的新面积的值或新面积的名称。

如果追踪角度已改变(例如,被追踪对象的轨迹在连续的视频帧之上改变),则可用诸如极坐标系或球坐标系中的角度的参数创建事件“角度改变(ANGLE CHANGED)”并且使所述事件与所述参数相关联。事件的这些实例可包括在基本事件层402中。在分析了基本事件之后,可创建复杂事件。例如,在发生了若干个“面积改变(AREA CHANGED)”事件之后,可创建复杂事件,诸如:“接近(APPROACHING)”或“离开(LEAVING)”。复杂事件可以基于通过分析更简单的或基本的事件得出的推断。复杂事件可在其创建条件适用时实时动态地生成;不需要提前构建复杂事件。

复杂事件可包括在复杂事件层403中。TR还可包括另外的信息,其描述以下各项中的一项或多项:颜色、纹理或形状。

基本事件的其他实例是:“运动:手放下”、“运动:手抬起”、“头部向左移动”、“头部向右移动”。通过对超过一个基本事件的分析,可创建复杂事件,诸如:“挥动双手”。

图5示出检测到的人的复杂追踪记录的实例:TR“人(HUMAN)”501。空槽503可用于在TR 501与其他TR之间建立一个或若干个链接。存在于追踪记录中的链接的数量可由例如特定的上游应用程序预先确定。槽或链接的数量和其参数可因此是预定义的且/或可随时间推移自适应地改变。类似地,用于建立链接的逻辑也可被预先确定或自适应地计算出。例如:TR“人(HUMAN)”可以保存槽,这些槽具有到以下各项中的一项或多项的链接:TR“脸部(FACE)”、TR“左手(LEFT HAND)”、TR“右手(RIGHT HAND)”。当TR“脸部(FACE)”属于TR“人(HUMAN)”的概率高时,在TR“人(HUMAN)”503内建立链接。类似地,在TR“脸部(FACE)”505内也建立交互链接。还可包括另外的槽,诸如:TR“蜂窝电话(CELLULAR PHONE)”和/或TR“行李(LUGGAGE)”。当链接建立时,自动创建事件“与TR链接的人(HUMAN LINKED WITH TR)”。当链接消失时,自动创建事件“人TR链接断开(HUMAN TR LINK BROKEN)”。复杂TR的目的是为了分析复杂的对象或对象组。复杂的对象可以是例如:人或一组人、或者人类对象和非人类对象的组合(诸如拿着行李的人、持有枪支的人或车辆及其驾驶员)。

图6示出具有用于生成TR的程序的实例的流程图,所述程序对应于图1中的方框105。首先,方框602包括‘追踪处理’步骤,其中可创建TR或事件。这个步骤通常对应于创建TR的第一层,并且可创建基本检测,诸如:手部、脸部、全身等。然后,在对应于‘追踪记录处理’的方框603中处理TR和/或复杂事件。TR处理603负责创建每个TR并且还创建每个复杂事件。这是TR创建的第二层,并且其中的大部分是复杂类型,诸如:人、一组人等等。

图7示出具有用于如方框602(图6)所示的‘追踪处理’的程序的实例的流程图。方框702首先接收追踪数据。如果追踪信息可用,则方框703在TR的阵列内执行搜索。搜索程序可找到由这个具体追踪创建的TR。如果TR存在706,则创建标志“TR存在(TR EXIST)”,并且如果TR不存在705,则创建标志“TR不存在(TR NOT EXIST)”。方框707检查如图3所说明的追踪寿命。如果追踪寿命高于预定义值,则创建标志“追踪出现(TRACK APPEAR)”708。如果追踪寿命低于预定义值709,则创建标志“追踪消失(TRACK DISAPPEAR)”710。方框711然后检查标志“TR存在(TR EXIST)”和“追踪消失(TRACK DISAPPEAR)”是否存在。如果结果是肯定的,则TR被移除或移动到存档712。方框713检查标志“TR不存在(TR NOT EXIST)”和“追踪出现(TRACK APPEAR)”是否存在。如果结果是肯定的,则创建TR。根据通过不同方框获得的结果,可创建TR“人(HUMAN)”716。方框718然后将TR“人(HUMAN)”链接到其他适当的TR,如图5所示。方框715分析追踪运动。方框717分析追踪面积。方框719分析追踪角度。

图8示出具有用于如方框712(图7)所示那样删除TR或将TR移动到存档的程序的实例的流程图。首先创建事件“TR消失(TR DISAPPEAR)”802。方框803然后将事件添加到适当的TR。方框804在整个TR阵列中进行搜索。搜索程序可找到具有链接到当前TR的槽的TR“人(HUMAN)”。如果TR“人(HUMAN)”不存在,则TR需要被删除或移动到存档806。如果TR“人(HUMAN)”存在,则创建事件“TR人链接断开(TR HUMAN LINK BROKEN)”。方框808将事件添加到适当的TR“人(HUMAN)”。方框810计算TR“人(HUMAN)”中的空槽的数量。如果所有槽都是空的,则促进名称为“TR人消失(TR HUMAN DISAPPEAR)”的事件811。方框812将事件添加到适当的TR“人(HUMAN)”。方框813移除TR“人(HUMAN)”或将其移动到存档。

图9示出具有对应于图7中的方框714的程序的实例的流程图。检测到对象或对象特征,并且方框902首先检查检测到的对象是否是人类。如果检测与类型“人(HUMAN)”相关联,则创建TR“人(HUMAN)”906。方框907然后创建事件“人出现(HUMAN APPEAR)”,所述事件然后被添加到适当的TR“人(HUMAN)”908。如果TR具有以下类型“非人类(NON HUMAN)”,则创建简单TR 903。方框904创建事件“TR出现(TR APPEAR)”,所述事件然后被添加到适当的TR 905。

图10示出三个对象:两个人和一辆汽车。简单TR保存单个追踪。简单TR可保存关于检测到的特征的信息,所述特征诸如以下各项中的一项:1001、1002、1003、1004(左侧的人);1005、1006、1007、1008(中间的人);和1009(右侧的汽车)。还在1010至1014中给出了复杂追踪记录的实例,1010至1014示出检测到的特征(简单TR)与复杂TR之间的链接的实例。复杂TR 1010链接到简单TR 1001、1002、1003和1004。复杂TR 1011链接到简单TR 1005、1006、1007和1008。复杂TR 1013链接到复杂TR 1010和TR 1011。复杂TR 1014链接到复杂TR 1011和简单TR 1012。

图11示出简单TR与复杂TR“人(HUMAN)”的统一。TR“脸部(FACE)”1101和1105是创建复杂TR“人(HUMAN)”1109和1110的原因。TR“FF-HS”1102和1106是创建复杂TR“人(HUMAN)”1109和1110的原因。TR“FF-HS”1103和1107是创建复杂TR“人(HUMAN)”1109和1110的原因。为了避免模糊性,复杂TR“人(HUMAN)”需要由最重要的TR一次创建,并且其他TR需要链接到这个TR“人(HUMAN)”。链接创建应使用适当的部分来实现视觉和数学的相等。TR 1103需要像TR 1102一样连接到TR“人(HUMAN)”1109。连接程序在图13中被描绘为方框1314和1327。

图12展示了示出以下TR的图像:TR“脸部(FACE)”1201、TR“HS-脸部(HS-FACE)”1202和TR“手部(HAND)”1203。程序可用于以高概率预测手部位置的面积。根据对人体具有有限的自由角度数的了解,通过在人体的关节附近绘制线条和角度,有可能预测手部位置的形状、大小和面积。因此,通过绘制线条1204和1205预测右手位置,而通过绘制线条1206和1207预测左手。可能需要在绘制线条时进行一些校正。通过使用手部的轨迹来描画曲线、圆或椭圆,或者通过使用圆形扇形区域或椭圆形扇形区域,可确定区域的形状。

图13示出具有对应于图7中的方框716的程序的实例的流程图。方框1302首先接收TR数据并且检查TR的类型。如果类型是“手部(HAND)”,则方框1303搜索具有用于手部的空槽的TR“人(HUMAN)”。如果存在具有空槽的TR“人(HUMAN)”,则方框1305将TR“人(HUMAN)”与TR“手部(HAND)”进行链接。如果链接被批准1306,则方框1308创建事件“与手部链接的人(HUMAN LINKED WITH HAND)”。如果例如检测到的手部位于离另一个检测到的特征足够近的区域中,则可批准链接。方框1309将事件添加到适当的TR。方框1307将链接添加到TR“人(HUMAN)”内的空槽,并且将到TR“人(HUMAN)”的链接添加到TR“手部(HAND)”。如果链接未被批准1306,则方框1310询问已经处理了多少个TR“人(HUMAN)”。如果不是所有TR“人(HUMAN)”都已被处理,则执行方框1303。方框1311接收TR数据并且检查其类型。如果TR类型是“HS-脸部(HS-FACE)”,则方框1312搜索具有用于“HS-脸部(HS-FACE)”的空槽的TR“人(HUMAN)”。如果存在具有空槽的TR“人(HUMAN)”,则方框1314将TR“人(HUMAN)”与TR“HS-脸部(HS-FACE)”进行链接。如果链接被批准1315,则方框1317创建事件“与HS-脸部链接的人(HUMAN LINKED WITH HS-FACE)”。方框1318然后将事件添加到适当的TR。方框1316将链接添加到TR“人(HUMAN)”内的空槽,并且在TR“HS-脸部(HS-Face)”与TR“人(HUMAN)”之间添加链接。如果链接未被批准1315,则方框1319询问已经处理了多少个TR“人(HUMAN)”。如果不是所有TR“人(HUMAN)”都已被处理,则执行方框1312。如果TR“人(HUMAN)”不存在1313,则方框1320创建新的TR“人(HUMAN)”。方框1322然后创建事件“人出现(HUMAN APPEAR)”。方框1323将新创建的事件添加到适当的TR。方框1324接收TR数据并且针对TR的类型进行检查。如果TR类型是“FF-HS”,则方框1325搜索具有用于“FF-HS”的空槽的TR“人(HUMAN)”。如果存在具有空槽的TR“人(HUMAN)”,则方框1327将TR“人(HUMAN)”与TR“FF-HS”进行链接。如果链接被批准1328,则方框1330创建事件“与FF-HS链接的人(HUMAN LINKED WITH FF-HS)”。方框1331然后将这个事件添加到适当的TR。方框1329将链接添加到TR“人(HUMAN)”内的空槽,并且在TR“FF-HS”上添加关于到TR“人(HUMAN)”的链接的信息。如果链接未被批准1328,则方框1332检查已经处理了多少个TR“人(HUMAN)”。如果不是所有TR“人(HUMAN)”都已被处理,则执行方框1325。如果没有一个已处理的TR“人(HUMAN)”被连接到TR“FF-HS”1326,则方框1333创建TR“人(HUMAN)”。方框1334创建事件“人出现(HUMAN APPEAR)”。方框1335将这个事件添加到适当的TR。

图14示出具有用于如图13中的方框1305和1306所示那样批准链接的程序的实例的流程图。方框1402接收TR“手部(HAND)”数据和TR“人(HUMAN)”数据。执行搜索程序,其中从链接组提取TR“HS-脸部(HS-FACE)”。如果存在链接1403,则方框1404计算搜索面积和搜索位置,如图12所示。如果存在“脸部(FACE)”检测1405,则方框1409计算手部与搜索位置之间的距离。方框1410然后计算手部与搜索位置之间的最大距离。

手部与搜索位置之间的最大距离Dmax可根据等式(1)来确定:参见图20。

在等式(1)中,Wface是检测到的脸部的宽度,并且x是预定义的或自适应地计算的系数。

方框1411计算“脸部/手部(FACE/HAND)”比率。所述比率可根据等式(2)来确定:参见图20。

在等式(2)中,Hface是脸部检测的高度,Hhand是手部检测的高度。如果手部与搜索位置之间的距离小于手部与搜索位置之间的最大距离1412,则方框1413验证“脸部/手部(FACE/HAND)”比率是否大于预定义的最小值。方框1414验证“脸部/手部(FACE/HAND)”比率是否小于预定义的最大值。如果所有条件都被批准,则方框1415批准TR“手部(HAND)”与TR“人(HUMAN)”之间的链接。

图15示出具有对应于图7中的方框715的程序的实例的流程图。方框1502接收TR数据并且计算向量参数。向量的开始位置是TR在先前时间段处的位置,并且向量的结束位置是TR在当前时间处的位置。向量长度可根据等式(3)来确定:参见图20。

在等式(3)中,Xend是结束位置处的X坐标,Xstart是开始位置处的X坐标,Yend是结束位置处的Y坐标,并且Ystart是开始位置处的Y坐标。

方框1503计算“向量/追踪大小(VECTOR/TRACK SIZE)”比率。所述比率可根据等式(4)来确定:参见图20。

在等式(4)中,L是向量长度,并且TRh是TR高度。

方框1504验证“向量/追踪大小(VECTOR/TRACK SIZE)”比率是否大于预定义的最大值。如果满足条件,则方框1505创建事件“运动(MOTION)”。方框1506然后将这个事件添加到适当的TR。

图16示出具有对应于图7中的方框717的程序的实例的图。方框1602接收TR数据并且计算“高度差与高度(HEIGHT DIFFERENCE TO HEIGHT)”比率。所述比率可根据等式(5)来确定:参见图21。

在等式(5)中,Hc是TR在当前时间处的高度,并且Hp是TR在前一时间段中的高度。方框1603验证“高度差与高度(HEIGHT DIFFERENCE TO HEIGHT)”比率是否大于预定义的最大值。如果满足条件,则方框1604创建事件“面积改变(AREA CHANGED)”。方框1605将这个事件添加到适当的TR。

图17示出具有对应于图7中的719的程序的实例的流程图。方框1702接收TR数据并且计算“角度差与角度(ANGLE DIFFERENCE TO ANGLE)”比率。所述比率可根据等式(6)来确定:参见图21。在等式(6)中,Ac是TR在当前时刻的角度,并且Ap是TR在先前时刻的角度。

方框1703验证“角度差与角度(ANGLE DIFFERENCE TO ANGLE)”比率是否大于预定义的最大值。如果满足条件,则方框1704创建事件“角度改变(ANGLE CHANGED)”。方框1705将事件添加到适当的TR。

图18示出具有对应于图6中的方框603的程序的实例的流程图。这个图示出了在TR与TR“人(HUMAN)”之间创建链接和创建复杂事件的程序。方框1802接收TR数据和TR“人(HUMAN)”。方框1802执行如图13所示的程序。方框1803在TR“人(HUMAN)”中的链接内进行搜索。方框1804搜索所有TR,其包括到以下事件的链接:“运动(MOTION)”或“面积改变(AREACHANGED)”或“角度改变(ANGLE CHANGED)”。如果搜索未传回链接1805,则方框1807创建事件“静止的人(HUMAN STATIC)”。方框1808将这个事件添加到适当的TR“人(HUMAN)”。如果找到的链接的数量大于零1805,则方框1806创建事件“非静止的人(HUMAN NON STATIC)”。方框1808将事件添加到适当的TR“人(HUMAN)”。

图19示出具有对应于图13中的方框1314和1327的程序的实例的流程图,其中在TR与TR“人(HUMAN)”之间创建链接。方框1902接收TR“FF-HS”数据和TR“HS-脸部(HS-FACE)”数据。方框1902计算TR“FF-HS”的中心与TR“HS-脸部(HS-FACE)”的中心之间的距离。方框1903验证TR“FF-HS”数据与TR“HS-脸部(HS-FACE)”的几何形状之间的关系。“多边形中的多边形”测试用于回答以下问题:多边形是否完全在另一个多边形内?方框1904计算比率“FF-HS/HS-FACE(HS-脸部)”。所述比率可根据等式(7)来确定:参见图21。

在等式(7)中,HFF-HS是TR FF-HS的高度,并且HHS-FACE是TR HS-脸部(HS-FACE)的高度。如果测试的结果是肯定的1905,则方框1906计算TR“FF-HS”的中心与TR“HS-脸部(HS-FACE)”的中心之间的最大距离。最大距离可根据等式(8)来确定:参见图21。

在等式(8)中,Hff-hs是TR“FF-HS”的高度,并且x是已经预定义的或已经使用自适应程序找到的系数。

方框1907验证距离是否小于最大距离,然后执行方框1908。方框1908检查比率是否大于最小比率且小于最大比率。如果满足条件,则方框1909创建TR与适当的TR“人(HUMAN)”之间的链接。

图像传感器模块:图像传感器可包括实现如上所述的方法的模块。图像传感器模块可接收视频流并且在逐帧的基础上分析视频,并且随后可以连续地创建事件,所述事件然后可作为特定命令被推送到其他智能设备或所连接设备中。传感器模块可以不向另一个设备流式传输视频。传感器模块可以是包括GPU的SoC;GPU本身可被编程来实现上述方法中的一些或全部。具有嵌入式处理器或SoC在许多情况下是非常有用的,所述嵌入式处理器或SoC具有能够提供关于对象或对象组行为的实时信息的复杂计算机视觉能力。在方法实现于固件或硬件(或两者的某种组合)中的情况下,则操作可以是非常快速且高功效的,这是扩展IoT计算机视觉系统的能力的关键要求。

本发明实现了大范围的应用,因为第三方然后可使用与一个或若干个对象行为相关的信息并且实时提供定制的服务:

·可分析基本事件,诸如简单的手部或头部示意动作,所述基本事件然后可作为特定命令用于控制所连接设备。

·由于对特定环境内的人类行为的了解,可了解并优化空间利用,以便控制例如环境(例如照明或HAVC系统)。

·疏散系统:通过精确地了解位置和人的存在,可增强目前技术发展水平的疏散系统。

·监测接近或离开危险区域的人。

·商业环境:可监测进入或离开商店的人的数量。

·可检测可疑行为,诸如人持有枪支或使行李无人看管。

·利用大量图像传感器来增强安全系统:一系列可疑事件可以机器可读的形式来表示,并且还可作为特定命令推送到另外的设备,而不需要人工操作员审查。

注意事项

应理解,以上引用的布置仅说明了本发明的原理的应用。可在不脱离本发明的精神和范围的情况下设想许多修改和替代布置。尽管本发明已在附图中示出并且在上文结合目前所认为的本发明的最实用且最优选的实例特别地并且详细地进行充分描述,但是对于本领域的普通技术人员将显然易见的是,可在不脱离如本文所阐述的本发明的原理和概念的情况下进行许多修改。

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