《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > MEMS|傳感技術(shù) > 設(shè)計(jì)應(yīng)用 > 高速視覺在線檢測(cè)系統(tǒng)的軟件抗干擾方法
高速視覺在線檢測(cè)系統(tǒng)的軟件抗干擾方法
2016年電子技術(shù)應(yīng)用第9期
苑瑋琦1,魏智鵬1,李德健1,鄭大偉2,張俊朋1
1.沈陽工業(yè)大學(xué) 信息科學(xué)與工程學(xué)院,遼寧 沈陽110870;2.福州大學(xué) 物理與信息工程學(xué)院,福建 福州350108
摘要: 機(jī)器視覺在線檢測(cè)是建立在計(jì)算機(jī)視覺和圖像處理基礎(chǔ)上的一門新興的檢測(cè)技術(shù),它通過攝像機(jī)采集到被測(cè)目標(biāo)的圖像,再通過圖像處理技術(shù)獲得被測(cè)對(duì)象的一些可描述參數(shù),并對(duì)參數(shù)進(jìn)行解析和判斷,最終應(yīng)用于實(shí)際檢測(cè)、測(cè)量和控制,具有非接觸、測(cè)量精度高、適用范圍廣和自動(dòng)化程度高的特點(diǎn)。針對(duì)現(xiàn)有的多攝像機(jī)多線程高速視覺在線檢測(cè)的場(chǎng)合所遇到的由系統(tǒng)本身、負(fù)載差異和用戶操作所帶來干擾問題,提出了一種高速視覺在線檢測(cè)系統(tǒng)的軟件抗干擾方法。最終實(shí)驗(yàn)表明,此方法使得高速視覺在線檢測(cè)系統(tǒng)的檢測(cè)速度提高了70%,為高速視覺在線檢測(cè)系統(tǒng)的高速、穩(wěn)定運(yùn)行提供了保障。
關(guān)鍵詞: 高速 在線檢測(cè) 抗干擾
中圖分類號(hào): TP202
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.09.017
中文引用格式: 苑瑋琦,魏智鵬,李德健,等. 高速視覺在線檢測(cè)系統(tǒng)的軟件抗干擾方法[J].電子技術(shù)應(yīng)用,2016,42(9):65-68.
英文引用格式: Yuan Weiqi,Wei Zhipeng,Li Dejian,et al. The software anti-interference method of high-speed visual online detection system[J].Application of Electronic Technique,2016,42(9):65-68.
The software anti-interference method of high-speed visual online detection system
Yuan Weiqi1,Wei Zhipeng1,Li Dejian1,Zheng Dawei2,Zhang Junpeng1
1.College of Information Science and Engineering,Shenyang University of Technology,Shenyang 110870,China; 2.College of Physics and Information Engineering,F(xiàn)uzhou University,F(xiàn)uzhou 350108,China
Abstract: Machine vision online detection is an emerging detection method based on computer vision and image processing. The method, which captures the tested image with the help of camera, gets describable parameters of the measure object by image processing techniques, and ultimately applied in actual test, measurement and control after parsing and judging the parameters, has the features of non-contact, high accuracy, wide application range and high degree of automation. Aiming the interference issues, encountered by the system itself, the difference of load and user operation existed, now in the situation of multi-threaded, high speed and multi-camera visual online detection system is proposed in this paper. Finally experiments show that the method makes the detection speed of high-speed visual on-line detection system increase by 70%,and provides a guarantee of high speed and stable operation for high-speed visual on-line detection system.
Key words : high speed;online detection;anti-interference

