改进的手势的识别的制作方法_2

文档序号:8269308阅读:来源:国知局
")、DSP( "数字讯号处理器")或任何其它的电子可程序化逻辑装置实施。控制器210可 使用赋能硬件功能的指令来实施,例如通过使用在通用或专用处理器中的可执行计算机程 序指令,其可被储存在计算机可读取储存媒体(磁盘、存储器等)240以由此种处理器执行。 控制器210被设置成自存储器240读取指令并执行这些指令来控制计算装置100的运作。 存储器240可使用用于计算机可读取存储器例如ROM、RAM、SRAM、DRAM、CMOS、FLASH、DDR、 SDRAM的任何通常已知技术或一些其它存储器技术来实现。存储器240通过控制器210被 用于不同目的,其中之一是用于为计算装置200中的各种软件模块储存应用程序数据和程 序指令250。这些软件模块包括实时操作系统、用户界面220的驱动程序、应用程序处理器 以及各种应用程序250。应用程序是一组指令,当由控制器210执行时,控制计算装置200 的运作。应用程序250可以包括讯息应用程序,如电子邮件、浏览器应用程序、媒体播放器 应用程序,以及其它各种应用程序250,如语音通话、视频通话、文件阅读和/或文件编辑的 应用程序、实时讯息应用程序、日历应用程序、控制面板应用程序、一个或更多的视频游戏、 记事本应用程序、语音通话应用程序、短讯服务应用程序、定位应用程序。
[0057] 计算装置200还包括用户界面220,其在图1A和图1B中的计算装置中由显示器 120和键130、135组成。
[0058] 计算装置200还包括射频接口 230,其适于使得计算装置通过使用不同的无线 电频率技术通过无线电频带而与其它装置通讯。这种技术的例子是IEEE 802. 11、IEEE 802. 11s和Bluetooth?:,,可在计算装置100实现的无线电技术的其它示例有W-CDMA、GSM、 UTRAN、LTE、和 NMT 等。
[0059] 计算装置200还配备有摄影机260。摄影机260是数字摄影机,被配置成通过将影 像记录于电子影像传感器来取得(未绘示)视频或静止影像。
[0060] 数字摄影机260的分辨率通常会被将光线转换成离散讯号的影像传感器(通常 是CCD或CMOS传感器芯片)所限制。传感器是由基本上计数撞击传感器的光子数量的大 量受体所组成。在给定点时传感器上的影像越亮,该像素读出的值越大。影像中得到的像 素数量决定了它的"像素数"。例如,640X480的影像具有307, 200像素或约307千像素 (kilopixels) ;3872x2592 的影像具有 10, 036, 224 像素或者为约 10 兆像素(megapixel)。 [0061] 摄影机260是配置成拍摄数字影像或图片。有许多不同的方式可做到这点。在称 为单拍的方式中,摄影机260的传感器(未绘示)被暴露于通过摄影机镜头的光线(图中 未明确绘示)。单拍捕捉系统使用一个CCD (电荷耦合装置)或通过分束器曝光于同一影像 的三个独立的影像传感器(分别用于红色、绿色和蓝色三个主要添加色)。
[0062] 摄影机260最好是能够作为数字视频摄影机。数字视频摄影机通常采用两种不 同的影像捕捉格式之一:隔行扫描和非隔行扫描/连续扫描。隔行扫描摄影机以交替的线 组记录影像:扫描奇数行,然后扫描偶数行,然后再次扫描奇数行等等。一组奇数或偶数行 称为"场",两场相反奇偶性的连续配对称为帧。非隔行扫描的摄影机将每个帧记录为独特 的,在同一时刻及时捕捉所有的扫描线。因此,每秒钟对于相同数目的帧,隔行扫描的视频 捕捉以连续扫描视频的两倍频率取样场景动作。连续扫描摄影机通常会产生稍微较清晰的 影像。然而,动作可能不如使用每秒50或59. 94场的隔行视频顺畅,尤其是如果它们采用 每秒24巾贞的影像标准。
[0063] 数字视频摄影机260提供数字视频流265,也称为作为数字视频。数字视频包括 以固定速率快速连续显示的正交位图数字影像的序列或流。在视频的情境中,这些影像被 称为帧。我们以每秒帧数(FPS)来测量帧所显示的速率。由于每个帧是正交的位图数字影 像,因此它包括像素栅格。如果它的宽为W像素而高为H像素,我们称巾贞的大小为WxH。像 素只有一种属性,即它们的颜色。像素的颜色是由固定的位数表示。位数越多可以再现越 多的颜色的微妙变化。这就是所谓的视频的色彩深度(CD)。范例视频的持续时间(T)为1 小时(3600秒),帧大小为640 X 480 (WxH),色彩深度为24位,帧速率为25fps。这个范例视 频具有以下属性:每帧像素=640*480 = 307, 200 ;每帧位数=307, 200*24 = 7, 372, 800 =7. 37Mbits ;位速率(BR) = 7. 37*25 = 184. 25Mbits/sec ;视频大小(VS) = 184Mbits/ sec*3600 秒=662, 400Mbits = 82, 800Mbytes = 82. 8Gbytes。在一个实施例中,摄影机 260被设置成在每秒8帧的帧速率或16、24、32或更高的帧速率的任何一者运作。
[0064] 摄影机260被可操作地连接到控制器210,以提供视频流265 (即捕捉的影像序 列)给控制器,用于进一步处理,可能用于及/或根据应用程序250中的一或几个。
[0065] 在一个实施例中,摄影机260是外部摄影机或影像串流来源。
[0066] 提及"计算机可读取储存媒体"、"计算机程序产品"、"有形实施的计算机程序"等 或"控制器"、"计算机"、"处理器"等应被理解为不仅包括具有不同体系结构的计算机,如单 /多处理器架构和依序(Von Neumann)/并行架构,亦包括专门电路,如场可程序化门阵列 (FPGA)、应用程序专门电路(ASIC)、讯号处理装置和其它装置。提及计算机程序、指令、代码 等应被理解为包括可程序化处理器的软件或固件,例如硬件装置的可程序化内容,不论是 处理器的指令或是固定功能装置、门阵列或可程序化逻辑装置等的配置设定。
[0067]图3绘示如上所述的计算机可读取媒体的示意图。在本实施例中,计算机可读取 媒体30是记忆卡,如通用串行总线(USB)的卡。USB卡30包括具有接口的壳体33,例如连 接器34和记忆芯片32。记忆芯片32是闪存,也就是可电性抹除和重新程序化的非挥发性 数据储存装置。记忆芯片32是以指令31程序化,当加载到诸如处理器之控制器时(可能 通过接口 34),执行根据上述揭示的实施例的方法或程序。USB卡被配置成连接至诸如根据 图1之终端的读取装置且由该读取装置读取,以便将指令加载到控制器。应当指出的是, 计算机可读取媒体也可以是其它的媒体,如光盘、数字视频光盘、硬盘或其它常用的储存技 术。指令也可经由无线接口自计算机可读取媒体下载以加载到控制器。
[0068] 下面将参照附图揭示一种改善的追踪对象的方式。将聚焦于影像数据进行范例说 明,但应该清楚的是,该处理是部分或全部执行于包括控制器的计算装置,如参考图1和2 于上文所揭示,或通过执行存储在计算机可读取媒体上的指令执行,如参考图3之揭示。 [0069] 图4A绘示被追踪对象的影像,在本例中是手。影像是由摄影机(图4中未绘示, 但在图2中标号为260)提供给计算装置(在图4中未绘示,但在图2中标号为200)的控 制器(图4中未绘示,但在图2中标号为210)的影像串流(在图4中未绘示,但在图2中 标号为265)的一部分。影像串流可由外部摄影机或诸如因特网上之串流视频的另一影像 串流来源提供给控制器(210)。
[0070] 为了能够进行有效地对象追踪,重要的是该影像包含足够的细节。因此,相机的分 辨率是重要的。对于远离相机的对象,分辨率就变得更加重要,对于长距离追踪,具有更高 分辨率的摄影机是优选的。对于短距离追踪,低分辨率的相机就足够了。使用本文所揭示 的方式,160X120的影像分辨率已被证明是足够能够成功地追踪对象。
[0071] 此外,为了准确和精确追踪,商巾贞速率是优选的,因为这允许详细的对象追踪。这 种高帧速率对于追踪方法的性能提出很高的要求,因为每个追踪操作必须在收到下一帧之 前完成。本文所揭示的方式已被证明使用高于30fps和低至8fps的巾贞速率能够成功地追 踪对象。
[0072] 常见的影像尺寸是视频图形阵列(VGA)格式,像素为480X640,即总共为307200 像素。这样的数据集对执行大量的计算是不切实际的,因此控制器被设置成通过确定影像 中的轮廓线来减少影像的数据集,藉此过滤对象内的所有点或像素。这样的轮廓线可能会 利用边缘检测确定。
[0073] 边缘检测是影像处理、机器视觉和计算机视觉的知名工具,旨在识别数字影像中 影像亮度急剧变化的点,或者更正式的说法是具有不连续性。一种用于边缘检测的常用方 法是Canny边缘检测器,其是使用多级算法来检测影像中的广泛的边缘范围的边缘检测运 算子。
[0074] 在这个例子中,控制器被配置成使用Canny运算子确定轮廓线,藉此产生影像或 第一画面(第一是指当前正被处理)的Canny线。图4B绘示图4A中的影像产生的轮廓线 CL的视图。正如可以看到的,影像的数据集已经大大降低了。
[0075] 为了提高轮廓线确定的速度,控制器可以配置以使用Canny运算子来利用速度的 增加。这将导致较低的精确度,但提高了处理速度。降低的精确度已被证明有较小的后果。
[0076] 应该指出的是,存在有检测用于产生轮廓线的边缘的其它方式且为本发明范围的 一部分。
[0077] 为了进一步减少数据集,控制器被配置以过滤掉静止的所有轮廓线。(轮廓)第一 影像的轮廓线CL与影像串流中的前一影像的轮廓线进行比较,以确定是否有轮廓线的覆 盖或匹配。此类匹配轮廓线代表静止的对象且将被过滤掉,藉此进一步减少影像的数据集。 图4C绘示所有静止的轮廓线被过滤掉后的手的轮廓线CL。
[0078] 为了进一步减少数据集,控制器被配置成过滤出不太可能成为被追踪对象的一部 分的轮廓线。
[0079] 为了确定轮廓线不是对象的一部分,将轮廓线的属性与对象的假定或已知属性进 行比较。
[0080] 例如,如果是要追踪矩形对象,所有环状或圆形的轮廓线会被过滤,因为它们不太 可能是矩形对象的一部分。类似地,如果是要追踪矩形的对象,所有圆形或弯曲的线会被过 滤掉。
[0081] 为了能够过滤某些轮廓线,控制器可被设置成根据该轮廓线的曲率过滤掉该轮廓 线。根据待过滤的对象,曲率可由设计者设定。如果在过滤圆的追踪对象的情况下,所有曲 率低于曲率阈值以下的轮廓线会被过滤掉,例如1或5或1至5度。
[0082] 在过滤矩形的追踪对象的情况下,所有曲率高于一曲率阈值的轮廓线会被过滤 掉,例如1或5或1至5度。
[0083] 曲率可以根据下文揭示的描述符而确定或通过比较轮廓在线的两个或更多个点 的曲率。
[0084] 为了过滤出矩形对象,轮廓线没有角度的所有对象可能会被过滤掉。
[0085] 要过滤不是手的一部分的对象,透过比较轮廓线的两侧上的颜色,控制器可配置 以确定轮廓线不是手的一部分。如果轮廓线两侧的颜色都不是皮肤的颜色,轮廓线不是
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1