?

視覺檢測系統在汽車儀表自動化測試方面的應用

2018-06-14 07:15
軟件 2018年5期
關鍵詞:模式匹配儀表盤指示燈

李 沫

(德爾福中央電氣(上海)有限公司,上海 201814)

0 引言

隨著科技的發展,儀表盤功能功能激增。顯示屏不斷變大,傳統的依靠人眼觀察做檢測的方式越來越困難,人工檢測的誤差率不斷增加。儀表功能的復雜化,意味著需要檢測的內容越來越多,檢測內容增加,投入更多的人員、測試時間也越多。為了在項目的開發周期內盡可能多的發現問題,以幫助項目開發者完善產品,同時公司也可以更好的滿足客戶對產品的需求,提供質量可靠的產品,如期交付。這就需要我們改善原有的測試方法,使用自動化測試作為有效的補充,對于儀表盤來說,需要檢測的顯示類信息比較多,通過機器視覺自動檢測[1-3],可以大大縮短測試用例的執行時間,并且能穩定的提高測試用例執行的準確性,很好的避免了視覺疲勞、判斷失誤等人為因素。而且可以節約人員成本。提高公司儀表產品的競爭力。

1 機器視覺系統介紹

1.1 機器視覺系統

系統主要有以下幾個主要部分組成:工業攝像頭(包括圖像采集卡)、安裝自動化測試腳本的工作電腦、用來模擬外部信號(如電阻值、PWM波形)的信號發生設備、直流電源、用于與儀表盤通信的CAN總線通信模塊及用于固定儀表盤和攝像頭的測試臺。

DITS使用NI LabVIEW及其機器視覺工具包開發完成。LabVIEW是美國國家儀器公司發明的一種圖形化的編程語言,相較于傳統的基于文本(如C++)的編程方式,這種編程方式并不需要進行底層的開發,可以快速上手,具有拖拽圖標、連線等很多功能。同時還提供了非常豐富的函數庫及大量工具包,是目前測試行業中用的比較廣泛的開發工具,機器視覺工具包就是其中的一個,工具包提供了很多高級的應用。選擇合適的算法,可以大大的縮短開發周期。

圖1 機器視覺系統Fig.1 V ision system

1.2 工業攝像頭

攝像頭是機器視覺系統中最重要的部件,選擇一款合適的攝像頭是非常關鍵的。拍攝出的圖像的質量直接影響到圖像處理過程和測試結論。攝像頭的主要參數包括分辨率,幀速率,景深等。分辨率是攝像頭的一個非常重要的性能參數之一,是指攝像頭能識別的被測對象的最小特征,一個直觀的感受是分辨率越高,拍攝的照片越清晰,放大同等比例,細節表現更精細。也就是要求多個像素點來表現被測對象的最小特征。這也很好理解,比如,應該顯示字母“l”的時候,卻錯誤的顯示了字母“i”,由于攝像頭分辨率太低,無法表現字母“i”的中間的空白。就有可能出現錯誤的判斷。幀速率指的是每秒鐘可拍攝的圖像的幀數,也可以理解為圖形處理器每秒鐘能夠刷新次數。捕捉動態視頻內容時,此數字愈高愈好,因為我們的系統需要用攝像頭來檢測各種報警燈的閃爍頻率。一個鏡頭的景深,是指它能夠保持對不同高度的物體或是離攝像頭不同距離的物體的對焦能力,也就是當被測對像在視場內有不同高度時需要考慮這個參數,儀表平放到夾具內,因造型方面設計,會出現拍攝物處在高低不同的位置。另外由于我們的儀表盤指示燈有不同的顏色,這就需要一臺彩色攝像頭。綜合以上考慮,最終我們選擇的是巴斯勒(Basler)的彩色攝像頭AcA2000-340kc,它具有2046x1086的分辨率,340幀每秒的幀速率。

2 測試過程介紹