0 引言

  隨著工業(yè)4.0的到來,自動(dòng)化技術(shù)開始越來越多地在制造業(yè)市場(chǎng)中使用,而機(jī)器視覺在自動(dòng)化技術(shù)領(lǐng)域中具有舉足輕重的地位。作為近年來制造業(yè)中的關(guān)鍵技術(shù),機(jī)器視覺在線檢測(cè)技術(shù)的發(fā)展已經(jīng)被推上了風(fēng)口浪尖。然而,基于機(jī)器視覺的高速在線檢測(cè)技術(shù)成為了制約制造業(yè)發(fā)展的瓶頸。學(xué)者周文舉發(fā)表的文獻(xiàn)[1]對(duì)機(jī)器視覺的在線高速檢測(cè)系統(tǒng)作了比較前沿的描述。

  近年來,國內(nèi)的生產(chǎn)企業(yè)大量引進(jìn)機(jī)器視覺在線檢測(cè)技術(shù),試圖用機(jī)器取代工人來節(jié)約生產(chǎn)成本。機(jī)器視覺在線檢測(cè)系統(tǒng)一般都是安裝在生產(chǎn)線作業(yè)流程當(dāng)中,故其檢測(cè)速度必須大于等于高速生產(chǎn)線現(xiàn)有的運(yùn)行速度。現(xiàn)有的高速拍照技術(shù)也已經(jīng)很成熟,但在線檢測(cè)技術(shù)卻面臨著如下問題:(1)速度達(dá)不到要求;(2)高速視覺檢測(cè)軟件運(yùn)行不穩(wěn)定;(3)漏檢誤檢率高。

  本文針對(duì)現(xiàn)有的機(jī)器視覺在線檢測(cè)系統(tǒng)所遇到的問題,巧妙利用計(jì)算機(jī)的數(shù)據(jù)緩存機(jī)制[2]解決由計(jì)算機(jī)操作系統(tǒng)本身、負(fù)載差異和用戶操作所帶來的干擾問題。本設(shè)計(jì)以高速雪糕棒質(zhì)量在線檢測(cè)[3]應(yīng)用為案例講述詳細(xì)的設(shè)計(jì)方法。此設(shè)計(jì)方法不局限于雪糕棒質(zhì)量在線檢測(cè)系統(tǒng),還可以擴(kuò)展到其他領(lǐng)域產(chǎn)品的高速在線檢測(cè)系統(tǒng)中。

1 高速在線檢測(cè)系統(tǒng)架構(gòu)及工作原理

  1.1 總體架構(gòu)

  本文使用高速雪糕棒質(zhì)量在線檢測(cè)系統(tǒng)作為一般的高速視覺在線檢測(cè)系統(tǒng)模型,系統(tǒng)結(jié)構(gòu)圖如圖1所示。其中A、B、C、D分別為檢測(cè)雪糕棒的正面、左側(cè)、右側(cè)和反面攝像機(jī)。本系統(tǒng)以多攝像機(jī)在線檢測(cè)為例,同樣適用于單攝像機(jī)。

圖像 001.png

  1.2 工作原理

  系統(tǒng)運(yùn)行時(shí),機(jī)器生產(chǎn)出來的雪糕棒直接落入到圖1所示的儲(chǔ)箱中。儲(chǔ)箱下方是帶等間距凹槽的鏈條,儲(chǔ)箱中的雪糕棒自動(dòng)落入到凹槽中,電機(jī)帶動(dòng)鏈條運(yùn)動(dòng),將堆積的雪糕棒轉(zhuǎn)成流水線上等間距排列的雪糕棒,多余的雪糕棒由掃棒器掃回到儲(chǔ)箱中。光電傳感器正對(duì)著鏈條上凹槽的凹陷處,一個(gè)凹槽對(duì)應(yīng)一根雪糕棒,故每經(jīng)過一根雪糕棒,光電傳感器就會(huì)產(chǎn)生一個(gè)脈沖。4個(gè)攝像機(jī)的外觸發(fā)線并聯(lián)后連接到光電傳感器的信號(hào)輸出端,由一個(gè)脈沖同時(shí)觸發(fā)4個(gè)攝像機(jī)拍照。固定4個(gè)攝像機(jī)的位置,使得觸發(fā)時(shí)刻流水線上雪糕棒正好落入到攝像機(jī)的視場(chǎng)中心。攝像機(jī)采集圖像完成后通過USB3.0數(shù)據(jù)線把數(shù)據(jù)傳輸?shù)接?jì)算機(jī)。計(jì)算機(jī)接收到數(shù)據(jù)后開啟多線程并行處理4攝像機(jī)的圖像,并將處理結(jié)果存儲(chǔ)在結(jié)果緩存器中等待輸出。當(dāng)雪糕棒運(yùn)動(dòng)到第一個(gè)氣泵時(shí),從結(jié)果緩存器中取出當(dāng)前雪糕棒4個(gè)面的檢測(cè)結(jié)果,合并后輸出。輸出端由4個(gè)電磁閥分別彈出U(次優(yōu))、B(良)、C(中)和D(差)4個(gè)等級(jí)的雪糕棒,沒有缺陷的雪糕棒跟隨流水線落入到最末端的J(最優(yōu))級(jí)容器中。

