监控的制作方法

文档序号:11291292阅读:566来源:国知局
监控的制造方法与工艺

本发明的实施例涉及监视场景。具体地说,它们涉及场景的自动监视。



背景技术:

当前监视系统(例如监控系统)可以包括一个或多个摄像机以便进行具有或没有音频记录的视频记录,这些摄像机经由导线或无线地连接到集线器,该集线器存储从场景记录的数据或者实现该数据的存储。



技术实现要素:

根据本发明的各种实施例但不一定所有实施例,提供一种根据权利要求1至14中的任一项所述的方法。

根据本发明的各种实施例但不一定所有实施例,提供一种根据权利要求15所述的装置。

根据本发明的各种实施例但不一定所有实施例,提供一种装置,包括:至少一个处理器;以及

至少一个存储器,其包括计算机程序代码

所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起,导致所述装置至少执行根据权利要求1至14中的任一项所述的方法。

根据本发明的各种实施例但不一定所有实施例,提供一种计算机程序,当在计算机上运行时,所述计算机程序执行:根据权利要求1至14中的任一项所述的方法。

附图说明

为了更好地理解用于理解简要描述的各种实例,现在将仅通过实例的方式参考附图,这些附图是:

图1示意性地示出系统的一个实例;

图2示出状态机的一个实例;

图3示出处理模块的一个实例;

图4示出用于计算机程序的传送机制的一个实例;

图5a示出产生状态机的新呈现状态的过程的一个实例;以及

图5b示出从监视状态转变为新呈现状态以及执行关联的呈现动作的过程的一个实例。

具体实施方式

所描述的系统100是监视至少一个场景的系统。场景内的用户可以通过在场景内执行动作来控制系统的操作。例如,用户能够控制系统以使得当来自场景的传感器数据满足一个或多个呈现准则时,在场景中有条件地呈现消息。

图1示意性地示出系统100,包括:一个或多个传感器110,其被配置为记录来自场景140的传感器数据112;处理模块120,其被配置为处理从场景140记录的传感器数据112,以便自动识别在场景140中发生的事件,并且作为识别的结果而自动做出决定;以及通信模块130,其被配置为当由处理模块120做出通信决定时进行通信。

被识别的某些事件但不一定所有事件可能涉及场景140中的物体152或特定物体152。物体可以是场景140中的无生命物体、动物、人或特定人150。在系统100的某些实例但不一定所有实例中,系统100是实时识别系统,并且自动识别和决定(如果有)基本上与记录传感器数据112同时发生。

系统100可以用于监控、监视或其它应用。系统100可以用于企业、公共区域或家中。一种预期使用是作为家庭监控系统。

例如当用户是场景140中的人150时,系统100可以使用户能够控制监视。例如当用户是场景140中的人150时,系统100可以使用户能够控制识别和/或识别的结果。

在某些实例但不一定所有实例中,系统100可以包括多个分离装置。例如,传感器110可以被容纳在一个或多个单独装置中,处理模块120可以被容纳在一个或多个装置中,并且通信模块130可以被容纳在一个或多个装置中。如果系统100的一个或多个组件被容纳在分离装置中,则这些装置可以彼此在本地或远离,并且如果它们远离,则它们可以例如通过网络通信。

在某些实例但不一定所有实例中,系统100可以被容纳在单个装置中。

传感器110被配置为记录来自场景140的传感器数据112或者实现来自场景140的传感器数据112的记录。

场景140可以包括例如具有固定相对位置的静态组件,例如静态物体。这些静态物体在场景的三维空间(场景空间)中具有不同的静态位置。场景140可以包括移动组件,例如移动物体。随着时间的推移,移动物体在场景空间中具有不同的位置。相对于不同传感器数据112或不同时间对“场景”的引用暗示被感测的场景140的这些静态组件的连续性,它不一定暗示部分或全部动态组件的连续性,尽管可能发生这种情况。

传感器数据112的记录可以仅包括临时记录,或者它可以包括永久记录,或者它可以包括临时记录和永久记录。临时记录暗示临时地记录数据。这可以例如在感测期间发生,在动态存储器处发生,在缓冲区(例如循环缓冲区)、寄存器、高速缓存等处发生。永久记录暗示数据采取可寻址数据结构(其可以从可寻址存储空间取回)的形式,并且因此能够被存储和取回直到被删除或覆盖,然而可能发生也可能不发生长期存储。

传感器110可以被配置为将传播波(例如声波和/或光波)转换为电信号,这些电信号将来自场景140的传播波数据编码为传感器数据112。

在某些实例但不一定所有实例中,传感器110相对于场景空间被固定在空间中。在其它实例中,传感器110相对于场景空间可移动或移动。

在某些实施例但不一定所有实施例中,传感器是图像传感器114或者包括图像传感器114。图像传感器114的一个实例是数字图像传感器,其被配置为作为摄像机操作。可以操作这种摄像机以便记录静态图像和/或视频图像。

在某些实施例但不一定所有实施例中,可以以立体或其它空间分布式布置配置摄像机,以使得从不同角度查看场景140。这可以能够产生三维图像和/或处理,以便例如经由视差效应建立深度。

