【发明内容】
基于此,有必要提供一种能扩大智能家居的应用范围的家用电器控制方法。
此外,还有必要提供一种能扩大智能家居的应用范围的家用电器控制系统。
一种家用电器控制方法,包括如下步骤:
通过交互设备产生姿态;
采集所述交互设备的图像,所述交互设备的图像中包含标记区域;
识别标记区域的姿态;
生成所述姿态对应的控制指令;
通过所述控制指令对家用电器进行控制。
优选地,所述图像为二维图像或三维图像,所述识别所述标记区域的姿态的步骤包括:
判断所述图像的类型;
所述图像的类型为二维图像时,则获取所述图像中与预设颜色模型匹配的像素,对所述获取的像素进行连通域检测,提取检测得到的连通域中的所述标记区域,获取所述标记区域中的像素坐标,根据所述像素坐标产生所述标记区域的姿态;
所述图像的类型为三维图像时,则对所述图像进行分割,提取所述图像中的连通域,计算所述连通域的属性值,将所述连通域的属性值与预设的标记区域属性值进行对比,所述标记区域为符合所述预设的标记区域属性值的连通域,以及获取所述标记区域中的像素坐标,根据所述像素坐标产生所述标记区域的姿态。
优选地,所述标记区域包括第一连续区域和第二连续区域;所述识别标记区域的姿态的步骤包括:
计算第一连续区域的重心和第二连续区域的重心,根据所述第一连续区域的重心的像素坐标和所述第二连续区域的重心像素坐标产生所述标记区域的姿态。
优选地,所述通过交互设备产生姿态的步骤之前还包括:
通过所述交互设备的指向选取家用电器;
展示控制所述家用电器对应的姿态。
优选地,所述展示控制所述家用电器对应的姿态的步骤包括:
根据家用电器中姿态与控制指令的映射关系得到控制所述家用电器的姿态;
在屏幕中演示控制所述家用电器的姿态。
优选地,所述控制指令包括家用电器的开启、关闭以及调控指令;
所述通过所述控制指令对家用电器进行控制的步骤包括:
按照所述控制指令开启、关闭或调控所述家用电器。
优选地,所述控制指令包括家用电器的开启、关闭以及调控指令;
所述通过所述控制指令对家用电器进行控制的步骤包括:
按照所述控制指令开启、关闭或调控所述家用电器。
一种家用电器控制系统,包括:
交互设备,用于产生姿态;
图像采集模块,用于采集所述交互设备的图像,所述交互设备的图像中包含标记区域;
姿态识别模块,用于识别标记区域的姿态;
指令生成模块,用于生成所述姿态对应的控制指令;
控制模块,用于通过所述控制指令对家用电器进行控制。
优选地,所述图像为二维图像或三维图像,所述姿态识别模块包括:
判断单元,用于判断所述图像的类型,所述图像的类型是二维图像时,则通知第一识别单元,所述图像的类型是三维图像时,则通知第二识别单元;
所述第一识别单元,用于获取所述图像中与预设颜色模型匹配的像素,对所述获取的像素进行连通域检测,提取检测得到的连通域中的所述标记区域,获取所述标记区域中的像素坐标,根据所述像素坐标产生所述标记区域的姿态;
所述第二识别单元,用于对所述图像进行分割,提取所述图像中的连通域,计算所述连通域的属性值,将所述连通域的属性值与预设的标记区域属性值进行对比,所述标记区域为符合所述预设的标记区域属性值的连通域,以及获取所述标记区域中的像素坐标,根据所述像素坐标产生所述标记区域的姿态。
优选地,所述标记区域包括第一连续区域和第二连续区域;所述第一识别单元还用于计算第一连续区域的重心和第二连续区域的重心,根据所述第一连续区域的重心的像素坐标和所述第二连续区域的重心像素坐标产生所述标记区域的姿态。
优选地,还包括:
选取模块,用于通过所述交互设备的指向选取家用电器;
展示模块,用于展示控制所述家用电器对应的姿态。
优选地,所述展示模块包括:
展示姿态获取单元,用于根据家用电器中姿态与控制指令的映射关系得到控制所述家用电器的姿态;
演示单元,用于在屏幕中演示控制所述家用电器的姿态。
优选地,所述控制指令包括家用电器的开启、关闭以及调控指令;
所述控制模块还用于按照所述控制指令开启、关闭或调控所述家用电器。
优选地,所述控制指令包括家用电器的开启、关闭以及调控指令;
所述控制模块还用于按照所述控制指令开启、关闭或调控所述家用电器。
上述家用电器控制方法及系统,通过交互设备产生姿态,采集交互设备的图像,进而根据采集到的交互设备的图像识别出交互设备中标记区域所产生的姿态,并生成控制指令,通过姿态对应的控制指令对家用电器进行控制,因此,通过交互设备产生姿态即可实现家用电器的控制,不需要所有的家用电器均拥有红外遥控功能,扩大了智能家居的应用范围。
上述家用电器控制方法及系统,通过交互设备产生的姿态进行家用电器的控制,需要在交互设备中设置按键,简化了操作上的方便性。
上述家用电器控制方法及系统,通过交互设备的指向实现家用电器的选取,并在屏幕中展示控制家用电器所对应的姿态,使得用户能够直观并且便捷地进行交互,更为方便地实现家用电器的控制。
【具体实施方式】
在一个实施例中,如图1所示,一种家用电器控制方法,包括如下步骤:
步骤S10,通过交互设备产生姿态。
步骤S20,采集交互设备的图像,交互设备的图像中包含标记区域。
本实施例中,标记区域是采集的图像中的一个区域,该区域可由交互设备形成。
具体的,在一个实施例中,交互设备可以是手持装置,可将手持装置的一部分或全部设定为指定的颜色或形状,采集手持装置的图像,图像中的手持装置中的该指定颜色或形状的部分形成标记区域。另外,交互设备还可以是带标记的手持装置,即在手持装置上附带指定颜色或形状的标记(如反光材料),采集手持装置的图像,图像中的手持装置上所附带的指定颜色或形状的标记形成标记区域。
在另一个实施例中,交互设备还可以是人体部位(例如人脸、手掌、手臂等),采集人体部位的图像,图像中的人体部位形成标记区域。另外,交互设备还可以是带标记的人体部位,即在人体部位上附带指定颜色或形状的标记(如反光材料),采集人体部位的图像时,图像中的该指定颜色或形状的标记形成标记区域。
步骤S30,识别标记区域的姿态。
本实施例中,对采集到的图像进行处理,提取图像中的标记区域,然后根据标记区域中的像素在构建的图像坐标系中的像素坐标产生标记区域的姿态。所谓姿态,是指标记区域在图像中所形成的姿势状态。进一步的,在二维图像中,姿态为二维图像中的标记区域与预设位置之间的角度,即姿态角;在三维图像中,姿态为二维图像中的标记区域与预设位置之间的多个姿态角所组成的矢量,即姿态向量。本发明中说的“标记区域产生的姿态”,“标记区域的姿态”、“姿态”都是指所述姿态,也就是不同实施例的姿态角与姿态向量。
步骤S40,生成姿态对应的控制指令。
本实施例中,预先设定标记区域的姿态与控制指令之间的映射关系,并将该映射关系存储在数据库中。在识别出标记区域的姿态后,可根据识别出的姿态从数据库中查找与姿态对应的控制指令。
步骤S50,通过控制指令对家用电器进行控制。
本实施例中,将查找到的控制指令发送到家用电器,家用电器按照控制指令执行相应的开启、关闭或调控操作,例如,控制指令为开启操作,则相应的家用电器将在控制指令的触发下启动运行。
具体的,通过控制指令,可对与产生控制指令的控制端处于同一居室的家用电器进行统一控制,也可以通过远程传输将控制指令传输到远端的的家用电器,以对远端的家用电器进行控制。
由于可生成与识别出的姿态相对应的控制指令,只要交互设备产生姿态就能生成控制指令,不需要在所有的家用电器中设置红外遥控功能,扩大了智能家居的应用范围。
在一个实施例中,控制指令包括家用电器的开启、关闭以及调控指令,上述步骤S50的具体过程包括:按照控制指令开启、关闭或调控家用电器。
本实施例中,家用电器的调控指令包括了媒体播放设备的音量调节、媒体切换;空调的温度调节以及电灯的亮度调节等控制指令,在此不逐一列举。例如,家用电器为空调,为实现用户的姿态控制空调运行,根据标记区域中识别得到的姿态生成对应的控制指令,若姿态为向左旋转预设角度,则生成升高温度的控制指令,若姿态为向右旋转预设角度,则生成降低温度的控制指令,若姿态为旋转超出180度,则开启处于关闭状态的空调或关闭处于开启状态的空调;家用电器为电视,若姿态为向左旋转预设角度,则生成调高音量的控制指令,若姿态为向右旋转预设角度,则生成调低音量的控制指令,若姿态为旋转超出180度,则开启处于关闭状态的电视或关闭处于开启状态的电视。
在一个实施例中,如图2所示,上述步骤S10之前还包括如下步骤:
步骤S210,通过交互设备的指向选取家用电器。
本实施例中,家用电器包括了视频播放设备、音频播放设备、空调、电灯等。具体地,可在屏幕中以图标的形式表示每一家用电器,进而通过交互设备对图标的指向来实现家用电器的选取;此外,也可通过交互设备在活动空间中对某一家用电器的指向来实现家用电器的选取。用户手持交互设备方便而自然地指向并选取家用电器的交互操作更为直观便捷。
步骤S230,展示控制家用电器对应的姿态。
本实施例中,任一家用电器均有与其对应的姿态,存在着姿态与控制指令之间的映射关系。例如,家用电器为电视,则电视的开启、关闭、音量的调控以及节目的切换均有对应的姿态,进而通过姿态所对应的控制指令实现电视的控制。因此,获取选取的家用电器对应的姿态,并在屏幕中演示用户控制家用电器所需要执行的姿态,使得用户能够直观而便捷地实现家用电器的控制。
在一个实施例中,如图3所示,上述步骤S230的具体过程包括:
步骤S231,根据家用电器中姿态与控制指令的映射关系得到控制家用电器的姿态。
本实施例中,根据家用电器中姿态与控制指令的映射关系可以获知对家用电器进行控制用户所需要产生的姿态。
步骤S233,在屏幕中演示控制家用电器的姿态。
在一个实施例中,如图4所示,步骤S30中识别标记区域的姿态具体包括:
步骤S301,判断采集的图像的类型,所述图像的类型为二维图像时,则进入步骤S302,否则进入步骤S304。
本实施例中,图像的类型包括了二维图像和三维图像,对应不同的图像类型将采用不同的姿态识别过程来实现用户所产生的姿态的识别。
步骤S302,获取图像中的与预设颜色模块匹配的像素,对获取的像素进行连通域检测,提取检测得到的连通域中的标记区域。
具体的,可通过摄像机采集包含标记区域的图像,得到的图像为二维可见光图像。优选的,还可在摄像机的镜头前加入红外滤光片,用于滤去除红外波段的其他波段光线,则采集的图像为二维红外图像。由于可见光图像中,场景中的物体会对标记区域的识别形成干扰,而红外图像因滤除掉了可见光信息,干扰较少,因此二维红外图像更有利于提取标记区域。对获取的像素进行连通域检测,得到多个连通域,连通域是若干个连续的像素组成的集合。
本实施例中,预先建立颜色模型。例如标记区域的色彩为红色,则预先建立红色模型,该模型中像素的RGB值分量可在200到255之间,G、B分量可接近于零;获取采集的图像中满足该红色模型的RGB值的像素即为红色像素。
由于标记区域的大小和形状应大致是固定不变的,在对获取的像素进行连通域检测时,可计算得到获取的像素中的所有连通域的周长和/或面积。具体的,连通域的周长可为连通域边界像素的个数,连通域的面积可为连通域中的全部像素的个数。进一步的,可将获取的连通域的周长和/或面积与预设标记区域的周长和/或面积进行对比,获取满足预设标记区域的周长和/或面积的连通域即为标记区域。优选的,还可将周长的平方与面积的比值作为判断准则,连通域的该比值满足预设标记区域的该比值,则该连通域为标记区域。
步骤S303,获取标记区域中的像素坐标,根据像素坐标产生标记区域的姿态。
在一个实施例中,如图5所示,标记设有一个,则采集到的图像中的标记区域为一个连续区域,则根据像素坐标产生标记区域的姿态的过程为:计算得到像素坐标的协方差矩阵,获取协方差矩阵最大特征值对应的特征向量,根据特征向量产生标记区域的姿态,该标记区域的姿态为一个姿态角。
具体的,如图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)。
在另一个实施例中,如图7和图8所示,标记设有两个,分别为标记1和标记2,则采集到的图像中的标记区域为两个,包括第一连续区域和第二连续区域,则根据所述像素坐标产生标记区域的姿态的具体过程为:根据像素坐标计算第一连续区域的重心和第二连续区域的重心,根据第一连续区域的重心的像素坐标和第二连续区域的重心的像素坐标产生标记区域的姿态。具体的,计算连续区域中的全部像素坐标的平均值,所得到的像素坐标即为连续区域的重心。如图6所示,计算得到的两个连续区域的重心分别为A(u1,v1)和B(u2,v2),则标记区域的姿态角为斜率的反正切,即arctan((v2-v1)/(u2-u1))。
步骤S304,对图像进行分割,提取图像中的连通域,计算连通域的属性值,将连通域的属性值与预设的标记区域属性值进行对比,标记区域则为符合预设的标记区域属性值的连通域。
具体的,当三维深度图像中两个相邻的像素深度相差小于预先设定的阈值时,例如5厘米,则认为两个像素连通,对整个图像进行连通域检测,可得到包含标记区域的一系列连通域。
本实施例中,连通域的属性值包括连通域的尺寸和形状。具体的,计算连通域的尺寸/形状,与预设的标记区域的尺寸/形状进行对比,得到符合预设的标记区域的尺寸/形状的连通域即为标记区域。以矩形标记为例,即交互设备上的反光材料在采集的图像中为矩形,预先设定好标记的长度和宽度,计算连通域对应的物理区域的长度和宽度,该长度和宽度与标记的长度和宽度越接近,则连通域与标记区域越相似。
进一步的,计算连通域对应的物理区域的长度和宽度的过程如下:计算连通域像素的三维坐标的协方差矩阵,采用如下公式计算连通域对应的物理区域的长度和宽度:其中,k为预先设定的系数,例如设为4,当λ为协方差矩阵最大特征值时,则l为连通域的长度,当λ为协方差矩阵第二大的特征值时,则l为连通域的宽度。
进一步的,还可预先设定矩形标记的长宽比,例如长宽比为2,则连通域对应的物理区域的长宽比越接近于预设设定的矩形标记的长宽比,则连通域与标记区域越相似,具体的,采用如下公式计算连通域对应的物理区域的长宽比:其中,r为连通域的长宽比,λ0为协方差矩阵的最大特征值,λ1为协方差矩阵的第二大特征值。
步骤S305,获取标记区域中的像素坐标,根据像素坐标产生标记区域的姿态。
具体的,本实施例中,标记区域的姿态为姿态向量。如图9所示,构建三维图像坐标系,该坐标系为右手坐标系。在该坐标系中,设空间向量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。
在一个实施例中,如图5所示,标记设有一个,则采集到的图像中的标记区域为一个连续区域,则根据像素坐标产生标记区域的姿态的过程为:计算得到像素坐标的协方差矩阵,获取协方差矩阵最大特征值对应的特征向量,根据特征向量产生标记区域的姿态。如上所述,该标记区域的姿态为一个姿态向量。
在另一个实施例中,如图7和图8所示,标记设有两个,分别为标记1和标记2,则采集到的图像中的标记区域为两个,包括第一连续区域和第二连续区域,则根据所述像素坐标产生标记区域的姿态的具体过程为:根据像素坐标计算第一连续区域的重心和第二连续区域的重心,根据第一连续区域的重心的像素坐标和第二连续区域的重心的像素坐标计算标记区域的姿态。如图9所示,本实施例中,标记区域中的像素坐标为三维坐标,具体的,可根据计算得到的两个连续区域的重心的像素坐标产生标记区域的姿态,该姿态为一个姿态向量。
应当说明的是,在其他实施例中,也可设定只采集交互设备的二维图像或三维图像,即设定交互方法只处理二维图像或者只处理三维图像,则上述步骤S 302可不执行,而直接对二维图像或三维图像进行处理。具体的,若设定只处理二维图像,可采用普通摄像机采集二维图像。识别二维图像中的标记区域的姿态的过程如上所述,在此则不再赘述。若设定只处理三维图像,可利用传统的立体视觉系统(由两台空间位置已知的摄像机及相关数据处理设备组成)、结构光系统(右一台摄像机、一台光源以及相关数据处理设备组成)或TOF(timeof flight,飞行时间)深度相机采集三维图像(即三维深度图像)。识别三维图像中的标记区域的姿态如上所述,在此也不再赘述。
此外,无论采集到的是二维图像还是三维图像,在标记区域为一个连续区域的实施例中,交互设备可以是不包含指定颜色和/或形状的区域的人体部位,即完全将人体部位作为交互设备,所采集到的图像中的标记区域即人体部位所形成的区域。该实施例中,则可获取采集的图像中与预设肤色模型匹配的像素,得到人体部位所形成的标记区域,然后进入识别标记区域的姿态的步骤。
如图10所示,在一个实施例中,上述步骤S40的具体过程包括:
步骤S402,获取当前帧图像中的所述标记区域的姿态。
如上所述,步骤S402中获取的姿态可以是当前帧的二维图像中的标记区域的姿态(即姿态角),也可以是当前帧的三维深图像中的标记区域的姿态(即姿态向量)。本实施例中,预先设定了姿态与控制指令之间的映射关系。该姿态也可称为绝对姿态。
步骤S404,根据预设的姿态与控制指令之间的映射关系生成与姿态对应的控制指令。
例如,控制指令为家用电器的开启指令和关闭指令。以二维图像为例,姿态角的取值范围为-180度到180度。可预先设定当前帧图像中的姿态角在(a,b)的范围内,则触发开启指令,当前帧图像中的姿态角在(c,d)的范围内,则触发关闭指令。其中,a、b、c、d都为预先设定的角度,满足a<b,c<d,且集合[a,b]和集合[c,d]的交集为空。
另外,在三维图像中,所识别出的姿态包含两个姿态角,可以使用其中的一个姿态角来获取控制指令,也可以使用两个姿态角来获取控制指令。使用其中一个姿态角的方法原理与二维图像类似,在此则不再赘述。使用两个姿态角时,可设置若两个姿态角均在预先设定的指令触发范围内时,才触发控制指令。
如图11所示,在另一个实施例中,采集的包含标记区域的图像为图像序列,上述步骤S40的具体过程包括:
步骤S410,获取当前帧图像中的标记区域的姿态与上一帧图像中的标记区域的姿态之间的相对姿态。
本实施例中,可实时采集由多个包含标记区域的图像组成的图像序列。如上所述,步骤S410中获取的姿态可以是当前帧图像和上一帧图像中的标记区域的姿态角,也可以是当前帧图像和上一帧图像中的标记区域的姿态向量。当前帧图像中的姿态与上一帧图像中的姿态之间的相对姿态为两者的差值。
步骤S420,根据预设的相对姿态与控制指令之间的映射关系生成与相对姿态对应的控制指令。
例如,以二维图像为例,相对姿态为相对姿态角,可预先设定当前帧图像的姿态角比上一帧的姿态角增加大于30度,即相对姿态角大于30度时,则触发家用电器的开启指令,当前帧图像的姿态角比上一帧的姿态角减少大于40度时,即相对姿态角小于-40度时,则触发家用电器的关闭指令。三维图像的原理与其类似,在此则不再赘述。
在三维图像中,所识别出的姿态包含两个姿态角,可以使用其中的一个姿态角来获取控制指令,也可以使用两个姿态角来获取控制指令。使用其中一个姿态角的方法原理与二维图像类似,在此则不再赘述。使用两个姿态角时,可设置若两个姿态角变化均满足预设条件时,例如第一个姿态角变化大于预先设定的第一阈值,第二个姿态角变化大于预先设定的第二阈值,则触发控制指令。
在一个实施例中,如图12所示,一种家用电器控制系统,包括交互设备10、图像采集模块20、姿态识别模块30指令生成模块40以及控制模块50。
交互设备10,用于产生姿态。
图像采集模块20,用于采集交互设备的图像,交互设备的图像中包含标记区域。
本实施例中,标记区域是采集的图像中的一个区域,该区域可由交互设备10形成。具体的,在一个实施例中,交互设备10可以是手持装置,可将手持装置的一部分或全部设定为指定的颜色或形状,采集手持装置的图像,图像中的手持装置中的该指定颜色或形状的部分形成标记区域。另外,交互设备10还可以是带标记的手持装置,即在手持装置上附带指定颜色或形状的标记(如反光材料),采集手持装置的图像,图像中的手持装置上所附带的指定颜色或形状的标记形成标记区域。
在另一个实施例中,交互设备10还可以是人体部位(例如人脸、手掌、手臂等),采集人体部位的图像,图像中的人体部位形成标记区域。另外,交互设备10还可以是带标记的人体部位,即在人体部位上附带指定颜色或形状的标记(如反光材料),采集人体部位的图像时,图像中的该指定颜色或形状的标记形成标记区域。
姿态识别模块30,用于识别标记区域的姿态。
具体的,对采集到的图像进行处理,提取图像中的标记区域,然后根据标记区域中的像素在构建的图像坐标系中的像素坐标获取标记区域的姿态。所谓姿态,是指标记区域在图像中所形成的姿势状态。进一步的,在二维图像中,姿态为二维图像中的标记区域与预设位置之间的角度,即姿态角;在三维图像中,姿态为三维图像中的标记区域与预设位置之间的多个姿态角所组成的矢量,即姿态向量。本发明中说的“标记区域产生的姿态”,“标记区域的姿态”都是指所述姿态,也就是不同实施例的姿态角与姿态向量。
指令生成模块40,用于生成姿态对应的控制指令。
本实施例中,预先设定标记区域的姿态与控制指令之间的映射关系,并将该映射关系存储在数据库中(图中未示出)。在识别出标记区域的姿态后,指令生成模块40可用于根据姿态识别模块30识别出的姿态从数据库中查找与姿态对应的控制指令。
控制模块50,用于通过控制指令对家用电器进行控制。
本实施例中,指令生成模块40将查找到的控制指令发送到控制模块50,控制模块50按照控制指令控制家用电器执行相应的开启或关闭操作,例如,控制指令为开启操作,则相应的家用电器将在控制指令的触发下启动运行。
具体的,控制模块50通过控制指令,可对与产生控制指令的控制端处于同一居室的家用电器进行统一控制,也可以通过远程传输将控制指令传输到远端的的家用电器,以对远端的家用电器进行控制。
由于可生成与识别出的姿态相对应的控制指令,只要交互设备产生姿态就能生成控制指令,不需要在所有的家用电器中设置红外遥控功能,扩大了智能家居的应用范围。
在一个实施例中,控制指令包括家用电器的开启、关闭以及调控指令,上述控制模块50还用于按照控制指令开启、关闭或调控家用电器。
本实施例中,家用电器的调控指令包括了媒体播放设备的音量调节、媒体切换;空调的温度调节以及电灯的亮度调节等控制指令,在此不逐一列举。例如,家用电器为空调,为实现用户的姿态控制空调运行,根据标记区域中识别得到的姿态生成对应的控制指令,若姿态为向左旋转预设角度,则生成升高温度的控制指令,若姿态为向右旋转预设角度,则生成降低温度的控制指令,若姿态为旋转超出180度,则控制模块50开启处于关闭状态的空调或关闭处于开启状态的空调;家用电器为电视,若姿态为向左旋转预设角度,则生成调高音量的控制指令,若姿态为向右旋转预设角度,则生成调低音量的控制指令,若姿态为旋转超出180度,则控制模块50开启处于关闭状态的电视或关闭处于开启状态的电视。
如图13所示,在一个实施例中,上述家用电器控制系统还包括选取模块70以及展示模块90。
选取模块70,用于通过交互设备的指向选取家用电器。
本实施例中,家用电器包括了视频播放设备、音频播放设备、空调、电灯等。具体地,可在屏幕中以图标的形式表示每一家用电器,进而通过交互设备对图标的指向来实现家用电器的选取;此外,也可通过交互设备在活动空间中对某一家用电器的指向来实现家用电器的选取。用户手持交互设备方便而自然地指向并选取家用电器的交互操作更为直观便捷。
展示模块90,用于展示控制家用电器对应的姿态。
本实施例中,任一家用电器均有与其对应的姿态,存在着姿态与控制指令之间的映射关系。例如,家用电器为电视,则电视的开启、关闭、音量的调控以及节目的切换均有对应的姿态,进而通过姿态所对应的控制指令实现电视的控制。因此,展示模块90获取选取的家用电器对应的姿态,并在屏幕中演示用户控制家用电器所需要执行的姿态,使得用户能够直观而便捷地实现家用电器的控制。
如图14所示,在一个实施例中,上述展示模块90包括展示姿态获取单元910以及演示单元930。
展示姿态获取单元901,用于根据家用电器中姿态与控制指令的映射关系得到控制家用电器的姿态。
本实施例中,展示姿态获取单元901根据家用电器中姿态与控制指令的映射关系可以获知对家用电器进行控制用户所需要产生的姿态。
演示单元930,用于在屏幕中演示控制家用电器的姿态。
如图15所示,在一个实施例中,图像的类型为二维图像或三维图像,上述姿态识别模块30包括判断单元310、第一识别单元330以及第二识别单元350。
判断单元310,用于判断图像的类型,所述图像的类型是二维图像时,则通知第一识别单元,所述图像的类型是三维图像时,则通知第二识别单元。
本实施例中,图像的类型包括了二维图像和三维图像,对应不同的图像类型将采用不同的姿态识别过程来实现用户所产生的姿态的识别。
第一识别单元330,用于获取图像中与预设颜色模型匹配的像素,对获取的像素进行连通域检测,提取检测得到的连通域中的标记区域,获取标记区域中的像素坐标,根据像素坐标产生标记区域的姿态。
具体的,可通过摄像机采集包含标记区域的图像,得到的图像为二维可见光图像。优选的,还可在摄像机的镜头前加入红外滤光片,用于滤去除红外波段的其他波段光线,则采集的图像为二维红外图像。由于可见光图像中,场景中的物体会对标记区域的识别形成干扰,而红外图像因滤除掉了可见光信息,干扰较少,因此二维红外图像更有利于提取标记区域。第一识别单元330对获取的像素进行连通域检测,得到多个连通域,连通域是若干个连续的像素组成的集合。
本实施例中,预先建立颜色模型。例如标记区域的色彩为红色,则预先建立红色模型,该模型中像素的RGB值分量可在200到255之间,G、B分量可接近于零;获取采集的图像中满足该红色模型的RGB值的像素即为红色像素。
由于标记区域的大小和形状应大致是固定不变的,第一识别单元330在对获取的像素进行连通域检测时,可计算得到获取的像素中的所有连通域的周长和/或面积。具体的,连通域的周长可为连通域边界像素的个数,连通域的面积可为连通域中的全部像素的个数。进一步的,第一识别单元330可将获取的连通域的周长和/或面积与预设标记区域的周长和/或面积进行对比,获取满足预设标记区域的周长和/或面积的连通域即为标记区域。优选的,第一识别单元330还可将周长的平方与面积的比值作为判断准则,连通域的该比值满足预设标记区域的该比值,则该连通域为标记区域。
在一个实施例中,如图5所示,标记设有一个,则采集到的图像中的标记区域为一个连续区域,则第一识别单元330计算得到像素坐标的协方差矩阵,获取协方差矩阵最大特征值对应的特征向量,根据特征向量产生标记区域的姿态,该标记区域的姿态为一个姿态角。
具体的,如图6所示,构建二维图像坐标系,对于该坐标系上的两个点A(u1,v1)和B(u2,v2),其形成的姿态角则为斜率的反正切,即arctan((v2-v1)/(u2-u1))。具体的,本实施例中,第一识别单元330计算提取的标记区域中的像素坐标的协方差矩阵,获取协方差矩阵最大特征值对应的特征向量,该特征向量的方向即为标记区域长轴所在直线的方向。如图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)。
在另一个实施例中,如图7和图8所示,标记设有两个,分别为标记1和标记2,则采集到的图像中的标记区域为两个,包括第一连续区域和第二连续区域,则第一识别单元330根据像素坐标计算第一连续区域的重心和第二连续区域的重心,根据第一连续区域的重心的像素坐标和第二连续区域的重心的像素坐标产生标记区域的姿态。具体的,第一识别单元330计算连续区域中的全部像素坐标的平均值,所得到的像素坐标即为连续区域的重心。如图6所示,计算得到的两个连续区域的重心分别为A(u1,v1)和B(u2,v2),则标记区域的姿态角为斜率的反正切,即arctan((v2-v1)/(u2-u1))。
第二识别单元350,用于对图像进行分割,提取所述图像中的连通域,计算连通域的属性值,将连通域的属性值与预设的标记区域属性值进行对比,标记区域为符合预设的标记区域属性值的连通域,以及获取标记区域中的像素坐标,根据像素坐标产生标记区域的姿态。
具体的,当三维深度图像中两个相邻的像素深度相差小于预先设定的阈值时,例如5厘米,则认为两个像素连通,对整个图像进行连通域检测,可得到包含标记区域的一系列连通域。
本实施例中,连通域的属性值包括连通域的尺寸和形状。具体的,第二识别单元350计算连通域的尺寸/形状,与预设的标记区域的尺寸/形状进行对比,得到符合预设的标记区域的尺寸/形状的连通域即为标记区域。以矩形标记为例,即交互设备上的反光材料在采集的图像中为矩形,预先设定好标记的长度和宽度,第二识别单元350计算连通域对应的物理区域的长度和宽度,该长度和宽度与标记的长度和宽度越接近,则连通域与标记区域越相似。
进一步的,第二识别单元350计算连通域像素的三维坐标的协方差矩阵,采用如下公式计算连通域对应的物理区域的长度和宽度:其中,k为预先设定的系数,例如设为4,当λ为协方差矩阵最大特征值时,则l为连通域的长度,当λ为协方差矩阵第二大的特征值时,则l为连通域的宽度。
进一步的,还可预先设定矩形标记的长宽比,例如长宽比为2,则连通域对应的物理区域的长宽比越接近于预设设定的矩形标记的长宽比,则连通域与标记区域越相似,具体的,第二识别单元350采用如下公式计算连通域对应的物理区域的长宽比:其中,r为连通域的长宽比,λ0为协方差矩阵的最大特征值,λ1为协方差矩阵的第二大特征值。
具体的,本实施例中,标记区域的姿态为姿态向量。如图9所示,构建三维图像坐标系,该坐标系为右手坐标系。在该坐标系中,设空间向量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可用如下公式唯一确定:
本实施例中,提取标记区域后,第二识别单元350计算得到标记区域中的像素坐标的协方差矩阵,获取协方差矩阵最大特征值对应的特征向量,并将该特征向量转换为姿态向量。具体的,设得到的姿态向量为[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。
在一个实施例中,如图5所示,标记设有一个,则采集到的图像中的标记区域为一个连续区域,则第二识别单元350计算得到像素坐标的协方差矩阵,获取协方差矩阵最大特征值对应的特征向量,根据特征向量产生标记区域的姿态。如上所述,该标记区域的姿态为一个姿态向量。
在另一个实施例中,如图7和图8所示,标记设有两个,分别为标记1和标记2,则采集到的图像中的标记区域为两个,包括第一连续区域和第二连续区域,则第二识别单元350根据像素坐标计算第一连续区域的重心和第二连续区域的重心,根据第一连续区域的重心的像素坐标和第二连续区域的重心的像素坐标计算标记区域的姿态。如图9所示,本实施例中,标记区域中的像素坐标为三维坐标,具体的,可根据计算得到的两个连续区域的重心的像素坐标产生标记区域的姿态,该姿态为一个姿态向量。
如图16所示,在一个实施例中,指令生成模块40包括第一姿态获取模块402和第一指令查找模块404,其中:
第一姿态获取模块402,用于从姿态识别模块30中获取当前帧图像中的标记区域的姿态。
具体的,该姿态可以是当前帧的二维图像中的标记区域的姿态角,也可以是当前帧的三维深度图像中的标记区域的姿态向量。本实施例中,预先设定了姿态与控制指令之间的映射关系。该姿态也可称为绝对姿态。
第一指令查找模块404,用于根据预设的姿态与控制指令之间的映射关系生成与姿态对应的控制指令。
本实施例中,所采集的包含标记区域的图像可以是图像序列。第一姿态获取模块402还用于从姿态识别模块30中获取当前帧图像中的标记区域的姿态与上一帧图像中的标记区域的姿态之间的相对姿态。第一指令查找模块404还用于根据预设的相对姿态与控制指令之间的映射关系生成与相对姿态对应的控制指令。
在另一个实施例中,所采集的包含标记区域的图像可以是图像序列,如图17所示,指令生成模块40包括第二姿态获取模块410和第二指令查找模块420,其中:
第二姿态获取模块410,用于从姿态识别模块30中获取当前帧图像中的标记区域的姿态与上一帧图像中的标记区域的姿态之间的相对姿态。
第二指令查找模块420,用于根据预设的相对姿态与控制指令之间的映射关系生成与相对姿态对应的控制指令。
上述家用电器控制方法及系统,通过交互设备产生姿态,采集交互设备的图像,进而根据采集到的交互设备的图像识别出交互设备中标记区域所产生的姿态,并生成控制指令,通过姿态对应的控制指令对家用电器进行控制,因此,通过交互设备产生姿态即可实现家用电器的控制,不需要所有的家用电器均拥有红外遥控功能,扩大了智能家居的应用范围。
上述家用电器控制方法及系统,通过交互设备产生的姿态进行家用电器的控制,需要在交互设备中设置按键,简化了操作上的方便性。
上述家用电器控制方法及系统,通过交互设备的指向实现家用电器的选取,并在屏幕中展示控制家用电器所对应的姿态,使得用户能够直观并且便捷地进行交互,更为方便地实现家用电器的控制。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。