发明内容
本发明的技术解决问题:克服现有技术的不足,提供一种基于增强现实技术的儿童认知系统及认知方法,
对传统儿童识字的一种有效的补充,不仅能够解决传统儿童识字卡片枯燥无味、交互性差等缺点,而且能够很好的适应儿童好玩、好动、好奇心强的天性,发挥其模仿性强、感知灵敏及创造力非凡的特点。作为计算机图形学、虚拟现实及人工智能等前沿学科的交汇,逼真的3D模型能够很好地满足儿童的视觉需要,语音识别系统在减少繁琐操作的同时能够给予儿童语言学习方面的足够的刺激,而模式识别和虚拟则能够增强儿童的浸入性,达到更好的交互效果。另外,该平台通过语音交互,能够很好的提高儿童的听说能力,更大的提升儿童的学习能力、创新能力、沟通能力和综合素质,具有良好的社会效益。
本发明的技术解决方案:基于增强现实技术的儿童认知系统及认知方法,如图1所示包括:
图像信息录入模块:ARToolkit首先初始化摄像头参数,启动摄像头捕捉现实场景,导入矩形标记模式文件作为匹配模版,然后根据用户设定的阈值将采集到的一帧彩色图像进行二值化处理,转化为黑白二值图像。在该二值黑白图像中找出所有封闭的矩形区域,并把所有寻找出的矩形区域存储起来作为候选区域,并将候选区域图片信息存储到模版库中;
图片信息匹配模块:常用的匹配方法有:基于灰度的方法和基于特征的方法。两种方法中,后者的可靠性和鲁棒性比前者好。采用最基础和最重要的点匹配。近年来,谱图理论被广泛用于点匹配之中。采用图像内部的点亲近矩阵来进行匹配,其方法实际上就是对赋权图的邻接矩阵进行处理。将谱图分析方法和EM算法结合起来,通过点的亲近矩阵来获得点匹配的概率,提高了匹配的鲁棒性和准确性。圈是图论中基本概念,对图论的发展及应用起着及其重要的作用。将预先准备好的识字手册放在摄像头前,利用ARToolkit捕捉图像信息,把该图像信息和匹配模版库中的图像信息进行匹配,根据设定匹配标准,当匹配概率的值达到标准时,则认为匹配成功,进而绘制相应的模型;利用基于圈基的谱匹配算法,首先分别对两幅待匹配的图像构造完全图,在每个完全图中寻找所有的圈基,再通过各自的圈基构造邻接矩阵;然后进行奇异值分解,利用分解所得的特征向量构造反映特征点之间匹配程度的概率矩阵;最后通过双随机矩阵计算谱匹配的概率矩阵,获得匹配的最终结果。通过多次实验,验证了该算法在标识平移、缩放、旋转、仿射变换下的可行性;
绘制模型模块:预先利用3D max绘图工具为匹配模版库中每个图像制作了3D动画模型,当图像信息匹配成功时,就打开相应的模型文件,运行对应的程序。3D图形画面的绘制效果和表现力总是受到软硬件的限制,为了增强图形的表现力,有必要对图形的优化方法进行研究。采用OpenGL ES渲染管线技术,使开发3D场景时对顶点的变换、法向量的计算、纹理坐标的变换、光照材质的应用等均由开发者使用着色器代码完成,灵活性大大提高。利用Virtools渲染平台,将3D模型和音效整合到一起,即所有的分块在Virtools平台中具体运行,Virtool将所有的工作连接起来,按照一定顺序和层级关系运作,从而完成全部工作;
语音识别模块:成功打开3D动画和音频文件后,系统会进入语音识别模块。当用户第一次使用该系统时,系统会引导用户对声音进行提取录入,接下来系统利用Microsoft Speech SDK语音包进行录音,生成WAVE文件,并生成其波形图和语谱图。从而对语音信号进行预处理和特征提取,将提取的信息放入数据库中,实现了对用户语音特征的学习。对语音特征学习完成后,则打开预先设定好的音频文件,对用户进行提问。当用户回答时,系统首先采集用户回答的语音信号并提取信号中的特征参数,接下来在数据库中寻找匹配模版,如果找到,则认为匹配成功。用大词汇量的连续语音识别技术提取语音信号中的关键词,如果语音信号中存在系统预先设定好的关键词,则认为回答正确,否则认为回答错误;
所述的图像信息录入模块实现过程如下:
(1)初始化摄像头参数,启动摄像头捕捉现实场景,导入预先做好匹配模版,然后根据用户设定的阈值将采集到的一帧彩色图像进行二值化处理,转化为黑白二值图像;
(2)在该二值黑白图像中找出所有封闭的矩形区域,对所有寻找出的矩形区域进行特征点提取;
(3)由于高斯内核函数是唯一的尺度空间内核函数,因此用高斯函数作为卷积核,构建图像的尺度空间函数。输入图像用I(x,y)表示,其尺度空间函数为:
L(x,y,σ)=G(x,y,σ)·I(x,y)
其中,G(x,y,σ)为高斯函数,表达式如下:
(4)对于录入的每幅图像,计算其梯度值和方向。在特征点周围所在的一个区域内,依据样本点的梯度方向生成一个用36为代表360度方向的方向直方图,每个样本根据其梯度值的大小及一个具有参数σ(值是特征点尺度的1.5倍)的高斯权重圆窗口而被添加到直方图中将方向直方图中的峰值作为该特征点的主方向,在最大值80%以内的其他局部峰值也会被创建具有相同方向的一个特征点。当特征点的位置、尺度、方向被确定后,选用一个4x4的方向柱状图矩阵的描述符,矩阵中每个元素占有8个方向位,用这样一个4x4x8=128位的向量可以准确描述每个特征点;
(5)将每幅图像特征点信息写入到文件中,进而将文件添加到匹配模版库中;
所述的图像信息匹配模块实现过程如下:
(1)设I是待匹配的图片,包含有m个特征点,vi是图片I上的第I个特征点(i=1、2、...、m),首先利用欧式距离对对图片I构造完全图D(I),其完全图每条边的权值为对应两点之间的欧式距离。在完全图D(I)中寻找最小生成树有最小生成树和一条不在此最小生成树的边构成图片I的一组圈基γ(I),对任意一个圈基其圈基中顶点的集为对图片I中任意两个特征点vi、vj,若他们均属于则vi、vj两点间的权值用圈基所有边权值之和来代替,这样就得到了图片I任意两点间新的权值,再用高斯赋权邻接矩阵A(I),其中||vi-vj||用新的权值代替,按照同样的方法,可以得到模版库中图像的邻接矩阵A(J);
(2)对A(I)与A(J)进行奇异值分解(SVD)
A(I)=UΔ(I)UT,A(J)=VΔ(J)VT,
其中:
Δ(I)=diag{|λ1|、|λ2|、…、|λm|,|λ1|≥|λ2|≥…|λm|≥0;U=(U1、U2、…、Um),Ui为Δ(I)的对应于特征值λi的特征向量;
Δ(J)=diag{|δ1|、|δ2|、…、|δm|,|δ1|≥|δ2|≥…|δm|≥0;V=(V1、V2、…、Vm)
Vj为Δ(J)的对应于特征值δj的特征向量;
(3)对含有m个特征点的图片I和模版库中的图片J,定义匹配概率矩阵:
其中:Pij表示I中第i个特征点于J中第j个特征点的匹配概率,β是光滑系数;
(4)对匹配概率矩阵P的行和列按下式进行交替归一化:
经过大量的实验发现,经过次数不多的交替归一化即可将匹配概率矩阵P转化为双随机矩阵的形式,由于匹配概率矩阵的P进行了行和列的双向归一化,因此可以从行和列的方向判断匹配关系,这也更符合SVD分解的谱匹配算法的唯一性原则。如果Pij同时是第i行和第j列上的最大值,则表示图片I中的第i个特征点与图片J中的第j个特征点匹配,否则,认为该两点之间不存在匹配关系。
所述的语音识别模块实现过程如下:
(1)对用户语音特征进行采集,使用Microsoft Speech SDK语音包实现录音功能,生成WAVE文件,播放生成的语音WAVE文件,并生成其波形图和语谱图,为后续处理提供依据;
(2)采集到语音信号之后,需要对语音信号进行处理。处理步骤如下:
(2.1)提高信号的音频部分,使信号的频谱变得平坦,保持在低频到高频的整个频带中能用同样的信噪比求频谱,以便于频谱分析或声道参数分析,即对信号进行预加重处理。预加重一般是通过一个数字滤波器1-uz-1来实现,u的值一般在0.94~0.98之间,本系统取0.97。其调用格式为:
x=filter([1-0.97],1,x)
其中,x为要加重的语音信号;
(2.2)从一段信号中检测出语音信号的起始点和结束点,这可借助语音信号的能量和过零率两个时域参数来判断各数字的边界;有声语音的能量值较大,无声语音的过零率较高,因此可以通过计算短时能量大致判断出语音的端点,然后使用过零率找到语音端点的相对精确位置,分解出每一个语音段;
(2.3)利用滤波器对输入信号的频率进行选择,允许特定频率的信号通过,而其他信号的幅值受到衰减。从而将不同频率的语音信号分开,使得识别器能更好地识别语音信号;
(2.4)提取语音信号的特征参数,以MFCC参数作为特征参数。其计算流程如下:
(2.4.1)首先要计算倒谱提升窗口,为每帧数据计算出K阶MFCC参数后,还需要为这K个系数分别乘以不同的权系数。实际上是一个短的窗口:
上面式中,cm是原语音的特征向量;
(2.4.2)用下面的公式求出差分参数:
上面式中,k为常数,c和d为一帧语音信号参数,计算两次得到二阶差分参数,依此类推,计算n次,将得到n阶差分参数;
(3)对语音信号提取完成后,将语音信号的特征参数存放到数据库中;
(4)当用户对问题的回答完成之后,对用户的语音信号的特征参数与数据库中的特征参数进行匹配,如果找到相似度最近的模版,则该模版就是待识别的语音,认为识别成功;
(5)接下来要检出关键词,采用Microsoft Speech SDK的命令控制模式并设置适当的语法来实现关键词的检出。关键词检出步骤如下:
(5.1)在语音库中搜索预先设定好的关键词,批量地检出含有关键词的语音文件并生成检出结果,检出结果包括含关键词语音文件的文件名、关键词所在句子的开始时间及该句子。检出关键词的步骤如下:
(5.1.1)将存放控制语法的XML文件编译出的cfg文件装载入系统并加以激活,即可启动语音控制功能;
(5.1.2)采用命令控制模式来实现关键词的检出,检出语法除了包含关键词外,还需要包含非关键词。利用规则“*+关键词+*”可使检出语法包含关键词和非关键词。从而使语音识别引擎能够识别包含关键词和非关键词的句子,实现关键词检出;
(5.2)对检出结果进行校验,当检出的关键词与系统设定的关键词一致时,则认为用户回答正确。
本发明基于增强现实技术的儿童认知方法实现步骤如下:
(1)首先初始化摄像头参数,启动摄像头捕捉现实场景,导入矩形标记模式文件作为匹配模版,然后根据用户设定的阈值将采集到的一帧彩色图像进行二值化处理,转化为黑白二值图像;在该二值黑白图像中找出所有封闭的矩形区域,并把所有寻找出的矩形区域存储起来作为候选区域,并将候选区域图片信息存储到模版库中;对匹配模版库中的每个图像构造完全图,在每个完全图中寻找所有圈基,在再通过各自圈基构造邻接矩阵,进行赋权图的邻接矩阵处理;
(2)把录入的图像同样进行构造完全图,寻找圈基,依次和匹配模版库中的图像信息进行匹配,利用谱图分析方法和EM算法,通过点的亲近矩阵来获得点匹配的概率。利用基于圈基的谱匹配算法,在每个完全图中寻找所有的圈基,再通过各自的圈基构造邻接矩阵;然后进行奇异值分解,利用分解所得的特征向量构造反映特征点之间匹配程度的概率矩阵;最后通过双随机矩阵计算谱匹配的概率矩阵,获得匹配的最终结果;根据设定的匹配标准,当匹配概率达到标准时,则认为匹配成功。进而绘制相应的模型;
(3)打开预先制作好的3D模型文件,同时利用Virtools集成开发工具将3D模型和音频文件整合起来,在打开3D模型文件的同时,添加音频效果;对用户提出问题,进入语音识别模块;
(4)进入语音识别模块之后,当用户第一次使用该系统时,系统会引导用户对声音进行提取录入,接下来系统利用Microsoft Speech SDK语音包进行录音,生成WAVE文件,并生成其波形图和语谱图。从而对语音信号进行预处理和特征提取,将提取的信息放入数据库中,实现了对用户语音特征的学习。对语音特征学习完成后,则打开预先设定好的音频文件,对用户进行提问。当用户回答时,系统首先采集用户回答的语音信号并提取信号中的特征参数,接下来在数据库中寻找匹配模版,如果找到,则认为匹配成功。用大词汇量的连续语音识别技术提取语音信号中的关键词,如果语音信号中存在系统预先设定好的关键词,则认为回答正确,否则认为回答错误。
本发明与现有技术相比的优点在于:
(1)对传统儿童识字的一种有效的补充,当今市面上的传统儿童识字卡片枯燥无味、交互性差,该平台能够很好的适应儿童好玩、好动、好奇心强的天性,发挥其模仿性强、感知灵敏及创造力非凡的特点。
(2)逼真的3D模型能够很好地满足儿童的视觉需要,语音识别系统在减少繁琐操作的同时能够给予儿童语言学习方面的足够的刺激,而模式识别和虚拟则能够增强儿童的浸入性,达到更好的交互效果。
(3)由于该系统提供了图像信息录入和图形绘制接口,一方面把平台的可维护性和可移植性提高了;另外一方面为产品的批量生产提供了便利。
该系统作为对传统儿童识字的一种有效的补充,不仅能够解决传统儿童识字卡片枯燥无味、交互性差等缺点,而且能够很好的适应儿童好玩、好动、好奇心强的天性,发挥其模仿性强、感知灵敏及创造力非凡的特点。作为计算机图形学、虚拟现实及人工智能等前沿学科的交汇,逼真的3D模型能够很好地满足儿童的视觉需要,语音识别系统在减少繁琐操作的同时能够给予儿童语言学习方面的足够的刺激,而模式识别和虚拟则能够增强儿童的浸入性,达到更好的交互效果。另外,该平台通过语音交互,能够很好的提高儿童的听说能力,更大的提升儿童的学习能力、创新能力、沟通能力和综合素质,具有良好的社会效益。
具体实施方式
为了更好地理解本发明,先对一些基本概念进行一下解释说明。
赋权图:由点集合V和点与点之间的连线的集合E所组成的集合对(V,E)称为图,用G(V,E)来表示。V中的元素称为节点,E中的元素称为边。节点集V与边集合E均为有限的图称为有限图。如果图中任一边(i,j)都赋一个数ω(i,j),称这种数为该边的权数。赋以权数的图成为赋权图。有向图的各边赋以权数后,成为有向赋权图。
EM算法:在统计中被用于寻找,依赖于不可观察的隐性变量的概率模型中,参数的最大似然估计。EM算法又称最大期望算法。最大期望(EM)算法是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量。最大期望算法经过两个步骤交替进行计算:第一步是计算期望(E),利用对隐藏变量的现有估计值,计算其最大似然估计值;第二步是最大化(M),最大化在E步上求得的最大似然值来计算参数的值。M步上找到的参数估计值被用于下一个E步计算中,这个过程不断交替进行。
最小生成树:在一个具有几个顶点的连通图G中,如果存在子图G'包含G中所有顶点和一部分边,且不形成回路,则称G'为图G的生成树,代价最小生成树则称为最小生成树。
圈基:圈是一条起点和终点有边相连的路。图G的一个圈向量是指一个空集或者G的一个或多个边不交的圈的边集所导出的子图。G的所有圈向量构成的集合ζ是的一个子空间,成为G的圈空间,ζ的维数记为β(G),其值等于|E(G)|-|V(G)|+1,G的圈空间的一个基γ成为G的一个圈基。在最小生成树中添加一条图G的且不属于此生成树的边,一定构成一个圈,此圈称为一个基础圈,所有的基础圈构成图G的一组基。
高斯邻接矩阵:设G是一个含有n个顶点的图,v1,v2,…,vn是G的n个特征点。图G的高斯赋权邻接矩阵A(G)定义为:
其中:||vi-vj||表示vi与vj之间的欧式距离,参数σ可根据特征点的特征提取。
Microsoft Speech SDK:提供关于语音处理的一套应用程序编程接口。该接口提供了实现文字—语音转换和语音识别程序的基本函数,大大简化了语音编程的难度,降低了语音编程的工作量。
MFCC:指Mel频率倒谱系数,Mel是主观音高的单位,而Hz则是客观音高的单位。Mel频率是基于人耳听觉特性提出来的,它与Hz频率成非线性对应关系。Mel频率倒谱系数则是利用它们之间的这种关系,计算得到的Hz频谱特征。
下面结合附图对本发明进行详细说明
如图1所示,本发明基于增强现实技术的儿童认知系统由图像信息录入模块、图像信息匹配模块、绘制模型模块以及语音识别模块构成。
整个实现过程如下:
(1)首先初始化摄像头参数,启动摄像头捕捉现实场景,导入矩形标记模式文件作为匹配模版,然后根据用户设定的阈值将采集到的一帧彩色图像进行二值化处理,转化为黑白二值图像;在该二值黑白图像中找出所有封闭的矩形区域,并把所有寻找出的矩形区域存储起来作为候选区域,并将候选区域图片信息存储到模版库中;对匹配模版库中的每个图像构造完全图,在每个完全图中寻找所有圈基,在再通过各自圈基构造邻接矩阵,进行赋权图的邻接矩阵处理;
(2)把录入的图像同样进行构造完全图,寻找圈基,依次和匹配模版库中的图像信息进行匹配,利用谱图分析方法和EM算法,通过点的亲近矩阵来获得点匹配的概率。利用基于圈基的谱匹配算法,在每个完全图中寻找所有的圈基,再通过各自的圈基构造邻接矩阵;然后进行奇异值分解,利用分解所得的特征向量构造反映特征点之间匹配程度的概率矩阵;最后通过双随机矩阵计算谱匹配的概率矩阵,获得匹配的最终结果;根据设定的匹配标准,当匹配概率达到标准时,则认为匹配成功。进而绘制相应的模型;
(3)打开预先制作好的3D模型文件,同时利用Virtools集成开发工具将3D模型和音频文件整合起来,在打开3D模型文件的同时,添加音频效果;对用户提出问题,进入语音识别模块;
(4)进入语音识别模块之后,当用户第一次使用该系统时,系统会引导用户对声音进行提取录入,接下来系统利用Microsoft Speech SDK语音包进行录音,生成WAVE文件,并生成其波形图和语谱图。从而对语音信号进行预处理和特征提取,将提取的信息放入数据库中,实现了对用户语音特征的学习。对语音特征学习完成后,则打开预先设定好的音频文件,对用户进行提问。当用户回答时,系统首先采集用户回答的语音信号并提取信号中的特征参数,接下来在数据库中寻找匹配模版,如果找到,则认为匹配成功。用大词汇量的连续语音识别技术提取语音信号中的关键词,如果语音信号中存在系统预先设定好的关键词,则认为回答正确,否则认为回答错误;
上述各模块的具体实现过程如下:
1.图片信息录入模块
该模块的实现过程如图2所示:
(1)ARToolkit首先初始化摄像头内部参数,导入矩形标记模式文件作为匹配模版,启动摄像头捕获视频;
(2)在摄像头能够捕捉到的区域寻找标识,如果能找到标识,则执行下一步,否则退出;
(3)根据用户设定的阈值将采集到的一幅彩色图像进行二值化处理,转化为黑白二值图像;
(4)对该二值图像进行连通域分析,找出其中所有的矩形区域,对这些矩形区域进行初步处理,如清除过小的矩形区域;
(5)将筛选过后的矩形区域在该帧彩色图像中找出相对应的矩形区域作为候选区域;
(6)ARToolkit会将每张图像生成其对应的图像信息文件,存储进模版库中。
2.图片信息匹配模块
该模块的实现过程如图3所示:
(1)利用I、J的特征点集分别构造赋权完全图D(I)、D(J);
(2)在每个完全图中寻找一组圈基,并构造赋权邻接矩阵A(I)和A(J);
(3)对赋权邻接矩阵A(I)和A(J)进行SVD分解;
(4)对V的列向量进行符号校正得到V';
(5)构造匹配概率矩阵P;
(6)对P进行交替归一化已转化为双随机矩阵形式;
(7)在匹配概率矩阵P中寻找pij,若pij是所在行与列的最大元,则图像I与图像J的第j个点是一对匹配点。
3.绘制模型模块
该模块实现过程如图4所示:
(1)设定3D空间中物体的顶点坐标、顶点对应的颜色、顶点的纹理坐标等属性,并且指定绘制方式,如:点绘制、线段绘制或者三角形绘制。
(2)设置顶点缓冲对象;
(3)利用Virtools对3D模型进行合成音频文件;
(4)进行图元组装和处理;
(5)根据当前需要处理片元的纹理坐标以及采用的纹理ID对相应的纹理图进行纹理采样,获取采样值。执行颜色的变化,根据纹理采样以及光照计算的结果综合生成需要处理片元的颜色;
(6)打开每张图片对应的3D模型文件。
4.语音识别模块
该模块实现过程如图5所示:
(1)对用户语音特征进行采集,使用Microsoft Speech SDK语音包实现录音功能,生成WAVE文件,播放生成的语音WAVE文件,并生成其波形图和语谱图,为后续处理提供依据;
(2)采集到语音信号之后,需要对语音信号进行处理。处理步骤如下:
(2.1)提高信号的音频部分,使信号的频谱变得平坦,保持在低频到高频的整个频带中能用同样的信噪比求频谱,以便于频谱分析或声道参数分析,即对信号进行预加重处理;
(2.2)从一段信号中检测出语音信号的起始点和结束点,这可借助语音信号的能量和过零率两个时域参数来判断各数字的边界;有声语音的能量值较大,无声语音的过零率较高,因此可以通过计算短时能量大致判断出语音的端点,然后使用过零率找到语音端点的相对精确位置,分解出每一个语音段;
(2.3)利用滤波器对输入信号的频率进行选择,允许特定频率的信号通过,而其他信号的幅值受到衰减。从而将不同频率的语音信号分开,使得识别器能更好地识别语音信号;
(2.4)提取语音信号的特征参数;
(3)对语音信号提取完成后,将语音信号的特征参数存放到数据库中;
(4)当用户对问题的回答完成之后,对用户的语音信号的特征参数与数据库中的特征参数进行匹配,如果找到相似度最近的模版,则该模版就是待识别的语音,认为识别成功;
(5)接下来要检出关键词,采用Microsoft Speech SDK的命令控制模式并设置适当的语法来实现关键词的检出。关键词检出步骤如下:
(5.1)在语音库中搜索预先设定好的关键词,批量地检出含有关键词的语音文件并生成检出结果,检出结果包括含关键词语音文件的文件名、关键词所在句子的开始时间及该句子;
(5.2)对检出结果进行校验,当检出的关键词与系统设定的关键词一致时,则认为用户回答正确。
应用举例:该发明在北京航空航天大学第二十二届冯如杯取得了三等奖的成绩,并代表该校参加了东京的“北航大学生日本夏令营”,获得好评,并通过北航幼儿园的实验,老师和小朋友们都显示了极大的兴趣。
本发明未详细描述的部分属于本领域公知技术。
以上所述,仅为本发明部分具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。