基于卷积神经网络优化算法的列车智能测试系统技术研究

2019-06-10 07:52
铁路计算机应用 2019年5期
关键词:邻接矩阵图像匹配像素

王 超

(中国铁道科学研究院集团有限公司 通信信号研究所, 北京 100081)

在城市轨道交通领域,项目正式运营前需要对各子系统进行细致的系统级测试。传统的系统测试方法是,测试人员根据需求编写的测试案例,逐项逐条地根据测试步骤,点击计算机中的应用程序界面,进行操作。这其中存在大量的类似应用场景,且往往需要重复一些繁琐的界面操作。这不仅耗费了测试人员大量的时间,且存在人对场景界面的误操作情况。

国内外的卷积神经网络算法研究已经取得了很多重要的成果,现阶段的应用领域主要集中在无人驾驶[1]、自然语言处理[2]和图像识别[3]等,且研究的改进方法主要包括:图像特征融合技术[4]、图像预处理技术[5]、算法结构改进技术[6]等。针对城市轨道交通领域系统测试的深度学习[7]方面的技术研究非常少,而且由于城市轨道交通系统测试有其自身的特殊性,往往需要针对特定的测试场景进行算法的优化处理和卷积核优化技术方面的研究。

因此,本文引入图像识别技术,通过构建分层压缩卷积神经网络模型并采用了一种卷积核优化技术,自动模拟测试人员对图形界面的操作过程,把测试人员的主要精力从繁琐的图形界面操作中释放出来,提高城市轨道交通信号系统测试质量和测试效率,具有较高的实用价值。

1 卷积神经网络算法

卷积神经网络的核心思想是从输入到输出进行特征提取并进行特征映射,各个特征映射都是平面,平面中所有的图形像素神经元具有相等的权值。对于每个神经元提取其特征,并在每个神经网络计算层使用卷积激活函数进行特征分辨率的识别[8]。一个图像识别的卷积神经网络结构由输入层、映射层、全连接层构成。对于在同一映射层的神经元共享权值,它使用局部连接域,虽然可以减少一定的参数数量,但是由于存在大量的权值连接,所以需要计算处理的数据非常耗时。

对于卷积神经网络的图像识别技术,完整的特征提取并不是对单一特征的提取,往往需要对同一图片进行多特征量的提取,这会产生大量复杂的权值连接过程,并输出海量的特征矩阵;同时随着卷积核的增大,会导致卷积计算量呈指数级增长,此时卷积核大小的选取会直接影响图像匹配的效率。

2 分层压缩卷积神经网络算法

对于卷积神经网络中存在大量权值连接的问题,本文提出一种基于分层压缩卷积神经网络算法,它通过把原始图像根据测试需求进行分层划分处理,并从每个区域图形中提取特征值。由于每个区域的图形像素特征值所反馈的信息权重是不同的,进而对不同区域的图形像素权重进行分配和加权,对不满足判定条件的图形分层空间进行池化压缩,从而减少海量的权值连接。

对于卷积神经网络中卷积核性能优化问题,本文提出一种滑动窗口卷积核拼接技术,可以在保证图像匹配精度的前提下,提高智能自动化测试系统的效率。

分层压缩卷积神经网络结构示意图如图1所示。

图1 分层压缩卷积神经网络结构示意图

对于不同的测试场景,系统测试关注的功能点不尽相同,包括信号机的状态、轨道区间的占用情况、列车进路的状态,整体系统的运行情况等。但是从逻辑上分析,所有对功能点的测试都可以转化为对图像元素的匹配。

2.1 单场景测试图像匹配

2.1.1 单层卷积神经网络图像粒度划分

本文以重庆10号线T3航站楼站的ATS界面终端为例进行说明,如图2所示。

图2 T3航站楼站ATS界面终端

单场景测试可以理解为对于具有单一特征提取向量,且在图形的匹配查找过程中可以快速根据此特征进行定位的图形像素。

例如在重庆10号线T3航站楼的站场测试中,如果只关注轨道区间的占用状态,在图形像素的匹配查找过程中,逻辑上可以理解为图像识别的要素就是要匹配直线或折线是否有相应颜色的区段占用显示。由于直线或折线属于单一特征,针对特定区域的图形像素匹配度非常高,单层(Level1)粒度的卷积已经可以满足要求。