在某些实施例但不一定所有实施例中,传感器110是音频传感器116或者包括音频传感器116。音频传感器116的一个实例是一个或多个麦克风。可以以立体或其它空间分布式布置(例如麦克风阵列)配置麦克风,以使得从不同角度对场景140进行采样。这可以实现三维空间音频处理,其允许音频在场景140内的定位。

在某些实施例但不一定所有实施例中,传感器是深度传感器118或者包括深度传感器118。深度传感器118可以包括发送器和接收器。发送器发送信号(例如,人不能感测的信号,如超声或红外光),并且接收器接收反射信号。使用单个发送器和单个接收器,可以经由测量从发送到接收的飞行时间获得某些深度信息。可以通过使用更多发送器和/或更多接收器(空间多样性)获得更好的分辨率。在一个实例中,发送器被配置为使用空间相关模式,以光(优选地为不可见光,例如红外光)“绘制”场景。由接收器检测某种模式允许对场景140进行空间解析。可以通过飞行时间和/或立体视法(如果接收器相对于发送器处于立体位置中)确定到场景140的空间解析部分的距离。

在这些“被动”或“非主动”深度感测实例中,要感测的人150或物体152是被动的并且仅反射由发送器发出的入射光或声波。但是,此外或备选地可以使用“主动”实例,它们需要被感测物体处的活动。作为一个实例,人可以携带定位装置,其被配置为将定位装置放置在场景空间内。定位装置可以例如使用加速度计测量定位装置从参考位置的运动。可以可选地使用陀螺仪确定方位。此外或备选地,定位装置可以通过向多个接收器发送和/或从多个发送器接收,经由三角测量(三边测量)实现定位。

在所示实例但不一定所有实例中,处理模块120包括存储器子模块122、处理子模块124、识别子模块126、以及控制子模块128。尽管“模块”被分别描述和示出,但它们可以(尽管它们不需要)分离或者以不同组合被组合。例如,处理子模块124、识别子模块126、以及控制子模块128可以由同一电路执行,或者在同一计算机程序的控制下执行。备选地,处理子模块124、识别子模块126、以及控制子模块128中的一个或多个可以由专用电路或专用计算机程序执行。可以使用软件、专用硬件或者编程硬件和软件的混合执行子模块。

存储器子模块122可以用于存储未处理的传感器数据110和/或已处理的传感器数据110(场景数据)、计算机程序、场景空间模型以及由处理模块120使用的其它数据,然而其它子模块可以具有它们自己的存储器。

处理子模块124可以被配置为处理传感器数据112,以便确定对于场景140有意义的场景数据。

处理子模块124可以被配置为执行图像处理,其中传感器数据110包括来自一个或多个摄像机114的图像数据。处理子模块124可以被配置为执行音频处理,其中传感器数据110包括来自一个或多个麦克风116的音频数据。

处理子模块124可以被配置为使用传感器数据112自动执行以下一个或多个任务,以便产生对于场景140具有潜在意义的场景数据:

使用机器(计算机)视觉执行以下一者或多者:

检测(移动或静止)物体或人,

对(移动或静止)物体或人进行分类,和/或

跟踪(移动或静止)物体或人;

使用空间分析执行以下一者或多者:

使用深度确定在场景空间中定位(移动或静止)物体,和/或

产生场景空间图;和/或

使用行为分析将场景140中发生的事件描述为可能有意义的符号。

图像处理的一个实例是“梯度特征直方图”分析,其针对图像产生强度梯度或边缘方向的分布。图像可以被分为小的连接区域(单元),并且对于每个单元,针对该单元内的像素产生梯度方向或边缘方向的直方图。这些直方图的组合然后表示描述符。

音频处理的一个实例是“梅尔频率倒谱系数”确定、例如使用音频波束成形技术的空间音频处理、音频事件识别或分类、说话者识别或验证或语音识别。

可以例如使用相对于背景模型的差(背景减除)或者相对于前一个图像的差(时间差)实现运动检测,或者使用某种其它方法(例如使用基于向量的方法的光流分析)实现运动检测。

可以例如使用基于形状的分析和/或基于运动的分析实现物体分类。

人的分类可以是物体是人的分类或者物体是特定人(标识)的分类。可以使用属性或属性组合实现标识,这些属性唯一地标识一组可能人内的某人。属性的实例包括:特定于某人或者可能特定于某人的生物特征,例如其面部或其语音;其身材和尺寸;其行为。

可以通过标记物体并且记录被标记物体在场景140中的位置实现物体跟踪。可能需要算法处理以下一个或多个事件:物体进入场景140;物体从场景140退出;物体再次进入场景140;物体遮挡;物体合并。如何处理这些事件在本领域中是公知的。

物体跟踪可以用于确定物体或人何时改变。例如,在大的宏观规模上跟踪物体允许产生与物体一起移动的参考帧。该参考帧然后可以用于通过使用相对于物体的时间差,跟踪物体的随时间演化的形状变化。这可以用于检测小规模的人运动,例如手势、手部运动、面部运动。这些是相对于用户的场景无关的(仅)用户运动。

系统100可以相对于人体跟踪多个物体和/或点,例如人体的一个或多个关节。在某些实例中,系统100可以执行人体的全身骨骼跟踪。

系统100可以在手势识别等中使用相对于人体的一个或多个物体和/或点的跟踪。

