本發(fā)明涉及圖像處理領域以及自動化測試領域,具體涉及一種基于機器視覺的汽車儀表自動化測試系統(tǒng)及測試方法。
背景技術:
隨著汽車工業(yè)的快速度發(fā)展,人們對汽車儀表盤的依賴程度不斷提高,汽車儀表盤已經(jīng)成為汽車的一個重要組成部件,經(jīng)歷了從數(shù)字化到智能化、網(wǎng)絡化的發(fā)展歷程。時至今日,汽車儀表盤已經(jīng)不再僅僅是顯示車速、發(fā)動機轉(zhuǎn)速、油量等基本信息,其所能顯示的信息可謂相當龐大。然而系統(tǒng)越是復雜,那么它出現(xiàn)錯誤的可能性就會越大,使得儀表測試已經(jīng)成為其投放生產(chǎn)線之前的十分重要的步驟。
但是,目前汽車儀表的測試還尚處于人工或半人工的工作狀態(tài),而且由于人力的先天缺陷,從事如此重復的工作極易出現(xiàn)錯誤,而且效率低下。因此設計合理的汽車儀表自動化測試系統(tǒng)是十分必要的。
技術實現(xiàn)要素:
本發(fā)明提供了一種基于機器視覺的汽車儀表自動化測試系統(tǒng)及測試方法,可以在無人操作的情況下連續(xù)運行數(shù)小時,自動生成測試報告及日志,從而解決了以往依靠人力測試效率低、速度慢,易出錯等問題。
為實現(xiàn)上述目的,本發(fā)明采取的技術方案為:
一種基于機器視覺的汽車儀表自動化測試系統(tǒng),包括上位機仿真端、組合儀表盤、機器視覺構(gòu)件、下位機視覺分析機;
所述上位機仿真端與HIL仿真平臺建立連接,通過HIL仿真平臺發(fā)送仿真信號來控制組合儀表盤的動作;
所述機器視覺構(gòu)件包括:暗箱、設置在暗箱內(nèi)的用于支撐組合儀表盤以及安放工業(yè)攝像機的臺架、工業(yè)攝像機、與工業(yè)攝像機連接的采集卡;
所述下位機視覺分析機接收上位機仿真端發(fā)送的控制命令,驅(qū)動所述工業(yè)攝像機對組合儀表盤的儀表盤圖像進行采集進而對采集圖像進行識別并向上位機仿真端回傳識別結(jié)果,同時保存采集的圖片結(jié)果并生成日志;所述上位機仿真端對下位機視覺分析機回傳來的識別結(jié)果進行分析,并生成識別報告。
本發(fā)明同時提供一種基于機器視覺的汽車儀表自動化測試系統(tǒng)的測試方法,包括如下步驟:
S1、上位機仿真端將識別命令發(fā)送給下位機視覺分析機;同時上位機仿真端將仿真的信號發(fā)送給HIL仿真平臺,使儀表盤顯示所需識別數(shù)據(jù);
S2、下位機視覺分析機在收到上位機仿真端所發(fā)出的指令后,驅(qū)動工業(yè)攝像機開始對組合儀表盤進行圖像采集;
S3、圖像采集完成后,對圖像進行預處理,由下位機視覺分析機進行采集結(jié)果的識別和分析,將識別結(jié)果回傳上位機仿真端,同時在下位機視覺分析機保存采集的圖片結(jié)果并生成日志;
S4、上位機仿真端分析下位機視覺分析機回傳的識別結(jié)果,并生成識別報告。
進一步地,所述步驟S3中對圖像進行預處理的方法為:首先利用高斯濾波去除圖像噪聲部分,灰度化后運用禮帽變換分離比鄰近點的斑塊,去除部分噪點;使用OTSU算法對所得的圖像進去閾值分割,方便圖像二值化;采用四連通的種子填充算法,對二值圖像中的大面積噪聲區(qū)域填充。
進一步地,所述步驟S3中下位機視覺分析機對組合儀表盤的圖像采集結(jié)果的識別包括圖標識別、指針讀數(shù)識別和字符識別。
進一步地,所述圖標識別包括以下步驟:
S11、首先建立訓練樣本數(shù)據(jù)庫,針對各個圖標,抓取它在各種情況下的圖像并保存;
S12、預處理后,分別采用SIFT算法和主成分分析算法提取各個樣本的特征值,并存入數(shù)據(jù)庫;
S13、對于測試時攝像機抓取的任意圖標樣本圖像,同樣經(jīng)歷圖像預處理以及特征提取的處理過程;
S14、圖標識別:首先根據(jù)圖像的PCA特征進行匹配,計算測試樣本與各個訓練樣本特征值的歐式距離,選取距離值最小的作為最佳匹配目標,如果匹配效果不理想,則采用SIFT特征進行匹配,將特征向量的歐式距離作為兩幅圖像中的特征點相似性判定度量。
進一步地,所述指針讀數(shù)識別包括以下步驟:對于組合儀表盤中的指針圖像首先進行預處理,然后利用骨架提取算法將圖像中的指針細化,使其從矩形細化為線形;利用霍夫變換的方法對該直線進行識別后,根據(jù)直線所處的角度計算其讀數(shù)。
進一步地,所述字符識別包括如下步驟:
S21、選擇字符圖像,截取大量的文字圖像素材,以此作為字庫中的標準數(shù)據(jù);
S22、經(jīng)過圖像預處理后,利用Tesseract OCR引擎對其進行訓練,對于識別效果不理想的文字圖像手動建立其文字識別庫;
S23、將所有的訓練圖片特征信息合并,并手工調(diào)整文字大小,核對文字精度,從而建立針對儀表盤的文字識別庫traineddata;測試過程中所抓取的文字圖像,經(jīng)過相同的處理;
S24、運用Tesseract OCR引擎匹配到文字識別庫中的標準數(shù)據(jù),完成字符識別。
本發(fā)明具有以下有益效果:
測試人員不必在從事如此重復的、枯燥的測試工作,只需啟動系統(tǒng)測試和查驗測試報告。從而極大的提高了測試效率、節(jié)省了人力成本、降低了開發(fā)成本、縮短了開發(fā)周期、提高了發(fā)現(xiàn)錯誤的幾率。
附圖說明
圖1為本發(fā)明實施例一種汽車儀表自動化測試系統(tǒng)的結(jié)構(gòu)圖。
圖2為本發(fā)明實施例圖像預處理方法。
圖3為本發(fā)明實施例儀表盤中圖標識別方法。
圖4為本發(fā)明實施例儀表盤中指針讀數(shù)的識別方法。
圖5為本發(fā)明實施例儀表盤中字符識別方法。
具體實施方式
為了使本發(fā)明的目的及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
如圖1所示,本實施例提供了一種基于機器視覺的汽車儀表自動化測試系統(tǒng),包括上位機仿真端、組合儀表盤、機器視覺構(gòu)件、下位機視覺分析機;
所述上位機仿真端與HIL仿真平臺建立連接,通過HIL仿真平臺發(fā)送仿真CAN信號來控制組合儀表盤的動作;
所述機器視覺構(gòu)件包括:
暗箱,用于為儀表盤圖像采集提供密閉穩(wěn)定的環(huán)境,避免外部光線造成補光不均勻及陰影的影響;其材質(zhì)具有不透光且內(nèi)壁不形成反射的特性。
臺架,設置在暗箱內(nèi),用于支撐組合儀表盤以及安放工業(yè)攝像機;
工業(yè)攝像機,采用維視的工業(yè)相機MV-VS078FC,最高分辨率可達1024*768,幀速率為30fps,幀曝光工作方式;
采集卡,采用MV1394E采集卡,通過1394線與攝像機連接,理論帶寬400M/S;
所述下位機視覺分析機接收上位機仿真端發(fā)送的控制命令,驅(qū)動工業(yè)攝像機對組合儀表盤的儀表盤圖像進行采集進而對采集圖像進行識別并向上位機仿真端回傳識別結(jié)果,同時在下位機視覺分析機保存采集的圖片結(jié)果并生成日志,以便識別人員對結(jié)果進行查驗;所述上位機仿真端對下位機視覺分析機回傳來的識別結(jié)果進行分析,并生成識別報告。
所述的上位機仿真端采用WIN7 64位中文操作系統(tǒng),8G以上內(nèi)存。通過向HIL仿真平臺和下位機發(fā)送命令控制整個系統(tǒng)的工作流程。
所述的下位機視覺分析機采用WIN7 64位中文操作系統(tǒng),8G以上內(nèi)存,主板提供PCI插槽、PCIE插槽,同時配有OPENCV計算視覺庫以及SQLite數(shù)據(jù)庫,通過運用各種圖像處理算法,對儀表盤采集圖像進行識別。
其中,所述的HIL仿真平臺,由實時處理器、IO板卡、機柜、試驗管理軟件等組成的,以實時處理器運行仿真模型來模擬受控對象的運行狀態(tài),通過IO板卡與被測的控制器連接,通過試驗管理軟件進行控制,來對被測控制器進行全方面的、系統(tǒng)的測試,擁有方便易用的實現(xiàn)代碼生成/下載和試驗/調(diào)試的軟件環(huán)境,用于向組合儀表盤發(fā)送仿真信號,驅(qū)動組合儀表盤工作。
如圖1所示,本發(fā)明實施例還提供了一種基于機器視覺的汽車儀表自動化測試方法,包括如下步驟:
S1、上位機仿真端將識別命令發(fā)送給下位機視覺分析機;同時上位機仿真端將仿真的信號發(fā)送給HIL仿真平臺,使組合儀表盤顯示所需識別數(shù)據(jù);
S2、下位機視覺分析機在收到上位機仿真端所發(fā)出的指令后,驅(qū)動工業(yè)攝像機開始對組合儀表盤進行圖像采集;
S3、圖像采集完成后,對圖像進行預處理,由下位機視覺分析機進行采集結(jié)果的識別和分析,將識別結(jié)果回傳上位機仿真端,同時在下位機視覺分析機保存采集的圖片結(jié)果并生成日志,以便識別人員對結(jié)果進行查驗;
S4、上位機仿真端分析下位機視覺分析機回傳的識別結(jié)果,并生成識別報告。
如圖2所示,所述圖像預處理的方法為:
首先利用高斯濾波去除圖像噪聲部分,灰度化后運用禮帽變換分離比鄰近點亮一些的斑塊,從而去除部分噪點;使用OTSU算法對所得的圖像進去閾值分割,從而方便圖像二值化;采用四連通的種子填充算法,對二值圖像中的由于反光等原因造成的大面積噪聲區(qū)域填充。
所述的下位機視覺分析機對組合儀表盤的圖像采集結(jié)果的識別包括圖標識別、指針讀數(shù)識別和字符識別。
如圖3所示,所述的圖標識別包括以下步驟:
S11、對儀表盤中的圖標識別首先要建立訓練樣本數(shù)據(jù)庫,針對各個圖標,抓取它在各種情況下的圖像并保存;
S12、預處理后,分別采用SIFT算法和主成分分析(PCA)算法提取各個樣本的特征值,并存入數(shù)據(jù)庫;
S13、對于測試時攝像機抓取的任意圖標樣本圖像,同樣經(jīng)歷圖像預處理以及特征提取的處理過程;
S14、圖標識別,首先根據(jù)圖像的PCA特征進行匹配,計算測試樣本與各個訓練樣本特征值的歐式距離,選取距離值最小的作為最佳匹配目標,如果匹配效果不理想,則采用SIFT特征進行匹配,將特征向量的歐式距離作為兩幅圖像中的特征點相似性判定度量。
如圖4所示,所述的指針讀數(shù)識別包括以下步驟:對于儀表盤中的指針圖像首先進行預處理,然后利用骨架提取算法將圖像中的指針細化,使其從矩形細化為線形;利用霍夫變換的方法對該直線進行識別后,根據(jù)直線所處的角度計算其讀數(shù)。
如圖5所示,所述字符識別包括如下步驟:
S21、選擇字符圖像,截取大量的文字圖像素材,以此作為字庫中的標準數(shù)據(jù);
S22、經(jīng)過圖像預處理后,利用Tesseract OCR引擎對其進行訓練,對于識別效果不理想的文字圖像手動建立其文字識別庫;
S23、將所有的訓練圖片特征信息合并,并手工調(diào)整文字大小,核對文字精度,從而建立針對儀表盤的文字識別庫traineddata。測試過程中所抓取的文字圖像,經(jīng)過相同的處理,
S24、運用Tesseract OCR引擎匹配到文字識別庫中的標準數(shù)據(jù),完成字符識別。
本實施采用SQLite輕量級嵌入式數(shù)據(jù)庫存儲數(shù)據(jù)。數(shù)據(jù)庫中存儲了圖標樣本、特征值、圖標描述、圖標位置等關鍵信息。同時可以十分方便的對數(shù)據(jù)庫中的信息進行新增、修改、刪除、查找等操作。
綜上所述,本具體實施測試人員不必在從事如此重復的、枯燥的測試工作,只需啟動系統(tǒng)測試和查驗測試報告。從而極大的提高了測試效率、節(jié)省了人力成本、降低了開發(fā)成本、縮短了開發(fā)周期、提高了發(fā)現(xiàn)錯誤的幾率
以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。