在Level1层,分层压缩卷积神经网络算法会根据预设的判定规则把图形像素划分为4个区域:G1、G2、G3、G4。算法根据各自区域中轨道的形状和颜色显示情况找出对应的匹配图。Level1层图像粒度划分示意图如图3所示。

图3 Level 1层图像粒度划分示意图

2.1.2 多层卷积神经网络池化压缩技术

对于需要匹配的图形像素具有多重特征提取向量,不能由单一特征向量快速定位的图形像素,可在Level1层上继续划分到Level2层,通过增加卷积层数,可以降低匹配图形像素的特征提取维数,从而达到快速高效图形像素匹配的目的。例如,查找信号机S1906的状态显示、站台屏蔽门状态显示、扣车标记显示等,如图4所示。

图4 Level 2层图像粒度划分示意图

可以看到,对于G1、G2、G4、G9这4个区间所包含的图形像素点大部分是空白区域,对于限定测试场景的图形匹配是无效区域,所以在此基础上对无效区域进行图形像素的池化压缩处理,以提高分层卷积神经网络算法的匹配速度。

设搜索区间子图像素矩阵为Mk(n,n),卷积核的图形像素矩阵为Gk(m,m),本文提出差异比较公式并进行归一化处理:k为分层阈值,hj为第j分区的匹配搜索路径,1≤i≤k,1≤j≤i,0为卷积核数量,1≤p≤0,为加权系数。对于不满足差异比较条件

(i, j)的图形像素区域,不进行卷积操作,这节省了时间上的计算效率。而对于满足差异条件的神经网络卷积,根据本系统图像数据特征规律,采用一种线性修正函数,此函数的输出以零为中心,在卷积神经网络的逐层处理中,不会导致梯度下降时的晃动;而且对于数据偏大或偏小的情况下也不会产生数据的丢失,修正函数如下:

2.2 连续场景测试图像匹配

2.2.1 连续场景模式

由于系统测试场景的特殊性,不仅是完成单幅图形像素的静态匹配,它往往是一段时间内连续特配。还是以重庆10号线T3航站楼测试场景为例,排列从信号机X1903到S1915的列车进站进路,并要求列车进站完成对标操作,并开启相应侧车门。

此测试从图像匹配的逻辑层分析主要包含两种场景:(1)完成从始端信号机到终端信号机的进路排列图形像素匹配;(2)完成列车对标停车的图形像素匹配。这两种测试场景是无缝连接完成的,且匹配的图形像素是动态改变的。具体如图5和图6所示。

2.2.2 图像匹配邻接矩阵存储结构

针对连续场景的图形像素动态匹配情况,本文提出一种邻接矩阵的数据结构便于对连续测试场景的动态图像链接顺序进行存储,进而达到准确定位高效匹配的目的。

图5 列车进路排列分层示意图

图6 列车进站对标停车开门分层示意图

对于Level2卷积层,分为16个分区即G1~G16。因为X1903信号机在G13分区,所有从信号机X1903排列的进路,实际上都可以理解为从G13开始的图形匹配。而由于正常列车运行是逐段对轨道区段的占用,对图形像素的匹配也是有相应顺序的,所以可以把所有的分区集合转换为相应的邻接矩阵;从具体的某一场景的图形匹配,转换为对邻接矩阵的搜索。

针对本测试场景,实际上就转换为邻接矩阵中两条链接关系的匹配,分别为:G13→G9→G10→G11;G10→G11→G7。其中,邻接矩阵的横轴表示开始的分区结点,纵轴表示相邻结束的分区结点,如果相应存在邻接关系,就把邻接矩阵中对应的值累加计数,构建邻接矩阵如图7所示。

可以看到,与G1~G6相关的邻接矩阵所存储的邻接关系全为0,所以G1~G6分区的图形像素对于列车进站的场景是完全无效的,只需保存与G7~G13相关的邻接矩阵。而且此邻接矩阵中的0元素远多于实际有效的累加计数元素,可以作为一种稀疏矩阵。本文构建稀疏列表结构对原始数据进行压缩处理,对G7~G13的每组结点,存储其前序结点和后续结点,对于没有相应节点的位置按空处理,如图8所示。

在实际的卷积过程中,随着卷积层数的增多,图层颗粒度细化,会产生大量的稀疏矩阵,此种压缩结构很好的减少了内存的存储空间,降低了匹配搜索时间,提高了算法对动态连续特定场景图形匹配的效率。