行为分析需要使用有意义的符号描述在场景140中发生的事件。事件可以是在空间-时间实例处发生的某事,或者它可以是空间-时间序列(随着时间推移的空间-时间实例模式)。事件可以涉及物体(或人)的运动或者人与物体的交互。

在某些实施方式但不一定所有实施方式中,事件可以由推定符号(putativesymbol)表示,该推定符号根据从机器(计算机)视觉分析和/或空间分析确定的参数来定义。这些参数对以下某些项或更多项进行编码:发生什么、在何处发生、何时发生以及何人执行。

识别子模块126被配置为将对场景140中的事件进行编码的推定符号识别为与特定意义相关联的有意义符号。

识别子模块126可以被配置为将推定符号(其根据从机器(计算机)视觉分析和/或空间分析确定的参数来定义,并由处理子模块124产生)识别为具有意义。识别子模块126可以例如存储或访问有意义的参考符号数据库,并且可以使用相似性测试判定推定符号是否与有意义的符号“相似”。

识别子模块126可以被配置为机器(计算机)推理引擎或其它识别引擎,例如人工神经网络或参数空间中的群集。在某些实例中,可以经由监管式消息传送训练识别子模块126,以便将有意义的符号识别为与参考符号相似。

控制子模块128根据已在场景140中发生的有意义事件来响应已在场景140中发生该有意义事件的确定:

a)如果推定符号与响应符号相似,则有意义的事件是“响应”事件,并且控制子模块128执行响应动作。

在某些实例但不一定所有实例中,可以由用户对执行的动作进行编程。在某些实例但不一定所有实例中,可以经由用户在场景内的运动发生编程。下面参考图5a和5b提供实例。执行的动作的实例可以是生成警报或通知。

可以经由通信模块130提供警报或通知。通信模块130可以无线地、经由无线电波或者经由到本地或远程装置的连接进行通信。这种装置的实例包括但不限于显示器、电视、音频输出装置、诸如移动电话或个人计算机之类的个人设备、投影仪或其它用户输出装置。

在某些实例但不一定所有实例中,可以由用户对响应符号进行编程。例如,如在下面参考图5a和5b进一步详细描述的,用户可以能够对由有意义的响应符号表示的有意义的事件进行编程或教导。由用户产生的响应符号可以被添加到参考符号数据库,或者以其他方式用于将推定符号识别为有意义的符号。在某些实例但不一定所有实例中,可以经由用户在场景140内的运动发生编程。由有意义的符号表示的有意义的事件的实例包括执行的特定动作或运动,例如用户输入手势。

b)如果推定符号与用户控制符号相似,则有意义的事件是“用户控制”事件,并且控制子模块128实现监视的用户控制和/或响应的用户控制。

如在下面参考图5a和5b进一步详细描述的,“用户控制”事件的一个实例是由消息传送符号表示的消息传送事件。推定符号与学习符号相匹配的这一识别使用户能够对有意义的响应事件和/或该响应事件的响应动作进行编程或教导。执行的动作的实例可以是生成警报或通知。

可以从图2进一步理解处理模块120的操作,图2示出处理模块120的状态机200。状态机200具有监视状态210、用户控制状态220和自动响应状态230。

在监视状态210下,传感器110提供传感器数据112,并且处理子模块124自动处理传感器数据112(视频和/或音频和/或深度)以便产生具有潜在意义的场景数据。识别子模块126自动处理场景数据,以便在场景数据内标识实际意义,即,有意义的符号。

有意义的符号是预定的,即,已发生的在识别之前确定符号的动作。但是,“预定”不应该被视为表示确切的或固定的。用于相似性匹配的符号仅具有预先确定,它可以动态演化或者可以是固定的。

如果识别子模块126确定已在场景140中发生有意义的事件,则控制子模块128根据该事件自动地响应。如果有意义的事件是“响应”事件,则状态机200转变为响应状态230,并且控制子模块128执行与该响应事件关联的响应动作。如果事件是“用户控制”事件,则状态机200转变为用户控制状态220,并且以与该用户控制状态220关联的方式实现监视和/或响应的用户控制。

特定手势用户输入可以用作“用户控制”事件。手势用户输入是作为用户输入对于系统100具有意义的手势。手势可以是静态的或移动的。移动手势可以包括运动或者包含一系列运动的运动模式。例如,它可以是进行圆周运动或侧向运动或上下运动或空间中的符号跟踪。移动手势可以例如是装置无关的手势或装置相关的手势。移动手势可以涉及用户输入物体(例如,用户的一个或多个身体部位、或者其它装置)相对于传感器110的运动。身体部位可以包括用户的手部或用户的手部的一部分,例如一个或多个手指和拇指。在其它实例中,用户输入物体可以包括用户身体的不同部位,例如其头部或手臂。三维运动可以包括用户输入物体沿着任何三个正交方向的运动。运动可以包括用户输入物体朝着或远离传感器110移动以及沿着平行于传感器的平面移动或者此类运动的任意组合。手势可以是非接触式手势。非接触式手势在手势期间的任何时间都不与装置传感器接触。手势可以是绝对手势,其根据与传感器110的绝对位移来定义。这种手势可能被束缚,因为它在场景空间中的精确位置处执行。备选地,手势可以是相对手势,其根据手势期间的相对位移来定义。这种手势可能未被束缚,因为它不需要在场景空间中的相对精确位置处执行,并且可以在大量任意位置处执行。手势可以被定义为位移的演化、随时间相对于原点的被跟踪点。可以例如使用时间变量参数(例如位移、速度)或者使用其它运动学参数,根据运动来定义手势。未被束缚的手势可以被定义为相对位移δd随相对时间δt的演化。可以沿着一个空间维度(1d手势)、两个空间维度(2d手势)或三个空间维度(3d)执行手势。

