首页 / 专利库 / 天文学 / 星系 / 一种基于虚拟现实与增强现实的采矿操作多交互实现方法

一种基于虚拟现实增强现实的采矿操作多交互实现方法

阅读:910发布:2020-09-06

专利汇可以提供一种基于虚拟现实增强现实的采矿操作多交互实现方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于 虚拟现实 与 增强现实 的采矿操作多交互实现方法,属于虚拟现实、增强现实技术领域,包括虚拟现实与增强现实两种模式,虚拟现实场景下,可以实现虚拟场景中的模型、材质的选择、更换,场景漫游,任意移动摆放模型,视频嵌入,生成二维码,触发器实现自然交互,语音交互等;增强现实场景下,可以选择模型、播放语音、演示模型运行动态以及控 制模 型旋转停止、截图和功能扩展;在两种模式下,实现了语音控制、手势控制以及 键盘 鼠标 控制的多种交互方式。本发明应用于采矿操作的虚拟仿真应用场景,可用于培训矿区开采工人以及采矿工程专业的学生,减少了培训资本,提高了工人的技能,对指导生产施工和科学技术研究提供了先进、快捷的手段。,下面是一种基于虚拟现实增强现实的采矿操作多交互实现方法专利的具体信息内容。

1.一种基于虚拟现实增强现实的采矿操作多交互实现方法,其特征在于:采用井下采矿操作多交互仿真系统,该系统包含虚拟现实模式和增强现实模式两种模式;虚拟现实模式包含特定场景的建模、漫游、模型及其材质的更换、视频嵌入虚拟场景、模型移动、应用场景意向交互、二维码生成以及语音交互;增强现实模式包含模型选择、模型讲解、动态模型演示、手势控制模型交互、截图生成图标、360度旋转以及停止、功能模式切换以及功能扩展;系统设计了两种隐藏菜单,即虚拟现实模式下的更换工具、材质的选择菜单以及增强现实模式下的模型选择类菜单;第一种用户进入特定区域菜单才会显示,离开即会隐藏;第二种点击便可在某处显示二级菜单,再次点击菜单隐藏;
所述的采矿操作多交互实现方法,具体包括如下步骤:
步骤1:矿山开采操作的整个环境场景的搭建
根据井下采矿操作的真实环境,利用建模工具3DMax进行1:1等比建模,实现整个井下采矿操作的环境模拟;利用UE4引擎对模型进行包括创建、编辑贴图以及材质在内的编辑,添加物理碰撞,对整体环境进行灯光、效果光照以及特效添加,并进行烘焙渲染
步骤2:虚拟现实应用场景的漫游
在UE4引擎中,设置键盘上、下、左、右键,绑定Up、Down、Right、Left方向控制函数,为鼠标绑定Turnaround控制函数,实现整个井下采矿操作的虚拟现实场景的漫游;
步骤3:更换井下采矿操作的工具模型以及矿山地质的模拟材质
在虚拟井下矿山开采场景中添加隐藏菜单,当漫游至矿石开采处,会自动出现模型或者材质选择菜单,用户可以根据需求从菜单中选择模型或者材质进行更换;
步骤4:将视频素材嵌入三维应用场景并控制播放、停止
将视频素材嵌入虚拟现实场景,在三维空间中播放,模拟矿山开采环境的监控显示设备,设置键盘X键,绑定UE4平台的MediaPlayer媒体类,通过OpenSource和Close函数控制视频的播放和停止;
步骤5:选择模型并移动到任意位置
通过鼠标选中模型并将模型移动到任意需要进行模拟操作的位置,达到真实场景中的机械移动模拟;
步骤6:实现应用场景的意向交互
当用户在虚拟现实应用场景中漫游至某一特定位置,系统检测到用户有意向进入,就自动开启环境灯,实现虚拟场景中的自然交互;
步骤7:二维码生成
绑定键盘的F键,添加二维码生成函数,设置键盘按键控制生成二维码功能,用户按键盘F键,系统生成含设置好采样点的虚拟场景全景图的二维码;
步骤8:实现语音交互
用户通过包括正转、反转、升臂、降臂、停止在内的关键词控制虚拟现实场景中的采机,模拟其运作效果;
步骤9:AR动态演示功能模式切换
用户点击系统右上的AR模式按键切换到AR演示模式。
2.根据权利要求1所述的基于虚拟现实与增强现实的采矿操作多交互实现方法,其特征在于:在步骤3中,将模型实例化为具体的Actor,添加SetMesh函数以及SetMaterial函数来更换模型和模型材质,设置Widget Blueprint用户界面以及Box collision碰撞检测,实现三维空间的隐藏菜单功能。
3.根据权利要求1所述的基于虚拟现实与增强现实的采矿操作多交互实现方法,其特征在于:在步骤5中,为要操作的模型添加鼠标事件,通过GetHitResult函数将模型选中,然后根据鼠标在三维空间的坐标,改变模型的SetActorLocation函数的坐标值,当鼠标再次点击,将此时鼠标x、y、z三个方向的坐标值赋给模型,此时GetHitResult函数将模型设置为取消选中模式。
4.根据权利要求1所述的基于虚拟现实与增强现实的采矿操作多交互实现方法,其特征在于:在步骤6中,设置TriggerBox触发器,当第一人称角色触发TriggerBox,系统检测到用户有意向进入某区域,便会自动启用此区域的某个设备。
5.根据权利要求1所述的基于虚拟现实与增强现实的采矿操作多交互实现方法,其特征在于:在步骤7中,用户按键盘F键,系统生成含设置好采样点的虚拟场景全景图二维码,用户用手机扫描二维码,跳转到手机端的虚拟应用场景展示页面,在手机端,用户可以启用陀螺仪,切换到VR分屏模式,设置好手机参数,便可用VR眼镜体验虚拟井下采矿操作环境场景,实现720度的视角展示,还能够实现手机端的多场景、多角度的漫游体验。
6.根据权利要求1所述的基于虚拟现实与增强现实的采矿操作多交互实现方法,其特征在于:在步骤8中,语音识别基于Pocket-sphinx库实现,通过改进中文关键字字典,经过预处理、特征提取、声学模型训练、语言模型训练以及语音解码和搜索实现识别功能,最后经过UE4引擎的编写功能控制函数实现三维空间里语音对模型的控制;语音识别的具体实现步骤如下:
步骤8.1:预处理
对输入的原始语音信号进行处理,滤除掉其中的不重要的信息以及背景噪声,并对语音信号的端点检测、语音分和预加重进行处理;
通过一阶FIR高通数字滤波器来实现预加重,一阶FIR高通数字滤波器的传递函数为:
H(z)=1-az-1;
其中,a为预加重滤波器的系数,取值范围为0.9~1.0,若设n时刻的语音采样值为x(n),则预加重后的信号为
y(n)=x(n)-a*x(n-1);
步骤8.2:特征提取
通过梅尔频率倒谱系数(MFCC)的方法来进行特征提取;具体按照如下步骤进行:
步骤8.2.1:利用人听觉的临界带效应,采用MEL倒谱分析技术对语音信号处理得到MEL倒谱系数矢量序列;
步骤8.2.2:用MEL倒谱系数矢量序列表示输入语音的频谱,在语音频谱范围内设置若干个具有三角形或正弦形滤波特性的带通滤波器;
步骤8.2.3:通过带通滤波器组,求各个带通滤波器的输出数据;
步骤8.2.4:对各个带通滤波器的输出数据取对数,并做离散余弦变换(DCT);
步骤8.2.5:得到MFCC系数;求解公式如下:
其中,Ci为特征参数,k为三角滤波器的个数,F(k)为各个滤波器的输出数据,P为滤波器阶数,i为数据长度;
步骤8.3:声学模型训练
根据训练语音库的特征参数训练出声学模型参数;
在识别时可以将待识别的语音的特征参数同声学模型进行匹配,得到识别结果;本文采用混合高斯模型-隐尔科夫模型(GMM-HMM)作为声学模型,具体包括如下步骤:
步骤8.3.1:求出混合高斯模型的联合概率密度函数的形式如下:
其中,M表示混合高斯模型中高斯的个数,Cm表示权重,um表示均值,∑m表示协方差矩阵,D为观测矢量维数;利用最大期望值算法(EM)对混合高斯模型参数变量Θ={Cm,um,∑m}进行估计,利用如下公式求解:
其中,j是当前迭代轮数,N表示训练数据集中元素的个数,x(t)为t时刻的特征向量,hm(t)表示t时刻Cm的后验概率;GMM参数通过EM算法进行估计,可以使其在训练数据上生成语音观察特征的概率最大化;
步骤8.3.2:求解HMM的三个组成部分
设状态序列为q1,q2,…,qN,令转移概率矩阵A=[aij]i,j∈[1,N],则求出的马尔科夫链状态间的跳转概率为:aij=P(qt=j|qt-1=i);马尔科夫链的初始概率π=[πi]i∈[1,N],其中,πi=P(q1=i);令每个状态的观察概率分布bi(ot)=P(ot|qt=i),采用GMM模型来描述状态的观察概率分布;根据步骤8.3.1,求解公式为:
其中,N为状态个数,i、j表示状态,aij表示t-1时刻从i状态跳转到t时刻j状态的概率,ot为t时刻的观测值,Ci,m为混合系数,表示不同高斯之间的权重,ui,m表示不同高斯之间的均值,∑i,m表示不同高斯之间的协方差矩阵;HMM的参数通过Baum-Welch算法进行估计得出,最后生成声学模型文件;
步骤8.4:语言模型训练
采用N-Gram模型实现语言模型的训练;在一个语句中第i个词出现的概率,条件依赖于它前面的N-1个词,即将一个词的上下文定义为该词前面出现的N-1个词,其表达式为:
使用条件概率公式S将上述表达式替换成如下公式:
P(sentence)=P(w1)*P(w2|w1)*P(w3|w2)…*P(wn|w1,w2,…,wn-1)
其中,P(w1)是w1在文章中出现的概率,P(w1,w2)是w1,w2连续出现的概率,P(w2|w1)是已知w1已出现的情况下出现w2的概率,假设识别sentence的概率用P(s)表示,P(s)=P(w1,w2,…,wn)表示单词集w1,w2,…,wn连续出现并生成S的概率;
通过马尔科夫假设精简成如下公式:
P(sentence)=P(w1)*P(w2|w1)*P(w3|w2)…*P(wn|wn-1)
其中,P(wi|wi-1)=P(wi-1,wi)/P(wi),P(wi-1,wi)和P(wi)都可以从语料统计出来,最终就能得到P(sentence),语言模型存储P(wi-1,wi)的概率统计值,通过求出P(sentence)的最大值来实现整个识别过程;
步骤8.5:语音解码和搜索算法
针对输入的语音信号,根据己经训练好的声学模型、语言模型及利用g2p工具创建好的字典映射文件建立一个识别网络,根据搜索算法在该网络中寻找最佳的一条路径,这个路径就是能够以最大概率输出该语音信号的词串,这样就确定这个语音样本所包含的文字,本文采用Viterbi算法实现语音解码,具体过程如下:
步骤8.5.1:输入HMM模型的参数和观测序列O={o1,o2,…,oT},则t=1时所有的状态概率为:
δ1(i)=πibi(o1)
ψ1(i)=0
步骤8.5.2:逐渐递推到t=2,3,…,T,则为:
步骤8.5.3:终止遍历:
步骤8.5.4:回溯最优路径,t=T-1,T-2,…,1;
步骤8.5.5:输出最优隐状态路径
其中,δt(i)是递推到t时刻,最优路径经过的所有结点的联合概率,ψt(i)是t时刻的隐状态,T为时间,P*为最优路径的概率, 为最优路径的终结点。
7.根据权利要求6所述的基于虚拟现实与增强现实的采矿操作多交互实现方法,其特征在于:a取0.97。
8.根据权利要求1所述的基于虚拟现实与增强现实的采矿操作多交互实现方法,其特征在于:在步骤9中,具体包括如下步骤:
步骤9.1:模型选择
对采煤机模型、掘进机模型、煤钻模型以及综采支架模型进行选择,每一类模型都是对真实采煤工具的1:1建模模拟;
步骤9.2:模型讲解
用户通过选择模型后,再通过此菜单选择需要学习的工具模型选项,系统会播放对应的语音讲解,再次点击按键语音停止;
步骤9.3:模型演示
将在3DMax建模过程中制作的工具模拟运行动画导入UE4引擎中,设置相应的选择菜单,点击便可在AR模式下演示相应采煤工具的运行状态;
步骤9.4:截图生成图标
在AR模式的主菜单,添加一个按钮,绑定摄像机的截图功能,在菜单右侧添加滚动菜单栏,当截图函数成功触发,截图通过设置好的动态材质转换函数,显示到右侧滚动菜单栏,演示过程中,用户点击截图按键,系统会在界面一侧生成图标;
步骤9.5:旋转
将设置的模型实例化为一个Actor,添加Rotation函数,实现模型顺时针旋转;
步骤9.6:功能扩展
添加二级UI,控制Map切换,实现包括地球、土星、星、含大气层星球以及星系在内的运行演示功能;添加WidgetBlueprint编码实现了知识简介面板的显示或隐藏;设计返回键回到AR编辑主模
步骤9.7:动态手势控制模型,真实环境与虚拟模型叠加,手势与模型进行交互控制,具体包括如下步骤:
步骤9.7.1:初始化视频捕捉,读取标志文件和摄像相机参数;
步骤9.7.2:抓取视频帧图像;
步骤9.7.3:执行探测标记以及识别视频帧中的标记模板,并利用OpenCV库函数对获取的视频帧图像进行运动检测,判断是否检测到运动轨迹;
若:判断结果是检测到手势运动轨迹,则执行步骤9.7.4;
或判断结果是没有检测到运动轨迹,则继续执行探测标记以及识别视频帧中的标记模板,然后执行步骤9.7.12;
基于颜色直方图与背景差分进行运动检测,对采集的帧以及对每帧运动检测后得到除运动手势区域外的像素做背景更新,公式如下;
其中,ut为背景图像相应的像素点,ut+1为更新后的背景图像像素点;It为当前帧图像的像素点,If是当前帧图像像素点的掩码值,即是否做背景更新;a∈[0,1]为背景图像模型更新速度,本文取0.8;
步骤9.7.4:对图像进行包括去噪在内的预处理;
通过运动检测步骤,如果检测到有运动信息,则开始对含有运动手势的视频帧图像进行预处理:通过OpenCV的medianBlur函数对图像进行中值滤波,去除椒盐噪声;
步骤9.7.5:转换到HSV空间;
通过cvtColor函数对图像进行颜色空间转换,得到其HSV空间的数据,并对HSV空间中的亮度v值重新设定如下式所示:
其中,r、g为肤色区域的红色与绿色像素,且r>g;
步骤9.7.6:分割手区域;
步骤9.7.7:进行形态学处理,去除杂点;
将得到的运动二值图和通过反投影得到的二值图相与,并进行图像形态学闭操作得到比较完整的运动肤色手势二值图;并去除图像中的杂点;
步骤9.7.8:获取手轮廓;
通过初步的形态学操作,去除噪声,并使手的边界更加清晰后,通过OpenCV的findContours函数得到手势轮廓,然后进行去除伪轮廓操作;
步骤9.7.9:画出手轮廓,标定信息;
步骤9.7.10:轮廓信息比较,设置方向向量;
将每一帧得到的轮廓进行比较,设定比较条件,通过比较给方向标志变量赋值;
步骤9.7.11:对模型根据矢量坐标进行受模拟,实现动态手势与虚拟模型的交互;
动态手势通过轮廓判断后,根据不同的判断结果对虚拟模型进行受力模拟操作,根据轮廓判断过程中方向标记的值,模型在三维空间的坐标值将会进行x、y、z三个坐标轴上的相乘计算,通过坐标值的改变,实现模型位置的改变而达到受力的模拟;
步骤9.7.12:计算摄像头相对于探测到的标记的转换矩阵;
步骤9.7.13:在探测到的标记上叠加虚拟物体,并返回执行步骤9.7.2,实现真实环境与虚拟模型的叠加显示;
步骤9.7.14:当点击VR模式时,系统切换显示模式,摄像头关闭,以上步骤停止执行。

