时间:2024-07-28
牟 郁,郭 莹
(沈阳工业大学信息科学与工程学院, 沈阳110870)
随着人工智能技术的发展,新型、自然、便捷的人机交互方式已经成为当今各行业交互方式的新趋势。手语作为表达信息的一种方式,是聋哑人与外界交流的最主要途径。手语分为手势语和手指语。手势语是用手的指示,动作,位置和朝向,配合面部表情或体态语言,按照一定语法规则来表达特定意思的交际工具;手指语是用手指代替拼音,组成一定的汉字,表达聋人思想,是听觉障碍者学习发音、口语、识字的极有用处的辅助工具。手指语在一定程度上充实了手势语的表达内容,使手势语由原来单纯地表达实词发展成表达虚词,为实词表达数量的增加起到了推动作用,从而使手势语与有声语言之间的内在联系更加密切。
传统手语识别方法普遍存在背景干扰严重、特征提取不完整及识别准确率低的缺点[1]。由于用户个体操作的不规范性,也会对识别造成一定的影响。为减轻此类影响,对其展开深入研究。在手语样本的采集方面,把识别方法分为基于设备和基于视觉两种,本研究采用后者。基于视觉的方法通过摄像设备采集手语信息,与基于设备的方法相比,操作更加简易,局限性更少,价格也更便宜,便于大量推广。基于视觉的手语识别研究正处于蓬勃发展阶段,存在着许多有价值的研究客题,对于构建更加友好的人机交互界面很有意义。
基于视觉的手语识别是指用摄像设备采集包含手语信息的图像序列,通过提取、分析手语中的HOG 特征,经由计算机通过一定的模式识别技术对手语进行识别。模式识别又通常称作模式分类,从处理问题的性质和解决问题的方法等角度来看,可分为有监督的分类和无监督的分类两种[2]。有监督的分类和无监督的分类差别主要在于各实验样本所属的样本是否预先已知。
近年来,高维数据的稀疏表示成为机器学习和计算机视觉研究领域的热点之一[3]。目前许多较好的分类系统往往都会选用稀疏表示作为其关键模块[4]。稀疏表示分类(SRC)的应用是将表征对象主要的或本质的特征构造稀疏向量,这些特征具有类间的强区分性。然后利用稀疏表示方法得到这些特征的值,并根据稀疏向量与某类标准值的距离,或稀疏向量间的距离判别来完成分类过程[5]。
本研究尝试使用的方法即是将手语样本转化表示为稀疏信号,再用一组过完备基将输入信号线性表达出来,这样展开系数可以在满足一定的稀疏度条件下,获取对原始信号的良好近似。
采集的手语样本通过HOG 特征提取之后可用一个高维向量来表示。高维特征空间通常是首选,这样能够更好地代表识别事件。但是,通过增加特征尺寸,所需训练样本的数量将呈指数增长。稀疏编码是一种可以使用较少训练样本和参数来表示高维空间中数据的学习方法。基于稀疏编码的分类方法归因于通过去除冗余视觉特征,高维信号可以在低维流形中由其类别的代表性样本稀疏地表示。稀疏表示现已广泛应用于图像分析中的各种应用,包括视频事件检测,动作识别,视频编码,拥挤中的异常事件检测场景和语义检测[6]。稀疏表示涉及了两个优化子问题:字典学习和稀疏编码。
寻找字典的过程被称为字典学习,其目标是学习到一个最优的超完备字典,使用尽可能少的原子、以最小的误差来稀疏地表示给定的原始信号。字典学习主要可分为无监督和有监督两种。
2.2.1 无监督字典学习
字典学习可通过下式来定义为优化问题:
其中,L= [l1,l2,...,lN]∈RK×N表示为训练样本的N维输入信号;是重构误差;X= [x1,x2,...,xN]∈RM×N是L 的稀疏编码;|·|||F是F 范数,定义为;||·||0代表l0范数,表示向量的稀疏性;而D= [d1,d2,...,dh]∈RK×N是由M 列组成的超完备字典,其被成为原子。式中的最小化方程式中的能量可以通过K-SVD 迭代算法有效地实现。
通过求解稀疏编码这个过程,将输入信号li的稀疏表示xi计算为学习字典D 的几个原子的线性组合。使用正交匹配追踪(OMP)算法进行优化,如下式:
具有l0范数正则化的式(2)是一个非凸和NPhard 问题。此等式还有另一种选择是使用l1范数而不是选择l0范数,这样会强制稀疏性:
其中,λ是平衡重建误差相对于稀疏项的相对重要性的正则化参数。通过优化,可以将具有l1范数正则化的稀疏编码表示为以下优化问题:
2.2.2 监督字典学习
无监督的字典学习并不利用训练样本中的类信息。受监督的字典学习方法利用训练样本中的类信息,可用于学习判别字典以产生更好的分类精度和性能[7]。受监督字典学习可以分为三类。第一类是每个类学习一个特定类的字典,以提高类之间的判别力。但因为分类器的性能由大字典保证,所以这种方法带来较沉重的计算负担。
第二类是先通过无监督的方式来计算大字典,然后使用目标函数从该字典中选择或合并原子并学习紧凑的共享字典。为了提高紧凑字典的判别力,这些方法中的目标函数是根据不同的标准设计的。这些方法的主要缺点是构造的紧凑字典与初始字典的相似性。
第三类方法是将一个判别项并入词典学习的目标函数中。在此种方法中,作为判别项的分类器参数是在字典学习阶段期间学习的; 这些方法的例子包括判别性K-SVD(D-KSVD),标签一致性KSVD(LC-KSVD)和Fisher 判别词典学习(FDDL)[8]。该类别中的方法具有两个缺点:目标函数是复杂且非凸的; 调整目标函数的参数是耗时且困难的。
本研究采用LC-KSVD 算法进行运算,以提高手语识别的准确性。
D-KSVD 和LC-KSVD 算法的核心思想是在优化问题中统一判别式项和字典学习。D-KSVD 优化问题的公式如下:
为了提高字典对稀疏编码的判别能力,目标函数(5)通过LC-KSCD1 和LC-KSVD2 方法得到增强。LC-KSVD2 优化问题适于用下式表示:
在优化问题上,执行字典和分类器参数学习是目前比较尖端的想法,但是也会出现使优化问题变得更加复杂和非凸[9],此时可通过对提取的HOG 局部特征进行加权来解决这个问题。
本研究中提出的手语识别方法主要包括四个部分:图像分割、特征提取、字典学习以及分类识别。具体过程如图1 所示。
图1 新方法的手语识别过程
图像分割一般是指通过简化或调整图像的表示形式来使图像变得利于理解和分析,它常常被用于定位某张图像中的物体定位以及边界划分。进一步准确的理解就是图像分割在给图像中的每一个像素点添加标签,通过这一操作使得那些具有相同标签的像素点有了共同的特征,从而达到了定位物体的目的。图像分割的方法一般包括阈值分割、肤色分割、区域提取等。按照要分割的图像类型可分为:灰度图像分割、彩色图像分割和纹理图像分割[10]等。具体的实施方案根据图像的特征有所不同,此处选取基于阈值分割的方法来进行图像的分割。
分别采用阈值分割方法对样本集中的“l”、“n”和“y”手语图像进行图像分割并对比,实验结果如图2 所示。结果表明手语图像采用基于阈值分割方法(阈值选取0.5)可以提取比较完整的手区域。
图2 手语字母原始图像阈值分割效果
对预处理过后得到的手语轮廓再进行特征信息提取。通过映射(变换),将高维的特征向量转化为低维。对于手语的特征选择是从最原始的特征中挑选出一些最具代表性、分类性能好的特征来达到降低特征空间维数的目的[11]。目前比较主流的图像特征提取方法有三种:HOG、SIFT、LBP。
特征提取指的是一种利用计算机来提取图像信息进而决定每个图像的点是否属于一个图像特征的概念。特征提取的结果是把图像上的点分为不同的属于孤立的点、连续的曲线或者连续的区域子集。大多数计算机图像算法均使用特征提取当作其初级计算步骤,因此发展出了大量的特征提取算法,其提取的特征各式各样,计算复杂性以及可重复性也不尽相同。
SIFT 算法通过求取图像中的局部性特征及其有关尺度空间和方向的描述子得到,优点是具有尺度不变性、旋转不变性、对视角变化和噪声具有一定程度的稳定性以及特征维度小;缺点是实时性不高、模糊图像的特征点较少以及对边缘光滑的目标无法准确提取特征[12]。LBP 算法计算较为简便,运算速度快,但缺点是方向信息有所欠缺。HOG 算法的基本思想为:研究目标的局部特征能够被其归一化方向梯度分布所识别,此外HOG 特征不需要精确了解相对应的梯度信息与边缘位置信息[13]。在此,将预处理之后的图像进行HOG 特征提取处理,得到图像相对应的描述特征符。
HOG 算法的原理为:先将图像分割,分割后每个小区域之间连通,称为细胞单元(cell)。针对每个细胞单元,先求出其像素点的梯度和图像的边缘方向直方图,再对这些直方图进行采集,最后进行组合得出特征向量[14]。HOG 算法的主要实现步骤如下:
1) 标准化Gamma 空间和颜色空间
减少光照因素方面的影响,对需要检测的目标对象图像进行归一化处理。分析图像的纹理强度得知,局部表层的曝光存在更大比重,故此算法可以在很大程度上降低图像局部的阴影和光照变化。因为颜色对算法的作用较小,故通过Gamma 校正法,归一化输入图像的颜色空间。此方法通过调节图像的对比度,来减弱图像的局部光照和阴影变化,可有效地降低噪音的干扰。
2) 计算图像梯度
对于目标对象成功获取其轮廓信息,需要使光照产生的干扰减弱,并计算各像素的梯度,包括大小和方向。在横、纵坐标的方向分别计算图像的梯度,并计算其梯度方向值。通过求导的算法,可以完成轮廓的捕获,并获取手影和纹理的信息,从而使光照产生的影响减弱[15]。
3) 构建梯度方向直方图
为提供给局部图像区域一个编码,需要对各细胞单元进行梯度方向直方图的构建,对于图像中目标外观的弱敏感性,此方法能够有效实现。首先对图像进行划分,形成若干个小单元格即cell。实验中分割缩放后得到的图像大小是128×64 像素,且各个cell 均设为8×8 个像素,即窗口的搜索步长为8,所以得到了没有重叠的16×8 个cell;然后利用9 个bin 的直方图对此像素的梯度信息进行统计,如图3所示。可以看到,cell 的梯度方向被分为360°的9 个方向块。
图3 划分成9 个梯度方向的cell
4) 归一化梯度直方图
当局部光照和对比产生变化时,梯度强度会在很大范围内变化,故需对梯度强度进行归一化。因为每8×8 个像素组成的cell 能够提取9 个梯度方向直方图,而实验中取每2×2 个cell 组成一个block,故每个block 中包括了9×4 个梯度特征。归一化的操作可以进一步地压缩光照、阴影和边缘,增加信息的准确程度。
5) 收集HOG 特征
每2×2 个cell 组成了1 个block。相邻block 之间存在重叠,所以有15x15 个block。对于目标图像范围内所有block 的HOG,串联其特征描述,可得出该目标图像的HOG 特征描述符,亦即可供分类使用的最终特征向量,它包含15×15×9×4=8100 个HOG 特征。HOG 特征提取过程如图4 所示。
图4 HOG 特征提取过程
基于稀疏表示的图像识别方法是近年来模式识别领域的研究热点[16]。字典学习则是基于稀疏表示图像识别方法中的核心问题。计算待识别信号的稀疏编码和对识别信号进行分类是字典学习在基于稀疏表示的分类中起到的两个最关键的作用[17]。为了得到理想的字典,同时提高通过学习得到的字典的判别能力,在字典学习的过程中,将具有判别性的正则项应用于编码系数,从而使得来自同一类的相似训练样本具有相似的编码系数。对于给定的任一测试样本,将学习到的字典用于计算该测试样本的编码系数,并根据计算得到的编码系数以及重构误差,进而完成对测试样本的分类识别。
可以使用稀疏表示来移除冗余的视觉特征并将原始特征映射到较低维度的空间[18]。稀疏表示的性能会极大影响学习字典。在此提出了一种改进的利用输入样本数据的监督标签和判别性信息来学习判别和重建字典的方法。与标签一致性K-SVD 方法一样,为了提高线性分类器的性能并获得有区别的稀疏码,可以在重建字典学习过程中改进比较判别性稀疏编码和经过处理的字典原子项的方法。重建和判别词典学习的目标函数表述如下:
使用与D-KSVD 和LC-KSVD 方法相同的策略,上述目标函数可以改写为:
算法中的参数Te和W 需要进行初始化,通过使用稀疏编码矩阵X、判别性稀疏编码Q 以及类标签矩阵H 按照下式进行计算:
经过字典学习后可获得参数D= [d1,d2,...,dN],和,进而可以按照下式进行计算处理来得到可以用于识别的参数以及
然后将待测试的手指语样本li输入,根据下式进行对应的稀疏编码xi的计算:
其中,fe∈RM为类标签向量。
使用适当的数据集作为基于学习算法的训练、测试及比较的基准是至关重要的。然而国际上公开可用于手语识别检测的数据集中的图像样本存在不清晰以及每类手指语样本数量不统一等问题,例如美国Thomas Moeslund 采集的手语数据集。为克服这一问题,实验采用自制手语数据集,该数据库包含了国际手语字母表中使用的不同静态符号(A~Y,不包括J)的24 类手语,其中每类字母样本分别为100张图片,共2400 张图片。通过使用高清相机拍摄照片来采集手语图片,像素为1600 万,分辨率为1920×1080,每个样本信号都是在深色背景前执行的,并且用户的手臂被一块类似黑色布的物体覆盖。如图5 所示为实验中采集到的一部分手语数据集。
图5 自制手语数据集实例
每个样本在平行于图像平面的平面中以各种比例、平移和旋转执行,保存为JPG 格式的彩色图像。采用的实验环境为64 位的Windows 10 操作系统,电脑配置为Dell 的x64 处理器,内存为4GB;实验的研究平台为R2016b 版本的MATLAB 平台。
为了调查参数对采用的手语数据集的影响,在实验中分别随机选择了每类手语类型60%的样本,用于培训拟议框架的不同部分,并保留其他40%分别用于测试。在应用本方法于所提供的数据集之前,研究了字典大小和稀疏因子的影响。通过交替调整其中一个参数,同时修复其他参数来进行测试。
5.2.1 字典大小的影响
影响分类准确度和计算时间的主要参数之一是字典大小。为分析字典尺寸大小对识别算法性能的影响,指定稀疏因子T=10,选取不同字典尺寸K,观察相应的LC-KSVD 算法识别率,结果如表1 所示。
表1 不同字典尺寸下LC-KSVD 算法识别率T=10
从表中数据可知,识别率随着字典尺寸增大有相应的提高趋势,但是并不是字典尺寸越大,识别率就越高,所以选取适当的字典尺寸也极为关键。当字典尺寸较小时也可以获得较高的识别率,这是字典学习与稀疏编码结合的优势所在。一般情况下,用于训练字典和稀疏编码的分类性能和计算时间会随着字典大小增加而增加。因此,当字典大小较小且分类性能较高时,构建的冗余字典较小,计算的时间复杂度也较小,更利于手语识别的实时性,现实的效果较为理想。
5.2.2 稀疏因子的影响
为分析稀疏因子T 对识别率结果的影响,指定字典尺寸K=700,观察稀疏因子T 取不同值时的识别率,结果如表2 所示。
表2 LCD 屏幕位置显示实例K=700
为验证LC-KSVD 算法的识别性能,针对手语数据集中的24 类手语,按照60%为训练样本、40%为测试样本的比例选取并进行测试,当稀疏因子T=20 时,在选取不同字典尺寸K 的情况下,将本方法与K-SVD、D-KSVD 以及LC-KSVD 进行比较,来验证改进的LC-KSVD 算法的识别性能,展示各类算法识别率以及识别时间的差异。各算法中选取的参数均相同,以体现公正性。
各类算法的识别率以及识别时间的对比结果如图6 所示。
图6 三种算法的识别率及识别时间对比
由图6 可以看出,在基于稀疏编码的手语识别算法中,LC-KSVD 算法保持了较高的识别率,其主要原因是在字典学习过程中对判别性稀疏编码与经过处理的字典原子项进行联系与结合,进而获得了更强的判别能力。通过观察可以看出LC-KSVD 的识别时间要短于其他算法。识别时间表达的是在测试阶段使用的时间,这是因为求解稀疏编码以及将稀疏编码送入分类器所用的这段时间是字典学习在离线阶段完成的,这样经过LC-KSVD 算法学习得到的字典原子数量会骤减,以此提升了手语的识别速度,所以LC-KSVD 的整体效果明显优于其他算法,实验采用的方法实现了最佳性能。
LC-KSVD 算法和SRC 算法的识别结果对比如表3 所示。
表3 LC-KSVD 与SRC 算法对比
可见,LC-KSVD 的整体效果明显优于SRC 算法,这是因为SRC 算法是直接对原始没有经过字典学习的冗余字典进行识别,虽然也可以取得比较高的识别率,但是却要花费较长的识别时间。
为进一步评估LC-KSVD 算法的识别性能,在同样的参数条件下,将LC-KSVD 算法与CART 分类回归树算法及KNN 算法进行比较来验证新方法的有效性。表4 给出了LC-KSVD 算法(K=700,T=20)与CART 分类回归树算法及KNN 算法的手语识别率以及识别时间的对比结果。
表4 LC-KSVD 与CART 分类回归树及KNN 算法对比
从表中可以看出,LC-KSVD 算法明显优于这两种对比算法,保持了较高的识别率且识别时间较短,主要原因在于LC-KSVD 算法通过字典学习后可以有效地对手语的变化进行建模。
针对传统的基于视觉的手语识别中存在的复杂的特征提取、鲁棒性不强等问题,采用HOG 的方法进行特征提取,进而完成的一种基于稀疏编码的手语识别方法。该方法对已经进行预处理的图像进行特征提取,避免了因光照、噪声等因素而受影响的问题,使得到的描述特征信息包含更加有用的信息,进而提高分类识别的正确率。该方法利用LC-KSVD字典学习算法来得到一个既具有表示能力,又具有判别能力的过完备字典,将手语的分类识别问题转换成在该过完备字典上的稀疏表示分类问题,同时满足了实时性以及降低计算成本的要求。在选用的自行采集的24 类手语数据集上进行了测试,实验结果验证了所提出的识别方法的实际有效性。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!