背景技术
操作电子设备的用户已经变得越来越依赖于电子遥控器(remote control)。电子遥控器允许用户从远处发出命令,通过红外线(IR)和无线电信号向电子设备发出命令。
在典型的家庭中,可以使用遥控器控制一个或多个电子设备,诸如电视机、有线电视接收器、CD播放器、视频录像机、DVD播放器、音频接收器、计算机系统以及甚至照明设备。实际上,许多电子组件依靠通过遥控器的命令,其中遥控器仅可以访问电子设备喜好(preference)。虽然电子遥控器本质上已经变得非常复杂,但是它们的使用变得始终流行,尤其由于许多遥控器产生了对实况媒体的进一步可访问性。许多电子消费者对增加与所有形式的多媒体(尤其是电视)的交互性具有更强的期望。
电子消费者长期期望增加与多媒体的交互和参与。去除电子遥控器将不例外。使用人体姿势来命令电子设备在科幻小说中已经被讨论了多年。然而,随着姿势(gesture)识别的进步,已经证明人类姿势向电子输出口(outlet)发出命令是有价值的。
姿势识别技术允许用户在不需要使用其它机械装置(诸如电子遥控器)的情况下,与电子设备交互。这种技术通常包括照相机读取人体移动并且将从照相机收集的数据通信至计算机。计算机然后识别选择的姿势作为意图用于电子设备的命令。例如,实践中,用户可将手指指向电视机或计算机屏幕以便移动光标或激活应用命令。
在美国专利第7,283,983号中公开了一种交互媒体系统,其教导了一种与摄像机耦接的计算机,以便提供一种用于利用成像以及识别技术的方法以结合印刷媒体(诸如图书、教材、杂志、海报、图表、地图、单独页面、包裹、游戏卡片等)的使用而为人类用户提供的增强的交互。该计算机系统使用基于视觉的传感器来辨别印刷媒体并且检索与该视图对应的信息。传感器然后辨别至少与媒体的一部分有关的第一用户姿势。计算机系统然后将该姿势翻译为命令,并且至少部分基于第一姿势和检索的信息,该系统电子地说出检索的信息的至少一部分。
人体姿势可以源自任何身体运动或状态,包括上述的手部移动。面部识别可通过区别那些姿势来自哪里并且滤除不相关移动来进一步协助运动检测系统。
虽然人类具有先天的能力在面部之间进行识别和区别,但是将相同的固有能力使用于计算机软件中是相当困难的。然而,在过去的几年中,已经更好地开发了该系统。
使用计算机系统的面部识别允许来自数字图像或视频源的人的辨别和验证。由于人类的面部具有许多的、可区别的特征,可利用这些特征的比较用于人的辨别。使用算法,计算机软件可以比较特征(诸如双眼之间的距离、眼眶的深度、颧骨的形状、以及许多其它面部特点),并且然后将每个特点与现有的面部数据相比较。
授权给Agraham等人的美国专利第6,377,995号提供了一种使用面部和语音识别来对多媒体通信编排索引的方法和装置,使得可以高效地检索并重放选择的多媒体通信的部分。该方法和装置结合面部和声音识别来辨别可包括数据或元数据的多播、多媒体电话会议的参与者。当音频和视频面部图案(pattern)二者匹配特定的参与者的语音和面部模型时,服务器确定特定参与者的身份,并且然后基于参与者的语音和面部图案的辨别来创建参与者的索引,由此使用索引来分割多媒体通信。
深度感知照相机也是广泛可用的并且用于控制媒体。视频图案识别软件(诸如Sony Eyetoy和Playstation Eye),使用专用照相机在短范围内通过照相机生成正在被观看的深度图,允许用户使用运动、颜色检测以及甚至使用内置麦克风的声音来与媒体交互。
授权给McCarty等人的美国专利第6,904,408号教导了一种用于定制用户的网络浏览体验的网络内容管理器。该管理器根据用户的心理喜好来选择适当的在线媒体,其被收集在传统(legacy)数据库中并且响应至少一个实时可观察行为信号。皮肤温度、脉搏率、心率、呼吸率、EMG、EEG、话音重音以及姿势识别是行为响应中的一些,并且测量并分析心理指标(indicator)。通过视频输入的计算机分析来完成姿势识别。面部的位置可以指示乐观(upbeat)或悲观(downbeat)态度,其中每分钟眨眼的计数可用于指示焦虑度。
姿势识别已被证明有利于许多应用。然而,姿势识别具有许多挑战,包括姿势识别软件的鲁棒性和准确性。对于基于图像的姿势识别,存在与装备以及在视场中发现的噪声量相关联的局限。无意的姿势以及背景移动妨碍发出的命令的完全识别。
存在尤其使用人类的姿势来控制媒体内容的需要。然而,先前方法已经采用了不具有鲁棒性的姿势识别技术。
具体实施方式
现在将更加详细地描述本发明,其中在附图中图示了本发明的实施例。
现在参照图1,图示了根据本发明的多媒体控制系统1。多媒体控制系统1包括:图像传感器2、与存储器5相连接的输入图像模块4、媒体控制接口6、与存储器5相连接的面部检测模块10和姿势识别模块20、富交互模块7以及多媒体输出口设备8。
图像传感器2,具体地是将光学图像转换为电信号的器件。在处理之前将电信号输入至图像模块4并且存储于存储器5中。
基本地,如图2中进一步例示的,图像传感器2与数字照相机30协同使用。使用照相机30来捕捉并聚焦图像传感器2上的光。图像传感器2从多媒体用户3捕捉多个静止图像,所述多媒体用户3可能向或可能不向多媒体输出口设备8发出命令。图像传感器2完成将捕捉的光转换为电输出信号的任务,所述电输出信号通过输入图像模块4来处理。面部检测和姿势识别模块10、20通过存储器5与输入图像模块4相连接,并且处理电信号,协同地确定用户3是否已经执行发出的命令。
照相机30可具有变焦透镜(未示出),其可将照相机的视场调整角度θ。这是第一种也是最基本的限制潜在噪声的方法。多媒体用户3可调整照相机30,从而照相机可聚焦于多媒体用户3上。
在一个实施例中,输入图像模块4是可编程器件,诸如微处理器。虽然可以数字照相机30中集成地制造输入图像模块4,但另一实施例可允许输入图像模块4的单独的构建,其与照相机30和图像传感器2分离,并且通过导线连接。
输入图像模块4具有存储器组件5,其存储由照相机30捕捉并且由图像传感器2用信号通知的输入图像帧。在面部检测模块10和姿势识别模块20之间收集存储的图像并且将其存储用于处理。媒体控制接口6还是优选地以单一构建提供的输入图像模块的另一组件。然而,提供媒体控制接口6提供作为输入图像模块4的外部组件是可能的。
输入图像模块4包含模块10、20,其逻辑功能以及连通性根据与面部检测和姿势识别相关联的算法被预编程。在本发明一个实施例中面部检测和姿势识别模块10、20二者均与输入图像模块4集成地构建。如图1所示,依据由面部检测和姿势识别模块10、20算法确定的结果,输入图像模块4将通过媒体控制接口6向多媒体输出口设备8提供命令。
在一个实施例中,通过预分配的姿势指示来预编程命令。姿势识别模块20将多个特定的姿势指示识别为多媒体输出口设备8要执行的特定命令。例如,如果用户向其面部右侧挥动其右手,则姿势识别模块将识别该姿势为命令关闭多媒体输出口设备8。然而,在其它实施例中,系统1将能够允许用户3编程其自身特定姿势作为发出的命令。例如,用户可以对系统1编程使得通过用户向其面部左侧挥动其左手作为关闭命令来触发关闭命令。
富交互模块7从多媒体输出口设备8中获取信号以便将那些信号发送至输入图像模块4用于处理在多媒体输出口设备8上显示的图像。此外,富交互模块7将用户3指向与设备屏幕9上的特定点匹配。
根据本发明并且图1中图示的多媒体控制系统1向用户3提供一种控制媒体的方法,具体地,一种使用面部识别对与多媒体中的特征有关的有用信息编排索引、并且然后识别请求关于对应特征的信息的姿势的方法。本发明的目的在于允许用户3仅仅使用人类的姿势,以具有鲁棒性的方式检索有关于多媒体输出口装置8上的图形的元数据。通过照相机30和图像传感器2捕捉姿势。然而,如果在分配的图像热点区域中执行姿势,则将仅仅识别该姿势,所述分配的图像热点区域由面部检测模块10执行的算法定义并提取。姿势识别模块20执行算法以便具有鲁棒性地确定用户执行的移动是否是实际发出的命令。如果姿势识别模块20确定移动是有意的命令,其将基于存储器5中预分配的姿势字典,进一步确定它是哪条命令。
如图2中进一步图示的,用户3可以使用人类姿势指示14(诸如开/关、开始/停止、倒回/快进等等)来命令多媒体输出口设备8,而不需要使用电子遥控装置。多媒体输出口设备8可以是各种电子设备,诸如电视或CPU监视器。然而,在本实施例中,多媒体输出口设备8是电视机。
如图2中图示的,照相机30捕捉视场31中的图像。使用图像传感器2将当前捕捉的图像Ci电子地用信号通知给输入图像模块4以便由面部检测模块10处理。面部检测模块10确定视场31中的面部,分配以f1开始的面部区域11。基于这个被分配为f1的面部区域11,面部检测模块进一步提取并且分配图像热点区域12a、12b以便细化(refine)姿势指示14的识别。使面部检测模块提取并分配仅仅一个热点区域12a也是可能的。在这种情况下,甚至在更加改进的鲁棒性的情况下,使用单个热点区域12a来滤除不希望的运动。
在所示的实施例中,通过面部区域f1定义每个图像热点区域12a、12b,其中将第一图像热点区域12a分配到面部区域f1正好左边的区域并且将第二图像热点区域12b分配到面部区域f1正好右边的区域。在所示的实施例中,任一图像热点区域12a、12b的尺寸将依赖于面部区域f1的大小。面部区域f1由实质上在头顶以上的区域,以及实质上在检测的面部以下的区域来定义。在所示的实施例中,可将面部区域f1以及图像热点区域12a、12b的大小校准到更小或更大的尺寸以便更好地细化人类的姿势指示14的识别。
只要它们靠近检测的面部区域f1,则分配的热点区域12a、12b的位置可以是灵活的,并且可以容易地辨别热点区域12a、12b中捕捉的图像Ci。例如,正好在头部以下的分配的热点区域12a、12b区域不是良好的候选项,这是由于在该区域中身体图像将干扰手部图像。
图3是使用面部检测的图像热点提取方法的流程图,而图4图示了面部检测方法的视觉表示。首先,照相机30捕捉当前捕捉的图像Ci,其通过图像传感器2被转换为电信号。将该信号作为文件存储在存储器5中,使得其可首先被面部检测模块10处理。
面部检测模块10使用当前图像Ci运行面部检测算法13。面部检测算法13处理当前捕捉的图像文件Ci,检测视场31中的任何面部。如上文所述,面部检测算法13能够检测多个面部,并且分配面部区域(f1,f2,...fn)。
初始地,面部检测算法13从存储器5获得当前图像Ci作为输入文件。将识别的第一面部指定为面部区域f1。依据视场31内的面部的数目,算法将辨别其它面部区域,指定第二面部区域为f2...fn,其中n表示视场31内的面部的数目。如果算法未检测到面部,则面部检测模块10将返回存储器5并且使用新捕捉的图像Cn来重复面部检测算法13的操作。
在辨别了面部之后,面部检测模块10将分别地辨别并指定面部的左边区域和右边区域作为图像热点区域12a、12b。将图像热点区域12a、12b用作掩蔽(mask),以便滤除非热点区域内无意的姿势指示。一旦分配了图像热点区域12a、12b,则模块将产生输出文件。输出文件由矩形阵列组成,其与面部区域f1和图像热点区域12a、12b对应,所述图像热点区域12a、12b通过检测的面部区域f1的尺寸来调节大小。输出文件现在被存储回存储器5,使得其可被姿势识别模块20进一步处理。
图5是表示使用姿势识别控制媒体的媒体指示的流程图,而图6图示了姿势识别以及媒体控制的指示的视觉表示。
在将当前捕捉的图像Ci文件从面部检测模块10读取回存储器5中之后,姿势识别模块20然后运行姿势识别算法21。
使用也在存储器5中存储的先前捕捉的图像文件Ci-1,姿势识别算法21首先计算当前捕捉的图像Ci和先前捕捉的图像Ci-1之间的差Di的绝对值。姿势识别算法21还将侵蚀(erosion)操作应用于差Di以便首先去除小的区域,协助人类姿势指示14的更加细化的识别。
在所示的实施例中,使用cvErode函数来执行对差Di的侵蚀。cvErode函数使用特定的结构元素,该结构元素确定取得最小值的像素邻域的形状。虽然在所示的实施例中仅应用侵蚀函数一次,但在其它实施例中可将侵蚀函数应用于差Di若干次。
由于捕捉的图像Ci和Ci-1先前通过面部检测模块10被处理,并且被存储在存储器5中,所以每个捕捉的Ci和Ci-1包含分配的、提取的图像热点区域12a、12b。姿势识别算法21使用提取的图像热点区域12a、12b来掩蔽并过滤非热点区域中的移动。结果,姿势识别算法21关于非指定的图像热点区域中的运动来修改差Di,以建立运动历史图像(MHI)。使用运动历史图像(MHI)来检测运动团点(blob),并且姿势识别算法21的进一步操作确定这些姿势团点是否是实际的人类姿势指示14。
运动历史图像(MHI)在时间上量化并限定运动,以表示运动在图像序列期间怎样发生。在本发明中,姿势识别模块20检查并识别特定区域(尤其图像热点区域12a、12b)中的运动团点。
每个运动历史图像(MHI)具有由时间戳的特定的图像坐标x、y辨别并定义的像素。图像坐标x、y与在该像素中最后的运动有关。由于在图像热点区域12a、12b中检测到运动,姿势识别算法21修正运动历史图像(MHI)来创建结果运动团点的分层历史。
对于在图像热点区域12a、12b中检测到的所有运动团点,姿势识别算法21定位最大和最小的x、y像素坐标,并且表示最大值为lx、ly以及最小值为Sx、Sy。
使用运动历史图像(MHI)的最大和最小的x、y像素坐标,姿势识别算法21将首先确定ly和Sy之间的差是否大于第一启发式值T1(ly-Sy>T1)。如果该问题的答案为是,那么姿势识别算法21不将当前捕捉的图像Ci识别作为具有识别的姿势指示14。第一启发式值T1可以统计地或依据实验被确定,并且在安装多媒体控制系统1之前被实现为算法。如果不存在识别的姿势指示14,那么姿势识别算法21将停止处理Ci,并且以已经首先被面部检测模块10处理的新捕捉的图像Cn重新开始。
如果ly和Sy之间的差不大于第一启发式值T1,那么姿势识别算法21将移动至下一步骤,并且确定lx和Sx之间的差是否大于第二启发式值T2(lx-Sx>T2)。如果是,那么姿势识别算法21不将当前捕捉图像Ci识别为具有识别的人类姿势指示14,以新的捕捉图像Cn重新开始。否则,姿势识别算法21将确定x运动(lx-Sx)是否小于y运动(ly-Sy)。如果x运动小于y运动,那么姿势识别算法21将不识别当前捕捉的图像Ci中的姿势指示14,算法21将再次以新的捕捉图像Cn重新开始。
作为默认,如果姿势识别算法21有待辨别并识别当前捕捉图像Ci中的姿势指示14,但是在运动历史图像(MHI)中存在一些“足够大”的成分,那么姿势识别算法21将确定存在“具有手部运动”。“足够大”将是在系统1实施之前,统计地或通过实验确定的启发式阈值。
如果存在三个连续捕捉的具有识别的“具有手部运动”的图像,那么姿势识别模块10将通过媒体控制接口6,向多媒体输出口设备发出特定的命令。
该“具有手部运动”应该为控制到多媒体输出口设备8的特定命令的姿势指示14。关于在哪里识别“具有手部运动”,左边图像热点区域12a或右边图像热点区域12b,确定与“具有手部运动”有关的特定的控制命令。如上所讨论的,特定的控制命令是对特定图像热点区域12a、12b预分配的,或者可由用户3编程。
如果在三个连续捕捉的图像上识别出“具有手部运动”,则姿势识别模块20发送特定的命令。然后将该特定的命令发送至向多媒体输出口设备8中继对应电命令信号的媒体控制接口6。
将良好地定义用于传送的(deferent)姿势的所有姿势指示,在多媒体控制系统1中存储预分配的命令。然而,在使用之前用户3能够定义其自身的命令是可能的。因此,如果在右图像热点区域12b中的挥手是定义的用以开启多媒体输出口设备8的姿势,并且姿势识别算法21将挥手识别为右图像热点区域12b中的姿势指示14,那么将发信号通知多媒体输出口设备8开启。相反,如果在左图像热点区域12a中的挥手是定义的关闭多媒体输出口设备8的姿势,并且姿势识别算法21将左图像热点区域12a中的挥手识别为姿势指示14,那么将发信号通知多媒体输出口设备8关闭。
当建立运动历史图像(MHI)时存在两个实现方式,以便执行运动检测。在一个实现方式中,使用整个捕捉图像Ci来建立运动历史图像(MHI)。然而,在另一个实现方式中,仅使用热点区域12a、12b图像来建立运动历史图像(MHI)。当用户3静止时(即,非常小的或没有头部运动),任一实现方式将导致相同的结果。然而,如果用户3正在运动,则这些实现方式是不同的。
在所示的实施例中,分配的热点区域12a、12b与面部f1有关,并且面部f1可稍微移动。虽然在这些情况下运动检测可能准确,但是头部的移动将导致运动检测中的错误是可能的。如果使用全部图像来建立运动历史图像(MHI),则在分配的热点区域12a、12b中可能存在运动。然而,如果仅使用分配的热点区域12a、12b来建立运动历史图像(MHI),那么因为滤除了外部运动,细化检测是可能的。
此外,在仅分配一个热点区域12a的实施例中,需要更加强大的姿势识别算法来识别热点中的姿势以便实现更高的准确度,包括仅从分配的热点区域12a、12b建立的运动历史图像(MHI)。
上面描述的装置和方法可以用来控制任何交互多媒体输出口设备8,从而面部检测技术帮助定义并提取将运动的识别限制于那些图像热点区域12a、12b的图像热点区域12a、12b,以非常鲁棒性的方式通过人类的姿势向输出口设备发出命令控制。
可进一步开发多媒体控制系统1来包括开启富交互模块7的命令。
图7是表示使用面部检测与在设备显示器上成像的多媒体显示富交互的流程图,而图8图示了富交互的视觉表示。图9是应用于多媒体设备发送的图像信号的面部检测模块的流程图。
一旦开启,用户3可以使用富交互模块7,来从多媒体输出口设备8中提取图像信号用于在输入图像模块4中处理,非常类似如上文所描述的处理照相机图像信号。然而,发送自多媒体输出口设备8的图像信号包括元数据,其如果被请求,则可以随后在设备屏幕9上显示。
用户3可以使用与视频/图像信号集成的元数据,请求关于屏幕上的人的信息。用户可以通过指向屏幕来请求信息,尤其指向屏幕上的面部,该面部也使用面部检测模块10被检测到。
输入图像模块4通过面部检测模块10馈送媒体信号,面部检测模块10运行面部检测算法13以便以如上所描述的相同的处理图像信号的方式来识别设备屏幕9上的面部。面部检测模块检测屏幕上的媒体面部区域40,并且分配本质上与媒体面部区域40的尺寸匹配的单个图像热点区域41。
由于面部检测模块10向当前捕捉的图像Ci分配图像热点区域12a、12b,所以富交互模块7将在图像热点区域12a、12b中检测的运动与媒体屏幕上的特定点一对一地相匹配。
基本地,富交互模块7使用姿势识别模块20来确定姿势指示14在关于定制尺寸的图像热点区域12a、12b的何处出现。姿势识别模块20已经辨别了存在运动的特定的图像坐标x、y。移动的交汇(meet)与边界将与图像热点区域12a、12b的尺寸有关。富交互模块7将图像热点区域12a、12b与设备屏幕的尺寸相匹配,成比例地匹配二者。在图像热点区域12a、12b中捕捉的移动将具有相对于图像热点区域12a、12b的尺寸的定义的坐标。姿势识别模块20确定与任一图像热点区域12a、12b中的移动有关的图像坐标x、y。设备屏幕9还具有由设备屏幕9上的每个像素分配的媒体坐标。
由于媒体热点区域41覆盖媒体坐标的定义区域,所以富交互模块7将通过姿势指示14定义的图像坐标x、y相对于设备屏幕9上的像素匹配。如果图像坐标x、y位于由媒体热点区域41描述轮廓的媒体坐标区域内,那么富交互模块7命令多媒体输出口设备8在屏幕上显示与那个人40有关的元数据。
由于媒体信号包含元数据,所以富交互模块7可以过滤是否在设备屏幕9上显示信息44以及在设备屏幕9上显示什么信息44。信息44在元数据中详述,并且元数据将由屏幕上的像素区域定义。由于富交互模块7已经确定了姿势指示14相对于设备屏幕上的点在哪里,所以富交互模块7可以鲁棒性地确定在设备屏幕9上显示什么信息(如果有的话)。
在本发明的实施例中,富交互模块7将向多媒体输出口设备8提供命令,使得光标43出现在设备屏幕9上。
本发明通过以面部检测技术补充姿势识别而提供了优点,使得由人类的姿势发出的命令更加具有鲁棒性。
前述的说明了实践本发明的一些可能性。在本发明范围与精神内的许多其它实施例是可能的。因此,以上描述意图在于被视为说明性的而不是限制性的,并且本发明的范围由所附权利要求以及它们的等效物的全部范围给定。