说明书全文

一种基于虚拟现实增强现实的采矿操作多交互实现方法

技术领域

[0001] 本发明属于虚拟现实、增强现实技术领域,具体涉及一种基于虚拟现实与增强现实的采矿操作多交互实现方法。

背景技术

[0002] 2016年被业界称为“虚拟现实元年”,可能会有人误以为这项技术是近几年发展起来的新技术。其实不然,虚拟现实(Virtual Reality,简称VR)技术兴起于20世纪90年代,2000年以后,虚拟现实技术在整合发展中引入了XML、JAVA等先进技术,应用强大的3D计算能和交互式技术,提高渲染质量和传输速度,进入了崭新的发展时代。虚拟现实技术是经济和社会生产力发展的产物,有着广阔的应用前景。我国虚拟现实技术的研究起步于20世纪90年代初。随着计算机图形学计算机系统工程等的高速发展,虚拟现实技术得到相当的重视。国家广告研究院等多家机构联合发布的《2016上半年中国VR用户行为研究报告》显示,2016年上半年国内虚拟现实潜在用户达4.5亿,浅度用户约为2700万,重度用户约237万,预计国内虚拟现实市场将迎来爆发式增长。而增强现实(Augmented Reality,简称AR)技术是在虚拟现实的基础上发展起来的一种新兴技术。其应用领域也非常广泛,其在工业、医疗、军事、市政、电视、游戏、展览等领域都表现出了良好的应用前景。
[0003] 目前,VR与AR技术不断发展,应用范围也越来越广泛,但是这两种技术更多的应用于军事、娱乐等领域,对于教育、工业、工程等领域的应用,由于领域本身涉及多种物理、地理等多学科因素,还需要更多的研究与发展。对于矿山开采工业领域,我国矿山的地质条件较为复杂,且多为井下开采,在矿山开采过程中,由于开采环境位于地下,工艺工序又颇为复杂,瓦斯、害等灾害事故时有发生。与此同时,矿山开采又是一个工期长、投资大、安全隐患高的行业,很容易发生安全事故,所以采矿员工的安全培训一直是采矿工作的重中之重。但是,目前存在的传统培训教学系统,基本是理论介绍加以模具展示或者二维图像展示,以课堂讲解为主,辅以简单的动画和音、视频的介绍,实践不足、缺乏真实场景。即便是观看模具也不能很好的掌握工具的实际操作流程。随着技术的不断发展,各种应用于矿开采的训练系统也相应开发,但是也存在系统场景真实性差、沉浸性效果不好以及交互性功能少,只能简单的演示等问题。

