欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种集成成像显示系统中实现动态手势识别与控制方法独创技术19650字

一种集成成像显示系统中实现动态手势识别与控制方法

2021-02-09 22:47:53

一种集成成像显示系统中实现动态手势识别与控制方法

  技术领域

  本发明属图像处理技术领域,具体涉及一种集成成像显示系统中实现动态手势识别与控制方法。

  背景技术

  当今社会,人们观看大屏幕三维内容和场景的需求与日俱增,如观看3D电影、3D游戏体验等等。然而,许多3D电影都是使用复杂的3D视频捕捉和立体摄影技术制作的。在观看3D图像或视频时,视觉疲劳和不适仍然是不令人满意的体验,而且大部分场景观看者还要佩戴厚重的3D眼镜,这一系列问题阻碍了3D服务的广泛推广。另外,计算机人机交互技术已经取得一定成就,而体感识别技术也渐渐在人机界面中发挥着非常关键的作用及价值。体感手势识别技术是体感识别技术的主要技术,其操作方式非常灵活,并且和人类思维更加契合,和人类的使用习惯更加贴近,是现今相关领域的研究重点。

  发明内容

  针对目前已有技术存在的缺陷,如观看三维立体图像时配戴眼镜的不适感,以及无法随意控制三维立体图像的移动,提供一种集成成像显示系统中实现动态手势识别与控制方法。

  本发明的一个目的在于克服观看三维场景需要佩戴3D眼镜等设备所造成的不适感以及视觉疲劳等问题,所提出的方法为裸眼3D提供了可能并提供了一套完整的流程。

  本发明的另一个目的在于,使手势的控制无需借助鼠标等其他外部设备,只需在空中做出手势即能控制三维物体的移动。

  本发明的一种集成成像显示系统中实现动态手势识别与控制方法,包括下列步骤:

  1.1使用相机阵列对人或静物进行图像采集,包括下列步骤:

  1.1.1服务器6端利用相机标定软件Calibration获取16台相机2的内部参数,对偏离位置的相机进行手动微调,微调结束后再次对相机阵列进行标定;

  1.1.2拍摄对象要站立或坐在舞台4正中央,上肢能随意移动,目视前方,然后,启动StreamPix软件进行图像采集;

  1.1.3调用畸变校正软件VideoDistortion对图像或者视频进行畸变校正,校正后的图像以bmp文件格式存储为16个视点图像;

  1.2对所拍摄的16个视点图像进行前景分割与深度估计,包括下列步骤:

  1.2.1使用全卷积神经网络FCN,对视点图像直接进行像素级别的语义分割,基于CNN来实现;

  1.2.2采用基于EPI的光场深度估计方法,首先提取图像阵列的EPI,构建并最小化能量函数优化深度图,以得到最终的深度图;

  1.3对深度估计后的视点图像进行三维重建,在得到视点图像深度图后,通过由图像坐标系--世界坐标系的坐标转换得到点云图像,变换的约束条件为相机的内参,公式如下:

  

  其中:x,y,z为点云坐标系;x′,y′,z′为世界坐标系;D为深度值,在得到点云数据后,想要得到更直观的三维模型,需使用贪婪投影三角化算法将点云三角网格化,贪婪投影三角化算法的步骤如下:

  (1)选取投影平面z=0,将散乱点云投影至该平面;

  (2)使用Delaunay生长算法构造平面三角网;

  1.4运用DIBR技术,根据已拍摄的16个真实视点图像的深度信息,得到更多虚拟视点的深度信息,每一个虚拟视点,都是根据距离它最近的四个真实视点生成;

  1.5服务器6端的计算机将生成的多视点图像信号转换为网络信号发送给LED显示屏,位于LED显示屏前端的柱透镜光栅将显示屏发出的光线光学解码会聚于中心深度平面,形成立体图像;

  1.6使用Kinect传感器及神经网络模型对手势进行识别及训练,包括下列步骤:

  1.6.1将Kinect传感器放置于LED屏幕的前方或一侧,获取人体手部的深度信息,对人体手部实现准确、实时地定位跟踪;

  1.6.2使用双边滤波器,在预处理阶段需要对深度图像进行噪声的滤波操作;

  1.6.3在OpenCV平台上,运用CamShift算法,得到多个动态手势点的具体位置;对于CamShift算法的具体执行,分为三个部分:

  一、彩色投影图--反向投影:

  (1)RGB颜色空间对光照亮度变化较为敏感,为了减少此变化对跟踪效果的影响,首先将图像从RGB空间转换到HSV空间;

  (2)对其中的H分量作直方图,在直方图中代表了不同H分量值出现的概率或者像素个数,就是说能查找出H分量大小为h的概率或者像素个数,即得到了颜色概率查找表;

  (3)将图像中每个像素的值用其颜色出现的概率对替换,就得到了颜色概率分布图;这个过程就叫反向投影,颜色概率分布图是一个灰度图像;

  二、meanshift算法:

  meanshift算法是一种密度函数梯度估计的非参数方法,通过迭代寻优找到概率分布的极值来定位目标,meanshift算法过程为:

  (1)在颜色概率分布图中选取搜索窗W;

  (2)计算零阶距:

  M00=∑x∑yI(x,y)(b)

  其中:x,y为搜索窗中像素点的横、纵坐标;

  计算一阶距:

  M10=∑x∑yxI(x,y);M01=∑x∑yyI(x,y) (c)

  其中:x,y为搜索窗中像素点的横、纵坐标;

  计算搜索窗的质心:

  

  其中:M00是零阶距;M10,M01是二阶距;

  (3)调整搜索窗的大小,宽度为长度为1.2s;

  (4)移动搜索窗的中心到质心;

  如果移动距离大于预设的固定阈值,则重复meanshift算法过程(2)、(3)、(4),直到搜索窗的中心与质心间的移动距离小于预设的固定阈值,或者循环运算的次数达到某一最大值,停止计算;

  三、camshift算法:

  将meanshift算法扩展到连续图像序列,就是camshift算法;它将视频的所有帧做meanshift运算,并将上一帧的结果,即搜索窗的大小和中心,作为下一帧meanshift算法搜索窗的初始值,如此迭代下去,就可以实现对目标的跟踪;camshift算法过程为:

  (1)初始化搜索窗;

  (2)计算搜索窗的颜色概率分布--反向投影;

  (3)运行meanshift算法,获得搜索窗新的大小和位置;

  (4)在下一帧视频图像中用camshift算法过程(3)中的值重新初始化搜索窗的大小和位置,再跳转到camshift算法过程(2)继续进行;

  由此在得到动态手势的具体信息后,引入马尔科夫模型--HMM,对手势轨迹进行训练和识别;HMM的使用涉及到训练和分类2个阶段.在手势识别系统中,HMM是一个五元组:

  (ΩX,Ω0,A,B,π),

  其中:Ωx={q1,……,qn}代表状态的有限集合,状态数为N,并用qt来表示t时刻的状态;Ω0={V1,……,VM}代表一组可观察值的有限集合,观察值数为M;状态转移分布A={qij},这里aij=P)Xt+1=qj|Xt=qi),1≤i,j≤N;

  状态j的观察概率分布B={bj(k)},表示状态j输出相应观察值的概率,

  其中:bj(k)=P(Ot=Vk|Xt=qj),1≤j≤N,1≤k≤M;

  初始状态分布={πi},πi=P(X1=qi),1≤i≤N,令λ={A,B,π}为给定HMM的参数,令σ=O1,……,OT为观察值序列;HMM模型参数训练采用多观测序列的HMM参数优化方法迭代更新,参数估计过程如下:

  O=[O(1),O(2),……,O(K)]

  其中:k为观测序列的个数;

  

  Oi为第i个观测序列,HMM参数的优化过程就是调节参数λ={A,B,π}使下列公式(e)概率最大化;

  其中:A是一个N*N的状态转移矩阵,它表示各隐含状态之间相互转换的概率;B是一个N*M的状态转移矩阵,它表示可观测状态之间相互转换的概率,初始状态为π;

  

  取初始状态概率分布为Π=(1,0,…,0),π1=1,πi=0,i≠1,所以πi不用重新估计;迭代更新,相邻2次输出的概率之差的绝对值与它们绝对值的平均值之比小于5×10-4时停止迭代,即最大的输出概率,表明完成训练;接下去的识别过程采用Viterbi算法,比较已经训练好的HMM模型参数集和测试集,计算似然度,选择条件概率最大的轨迹序列类别作为识别结果,此时得到的路径为最优路径;设置固定的对三维图像控制的手势,使用HMM进行训练:向左滑,三维图像向左转动;向右滑,三维图像向右转动;向上滑,三维图像向上转动;向下滑,三维图像向下转动,以上转动都为某一固定角度,每个手势是一个独立的HMM,共训练完成四个HMM;训练完成后即可实现空中手势对LED屏幕中所显示的三维图像的转动控制。

  与现有技术相比本发明的有益效果是:

  本发明由于相机阵列实景拍摄,而非计算机虚拟生成三维内容,可以实现生活中真实物体的三维显示。并且,由于本发明的显示系统采用LED屏幕且分辨率较高,所显示的三维图像较为清晰,且随着观看者的移动,不会产生明显的跳跃感。相比于LCD屏幕拼接时存在明显缝隙,成像最大仅为150英寸,本发明采用LED显示,能够实现更大屏幕的三维成像。

  另外,动态手势识别技术在人机交互的领域中有着非常重要的研究意义以及广泛的应用前景。本发明由于使用Kinect传感器提取手部动作的深度信息,引入隐马尔可夫模型(HMM)对手势轨迹进行训练和识别,可以实现单独使用几种特定手势:向上滑、向下滑、向左滑、向右滑,而不依赖外部设备,对LED屏幕上所显示的三维图像如何转动进行控制。

  附图说明

  图1为一种集成成像显示系统中实现动态手势识别与控制方法的流程图

  图2为图像采集时光场相机的总体装配图

  其中:1.主体框架2.16台相机3.可升降标定板4.舞台5.拍摄对象6.服务器

  图3为使用4×4的相机阵列所采集到的实景人物的16个视点图像

  图4为虚拟试点生成时的具体依据

  具体实施方式

  下面结合附图对本发明作详细的描述:

  参见图1,方法的实现总共包括:图像采集、前景分割与深度估计、三维重建、虚拟试点生成、三维图像的显示、手势识别及训练共六个大步骤。

  对于图像采集步骤,参见图2,在采集过程中,首先,服务器端利用相机标定软件Calibration获取16台相机的内部参数(包括镜头畸变系数、等效焦距以及光轴成像位置)和相机间的相对位置关系,如果获取的位置关系偏离理论值过大,则利用相机标定软件的位置调整功能,对偏离位置的相机进行手动微调,微调结束后再次对相机阵列进行标定。随后,拍摄对象要站立或坐在舞台正中央,上肢能随意移动,目视前方,然后,启动StreamPix软件进行图像采集;最后,调用畸变校正软件VideoDistortion对图像或者视频进行畸变校正,校正后的图像以bmp文件格式存储。所采集到的16个视点图像参见图3。

  对于前景分割与深度估计步骤,基于语意的图像分割效果明显要好于其他的传统算法,本发明使用全卷积神经网络FCN,FCN可以说是深度学习在图像语义分割任务上的开创性工作,其思想很直观,即直接进行像素级别端到端(end-to-end)的语义分割,它可以基于主流的深度卷积神经网络模型(CNN)来实现。对于视点图像的深度估计,采用基于EPI的光场深度估计方法,即首先提取图像阵列的EPI,利用HSPO计算所有深度标签的距离度量,将这两个距离度量根据置信度整合,按深度标签进行引导滤波扩散深度,构建并最小化能量函数优化深度图以得到最终的深度图。

  对于三维重建步骤,在得到上一步生成的深度图后,通过由图像坐标系-世界坐标系的坐标转换得到点云图像,变换的约束条件为相机的内参,公式如下:

  

  其中:x,y,z为点云坐标系;x′,y′,z′为世界坐标系;D为深度值。在得到点云数据后,想要得到更直观的三维模型,需使用贪婪投影三角化算法将点云三角网格化,贪婪投影三角化算法的步骤如下:

  (1)选取投影平面z=0,将散乱点云投影至该平面;

  (2)使用Delaunay生长算法构造平面三角网。

  对于虚拟试点生成步骤,由于相机阵列只采集了16个实际视点,视点过少会导致三维成像效果不佳,需要生成尽可能多的虚拟视点。此步骤所用的方法为DIBR技术,DIBR技术可以看作是一种三维的空间图像变换,在计算机图形学中被称为3D Image Warping技术。核心是深度信息的利用,通过深度信息构建当前视点的三维信息,进而通过映射变换,得到其他视点的三维信息。在本发明中,参见图4,绿色为已拍摄的16个真实视点,我们需要根据这16个已知视点(浅色)的深度信息,构建更多的虚拟视点(深色),每一个虚拟视点,都是根据距离它最近的四个真实视点生成,利用DIBR技术即可实现这一点。

  对于三维图像显示步骤,服务器端的计算机将生成的多视点图像信号转换为网络信号发送给LED显示屏,位于LED显示屏前端的柱透镜光栅将显示屏发出的光线光学解码会聚于中心深度平面,形成立体图像。为保证成像效果,视点数量不能过少,需要保证拥有至少几十个虚拟视点图像。

  对于手势识别及训练步骤,首先将Kinect传感器放置于LED屏幕的前方或一侧,获取人体手部的深度信息,对人体手部实现准确、实时地定位跟踪。由于Kinect传感器采用激光散斑技术,因而获取的深度信息常常包含很大的噪声,因此在预处理阶段需要对深度图像进行噪声的滤波操作。基于Kinect传感器获取的深度图像边缘性很强,深度差大于3-4毫米即被认为具有不同的深度。在降噪的过程中,不仅要保留这些边缘信息,而且要求滤波算法能够达到实时性。综合考虑,本发明采用一种双边滤波器。双边滤波是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折衷处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的。接下来,在OpenCV平台上,运用CamShift算法,得到多个动态手势点的具体位置。对于CamShift算法的具体执行,分为三个部分:

  一、彩色投影图--反向投影:

  (1)RGB颜色空间对光照亮度变化较为敏感,为了减少此变化对跟踪效果的影响,首先将图像从RGB空间转换到HSV空间。

  (2)对其中的H分量作直方图,在直方图中代表了不同H分量值出现的概率或者像素个数,就是说能查找出H分量大小为h的概率或者像素个数,即得到了颜色概率查找表。

  (3)将图像中每个像素的值用其颜色出现的概率对替换,就得到了颜色概率分布图;这个过程就叫反向投影,颜色概率分布图是一个灰度图像。

  二、meanshift算法:

  meanshift算法是一种密度函数梯度估计的非参数方法,通过迭代寻优找到概率分布的极值来定位目标,meanshift算法过程为:

  (1)在颜色概率分布图中选取搜索窗W;

  (2)计算零阶距:

  M00=∑x∑yI(x,y)(b)

  其中:x,y为搜索窗中像素点的横、纵坐标;

  计算一阶距:

  M10=∑x∑yxI(x,y);M01=∑x∑yyI(x,y) (c)

  其中:x,y为搜索窗中像素点的横、纵坐标;

  计算搜索窗的质心:

  

  其中:M00是零阶距,M10,M01是一阶距

  (3)调整搜索窗的大小,宽度为长度为1.2s;

  (4)移动搜索窗的中心到质心,如果移动距离大于预设的固定阈值,则重复meanshift算法过程(2)、(3)、(4),直到搜索窗的中心与质心间的移动距离小于预设的固定阈值,或者循环运算的次数达到某一最大值,停止计算。

  三、camshift算法:

  将meanshift算法扩展到连续图像序列,就是camshift算法。它将视频的所有帧做meanshift运算,并将上一帧的结果,即搜索窗的大小和中心,作为下一帧meanshift算法搜索窗的初始值。如此迭代下去,就可以实现对目标的跟踪;camshift算法过程为:

  (1)初始化搜索窗;

  (2)计算搜索窗的颜色概率分布--反向投影;

  (3)运行meanshift算法,获得搜索窗新的大小和位置;

  (4)在下一帧视频图像中用camshift算法过程(3)中的值重新初始化搜索窗的大小和位置,再跳转到camshift算法过程(2)继续进行。

  由此在得到动态手势的具体信息后,引入马尔科夫模型--HMM,对手势轨迹进行训练和识别;HMM的使用涉及到训练和分类2个阶段.在手势识别系统中,HMM是一个五元组:

  (ΩX,ΩO,A,B,π),

  其中:其中ΩX={q1,……,qn}代表状态的有限集合,状态数为N,并用qt来表示t时刻的状态。ΩO={V1,……,VM}代表一组可观察值的有限集合,观察值数为M。状态转移分布A={aij},这里aij=P(Xt+1=qj|Xt=qi),1≤i,j≤N。状态j的观察概率分布B={bj(k)},表示状态j输出相应观察值的概率,其中bj(k)=P(Ot=Vk|Xt=qj),1≤j≤N,1≤k≤M。初始状态分布π={πi},πi=P(X1=qi),1≤i≤N。令λ={A,B,π}为给定HMM的参数,令σ=O1,……,OT为观察值序列。HMM模型参数训练采用多观测序列的HMM参数优化方法迭代更新,参数估计过程如下:

  O=[O(1),O(2),……O(K)]

  其中:k为观测序列的个数;

  

  Oi为第i个观测序列,HMM参数的优化过程就是调节参数λ={A,B,π}使下列公式(e)概率最大化。

  其中:A是一个N*N的状态转移矩阵,它表示各隐含状态之间相互转换的概率,B是一个N*M的状态转移矩阵,它表示可观测状态之间相互转换的概率,初始状态为π。

  

  取初始状态概率分布为Π=(1,0,…,0),π1=1,πi=0,i≠1,所以πi不用重新估计。迭代更新,相邻2次输出的概率之差的绝对值与它们绝对值的平均值之比小于5×10-4时停止迭代,即最大的输出概率,表明完成训练;接下去的识别过程采用Viterbi算法,比较已经训练好的HMM模型参数集和测试集,计算似然度,选择条件概率最大的轨迹序列类别作为识别结果,此时得到的路径为最优路径。设置固定的对三维图像控制的手势,使用HMM进行训练:向左滑,三维图像向左转动;向右滑,三维图像向右转动;向上滑,三维图像向上转动;向下滑,三维图像向下转动,以上转动都为某一固定角度,每个手势是一个独立的HMM,共训练完成四个HMM;训练完成后即可实现空中手势对LED屏幕中所显示的三维图像的转动控制。

《一种集成成像显示系统中实现动态手势识别与控制方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)