2 干擾源分析

  計(jì)算機(jī)運(yùn)行高速在線檢測(cè)軟件時(shí),計(jì)算機(jī)硬件和軟件等環(huán)境因素有時(shí)會(huì)掩蓋算法本身的優(yōu)劣。所使用的操作系統(tǒng)、編譯器、運(yùn)行框架等軟件的不同,可以影響它們的結(jié)果。即使是同一臺(tái)電腦、同一種操作系統(tǒng),CPU使用率和內(nèi)存占用情況不一樣,也會(huì)造成細(xì)微的差異。在高速視覺在線檢測(cè)系統(tǒng)中,這些微小的差異直接影響程序的穩(wěn)定性。本文總結(jié)出3種影響程序穩(wěn)定性的干擾源。

  2.1 系統(tǒng)本身的干擾

  Windows操作系統(tǒng)的多線程一直被認(rèn)為存在著很多問題,例如多線程的不確定性和沒有保障性,各個(gè)線程的運(yùn)行完全是以不可預(yù)料的方式和速度推進(jìn)。有時(shí)同一個(gè)程序運(yùn)行了N次,其結(jié)果也存在著一定的差異。用同一個(gè)算法進(jìn)行1 000次運(yùn)算所得到的時(shí)間曲線圖如圖2所示。從圖中可以看出系統(tǒng)本身的干擾導(dǎo)致檢測(cè)時(shí)間的波動(dòng)達(dá)到±5.5 ms。

圖像 002.png

  2.2 負(fù)載干擾

  當(dāng)負(fù)載差異[4]較大時(shí),檢測(cè)時(shí)間也會(huì)有一定的差異。在高速在線檢測(cè)系統(tǒng)中,目標(biāo)的檢測(cè)時(shí)間存在一般估計(jì)量,但是程序運(yùn)行過程中難以保證每次的檢測(cè)時(shí)間都不會(huì)超過一般估計(jì)量。隨機(jī)抽取1 000根雪糕棒進(jìn)行檢測(cè),并對(duì)檢測(cè)時(shí)間進(jìn)行統(tǒng)計(jì),得到系統(tǒng)本身干擾和負(fù)載干擾疊加的檢測(cè)時(shí)間曲線如圖3所示。從圖中可以看出系統(tǒng)干擾和負(fù)載干擾導(dǎo)致檢測(cè)時(shí)間波動(dòng)達(dá)到±22 ms。

圖像 003.png

  2.3 其他進(jìn)程干擾

  當(dāng)檢測(cè)軟件正在運(yùn)行時(shí),系統(tǒng)突然打開一個(gè)進(jìn)程,新的進(jìn)程會(huì)搶占CPU和內(nèi)存資源,使得當(dāng)前檢測(cè)時(shí)間突變。在雪糕棒在線檢測(cè)過程中,打開另一個(gè)進(jìn)程所帶來時(shí)間突變的曲線如圖4所示。從圖中可以看出其他進(jìn)程的開啟導(dǎo)致檢測(cè)時(shí)間整體升高了。

圖像 004.png

  在高速視覺在線檢測(cè)系統(tǒng)[5]中,不管是由系統(tǒng)本身、負(fù)載差異還是用戶操作所帶來的干擾都是不可忽略的。這就決定了在高速視覺在線檢測(cè)系統(tǒng)中必需要有一種軟件抗干擾方法[6,7]可以緩解這些干擾,為高速視覺在線檢測(cè)系統(tǒng)的實(shí)現(xiàn)提供保障。