在某些实例中,系统100可以在手势识别中相对于人体跟踪一个或多个物体和/或点。例如,系统100可以在手势识别中执行人体的全身骨骼跟踪。

处理器模块120或处理器模块120的一部分可以作为控制器电路实现。控制器电路120可以单独以硬件实现,单独具有包括固件的软件中的某些方面,或者可以是硬件和软件(包括固件)的组合。

如图3中所示,控制器120可以使用指令实现,这些指令例如通过在通用或专用处理器310中使用可执行计算机程序指令322实现硬件功能,可执行计算机程序指令322可以存储在计算机可读存储介质(磁盘、存储器等)上以便由此类处理器310执行。

处理器310被配置为从存储器320读取并且向存储器320写入。处理器310还可以包括输出接口和输入接口,处理器310经由输出接口输出数据和/或命令,经由输入接口将数据和/或命令输入到处理器310。

存储器320存储包括计算机程序指令(计算机程序代码)的计算机程序322,当被加载到处理器310中时,计算机程序322控制处理模块120的操作。计算机程序322的计算机程序指令提供逻辑和例程,这些逻辑和例程使处理模块能够执行参考图1和2讨论的方法。处理器310通过读取存储器320能够加载和执行计算机程序322。

系统100因此可以包括装置120,其包括:

至少一个处理器310;以及至少一个存储器320,其包括计算机程序代码322,至少一个存储器320和计算机程序代码322被配置为与至少一个处理器310一起,导致装置120至少执行图1的方框124、126、128中的一者或多者。

如图4中所示,计算机程序322可以经由任何合适的传送机制324到达此类装置。传送机制324可以例如是非瞬时性计算机可读存储介质、计算机程序产品、存储设备、诸如压缩盘只读存储器(cd-rom)或数字通用光盘(dvd)之类的记录介质、有形地包含计算机程序322的制造品。传送机制可以是被配置为可靠地传输计算机程序322的信号。装置120可以将计算机程序322作为计算机数据信号来传播或传输。

尽管存储器320被示为单个组件/电路,但它可以被实现为一个或多个单独组件/电路,它们中的部分或全部可以是集成的/可移动的,和/或可以提供永久/半永久/动态/缓存存储装置。

尽管处理器310被示出为单个组件/电路,但它可以被实现为一个或多个单独组件/电路,它们的部分或全部可以是集成的/可移动的。处理器310可以是单核或多核处理器。

对“计算机可读存储介质”、“计算机程序产品”、“有形地包含的计算机程序”等或“控制器”、“计算机”、“处理器”等的引用应该被理解为不仅包含具有不同架构(例如单/多处理器架构和顺序(冯·诺依曼)/平行架构)的计算机,而且还包含专用电路,例如现场可编程门阵列(fpga)、专用电路(asic)、信号处理设备和其它处理电路。对计算机程序、指令、代码等的引用应该被理解为包含用于可编程处理器或固件的软件,例如硬件设备的可编程内容,无论是用于处理器的指令,还是用于固定功能设备、门阵列或可编程逻辑设备等的配置设置。

如在本申请中使用的,术语“电路”指以下所有各项:

(a)仅硬件电路实施方式(例如仅模拟和/或数字电路中的实施方式);以及

(b)指电路和软件(和/或固件)的组合,例如(如适用):(i)指处理器(多个)的组合或(ii)指处理器(多个)/软件的各部分(包括共同工作以便导致诸如移动电话或服务器之类的装置执行各种功能的数字信号处理器(多个)、软件和存储器(多个));以及

(c)指电路,例如需要软件或固件以便操作(即使软件或固件未实际存在)的微处理器(多个)或微处理器(多个)的一部分。

该“电路”定义适用于本申请中(包括在任何权利要求中)对该术语的所有使用。作为进一步实例,如在本申请中使用的,术语“电路”还包含只有一个处理器(或多个处理器)或一个处理器的一部分以及它的(或它们的)附带软件和/或固件的实施方式。术语“电路”还包含(例如并且如果适用于特定权利要求元素)用于移动电话的基带集成电路或应用处理器集成电路或服务器、蜂窝网络设备或其它网络设备中的相似集成电路。

图1中所示的方框124、126、128可以表示方法中的步骤和/或计算机程序322中的代码部分。方框的特定顺序的例示不一定暗示方框具有必需或优选的顺序,并且可以改变方框的顺序和布置。此外,省略某些方框可以是可能的。

控制消息的呈现

图5a和5b示出如何可以由用户,并且具体地说由场景140内的用户动作对如前所述的状态机200进行编程。图5a示出使用新用户控制状态220(消息传送状态222)产生状态机200的新响应状态230(呈现状态232)的过程。图5b示出从监视状态210转变213为新呈现状态232以及执行关联的呈现动作的过程。

