王 超
(中國鐵道科學(xué)研究院集團有限公司 通信信號研究所, 北京 100081)
在城市軌道交通領(lǐng)域,項目正式運營前需要對各子系統(tǒng)進行細致的系統(tǒng)級測試。傳統(tǒng)的系統(tǒng)測試方法是,測試人員根據(jù)需求編寫的測試案例,逐項逐條地根據(jù)測試步驟,點擊計算機中的應(yīng)用程序界面,進行操作。這其中存在大量的類似應(yīng)用場景,且往往需要重復(fù)一些繁瑣的界面操作。這不僅耗費了測試人員大量的時間,且存在人對場景界面的誤操作情況。
國內(nèi)外的卷積神經(jīng)網(wǎng)絡(luò)算法研究已經(jīng)取得了很多重要的成果,現(xiàn)階段的應(yīng)用領(lǐng)域主要集中在無人駕駛[1]、自然語言處理[2]和圖像識別[3]等,且研究的改進方法主要包括:圖像特征融合技術(shù)[4]、圖像預(yù)處理技術(shù)[5]、算法結(jié)構(gòu)改進技術(shù)[6]等。針對城市軌道交通領(lǐng)域系統(tǒng)測試的深度學(xué)習(xí)[7]方面的技術(shù)研究非常少,而且由于城市軌道交通系統(tǒng)測試有其自身的特殊性,往往需要針對特定的測試場景進行算法的優(yōu)化處理和卷積核優(yōu)化技術(shù)方面的研究。
因此,本文引入圖像識別技術(shù),通過構(gòu)建分層壓縮卷積神經(jīng)網(wǎng)絡(luò)模型并采用了一種卷積核優(yōu)化技術(shù),自動模擬測試人員對圖形界面的操作過程,把測試人員的主要精力從繁瑣的圖形界面操作中釋放出來,提高城市軌道交通信號系統(tǒng)測試質(zhì)量和測試效率,具有較高的實用價值。
卷積神經(jīng)網(wǎng)絡(luò)的核心思想是從輸入到輸出進行特征提取并進行特征映射,各個特征映射都是平面,平面中所有的圖形像素神經(jīng)元具有相等的權(quán)值。對于每個神經(jīng)元提取其特征,并在每個神經(jīng)網(wǎng)絡(luò)計算層使用卷積激活函數(shù)進行特征分辨率的識別[8]。一個圖像識別的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)由輸入層、映射層、全連接層構(gòu)成。對于在同一映射層的神經(jīng)元共享權(quán)值,它使用局部連接域,雖然可以減少一定的參數(shù)數(shù)量,但是由于存在大量的權(quán)值連接,所以需要計算處理的數(shù)據(jù)非常耗時。
對于卷積神經(jīng)網(wǎng)絡(luò)的圖像識別技術(shù),完整的特征提取并不是對單一特征的提取,往往需要對同一圖片進行多特征量的提取,這會產(chǎn)生大量復(fù)雜的權(quán)值連接過程,并輸出海量的特征矩陣;同時隨著卷積核的增大,會導(dǎo)致卷積計算量呈指數(shù)級增長,此時卷積核大小的選取會直接影響圖像匹配的效率。
對于卷積神經(jīng)網(wǎng)絡(luò)中存在大量權(quán)值連接的問題,本文提出一種基于分層壓縮卷積神經(jīng)網(wǎng)絡(luò)算法,它通過把原始圖像根據(jù)測試需求進行分層劃分處理,并從每個區(qū)域圖形中提取特征值。由于每個區(qū)域的圖形像素特征值所反饋的信息權(quán)重是不同的,進而對不同區(qū)域的圖形像素權(quán)重進行分配和加權(quán),對不滿足判定條件的圖形分層空間進行池化壓縮,從而減少海量的權(quán)值連接。
對于卷積神經(jīng)網(wǎng)絡(luò)中卷積核性能優(yōu)化問題,本文提出一種滑動窗口卷積核拼接技術(shù),可以在保證圖像匹配精度的前提下,提高智能自動化測試系統(tǒng)的效率。
分層壓縮卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖1所示。
圖1 分層壓縮卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖
對于不同的測試場景,系統(tǒng)測試關(guān)注的功能點不盡相同,包括信號機的狀態(tài)、軌道區(qū)間的占用情況、列車進路的狀態(tài),整體系統(tǒng)的運行情況等。但是從邏輯上分析,所有對功能點的測試都可以轉(zhuǎn)化為對圖像元素的匹配。
2.1.1 單層卷積神經(jīng)網(wǎng)絡(luò)圖像粒度劃分
本文以重慶10號線T3航站樓站的ATS界面終端為例進行說明,如圖2所示。
圖2 T3航站樓站ATS界面終端
單場景測試可以理解為對于具有單一特征提取向量,且在圖形的匹配查找過程中可以快速根據(jù)此特征進行定位的圖形像素。
例如在重慶10號線T3航站樓的站場測試中,如果只關(guān)注軌道區(qū)間的占用狀態(tài),在圖形像素的匹配查找過程中,邏輯上可以理解為圖像識別的要素就是要匹配直線或折線是否有相應(yīng)顏色的區(qū)段占用顯示。由于直線或折線屬于單一特征,針對特定區(qū)域的圖形像素匹配度非常高,單層(Level1)粒度的卷積已經(jīng)可以滿足要求。
在Level1層,分層壓縮卷積神經(jīng)網(wǎng)絡(luò)算法會根據(jù)預(yù)設(shè)的判定規(guī)則把圖形像素劃分為4個區(qū)域:G1、G2、G3、G4。算法根據(jù)各自區(qū)域中軌道的形狀和顏色顯示情況找出對應(yīng)的匹配圖。Level1層圖像粒度劃分示意圖如圖3所示。
圖3 Level 1層圖像粒度劃分示意圖
2.1.2 多層卷積神經(jīng)網(wǎng)絡(luò)池化壓縮技術(shù)
對于需要匹配的圖形像素具有多重特征提取向量,不能由單一特征向量快速定位的圖形像素,可在Level1層上繼續(xù)劃分到Level2層,通過增加卷積層數(shù),可以降低匹配圖形像素的特征提取維數(shù),從而達到快速高效圖形像素匹配的目的。例如,查找信號機S1906的狀態(tài)顯示、站臺屏蔽門狀態(tài)顯示、扣車標(biāo)記顯示等,如圖4所示。
圖4 Level 2層圖像粒度劃分示意圖
可以看到,對于G1、G2、G4、G9這4個區(qū)間所包含的圖形像素點大部分是空白區(qū)域,對于限定測試場景的圖形匹配是無效區(qū)域,所以在此基礎(chǔ)上對無效區(qū)域進行圖形像素的池化壓縮處理,以提高分層卷積神經(jīng)網(wǎng)絡(luò)算法的匹配速度。
設(shè)搜索區(qū)間子圖像素矩陣為Mk(n,n),卷積核的圖形像素矩陣為Gk(m,m),本文提出差異比較公式并進行歸一化處理:k為分層閾值,hj為第j分區(qū)的匹配搜索路徑,1≤i≤k,1≤j≤i,0為卷積核數(shù)量,1≤p≤0,為加權(quán)系數(shù)。對于不滿足差異比較條件
(i, j)的圖形像素區(qū)域,不進行卷積操作,這節(jié)省了時間上的計算效率。而對于滿足差異條件的神經(jīng)網(wǎng)絡(luò)卷積,根據(jù)本系統(tǒng)圖像數(shù)據(jù)特征規(guī)律,采用一種線性修正函數(shù),此函數(shù)的輸出以零為中心,在卷積神經(jīng)網(wǎng)絡(luò)的逐層處理中,不會導(dǎo)致梯度下降時的晃動;而且對于數(shù)據(jù)偏大或偏小的情況下也不會產(chǎn)生數(shù)據(jù)的丟失,修正函數(shù)如下:
2.2.1 連續(xù)場景模式
由于系統(tǒng)測試場景的特殊性,不僅是完成單幅圖形像素的靜態(tài)匹配,它往往是一段時間內(nèi)連續(xù)特配。還是以重慶10號線T3航站樓測試場景為例,排列從信號機X1903到S1915的列車進站進路,并要求列車進站完成對標(biāo)操作,并開啟相應(yīng)側(cè)車門。
此測試從圖像匹配的邏輯層分析主要包含兩種場景:(1)完成從始端信號機到終端信號機的進路排列圖形像素匹配;(2)完成列車對標(biāo)停車的圖形像素匹配。這兩種測試場景是無縫連接完成的,且匹配的圖形像素是動態(tài)改變的。具體如圖5和圖6所示。
2.2.2 圖像匹配鄰接矩陣存儲結(jié)構(gòu)
針對連續(xù)場景的圖形像素動態(tài)匹配情況,本文提出一種鄰接矩陣的數(shù)據(jù)結(jié)構(gòu)便于對連續(xù)測試場景的動態(tài)圖像鏈接順序進行存儲,進而達到準確定位高效匹配的目的。
圖5 列車進路排列分層示意圖
圖6 列車進站對標(biāo)停車開門分層示意圖
對于Level2卷積層,分為16個分區(qū)即G1~G16。因為X1903信號機在G13分區(qū),所有從信號機X1903排列的進路,實際上都可以理解為從G13開始的圖形匹配。而由于正常列車運行是逐段對軌道區(qū)段的占用,對圖形像素的匹配也是有相應(yīng)順序的,所以可以把所有的分區(qū)集合轉(zhuǎn)換為相應(yīng)的鄰接矩陣;從具體的某一場景的圖形匹配,轉(zhuǎn)換為對鄰接矩陣的搜索。
針對本測試場景,實際上就轉(zhuǎn)換為鄰接矩陣中兩條鏈接關(guān)系的匹配,分別為:G13→G9→G10→G11;G10→G11→G7。其中,鄰接矩陣的橫軸表示開始的分區(qū)結(jié)點,縱軸表示相鄰結(jié)束的分區(qū)結(jié)點,如果相應(yīng)存在鄰接關(guān)系,就把鄰接矩陣中對應(yīng)的值累加計數(shù),構(gòu)建鄰接矩陣如圖7所示。
可以看到,與G1~G6相關(guān)的鄰接矩陣所存儲的鄰接關(guān)系全為0,所以G1~G6分區(qū)的圖形像素對于列車進站的場景是完全無效的,只需保存與G7~G13相關(guān)的鄰接矩陣。而且此鄰接矩陣中的0元素遠多于實際有效的累加計數(shù)元素,可以作為一種稀疏矩陣。本文構(gòu)建稀疏列表結(jié)構(gòu)對原始數(shù)據(jù)進行壓縮處理,對G7~G13的每組結(jié)點,存儲其前序結(jié)點和后續(xù)結(jié)點,對于沒有相應(yīng)節(jié)點的位置按空處理,如圖8所示。
在實際的卷積過程中,隨著卷積層數(shù)的增多,圖層顆粒度細化,會產(chǎn)生大量的稀疏矩陣,此種壓縮結(jié)構(gòu)很好的減少了內(nèi)存的存儲空間,降低了匹配搜索時間,提高了算法對動態(tài)連續(xù)特定場景圖形匹配的效率。
卷積核的大小對圖像匹配查找的準確率和匹配時間有非常重要的影響。卷積核的尺寸越大,卷積的邊界越寬,所獲取的卷積特征信息越多。但是隨著卷積核增大到一定程度,查找正確率反而會降低,而查找時間會成指數(shù)級增加。本文采用一種基于滑動窗口的卷積核拼接技術(shù)來解決此問題。
圖7 測試場景圖像匹配鄰接矩陣
圖8 測試場景圖像匹配壓縮列表結(jié)構(gòu)
圖9中,選取卷積層1的卷積核大小為3×3,卷積層1的中心映射到輸入層為5×5;卷積核大小為3×3的卷積層2的中心映射到卷積層1為3×3。由卷積層的映射性可知,此時的卷積層2相當(dāng)于作用于5×5的輸入層上。所以對于一個5×5的卷積核,相當(dāng)于采用2個3×3的卷積核進行拼接,但是對于一個5×5的卷積核的空間復(fù)雜度為25 S (S為常數(shù)單位),2個3×3的卷積核的空間復(fù)雜度為18 S。
圖9 卷積核映射示意圖
圖10是卷積核拼接的示意圖。
圖10 卷積核拼接示意圖
通過對城市軌道交通各個測試子系統(tǒng)的場景分析發(fā)現(xiàn),需要匹配的圖形像素具有共同的相似點,以重慶10號線T3航站樓ATS終端界面為例,核心的測試場景是圍繞列車在軌道運行界面的圖形匹配。這些圖形像素的特點是在相對視野寬闊的布局中具有較少的像素差異分布,所以在卷積核拼接的基礎(chǔ)上,本文提出一種滑動窗口技術(shù),可以在卷積核尺寸不變的情況下,擴大圖形匹配搜索范圍,加快圖形匹配搜索效率。選取6×6的輸入圖像矩陣,如圖11和圖12所示。
對于圖11是無滑動窗口的卷積核位移順序:R1→R2→R3→R4;圖12是滑動窗口長度為3的卷積核位移順序:R1→R2→R3→R4。雖然卷積核都是移動了4個3×3的矩形區(qū)間,但有滑動窗口的卷積核已經(jīng)完成了一個6×6的卷積過程。所以在不增加輸入?yún)?shù)且計算量相同的情況下,滑動窗口的卷積核具有更大的匹配視野。
圖11 無滑動窗口的卷積核位移
圖12 有滑動窗口的卷積核位移
列車智能測試系統(tǒng)結(jié)構(gòu)如圖13所示。
圖13 列車智能測試系統(tǒng)結(jié)構(gòu)圖
列車智能測試系統(tǒng)基于開源卷積神經(jīng)網(wǎng)絡(luò)框架Keras[9],它提供了完整的工具包,包括卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)庫和常用的API函數(shù),支持Python接口,允許用戶對數(shù)據(jù)和函數(shù)進行拓展,且具有優(yōu)良的模塊性和可擴展性,滿足本系統(tǒng)的測試開發(fā)工作需要。
列車智能測試系統(tǒng)通過采集輸入圖像數(shù)據(jù),對圖像數(shù)據(jù)進行訓(xùn)練,并保存相應(yīng)的訓(xùn)練模型,通過卷積神經(jīng)網(wǎng)絡(luò)計算系統(tǒng)的分析處理,調(diào)用預(yù)先編寫的軟件腳本自動執(zhí)行后續(xù)的圖形界面的操作命令。
列車智能測試系統(tǒng)解決了實際系統(tǒng)測試過程中測試人員存在大量重復(fù)性勞動的問題,提高了測試人員的執(zhí)行效率,可以高效快速的定位系統(tǒng)的缺陷。
隨著人工智能領(lǐng)域的快速發(fā)展,圖像識別技術(shù)作為其中的重要領(lǐng)域,已經(jīng)深入到人們生活的各行各業(yè)。本文針對城市軌道交通測試系統(tǒng)中存在的大量圖像數(shù)據(jù)和人工重復(fù)性操作問題,提出了分層壓縮卷積神經(jīng)網(wǎng)絡(luò)算法和卷積核優(yōu)化技術(shù),并構(gòu)建了相應(yīng)的列車智能測試平臺,對具體的測試場景進行了實驗?zāi)M,把圖像識別技術(shù)應(yīng)用到城市軌道交通系統(tǒng)測試領(lǐng)域,為未來實現(xiàn)城市軌道交通測試平臺的自動化運行提供了技術(shù)支撐。而隨著各個子系統(tǒng)的交互性增強,存在同時進行多個場景的圖形匹配情況[10],要求算法具有非常高的并行性和實時性,這也是將進一步研究的方向。