APP下载

智能化消毒机器人人机交互的研究

2024-03-27周加全莫春枝梁虹梅覃丹红颜梦微

现代计算机 2024年1期
关键词:人脸识别人脸特征提取

周加全,莫春枝,梁虹梅,覃丹红,颜梦微

(广西科技师范学院数学与计算机科学学院,来宾 546199)

0 引言

随着科学技术的不断发展,人机交互技术越来越成熟,其发展趋势变得更加智能化和人性化[1]。尽管目前人机交互方式正在全面发展,但仍然存在一些技术方面的问题未得到充分的解决,无法准确捕捉用户的意图和需求,导致用户体验感不强,无法精确地实现人机交互。

本文将人机交互技术分为图形界面交互和语音交互两个方面[2]。关于图形界面交互,虽然它是目前使用最多的一种交互方式,但也存在一些问题。首先,它主要依赖于人的视觉神经,容易导致疲劳感。其次,大多数图形界面交互方式相对单一,主要是通过采用机械设备的方式进行,而且输入或输出的信息相对较少。对于语音交互而言,在应用方面相对来说比较广泛。但由于每个人的语音特点和发音习惯不同,语音识别系统需要适应多样性的要求。此外,线性输入方式也限制了语音交互在某些场景中的应用。

为了解决上述问题,本文在消毒机器人原有的人机交互功能的基础上增加基于OpenCV 计算机视觉库特征脸算法的人脸识别模块和基于自动语音识别技术ASP 的语音识别模块[3],这些模块的使用,除有效解决上述问题外,也可以有效提高机器人的识别精度,具有较好的鲁棒性,能够较好地改善消毒机器人人机交互性能。通过实验结果分析,这些模块的使用优化了消毒机器人人机交互性能,提高了算法的识别精度,有效提升人机交互体验。

1 人机交互模块

本文设计消毒机器人的人机交互模块不仅含有人脸识别,还具有语音识别等功能模块。其中人脸识别主要是基于OpenCV 计算机视觉库的特征脸算法,能对高维图像进行降维处理,能有效提高算法的运行效率和人脸识别的准确率。而语音识别通过自动语音识别技术ASR,该技术识别率高、响应迅速,在噪声环境下具有一定的鲁棒性[4]。

1.1 人脸识别模块

通过摄像机或摄像头等设备采集到用户的静态或动态图像后,利用算法可以获取到人脸分布中的主要特征并进行分析,通过对比数据库相同特征类型的图像,能够准确识别出这个人的姓名和个人信息。其工作原理是输入一些陌生的人脸图像的特征,这些图像特征和数据库中已经有身份的人脸特征图像进行训练比较,可以得到一个相似度的分数,可以匹配出相应的身份信息[5]。本文主要采用OpenCV 计算机视觉库的特征脸算法,并运用神经网络深度学习实现智能人脸识别模块。

1.1.1 特征脸算法

Eigenfaces 是基于主成分分析PCA 的一种人脸识别算法,PCA 是一种矩阵的压缩算法,简单来说就是将i×j的矩阵转换成i×k的矩阵,只保留矩阵中所存在的主要特性,最常用的方法是将识别到的人脸图像通过降维进行处理,只保存人脸的主要特征,这样不仅可以节省空间,还可以提高识别的效率。首先获取图像数据,对数据进行预处理,先后求出训练集和测试集,通过神经网络对模型进行训练。

1.1.2 特征脸算法技术原理

步骤一:获得人脸图像数据,将每个人脸图像矩阵按行串成一维向量,所有向量可以构成训练集x1,x2,…,xm。

步骤二:将m个人脸在对应维度上加起来,利用公式(1)求得到“平均脸”,其中n是样本数量。

步骤三:将每个图像都减去平均脸向量,利用公式(2)求得协方差矩阵C。

步骤四:根据算法训练图像,获得特征子脸,然后进行图像重构,寻找相似度高的人脸图像,可以采用欧氏距离来衡量,见公式(3)。

1.2 语音识别模块

语音识别是人机交互系统中非常重要的一个部分,它主要是针对语音进行处理,这其中主要包括语音信号处理和对处理过的声音进行识别,这样可以让机器充分理解人们所表述的意思。语音识别涉及了多门学科,其中最主要的是语音学、语言学及神经生物学等学科[6],其核心在于可以通过语音识别来更好地实现人与机器的交互。语音识别最主要目的是让机器能够听清楚人们所说的,并完成相应的操作或对话。

1.2.1 语音识别原理

语音识别的原理主要包括特征提取、声学模型、语言模型和解码器[7]。其中特征提取是指未处理的语言信号存在冗余的信息,需要提取语音信息中的特征,以便用于后续处理。声学模型是指利用声音建立相应的模型,通过输入语音得到的输出结果为声学。将得到的声学的特征参数与数据库中的模型匹配,得到最终的识别效果。而语言模型通过运用语法和语义的知识,能够准确描述词与词之间的内在关联,提高识别的正确率。解码器利用输入的语音信号,通过训练好的声学及语言模型形成一个识别的网络,通过这个网络并运用算法可以得到能够以最大概率输出语音信号的词串的路径[8],进而确认待输入的语音样本所包含的文本。

1.2.2 语音识别技术