如前所述,在监视状态210下,传感器110提供传感器数据112,并且处理子模块124自动处理传感器数据112(视频和/或音频和/或深度数据)以便产生具有潜在意义的场景数据。识别子模块126自动处理场景数据,以便在场景数据内标识实际意义。

例如,再次参考图1,消息170可以与一个或多个呈现准则和场景中的物理位置180相关联。识别子模块126可以自动处理场景数据,以便自动识别一个或多个呈现准则的满足。响应于识别一个或多个呈现准则的满足,状态机200进入呈现状态232,这使能由呈现引擎160将消息170自动呈现到场景140中的物理位置180处。

呈现引擎160的实例可以包括以可视方式呈现消息的可视呈现引擎、以可视方式呈现消息的可听呈现引擎、以及经由触摸呈现消息的触觉呈现引擎。

呈现引擎可以仅用于呈现消息的目的或者用于某个或某些其它目的。

可视呈现引擎的实例包括但不限于:场景140内的可视显示屏,其显示场景140内的消息170;以及一个或多个可视投影仪,其将场景140内的消息170例如投影到场景140内的表面(例如,墙壁或地板)上。

消息传送状态

再次参考图5a,在监视状态210下,传感器110提供传感器数据112,并且处理子模块124自动处理传感器数据112(视频和/或音频和/或深度数据)以便产生具有潜在意义的场景数据。识别子模块126自动处理场景数据。

识别子模块126通过将场景数据112内由用户产生的消息传送符号识别为用于将状态改变为消息传送状态222的用户输入命令,确定何时已在场景140中发生消息传送事件。控制子模块128通过转变211为消息传送状态222,自动地响应该确定。可以向用户提供反馈指示,例如已进入消息传送状态222的可听或可视确认。

可以例如使用从传感器数据112获得的视频数据、音频数据和深度数据中的任何一者或多者来定义消息传送符号。

在某些实例但不一定所有实例中,仅视频数据用于识别消息传送符号。在该实例中,消息传送符号如前所述可以是随时间演化的、场景无关的符号序列,其由被跟踪用户相对于被跟踪用户处的参考帧的运动来定义。消息传送符号的一个实例是手势用户输入。

在某些实例但不一定所有实例中,音频数据和/或深度数据用于识别消息传送符号。在该实例中,消息传送符号可以是随时间演化的、场景无关的符号序列,其由被跟踪用户的动作来定义。例如,可以确定深度图,并且然后使用机器学习推断用户的变化的身体位置。这可以例如在大约每秒30帧的速率下完成。用户的关节位置作为输出被产生,并且手势可以被定义为包括用户的关节位置的符号。在音频输入的情况下,可检测的手势的一个实例可以是拍手。

在某些实例但不一定所有实例中,识别子模块126可以在其检测到异常情况(例如异常行为或被识别人的异常行为)或者检测到未被识别的人时,确定已在场景140中发生消息传送事件并且转变211为消息传送状态222。异常的确定可以基于场景140的历史监视。

程序触发

在消息传送状态222下,通过在场景140内执行动作,用户能够定义新“响应事件”(呈现事件)和对应的新响应符号(呈现符号),并且在状态机200中产生新响应状态(呈现状态232),如图5b中所示。

在消息传送状态222下,系统100自动处理来自场景140并与场景140中的用户动作相关的所记录的传感器数据,以便使用户能够对以下一者或多者进行编程:一个或多个呈现准则;物理位置180;以及消息170的组成(内容)。

在用户编程期间,系统100可以提供用于使用呈现引擎160进行编程的用户接口。呈现引擎160可以例如呈现可选择的选项,例如作为菜单或键盘。用户可以通过相对于相应选项执行诸如指点之类的手势,选择不同的选项。

在某些实例但不一定所有实例中,用户动作可以包括语音,并且所记录的传感器数据的处理包括语音识别处理。用户编程可以例如通过说话实现。

在某些实例但不一定所有实例中,用户动作可以包括随时间演化的、场景无关的符号序列,其由被跟踪用户相对于被跟踪用户处的参考帧的运动来定义。用户编程可以例如通过在空间中绘制字符实现。

可以通过场景140内的用户动作确定一个或多个呈现准则。

在某些实例但不一定所有实例中,一个或多个呈现准则可以包括以下一者或多者:

场景140中的物体或人的存在,

场景140中的物体或人的特定分类或标识,

场景140中的物体或人的特定跟踪;

场景140中的物体或人的特定定位;

场景空间的特定深度图;和/或

描述场景140中发生的事件的特定确定的符号。

如果使用多个准则,则可以使用布尔逻辑将它们相组合。例如,仅需要满足一个准则的备选准则可以被定义为使用“或”的组合。例如,需要满足多个准则的必要准则可以被定义为使用“与”的组合。将认识到,可以通过在其它组合内嵌套组合产生复杂的逻辑表达,如本领域公知的那样。

在某些实例但不一定所有实例中,由用户定义的一个或多个呈现准则可以是呈现消息170的必要条件。