3 卷积核优化技术

卷积核的大小对图像匹配查找的准确率和匹配时间有非常重要的影响。卷积核的尺寸越大,卷积的边界越宽,所获取的卷积特征信息越多。但是随着卷积核增大到一定程度,查找正确率反而会降低,而查找时间会成指数级增加。本文采用一种基于滑动窗口的卷积核拼接技术来解决此问题。

图7 测试场景图像匹配邻接矩阵

图8 测试场景图像匹配压缩列表结构

3.1 卷积核拼接技术

图9中,选取卷积层1的卷积核大小为3×3,卷积层1的中心映射到输入层为5×5;卷积核大小为3×3的卷积层2的中心映射到卷积层1为3×3。由卷积层的映射性可知,此时的卷积层2相当于作用于5×5的输入层上。所以对于一个5×5的卷积核,相当于采用2个3×3的卷积核进行拼接,但是对于一个5×5的卷积核的空间复杂度为25 S (S为常数单位),2个3×3的卷积核的空间复杂度为18 S。

图9 卷积核映射示意图

图10是卷积核拼接的示意图。

图10 卷积核拼接示意图

3.2 卷积核滑动窗口技术

通过对城市轨道交通各个测试子系统的场景分析发现,需要匹配的图形像素具有共同的相似点,以重庆10号线T3航站楼ATS终端界面为例,核心的测试场景是围绕列车在轨道运行界面的图形匹配。这些图形像素的特点是在相对视野宽阔的布局中具有较少的像素差异分布,所以在卷积核拼接的基础上,本文提出一种滑动窗口技术,可以在卷积核尺寸不变的情况下,扩大图形匹配搜索范围,加快图形匹配搜索效率。选取6×6的输入图像矩阵,如图11和图12所示。

对于图11是无滑动窗口的卷积核位移顺序:R1→R2→R3→R4;图12是滑动窗口长度为3的卷积核位移顺序:R1→R2→R3→R4。虽然卷积核都是移动了4个3×3的矩形区间,但有滑动窗口的卷积核已经完成了一个6×6的卷积过程。所以在不增加输入参数且计算量相同的情况下,滑动窗口的卷积核具有更大的匹配视野。

图11 无滑动窗口的卷积核位移

图12 有滑动窗口的卷积核位移

4 列车智能测试系统

列车智能测试系统结构如图13所示。

图13 列车智能测试系统结构图

列车智能测试系统基于开源卷积神经网络框架Keras[9],它提供了完整的工具包,包括卷积神经网络学习库和常用的API函数,支持Python接口,允许用户对数据和函数进行拓展,且具有优良的模块性和可扩展性,满足本系统的测试开发工作需要。

列车智能测试系统通过采集输入图像数据,对图像数据进行训练,并保存相应的训练模型,通过卷积神经网络计算系统的分析处理,调用预先编写的软件脚本自动执行后续的图形界面的操作命令。

列车智能测试系统解决了实际系统测试过程中测试人员存在大量重复性劳动的问题,提高了测试人员的执行效率,可以高效快速的定位系统的缺陷。

5 结束语

随着人工智能领域的快速发展,图像识别技术作为其中的重要领域,已经深入到人们生活的各行各业。本文针对城市轨道交通测试系统中存在的大量图像数据和人工重复性操作问题,提出了分层压缩卷积神经网络算法和卷积核优化技术,并构建了相应的列车智能测试平台,对具体的测试场景进行了实验模拟,把图像识别技术应用到城市轨道交通系统测试领域,为未来实现城市轨道交通测试平台的自动化运行提供了技术支撑。而随着各个子系统的交互性增强,存在同时进行多个场景的图形匹配情况[10],要求算法具有非常高的并行性和实时性,这也是将进一步研究的方向。

猜你喜欢
邻接矩阵图像匹配像素
像素前线之“幻影”2000
基于多特征融合的图像匹配研究
图像匹配及其应用
“像素”仙人掌
基于机器视觉的液晶屏字符缺陷检测系统设计
基于邻接矩阵变型的K分网络社团算法
高像素不是全部
基于子模性质的基因表达谱特征基因提取
基于降落图像匹配的嫦娥三号着陆点位置评估
您的像素,饱和吗?[上]