基于融合轻量级神经网络与树莓派的自动唇读系统
摘要
虚拟现实(VR)是一种交互式体验技术,可将人类的视觉、听觉、表情、语音甚至触觉融入人机交互之中。唇读识别是人机交互领域的一项新兴技术,具有广阔的发展前景,在噪声环境中以及听力障碍人群中尤为重要,通过视频中的视觉信息来弥补语音信息的不足。这种信息得益于增强现实(AR),旨在建立一种高效便捷的通信方式。然而,传统的唇读识别系统由于识别过程长、参数数量多,对设备的运行速度和性能要求较高,难以满足实际应用的需求。本文首次实现了基于树莓派的移动端唇读识别系统,其识别性能达到了本研究领域的最新水平。我们的移动端唇读识别系统可分为三个阶段:第一,从我们自建的独立数据库中提取关键帧,并采用多任务级联卷积网络(MTCNN)进行人脸校正,以提高嘴唇提取的准确率;第二阶段,使用MobileNets提取唇部图像特征,并利用长短期记忆(LSTM)网络提取关键帧之间的序列信息;最后,我们比较了三种唇读模型:(1)双向LSTM与AlexNet的融合模型;(2)带有注意力机制的融合模型;(3)我们提出的LSTM与MobileNets的混合网络模型。实验结果表明,我们的模型参数更少、复杂度更低,在测试数据集上的准确率达到86.5%。因此,相比其他PC平台,我们的移动唇读系统更为简洁小巧,节省了计算资源和内存空间。
关键词 :移动唇读系统;轻量级神经网络;面部校正;虚拟现实(VR)
1. 引言
唇读是指通过捕捉说话者的嘴唇动作来识别其所说内容的技术。特别是在声音重叠的嘈杂环境中,或针对听力障碍人群,该系统将自动检测唇部区域并识别信息[1]。唇读技术可通过基于增强学习的视觉感知来补充语音信息。同时,自动唇读技术可广泛应用于虚拟现实(VR)系统[2],信息安全[3],语音识别[4]以及辅助驾驶系统[5]。唇读系统主要分为基于传统方法的唇读系统和基于深度学习的唇读系统。传统的唇读系统通常包括特征提取和分类两个方面。在特征提取方面,存在两种方法:基于像素的方法和基于模型的方法。基于像素的特征提取使用从感兴趣的嘴唇区域(ROI)作为视觉信息。然后,通过离散余弦变换(DCT)[6],离散小波变换(DWT)[7],和主成分分析(PCA)[8]提取抽象的图像特征。基于模型的方法是通过数学模型表示嘴唇,用曲线和特殊特征无限逼近唇部轮廓,并获取嘴唇的几何特征。对于分类,将提取的特征送入分类器进行分类。常用的分类器包括人工神经网络(ANN)[9],支持向量机(SVM)[10],和隐马尔可夫模型(HMM)[11]。深度学习的突破也影响了唇读技术的发展。其研究方向已从结合人工设计特征与传统分类模型,转变为基于深层神经网络的端到端完整系统[12]。
近年来,Google团队的研究人员提出了MobileNets。MobileNets是一种适用于移动和嵌入式视觉应用的高效模型;它可以通过结合深度可分离卷积来构建轻量级深度神经网络[13]。这类网络提供了极为高效的网络架构,能够轻松满足移动和嵌入式应用的需求[14]。考虑到唇部特征提取包含语音信息和视觉感知,我们提出了一种结合MobileNets和长短期记忆网络的混合神经网络,以构建基于树莓派的移动唇读系统。树莓派是一种信用卡大小的微型计算机,可以完成普通PC所能做的一切事情,并且拥有大量用户支持。例如,它可以嵌入到虚拟现实可穿戴设备中。整个唇读识别系统运行在基于Linux系统的树莓派上;我们将项目部署到树莓派的目标文件夹(/home/pi/唇读识别)以实现自启动。本文通过添加脚本文件实现了自启动功能。此外,我们对树莓派与安卓智能手机和计算机进行了比较。智能手机受限于PCBA(印刷电路板组装)的空间,因此无法容纳相应的USB、HDMI等接口。智能手机的低硬件成本导致其软件适应性较差。尽管计算机具有强大的处理能力,但其不便携带,难以部署在简单设备中。相比之下,树莓派具有体积小、便于携带和低成本的优点。
我们的移动设备唇读识别系统可分为以下几个阶段:首先,通过连接到树莓派的摄像头获取唇读视频,并使用我们自主设计的规则提取帧,以降低冗余信息的复杂度[15]。第二阶段,采用多任务级联卷积网络(MTCNN)进行面部校正及唇部区域关键点提取[16]。然后使用MobileNets提取嘴唇特征。接着,基于注意力机制的LSTM网络用于学习视频中关键帧特征之间的序列信息和注意力权重。最后,通过两个全连接层和softmax预测最终的识别结果。softmax函数将预测结果转换为概率[17]。该移动唇读系统的优势在于:(1)采用MTCNN网络进行面部校正和唇部关键点检测,可提高特征提取的准确率。(2)与基于PC的移动设备相比,树莓派具有体积小、低功耗和低成本的优点,同时也能够正常完成一些PC的任务和应用。(3)基于MobileNets和LSTM的混合神经网络可以减少参数数量、模型复杂度以及无效信息干扰。
本文的其余部分组织如下:在第2节中,我们介绍了移动唇读系统的准备和架构。第3节包含我们提出的方法的分析和实验结果。第4节提供结论和对未来研究方向的建议。
2. 提出的模型
在本节中,我们提出了研究框架和主要步骤。我们设计的框架是一个基于移动设备的视频识别系统。考虑到移动设备的性能限制,我们提出了如图1所示的框架。首先,我们需要处理动态视频。我们设计了一种高效的方法来提取固定帧。其次,我们实现人脸定位以及面部校正。然后,我们使用MobileNets分割嘴部图像区域以提取特征。最后,通过LSTM学习时序特征并预测识别结果。
2.1 固定帧提取、MTCNN嘴唇检测与校正
嘴唇检测是唇语识别的关键部分。然而,先前研究基于Dlib来定位人脸的嘴唇[18]。然后对嘴唇进行分割以进行特征提取。本文中,我们独立设计了一种帧提取规则,并提出一种多任务级联卷积网络(MTCNN)来提取嘴唇区域作为训练数据,同时定位关键嘴唇点以校正嘴唇区域。
提取固定帧的质量直接决定了识别结果的质量。因此,我们设计了一种用于嘴唇识别的帧提取方案。为了提高模型的鲁棒性,我们设计并实现了一种基于分块的随机选择方法。如果一个视频片段中的总帧数为V,我们首先将视频V划分为x个块(x = 1, 2, 3, 4, 5 … n)。F表示每帧的序列号,由于可能存在无法整除的情况,我们会减少总帧数。如公式(1)所示。
$$
x = v - \left\lfloor \frac{v}{n} \right\rfloor * n \quad (1)
$$
其中,$\left\lfloor \cdot \right\rfloor$ 是向下取整算子,第一个X通过每个块提取两帧作为固定帧,从而阻止帧数的增加。如公式(2)所示。
$$
F = A^i_{\text{block}
n} \quad (2)
$$
其中,$A^i
{\text{block}_n}$ 表示按顺序选择i帧。
MTCNN在人脸检测的性能和识别速度方面具有绝对优势[19]。它基于级联框架,可分为三层:P‐Net、R‐Net和O‐Net[20]。具体的网络结构如下:
- 候选网络(P‐Net) :该网络结构主要用于获取候选窗口的回归向量以及人脸的边界区域。这些边界区域用于使用回归分析校准候选窗口,然后通过非极大值抑制(NMS)合并高度重叠的候选窗口。(见图2a)。
- 精修网络(R‐Net) :该网络结构同样通过边界区域回归分析和NMS去除误检区域。但由于其网络结构与P‐Net网络结构存在差异,增加了一个全连接层,因此能够更好地抑制误判率。(见图2b)。
- 输出网络(O‐Net) :该层比R‐Net层多一个卷积层,因此处理结果会更好。其工作方式与R‐Net层相同,但该层监测更多的面部区域,并输出五个关键点。(见图2c)。
MTCNN模型能够同时检测面部区域和面部关键点,并实现特征关键点的校准。在此过程中,模型采用了非极大值抑制方法。基于此,我们可以实现对人脸的矫正。我们通过使用MTCNN达到如图3所示的效果,以提高后续识别的准确率。
2.2 MobileNets 架构
基于简化架构的MobileNets使用深度可分离卷积来构建轻量级深度神经网络。我们引入了两个简单的全局超参数。这些超参数允许模型生成器根据问题的约束条件为其应用选择合适的模型大小,从而降低模型复杂度[21]。
MobileNets的主要工作是使用深度可分离卷积替代标准卷积,以解决卷积网络的计算效率和参数问题[22–24]。标准卷积如图4a所示。它将标准卷积分解为深度卷积和逐点卷积,这是许多高效神经网络结构的关键组成部分。其基本思想是使用分解版本代替完整的卷积算子,将卷积分解为两个独立的层。第一层如图4b所示,称为深度卷积,通过在每个输入通道上应用卷积滤波器来实现轻量级滤波。第二层是图4c,即一个1 × 1卷积,称为逐点卷积,负责通过计算输入通道的线性组合来构建新特征。
除了作为MobileNets基本组成部分的深度可分离卷积外,该模型还使用了修正线性单元激活函数。因此,深度可分离卷积的基本结构如图5所示。批量归一化和修正线性单元用于加快训练速度并提高模型的识别精度[25]。
2.3 长短期记忆网络(长短期记忆)
为了解决RNN在处理长序列数据时出现的梯度消失和梯度爆炸问题,霍赫赖特[26]提出了一种RNN的改进形式,称为长短期记忆(LSTM),专门用于处理长期依赖序列中的信息缺失问题[27]。
LSTM通过引入记忆单元来存储历史信息。通过引入三个控制门结构,包括输入门、遗忘门和输出门,LSTM控制网络中信息流的增加和删除。为了更好地从序列数据(如视频、音频和文本)中发现和利用长期依赖关系,记忆细胞会记住长序列中需要保留的相关信息,并遗忘一些无用的信息。图6展示了单个LSTM单元内部执行的操作。其中,xt表示时间t时网络节点的输入向量,ht表示时间t时网络节点的输出向量,it、f t、ot和ct分别表示时间t时的输入门、遗忘门、输出门和记忆单元。
LSTM单元中输入门、遗忘门、记忆单元和输出门的计算步骤如下:
-
输入门 :该门用于控制输入节点的信息。输入门的输出和候选信息的数学表达式如下:
$$
i_t = \sigma(U_i x_t + W_i h_{t-1} + b_i) \quad (3)
$$
$$
g_t = \tanh(U_g x_t + W_g h_{t-1} + b_g) \quad (4)
$$
其中,Ui、Wi和bi表示输入门的权重和偏置,Ug、Wg和bg表示候选状态的权重和偏置,σ表示sigmoid激活函数,tanh是激活函数。 -
遗忘门 :该门用于控制当前LSTM单元丢弃哪些信息。遗忘门的数学表达式如下:
$$
f_t = \sigma(U_f x_t + W_f h_{t-1} + b_f) \quad (5)
$$
其中,Uf、Wf 和 bf 分别表示遗忘门的权重和偏置,σ 表示 sigmoid 激活函数。 -
记忆单元(记忆细胞) :用于保存状态信息并更新状态。记忆单元c的数学表达式如下:
$$
c_t = f_t \odot c_{t-1} + i_t \odot g_t \quad (6)
$$
其中,$\odot$ 表示哈达玛积。 -
输出门 :该门用于输出节点信息的控制。LSTM单元的初始输出值和输出的数学表达式为:
$$
o_t = \sigma(U_o x_t + W_o h_{t-1} + b_o) \quad (7)
$$
$$
h_t = o_t \odot \tanh(c_t) \quad (8)
$$
其中,Uo Wo 和 bo 分别表示输出门的权重和偏置。
我们将预处理图像输入到MobileNets中,在全连接层提取图像的高维特征,并将这些特征输入到LSTM模型中以学习序列特征的过去和未来信息。在LSTM的记忆单元中,所有数据在不同的时间状态下仅通过一个细胞单元。此外,通过不断更新权重,还可以减少参数数量。(见图7)其中,W(f)、W(i)、W(j)、W(o)是LSTM细胞单元中的权重参数。我们的目标是训练这四个权重参数以优化LSTM网络并减少输入参数。
Dropout技术用于缓解训练过程中出现的过拟合问题。该技术通过在每次训练过程中随机丢弃部分神经元来降低模型复杂度,从而提高模型的泛化能力。具体而言,假设一个具有n个节点的神经网络,在每次训练过程中,以概率p随机丢弃网络隐藏层中的神经元,神经元保留的概率为1–p。通常,该概率值p设置为0.5(称为Dropout率),因为此时随机生成的网络结构最多,即对应于2^n个模型的集合。此外,可以减少各个神经元之间的联合作用,使得某一特征的出现不依赖于特定的固定关系,可用于削弱不同特征之间的相互作用,使模型不会过于依赖某些局部特征,从而增强模型的泛化能力。
3. 实验数据集与结果
3.1 数据集
本文中的数据集是我们自制的唇语视频数据库,由六名不同的录制者(三名男性和三名女性)在单一恒定环境下录制。在此阶段,值得强调的是,由于隐私限制,我们获取的大部分数据均为亚洲人。该系统对亚洲人特征具有良好的性能。录制过程中,头部与摄像头保持相对静止。录制内容为十个英文单词0–9的独立发音。每人发出100次声音,并将其分割成不同的视频片段,因此数据库的样本量为6000。同时,我们对原始数据进行了数据增强,通过增加明暗、图像、旋转、高斯噪声、椒盐噪声等方式,将数据集扩展至12,000个样本。原始图像分辨率为 1920 × 1020,约每秒25帧。
3.2 结果与讨论
在本节中,我们对设计的移动端唇语识别系统进行评估,并在我们的数据集上分析和比较结果。我们随机打乱数据集,并按照90%和10%的比例划分训练集和测试集。我们使用PyTorch构建了MTCNN和LSTM网络。采用随机梯度下降法训练网络。训练模型以64个单元输入。前100次迭代的学习率为0.1,之后更改为0.001(以加快收敛速度)。
我们选择基于Linux系统的树莓派(树莓派4,4GB LPDDR4 SDRAM,支持双显示器,分辨率最高可达4K)来实现移动端的动态唇语识别,如图8所示。与通用的PC计算机平台相比,树莓派具有体积小、低功耗和低成本的优点,能够完成PC平台通常可以实现的一些任务和应用。
为了评估移动唇读系统的性能,我们通过大量实验比较了主流研究方法[28,29],结果如表1所示。提出的方法可以大幅减少参数数量,降低模型复杂度,并且不会显著降低模型性能。我们认为模型的识别时间即为视频识别时间,包括决策过程。可以看出,我们提出的轻量级模型的识别准确率虽略低于深度卷积混合网络,但识别速度大幅提升,能够满足移动端的部署与应用需求。
表1. 主流研究方法的性能比较。
| 网络 | 准确率 | 识别时间(秒) | 模型参数(百万) |
|---|---|---|---|
| BiLSTM+ AlexNet(无数据扩充) | 85.7% | 10.0 | 61 |
| AttentionLSTM+VGG16(无数据扩充) | 88.2% | 16.3 | 139 |
| LSTM +MobileNets(数据扩充) | 86.5% | 7.3 | 5.2 |
所提出的系统能够很好地适应真实环境,而不会导致模型性能过度下降。
训练数据集和测试数据集分别输入到两个MobileNets中,然后使用相同的LSTM模型提取 4096 × 10的序列特征。每个周期的损失、准确率和召回率如图9和10所示。
在图9中,当周期(epoch)约为19时,损失趋于稳定,表明此时已达到最优解。提出的网络模型在测试数据集上的准确率为86.5%。测试集表现良好,准确率和损失最终趋于平衡,表明模型已学习到时空特征。
为了尽可能准确地识别结果并减少混淆识别的情况,我们因此更加关注模型的召回率评价指标。图10下方展示了我们提出的模型与对比模型的召回率。可以看出,我们的模型在发音2、7和8上表现良好,与先前研究相比具有重要意义。考虑到上述实验因素,我们的研究可以很好地部署在移动端,且效率很高。
两个网络中每个周期的损失。 (b) 两个网络中每个周期的准确率。)
我们将重点讨论如何基于时间序列和训练来提高识别系统的速度,在新闻视频数据集上的嘴唇阅读模型,包括来自不同新闻视频样本的数据环境来测试我们设计的识别系统。根据虚拟研究在VR中的扩展研究未来,我们将更加熟练地在移动设备上部署和命名算法,以便为虚拟现实场景添加多维输入。为了节省移动设备的空间并提高速度
4. 结论
本文涉及从树莓派获取的唇语视频。为了优化识别结果并减少冗余信息,首先,我们采用高效简洁的方法提取固定长度帧序列,使用MTCNN对嘴唇进行校正,然后利用轻量级MobileNets结构训练模型。接着,使用LSTM网络学习帧级特征之间的序列权重和序列信息。最后,通过两个全连接层和一个softmax层实现分类。我们自主建立了一个包含三名男性和三名女性的数据集,录制了从0到9的英语发音,每个数字发音被分割为独立的视频片段,并对原始数据集进行了扩展。实验结果表明,该移动端唇语识别系统能够有效从视频中识别词语,模型复杂度低,参数量减少了20倍,速度提升了50%。这是唇语研究中首个在移动端使用轻量级网络的唇语识别系统,已达到我们研究的最高水平。
我们还扩展了数据以使其更具通用性。然而,我们的唇语识别研究是按时间顺序进行的,并非针对某一时刻特定类型的唇部动作,因此实时性不佳。在未来研究中,我们将重点关注如何基于时间序列提高识别系统的速度以及训练唇读模型在新闻视频数据集上的表现,包括来自不同环境的新闻视频样本,用于测试我们设计的识别系统。根据未来对虚拟现实的扩展研究,我们将更熟练地在移动设备上部署和命名算法,从而为虚拟现实场景添加多维输入。为了节省移动设备的空间并加快运行和数据共享速度,我们将尝试通过第五代移动网络(第五代移动通信网络)从树莓派传输数据,利用服务器进行算法识别,然后返回到移动设备,加入交互式虚拟传感技术,以实现广泛的面部识别应用。
2万+

被折叠的 条评论
为什么被折叠?