在某些实例但不一定所有实例中,由用户定义的一个或多个呈现准则可以是呈现消息170的必要和充分条件。

作为一个实例,一个或多个呈现准则可以包括至少一个人特定的呈现准则。系统100通过处理来自场景140的所记录的传感器数据112以便自动识别场景140中的特定人,处理来自场景140的所记录的传感器数据112以便自动识别一个或多个呈现准则的满足。这可以例如通过执行面部识别处理和/或语音识别处理实现。

作为一个实例,一个或多个呈现准则可以包括至少一个行为特定的呈现准则。系统100通过处理来自场景140的所记录的传感器数据112以自动识别场景140中的特定行为,处理来自场景140的所记录的传感器数据112以便自动识别一个或多个呈现准则的满足。这可以例如通过执行以下各项实现:机器视觉处理;空间分析处理;行为分析处理;语音识别处理;和/或面部识别处理。以这种方式,可以表征场景140内的行为或活动,并且如果适当,可以表征参与活动的人。

一个或多个呈现准则可以包括需要在消息170被呈现在场景140中之前满足的其它条件。例如,一个或多个呈现准则可以包括一个或多个时间准则,其指定日期或时间或延迟或持续时间。消息170可以例如仅在该日期和/或该时间在场景中被呈现。备选地,消息170可以例如仅在延迟之后在场景中被呈现。消息170可以例如仅在持续时间内呈现。

系统100可以被配置为向用户建议一个或多个呈现准则,以供选择作为用于控制消息170在场景140中的呈现的一个或多个呈现准则中的一部分或全部呈现准则。

可以例如根据以下一者或多者自动确定所建议的呈现准则:用户的物理位置;一般地在场景140中或在场景140中的用户位置处的一个或多个人;消息的内容。

可以例如确定物理位置180是用户位置。物理位置180可以用作一个或多个呈现准则之一。

对呈现编程

在消息传送状态222下,通过在场景140内执行其它动作,用户可以能够定义与新呈现状态232关联的响应动作(呈现动作)。

呈现动作可以例如是在物理位置180处呈现具有用户确定的内容的消息。

可以根据以下一者或多者自动确定场景140中的物理位置180:用户动作期间用户的位置和消息170的内容。

可以通过以下操作在消息传送状态222下发生呈现动作的编程:在处理器子模块124处自动处理场景140的传感器数据112(视频和/或音频和/或深度数据),以便能够由识别子模块126自动识别与特定呈现动作关联的预定动作符号。响应于所述识别,控制子模块128对状态机200进行编程,以使得当进入呈现状态232时执行呈现动作。

预定的动作符号可以是随时间演化的、场景无关的符号序列,其由被跟踪用户相对于被跟踪用户处的参考帧的运动来定义。预定的动作符号可以是用户输入手势。例如,可以确定深度图,并且然后使用机器学习推断用户的变化的身体位置。这可以例如在大约每秒30帧的速率下完成。用户关节的位置被产生为输出,并且手势可以被定义为包括用户关节的位置的符号。

因此,用户可以能够通过在空间中绘制字符和/或通过说话和/或通过使用经由呈现引擎160提供的用户接口,在场景140内组成消息。来自场景140的所记录的传感器数据112被处理以便产生消息170。

在某些实例但不一定所有实例中,消息170可以是文本消息。

返回到监视状态

再次参考图5a,从消息传送状态222转变212回到监视状态210可以以多种方式发生。在某些实例中,它可以在用户已控制新呈现状态232的产生以及用于转变213为该新状态232的呈现事件之后自动发生,或者可以响应于诸如可听事件之类的用户动作而发生。在其它实例中,它可以在用户已另外对与呈现状态232关联的呈现动作(消息170和/或物理位置180)进行编程之后自动发生。

呈现状态

参考图5b,如前所述,在监视状态210下,传感器110提供传感器数据112,并且处理子模块124自动处理传感器数据112(视频和/或音频和/或深度数据)以便产生具有潜在意义的场景数据。识别子模块126自动处理场景数据,以便在场景数据内标识实际有意义的事件。如果有意义的事件例如是“呈现”事件,则状态机200转变213为呈现状态232,并且控制子模块128执行与该呈现状态232关联的呈现动作。

系统100将消息170与一个或多个呈现准则和场景140中的物理位置180相关联。系统100自动处理来自场景的所记录的传感器数据112,以便自动识别一个或多个呈现准则的满足;以及响应于识别一个或多个呈现准则的满足,进入呈现状态232。呈现状态232使能将消息170自动呈现到场景140中的物理位置180处。

一个或多个呈现准则可以包括至少一个人特定的呈现准则。处理来自场景140的所记录的传感器数据112以便自动识别一个或多个呈现准则的满足然后包括处理来自场景140的所记录的传感器数据112,以便自动识别场景140中的特定人。

可以已在消息传送状态222下预先确定所述一个或多个呈现准则,如前所述。

可以已在消息传送状态222下预先确定物理位置180,如前所述。

可以已在消息传送状态222下预先确定消息170,如前所述。

可以临时进入呈现状态232,以使得在有限持续时间内临时在场景140中呈现消息170。

如前所述,在场景140内的物理位置180处呈现消息170可以包括从物理位置180处的显示器显示消息170和/或将消息投影到物理位置180处的表面上。

