利用可变场照明设备的对象检测和跟踪的制作方法_3

文档序号:8449256阅读:来源:国知局
ap”)程序214之前,修改从相机接收的数据信号(例如,以减少噪声或者重新格式化数据)。在一些实施例中,相机接口 206还可以将信号传输到相机,例如以激活或者停用相机、以控制相机设置(帧速率、图像质量、灵敏度等)等。可以例如响应于来自处理器202的控制信号而传输这种信号,转而可以响应于用户输入或者其它检测到的事件而生成该控制信号。
[0051]相机接口 206还可以包括光源(例如,光源108、110)可以连接到的控制器217、219。在一些实施例中,控制器217、219例如响应于来自执行mocap程序214的处理器202的指令而向光源供应操作电流。在其它实施例中,光源可以从外部电源供应(未示出)汲取操作电流,并且控制器217、219可以生成用于光源的控制信号,例如从而指示光源开启或关闭或者改变亮度。在一些实施例中,单个控制器可以用于控制多个光源。
[0052]定义mocap程序214的指令被存储在存储器204中,并且这些指令当被执行时对供应自连接到相机接口 206的相机的图像执行运动捕捉分析。在一个实施例中,mocap程序214包括各种模块,诸如对象检测模块222和对象分析模块224 ;再次,这些模块两者都是本领域中常规的和表征良好的。对象检测模块222可以分析图像(例如,经由相机接口206捕捉的图像)以便检测其中的对象边缘和/或关于对象定位的其它信息。对象分析模块224可以分析由对象检测模块222提供的对象信息,以便确定对象的3D位置和/或运动。可以在mocap程序214的代码模块中实现的操作的示例在下文中描述。存储器204还可以包括由mocap程序214使用的其它信息和/或代码模块。
[0053]显示器208、扬声器209、键盘210和鼠标211可以用于便于与计算机系统200的用户交互。这些部件可以具有一般常规设计,或者按照期望修改以便提供任何类型的用户交互。在一些实施例中,使用相机接口 206和mocap程序214的运动捕捉的结果可以被解译为用户输入。例如,用户可以执行使用mocap程序214分析的手势,并且这一分析的结果可以被解译为用于在处理器200上执行的一些其它程序(例如,网页浏览器、文字处理器或者其它应用)的指令。因此,通过说明的方式,用户可以使用向上或者向下的滑动姿势“滚动”当前显示在显示器208上的网页,使用旋转姿势增加或者减少来自扬声器209的音频输出的音量等等。
[0054]将领会的是,计算机系统200是说明性的,并且变化和修改是可能的。计算机系统可以以各种外形规格来实现,包括服务器系统、台式系统、膝上型系统、平板、智能手机或者个人数字助理等等。【具体实施方式】可以包括未在本文中描述的其它功能,例如有线和/或无线网络接口、媒体播放和/或记录能力等。在一些实施例中,一个或者多个相机可以内置于计算机中而非供应为分离部件。进一步地,可以使用仅计算机系统部件的子集来实现图像分析器(例如,实现为具有用于接收图像数据和输出分析结果的合适的I/o接口的执行程序代码的处理器、ASIC、或者固定功能的数字信号处理器)。
[0055]虽然本文中参照特定块来描述计算机系统200,但是要理解的是,是为了描述方便而定义了块而不是旨在暗示部件部分的特定物理布置。进一步地,块不需要对应于物理上相异的部件。在使用物理上相异的部件的程度上,部件之间的连接(例如,用于数据通信)可以按照期望是有线的和/或无线的。
[0056]由处理器202执行对象检测模块222可以使得处理器202操作相机接口 206以捕捉对象的图像并且通过分析图像数据将对象像素与背景像素区分开。图3A至图3C是根据本发明的各种实施例的可以获得的像素行的亮度数据的三幅不同的图表。虽然每幅图表示出了一个像素行,但是要理解的是,图像通常包含很多像素行,并且每行可以包含任何数目的像素;例如,HD视频图像可以包括各自具有1920个像素的1080个行。
[0057]图3A示出了用于像素行的亮度数据300,其中对象具有单个横截面,诸如通过手的手掌的横截面。区域302中的像素(对应于对象)具有高亮度,然而区域304和区域306中的像素(对应于背景)具有低得多的亮度。如可以看到的,对象的定位非常明显,并且容易标识对象边缘的定位(在308处、在310处)。例如,具有高于0.5亮度的任何像素可以被认为是对象像素,然而具有低于0.5亮度的任何像素可以被认为是背景像素。
[0058]图3B示出了用于像素行的亮度数据320,其中对象具有多个相异的横截面,诸如通过张开的手的手指的横截面。区域322、区域323以及区域324 (对应于对象)具有高亮度,然而区域326至区域329中的像素(对应于背景)具有低亮度。再次,简单的亮度阈值截止(例如,在0.5处)足以将对象像素与背景像素区分开,并且可以容易地探明对象的边缘。
[0059]图3C示出了用于像素行的亮度数据340,其中到对象的距离跨行变化,诸如两根手指朝着相机伸出的手的横截面。区域342和区域343对应于伸出的手指并且具有最高的亮度;区域344和区域345对应于手的其它部分并且略微较不明亮;这可能部分由于更远离、部分由于伸出的手指投射的阴影。区域348和区域349是背景区域并且比包含手的区域342至区域345暗得多。亮度阈值截止(例如,在0.5处)再次足以将对象像素与背景像素区分开。还可以执行对对象像素的进一步分析以便检测区域342和区域343的边缘,从而提供关于对象的形状的附加信息。
[0060]将领会的是,图3A至图3C所示的数据是说明性的。在一些实施例中,可能期望调整光源108、110的强度,使得在预期距离(例如,图1A中的A)处的对象将被过度曝光一即,很多(如果不是全部)对象像素将完全饱和至亮度水平1.0。(对象的实际亮度可能实际上更高。)虽然这也可能使得背景像素稍微更明亮,但是光强随着距离的Ι/r2衰减仍然导致对象和背景像素之间的容易区分,只要强度不被设置得过高以至于背景像素也接近饱和水平。如图3A至图3C所示,使用指向对象的照明创建对象和背景之间的强烈对比度,允许使用简单和快速的算法来区分背景像素和对象像素,这可能在实时运动捕捉系统中尤其有用。简化区分背景像素和对象像素的任务还可以为其它运动捕捉任务(例如,重构对象的位置、形状和/或运动)释放计算资源。
[0061]现在参照图4,其示出了根据本发明的实施例的用于标识图像中对象定位的过程400。过程400可以实现在例如图1A的系统100中。在块402处,光源108、110被开启。在块404处,使用相机102、104捕捉一个或者多个图像。在一些实施例中,捕捉来自每个相机的一个图像。在其它实施例中,从每个相机捕捉图像序列。来自两个相机的图像可以在时间上紧密相关(例如,在几毫秒内的程度上同步),使得来自两个相机的相关图像可以用于确定对象的3D定位。
[0062]在块406处,阈值像素亮度被应用于将对象像素与背景像素区分开。块406还可以包括基于背景像素和对象像素之间的转变点来标识对象边缘的定位。在一些实施例中,每个像素基于其是否超出阈值亮度截止而首先被分类为对象或者背景。例如,如图3A至图3C所示,可以使用在饱和水平0.5处的截止。一旦像素被分类,可以通过找到背景像素邻近于对象像素的位置来检测边缘。在一些实施例中,为了避免噪声伪影(artifact),可以要求边缘的两侧上的背景像素和对象像素区域具有某个最小尺寸(例如2、4或者8个像素)。
[0063]在其它实施例中,可以在不首先将像素分类为对象或者背景的情况下检测边缘。例如,Λβ可以被定义为邻近像素之间的亮度差,并且高于阈值(例如,依据饱和尺度为0.3或者0.5)的I Λ β I可以指示邻近像素之间从背景到对象或者从对象到背景的转变。(△ β的符号可以指示转变的方向。)在其中对象的边缘实际上在像素的中间的一些实例中,在边界处可能有具有中间值的像素。这可以例如通过计算像素i的两个亮度值来检测:β L = (|3i+|31-l)/2和|3R = (β?+β?+1)/2,其中像素(1-1)在像素i左侧,而像素(i+1)在像素i右侧。如果像素i未在边缘附近,I β L - β R|通常将接近零;如果像素在边缘附近,则I f3L_ f3R|将更接近1,并且关于I f3L - f3R|的阈值可以用于检测边缘。
[0064]在一些实例中,对象的一个部分在图像中可以部分地遮挡另一个部分;例如,在手的情形下,手指可以部分地遮挡手掌或者另一根手指。一旦已经消除了背景像素,还可以基于亮度的更小但明显的改变来检测出现在对象的一个部分部分地遮挡另一个部分处的遮挡边缘。图3C示出了这种部分遮挡的示例,并且遮挡边缘的定位是显而易见的。
[0065]检测到的边缘可以用于众多用途。例如,如上文所述,如由两个相机所查看到的对象边缘可以用于确定对象在3D空间中的近似定位。对象在横向于相机的光学轴线的2D平面中的位置可以从单个图像确定,并且如果知道相机之间的间距,来自两个不同相机的时间相关图像中的对象位置之间的偏移(视差)可以用于确定到对象的距离。
[0066]进一步地,可以基于来自两个不同相机的时间相关图像中的对象边缘的定位来确定对象的位置和形状,并且可以从对连续图像对的分析来确定对象的运动(包括关节(articulat1n)) ο在2012年3月7日提交的共同未决美国序列号13/414,485 (其整体公开内容通过引用并入于此)中描述了可以用于基于对象边缘的定位来确定对象的位置、形状以及运动的技术的示例。获得本公开内容的本领域技术人员将认识到,还可以使用用于基于关于对象边缘的定位的信息来确定对象的位置、形状以及运动的其它技术。
[0067]在一些实施例中,可以以脉冲模式(而非连续开启)操作光源108、110。例如,如果光源108、110在脉冲中比在稳态操作中能够产生更明亮的光,则这可以是有用的。图5示出了其中光源108、110以规律间隔脉冲开启的时间线,如在502处所示。可以在与光脉冲一致的时间打开相机102、104的快门以便捕捉图像,如在504处所示。因此,在正在捕捉图像的时间期间,可以明亮地照射关心的对象。
[0068]在一些实施例中,光源108、110的脉冲可以用于通过比较光108、110开时拍摄的图像和光108、110关时拍摄的图像,进一步增强关心的对象和背景之间的对比度。图6示出了其中光源108、110以规律间隔脉冲开启的时间线,如在602处所示,同时在604处所示的时间开启相机102、104的快门以便捕捉图像。在此情形下,光源108、110每隔一幅图像是“开”的。如果关心的对象比背景区域显著更接近光源108、110,则对于对象像素,光强差将比对于背景像素更强烈。因此,比较连续图像中的像素可以帮助区分对象像素和背景像素。
[0069]图7是根据本发明的实施例的用于使用连续图像来标识对象边缘的过程700的流程图。在块702处,关闭光源,并且在块704处捕捉第一图像(A)。接着,在块706处,打开光源,并且在块708处捕捉第二图像(B)。在块710处,例如通过从图像B中对应像素的亮度值减去图像A中每个像素的亮度值,计算“差值”图像B-A。由于在光开时捕捉了图像B,预期B-A将对于大多数像素是正的。
[0070]在块712处,可以将阈值应用于差值图像(B-A)以便标识对象像素,其中高于阈值的(B-A)与对象像素关联而低于阈值的(B-A)与背景像素关联。接着,如上文所述,可以通过标识对象像素在何处邻近于背景像素,定义对象边缘。如上文所述,对象边缘可以用于诸如位置和/或运动检测之类的目的。
[0071]如本文所描述的基于对比度的对象检测可以应用在其中预期关心的对象比背景对象显著更接近(例如,一半的距离)光源的任何情况下。一个这样的应用涉及将运动检测用作用户输入以便与计算机系统交互。例如,
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1