李海飛
(福州閩地勘測規(guī)劃有限公司 福建福州 350011)
城市地下管線探測的外業(yè)數(shù)據(jù)采集,目前處于紙質手工記錄向移動GIS過渡的階段,采用紙質手工記錄,作業(yè)人員需外業(yè)完成記錄以后,轉入內(nèi)業(yè),繼續(xù)完成數(shù)據(jù)的整理和錄入或交由專門的內(nèi)業(yè)人員整理。內(nèi)業(yè)工作量大,內(nèi)外人員數(shù)據(jù)交接存在數(shù)據(jù)不規(guī)范、理解有偏差等現(xiàn)象。成果數(shù)據(jù)出現(xiàn)問題時,分析原因較為困難,工序中間環(huán)節(jié)多,出錯幾率大。采用移動GIS進行數(shù)據(jù)采集,高效的優(yōu)化了外業(yè)數(shù)據(jù)采集流程。
為進一步提高作業(yè)效率,本文以地下管線普查工作為例,研究了在外業(yè)采集終端的基礎上,結合語音識別的技術進行數(shù)據(jù)采集應用,為類似工作提供參考。
本移動GIS硬件采用RTK手簿,系統(tǒng)包含的應用程序框架 (Application framework),作為Andrio開發(fā)的基礎,利用最新的Visual studio c#,可開發(fā)供不同組件調用的功能模塊,利用核心API訪問權限,開發(fā)外業(yè)應用組件[1];移動終端硬件具有雙頻雙星主板及雙頻雙星天線,搜索衛(wèi)星的靈敏度和有效性高,在外業(yè)有很強的便攜性及靈活性,還具有以下特點:
1)采用網(wǎng)絡RTK可得到小于30厘米的實時手持定位精度,甚至可以完全不依靠外接設備,只采用單機。
2)通過對中桿或支架與主機連接后,定位精度可以精確到厘米級,輔以系統(tǒng)強大的計算能力,為使用者提供穩(wěn)定的高品質數(shù)據(jù)采集成果。
3)通過GIS軟件平臺的二次開發(fā),可實現(xiàn)數(shù)據(jù)的無縫對接。并可以根據(jù)客戶的個性化要求,定制各種特定需求的行業(yè)應用軟件。
地下管線敷設于地下,按功能可分為給水、排水、燃氣、熱力、電力、通信、工業(yè)等。地下管線探測應查明地下管線的類別、平面位置、走向、埋深、偏距、規(guī)格、材質、載體特征、建設年代、埋設方式、權屬單位等,測量地下管線平面坐標和高程,并符合下列規(guī)定:
1)地下管線普查時應建立管線數(shù)據(jù)庫;
2)地下管線詳查時應查明與工程建設施工有關的信息;
3)地下管線竣工測量成果應符合地下管線數(shù)據(jù)庫更新的技術要求。
為完成以上任務,本系統(tǒng)以Andrio系統(tǒng)的RTK手簿為基礎,開發(fā)基于語音識別的信息采集系統(tǒng),啟動該系統(tǒng)后,可手動加載測區(qū)的地形底圖或正射影像圖,系統(tǒng)會自動建立各種管線圖層,也可以打開已有的管線圖進行修改編輯、管線屬性信息的查詢與編輯、成果質量檢查,利用外接配帶的耳機與麥克風,在野外現(xiàn)場采集管線的空間信息和屬性信息,必要時可手工干預修改,系統(tǒng)外業(yè)采集的數(shù)據(jù)可與電腦上的管線數(shù)據(jù)處理系統(tǒng)對接[2]。
語音識別移動GIS地下管線數(shù)據(jù)采集系統(tǒng)的開發(fā)環(huán)境,采用Visual Studio.NET 2017的C#進行Andrio應用開發(fā)。
語音識別移動GIS地下管線數(shù)據(jù)采集系統(tǒng)主要由以下幾個模塊組成:
1)數(shù)據(jù)錄入和處理
通過訪問API獲取平面位置和地面高程;通過語音識別獲取點名、埋深、材料等屬性,在主界面上分別顯示到對應輸入框,在確認無誤后,存儲到管線成果數(shù)據(jù)文件中,若外業(yè)不便于觀看屏幕,可選擇語音識別的同時,對操作人員的語音進行錄音,各段錄音與錄音時設備所在位置信息一起保存,以便后續(xù)查驗核對如圖1
2)管線圖形顯示
管線圖形顯示:根據(jù)錄入及讀取的管線數(shù)據(jù)自動生成管線圖,同時提供矢量和柵格顯示及平移、縮放、旋轉功能;交互編輯功能,添加或刪除管線點、標注點名和管徑、連線、刪除線、移動、捕捉、屬性匹配等功能。
圖1 管線數(shù)據(jù)采集
3)數(shù)據(jù)檢查
檢查管線點和線的圖、屬性信息的一致性,選擇管線、管線點查詢其相應的屬性,在圖上圈定范圍并進行分類統(tǒng)計,實時顯示、保存或統(tǒng)計結果。
4)成果數(shù)據(jù)輸出
以shape格式或DXF格式輸出管線數(shù)據(jù),在電腦上進一步編輯或導入管線數(shù)據(jù)庫。
除第一個模塊外,其它各模塊目前均有不少研究及應用案例,本文不再進行說明,重點對該系統(tǒng)的語音識別部分進行說明。
該語音識別數(shù)據(jù)采集系統(tǒng)采用在安卓開發(fā)中的使用的離線語音識別的開源項目CMU Pocket-Spinnx。它是完全離線的語音識別,只要按照要求開發(fā),目前的語音識別正確率尚可。
通過PocketSpinnx官網(wǎng),可以學習該離線語音識別的工作原理,能夠加深對移動GIS地下管線數(shù)據(jù)采集系統(tǒng)使用語音識別的理解。為了把Pocket-Spinnx的離線語音識別功能引入到地下管線數(shù)據(jù)采集系統(tǒng):
a)建立語言模型:
圖2 管線短語
將外業(yè)數(shù)據(jù)采集時,常用到的術語、數(shù)字、字母等想要識別的字、詞組成命令集,能組合成短語的盡量組成短語,如“4 孔”、“6 孔”、“4 根”、“6 根”等,打開Sublime Text新建一個管線短語的txt文件,采用utf-8編碼,每一行寫一個命令詞,如圖2管線短語的txt文件編輯完后,打開http://www.speech.cs.cmu.edu/tools/lmtool-new.html生成語言模型,點擊選擇文件,選擇剛才編寫的管線短語的.txt文件,然后點擊COMPILE KNOWLEDGE BASE按鈕,生成語言模型,將生成的整個.tgz文件下載下來解壓縮,本系統(tǒng)需要的語言模型即為其中的.lm文件。
b)建立字典模型
字典模型在語音識別數(shù)據(jù)采集系統(tǒng)的作用是為了讓語音識別器能正確識別短語的發(fā)音,從而選擇正確的中文、數(shù)字、字母等管線短語,以便于采集系統(tǒng)根據(jù)管線短語中的關鍵字對輸入的數(shù)據(jù)進行分類、分層、錄入屬性,獲取字典模型要到PocketSpinnx的資源網(wǎng)盤中的Mandarin文件夾,將后綴為.dic的文件下載,該文件里已存在日常普通話的發(fā)音,在其中查找到管線的短語,找不到完整短語的就用單個字的發(fā)音組合,以該.dic文件的格式為模板,在.lm語言模型文件中的.dic文件中,補充完善.dic文件的發(fā)音,如圖3。
圖3 字典模型
完成管線短語字典模型。
c)建立聲學模型文件
在上述資源網(wǎng)盤的Mandarin文件夾下,下載.tar.bz2并解壓,得到聲學模型文件:
d)導入接口
做好以上準備工作后,在PocketSpinnx開源的安卓demo中可以看到如圖4。
圖4 集成相關接口
將demo中的aars和models導入創(chuàng)建語音識別數(shù)據(jù)采集系統(tǒng)的項目中,快速集成相關接口。為了讓系統(tǒng)能夠識別中文,參照demo中en-us-ptm中的英文聲學模型,新建一個GXDY文件夾,含前面獲得
的普通話聲學模型、語言模型和字典模型。
e)調用識別器
獲得以上模型以后,在項目中調用相關的API,獲取語音識別器類SpeechRecognizer,開始監(jiān)聽和結束監(jiān)聽。創(chuàng)建管線短語文件監(jiān)聽的時候需要.gram文件,參考.gram文件編寫管線短語文件。
grammar menu;
public
外業(yè)開始語音數(shù)據(jù)錄入以后,監(jiān)聽器在監(jiān)聽管線短語文件的字、詞中找出發(fā)音最相似的,在語音顯示行中顯示監(jiān)聽結果。在使用者確認后,系統(tǒng)對聽取到的屬性信息和從API中獲取的坐標信息對管線數(shù)據(jù)進行分類存儲并顯示在屏幕上[3]。
系統(tǒng)采用語音方式進行屬性錄入,系統(tǒng)對關鍵字進行提取后分別填入對應字段,不必人工一一查找并填寫對應字段;對部分屬性相同的管線或管線點可只錄入不同的屬性部分,相同的屬性部分可用同前一點或前一線的方式快速填入,語音錄入的屬性字段若存在不正確的數(shù)據(jù)可手工修改后錄入繪圖的方式進行記錄,結合耳機語音回報的功能,可實現(xiàn)免看屏幕,解放雙手的外業(yè)操作。由于大量管線短語數(shù)據(jù)采用規(guī)范輸入,可以有效降低語音識別的錯誤率,極大減少內(nèi)、外業(yè)的工作量,明顯提高工作效率。
由于口音、環(huán)境嘈雜等復雜情況,某些情況下可能存在誤錄的情況,需人工查看并修正錄入,可通過操作人員本人對需用到的管線短語一一讀音建立語音字典的方式,過濾無關聲音,提高正確率。