发明内容

[0004] 针对现有技术中存在的上述技术问题,本发明提出了一种基于虚拟现实与增强现实的采矿操作多交互实现方法,设计合理,克服了现有技术的不足,具有良好的效果。
[0005] 为了实现上述目的,本发明采用如下技术方案:
[0006] 一种基于虚拟现实与增强现实的采矿操作多交互实现方法,采用井下采矿操作多交互仿真系统,该系统包含虚拟现实模式和增强现实模式两种模式;虚拟现实模式包含特定场景的建模、漫游、模型及其材质的更换、视频嵌入虚拟场景、模型移动、应用场景意向交互、二维码生成以及语音交互;增强现实模式包含模型选择、模型讲解、动态模型演示、手势控制模型交互、截图生成图标、360度旋转以及停止、功能模式切换以及功能扩展;系统有设计两种隐藏菜单,即虚拟现实模式下的更换工具、材质的选择菜单以及增强现实模式下的模型选择类菜单;第一种用户进入特定区域菜单才会显示,离开即会隐藏;第二种点击便可在某处显示二级菜单,再次点击菜单隐藏;
[0007] 所述的采矿操作多交互实现方法,具体包括如下步骤:
[0008] 步骤1:矿山开采操作的整个环境场景的搭建
[0009] 根据井下采矿操作的真实环境,利用建模工具3DMax进行1:1等比建模,实现整个井下采矿操作的环境模拟;利用UE4引擎对模型进行包括创建、编辑贴图以及材质在内的编辑,添加物理碰撞,对整体环境进行灯光、效果光照以及特效添加,并进行烘焙、渲染;
[0010] 步骤2:虚拟现实应用场景的漫游
[0011] 在UE4引擎中,设置键盘上、下、左、右键,绑定Up、Down、Right、Left方向控制函数,为鼠标绑定Turnaround控制函数,实现整个井下采矿操作的虚拟现实场景的漫游;
[0012] 步骤3:更换井下采矿操作的工具模型以及矿山地质的模拟材质
[0013] 在虚拟井下矿山开采场景中添加隐藏菜单,当漫游至矿山开采处,会自动出现模型或者材质选择菜单,用户可以根据需求从菜单中选择模型或者材质进行更换;
[0014] 步骤4:将视频素材嵌入三维应用场景并控制播放、停止
[0015] 将视频素材嵌入虚拟现实场景,在三维空间中播放,模拟矿山开采环境的监控显示设备,设置键盘X键,绑定UE4平台的MediaPlayer媒体类,通过OpenSource和Close函数控制视频的播放和停止;
[0016] 步骤5:选择模型并移动到任意位置
[0017] 通过鼠标选中模型并将模型移动到任意需要进行模拟操作的位置,达到真实场景中的机械移动模拟;
[0018] 步骤6:实现应用场景的意向交互
[0019] 当用户在虚拟现实应用场景中漫游至某一特定位置,系统检测到用户有意向进入,就自动开启环境灯,实现虚拟场景中的自然交互;
[0020] 步骤7:二维码生成
[0021] 绑定键盘的F键,添加二维码生成函数,设置键盘按键控制生成二维码功能,用户按键盘F键,系统生成含设置好采样点的虚拟场景全景图的二维码;
[0022] 步骤8:实现语音交互
[0023] 用户通过包括正转、反转、升臂、降臂、停止在内的关键词控制虚拟现实场景中的采煤机,模拟其运作效果;
[0024] 步骤9:AR动态演示功能模式切换
[0025] 用户点击系统右上的AR模式按键切换到AR演示模式。
[0026] 优选地,在步骤3中,将模型实例化为具体的Actor,添加SetMesh函数以及SetMaterial函数来更换模型和模型材质,设置Widget Blueprint用户界面以及Box collision碰撞检测,实现三维空间的隐藏菜单功能。
[0027] 优选地,在步骤5中,为要操作的模型添加鼠标事件,通过GetHitResult函数将模型选中,然后根据鼠标在三维空间的坐标,改变模型的SetActorLocation函数的坐标值,当鼠标再次点击,将此时鼠标x、y、z三个方向的坐标值赋给模型,此时GetHitResult函数将模型设置为取消选中模式。
[0028] 优选地,在步骤6中,设置TriggerBox触发器,当第一人称角色触发TriggerBox,系统检测到用户有意向进入某区域,便会自动启用此区域的某个设备。
[0029] 优选地,在步骤7中,用户按键盘F键,系统生成含设置好采样点的虚拟场景全景图二维码,用户用手机扫描二维码,跳转到手机端的虚拟应用场景展示页面,在手机端,用户可以启用陀螺仪,切换到VR分屏模式,设置好手机参数,便可用VR眼镜体验虚拟井下采矿操作环境场景,实现720度的视角展示,还能够实现手机端的多场景、多角度的漫游体验。
[0030] 优选地,在步骤8中,语音识别基于Pocket-sphinx库实现,通过改进中文关键字字典,经过预处理、特征提取、声学模型训练、语言模型训练以及语音解码和搜索实现识别功能,最后经过UE4引擎的编写功能控制函数实现三维空间里语音对模型的控制;语音识别的具体实现步骤如下:
[0031] 步骤8.1:预处理
[0032] 对输入的原始语音信号进行处理,滤除掉其中的不重要的信息以及背景噪声,并对语音信号的端点检测、语音分和预加重进行处理;
[0033] 通过一阶FIR高通数字滤波器来实现预加重,一阶FIR高通数字滤波器的传递函数为:
[0034] H(z)=1-az-1;
[0035] 其中,a为预加重滤波器的系数,取值范围为0.9~1.0,若设n时刻的语音采样值为x(n),则预加重后的信号为
[0036] y(n)=x(n)-a*x(n-1);
[0037] 步骤8.2:特征提取
[0038] 通过梅尔频率倒谱系数(MFCC)的方法来进行特征提取;具体按照如下步骤进行:
[0039] 步骤8.2.1:利用人听觉的临界带效应,采用MEL倒谱分析技术对语音信号处理得到MEL倒谱系数矢量序列;
[0040] 步骤8.2.2:用MEL倒谱系数矢量序列表示输入语音的频谱,在语音频谱范围内设置若干个具有三角形或正弦形滤波特性的带通滤波器;
[0041] 步骤8.2.3:通过带通滤波器组,求各个带通滤波器的输出数据;
[0042] 步骤8.2.4:对各个带通滤波器的输出数据取对数,并做离散余弦变换(DCT);
[0043] 步骤8.2.5:得到MFCC系数;求解公式如下:
[0044]
[0045] 其中,Ci为特征参数,k为三角滤波器的个数,F(k)为各个滤波器的输出数据,P为滤波器阶数,i为数据长度;
[0046] 步骤8.3:声学模型训练
[0047] 根据训练语音库的特征参数训练出声学模型参数;
[0048] 在识别时可以将待识别的语音的特征参数同声学模型进行匹配,得到识别结果;本文采用混合高斯模型-隐尔科夫模型(GMM-HMM)作为声学模型,具体包括如下步骤:
[0049] 步骤8.3.1:求出混合高斯模型的联合概率密度函数:
[0050]
[0051] 其中,M表示混合高斯模型中高斯的个数,Cm表示权重,um表示均值,∑m表示协方差矩阵,D为观测矢量维数;利用最大期望值算法(EM)对混合高斯模型参数变量Θ={Cm,um,∑m}进行估计,利用如下公式求解:
[0052]
[0053]
[0054]
[0055] 其中,j是当前迭代轮数,N表示训练数据集中元素的个数,x(t)为t时刻的特征向量,hm(t)表示t时刻Cm的后验概率;GMM参数通过EM算法进行估计,可以使其在训练数据上生成语音观察特征的概率最大化;
[0056] 步骤8.3.2:求解HMM的三个主要组成部分
[0057] 设状态序列为q1,q2,...,qN,令转移概率矩阵A=[aij]i,j∈[1,N],则求出的马尔科夫链状态间的跳转概率为:aij=P(qt=j|qt-1=i);马尔科夫链的初始概率π=[πi]i∈[1,N],其中,πi=P(q1=i);令每个状态的观察概率分布bi(ot)=P(ot|qt=i),采用GMM模型来描述状态的观察概率分布;根据步骤8.3.1,求解公式为:
[0058]
[0059] 其中,N为状态个数,i、j表示状态,aij表示t-1时刻从i状态跳转到t时刻j状态的概率,ot为t时刻的观测值,Ci,m为混合系数,表示不同高斯之间的权重,ui,m表示不同高斯之间的均值,∑i,m表示不同高斯之间的协方差矩阵;HMM的参数通过Baum-Welch算法进行估计得出,最后生成声学模型文件;
[0060] 步骤8.4:语言模型训练
[0061] 采用N-Gram模型实现语言模型的训练;在一个语句中第i个词出现的概率,条件依赖于它前面的N-1个词,即将一个词的上下文定义为该词前面出现的N-1个词,其表达式为:
[0062]
[0063] 使用条件概率公式S将上述表达式替换成如下公式:
[0064] P(sentence)=P(w1)*P(w2|w1)*P(w3|w2)...*P(wn|w1,w2,...,wn-1)[0065] 其中,P(w1)是w1在文章中出现的概率,P(w1,w2)是w1,w2连续出现的概率,P(w2|w1)是已知w1已出现的情况下出现w2的概率,假设识别sentence的概率用P(s)表示,P(s)=P(w1,w2,...,wn)表示单词集w1,w2,...,wn连续出现并生成S的概率;
[0066] 通过马尔科夫假设精简成如下公式:
[0067] P(sentence)=P(w1)*P(w2|w1)*P(w3|w2)...*P(wn|wn-1)
[0068] 其中,P(wi|wi-1)=P(wi-1,wi)/P(wi),P(wi-1,wi)和P(wi)都可以从语料统计出来,最终就能得到P(sentence),语言模型存储P(wi-1,wi)的概率统计值,通过求出P(sentence)的最大值来实现整个识别过程;
[0069] 步骤8.5:语音解码和搜索算法
[0070] 针对输入的语音信号,根据己经训练好的声学模型、语言模型及利用g2p工具创建好的字典映射文件建立一个识别网络,根据搜索算法在该网络中寻找最佳的一条路径,这个路径就是能够以最大概率输出该语音信号的词串,这样就确定这个语音样本所包含的文字,本文采用Viterbi算法实现语音解码,具体过程如下:
[0071] 步骤8.5.1:输入HMM模型的参数和观测序列O={o1,o2,…,oT},则t=1时所有的状态概率为:
[0072] δ1(i)=πibi(o1)
[0073] ψ1(i)=0
[0074] 步骤8.5.2:逐渐递推到t=2,3,…,T,则为:
[0075]
[0076]
[0077] 步骤8.5.3:终止遍历:
[0078]
[0079]
[0080] 步骤8.5.4:回溯最优路径,t=T-1,T-2,…,1;
[0081]
[0082] 步骤8.5.5:输出最优隐状态路径
[0083] 其中,δt(i)是递推到t时刻,最优路径经过的所有结点的联合概率,ψt(i)是t时刻的隐状态,T为时间,P*为最优路径的概率, 为最优路径的终结点。
[0084] 优选地,a取0.97。
[0085] 优选地,在步骤9中,具体包括如下步骤:
[0086] 步骤9.1:模型选择
[0087] 对采煤机模型、掘进机模型、煤钻模型以及综采支架模型进行选择,每一类模型都是对真实采煤工具的1:1建模模拟;
[0088] 步骤9.2:模型讲解
[0089] 用户通过选择模型后,再通过此菜单选择需要学习的工具模型选项,系统会播放对应的语音讲解,再次点击按键语音停止;
[0090] 步骤9.3:模型演示
[0091] 将在3DMax建模过程中制作的工具模拟运行动画导入到Unreal Engine引擎中,设置相应的选择菜单,点击便可在AR模式下演示相应采煤工具的运行状态;
[0092] 步骤9.4:截图生成图标
[0093] 在AR模式的主菜单,添加一个按钮,绑定摄像机的截图功能,在菜单右侧添加滚动菜单栏,当截图函数成功触发,截图通过设置好的动态材质转换函数,显示到右侧滚动菜单栏,演示过程中,用户点击截图按键,系统会在界面一侧生成图标;
[0094] 步骤9.5:旋转
[0095] 将设置的模型实例化为一个Actor,添加Rotation函数,实现模型顺时针旋转;
[0096] 步骤9.6:功能扩展
[0097] 添加二级UI,控制Map切换,实现包括地球、土星、水星、含大气层星球以及星系在内的运行演示功能;添加WidgetBlueprint编码实现了知识简介面板的显示或隐藏;设计返回键可以回到AR编辑主模
[0098] 步骤9.7:动态手势控制模型,真实环境与虚拟模型叠加,手势与模型进行交互控制,具体包括如下步骤:
[0099] 步骤9.7.1:初始化视频捕捉,读取标志文件和摄像相机参数;
[0100] 步骤9.7.2:抓取视频帧图像;
[0101] 步骤9.7.3:执行探测标记以及识别视频帧中的标记模板,并利用OpenCV库函数对获取的视频帧图像进行运动检测,判断是否检测到运动轨迹;
[0102] 若:判断结果是检测到运动轨迹,则执行步骤9.7.4:
[0103] 或判断结果是没有检测到运动轨迹,则继续执行探测标记以及识别视频帧中的标记模板,然后执行步骤9.7.12;
[0104] 基于颜色直方图与背景差分进行运动检测,对采集的帧以及对每帧运动检测后得到除运动手势区域外的像素做背景更新,公式如下;
[0105]
[0106] 其中,ut为背景图像相应的像素点,ut+1为更新后的背景图像像素点;It为当前帧图像的像素点,If是当前帧图像像素点的掩码值,即是否做背景更新;a∈[0,1]为背景图像模型更新速度;
[0107] 步骤9.7.4:对图像进行包括去噪在内的预处理;
[0108] 通过运动检测步骤,如果检测到有运动信息,则开始对含有运动手势的视频帧图像进行预处理:通过OpenCV的medianBlur函数对图像进行中值滤波,去除椒盐噪声;
[0109] 步骤9.7.5:转换到HSV空间;
[0110] 通过cvtColor函数对图像进行颜色空间转换,得到其HSV空间的数据,并对HSV空间中的亮度v值重新设定如下式所示:
[0111]
[0112] 其中,r、g为肤色区域的红色与绿色像素,且r>g;
[0113] 步骤9.7.6:分割手区域;
[0114] 步骤9.7.7:进行形态学处理,去除杂点;
[0115] 将得到的运动二值图和通过反投影得到的二值图相与,并进行图像形态学闭操作得到比较完整的运动肤色手势二值图;并去除图像中的杂点;
[0116] 步骤9.7.8:获取手轮廓;
[0117] 通过初步的形态学操作,去除噪声,并使手的边界更加清晰后,通过OpenCV的findContours函数得到手势轮廓,然后进行去除伪轮廓操作;
[0118] 步骤9.7.9:画出手轮廓,标定信息;
[0119] 步骤9.7.10:轮廓信息比较,设置方向向量;
[0120] 将每一帧得到的轮廓进行比较,设定比较条件,通过比较给方向标志变量赋值;
[0121] 步骤9.7.11:对模型根据矢量坐标进行受力模拟,实现动态手势与虚拟模型的交互;
[0122] 动态手势通过轮廓判断后,根据不同的判断结果对虚拟模型进行受力模拟操作,根据轮廓判断过程中方向标记的值,模型在三维空间的坐标值将会进行x、y、z三个坐标轴上的相乘计算,通过坐标值的改变,实现模型位置的改变而达到受力的模拟;
[0123] 步骤9.7.12:计算摄像头相对于探测到的标记的转换矩阵;
[0124] 步骤9.7.13:在探测到的标记上叠加虚拟物体,并返回执行步骤9.7.2,实现真实环境与虚拟模型的叠加显示。
[0125] 本发明所带来的有益技术效果:
[0126] (1)本发明的三维模型采用等比例建立,材质贴图通过UE4引擎平台的编辑贴近真实,应用场景的环境灯光采用真实灯光模拟烘焙渲染。整个虚拟现实场景都更真实,沉浸感极强。
[0127] (2)本发明通过技术方案实现了多种功能交互,例如在虚拟井下开采场景漫游的过程中通过隐藏菜单更换工具模型,更换矿山材质来模拟不同的开采地质,自由移动开采工具的位置,以及视频信息嵌入机器显示屏展现真实场景,利用语音功能实现控制采煤机的正转、反转、升臂、降臂、停止等。
[0128] (3)本发明还通过生成二维码功能,将PC端展示连接到手机端展示,手机端功能更是可以利用手机内置陀螺仪,产生重力感应,如果在设置成VR眼镜模式便可利用简单的VR眼镜体验实时的场景沉浸感。
[0129] (4)本发明还利用AR开发SDK—ARToolKit实现了AR动态演示功能,通过AR编辑演示功能,用户可是实时选择采矿工具模型,进行360旋转展示、语音讲解以及动态运行展示,截图保存等,更重要的是其将工具模型以AR的模式展示,虚拟模型与真实环境结合的展示效果,这不仅能展现模型的直观立体性,更能展现其真实性,使其具有更好的学习、教育的效果。
[0130] (5)本发明的AR模块,除了其动态演示功能,更是对视频流添加了处理,当动态手势进入摄像头视角,它会产生与模型的交互,手从远到近的动态会传递给模型一个三维空间向前的一个模拟力,从上到下的动态会给模型一个向上的一个模拟力,向前翻转手的动态会给模型一个向下的模拟了,同样,如果手扭动或者左右倾斜,便会给模型一个具有矢量方向的模拟力。
[0131] (6)本发明在AR模块除了在煤矿应用场景的功能实现,还扩展了AR在天文学领域的展示功能。添加地球、土星、水星、含有动态大气层的星球以及星系的AR展示功能,与此同时将知识简介面板显示功能添加到此AR展示的模块中,丰富了AR在教育展示领域的应用。附图说明
[0132] 图1是本发明实现的整体功能结构图。
[0133] 图2是本发明生成二维码功能的示意图。
[0134] 图3是本发明语音识别实现交互功能的原理图。
[0135] 图4是本发明AR模式实现的原理图。
[0136] 图5是本发明动态手势交互功能实现的流程图

