基于人工智能的音视频内容检索系统的架构设计

(整期优先)网络出版时间:2023-04-19
/ 3

基于人工智能的音视频内容检索系统的架构设计

孙海彦

杭州彦海网络信息科技有限公司,310000

摘要:音视频检索系统可以为用户提供文本检索、视频检索、音频检索等多形式的检索查询服务。音视频检索系统以数据库为基础,通过建立包含关键字、视频样例、音频片断、说话人、文本说话内容等在内的多模态检索方式,从而实现对各类信息的综合检索功能。本文详细论述了多模态检索方式的基本原理,并给出了信息综合检索系统的实现方法。

关键词:音视频检索;多模态检索方式;综合检索

基于人工智能的音视频内容检索系统的技术架构和整体结构都由下图展现出来。系统的整体结构由数据层、服务层、展示层三个层次组成,其中每个层次都有各自的功能部分和实现功能部分所需的底层工具。系统主要划分为阿森纳个模块,分别是音视频内容采集模块、音视频内容预处理模块、人工智能分析模块每个功能模块又根据其内部功能的现实性需求不同而包含了不同的子模块。

1音视频采集模块

音视频采集模块是系统的数据源头模块,为整个系统获取处理所需的音视频内容数据,将这些音视频内容存放在系统的集中服务存储空间中的同时还要构建结构化的数据库信息存储。

整个项目所需的音视频内容来源主要是由音视频内容监管平台提供。包括全国2000多个卫视每天播出的电视节目内容、某几家自媒体平台接受音视频内容监管平台监管的部分自媒体视频内容以及国内十家持证音视频内容门户网站接受音视频内容监管平台监管的部分音视频内容。其中2000多个卫视中约有1000个卫视每天的电视节目时长只有12小时左右,其余时间的音视频内容均为黑屏或者无节目播出。这里从视频源头对卫视及平台的音视频内容进行敏感程度分级,分为极其敏感、较为敏感、普通三个等级。以便对人工智能分析模块对不同重要程度的音视频内容动态分配智能识别资源。

其中最为重要的音视频内容类型包括中央电视台的所有卫视频道、全国三十一个省级电视台的综合卫视频道以及自媒体平台和持证音视频门户网站的音视频内容;重要的音视频内容类型包括全国三十一个省级电视台的所有卫视频道和全国所有地级市电视台的综合卫视频道中的音视频播放内容;剩余的卫视视频被分作一般类别。

1.1音视频内容采集

 

图中的内容表示了音视频采集模块从外界的OraCle视频数据库同步视频内容信息,并在系统内部建立的MySQL数据库中插入此条视频信息记录的全过程。在读取Oracle的某条数据记录时,音视频采集模块会首先判断是否已经将此条视频的信息记录同步,再进行下一步操作,以免重复同步。然后通过数据记录中的音视频信息中的URL下载外界视频文件存储中的音视频文件。下载完成后,需要在数据库中记录该视频文件存放的具体地址,包括服务器IP、磁盘绝对路径,还要对该视频建立URL代理,以便下游获取该视频进行接下来的处理过程。完成上述整个流程后会循环采集新的数据记录,如果暂时没有可采集的数据记录,程序会休眠十分钟后重新开始采集。整个采集程序封装在DOCker中,由Kubemetes自动化部署运行。

1.2音视频内容采集功能

音视频内容采集功能主要负责从音视频内容池中获取音视频内容,在程序运行的集群网络内建立本地服务存储和结构化数据内容给下游模块使用,同时监控每个音视频内容的使用和处理情况,根据监控结果定期删除已经处理完毕的音视频文件内容。

其中VideoAdministrator类用于初始化音视频文件管理过程中所需创建的主要类并获取待下载的音视频文件信息给这些类进行下载、监控等操作。例如VideoGet类被创建时,会获得待下载的音视频文件的信息,根据具体情况的不同,系统使用该类中的COPyVideO或者DownloadVideo方法将信息中包含的音视频文件内容拷贝或下载到系统本地,建立数据库存储后将音视频内容信息发送给音视频预处理模块VideOPrOCeSSor,音视频预处理模块通过GetVideoFranie和GetAudio等操作获得帧文件和音频文件,并在数据库中修改音视频处理状态。完成上述的处理后,VideoMonitOr会根据音视频处理状态来判断每条数据记录对应的音视频文件是否需要删除。

2音视频预处理模块

音视频预处理模块将音视频内容分解成音频文件和视频帧图片,在分配给各个人工智能分析的子模块进行人工智能分析。其中人脸特征提取模块和字符识别模块需要图片内容来进行分析识别,语音识别模块需要音频文件信息进行语音内容识别。在经过音视频预处理后,使用NSQ这一消息队列组件,将不同的任务发送至不同的Topic中供识别模块使用,这样既解决的任务发放的问题又避免了多服务器重复识别的问题。

2.1音视频预处理模块工作流程

音视频预处理模块的流程设计如下图所示。首先音视频预处理模块从系统音视频信息数据库中获得采集模块已经生成好且未经过预处理的音视频文件的记录信息;根据记录信息中的URL从音视频存储地点下载音视频文件内容到服务器本地;之后使用FFMPeg这一工具对音视频文件先后进行音视频分离和视频分帧,并对帧文件进行打包,将音频文件和压缩包都放到系统指定存储地点并设计URL代理,供下游下载使用:最后将下游三个分析识别模块各自的任务信息分别存放至该模块对应的Topic中,供下游取走识别任务。

2.2音视频预处理模块功能详述