在呈现状态232下,通过在场景140内执行其它动作,用户可以能够对以下一者或多者进行重新编程:一个或多个呈现准则;物理位置180;以及消息组成。

在呈现状态232下,通过在场景140内执行其它动作,用户可以能够对状态机200进行重新编程。

例如,用户可以确认消息170已被读取,这可以具有防止将来向该用户或任何用户呈现该消息170的结果。用户可以确认消息170已被读取(对于她自己),这可以具有防止将来向她呈现该消息170的结果。用户可以确认消息170已被读取(对于所有人),这可以具有防止将来向任何其他人呈现该消息170的结果。

例如,用户可以拒绝消息170。这可以具有防止将来向该用户呈现该消息170的结果。它可以导致对一个或多个呈现准则和/或物理位置和/或消息组成的改变。这可以例如导致随后在相同/不同的物理位置180处向不同的用户呈现相同/不同的消息170。

例如,用户可以将消息170委托给特定的人。用户可以标识该特定的人,或者系统100可以自动标识该特定的人。这可以具有防止将来向用户呈现该消息170的结果。它可以导致对一个或多个呈现准则和/或物理位置和/或消息组成的改变。这可以例如导致随后在相同/不同的物理位置180处向该特定的人呈现相同/不同的消息170。

在呈现状态232下,当用户在场景140内执行其它动作并且对以下一者或多者进行重新编程时:一个或多个呈现准则;物理位置180;以及消息组成,这些动作可以是专用重新编程动作,它们可以用于所有情况以便对以下一者或多者进行重新编程:一个或多个呈现准则;物理位置180;以及消息组成。即,针对所有呈现状态使用相同的重新编程动作。例如,可以具有用于确认被呈现消息170的常用手势、用于拒绝被呈现消息170的不同常用手势以及用于委托被呈现消息170的不同常用手势。

备选地,在其它实例中,这些其它动作可以是仅针对该特定呈现状态232定义的重新编程动作。例如,被呈现消息170可以请求用户执行特定行为。如果该行为的执行被识别,则它可以自动用作用户确认。如上所述,这可以具有防止将来向该用户或任何用户呈现该消息170的结果。

实例

为了更好地理解本发明,下面提供可如何在家庭、办公室、工厂或公共环境中使用本发明的一些实例。但是,本发明并不限于这些实例。

在一个实例中,监控摄像机114被安装在公寓内。监控摄像机114被连接到计算机系统,计算机系统针对视频数据以及可选深度数据和可选音频数据运行分析算法。该分析包括使用以下各项的人识别:应用于视频数据的面部识别、以及可选地应用于音频数据的说话者识别方法。

所述系统还监视人活动。典型的被识别活动可以包括步行、站立、浇花、倒垃圾、洗盘子、洗衣服、清洁窗户、清洁地板、将纸张装入打印机等。被识别活动可以取决于系统100被部署到的环境,例如是工厂车间还是某人家中。

系统100还监视人手势。典型的手势包括将手放在墙壁上、与墙壁显示器交互,例如按下投影按钮图标或书写字符。

用户(丈夫)走近花盆并且被视频监控系统100识别。用户通过将手放在墙壁上并且保持几秒钟做出手势。这被视频监控系统100识别,并且系统提示用户他是否希望向其妻子留下消息170。

在一个实施例中,使用一个或多个投影仪160完成消息170的呈现,这些投影仪能够将信息投影到墙壁或地板上。在某些其它实施例中,可能在计算机显示器或电视显示器等上显示消息。

系统100自动建议向妻子留下消息170,因为系统已基于活动监视数据,观察到他的妻子已在花盆的位置附近交互多次、浇花。

在这种情况下,用户(丈夫)决定向其妻子留下消息170,请求她浇花。

用户通过使用手势(通过手势识别方法识别)在墙壁上产生字符,或者通过向系统100提供可以使用语音识别技术识别的语音提示,留下消息170。消息170被投影到墙壁上。

在某些实施例中,系统100可以基于消息内容和/或留下消息170的物理位置180,自动建议消息170的接收者。如果消息170被留在花盆附近,则系统100可以确定最常与花交互的用户。系统100可以显示投影在墙壁上的建议的接收者,并且用户可以通过应用于接收者姓名之上的滑动手势,在接收者之间进行选择或改变。

可选地,系统100使用文本内容分析来分析消息内容。具体地说,系统100可以分析消息中的文本内容,以便判定是否存在消息中提到的动作。在这种情况下,存在被包括在消息中的动作“浇花”。

用户(丈夫)离开并且消息170消失。系统100识别用户离开并且使消息170消失,或者在用户停止与消息170交互达预定时间之后自动消失。

当妻子到达公寓并且走到花盆附近时,使用人识别方法来识别妻子,并且使用活动识别来识别妻子在花盆附近。

在系统100识别人之后,它可以检查是否具有该人的消息170。

可选地,系统100可以检查是否具有与用户的特定位置关联的消息170。

如果具有要提供的消息170,则系统100使用投影仪160在信息涉及的物品附近的墙壁或天花板上显示消息。