具体实施方式

[0137] 下面结合附图以及具体实施方式对本发明作进一步详细说明:
[0138] 本发明提供一种基于虚拟现实与增强现实的采矿操作多交互实现方法。结合附图1可以了解本发明所包含的整个技术功能。其具体实施步骤如下:
[0139] 步骤1:井下矿山开采作业的整个环境场景搭建。利用3DMax建模工具根据真实采矿操作环境创建相关模型。将模型分类导入UE4引擎,通过UE4平台,对模型进行材质编写、模拟自然灯光、环境光,添加物理碰撞检测,对系统进行参数调整,烘焙渲染。
[0140] 步骤2:在虚拟应用场景添加第一人称角色,给角色添加鼠标键盘控制事件。将键盘的上下左右键绑定Up、Down、Right、Left函数,控制第一人称角色在虚拟三维空间的坐标改变,实现漫游。给鼠标添加Turnaround函数,控制第一人称视角在虚拟三维空间的720度旋转。
[0141] 步骤3:设置交互菜单,实现更换井下采矿操作的工具模型、矿山地质材质等功能交互。首先创建一个Widget Blueprint用户界面,设置菜单选项,为选项添加点击事件。然后给模型添加Box collision碰撞检测区域,当角色进入Box collision碰撞检测区域。创建的Widget Blueprint用户界面显示。离开Box collision碰撞检测区域,Widget Blueprint用户界面隐藏。将采煤机模型实例化为一个Actor,并添加SetMesh函数,实现更换其他工具模型。同理,将三维空间里的矿山地质模型添加SetMaterial函数,实现更换材质。本发明设置四类开采工具模型供用户选择,以及将矿山地质设置成材质可选择模式,通过显示的样式菜单更换模型、材质。更换完毕,离开检测区域,菜单自动隐藏,不影响整体漫游视觉效果,又能达到实时交互的功能。
[0142] 步骤4:视频嵌入,在三维空间播放,模拟矿山开采环境的监控显示设备。本发明设置键盘X键绑定UE4平台的MediaPlayer媒体类,通过Open-Source和Close函数实现控制视频流的播放和停止。此操作可以模拟井下矿山开采控制设备的屏幕显示,以及实时环境监控的画面显示,凸显三维场景的真实性与动态性,使模拟的虚拟场景更加贴近现实。
[0143] 步骤5:选择模型可以拖动到任意用户想要放置的位置,以及实现设备自动开启的意向交互功能。为要操作的模型添加鼠标事件,通过GetHitResult函数将模型选中,然后根据鼠标在三维空间的坐标,改变模型的SetActorLocation函数的坐标值。当鼠标再次点击,将此时鼠标x、y、z三个方向的坐标值赋给模型,此时GetHitResult函数将模型设置为取消选中模式。本实施例用户可以点击场景中的采煤机模型,将其放到采矿操作场景的其他开采位置。
[0144] 系统在特定区域添加TriggerBox触发器,第一人称角色进入此区域,触发TriggerBox触发器,相应下一个区域的环境灯控制函数SetVisible触发,灯被打开,从而实现了本发明设置的自动感应灯功能。这也是本发明设计的检测人意向的功能,从而实现更自然的系统交互。
[0145] 步骤6:二维码生成功能。单一的PC端展示不能满足多用户的体验,本发明通过添加二维码生成,扫描二维码便可实现多用户手机端的展示,通过二维码连接,手机跳转到煤矿开采作业的全景展示页面。在手机端,用户可以启用陀螺仪,切换到VR分屏模式,设置好手机参数,便可用VR眼镜体验虚拟井下煤矿开采环境,实现720度的视角展示。与此同时,可以实现手机端的多场景、多角度的漫游体验。本功能主要是通过绑定键盘的F、V键,添加二维码生成与隐藏函数。在UE4引擎中添加场景6个Point采集点,通过采集点位置生成全景图,再将信息和相关手机端设置以生成二维码形式生成网络连接,实现端与端的转换。此功能实现的流程如图2所示。
[0146] 步骤7:实现语音控制功能。本发明利用Pocket-sphinx实现中文的关键字识别。具体的语音控制实现原理流程如图3所示,本发明在以采煤机模型创建的Actor上添加语音识别函数,通过在系统初始化后启用语音识别类,并保存对此类的引用。之后创建并绑定一个方法到语音识别函数OnWordSpoken,每当用户说出设置好的控制词语时,便会触发此方法,通过关键词匹配实现采煤机的正转、反转、升臂、降臂以及停止等相关控制。本方法实现的语音识别是基于美国卡内基梅隆大学开发的英语语音识别系统Sphinx改进而实现的。本发明的语音识别方法是大量词汇、非特定人、连续中文音节的孤立词识别方法。能够很好的识别不同人发出的设定词汇。最终通过UE4的编码技术,实现了语音词汇识别后与匹配词对应动作控制函数的触发,实现模型的相应动作控制。此识别体系包括语音预处理、特征提取、声学模型训练、语言模型训练和语音解码五个部分。以下是语音识别的具体流程:
[0147] 步骤7.1:预处理。
[0148] 对输入的原始语音信号进行处理,滤除掉其中的不重要的信息以及背景噪声,并进行语音信号的端点检测、语音分帧、预加重等处理。语音信号的预加重,目的是为了对语音的高频部分进行加重,去除口唇辐射的影响,增加语音的高频分辨率。一般通过传递函数为H(z)=1-az-1一阶FIR高通数字滤波器来实现预加重,a为预加重滤波器的系数,取值范围一般在0.9~1.0,本文取0.97。设n时刻的语音采样值为x(n),预加重后的信号为[0149] y(n)=x(n)-a*x(n-1)
[0150] 步骤7.2:特征提取。
[0151] 本文使用梅尔频率倒谱系数(MFCC)的方法来提取。MFCC参数是基于人的听觉特性的,他利用人听觉的临界带效应,采用MEL倒谱分析技术对语音信号处理得到MEL倒谱系数矢量序列,用MEL倒谱系数表示输入语音的频谱。在语音频谱范围内设置若干个具有三角形或正弦形滤波特性的带通滤波器,然后将语音能量谱通过该滤波器组,求各个滤波器输出,对其取对数,并做离散余弦变换(DCT),即可得到MFCC系数。求解公式如下:
[0152]
[0153] 其中,Ci为特征参数,k为三角滤波器的个数,F(k)为各个滤波器的输出数据,P为滤波器阶数,i为数据长度。
[0154] 步骤7.3:声学模型训练。
[0155] 根据训练语音库的特征参数训练出声学模型参数。在识别时可以将待识别的语音的特征参数同声学模型进行匹配,得到识别结果。本文采用混合高斯模型-隐马尔科夫模型(GMM-HMM)作为声学模型。
[0156] 步骤7.3.1:求出混合高斯模型的联合概率密度函数:
[0157]
[0158] 其中,M表示混合高斯模型中高斯的个数,Cm表示权重,um表示均值,∑m表示协方差矩阵,D为观测矢量维数。利用最大期望值算法(EM)对混合高斯模型参数变量:Θ={Cm,um,∑m}进行估计,利用如下公式求解:
[0159]
[0160]
[0161]
[0162] 其中,j是当前迭代轮数,N表示训练数据集中元素的个数,x(t)为t时刻的特征向量,hm(t)表示t时刻Cm的后验概率。GMM参数通过EM算法进行估计,可以使其在训练数据上生成语音观察特征的概率最大化。
[0163] 步骤7.3.2:求解HMM三个主要组成部分。
[0164] 设状态序列为q1,q2,…,qN,令转移概率矩阵A=[aij]i,j∈[1,N],则求出的马尔科夫链状态间的跳转概率为:aij=P(qt=j|qt-1=i);马尔科夫链的初始概率π=[πi]i∈]1,N],其中,πi=P(q1=i);令每个状态的观察概率分布bi(ot)=P(ot|qt=i),采用GMM模型来描述状态的观察概率分布;根据步骤7.3.1,求解公式为:
[0165]
[0166] 其中,N为状态个数,i、j表示状态,aij表示t-1时刻从i状态跳转到t时刻j状态的概率,ot为t时刻的观测值,Ci,m为混合系数,表示不同高斯之间的权重,ui,m表示不同高斯之间的均值,∑i,m表示不同高斯之间的协方差矩阵;HMM的参数通过Baum-Welch算法进行估计得出,最后生成声学模型文件;
[0167] 步骤7.4:语言模型训练。
[0168] 语言模型是用来约束单词搜索,语言建模能够有效的结合汉语语法和语义的知识,描述词之间的内在关系,从而提高识别率,减少搜索范围。本文采用N-Gram模型实现语言模型的训练。在一个语句中第i个词出现的概率,条件依赖于它前面的N-1个词,即将一个词的上下文定义为该词前面出现的N-1个词,其表达公式为:
[0169]
[0170] 本文取N=2和N=3,也就是通过前一个或两个单词来判定当前单词出现的概率P(w2|w1),P(w3|w2,w1)。
[0171] 简单的说,语言模型就是统计语料得到的模型,语料是用于训练的文本库,字典文件存放的就是训练用的语料和对应发言。语言模型就是表达的语料的组合概率。如设P(w1)是w1在文章中出现的概率,P(w1,w2)是w1,w2连续出现是概率,P(w2|w1)是已知w1已出现的情况下出现w2的概率,假设识别sentence的概率用P(s)表示,P(s)=P(w1,w2,…,wn)表示单词集w1,w2,…,wn连续出现并生成S的概率,使用条件概率公式S把整个公式替换成:
[0172] P(sentence)=P(w1)*P(w2|w1)*P(w3|w2)…*P(wn|w1,w2,…,wn-1)
[0173] 再用马尔科夫假设精简成:
[0174] P(sentence)=P(w1)*P(w2|w1)*P(w3|w2)…*P(wn|wn-1)
[0175] 我们知道,P(wi|wi-1)=P(wi-1,wi)/P(wi),P(wi-1,wi)和P(wi)都可以从语料统计出来,最终就能得到P(sentence)。语言模型存储P(wi-1,wi)的概率统计值,通过求出P(sentence)的最大值来实现整个识别过程。
[0176] 步骤7.5:语音解码和搜索算法。
[0177] 针对输入的语音信号,根据己经训练好的声学模型、语言模型及字典建立一个识别网络,根据搜索算法在该网络中寻找最佳的一条路径,这个路径就是能够以最大概率输出该语音信号的词串,这样就确定这个语音样本所包含的文字。本文采用Viterbi算法实现语音的解码。具体过程如下:
[0178] (1)输入HMM模型的参数和观测序列O={o1,o2,…,oT},则t=1时所有的状态概率为:
[0179] δ1(i)=πibi(o1)
[0180] ψ1(i)=0
[0181] (2)逐渐递推到t=2,3,…,T,则为:
[0182]
[0183]
[0184] (3)终止遍历:
[0185]
[0186]
[0187] (4)回溯最优路径,t=T-1,T-2,…,1;
[0188]
[0189] 输出最优隐状态路径 其中,δt(i)是递推到t时刻,最优路径经过的所有结点的联合概率,ψt(i)是t时刻的隐状态,T为时间,P*为最优路径的概率,为最优路径的终结点。最后通过最优路径实现语音识别。
[0190] 用户说出升臂、降臂、正转、反转以及停止语音后,仿真系统实现采煤机的相应操作,系统识别出用户说出的关键字后会在界面的左上角显示。
[0191] 步骤8:AR动态演示功能模式切换。
[0192] 在界面设置一个widget blueprint,添加openLevel函数,切换到新的Map,即AR模式。进入AR演示模式,此模式具体实现采煤过程中的工具模型演示讲解,从而实现AR技术的学习、教育应用功能。
[0193] 步骤9:AR模式下的模型选择、模型讲解以及动态演示。
[0194] 本发明的AR动态演示模块,用户界面为了更简洁和便于AR展示,设计二级隐含菜单,本实施例是将模型选择、模型讲解、模型演示以及功能扩展的附加子功能选择设计成隐藏的二级菜单,模型选择分为采煤机、掘进机、风煤钻、综采支架等模型,用户选择完毕,子菜单隐藏即可,模型讲解、模型动态演示以及功能扩展菜单亦是如此实现。具体实现包含内容可参照图1。本文以NFT(自然图片追踪,Natural Feature Tracking)为例实现AR技术,其原理如图4所示,具体流程如下:
[0195] 步骤9.1:通过摄像头校准标定,获取到因为摄像头制造工艺偏差而造成的畸变参数,也就是摄像头内参(intrinsic matrix),来复原相机模型的3D空间到2D空间的一一对应关系。
[0196] 步骤9.2:根据摄像头本身的硬件参数,我们可以计算出相应的投影矩阵(Projection Matrix)。
[0197] 步骤9.3:对待识别的自然图片进行特征提取,获取到一组特征点{p}。
[0198] 步骤9.4:实时对摄像头获取到的图像进行特征提取,也是一组特征点{q}。
[0199] 步骤9.5:使用ICP(Iterative Closest Point)算法来迭代求解这两组特征点的R、T矩阵(Rotation&Translation),即Pose矩阵,也就是图形学中常说的模型视图矩阵(Model View Matrix)。假设三维空间的两个点为: 他们的欧氏距离为:
[0200]
[0201] 为求p和q变化的矩阵R和T,对于 其中i,j=1,2,…,N,利用最小二乘法求出最优解。使:
[0202]
[0203] 最小时的R和T,此时的R、T即MVP矩阵。其中,E为变换后两个点集中对应点的距离和,N为点集中点的个数。
[0204] 步骤9.6:得到MVP矩阵(Model View Projection),进行三维图形绘制。
[0205] 步骤10:截图生成图标。
[0206] 在AR模式的主菜单,添加一个按钮,绑定摄像机的截图功能,在菜单右侧添加滚动菜单栏,当截图函数成功触发,截图通过设置好的动态材质转换函数,显示到右侧滚动菜单栏。演示过程中,用户点击截图按键,系统会在界面左边生成图标,方便用户对学习过程中的难点、疑问点记录与详细观测,这样可以加固学习效果。
[0207] 步骤11:模型旋转停止展示。
[0208] AR模式下,用户看到的是真实场景与虚拟模型的叠加。将设置的模型实例化为一个Actor,添加Rotation函数,实现模型顺时针旋转。此设计,设置模型旋转,用户对工具模型有一个360度观测、学习,可以更好的达到视觉效果,这种演示学习模式更具有真实性、沉浸感。
[0209] 步骤12:AR功能扩展模块。
[0210] 本发明添加AR教育展示扩展功能,通过添加二级UI,控制Map切换,实现不同物体的演示。其中包括地球、土星、水星、含大气层星球以及星系运行展示功能,星球做自转运动,通过AR模式,将运动的星球展现在用户眼前,并添加知识简介功能,完善了本系统扩展的教育展示功能。
[0211] 步骤13:动态手势与模型交互。
[0212] AR模式添加OpenCV视频信息处理,初始化视频流后,先进行运动检测,如果检测到动态手运动,则进行图像处理,将手势进行图形处理去噪、转成HSV模式、形态学处理、画轮廓线,标定信息、轮廓信息比较,最后进行模型受力模拟,实现动态手势与虚拟模型的交互,具体实现原理流程如图5所示。特别的,此动态手势交互实现了模拟三维手势的识别控制,视频流获取的动态手为二维信息,这里通过矩阵运算,将与计算得到的摄像机相对于探测到的标识的转换矩阵做比较,得到一个三维运动手势运动信息,从而实现对模型在三维空间里不同方向上的受力模拟;具体包括如下步骤:
[0213] 步骤13.1:运动检测
[0214] 本方法是基于颜色直方图与背景差分的运动检测,程序在启动摄像头过程中,需要一定时间,这个时间差不多可以采集20帧的图像,对这20帧进行循环背景更新如下式,并对每帧运动检测后得到除运动手势区域外的像素也做背景更新。
[0215]
[0216] 其中,ut为背景图像相应的像素点,ut+1为更新后的背景图像像素点;It为当前帧图像的像素点,If是当前帧图像像素点的掩码值,即是否做背景更新;a∈[0,1]为背景图像模型更新速度,一般取0.8到1,本方法取0.8。
[0217] 步骤13.2:图像预处理
[0218] 通过步骤13.1的简单运动检测步骤,如果检测到有运动信息,则开始对含有运动手势的视频帧图像进行预处理:通过OpenCV的medianBlur函数对图像进行中值滤波,去除椒盐噪声:
[0219] 步骤13.3:转换到HSV空间
[0220] 通过cvtColor函数对图像进行颜色空间转换,得到其HSV空间的数据,并对在HSV空间中亮度v值重新设置为比较小的亮度值(减小静止类肤色的干扰);对HSV空间中亮度v值重新设定如下式所示:
[0221]
[0222] 其中,r、g为感兴趣的肤色区域的红色与绿色像素,且r>g;
[0223] 步骤13.4:分割手区域,并进行形态学处理
[0224] 将得到的运动二值图和通过反投影得到的二值图相与,在进行一些图像形态学闭操作得到比较完整的运动肤色手势二值图;去除图像中的杂点;
[0225] 步骤13.5:获取手势轮廓
[0226] 通过初步的形态学操作,去除噪声,并使手的边界更加清晰后,通过OpenCV的findContours函数得到手势轮廓,然后进行去除伪轮廓操作;
[0227] 步骤13.6:画出轮廓,标定信息
[0228] 步骤13.7:轮廓信息比较,设置方向矢量
[0229] 由于手是不断运动的,所以我们得到的轮廓也是不断在改变。将每一帧得到的轮廓进行比较,设定比较条件。通过比较给方向标志变量赋值。状态比较和分析如表1:
[0230] 表1:状态分析
[0231]
[0232] 步骤13.8:通过方向矢量,作用到虚拟模型,产生受力模拟
[0233] 动态手势通过轮廓判断后,根据不同的判断结果对虚拟模型进行受力模拟操作。根据轮廓判断过程中方向标记的值,模型在三维空间的坐标值将会进行x、y、z三个坐标轴上的相乘计算,通过坐标值的改变,实现模型位置的改变而达到受力的模拟。
[0234] 本实施例中选取一组手掌由远到近的运动、由下到上运动以及手掌向各个方向扭转运动对模型产生的不同受力效果模拟展示,手势运动模型分别向前移动、向上移动以及根据手的不同扭转方向有一个向各方向受力的运行效果。此功能展示了动态手势与虚拟模型的交互,此交互可以帮助用户多角度观察模型,并实现了教学与用户之间的互动,增加趣味性。
[0235] 当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