唇语识别技术的开源教程,听不见声音我也能知道你说什么!

简介:

唇语识别并非最近才出现的技术,早在 2003 年,Intel 就开发了唇语识别软件 Audio Visual Speech Recognition(AVSR),开发者得以能够研发可以进行唇语识别的计算机;2016 年 Google DeepMind 的唇语识别技术就已经可以支持 17500 个词,新闻测试集识别准确率达到了 50% 以上。

2cb321c0f76cfbcfcab5986882b8767fa2b1e560

大家一定很好奇唇语识别系统要怎么实现。Amirsina Torfi 等人实现了使用 3D 卷积神经网络的交叉视听识别技术进行唇语识别,并将代码托管到 GitHub 上开源:

传送门:

https://github.com/astorfi/lip-reading-deeplearning

接下来就为大家介绍如何使用 3D 卷积神经网络的交叉视听识别技术进行唇语识别,完整的论文可参阅:

https://ieeexplore.ieee.org/document/8063416

下面是进行唇语识别的简单实现方法。

7e739554e6ec3f80c4985861cab6bee4295133af

用户需要按照格式准备输入数据。该项目使用耦合 3D 卷积神经网络实现了视听匹配(audio-visual matching)。唇语识别就是这个项目的具体应用之一。

概况

当音频损坏时,视听语音识别(Audio-visual recognition,AVR)被认为是完成语音识别任务的另一种解决方案,同时,它也是一种在多人场景中用于验证讲话人的视觉识别方法。AVR 系统的方法是利用从某种模态中提取的信息,通过填补缺失的信息来提高另一种模态的识别能力。

问题与方法

这项工作的关键问题是找出音频和视频流之间的对应关系。我们提出了一种耦合 3D 卷积神经网络架构,该架构可以将两种模式映射到一个表示空间中,并使用学到的多模态特征来判断视听流间的对应关系。

如何利用 3D 卷积神经网络

我们提出的该架构将结合时态信息和空间信息,来有效地发现不同模态的时态信息之间的相关性。我们的方法使用相对较小的网络架构和更小的数据集,并在性能上优于现有的视听匹配方法,而现有方法主要使用 CNN 来表示特征。我们还证明了有效的对选择(pair selection)方法可以显著提高性能。

代码实现

输入管道须由用户提供。其余部分的实现包含基于话语的特征提取的数据集。

唇语识别

就唇语识别来讲,必须将视频作为输入。首先,使用 cd 命令进入相应的目录:

4071c63562807259c8d6f1f14907b20165e3211b

运行专用的 python file 如下:

1785a689f7c877d301fa61b27703166ebd0548a1

运行上述脚本,通过保存每个帧的嘴部区域来提取唇部动作,并在画框圈出嘴部区域来创建新的视频,以便进行更好的可视化。

所需的 arguments 由以下 Python 脚本定义, VisualizeLip.py 文件中已定义该脚本:

928961e313a204d34efe2732b69e2d390038808a

一些已定义的参数有其默认值,它们并不需要进一步的操作。

处理

视觉部分,视频通过后期处理,使其帧率相等,均为 30f/s。然后,使用 dlib 库跟踪视频中的人脸和提取嘴部区域。最后,所有嘴部区域都调整为相同的大小,并拼接起来形成输入特征数据集。数据集并不包含任何音频文件。使用 FFmpeg 框架从视频中提取音频文件。数据处理管道如下图所示:

0c45fd46b3d5027f833e2b083a7222cf06f4ce7a

输入管道

我们所提出的架构使用两个不相同的卷积网络(ConvNet),输入是一对语音和视频流。网络输入是一对特征,表示从 0.3 秒的视频中提取的唇部动作和语音特征。主要任务是确定音频流是否与唇部运动视频在所需的流持续时间内相对应。在接下来的两个小节中,我们将分别讲解语音和视觉流的输入。

语音网络(Speech Net)

在时间轴上,时间特征是非重叠的 20ms 窗口,用来生成局部的频谱特征。语音特征输入以图像数据立方体的形式表示,对应于频谱图,以及 MFEC 特征的一阶导数和二阶导数。这三个通道对应于图像深度。从一个 0.3 秒的视频剪辑中,可以导出 15 个时态特征集(每个都形成 40 个 MFEC 特征),这些特征集形成了语音特征立方体。一个音频流的输入特征维数为 15x40x3。如下图所示:

42830010b905cd68fbedcb2a1651dcbbadacfb8d

语音特征使用 SpeechPy 包进行提取。

要了解输入管道是如何工作的,请参阅:

code/speech_input/input_feature.py

视觉网络(Visual Net)

在这项工作中使用的每个视频剪辑的帧率是 30 f/s。因此,9 个连续的图像帧形成 0.3 秒的视频流。网络的视频流的输入是大小为 9x60x100 的立方体,其中 9 是表示时态信息的帧数。每个通道是嘴部区域的 60x100 灰度图像。

cb55459398590da6c5b883c0925d117258200e49

架构