在呈现消息170之后,系统100继续监视用户活动。具体地说,系统100继续监视刚刚接收消息170的用户的活动。在一个实施例中,消息的接收者可以通过提供手势确认消息,例如使用手在消息170上或消息170附近绘制勾号。在这种情况下,消息消失并且将不会再显示,它已被确认为已完成。用户还可能使用手势拒绝消息170,例如通过使用手势在消息170之上绘制叉号。在这种情况下,消息170可以再次显示给另一个用户或者在不同的时间显示给同一用户,直到某人将其标记为已确认。如果用户认为消息170涉及另一个用户,则他可以进一步委托消息170。例如,用户可以做出手势,如同抓住消息170,然后稍微侧向拉动。因此,系统100可以提供委托给另一个用户的选项,并且显示可能的其它接收者的列表。其它接收者可以被确定为频繁地执行消息170中涉及的活动和/或与消息170中涉及的物体交互的其他人。

在另一个实施例中,系统100针对传感器数据112执行活动识别,并且确定妻子已执行消息170中涉及的动作。系统100先前使用文本内容分析来确定消息170涉及浇花。在这种情况下,系统100分析用户活动以便判定她是否继续执行消息170涉及的活动。当妻子现在浇花时,系统100检测到这一点并且使消息170消失。

在某些实施例中,系统100可以自动建议留下消息170。具体地说,如果用户在预定时间内持续观看物品(卫生纸架、花盆),则系统100自动建议/询问是否留下考虑该物品的消息170。使用监控系统100中的活动识别来检测观看物品。

在某些实施例中,系统100可以基于不同人与这种情况(何人最近已浇花)的过去交互,建议消息的接收者。

可以在现场或远程地使用系统100。

在某些实施例中,系统100用于检测异常情况,然后向用户突出显示这些情况。突出显示可以意味着在异常情况涉及的物体附近投影消息170。例如,如果花朵下垂,则可能使用监控系统100的投影仪160突出显示花盆。如果用户经由用户接口远程地访问系统100,则可能突出显示用户接口上的与花盆匹配的部分。

系统100可以自动选择消息170的合适位置(在需要执行的动作的附近)。系统100分析消息170的文本内容,并且确定消息170涉及的物体或活动。基于该确定,它决定消息170的合适物理位置180,例如在物体的位置附近或者通常执行活动的位置。

每个消息170可以具有一定的使用期限,在该使用期限之后它不再被呈现。使用期限可以在系统偏好中定义,或者用户可以自己进行设置。备选地,系统100可以自动确定消息不再相关。例如,如果具有关于购买更多食物的消息170,并且然后某人自带杂货并将其放在冰箱上,则消息170可以被自动删除。

还可以随定时信息一起留下消息170。在浇花实例中,丈夫可能要去旅行,并且希望在旅行期间(从现在起的一周)浇花一次。定时信息可以作为文本被输入消息“请浇花。(下星期三)”中。这将导致仅在消息170中指示的时间期间显示消息。参考上面的实例消息“请浇花。(下星期三)”,仅在指定的日期(下星期三)向妻子显示该消息。

系统100可以用于向家庭的其他成员留下临时消息170,例如“浇花”、“卫生纸已用完”,或者在办公室、工厂、商店或其它工作场所针对其它工作人员留下临时消息170,例如“在打印机中插入更多纸”、“咖啡已喝完”、“这台机器需要润滑”、“此组件缺货”。

在上述实例中,应该认识到,在消息传送状态220下发生的视频捕获可以涉及与在监视状态210下发生的视频监视相同的场景140。实际上,在消息传送状态220下发生的视频捕获可以使用与在监视状态210下发生的视频监视相同的摄像机。

在本文中使用的术语“包括”具有包含意义而非排他意义。即,对包括y的x的任何引用指示x可以包括仅一个y或者可以包括多于一个y。如果旨在使用具有排他意义的“包括”,则将通过引用“包括仅一个”或者通过使用“由…组成”在上下文中解释清楚。

在该简要描述中,已参考各种实例。相对于实例对特征或功能的描述指示这些特征或功能存在于该实例中。本文中术语“实例”或“例如”或“可能”的使用(无论是否明确说明)都表示这种特征或功能至少存在于所述实例(无论是否作为实例描述)中,并且它们可以但不一定存在于部分或全部其它实例中。因此,“实例”、“例如”或“可能”指一类实例中的特定示例。示例的属性可以是仅该示例的属性或者该类的属性或者该类的子类(其包括该类中的某些但并非所有示例)的属性。因此隐含地公开了参考一个实例而不参考另一个实例描述的特征可以(如果可能)用于该另一个实例中,但不一定必须用于该另一个实例中。

尽管已参考各种实例在前面各段中描述了本发明的实施例,但应该认识到,可以对给出的实例进行修改而不偏离如要求保护的本发明的范围。

在前面说明中描述的特征可以用于显式描述的组合之外的组合。

尽管已参考某些特征描述了功能,但可以由其它特征(无论是否描述)执行这些功能。

尽管已参考某些实施例描述了特征,但这些特征还可以存在于其它实施例(无论是否描述)中。

当在上述说明书中致力于关注被认为具有特定重要性的本发明的那些特征时,应该理解,本申请要求对任何可专利的特征或在上文中引用和/或在附图中示出的特征(无论是否已特别强调)的组合的保护。

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