下图为上述功能用到的主要类的类图。


其中VkieoProCeSSor类用于初始化音视频文件预处理所用到的主要类,包括AUdiOGetor和FrameGetor,其中AudioGetor负责从原始音视频文件中提取音频信息,FrameGetor负责从原始音视频文件中提取帧文件信息,然后由TaSkAnnOUnCer获取上述语料信息形成识别任务,分别给FaCeReCOgnizer、WOrdReCogniZer和VoiCeReCogniZer做人脸识别、文字识别和语音识别并将结果使用各自Writer方法储存到对应的搜索引擎当中。

3人工智能分析模块

人工智能分析模块是音视频内容检索系统的核心模块之一。人工智能分析模块的三个子模块都使用了极为成熟的深度学习模型在百万级别的开源数据集上进行多轮次的训练。

3.1模块流程设计

如下图所示,系统核心分析模块的三个子模块分别是人脸特征提取模块、字符识别模块和语音识别模块。三个子模块从各自的任务消息队列中获得分析任务的具体信息,通过其中的URL等信息获取要处理的任务文件内容,进行识别分析后将分析结果存储到想应的搜索引擎当中,供检索使用。


另外三个智能分析子模块还提供了接口用来分析前端页面输入的图像、音频内容结果并返回特征结果或者文本信息给前端页面的后端逻辑,供其用于进行特征检索或者文本检索使用。

3.2人脸特征提取模型详解

3.2.1人脸特征提取模型详解

人脸特征提取一共分为两个步骤:首先要识别到图片内容中的肖像部分并落实成横纵坐标,这一步骤称为目标检测;然后再针对坐标范围内的肖像部分进行人脸特征提取。这两部分需要不同的神经网络模型来完成。在目标检测部分,InsightFace从一开始使用MT-CNN(Multi-taskConvolutionalNeuralNetwork)至现在使用RetainFace,在速度和精度上都有比较大的提升,在大角度(倒转、侧脸、仰俯)变换下人脸下坐标的准确性表现都更加出色。该算法增加了一个自监督网格解码器分支与现有的受控分支并行地预测像素三维形状的面部信息。从而更好地针对人脸的凹凸特征进行目标检测。在特征提取方面,InSightFaCe相较于之前人脸识别算法最大的进步,是使用了ArcFaCei231作为损失函数。ArCFaCe对特征向量和权重进行归一化,使得肖像的相似程度与特征在高维空间内的距离关系更加紧密。而且ArCFaCe的损失计算公式并不复杂,在实际应用到神经网络的训练时不会降低性能,且易于编程实现,对训练效率有较好的作用。

3.2.3字符识别模型详解

字符识别也和人脸识别一样分为两个步骤:首先要识别到图片内容中的文字部分并落实成横纵坐标,这一步骤被称为目标检测;然后再针对坐标范围内的图像内容进行字符识别提取。这两部分需要不同的神经网络模型来完成。

目前,目标检测的发展已经相当成熟。无论是人脸特征提取还是字符识别,都需要使用目标检测手段,前者需要检测待提取特征的人脸肖像,后者需要检测待识别的文字内容区域。本项目中字符识别模块的目标检测算法使用的是开源的YOLO(YouOnlyLook0nce)。下面对YOLo的工作原理和模型细节进行详细的介绍。

在YOLO的预测流程中,首先把目标检测问题转换成一个高维度空间中的线性回归问题,先对待检测图形的尺寸大小进行等比例的缩放调整,然后将调整好大小的图形作为卷积神经网络的输入送入模型中进行识别,最后处理模型模型输出的结果得到检测的目标RL这样做的好处是,对于图像中每个网格区域只会做一次物体中心和物体类型判断,不会因为在预测过程中对多种可能结果进行判断时重复对某个区域做出预测分析,这样做极大的提高的预测效率,也是YOLo算法名称的由来。

YOLo其基本网络模型为GOogLeNed24J,并在其基础上做了相应的改进,放 弃了 inception,而是交替使用补偿从1到3不等的正方形卷积核,一共要经历 24次的卷积,其中还包含着固定的池化步骤与归一化处理,之后要经过2层全连接神经网络。在上述的整个过程中,卷积神经网络的作用是对图像提取特征,经过归一化将特征转换成一维的数据输入全连接神经网络,然后预测物体的坐标 和种类。本项目使用的是YOLo的升级版本YoLOV3。这里YOLO使用了一个深度为53层的卷积神经网络,其中相邻的卷积层会构成一个卷积残差网络,以此来抵抗随着网络层次逐渐深入可能出现的梯度消失问题,在进行目标检测时考虑了不同SiZe的特征,这样就提高了 目标检测在图像上的精度,对图像上更小尺寸的内容有了更高的敏感性。

总结

本项目在已有的视频内容检索技术的基础上,寻找新的思路和解决办法,使用深度学习的方式,从原始音视频内容文件中获取画面中的文字信息和音频中的语音信息,并且从画面里出现的人脸中获取肖像信息,以这些信息为基础对音视频内容进行检索。系统实现了音视频内容的预处理以及人工智能审查模块,可以自动化的实现音视频内容获取、结构化数据建立、智能指纹提取、高维检索引擎等。 未来,专业音视频系统的应用领域将不断扩展,推动本行业的蓬勃发展。

参考文献

[1]王磊.基于卷积神经网络的视频检索关键技术研究[D].2020.

[2]何丽媛. 音视频检索系统的研究与实现[J]. 数字传媒研究,2018,35(11):44-46.