3 抗干擾方法的設(shè)計(jì)

  通常的軟件抗干擾方法[8]有擴(kuò)頻技術(shù)、剔除異常數(shù)[9]、延時(shí)技術(shù)[10]等,擴(kuò)頻技術(shù)主要解決通信上的干擾問題,剔除異常數(shù)要耗費(fèi)大量CPU資源排除異常,延時(shí)技術(shù)會(huì)耗費(fèi)大量的時(shí)間。常用的軟件抗干擾方法無法滿足現(xiàn)在的高速視覺在線檢測(cè)系統(tǒng)。為此本文設(shè)計(jì)了基于計(jì)算機(jī)緩存機(jī)制的高速視覺在線檢測(cè)系統(tǒng)的軟件抗干擾方法。數(shù)據(jù)緩存機(jī)制可以有效地減少多線程運(yùn)算的擁塞,減輕計(jì)算機(jī)的負(fù)載,加快整個(gè)系統(tǒng)的運(yùn)行速度。通過部署結(jié)果緩存器,可以進(jìn)一步提高高速視覺在線檢測(cè)系統(tǒng)的性能。

  本設(shè)計(jì)中光電傳感產(chǎn)生的脈沖同時(shí)觸發(fā)4個(gè)攝像機(jī)采集圖像,圖像采集完成后送入到計(jì)算機(jī)內(nèi)存中,4個(gè)攝像機(jī)對(duì)應(yīng)4個(gè)線程分別對(duì)各自的圖像進(jìn)行運(yùn)算。運(yùn)算的結(jié)果存儲(chǔ)在由拍照幀數(shù)作為地址偏移量的存儲(chǔ)器中。對(duì)于同一根雪糕棒,跟隨流水線先后分別經(jīng)過A、B、C和D 4個(gè)攝像機(jī)。當(dāng)經(jīng)過最末端的D攝像機(jī)并且D攝像機(jī)所對(duì)應(yīng)的線程運(yùn)算完畢時(shí),一根雪糕棒4個(gè)面的檢測(cè)結(jié)果均已存儲(chǔ)在結(jié)果緩存器中。從圖1中可以看出,最末端攝像機(jī)與最前端電磁閥之間存在著一定的距離,雪糕棒檢測(cè)完成后還需要在鏈條上運(yùn)動(dòng)這段距離才到達(dá)輸出端。本設(shè)計(jì)就是利用這一段的物理距離和計(jì)算機(jī)的緩存機(jī)制實(shí)現(xiàn)的抗干擾方法。顯然在這里檢測(cè)末端與輸出前端的距離與緩沖時(shí)間是成正比的,該距離可以在機(jī)械設(shè)計(jì)時(shí)改變。在此用雪糕棒的數(shù)量來衡量這段距離。檢測(cè)末端與輸出前端之間的雪糕棒數(shù)量n只需滿足如下數(shù)學(xué)關(guān)系即可:

  QQ圖片20161111161317.png

  式中,i表示雪糕棒序號(hào),ti表示第i根雪糕棒的檢測(cè)時(shí)間,T表示一根雪糕棒的平均檢測(cè)時(shí)間。由式(1)可知,當(dāng)n=1時(shí),有t1<T,緩沖時(shí)間為(T-ta);當(dāng)n=2時(shí),有t1+t2<2T,緩沖時(shí)間為2(T-ta);當(dāng)n=3時(shí),有t1+t2+t3<3T,緩沖時(shí)間為3(T-ta)。由此可知n越大緩沖時(shí)間越大,但是n增大的代價(jià)是計(jì)算機(jī)存儲(chǔ)空間和流水線長度的浪費(fèi)。由大量的雪糕棒樣本統(tǒng)計(jì)得到結(jié)果,每根雪糕棒的平均檢測(cè)時(shí)間ta=51.43 ms,產(chǎn)生干擾脈沖幅值大于2ta的概率為0.6%。雪糕棒生產(chǎn)廠商要求檢測(cè)的速度為15根/s,算得檢測(cè)時(shí)限T=66.66 ms。平均一根雪糕棒有Td=T-ta=15.23 ms的緩沖時(shí)間。計(jì)算機(jī)緩存的作用相當(dāng)于是把每次的緩沖時(shí)間都收集起來,供給干擾脈沖消耗。同時(shí),雪糕棒的檢測(cè)時(shí)間參差不齊,緩存機(jī)制使得各次的檢測(cè)時(shí)間可以互補(bǔ),處理時(shí)間短的線程把CPU騰讓出來供給處理時(shí)間長的線程使用。程序設(shè)計(jì)中,使用計(jì)數(shù)器對(duì)攝像機(jī)采集的幀數(shù)進(jìn)行計(jì)數(shù),每次開啟線程時(shí)把計(jì)得的幀數(shù)傳遞到線程處理函數(shù)中,線程處理完成后把結(jié)果存儲(chǔ)到以傳入的幀數(shù)為地址偏移量的循環(huán)隊(duì)列中。如此一來,檢測(cè)時(shí)間短的結(jié)果數(shù)據(jù)先入隊(duì),檢測(cè)時(shí)間長的結(jié)果數(shù)據(jù)后插隊(duì)。未使用緩存和使用緩存的檢測(cè)時(shí)間對(duì)比如圖5所示。未使用緩存時(shí),對(duì)單次的最長檢測(cè)時(shí)間M感興趣,使用緩存后,只對(duì)多次檢測(cè)的平均檢測(cè)時(shí)間N感興趣。緩存的使用實(shí)現(xiàn)了各次耗時(shí)不等檢測(cè)的時(shí)間互補(bǔ),合理利用了各次檢測(cè)的時(shí)間余量。經(jīng)過緩沖時(shí)間后,最終輸出的是與單次檢測(cè)時(shí)間長短無關(guān)的結(jié)果序列,從而使得系統(tǒng)具備了抗干擾能力。