该架构是一个耦合 3D 卷积神经网络,其中必须训练具有不同权重的两个网络。在视觉网络中,唇部运动的空间信息和时态信息相结合,以此来利用时间相关性。在音频网络中,提取的能量特征作为空间维度,堆叠的音频帧构成了时间维度。在我们提出的 3D 卷积神经网络架构中,卷积运算是在连续的时间帧上对两个视听流执行的。

3a93b07a8aba53cd2f84e59c03b7818e06d8aa37

训练 / 评估

首先,克隆存储库。然后,用 cd 命令进入专用目录:

60b31d2cbd69fc2c906ed87985eafd55e822fd7e

最后,必须执行 train.py 文件:

13431813a79b18e4fd58b200c0dff3cb9bf9026d

对于评估阶段,必须执行类似脚本:

1c4594e714fb02fc46e0f7c97c4d210ffdd43054

运行结果

下面的结果表明了该方法对收敛准确度和收敛速度的影响。

d1cdc6317acd7494983cef6ef6e40296b88dec23

最好的结果,也就是最右边的结果,属于我们提出的方法。

fcc050e2a64180acdcd8d9b5eb626e9fb88896e7

所提出的在线对选择方法的效果如上图所示。

分析到这,希望大家可以到 Github 上找到源码,开始练起!附上作者给的代码演示。


原文发布时间为:2018-11-6

本文作者:Amirsina Torfi等

本文来自云栖社区合作伙伴“磐创AI”,了解相关信息可以关注“磐创AI”。

相关文章
|
达摩院 语音技术
使用ModelScope社区搭建一个录音情感识别小应用
本文介绍通过ModelScope来完成“语音情绪识别”这一应用,该应用使用两个模型: ● 语音转文本(ASR):paraformer模型 ● 文本情绪识别:达摩院StructBERT中文情感分类模型
1774 3
|
24天前
|
机器学习/深度学习 人工智能 vr&ar
Roop-Unleashed:开源 AI 换脸神器!支持批量、VR、直播实时换脸
Roop-Unleashed 是一款基于 Roop 的开源 AI 换脸工具,支持批量处理、VR 换脸和直播换脸,提供简单易用的图形界面,适用于多种场景。
165 5
Roop-Unleashed:开源 AI 换脸神器!支持批量、VR、直播实时换脸
|
7月前
|
人工智能 数据安全/隐私保护 计算机视觉
旷视开源的AI人像视频生成太炸了!输入照片即可模仿任意表情包
【7月更文挑战第6天】旷视科技开源AI模型MegActor,以照片生成逼真人像视频,模仿表情包。基于条件扩散模型,解决身份泄露和背景干扰问题,使用合成数据、图像分割、CLIP编码及风格迁移技术。虽有视频质量、隐私风险及计算资源限制,但对动画和虚拟偶像行业带来革新。[链接](https://arxiv.org/abs/2405.20851)
138 3
|
9月前
|
算法 计算机视觉
LabVIEW通过嘴唇图像识别为残疾人士开发文本输入系统
LabVIEW通过嘴唇图像识别为残疾人士开发文本输入系统
67 1
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
微软推出VASA-1:可生成会说话的,动态人物视频
【4月更文挑战第30天】微软新推VASA-1技术,利用深度学习将文本转化为栩栩如生的动态人物视频,革新虚拟现实、游戏和影视制作。该技术优点在于生成的视频质量高、适应性强且效率高。但存在数据集限制导致的生成偏差、输入文本影响输出效果及使用门槛高等问题。[arXiv:2404.10667](https://arxiv.org/abs/2404.10667)
115 1
语音平台源码搭建开发之表情功能的实现
语音平台源码搭建开发表情功能对用户不管是语言表达或是体验新歌都是非常重要的,经过一番操作,我们就成功实现了语音平台源码表情功能,后续我会继续为大家分享语音平台源码搭建开发知识。
语音平台源码搭建开发之表情功能的实现
|
9月前
|
人工智能 搜索推荐 语音技术
有道开源的国产语音库EmotiVoice爆火了!具有情绪控制功能的语音合成引擎!
有道开源的国产语音库EmotiVoice爆火了!具有情绪控制功能的语音合成引擎!
1776 0
|
开发工具 计算机视觉 文字识别
接入阿里视觉智能平台免费体验—人脸人体识别ocr与二次元风格转化使用
接入阿里视觉智能平台免费体验—人脸人体识别ocr与二次元风格转化使用
21410 4
接入阿里视觉智能平台免费体验—人脸人体识别ocr与二次元风格转化使用
|
语音技术 信息无障碍
直播源码搭建平台技术知识:实时语音识别字幕呈现功能
回到我们的直播源码平台开发上来,对于直播源码平台来说实时语音识别字幕呈现功能也是重要的功能之一,好了,正式进入我们今天的主题内容:直播源码搭建平台技术知识:实时语音识别字幕呈现功能!
直播源码搭建平台技术知识:实时语音识别字幕呈现功能
|
人工智能 编解码 API
C# 10分钟完成百度语音技术(语音识别与合成)——入门篇
C# 10分钟完成百度语音技术(语音识别与合成)——入门篇