语音识别技术,也称自动语音识别(automatic speech recognition,ASR),其关键是计算机信息处理技术。主要作用是把人类的语音转化成机器人能够识别的信息,这种信息要转化成为相应文本或命令的一个过程,语音识别技术主要包括语音特征提取和相应的语言识别算法[9]。

2 人机交互的设计与实现

2.1 人脸识别模块

2.1.1 设计流程

人脸识别模块分为三个层:识别层、实体层和服务层。识别层:获取人脸数据并保存。将用户信息存储在一个函数内,对人脸信息进行对比认证。实体层:人脸数据训练与处理。对传输来的视频进行识别、判断,最后将数据传输到界面。服务层:调用摄像头,进行人脸识别。具体流程如图1所示。

图1 人脸识别的设计流程

2.1.2 模块的实现

首先注册人脸,处理获取的视频流进行人脸识别,根据索引打开摄像头,检测到人脸,获取当前捕获到的图像的所有人脸特征,计算其欧氏距离,将人脸数据添加到CSV中。

获取所有已经注册的人名和人脸特征,捕获人脸的名字坐标,对于某张人脸,遍历所有存储的人脸特征,寻找出最小的欧氏距离匹配,若匹配成功,则在人脸框下面写人脸名字,如图2所示。

图2 人脸识别图

2.1.3 测试结果

为了验证算法的有效性及准确性,本文采集了5000 张不同人物、不同角度的人脸图像进行训练,并运用OpenCV 算法识别人脸图像。通过实验,本文设计的OpenCV 算法进行人脸识别成功率较高,该算法的训练精度高达95%,同样的识别精度也能达到一样的精准度,具体如图3 所示。该模块的应用有效提高了人机交互体验。

图3 训练测试结果的精度

2.2 语音识别模块

2.2.1 设计流程

语音识别是一种模式识别系统[8],其主要是由特征提取、模式匹配、参考模式库等组成,具体结构如图4所示。其中特征提取也是预处理的过程,主要通过克服人们发音的差异和环境的影响对声音信息进行处理,然后进行重复的训练,保留关键信息,并按照一定规则对信息进行整合处理,形成模式库[10]。

语音识别过程最重要的部分就是模式匹配,它主要通过算法得到与模式库中的相似度,进而得到语音文本。

2.2.2 模块的实现

(1)数据采集:收集用于训练和测试的语音数据。这些数据可以来自公共语音数据集、自行录制的语音数据或其他来源。为了获得更好的效果,要保证数据集的多样性和充分性,具体如图5所示。

图5 语音识别文本数据

(2)数据预处理:对采集到的语音数据进行预处理。包括去除噪声、降低音频采样率、音频归一化等处理,以提高后续特征提取和模型训练的效果。如图6所示。

图6 语音识别

(3)特征提取:从预处理的语音数据中提取特征。这些特征表示语音信号的频谱和能量分布。

(4)建立声学模型:使用特征提取的语音数据和对应的标签(文本转写)来建立声学模型。通过训练声学模型,使其能够学习到语音信号与文本之间的映射关系。

(5)建立语言模型:语言模型是采用大量的文本语料库构建的。语言模型主要包括n-gram模型和深度学习的循环神经网络。通过运用语言模型来提高识别准确性和上下文理解能力。具体如图7所示。

图7 语音识别模型构建

(6)解码和识别:通过运用声学及语言模型进行相应的解码与识别。其中解码器可以通过声学及语言模型得到特征序列之间的关系,通过这种关系可以确定对应的词序列,并把词序列作为识别的结果。

2.2.3 测试结果

(1)结果评估:对识别结果进行评估,使用评价指标(如识别准确率、错误率等)来衡量识别性能。可以与其他方法进行对比,以验证识别结果的准确性和效果。本次实验经过训练,测试精度较高,约98%,达到精准语音识别效果。如图8所示。

图8 语音识别测试结果

(2)优化和调优:根据评估结果和实际需求,对系统进行优化和调优,以提高识别的准确性和效率。可以尝试调整模型结构、增加训练数据、优化特征提取等方法。

3 结语

本文采用了OpenCV 图像识别算法、特征脸算法实现的人脸识别模块以及自动语音识别技术ASR 模块,通过神经网络深度学习,使得消毒机器人更加拟人化,有效提升人机交互体验。在人脸识别这一设计部分经过相应的预测得出的训练精度证明,该技术能够有效提高人脸识别准确率,有效提高人与机器的互动。语音识别技术和人脸识别技术联合有效解决了人与机器互动产生视觉疲劳和操作麻烦的问题,实现了人性化与智能化的人机交互方式。虽然本文设计的语音识别有了很大的改善,但语音识别外界干扰因素较多,识别相对复杂,目前还存在着一定的局限。今后将对该局限的外界影响因素做进一步研究。

猜你喜欢

人脸识别人脸特征提取
人脸识别 等
有特点的人脸
揭开人脸识别的神秘面纱
基于Daubechies(dbN)的飞行器音频特征提取
三国漫——人脸解锁
Bagging RCSP脑电特征提取算法
基于类独立核稀疏表示的鲁棒人脸识别
马面部与人脸相似度惊人
基于MED和循环域解调的多故障特征提取
长得象人脸的十种动物