根據測試內容的不同特征,我們的系統提供不同的測試方法,對于儀表上眾多指示燈的亮滅,如低油量報警燈,制動報警燈,安全帶報警燈等,這些指示燈對軟件系統來說實際是一組不同的圖案,可以選擇圖片匹配來測試;在儀表盤上面中間的液晶顯示屏,用于向用戶顯示文字,可以選擇光學字符識別(OCR,Optical Character Recognition)的方法來識別顯示的文字內容,把識別出來的文字與預先設置的期望結果比對,得出測試結論;在儀表盤上還有一些燈是閃爍的,這種測試內容需要開發者設計測試方法;儀表盤還有幾個重要的部分──速度表、轉速表等,需要測其指針指示值,這種測試內容也需要開發者設計考慮的。

2.1 模式匹配和光學字符識別

模式匹配可以在圖像中快速地定位與某一已知參考圖案匹配的區域,如果區域已經確定,則可以根據相似度來判斷該區域就是所找區域,參考圖案通常也稱為模板。因此模板需要在使用模式匹配算法之前創建,以供機器視覺應用系統在拍攝的每幅圖像中搜索這一模板,并且計算出相應的匹配分數。以安全帶報警燈為例來說明模式匹配的測試過程:在測試之前,首先拍攝一張質量較好的圖像,運用圖像處理中的創建模板的算法,從所拍攝的圖像中將安全帶報警燈截取出來并保存,這個所截取的圖案就是模板,是以后測試的標準。測試時,測試執行軟件發送信號點亮報警燈,攝像頭拍攝當前時刻的圖像并傳給測試執行軟件,測試執行軟件調用模式匹配算法,在照片內查找模板,最后返回一個查找結果,結果包括找到相同圖案的個數、相似度分數、位置信息等。據此你可以得出測試結果。如果相似度分數沒有達到你所期望的分數(如80%),那測試結果即為失敗。為了測試精度和目的性,我們可以限定一個目的測試區域,在該區域應用模式匹配算法,這樣就無需考慮區域外的內容了。為了優化測試,測試前準備工作還包括在安全報警燈周圍畫出感興趣區域(ROI Region of Interesting,您可以認為限定在這個區域內作運算。),一般這個區域要等于或大于模板的大小 ,測試時就這個區域內查找。這將會找到一個匹配的圖案及相似度分數。

運用模式匹配的方法,需要注意的是,您所做的模板的面積不應太大,因為算法給出的結果是一個分數,當模板面積太大時,丟失一些特征信息得分也可能高過期望值。產生測試誤差。圖2的中的三個紅色方框表示模式匹配后的結果。

圖2 模式匹配結果Fig.2 Pattern matching results

另外一種特殊的模式匹配的將圖像中的文字轉換成文本格式,這個過程被稱為光學字符識別(OCR,Optical Character Recognition)。像模式匹配一樣,在運行算法前也需要對圖像上的每個字符做一個模板,再指定模板對應哪個文本字符,這個過程稱為訓練(Training)。不同的是需要對每個圖像字符做模板,而這一系列模板存在一個文件里,稱為字符庫。

其實這種技術很常見,比如將掃描文檔(如PDF文件)轉換成可以編輯的文檔。平常使用文檔格式轉換軟件時不需要訓練,是因為這個工作在發布軟件之前開發者就做完了。今天,雖然光學字符識別技術已經被廣泛使用,但是該項技術并不是沒有一點問題。還是會有錯誤的,主要存在于從圖像到數字化文字的轉換過程。例如,相似的字符有時無法彼此區分開,手寫的掃描件也無法識別。在處理打印的文檔(如Word 轉換成PDF文檔)時,可以得到超過99%的準確度。對于我們的系統來說,首先要做一個字符庫,通過人工的訓練儀表盤上所有顯示字符,并生成一個字符庫。字符庫完成之后就可以進行測試了。當需要識別儀表盤顯示文字內容時,畫定感興趣區域,運用光學字符識別方法,根據字符庫轉換成相應的文本字符串。結果如圖3所示。

圖3 光學字符識別后結果Fig.3 Optical character recognition results

2.2 指示燈閃爍的處理

儀表盤上按指示燈是有閃爍狀態的,我們可以發送CAN命令讓指示燈進入閃爍狀態,攝像頭拍攝一系列的圖像,當然幀速率大于指示燈閃爍的頻率。根據上面的模式匹配方法找出第一次被點亮的指示燈最后圖像幀。然后再找出第二被點亮的指示燈最后圖像幀。計算兩幀圖像之間的指示燈滅狀態的圖像張數,而幀速率又是已知的,就可以知道兩幀之間的時間,為了提高精度,計算多組間隔時間,取平均值,就可以計算出指示燈的大約閃爍頻率。

