一、概述
1、任务来源
鉴于对人工智能以及深度神经网络的学习和了解,然后结合无线电监测行业的发展现状,构思出利用AI技术实现对广播信号合法性的自动识别项目的需求,以期实现对广播信号的智能识别,完全无需人工干预,实现自动化和智能化的广播信号合法性识别。
本文档旨在设计和论证该项目的可行性。
2、依据
无。
二、研制方案论证
1、技术可行性
语音识别
要实现对广播信号合法性的自动识别,首要的关键技术就是语音识别技术,需要将语音转换成文字,让机器能够“听懂”人类语言,相当于给机器安装上“耳朵”,使其具备“能听”的能力,这样才能够为机器自动识别合法和非法广播奠定基础。
目前商用的语音识别技术已经非常成熟,识别率也非常的高,某些语种识别率可达到90%以上,而且支持大部分语种,包括英语、普通话和各地方言,以及一些少数民族语种,并且已在多个不同领域中广泛使用。我封装了一个语音识别库,集成了科大讯飞、捷通华声和百度的语音识别接口,经过测试,识别效果是非常好的。可以说在语音识别这个关键技术上是可行的。
海量数据获取和预处理
数据是人工智能的基础,要实现人工智能,还需要海量的样本数据,这些样本数据在本项目中就是广播音频数据,这些样本数据中既要有合法台站的音频数据,也要有非法台站的音频数据,而且越多越好。样本数据越多,训练出来的神经网络模型相对来说就越准确,模型的精确率就会更高、误差率就会更低,如果泛化性比较好,自然识别效果就会更好。如何获取这些合法和非法的音频数据呢?合法台站的数据很好获取,直接架设采集就行,但非法的音频数据则需要专人去采集音频数据,这需要耗费一定的时间,但是可以执行的。
如果海量的音频数据有了,那么就要对这些数据进行预处理,将数据处理为可以馈送给神经网络模型的数据,这就包括数据的提取、存储、转换、识别、转码等等,这一系列的流程,虽然繁琐复杂,但根据现在的软件技术发展,以及现在的技术储备来说,是完全没有问题的。
深度神经网络建模
海量的数据处理之后,就是要馈送给深度神经网络进行训练的,要训练深度神经网络,首先需要建模。如下图所示:
神经网络包含一个输入层,n个隐藏层和一个输出层。其中输入层为样本数据,它包含自定义的多个特征;隐藏层可包含一个或多个隐藏层,每个隐藏层都包含一个或多个神经元,每个隐藏层之间又包含一个非线性转换层(又称为激活函数);输出层就是我们推理“预测”的结果,表示属于我们定义的类别的可能性,其总和等于1。例如:输出结果为0.91和0.09,表示该站为合法台站的概率是91%。
人工智能近几年得到了飞速的发展,已在人脸识别、金融、医疗、教育、国防等多种技术或行业领域中得到了很好的应用,同时出现了许多优秀的开源机器学习框架,如Caffe、CNTK2、MXNet、Scikit-learn、fast.ai、SparkMLlib和TensorFlow。在我们项目中,深度神经网络的模型并不是很复杂,只是一个二元分类的问题,利用机器学习+深度神经网络可以很好的实现和解决问题。
2、行业同类产品的现状、发展趋势及对比分析
AI(Artificial Intelligence)人工智能技术近十年来得到飞速发展,已经在计算机视觉、医疗、教育、国防等多个领域中应用。但据了解,在无线电监测行业,能将AI技术结合起来应用的还比较少,或者还在萌芽阶段,如果能抓住这个机遇,并且充分挖掘和利用人工智能和大数据技术,打造更多智能化产品,相信在行业内是会非常有竞争力的。
人工智能和大数据将是这个时代的发展趋势,同样也是无线电监测行业的一个大趋势。目前已经在基础设施和功能性建设方面做出了很多努力,打造了很好的基础,如何在这些基础上进一步提炼和升级,开发出具有核心竞争力的产品显得尤为重要。人工智能和大数据技术正好是一个非常好的契机,抓住这次机遇,主动突破求变,应该会对公司的发展乃至于整个行业都是一个推动作用。
3、方案选择的理由和依据
目前行业识别非法广播信号的技术手段主要还是依靠人工的方式,由人去听,虽然这种方式可以准确的判断台站的合法性,但是不够智能,就显得很笨重,太过于依赖人。本方案是通过深度学习技术,让机器去“听”,彻底解脱人工,可以实现自动化和智能化的广播信号合法性识别。人工和“机器”两者经过一比较,显然机器智能化的解决方案更胜一筹,更值得采纳和推广。
前面已经简要的阐述过人工智能的一些基本知识,其技术手段相对于在目前行业领域中是比较先进的,而且在技术上是可行的,为此带来的经济效益应该也是很可观的。
三、硬件技术方案
基于现在已有的比较完善的基础系统架构,本项目是完全可以作为插件模块集成到 XXX 中,所以硬件的选型、设计等不在本文档的考虑范围,本文档仅从软件工程的角度进行阐述。
四、软件技术方案
1、概述
本章节的目的是描述本软件系统需实现的业务过程和业务范围,提炼主要软件需求,制定软件系统全局设计决策,识别和划分系统级的软件配置项及接口,阐明和验证配置项间协同工作原理,为后续的软件各部分分工设计、开发、测试、联试提供输入。
2、业务分析
2.1、系统业务模式
本项目将作为插件模块集成到 XXX 中,所以整个系统的业务模式如上图所示,系统包含原有的功能模块,如单频测量、频段搜索、单频测向等,同时将集成“广播信号合法性识别”模块,即本文档论述的功能模块。因 XXX 中原有的功能模块已完成设计和定型,不在本文档的说明范畴,所以在接下来的章节中主要对我们将要研讨的模块进行阐述。
2.2、业务模式分析
业务模式分解
广播信号合法性自动识别业务模式包括:频点监测和合法性判别两个业务功能。
场景定义:“频点监测”是对某个频率的广播信号接收、调制解调,然后输出电平、频谱、音频等数据;“合法性判别”模块即对此频率的广播音频数据进行预测判别,并输出预测结果,即此广播信号的合法性。
2.3、业务功能分解
频点监测
频点监测,即是对指定频点进行监测,并返回电平、频谱、音频等数据,此功能在 XXX 单频测量中已有实现,此处不再详细说明。
合法性判别
合法性判别的基本流程如下图所示:
- 首先启动功能,加载已训练好的深度神经网络模型;
- 如果模型不存在,则此业务不能再继续下去。因为神经网络模型是事先用海量的样本数据训练之后才能得到的模型;
- 接收到需要判别的音频数据后,先要进行音频识别,将音频识别为文本;
- 识别后的音频文本需要经过编码转换,转换成定义好的编码格式;
- 然后将编码之后的内容馈送给神经网络模型进行推理,得到预测结果,最后输出合法性判断结果。
深度神经网络模型的训练流程如下图所示:
- 首先是数据预处理,将海量的音频数据经过语音识别、编码转换、填充等等,得到样本数据集;
- 然后构建神经网络模型,定义输入层、隐藏层、输出层,以及激活函数、优化器和指标等参数;
- 然后将处理好的样本数据集馈送给模型进行训练,这个过程叫做拟合,训练完成之后就得到了神经网络模型;
- 拿到模型之后我们可以对其进行评估,查看其精确率和误差率,来评估模型的好坏,然后不断的调整参数再次进行训练,重复循环这个过程,使模型达到最优;
- 最后保存模型,以便可以在预测时直接加载模型,进行推理预测。
3、主要技术要求
3.1、功能要求
- 具有单频测量的功能;
- 具有语音识别功能;
- 具有深度神经网络建模功能;
- 具有合法性推理预测功能;
3.2、接口要求
此模块作为功能模块插件集成到 XXX 中,所以遵循 XXX 的接口设计规范。
3.3、质量要求
软件可靠性要求
- 软件连续工作7*24小时无故障;
- 能对用户输入数据进行正确性验证,当数据格式不正确或数值超过边界值时能自动检测,并进行相应正确性提示;
- 需捕捉系统级错误并提示用户;
- 不应有内存泄漏、句柄资源泄漏、套接字资源泄漏等缺陷;
- 存在的缺陷不应引起系统死机故障。
可维护性要求
- 提示的错误信息应明确有效,能提示错误发生的原因,便于故障分析与排除;
- 软件、模块能通过系统运行日志、异常日志记录主要操作过程和故障信息;
- 执行文件、模块动态库文件附属信息当中,应包含明确的文件版本信息,每次对文件修改确认升级时,都应修改相应的版本信息,避免文件版本模糊不清;
- 软件各功能模块需对执行时的关键点、关键操作记录日志信息。
安全性要求
- 软件不得包含恶意代码、病毒、木马等不良软件;
- 软件在任何情况下不应造成系统数据的损坏或丢失。
开发运行环境要求
- 软件设计开发平台要求:Microsoft VS 2010+、C#/Python/C++、.Net Framework4.0;
- 软件运行环境要求:Window7+、.Net Framework 4.0;
- 硬件运行环境:PC或笔记本电脑。
4、总体设计
4.1、系统架构设计
遵循 XXX 的架构设计。
4.2、系统配置项划分
说明:此处仅对“广播信号合法性识别”功能模块的配置项进行分解。
表 1功能模块配置项拆分表
4.3、配置项接口说明
根据系统配置项的划分,业务功能模块可分解为频点测量模块、语音识别模块、神经网络构建模块和合法性判别模块,其中频点测量和语音识别模块可以直接复用,神经网络构建模块可以独立于实时系统,各个模块之间的交互接口灵活而单一,调用流程也清晰,所以没有对接口进行详细说明。
5、系统工作原理
系统工作原理阐述了系统配置项一级的软件单元如何通过配置项的接口协同完成各业务工作模式。
广播信号合法性识别业务功能的时序图如下图所示:
原理简述:
- 首先,需要训练一个有效的深度神经网络模型。对海量数据进行预处理,包括语音识别、文本编码转换、填充等等,处理处神经网络模型需要的样本数据集。然后定义一个深度神经网络模型,用准备好的样本数据集进行训练,不断的调整参数(优化器、图层、神经元、激活函数等),重复训练过程,使模型最优化。
- 有了模型之后,就可以启动功能,对广播信号进行监测,获取音频数据;
- 待接收到音频数据后,开始进入合法性识别流程。先是对音频进行语音识别转换成文本,然后对文本进行编码转换和填充,再馈送到已加载的深度神经网络模型中进行推理预测,得到预测结果,输出预测结果。
6、配置项需求
频点测量模块
此模块可参考复用 XXX 中的单频测量功能模块。
功能需求
- 具有设置频率、带宽等参数的能力;
- 具有显示当前频点信号的能力,包括频谱、电平、音频等;
- 具有输出当前频点音频信号的能力。
性能需求
- 软件可连续工作7*24小时;
质量需求
无。
外部接口
设计约束
- 开发平台:VS2010+
- 开发语言:C#
- 运行平台:.NET Framework4.0
- 输出形式:插件动态库
- 实现接口:XXX 的接口
语音识别模块
此模块直接复用已完成开发的语音识别库AsrLibrary。
功能需求
无。
性能需求
无。
质量需求
无。
外部接口
无。
设计约束
无。
神经网络构建模块
此功能模块为新开发模块。
功能需求
- 具有数据预处理的能力,包括数据提取、解析、转码等;
- 具有深度神经网络建模的能力,包括构建、训练、评估、优化等。
性能需求
无。
质量需求
无。
外部接口
无。
设计约束
- 开发平台:VS2010+
- 开发语言:C#/C++/Python
- 运行平台:.NET Framework4.0/Python3.6
合法性判别模块
功能需求
- 具有加载深度神经网络模型的能力;
- 具有预测音频信号合法性的能力。
性能需求
- 软件可连续工作7*24小时;
质量需求
无。
外部接口
设计约束
- 开发平台:VS2010+
- 开发语言:C#/C++/Python
- 运行平台:.NET Framework4.0/Python3.6
7、系统物理视图
参考 XXX 物理视图。
8、系统部署视图
参考 XXX 系统部署视图。
五、风险评估
结合现在已有的硬件和软件功能性基础建设,对该项目的软技术方案进行设计,其基本的配置项划分,功能模块的业务流程大致可梳理清楚,但由于深度神经网络模型只有基本的理论知识,缺乏基础实验作为支撑和验证,而且这个关键技术直接关系到项目的成败,所以在没有大量数据来做实验和验证的话,此项目可能会存在一些风险,但应该是可以规避的。
Contact me
Anuo
Chengdu
Mar 29,2019