圖像 005.png

4 實(shí)驗(yàn)結(jié)果與性能分析

  抗干擾方法測(cè)試:從工業(yè)現(xiàn)場(chǎng)隨機(jī)抽出一部分雪糕棒,分別運(yùn)行未使用緩存和使用緩存的程序做了測(cè)試。測(cè)試過程中雪糕棒運(yùn)行速度從1根/s逐步提升到19根/s,通過多次測(cè)試并對(duì)結(jié)果觀察統(tǒng)計(jì)得到的實(shí)驗(yàn)數(shù)據(jù)如表1所示。

圖像 006.png

  從實(shí)驗(yàn)結(jié)果看出,當(dāng)雪糕棒的運(yùn)行速度在10根/s以內(nèi)時(shí),平均檢測(cè)時(shí)間小于規(guī)定檢測(cè)時(shí)間,未使用緩存和使用緩存的程序運(yùn)行結(jié)果都不存在漏檢現(xiàn)象;當(dāng)速度超過10根/s后未使用緩存的測(cè)試結(jié)果開始出現(xiàn)漏檢,而使用緩存的程序還是正常運(yùn)行;當(dāng)檢測(cè)速度提升至15根/s時(shí),未使用緩存的程序出現(xiàn)了嚴(yán)重的漏檢現(xiàn)象;當(dāng)檢測(cè)速度在17根/s以內(nèi),使用緩存的程序均不會(huì)出現(xiàn)漏檢現(xiàn)象;當(dāng)速度提升至18根/s時(shí),使用緩存的程序檢測(cè)結(jié)果也開始出現(xiàn)了漏檢現(xiàn)象。該實(shí)驗(yàn)證明,緩存機(jī)制在高速視覺在線檢測(cè)系統(tǒng)中的應(yīng)用對(duì)程序運(yùn)行的穩(wěn)定性有很大的改善。

5 結(jié)論

  本文所設(shè)計(jì)的基于計(jì)算機(jī)緩存機(jī)制的軟件抗干擾方法充分利用了空間換取時(shí)間思想,最終使得雪糕棒在線檢測(cè)系統(tǒng)的檢測(cè)速度從原來的10根/s提高到了17根/s,檢測(cè)速度提高了70%。由此可知,本文所設(shè)計(jì)的軟件抗干擾方法對(duì)系統(tǒng)本身、負(fù)載差異以及用戶操作所帶來的干擾具有一定的抵抗力,為一般的高速視覺在線檢測(cè)系統(tǒng)的高速、穩(wěn)定運(yùn)行提供了保障。

  參考文獻(xiàn)

  [1] 周文舉.基于機(jī)器視覺的在線高速檢測(cè)與精確控制研究及應(yīng)用[D].上海:上海大學(xué),2013.

  [2] 吳繼棟.淺論計(jì)算機(jī)緩存的工作機(jī)制[J].計(jì)算機(jī)與信息技術(shù),2007,33(13):411-422.

  [3] 苑瑋琦,李德健.雪糕棒輪廓質(zhì)量視覺在線檢測(cè)方法[J].計(jì)算機(jī)應(yīng)用研究,2015,11(33):1022-1030.

  [4] 張金柱,洪佩琳,薛開平.負(fù)載自適應(yīng)的CoMP調(diào)度策略[J].中國科學(xué)院研究生院學(xué)報(bào),2012,5(29):644-651.

  [5] 李曉飛.高速在線機(jī)器視覺檢測(cè)方法的研究[D].天津:天津理工大學(xué),2008.

  [6] 史勇,謝曉霞.測(cè)控系統(tǒng)中的軟件抗干擾技術(shù)[J].現(xiàn)代電子技術(shù),2006,5(19):99-101.

  [7] 孫亞楠.軟件抗干擾技術(shù)[J].電子質(zhì)量,2010,8(8):84-85.

  [8] 王建新,楊世鳳,史永江,等.系統(tǒng)測(cè)試中的軟件抗干擾技術(shù)[J].國外電子測(cè)量技術(shù),2005(10):18-20.

  [9] 張慧娟.異常數(shù)據(jù)檢驗(yàn)的幾種方法[D].秦皇島:燕山大學(xué),2012.

  [10] 刁一峰,楊培剛,劉麗萍,等.軟件延時(shí)程序的分析與精確延時(shí)程序設(shè)計(jì)[J].沈陽工程學(xué)院學(xué)報(bào)(自然科學(xué)版),2014,10(4):356-358,369.

  

  


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。