收藏和点赞,您的关注是我创作的动力
概要
人工智能作为三大工程之一,从上个世纪至今仍然活跃于各个行业的研究与应用之中,应时代的热潮方向,本 课题主要针对深度学习技术应用于唇语识别当中,实现词语唇语的翻译功能。唇语识别在图像处理中一直是一个富 有挑战性的课题,对于唇语识别方法的实现都各有不同,目前来看,使用深度学习的方法提取特征训练效果基本高 于传统实现方法。本文主要使用opencv对视频进行切帧,并采用Yolov5算法对数据中的人脸唇部位置进行检测和切 割,再使用3DResnet结合GRU的复合式网络对唇语图像特征提取,最后用softmax分类器将特征矩阵进行分类。为了 体现系统的完整性,本文使用Flask框架实现唇语识别的功能化,达到了网页操作下的端到端唇语识别效果。
【关键词】:深度学习; Yolo算法; 残差网络; 唇语识别; Flask框架
一、研究背景与意义
人工智能,作为世纪三大技术之一,从上个世纪至今依然没有被替代,就可以得出结论说明人工智能技术拥有 着无与伦比的技术创新潜力。尤其是这几年深度学习技术发展迅速,AI视觉算法呈现直线式的上升,再加上硬件技 术不断成熟,目标检测、图像处理、自然语言处理和语音识别等多项技术在实际应用当中取得了优异成绩,而唇语 识别则正是图像、语音以及自然语言处理技术的结合体现。
唇读[1],即唇语识别,也称视觉上的语言识别,它是通过人说话时的动态唇形,来解析出具体说话的内容。在 人工智能的视觉领域中,唇语识别一直是研究者们重要的研究课题,它在许多方面有着广泛的应用价值,例如公共 安防、语音处理和影视行业等。唇语识别在过去难以研究是因为技术上一直存在着许多问题,但是在近十年,随着 神经网络等深度学习技术的不断发展,唇语识别技术研究进展得到了质的飞跃。自1976年McGurk等人提出麦格克效 应[2]后,国内外就出现了大量的研究者展开了对唇语识别技术的研究。在这40多年的研究过程中,各种唇语识别技 术可谓是遍地开花。但是在早期的人工智能技术中,对于唇语识别的研究可以说是寸步难行,尤其是早期的存在数 据集限制条件非常多、数据量低等问题,使得唇语识别技术研究很难找到突破口去进行,导致识别的准确率非常 低。然而这种情况在近几年有了好转,深度学习的热潮同样也冲击了唇语识别研究话题,为唇语识别带来了许多新 的技术,吸引着研究者们不断的向往,随之就出现了许多基于深度学习的唇语识别技术研究。唇语识别也取得了非 常大的进展,逐渐的从限定条件的化境走向非限定甚至是自然环境中研究,让唇语识别技术焕然一新。
唇语识别具有开阔的应用场景,在当今社会,存在许多听力残疾患者,而唇语识别配合语音识别正是解决此问 题的关键,利用先进的人工智能技术实现人机唇语翻译识别,来帮助他们进行日常生活交流。还有在公共场合下, 想要进行秘密交流,亦可以使用唇语识别技术,实现无声交流,保护个人隐私。不仅如此,在嘈杂的环境下,当说 话声音完全被其他噪声所覆盖,这时候就需要唇语识别来辅助人们进行沟通交流,方便高噪声场合下的人交谈。综 上所述,唇语识别应用广泛,研究唇语识别技术所具有的意义也重大非凡。
二、项目技术理论
2.1 残差网络ResNet
神经网络到目前为止技术发展的相当成熟,随着深度学习的热度飙升,科研人员一直在不断的尝试创造新的算 法来优化神经网络,为智能化时代持续地推进着。而卷积神经网络CNN则是当今最主流的神经网络之一,它依靠卷积 层和池化层对数据进行下采样提取特征,很大程度的使网络学习到了更重要的参数,至今依然适用于图像、语音、 文字处理等领域。
ResNet[21](Residual Neural Network)由微软研究院的Kaiming He等人提出,并在ILSVRC2015比赛中取得冠 军。ResNet作为CNN中的经典网络模型,它是通过一个又一个子网络经过堆叠可以构成一个很深的残差网络。实验结 果表明,网络越深它获取的信息越多,学习到的特征也就越多。但是神经网络往往随着层数的加深,优化效果反而 越差,测试数据和训练数据的准确率反而降低了。这很大程度是因为网络的加深会造成梯度爆炸或者梯度消失的问 题,而残差网络就是解决此问题而诞生的。其核心就是利用残差模块,通过子网络跳连的方式构造出一个多层的神 经网络,如图2-1所示。
图2-1 残差块结构
通过这中跳连模块,可以将前一层输入与输出进行维度上升后再相加,一般升维操作使用的是全0填充或者1×1 卷积。此操作能够保证下一层网络仍然是目前最优状态,巧妙地解决了网络退化问题。在ResNet网络的构建当中, 大量使用这种残差模块,构建深度达到几十层甚至上百层网络,其规模大到一定程度的时候,网络所具有的表达能 力就越强。一般来说,ResNet深层网络往往比浅层效果更好,但有时候出于计算成本考虑,选用合适的网络层数有 时候对于整个神经网络而言才是最优抉择。
通过这中跳连模块,可以将前一层输入与输出进行维度上升后再相加,一般升维操作使用的是全0填充或者1×1
卷积。此操作能够保证下一层网络仍然是目前最优状态,巧妙地解决了网络退化问题。在ResNet网络的构建当中,
大量使用这种残差模块,构建深度达到几十层甚至上百层网络,其规模大到一定程度的时候,网络所具有的表达能
力就越强。一般来说,ResNet深层网络往往比浅层效果更好,但有时候出于计算成本考虑,选用合适的网络层数有
时候对于整个神经网络而言才是最优抉择。
2.2 门控循环单元GRU
GRU[22](Ga