2.3 速度檢測

相對于前面提到的檢測方法,速度檢測需要經過比較復雜圖像處理[4-6]。但原理還算好理解,就是先找出速度表指針各個時刻的位置,運用幾何學的方法,算出指針轉過的角度,再換算成對應的速度值。一般軟件開發組有這個算法,即使沒有,也可以通過人為標定,多大角度對應多大速度。

但是應用圖像處理的方法就比較復雜了。機器視覺開發包為我們提供了很多高級的應用,我們只需選擇恰當的方法即可。測試過程是當儀表收到速度信號后,速度表指針移動,同時攝像頭拍攝當前速度表圖像,圖像被傳送到測試控制軟件進行處理。先在圖像上的速度表頭內部畫出來一個環形感興趣區域,可以觀察到指針邊沿與感興趣區域有交點,調用邊沿檢測方法找出指針的一個邊沿,然后反方向找出指針的另一個邊沿,這樣就找出了指針的兩個邊沿,然后再運用查找中間線的方法找出兩個邊沿的中間線。這條中間線即為指針的中線,可以用來代表指針。找出這條中間線是速度檢測最重要的一步,然后就可以應用幾何的方法算出兩條線的夾角。具體過程是先讓指針轉到你所期望的零點位置(0 km),找出中間線,然后讓指針轉動一個角度(比如30 km),找出此時的中間線[7-10],計算出兩條中間線的夾角,然后計算出速度,判斷是否為30 km。

圖4 速度檢測Fig.4 S peed detection

3 結論

應用機器視覺原理測試儀表盤,避免了人工目測判斷的主觀因素影響,改善了精度和效率。自從2011年的大眾收音機項目第一次實施機器視覺自動化測試開始,經過不斷的改進檢測方法,增加新的檢測方法,我們已經將機器視覺測試應用到了汽車收音機與汽車儀表的多個項目當中去了。為項目節約了成本,提高了測試效率與測試質量。公司還采購了機械手臂,希望以后能與機械手臂相結合,開發更加自動化的系統。

[1] 周曉東, 李亞杰, 岳曉峰, 等。汽車儀表指針識別方法研究[J]. 長春工業大學學報·自然科學版, 2010(1): 32-36.

[2] 趙書濤, 李寶樹, 賈秀芳, 等. 基于計算機視覺的電則儀表自動化識別方法的研究[J]. 儀器儀表學報, 2004(51):606-607.

[3] 李素萍. 其于圖像處理的數學儀表識別技術[J]. 機電一體化, 2013(6): 15-17.

[4] 賀平. 軟件測試技術. 北京: 機械工業出版社. 2004: 239- 242.[5] 凌永發. 軟件測試自動化中的腳本技術. 云南民族學院學報. 2002, 11(1): 544-548.

[6] 吳立竹. 軟件測試的自動化. 吉林工程技術師范學院學報,2005, 21(12): 12-13.

[7] 孫志恒. 運用面向對象的方法分析軟件測試管理流程. 北京機械工業學院學報, 2002, 16(12): 15-25.

[8] 段念. 軟件性能測試過程詳解. 北京: 清華大學出版社.2006: 78-80.

[9] 金義富. 基于可視化編程環境的軟件測試. 華南理工大學學報. 2002, 10(7): 35-47.

[10] 朱鴻, 金陵紫. 軟件質量保證與測試. 北京: 科學出版社,1997: 7-85.

猜你喜歡
模式匹配儀表盤指示燈
儀表堂堂
Dashboard的10個實現原則
基于模式匹配的計算機網絡入侵防御系統
具有間隙約束的模式匹配的研究進展
OIP-IOS運作與定價模式匹配的因素、機理、機制問題
福特探險者車儀表盤上多個故障燈點亮
基于散列函數的模式匹配算法
美國邦納 工業智能指示燈
2013年波羅車充電指示燈異常點亮
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合