技术领域\n本发明涉及数字图像处理和计算机视觉技术领域,特别是涉及一种基于手持设备运动检测的实时人机交互方法和系统。\n背景技术\n目前,基于视频的运动检测技术得到越来越广泛的应用,研究人员提出了很多针对目标具体运动的检测方法,但到目前为止还没有任何一种已有的方法能够普适的解决不同分辨率和不同拍摄质量(特别是低分辨率和低质量采集设备)的视频中的运动检测问题。从运动检测的发展而言,主要包括对视频中每一帧的部分区域运动的检测和对于图像背景的全局运动或摄影机运动检测两方面。前者广泛应用于视频压缩和发布领域,后者主要应用于视频检索领域。而MV(MotionVector,运动矢量)提取技术因拥有亚像素级的精确性、灵活的搜索范围和快速的算法,特别是芯片级的硬件优化支持等方面优异的性能,已经成为两者,特别是前者中最具代表性和部分标准化的技术,因此运动矢量提取技术有可能在手持设备运动检测的方面得到很好的应用。\n现在,以手机、PDA(Personal Digital Assistant,个人数字助理)为代表的手持设备的市场规模在迅速增长。与之相应的,手持设备的配置高端化和应用局限性之间的矛盾日益突出。具体来说,随着大尺寸显示屏、照相机和无线网络接入装置的广泛配置,用户对诸如图像浏览、互联网接入和游戏等应用的呼声提高,而手持设备受制于输入数据自由度低(通常是各种机械设备,诸如键盘、指点杆等)、显示精度有限(一般屏幕尺寸低于2.5英寸,分辨率不高于320×240像素)、自然性差、友好性欠缺的用户交互方式,使得上述应用的舒适性和智能性难以保证。因此需要一种利用现有手持设备的硬件,以控制屏幕目标为目的的更为自然、直观、易用的手持设备交互方法。考虑到用户控制手持设备运动的自然性和多数手持设备具备视频采集装置(摄像头),通过手持设备实时采集的视频判断手持设备的运动,进而理解用户操作的指令来完成特定应用的交互(如图片浏览、网页浏览、游戏控制),是一种可行的途径。\n现在,基于手持设备实时采集的视频进行运动检测的方法有以下几种:\n一种方法通过分析机器人携带摄像机的视频获得机器人的运动信息,通过SIFT特征点和扩展Kalman滤波提取信息,但因技术复杂且需实时获得对控制机器人机械运动至关重要的深度视觉信息,目前仅能通过手工标记初始化进行且在特定场景(如均匀背景)下生存率较低。\n另一种方法通过手持设备采集视频,分析场景中的运动信息,用于虚拟现实的场景融合,目前尚需结合手持辅助性的栅格模板帮助理解二维运动信息。\n再一种方法则侧重于结合手持设备的视频分析运动信息,辅助控制GPS导航图,这一应用在采用特征点的检测技术和实时性实验数据等方面还没有令人满意的结果。\n因此,基于手持设备实时采集的视频进行运动检测是一个特殊的运动检测问题,相关的方法目前尚不能很好的适应不同场景,或因需辅助设备,或未面向用户的日常应用,或缺乏实用性的支持;另一方面基于运动矢量提取的手持设备运动检测困难也很多,主要表现在:\n(1)手持设备提供的采集视频质量较差。目前市场上手持设备配置的摄像头感光元件品质相对较低,受光照条件制约很大,其静态感光性能低于200M像素,感光面积低于1/4英寸;采集的视频,其图像分辨率远低于普通摄影机,一般为320×240像素或352×288像素;帧率低于普通摄影机,一般为10帧-15帧每秒,图像边缘畸变,在快速运动下模糊性显著;很难根据部分特征点获取运动信息,必须充分利用大部分图像信息。\n(2)受限于视频的低分辨率和图像的边缘畸变,搜索范围局限,而插值提升图像质量则置信度很低,因此,直接应用传统的基于运动矢量的方法很难保证有效性和真实性。\n(3)手持设备的处理能力有限,特别是多任务的状态下工作性能无法保证,限制了算法的复杂度;必须限制局部运动矢量搜索的范围和统计方法的复杂性;另一方面,设定的手持设备应用一般为实时应用,特别是在游戏控制的要求下,对实时性和操作的检测准确性都有很高要求,全局运动矢量的必须快速、准确。\n(4)必须提供将获取的运动信息与应用的交互自然匹配的指令集。\n由于上述四个方面的困难,目前在广播级的视频检索和视频压缩中的基于运动矢量的检测技术无法直接有效地为手持设备提供实时、精确的运动信息和交互方式。\n发明内容\n本发明实施例要解决的问题是提供一种基于手持设备运动检测的实时人机交互方法和系统,以克服现有技术中手持设备数据输入方式受限和用户交互自然性差的缺陷。\n为达到上述目的,本发明实施例的技术方案提供一种基于手持设备运动检测的实时人机交互方法,包括以下步骤:\nA、将来自手持设备采集的视频进行预处理,获取分块图像帧,所述预处理包括:\nA1、将来自手持设备采集的视频分解为相邻的图像帧,形成独立的静止图像集;\nA2、将彩色图像数据转化为灰度图像数据;\nA3、将所述灰度图像划分成以正方形为单位的图像块;\nB、离线训练有效运动矢量分类器,具体包括如下步骤:\nB1、从训练视频中选取多组参考图像块,并手工标定其参考运动矢量和有效性;\nB2、对所述多组参考块进行运动矢量搜索,并根据公式\n\n确定块的搜索残差,其中,RSSD为均方误差,H(i,j)为块内位置(i,j)像素的灰度值;\nB3、根据所述均方误差RSSD和候选块的运动矢量的最小均方误差Rmin,拟合为公式\n\n所示的二次曲线,其中,XΔ=X-MVX,YΔ=Y-MVY,(CX,CY)和(CX′,CY′)为系数;\nB4、根据公式\n\n获取参数C,其中,\n\nB5、由所述参数C和Rmin作为门限值生成有效运动矢量分类器;\nC、对所述分块图像帧的各块进行运动矢量搜索并通过有效运动矢量分类器进行标记,获取有效的局部运动矢量,具体包括:\n根据所述参数C和Rmin判断所述局部运动矢量是否有效,如果C<TC或Rmin>TR或Rmin>αC+β,则所述局部运动矢量无效,否则所述局部运动矢量有效,其中TC为C的门限,TR为Rmin的门限,Rmin和C在由参数α和β确定的直线分割的半平面一侧;\n根据所述判断结果,标定所述各块的局部运动矢量的有效性;\nD、根据所述局部运动矢量,获取全局运动矢量,具体包括:\nD1、根据公式\n其中\n将当前帧的局部运动矢量分量分别映射为对应坐标的直方图,其中,NX和NY分别为局部运动矢量搜索范围的边界,为运动矢量分类的有效性标志;\nD2、根据公式\n\n将所述直方图变换为加权直方图,其中,WX和WY分别为在X和Y方向上的直方图加权系数,以选取有效的非零矢量;\nD3、根据公式\n其中n∈[-N,N],\n对所述加权直方图进行高斯滤波,形成对应于全局运动矢量的主峰;\nE、根据所述全局运动矢量和对应的交互指令进行人机交互。\n其中,在步骤A1中,所述静止图像集保存当前输入的图像帧和前一图像帧。\n其中,在步骤A2中,根据公式\n Y(i,j)=0.299R(i,j)+0.587G(i,j)+0.114B(i,j)\n将彩色图像数据转化为灰度图像数据,其中,Y(i,j)为变换后灰度图像帧中位置(i,j)对应像素的灰度值,R(i,j)为图像帧中位置(i,j)对应像素的红彩色分量,G(i,j)为图像帧中位置(i,j)对应像素的绿彩色分量,B(i,j)为图像帧中位置(i,j)对应像素的蓝彩色分量。\n其中,步骤D3中所述公式产生的高斯滤波器为:\n h[z]=0.0545z2+0.2442z+0.4026+0.2442z-1+0.0545z-2。\n一种基于手持设备运动检测的实时人机交互系统,所述系统包括:\n预处理装置,用于将来自手持设备采集的视频进行预处理,获取分块图像帧,具体包括:\n视频分解单元,用于将来自手持设备采集的视频分解为相邻的图像帧,形成独立的静止图像集;\n灰度变换单元,用于将彩色图像数据转化为灰度图像数据;\n图像分割单元,用于将所述灰度图像划分成以正方形为单位的图像块;\n有效运动矢量分类器训练装置,用于对传统运动矢量的搜索结果进行分类,选取能够反映真实的手持设备运动的有效运动矢量,具体包括:\n参考图像块标定单元,用于从训练视频中选取多组参考图像块,并手工标定其参考运动矢量和有效性;\n运动矢量搜索单元,用于对所述多组参考块进行运动矢量搜索,并根据公式\n\n确定块的搜索残差,其中,RSSD为均方误差,H(i,j)为块内位置(i,j)像素的灰度值;\n拟合单元,用于根据所述均方误差RSSD和候选块的运动矢量的最小均方误差Rmin,拟合为公式\n\n所示的二次曲线,其中,XΔ=X-MVX,YΔ=Y-MVY,(CX,CY)和(CX′,CY′)为系数;\n参数获取单元,用于根据公式\n\n获取参数C,其中,\n\n有效运动矢量分类器生成单元,用于由所述参数C和Rmin作为门限值生成有效运动矢量分类器;\n有效的局部运动矢量获取装置,用于对所述分块图像帧的各块进行运动矢量搜索并通过有效运动矢量分类器进行标记,获取有效的局部运动矢量,具体包括:\n有效性判断单元,用于根据所述参数C和Rmin判断所述局部运动矢量是否有效,如果C<TC或Rmin>TR或Rmin>αC+β,则所述局部运动矢量无效,否则所述局部运动矢量有效,其中TC为C的门限,TR为Rmin的门限,Rmin和C在由参数α和β确定的直线分割的半平面一侧;\n有效性标定单元,用于根据所述判断结果,标定所述各块的局部运动矢量的有效性;\n全局运动矢量获取装置,用于根据所述局部运动矢量,获取全局运动矢量,具体包括:\n局部运动矢量映射单元,用于根据公式\n其中\n将当前帧的局部运动矢量分量分别映射为对应坐标的直方图,其中,NX和NY分别为局部运动矢量搜索范围的边界,为运动矢量分类的有效性标志;\n直方图加权单元,用于根据公式\n\n将所述直方图变换为加权直方图,其中,WX和WY分别为在X和Y方向上的直方图加权系数,以选取有效的非零矢量;\n高斯滤波单元,用于根据公式\n其中n∈[-N,N],\n对所述加权直方图进行高斯滤波,形成对应于全局运动矢量的主峰;\n人机交互装置,用于根据所述全局运动矢量和对应的交互指令进行人机交互。\n与现有技术相比,本发明的技术方案具有如下优点:\n本发明通过用户控制设备运动,手持设备通过对所拍摄视频分析,准确地分析二维全局运动矢量,理解设备的运动,进而完成确定操作的人机交互方法。本发明对用户具备自然性、易懂性,可完成实时、精确的交互式应用,适合多种具备视频采集功能的手机、PDA等手持设备。\n附图说明\n图1是本发明的一种基于手持设备运动检测的实时人机交互方法的流程图;\n图2是图1中预处理过程的流程图;\n图3是图1中全局运动矢量获取过程的流程图。\n具体实施方式\n下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。\n本发明的一种基于手持设备运动检测的实时人机交互方法的流程如图1所示,包括如下四个部分:(1)离线训练有效局部运动矢量分类器和全局运动矢量滤波器;(2)实时通过手持设备视频采集装置获取视频;(3)在线视频分析,搜索局部运动矢量,提取全局运动矢量进而理解手持设备运动信息;(4)基于测量得到的手持设备的运动信息和对应的交互指令完成特定应用的交互。发明选择视频的运动矢量分析为基础,进行局部运动矢量的有效性分类器的训练和全局运动矢量滤波器的调整,根据训练所得分类器对视频进行有效的局部运动矢量提取,根据调整所得的全局运动矢量滤波器过滤提取到的有效局部运动矢量获得准确的全局运动信息,进而获得手持设备的运动,并以此为依据,对照预先定义好的交互指令集完成交互。发明选择以运动矢量为基础,并进行分类和滤波的特点在于:\n1)大多数的手持设备在三维空间内交互操作反映在视频中是二维的运动,而图片浏览、网页浏览和游戏控制等应用中的目标二维移动是最为频发控制方式,且在交互动作的实时性和精确性方面的要求很高。因此通过识别手持设备在视频中的二维运动进行交互是一种十分自然的方式。\n2)视频的运动矢量信息是建立在视频中的目标在相邻帧之间满足二维的光流运动这一假设上的,即目标在相邻帧的短时间隔内的亮度和色彩都不发生改变。运动矢量即为通过匹配相邻帧中亮度或色彩相同的块而获得的匹配块间的相对位移矢量。于是通过确定运动矢量可以获得采集装置视野内物体在相邻帧(即该时间间隔内)的二维运动;如果视野内的物体是静止的,进而确定采集装置的相对二维运动。\n3)检测手持设备的视频采集装置的二维运动可以利用视野内的全部信息,通过本发明的分类和滤波,可以提取出有效的局部运动矢量和真实的全局运动矢量,可有效的抵御手持设备的视频采集装置因光照条件、感光元件质量和分辨率等不利条件,实时获取精确的运动信息,特别适用于在各种环境条件和各种中低端配置的手持终端应用。\n4)通过二维的全局运动矢量易于定义二维的交互指令。\n图1中预处理过程的流程如图2所示,预处理部分是将来自手持设备采集的视频进行处理,提供局部运动矢量搜索的数据准备。\n目前主流的手持设备以手机和PDA为主,其上配置的视频头一般为CMOS部件,提供照片拍摄和视频采集的功能,感光元件一般低于200万像素。限于处理能力,不同的手持设备提供的拍摄视频一般为分辨率QVGA(320×240像素)或CIF(352×288像素),帧率则最高为15帧每秒。因此在我们的系统设定为处理典型的手持设备视频分辨率320×240和10帧每秒的未经压缩处理的原始视频的装置。面对未来更为高端的视频采集装置来说,则可以通过降低采样的方式进行处理,则在有效的提供交互功能的同时进一步节省系统资源。\n视频为从采集设备输入的图像帧的序列,首先在预处理部分分解为相邻的图像帧,形成独立的静止图像集。限于手持设备的处理能力,在本发明的装置中仅缓存当前输入的图像帧和前一图像帧进行运动检测。\n对输入为彩色图像帧首先进行灰度变换,依据式(1)将彩色图像数据转化为灰度图像数据:\nY(i,j)=0.299R(i,j)+0.587G(i,j)+0.114B(i,j)(1)\n式(1)中R(i,j),G(i,j),B(i,j)分别表示图像帧中位置(i,j)对应像素的红,绿,蓝彩色分量,而Y(i,j)则为变换后灰度图像帧中位置(i,j)对应像素的灰度值。经过灰度变换后的图像为320×240像素,每像素用8bit灰度值表示。\n为了进行运动矢量的搜索,还要对所得灰度图像进行块划分,划分的单位为正方形的图像块。这里采用16×16像素为划分标准,将每帧灰度图像划分为300个块以便后续的运动矢量搜索的进行。\n图1中还包括离线有效运动矢量分类器的训练过程,该过程包括:\n基于块匹配的传统运动矢量搜索是通过最小化当前帧与前一图像帧之间块的残差实现的。但在分辨率较低的手持设备视频中,由于每帧包含的块相对较少,处于靠近边缘处的块可搜索的范围更少,因此使用传统搜索方法所得的运动矢量不能确保反映视野内目标的真实运动。特别是在快速运动的背景,大面积均匀纹理的区域和手持设备抖动的条件下结果更加恶化。本发明对传统运动矢量的搜索结果进行分类,从中选取能够反映真实的手持设备运动的运动矢量,称为有效运动矢量以便后续处理。\n本发明假定包含有效运动矢量的块包含以下两个特征:\n对应于该块搜索结果的运动矢量MV(i,j)=(MVX,MVY)的最小残差Rmin应最小化;\n该块与前一图像帧内其他的候选块间的残差应远大于Rmin。\n基于这两个特征,本发明通过下述原理确定训练器的参数。\n从大量的训练视频中随机的选取1000组参考块,并手工标定其参考运动矢量MV和有效性。\n对这1000组参考块采用传统的钻石搜索算法进行运动矢量搜索,并采用均方误差准则(如式(2),其中H(i,j)表示该块内位置(i,j)像素的灰度值)确定块的搜索残差;每个搜索块可以得到13处候选的运动矢量,分别对应13组均方误差RSSD,其中最小值记作Rmin。\n\n记RSSD为候选运动矢量(X,Y)的函数,则上述各值可拟合为式(3)中的二次曲线:\n其中XΔ=X-MVX,YΔ=Y-MVY,\n,其中(3)\n上述式(3)中的系数(Cx,CY)和最小二乘法进行曲线拟合得到,式(3)中两式分别代表两种椭圆轴方向,相差45°,两式计算所得RSSD之和EF和较小的一方选做有效运动矢量分析,如式(4)。于是Rmin和(Cx,CY)、中较小的一组将联合反映前文有效运动矢量具备的两个特征。\n\n为更为明确地精简参数,这里定义参数C为:\n\n基于上述参数C和Rmin的有效运动矢量分类器即为两个参数的门限。更确切的说,本发明定义的分类器由4个参数TR,Tc,α,β构成。如果一个运动矢量无效,则Rmin过小,小于门限TR;C过大,超过门限Tc;\n或者居于由Rmin和C的某个线性划分的平面一侧。反之即为有效,如式(6)所示,其中,TC、TR、α、β均为通过训练器获得的约束C和Rmin的门限;TC为C的门限,TR为Rmin的门限,而依据线性分类器的意义,Rmin和C应在由参数α和β确定的直线分割的半平面一侧。\n\n通过手工标定的1000组运动矢量的有效性,进行聚类获得上述4个分类器的参数,完成训练。\n图1中局部运动矢量的搜索和分类过程包括:\n通过预处理后的分块图像帧对各块进行运动矢量搜索并通过上述有效运动矢量分类器进行标记,仅保留有效的运动矢量。\n受限于手持设备的采集装置的光学特性,同时也为降低搜索的运算量,本发明的搜索块选取靠近画面中心的部分,舍弃边缘块,并对集中程度做相应调整。\n图1中全局运动矢量获取过程的流程如图3所示,包括以下步骤:\n限于交互应用的是手持设备(即为其上的视频采集装置)的运动特征,因此需要通过一定的统计手段从帧内的块运动矢量得到全局运动矢量。本发明采用基于局部运动矢量直方图的级联多模式全局矢量提取框架,其主峰将对应所需的全局运动矢量,框图如图3所示。具体步骤如下:\n将当前帧的局部运动矢量分量分别映射为对应坐标(X坐标和Y坐标)的直方图,如式(7):\n其中\n其中NX和NY分别表示局部运动矢量搜索范围的边界(像素),J(MV[i,j])为上述运动矢量分类的有效性标志。\n在出现均匀背景时,有效运动矢量将出现很多0矢量,从中抽取的全局矢量将被集中为0,从而无法反映真实运动。为提高置信度,以式(8)的方式变换为加权直方图的形式。\n\n其中WX和WY分别为在X和Y方向上的直方图加权系数,以选取有效的非零矢量。在本发明的中分别设定为WX=1.5和WY=1.2。\n在用户操作中摄入的视野含有运动的物体时,局部矢量搜索将产生集中于一个较小区间内的直方图形式,其中任何一个位都不足以在加权直方图中取得优势,因此采用高斯滤波器对加权直方图进行滤波以形成对应于全局运动矢量的主峰。2N+1阶高斯滤波器的产生如下式(9)所示:\n其中\n在本发明中,上式(9)所产生的高斯滤波器设定为:\nh[z]=0.0545z2+0.2442z+0.4026+0.2442z-1+0.0545z-2(10)\n上述提取过程,其优势在于弥补了因帧内有效局部运动矢量不足带来的全局统计样本缺失和由于采集方式和条件的多样性带来的统计数据置信度降低的缺陷,从而使得本发明的运动检测更为精确,能够适应不同环境下交互的需要。\n图1中人机交互控制的过程包括:\n由上述级联的全局运动矢量提取的全局运动矢量形式为是一组以像素为单位,包含了大小和方向的二维运动特征量。这一特征量可能的应用交互包括下面几种形式:\n图像浏览。因为手持设备的屏幕分辨率较低,目前中低端手机的屏幕分辨率在220×176或320×240像素,在浏览较大分辨图片如1600×1200像素,可以通过移动手持设备的方式获取的全局运动矢量,控制所浏览的图像区域,观看细节。这对于拍摄图像的检查非常重要。配合可选的放缩指令,则可能实现任意尺度和任意局部的浏览功能。\n网页浏览。基于与1)相似的原因,可以通过移动手持设备的方式产生的全局运动矢量,在大分辨率的网页中移动,放缩和自动滚屏。\n游戏操作。在这一功能中,移动手持设备产生的全局运动矢量可以起到类似微机的光学鼠标的特性,从而完成二维图形游戏中目标移动的精确而舒适的操作。\n经过研究发现,在图像或网页中,手持设备的屏幕画面可映射为相当于屏幕分辨率的一个矩形区域,而通过全局运动矢量控制该矩形区域在图像和网页中的二维移动;特别地,根据人的视觉特性,全局运动矢量映射八个自然的方向,如表1所示;其后依据映射所得之方向在图像或网页中移动上述矩形区域,而移动的步长则略有不同:图像浏览的步长为运动矢量之欧氏度量,如式(11)所示;而网页浏览则采用固定步长。\n\n在游戏控制中,目标的移动要相对精确,因此直接以各分量控制在屏幕坐标上水平和垂直移动的步长。\n表1\n GMVX符号GMVY符号移动方向+0右++右上+-右下-0左-+左上--左下0+上\n[0129] 0-下00停止\n表2\n 应用全局矢量指令注意事项图像浏览各分量符号移动方向依据表1 矢量欧氏度量移动步长依据式11 GMVX或GMVY为负 图像缩小 到达图像左、上 边缘情况下 GMVX或GMVY为正 图像放大 到达图像右、下 边缘情况下网页浏览各分量符号移动方向依据表1 无关固定移动步长 GMVX为正 回到网页左边缘 处到达网页右边缘 处 GMVY为负 放大网页 到达网页下边缘 处 GMVY为正 缩小网页 到达网页上边缘 处游戏控制GMVX水平移动步长可适当放缩 GMVY垂直移动步长可适当放缩\n本发明采用配置为130M像素CMOS视频头手机采集测试视频,在配置为Pentium M2.4GHz,1G内存,搭载Microsoft Windows XP的微机平台,测试根据测试视频提取全局运动矢量核心方法。\n在局部矢量训练阶段,随机选取1000帧图像,手工标定运动矢量,完成训练。\n在测试阶段,共拍摄20段不同场景的测试视频,每段视频包含300帧图像,涵盖不同光照条件和不同运动方式。\n表3说明了在测试阶段反映了本发明的性能,(20段视频,共6000帧图像)\n表3\n 条件组数正确率(帧)正常光照1598.5%弱光照393.6%快速移动285.0%\n可见本发明的表现在准确性上是优秀的。\n使用Intel Vtune官方软件评估本发明的视频处理过程系统负担情况下,在Pentium M2.4GHz,SpeedStep节能模式条件下测试,平均消耗CPU处理时间3.63%。对比的当前配置较高的手机Nokia、Samsung、SonyErisson等品牌手机上普遍采用的处理器Intel CPUPXA270,其主频为520MHz,同样采用SpeedStep进行功耗和运算的平衡,因此可以近似在运算速度上为4.36倍,以此估算核心算法在PXA270平台上的占用为14.4%,对于单任务的情况下可以应用。\n此外,用于手持设备的CPU有针对摄像头读取和低分辨率显示控制的硬件优化,因此\n在没有此类优化的台式机和笔记本相比,消耗系统资源大大降低,比如在PXA270CPU\n上提供高级相机接口Intel(r)Quick Capture技术支持摄像头数字视频直接采集和低功耗实时预览模式;而其增强型LCD控制器提供256KB片上SRAM提供更快的视频加速,可进一步降低系统消耗。因此在平台适应性的角度,本发明是可以在当前和未来更高级的手持设备平台上实时运行的。\n以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。