張穎穎 李華龍 郭歐杰
摘要:目前分布式控制系統(tǒng)的畫面組態(tài)主要依賴人工完成,工作量大且重復(fù)性高,本文提出了一種將圖像識別技術(shù)應(yīng)用于自動生成組態(tài)畫面的方法。利用圖像模板匹配技術(shù)來識別管道儀表圖中的各個圖符的坐標和類型,結(jié)合圖像邊緣檢測技術(shù)和所提的管線檢測算法來獲取管線兩端點的坐標,利用圖像文字區(qū)域檢測和光學(xué)文字識別技術(shù)來識別各個圖符所屬的編號位置和內(nèi)容,從而按照組態(tài)軟件存儲格式轉(zhuǎn)換生成組態(tài)畫面文件。實驗結(jié)果表明所提方法的有效性,可大幅度節(jié)省人工成本,為批量生成組態(tài)畫面提供了一套有效解決方案。
關(guān)鍵詞:模板匹配;管線檢測;編號識別;組態(tài)畫面
中圖分類號 :TP391 文獻標識碼:A
文章編號:1009-3044(2019)11-0178-03
Abstract: At present, the screen configuration of distributed control system(DCS) mainly relies on manual work. The workload is large and the repeatability is high. This paper proposes an intelligent method of applying image recognition technology to automatic screen configuration. The image template matching technology is used to identify the coordinates and type of each icon in the pipeline instrument diagram. The image edge detection technology and the proposed pipeline detection algorithm are used to obtain the coordinates of the pipeline. The image text area detection technology and the optical character recognition technology are used to identify the position and content of icon code. Finally the configuration screens are automatically generated according to the configuration software storage format. The experimental results show that the proposed method is effective, which can save large labor costs and provide an effective solution for batch generation of configuration screens.
Key words: template matching; pipeline detection; code recognition; configuration screen
目前在分布式控制系統(tǒng)(DCS)的工程組態(tài)中,需要工程人員按照管道儀表流程圖(P&ID)進行圖符查找、圖符拖拽、管道連接、編號輸入等操作,來組態(tài)工藝流程監(jiān)控畫面,其中圖符在組態(tài)畫面中的位置往往需要反復(fù)調(diào)整,來逼近P&ID圖的布局。一個大型工程組態(tài)通常有上百幅畫面需要繪制,工作重復(fù)繁瑣,耗時費力[1]。目前,P&ID設(shè)計文件通常由Visio或者AutoCAD繪制,尚未有DCS組態(tài)軟件支持所有P&ID設(shè)計文件的自動轉(zhuǎn)換,各個廠商的組態(tài)軟件生成的畫面文件也不支持相互轉(zhuǎn)換。如DCS系統(tǒng)升級增加制造執(zhí)行系統(tǒng)(MES),兩家系統(tǒng)對畫面文件不兼容時,工程人員只能再組態(tài)一次監(jiān)控畫面。組態(tài)軟件對任何文件格式P&ID圖的批量導(dǎo)入支持是亟需解決的問題。本文利用圖像識別技術(shù),從P&ID設(shè)計文件轉(zhuǎn)換成的圖片中識別出儀表圖符位置、管道位置以及圖符編號,批量生成組態(tài)畫面靜態(tài)信息文件,可大大節(jié)約工程耗時。
本文所提的DCS組態(tài)畫面批量生成流程包括圖片預(yù)處理、圖符識別、管線識別、編號識別。首先進行圖片預(yù)處理,從P&ID圖片中選取組態(tài)畫面所需的區(qū)域,除圖例和標題欄,并進行圖片灰度化,降低后期圖片處理復(fù)雜度。
1 圖符識別
圖符是指基于工業(yè)標準的工藝流程圖圖形符號,包括設(shè)備、閥門、導(dǎo)航符等,是組態(tài)畫面中的基本元素。如圖1所示。畫面組態(tài)中比較耗時的一項工作便是從組態(tài)軟件的圖符庫中挑選相應(yīng)的圖符到合適的位置上。
模板匹配是圖像目標檢測領(lǐng)域中的一個重要方法,可以利用該方法來識別PI&D圖中各個圖符的位置和類型,該方法主要是通過計算被匹配圖像與模板之間的相關(guān)度,根據(jù)最大或者最小相關(guān)值所在位置,確定目標的位置。相對于特征匹配法,模板匹配法對目標的要求較少,易于實現(xiàn),在裂紋識別、地震檢測、車牌識別、松木板識別等領(lǐng)域都有較廣的應(yīng)用[2-5]。一套P&ID設(shè)計文件中各個儀表符號的大小是固定的,從設(shè)計文件中截取圖像來制備模板,使得模板和設(shè)計文件中的圖符具有相同的尺寸和方向,利用模板匹配方法來獲取各個圖符的位置和類型可以具有較高的正確率。
模板匹配算法有多種,本文選用了誤判率較低的歸一化相關(guān)系數(shù)匹配法(CV_TM_CCOEFF_NORMED)進行多模板匹配[6],相關(guān)系數(shù)大于相關(guān)閾值時的搜索窗口位置決定了模板圖像在待匹配圖像中的位置。當模板匹配結(jié)果偏多時則調(diào)高該模板的相關(guān)閾值,反之,則調(diào)低該閾值。
2 管線識別
組態(tài)畫面中的管道符號由水平直線和垂直豎線表示,各條管道會有長度拉伸和寬度變化,不像儀表圖符一樣大小固定,模板匹配法在管線識別方面不再適用。Canny算法是提取圖像邊緣的最流行的算法之一,該算法在非極大抑制的結(jié)果中去除假邊緣保留真邊緣,同時又能讓保留的邊緣盡量連貫真實,輪廓更明顯[7-8]。本文提出的管線識別方法首先利用Canny算法進行邊緣檢測,獲得圖片中所有圖符、管道、編號的邊緣。然后根據(jù)圖符識別所獲取的圖符位置,去除圖符所占范圍內(nèi)的邊緣線,再通過去除小于直線長度低限閾值的直線,來消除圖符編號的邊緣,可獲得管道邊緣線圖。
此時的邊緣線圖中,每條管道上至少會有兩條邊緣線,而且可能會由很多條直線斷續(xù)拼接組成,需要獲取每條直線的首尾端點坐標并進行直線合并處理,使得每條管道上盡量只用一條直線代表。管線分為橫線和豎線,二者處理方法類似,下面僅介紹橫向管線識別算法。
對邊緣線圖按從左到右從上到下進行逐點掃描,設(shè)被掃描到的點為(i, j),掃描到的第k條水平橫線為lines_h[k],該數(shù)組內(nèi)為橫線首末兩個端點的坐標以及是否為一條新的橫線標志位h_flag,該標志位初始值為1,設(shè)直線長度低限閾值為e0,直線合并寬度為e1,合并后的第n條直線為lines_r[n],k和n的初始值為1。具體算法如下:
(1) 如果該點值為255且h_flag=1,則更新lines_h[k]首端點坐標,設(shè)置h_flag為0;
(2) 如果該點值為255且h_flag=0,則更新lines_h[k]尾端點坐標。如果下一個點值為0且下一個點不是該行最后一個點,則設(shè)置h_flag為1;如果首尾端點的距離大于e0,k=k+1;
(3) 重復(fù)(1-2)步,直到掃描完所有行;
(4) 設(shè)置k=1;n=1;
(5) 搜索與橫線lines_h[k]距離小于e1的近距離橫線;
(6) 設(shè)置lines_r[n]的首端點的橫坐標為lines_h[k]和其近距離橫線中的最小橫坐標值,lines_r[n]的末端點的橫坐標為lines_h[k]和其近距離橫線中最大橫坐標值,lines_r[n]的首末端點的縱坐標均為lines_h[k]和其近距離橫線的縱坐標的平均值。k=k+1,n=n+1。
(7) 重復(fù)第(5-6)步,直到合并完line_k中所有橫線。
3 編號識別
P&ID圖中每一個儀表、閥門、公用設(shè)備以及每張圖紙都有各自的編號。如果對整幅圖直接進行文字識別,正確率較低。編號識別前,首先需要進行編號定位??s小編號識別范圍,確定每個編號的位置和占用區(qū)域,有助于提高識別正確率。本文采用了以下編號定位算法:
(1) 將P&ID圖像進行灰度化預(yù)處理;
(2) 使用Sobel算子對灰度化的圖像進行邊緣檢測和二值化處理;
(3) 對二值化圖像進行腐蝕和膨脹處理;
(4) 進行輪廓查找,去除掉面積較小和較窄的矩形區(qū)域。
通過以上方法,可定位出編號以及一些圖符的區(qū)域。針對這些區(qū)域,利用基于OPENCV的OCR工具進行字符識別,其中沒有文字的圖符區(qū)域會被識別成空字符串或者亂碼,需要剔除掉空字符串和0到9以及A到Z以外的字符。另外,編號識別中出現(xiàn)數(shù)字0和字母O容易識別混淆,數(shù)字8和字母B容易識別混淆。為提高編號檢測的正確率,可根據(jù)編號規(guī)則特征做進一步的字符校正,例如某一位固定為字母,卻被識別為數(shù)字,則把該數(shù)字校正為其易混字母。
4 組態(tài)畫面生成
按照上述方法,識別出的圖符、管線和編號的位置均與P&ID源圖尺寸相同,如果組態(tài)畫面所要求的尺寸不同于P&ID圖,則需要對圖符、管線和編號的位置進行一定比例的矢量轉(zhuǎn)換,再根據(jù)組態(tài)畫面的存儲格式生成畫面靜態(tài)信息文件。
以NicSys2000系統(tǒng)為例,生成的組態(tài)畫面XML存儲文件部分內(nèi)容如下,工程人員可以在NicDraw組態(tài)軟件中加載該畫面文件。
······
······
5 實驗結(jié)果和分析
根據(jù)以上設(shè)計方法,搭建了實驗平臺,所使用的計算機處理器為Intel i5-5200U,安裝內(nèi)存為8G。通過編寫程序?qū)δ澈穗姀S的一套P&ID設(shè)計文件進行批量處理,共處理P&ID圖10張,共用時約450s,如果人工組態(tài)畫面,需用時約10個小時,大大節(jié)省了人工耗時。為驗證處理方法和效果,現(xiàn)選取其中一張P&ID圖進行說明,對其裁剪后如圖2所示。
對圖2進行灰度化處理后,進行圖符檢測和管線檢測,識別結(jié)果如圖3所示,識別出的圖符區(qū)域由黑框圈出,識別出的管線顯示為紅線,由圖3可見,所有圖符均已被識別出來,所標注的圖符區(qū)域與實際相符。所有管線也被正確識別出來,并沒有多余直線。結(jié)果表明所采用的模板匹配算法和管線檢測算法的有效性。
通過編號定位算法對P&ID的處理,獲得編號的可能存在區(qū)域,如圖4所示,所有的編號區(qū)域已經(jīng)被識別出。經(jīng)過OCR識別,獲取每個區(qū)域內(nèi)的字符串。由于該套P&ID中編號長度通常為5位、9位或10位,數(shù)字代號均為3位數(shù),字母代號均為2位或者3位,對不符合此特征的字符則進行替換或者剔除。字符校正后得到編號如圖5所示,紅色字符串為識別出的編號,39個編號均可被正確識別出。根據(jù)已識別出的圖符、管線和編號,可以很便捷的生成組態(tài)畫面靜態(tài)信息文件,便于后續(xù)工程調(diào)用。
6 結(jié)束語
本文結(jié)合圖像識別技術(shù)對DCS組態(tài)畫面的批量生成方法進行了研究,利用圖像模板匹配技術(shù)識別了P&ID圖中的各個圖符的坐標和類型,基于圖像的邊緣檢測結(jié)果,提出了管線檢測算法來獲取管線的坐標,通過圖像文字區(qū)域檢測和光學(xué)文字識別技術(shù)來識別編號位置和內(nèi)容。實驗結(jié)果表明了所提方法的有效性。該法輸入文件為P&ID的圖片格式,使用上具有較好的通用性,對于大批量的畫面組態(tài),可節(jié)省大量人工耗時,為P&ID圖到組態(tài)畫面的轉(zhuǎn)換提供了一套有效的解決方案。
參考文獻:
[1] 邱華云.DCS動態(tài)流程圖畫面的設(shè)計及組態(tài)[J].石油化工自動化, 2004 (1):48-50.
[2] 李勇, 高洋.基于模板匹配法的主動源地震檢測方法研究[J].大地測量與地球動力學(xué), 2017, 37(7):752-755.
[3] 牛乾,劉桂華,康含玉.磁粉探傷鋼軸表面裂紋智能識別方法研究[J].自動化儀表, 2018, 39(3):55-59.
[4] 裴明濤, 王永杰.基于多尺度模板匹配和部件模型的車牌字符分割方法[J].北京理工大學(xué)學(xué)報, 2014, 34(9):961-965.
[5] Erik Johansson, Tobias Pahlberg, Olle Hagman.Fast visual recognition of Scots pine boards using template matching[J].Computers and Electronics in Agriculture, 2015, 118:85-91.
[6] 張志佳, 魏信, 周自強,等.基于Kinect的典型零部件識別與定位[J].沈陽工業(yè)大學(xué)學(xué)報, 2017, 39(3):299-303.
[7] John Canny, A Computational Approach to Edge Detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1986, (8): 679-714.
[8] 雍歧衛(wèi),喻言家. 基于無人機巡線圖像的地面油氣管道識別方法[J].兵器裝備工程學(xué)報,2017, 38(4):100-104.
【通聯(lián)編輯:梁書】