湯 偉 成爽爽,* 馮 波,2 曲蘊慧 王孟效
(1.陜西科技大學電氣與控制工程學院,陜西西安,710021;2.陜西科技大學鎬京學院,陜西西安,712046;3.陜西西微測控工程有限公司,陜西咸陽,712000)
特種紙張在生產(chǎn)過程中,容易受內(nèi)部因素和生產(chǎn)環(huán)境的影響產(chǎn)生不同的外觀缺陷,這些紙張表面瑕疵叫做紙病[1]。
基于機器視覺的紙病檢測系統(tǒng)是一種新興的紙病檢測技術,與人工檢測相比,具有非接觸、高精度、高效率的特點[1]。但是隨著紙機車速的提高和幅寬的加大[2],紙病檢測的快速性和準確性大大降低。為了解決現(xiàn)有紙病檢測系統(tǒng)中存在的問題,本文設計了一種適用于中高速紙機的在線紙病檢測系統(tǒng)。根據(jù)企業(yè)要求的檢測精度、紙張幅寬和紙機運行速度,在成本最低和滿足系統(tǒng)要求的前提下,選擇合適的工業(yè)線陣相機。工業(yè)線陣相機可以很好地完成動態(tài)圖像的采集,但是必然會產(chǎn)生大量的圖像數(shù)據(jù)。圖像分析模塊主要完成對紙病的檢測和識別,判斷紙張圖像中是否存在紙病,通過動態(tài)閾值算法[3]由FPGA完成對紙病的檢測[4]。若存在紙病傳輸?shù)絇C機,采用卷積神經(jīng)網(wǎng)絡完成對紙病類型的識別;若不存在,則進行紙病圖像的保存。由于FPGA具有并行性和高速運算能力的特點,由FPGA完成對紙張圖像的保存。數(shù)據(jù)存儲模塊主要分為2部分,第一部分由PC機進行控制,主要用于存儲存在紙張缺陷的圖像;第二部分與FPGA相連,完成對紙張圖像的保存,以便于后期分析,對數(shù)據(jù)存儲實時性要求高,因此采用高端固態(tài)硬盤完成對數(shù)據(jù)的存儲。木桶理論以滿足系統(tǒng)最高檢測速度和精度為要求,通過對各模塊的理論分析,以最低硬件標準設計系統(tǒng)的硬件架構(gòu)。
通過理論分析,本文設計了一種適用于中高速紙機的紙病檢測系統(tǒng)實驗平臺,以滿足系統(tǒng)最高要求的以最低硬件為標準進行系統(tǒng)架構(gòu)的設計。在保證系統(tǒng)平穩(wěn)運行的前提下,不僅可以很大程度避免對資源的浪費,還能夠快速和準確地完成對紙病的檢測和識別。
紙病檢測系統(tǒng)硬件模塊的設計和選取以木桶理論為基礎。木桶理論又稱短板理論,其核心內(nèi)容為:1只木桶盛水的多少,并不取決于桶壁上最高的那塊木塊,而恰恰取決于桶壁上最短的那塊。根據(jù)這一內(nèi)容,可以有2個推論:其一,只有桶壁上的所有木板均足夠高,那木桶才能盛滿水。其二,只要這個木桶里有一塊高度不夠,木桶里的水就不可能是滿的,高于最低木板所使用的材料均是對資源的浪費[5]。引申到基于機器視覺的紙病檢測系統(tǒng)中,就是如果要實現(xiàn)完整的紙病檢測過程,需要系統(tǒng)所有模塊均能滿足實時處理數(shù)據(jù)的要求,只要1個模塊不符合要求,就不能完成紙病的實時在線檢測功能,而高于最低標準的模塊是對資源的浪費。為了節(jié)約成本,以滿足系統(tǒng)最高要求的最低硬件標準為前提,進行紙病檢測系統(tǒng)架構(gòu)的設計。結(jié)合紙病算法,完成對中高速紙機紙病的檢測和識別。
基于機器視覺的紙病檢測系統(tǒng)主要包括5個模塊:光源模塊、圖像采集模塊、紙病檢測模塊、數(shù)據(jù)分析模塊和機械控制模塊[6]。工作原理為:根據(jù)紙張的幅寬選擇合適的光源模塊[7],根據(jù)紙機速度和幅寬得到相機的采集頻率和分辨率,相機將采集到的紙張圖像傳輸給紙病檢測模塊[8],該模塊在接收到圖像后,采用合適的算法以最快的速度進行紙病檢測,將沒有紙病的圖像丟棄或保存,將存在紙病的圖像發(fā)送給數(shù)據(jù)分析模塊,同時給機械控制模塊發(fā)送指令,對紙病區(qū)域進行標記[9];數(shù)據(jù)分析模塊對紙張圖像進行分割,提取紙病區(qū)域的圖像,對紙病類型識別并保存,為生產(chǎn)工藝的改進提供方案。系統(tǒng)組成框圖如圖1所示。
圖1 基于機器視覺的紙病檢測系統(tǒng)架構(gòu)框圖Fig.1 Architecture block diagram of paper defect detection system based on machine vision
2.1 系統(tǒng)硬件需求分析
2.1.1 相機的選擇
基于機器視覺的紙病檢測系統(tǒng)中,相機的選取決定了圖像質(zhì)量,間接決定了檢測的準確性,所以選取合適的相機對檢測的準確性起著決定性作用[10]。相機數(shù)據(jù)處理能力實時性的計算主要以相機在單位時間內(nèi)產(chǎn)生的數(shù)據(jù)為基準。
(1)相機分辨率的計算
相機分辨率指相機單次采集圖像時可采集到的圖像的像素總個數(shù),一般由相機可采集的橫向上的像素總數(shù)乘以縱向上的像素總數(shù)來確定。紙病檢測系統(tǒng)中,相機分辨率一般需要根據(jù)被檢測面的寬度和用戶要求的精度來確定,如式(1)所示。
式中,Pn為所需要像素的總個數(shù);w為檢測區(qū)域的橫向?qū)挾?,mm;ε為用戶要求的單位精度,mm2;n為單位精度的像素個數(shù)。n值越大,單位精度內(nèi)需要的像素也就越多,相同采集頻率下系統(tǒng)可檢測的速度就越小,n的取值一般集中在{1,4,9,16,25}。當紙機幅寬比較大時,Pn的值會遠遠超過單個相機的分辨率,單個相機的分辨率無法滿足全幅檢測的需求,需要將多個相機橫向并行排列才能滿足檢測需求。相機個數(shù)由橫向檢測寬度所需像素總數(shù)除以單個相機橫向分辨率計算得出。
(2)相機采集頻率的計算
相機的采集頻率主要由指定的檢測單位精度和檢測速度來確定。一般情況下,同樣頻率的相機,要求的檢測精度高時,系統(tǒng)的檢測速度就會變慢,反之當要求的檢測精度低時,系統(tǒng)的檢測速度就會變快。相機的采集頻率與檢測精度和檢測速度之間的關系如式(2)所示。
式中,fc為相機的采集頻率,Hz;s為紙機的運行速度,m/min;ε為用戶要求的單位精度,mm2;n為單位精度的像素個數(shù)。當檢測的精度和速度均比較高時,相機頻率也隨之變高,硬件成本也會增加。
2.1.2 相機鏡頭的選擇
鏡頭的好壞影響了圖像的采集范圍和成像效果,鏡頭的選取主要考慮以下因素。
(1)鏡頭尺寸
只有當鏡頭的尺寸大于等于相機的成像尺寸時才能充分發(fā)揮相機的成像能力,否則會造成相機有效尺寸的浪費。為了更好地發(fā)揮相機的性能,建議選擇比相機成像尺寸大一些的鏡頭。
(2)鏡頭焦距
由相機的成像原理可知,焦距的長短與相機到被采集對象的距離成正比,當相機與被采集對象的距離確定時,焦距大的鏡頭可采集的區(qū)域比較小,而焦距小的鏡頭可采集的區(qū)域比較大。為了選擇合適的鏡頭,可以通過式(3)的計算來選用合適焦距的鏡頭。
式中,f為焦距;A為相機的成像尺寸;H為相機鏡頭到被采集對象之間的高度;L為需要采集區(qū)域的長度。一般情況下相機的成像尺寸A是可以提前確定的,可以根據(jù)檢測精度和相機的分辨率來確定。短焦鏡頭可以實現(xiàn)廣角采集,但距離中心較遠的區(qū)域,可能會產(chǎn)生畸變,導致圖像失真;長焦鏡頭與被采集對象的距離確定時,可采集到的區(qū)域變小,在被采集對象的寬度一定時,需要更多的相機才能實現(xiàn)被采集對象的全幅采集,系統(tǒng)成本會更高。
(3)鏡頭光圈
鏡頭的光圈決定單位時間內(nèi)進入相機光量的多少,光圈越大單位時間內(nèi)進入相機的光量越多,采集到的圖像越亮。一般情況下光圈大小用F加數(shù)字的方法來表示,光圈的大小與F后面跟的數(shù)字成反比,數(shù)字越大,光圈越小。計算公式如(4)所示。
式中,F(xiàn)為光圈值;f為鏡頭的焦距;d為鏡頭有效口徑直徑。
(4)鏡頭分辨率
鏡頭的分辨率是指在像平面處1 mm內(nèi)能分辨開的黑白相間的線條對數(shù),單位是“線對/毫米”,是將圖像的對比清晰度量化的一種方式。相機分辨率一定的情況下,鏡頭的分辨率越高,采集到的圖像清晰度也就越高。
2.2 圖像分析模塊的設計
相機完成圖像采集后會將采集好的圖像通過數(shù)據(jù)傳輸接口傳遞給數(shù)據(jù)分析模塊。根據(jù)系統(tǒng)的功能需要還可以將數(shù)據(jù)分析模塊再細化為2個模塊:檢測模塊主要完成紙病檢測系統(tǒng)中檢測的功能,此模塊對實時性的要求比較高,必須以最快的速度檢測圖像上是否存在缺陷,否則會造成圖像數(shù)據(jù)的丟失。識別模塊對接收到的圖像進行紙病區(qū)域分割和識別出紙病的類型。然后根據(jù)紙病類型和出現(xiàn)頻率對產(chǎn)生紙病的原因進行分析。
在紙病檢測系統(tǒng)中,光源優(yōu)化的主要目的是保證相機采集到的圖像的背景均勻度[11]和比較明顯的缺陷區(qū)域的圖像對比度,保證相機獲取到的圖像符合圖像分析模塊的要求。
能否實時完成檢測的工作,首先需要知道檢測的數(shù)據(jù)量,相機單位時間內(nèi)產(chǎn)生的數(shù)據(jù)量計算如式(5)所示。
式中,Data為單位時間內(nèi)產(chǎn)生的數(shù)據(jù)量,B/s;P為相機分辨率;fc為相機的采集頻率。
當紙機的速度和幅寬提高時,串行的CPU無法實時完成數(shù)據(jù)的處理。FPGA可以實現(xiàn)多內(nèi)核之間的資源調(diào)度,為流水線和數(shù)據(jù)并行奠定了良好的基礎,再加上其可快速定制化的優(yōu)點,適用于紙病檢測系統(tǒng)中實時性要求高的檢測模塊。
2.3 數(shù)據(jù)存儲模塊的設計
數(shù)據(jù)存儲模塊可以分為2個部分:第一部分由PC機來進行控制,主要用于存儲有紙病的圖像,對存儲的實時性要求不高;第二部分與FPGA連接,由FPGA負責將采集到的所有圖像利用數(shù)據(jù)總線存儲在設備上,此模塊產(chǎn)生的數(shù)據(jù)量大,實時性要求高,要求存儲模塊的存儲速度要大于相機產(chǎn)生數(shù)據(jù)的速度,為了實現(xiàn)系統(tǒng)的最優(yōu)化配置需要對不同存儲設備的存儲速度進行對比,如表1所示。從表1中可以看出,固態(tài)硬盤的存儲速度比機械硬盤和閃存盤的存儲速度要高很多,普通的固態(tài)硬盤也可以實現(xiàn)300 Mbps的速度,同樣是固態(tài)硬盤,PCIe GEN3*4接口的高端固態(tài)硬盤比SATA 3.0接口的固態(tài)硬盤要高出接近10倍的存儲速度,這主要是由2種不同接口的存儲方式不同造成的。在傳統(tǒng)SATA接口的固態(tài)硬盤中,數(shù)據(jù)需要先從硬盤讀取到內(nèi)存,再將數(shù)據(jù)提取至CPU內(nèi)部進行計算,計算后也需要通過CPU寫入計算機的內(nèi)存,然后再由內(nèi)存存儲到固態(tài)硬盤中。PCIe GEN3*4接口沒有內(nèi)存環(huán)節(jié),需要存儲的數(shù)據(jù)可以直接通過系統(tǒng)總線與CPU通信,傳輸效率與速度均有了成倍的提升。
表1 不同存儲設備存儲速度對比Table 1 Comparison of storage speed of different storage devices
2.4 系統(tǒng)架構(gòu)的軟件需求分析
利用集成環(huán)境Visual studio 2015進行開發(fā)設計,使用C++作為主要編程語言,在圖像采集方面使用了DALSA提供的Sapera++類庫,包括兩大類:基礎應用類(basic classes)和界面設計類(GUI classes)。在界面開發(fā)方面使用了微軟基礎類庫MFC[12]。MFC包含了大量的Windows API接口,較好的減輕了程序開發(fā)的工作壓力。
系統(tǒng)分成以下幾個模塊:紙病圖像采集模塊、紙病檢測模塊、紙病位置標記模塊[12](可選)、數(shù)據(jù)存儲管理模塊(可選)、紙病區(qū)域分割模塊、紙病類型識別模塊、數(shù)據(jù)庫管理模塊、人機交互模塊、同步觸發(fā)模塊、網(wǎng)絡通信模塊。
軟件模塊中,紙病圖像采集模塊由相機完成;紙病檢測模塊主要由FPGA負責完成;紙病位置標記模塊由FPGA和打標機合作完成;數(shù)據(jù)存儲管理模塊由FPGA和數(shù)據(jù)存儲器完成[13];紙病區(qū)域分割模塊、紙病類型識別模塊和數(shù)據(jù)庫管理模塊主要由上位機完成;網(wǎng)絡通信模塊由上位機、FPGA模塊和工業(yè)線性相機一起完成。系統(tǒng)軟件結(jié)構(gòu)如圖2所示。
圖2 紙病檢測系統(tǒng)軟件結(jié)構(gòu)圖Fig.2 Software structure diagram of paper defect detection system
基于機器視覺的紙病檢測系統(tǒng)實驗平臺主要模仿實際生產(chǎn)中紙張的運行狀態(tài),以實際生產(chǎn)線的結(jié)構(gòu)為基礎展開設計。以各個模塊的功能為基礎,將實驗平臺分成支架固定模塊、機械轉(zhuǎn)動模塊、光源模塊、圖像采集模塊、紙病檢測模塊和紙病識別模塊。
圖3 紙病檢測系統(tǒng)實驗平臺示意圖Fig.3 Schematic diagram of the experimental platform of the paper disease detection system
為了對比不同系統(tǒng)架構(gòu)可達到的效果,設計了2套實驗平臺:一套低速紙機紙病檢測系統(tǒng)實驗平臺,采用“線陣相機+采集卡+PC機[14]”的系統(tǒng)架構(gòu),此實驗平臺如圖4所示,已經(jīng)可以實現(xiàn)低速紙機紙病的檢測,本文不再做過多敘述;另一套中高速紙機系統(tǒng)實驗平臺采用“工業(yè)線陣相機+FPGA+PC機”的系統(tǒng)架構(gòu),主要對中高速紙機系統(tǒng)的硬件匹配策略進行說明,并對運行效果進行驗證。
圖4 低速紙機紙病檢測實驗平臺Fig.4 Low-speed paper machine paper disease detection experiment platform
3.1 實驗平臺的硬件結(jié)構(gòu)介紹
在保證實驗安全的情況下,為了提高紙機的速度,設計了大直徑輥筒,小轉(zhuǎn)速電機的方案。結(jié)構(gòu)如圖5所示。
圖5 中高速紙機紙病檢測系統(tǒng)結(jié)構(gòu)圖Fig.5 Structure diagram of paper defect detection system for medium and high speed paper machine
支架固定模塊采用鑄鐵框架結(jié)構(gòu),其長、寬、高分別為1.2、0.8、0.6 m,為了更好地采集高速運動紙張的圖像,在輥筒的外圈采用了長度0.8 m,直徑0.6 m的高透光亞克力輥筒,亞克力輥筒兩端使用不銹鋼法蘭固定,將法蘭直接焊接到動軸上,動軸與中間的空心硬軸使用軸承連接,動軸與固定底座之間也采用軸承連接,最終實現(xiàn)中間的空心硬軸不動,通過外圈的動軸帶動滾筒轉(zhuǎn)動的目的;底光源模塊則需要固定在中間的空心硬軸上,而上光源和相機低速紙機實驗平臺采用相同的方式,為了避免轉(zhuǎn)動裝置在高速轉(zhuǎn)動時產(chǎn)生震動影響相機的采集效果,特意安排與轉(zhuǎn)動裝置物理分開。
亞克力材料的硬度和柔韌度相對較低,為了保證滾筒高速旋轉(zhuǎn)時兩端的平衡性,在機械驅(qū)動方面設計了單軸雙端驅(qū)動的連接方式,即在滾筒兩端的動軸上各加一個同步帶輪,用同步帶與驅(qū)動軸兩端的同步帶輪相連接,最大可能地避免了因受力不均造成的滾筒扭動。驅(qū)動軸采用軟連接的方式與驅(qū)動電機相連。驅(qū)動電機選用了信達電機定制的6D300GU-C直流調(diào)速電機,最小轉(zhuǎn)速為10 r/min,最大轉(zhuǎn)速600 r/min,最快可以實現(xiàn)1130.1 m/min轉(zhuǎn)速。
3.2 紙病檢測系統(tǒng)硬件模塊設計
中高速紙機紙病檢測系統(tǒng)實驗平臺的轉(zhuǎn)動裝置寬度為0.8 m,檢測精度要求為0.1 mm×0.1 mm,假設需要單位精度內(nèi)使用1個像素,則根據(jù)式(1)可以得出在橫向上需要的像素數(shù)量為8000個,4臺2K相機、2臺4K相機、1臺8K相機3種方式均可滿足橫向像素的要求;最快可以實現(xiàn)1130.1 m/min的線速度,代入式(2)可得系統(tǒng)需要的采集頻率為188.35 kHz,根據(jù)相機的頻率分機情況,需要相機的采集頻率在200 kHz以上,當前在工業(yè)線陣相機中能達到200 kHz以上的CCD相機可供選擇的種類不多[15],而很多CMOS相機可以達到300 kHz以上[16],因此只能選擇CMOS相機;每秒鐘可以產(chǎn)生的總數(shù)據(jù)量是1436.996 MB,在傳輸接口的選擇上就只有Camera link HS[17]和光纖2種可以滿足條件;在圖像數(shù)據(jù)處理方面,每秒鐘能處理1436.996 MB數(shù)據(jù)的硬件設備也只有DSP和FPGA可以滿足;在數(shù)據(jù)存儲方面,每秒鐘要寫入到硬盤的數(shù)據(jù)超過1 GB,普通硬盤不滿足此要求,只能選用高端固態(tài)硬盤。
單從性能進行分析,可以滿足紙病檢測系統(tǒng)硬件配置有很多種,例如相機的選擇上,選用一臺具有200 kHz采集頻率、分辨率為8192、采用Camera link HS的CMOS相機;在數(shù)據(jù)檢測上選用FPGA板[18];在數(shù)據(jù)存儲上選擇采用M.2接口的高端固態(tài)硬盤;在紙病類型識別上可以選用高端上位機。滿足以上條件的硬件設備也有多種可供選擇。但對于造紙企業(yè)來說,在硬件選配的過程中,不僅要滿足系統(tǒng)的要求,經(jīng)濟成本和系統(tǒng)的穩(wěn)定性要求也比較高,越高端的產(chǎn)品,其設計難度和實現(xiàn)難度均會變高,價格也會相應變高,比如當前4臺2K的相機的總價格小于一臺8K相機,而且分辨率低的相機穩(wěn)定性相對更高;單臺2K相機產(chǎn)生的數(shù)據(jù)量相對也比較少,更容易找到適配的FPGA板。
根據(jù)上述分析,決定采用CMOS相機+FPAG+上位機[19]的模式,為有效保存數(shù)據(jù),同時也測試FPGA的存儲效果,在此選用了三星970 EVO Plus 250GB M.2接口(NVMe協(xié)議)固態(tài)硬盤,實際存儲速度可以達到2300 MB/s,滿足系統(tǒng)要求。
基于木桶理論的紙病檢測系統(tǒng)架構(gòu),除了按用戶需要設計可以平穩(wěn)運行外,還需要考慮硬件的成本問題。實現(xiàn)1+1>2的效果,否則會造成硬件資源的浪費。
本文主要針對現(xiàn)有紙病檢測系統(tǒng)中存在的缺陷進行改進,通過分析系統(tǒng)中圖像采集模塊、數(shù)據(jù)檢測模塊和圖像處理模塊等主要硬件模塊的要求,選擇合適的硬件,提出了基于木桶理論的紙病檢測系統(tǒng)架構(gòu)設計方案,避免了因硬件配置不均衡造成的檢測系統(tǒng)可檢測車速不高、幅寬小的問題,同時系統(tǒng)中各個模塊的利用率得到有效提高,整個紙病檢測系統(tǒng)的經(jīng)濟成本更加合理。