【发明内容】
基于此,有必要提供一种能使用户操作起来更方便简单的交互设备。
一种交互设备,包括主体部和标记部,所述标记部为设置在所述主体部上的指定颜色和/或形状的区域。
在优选的实施例中,所述标记部为设置在所述主体部上的指定颜色和/或形状的反光材料。
在优选的实施例中,所述标记部为两个,分别设置于所述主体部的前端或两侧。
在优选的实施例中,所述主体部为手持部位或人体部位。
此外,还有必要提供一种采用交互设备实现交互的方法,能使得用户操作起来更方便简单。
一种采用交互设备实现交互的方法,包括以下步骤:通过交互设备产生姿态;采集交互设备的图像,所述图像包含标记区域;识别所述标记区域的姿态,生成所述姿态对应的控制指令;通过终端设备响应所述控制指令。
在优选的实施例中,所述图像为二维图像和/或三维图像。
在优选的实施例中,所述识别所述标记区域的姿态的步骤包括:
判断所述图像是二维图像还是三维图像;
若所述图像为二维图像,则获取所述图像中与预设颜色模型匹配的像素,对所述获取的像素进行连通域检测,提取检测得到的连通域中的所述标记区域,获取所述标记区域中的像素坐标,根据所述像素坐标产生所述标记区域的姿态;
若所述图像为三维图像,则对所述图像进行分割,提取所述图像中的连通域,计算所述连通域的属性值,将所述连通域的属性值与预设的标记区域属性值进行对比,所述标记区域为符合所述预设的标记区域属性值的连通域,以及获取所述标记区域中的像素坐标,根据所述像素坐标产生所述标记区域的姿态。
在优选的实施例中,所述标记区域包括第一连续区域和第二连续区域;所述根据像素坐标产生所述标记区域的姿态的步骤包括:
根据所述像素坐标计算第一连续区域的重心和第二连续区域的重心,根据所述第一连续区域的重心的像素坐标和所述第二连续区域的重心的像素坐标产生所述标记区域的姿态。
在优选的实施例中,所述二维图像为二维红外图像。
在优选的实施例中,所述生成姿态对应的控制指令的步骤包括:
获取当前帧图像中的所述标记区域的姿态;
根据预设的姿态与控制指令之间的映射关系生成与所述姿态对应的控制指令。
在优选的实施例中,所述图像为图像序列;所述生成姿态对应的控制指令的步骤还包括:
获取当前帧图像中的所述标记区域的姿态与上一帧图像中的所述标记区域的姿态之间的相对姿态;
根据预设的相对姿态与控制指令之间的映射关系生成与所述相对姿态对应的控制指令。
上述交互设备及采用交互设备实现交互的方法,在交互设备的主体部上设置指定颜色和/或形状的区域,则采集交互设备的图像中包含了标记区域(即指定颜色和/或形状的区域在图像中所产生的区域),使用交互设备产生姿态时,标记区域在图像中也具有一定的姿态,识别出该姿态并生成对应的控制指令,然后通过终端设备响应该控制指令进行不同的操作,从而完成交互。因此,用户仅需要操控设有指定颜色和/或形状的区域的交互设备,使交互设备产生一定姿态,就能实现人机交互,因此用户操作起来更加方便简单。
【具体实施方式】
如图1所示,在一个实施例中,交互设备包括主体部10和标记部20,其中,标记部20为设置在主体部10上的指定颜色和/或形状的区域。例如,标记部20为红色的矩形状的区域。具体的,在一个实施例中,标记部20可为设置在主体部10上的指定颜色和/或形状的反光材料。应当说明的是,标记部20可以优选设置在主体部10的前端,也可以设置在主体部10的两侧。
在另一个实施例中,如图2所示,标记部20为两个,包括第一标记部201和第二标记部202,可分别设置在主体部10的前端。如图3所述,第一标记部201和第二标记部202还可分别设置在主体部10的两端。进一步的,第一标记部201和第二标记部202可以是任意特定形状,例如椭圆形或矩形,其大小、形状、颜色等特征上可相同,也可不同。
进一步的,主体部10可以为手持部位,即交互设备为手持装置,这样,用户可以手持交互设备进行操控,使交互设备产生一定的姿态。另外,主体部10也可以是人体部位(如人脸、手掌或手臂等),例如,在手掌上设置标记部20,用户使用起来则更方便。
由于交互设备上设有指定颜色和/或形状的区域,采集交互设备的图像,则能得到图像中的指定颜色和/或形状的区域(即标记区域)。当用户使用交互设备产生姿态时,图像中的标记区域也具有一定的姿态,通过将该姿态转换为控制指令则能实现人机交互。因此,用户仅需要操控设有指定颜色和/或形状的区域的交互设备,使交互设备产生一定姿态,就能实现人机交互,因此用户操作起来更加方便简单。
如图4所示,在一个实施例中,采用交互设备实现交互的方法包括:
步骤S10,通过交互设备产生姿态。
具体的,用户可手持交互设备或通过自身的人体部位进行动作(如转动),从而使交互设备产生一定的姿态。
步骤S20,采集交互设备的图像,所述图像包含标记区域。
标记区域是采集的图像中的一个区域,该区域可由交互设备上的指定颜色和/或形状的区域形成。进一步的,可采用摄像头或其他图像采集装置采集交互设备的图像。所采集的交互设备的图像可以是二维图像,也可以是三维图像。
步骤S30,识别标记区域的姿态,生成姿态对应的控制指令。
具体的,对采集到的图像进行处理,提取图像中的标记区域,然后根据标记区域中的像素在构建的图像坐标系中的像素坐标产生标记区域的姿态。
所谓姿态,是指标记区域在图像中所形成的姿势状态。进一步的,在二维图像中,姿态为二维图像中的标记区域与预设位置之间的角度,即姿态角;在三维图像中,姿态为二维图像中的标记区域与预设位置之间的多个姿态角所组成的矢量,即姿态向量。本发明中说的“标记区域产生的姿态”,“标记区域的姿态”、“姿态”都是指所述姿态,也就是不同实施例的姿态角与姿态向量。
本实施例中,预先设定标记区域的姿态与控制指令之间的映射关系,并将该映射关系存储在数据库中。在识别出标记区域的姿态后,可根据识别出的姿态从数据库中查找与姿态对应的控制指令。进一步的,还可将查找到的控制指令发送到终端设备(即被控装置)。
步骤S40,通过终端设备响应控制指令。
其中,终端设备可以是计算机、电视、移动通信设备、便携式手持装置或其他装置。控制指令可以是传统的交互设备中的特殊指令,如鼠标中的左键或右键点击指令;也可以是应用程序的特殊指令,如多媒体的开始播放或暂停播放指令。
由于可生成与识别出的姿态相对应的控制指令,只要交互设备产生姿态就能生成控制指令,而交互设备本身是不需要设置按键和供电装置的,即在交互设备上无需设置按键和供电装置也能实现人机交互。
在一个实施例中,如图5所示,步骤S30中识别标记区域的姿态具体包括:
步骤S301,判断采集的图像是二维图像还是三维图像,若是二维图像,则进入步骤S302,否则进入步骤S304。
步骤S302,获取图像中的与预设颜色模块匹配的像素,对获取的像素进行连通域检测,提取检测得到的连通域中的标记区域。
具体的,可通过摄像机采集包含标记区域的图像,得到的图像为二维可见光图像。优选的,还可在摄像机的镜头前加入红外滤光片,用于滤去除红外波段的其他波段光线,则采集的图像为二维红外图像。由于可见光图像中,场景中的物体会对标记区域的识别形成干扰,而红外图像因滤除掉了可见光信息,干扰较少,因此二维红外图像更有利于提取标记区域。对获取的像素进行连通域检测,得到多个连通域,连通域是若干个连续的像素组成的集合。
本实施例中,预先建立颜色模型。例如标记区域的色彩为红色,则预先建立红色模型,该模型中像素的RGB值分量可在200到255之间,G、B分量可接近于零;获取采集的图像中满足该红色模型的RGB值的像素即为红色像素。
由于标记区域的大小和形状应大致是固定不变的,在对获取的像素进行连通域检测时,可计算得到获取的像素中的所有连通域的周长和/或面积。具体的,连通域的周长可为连通域边界像素的个数,连通域的面积可为连通域中的全部像素的个数。进一步的,可将获取的连通域的周长和/或面积与预设标记区域的周长和/或面积进行对比,获取满足预设标记区域的周长和/或面积的连通域即为标记区域。优选的,还可将周长的平方与面积的比值作为判断准则,连通域的该比值满足预设标记区域的该比值,则该连通域为标记区域。
步骤S303,获取标记区域中的像素坐标,根据像素坐标产生标记区域的姿态。
在一个实施例中,如图1所示,标记部20设有一个,则采集到的图像中的标记区域为一个连续区域,则根据像素坐标产生标记区域的姿态的过程为:计算得到像素坐标的协方差矩阵,获取协方差矩阵最大特征值对应的特征向量,根据特征向量产生标记区域的姿态,该标记区域的姿态为一个姿态角。
具体的,如图6所示,构建二维图像坐标系,对于该坐标系上的两个点A(u1,v1)和B(u2,v2),其形成的姿态角则为斜率的反正切,即arctan((v2-v1)/(u2-u1))。具体的,本实施例中,计算提取的标记区域中的像素坐标的协方差矩阵,获取协方差矩阵最大特征值对应的特征向量,该特征向量的方向即为标记区域长轴所在直线的方向。如图6所示,标记区域长轴所在直线方向为A、B两点所在直线的方向,设特征向量为[dir_u,dir_v]T,其中,dir_u描述标记区域长轴的方向在u轴上的投影,其绝对值正比于从A指向B的向量在u坐标轴方向上的投影(即u2-u1);dir_v描述标记区域长轴的方向在v轴上的投影,其绝对值正比于从A指向B的向量在v坐标轴方向上的投影(即v2-v1)。若dir_u或dir_v小于0,则修正为[-dir_u,-dir_v]T,则标记区域的姿态角为:arctan(dir_v/dir_u)。
在另一个实施例中,如图2和图3所示,标记部设有两个,分别为标记部201和标记部202,则采集到的图像中的标记区域为两个,包括第一连续区域和第二连续区域,则根据所述像素坐标产生标记区域的姿态的具体过程为:根据像素坐标计算第一连续区域的重心和第二连续区域的重心,根据第一连续区域的重心的像素坐标和第二连续区域的重心的像素坐标产生标记区域的姿态。具体的,计算连续区域中的全部像素坐标的平均值,所得到的像素坐标即为连续区域的重心。如图6所示,计算得到的两个连续区域的重心分别为A(u1,v1)和B(u2,v2),则标记区域的姿态角为斜率的反正切,即arctan((v2-v1)/(u2-u1))。
步骤S304,对图像进行分割,提取图像中的连通域,计算连通域的属性值,将连通域的属性值与预设的标记区域属性值进行对比,标记区域则为符合预设的标记区域属性值的连通域。
具体的,当三维深度图像中两个相邻的像素深度相差小于预先设定的阈值时,例如5厘米,则认为两个像素连通,对整个图像进行连通域检测,可得到包含标记区域的一系列连通域。
本实施例中,连通域的属性值包括连通域的尺寸和形状。具体的,计算连通域的尺寸/形状,与预设的标记区域的尺寸/形状进行对比,得到符合预设的标记区域的尺寸/形状的连通域即为标记区域。以矩形标记为例,即交互设备上的反光材料在采集的图像中为矩形,预先设定好标记的长度和宽度,计算连通域对应的物理区域的长度和宽度,该长度和宽度与标记的长度和宽度越接近,则连通域与标记区域越相似。
进一步的,计算连通域对应的物理区域的长度和宽度的过程如下:计算连通域像素的三维坐标的协方差矩阵,采用如下公式计算连通域对应的物理区域的长度和宽度:
其中,k为预先设定的系数,例如设为4,当λ为协方差矩阵最大特征值时,则l为连通域的长度,当λ为协方差矩阵第二大的特征值时,则l为连通域的宽度。
进一步的,还可预先设定矩形标记的长宽比,例如长宽比为2,则连通域对应的物理区域的长宽比越接近于预设设定的矩形标记的长宽比,则连通域与标记区域越相似,具体的,采用如下公式计算连通域对应的物理区域的长宽比:
其中,r为连通域的长宽比,λ
0为协方差矩阵的最大特征值,λ
1为协方差矩阵的第二大特征值。
步骤S305,获取标记区域中的像素坐标,根据像素坐标产生标记区域的姿态。
具体的,本实施例中,标记区域的姿态为姿态向量。如图7所示,构建三维图像坐标系,该坐标系为右手坐标系。在该坐标系中,设空间向量OP,P在平面XOY的投影为p,则用极坐标表示向量OP的姿态向量为[α,θ]T,α为角XOp,即X轴到Op角,取值范围为0到360度,θ为角pOP,即OP与XOY平面的夹角,取值范围为-90度到90度。设该坐标系中的空间射线上的两点为A(x1,y1,z1)和B(x2,y2,z2),则这两点的姿态向量[α,θ]T可用如下公式唯一确定:
本实施例中,提取标记区域后,计算得到标记区域中的像素坐标的协方差矩阵,获取协方差矩阵最大特征值对应的特征向量,并将该特征向量转换为姿态向量。具体的,设得到的姿态向量为[dirx,diry,dirz]T,其中,dirx表示两点在x轴方向上的距离,diry表示两点在y轴方向上的距离,dirz表示两点在z轴方向上的距离。可认为该姿态向量描述的射线上有两个点,即(0,0,0)和(dirx,diry,dirz),即射线从原点触发,指向(dirx,diry,dirz),则姿态角需满足上述公式(1)和(2),令上述公式(1)和(2)中的x1=0,y1=0,z1=0,x2=dirx,y2=diry,z2=dirz,即可得到姿态向量[α,θ]T。
在一个实施例中,如图1所示,标记部20设有一个,则采集到的图像中的标记区域为一个连续区域,则根据像素坐标产生标记区域的姿态的过程为:计算得到像素坐标的协方差矩阵,获取协方差矩阵最大特征值对应的特征向量,根据特征向量产生标记区域的姿态。如上所述,该标记区域的姿态为一个姿态向量。
在另一个实施例中,如图2和图3所示,标记部设有两个,分别为标记部201和标记部202,则采集到的图像中的标记区域为两个,包括第一连续区域和第二连续区域,则根据所述像素坐标产生标记区域的姿态的具体过程为:根据像素坐标计算第一连续区域的重心和第二连续区域的重心,根据第一连续区域的重心的像素坐标和第二连续区域的重心的像素坐标计算标记区域的姿态。如图7所示,本实施例中,标记区域中的像素坐标为三维坐标,具体的,可根据计算得到的两个连续区域的重心的像素坐标产生标记区域的姿态,该姿态为一个姿态向量。
应当说明的是,在其他实施例中,也可设定只采集交互设备的二维图像或三维图像,即设定交互方法只处理二维图像或者只处理三维图像,则上述步骤S302可不执行,而直接对二维图像或三维图像进行处理。具体的,若设定只处理二维图像,可采用普通摄像机采集二维图像。识别二维图像中的标记区域的姿态的过程如上所述,在此则不再赘述。若设定只处理三维图像,可利用传统的立体视觉系统(由两台空间位置已知的摄像机及相关数据处理设备组成)、结构光系统(右一台摄像机、一台光源以及相关数据处理设备组成)或TOF(timeof flight,飞行时间)深度相机采集三维图像(即三维深度图像)。识别三维图像中的标记区域的姿态如上所述,在此也不再赘述。
此外,无论采集到的是二维图像还是三维图像,在标记区域为一个连续区域的实施例中,交互设备可以是不包含指定颜色和/或形状的区域的人体部位,即完全将人体部位作为交互设备,所采集到的图像中的标记区域即人体部位所形成的区域。该实施例中,则可获取采集的图像中与预设肤色模型匹配的像素,得到人体部位所形成的标记区域,然后进入识别标记区域的姿态的步骤。
如图8所示,在一个实施例中,上述步骤S30中生成姿态对应的控制指令的过程包括:
步骤S310,获取当前帧图像中的标记区域的姿态。
如上所述,步骤S310中获取的姿态可以是当前帧的二维图像中的标记区域的姿态(即姿态角),也可以是当前帧的三维深图像中的标记区域的姿态(即姿态向量)。本实施例中,预先设定了姿态与控制指令之间的映射关系。该姿态也可称为绝对姿态。
步骤S320,根据预设的姿态与控制指令之间的映射关系生成与姿态对应的控制指令。
例如,控制指令为鼠标左键指令和右键指令。以二维图像为例,姿态角的取值范围为-180度到180度。可预先设定当前帧图像中的姿态角在(a,b)的范围内,则触发左键指令,当前帧图像中的姿态角在(c,d)的范围内,则触发右键指令。其中,a、b、c、d都为预先设定的角度,满足a<b,c<d,且集合[a,b]和集合[c,d]的交集为空。。
另外,在三维图像中,所识别出的姿态包含两个姿态角,可以使用其中的一个姿态角来获取控制指令,也可以使用两个姿态角来获取控制指令。使用其中一个姿态角的方法原理与二维图像类似,在此则不再赘述。使用两个姿态角时,可设置若两个姿态角均在预先设定的指令触发范围内时,才触发控制指令。
在本实施例或另一个实施例中,采集到的图像为图像序列。如图9所示,上述步骤S30中生成姿态对应的控制指令的过程包括:
步骤S311,获取当前帧图像中的标记区域的姿态与上一帧图像中的标记区域的姿态之间的相对姿态。
本实施例中,可实时采集由多个包含标记区域的图像组成的图像序列。如上所述,步骤S311中获取的姿态可以是当前帧图像和上一帧图像中的标记区域的姿态角,也可以是当前帧图像和上一帧图像中的标记区域的姿态向量。当前帧图像中的姿态与上一帧图像中的姿态之间的相对姿态为两者的差值。
步骤S321,根据预设的相对姿态与控制指令之间的映射关系生成与相对姿态对应的控制指令。
例如,以二维图像为例,相对姿态为相对姿态角,可预先设定当前帧图像的姿态角比上一帧的姿态角增加大于30度,即相对姿态角大于30度时,则触发鼠标的左键指令,当前帧图像的姿态角比上一帧的姿态角减少大于40度时,即相对姿态角小于-40度时,则触发鼠标的右键指令。三维图像的原理与其类似,在此则不再赘述。
在三维图像中,所识别出的姿态包含两个姿态角,可以使用其中的一个姿态角来获取控制指令,也可以使用两个姿态角来获取控制指令。使用其中一个姿态角的方法原理与二维图像类似,在此则不再赘述。使用两个姿态角时,可设置若两个姿态角变化均满足预设条件时,例如第一个姿态角变化大于预先设定的第一阈值,第二个姿态角变化大于预先设定的第二阈值,则触发控制指令。
上述采用交互设备实现交互的方法,优选的,可在终端设备的位置设置图像采集装置以及用于识别标记区域的姿态并生成姿态对应的控制指令的图像处理装置,用户在操控交互设备时,可位于图像采集装置的前方,以便图像采集装置能采集到清晰的包含标记区域的图像。图像处理装置可与终端设备有线连接,生成的控制指令传输到终端设备,从而可实现对终端设备进行操作。此外,也可以设置通信模块,用于将图像处理装置生成的控制指令通过有线或无线网络发送到远程的终端设备,从而实现远程的人机交互。
上述交互设备及采用交互设备实现交互的方法,在交互设备上设置指定颜色和/或形状的区域,通过识别标记区域的姿态,转换为对应的控制指令,从而实现人机交互。本发明除了可以采用手持的交互设备,还可以将人体部位作为交互设备,灵活性高。本发明不需要在交互设备上设置按键和供电装置,实现了交互设备的完全无源。
此外,本发明将传统的交互设备进行了简单化,能够降低成本,由于本发明中的交互设备可以是无源的手持装置或人体部位,减少了电池的重量,因此易于使用;用户可以通过对手持装置或人体部位进行简单的操控就能实现各种人机交互,因此提高了用户操作的便利性,大大满足了用户的体验需求。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。