技术领域
本发明涉及虚拟现实技术、机器视觉及模式识别领域,尤其涉及一种基于单目视 频人体动作感知的上肢训练系统。
背景技术
随着社会的进步,人们越来越多的关注健康问题,大量的肢体训练方法也随之产 生。但多数专业训练项目主要集中于健身场所,费用高昂且体积较大的训练设施不利于家 庭的购置。一些无需训练器材的家庭训练方法由于单调乏味,经常造成使用者的厌烦情绪 而中途放弃。因此,开发一套可以用于日常训练,且不乏趣味的训练系统是极为必要的。人 机交互技术的出现给此类问题的解决提供了可能。
伴随着世界上第一台计算机的问世,人机交互技术成为人类与计算机进行通信交 互的通道,逐渐在各领域得到广泛关注,并且始终伴随着计算机的发展而发展。二十一世纪 以来,多通道、多媒体的智能人机交互开始出现,这种交互方式是用例如:语音、手势、姿态、 表情等人体感觉和动作作为输入通道,以并行的方式与计算机进行交互。人体作为计算机 的输入,不再需要中间的媒体就可以实现和计算机的通讯,具有自然、直观、易于学习等优 点。
目前的人机交互技术主要分为基于依附性传感器设备和基于视觉两种方式。依附 性传感器设备通过在使用者身上安放一些传感器来获取使用者的空间和运动信息,进而作 为输入实现交互控制。但基于视觉的方法是一种无接触的信息获取手段,较少地限制用户 的运动,更适于提供自然的交互控制。基于人机交互技术的系统需要用户为被控单位提供 指令来进行控制,即要通过传感器来获取人体的信息,经计算机处理后形成指令传输。
人机交互技术使人们可以通过虚拟游戏模拟现实训练场景,从而为参与者提供相 对“真实”的训练环境,给予参与者极强的沉浸感与兴趣度,让使用者获得更好的训练体验。 因此,基于人机交互技术设计一套操作简便、参与度高、训练方式丰富的训练系统是十分有 意义的。
发明内容
本发明提供了一种基于单目视频人体动作感知的上肢训练系统,本发明搭建了方 便使用的新型上肢训练系统,该训练系统建立在视觉运动捕捉的基础上,利用人机交互的 手段实现使用者和游戏的交互,从而在游戏中达到上肢训练效果,详见下文描述:
一种基于单目视频人体动作感知的上肢训练系统,包括:计算机,所述上肢训练系 统还包括:与计算机进行视频数据传输的视频摄像头;
所述视频摄像头,用于捕捉人体的运动,通过USB传输所述视频数据;
所述计算机,用于接收所述视频数据,并对所述视频数据进行分析,完成手部运动 轨迹跟踪,通过跟踪的结果识别手势动作;
所述计算机,还用于实现与游戏平台的交互,获取训练评价参数,反馈给使用者。
其中,所述对所述视频数据进行分析,完成手部运动轨迹跟踪具体为:
利用H分量的颜色直方图的反投影图像建立手部颜色的概率分布图像,并计算质 心,得到初始跟踪位置;
通过Camshift算法对以后的每一帧图像自动调整搜索目标位置及窗口,确定每一 帧中目标的位置,获取手势图像,从而实现对目标的跟踪。
其中,所述通过跟踪的结果识别手势动作具体为:
通过聚类分析对手势图像进行分割,获取分割后的手势图像;
提取分割后的手势图像轮廓,选取线特征来表征手势的边界图像信息;
对傅里叶描述子进行归一化处理,通过傅里叶描述子从边界图像信息中提取边界 特征;
通过模式识别对边界特征进行分类判别,从而判断出手势的种类。
其中,所述训练评价参数具体为:获取关节角度。
在获取关节角度之前,所述训练系统还包括:采用帧间差分法对运动上肢进行检 测。
进一步地,所述获取关节角度具体为:
构建运动上肢骨架模型;
采用霍夫变换对检测出运动的上肢进行直线拟合,拟合直线与垂直方向的夹角即 是要获取的关节角度。
进一步地,所述训练系统还包括:
根据关节角度的变化来评价使用者的训练效果,给予合理的后期训练建议。
本发明提供的技术方案的有益效果是:
1、该训练系统不仅能够具有定量评价体系,而且能够激发使用者的训练主动性, 弥补现有训练手段的不足,使其能够应用于社区和家庭。
2、传统的上肢训练不但操作繁琐,而且容易使使用者产生厌烦感,进而影响训练 效果。该训练系统的虚拟现实技术沉浸感强,增加了训练过程的趣味性和使用者的积极性; 同时虚拟现实技术增加了使用者训练过程的安全性;并且一些具体的训练辅具可以用虚拟 的物品替代,节省训练所需的人力物力。
3、该训练系统可以用于日常家庭上肢训练,评估训练效果等;有望获得可观的社 会效益和经济效益;其应用前景广泛,甚至可以应用于康复治疗领域。
附图说明
图1为基于单目视频人体动作感知的上肢训练的示意图;
图2为一种基于单目视频人体动作感知的上肢训练系统的结构示意图;
图3为手势边界提取示意图;
图4为人体骨架模型示意图;
图5为上肢局部坐标模型。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步 地详细描述。
本发明实施例主要采用机器视觉系统和跟踪系统。其中,机器视觉系统(例如摄像 机)常常被用来提高位置估计的准确度。根据是否在肢体上依附标记物,跟踪系统可以分为 有可视标签的和无标签的。本发明实施例提供的训练系统采用有标签的跟踪方式,以简化 算法复杂度,提高运算速度。
实施例1
一种基于单目视频人体动作感知的上肢训练系统,参见图1和图2,该上肢训练系 统包括:
视频摄像头1作为数据采集设备,用于捕捉人体的运动,通过USB传输视频数据;
计算机2接收视频摄像头1传输的视频数据,并通过软件平台对视频数据进行分 析,完成手部运动轨迹跟踪,识别手势动作;同时实现和游戏平台的交互,获取训练评价参 数,反馈给使用者。
具体实现时,该上肢训练系统包括:
1)搭建软硬件平台:
设计规定人体动作,在游戏系统的操作说明指导下完成规定的动作。
2)通过视频摄像头1采集使用者的动作视频,实时地进行一部分数据的处理。
例如:运动追踪和手势的识别,将识别后的操作指令传输给游戏,完成相应游戏任 务。同时对存储的视频数据进行分析,得到训练效果评价参数,根据评价结果给出更加科学 的训练建议。以此搭建一套基于单目视频人体动作感知的上肢训练系统。
综上所述,本发明实施例通过上述的视频摄像头1、以及计算机2用人机交互的手 段在游戏中达到上肢训练的效果。
实施例2
下面结合图3、图4、图5、数学公式、以及游戏平台对实施例1中的系统方案进行详 细的描述,详见下文:
参见图1,该上肢训练系统由数据采集、训练及评价这两个模块构成。
数据采集模块使用视频摄像头1采集位于特定位置(例如:当人体高度为H时,摄像 头放置高度应为Z=0.63H,使用者应处位置为D=f*0.63H/240,其中f为摄像头的焦距)上 的使用者的上肢运动视频,传送给计算机2,经计算机2主板上的视频采集卡的数字化和编 码后,被软件平台调用分析。这一部分为上肢训练系统输入数据,属于前端部分。
训练及评价模块主要包含:手势跟踪、手势识别、游戏平台以及训练效果评价等。 通过手势跟踪来获取手部在图像中的实时位置,经socket通信,控制游戏平台中的目标对 象,实现和游戏的交互。手势识别是对上肢训练系统的功能扩展模块,将识别结果转化为控 制命令控制游戏的开启、暂停、停止等,使得游戏交互更加人性化、智能化。游戏平台是训练 作业的游戏化,是人机交互的对象,也是帮助使用者产生训练主动性的主要元素。游戏平台 可为参与者提供虚拟训练场景,使参与者产生沉浸感,而周围环境的实际情况可能只是一 个空旷的房间,减少了使用者由于训练动作幅度过大意外撞击训练设施的可能性,安全性 更高。同时,虚拟游戏可以提供大量的虚拟训练工具,为使用者提供更多选择,无需如现实 环境中当需要多种训练方案时,需要准备过多器材,耗费大量人力物力。训练效果评价功能 则是为使用者提供信息反馈,帮助使用者通过上肢训练系统给出的评价制定下一步训练目 标。
其软硬件的具体参数如下:
(1)上肢训练系统的硬件配置
1)视频摄像头1,作为数据采集装置(即数据采集模块),感知使用者的运动,是上 肢训练系统必不可少的输入设备;
2)图像处理器,摄像头通过USB连接到图像主处理器上,完成算法运算;
3)显示设备,显示采集到的视频图像,该上肢训练系统采用普通PC机。
具体实现时,图像处理器以及显示设备均可以通过计算机2来完成,本发明实施例 对此不做限制。
由于视频跟踪及人机交互技术还有很多挑战,本发明实施例中对视频摄像头1和 使用者都做了相应的限制。
(2)软件实现
Windows具有良好的人机交互界面及开放的应用软件开发平台,该上肢训练系统 使用Windows系统下的VisualStudio2010作为编程环境。软件部分主要负责实现运动手势 的跟踪及简单静态手势的识别。此外,也实现了视频数据的存取、跟踪结果的存取、传输。该 上肢训练系统基于Opencv2.4.3和VisualStudio2010联合编程实现。
该上肢训练系统中主要技术实现方法如下:
1、基于Camshift的运动跟踪
1)颜色模型变换
本发明实施例中,采用视频摄像头1采集图像时,彩色图像使用的是RGB模型,这种 颜色模型是基于视觉三原色原理的,三个颜色分量互有关联,不宜用来衡量空间中两点颜 色的相似性,且光照亮度的变化也会对各颜色分量产生影响。而HSV颜色模型,是人类对色 彩的直观感觉,被称为知觉颜色系统,与RGB模型相比,HSV颜色空间具有两个特点:(1)V分 量和图像色彩信息无关;(2)H分量、S分量与人对颜色的主观感受关系密切。这些特点使得 HSV颜色模型更适合应用于基于运动目标颜色的Camshift算法。因此,视频采集到的图像首 先进行RGB颜色空间到HSV颜色空间的转换。
2)Camshift算法及实现
转换后的视频图像将通过Camshift算法进行手部运动的跟踪。Menshift算法是 Camshift算法的核心,它是一种迭代算法,将其在连续图像序列中进行扩展就是Camshift 算法。Meanshift算法实际上是根据优化算法中的最速下降法,寻找跟踪目标。在起始跟踪 图像中,选择合适的搜索窗口。计算搜索窗口内图像的直方图分布,获得颜色概率分布图。 以相似性最大的原则,使搜索窗口能够沿概率密度增加最大的方向运动,最终收敛于最佳 位置。
Meanshift向量计算公式为:
M h ( x ) = 1 k Σ x i ∈ S h ( x i - x ) - - - ( 1 ) ]]>
上式中,Mh(x)为Meanshift向量;xi为d维空间中样本点,且落入区域Sh;x为d维空 间中某一固定点;k表示在n个样本点xi中,有k个样本落入Sh区域。
Sh是一个半径为h的高维球区域,满足以下关系的y点集合:
Sh(x)={y:(y-x)T(y-x)≤h2}(2)
其中,y为满足(y-x)T(y-x)≤h2约束关系的所有点的集合。公式(1)定义的 Meanshift向量Mh(x),是对落入区域Sh中的k个样本点相对于点x的偏移向量xi-x求均值。
由梯度的定义可知,概率密度增加最大的方向为概率密度梯度指向的方向。从平 均的角度来看,对于从一个概率密度函数f(x)中采样得到的样本点xi,Sh区域内的样本点主 要集中在概率密度梯度的方向上。由此可知,Meanshift向量Mh(x)实际上是和概率密度梯 度方向相同的,即Meanshift迭代过程实际上就是沿着概率密度的梯度方向移动,按照梯度 上升原则最终搜索到概率密度的峰值。Camshift算法则是连续自适应的Menshift算法。对 视频图像的所有帧作Meanshift运算,并将上一帧的结果作为下一帧Meanshift算法搜索窗 的初始值,而后依次在图像序列中寻找目标。
总结运动跟踪的实现过程为:首先读取摄像头采集到的视频初始图像,并转换到 HSV颜色空间,只得到H分量的图像,手动初始化搜索窗,确定跟踪目标,利用H分量的颜色直 方图的反投影图像建立手部颜色的概率分布图像,并计算质心,得到初始跟踪位置。随后通 过Camshift算法对以后的每一帧图像自动调整搜索目标位置及窗口,确定每一帧中目标的 位置,从而实现对目标的跟踪。整个跟踪过程,鲁棒性较好,且计算量较少,便于实时实现, 结果稳定。
运动跟踪的目的是获得带有标记物的手部实时位置坐标,通过通信的方式,作为 游戏平台输入,进而控制游戏中目标的位置,实现和游戏的交互。
2、手势识别
1)手势图像分割
如上所述,HSV颜色分量中的H分量表征图像的色彩信息,因此采用手势图像H分量 的聚类特性进行阈值分割,方便提取出手势特征。要求使用者手上带有彩色手套,使其与背 景有颜色差异,从而方便通过Kmeans聚类算法获得彩色手套的H分量的阈值范围,进而完成 手势的分割。
聚类分析是根据事物本身的特性来对个体进行分类的方法,聚类原则是使同类中 的个体有较大的相似性,而不同类中的个体有较大差异性。聚类分析研究的是分类问题,其 按照一定规则把性质相似的对象归为一类。聚类运算根据对变量或样品进行分类以达到组 内同质、组间异质的目的。
经常采用的形似度测度准则有:
欧氏距离:
d ( x i , x j ) = [ Σ k = 1 p ( x i k - x j k ) 2 ] 1 / 2 - - - ( 3 ) ]]>
其中,xi,xj分别为图像中两点坐标向量;xik,xjk分别为两点第k维坐标;P为坐标维 度上限。
该方法具体流程为:将图像中的数据信息分成两类,数据为data[n],从n个数据中 随机选择k个数据作为初始聚类中心;计算剩下的数据与初始聚类中心的相似度(本发明实 施例采用欧氏距离作为相似原则进行归类);然后重新计算每一类的新聚类中心,不断重复 直到满足收敛条件。
2)手势图像的边界提取
分割后的手势图像在轮廓上有明显的差异,可以作为后期分类识别的特征。因此 本发明实施例中提取手势的轮廓,选取线特征来表征手势的信息。轮廓的提取实质是边界 的提取,从一个起始点出发,在四邻域或八邻域内逐点寻找边界,直到跟踪回到起始点。
参见图3,选择八邻域作为搜索方向范围,具体的边界获取算法为:首先从起始A点 开始,定义初始搜索方向,本发明实施例为左上方,A点处1箭头方向;若该方向上的邻点为 黑点,则表明找到边界点,并标记;否则搜索方向顺时针旋转45°,直到找到第一个边界黑点 为止,图中起始点A右上方3箭头所指点B即为所搜寻到的第一个边界点;然后以这个边界点 为新的起点,在当前搜索方向的基础上逆时针旋转90°,以此为方向重新进行上述搜索;当 搜索回到起始点时停止搜索,也就完成了边界轮廓提取。
3)基于傅里叶描述子的特征提取
计算机无法直接分析提取到的边界图像信息,需将其转换到特征空间才能继续进 行处理。因此,本发明实例通过傅里叶描述子方法获得边界的特征信息。傅立叶描述子的基 本思想是将目标轮廓曲线建模成一维序列,对该序列进行一维的傅里叶变换,从而获得一 系列的傅里叶级数,来描述该目标轮廓。傅立叶级数中的一系列系数是与边界曲线的形状 有关的特征值,称为傅立叶描述子。当系数项取到足够阶次时,可以用它恢复出物体的形 状。
傅里叶描述子和图像的尺度、方向以及边界曲线的起始点等因素有关。为了消除 这种关联,需要对傅里叶描述子进行归一化处理,使获得的识别特征向量满足旋转、平移和 尺度不变性。
4)基于模板匹配的手势识别
基于傅里叶描述子取出的特征可以通过模式识别方法进行分类判别,从而判断出 手势的种类,以便输出不同的控制指令。本发明实例中使用模板匹配方法进行分类识别。模 板匹配方法适合于小样本学习,通过训练学习得到各类的模板,而后将当前待区分的样本 与模板库中的模板进行匹配,得到待分类样本与模板之间的距离。基于模板匹配的识别方 法因其简单快速,在实时性要求较高的系统中得到广泛的应用。本发明实施例利用欧式距 离来判定样本特征和模板之间的距离。
对于手势类别,其模板可以通过先验的特征数据来得到。对于特征维度为d的特征 向量Xi=(x1,x2,...,xd),i=1,2,...N,其中N为待区分的手势种类。随机选取m个已知分类 样本,计算其样本均值,将其作为该类的模板Temi。计算公式为:
Tem i = 1 m Σ j = 1 m X i j , i = 1 , 2 , ... N - - - ( 4 ) ]]>
其中,j为幂。
对于任一个待区分样本yk,计算待区分样本yk与第i类模板Temi之间的欧式距离 Diski,公式如下:
Diski=||yk-Temi||,i=1,2,...N(5)
其中,||||为取模。而后求出Diski的最小值所在的类别,则将待区分样本yk归为 这一类。
以上便是手势识别核心算法。手势识别是对游戏控制的一种功能扩展,可以将识 别结果转化为控制命令控制游戏基本菜单命令,如开启、暂停、停止,使得游戏交互更加人 性化和智能化。
3、训练效果评价模块
对于上肢训练系统而言,除了能够让使用者产生主动性的训练,还需要定量化的 指标来对训练后的效果进行评价。关节角度是上肢训练后极其重要的评定指标之一。本发 明实施例考察的关节为肘关节和肩关节,计算的关节角度为肘关节矢状面、肩关节冠状面、 肩关节矢状面等三种模式的关节角度。
1)基于帧间差分法运动上肢检测
在获取关节角度之前,需要对运动上肢进行检测。本发明实施例采用帧间差分法 对运动上肢进行检测。
对于背景静止的图像序列来说,随着时间的推移,目标的移动,使采集到的目标图 像是变化的。在环境变化不大的情况下,目标和背景的色彩发生了变化,产生了色差。因此, 可以依据此来检测出运动目标,计算视频序列中连续的两帧或几帧图像的差异,如果灰度 变化较大,则认为有运动目标。通过差分图像可以观察这些变化,也可以利用这些变化分析 出运动的目标。
帧间差分法检测运动目标的一般步骤为:首先将视频图像序列中的连续相邻两帧 图像作差分并取绝对值,得到差分图像,然后对差分图像进行二值化,之后利用形态学滤波 去掉噪声。
如果外界光照条件未变化或变化不大,则视频序列相邻的两帧,可以表示为:
fk(x,y)=Mk(x,y)+Bk(x,y)+nk(x,y)(6)
fk+1(x,y)=Mk+1(x+Δx,y+Δy)+Bk+1(x,y)+nk+1(x,y)(7)
式中,fk(x,y)为当前帧图像函数;Mk(x,y)为当前帧图像中运动目标分量;Bk(x,y) 为当前帧图像中背景分量;nk(x,y)为当前帧图像中噪声分量;fk+1(x,y)为下一帧图像函 数;Mk+1(x+Δx,y+Δy)为下一帧图像中运动目标分量;Δx、Δy为运动目标变化偏移量;Bk+1(x,y)为下一帧图像中背景分量,根据假设,其为近似恒定值;nk+1(x,y)为下一帧图像中噪 声分量,根据假设,其亦为近似恒定值。
下式给出相邻两帧图像的差分图像:
Maskdiff(x,y)=fk+1(x,y)-fk(x,y)
(8)
=[Mk+1(x+Δx,y+Δy)-Mk(x,y)]+[Bk+1(x,y)-Bk(x,y)]+[nk+1(x,y)-nk(x,y)]
其中:Mk+1(x+Δx,y+Δy)-Mk(x,y)是由运动目标引起的图像变化;Bk+1(x,y)-Bk(x, y)为相邻帧间背景差;nk+1(x,y)-nk(x,y)为相邻帧间的噪声。
利用公式(8)计算第k帧与第k+1帧的差分图像可以表示二者之间的差别,然后选 择合适的阈值对差分图像进行二值化处理进而获得运动目标。
2)运动上肢骨架模型
以人体的先验知识作为基础,人体模型可以表示人体各个部分的形状、大小以及 连接关系。目前研究者将人体模型主要分为:骨架模型、纸板模型、圆柱模型、圆台模型以及 分层结构化的模型。本发明实施例采用通用人体骨架模型完成后续工作,其示意图如图4所 示。
本发明实施例主要针对上肢训练使用者,因此关注重点也集中于人体上肢的运 动,获取的是肩关节和肘关节的关节角度。上肢的局部坐标系如图5所示,前臂和后壁可以 看作是一个圆柱体,在肘关节处连接。肩关节坐标为(x1,y1,z1),肘关节坐标为(x2,y2,z2)。
受单目视觉的限制,本发明实施例限定人体竖直站立,运动平面和摄像头平面平 行,肩关节的运动角度就可以看作是上肢与垂直方向的夹角。同样,肘关节获取时,保持上 臂垂直,则肘关节的运动角度就可以看作为前臂与垂直方向的夹角。这样,就可以忽略单目 视觉无法获得深度信息的弊端,在二维坐标系中获取角度。该方法易于理解、实现简单,将 关节角度获取转化为运动上肢与垂直方向的夹角。
3)基于霍夫变换直线检测的角度提取
在利用帧间差分法对运动上肢进行了检测后,可使用霍夫(Hough)变换对检测出 运动上肢进行直线拟合。拟合直线与垂直方向的夹角即是要获取的关节角度。Hough变换直 线检测是图像分割和处理中常用到的直线检测方法,其基本思想是点线的对偶性,即图像 空间中共线的点变换到参数空间里,是相交的线;而同时,参数空间中相交于同一个点的所 有线则对应着图像空间里共线的点。这样,原图中特定形状曲线的检测问题就可以转化为 在参数空间中寻峰的问题。
设图像空间中一个像素点的位置坐标为(x0,y0),那它在参数空间(通常用极坐标 空间)中对应着一条曲线,即标准坐标系中的点(x0,y0)与极坐标系中的正弦曲线相对应。
r=x0cosθ+y0sinθ(9)
如果图像空间中有共线的N个点,那么它们在参数空间中有N条正弦曲线相较于一 点。因此,将图像空间中所有有效像素均映射到参数空间,在参数空间中通过某交点的正弦 曲线越多,则此点极有可能对应图像空间中的直线。将较多正弦曲线通过的交点称做兴趣 点,对通过该点的正弦曲线进行累加统计实现直线检测。
在对图像进行直线检测前,一般需要对图像进行二值化和边缘检测,其后对边缘 检测后的结果进行Hough变换,得到直线检测结果。Hough变换的一般步骤为:
(1)量化变换空间(r,θ)。
(2)构造累加数组A(r,θ),变换空间中各点的位置用元素的下标表示,其元素值为 对通过该点的曲线条数的累加。初始值为0.
(3)寻找累加数组中的峰点。峰点的位置即为图像空间中共线的参数,峰的大小表 示共线点的多少。
通过Hough变换方法可以得到训练视频图像中上肢每一时刻的关节角度,同时根 据关节角度的变化来评价使用者的训练效果,给予其更合理的后期训练建议。
综上所述,本发明实施例设计了一种基于单目视频人体动作感知的上肢训练系 统,该系统可以用于日常家庭上肢训练,评估训练效果等;进一步研究可以得到更加完善的 上肢训练系统,有望获得可观的社会效益和经济效益;且其应用前景广泛,甚至可以应用于 康复治疗领域等。
本发明实施例对各器件的型号除做特殊说明的以外,其他器件的型号不做限制, 只要能完成上述功能的器件均可。
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例 序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。