伍開宇, 朱海清, 沈曉東, 沈 偉, 方 明
(1. 江南大學(xué)機(jī)械工程學(xué)院, 江蘇無錫214122; 2. 嘉興市計量檢定測試院, 浙江嘉興314001)
指針式壓力表由于結(jié)構(gòu)簡單、抗干擾能力強(qiáng),在眾多行業(yè)得到廣泛應(yīng)用, 為了保證其測量精度穩(wěn)定可靠, 需進(jìn)行定期檢驗(檢定)。傳統(tǒng)的手工操作,目視讀表的指針壓力表檢定方法不僅效率低,檢定精度及可靠性易受主觀因素影響, 且存在檢定數(shù)據(jù)無法自動記錄,也無法進(jìn)行核驗與追溯等問題[1,2], 已經(jīng)越來越難以適應(yīng)計量檢定行業(yè)的發(fā)展需求。隨著人工智能技術(shù)的快速發(fā)展, 機(jī)器視覺技術(shù)逐漸發(fā)展成為了現(xiàn)代工業(yè)測量中的重要方法[3~7],采用圖像識別技術(shù)替代人工來自動讀取指針式壓力表的示值已經(jīng)成為共識, 且已經(jīng)取得了相當(dāng)多的研究成果[8~15]。但目前采用機(jī)器視覺技術(shù)的指針式壓力表自動檢定設(shè)備目前還處于初級階段,設(shè)備多為雙工位設(shè)計, 最多同時檢定2塊壓力表, 工作效率沒有得到顯著提升, 且價格昂貴, 迄今仍未能得到市場的廣泛認(rèn)可[11,15]。
本文通過優(yōu)化算法、提高圖像解析過程的速度與適應(yīng)能力, 結(jié)合計算機(jī)自動控制與信息化技術(shù), 設(shè)計了一套基于機(jī)器視覺的指針壓力表智能檢定系統(tǒng)(以下簡稱:系統(tǒng)), 實現(xiàn)了用單臺普通64位PC算力對多表(2~10塊)進(jìn)行自動檢定, 并能對檢定數(shù)據(jù)進(jìn)行方便快捷的監(jiān)測與復(fù)核, 從而使指針式壓力表檢定的工作效率與規(guī)范性得到了提升。
系統(tǒng)硬件搭配:海康威視MV-CE060-10UC工業(yè)相機(jī)加MVL-HF0824M-10MP鏡頭作為視覺傳感器, 每個被檢表與標(biāo)準(zhǔn)表前各安裝1個; 西門子S7-1200 PLC,由1214C-DC CPU模塊、CM1241-232通訊模塊與SM1231模擬量輸入模塊組成, 與所需的低壓電器等組成計算機(jī)自動控制模塊(簡稱:自控模塊), 通過RS232串口與上位機(jī)通訊進(jìn)行數(shù)據(jù)交互; 0.05%精度數(shù)顯壓力表作為系統(tǒng)標(biāo)準(zhǔn)器, RS485壓力信號輸出接入自控模塊作為控制信號; 系統(tǒng)壓力源采用2.5 MPa外接氣源, 如伺服控制的氣缸或油缸提供中低壓到高壓的壓力源, 由電磁閥控制氣體介質(zhì)通、斷; 氣缸與伺服電機(jī)組成的伺服控制模塊控制介質(zhì)壓力精確地升、降到各檢定點(diǎn)壓力并滿足保壓要求; 上位機(jī)CPU為i7-10700頻率2.9 GHz, 內(nèi)存8 GB; 光源系統(tǒng)用來穩(wěn)定光照環(huán)境,保證圖像采集質(zhì)量。
圖1 系統(tǒng)原理圖Fig.1 System schematic diagram
系統(tǒng)原理如圖1所示。系統(tǒng)C-S模式的上位機(jī)軟件采用C#語言編寫; 圖像識別算法采用C++編程, 調(diào)用OpenCV庫函數(shù), 實現(xiàn)對圖像的處理與解析, 并將其封裝成動態(tài)鏈接庫嵌入上位機(jī)軟件; 軟件后臺連接MYSQL數(shù)據(jù)庫實現(xiàn)檢定數(shù)據(jù)的存儲與查詢。軟件用于檢定任務(wù)管理、人機(jī)交互、圖像處理與檢定過程的自動控制。
2.2.1 圖像處理與指針識別
對圖像進(jìn)行預(yù)處理以抑制噪聲,并保留指針及刻度邊緣特征。采用中值濾波器對圖像進(jìn)行濾波處理,用一個預(yù)定義的像素領(lǐng)域中的灰度中值來替代該像素點(diǎn)的值, 以降低圖像中椒鹽噪聲數(shù)量, 即:
(1)
如圖2(a)所示, 由于檢定過程中壓力表圖像只有指針旋轉(zhuǎn)這一個動態(tài)特征, 故采用幀差法對2個不同檢定點(diǎn)圖像進(jìn)行異或運(yùn)算提取出指針區(qū)域:
I(x,y)=f1(x,y)-f2(x,y)
(2)
式中:f1(x,y),f2(x,y)分別為圖像f1、f2在(x,y)處的像素值;I(x,y)為圖像I在(x,y)處的像素值。
圖2 指針特征圖像Fig.2 Pointer feature image
P2(k)(m2(k)-mG)2
(3)
式中:P1(k)、P2(k)分別為像素在區(qū)間[0,k]與 [k+1,255]的概率;m1(k)、m2(k)分別為區(qū)間[0,k]與[k+1,255]間像素的平均灰度值;mG為圖像的平均灰度。其中:
(4)
(5)
mG=P1(k)m1(k)+P2(k)m2(k)
(6)
將P1(k)、P2(k)與mG代入式(3),可得到最大類間方差計算公式:
(7)
(8)
對于指針邊界存在噪聲干擾或者因其他目標(biāo)遮蓋而引起指針圖像發(fā)生間斷問題, 可采用累計概率霍夫變換把圖像空間中的檢測問題轉(zhuǎn)換到參數(shù)空間的方法, 并在進(jìn)行直線檢測前先對指針做細(xì)化處理提取出指針骨架如圖3(a)所示, 這樣不僅可得到較好的容錯性和魯棒性, 而且能大幅度地縮短運(yùn)行時間。最終, 得到圖3(b)所示的2條不同位置的指針擬合直線與圓心。
圖3 指針檢測Fig.3 Pointer feature image
2.2.2 刻度線識別與示值讀取
首先, 通過查找刻度線輪廓分割刻度線對象[17]獲取刻度線輪廓點(diǎn)集的最小外接矩形如圖4所示, 并將最小外接矩形的中心{Pi[xi,yi]}作為刻度線的質(zhì)心,其中i=1,2,…,n,n為刻度線數(shù)量。
圖4 刻度識別Fig.4 Scale identification image
然后, 以指針旋轉(zhuǎn)中心O[xO,yO]為極點(diǎn), 圖像坐標(biāo)系縱軸正方向為極軸方向, 角度取順時針方向為正, 建立極坐標(biāo)系, 并將刻度線質(zhì)心位置與指針位置從圖像坐標(biāo)系轉(zhuǎn)換為極坐標(biāo)。{Pi[xi,yi]}轉(zhuǎn)換為{Pi[ρi,θi]}; 指針擬合直線方程y=kx+b轉(zhuǎn)換為ρ=x·cosφ+y·sinφ。
當(dāng)指針處于第i與i+1刻度線之間時, 可由式(9)計算出讀數(shù)r。
(9)
式中:m為表的量程;φ為指針擬合直線與極軸夾角角度;θi、θi+1分別為指針相鄰2刻度線質(zhì)心與指針旋轉(zhuǎn)中心的連線和極軸夾角角度。
本文提出的讀數(shù)方法相較傳統(tǒng)可以降低壓力表零位縮格以及刻度線非線性分布所產(chǎn)生的累計誤差。
系統(tǒng)采用帶RS485壓力信號輸出、精度為0.05%的數(shù)顯壓力表作為控制信號源, 用西門子S7-1200 PLC搭建的控制模塊,C#編寫的上位機(jī)程序與MYSQL數(shù)據(jù)庫搭建的控制與任務(wù)管理系統(tǒng)來實現(xiàn)對全過程的自動控制, 圖5所示為檢定過程流程圖。
圖5 系統(tǒng)控制流程圖Fig.5 System control flow chart
系統(tǒng)采用伺服系統(tǒng)對校驗介質(zhì)壓力進(jìn)行精確控制, 使升壓、保壓、降壓過程完全執(zhí)行壓力表計量檢定規(guī)程中的規(guī)定。2個相鄰檢定點(diǎn)之間的升壓(卸壓)時間間隔控制在20~30 s; 壓力到達(dá)各個檢定點(diǎn)時進(jìn)行3~4 s保壓, 以完成被檢表與數(shù)顯標(biāo)準(zhǔn)表的圖像采集、輕敲動作操作, 壓力達(dá)到最大量程時保壓3 min, 進(jìn)行耐壓檢定, 保壓時的壓力精度可達(dá)0.05%。
檢定過程及檢定完成后, 由于數(shù)顯標(biāo)準(zhǔn)表與被檢表在各個檢定點(diǎn)(含輕敲)的圖像被同步采集并保存在指定位置, 通過上位機(jī)程序可隨時將圖像與檢定數(shù)據(jù)進(jìn)行比對。
檢定過程中, 在程序檢定界面, 雙擊檢定數(shù)據(jù)所在的單元格, 對應(yīng)的被檢表圖像將彈出, 檢定數(shù)據(jù)是否準(zhǔn)確可快速得到確認(rèn)。檢定結(jié)束后, 檢驗員提交審核以及后續(xù)對檢定證書進(jìn)行審核審批時, 同樣可快捷地對檢定數(shù)據(jù)的可靠性(精度)進(jìn)行復(fù)核。在程序歷史任務(wù)查詢界面, 選擇需要審核的檢定任務(wù), 界面列表中顯示該表在各檢定點(diǎn)的測試數(shù)據(jù); 雙擊某個數(shù)據(jù)所在的單元格, 被檢表在該檢定點(diǎn)的實時照片就將彈出, 檢定數(shù)據(jù)是否準(zhǔn)確就有了可復(fù)核的原始憑證。
本文基于VS 2019和OpenCV庫為開發(fā)平臺對圖像處理算法進(jìn)行了開發(fā), 系統(tǒng)硬件環(huán)境為i7-10700@2.9 GHz CPU, 8 GB運(yùn)行內(nèi)存; 測試對象為0.4級2.5 MPa精密壓力表、1.6級2.5 MPa一般壓力表。
圖6所示為圖像解析結(jié)果的實例, 紅色線條為圖像解析得到的刻度線、黃點(diǎn)為指針旋轉(zhuǎn)中心、綠色線條為擬合指針線??梢钥闯?通過本文算法能夠獲得理想的擬合結(jié)果, 這從直觀上說明了本文算法對于壓力表指針檢測、指針旋心擬合與刻度線識別的有效性。
圖6 特征識別結(jié)果Fig.6 Feature recognition result
在相同的測試條件下進(jìn)行本系統(tǒng)算法,已成熟的基于Hough圓檢測及Hough直線檢測的指針式儀表讀數(shù)方法[18]與人工目視檢定的對比實驗, 重復(fù)多次檢定流程, 分別記錄其圖像處理耗時、檢定速度與檢定數(shù)據(jù)。系統(tǒng)讀數(shù)識別圖像處理每幀平均耗時為467 ms, Hough圓檢測法平均耗時為1 232 ms/幀; 系統(tǒng)最高檢定速度可達(dá)40塊/h, 人工檢定速度為12塊/h。
2.5 MPa精密壓力表檢定數(shù)據(jù)如表1所示,以人工讀數(shù)結(jié)果為參照, 在不同檢定點(diǎn)處, Hough檢測法絕對誤差δH分布范圍為±0.003 MPa之間, 相對誤差為0.12%, 系統(tǒng)讀數(shù)絕對誤差δs集中分布在±0.002 MPa以內(nèi), 讀數(shù)識別相對誤差為0.08%。
對于2.5 MPa一般壓力表, 檢定數(shù)據(jù)如表2所示, Hough檢測法絕對誤差分布范圍為±0.009 MPa之間, 相對誤差為0.36%, 系統(tǒng)讀數(shù)絕對誤差集中分布在±0.005 MPa以內(nèi), 相對誤差為0.2%。
本文讀數(shù)識別算法相較Hough檢測法, 圖像解析速度提升62.1%, 且誤差分布范圍更小, 讀數(shù)精度提升33.3%。對于精密壓力表讀數(shù)誤差小于最小分度值的1/10, 對于一般壓力表讀數(shù)誤差小于最小分度值的1/5, 因此系統(tǒng)滿足壓力表計量檢定要求。
本文利用自控模塊實現(xiàn)對檢定過程中壓力升降的自動控制; 到達(dá)檢定點(diǎn)時并利用工業(yè)相機(jī)自動采集被檢壓力表表盤圖像, 結(jié)合一系列算法對圖像進(jìn)行濾波、二值分割、指針檢測、指針旋心擬合與刻度線識別, 實現(xiàn)對壓力表指針示值的自動讀取。
表12.5 MPa精密壓力表檢定結(jié)果Tab.1 Verification results of 2.5 MPa precision pressure gauge MPa
表22.5 MPa一般壓力表檢定結(jié)果Tab.2 Verification results of 2.5 MPa general pressure gauge MPa
1) 系統(tǒng)可同時完成10塊檢定點(diǎn)相同壓力表的計量檢定, 且檢定過程完全自動化;最高檢定速度可達(dá)40塊/h, 工作效率較傳統(tǒng)的人工檢定方法提高2倍以上。
2) 檢定數(shù)據(jù)能實現(xiàn)快速的追溯與復(fù)核, 改變傳統(tǒng)的檢定方法靠檢驗員目視讀表、檢定數(shù)據(jù)無法自動記錄與難以追溯的問題; 同時, 也使得質(zhì)檢、計量等相關(guān)機(jī)構(gòu)能快速對該系統(tǒng)的可靠性作出評價。
3) 提出基于機(jī)器視覺的指針式壓力表讀數(shù)識別方法,圖像解析速度為每幀平均耗時467 ms, 對于精密壓力表與一般壓力表讀數(shù)精度分別為0.08%和0.2%,精度滿足壓力表計量檢定規(guī)程要求。本文方法相較Hough檢測法圖像解析速度提升62.1%, 讀數(shù)精度提升33.3%, 并可推廣應(yīng)用至指針式真空表、真空壓力表等圓盤指針式儀表的讀數(shù)識別。